Selasa, 07 Oktober 2014

Komunikasi Sistem Terdistribusi


UNIVERSITAS GUNADARMA
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
SISTEM TERDISTRIBUSI
“Komunikasi Sistem Terdistribusi”
4KA12

Nama Kelompok
1.     Dwi Rejeki                                        12111260
2.     Fatih Audah Fawaz                         17111812
3.     Harry Gumilang Sarani                  13111245
4.     Runy Afina Putri                             16111498
5.     Widi Nur Astuti                               17111380
6.     Yuni Puspa Rahayu                         17111665

SISTEM INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS GUNADARMA
PTA 2014/2015


Sistem Terdistribusi

Sistem Terdistribusi
            Sistem Terdistribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan (message passing).
Contoh: Internet, intranet, mobile computing.
Infrastruktur utama sistem terdistribusi adalah jaringan, hardware -software dan pengguna yang terkait di dalamnya. Dalam sistem terdistribusi terdapat pembagian pekerjaan antara elemen yang satu dengan elemen yang lain. Sarana komunikasi antar elemen dijembatani dengan jaringan. Tata cara komunikasi antar elemen diatur dengan sebuah perjanjian sehingga terjadi komunikasi yang dapat dipahami antara masing masing elemen yang terlibat.

Keuntungan Sistem Terdistribusi

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

Kelemahan Sistem Terdistribusi
1.     Kesulitan dalam membangun perangkat lunak
Kesulitan yang akan dihadapi antara lain : bahasa pemrograman yang harus dipakai, dan sistem operasi.
2.      Masalah jaringan atau ketergantungan pada infrastruktur jaringan
3.      Masalah keamanan dikarenakan kemudahan akses data yang di share.

Karekteristik Sistem Terdistribusi
1.      No global clock
ü  Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing.
ü  Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing).
2.      . Independent failure
ü  Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui.
ü  Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan.
3.      Concurrency of components
ü  Beberapa pemakai browser mengakses suatu halaman web secara bersamaan.
 
Model Sistem Terdistribusi

1.      Model Arsitektur (Architectural Models)
Cara kerja antar komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi, seperti :
a.      Model client-server biasanya berbasiskan protocol request atau reply.
Contoh : Implementasi RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation). Client mengirimkan request berupa pesan ke server untuk mengakses suatu service. Kemudian server menerima pesan tersebut dan mengeksekusi request client dan mereply hasil ke client.

b.      Proxy Server
o   Menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain.
o    Dipakai untuk menyimpan hasil copy web resources.
o   Ketika client melakukan request keserver, proxy server diperiksa apakah yang diminta oleh client terdapat pada proxy server.

c.       Peer Process
o   Semua proses (object) mempunyai peranyang sama.
o   Proses berinteraksi tanpa adanya perbedaan antara client dan server.
o   Polakomunikasi yang digunakan berdasarkan aplikasi yang digunakan.
o   Merupakan model yang paling general dan fleksible.


2.      Model Interaksi (Interaction Models)
a.      SystemSynchronous Distributed
o   Batas atas dan batas bawah waktu pengeksekusian dapat diset.
o   Pesan yang dikirim, diterima dalam waktu yang sudah ditentukan.
o   Fluktuasi ukuran antara waktu local berada dalam suatu batasan

b.      Asynchronous Distributed
o   Tidak ada batasan dalam waktu pengkeksekusian.
o   Tidak ada batasan dalam delay transmission (penundaan pengiriman)
o   Tidak ada batasan terhadap fluktuasi waktu lokal.

3.      Model Kegagalan (Failure Models)
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 kegagalan yang mungkin terjadi.

Tantangan Sistem Terditribusi
1.      Keheterogenan (keanekaragaman)
  •    Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware dan programming language yang berbeda. 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.
  •        IP dapat digunakan untuk mengatasi perbedaan jaringan. 
  •        Middleware mengatasi perbedaan lainnya.  
2.      Keterbukaan (Opennes)
Hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah openness (keterbukaan) dan flexibility (fleksibilitas) :
  •       Setiap layanan (services) harus dapat diakses oleh semua user.
  •       Mudah dalam implementasi, install dan debug services.
  •     User  dapat membuat dan menginstall service yang telah dibuat oleh user tersebut.
