Monday, May 18, 2015

Pemrosesan Sistem Terdistribusi

Sistem terdistribusi adalah sebuah sistem komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan message passing (Message passing adalah sebuah teknik untuk melakukan sinkronisasidan komunikasi anatara proses-proses yang saling berinteraksi). Ada juga yang mengatakan Sistem terdistribusi adalah sebuah sistem yang terdiri dari beberapa komponen yang terdapat didalam sebuah jaringan komputer. Komponen-komponen tersebut saling berinteraksi dan berkomunikasi hanya dengan melalui pengiriman pesan. Proses yang terjadi di dalam suatu sistem terdistribusi antara lain dengan dijalankan secara bersamaan (execute concurrently), interaksi untuk bekerjasama dalam mencapai tujuan yang sama, serta mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui jaringan komunikasi.
  • Karakteristik Sistem Terdistribusi
Dalam sistem terdistribusi terdapat beberapa karakteristik, yaitu :  
  1. No global clock      
  2. Independent failure  
  3. Concurrency of components 
  • Model Dalam Sistem Terdistribusi 
Resources dalam sistem terdistribusi dipakai secara bersama oleh users. Biasanya di bungkus (encapsulated) dalam suatu komputer dan dapat diakses oleh komputer lain dengan komunikasi. Setiap resource diatur 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. Model Arsitektur (Architectural Models) 
Bagaimana cara kerja sistem terdisribusi antara komponen – komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi :
   Client – Server Model.
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, sedangkan 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 diminta 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 dengan mencegah frekuensi akses ke server.
 
   Peer Process
Semua proses (object) mempunyai peran yang sama, seperti : Proses berinteraksi tanpa ada nya perbedaan antara client dan server, Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan, dan merupakan model yang paling general dan fleksible

 
2. Model Interaksi (Interaction Models) 
Untuk model interaksinya, sistem terdistribusi dibagi menjadi dua bagian, yaitu :
   Synchrounous distributed system
Pada sistem ini batas atas dan batas bawah waktu pengeksekusian dapat di set, pesan yang dikirim maupun diterima dalam waktu yang sudah ditentukan, serta fluktuasi ukuran antara waktu local berada dalam suatu batasan. Beberapa hal penting yang harus diperhatikan adalah dalam sistem ini terdapat satu waktu global, hanya sistem ini yang dapat memprediksi perilaku (waktu), serta dalam sistem ini dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendeteksi error dalam proses / komunikasi.
   Asynchronous distributed system
Banyak sistem terdistribusi yang menggunakan model interaksi ini (termasuk Internet). Ciri-ciri yang dimiliki oleh sistem ini adalah Tidak ada batasan dalam waktu pengeksekusian, Tidak ada batasan dalam delay transmission (penundaan pengiriman), Tidak ada batasan terhadap fluktuasi waktu local. 

3. Model Kegagalan (Failure Models)
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 kagagalan – kegagalan yang mungkin terjadi.
§  Omission Faluires
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 dan 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 diatur untuk eksekusi proses, komunikasi dan fluktuasi waktu. Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui.

  • Pentingnya Komputasi Terdistribusi

Sistem komputer terdistribusi merupakan hal penting untuk fungsi organisasi. Contoh umum dari sitem komputer terdistribusi ini adalah :
1.      Internet
Internet merupakan suatu bentuk jaringan global yang menghubungkan komputer satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol. Karakteristik dari internet adalah berukuran sangat besar dan beragam (heterogen); fasilitas yang dimiliki berupa email, transfer file, komunikasi multimedia, WWW, dll; open-ended; menghubungkan intranet (melalui backbone) dengan home users (melalui modem, Internet Service Provider).
 
2.      Intranet
Karakteristik dari Intranet yaitu beberapa LAN dihubungkan melalui backbone, merupakan media transmisi informasi dalam organisasi (data elektronik, dokumen), menyediakan layanan seperti (email, file), dihubungkan ke internet melalui router atau gateway, serta melindungi komunikasi keluar / masuk dengan firewall.
3.      Peralatan Portable dan Handheld
Mobile and ubiquitous computing
     →      Wireless LAN (WLAN)
Merupakan konektifitas untuk peratalan portable (laptop, PDA, mobile phone, video /  digital camera) dan WAP (Wireless Application Protocol).
  →      Home Intranet
Merupakan embedded devices untuk peralatan rumah (hi-fi, mesin cuci, lampu), serta Universal remote control dan peralatan komunikasi.
  
