Professional Documents
Culture Documents
SISTEM TERDISTRIBUSI
RINGAKASAN MATERI PERTEMUAN 1 S/D 11
DISUSUN OLEH :
Depok
2014 / 2015
KATA PENGANTAR
Assalamualaikum warahmatullahi wabarakatuh. alhamdulillahirabbilalamin. Segala
puji bagi Allah yang telah menolong kami menyelesaikan Tugas Sistem Terdistribusi ini
dengan penuh kemudahan. Tanpa pertolongan NYA mungkin penulis tidak akan sanggup
menyelesaikan dengan baik. shalawat dan salam semoga terlimpah curahkan kepada
baginda tercinta yakni nabi Muhammad SAW.
Tugas Sistem Terdistribusi ini disusun agar pembaca dapat memperluas ilmu
tentang Tugas Sistem Terdistribusi, yang kami sajikan berdasarkan pengamatan dari
berbagai sumber. Tugas ini di susun oleh penyusun dengan berbagai rintangan. Baik itu
yang datang dari diri penyusun maupun yang datang dari luar. Namun dengan penuh
kesabaran
dan
terutama
pertolongan
dari
Tuhan
akhirnya
makalah
ini
dapat
terselesaikan.
Penyusun juga mengucapkan terima kasih kepada Dosen yang telah sudi kira nya memberi
ilmu dan bimbingan kepada penulis agar dapat mengerti tentang bagaimana cara kami
menyusun Tugas Sistem Terdistribusi.
Semoga tugas ini dapat memberikan wawasan yang lebih luas kepada pembaca.
Walaupun tugas ini memiliki kelebihan dan kekurangan. Penulis mohon untuk saran dan
kritiknya. Terima kasih.
penulis
Depok, 21 Januari 2015
ii
DAFTAR ISI
1.2.
1.3.
1.4.
BAB 2 ................................................................................................................................... 6
KOMUNIKASI ....................................................................................................................... 6
2.1.
Protocol .................................................................................................................. 6
2.2.
2.3.
2.4.
BAB 3 ................................................................................................................................... 8
PROSES ............................................................................................................................... 8
3.1.
Thread .................................................................................................................... 8
3.1.1.
3.1.2.
3.1.3.
3.2.
3.2.1.
3.2.2.
3.3.
Agent .................................................................................................................... 10
3.3.1.
3.3.2.
3.3.3.
BAB 4 ................................................................................................................................. 13
SISTEM OPERASI TERDISTRIBUSI .................................................................................. 13
4.1.
4.2.
4.3.
4.3.1.
4.3.2.
BAB 5 ................................................................................................................................. 19
FILE SERVICE.................................................................................................................... 19
5.1.
5.2.
5.3.
5.3.1.
BAB 6 ................................................................................................................................. 23
NAME SERVICE ................................................................................................................. 23
6.1.
6.1.1.
6.2.
6.2.1.
6.2.2.
6.2.3.
6.2.4.
BAB 7 ................................................................................................................................. 29
TIME & COORDINATION ................................................................................................... 29
7.1.
7.2.
7.3.
BAB 8 ................................................................................................................................. 34
SHARE DATA & TRANSACTION ....................................................................................... 34
8.1.
Shared Data.......................................................................................................... 34
8.2.
8.3.
Replication ............................................................................................................ 36
BAB 9 ................................................................................................................................. 38
DISTRIBUTED DATABASE MANAGEMENT ...................................................................... 38
9.1.
9.2.
BAB 10 ............................................................................................................................... 42
PARALLEL PROCESSING ................................................................................................. 42
10.1.
10.2.
10.3.
BAB 11 ............................................................................................................................... 49
SECURITY.......................................................................................................................... 49
11.1.
11.1.1.
11.1.2.
11.1.3.
11.1.4.
11.1.5.
11.1.6.
11.1.7.
11.1.8.
11.2.
11.2.1.
11.2.2.
11.2.3.
BAB 1
PENGENALAN SISTEM TERDISTRIBUSI
1.1.
terdistribusi merupakan sekumpulan elemen yang saling berhubungan satu dengan yang
lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik atau
menjalangkan sperangkat fungsi. Adapun terdistribusi berasal dari kata distribusi yang
merupakan lawan kata sentralisasi yang artinya penyebaran, sirkulasi, penyerahan,
pembagian menjadi bagian-bagian kecil.
terhubung ke internet melalui firewall juga adanya layanan internal dan eksternal
didalamnya.
b. Internet Jaringan global yang menghubungkan komputer satu sama lain dan dapat
berkomunikasi dengan media IP sebagai protokol.
c. World Wide Web Arsiteketur client/server terbuka yang diterapkan di atas infrastuktur
internet dan juga shared resources melalui URL.
d. Mobile dan sistem komputasi ubiguitos Sistem telepon Celullar (e.g. GSM) re.
Resources yang dishare : frekuensi radio, waktu transmisi dalam satu frekuensi,
bergerak, komputer laptop, ubiquitos computing, handheld devices, PDA, etc
e. Sistem terdistribusi multimedia biasanya digunakan pada infrastruktur internet karakteristik Sumber data yang heterogen dan memerlukan sinkronisasi secara real
time -video, audio, text Multicast
1.2.
sebuah
sistem
terdistribusi.
Salah
satu
contohnya
dalam
sebuah
web,
terdapat .htaccess yang hanya dapat diakses oleh user-user yang telah memiliki grant
access terhadap file tersebut.
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.
Transparency
Secara
umum,
transparansi
disini
tidak
berlaku
untuk
user
biasa
yang
1.3.
proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server.
Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data
dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal
komputer dan mengirim query ke sebuah server yang berjalan pada mainframe.
Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi
yang relatif sederhana karena pembagian fungsi yang baik dan karena server tersentralisasi.
Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai,
meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis
grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak userfriendly. perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara
keduanya yang berorientasi himpunan.
1. Model Multiple 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 frekwensi akses ke
server.
Proxy server membuat duplikasi beberapa server yang diakses oleh client
Caching:
Penyimpanan lokal untuk item yang sering diakses
Meningkatkan kinerja
Mengurangi beban pada server
3. Model Peer To Peer
yang
berpindah
dan
dijalankan
pada
pc
yang
berbeda
Contoh: Applet
5. Model Mobile Agent
Sebuah program yang berpindah dari satu komputer ke komputer yang lain
Melakukan perkerjaan otomatis
4
Contoh:
Untuk install dan pemeliharan software pada komputer sebuah organisasi
1.4.
Keheterogenan
Suatu sistem terdistribusi dpt dibangun dr berbagai n/w, o/s, h/w, & p/l yg berbeda.
IP
dpt
digunakan
untuk
mengatasi
perbedaan
jaringan.
Mendukung extensibility.-Setiap komponen memiliki antarmuka (interface), yang dipublish ke komponen lain.
Perlu integrasi berbagai komponen yang dibuat olehprogrammer atau vendor yang
berbeda.
Keamanan
Shared resources & transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
Cegah denial of service.-PS: Dibahas dalam kuliahCriptography & Information
Security.
Scalability
Penanganan Kegagalan
lain
harus
tetap
berjalan
dengan
baik.
Multiple
users
with
concurrent
requests
to
shared
resources.
BAB 2
KOMUNIKASI
2.1.
Protocol
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. Pada tingkatan yang terendah, protokol mendefinisikan koneksi
perangkat keras.
Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi
bagaimana membangun komputer atau menghubungkan peralatan perangkat keras.
Protokol secara umum digunakan pada komunikasi real-time dimana standar digunakan
untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang.
2.2.
kita untuk
mengakses
dapat melakukan
sebuah
ini
prosedur
sebuah
yang
server
berada
harus
di
komputer
lain.
menyediakan
Untuk
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 ke jaringan.
2.3.
dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang
hanya terhubung dengan server. User dari computer client ingin mencetak data dari
komputernya. Biasanya user memindah data dengan bantuan device external seperti disket,
6
flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih
efisien.
Solusi :
Dengan RPC, untuk mencetak data dari computer client, computer client
mengirim pesan cetak kepada computer server. Kemudian computer server menerima
perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server
mengirimkan pesan pada client berupa informasi file telah dicetak.
2.4.
Object Interface
Pengertian Interface adalah Himpunan operasi operasi yang menentukan perilaku
sebuah objek, biasanya digunakan apabila kita ingin menentukan apa saja yang harus
dillakukan oleh satu class tetapi tidak menentukan bagaimana cara untuk melakukannya.
Untuk memiliki class yang tidak berhubungan yang mengimplementasikan method yang
sama.
Contoh:
method perbandingan
isGreater
isles
isEqual
Untuk mengungkapkan sebuah interface pemrograman object tanpa
pernyataan class
Untuk model multi inheritance yang mengijinkan sebuah class untuk memiliki lebih dari
satu superclass.
Cara Membuat Interface
Untuk membuat interface, kita tulis,
-------------------------------------------------------public interface [InterfaceName]
{
//beberapa method tanpa isi
}
--------------------------------------------------------
BAB 3
PROSES
3.1.
Thread
Ada tiga pustaka thread yang sering digunakan saat ini, yaitu: POSIX Pthreads,
Java, dan Win32. Implementasi POSIX standard dapat dengan cara user level dan kernel
level, sedangkan Win32 adalah kernel level. Java API thread dapat diimplementasikan oleh
Pthreads atau Win32.
kongkurensi antara operasi-operasi yang terkait erat. Aplikasi jauh lebih efisien dikerjakan
sebagai sekumpulan thread disbanding sekumpulan proses.
3.2.
Client Server
3.3.
Agent
10
Hybrid Agent : Kita sudah mempunyai lima klasifikasi agent. Kemudian agent yang
memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita
sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
11
b) Internet Agent : Agent yang hidup dan bertugas dalam lingkungan jaringan Internet,
melakukan tugas memanage informasi yang ada di Internet.
c) Intranet Agent : Agent yang hidup dan bertugas dalam lingkungan jaringan Intranet,
melakukan tugas memanage informasi yang ada di Intranet.
Bahasa pemrograman yang dipakai untuk tahap implementasi dari software agent,
sangat menentukan keberhasilan dalam implementasi agent sesuai dengan yang
diharapkan.
Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak
untuk mengimplementasikan software agent adalah sebagai berikut :
Java
Telescript
Tcl/Tk, Safe-Tcl, Agent-Tcl
12
BAB 4
SISTEM OPERASI TERDISTRIBUSI
4.1. Fungsi Sistem Operasi
1. Sistem Operasi Sebagai Kordinator.
Dalam hal ini sistem operasi berfungsi untuk mengatur semua aktivitas yang
kompleks dari perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan agar
dapat berjalan sesuai dengan urutan yang benar. Selain mengatur semua aktivitas
perangkat lunak, sistem operasi juga bertugas mengatur/mengelola semua aktivitas yang
berhubungan dengan hardware, baik input device ataupun output device.
adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan
beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa
CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word
atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau
byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat penyimpanan
yang akses datanya digunakan oleh CPU atau perangkat I/O.
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil.
Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan
secondarystorage yang bersifat permanen dan mampu menampung banyak data. Contoh
dari secondarystorage adalah harddisk, disket, dll.
Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka,
membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk
membaca berkas pada hard-disk, CD-ROM dan floppy disk.
Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat
berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume,
dll.).
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya.
membedakan antara penggunaan yang sudah diberi izin dan yang belum.
adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor
mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan
komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya
sistem.
Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang
membaca instruksi dan mengartikan control statements umumnya disebut: control-card
14
keras
tersebutTugasnya
melayani
bermacam
program
aplikasi
untuk
mengakses perangkat keras komputer secara aman. Kernel berfungsi layaknya jembatan
yang menghubungkan antara software dan hardware pada komputer.
Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan
memungkinkan program lain untuk menjalankan dan menggunakan sumber daya koputer
tersebut. Untuk menjalankan aplikasi suatu kernel pertama kali harus menyediakan space
address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory,
mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan
kemudian baru memulai eksekusi program.
Process State
Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan.
Beberapa status tersebut ialah :
a. New : proses baru diciptakan
b. Running : proses sedang dijalankan
c. Waiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan.
15
I/O status information : berisi informasi tentang perangkat apa saja yang digunakan
dalam proses.
Accounting : berisi informasi tentang statistik eksekusi proses seperti waktu yang
diperlukan, jumlah proses, dll.
Perbedaan antara proses dengan thread tunggal dan proses dengan thread yang banyak
adalah proses dengan thread banyak dapat mengerjakan lebih dari satu tugas pada satu
satuan waktu.
Multithreading Models
a. Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke
sebuah thread. t
b. Model One-to-One.
setiap thread. dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris9.
c. Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke
thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna.
Penjadwalan Thread
Untuk menjadwalkan thread, sistem dengan model mulithreading many to many atau many
to one menggunakan :
a. Process Contention Scope (PCS). Pustaka thread menjadwalkan thread pengguna
untuk berjalan pada LWP (lightweight process) yang tersedia.
b. System Contention Scope (SCS). SCS berfungsi untuk memilih satu dari banyak
thread , kemudian menjadwalkannya ke satu thread tertentu(CPU / Kernel).
18
BAB 5
FILE SERVICE
File Sistem Terdistribusi ( Distributed File System , disingkat DFS ) adalah file sistem
yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di
sebuah network. File server pertama kali didevelop pada tahun 1970 dan Sun NFS (Network
File System) menjadi DFS pertama yang banyak digunakan setelah awal pemunculannya di
tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS
(Common Internet File System).
File Service
Directory Service
Naming Service
- Location Independence :
o
Modul Client
Menyediakan aplikasi untuk mengakses layanan file jarak jauh secara transparan.
Menyimpan status (state): open files, positions.
20
Protokol NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang
berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi
antara client dan server di dalam jaringan. Client NFS selanjutnya akan mengimpor sistem
berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal
kepada client.
Mesin-mesin yang menjalankan perangkat lunak NFS client
dapat saling
berhubungan dengan perangkat lunak NFS server untuk melakukan perintah operasi
tertentu dengan menggunakan request RPC. Adapun operasi-operasi yang didukung oleh
NFS adalah sebagai berikut:
a. Mencari berkas di dalam direktori.
b. Membaca kumpulan direktori.
c. Memanipulasi link dan direktori.
d. Mengakses atribut berkas.
e. Membaca dan menulis berkas.
Perlu diketahui bahwa server NFS bersifat stateless , yang artinya setiap request
harus mengandung argumen yang penuh dan jelas sebab server NFS tidak menyimpan
sejarah informasi request . Data yang dimodifikasi harus di commit ke server sebelum
hasilnya di kembalikan ke client . NFS protokol tidak menyediakan mekanisme concurrencycontrol.
Beberapa manfaat NFS diantaranya ialah
Lokal workstations menggunakan ruang disk lebih kecil
Pemakai tidak harus membagi direktori home pada setiap mesin di jaringan
Direktori home dapat di set up pada NFS server dan tersedia melalui jaringan
Device penyimpanan seperti floppy disk, CDROM drives, dll dapat digunakan oleh
mesin lainnya
Kerugian /Kelemahan NFS
Desain awal hanya untuk jaringan yang lokal dan tertutup
Security
Congestion (Traffic yang tinggi bisa menyebabkan akses lambat)
22
BAB 6
NAME SERVICE
6.1. Pengenalan Name Service
Dalam sistem terdistribusi, name service digunakan untuk menunjuk ke suatu
sesumber yang beragam dan tersebar seperti komputer, layanan (services), file, remote
object, use yang dapat memudahkan pengguna.
Contoh penamaan pada aplikasi sistem terdistribusi:
URL untuk mengakses suatu halaman web.
Alamat e-mail utk komunikasi antar pemakai.
Selain itu name service juga merupakan layanan penamaan yang berfungsi untuk
menyimpan naming context, yakni kumpulan binding nama dengan objek, tugasnya untuk
me-resolve nama. Kebutuhan akan penamaan juga memicu munculnya layanan penamaan
(Naming Services) yang menyediakan mekanisme dan struktur penamaan objek itu sendiri.
Contohnya DNS (Domain Name Service), X.500, COBRA, dan GNS.
6.1.1. Name Resolution, Binding, Attributes
Name resolution: Nama ditranslasikan ke data ttg resource/object tsb.
Binding: Asosiasi antara nama & obyek. Dan biasanya nama diikat (bound) ke
attributes dari suatu obyek.
Address: atribut kunci dari sebuah entitas dalam sistem terdistribusi
Attribute: nilai suatu object property.
Penguraian Naming Domains untuk mengakses resource dari URL
23
Didalam setiap name objek terdapat juga beberapa atribut yang merupakan properti suatu
objek. Contoh :
DNS : memetakan dari nama ke atribut alamat IP host
X.500 : memetakan suatu nama seseorang ke beberapa atribut, seperti email, telepon,
dsb.
CORBA Naming Service yang memetakan nama remote objek ke remote object
reference.
Agent tetap
memegang
kendali
proses
resolusi
sebuah
nama. Server
mengembalikan status resolusi dan alamat server yang harus dihubungi selanjutnya.
Agent bekerja lebih keras dari cara pertama, dan perlu sedikit pintar.
Transitive Navigation hampir sama dengan resolusi rekursif. Return address dari
agent diteruskan oleh server, sehingga jika informasi lokasi obyek ditemukan, informasi
tersebut langsung diteruskan ke agent. Kelebihan : berkurangnya pengiriman pesan,
server tidak perlu menyimpan status on going resolution. Kekurangan: pengirim tidak
menerima ACK.
2. Non-recursive and Recursive server-controlled navigation
26
Rekursif adalah aktifitas berpindah dari server ke server, shg nama selalu diresolve dalam konteks yang baru. Multiple servers transparan bagi name agent. Agent tidak
sibuk. Servers harus menyimpan return address untuk setiap outgoing lookup, dan secara
keseluruhan bekerja keras.
28
BAB 7
TIME & COORDINATION
7.1. Logical Clock & Syncronitation
Waktu adalah hal yang penting dalam sistem terdistribusi karena beberapa hal.
Pertama, waktu adalah satuan akurasi. Untuk mengetahui kapan suatu peristiwa terjadi,
dibutuhkan sinkronisasi clock pada sistem dan di luar sistem. Sebagai contoh, transaksi ecommerce terjadi di komputer pengguna dan komputer bank. Kejadian tersebut haruslah
dicatat waktunya secara akurat untuk keperluan audit. Kedua, algoritma mengenai
sinkronisasi clock memiliki beberapa masalah, antara lain mempertahankan konsistensi data
yang didistribusikan, otentikasi request yang dikirim ke server, dan menghapus proses yang
terduplikasi.
Clock (Jam)
Setiap komputer pasti memiliki clock fisik. Clock adalah alat elektronik yang
menghitung osilasi yang terjadi pada kristal pada frekuensi tertentu, dan
menyimpannya dalam counter register. Sistem operasi membaca clock fisik tersebut
dan menerjemahkannya ke software clock. Software clock tidak selalu akurat
sehingga pewaktuan hardware dan software memiliki perbedaan walaupun sangat
kecil. Namun, software clock tetap menjadi acuan pencatatan waktu setiap kejadian
proses. Kejadian yang terjadi setelah suatu kejadian akan tercatat di waktu yang
berbeda apabila resolusi clock (periode update software clock) lebih kecil daripada
interval waktu antar kejadian.
Pengurutan Event
30
2.
Mutual Exclusion
3.
Atomisitas
memecah menjadi beberapa sub-transaksi dan mendistribusikannya pada situssitus yg cocok utk dieksekusi
31
4.
Concurrency Control
5.
Penanganan Deadlock
Deadlock Prevention
Jika salah satu bisa dicegah maka deadlock pasti tidak terjadi
Deadlock Detection
6.
Algoritma Pemilihan
Algoritma Bully
election proses tersebut akan mengirim jawaban dan akan memulai proses terpilih tersebut,
kecuali telah mulai sebelumnya.
Algoritma Ring
Tujuan dari algoritma ini adalah untuk memilih sebuah proses tunggal yang disebut
koordinator, yang merupakan proses dengan identifier terbesar. Awalnya, setiap proses
ditandai sebagai non-peserta dalam pemilihan. Setiap proses bisa mulai pemilihan. Hal hasil
dengan menandai dirinya sebagai salah satu peserta, menempatkan para identifier dalam
pemilihan pesan dan mengirimkannya kepada tetangga searah jarum jam. Ketika sebuah
proses menerima pesan pemilihan, itu membandingkan pengenal dalam pesan dengan
sendiri. Jika identifier yang tiba lebih besar, maka meneruskan pesan 10 tetangganya. Jika
identifier yang tiba lebih kecil dan penerima bukan merupakan peserta maka pengganti
pengenal sendiri dalam pesan dan ke depan itu, tetapi tidak meneruskan pesan jika sudah
menjadi peserta. Pada pemilihan penerusan pesan dalam beberapa kasus, proses
menandai dirinya sebagai peserta.
Asynchronous
biasanya
dibuat
dari modular 'benda keras', masing-masing dengan komunikasi yang terdefinisi dengan
baik antarmuka. Ini modul dapat beroperasi pada kecepatan variabel, apakah karena
pengolahan data-dependent, skala tegangan dinamis , atau variasi proses . Modul kemudian
dapat digabungkan bersama-sama untuk membentuk suatu sistem kerja yang benar, tanpa
mengacu pada global sinyal clock . Biasanya, daya rendah diperoleh karena komponen
diaktifkan hanya pada permintaan. Selain itu, beberapa gaya asynchronous telah terbukti
untuk mengakomodasi antarmuka clock, dan dengan demikian mendukung desain
campuran-waktu. Oleh karena itu, sistem asynchronous cocok dengan baik kebutuhan yang
benar-by-konstruksi metodologi dalam perakitan sistem heterogen dan scalable skala besar.
33
BAB 8
SHARE DATA & TRANSACTION
8.1. Shared Data
Sharing adalah suatu fasilitas yang digunakan untuk membagi suatu file, perangkat
dan koneksi internet untuk digunakan secara bersama-sama dengan tujuan untuk
menghemat biaya dan perangkat. Sharing dapat dilakukan terhadap File Dokumen/Software
dalam drive atau folder,atau dalam CD-Rom, sharing perangkat: Printer dan CD-Room dan
sharing jaringan koneksi internet.
Untuk Melakukan Sharing ada beberapa hal yang harus diperhatikan diantaranya:
1. Jaringan sudah tekoneksi dengan baik
2. Protokol sharing file dan printer sudah terinstall
3. Setting Sharing dengan dengan benar.
Ada beberapa Sharing yang sering di jumpai diantaranya:
1. Sharing Data: Sharing File/Folder/Drive
2. Sharing Perangkat: CD/DVD ROM dan Sharing Printer
3. Sharing Internet/Sharing Koneksi Internet
Keuntungan Shared Data
1. Mengurangi biaya duplikasi usaha pengumpulan data
2. Aman-menjaga data dalam lingkungan yang aman
3. Back-up data
Kelemahan Shared Data
Kemudahan sharing file dalam jaringan yang ditujukan untuk dipakai oleh orangorang tertentu, seringkali mengakibatkan bocornya sharing folder dan dapat dibaca pula
oleh orang lain yang tidak berhak. Hal ini akan selalu terjadi apabila tidak diatur oleh
administrator jaringan.
Sementara data sharing salah satu basis ini menguntungkan, pengarsipan dataset
melalui organisasi yang berdedikasi adalah lebih baik.Pusat data memiliki infrastruktur
terpusat dan in-house semua aspek keahlian dalam menelan data, Kurasi, persiapan,
dokumentasi, penyimpanan, penyebaran, dukungan pengguna dan promosi.
Tujuan Shared Data
Sharing resources bertujuan agar seluruh program, peralatan atau peripheral lainnya
dapat dimanfaatkan oleh setiap orang yang ada pada jaringan komputer tanpa terpengaruh
oleh lokasi maupun pengaruh dari pemakai.
Manfaat Share Data
34
dengan harapan Server-Host melakukan apa yang pengirim Inginkan dalam hal ini ServerHost atau Client. Sebagai Contoh :
kepada Server Host B, Pengirim menginginkan sebuah data xxx agar di proses oleh
Server-Host B lalu memberikan informasi dsb ke pada Pengirim dalam hal ini ( Server
Host A atau Client ).
35
Pada contoh di atas tentu pengirim harus tahu kemana akan di kirim, yah itulah
butuhnya sebuah ip address, dengan ip adress tentu data yang kita kirim akan sampai ke
tujuan yang kita inginkan, pengiriman data dengan TCP/IP adalah baik, karena dengan
konsep protokol TCP/IP data yang kita kirim pasti sampai kepada tujuan yang tepat, keculi
memakai protokol UDP alias broadcast.
8.3. Replication
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan
objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi
antara database sehingga konsistensi data dapat terjamin. Dengan menggunakan teknik
replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal
maupun internet. Replikasi juga memungkinkan untuk mendukung kinerja aplikasi,
penyebaran data fisik sesuai dengan penggunaannya, seperti pemrosesan transaksi online
dan DSS (Desiscion Support System) atau pemrosessan database terdistribusi melalui
beberapa server.
Selain itu ada yang menyebutkan bahwa Replikasi adalah proses menyalin dan
memelihara objek database dalam beberapa database yang membentuk suatu sistem
database terdistribusi. Replikasi dapat meningkatkan kinerja dan melindungi ketersediaan
aplikasi karena data pilihan alternatif akses ada. Sebagai contoh, sebuah aplikasi biasanya
dapat mengakses database lokal daripada server jauh untuk meminimalkan lalu lintas
jaringan dan mencapai kinerja maksimum. Selanjutnya, aplikasi dapat terus berfungsi jika
server lokal mengalami kegagalan, tetapi server lain dengan data direplikasi tetap dapat
diakses.
Dengan replication dasar, replika data memberikan akses read-only ke tabel data
yang berasal dari sebuah situs (master) primer.Aplikasi dapat query data dari replika data
lokal untuk menghindari akses jaringan terlepas dari ketersediaan jaringan.Namun, aplikasi
di seluruh sistem harus mengakses data pada situs utama ketika pembaruan diperlukan.
Keuntungan replication tergantung dari jenis replikasi tetapi pada umumnya replikasi
mendukung ketersediaan data setiap waktu dan dimanapun diperlukan. Adapun keuntungan
lainnya adalah :
1. Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna
pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan
server yang terpisah dalam pembuatan aplikasi laporan.
2. Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis
database secara online, data smarts atau data warehouse.
36
3.
4. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan
aplikasi berbasis Web.
5. Meningkatkan kinerja pembacaan.
6. Membawa data mendekati lokasi individu atau kelompok pengguna. Hal ini akan
membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang
dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan
dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna.
Dibawah ini merupakan jenis-jenis Replication:
1. Snapshot replication : Mendistribusikan data yang dapat dilihat pada saat tertentu
tanpa melakukan update.
2. Merge replication : Merge replication memungkinkan pengguna bekerja dan merubah
data sesuai dengan wewenangnya. Pada saat server tidak dikoneksikan ke seluruh
lokasi dalam topologi, replikasi merubah ke nilai data yang sama.
3. Transactional Replication : Pengguna mendapatkan salinan lengkap dari database
awal dan kemudian mendapatkan update periodik sebagai perubahan data.
37
BAB 9
DISTRIBUTED DATABASE MANAGEMENT
9.1. Pengenalan Data Terdistribusi
Database terdistribusi adalah sebuah database yang diatur oleh sebuah Database
Management System (DBMS) yang tersimpan secara fisik pada beberapa komputer yang
terdapat pada beberapa lokasi dengan terkoneksi pada sebuah jaringan. jaringan tersebut
harus bisa menyediakan akses bagi user untuk melakukan sharing data. Terdapat dua
macam sifat dari database terdistribusi yaitu Heterogenous dan Homogenous. Homogenous
artinya suatu database terdistribusi dimana data di distribusikan pada beberapa komputer
dengan menggunakan DBMS(database management system) yang sama. DBMS digunakan
pada database terdistribusi untuk melakukan koordinasi data pada beberapa node.
Sedangkan Heterogenous adalah kebalikan dari Homogenous dimana data di sebarkan
dengan menggunakan DBMS yang berbeda.
Untuk menjaga agar basis data yang terdistribusi tetap up-to-date, ada dua proses
untuk menjaganya, yakni replikasi dan duplikasi. Dalam replikasi, digunakan suatu
perangkat lunak untuk mencari atau lebih tepatnya melacak perubahan yang terjadi di
satu basis data. Setelah perubahan dalam satu basis data teridentifikasi dan diketahui, baru
kemudian dilakukan perubahan agar semua basis data sama satu dengan yang lainnya.
Proses replikasi memakan waktu yang lama dan membebani komputer karena kompleksitas
prosesnya. Sementara itu, proses duplikasi tidak sama dan tidak sekompleks replikasi.
Dalam proses ini, satu basis data dijadikan master, kemudian diperbanyak menjadi sejumlah
duplikat. Selama proses duplikasi berlangsung, perubahan hanya boleh dilakukan pada
basis data master agar data lokal tidak tertimpa.
Konsep
1.
Database
terdistribusi
(Distributed
Database),
merupakan
sekumpulan
interrelasi(hubungan) secara logic dari data yang digunakan bersama (dan deskripsi data),
yang secara fisik terdistribusi melalui jaringan komputer.
2. DBMS Terdistribusi (Distributed DBMS),Merupakan sistem Software yang mengijinkan
pengaturan dari database terdistribusi dan membuat distribusi tersebut terbuka untuk para
pengguna/user.
3. DDBMS terdiri dari database yang secara logical tunggal dan dibagi menjadi beberapa
fragment (bagian). Masing-masing fragment disimpan pada satu atau lebih komputer.
4. DDBMS mempunyai beberapa karakter, diantaranya :
38
Peningkatan biaya penyimpanan per bit pada unit penyimpan yang sangat besar
lebih rendah dibandingkan pada penyimpan yang lebih kecil.
Beberapa masalah pada data yang terpisah secara geografis adalah masalah
integritas, kepemilikan, dan kemacetan (deadlock) ketika banyak processor mengupdate data yang sama.
Pengolahan data di masa depan merupakan perkembangan mesin komputer yang
pesat yang kebanyakan dihubungkan dengan jaringan telekomunikasi. Saat ini telah
banyak komputer dengan ukuran kecil dengan harga yang murah. Namun komputer
mini tidak akan menggantikan komputer besar, dengan alasan beberapa fungsi dan
data masih harus terpusat. Oleh karena itu maka tugas seorang perancang sistem
adalah untuk :
memutuskan distribusi mesin atau processor yang bagaimana yang paling baik.
Otonomi lokal
Memberikan tingkat otonomi lokal dalam komputasi kepada kelompok pemakai lokal.
39
Produktivitas Pemakai
Menyediakan teknik dan bahasa sehingga pemakai dapat memberi hasil yang
maksimum dalam menggunakan sistem komputer.
infrastruktur
bagi
kelompok
pemakai
untuk
mengembangkan
Dialog Terminal
Membuat terminal mudah digunakan dengan struktur dialog yang menghasilkan
intelegensia yang terdistribusi.
Ketersediaan (availability)
Menghindari
kegagalan
sistem
yang
dapat
dilihat
oleh
pemakai
dan
Audit
Menjamin peng-update-an record yang penting, seperti data keuangan, yang dapat
di audit dengan penuh.
Kemudahan pengubahan
Menyadari bahwa sistem terdistribusi akan berkembang dan berubah dengan
konstan, dan mendukung perubahan ini tanpa perusakan dan pengeluaran.
40
Proteksi
Program dan struktur data logik yang ada tidak perlu dikerjakan kembali ketika
perubahan sistem atau program lain dibuat.
Penyembunyian kerumitan
Sistem sedapat mungkin menyembunyikan kerumitan dari user.
41
BAB 10
PARALLEL PROCESSING
10.1. Konsep Parallel
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat
program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam
praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang
berbea-beda tanpa berkaitan di antaranya.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan
dengan memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan saat
kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah
besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka
jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak
komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang
biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar
node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel
untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor
tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari
pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal
yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak
pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
algoritma
bahasa pemrograman
compiler
Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang
mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer
dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan
komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih
yang disebut distributed processing software. Parallel processing berbeda dengan
42
B.
C.
D.
1.
Prosesor tunggal
Uni-processor
Keterangan:
CU
: Control Unit
IS
PU
DS
MU
43
2.
Berdasarkan Lock-step
Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang
berbeda
3.
4.
Kumpulan/sejumlah prosesor
Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan
pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User
mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host.
Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk
komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman
pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.
Salah aturan main yang penting dalam PVM adalah adanya mekanisme program
master dan slave/worker. Programmer harus membuat Kode master yang menjadi
koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil
proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan
proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran
dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi
paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada
satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan
menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan
program slave berada pada semua node.
Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses
ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang
berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing
komputer :
1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai
untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya
nama user riset pada komputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada.
Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.
2. Daftarkan IP masing-masing komputer pada file
/etc/hosts/hosts.allow dan
/etc/hosts/hosts.equiv.
3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui
konsole PVM. Bila IP tidak didefinisikan pada hostfile cara ini dapat digunakan.
Program PVM terdiri dari master dan slave, dimana program master dieksekusi
paling awal dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk
melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C
mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID
(Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa
rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain
disistem.
45
MPI
Message Passing Interface (MPI) adalah sebuah standard pemrograman yang
memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara
parallel dengan spesifikasi library pemrograman untuk meneruskan pesan (messagepassing), yang diajukan sebagai standar oleh berbagai komite dari vendor, pelaksana dan
Pemakai. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan.
Message Passing Interface bertugas untuk mengirim data antar komputer di dalam
sistem paralel (biasanya disebut sebagai node atau host). Job scheduler seperti yang
tersirat dari namanya bertugas menerima tugas dari user dan menjadwalkan tugas tersebut
pada beberapa node didalam sistem parallel sesuai kebutuhan.
MPI digunakan secara luas mengingat:
a. telah memiliki standar;
b. dirancang berkinerja tinggi pada mesin-mesin paralel;
c. tersedia secara bebas maupun komersial;
d. dikembangkan banyak pihak;
e. informasi penerapan dan pengujian dalam berbagai bahasa pemrograman dan sistem
telah tersedia.
digabungkan
dengan
dynamic
extension
dengan
cara
menghubungkan
bahasa
pemrograman tersebut dengan bahasa C, C++, atau FORTRAN. Hal ini telah dilakukan
untuk menciptakan toolbox MPI (MPITB) untuk kebutuhan MATLAB, dan bahasa
pemrograman GNU Octave oleh Fernandez Baldomero.
Penggunaan MPITB dengan pertimbangan fungsionalitas dan kelengkapannya
disamping fakta bahwa MPITB dan GNU Octave adalah bebas digunakan bahkan untuk
keperluan komersial.
Dalam pemodelan menggunakan message-passing, suatu proses (process) adalah
sebuah pencacah program dan ruang alamat. Proses dapat memiliki banyak thread
(pencacah program dan memory lokal) yang saling berbagi ruang alamat. MPI dalam hal ini
berfungsi sebagai alat komunikasi di antara proses, yang saling memiliki ruang terpisah.
Komunikasi ini terutama berupa sinkronisasi dan perpindahan data antar proses. Informasi
dari domain komunikasi seluruh proses disimpan di sebuah variabel yang disebut communcators, misalnya MPI_COMM_WOLRD yang mencakup keseluruhan proses. Paralelisme
dalam MPI bersifat Multiple Instruction Multiple Data (MIMD).
Pemrograman paralel menggunakan MPI bersifat eksplisit, yaitu ditentukan dalam
program secara jelas. Dalam melakukan komunikasi data antar proses, pembuat program
perlu menentukan mekanisme apa yang digunakan dari fungsi-fungsi yang tersedia.
Disediakan beberapa fungsi dasar untuk keperluan ini, yaitu MPI_Send (mengirim),
MPI_Recv (menerima), dan MPI_Sendrecv (mengirim dan menerima sekali-gus). Fungsifungsi ini masuk dalam kelompok ko-munikasi titik-ke-titik (point-to-point).
Komunikasi dalam MPI bersifat kooperatif, yaitu tiap-tiap proses saling bekerjasama.
Parameter data atau message dalam fungsi-fungsi komunikasi memiliki struktur dasar, yaitu:
-
Operasi dari fungsi-fungsi komunikasi titik-ke-titik memiliki 2 mode, yaitu blocking dan
non-blocking. Pada bentuk blocking maka proses akan menunggu operasi kirim dan terima
data selesai, sedangkan non- blocking menggunakan event untuk memberitahu proses
ketika terjadi kirim atau terima data. Dalam tiap mode adalah penting untuk menjaga agar
setiap proses yang berkomunikasi tidak mengalami deadlock, yaitu saling tunggu yang tidak
berkesudahan. MPI telah memiliki mekanisme agar deadlock tidak terjadi, tetapi dalam
47
kondisi tertentu ini tidak terhindarkan, misalnya ketika buffer tujuan penuh atau tidak
tersedia.
48
BAB 11
SECURITY
11.1. DEFINISI SECURITY
11.1.1. DEFINISI DARI SECURITY
Security (keamanan) secara umum adalah serangkaian langkah langkah untuk
menjamin privasi, integritas dan ketersediaan sumber daya seperti obyek, database, server,
proses, saluran, dan lain lain yang melibatkan perlindungan benda dan mengamankan
proses dan saluran komunikasi. Tujuan utamanya adalah untuk membatasi akses informasi
dan sumber hanya untuk pemakai yang memiliki hak akses.
Pada sistem terdistribusi juga membutuhkan keamanan (security) fungsinya untuk
melindungi dari kebocoran data (Kerahasiaan data), melindungi dari pengubahan dan
interfrensi (Integritas) mis. Data keuangan yang membutuhkan teknologi ekripsi dan
informasi identitas dan mempertahankan sistem tetap tersedia setiap saat dibutuhkan
(Ketersediaan).
Pada sistem terdistribusi ancaman keamanannya antara lain adalah kebocoran
(leakage) yaitu pengambilan informasi oleh penerima yang tidak berhak, pengubahan
(tampering) yaitu pengubahan informasi yang tidak legal, dan perusakan (vandalism) yaitu
gangguan operasi sistem tertentu misalnya Si pelaku tidak mengharap keuntungan apapun.
Serangan pada sistem terdistribudi tergantung pada pengaksesan ke saluran komunikasi
yang ada atau membuat saluran baru yang menyamarkan (masquerade) sebagai koneksi
legal.
Penyerangan pada system terdistribusi terbagi menjadi 2, yaitu:
- Penyerangan Pasive, Hanya mengamati komunikasi atau data
- Penyerangan Aktif, Secara aktif memodifikasi komunikasi atau data Pemalsuan
atau pengubahan Email
Metode penyerangannya adalah sebagai berikut :
- Eavesdropping, yaitu mandapatkan duplikasi pesan tanpa ijin
- Masquerading, yaitu mengirim atau menerima pesan menggunakan identitas lain
tanpa ijin mereka
- Message Tampering, yaitu mencegat atau menangkap pesan dan mengubah isinya
sebelum dilanjutkan ke penerima sebenarnya
- Replaying, yaitu menyimpan pesan yang ditangkap untuk pemakaian berikutnya
- Denial of servive, yaitu membanjiri saluran atau sumber lain dengan pesan yang
bertujuan untuk menggagalkan pengaksesan pemakai lain
49
Penyerangan tadi juga sering terjadi pada transaksi elektronik, maka dari itu
keamanan sangat dibutuhkan untuk banyak transsaksi e-commerce, banking, dan e-mail.
Transaksi elektronik dapat aman jika dilindungi dengan kebijakan dan mekanisme
keamanan, Misalnya pembeli harus dilindungi terhadap penyingkapan kode credit number
selama pengiriman dan juga terhadap penjual yang tidak bersedia mengirim barang setelah
menerima pembayaran. Vendor harus mendapatkan pembayaran sebelum barang dikirim,
sehingga perlu dapat memvalidasi calon pembeli sebelum member mereka hak akses.
Hal hal di atas akan akan berjalan baik jika dibangun perancangan system yang
aman yang bertujuan untuk mencegah semua serangan yang saat ini diketahui ataupun
yang akan datang. Adapula kriteria rancangan system keamanan yang buruk, yaitu:
Antarmuka dibuka
Pengirim dan penerima harus berbagi kunci dan tidak diberikan kepada orang lain.
-
Pengirim pesan menggunakan public key ( kunci yang dipublikasikan ke penerima ) untuk
mengenkrip pesan. Penerima menggunakan privat key yang cocok (miliknya) untuk
mendeskrip pesan.
11.1.3. ENKRIPSI DAN DEKRIPSI
-
Kunci yg panjang lebih sulit memecahkan algoritma, tapi juga lebih lama waktu
pemrosesannya
Masa berlaku
Checksum
Algoritma:
RC5
Prinsip kerja
-
Keuntungan
-
Mekanisme sederhana
Kelemahan
-
Keamanan kunci
Distribusi kunci
Kunci publik
Untuk enkripsi
Kunci privat
-
Untuk dekripsi
Bersifat rahasia
Keuntungan
-
Contoh algoritma
-
RSA (Rivest-Shamir-Adleman)
52
Elgamal
Diffie-Hellman
Keuntungan
-
mekanisme
keamanan
jaringan.
Rekomendasi
ITU-T
(X.800)
juga
mendefinisikan beberapa mekanisme keamanan jaringan. Berikut ini adalah beberapa jenis
mekanisme keamanan jaringan.
Encipherment (Penyandian)
menyediakan layanan
53
Keutuhan Data
Mekanisme keutuhan data digunakan untuk memastikan keutuhan data pada unit
data atau pada suatu aliran (stream) data unit. Cara yang digunakan adalah dengan
menambahkan nilai penguji (check value) pada data asli. Jadi ketika sebuah data
akan dikirim nilai penguji dihitung terlebih dahulu dan kemudian data dan penguji
dikirim bersamaan. Penerima dapat menguji apakah ada perubahan data atau tidak
dengan cara menghitung nilai penguji data yang terkirim dan membandingkan nilai
penguji yang dihitung dengan nilai penguji yang dikirim bersamaan dengan data asli.
Bila sama penerima dapat menyimpulkan data tidak berubah.
Digital Signature
dapat
memverifikasi
tanda
tangan
itu
secara
elektronik. Digital
Signature ditambahkan pada data unit dan digunakan sebagai bukti sumber pengirim
dan menghindari pemalsuan (forgery) tanda tangan.
Authentication Exchange
Mekanisme ini memberikan cara agar dua entitas dapat saling mengotentikasi
dengan cara bertukar pesan untuk saling membuktikan identitas.
Traffic Padding
Traffic Padding menyediakan cara untuk pencegahan analisis lalu lintas data pada
jaringan yaitu dengan menambah data palsu pada lalu lintas data.
Routing Control
Routing Control menyediakan cara untuk memilih dan secara terus menerus
mengubah alur (Route) pada jaringan computer antara pengirim dan penerima.
Mekanisme ini menghindarkan komunikasi dari penguping (eavedropper).
Notarisasi
Mekanisme kendali akses memberikan cara bagi pengguna untuk memperoleh hak
akses sebuah data. Misalnya dengan table relasi pengguna dan otoritasnya
(kemampuan aksesnya).
Sebelumnya kita telah membahas tentang . Maka pada gambar diatas telah
dijelaskan bahwa untuk mewujudkan sebuah layanan keamanan jaringan dibutuhkan
54
mekanisme yang tepat dan tidak semua mekanisme keamanan jaringan digunakan untuk
mewujudkan sebuah layanan keamanan jaringan. Misalnya Otentikasi diperlukan beberapa
mekanisme keamanan jaringan yaituencipherment, Digital Signature dan Authentication
Exchange. Ketika melakukan analisis kebutuhan terhadap keamanan jaringan, pengembang
harus cermat memilih layanan keamanan jaringan yang tepat untuk memenuhi kebutuhan
itu.
11.2.2. MEKANISME SECURITY
Mekanisme Security :
- Mengatur apa yang diijinkan dan tidak diijinkan dlm operasi normal
- Mengatur bgmn subyek dapat mengakses obyek
- Sering bersifat politis drpd teknis
- Harus mencerminkan proteksi thdp sistem secara seimbang, komprehen-sif, dan costeffective mekanisme pengamanan kebijakan keamanan - Proses: analisis ancaman
- Analisis ancaman: memperkirakan jenis ancaman dan potensi merusaknya
- Mekanisme pengamanan: implementasi kebijakan keamanan
- Kebijakan keamanan harus berfungsi dengan baik sekaligus mudah dipakai
- Dapat mencegah penyusup pada umumnya
- Mampu menarik pemakai untuk menggunakannya.
Karena sebuah sistem terdistribusi erat kaitannya dengan penggunaan jaringan,
tentunya hal tersebut menjadi sebuah masalah yang penting. Mengapa? Tentunya dalam
sebuah sistem terdistribusi dilakukan berbagi pakai data, dan kita tidak tahu seberapa
penting data tersebut dan kegunaannya bagi masing-masing pemakai.
Masalah tersebut dapat diatasi jika data dapat terjamin keamanannya, karena tujuan
utama dari adanya kemanan adalah untuk membatasi akses informasi untuk pemilik data
yang memiliki hak akses. Ancaman keamanan tersebut dapat berupa:
1. Kebocoran; adanya pengambilan informasi oleh pihak yang tidak berhak
2. Pengubahan informasi yang tidak legal/sah
3. Perusakan informasiSekarang bagaimana kita dapat melindungi transaksi dalam
suatu sistem terdistribusi?
1. Perancangan sistem yang aman.
Hal ini merupakan tujuan yang sulit, namun memiliki tujuan yang pasti, yaitu
mencegah semua serangan-serangan yang saat ini terjadi ataupun yang akan datang.
2. Adanya kebijakan dan mekanisme.
Kebijakan/layanan yang dimaksud adalah seperti: adanya aturan yang mengatur
pengaksesan dan berbagi pakai data dan apa saja prosedur yang diterapkan.Sedangkan
55
kebijakan tersebut akan dapat dijalankan dengan bantuan mekanisme yang dilakukan.
Maksudnya adalah prosedur bagaimana kebijakan tersebut dapat dilakukan. Misalnya: untuk
mengakses suatu dokuumen dikontrol dengan distribusi yang terbatas dan tersembunyi.
Kebijakan lebih kearah menspesifikasikan kebutuhan, dan mekanisme menerapkan
spesifikasi kebijakan yang dilakukan.
3. Menggunakan teknik keamanan.
Teknik keamanan yang dimaksud merupakan hal-hal teknis yang harus dilakukan
dalam implementasi pengamanan data. Antara lain:
a.
b.
Certificate;
oleh
dokumen
yang
berisi
pernyataan
yang
ditandatangani
pemegangnya.
Sistem yg dirancang untuk bersifat terbuka (mis: Internet) tidak ada batas fisik dan
kontrol terpusat perkembangan jaringan (internetworking) yang amat cepat.
Kebijakan keamanan
Mengatur apa yang diijinkan dan tidak diijinkan dlm operasi normal
Kerahasiaan
Integritas
Untuk menjamin terlaksananya sistem sekuriti yang baik, maka perlu dilakukan
tindakan yang menyeluruh. Baik secara preventif, detektif maupun reaktif.
57
1. Tindakan Preventif
Melakukan tindakan preventif atau juga lazin disebut dengan interdiction adalah lebih
baik dari pada menyembuhkan lobang sekuriti dalam sistem. Beberapa hal yang dapat
dilakukan untuk mencegah terjadinya security incidents antara lain adalah :
-
2. Tindakan Detektif
Dengan melakukan deteksi terhadap setiap akses maka tindakan yang tidak
diinginkan dapat dicegah sedini mungkin. Tindakan ini pada dasrnya meliputi kegiatan
intelligence dan threat assesment. Tindakan detektif meliputi :
-
Memasang Intrusion Detection System di dalam sistem internal. Pada sistem ini juga
dapat diterapkan teknik data-mining. Penerapan distributed intruder detection sangat
disarankan untuk sistem yang besar.
Memasang network scanner dan system scanner untuk mendeteksi adanya anomali
di dalam network atau sistem. Analasis jaringan secara real time, untuk mengetahui
kemungkinan serangan melalui packet-packet yang membebani secara berlebihan.
Pengumpulan informasi secara social engineering. Hal ini untuk mendengar issueissue tentang kelemahan sistem yang dikelola.
Perangkat monitor web dan newsgroup secara otomatis. Dapat juga dilakukan
proses monitoring pada channel IRC yang sering digunakan sebagai tempat tukarmenukar infomrasi kelemahan sistem.
Melakukan simulasi terhadap serangan dan beban sistem serta melakukan analisis
vulnerabilitas. Membuat laporan analisis kejadian sekuriti.
3. Tindakan Responsif
Jika alarm tanda bahaya berbunyi, sederetan tindakan responsif harus dilakukan
segera mungkin. Dalam kegiatan ini termasuk pemanfaatan teknik forensik digital.
58
Mekanisme ini dapat meresponse dan mengembalikan sistem pada state dimana security
incidents belum terjadi. Tindakan responsif meliputi :
-
Prosedur untuk melakukan forensik dan audit terhadap bukti security incidents.
Untuk informasi sensitif (misal log file, password file dan sebagainya), diterapkan
mekanisme two-person rule yaitu harus minimum 2 orang yang terpisah dan
berkualifikasi dapat melakukan perubahan.
59
DAFTAR PUSTAKA
http://radisatria30.blogspot.com/2014/03/definisi-contoh-model-sistem.html
https://ariesprayoga.wordpress.com/2014/03/11/karakteristik-sistem-terdistribusi/
https://ar4y4sh1k1.wordpress.com/2010/02/13/model-sistem-terdistribusi/
http://ulpiupie.blogspot.com/2012/03/permasalahan-sistem-terdistribusi.html
http://id.wikipedia.org/wiki/Protokol_(komputer)
http://alandalhaq.blogspot.com/2012/03/remote-procedure-call-rpc.html
http://iierham.blogspot.com/2013/03/contoh-studi-kasus-rpc_19.html
http://laras-kamisamma.blogspot.com/2013/03/object-interface-pengertian-interface.html
http://naeli.staff.gunadarma.ac.id/Downloads/files/8479/Proses.pdf
http://indraguna.staff.telkomuniversity.ac.id/wp-content/uploads/sites/17/2014/03/3.PROSES.pdf
http://iwan.staff.gunadarma.ac.id/Downloads/files/22155/4_Sistem+Operasi+Terdistribusi.pdf
http://ichsantcb.blogspot.com/2013/03/pengertian-dan-fungsi-kernel.html
https://fajarmuser.wordpress.com/2012/04/03/implementasi-thread-dan-multithread-server/
http://iwan.staff.gunadarma.ac.id/Downloads/files/22156/5_File+Service.pdf
http://naeli.staff.gunadarma.ac.id/Downloads/files/8590/File+Service.pdf
https://ku2harlis.wordpress.com/file-service/
http://te.ugm.ac.id/~risanuri/distributed/ringk/bab09.pdf
http://terra2803.blogspot.com/2013/04/logical-clock-and-synchronization.html
http://zackygundar.blogspot.com/2014/12/model-sinkronisasi-dan-asinkronisasi.html
http://kusdiglek.blogspot.com/2011/07/replication-data.html
http://ajiprihandana.blogspot.com/2014/12/fault-tolerance-transaction-skema-dari.html
http://kirtam.blogspot.com/2011/08/pengertian-sharing.html
https://miefthacutezz.wordpress.com/2013/04/20/sharing-data-antar-komputer/
http://kweedhbuzz.blogspot.com/2013/04/koordinasi-terdistribusi_24.html
http://johan-nesh.blogspot.com/2013/07/pengenalan-sistem-basis-data.html
http://saihot.blogspot.com/2012/02/pengenalan-dbms-terdistribusi-ddbms.html
http://arulsagita.blogspot.com/p/pengolahan-data-terdistribusi-pdt.html
https://catatanpilihan.wordpress.com/category/organisasi-dan-arsitektur-komputer/
https://staff.blog.ui.ac.id/herik/2008/07/02/pemrograman-paralel-dengan-parallel-virtualmachine-pvm/
http://tita-online.blogspot.com/2013/01/parallel-processing-pvm-mpi_4887.html
Andrew
S.
Tanenbaum,
Maarten
S., Distributed
Systems
Principles
&
Paradigms,http://www.cs.vu.nl/~ast/books/ds1/powerpoint.html
60
George Coulories, Jean Dollimore, Distributed Systems : Concepts & Design, 3th Edition,
Addison Wesley, http://www.cdk3.net/iq/
http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx,
Nicholas.
Petreley,
Security Report: Windows vs Linux, Security White Paper Reg Research, 2004.
R. Spangler, Analysis of the Microsoft Windows DCOM RPC Exploit, Packetwatch
Research, 2004.
AIX Version 4.3 Communication Programming Concepts, Remote Procedure Call Chapter 8,
Sun Microsystem.
www.mdp.ac.id/materi/2011.../SI407-051041-722-11.ppt
Budi
Susanto,
Pengantar
Sistem
Terdistribusi,
http://lecturer.ukdw.ac.id/budsus/sister/Modul1.pdf
WillySudiartoRaharjo, PengantarSistemTerdistribusi,http://lecturer.ukdw.ac.id/willysr/sister-ti/
Referensi : http://mahar.staff.umm.ac.id/2010/02/12/distributed-database-part-1/
61