TERDISTRIBUSI
Teknik Rekayasa Perangkat Lunak
2 (CDEF)
01. 02.
Tujuan Perkuliahan
Mahasiswa mampu memahami konsep sistem Terdiri dari 1 SKS teori dan 2 SKS Praktek.
terdistribusi, komunikasi data, dan proses dalam Perkuliahan dilaksanakan di Lab
merancang sistem informasi yang saling terintegrasi. menggunakan program JAVA dan addons
lainnya.
1-2 4 6
Internet Addressing Object Serialisasi Transimission
Control Protocol
3 5 7-9
Data Streams User datagram Multithread
Protocol Programming
12-13. 14-15.
Remote Method Kriptografi
Invocation
10-11. 16.
JADE Programming Setelah UAS Presentasi Hasil
01. 02.
Sistem Terdistribusi
Teknik Rekayasa Perangkat Lunak
2 (CDEF)
Data akan terus tumbuh dari internet: fb, insta, youtub dll
• Simpan
• Akses
• Share
• Proses
• Encrypt
• dll
Menyimpan dan memroses data scalable
• Suatu sistem dapat discalakan:
1. pertama, secara vertical(up)
dapat dicapai dengan upgrade hardware
2. secara horizontal (out)
dapat diperoleh dengan penambahan beberapa mesin
Alasan Sister Dibutuhkan
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
sistem secara keseluruhan
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
Contoh-contoh
Internet
Intranet
Sistem Terdistribusi Multimedia
Mobile dan Sistem Komputasi Ubiquitous
World Wide Web
Sistem Telepon
Network File System
Contoh-contoh
1. Internet, merupakan suatu bentuk jaringan global yang menghubungkan
komputer denga satu sama lainnya, yang dapat berkomunikasi dengan media
IP sebagai protokol.
Contoh-contoh
2. Intranet
● Jaringan yang teradministrasi secara lokal
● Terhubung ke internet (melalui firewall)
● Menyediakan layanan internal dan eksternal
Contoh-contoh
3. Sistem terdistribusi multimedia
Biasanya digunakan pada infrastruktur internet
Karakteristik
Sumber data yang heterogen dan memerlukan
sinkronisasi secara real time
Video, audio, text Multicast
Contoh:
- Teleteaching (RuangGuru-based, google classroom, etc.)
- Video-conferencing (zoom, google meet, etc.)
Contoh-contoh
4. Mobile dan sistem komputasi ubiquitous
Sistem telepon Cellular (e.g., GSM)
Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi,
bergerak
7. Network File System (NFS) seperti Arsitektur untuk mengakses sistem file
melalui jaringan.
Karakteristik
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
- E.g. Beberapa pemakai browser mengakses suatu halaman web secara bersamaan.
Model Sistem Terdistribusi
Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model),
yaitu :
1. Sistem client - server
2. Sistem point to point
3. Sistem terkluster
Permasalahan Sistem Terdistribusi
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain
berkaitan dengan :
• Software - bagaimana merancang dan mengatur software dalam Distribusi
Sistem
• Ketergantungan pada infrastruktur jaringan
• Kemudahan akses ke data yang di share, memunculkan masalah keamanan
• Jaringan ethernet
Sebagian besar digunakan dalam internet berkabel
• LAN Nirkabel (wireless)
• Terutama dirancang untuk menyediakan akses nirkable ke internet
• Rentang rendah (100m) bandwith tinggi
• Jaringan selular (2G/3G/4G)
Protokol
Protokol dapat diartikan sebagai sebuah aturan yang
mendefinisikan beberapa fungsi yang ada dalam sebuah
jaringan komputer, misalnya mengirim pesan, data,
informasi, dan fungsi lain yang harus dipenuhi oleh sisi
pengirim dan sisi penerima agar komunikasi dapat
berjalan/berlangsung dengan benar.
Penerapan Protokol
Penerapan protokol dapat diterapkan pada perangkat
keras (hardware), perangkat lunak (software), atau
kombinasi keduanya. Pada tingkatan yang terendah,
protokol mendefinisikan koneksi perangkat keras
Komponen Protokol
Berikut ini merupakan komponen protokol :
1. Aturan atau prosedur, yang berfungsi mengatur
pembentukan/pemutusan hubungan.
2. Format atau bentuk, yang berfungsi mengatur proses
transfer data representasi pesan.
3. Kosakata (vocabulary), yang memberi arti pada jenis
pesan dan makna masing-masing pesan.
Fungsi Protokol
Secara umum, fungsi dari protokol adalah untuk
menghubungkan sisi pengirim dan sisi penerima dalam
berkomunikasi serta bertukar informasi agar dapat
berjalan dengan baik dan benar.
Sedangkan fungsi lebih lanjutnya terdapat 6 fungsi,
diantaranya adalah :
1. Fragmentasi dan Reassembly
2. Encapsulation
3. Connection control
4. Flow Control
5. Error Control
6. Transmission Service
Fungsi Protokol
1. Fragmentasi dan Reassembly
Fungsi dari fragmentasi dan reassembly adalah membagi
informasi yang dikirim menjadi beberapa paket data pada
saat sisi pengirim mengirimkan informasi, dan setelah
diterima maka sisi penerima akan menggabungkan lagi
menjadi paket informasi yang lengkap.
2. Encapsulation
Fungsi dari encapsulation adalah melengkapi informasi
yang dikirimkan dengan address, kode-kode koneksi, dll.
Fungsi Protokol
3. Connection control
Fungsi dari connection control adalah membangun
hubungan (connection) komunikasi dari sisi pengirim dan
penerima, dimana dalam hal ini juga mengatur kegiatan
mengakhiri hubungan pengiriman data.
4. Flow Control
Berfungsi sebagai pengatur perjalanan data dari sisi
pengirim ke sisi penerima.
Fungsi Protokol
5. Error Control
Dalam pengiriman data, tak lepas dari kesalahan. Baik itu
dalam proses pengiriman atau penerimaan data. Fungsi
dari error control adalah mengontrol terjadinya kesalahan
yang terjadi pada waktu data dikirimkan.
6. Transmission Service
Fungsi dari transmission service adalah memberi
pelayanan komunikasi data khususnya yang berkaitan
dengan prioritas dan keamanan serta perlindungan data.
Susunan Protokol
Protokol jaringan disusun dalam bentuk lapisan-lapisan
(dalam hal ini biasa disebut layer). Hal ini dilakukan agar
dalam fungsi jaringan yang dibuat nantinya tidak menjadi
saling tumpang tindih dalam pengaturan.
Susunan dari layer menunjukkan tahapan dalam
melakukan komunikasi. Antara setiap layer yang
berdekatan terdapat sebuah interface (antarmuka).
Antarmuka menentukan layanan layer yang di bawah
kepada layer yang di atasnya.
Standarisasi Protokol
Dahulu, komunikasi antar komputer dari vendor yang
berbeda adalah sangat sulit dilakukan, karena mereka
mengunakan protokol dan format data yang berbeda-
beda. Sehingga 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 7 layer.
Tujuan OSI
Tujuan dibuatnya model referensi OSI ini adalah agar
menjadi rujukan untuk para vendor dan developer
sehingga produk atau software yang mereka buat dapat
bersifat interporate, yang berarti dapat bekerja sama
dengan sistem atau produk lainnya tanpa harus
melakukan upaya khusus dari si pengguna.
Model Layer OSI
Berikut tujuh (7) Layer pada Model OSI
7 Model Layer OSI
1. Physical Layer
Physical layer merupakan layer pertama atau yang
terendah dari model OSI. Layer ini bertanggung jawab
untuk mentransmisikan bit data digital dari physical layer
perangkat pengirim (sumber) menuju ke physical layer
perangkat penerima (tujuan) melalui media komunikasi
jaringan.
Pada physical layer data ditransmisikan menggunakan
jenis sinyal yang didukung oleh media fisik, seperti
tegangan listrik, kabel, frekuensi radio atau infrared
maupun cahaya biasa.
7 Model Layer OSI
2. Data Link Layer
Data link layer bertanggung jawab untuk memeriksa
kesalahan yang mungkin terjadi pada saat proses transmisi
data dan juga membungkus bit kedalam bentuk data
frame. Data link layer juga mengelola skema
pengalamatan fisik seperti alamat MAC pada suatu
jaringan. Data link layer merupakan salah satu layer OSI
yang cukup kompleks, oleh karena itu layer ini kemudian
dibagi lagi menjadi dua sublayer, yaitu layer Media Access
Control (MAC) dan Layer Logical Link Control (LLC).
7 Model Layer OSI
2. Data Link Layer
Layer Media Access Control (MAC) bertanggung jawab
untuk mengendalikan bagaimana sebuah perangkat pada
suatu jaringan memperoleh akses ke medium dan izin
untuk melakukan transmisi data. Layer Logical Link Control
(LLC) bertanggung jawab untuk mengidentifikasi dan
membungkus protokol network layer dan mengontrol
pemeriksaan kesalahan dan juga melakukan sinkronisasi
pada frame.
7 Model Layer OSI
3. Network Layer
Network layer bertanggung jawab untuk menetapkan jalur
yang akan digunakan untuk melakukan transfer data antar
perangkat di dalam suatu jaringan. Router jaringan
beroperasi pada layer ini, yang mana juga menjadi fungsi
utama pada layer network dalam hal melakukan routing.
Routing memungkinkan paket dipindahkan antar
komputer yang terhubung satu sama lain. Untuk
mendukung proses routing ini, network layer menyimpan
alamat logis seperti alamat IP untuk setiap perangkat
pada jaringan. Layer Network juga mengelola pemetaan
antara alamat logikal dan alamat fisik. Dalam jaringan IP,
pemetaan ini dilakukan melalui Address Resolution
Protocol
2020(ARP).
7 Model Layer OSI
4. Transport Layer
Transport layer bertanggung jawab untuk mengirimkan
pesan antara dua atau lebih host didalam jaringan.
Transport layer juga menangani pemecahan dan
penggabungan pesan dan juga mengontrol kehandalan
jalur koneksi yang diberikan. Protokol TCP merupakan
contoh yang paling sering digunakan pada transport layer.
7 Model Layer OSI
5. Session Layer
Session layer bertanggung jawab untuk mengendalikan
sesi koneksi dialog seperti menetapkan, mengelola dan
memutuskan koneksi antar komputer. Untuk dapat
membentuk sebuah sesi komunikasi, session layer
menggunakan sirkuit virtual yang dibuat oleh transport
layer.
7 Model Layer OSI
6. Presentation Layer
Presentation layer bertanggung jawab untuk
mendefinisikan sintaks yang digunakan host jaringan
untuk berkomunikasi. Presentation layer juga melakukan
proses enkripsi/ dekripsi informasi atau data sehingga
mampu digunakan pada lapisan aplikasi.
7 Model Layer OSI
7. Application Layer
Application layer merupakan lapisan paling atas dari
model OSI dan bertanggung jawab untuk menyediakan
sebuah interface antara protokol jaringan dengan aplikasi
yang ada pada komputer. Application layer menyediakan
layanan yang dibutuhkan oleh aplikasi, seperti
menyediakan sebuah interface untuk Simple Mail Transfer
Protocol (SMTP), telnet dan File Transfer Protocol (FTP).
Pada bagian sinilah dimana aplikasi saling terkait dengan
jaringan.
Model Layer OSI
Berikut ilustrasi cara kerja OSI Layer
Cara Kerja Layer OSI
Proses berjalannya data dari suatu host ke host lain pada
sebuah jaringan terbilang cukup panjang, semua data
tersebut harus melalui setiap layer dari OSI untuk dapat
sampai ke host tujuan. Contoh misalnya ketika anda akan
mengirimkan sebuah email ke komputer lain pada sebuah
jaringan komputer.
1) Proses yang terjadi pertama adalah pada application layer,
yaitu menyediakan program aplikasi email yang akan
digunakan untuk mengirim data ke komputer lain melalui
jaringan. Pada presentation layer email tersebut kemudian
dikonversi menjadi sebuah format jaringan. Kemudian pada
session layer akan dibentuk sebuah sesi perjalanan data
tersebut dari mulai dibentuk hingga selesainya proses
pengiriman.
Cara Kerja Layer OSI
Proses berjalannya data dari suatu host ke host lain pada
sebuah jaringan terbilang cukup panjang, semua data
tersebut harus melalui setiap layer dari OSI untuk dapat
sampai ke host tujuan. Contoh misalnya ketika anda akan
mengirimkan sebuah email ke komputer lain pada sebuah
jaringan komputer.
2) Pada transport layer data tersebut dipecah menjadi bagian-
bagian kecil lalu kemudian akan dikumpulkan kembali pada
transport layer si penerima. Pada network layer akan dibuatkan
sebuah alamat dan ditentukan jalan yang akan dilalui oleh data
tersebut untuk dapat sampai ke tujuan. Pada data link layer
data tersebut dibentuk menjadi sebuah frame dan alamat fisik
dari perangkat pengirim dan penerima akan di tetapkan.
Cara Kerja Layer OSI
Proses berjalannya data dari suatu host ke host lain pada
sebuah jaringan terbilang cukup panjang, semua data
tersebut harus melalui setiap layer dari OSI untuk dapat
sampai ke host tujuan. Contoh misalnya ketika anda akan
mengirimkan sebuah email ke komputer lain pada sebuah
jaringan komputer.
3) Kemudian pada layer terakhir physical layer mengirimkan
data tersebut melalui sebuah medium jaringan, menuju ke
lapisan transport si penerima. Lalu kemudian alur yang sama
terjadi pada komputer tujuan namun dimulai dari layer paling
bawah (physical layer) hingga ke layer paling atas (application
layer).
Client Server
Junaedi Adi Prasetyo
Advantages :
• Lebih mudah dikelola dan lebih mudah dimodifikasi
• Komunikasi lebih cepat
Disadvantages
• Dalam arsitektur two tier, performa server akan menurun
seiring dengan meningkatnya jumlah pengguna.
• Pembiayaan kurang efektif
Model Client Server
Arsitektur Three Tier
.
Model Client Server
Arsitektur Three Tier
Advantages :
1. High Performance
2. Scalability
3. Performance
4. High Degree of flexibility in deployment and
configuration
5. Better Re-Use
6. Improve Data Integrity
7. Improved Security
8. Easy to Maintain and Modification
9. Aplication Performance is Good
Model Client Server
Arsitektur Three Tier
Disadvantages
1. Increase Complexity
2. Increase Effort
Agent
Junaedi Adi Prasetyo
2. Platform Independence:
Seperti sudah dibahas pada bagian sebelumnya, bahwa
agent hidup dan berjalan di berbagai lingkungan. Sehingga
idealnya bahasa pemrograman yang dipakai untuk
implementasi adalah yang terlepas dari platform, atau
dengan kata lain program tersebut harus bisa dijalankan di
platform apapun (platform independence).
Karakteristik Bahasa Pemrograman
Agent
3. Communication Capability:
Pada saat berinteraksi dengan agent lain dalam suatu
lingkungan jaringan (network environment), diperlukan
kemampuan untuk melakukan komunikasi secara fisik.
Sehingga diperlukan bahasa pemrograman yang dapat
mensupport pemrograman yang berbasis network dan
komunikasi.
Karakteristik Bahasa Pemrograman
Agent
4. Security:
Faktor keamanan (security) adalah factor yang sangat
penting dalam memilih bahasa pemrorgaman untuk
implementasi software agent. Terutama untuk mobil agent,
diperlukan bahasa pemrograman yang mensupport level-
level keamanan yang bisa membuat agent bergerak
dengan aman.
5. Code Manipulation:
Beberapa aplikasi software agent memerlukan manipulasi
kode program secara runtime, sehingga diperlikan bahasa
pemrograman untuk software agent yang dapat menangani
masalah runtime tersebut.
Proses/Thread
Junaedi Adi Prasetyo