Kamis, 13 Januari 2011

BAB I

Pendahuluan
1.1 Apakah yang dimaksud dengan SistemTerdistribusi?
Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung
ke suatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer.
Maksud komputer otonomi adalah walaupun komputer tidak terhubung
ke jaringan, komputer tersebut tetap data berjalan.
Dengan menjalankan sistem terdistribusi, komputer dapat melakukan :
² Koordinasi Aktivitas
² Berbagi sumber daya : hardware, software dan data
Dengan de…nisi tersebut diatas maka internet sesungguhnya bukanlah suatu
sistem terdistribusi, melainkan infrastruktur dimana sistem terdistribusi
dapat di aplikasikan pada jaringan tersebut.
1.2 Contoh Sistem Terdistribusi
² Sistem Telepon
- ISDN, PSTN
² Manajemen Jaringan
- Adminstrasi sesumber jaringan






Gambar~1.1: Contoh sistem terdistribusi, Automatic Banking (teller machine)
System
² Network File System (NFS)
- Arsitektur untuk mengakses siste file melalui jaringan
² WWW
- Arsitektur client/server yang diterapkan di atas infrastruktur internet
- Shared Resource (melalui URL)
² dll...
BAB 1. PENDAHULUAN 8
1.3 Keuntungan dan Permasalahan SistemTerditribusi
1.3.1 Keuntungan Sistem Terdistribusi
Keuntungan yang didapatkan dalam menerapkan sistem terdistribusi, antara
lain :
² Performance
Kumpulan dari beberapa prosesor akan memberikan kinerja yang lebih
baik dari pada komputer yang terpusat. Begitu juga kalau dilihat dari
sisi biaya.
² Distribution
² Reliability (Fault tolerance)
apabila salah satu komponen terjadi kerusakan, system tetap dapat
berjalan
² Incremental Growth
Mudah dalam melakukan penambahan komputer/komponen
² Sharing Data/Resources
Berbagi data adalah salah satu hal yang pokok pada kebanyakan aplikasi.
1.3.2 Permasalahan dalam Sistem Terdistribusi
Kelemahan pada sistem terdistribusi adalah :
² Kesulitan dalam membangun perangkat lunak .
Kesulitan yang akan dihadapi antara lain : bahasa pemrogramman yang
harus dipakai, sistem operasi dll.
² Masalah Jaringan
Karena sistem terdistribusi di implementasikan dalam jaringan komputer,
maka isu2 yang berkaitan dengan jaringan komputer akan menjadi
pertimbangan utama dalam merancang dan mengimplementasikan
sistem.

² Masalah Keamanan
Karena pada sistem terdistribusi berbagi data/sumber daya merupakan
hal yang mutlak maka muncul masalah2 yang berkaitan dengan keamanan
data dll.
1.4 Karakteristik Sistem Terdistribusi
Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi,
yaitu :
² Transparency (Kejelasan)
² Communication (Komunikasi)
² Performance & Scalability (Kinerja dan Ruang Lingkup)
² Heterogeneity (Keanekaragaman)
² Opennes (Keterbukaan)
² Reliability & Fault Tolerancy (Kehandalan dan Toleransi Kegagalan)
² Security (Kemanan)
1.4.1 Transparency
Access transparency
Sumber daya lokal dan remote di akses dengan menggunakan operasi yang
sama.
Location transparency
Pengguna sistem tidak tahu mengetahui keberadaan hardware dan software
(CPU,…le dan data).
Migration (Mobility) transparency
Sumber daya (baik berupa Hardware dan/atau software) dapat bebas berpindah
tanpa mengubah sistem penamaan.

Replication transparency
Sistem bebas untuk menambah file atau sumber daya tanpa diketahui oleh
user (dalam rangkan meningkatkan kinerja)
Concurency transparency
User tidak akan mengetahui keberadaan user lain dalam sistem, walaupun
user tersebut menggunakan sumber daya yang sama.
Failure transparency
Aplikasi harus dapat menyelesaikan proses nya walaupun terdapat kegagalan
pada beberapa pada komponen sistem.
Performance transparency
Beban kerja yang bervariasi tidak akan menyebabkan turunnya kinerja sistem,
hal ini dapat di capai dengan melakukan automatisasi kon…gurasi terhadap
perubahan beban.
1.4.2 Communication
Komponen2 pada sistem terdistribusi harus melakukan komunikasi dalam
suatu urutan. Sebagai berikut :
² Infrastruktur jaringan (interkoneksi dan software jaringan)
² Metode dan Model komunikasi yang cocok
Metode komunikasi :
- Send
- Receive
- Remote Procedure Call
Model Komunikasi
- client - server communication : pertukaran pesan antara dua proses
: dimana satu proses (client) menggunakan / meminta layanan
pada server dan server menyediakan hasil dari proses tersebut

