Parallel Computation

Parallelism Concept

Two Fundamental Hardware Techniques

Used To Increase Performance

  1. Parallelism
  2. Pipelining



  • Multiple copies of hardware unit used
  • All copies can operate simultaneously
  • Occurs at many levels of architecture
  • Term parallel computer applied when parallelism dominates entire architecture


Characterizations Of Parallelism :

  • Microscopic vs. macroscopic
  • Symmetric vs. asymmetric
  • Fine-grain vs. coarse-grain
  • Explicit vs. implicit
  • Types Of Parallel Architectures


Name                   Meaning

SISD                       Single Instruction Single Data stream

SIMD                     Single Instruction Multiple Data streams

MIMD                  Multiple Instructions Multiple Data streams


A New Conceptual Model

The ancient Greeks found a similar problem in trying to describe the motions of the planets and stars. They had a concept of planets moving relative to stars and to the Earth, and stars moving relative to the Earth. A model involving crystal spheres was developed. In this model the heavenly bodies were painted onto various layers of crystal spheres which were centred on the Earth and could move relative to one another. Objects on close spheres move more compared with objects on distant spheres. Various complex models of the movements of heavenly bodies were formulated in terms of these spherical shells surrounding the Earth. We now know that much of the observed motion of the stars is due to the rotation of the Earth, but since the observed motion is relative, a successful model centred on the Earth is possible.

Distributed Processing

Distributed processing is the type of processing whereby processing occurs on more than one processor in order for a transaction to be completed. In other words, processing is distributed across two or more machines and the processes are most likely not running at the same time.

The word distributed in terms such as “distributed system”, “distributed programming”, and “distributed algorithm” originally referred to computer networks where individual computers were physically distributed within some geographical area. The terms are nowadays used in a much wider sense, even referring to autonomous processes that run on the same physical computer and interact with each other by message passing. While there is no single definition of a distributed system,[6] the following defining properties are commonly used:

  • There are several autonomous computational entities, each of which has its own local memory
  • The entities communicate with each other by message passing.

In this article, the computational entities are called computers or nodes.

A distributed system may have a common goal, such as solving a large computational problem. Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users.

Other typical properties of distributed systems include the following:

  • The system has to tolerate failures in individual computers.
  • The structure of the system (network topology, network latency, number of computers) is not known in advance, the system may consist of different kinds of computers and network links, and the system may change during the execution of a distributed program.
  • Each computer has only a limited, incomplete view of the system. Each computer may know only one part of the input.



  • The world wide web – information, resource sharing
  • Clusters, Network of workstations
  • Distributed manufacturing system (e.g., automated assembly line)
  • Network of branch office computers – Information system to handle automatic processing of orders
  • Network of embedded systems
  • New Cell processor (PlayStation 3)


Pitfalls when Developing Distributed Systems

False assumptions made by first time developer:

  •  The network is reliable.
  •  The network is secure.
  •  The network is homogeneous.
  •  The topology does not change.
  •  Latency is zero.
  •  Bandwidth is infinite.
  •  Transport cost is zero.
  •  There is one administrator.


Types of Distributed Systems

  • Distributed Computing Systems
  • Distributed information systems
  • Distributed Pervasive/Embedded Systems


What’s Parallel Architecture?

A parallel computer is a collection of processing elements that cooperate to solve large problems fast. Extension of “computer architecture” to support communication and cooperation

• OLD: Instruction Set Architecture

• NEW: Communication Architecture


Defines :

  • Critical abstractions, boundaries, and primitives (interfaces)
  • Organizational structures that implement interfaces (hw or sw)
  • Compilers, libraries and OS are important bridges

Communication Architecture :

  • User/System Interface+Implementation

User/System Interface:

  •  Comm. primitives exposed to user-level by hw and system-level sw


  • Organizational structures that implement the pri
    mitives: hw or OS
  • How optimized are they? How integrated into processing node?
  • Structure of network


  • Performance
  • Broad applicability
  • Programmability
  • Scalability
  • Low Cost


An Introduction to Programming with Threads

              Many experimental operating systems, and some commercial ones, have recently included support for concurrent programming. The most popular mechanism for this is some provision for allowing multiple lightweight “threads” within a single address space, used from within a single program. Programming with threads introduces new difficulties even for experienced programmers. Concurrent programming has techniques and pitfalls that do not occur in sequential programming. Many of the techniques are obvious, but some are obvious only with hindsight. Some of the pitfalls are comfortable (for example, deadlock is a pleasant sort of bug—your program stops with all the evidence intact), but some take the form of insidious performance penalties.

                   The purpose of this paper is to give youan introduction to the programming techniques that work well with threads, and to warn you about techniques or interactions that work out badly. It should provide the experienced sequential programmer with enough hints to be able to build a substantial multi-threaded program that works—correctly, efficiently, and with a minimum of surprises.

              Having “multiple threads” in a program means that at any instant the program has multiple points of execution, one in each of its threads. The programmer can mostly view the threads as executing simultaneously, as if the computer were endowed with as many processors as there are threads. The programmer is required to decide when and where to create multiple threads, or to accept such decisions made for him by implementers of existing library packages or runtime systems. Additionally, the programmer must occasionally be aware that the computer might not in fact execute all his threads simultaneously.

              Having the threads execute within a “single address space” means that the computer’s addressing hardware is configured so as to permit the threads to read and write the same memory locations. In a high-level language, this usually corresponds to the fact that the off-stack (global) variables are shared among all the threads of the program. Each thread executes on a separate call stack with its own separate local variables. The programmer is responsible for using the synchronization mechanisms of the thread facility to ensure that the shared memory is accessed in a manner that will give the correct answer.

             Thread facilities are always advertised as being “lightweight”. This means that thread creation, existence, destruction and synchronization primitives are cheap enough that the programmer will use them for all his concurrency needs. Please be aware that I am presenting you with a selective, biased and idiosyncratic collection of techniques. Selective, because an exhaustive survey would be premature, and would be too exhausting to serve as an introduction—I will be discussing only the most important thread primitives, omitting features such as per-thread context information. Biased, because I present examples, problems and solutions in the context of one.

