Sistem terdisitribusi merupakan kumpulan otonom komputer yang terhubung melalui sistem jaringan komputer dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer yang terintegrasi.

Komputer otonomi: walaupun komputer tidak terhubung kejaringan, komputer tersebut tetap dapat berjalan.

Dengan  menjalankan sistem terdistribusi, komputer dapat melakukan : Koordinasi Aktifitas dan berbagi sumberdaya: hardware, software dan data

Gambar: Contoh sistem terdistribusi, Automatic Banking (teller machine) System

Beberapa contoh dari sistem terdistribusi yaitu :

  1. Internet, merupakan suatu bentuk jaringan global yang menghubungkan komputer dengan satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol.
  2. Intranet
  • Jaringan yang teradministrasi secara lokal
  • Terhubung ke internet (melalui firewall)
  • Menyediakan layanan internal dan eksternal
  1. Sistem terdistribusi multimedia Biasanya digunakan pada infrastruktur

Karakteristik Sistem Terdistribusi

  • Communication Komponen pada sistem terdistribusi harus melakukan komunikasi dalam suatuurutan 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, group multicast
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Security

-Confidentiality : keamanan terhadap data yang diakses oleh user yang tidak diperbolehkan (unauthorizesuser)-Integrity : keamanan terhadap kelengkapan dan autentikasi data.-Availability : Menjaga agar resource dapat selalu diakses.-Hal lain yang harus dijamin dalam sistem terdistribusi: penggunaan resources yang tepat oleh user yang berlainan.

Model dalam Sistem Terdistribusi

Model dalam sistem terdistribusi:

a.Model Arsitektur(Architectural Models)

b.Model Interaksi(Interaction Models)

c.Model Kegagalan(Failure Models)

  1. Architectural Models

cara  kerja antar komponen sistem dan bagaimana komponen tsb berada pada sistem terdistribusi:-Client -Server Model-Proxy Server-Peer processes ( peer to peer ).

– Client-Server Model

Model client-server biasanya berbasiskan protokol request/reply. Contoh: Implementasi RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation) :

  • client mengirimkan request berupa pesan keserver untuk mengakses suatu service.
  • server menerima pesan tersebut dan mengeksekusi request client dan mereply hasil ke client

-Proxy Server

  • menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain
  • dipakai untuk menyimpan hasil copy web resources.
  • Ketika client melakukan request keserver, proxy server diperiksa apakahyang diminta olehclient terdapat pada proxy server.
  • diletakkan pada setiap client atau dapatdipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekwensi akses keserver.

b.Interaction Model dibagi menjadi dua bagian:

  • Synchronous distributed system
  • Asynchronous distributed system

Synchronous Distributed System

  • Batas atas dan batas bawah waktu pengeksekusian dapatdiset.
  • Pesanyang dikirim, diterima dalam waktu yang sudah ditentukan
  • Fluktuasi ukuran antara waktu lokal berada dalam suatu batasan

Asynchronous Distributed System

 Banyak sistem terdistribusi yang menggunakan model interaksi ini(termasuk Internet)

  • Tidak ada batasan dalam waktu pengkeksekusian.
  • Tidak ada batasan dalam delay transmission (penundaan pengiriman)
  • Tidak ada batasan terhadap fluktuasi waktu lokal.
  1. Failure Models

Kegagalan apa saja yang dapat terjadi dan bagaiman aefek

yang ditimbulkan?

  • Omission Faluires
  • ArbitaryFailures
  • Timing Failures

Kegagalan dapat terjadi pada proses atau kanal komunikasi.

Penyebabnya bisa berasal dari hardware ataupun software.

Model Kegagalan(Failure Models) dibutuhkan dalam

Membangun suatu sistem dengan prediksi terhadap kagagalan

yang mungkin terjadi.

Ommision Failures :

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 dieksekusi walaupun terdapat kesalahan pada hasil.

Dengan synchronous system, ommisionfailures dapat dideteksi dengan timeouts

ArbitaryFailures

  • kegagalanyang paling buruk dalam sistem.
  • Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi hasilyang diharapkan tidak terjadi atau megeluarkan hasil yang salah.

Timing Failures

  • dapat terjadi pada synchronous system, dimana batas waktu diatur untuk eksekusi proses, komunikasi danf luktuasi waktu.
  • Timing Failures terjadi apa bila waktu yang telah ditentukan terlampaui

PermasalahandalamSistemTerdistribusi

Kelemahan pada sistem terdistribusia dalah:

-Kesulitan dalam membangun perangkat lunak: bahasa pemrogramman, sistem operasi dll.

-Masalah Jaringan: merancang& mengimplementasikan sistem.

-Masalah Keamanan: berbagidata/sumberdaya berkaitan dengan keamanan data dll

PermasalahandalamSistemTerdistribusi

Kelemahan pada sistem terdistribusia dalah:

-Kesulitan dalam membangun perangkat lunak: bahasa pemrogramman, sistem operasi dll.

-Masalah Jaringan: merancang& mengimplementasikan sistem.

-Masalah Keamanan: berbagi data/ sumberdaya berkaitan dengan keamanan data dll

Referensi: ade.staff.gunadarma.ac.id