You are on page 1of 66

UNIVERSITAS GUNADARMA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

SISTEM TERDISTRIBUSI
RINGAKASAN MATERI PERTEMUAN 1 S/D 11
DISUSUN OLEH :

DWI ARDIANTI / 12111225


FATIMAH ZAHRAH / 12111732
M. YUSUP / 15111014
PRAMESWARI HANDAYANI / 15111550
RIAN ARIZTIAN / 16111094
SINGGIH MULYANI / 16111774

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

LEMBAR COVER .................................................................................................................. i


KATA PENGANTAR ..............................................................................................................ii
DAFTAR ISI .......................................................................................................................... iii
BAB 1 ................................................................................................................................... 1
PENGENALAN SISTEM TERDISTRIBUSI ........................................................................... 1
1.1.

Definisi dan contoh Sistem Terdistribusi ................................................................. 1

1.2.

Karakteristik Sistem Terdistribusi ............................................................................ 1

1.3.

Model Sistem Terdistribusi ..................................................................................... 3

1.4.

Permasalahan Sistem Terdistribusi ......................................................................... 5

BAB 2 ................................................................................................................................... 6
KOMUNIKASI ....................................................................................................................... 6
2.1.

Protocol .................................................................................................................. 6

2.2.

RPC (Remote Procedure Call) ................................................................................ 6

2.3.

Studi kasus RPC ..................................................................................................... 6

2.4.

Object Interface ...................................................................................................... 7

BAB 3 ................................................................................................................................... 8
PROSES ............................................................................................................................... 8
3.1.

Thread .................................................................................................................... 8

3.1.1.

Pengertian Thread ........................................................................................... 8

3.1.2.

Pustaka Thread ............................................................................................... 8

3.1.3.

Implementasi Threads Pada User-Space......................................................... 8

3.2.

Client Server ........................................................................................................ 9

3.2.1.

Pengertian Client Server .................................................................................. 9

3.2.2.

Model Client-Server ......................................................................................... 9

3.3.

Agent .................................................................................................................... 10

3.3.1.

Pengertian Agent ........................................................................................... 10

3.3.2.

Karakteristik Agent ......................................................................................... 10

3.3.3.

Klasifikasi Software Agent.............................................................................. 11

BAB 4 ................................................................................................................................. 13
SISTEM OPERASI TERDISTRIBUSI .................................................................................. 13
4.1.

Fungsi Sistem Operasi .......................................................................................... 13

4.2.

Komponen Inti Sistem Operasi ............................................................................. 13

4.3.

Proses dan Thread ............................................................................................... 15


iii

4.3.1.

Konsep Dasar Proses Dalam Sistem Operasi ................................................ 15

4.3.2.

Konsep Dasar Thread Dalam Sistem Operasi................................................ 16

BAB 5 ................................................................................................................................. 19
FILE SERVICE.................................................................................................................... 19
5.1.

Pengenalan File Service ....................................................................................... 19

5.2.

Komponen File service ......................................................................................... 20

5.3.

Arsitektur File Service ........................................................................................... 20

5.3.1.

Contoh File Service........................................................................................ 21

BAB 6 ................................................................................................................................. 23
NAME SERVICE ................................................................................................................. 23
6.1.

Pengenalan Name Service ................................................................................... 23

6.1.1.
6.2.

Name Resolution, Binding, Attributes ............................................................. 23

Model Name Service and the Domain Name System ............................................ 24

6.2.1.

Name Space .................................................................................................. 24

6.2.2.

Name Resolution ........................................................................................... 25

6.2.3.

Name servers and navigation ........................................................................ 26

6.2.4.

Domain Name System ................................................................................... 27

BAB 7 ................................................................................................................................. 29
TIME & COORDINATION ................................................................................................... 29
7.1.

Logical Clock & Syncronitation .............................................................................. 29

7.2.

Koordinasi Terdistribusi ........................................................................................ 30

7.3.

Model sinkronisasi & Asinkronisasi ....................................................................... 33

BAB 8 ................................................................................................................................. 34
SHARE DATA & TRANSACTION ....................................................................................... 34
8.1.

Shared Data.......................................................................................................... 34

8.2.

Fault Tolerance & Transaction .............................................................................. 35

8.3.

Replication ............................................................................................................ 36

BAB 9 ................................................................................................................................. 38
DISTRIBUTED DATABASE MANAGEMENT ...................................................................... 38
9.1.

Pengenalan Data Terdistribusi .............................................................................. 38

9.2.

Distributed Database Management System (DDBMS) .......................................... 39

BAB 10 ............................................................................................................................... 42
PARALLEL PROCESSING ................................................................................................. 42
10.1.