Introduction Programing CUDA

What is CUDA?

* CUDA Architecture

— Expose general-purpose GPU computing as first-class capability

— Retain traditional DirectX/OpenGL graphics performance



— Based on industry-standard C

— A handful of language extensions to allow heterogeneous programs

— Straightforward APIs to manage devices, memory, etc.


*This talk will introduce you to CUDA CIntroduction to CUDA C

*What will you learn today?

— Start from “Hello, World!”

— Write and launch CUDA C kernels

— Manage GPU memory

— Run parallel kernels in CUDA C

— Parallel communication and synchronization

— Race conditions and atomic operations


CUDA C Prerequisites

  •  You (probably) need experience with C or C++
  •  You do not need any GPU experience
  •  You do not need any graphics experience
  •  You do not need any parallel programming experience


CUDA C: The Basics


Note: Figure Not to Scale

  • Terminology
  • Host – The CPU and its memory (host memory)
  • Device – The GPU and its memory (device memory)



Memory Management

  • Host and device memory are distinct entities

—     Device pointers point to GPU memory

  • May be passed to and from host code
  • May not be dereferenced from host code

—     Host pointers point to CPU memory

  • May be passed to and from device code
  • May not be dereferenced from device code
  • Basic CUDA API for dealing with device memory

—     cudaMalloc(), cudaFree(), cudaMemcpy()

—     Similar to their C equivalents, malloc(), free(), memcpy()




Quantum Computation


A. Quantum Computation

quantum computer (also known as a quantum supercomputer) is a computation device that makes direct use ofquantum-mechanical phenomena, such as superposition and entanglement, to perform operations on data. Quantum computers are different from digital computers based on transistors. Whereas digital computers require data to be encoded into binary digits (bits), each of which is always in one of two definite states (0 or 1), quantum computation uses qubits(quantum bits), which can be in superpositions of states. A theoretical model is the quantum Turing machine, also known as the universal quantum computer. Quantum computers share theoretical similarities with non-deterministic and probabilistic computers; one example is the ability to be in more than one state simultaneously. The field of quantum computing was first introduced by Yuri Manin in 1980[2] and Richard Feynman in 1982. A quantum computer with spins as quantum bits was also formulated for use as a quantum space–time in 1969.

As of 2014 quantum computing is still in its infancy but experiments have been carried out in which quantum computational operations were executed on a very small number of qubits. Both practical and theoretical research continues, and many national governments and military funding agencies support quantum computing research to develop quantum computers for both civilian and national security purposes, such as cryptanalysis.

Large-scale quantum computers will be able to solve certain problems much more quickly than any classical computer using the best currently known algorithms, like integer factorization using Shor’s algorithm or the simulation of quantum many-body systems. There exist quantum algorithms, such as Simon’s algorithm, which run faster than any possible probabilistic classical algorithm. Given sufficient computational resources, however, a classical computer could be made to simulate any quantum algorithm; quantum computation does not violate the Church–Turing thesis.

Source :

B. Entanglement

Entanglement is a term used in quantum theory to describe the way that particles of energy/matter can become correlated to predictably interact with each other regardless of how far apart they are. Particles, such as photons, electrons, or qubits that have interacted with each other retain a type of connection and can be entangled with each other in pairs, in the process known as correlation. Knowing the spin state of one entangled particle – whether the direction of the spin is up or down – allows one to know that the spin of its mate is in the opposite direction. Even more amazing is the knowledge that, due to the phenomenon of superposition, the measured particle has no single spin direction before being measured, but is simultaneously in both a spin-up and spin-down state. The spin state of the particle being measured is decided at the time of measurement and communicated to the correlated particle, which simultaneously assumes the opposite spin direction to that of the measured particle. Quantum entanglement allows qubits that are separated by incredible distances to interact with each other immediately, in a communication that is not limited to the speed of light. No matter how great the distance between the correlated particles, they will remain entangled as long as they are isolated.

Entanglement is a real phenomenon (Einstein called it “spooky action at a distance”), which has been demonstrated repeatedly through experimentation. The mechanism behind it cannot, as yet, be fully explained by any theory. One proposed theory suggests that all particles on earth were once compacted tightly together and, as a consequence, maintain a connectedness. Much current research is focusing on how to harness the potential of entanglement in developing systems for quantum cryptography and quantum computing. In 1997, Nicholas Gisin and colleagues at the University of Geneva used entangled photons to enable simple – but instantaneous – communication over a distance of seven miles.

Source :


C. Operate Data Qubit

In quantum computing, a qubit (/ˈkjuːbɪt/) or quantum bit is a unit of quantum information—the quantum analogue of the classical bit.  A qubit is a two-state quantum-mechanical system, such as the polarization of a single photon: here the two states are vertical polarization and horizontal polarization.  In a classical system, a bit would have to be in one state or the other, but quantum mechanics allows the qubit to be in a superposition of both states at the same time, a property which is fundamental to quantum computing.