4.      World Wide Web (WWW)
Karakteristik dari WWW (World Wide Web) adalah resource sharing ke seluruh dunia melalui internet; berbasis pada teknologi, seperti HTML (Hypertext MarkUp Language), URL (Uniform Resource Locator), arsitektur client-server; serta open system (open standard, open document, open source) dapat diperluas dan diimplementasi ulang.
                              
  • Keuntungan dari Sistem Terorganisasi
    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, sistem 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.   
     
  • Permasalahan dari Sistem Terdistribusi
    Kelemahan pada sistem terdistribusi adalah :
    • Kesulitan dalam membangun perangkat lunak . Kesulitan yang akan dihadapi antara lain : bahasa pemrograman yang harus dipakai, sistem operasi, dan lain-lain.
    • Masalah Jaringan : Karena sistem terdistribusi di implementasikan dalam jaringan komputer, maka isu-isu 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 masalah-masalah yang berkaitan dengan keamanan data dan lain-lain.

  • Tantangan Sistem Terdistribusi 
Ada beberapa hal yang harus diperhatikan dalam membangun sistem terdistribusi, yaitu :
1.      Transparency (Kejelasan)
    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, file 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 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 konfigurasi terhadap perubahan beban.
2.     Communication (Komunikasi)
Komponen-komponen pada sistem terdistribusi harus melakukan komunikasi dalam suatu urutan, yaitu : Infrastruktur jaringan (interkoneksi dan software jaringan) serta 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.
3.    Performance and Scalability (Kinerja dan Ruang Lingkup)
Ada beberapa faktor yang mempengaruhi kinerja (performance) dari pada sistem terdistribusi, yaitu :
§ Kinerja dari pada personal workstations
§  Kecepatan infrastruktur komunikasi
§  Fleksibilitas dalam membagi beban kerja. 
  Contoh : apabila terdapat prosesor (workstation) yang idle maka dapat dialokasikan secara otomatis untuk mengerjakan tugas – tugas user.
§  Scalability : Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan secara signifikan 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.
4.     Heterogeneity (Keanekaragaman)
Aplikasi yang terdistribusi biasa berjalan dalam keberagaman, yaitu :
Ø  Hardware : mainframes, workstations, PC’s, server
Ø  Software : UNIX, MS Windows, IMB OS/2, LINUX
Ø  Devices : teller machine, robot, sistem manufacturing
Ø  Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP
Melihat keanekaragaman di atas maka salah satu solusi yang bisa di terapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi dan proses.
5.     Opennes (Keterbukaan)
Salah satu hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah opennes (keterbukaan) dan flexibility (fleksibilitas), seperti :
      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
6.      Reliability dan Fault Tolerance (Kehandalan dan Toleransi Kegagalan)
Salah satu tujuan dalam membangun sistem terdistribusi adalah memungkinkan 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 file tersebut disimpan pada secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya.

Fault Tolerance : Sistem harus bisa mendeteksi kegagalan dan melakukan 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.
7.        Security (Keamanan)
Ø  Confidentiality : 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.
  • Contoh Sistem Terdistribusi
    Contoh Sistem Terdistribusi yang terdapat dalam kehidupan sehari – hari adalah sistem ATM Bersama yang digunakan oleh beberapa bank nasional di indonesia. ATM Bersama adalah jaringan ATM pertama yang beroperasi di Indonesia, yang awalnya menghubungkan duapuluh satu bank di Indonesia. Jaringan ini didirikan oleh PT Artajasa Pembayaran Elektronis pada tahun 1993 dengan mengadopsi model dari MegaLink, jaringan ATM di Pilipina. Saat ini jaringan ATM Bersama memiliki 75 anggota.
    ATM Bersama menyediakan banyak fasilitas termasuk cek saldo, penarikan tunai dan pemindahan dana secara online seketika ke rekening lain dari sesama anggota jaringan ATM Bersama. Pada tahun 2004 Artajasa membuat jaringan ATM Bersama lintas perbatasan dengan menggandeng rekanan jaringan ATM MEPS di Malaysia untuk melayani pekerja-pekerja dari Indonesia, pelajar yang tinggal disana juga para wisatawan. Singapura dan Thailand juga sudah terhubung dengan jaringan ATM bersama melalui NETS dan ITMX.
    Sistem ini tergolong sistem terdistribusi karena ketika seorang nasabah sebuah bank (yang tergabung dalam jaringan ATM bersama) hendak melakukan transaksi pada sebuah gerai ATM namun gerai ATM bank yang digunakan tidak tersedia di daerah dimana nasabah itu berada atau tidak dapat digunakan, maka nasabah tersebut dapat menggunakan ATM yang tergabung dalam jaringan ATM bersama. ATM bersama bisa diidentifikasi dari gerai ATM yang terdapat logo ATM bersama. Selain pada gerai ATM, logo ATM bersama juga terdapat pada kartu ATM.

No comments:

Post a Comment