Konsep Parallel ................................................................................................. 42

10.2.

Arsitektur Parallel .............................................................................................. 43

10.3.

PVM dan MPI .................................................................................................... 44


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

BAB 1
PENGENALAN SISTEM TERDISTRIBUSI
1.1.

Definisi dan contoh Sistem Terdistribusi


Sistem Terdistribusi terdiri dari dua kata yaitu Sistem dan Terdistribusi. Sistem

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.

Contoh Sistem Terdistribusi :


a. Intranet

Jaringan (proprietary) yang teradministrasi secara lokal dan dapat

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.

Karakteristik Sistem Terdistribusi

Resource Access and Sharing


Kemampuan menggunakan hardware, software atau data dimanapun dan kapanpun.
Karakteristik ini juga yang menentukan siapa saja yang dapat mengakses sebuah resource
dalam

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.

Fault Tolerance (Toleransi Kesalahan)


Kesalahan pasti terjadi dalam sebuah sistem. Entah itu disebabkan karena masalah
jaringan, power supply, bencana alam atau human error. Sebuah sistem terdistribusi
dirancang memliki kemampuan untuk menangani hal-hal tersebut. Contoh dalam hal ini
adalah dibangunnya sebuah clustering server. Dimana ketika server utama mengalami down
karena beberapa penyebab kesalahan, maka extended server langsung membackup sistem
utama dan menggantikannya.

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

digunakan karena untuk mempermudah bagi mereka dalam mengembangkan dan


memelihara sistem tersebut.

1.3.

Model Sistem Terdistribusi


Model Client Server
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih

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

Gambar 1.1 Model Multiple Server


Service disediakan oleh beberapa server
Contoh:
Sebuah situs yang jalankan dibeberapa server
Server menggunakan replikasi atau database terdistribusi
2. Model Proxy Server

Gambar 1.2 Model Proxy 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

Gambar 1.3 Model Peer To Peer


Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi
sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang
melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua
kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang
digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang
paling general dan fleksible.
4. Model Mobile Code

Gambar 1.4 Model Mobile Code


Kode

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.

Permasalahan Sistem Terdistribusi

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.

Middleware mengatasi perbedaan lainnya.


Keterbukaan

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

Penambahan pemakai membutuhkan penambahan resource yang konstan.


Cegah bottleneck Jika perlu, gunakan replikasi.

Penanganan Kegagalan

Setiap proses (komputer atau jaringan) dpt mengalami kegagalan secara


independen.
Komponen

lain

harus

tetap

berjalan

dengan

baik.

E.g. failed branch in a distributed banking system.


Concurrency

Multiple

users

with

concurrent

requests

to

shared

resources.

Setiap resource hrs aman di lingkungan tersebut di atas.


Transparansi

Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebaaig satu


sistem saja. Accesstransparency : Local & remote resources dapat diakses dengan
operasi yang sama.

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.

RPC (Remote Procedure Call)


Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan

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.

Studi kasus RPC


Contoh studi kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di

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:

Class Line dan MyInteger : Tidak berhubungan, Keduanya mengimplementasikan

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

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.
3.1.2. Pustaka Thread
Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas
untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread.
Ada dua cara dalam mengimplementasikan pustaka thread:
a. Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga
pemanggilan fungsi tidak melalui system call. Jadi, jika kita memanggil fungsi yang
sudah ada di pustaka, maka akan menghasilkan pemanggilan fungsi call yang
sifatnya lokal dan bukan system call.
b. Menyediakan API di level kernel yang didukung secara langsung oleh sistem
operasi. Pemanggilan fungsi call akan melibatkan system call ke kernel.

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.

3.1.3. Implementasi Threads Pada User-Space


Kegunaan Thread yaitu Multithreading berguna untuk multi processor dan single
processor.
Kegunaan untuk system multi processor adalah :

Sebagai unit pararel atau tingkat granularitas pararelisme.

Peningkatan kinerja disbanding berbasis proses.

Kegunaan multithreading pada single processor, adalah :

Kerja foreground dan background sekaligus di satu aplikasi.

Penanganan asynchronous proseccing menjadi baik.


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.

3.2.

Client Server

3.2.1. Pengertian Client Server


Server adalah komputer yang dapat memberikan service ke client, sedangkan client
adalah komputer yang mengakses beberapa service yang ada di server.
Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim
request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka
server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan
menggunakan Socket.

Gambar 3.3 Client-Server