The two states in which a qubit may be measured are known as basis states (or basis vectors). As is the tradition with any sort of quantum states, they are represented by Dirac—or “bra–ket”—notation. This means that the two computational basis states are conventionally written as  and  (pronounced “ket 0” and “ket 1”).

A pure qubit state is a linear superposition of the basis states. This means that the qubit can be represented as a linear combination of  and  :  where α and β are probability amplitudes and can in general both be complex numbers. When we measure this qubit in the standard basis, the probability of outcome  is  and the probability of outcome  is. Because the absolute squares of the amplitudes equate to probabilities, it follows that α and β must be constrained by the equation  simply because this ensures you must measure either one state or the other.

Source :

D. Quantum Gates

In quantum computing and specifically the quantum circuit model of computation, a quantum gate (or quantum logic gate) is a basic quantum circuit operating on a small number of qubits. They are the building blocks of quantum circuits, like classical logic gates are for conventional digital circuits.

Unlike many classical logic gates, quantum logic gates are reversible. However, classical computing can be performed using only reversible gates. For example, the reversible Toffoli gate can implement all Boolean functions. This gate has a direct quantum equivalent, showing that quantum circuits can perform all operations performed by classical circuits.

Quantum logic gates are represented by unitary matrices. The most common quantum gates operate on spaces of one or two qubits, just like the common classical logic gates operate on one or two bits. This means that as matrices, quantum gates can be described by 2 × 2 or 4 × 4 unitary matrices.

Source :

E. Shor’s Algorithm

Shor’s algorithm, named after mathematician Peter Shor, is a quantum algorithm (an algorithm that runs on a quantum computer) for integer factorizationformulated in 1994. Informally it solves the following problem: Given an integer N, find its prime factors. On a quantum computer, to factor an integer N, Shor’s algorithm runs in polynomial time (the time taken is polynomial in log N, which is the size of the input). Specifically it takes time O((log N)3), demonstrating that the integer factorization problem can be efficiently solved on a quantum computer and is thus in thecomplexity class BQP. This is substantially faster than the most efficient known classical factoring algorithm, the general number field sieve, which works in sub-exponential time — about O(e1.9 (log N)1/3 (log log N)2/3). The efficiency of Shor’s algorithm is due to the efficiency of the quantum Fourier transform, and modular exponentiation by repeated squarings.

If a quantum computer with a sufficient number of qubits could operate without succumbing to noise and other quantum decoherence phenomena, Shor’s algorithm could be used to break public-key cryptography schemes such as the widely used RSA scheme. RSA is based on the assumption that factoring large numbers is computationally infeasible. So far as is known, this assumption is valid for classical (non-quantum) computers; no classical algorithm is known that can factor in polynomial time. However, Shor’s algorithm shows that factoring is efficient on an ideal quantum computer, so it may be feasible to defeat RSA by constructing a large quantum computer. It was also a powerful motivator for the design and construction of quantum computers and for the study of new quantum computer algorithms. It has also facilitated research on new cryptosystems that are secure from quantum computers, collectively called post-quantum cryptography.

In 2001, Shor’s algorithm was demonstrated by a group at IBM, who factored 15 into 3 × 5, using an NMR implementation of a quantum computer with 7 qubits. However, some doubts have been raised as to whether IBM’s experiment was a true demonstration of quantum computation, since no entanglement was observed. Since IBM’s implementation, several other groups have implemented Shor’s algorithm using photonic qubits, emphasizing that entanglement was observed. In 2012, the factorization of 15 was repeated. Also in 2012, the factorization of 21 was achieved, setting the record for the largest number factored with a quantum computer. In April 2012, the factorization of 143 was achieved, although this used adiabatic quantum computation rather than Shor’s algorithm.

Source :’s_algorithm

Cloud Computing


Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that’s often used to represent the Internet in flowcharts and diagrams.

A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic — a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.

A cloud can be private or public. A public cloud sells services to anyone on the Internet. (Currently, Amazon Web Services is the largest public cloud provider.) A private cloud is a proprietary network or a data center that supplies hosted services to a limited number of people. When a service provider uses public cloud resources to create their private cloud, the result is called a virtual private cloud. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services.

Infrastructure-as-a-Service like Amazon Web Services provides virtual server instanceAPI) to start, stop, access and configure their virtual servers and storage. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Because this pay-for-what-you-use model resembles the way electricity, fuel and water are consumed, it’s sometimes referred to as utility computing.