- groupmulitcast : target dari pesan yang dikirimkan adalah gabungan
dari proses, yang berasal dari suatu grup.
1.4.3 Performance and Scalability
Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada
sistem terdistribusi :
² Kinerja dari pada personal workstations
² Kecepatan infrastruktur komunikasi
² Fleksibilitas dalam membagi beban kerja : contoh, apabila terdapat
prosesor (workstation) yang idle maka dapat di alokasikan secara otomatis
untuk mengerjakan tugas2 user.
Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan
secara signi…kan user atau sumber daya yang terhubung :
² Cost (biaya) penambahan sumber daya (resources) harus reasonable.
² Penurunan kinerja (performance) diakibatkan oleh penambahan user
atau sumber daya harus terkontrol.
1.4.4 Heterogeneity
Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :
² Hardware : mainframes, workstations, PC’s, server dll.
² Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
² Devices : teller machine, robot, sistem manufacturing dll.
² Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keaneka ragaman di atas maka salah satu solusi yang bisa di
terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi
dan proses.

Gambar~1.2: Arsitektur sofware pada sistem




1.4.5 Opennes
Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah
opennes (keterbukaan) dan ‡exibility (‡eksibilitas) :
² Setiap layanan (services) harus dapat di akses oleh semua user.
² Mudah dalam implementasi, install dan debug services;
² User dapat membuat dan menginstall service yang telah dibuat oleh si
user tersebut.
Aspek kunci pada opennes :
² Interface dan Protocol yang standard (seperti protokol komunikasi di
internet)
² Support terhadap keanekaragaman. ( denganmembuatmidleware seperti
CORBA)




1.4.6 Reliability dan Fault Tolerance
Salah satu tujuan dalam membangun sistemterdistribusi adalahmemunkinkan
untuk melakukan improvisasi terhadap kehandalan sistem.
Availability : kalau mesin mati (down), sistem tetap harus berjalan
dengan jumlah layananan yang tersisa.
² Dalam sistem terdistribusi componen yang sangat vital (critical resources)
berjumlah se minimal mungkin. Yang dimaksud dengan critical
resources adalah komponen yang harus ada untuk menjalankan
sistem terdistribusi.
² Masing - masing Software dan Hardware harus di replikasi : kalau terjadi
kegagalan / error maka yang lain akan menangani.
Data dalam sistem tidak boleh hilang, copy dari …le tersebut disimpan
pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi
datanya.
Fault Tolerance : Sistemharus bisa mendeteksi kegagalan danmelakukan
tindakan dengan dasar sebagai berikut :
² Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan
dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau
informasi.


² Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan
ke suatu prosedur yang telah di rencanakan dan memungkinkan untuk
menghentikan proses dalam waktu yang singkat tanpa menghilangkan
informasi atau data.
1.4.7 Security
² Con…dentiality :
keamanan terhadap data yang di akses oleh user yang tidak di perbolehkan
(unauthorizes user)
² Integrty:
keamanan terhadap kelengkapan dan autentikasi data.
² Availability
Menjaga agar resource dapat selalu di akses.
Sistem terdistribusi harus memperbolehkan komunikasi antara program/user/resources
pada computer yang berbeda, maka resiko keamanan akan muncul apabila
memberlakukan free access. Dan ada hal lain juga yang harus dijamin dalam
sistem terdistribusi, yaitu : penggunaan rerources yang tepat oleh user yang
berlainan.
1.5 Model dalam Sistem Terdistribusi
Model dalam sistem terdistribusi :
² Model Arsitektur (Architectural Models)
² Model Interaksi (Interaction Models)
² Model Kegagalan (Failure Models)
Resources dalam sistem terdistribusi dipakai secara bersama oleh users.
Biasa nya di bungkus (encapsulated) dalam suatu komputer dan dapat di
akses oleh komputer lain dengan komunikasi.

