You are on page 1of 14

MAKALAH

SISTEM TERDISTRIBUSI

Diajukan untuk memenuhi tugas


Mata kuliah Sistem Terdistribusi

Dosen :
I Made Andhika, S.Kom.

Disusun Oleh :
Cephi Saepul Rohman / 10107311 / IF-7

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2010
1. Definisi Sistem Terdistribusi

Sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori
atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area
Network ataupun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi
untuk membentuk fasilitas komputer terintegrasi. Proses dalam sistem terdistribusi dijalankan
secara bersamaan (execute concurrently) dimana proses berinteraksi untuk bekerjasama dalam
mencapai tujuan yang sama dan mengkoordinasikan aktifitas dan pertukaran informasi yaitu
pesan yang dikirim melalui jaringan komunikasi. Struktur sistem terdistribusi dapat dilihat dari
gambar dibawah ini :

Dalam sistem terdistribusi prosesor yang dimiliki bervariasi, dapat berupa small
microprocessor, workstation, minicomputer, dan lain sebagainya. Sebenarnya ada beberapa hal
mendasar yang membedakan antara jaringan komputer yang merupakan dasar dari konsep sistem
terdistribusi dengan sistem terdistribusi itu sendiri yaitu komputer otonom yang secara eksplisit
terlihat, sedangkan pada sistem terdistribusi komputer otonom transparan dan juga memiliki
lebih banyak masalah dibanding dengan jaringan komputer. Ada beberapa contoh umum yang
merupakan aplikasi dari sistem terdistribusi, diantaranya :
 Internet, merupakan global jaringan interkoneksi komputer yang berkomunikasi melalui
IP (Internet Protocol)
 Intranet, merupakan jaringan teradministrasi terpisah dengan batasan pada kebijakan
keamanan lokal

1
 Mobile dan komputasi diberbagai tempat, laptop, PDA, mobile phone, printer, peralatan
rumah, dll
 World Wide Web (www), sistem untuk publikasi dan akses sumber daya dan layanan
melalui Internet.

2. Alasan Sistem Terdistribusi

Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:


1. Resource Sharing
Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain
melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber
daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser
printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang
terdapat di situs A.
2. Computation Speedup
Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan
bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke
situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi
(computation speedup)
3. Reliability
Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang
tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas
sistem menjadi lebih baik
4. Communication
Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs
yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.

Selain alasan-alasan utama diatas ada beberapa alasan lain untuk sistem terdistribusi,
yakni :
 Distribusi fungsi
Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server, Host/terminal,
Data gathering / data processing)

2
 Distribusi beban/keseimbangan
Pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi
 Replika Kekuatan
Kumpulan PC memiliki kekuatan yang lebih besar dari super komputer
 Pemisahan Fisik
Untuk kehandalan atau redundansi sistem
 Ekonomis
Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan
dengan mainframe.

3. Karakteristik Sistem Terdistribusi

Karakteristik sistem terdistribusi adalah sebagai berikut:


1. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama
dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa
pemakai browser mengakses halaman web secara bersamaan
2. No global clock
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat
yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa
proses berebut ingin masuk ke critical session.
3. Independent failures of components
Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat
lain tetap berjalan dengan baik.

4. Tujuam Sistem Terdistribusi

Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai,


diantaranya :
 Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya
sistem.
 Peningkatan kecepatan komputasi.
 meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

3
5. Konsep P/K

5.1 Multiprosesor
Yaitu konsep dimana sebuah komputer dengan beberapa prosesor. Beberapa prosesor-
prosesor tersebut mengakses memori yang sama sehingga konsep ini lebih sulit untuk dibuat,
namun interkoneksi dari konsep multiprocessor ini lebih cepat.

Ada dua bentuk multiprocessor yaitu :


 Multiprosesor dengan Caching

4
 Multiprosesor dengan Switch

5.2 Multicomputer
Konsep ini merupakan konsep dimana beberapa PC terhubung dengan jaringan, yang
mana setiap CPU memiliki memori sendiri-sendiri. Bebrbeda dengan konsep multiprosesor tadi,
konsep ini lebih mudah dibangun, akan tetapi interkoneksinya lebih lambat. Gambar berikut
menunjukkan multicomputer berbasis switch

Sistem multicomputer yang paling banyak digunakan dalam sistem terdistribusi adalah
“Sistem Multicomputer Heterogen” dimana sistem ini memiliki perbedaan, yaitu baik dari
prosesor, memori, I/O bandwidth dan jaringan.

6. Konsep P/L

6.1 DOS (Distributed Operating System)


Merupakan sistem yang dapat memanajemen komputer-komputer dan membuat
“mereka” tampak sebagai single komputer. Selain itu sistem ini pula dapat menjalankan proses
di komputer lain tanpa mengetahui siapa yang meresponnya serta mengatur sumber daya pada
sistem terdistribusi.