Platform-as-a-service in the cloud is defined as a set of software and product development tools hosted on the provider’s infrastructure. Developers create applications on the provider’s platform over the Internet. PaaS providers may use APIs, website portals or gateway software installed on the customer’s computer., (an outgrowth of and GoogleApps are examples of PaaS. Developers need to know that currently, there are not standards for interoperability or data portability in the cloud. Some providers will not allow software created by their customers to be moved off the provider’s platform.

In the software-as-a-service cloud model, the vendor supplies the hardware infrastructure, the software product and interacts with the user through a front-end portal. SaaS is a very broad market. Services can be anything from Web-based email to inventory control and database processing. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere.

Cloud computing has several advantages. among others, are :

  1. Achieve economies of scale – increase volume output or productivity with fewer people. Your cost per unit, project or product plummets.
  2. Reduce spending on technology infrastructure. Maintain easy access to your information with minimal upfront spending. Pay as you go (weekly, quarterly or yearly), based on demand.
  3. Globalize your workforce on the cheap. People worldwide can access the cloud, provided they have an Internet connection.
  4. Streamline processes. Get more work done in less time with less people.
  5. Reduce capital costs. There’s no need to spend big money on hardware, software or licensing fees.
  6. Improve accessibility. You have access anytime, anywhere, making your life so much easier!
  7. Monitor projects more effectively. Stay within budget and ahead of completion cycle times.
  8. Less personnel training is needed. It takes fewer people to do more work on a cloud, with a minimal learning curve on hardware and software issues.
  9. Minimize licensing new software. Stretch and grow without the need to buy expensive software licenses or programs.
  10. Improve flexibility. You can change direction without serious “people” or “financial” issues at stake.

To understand how does cloud computing work, imagine that the cloud consists of layers mostly the back-end layers and the front-end or user-end layers. The front-end layers are the ones you see and interact with. When you access your email on Gmail for example, you are using software running on the front-end of a cloud. The same is true when you access your Facebook account. The back-end consists of the hardware and the software architecture that fuels the interface you see on the front end.

Because the computers are set up to work together, the applications can take advantage of all that computing power as if they were running on one particular machine. Cloud computing also allows for a lot of flexibility. Depending on the demand, you can increase how much of the cloud resources you use without the need for assigning specific hardware for the job, or just reduce the amount of resources assigned to you when they are not necessary.

Cloud computing has several characteristics that is :

  • On demand self services: computer services such as email, applications, network or server service can be provided without requiring human interaction with each service provider. Cloud service providers providing on demand self services include Amazon Web Services (AWS), Microsoft, Google, IBM and New York Times and NASDAQ are examples of companies using AWS (NIST). Gartner describes this characteristic as service based.
  • Broad network access: Cloud Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms such as mobile phones, laptops and PDAs.
  • Resource pooling: The provider’s computing resources are pooled together to serve multiple consumers using multiple-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. The resources include among others storage, processing, memory, network bandwidth, virtual machines and email services. The pooling together of the resource builds economies of scale (Gartner).
  • Rapid elasticity: Cloud services can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.
  • Measured service: Cloud computing resource usage can be measured, controlled, and reported providing transparency for both the provider and consumer of the utilised service. Cloud computing services use a metering capability which enables to control and optimize resource use. This implies that just like air time, electricity or municipality water IT services are charged per usage metrics – pay per use. The more you utilise the higher the bill. Just as utility companies sell power to subscribers, and telephone companies sell voice and data services, IT services such as network security management, data center hosting or even departmental billing can now be easily delivered as a contractual service.
  • Multi Tenacity: is the 6th characteristics of cloud computing advocated by the Cloud Security Alliance. It refers to the need for policy-driven enforcement, segmentation, isolation, governance, service levels, and chargeback/billing models for different consumer constituencies. Consumers might utilize a public cloud provider’s service offerings or actually be from the same organization, such as different business units rather than distinct organizational entities, but would still share infrastructure.

Cloud computing security or, more simply, cloud security is an evolving sub-domain of computer security, network security, and, more broadly, information security. It refers to a broad set of policies, technologies, and controls deployed to protect data, applications, and the associated infrastructure of cloud computing.

Cloud security is not to be confused with security software offerings that are cloud-based such as security as a service.


Mobile Computing

Mobile computing─ A Definition :

  • The process of computation on a mobiledevice. In mobile computing, a set of distributed computing systems or service provider servers participate, connect, and synchronise through mobile communication protocols.
  • Mobile computing as a generic term describing ability to use the technology to wirelessly connect to and use centrally located information and/or application software through the application of small, portable, and wireless computing and communication devices. (Wikipedia)

Mobile computing :

  • Provides decentralized (distributed) computations on diversified devices, systems, and networks, which are mobile, synchronized, and interconnected via mobile communication standards and protocols.
  • Mobile device does not restrict itself to just one application, such as, voice communication.
  • Offers mobility with computing power.
  • Facilitates a large number of applications on a single device.

Mobile computing─ Hardware :

  • Laptop
  • Tablet
  • PDA
  • Ultra mobile PC
  • Smart Phone
  • Etc

Mobile computing─ Operating System :

  • Symbian
  • Andoid
  • iOS
  • Palm OS
  • Windows
  • Bada

Mobile Computing problem in Indonesia :

• Bandwidth Limitation

Internet access in mobile device is slower than cables connections, using technologies such as GPRS, EDGE and 3G/HSDPA network that recently release. High-speed wireless LAN is not too expensive, but has a very limited range.

• Power supply

When an electric stopcontact or portable generator is not available, mobile computers must rely entirely on battery power. This means that the battery requires extra power consumption.

• Interruption Of Transmission

Many factors could cause signal interference in mobile computing such as weather, terrain and distance of the tool mobile computing with the transmitter signal closest point. Besides signal reception inside the tunnel, in some buildings and rural areas are often poor.

• User Interface

The screen and keyboard are likely to be small sometimes make it difficult to use. Alternate input methods like voice input or handwriting recognition requires training to use it.

source :


Studi Kasus Remote Procedure Call (RPC)

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure.
Salah satu contoh studi kasus RPC ini yaitu aplikasi untuk meremote dengan teknik RPC dengan menggunakan putty untuk melakukan SSH.
Kegunaan utama SSH adalah untuk memasuki sistem komputer di tempat lain yang terhubung melalui jaringan dengan cara yang aman. Tapi saat ini SSH dapat diturunkan untuk berbagai hal yang amat dibutuhkan dalam komputerisasi jaringan atau lebih besar lagi: internet.
Sedangkan putty adalah software remote console / terminal yang digunakan untuk meremote komputer dengan terhubungnya menggunakan port ssh atau sebagainya, Pada bahasan disini diterangkan cara untuk meremote komputer sistem operasi linux dengan menggunakan komputer sisem operasi windows tentunya putty disini diinstall diwindows jadi digunakan putty versi windows.
Putty bisa di download secara gratis di situs
• Cara Meremote :
Sebelum melakukan langkah di bawah port ssh di komputer tujuan harus aktif dengan cara diaktifkan servicenya melalui terminal
=> di fedora => service sshd start “untuk mengaktifkan port ssh”
=> chkconfig sshd on “servis aktif terus berjalan”
Jika untuk mengatahui sshd sudah terinstall belum ==> service sshd status jika failed berarti belum terinstall dan harus diinstal dahulu opensshnya.
Cara pakai putty sesudah didownload :
Software putty tidak memerlukan installasi putty versi ini langsung klik2 saja akan muncul sebagai berikut :

Merupakan versi yang dipakai pada waktu membuat tutorial ini.
Langkah awal menggunakannya :
Pada host name isikan IP local computer tujuan untuk diremote atau dikendalikan, lalu pada port tetapkan 22 karena port ssh yang terbuka di computer tujuan adalah port 22. Cukup hanya itu saja yang harus diisikan. Lalu klik “Open” untuk memulai putty.
Langkah kedua
Untuk mengisi login as harus benar passwordnya dan juga harus tepat sesuai yang terdaftar pada komputer yang di remote.
“Login as:” diisikan “root” agar masuk sebagai administrator.
“Password:” diisikan sesuai password computer yang di remote.
Setelah itu tekan enter.
Langkah ketiga
Setelah ditekan enter, anda berhasil masuk hal yang terpenting disini. Jika kita ingin akses full administrator komputer linux yang di remote tadi harus masuk sebagai root.
Hasilnya Setelah kita melakukan setting pada awal install putty dan setelah masuk console lalu login dan memasukkan password tujuan dengan benar maka kita bisa mengakses computer yang kita remote secara penuh.
Adapun contoh kasus RPC lain yang sering kita temui yakni terdapat pada jasa pengeprintan di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien.
Solusinya adalah :
Dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”.
1. Abdul Rachman, RPC dan RMI, ( Tanggal akses 17-3-2014)
2. Mohamad Basuki, Cara Pemakaian Putty dan Winscp di windows, ( Tanggal akses 17-3-2014)
3. Andreas, Remote Procedure Call (RPC), ( Tanggal akses 17-3-2014)
Post anggota kelompok yang lain:
*) Fuad Ali :
*) Fithri Nurhayati :
*) Lusi Tri Indah :
*) Raisa Iga E. :

