SISTEM TERDISTRIBUSI
oleh: Yuda adi widiyanto
BAB
I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan
pesat teknologi informasi menyebabkan bertambahnya permintaan suatu sistem,
baik berupa perangkat keras maupun perangkat lunak yang dapat digunakan dengan
baik dan cepat.
Permintaan yang
terus bertambah ini tidak sebanding dengan kemampuan perangkat keras yang ada.
Salah satu cara untuk mengatasi hal itu dibuat pengembangan di sisi perangkat
lunak dengan membuat suatu sistem virtual di mana beberapa perangkat keras atau
komputer dihubungkan dalam jaringan dan diatur oleh sebuah sistem operasi yang
mengatur seluruh proses yang ada pada setiap komputer tersebut sehingga
memungkinkan proses berjalan dengan cepat. Sistem operasi yang mengatur proses
ini sering disebut sebagai sistem operasi terdistribusi.
Sistem operasi
terdistribusi ini sekarang menjadi trend, terutama untuk research yang
kadang membutuhkan cpu yang sangat cepat untuk melakukan
perhitungan yang sangat kompleks. Dalam makalah ini akan dibahas mengenai sistem
operasi terdistribusi, terutama untuk mengetahui apa dan bagaimana cara sistem
ini bekerja.
1.2.Tujuan
Supaya lebih tahu tentang apa yang dimaksud dengan system terdistribusi contoh
system terdistribusi dsb.
1.3.Perumusan Masalah
-Defenisi system terdistribusi
- Alasan Sistem
Terdistribusi
- Karakteristik Sistem Terdistribusi
- Tujuam Sistem Terdistribusi
- Konsep P/K
- Konsep P/L
- Layered Protocol
- Application Layer
- RPC (Remote Procedure Call)
- ROI (Remote Object Invocation)
BAB II
PEMBAHASAN
A.SISTEM TERDISTRIBUSI
1.Defenisi
system 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 atau pun
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,work station,mini computer, dan lain sebagainya. Sebenarnya ada
beberapa hal mendasar yang membedakan antara jaringan komputer yang merupakan
dasar dari konsep system 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 melaluiIP
(Internet Protocol)
Ø Intranet,
merupakan jaringan teradministrasi terpisah dengan batasan pada
kebijakankeamanan local.
Ø Mobile
dan komputasi diberbagai tempat, laptop, PDA, mobile phone, printer,
peralatanrumah, dll
Ø World
WideWeb (www), sistem untuk publikasi dan akses sumber daya dan layananmelalui
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 di miliki 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 sub komputasi yang berjalan bersamaan, maka
sistem terdistribusi akan mendistribusikan sub komputasi tersebut kesitus-situs
dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan
komputasi(computation speedup).
3.Reliability Dalam sistem terdistribusi, apabila sebuah
situs mengalami kegagalan, maka situs yangtersisa 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.
Yaitu:
Ø Distribusi
fungsi Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server,
Host/terminal,Data gathering / data processing)
Ø Distribusi
beban/keseimbangan Pemberian tugas ke prosesor secukup nya sehingga unjuk kerja
seluruh sistem teroptimasi
Ø Replika
KekuatanKumpulan PC memiliki kekuatan yang lebih besar dari super
komputer
Ø Pemisahan
Fisik Untuk kehandalan atau redundansi system.
Ø Ekonomis
Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik
dibandingkan dengan main frame.
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.
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


Ø Multiprosesor
dengan Switch
6.2Multicomputer
Konsep ini merupakan konsep dimana beberapa PC terhubung
dengan jaringan, yang mana setiap CPU memiliki memori sendiri-sendiri. Berbeda
dengan konsep multi prosesor tadi,konsep ini lebih mudah dibangun, akan tetapi
interkoneksinya lebih lambat. Gambar berikut menunjukkan multi computer
berbasis switch Sistem multi computer yang paling banyak digunakan dalam sistem
terdistribusi adalah sistem Multi computer
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.

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.3.Middle ware
Middleware ini Menyediakan transparensi terhadap
keaneka ragaman plat form dimana proses dan objek pada sekumpulan mesin
yang menerapkan protokol untuk aplikasi terdistribusi.Contoh dari middle ware
di antaranya :
Ø 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
Standar dization). 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.

8
Application Layer
Ø Application
Layer Menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggung
jawab 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 protocol aplikasi yang banyak digunakan:
hypertext transfer protocol (HTTP) yang digunakan diworld 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.
Ø 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 di antaranya: Transmission Control
Protocol (TCP), User Data gram Protocol (UDP),Stream Control Transmission
Protocol (SCTP).
Ø Network
Layer Bertanggung jawab menentukan alamat jaringan, menentukan rute yang
harus diambilselama 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.
9.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 match maker 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 (remotesystem).
9.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
dalam
kondisi ditahan sementara. Prosedur ini mengijinkan server untuk
menginterupsisuatu aktivitas, memeriksa datanya, dan kemudian melanjutkan
proses aktivitas tersebut.
9.2.Model
dan Cara Kerja RPC
Prosedur call umumnya berkaitan dengan penggunaan stack,
penyimpanan para meter 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.
9.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. 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.
9.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.
10. 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 dari pada
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 padaremote 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 reference nya 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 distri
buted object application. Aplikasi terdistribusi dengan Java RMI terdiri atas
interfaces and classes. Interfaces mendifinisikan methods sedangkan class mengimplementasikan
metode yang di definisikan di dalam 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 :
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 remotes tub
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.
BAB III
PENUTUP
A.Kesimpulan
Dari pembahasan di atas dapat di simpulkan
bahwa sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling
berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang
bervariasi, yaitu melalui Local Area Network atau pun melalui Wide Area
Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk
fasilitas komputer terintegrasi.
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.
Tidak ada komentar:
Posting Komentar