5
6.2 NOS (Network Operating System)
NOS merupakan sistem dimana setiap host menjalankan sistem operasi untuk mengatur
sumber daya yang dimilikinya termasuk mengakses sumber daya di jaringan. Untuk mengakses
resource jaringan tersebut dengan menggunakan NFS (Network File System) serta Samba
(implementasi protokol SMB di Win & Linux). Selain itu dengan NOS maka Pengguna dapat
mengakses suatu proses di komputer lain dengan login ke telnet/ssh.

6
6.3 Middleware
Middleware ini Menyediakan transparensi terhadap keanekaragaman platform dimana
proses dan objek pada sekumpulan mesin yang menerapkan protokol untuk aplikasi terdistribusi.
Contoh dari middleware diantaranya :
 CORBA (OMG)
 DCOM (Microsoft)
 ODP (ITU-T/ISO)
 Java Remote Method Invocation (Sun)

7. Layered Protocol

Model layer OSI (Open System Interconnection) merupakan model layer protocol yang
dibuat oleh ISO (International Organization for Standardization). OSI mengacu pada standar
pertukaran informasi diantara sistem-sistem yang “terbuka” yaitu sistem yang menerapkan
standar OSI. Model Layer OSI dibagi dalam dua group: “upper layer” dan “lower layer”. “Upper
layer” fokus pada aplikasi pengguna dan bagaimana file direpresentasikan di komputer. Untuk
Network Engineer, bagian utama yang menjadi perhatiannya adalah pada “lower layer”. Lower
layer adalah intisari komunikasi data melalui jaringan aktual.

7
Lapisan Bawah
Berhubungan dengan
S/W dan H/W , paling
bawah berhubungan
dengan media
jaringan fisik dan
penanggung jawab
penempatan
informasi pada media
 Application Layer jaringan
Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran
informasi antara program komputer, seperti program e-mail, dan service lain yang jalan
di jaringan, seperti server printer atau aplikasi komputer lainnya. Contoh protokol
aplikasi yang banyak digunakan: hypertext transfer protocol (HTTP) yang digunakan di
world wide web, file transfer protocol (FTP) untuk pengiriman file antar komputer,
simple mail transfer protocol (SMTP) untuk email.
 Presentation Layer
Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh
konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini
membentuk kode konversi, translasi data, enkripsi dan konversi.
 Session Layer
Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,-
bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut
“session”. Fungsi dari layer ini adalah :
1. Pengendalian dialog: memantau giliran pengiriman
2. Pengelolaan token: mencegah dua pihak untuk melakukan operasi yang sangat kritis
dan penting secara bersamaan
3. Sinkronisasi: menandai bagian data yang belum terkirim sesaat crash pengiriman
terjadi, sehingga pengiriman bisa dilanjutkan tepat ke bagian tersebut.

8
 Transport Layer
Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end”
antar terminal, dan menyediakan penanganan error (error handling). Fungsinya antara
lain: flow control, segmentation/desegmentation, dan error control. Contoh dari layer ini
diantaranya: Transmission Control Protocol (TCP), User Datagram Protocol (UDP),
Stream Control Transmission Protocol (SCTP).
 Network Layer
Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil
selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk
paket. Contohnya adalah Internet Protocol (IP).
 Data Link Layer
Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan
“hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan,
mengatur komunikasi layer physical antara sistem koneksi dan penanganan error. Layer
ini Memiliki address secara fisik yang sudah di-kode-kan secara langsung ke network
card pada saat pembuatan card tersebut (disebut MAC Address). Contohnya Ethernet,
HDLC, Aloha, IEEE 802 LAN, FDDI.
 Physical Layer
Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media,
seperti kabel, dan menjaga koneksi fisik antar system. Fungsi utama dari layer ini adalah
untuk menentukan :
1. Berapa volt untuk bit 1 dan 0.
2. Berapa nanoseconds bit dapat bertahan di saluran komunikasi.
3. kapan koneksi awal dibuat dan diputuskan ketika dua entiti selesai melakukan
pertukaran data.
4. jumlah pin yang digunakan oleh network connector dan fungsi dari setiap pin.

Contoh dari dari layer ini diantaranya : token ring dan IEEE 802.11.

9
8. RPC (Remote Procedure Call)

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. Pendekatan yang dilakuan adalah sebuah
server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh
server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me-request kepada
sebuah matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa
yang digunakan oleh prosedur yang diminta client. RPC ini merupakan suatu protokol yang
menyediakan suatu mekanisme komunikasi antar proses yang mengijinkan suatu program untuk
berjalan pada suatu komputer tanpa terasa adanya eksekusi kode pada sistem yang jauh (remote
system).

8.1 Fitur RPC