Model Sistem Terdistribusi

Pada tulisan saya kali ini saya akan membahas tentang Model Sistem Terdistribusi. Sebelum saya membahas lebih lanjut apa saja yang termasuk ke dalam model sistem terdistribusi, saya akan memberikan sedikit gambaran apa itu “Sistem Terdistribusi”.

Definisi dari Sistem Terdistribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan (message passing). Sistem terdistribusi merupakan kebalikan dari Sistem Operasi Prosesor Jamak. Pada sistem tersebut, setiap prosesor memiliki memori lokal tersendiri. Kumpulan prosesornya saling berinteraksi melalui saluran komunikasi seperti LAN dan WAN menggunakan protokol standar seperti TCP/IP. Karena saling berkomunikasi, kumpulan prosesor tersebut mampu saling berbagi beban kerja, data, serta sumber daya lainnya. Sistem terdistribusi dapat dikatakan sebagai suatu keberadaan beberapa komputer yang bersifat transparan dan secara normal, setiap sistem terdistribusi mengandalkan layanan yang disediakan oleh jaringan komputer.

Itulah sedikit gambaran mengenai sistem terdistribusi. Sekarang saya akan membahas apa saja model sistem terdistribusi.

Model itu sendiri menyediakan sebuah gambaran abstrak aspek yang relevan dengan sistem. sedangkan tujuannya dibuatkan model adalah untuk menyediakan sebuah kerangka kerja untuk memahami permasalahan dan pemecahannya.

1. Model Arsitektural : Hubungan dan interkoneksi seperti apa antara komponenkomponen dari sistem terdistribusi.
2. Model Fundamental : Karakteristik apa yang mempengaruhi dependability sistem terdistribusi? Dependability : correctness, reliability, security.

Dalam pelaksanaannya Sistem Terdistribusi memiliki berbagai bentuk (model), yaitu :

1. Sistem client – server
Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan: file server, time server, directory server, printer server, dan seterusnya.


2. Sistem point to point
Merupakan bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server.

3. Sistem terkluster
Adalah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih handal dan fault tolerant dalam melakukan komputasi.Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak komputer yang dikumpulkan dalam satu tempat.

Demikianlah tulisan saya kali ini, semoga bisa bermanfaat. Have a nice day reader! 😀