Karakteristik Server : Pasif; Menunggu request; Menerima request, memproses
mereka dan mengirimkan balasan berupa service. Karakteristik Client : Aktif; Mengirim
request; Menunggu dan menerima balasan dari server.
3.2.2. Model Client-Server
a. Arsitektur Mainframe
Pada arsitektur ini, terdapat sebuah komputer pusat (host) yang memiliki sumber
daya yang sangat besar, baik memori, processor maupun media penyimpanan.
b. Arsitektur File Sharing
Pada arsitektur ini komputer server menyediakan file-file yang tersimpan di media
penyimpanan server yang dapat diakses oleh pengguna.
c. Arsitektur Client/Server
Salah satu hasilnya yaitu berupa software database server yang menggantikan
software database berbasis file server.
d. Model Two-tier
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan: client
(yang meminta service) dan server (yang menyediakan service).
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.

Gambar 3.5 Model Three-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.

3.3.2. Karakteristik Agent


1. Autonomy
2. Intelligence, Reasoning, dan Learning
3. Mobility dan Stationary
4. Delegation Reactivity
5. Proactivity dan Goal-Oriented
6. Communication and Coordination Capability

10

3.3.3. Klasifikasi Software Agent


1. Klasifikasi menurut Karakteristik yang Dimiliki
Menurut Nwana, agent bisa diklasifikasikan menjadi delapan berdasarkan pada
karakteristiknya.

Gambar 3.6 Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki


a) Collaborative Agent : Agent yang memiliki kemampuan melakukan kolaborasi dan
koordinasi antar agent dalam kerangka Multi Agent System (MAS).
b) Interface Agent : Agent yang memiliki kemampuan untuk berkolaborasi dengan user,
melakukan fungsi monitoring dan learning untuk memenuhi kebutuhan user.
c) Mobile Agent : Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke
tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam
lingkungan jaringan komputer.
d) Information dan Internet Agent : Agent yang memiliki kemampuan untuk menjelajah
internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user,
secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam
jaringan Internet.
e) Reactive Agent : Agent yang memiliki kemampuan untuk bisa cepat beradaptasi
dengan lingkungan baru dimana dia berada.
f)

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.

g) Heterogeneous Agent System : Dalam lingkungan Multi Agent System (MAS),


apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan
dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent
system.

2. Klasifikasi menurut Lingkungan Dimana Dijalankan


a) Desktop Agent : Agent yang hidup dan bertugas dalam lingkungan Personal
Computer (PC), dan berjalan diatas suatu Operating System (OS).

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.

2. Sistem Operasi Sebagai Penghubung.


Sistem operasi komputer berfungsi untuk menyiapkan serta menghubungkan
program aplikasi agar dapat berinteraksi dengan perangkat keras secara konsisten dan
stabil.

3. Sistem Operasi Sebagai Pelindung.


Hal ini dimaksudkan bahwa salah satu fungsi atau tugas dari sistem operasi adalah
untuk memegang kendali proses, melindungi file dan memberi batasan pada pembacaan
dan penulisan serta eksekusi data dan program. Sistem operasi juga dapat berfungsi
sebagai pengatur tentang siapa saja yang dapat mengakses file, program dan sistem yang
ada di komputer kita.

4. Sistem Operasi Sebagai Interpretasi (penerjemah).


Sistem Operasi berfungsi sebagai penerjemah perintah-perintah dan instruksiinstruksi antara User dan Sistem. Sebagai fasilitas komunikasi yang mudah antara sistem
komputer dan User (pengguna).

5. Sistem Operasi Sebagai Server (Pelayan).


Hal ini berarti fungsi dari sistem operasi komputer adalah untuk melayani segala
sesuatu yang dibutuhkan oleh seorang user (pengguna).

4.2. Komponen Inti Sistem Operasi


Komponen sistem operasi terdiri dari :

Manajemen Proses Proses


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.

Pengertian dan Fungsi Kernel


Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem
operasi. karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu
program yang harus dilayani dalam waktu yang bersamaan maka kernel juga bertugas untuk
mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian
perangkat

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.

4.3. Proses dan Thread


4.3.1. Konsep Dasar Proses Dalam Sistem Operasi
Proses dalam sistem operasi adalah suatu bagian dari program yang berada pada
status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih
sering membahas proses dibandingkan dengan program.
Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih
dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga
termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program
counter dan isi dari daftar prosesor/ processor's register.

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.

Gambar 4.1 Status Proses

Process Control Block (PCB)


Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses.
Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :

Process State : berisi informasi status proses.

Program counter : berisi informasi mengenai alamat instruksi selanjutnya.

CPU register : berisi register2 CPU apa saja yang digunakan

CPU scheduling information : berisis penjadwalan proses beserta algoritmanya