Fitur-fitur dalam RPC diantaranya :
 Batching calls
Fitur Batching calls mengijinkan client untuk mengirim message calls ke server dalam
jumlah besar secara sequence ( berurutan ). Batching menggunakan protokol streaming
byte seperti TCP / IP sebagai mediumnya. Pada saat melakukan batching, client tidak
menunggu server untuk memberikan reply terhadap tiap messages yang dikirim, begitu
pula dengan server yang tidak pernah mengirimkan messages reply.
 Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan
menunggu balasan dari network. FItur ini menggunakan protokol yang berbasiskan paket
data seperti UDP/IP sebagai mediumnya. Broadcast RPC membutuhkan layanan port mapper
RPC untuk mengimplementasikan fungsinya.
 Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan
melakukan RPC callback ke proses yang dijalankan oleh klien.
 Menggunakan select Subrutin
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk
melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka

10
dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi
suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

8.2 Model dan Cara Kerja RPC


Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan parameter
yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel. Namun selain
itu ada yang disebut dengan Prosedur Call remote, yang berarti pelaksanaan proses diatas namun
pada suatu sistem lain yang berhubungan melalui suatu jaringan. Sistem prosedur remote ini
memiliki cara kerja yang sedikit banyak mirip, namun berbeda dengan prosedur call biasa.
Tiap prosedur yang dipanggil dalam RPC, maka proses ini harus berkoneksi dengan
server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari
server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi
klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi
permintaan mengenai prosedur tertentu. Server harus membaca tiap parameter yang diberikan,
kemudian memberikan prosedur lokal yang sesuai dengan permintaan dan parameter. Kemudian
setelah eksekusi, server harus mengirimkan hasil kepada pihak pemanggil proses.

8.3 Kelebihan RPC


 Relatif mudah digunakan
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local
procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, Komunikasi
Hal. 6 Sistem Terdistribusi tidak perlu memikirkan low level details seperti socket,
marshalling & unmarshalling.
 Robust (Sempurna)
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical
application yg memerlukan scalability, fault tolerance, & reliability.

8.4 Kekurangan RPC


 Tidak fleksibel terhadap perubahan
Static relationship between client & server at run-time.
 Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman
dibandingkan OOP.

11
9. ROI (Remote Object Invocation)

Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi
perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut
kehadiran teknologi baru. ROI merupakan sebuah teknik pemanggilan method remote yang
secara umum lebih baik daripada RPC. ROI ini merupakan teknologi berbasis object yang sudah
terbukti bagus untuk pengembangan aplikasi stand alone. Ada dua istilah dalam remote object
yaitu :
1. Proxy
Mirip dengan client stub dalam RPC dimana implementasi interface object sesungguhnya
berada di mesin yang lain. Proxy berjalan di address space client.
2. Skeleton
Mirip dengan server stub dalam RPC.

Implementasi dari ROI sendiri adalah RMI (Remote Method Invocation). RMI
merupakan teknologi DS yang memungkinkan sebuah JVM memanggil metode sebuah object
yang berjalan di JVM yang lain. RMI memungkinkan kita untuk mengirim obyek sebagai
parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada
remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi
pada jaringan. Aplikasi RMI sering terbagi menjadi dua bagian yaitu server dan client. Server
mempunyai beberapa remote objects, dan referencenya serta menunggu jika client ingin
memanggil remote object tersebut. Sedangkan Client mendapatkan remote refernce untuk satu
atau lebih remote object di dalam server, dan kemudian memanggil metode di dalamnya. RMI
menyediakan mekanisme sehingga server dan client dapat berkomunikasi dan tukar menukar
informasi timbal balik. Aplikasi seperti ini disebut dengan distributed object application.
Aplikasi terdistribusi dengan Java RMI terdiri atas interfaces and classes. Interfaces
mendifinisikan methods sedangkan class mengimplementasikan metode yang didefinisikan
didalam interfaces Objects (perwujudan dari class) yang mempunyai metode tersebut (yang
dapat dipanggil dari jauh) disebut dengan remote objects. Suatu object akan menjadi remote jika
mengimplementasikan suatu remote interface, yang mempunyai karakteristik sbb :

12
1. RMI memperlakukan remote object berbeda dengan yang non-remote object, ketika
object tersebut dikirim ke VM yang lain.
2. Selain membuat copy object ke VM penerima, RMI mengirim satu remote stub untuk
satu remote object.
– Stub ini beraksi sebagai perwakilan lokal, proxy, untuk remote object tsb, dan untuk
pemanggilnya, remote reference.
– Remote reference memanggil metode pada stub lokal, yang bertanggung jawab untuk
memanggil ke remote object.
3. Stub (untuk remote object) meng-implements remote interfaces yang remote object juga
meng-implements.

13

You might also like