Jumat, 10 Oktober 2014

DEFINISI SISTEM TERDISTRIBUSI

DEFINISI SISTEM TERDISTRIBUSI

Sistem terdistribusi adalah suatu komputer otonom yang bersifat transparan dan terdiri dari kesatuan elemen-elemen yang berinteraksi secara sistematis antara satu dengan yang lainnya.
Dari segi pengguna, user menggunakannya sebagai satu kesatuan komputer. Dalam sistem terdistribusi ini, terdapat lah sebuah jaringan yang merupakan sarana yang menjembatani komunikasi antar elemen. Bagian terluar dari sistem terdistribusi ini adalah sebuah client. Aplikasi client disini adalah front end yang akan berhubungan langsung dengan sistem. Dibelakangnya terdapat beberapa lapisan logik seperti presentation server, bussiness object server dan database server. Sistem terdistribusi disini juga membutuhkan sebuah proxy server. Lapisan yang berada dibelakang front end ini tersembunyi dari pengguna(transparancy).
Jika server dalam suatu sistem distribusi down atau mengalami gangguan, maka proses transaksi antar client akan disimpan di dalammemory si client tersebut(dalam hal ini client adalah sebuah komputer). Apabila server sudah kembali normal, maka proses transaksi tersebut akan dilanjutkan kembali.
Sistem Terdistribusi terdiri dari dua kata yaitu “ Sistem” dan “Terdistribusi”. Sistem terdistribusi merupakan sekumpulan elemen yang saling berhubungan satu dengan yang lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik ataumenjalangkan sperangkat fungsi. Adapun terdistribusi berasal dari kata “distribusi” yang merupakan lawan kata “sentralisasi” yang artinya penyebaran, sirkulasi, penyerahan, pembagian menjadi bagian-bagian kecil.
Sistem terdistribusi dengan pemisalan aplikasi client tersebut dapat memungkinkan dibuat aplikasi yang terkonsentrasi memenuhi kebutuhan pengguna atau user.
Dengan demikian aplikasi tersebut dapat dibuat menjadi aplikasi yang kecil dan memiliki tingkat portabilitas yang tinggi. Dengan teknologi sekarang ini memungkinkan penggagas sistem untuk meletakkan aplikasi ini pada mobile yang memiliki processor seperti handphone dan PDA.


Gambar 1 Kumpulan berbagai komputer dalam sistem terdistribusi.

Manfaatnya:

• Performance
Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat
• Distribution
Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial)
• Reliability
Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan
• Incremental Growth
Mesin baru dapat ditambahkan jika kebutuhan proses meningkat
Sharing Data/Resource
Resource adalah:
– Segala hal yang dapat digunakan bersama dalam jaringan komputer.
– Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data,
obyek data).
• Communication
Menyediakan fasilitas komunikasi antar manusia

Karakteristik sistem terdistribusi adalah sebagai berikut:

Resource Access and Sharing
Openness (keterbukaan)
Concurrency
Scalability
Fault Tolerance (toleransi kesalahan)
Transparency

1. Resource Access and Sharing
Kemampuan menggunakan hardware, software atau data dimanapun dan kapanpun. Karakteristik ini juga yang menentukan siapa saja yang dapat mengakses sebuah resource dalam sebuah sistem terdistribusi. Salah satu contohnya dalam sebuah web, terdapat .htaccessyang hanya dapat diakses oleh user-user yang telah memiliki grant access terhadap file tersebut.

2. Openness (Keterbukaan)
Sebuah keterbukaan dalam sistem terdistribusi memiliki pengertian kemampuan sebuah sistem dalam mengembangkan fleksibilitas terhadap peningkatan kinerja sebuah sistem. Seperti penambahan module baru dan ketersediaan extension / plugin yang dapat terkoneksi dengan sistem lain. Contoh karakteristik ini misalkan sebuah aplikasi web banking yang dapat terhubung dengan sistem web milik perusahaan finance.

3. Concurrency
Semua proses dalam sistem terdistribusi dilakukan secara concurrency (secara bersama-sama). Hal ini dilakukan untuk mencegah inkonsistensi dan ketidak valid an sebuah data dan proses. Sebagai contoh dalam sebuah aplikasi web yang diakses oleh banyak user. Ketika server melakukan sebuah update. Maka semua user yang mengakses halaman web tersebut akan langsung mendapatkan update terbaru tersebut.

4. Scalability
Skalabilitas memiliki pengertian bahwa sebuah sistem terdistribusi harus dapat ditingkatkan kinerjanya tanpa mengubah komponen-komponen di dalamnya. Sebagai contoh, sebuah aplikasi web yang digunakan oleh user yang terlalu banyak. Maka untuk meningkatkan kinerja dari web tersebut agar tidak terjadi overload atau system down maka perlu dilakukan upgrade processor dan ram. Dalam proses upgrading tersebut, komponen dalam web tidak perlu diubah.

5. Fault Tolerance (Toleransi Kesalahan)
Kesalahan pasti terjadi dalam sebuah sistem. Entah itu disebabkan karena masalah jaringan, power supply, bencana alam atau human error. Sebuah sistem terdistribusi dirancang memliki kemampuan untuk menangani hal-hal tersebut. Contoh dalam hal ini adalah dibangunnya sebuah clustering server. Dimana ketika server utama mengalami down karena beberapa penyebab kesalahan, maka extended server langsung membackup sistem utama dan menggantikannya.

6. Transparency
Secara umum, transparansi disini tidak berlaku untuk user biasa yang mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem yang terdistribusi atau tidak. Namun secara khusus bagi seorang pengelola baik itu developer atau administrator sistem sangat perlu untuk mengetahui arsitektur dari sistem yang sedang digunakan karena untuk mempermudah bagi mereka dalam mengembangkan dan memelihara sistem tersebut.

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. 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. Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.

Tantangan-tantangan yang harus dipenuhi oleh sebuah sistem terdistribusi:

1. Keheterogenan perangkat/multiplisitas perangkat. Suatu sistem terdistribusi dapat dibangun dari berbagai macam perangkat yang berbeda, baik sistem operasi, H/W maupun S/W.

2. Setiap perangkat memiliki antarmuka (interface) yang di-publish ke komponen lain. Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda.

3. Shared resources dan transmisi informasi/data perlu dilengkapi dengan enkripsi.
Penanganan Setiap perangkat dapat mengalami kegagalan secara independen. Namun, perangkat lain harus tetap berjalan dengan baik.

4. Concurrency of components. Pengaksesan suatu komponen/sumber daya secara bersamaan oleh banyak pengguna.
Bagi pemakai, keberadaan berbagai perangkat (multiplisitas perangkat) dalam sistem terdistribusi tampak sebagai satu sistem saja.

Model-model Dalam Sistem Terdistribusi

1. Model client-server

Sistem yang terdiri dari kumpulan – kumpulan 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.




2. Model Multiple Server

Service disediakan oleh beberapa server
Contoh:
– Sebuah situs yang jalankan dibeberapa server
Server menggunakan replikasi atau database terdistribusi.


3. Model 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 dilakukanadalah memeriksa proxy server apakah yang dimita oleh client terdapatpada proxy server. Proxy server dapat diletakkan pada setiap client atau dapat di pakaibersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekwensi akses ke server.



4. Model Peer to Peer

Dimana sistem dapat berfungsi sebagai client atau server.