3.      Keamanan (Security)
a.      Confidentiality : keamanan terhadap data yang diakses oleh user yang tidak diperbolehkan (unauthorizes user)
b.      Integrity : keamanan terhadap kelengkapan dan autentikasi data.
c.   Availability : Menjaga agar resource dapat selalu dia kses. Hal lain yang harus dijamin dalam sistem terdistribusi yaitu penggunaan resources yang tepat oleh user yang berlainan.

4.      Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan secara signifikan user atau sumber daya yang terhubung yaitu
a.       Cost (biaya) penambahan sumber daya (resources) harus reasonable.
b.      Penurunan kinerja (performance) di akibatkan oleh penambahan user atau sumber daya harus terkontrol.

5.      Penanganan Kegagalan (Failure Handling)
a.  Availability : kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.
b.      Komponen yang sangat vital (critical resources) berjumlah seminimal mungkin.
c.     Software dan Hardware harus direplikasi : kalau terjadi kegagalan atau error maka yang lain akan menangani.
d.    Data dalam sistem tidak boleh hilang. Copy file disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya.
6.      Komunikasi (Communication)
Komponen pada sistem terdistribusi harus melakukan komunikasi dalam suatu urutan sebagai berikut:
a.       Infrastruktur jaringan (interkoneksi dan software jaringan).
b.      Metode dan Model komunikasi yang cocok.
c.       Metode komunikasi : Send, Receive, Remote Procedure Call.
d.      Model Komunikasi : client -server communication, group multicast.

7.      Kejelasan (Transparency)
a.      Access transparency :
Local & remote resources dapat diakses dengan operasi yg sama.
b.      Location transparency :
Resource dapat diakses tanpa tahu di mana lokasinya.
c.       Concurrency transparency :
Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas?
d.      Replication transparency :
 Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
e.       Failure transparency :
Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
f.        Mobility transparency :
Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
g.      Performance transparency :
Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
h.      Scaling transparency :
Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

Komunikasi dalam Sistem Terdistribusi

Komunikasi adalah suatu proses penyampaian informasi (pesan, ide, gagasan) dari satu pihak kepada pihak lain. Pada umumnya, komunikasi dilakukan secara lisan atau verbal yang dapat dimengerti oleh kedua belah pihak.  Dimana proses komunikasi dapat dilakukan kepada orang, kelompok, organisasi dan masyarakat menciptakan, dan menggunakan informasi agar terhubung dengan lingkungan dan orang lain.Komunikasi memiliki komponen-komponen yang menjadikan komunikasi berjalan dengan baik, komponen tersebut yaitu:
  • Pengirim atau komunikator (sender) adalah pihak yang mengirimkan pesan kepada pihak lain.
  • Pesan (message) adalah isi atau maksud yang akan disampaikan oleh satu pihak kepada pihak lain.
  • Saluran (channel) adalah media dimana pesan disampaikan kepada komunikan. dalam komunikasi antar-pribadi (tatap muka) saluran dapat berupa udara yang mengalirkan getaran nada/suara.
  • Penerima atau komunikate (receiver) adalah pihak yang menerima pesan dari pihak lain
  • Umpan balik (feedback) adalah tanggapan dari penerimaan pesan atas isi pesan yang disampaikannya.
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan,komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya.
International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI) model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor-vendor yang berbeda. Model-OSI tersebut terbagi atas layer-layer, yaitu: 

  1. Physical Layer
  2. Data Link
  3. Network
  4. Transport
  5. Session
  6. Presentation
  7. Application. 
TCP/IP (Transmition Control Protocol/Internet Protocol)
TCP / IP adalah protocol yang digunakan di jaringan global karena memiliki sistem pengalamatan yang baik dan memiliki sistem pengecekan data.

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 matchmaker pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung kejaringan.

 Langkah-langkah dalam RPC

  1. Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
  2. Fungsi Network pada O/S (Operating system - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
  3. Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
  4. Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
  5. Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
  6. Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
  7. Stub server akan melakukan proses marshals lagi dan mengirimkan pesan nilai balikan (hasilnya) kembali ke jaringan.
  8. Pesan ini akan dikirim kembali ke klien.
  9. Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
  10. Proses unmarshalled kemudian dilakukan pada pesan ini dan nilai balikan akan diambil untuk kemudian diproses pada proses lokal. Proses tersebut akan dilakukan berulang-ulang (rekursif) dalam pengeksekusian RPC dalam suatu remote sistem.




Tidak ada komentar:

Posting Komentar