Memory management information: berisi informasi tentang berapa jumlah memory


yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan
memory.

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.

Gambar 4.2 Process Control Block

4.3.2. Konsep Dasar Thread Dalam Sistem Operasi


Thread juga sering disebut lightweight process. Sebuah proses tradisional atau
heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali.
16

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.

Gambar 4.3 Thread


Keuntungan Thread
Keuntungan dari program yang multithreading dapat dipisah menjadi empat kategori :
1. Responsi
2. Berbagi sumber daya
3. Ekonomi
4. Utilisasi arsitektur multiprocessor

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.

Gambar 4.4 Model Multithreading

Pembatalan Thread (Thread Cancellation)


Pemberhentian target Thread dapat dilakukan dengan 2 cara :
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).

Gambar 5.1 Service terdistribusi

5.1. Pengenalan File Service


File service adalah suatu perincian atau pelayanan dari file system yang ditawarkan pada
komputer client. Suatu file server adalah implementasi dari file service dan berjalan pada
satu atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file seperti
kepemilikan file, ukuran, waktu pembuatan file dan hak akses file. File sistem merupakan
mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang
berada dalam sistem operasi.
19

5.2. Komponen File service


Komponen-komponen file service adalah terdiri dari :

File Service

Pengoperasian dari masing-masing file.

Directory Service

Management atau pengaturan direktori.

Naming Service
- Location Independence :
o

File dapat dipindahkan tanpa penggantian nama.

- Hal yang umum untuk penamaan file dan directori :


o

Mesin + nama path e.g / machine / path atau machine : path

Mounting File sistem secara remote kedalam hirarki local file.

Single name space yang sama pada semua mesin.

- Dua level penamaan :


Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.

5.3. Arsitektur File Service

Gambar 5.2 Arsitektur File Service

Layanan Flat File (Flat file service)


Beroperasi pada isi file.
Unique File Identifier (UFID).

Layanan Directori (Directory Service)


Menyediakan pemetaan antara nama sebagai teks ke UFIDs.

Modul Client
Menyediakan aplikasi untuk mengakses layanan file jarak jauh secara transparan.
Menyimpan status (state): open files, positions.
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.

Gambar 5.3 Arsitektur NFS


Tujuan dari NFS adalah untuk memungkinkan terjadinya pertukaran sistem berkas
secara transparan antara mesin-mesin bebas tersebut. Hubungan yang terjadi di sini
didasarkan pada hubungan client-server yang menggunakan perangkat lunak NFS server
dan NFS client yang berjalan diatas workstation.
NFS didesain agar dapat beroperasi di lingkungan ataupun jaringan yang heterogen
yang meliputi mesin, platform, sistem operasi, dan arsitektur jaringan. Ketidaktergantungan
ini didapat dari penggunaan RPC primitif yang dibangun diatas protokol External Data
Representation (XDR).
Jika misalnya terjadi sebuah pertukaran sistem berkas antara server dan client ,
maka pertukaran sistem berkas yang terjadi disini harus dipastikan hanya berpengaruh pada
tingkat client dan tidak mempengaruhi sisi server , karena server dan client adalah mesin
yang berbeda dan sama-sama bebas. Untuk itu, mesin client harus melakukan operasi
mount terlebih dahulu agar remote directory dapat diakses secara transparan.
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 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.

6.2. Model Name Service and the Domain Name System


Suatu name service dapat menyimpan kumpulan satu atau lebih kontek penamaan
yaitu sehimpunan keterkaitan antara nama dan atribut objek, seperti user, komputer,
services dan remote object. Yang dibutuhkan dari suatu Name Services adalah :
penamaan unik yang standard
scalability
consistency
performance dan availability
mudah menyesuaikan terhadap perubahan
perlindungan kegagalan
Dalam rangka memenuhi kebutuhan tersebut, sebuah name server setidaknya dapat
menerapkan mekanisme berikut :
o Partitioning
Tidak ada satu name server yang dapat menyimpan seluruh nama dan atribut untuk
seluruh jaringan.
Data nama dipartisi berdasarkan domain.
o Replication
Sebuah domain biasanya memiliki lebih dari satu name server
Untuk meningkatkan availability dan performance
o Caching
Sebuah name server dapat melakukan mekanisme caching terhadap data nama dari
name server lain
Hal ini dilakukan untuk mencegah operasi permintaan sama berulang-ulang
6.2.1. Name Space
Name Space adalah kumpulan nama sah yang dikenal oleh suatu layanan yang
sesuai. Suatu nama dapat digambarkan dengan menggunakan generative grammar, seperti
BNF (Backus-Naur Form).
24