** Tulisan ini saya buat dalam rangka memenuhi tugas sistem terdistribusi. Saya, Nurul Aini (55410197), kelas 4IA10. Anggota kelompok lainnya : Fithri Nurhayati (52410819), . Fuad Ali (52410893) . Lusi Tri Indah (54410097), . Raisa Iga Ekklesia (55410597), .

Tugas Akhir Softskill – Proposal


Segala puji dan syukur kita panjatkan kepada Allah SWT serta shalawat dan salam kami sampaikan hanya bagi tokoh dan teladan kita Nabi Muhammad SAW. Diantara sekian banyak nikmat Allah SWT yang membawa kita dari kegelapan ke dimensi terang yang memberi hikmah dan yang paling bermanfaat bagi seluruh umat manusia, sehingga oleh karenanya penulis dapat menyelesaikan tugas kuliah ini dengan baik dan tepat waktu. 

Adapun maksud dan tujuan dari penyusunan proposal ini adalah untuk memenuhi salah satu tugas yang diberikan oleh dosen pada mata kuliah Pengantar Bisnis informatika. 

Dalam proses penyusunan tugas ini penulis menjumpai hambatan, namun berkat dukungan materil dari berbagai pihak, akhirnya penulis dapat menyelesaikan tugas ini dengan cukup baik, oleh karena itu melalui kesempatan ini penulis menyampaikan terima kasih dan penghargaan setinggi-tingginya kepada semua pihak terkait yang telah membantu terselesaikannya tugas ini. 

Segala sesuatu yang salah datangnya hanya dari manusia dan seluruh hal yang benar datangnya hanya dari agama berkat adanya nikmat iman dari Allah SWT, meski begitu tentu tugas ini masih jauh dari kesempurnaan, oleh karena itu segala saran dan kritik yang membangun dari semua pihak sangat kami harapkan demi perbaikan pada tugas selanjutnya. Harapan kami semoga tugas ini bermanfaat khususnya bagi penulis dan bagi pembaca lain pada umumnya. 

Jakarta, Januari 2014





1.1. Nama dan Alamat Perusahaan 

Nama perusahaan : “EPIC DOMAIN” 

Alamat perusahaan : Jl. Daan Mogot, No. 37 Jakarta Barat 

No. Telp : (021) 9708600

1.2. Nama dan Alamat Pemilik 

Nama pemilik   : Niken Tyagitha  

Alamat pemilik : Depok 

No. Telp          : …………….. 

1.3. Nama dan Alamat Penanggung jawab 

Nama              : Priyanti Kusuma

Alamat            : Jakarta

No. Telp          : …………….. 

1.4. Informasi tentang bisnis yang dilaksanakan 

Usaha ini merupakan jasa pembuatan domain website, domain yang dapat dibuat: ( untuk perusahaan), ( untuk online shop), ( untuk akademi), ( untuk organisasi).

Sebelum kami menjalankan perusahaan yang kami rencanakan ini, maka kami harus mempunyai modal usaha. Untuk merencanakan pemasaran, perusahaan kami akan mempromosikan dan mendistribusikan produk kami melalui pasar tradisional maupun pasar modern yang mudah terjangkau oleh para pembeli/konsumen. 

Adapun maksud dan tujuan kami mendirikan perusahaan ini yaitu: 

1) Berperan aktif dalam bidang bisnis dan kewirausahaan. 

2) Mengurangi tingkat pengangguran. 

3) Menjalin persahabatan antara pelanggan (konsumen), dan 

4) Mendapatkan keuntungan atau laba.



2.1. Latar Belakang 

Perusahaan Bisnis “SEPIC DOMAIN” ini berdiri atas kerja sama serta keinginan kami yang memiliki hobi dan kegemaran serta pemahaman dalam bidang komputer, karena seiring perkembangan teknologi yang semakin pesat.

Usaha ini merupakan jasa pembuatan domain website, domain yang dapat dibuat: ( untuk perusahaan), ( untuk online shop), ( untuk akademi), ( untuk organisasi).

2.2. Visi dan Misi 

Visi    : Mitra dan solusi bagi masyarakat dengan memberikan pelayanan atas pembuatan domain website

Misi   : Memberikan dan menerapkan pelayanan yang baik dan berkualitas demi kepuasaan pelanggan. 

 2.3. Lokasi 

Lokasi yang dipilih merupakan tempat yang strategis di Ruko-ruko perumahan Komp. Daan Mogot karena berada tidak jauh dari Mall Daan Mogot, lokasi mudah terlihat dan berada di jalan utama yang merupakan jalan lalu lalang masyarakat sekitar sehingga dapat dengan mudah dicari dan didatangi. 

2.4. Ruangan / Tempat yang dibutuhkan 

Ruangan / Tempat yang dibutuhkan pada awal membuka usaha ini tidak terlalu luas dan juga tidak terlalu sempit, yakni 1 ruangan ukuran 15m x 8m. 

2.5. Waktu Operasional 

Waktu untuk melakukan pelayanan usaha ini dibuka dari pukul 09.00 pagi sampai dengan pukul 17.00 sore. 

2.6. Kesan / Counter Style 

Kesan yang akan kami bangun dalam melayani pelanggan adalah ”Comfortable and High Quality Service” sehingga pelanggan merasa nyaman berada di tempat pelayanan kami dan membuat mereka selalu ingin kembali karena pelayanan yang memuaskan. 

2.7. Konsep Promosi 

Membuat sebuah display di pintu gerbang perumahan dan mengandalkan informasi dari pelanggan ke pelanggan serta menyediakan brosur promosi. 