Setiap resource di atur oleh program yang disebut dengan resource manager.
Resource manager memberikan kemungkinan komunikasi interface antar
resource.
Resource Managers dapat digeneralisasi sebagai proses, kalau sistem di
design dengan sudut pandang object (Object Oriented), resource dibungkus
dalam suatu objek.
1.5.1 Architectural Models
Bagaimana cara kerja sistem terdisribusi antara komponen - komponen sistem
dan bagaimana komponen tersebu berada pada sistem terdistribusi :
² Client - Server Model
² Proxy Server
² Peer processes ( peer to peer )
Client - Server Model
Sistem yang terdiri dari kumpulan2 proses disebut dengan server, dan memberikan
layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh
implementasi nya, atara lain: RPC (Remote Procedure Calling) dan RMI
(Remote Method Invocation) :
² client mengirimkan request berupa pesan ke server untuk mengakses
suatu service.
² server menerima pesan tersebut dan mengeksekusi request client dan
mereply hasil ke client
Proxy Server
Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur
oleh server lain
Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources.
Ketika client melakukan request ke server, hal yang pertama dilakukan
adalah memeriksa proxy server apakah yang dimita oleh client terdapat
pada proxy server.
Proxy server dapat diletakkan pada setiap client atau dapat di pakai
bersama oleh beberapa client.
Tujuannya adalah meningkatkan performance dan availibity denganmencegah
frekwensi akses ke server.
Peer Process
Semua proses (object) mempunyai peran yang sama.
² Proses berinteraksi tanpa ada nya perbedaan antara client dan server.
² Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan.
² Merupakan model yang paling general dan ‡eksible.
1.5.2 Interaction Models
Untuk interaksi nya sistem terdistribusi dibagi menjadi dua bagian :
² Synchrounous distributed system
² Asynchronous distributed system
Synchronous Distributed System
Batas atas dan batas bawah waktu pengeksekusian dapat di set.
² Pesan yang dikirim di terima dalam waktu yang sudah di tentukan
² Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Beberapa hal yang penting untuk di perhatikan :
² Dalam synchronous distributed system terdapat satu waktu global.
² Hanya synchronous distributed system dapat memprediksi perilaku
(waktu).
² Dalam synchornous distributed system dimungkinkan dan aman untuk
menggunakan mekanisme timeout dalam mendekteksi error atau
kegagalan dalam proses atau komunikasi.
Asynchronous Distributed System
Banyak sistem terdistribusi yangmenggunakan model interaksi ini (termasuk
Internet)
² Tidak ada batasan dalam waktu pengkeksekusian.
² Tidak ada batasan dalam delay transmission (penundaan pengiriman)
² Tidak ada batasan terhadap ‡uktuasi waktu local.
Asynchronous system secara parktek lebih banyak digunakan.
1.5.3 Failure Models
Kegagalan apa saja yang dapat terjadi dan bagaimana efek yang ditimbulkan
?
² Omission Faluires
² Arbitary Failures
² Timing Failures
Kegagalan dapat terjadi pada proses atau kanal komunikasi. Dan penyebabnya
bisa berasal dari hardware ataupun software.
Model Kegagalan (Failure Models) dibutuhkan dalam membangun suatu
sistem dengan prediksi terhadap kagagalan2 yang mungkin terjadi.





Ommision Failures
Yang dimaksud dengan Ommision Failures adalah ketika prosesor dan kanal
komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan.
Dikatakan tidak mempunyai ommision failures apabila :
² Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
² Sebuah aksi di eksekusi walaupun terdapat kesalahan pada hasil.
Dengan synchronous system, ommision failures dapat dideteksi dengan
timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan
mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior
pada sistem.
Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau
komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi. Sehingga
hasil yang diharapkan tidak terjadi ataumegeluarkan hasil yang salah.
Timing Failures
Timing Failures dapat terjadi pada synchronous system, dimana batas waktu
di atur untuk eksekusi proses, komunikasi dan ‡uktuasi waktu. Timing Failures
terjadi apabila waktu yang telah ditentukan terlampaui.



Tidak ada komentar:

Posting Komentar