Contoh BNF untuk email

Berikut adalah beberapa karakter dari name space :


memiliki struktur internal
flat
hirarki yang mempresentasikan posisi (contoh sistem berkas UNIX)
hirarki yang mempresentasikan struktur organisasi (contoh Internet Domain)
Karena hirarki, memiliki potensi tak terbatas
Suatu name space dapat diatur secara terdistribusi (naming domain)
Suatu name space dapat berupa gabungan dari beberapa nama space lain. Contoh mount
pada UNIX/Linux
6.2.2. Name Resolution
Nama resolution yaitu diberikan nama obyek , temukan obyek tersebut. Simpan
semua nama di setiap name server. Partisi basis data penamaan (naming database) dapat
dilakukan berdasarkan:
Algoritma:
Tergantung dari nilai sebuah fungsi hash.
Tidak tergantung pada struktur dan lokasi obyek.
Sintaks:
Contoh: telaga.cs.ui.ac.id.
Atribut.
Proxy dapat menyimpan pointer migrasi suatu obyek.
25

6.2.3. Name servers and navigation


Navigasi dan name servers di sini memiliki arti petunjuk pengaksesan nama data dari
lebih dari satu name server untuk menyelesaikan suatu pemetaan nama (resolve a name).
Yang didalamnya terdapat 3 metode,yaitu :
1. Iterative Navigation

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

3. Recursive Server Controlled

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.

6.2.4. Domain Name System


Domain Name System merupakan sebuah name service sebagai standard
penamaan pada Internet. Hal itu ditemukan oleh Mockapertis (1987) untuk menggantikan
skema penamaan original, dimana semua hal dilakukan oleh satu central master file dan di
download oleh FTP untuk semua computer yang membutuhkannya.
Database DNS diterapkan dengan sistem partitioning yang terbagi-bagi dalam suatu
zone berdasar domainnya dan letak geografis. Top level organizational domain (biasa
disebut generic domains) yang digunakan saat ini antara lain :
Com - organisasi komersial
Edu - institusi pendidikan
Gov - institusi pemerintahan
Mil - organisasi militer
Net - Network support center
Org - Organisasi tertentu yang tidak disebutkan disini
Int - organisasi internasional
Us - United states
Uk - United kingdom
Id Indonesian
27

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.

Clock Skew And Clock Drift


Clock milik tiap-tiap komputer tidak selalu sama. Perbedaan antara pembacaan dua
clock komputer berbeda disebut skew. Sedangkan perbedaan clock rate disebut
clock drift. Pada clock fisik, osilasi, frekuensi, dan temperatur mempengaruhi
perbedaan clock tiap komputer. Perbedaannya mungkin sangat kecil, tetapi
akumulasi perbedaan tersebut dapat mencapai tahap yang bisa diamati dengan
mata telanjang walaupun sudah disamakan nilainya. Clock drift rate adalah
perubahan perbedaan pembacaan antara clock dan perfect reference clock (clock
yang dijadikan acuan).

Waktu Universal Terkoordinasi (Coordinated Universal Time)


Clock komputer dapat disinkronkan dengan clock luar yang akurasinya tinggi. Clock
yang akurasinya paling tinggi menggunakan osilator atom. Keluaran clock ini
digunakan sebagai standar waktu international. Coordinated Universal Time (UTC)
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.

7.2. Koordinasi Terdistribusi


Dalam sistem terdistribusi berbasis koordinasi, fokusnya adalah pada bagaimana
koordinasi antara proses berlangsung. Jika ada lebih dari satu proses yang siap running,
maka Sistem Operasi akan menentukan salah satu proses untuk running lebih dulu.
Aktivitas Koordinasi Terdistribusi :
1.

Pengurutan Event

Memori & clock tdk tunggal

Tidak mungkin menyatakan urutan dua kejadian

Hanya dpt ditentukan partial ordering (pengurutan sebagian) relasi Happened-Before


(Hukum sebab-akibat : suatu pesan dapat diterima setelah pesan tersebut dikirim.
Jika A dan B adalah event pada proses yg sama, dan A dieksekusi sebelum B, maka
A B)

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

b. Pendekatan Terdistribusi Penuh (Fully Distributed)


Untuk masuk ke CS, proses mengirimkan pesan request (Pi, TS) ke
semua proses
Pengiriman reply oleh Pi ke Pk :
Jika Pi sedang berada di CS, reply ke Pk ditunda
Jika Pi tidak akan masuk ke CS, reply langsung dikirim ke Pk
Jika Pi akan masuk ke CS dan TS(Pi) < TS(Pk) maka reply ke Pk ditunda
(+): menjamin mutex, bebas deadlock dan starvation
(--): jumlah pesan minimum 2(n-1), proses harus tahu identitas semua proses lain, tidak
berfungsi jika ada proses yg gagal, mengganggu proses lain yg tidak akan masuk ke CS