Selain itu, kami juga membuat advertisement secara on-line di internet agar bisa dijangkau masyarakat luas dengan cara melakukan transaksi atau pun bisnis on-line. Dengan cara ini kami optimis akan lebih mudah dan cepat dikenal oleh masyarakat. 

2.8. Target Pelanggan 

Target pelanggan kami adalah: Perusahaan, online shop , akademi, organisasi yang membutuhkan website yang memiliki target pengunjung terbanyak, khususnya untuk pengunjung di Indonesia karena kami membuat domain (.id) sehingga kami  memperkenalkan Indonesia lewat  domain (.id) dan dapat melirik pengunjung dari luar Indonesia untuk mengakses website pelanggan kami.

Harga Usaha domain ini memiliki tarif domain yang bermacam-macam, sebagai berikut : 


2.9 Syarat dan Ketentuan 

  • Untuk setiap pembelian Domain .id akan mendapat Bonus Promo (selama masa berlaku).
  • Harga dan spesifikasi bonus dapat berubah sewaktu-waktu.
  • Gratis hosting hanya berlaku untuk 1 tahun pertama.
  • Harga dan promosi ini berlaku hanya selama masa promosi.
  • Kapasitas hosting gratis tidak dapat dijumlahkan/digabungkan dengan kapasitas Paket Hosting atau paket hosting gratis yang lain.
  • Hosting gratis dapat digunakan untuk bonus domain dari pembelian Paket Hosting (Untuk Pembelian domain & Paket Hosting Indoreg).
  • Untuk informasi lebih lanjut hubungi kami di atau di 021-88877755666.



3.1. Prespektif Masa Depan Usaha 

Dengan terciptanya tempat usaha yang bergerak di bidang perdagangan, khususnya dalam hal teknologi komputer dengan lokasi yang strategis, maka kami yakin usaha ini akan maju. Karena kebutuhan dan permintaan akan kebutuhan pembuatan domain di kalangan masyarakat terutama sekitar Perumahan Daan Mogot serta kawasan Perkantoran di Ruko Daan Mogot pada saat ini sangat besar. 

3.2. Analisis Persaingan 

Berdasarkan pemantauan dan hasil survey yang ada bahwa di sekitar lokasi tempat yang kami dirikan usaha pembuatan domain ini masih belum terdapat sebuah tempat usaha jenis tersebut , maka dari itu kami ingin membangun usaha tersebut dengan suasana yang nyaman dan kekeluargaan. 

3.3. Segmentasi Pasar yang akan dimasuki

“EPIC DOMAIN” membidik pasar dengan pemberian harga yang terjangkau. Pada prinsipnya kami akan membuka usaha ini dengan suasana kekeluargaan dan pelayanan yang baik, sehingga membuat masyarakat merasa puas dengan layanan kami dan senantiasa kembali ke tempat kami. Karena segmen pasar usaha ini cenderung banyak sehingga hal ini dapat memicu persaingan dengan usaha sejenis lainnya. 



4.1. Produk yang dihasilkan 

 Perusahaan Bisnis “SEPIC DOMAIN” ini berdiri atas kerja sama serta keinginan kami yang memiliki hobi dan kegemaran serta pemahaman dalam bidang komputer, karena seiring perkembangan teknologi yang semakin pesat. 

Usaha ini merupakan jasa pembuatan domain website, domain yang dapat dibuat: ( untuk perusahaan), ( untuk online shop), ( untuk akademi), ( untuk organisasi).

4.2. Ruang Lingkup Usaha 

Ruang lingkup lingkup usaha ini kami rancang dengan sebaik mungkin karena semua itu bisa berpengaruh terhadap maju mundurnya perusahaan kami, maka dari itu kami berusah memberikan sesuatu yang terbaik untuk konsumen. 

Perusahaan SEPIC DOMAIN terletak Jl. Daan Mogot, No. 37 Jakarta Barat. Toko ini sudah memenuhi persyaratan berdirinya sebuah perusahaan, karena lokasi tersebut tidak terlalu jauh dari pemukiman penduduk dan akses transportasi menuju lokasi perusahaan sudah lancar karena merupakan jalan utama. 

4.3. Personalia dan Perlengkapan Kantor 

Pemilik                            : Niken Tyagitha

Penanggung Jawab 1     : Priyanti Kusuma

Penanggung Jawab 2     : Raden Aldila

Penanggung Jawab 3     : Radina Dwi

Sekretaris 1                    : Nurul Aini 

Sekretaris 2                    : Raisa Iga E

Bendahara  1                 : Nikki Oktivany P

Bendahara 2                  : Prasidha Dibya 



5.1. Proses Produksi 

Proses produksi yang kami jalankan dalam perusahaan  ini dapat dilihat sebagai berikut : 

“SEPIC DOMAIN”→ Konsumen 

5.2 Perangkat Penunjang Bisnis

Usaha domain kami sangat menomor satukan domain pelanggan kami, kami memiliki perangkat penunjang bisnis domain kami, yaitu: 7 SERVER IBM SERI E-700 dengan kapasitas masing – masing 90TB dengan kecepatan 10TB/s.



6.1. Penetapan Harga 

Harga yang akan dikenakan adalah harga yang diperkirakan akan terjangkau oleh masyarakat sekitar. Setelah memperhitungkan dengan cukup matang, akhirnya kami tetapkan sebagai harga awal berikut adalah tabel harga jasa produk yang ditawarkan. adapun untuk selanjutnya harga akan disesuaikan dengan perkembangan selanjutnya.


