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.
Local & remote resources dapat diakses dengan operasi yg sama.
b.
Location transparency :
Resource dapat diakses tanpa tahu di mana lokasinya.
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:
- Physical Layer
- Data Link
- Network
- Transport
- Session
- Presentation
- 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.
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
- Klien memanggil prosedur stub lokal. Prosedur Stub akan memberikan parameter dalam suatu paket yang akan dikirim ke jaringan. Proses ini disebut sebagai marshalling.
- Fungsi Network pada O/S (Operating system - Sistem Operasi) akan dipanggil oleh stub untuk mengirim suatu message.
- Kemudian Kernel ini akan mengirim message ke sistem remote. Kondisi ini dapat berupa connectionless atau connection-oriented.
- Stub pada sisi server akan melakukan proses unmarshals pada paket yang dikirim pada network.
- Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
- Jika eksekusi prosedur ini telah selesai, maka eksekusi diberikan kembali ke stub pada server.
- Stub server akan melakukan proses marshals lagi dan mengirimkan pesan nilai balikan (hasilnya) kembali ke jaringan.
- Pesan ini akan dikirim kembali ke klien.
- Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
- 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