c. Pendekatan Token Passing


Menggunakan satu token yg beredar diantara proses
Hanya proses yg memiliki token saat itu yg dapat masuk ke CS
Syarat: adanya lingkaran lojik yg menghubungkan semua proses
(+): menjamin mutex, bebas starvation
(--): jika token gagal perlu digenerate kembali, jika proses gagal perlu dibentuk ring
lojik baru.

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 situssitus 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.

7.3. Model sinkronisasi & Asinkronisasi


Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang
bersamaan. Secara garis besar mungkin sinkronisasi adalah menyamakan sesuatu secara
bersamaan. Sinkronisasi adalah suatu proses pengendalian akses dari sumber daya terbagi
pakai (shared resource) oleh banyak thread sedemikian sehingga hanya satu thread yang
dapat mengakses sumber daya tertentu pada satu waktu.
Sistem

Asynchronous

seperti object-oriented software

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

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.

8.2. Fault Tolerance & Transaction


Salah satu tujuan dalam membangun sebuah system terdistribusi adalah
memungkinkan untuk melakukan improvisasi terhadap kehandalan sistem. Ini dilakukan
karena setiap system pasti akan menemukan kesalahan atau gangguan. Sehingga perlu
untuk dibuat pencegahan atau solusi untuk mengatasi masalah tersebut. Availability: kalau
mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.
Dalam suatu sistem terdistribusi komponen dalam system yang sangat vital terutama pada
resources (critical resources) berjumlah seminimal mungkin. Yang dimaksud dengan critical
resources adalah komponen dalam system yang harus ada untuk menjalankan sistem
terdistribusi.
Secara umum, ada dua jenis fault tolerant, yaitu fault tolerant secara hardware dan
secara software. Untuk itu, masing masing Software dan Hardware harus di replikasi.
Sehingga kalau terjadi kegagalan / error maka yang lain akan menangani. Data dalam
sistem terdistribusi tidak boleh hilang, oleh karena itu copy dari data atau resource lainnya
tersebut disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi
datanya. Hal ini memang berkaitan dengan replikasi. Dengan membuat system terdistribusi
yang fault tolerance maka Sistem harus bisa mendeteksi kegagalan dan melakukan
tindakan dasar sebagai berikut:
1.Mask the fault (menutupi kegagalan): tugas harus dapat dilanjutkan dengan menurunkan
kinerja tapi tanpa terjadi kehilangan data atau informasi.
2.Fail Gracefully: membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur
yang telah di rencanakan dan memungkinkan untuk menghentikan proses dalam waktu
yang singkat tanpa menghilangkan informasi atau data.
Data Transaction adalah transaksi pengiriman ( Send Request ) ke sebuah ServerHost

dengan alamat IP / IP adress

dengan Format ( Protokol ) Server-Host tersebut

dengan harapan Server-Host melakukan apa yang pengirim Inginkan dalam hal ini ServerHost atau Client. Sebagai Contoh :

Server Host A atau Client mengirim sebuah data

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.

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
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

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.

9.2. Distributed Database Management System (DDBMS)


Karakteristik pengolahan data terdistribusi antara lain :

Beberapa data digunakan pada banyak lokasi.

Sering diperlukan sistem manajemen database yang memberikan akses kepada


banyak pemakai dengan view yang berbeda dari data yang sama.

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.

Penghubung yang bagaimana yang diperlukan.

Di mana data harus disimpan.


Tujuan Utama Pengolahan Data Terdistribusi :

Otonomi lokal
Memberikan tingkat otonomi lokal dalam komputasi kepada kelompok pemakai lokal.

Pengoperasian yang terpisah dan kontrol yang terpusat

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 pengupdate-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
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

multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel


processing disebut juga parallel computing.

10.2. Arsitektur Parallel


Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4
:
A.

SISD (Single Instruction Single Data Stream)


Arus Instruksi Tunggal dan Data Tunggal

B.

SIMD (Single Instruction Multiple Data Stream)


Arus Instruksi Tunggal dan Multiple Data

C.

MISD (Multiple Instruction Single Data Stream)


Arus Multiple Instruksi dan Data Tunggal

D.

MIMD (Multiple Instruction Multiple Data Stream)


Arus Multiple Instruksi dan Multiple Data

1.

Organisasi Prosesor SISD

Prosesor tunggal

Aliran instruksi tunggal