6.2. Pelaksanaan Distribusi 

Distribusi yang dilakukan perusahaan kami yaitu distribusi intensif, diusahakan sebanyak mungkin agar dapat menjual produk sebanyak-banyaknya dan lebih mendekati konsumen, sehingga lebih mudah dalam penjualannya dalam menghasilkan keuntungan yang sebanyak-banyaknya. 

6.3. Strategi Promosi yang akan dilakukan 

Strategi yang akan kami jalankan pada perusahaan ini antara lain : 

  • Membuat pamflet-pamflet b 
  • Melakukan iklan-iklan di dunia internet baik melalui situs jejaring sosial maupun forum. 



7.1. Job Description 

  • Pemilik usaha bertugas untuk memantau jalannya usaha dan menerima laporan sebulan sekali dari hasil usaha. 
  • Sekretaris bertugas untuk membuat surat-surat yang dibutuhkan oleh perusahaan, mencatat data. 
  • Bendahara bertugas untuk membuat laporan keuangan setiap bulannya. 
  • Penanggung jawab bertugas untuk bertanggung jawab mengenai kejadian-kejadian yang terjadi di Toko dan bertanggung jawab untuk memantau cara kerja bawahannya dalam melayani pelanggan. 
  • Karyawan bertugas melayani para pelanggan dengan menerapkan prinsip pelayanan prima. 

7.2. Latar Belakang Tim Management 

Latar belakang tim management ini terdiri dari dari orang-orang terdekat yang dipercayai dapat memajukan tempat pelayanan yang berhubungan dengan usaha Toko perlengkapan alat-alat komputer tersebut. Selain itu dituntut profesionalisme dalam menjalankan setiap pekerjaan. 

Status Kepemilikan Usaha :

Badan usaha adalah kesatuan yuridis ekonomis yang bertujuan untuk mencari keuntungan. Adapun status kepemilikan  yaitu perseroan. Dimana pengelolaannya di lakukan langsung oleh pemilik toko. 



8.1. Evaluasi tentang kelemahan Usaha (Analisis SWOT) 

  • Strength (Kekuatan) 

         1. Bertanggung jawab, disiplin kerja, kreatif dan inovatif 
         2. Dapat memenuhi kebutuhan pelanggan 
         3. Memberikan pelayanan terbaik terhadap pelanggan 
         4. Menjual produk yang berkualitas 

  • Weaknes (Kelemahan)

         1. Persaingan pasar dengan perusahaan yang berskala nasional 

         2. Berubahnya kondisi perekonomian 

  • Oportunity (Peluang) 

         1. Dengan tetap manjaga pelayanan, kami yakin kami dapat bersaing walaupun harus bersaing dengan perusahaan berskala nasional yang akan muncul di kemudian hari. 

         2. Saat ini dengan belum adanya perusahaan dengan bidang usaha sejenis di Komp. Daan Mogot, membuat kami yakin bahwa kedepannya perusahaan kami akan maju. 

  • Threaty (Ancaman) : Munculnya Perusahaan – perusahaan baru yang sejenis yang berusaha menyaingi perusahaan kami, dengan beraneka ragam promosi diskon. 

8.2. Gambaran tentang Masa Kini

Resiko yang dihadapi adalah berupa ancaman terhadap kelangsungan jumlah kunjungan pelanggan. Dengan ini maka lambat laun akan semakin banyak orang yang mengunjungi toko lainnya. Sebagai upaya untuk mengantisipasi hal ini, maka kami selalu memberikan pelayanan yang baik terhadap konsumen. Dengan begitu pelanggan akan memiliki keterkaitan dan terus merasa perlu untuk datang ke tempat kami. 



9.1. Sumber-sumber permodalan 

Sebagai sumber awal mula pendirian SEPIC DOMAIN yaitu dari pemilik toko sendiri. Sebagai investasinya untuk itu didirikanlah perusahaan dalam bidang perdagangan. 

9.2. Neraca Permulaan Perusahaan 

Modal yang kami butuhkan untuk mendirikan usaha domain adalah  Rp. 165.000.000 dengan rincian kebutuhan sebagai berikut:


Keuntungan laba minimal yang diperkiraan Rp. 30.000.000 per bulannya. Dengan asumsi sebagai berikut :

Pembayaran paket domain /bulan: Rp. 2.000.000 (asumsi diakumulasikan untuk 10 paket untuk 10 domain = Rp.20.000.000).

Pembayaran paket tambahan berupa penambahan hosting untuk Rp. 10.000.000 (asumsi penambahan hosting untuk masing – masing 10 domain untuk tambahan hosting 3GB per minggu).

      Biaya Pengeluaran :

Biaya Maintenance

Biaya Listrik

Biaya Karyawan (2 Admin, 1 Maintenance, 2 Officer, 1 Bendahara)

Total semua









Dari perhitungan di atas dapat disimpulkan bahwa laba bersih yang didapat adalah:

Laba bersih     = Pemasukan – Pengeluaran

                = Rp. 30.000.000 – Rp. 23.500.000 
                = 6.500.000

9.3  Perencanaan Laba Rugi (CASH FLOW)





Sebagai pelangkap dari proposal ini, maka kami lampirkan pula 

1. Daftar Harga dari Pemasok Barang 

2. Surat Tanda Daftar Usaha Perdagangan 

3. Nomor Pokok Wajib Pajak (NPWP) 

referensi :