iv
BAB 11 ............................................................................................................................... 49
SECURITY.......................................................................................................................... 49
11.1. DEFINISI SECURITY ........................................................................................ 49
11.1.1. DEFINISI DARI SECURITY ........................................................................ 49
11.1.2. TEKNIK KEAMANAN ................................................................................. 50
11.1.3. ENKRIPSI DAN DEKRIPSI ........................................................................ 50
11.1.4. LAYANAN AUTENTIKASI .......................................................................... 51
11.1.5. TANDA TANGAN DIGITAL ........................................................................ 51
11.1.6. KRIPTOGRAFI KUNCI SIMETRIS ............................................................. 52
11.1.7. KRIPTOGRAFI KUNCI ASIMETRIS ........................................................... 52
11.1.8. KRIPTOGRAFI HIBRID .............................................................................. 53
11.2. MEKANISME DAN TEKNIK SECURITY ............................................................ 53
11.2.1. MEKANISME KEAMANAN ......................................................................... 53
11.2.2. MEKANISME SECURITY ........................................................................... 55
11.2.3. TEKNIK SECURITY ................................................................................... 56
DAFTAR PUSTAKA ............................................................................................................ 60
v
BAB 1
PENGENALAN SISTEM TERDISTRIBUSI
1
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
mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem yang terdistribusi
atau tidak. Namun secara khusus bagi seorang pengelola baik itu developer atau
administrator sistem sangat perlu untuk mengetahui arsitektur dari sistem yang sedang
2
digunakan karena untuk mempermudah bagi mereka dalam mengembangkan dan
memelihara sistem tersebut.
3
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
4
Contoh:
– Untuk install dan pemeliharan software pada komputer sebuah organisasi
5
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.
7
BAB 3
PROSES
3.1. Thread
3.1.1. Pengertian Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Thread merupakan unit dasar
dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack.
Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan
Thread lain yang dimiliki oleh proses yang sama.
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.
8
Mempercepat eksekusi program.
Pengorganisasian program menjadi lebih baik.
Manfaat utama banyak thread di satu proses adalah memaksimumkan derajat
kongkurensi antara operasi-operasi yang terkait erat. Aplikasi jauh lebih efisien dikerjakan
sebagai sekumpulan thread disbanding sekumpulan proses.
9
Gambar 3.4 Model Two-lier
e. Model Three-tier
Pada model ini disisipkan satu layer tambahan diantara user interface tier dan
database tier.
3.3. Agent
3.3.1. Pengertian Agent
Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang
memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software
agent nantinya disebut agent saja. Agent bisa memiliki ide sendiri mengenai bagaimana
menyelesaikan suatu pekerjaan tertentu atau agenda tersendiri. Agent yang tidak berpindah
ke host lain disebut stationary agent.
10
3.3.3. Klasifikasi Software Agent
1. Klasifikasi menurut Karakteristik yang Dimiliki
Menurut Nwana, agent bisa diklasifikasikan menjadi delapan berdasarkan pada
karakteristiknya.
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
13
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.
Manajemen Memori Utama
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.
Manajemen Penyimpanan Sekunder
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.
Manajemen Sistem I/O Sering disebut device manager.
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 operasi bertanggung-jawab : pembuatan dan penghapusan berkas,
pembuatan dan penghapusan direktori, mendukung manipulasi berkas dan direktori,
memetakan berkas ke secondary storage, mem-backup berkas ke media penyimpanan yang
permanen (non-volatile).
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus:
membedakan antara penggunaan yang sudah diberi izin dan yang belum.
Jaringan Sistem terdistribusi
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
interpreter, commandline interpreter, dan UNIX shell. Command-Interpreter System sangat
bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan
tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch),
dan lain-lain.
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
d. Ready : proses menunggu untuk dilayani processor
e. terminated : proses telah menyelesaikan eksekusi.
Multithreading Models
a. Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke
sebuah thread. t
b. Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke
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.
17
a. Asynchronous cancellation. Suatu thread seketika itu juga membatalkan target
thread.
b. Deferred cancellation. Suatu thread secara periodik memeriksa apakah ia harus
batal, cara ini memperbolehkan target thread untuk membatalkan dirinya secara
terurut.
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).
20
– Mengetahui lokasi jaringan dari flat file dan directory server.
5.3.1. Contoh File Service
Network File System (NFS) merupakan sebuah protokol yang dikembangkan oleh
Sun Microsystem pada tahun 1984 dan NFS didefinisikan dalam RFC 1094, 1813 dan 3530
sebagai DFS yang mengijikan sebuah komputer untuk mengakses file melalui network
serasa akses file di disk local. NFS merupakan protokol yang sangat mendukung dalam
pengaplikasian suatu file system yang terdistribusi.
21
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 concurrency-
control.
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
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.
24
Contoh BNF untuk email
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
3. Recursive Server Controlled
Rekursif adalah aktifitas berpindah dari server ke server, shg nama selalu di-
resolve 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.
29
adalah standar internasional untuk penjagaan waktu (timekeeping). Sinyal UTC
disiarkan dari stasiun radio dan satelit ke seluruh dunia. Komputer dengan penerima
sinyal di seluruh dunia dapat mensinkronkan clocknya dengan sinyal ini.
Sinkronasi Clock Fisik
Untuk mengetahui kapan sebuah peristiwa terjadi secara akurat pada proses system
terdistribusi, diperlukan sinkronisasi dengan sumber waktu dari luar, yang disebut
sinkronisasi eksternal (external synchronization). Dan jika satu clock tersinkronisasi
dengan clock yang lain dengan derajat akurasi yang diketahui, maka kita bisa
mengukur interval terjadinya dua peristiwa pada komputer yang berbeda, walaupun
tidak tersinkronisasi ke sumber waktu dari luar. Hal ini disebut sinkronisasi internal
(internal synchronization).
Beberapa gagasan pengkoreksian (correctness) untuk clock sudah pernah diajukan.
Hardware clock H selalu dikoreksi apabila drift-nya sudah mencapai angka tertentu
(ρ > 0). Jadi, galat (error) perhitungan interval antara waktu sebenarnya t dan t’ (t >
t’) adalah:
(1 - ρ)(t' - t) ≤ H(t') - H(t) ≤ (1 + ρ)(t' -t)
Clock yang tidak menerima pengkoreksian apapun dinyatakan faulty. Clock
dinyatakan crash failure ketika berhenti berdetik sama sekali. Kegagalan clock
lainnya adalah arbitrary failure. Contoh arbitrary failure adalah ‘Y2K bug’ yang terjadi
pada pergantian tahun 1999 ke 2000. Setelah 31 Desember 1999 dilanjutkan ke 1
Januari 1900. Catatan: clock tidak harus akurat untuk menjadi benar.
30
2. Mutual Exclusion
a. Pendekatan Tersentralisasi (Centralized)
• Salah satu proses dipilih sebagai koordinator utk mengatur entri ke CS
• Menggunakan pesan request-reply-release untuk masuk ke CS
• (+): menjamin mutex, dpt menjamin fairness (no starvation)
• (--): jika koordinator gagal → perlu dipilih kembali
3. Atomisitas
Tiap situs memiliki koordinator transaksi yg berfungsi menjamin atomisitas eksekusi
transaksi, dengan cara:
memulai eksekusi transaksi
memecah menjadi beberapa sub-transaksi dan mendistribusikannya pada situs-
situs yg cocok utk dieksekusi
mengkoordinasikan terminasi transaksi (commit, atau abort)
Tiap situs menyimpan log untuk tujuan recovery
31
4. Concurrency Control
Manajer transaksi berfungsi mengelola eksekusi transaksi yg mengakses data
Menyimpan log untuk tujuan recovery
Berpartisipasi dalam skema kontrol-konkurensi untuk mengkoordinasi eksekusi
transaksi
5. Penanganan Deadlock
♦ Deadlock Prevention
· Pencegahan: Faktor-faktor penyebab deadlock yang harus dicegah untuk terjadi
· 4 faktor yang harus dipenuhi untuk terjadi deadlock:
· Mutual Exclusion: pemakaian resources.
· Hold and Wait: cara menggunakan resources.
· No preemption resource: otoritas/hak.
· Circular wait: kondisi saling menunggu.
· Jika salah satu bisa dicegah maka deadlock pasti tidak terjadi
♦ Deadlock Detection
· Mencegah dan menghidari dari deadlock sulit dilakukan:
· Kurang efisien dan utilitas sistim
· Sulit diterapkan: tidak praktis, boros resources
· Mengizinkan sistim untuk masuk ke “state deadlock”
· Gunakan algoritma deteksi (jika terjadi deadlock)
· Skema recovery untuk mengembalikan ke “safe state”
6. Algoritma Pemilihan
· Algoritma Bully
Adalah (Gracia-Moliana 1982) algoritma yang mengijinkan proses mengalami crash
pada saat terjadi pemilihan (election), meskipun pengiriman pesan antar proses
adalah reliable.
Ada tiga tipe pada algoritma ini, yaitu:
1. election message : digunakan untuk pemberitahuan akan adanya pemilihan
2. answer message : merupakan jawaban dari election message
3. coordinator message : digunakan untuk memberitahukan identitas dari proses
pemilihan
Sebuah proses dimulai dengan pemilihan ketika telah diperintahkan, melewati
timeout, saat coordinator gagal. Ketika sebuah proses menerima pesan coordinator proses
tersebut akan menset variabelnya menjadi elected. Jika sebuah proses menerima proses
32
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.
33
BAB 8
SHARE DATA & TRANSACTION
34
Walaupun perangkat sekarang sudah memiliki kemampuan yang cepat dalam
proses-proses komputasi, atau misal mengakses data, tetapi pengguna masih saja
menginginkan ssitem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan
yang diinginkan user dapat di atasi dengan menggabung perangkat yang ada dengan
sistem.
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. Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan meng-copy
data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat
database baru pada saat terkoneksi.
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
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
a) Kumpulan dari data yangdigunakan bersama, yang berhubungan secara logic.
b) Data dipecah - pecah menjadi sejumlah fragmen.
c) Fragmen dapat direplikasi.
d) Fragmen/replikanya dapat dialokasikan/ditempatkan ke suatu site(tempat).
e) Tempat - tempat (site) dihubungkan oleh jaringan komunikasi.
f) Data yang terdapat pada setiap site berada dibawah kontrol/pengawasan dari
DBMS.
g) DBMS yang terdapat pada setiap site dapat mengatur aplikasi - aplikasi lokal
secara autonom.
h) Setiap DBMS berpartisipasi paling sedikit dalam sebuah aplikasi global.
39
Mengijinkan pengoperasian pengolahan data yang terdistribusi yang ditingkatkan
dengan pelayanan dan database yang terpusat, dengan berbagai tingkat kontrol
yang terpusat.
Produktivitas Pemakai
Menyediakan teknik dan bahasa sehingga pemakai dapat memberi hasil yang
maksimum dalam menggunakan sistem komputer.
Pengembangan aplikasi oleh kelompok pemakai
Menyediakan infrastruktur bagi kelompok pemakai untuk mengembangkan
aplikasinya secara mudah dan fleksibel dengan pengontrolan untuk mencegah
masalah kompabilitas.
Dialog Terminal
Membuat terminal mudah digunakan dengan struktur dialog yang menghasilkan
intelegensia yang terdistribusi.
Akses untuk sumber daya dan data yang jaraknya jauh
Memudahkan user lokal untuk mengakses berbagai sumber daya yang berguna dari
lokasi yang berbeda, termasuk program dan data.
Jarak menjadi tidak nyata
Membuat jarak menjadi tidak nyata dengan menggunakan jaringan yang sesuai
rancangannya.
Ketersediaan (availability)
Menghindari kegagalan sistem yang dapat dilihat oleh pemakai dan
memaksimumkan ketersediaan interface sistem bagi pemakai.
Privacy dan Keamanan
Mencegah pengaksesan data dan sumber daya tanpa ijin dan melindungi data dari
kegagalan maupun tindak kejahatan.
Audit
Menjamin peng-update-an record yang penting, seperti data keuangan, yang dapat
di audit dengan penuh.
Ketepatan dan Konsistensi
Menggunakan kontrol ketepatan pada semua input, dan mencegah terjadinya
banyak versi dari data yang sama yang tersedia bagi pemakai dalam tingkat peng-
update-an yang berbeda.
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
42
multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel
processing disebut juga parallel computing.
Keterangan:
CU : Control Unit
IS : Instruction Stream (Arus Instruksi)
PU : Processing Unit (Unit Pengolah yang biasa disebut ALU)
DS : Data Stream (Arus Data)
MU : Memory Unit (Unit Memori)
43
2. Single Instruction, Multiple Data Stream – SIMD
Single machine instruction
Mengontrol eksekusi secara simultan
sejumlah elemen-elemen pengolahan
Berdasarkan Lock-step
Setiap pengolahan elemen memiliki hubungan dengan memori data
Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang
berbeda
Prosesor Vector and array
44
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 (message-
passing), 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.
47
kondisi tertentu ini tidak terhindarkan, misalnya ketika buffer tujuan penuh atau tidak
tersedia.
48
BAB 11
SECURITY
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
· Jaringan tidak aman
· Membatasi waktu dan ruang lingkup setiap kunci rahasia
· Algoritma dan kode program tersedia bagi penyerang
· Penyerang memiliki akses ke sumber
· Meminimalkan computer yang menjadi inti implementasi sistem
50
- Keamanan data terenkripsi tergantung pada
algoritma kriptografi: seberapa besar usaha yg hrs dikeluarkan untuk menguraikan
ciphertext
kunci: seberapa jauh kerahasiaan kunci dapat dijaga
Kunci yg panjang ® lebih sulit memecahkan algoritma, tapi juga lebih lama waktu
pemrosesannya
53
Steganografi merupakan kumpulan teknik untuk menyembunyikan pesan pada
media lain, misalnya pada gambar, suara, atau video.
· 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
Digital Signature merupakan mekanisme keamanan jaringan yang menyediakan cara
bagi pengirim data untuk “menandatangani” secara elektronik sebuah data dan
penerima 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
Notarisasi (notarization) menyediakan cara untuk memilih pihak ketiga yang
terpercaya sebagai pengendali komunikasi antara pengirim dan penerima.
· Mekanisme kendali akses
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.
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. Enkripsi; pengkodean pesan untuk menyembunyikan isi.
b. Certificate; dokumen yang berisi pernyataan yang ditandatangani
oleh pemegangnya.
56
- Adanya peningkatan kesadaran terhadap masalah keamanan.
- Adanya pendidikan bagi pengguna umum. Adanya pelatihan bagi personil teknis
(administrator sistem dan jaringan, CIO, CTO).
Mengapa sistem informasi rentan terhadap gangguan keamanan
- Sistem yg dirancang untuk bersifat “terbuka” (mis: Internet) tidak ada batas fisik dan
kontrol terpusat perkembangan jaringan (internetworking) yang amat cepat.
- Sikap dan pandangan pemakai aspek keamanan belum banyak dimengerti
menempatkan keamanan sistem pada prioritas rendah tidak ada solusi yang
komprehensif
Relevansi keamanan sistem informasi obyek kepemilikan yang harus dijaga®o
Informasi sebagai komoditi ekonomi membawa beragam®o Informasi menciptakan
“dunia” baru (mis: Internet) Komunikasi digital (e-mail, e-news, …) dinamika dari
dunia nyata Aktifitas digital (e-commerce, e-learning, …) Konflik digital (cyber war,
…) Konsep-konsep Keamanan
Kebijakan keamanan
- Mengatur apa yang diijinkan dan tidak diijinkan dlm operasi normal
- Mengatur bgmn subyek dapat mengakses obyek
- Sering bersifat “politis” daripada teknis
- Harus mencerminkan proteksi terhadap sistem secara seimbang, komprehen-sif, dan
cost-effective mekanisme pengamanan® kebijakan keamanan ®o 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
mengguna-kannya Aspek-aspek dalam Masalah Keamanan
Kerahasiaan
- Melindungi obyek informasi dari pelepasan (release) yg tidak sah
- Melindungi obyek resource dari akses yg tidak sah
Integritas
- Menjaga obyek agar tetap dapat dipercaya (trustworthy)
- Melindungi obyek dari modifikasi yang tidak sah
- Untuk menjamin terlaksananya sistem sekuriti yang baik, maka perlu dilakukan
tindakan yang menyeluruh. Baik secara preventif, detektif maupun reaktif.
- Tindakan tersebut dijabarkan sebagai berikut.
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 :
- Membentuk dan menerapkan security policy yang tepat
- Menanamkan pemahaman sekuriti kepada seluruh pengguna
- Mendefinisikan proses otentikasi
- Mendefinisikan aturan-aturan pada firewall dan akses kontrol
- Pelatihan dan penerapan hukum bagi terjadinya pelanggaran sekuriti
- Disain jaringan dan protokol yang aman
- Deteksi kemungkinan terjadinya vulnerability dan dilakukannya perbaikan sebelum
timbul kejadian.
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.
- Memasang content screening system dan antivirus software.
- Memasang audit program untuk menganalisa semua log
- Pengumpulan informasi secara social engineering. Hal ini untuk mendengar issue-
issue 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 tukar-
menukar infomrasi kelemahan sistem.
- Membentuk tim khusus untuk menangani kejadian sekuriti
- Melakukan simulasi terhadap serangan dan beban sistem serta melakukan analisis
vulnerabilitas. Membuat laporan analisis kejadian sekuriti.
- Melakukan pelaporan dengan cara mencari korelasi kejadian secara otomatis
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 standar dalam menghadapi security incidents.
- Mekanisme respon yang cepat ketika terjadi incidents
- Disaster Recovery Plan (DRP), termasuk juga dilakukannya proses auditing.
- 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.
- Prosedur hukum jika security incidents menimbulkan adanya konflik/dispute
- Penjejakan paket ke arah jaringan di atas (upstream).
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-virtual-
machine-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