46807847 makalah sistem terdistribusi

20
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

Upload: oyan-rajagelo

Post on 27-Oct-2015

186 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 46807847 Makalah Sistem Terdistribusi

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

Page 2: 46807847 Makalah Sistem Terdistribusi

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

Page 3: 46807847 Makalah Sistem Terdistribusi

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

Page 4: 46807847 Makalah Sistem Terdistribusi

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

Page 5: 46807847 Makalah Sistem Terdistribusi

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

Page 6: 46807847 Makalah Sistem Terdistribusi

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

Page 7: 46807847 Makalah Sistem Terdistribusi

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

Page 8: 46807847 Makalah Sistem Terdistribusi

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

Page 9: 46807847 Makalah Sistem Terdistribusi

Application Layer

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

APPLICATIO

N

DATATRANSPORT

Lapisan AtasDiimplementasikan pada

s/w yang saling

berinteraksi dengan user

Lapisan Bawah

Berhubungan dengan S/W dan H/W , paling bawah

berhubungan dengan

media jaringan fisik

dan penanggung

jawab penempatan

informasi pada media

jaringan

Page 10: 46807847 Makalah Sistem Terdistribusi

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

Page 11: 46807847 Makalah Sistem Terdistribusi

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

Page 12: 46807847 Makalah Sistem Terdistribusi

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

Page 13: 46807847 Makalah Sistem Terdistribusi

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

Page 14: 46807847 Makalah Sistem Terdistribusi

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