Data disimpan dalam memori tunggal

Uni-processor

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

Single Instruction, Multiple Data Stream SIMD

2.

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


Multiple Instruction, Single Data Stream MISD

3.

Rangkaian dari data

Dikirimkan ke kumpulan prosesor

Setiap prosesor mengeksekusi urutan instruksi yang berbeda

Belum pernah diimplementasikan (komesial)

4.

Multiple Instruction, Multiple Data Stream- MIMD

Kumpulan/sejumlah prosesor

Mengeksekusi secara simultan urutan instruksi yang berbeda

Kumpulan data yang berbeda

SMP, Cluster and sistem NUMA

10.3. PVM dan MPI


PVM
PVM (Parallel Virtual Machine) adalah paket software yang mendukung pengiriman
pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam
variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC,
workstation, multiprocessor dan superkomputer.
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 (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.

Kegunaan MPI yang lain adalah :


1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang
tidak begitu cocok dengan model data parallel.
Kemampuan MPI digunakan untuk menginterpretasikan bahasa pemrograman matrik
kemampuan dynamic linking dari bahasa tersebut. Fungsi library dari paket MPI dapat
46

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:
-

Alamat buffer data untuk mengirim atau menerima.

Ukuran dari buffer data.

Jenis data pada buffer, berupa konstanta tertentu misalnya MPI_INTEGER,


MPI_CHAR dan MPI_DOUBLE.

Proses tujuan, berupa suatu integer rank dari proses.

Tag dari message, dapat digunakan sebagai penanda oleh proses.

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

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

11.1.2. TEKNIK KEAMANAN


Enkripsi adalah proses pengkodean pesan untuk menyembunyikan isi. Algoritma
enkripsi modern menggunakan kunci (key). Kunci Kriptografi adalah parameter yang
digunakan dalam algoritma enkripsi dimana hasil enkripsi tidak dapat dideskripsi jika tanpa
kunci yang sesuai.
Ada dua tipe Algoritma Enkripsi :
-

Shared Secret Key

Pengirim dan penerima harus berbagi kunci dan tidak diberikan kepada orang lain.
-

Public/privat key pair

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
-

Enkripsi: plaintext ciphertext

Dekripsi: ciphertext plaintext

Komponen sistem kriptografi

algoritma kriptografi: fungsi matematis

kunci + algoritma kriptografi = enkripsi / dekripsi


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

11.1.4. LAYANAN AUTENTIKASI


Autentikasi yaitu meyakinkan bahwa seseorang itu benar dia adanya. Tujuan autentikasi:
meyakinkan sebuah layanan hanya digunakan oleh orang-orang yang berhak. Contoh:
autentikasi dengan SIM/KTP untuk membuktikan kebenaran si pembawa
-

SIM/KTP digunakan untuk mengakses berbagai layanan

SIM/KTP sbg alat bukti

Institusi yg mengeluarkan SIM/KTP

Sebuah identitas nama pemegang SIM/KTP

Deskripsi (fisis) tentang identitas ybs foto

Lingkup KTP hanya berlaku di Indonesia

Masa berlaku

Pemakaian SIM/KTP disertai asumsi-asumsi

Kepercayaan thdp institusi yg mengeluarkan SIM/KTP

Tidak terjadi pemalsuan-pemalsuan

Tidak terjadi perubahan data pemegang

11.1.5. TANDA TANGAN DIGITAL

Fungsi mirip dengan tanda tangan biasa


-

Menjaga autentikasi (keaslian)

Menjaga integritas informasi

Memberikan layanan non-repudiation (atas klaim yg tidak benar)

Implementasi: didasari konsep matematis


-

Checksum

checksum = total % (maxval + 1)

Checksum yg cocok belum tentu menjamin bhw data tidak berubah


-

Cyclic Redundancy Checks (CRC)

Berbasis pembagian polinomial tiap bit pd data merepresentasikan sebuah


koefisien dr polinomial yg sangat besar

Nilai CRC = poli_data % poli_acuan


51

Lebih akurat drpd metode checksum


-

Algoritma hash (fungsi searah)

Nilai yg dihasilkan bersifat unik dan sangat sulit diduplikasi


-

Sistem kriptografi publik + hash

11.1.6. KRIPTOGRAFI KUNCI SIMETRIS

Satu kunci digunakan dalam proses enkripsi dan dekripsi

Algoritma:

DES (Data Encryption Standard)

DEA (Intl Data Encryption Algorithm)

RC5

Prinsip kerja
-

Pengirim & penerima sepakat menggunakan sistem kriptografi

Pengirim & penerima sepakat menggunakan satu kunci tertentu

Dilakukan enkripsi sbl pengiriman teks dan dekripsi stl diterima

Contoh: Caesars Key

Keuntungan
-

Mekanisme sederhana

Kecepatan proses tinggi

Kelemahan
-

Keamanan kunci

Distribusi kunci

11.1.7. KRIPTOGRAFI KUNCI ASIMETRIS

Enkripsi dan dekripsi tidak menggunakan kunci yang sama

Kriptografi kunci publik

Kunci publik

Untuk enkripsi

Didistribusikan kepada publik

Kunci privat
-

Untuk dekripsi

Bersifat rahasia

Keuntungan
-

Keamanan kunci terjaga

Contoh algoritma
-

RSA (Rivest-Shamir-Adleman)
52

Elgamal

Diffie-Hellman

11.1.8. KRIPTOGRAFI HIBRID

PGP (Pretty Good Privacy)


-

Menggabungkan keuntungan sistem kriptografi simetris dan asimetris. Kunci


sesi, kunci privat, dan kunci publik

Cara kerja PGP


-

Plaintext dimampatkan (kompresi)

Pengirim membuat kunci sesi yg bersifat one-time-only dng algoritma


konvensional

Plaintext terkompresi dienkripsi dng kunci sesi

Kunci sesi dienkripsi dengan kunci publik

Ciphertext + kunci dikirimkan

Kunci sesi didekripsi dng kunci privat

Kunci sesi digunakan untuk mendekripsi ciphertext

Hasil deskripsi didekompresi utk mendapatkan plaintext kembali

Keuntungan
-

Distribusi kunci terjaga

Keamanan cukup tinggi krn enkripsi berlapis

Kecepatan enkripsi & dekripsi tinggi

11.2. MEKANISME DAN TEKNIK SECURITY


11.2.1. MEKANISME KEAMANAN
Untuk dapat mewujudkan layanan keamanan jaringan pengembang system, dapat
menggunakan

mekanisme

keamanan

jaringan.

Rekomendasi

ITU-T

(X.800)

juga

mendefinisikan beberapa mekanisme keamanan jaringan. Berikut ini adalah beberapa jenis
mekanisme keamanan jaringan.

Encipherment (Penyandian)

Encipherment merupakan mekanisme keamanan jaringan yang digunakan untuk


menyembunyikan data.

Mekanisme encipherment dapat

menyediakan layanan

kerahasiaan data(Confidentiality) meskipun dapat juga digunakan untuk layanan


lainnya. Untuk mewujudkan mekanisme encipherment, teknik Kriptografi dan
Steganografi dapat digunakan. Perlu diketahui, Kriptografi merupakan kumpulan
teknik untuk menyembunyikan pesan itu menjadi pesan tersembunyi. Sedangkan

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.
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.

Enkripsi; pengkodean pesan untuk menyembunyikan isi.

b.

Certificate;

oleh

dokumen

yang

berisi

pernyataan

yang

ditandatangani

pemegangnya.

11.2.3. TEKNIK SECURITY


Keamanan sering dipandang hanyalah merupakan masalah teknis yang melibatkan
dapat atau tidaknya tertembusnya suatu sistem. Keamanan ini sendiri memiliki suatu konsep
yang lebih luas yang berkaitan dengan ketergantungan suatu institusi terhadap institusi
lainnya. Di dalam aplikasi, suatu pembentukan sistem yang aman akan mencoba melndungi
adanya beberapa kemungkinan serangan yang dapat dilakukan pihak lainTeknik Security :
- Dibuatnya Sistem Pendeteksi Intrusi
- Adanya Sniffing (Penyadapan)
- Adanya Scanning (Pemindaian)
- Adanya IP Spoofing
- Anti-Virus
- Firewal
Security atau Keamanan merupakan suatu sistem keamanan yang terdistribusi untuk
melindungi data-data yang penting yang berhubungan dengan komunikasi digital, aktifitas
digital, dan konflik digital. Security diperlukan karena Internet itu rentan terhadap gangguan
keamanan karena sifat Internet yang terbuka, sikap dan pandangan pemakai, dan tidak
adanya solusi yang komprehensif.

Solusi Keamanan adalah sebagai berikut :


- Didirikannya Pusat-pusat informasi tentang keamanan, seperti CERT, SecurityFocus,
Symantec.
- Adanya milis-milis tentang keamanan sistem. Adanya penggunaan mekanisme deteksi
global.
- Adanya pembentukan jaringan tim penanggap insiden di seluruh dunia.
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 dijagao


Informasi sebagai komoditi ekonomi membawa beragamo 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 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.

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-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

You might also like