Sistem penyimpanan data terdistribusi pada web server dengan memanfaatkan Remote Method Invocation (RMI) - USD Repository

SISTEM PENYIMPANAN DATA TERDISTRIBUSI PADA WEB SERVER
DENGAN MEMANFAATKAN REMOTE METHOD INVOCATION (RMI)

SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika

OLEH :
Antonius Hari Widiatmoko
075314052

JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2011

i

DISTRIBUTED DATA STORAGE SYSTEM ON THE WEB SERVER

USING REMOTE METHOD INVOCATION (RMI)

A Thesis
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Komputer Degree
In Department of Informatics Engineering

By :
Antonius Hari Widiatmoko
075314052

INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKART
2011
ii

iii


iv

HALAMAN PERSEMBAHAN

Jangan melihat apa yang telah kamu lakukan,
tapi…. Lihatlah apa yang belum kamu lakukan

jangan puas saat kamu sampai pada puncak,
karena diatas puncak masih ada puncak lagi

Skripsi ini saya persembahkan pada :
Tuhan Yesus Kristus
Kedua Orang tua Saya
Keluarga, Kekasih dan teman-teman

Terima Kasih Semuanya……

v


PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan
dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 22 Juli 2011
Penulis

Antonius Hari Widiatmoko

vi

“Sistem Penyimpanan Data Terdistribusi pada Web Server dengan
Memanfaatkan Remote Method Invocation (RMI)”
ABSTRAKSI
Server merupakan sebuah service / layanan yang diberikan pada client
yang mengakses server tersebut, bermacam – macam layanan yang dapat
disediakan oleh server salah satunya adalah layanan penyimpanan / storage,
dalam hal ini server tersebut menyediakan resources storage yang dimilikinya

dan di berikan pada client, dalam membuat layanan yang ini maka diperlukan
media penyimpanan yang besar pula.
Agar server memiliki penyimpanan yang besar pasti di perlukan
penyimpanan yang besar pula, sebuah server dapat menggunakan storage yang
dimiliki untuk diakses oleh client, namun jumlahnya pasti terbatas. Untuk
mendapatkan penyimpanan yang besar maka dapat dibuat sebuah prosedur untuk
membagi penyimpanan pada komputer lain selain untuk mendapatkan
penyimpanan yang besar dengan membagi tempat penyimpanan, maka besar
penyimpanan menjadi tak terbatas karena dengan cara ini jumlah komputer dapat
ditambah sewaktu – waktu.
Untuk membagi penyimpanan pada komputer lain maka diperlukan
metode untuk mengirimkan file dari server ke komputer penyimpanan. Pada
skripsi ini prosedur pengiriman yang digunakan adalah RMI (Remote Method
Invocation), RMI adalah cara untuk berkomunikasi antar komputer dengan
menggunakan java, dengan RMI prosedur berbasiskan java yang berjalan pada
JVM (Java Virtual Machine) sebuah komputer dapat dipangil dari komputer lain.
Dengan memanfaatkan kemampuan RMI dalam berkomunikasi antar komputer
maka mempermudah prosedur untuk menyimpan dan mengambil file dari
komputer penyimpanan. Prosedur penyimpanan tersebut akan di aplikasikan pada
web server, sehingga web server tersebut memiliki penyimpanan yang besar dan

tak terbatas.

vii

“Distributed Data Storage System On The Web Server
Using Remote Method Invocation (RMI)”

ABSTRACTION
Server is a service provided to clients who access it, various services can be
provided by a server one of which is a storage service, the server provides storage
resources they have and given to the client, when making this service will require
the storage medium is very large.
if the server has a good storage service certainly require a large storage
well, a server can use the storage that is owned to be accessed by the client, but
storage is limited. To get a large storage server must have a procedure for dividing
the storage on another computer, by dividing the storage on another computer
then it will get a large storage by sharing storage space, so the storage then
becomes infinite because in this way the number of computers used to store can
be added at any - time.
To share the storage on another computer then need a method to transmit

files from a server to a computer storage. In this thesis the delivery procedure
used is RMI (Remote Method Invocation), RMI is a way to communicate between
computers using java, the Java RMI-based procedure that runs in the JVM (Java
Virtual Machine) on a computer can be called to from another computer. By
exploiting the ability of RMI to communicate between computers, then simplify
the procedure for uploading and downloading files from computer storage. The
storage procedure can be applied on a web server, so the web server has a large
storage even infinite.

viii

HALAMAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:

Demi

Nama


:

Antonius Hari Widiatmoko

NIM

:

075314052

pengembangan

ilmu

pengetahuan,

saya

memberikan


kepada

perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :
Sistem Penyimpanan Data Terdistribusi Pada Web Server
Dengan Memanfaatkan Remote Method Invocation (RMI)
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya
memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam
bentuk

pangkalan

data,

mendistribusikan

secara

terbatas,


dan

mempublikasikannya di internet atau media lain untuk kepentingan akademis
tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya
selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya
Yogyakarta, 22 Juli 2011
Yang menyatakan,

Antonius Hari Widiatmoko

ix

KATA PENGANTAR

Puji syukur kepada Yesus Kristus yang telah memberikan karunia
rahmat dan bimbingannya sehingga penulis dapat menyelesaikan skripsi dengan
judul “Sistem Penyimpanan Data Terdistribusi Pada Web Server Dengan
Memanfaatkan Remote Method Invocation (RMI)”.

Terima kasih sebesar-besarnya kepada semua pihak yang turut
memberikan dukungan, semangat dan bantuan sehingga selesainya skripsi ini:
1. Tuhan Yesus Kristus yang telah memberikan semuanya sehingga penulis
bisa menyelesaikan skripsi ini.
2. Bapak Puspaningtyas Sanjoyo Adi S.T., M.T. selaku dosen pembimbing
atas bimbingan, waktu, pikiran dan kesabaran yang telah diberikan.
3. Seluruh dosen Universitas Sanata Dharma khususnya para dosen penguji
yang telah memberikan saran dan masukan yang berguna bagi
kesempurnaan skripsi ini.
4. Laboran komputer atas bantuan kepada penulis ketika melakukan ujian
akhir.
5. Kedua orang tua, Alexius Slamet dan Lucia Surati yang telah memberikan
dukungan, perhatian dan pengorbanan untuk dapat mengantarkan saya
hingga menjadi seperti sekarang ini.
6. Adik – adik ku dan semua saudara yang telah memberikan doa serta
dukungan.
7. Kekasih tercinta, Florensia Dwinta P.K, atas semangat, perhatian dan
dukungannya.
8. Teman-teman seperjuangan yang sama-sama menempuh kuliah bersama,
tugas kita tidak habis sampai disini, semoga kita semua bisa menjadi

orang–orang yang sukses.
9. Semua pihak yang berperan baik secara langsung maupun tidak langsung
sehingga penulis dapat menyelesaikan tugas akhir ini

x

Penulis menyadari bahwa masih banyak kekurangan yang terdapat
pada laporan tugas akhir ini. Saran dan kritik saya harapkan untuk
perbaikan-perbaikan pada masa yang akan datang. Semoga bermanfaat.

Yogyakarta, 22 Juli 2011
Penulis,

Antonius Hari Widiatmoko

xi

DAFTAR ISI

HALAMAN PERSETUJUAN ........................................................................................ iii
HALAMAN PENGESAHAN.......................................................................................... iv
HALAMAN PERSEMBAHAN ....................................................................................... v
PERNYATAAN KEASLIAN KARYA .......................................................................... vi
ABSTRAKSI ................................................................................................................... vii
ABSTRACT..................................................................................................................... vii
HALAMAN PERSETUJUAN ........................................................................................ ix
KATA PENGANTAR....................................................................................................... x
DAFTAR ISI ................................................................................................................... xii
DAFTAR GAMBAR....................................................................................................... xv
DAFTAR TABEL .......................................................................................................... xvi
PENDAHULUAN ............................................................................................................. 1
1.1.

Latar Belakang Masalah ................................................................................. 1

1.2.

Rumusan Masalah ........................................................................................... 2

1.3.

Tujuan Penelitian ............................................................................................ 2

1.4.

Batasan Masalah ............................................................................................. 2

1.5.

Luaran yang Diharapkan ................................................................................. 3

1.6.

Metodologi Penelitian ..................................................................................... 3

1.7.

Sistematika Penulisan ..................................................................................... 5

TINJAUAN PUSTAKA .................................................................................................... 6
2.1.

Konsep Jaringan .............................................................................................. 6

2.1.1.

Berdasarkan Fungsinya ................................................................................... 6

2.1.1.1. Peer to Peer .................................................................................................... 7
2.1.1.2. Client Server ................................................................................................... 8
2.1.2.

Jaringan Intranet, Extranet dan Internet ......................................................... 9

2.1.2.1. Intranet ............................................................................................................ 9
2.1.2.2. Extranet ......................................................................................................... 10
2.1.2.3.

Internet .......................................................................................................... 10

2.2.

Sistem terdistribusi........................................................................................ 11

2.2.1.

Sistem Komputerisasi Terdistribusi .............................................................. 11

2.2.2.

Komputasi terdistribusi ................................................................................. 12

2.2.3.

Perancangan Terdistribusi Three-tier ............................................................ 12

xii

2.2.4.

Karakteristik Sistem Tredistribusi ................................................................ 14

2.3.

File System ................................................................................................... 16

2.4.

RMI ............................................................................................................... 19

2.4.1.

Arsitektur Layer RMI .................................................................................... 20

2.4.2.

Membuat Program Dengan RMI ................................................................... 22

2.5.

Penyimpanan Data ........................................................................................ 28

2.5.1.

RAID (Redundant Array of Independent Disk) ............................................. 28

2.6.

Message Digest 5 (MD 5) ............................................................................. 29

2.7.

Penelitian Sebelumnya .................................................................................. 30

ANALISIS DAN PERANCANGAN SISTEM .............................................................. 32
3.1.

Arsitektur Sistem Penyimpanan Terdistribusi .............................................. 32

3.1.1.

Contoh arsitektur sistem ............................................................................... 34

3.2.

Komunikasi Sistem ....................................................................................... 37

3.2.1.

Sistem File Server ......................................................................................... 38

3.2.2.

Sistem Aplication server ............................................................................... 38

3.2.3.

Sistem Client ................................................................................................. 38

3.3.

Sistem yang Dikembangkan ......................................................................... 39

3.3.1.

Pembagian Penyimpanan File....................................................................... 39

3.3.2.

Indexing File ................................................................................................. 40

3.3.3.

Mengungah File ............................................................................................ 41

3.3.4.

Mendownload File ........................................................................................ 42

3.4.

Use Case ....................................................................................................... 43

3.3.1.

Algoritma Upload dan Download ................................................................. 43

3.3.2.

Diagram Use Case......................................................................................... 45

3.3.3.

Narasi Use case ............................................................................................. 47

3.3.4.

Activity Diagram ........................................................................................... 47

3.4.

Model Analisis .............................................................................................. 47

3.4.1.

Relasi Use Case ............................................................................................ 47

3.4.2.

Diagram Kelas Analisis Keseluruhan ........................................................... 47

3.5.

Model Desain ................................................................................................ 48

3.5.1.

Atribut dan Method ....................................................................................... 48

3.5.2.

Rancangan Interface ..................................................................................... 48

3.5.3.

Entity Relational Diagram ............................................................................ 48

xiii

3.6.

Metode Evaluasi ........................................................................................... 50

3.6.1.

Pengujian Method ......................................................................................... 50

3.6.2.

Pengujian Use Case ...................................................................................... 50

3.6.3.

Beta Testing .................................................................................................. 50

IMPLEMENTASI DAN ANALISIS HASIL ................................................................ 51
4.1.

Implementasi ................................................................................................. 51

4.1.1.

Implementasi File ......................................................................................... 51

4.1.2.

Implementasi Antar Muka ............................................................................ 53

4.2.

Instalasi ......................................................................................................... 53

4.3.

Pengujian ...................................................................................................... 53

4.4.

Analisa Hasil ................................................................................................. 54

KESIMPULAN DAN SARAN ....................................................................................... 59
5.1.

Kesimpulan ................................................................................................... 59

5.2.

Saran ............................................................................................................. 60

DAFTAR PUSTAKA...................................................................................................... 61
LAMPIRAN 1 PLANNING ........................................................................................... 63
LAMPIRAN 2 NARASI USE CASE ............................................................................. 65
LAMPIRAN 3 ACTIVITY DIAGRAM........................................................................ 81
LAMPIRAN 4 SEQUENCE DIAGRAM ..................................................................... 91
LAMPIRAN 5 DIAGRAM KELAS ANALISIS ........................................................ 107
LAMPIRAN 6 ATRIBUT DAN METHOD ............................................................... 109
LAMPIRAN 7 DESAIN PENGUJIAN ....................................................................... 134
LAMPIRAN 8 IMPLEMENTASI ANTAR MUKA/ INTERFACE ........................ 140
LAMPIRAN 9 HASIL PENGUJIAN .......................................................................... 149
LAMPIRAN 10 INSTALASI ....................................................................................... 170

xiv

DAFTAR GAMBAR

Gambar 1 Metode Incremental ........................................................................................... 3
Gambar 2 Jaringan komputer .............................................................................................. 6
Gambar 3 Jaringan Peer to Peer ......................................................................................... 7
Gambar 4 Jaringan Client Server ........................................................................................ 8
Gambar 5 Internetworking ................................................................................................ 11
Gambar 6 Arsitektur Three Tier ....................................................................................... 13
Gambar 7 Arsitektur RMI ................................................................................................. 20
Gambar 8 Layer pada sistem RMI .................................................................................... 21
Gambar 9 Referensi Remot Object ................................................................................... 22
Gambar 10 Gambaran umum sistem penyimpanan file terdistribusi ................................ 33
Gambar 11 Arsitektur dengan file server lokal ................................................................. 34
Gambar 12 Arsitektur peneggunaan file server bersama-sama ........................................ 35
Gambar 13 Arsitektur file server dengan jaringan internet............................................... 36
Gambar 14 Arsitektur database terpisah dan tergabung ................................................... 37
Gambar 15 Desain sistem penyimpanan dengan 4 server................................................. 39
Gambar 16 Prosedur mengungah file ............................................................................... 41
Gambar 17 Prosedur mengunduh file ............................................................................... 42
Gambar 18 Algoritma Download .................................................................................... 43
Gambar 19 Algoritma Upload .......................................................................................... 44
Gambar 20 Use Case Sistem ............................................................................................. 45
Gambar 21 ER Diagram ................................................................................................... 49
Gambar 22 Physical design .............................................................................................. 50

xv

DAFTAR TABEL

Tabel 1 Indexing File ........................................................................................................ 40
Tabel 2 Tabel use case ...................................................................................................... 46
Tabel 3 Implementasi file ................................................................................................. 51
Tabel 4. Rencana Pergerjaan (planning) ........................................................................... 63
Tabel 5. Pelaksanaan Rencana .......................................................................................... 63

xvi

BAB I
PENDAHULUAN

1.1. Latar Belakang Masalah
Perkembangan teknologi membantu memudahkan manusia dalam
berbagai hal, di dunia maya internet merupakan salah satu teknologi untuk
berkomunikasi dan bertukar informasi maupun data. Dalam internet terjadi
komunikasi antara client dan server. Client merupakan pengguna resource
yang disediakan oleh server, semakin banyak client yang memanfaatkan
server tersebut secara tidak langsung semakin besar sumberdaya (resource)
yang harus di sediakan oleh server tersebut.
Salah satu kemampuan server yang sering menjadi permasalahan yaitu
tempat penyimpanan. Sebuah server yang baik memiliki kapasitas
penyimpanan yang besar sehingga semua data-data client bisa di simpan pada
server tersebut. Selain itu memiliki error handling yang baik, yakni apabila
server mengalami masalah atau kerusakan

maka kerusakan pada server

tersebut dapat di hindari atau setidaknya dapat di lokalisir sehingga tidak
semua data mengalami kerusakan, dan layanan terhadap client tetap terjaga.
Ada beberapa pilihan untuk mendapatkan server yang memiliki
kemampuan menyimpan yang besar, murah namun handal, salah satunya
dengan memanfaatkan sistem penyimpanan yang terdistribusi. Dengan
menggunakan sistem penyimpanan yang terdistribusi maka data-data yang
dimiliki oleh server tersebut dapat disimpan dalam beberapa komputer lain
sehingga server tersebut memiliki kapasitas penyimpanan yang besar. Dengan
menggunakan

sistem

penyimpanan

server

yang

terdistribusi

maka

meningkatkan kemampuan server dalam mengamankan data yang di simpan
pada server tersebut, jadi apabila salah satu komputer mengalami kerusakan
sehingga data hilang, maka data yang hilang hanya data pada komputer yang
mengalami kerusakan tersebut. Hal ini berbeda dengan sistem penyimpanan
server yang terpusat, yang menyebabkan semua data hilang bila terjadi
kerusakan pada sistem tersebut. Dalam hal ini untuk meningkatkan keamanan

2

menyimpan data maka dapat menggunakan tehnik penyimpanan mirroring,
tehnik mirroring ini dipilih karena untuk menjaga file yang disimpan aman
dan memiliki backup di komputer lain, sehingga bila salah satu rusak dapat
menggunakan mirrornya, untuk mendukung tehnik mirroring diatas maka
dalam melakukan transfer file perlu menggunakan validasi yaitu dengan
membandingkan nilai MD5 sebelum dan sesudah dikirim, ini dipakai untuk
memastikan file yang dikirim untuh.
Salah satu cara untuk membuat sistem penyimpanan server yang
terdistribusi adalah dengan menggunakan Remote Method Invocation (RMI).
RMI adalah sistem yang memungkinkan objek yang running di satu JVM
(Java Virtual Mechine ) untuk memanggil suatu metode / fungsi dari satu
objek yang berjalan di JVM yang lain, yang memungkinkan komunikasi
remote antar program JAVA, sehingga akses method dapat dilakukan dari
jarak jauh(dari komputer lain).
1.2. Rumusan Masalah
Dari uraian diatas maka dapat dirumuskan masalah pada sistem ini
adalah bagaimana membuat sistem untuk penyimpanan data pada server yang
memiliki kapasitas besar bahkan tak terbatas dengan menggunakan biaya yang
murah serta mudah, dengan memanfaatkan Java RMI sebagai salah satu cara
untuk berkomunikasi yaitu dasar pengiriman file antar komputer.
1.3. Tujuan Penelitian
Adapun tujuan dari penyusunan skripsi ini adalah sebuah sistem yang
bisa digunakan oleh web server agar memiliki penyimpanan yang besar dan
penyimpanannya terdistribusi pada file server, serta mudah ditambah sehingga
memiliki penyimpanan yang besar bahkan tak terbatas.
1.4. Batasan Masalah
Terdapat batasan masalah pada pembuatan sistem ini mengenai
kemampuan dari program yang dibuat:

3

Sistem ini hanya diperuntukkan bagi web server dalam menyimpan file secara
terdistribusi dan di kembangkan menggunakan RMI.
Dalam pembuatan sistem ini tidak membuat sistem antara client dan server,
client hanya memanfaatkan fasilitas web server saja.
Sistem ini belum memiliki handling bila terjadi kegagalan pengiriman
dikarenakan web server mati mendadak dikarenakan listrik mati.
Asumsi keamanan jaringan komputer sudah memadai dimana jaringan
komputer memiliki pengamanan untuk sebuah web server dan port sistem.
Dalam sistem ini tidak menangani sistem versi dari file, sehingga setiap file
yang diungah diangap file yang berbeda.
1.5. Luaran yang Diharapkan
Harapan dari penyusunan skripsi ini adalah sebuah program atau
sistem yang bisa membagi dan mengatur penyimpanan server kedalam
komputer lain.
1.6. Metodologi Penelitian
Untuk melaksanakan dan menunjang keberhasilan pembuatan sistem
ini maka dalam perancangan dan pengembangannya menggunakan metode
Incremental, adapun langkah-langkahnya sebagai berikut :

Communication
Planing
Modeling
Construction
Deployment
Communication
Planing
Modeling

Communication

Construction

Planing

Deployment

Modeling
Construction

Deployment

Waktu

Gambar 1 Metode Incremental

4

1.

Communication (Analisis Kebutuhan):
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan
didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan
dibangun. Fase ini dikerjakan agar bisa menghasilkan desain yang
lengkap. Dalam skripsi ini fase ini dilaksanakan pada BAB 1 dan BAB 2.

2.

Planning ( Perencanaan ):
Merencanakan dari tahap perancangan, tahap pengerjaan dan testing.
Dalam skripsi ini rencana/planning ada pada Lampiran pertama.

3.

Modeling ( Analisis dan Desain ) :
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara
lengkap. Pada skripsi ini diimplementasikan dengan membuat desain
yang ada pada BAB 3.

4.

Construction ( Code dan Test):
Desain

program

diterjemahkan

ke

dalam

kode-kode

dengan

menggunakan bahasa pemrograman yang sudah ditentukan. Dalam
sistem yang saya buat disini saya menggunakan JAVA. Program yang
dibangun dapat langsung diuji baik secara unit. Penyatuan unit-unit
program kemudian diuji secara keseluruhan (sistem testing). Penjelasan
secara lengkap tahap code dan testing sistem ini ada pada BAB 4.
5.

Deployment ( Penerapan program ):
Mengoperasikan program dilingkungkannya (instalasi) dan melakukan
pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi
dengan situasi sebenarnya. Pada skripsi ini untuk melakukan instalasi
dan deployment ada pada Lampiran Instalasi.

5

1.7. Sistematika Penulisan
Sistematika dalam penulisan skripsi ini adalah sebagai berikut :
BAB I : PENDAHULUAN
Pada bab ini berisi tentang latar belakang masalah, rumusan masalah,
batasan masalah, tujuan penulisan, metodologi penelitian dan
sistematika penulisan.
BAB II : LANDASAN TEORI
Pada bab ini berisi berbagai acuan dan bahan-bahan yang bisa
digunakan untuk menjawab permasalahan yang di hadapi seperti teoriteori mengenai konsep dasar sistem yang mendukung dalam
menyelesaikan masalah yang terjadi.
BAB III : ANALISIS DAN PERANCANGAN
Perancangan sistem ini menjelaskan tentang rancangan dari sistem
secara mendetail.
BAB IV : IMPLEMENTASI SISTEM
Pada bagian ini membahas tenteng implementasi program yang akan
dibuat.
BAB V : ANALISIS DAN HASIL
Pada bagian ini berisi analisa hasil yang telah didapat selama proses
implementasi sistem.
BAB VI : KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan dari semua kegiatan penyusunan skripsi
ini serta saran untuk pengembangan yang lebih lanjut.
DAFTAR PUSTAKA
Berisi daftar pustaka yang digunakan sebagai referensi dalam
pembuatan skripsi.

BAB II
TINJAUAN PUSTAKA
2.1. Konsep Jaringan
Jaringan komputer adalah kumpulan dari sejumlah perangkat berupa
komputer, hub, switch, router, atau perangkat jaringan lainnya yang terhubung
dengan menggunakan media komunikasi tertentu (Wagito, 2005). Perangkat
yang terhubung dengan jaringan disebut juga sebagai node. Hal ini
memungkinkan pengguna dapat bertukar dokumen dan data, mencetak pada
printer yang sama, dan menggunakan sumber daya dalam jaringan tersebut.
Jaringan komputer dapat di bedakan dalam beberapa kriteria seperti berikut :
2.1.1. Berdasarkan Fungsinya
Jaringan komputer, merupakan sekumpulan komputer yang
dihubungkan melalui media fisik dan software yang memfasilitasi
komunikasi antara komputer-komputer tersebut. Dengan demikian sebuah
jaringan komputer yang sangat sederhana bisa digambarkan seperti
gambar berikut
Komputer 1

Komputer 2

Media Fisik
Gambar 2 Jaringan komputer

Pada gambar terlihat bahwa komputer 1 dan komputer 2 terhubung
melalui media fisik. Komunikasi antara keduanya berlangsung melalui
media fisik tersebut. Media fisik ini bisa berupa kabel, ataupun udara yang

7

menjadi media bagi komunikasi elektromagnetik. berikut jenis komputer
berdasarkan fungsinya :
2.1.1.1.

Peer to Peer

Peer 1

Peer 2

Hub

Peer 3

Peer 4

Gambar 3 Jaringan Peer to Peer (UZUMAKI, 2010)

Pada arsitektur peer to peer seperti pada gambar diatas di
memungkinkan setiap node untuk menjadi sebuah server, sehingga tidak
ada istilah server sentral (Somantri, 2005). Pada jaringan ini tidak ada
komputer client maupun komputer server karena semua komputer dapat
melakukan pengiriman maupun penerimaan informasi sehingga semua
komputer berfungsi sebagai client sekaligus sebagai server. Dalam
konfigurasi ini setiap komputer bisa saling bagi-pakai (share) sumber
daya, seperti file-file pengolah kata, spreadsheet, printer, CD-ROM drive,
scanner, dan lain-lain tanpa perlu ada konsep restrict security.

8

2.1.1.2.

Client Server

Hub

Client 3

Server

Client 1

Client 2

Gambar 4 Jaringan Client Server (UZUMAKI, 2010)

Istilah Client/Server mengacu pada hubungan antara dua
sistem atau proses. Client adalah sistem yang mengajukan
permintaan (request) ke server. Dalam banyak situasi maka yang
mana sistem client dan yang mana sistem server ditentukan oleh
hubungan antara yang mengajukan permintaan (client) ke yang
memberikan layanan yaitu serve (Hall, 1994).
Server adalah komputer yang menyediakan fasilitas bagi
komputer-komputer lain didalam jaringan dan client adalah
komputer-komputer yang menerima atau menggunakan fasilitas
yang disediakan oleh server. Server merupakan komputer yang
berfungsi sebagai penyedia layanan untuk semua pemakai (user).
Sehingga komputer ini memiliki spesifikasi yang lebih tinggi dari
komputer lain yang menjadi workstation yang terhubung padanya.
Spesifikasi yang diterapkan untuk memilih sebuah server memiliki
ketanguhan, keamanan, berkecepatan tinggi, memiliki fault

9

tolerance dan di lengkapi dengan interface I/O

yang cepat.

(Lazuardi, 2008)
Server dijaringkan tipe client-server disebut dengan
dedicated server karena murni berperan sebagai server yang
menyediakan fasilitas kepada workstation dan server tersebut tidak
dapat berperan sebagai workstation. Server dan client tersebut
memiliki beberapa karakteristik antara lain :
Karak teristik dari masing – masing client server (Mulholland, 2004)
Karakteristik Server
a. Pasif
b. Menunggu request
c. Menerima request, memproses mereka dan mengirimkan
balasan berupa service
Karakteristik Client
a. Aktif
b. Mengirim request
c. Menunggu dan menerima balasan dari server
2.1.2. Jaringan Intranet, Extranet dan Internet (Syafriza, 2005)
2.1.2.1.

Intranet

Intranet merupakan sebuah jaringan internal perusahaan yang
dibangun menggunakan teknologi internet (arsitektur berupa aplikasi
web dan menggunakan protokol TCP/IP). LAN tidak sama dengan
intranet,

karena

dari

segi

penggunaan,

luas

area

maupun

implementasinya, intranet lebih luas dan bekerja lebih maksimal
seperti halnya internet. Namun sangat terbatas dalam hal privilege dan
hak akses para pemakainya. Sebuah LAN bisa saja disebut intranet,
apabila LAN tersebut menerapkan aplikasi web dan menggunakan
protokol

TCP/IP

didalamnya.

Biasanya

sebuah LAN

dapat

10

dihubungkan dengan jaringan internet, sedangkan intranet justru
menghindari koneksi dengan jaringan luar
2.1.2.2.

Extranet

Extranet merupakan

jaringan

intranet misalnya perusahaan

yang ingin mengekspose sebagian informasi yang mereka miliki ke
jaringan

luar. Informasi

produk/layanan,

yang

diekspose

bisa berupa

info

file-file yang diperlukan konsumen, klien atau

karyawan yang mobile, atau juga database yang diperkenankan
diakses dari jaringan lain atau jaringan internet.
akan memproteksi sebagian jaringan internal

Firewall
perusahaan

sehingga tidak dapat diakses dari jaringan

luar,

sekaligus membatasi akses jaringan internal agar tidak dapat
mengakses semua layanan/service dari internet.
2.1.2.3.

Internet

Interconnected Network atau yang lebih populer dengan
sebutan internet adalah sebuah sistem komunikasi global yang
menghubungkan

komputer-komputer

dan

jaringan-jaringan

komputer di seluruh dunia.
Setiap komputer dan jaringan, terhubung secara langsung
maupun tidak langsung ke beberapa jalur utama

yang

disebut

internet backbone, Secara harafiah, internet adalah rangkaian
komputer

yang

terhubung

kebeberapa jaringan

lain.

Ketika

komputer terhubung secara global dengan menggunakan TCP/IP
sebagai

protokol

pertukaran

paket

data

(packet

switching

communication protocol), maka rangkaian jaringan komputer yang
besar

ini

dapat

dinamakan

internet.

Cara

menghubungkan

rangkaian komputer dengan kaedah ini dinamakan internetworking.

11

Gambar 5 Internetworking

Internetworking merupakan kumpulan jaringan lokal area,
juga metropolitan area yang umumnya terhubung

melalui

router-router sehingga membentuk jaringan wide area yang
begitu besar. Terkoneksi ke internet berarti menghubungkan
perangkat

komputer

atau

perangkat

lain

yang digunakan,

kedalam jaringan komputer global di dunia.
2.2. Sistem terdistribusi
Sistem

terdistribusi

adalah

sistem

yang

terdiri

dari

kumpulan

mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai
oleh superkomputer dalam sistem terdistribusi semua resource dapat di
gunakan secara bersamaan, contohnya adalah beberapa komputer bersamasama dan mengambil keuntungan dari sumber daya masing-masing dengan
cara kolektif. Setiap komputer kontribusi beberapa sumber (seperti memori,
pengolahan daya dan ruang hard drive) ke jaringan secara keseluruhan.
2.2.1. Sistem Komputerisasi Terdistribusi
Sistem komputerisasi terdistribusi adalah suatu set aplikasi atau
program sistem yang dijalankan pada suatu jaringan untuk saling berbagi
data informasi di berbagai tempat/lokasi. (Jia, 2005). Isu kenapa
menggunakan sistem komputerisasi terdistribusi yaitu isu tentang

12

execution (processes), artinya proses untuk melayani permintaan user
yang menjalankan di berbagai tempat. Dengan sistem seperti ini telah
memungkinkan berbagi informasi dan berbagi resource (object) . sehingga
dapat meningkatkan performance suatu sistem dengan penggunaan
resource tersebut oleh berbagai individu user melalui proses yang di
lakukan melalui perantara (middleware) dan proses yang bersifat parallel
(threading).
2.2.2. Komputasi terdistribusi
Komputasi terdistribusi adalah semua atau beberapa komputer
bersama-sama mengambil keuntungan dari sumber daya masing-masing
dengan cara kolektif. Setiap komputer kontribusi beberapa sumber (seperti
memori, pengolahan daya dan ruang hard drive) ke jaringan secara
keseluruhan. Ternyata seluruh jaringan ke komputer besar, dengan
komputer masing-masing individu yang bertindak sebagai pemroses dan
perangkat penyimpanan data.
2.2.3. Perancangan Terdistribusi Three-tier
Three-tier adalah sebuah arsitektur client-server dimana masingmasing user interface, functional process logic ("business rules"), data
storage dan data access dikembangkan dan disusun sebagai modul-modul
yang independen, bahkan sering berada pada platform yang berbeda.
"three-tier" atau "three-layer", adalah bagian dari multi-tier architectures
(Howes, 1999)

13

client

share aplication service

Presentation

share data service

processing

remote data access
procedur call

data

remote data access or
transaction processing

Gambar 6 Arsitektur Three Tier

Ada beberapa alasan kenapa membangun sistem yang terdistribusi
di banding dengan sistem yang terpusat.
1. Resource Sharing : Dalam sistem terdistribusi, situs-situs yang
berbeda saling terhubung satu sama lain melalui jaringan, sehingga
situs yang satu dapat mengakses dan menggunakan sumber daya yang
terdapat dalam situs lain. Misalnya, user di situs A dapat mengakses
file yang dimiliki situs B dan sebaliknya user di situs B dapat
mengakses file yang terdapat di situs A.
2. Computation Speedup : Apabila sebuah komputasi dapat dipartisi
menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem
terdistribusi akan mendistribusikan subkomputasi tersebut ke situssitus dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan
komputasi (computation speedup).
3. Reliability :

Dalam sistem terdistribusi, apabila sebuah situs

mengalami kegagalan, maka situs yang tersisa dapat melanjutkan
operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem
menjadi lebih baik.
4. Communication : Ketika banyak situs saling terhubung melalui
jaringan komunikasi, user dari situs-situs yang berbeda mempunyai
kesempatan untuk dapat bertukar informasi.

14

2.2.4. Karakteristik Sistem Tredistribusi
Menurut (Tanenbaum, 1995) mengidentifikasikan lima karakteristik
yang penting untuk pengembangan sistem terdistribusi
1. Transparency
Penyembunyian aspek distribusinya, yaitu tersebarnya sistem
namun tampak sebagai satu sistem bagi user.
2. Flexibility
Sistem terdistribusi mampu mendukung berbagai jenis sistem
operasi, perangkat keras dan perangkat lunak. Misalnya sistem
terdistribusi dalam kantor masih dapat berjalan dengan baik meskipun
terdiri dari komputer yang masih baru dan komputer yang sudah lama.
3. Reliability
Kerusakan yang terjadi pada satu komputer dalam sistem
terdistribusi tidak mempengaruhi kinerja sistem secara keseluruhan.
Misalnya sekumpulan komputer yang melakukan proses perhitungan
secara bersama-sama. Apabila salah satu komputer mati, sistem tersebut
masih dapat bekerja sehingga proses pemantauan dapat terus berjalan.
4. Performance
Dalam pemakaian sumberdaya bersama apabila terjadi permintaan
secara bersamaan, sistem terdistribusi tidak akan menjad kacau. Misalnya
permintaan data dari basis data bank dapat dilakukan oleh beberapa orang
teller dalam waktu yang bersamaan.
5.

Scalability
Ukuran sistem terdistribusi dapat diubah dan tetap dapat berjalan

dengan baik. Perubahan dapat dilakukan dari segi jumlah pengguna
maupun dari segi kekuatan perangkat keras komputer-komputer dalam
sistem terdistribusi itu sendiri.

15

Selain kelebihan yang dimiliki sistem terdistribusi juga memiliki
kelemahan yaitu :
1. Kompleksitas : sistem terdistribusi bersifat lebih kompleks daripada
sistem tersentral
2. Keamanan : sistem terdistribusi dapat diakses dari beberapa komputer
dan jalur jaringan mudah di sadap, sehingga keamanan jaringan sistem
terdistribusi menjadi masalah besar.
3. Kemampuan untuk dikendalikan : komputer yang terdapat di sistem
terdistribusi bisa terdiri dari berbagai tipe yang berbeda dan mungkin
di jalankan pada sistem operasi yang berbeda pula, kesalahan pada satu
mesin bisa berakibat pada yang lain. Sehingga harus banyak usaha
untuk mengendalikannya.
4. Tidak dapat diramalkan : sistem terdistribusi tidak dapat di ramalkan
tanggapannya,

tanggapan

tergantung

beban

total

sistem,

pengorganisasian, dan beban jaringannya.
Pada saat ini ada tiga standar yang bisa mendukung untuk komputasi
objek terdistribusi yaitu :
1. CORBA (Command Object Request Broker Architecture)
CORBA merupakan suatu set standard middleware yang dikeluarkan olah
OMG (Object Management Group). Standard CORBA mendefinisikan
pendekatan yang tidak dependen mesin dan generic terhadap objeck
terdistribusi. Sejumlah implementasi ini tersedia untuk aplikasi sistem
operasi UNIX dan Microsoft
2. DCOM (Distributed Component Object Mode)
DCOM dikembangkan oleh Microsoft. Model komputasi terdistribusi
kurang umum dari model CORBA dan DCOM memberikan dukungan
yang terbatas pada interoperabilitas.

16

3. RMI (Remote Method Invocation)
Java RMI yang ada pada bahasa Java telah didesain khusus sehingga hanya
bisa bekerja pada lingkungan Java, untuk membuat program aplikasi Java
to Java yang terdistribusi Hal ini berbeda dengan sistem RMI lainnya,
misalnya CORBA, yang biasanya didesain untuk bekerja pada lingkungan
yang terdiri dari banyak bahasa dan heterogen
2.3. File System
File System atau Sistem Berkas merupakan sebuah metode untuk
memberi nama pada berkas dan meletakkannya pada media penyimpanan.
Semua sistem operasi mulai dari DOS, Windows, Macintosh dan turunan
UNIX memiliki Sistem Berkas sendiri untuk meletakkan file dalam sebuah
struktur hierarki.
Beberapa contoh dari sistem berkas adalah : FAT, NTFS, EXT2,
EXT3, dan EXT4. Setiap file system pasti memiliki batasan salah satunya
yang mempengaruhi terhadap penyimpanan file adalah maksimal ukuran file
dan maksimal ukuran volume yang dapat disimpan.
FAT16 (File Allocation Table)
FAT16 dikenalkan oleh MS-DOS pada tahun 1981. Awalnya, Sistem
ini di design untuk mengatur file di floopy drive dan mengalami beberapa kali
perubahan sehingga digunakan untuk mengatur file di harddisk. FAT16 adalah
sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah).
Sistem berkas ini memiliki batas kapasitas hingga ukuran 2 Gigabyte
saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada
kapasitas partisi yang akan hendak diformat. Fat 16 menggunakan metode 8.3
(8.3 maksudnya adalah 8 nama file dan tiga extention) untuk melakukan suatu
penamaan dari suatu file.

17

FAT32
FAT32 mulai di kenal pada tahun 1976 dan digunakan pada sistem
operasi Windows 95 SP2, dan merupakan pengembangan lanjutan dari
FAT16. Karena menggunakan tabel alokasi berkas yang besar (32-bit),
FAT32 secara teoritis mampu mengalamati hingga 232 unit alokasi
(4294967296 buah). Meskipun demikian, dalam implementasinya, jumlah
unit alokasi yang dapat dialamati oleh FAT32 adalah 228 (268435456
buah).
File system FAT32 juga tidak mampu menampung single file
berukuran 4 Gigabyte atau lebih. Jumlah file yang bisa ditampung oleh
direktori pada file system FAT32 yaitu sebanyak 65535 file. FAT32
mampu menyimpan dan membaca file dengan kapasitas 4 Terabyte (1
Terabyte= 1024 Gigabyte).
NTFS (New Technology File System)
NTFS di kenalkan pertama pada Windows NT dan merupakan file
system yang sangat berbeda di banding teknologi FAT. NTFS atau New
Technology File System, merupakan sebuah sistem berkas yang
dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT,
yang terdiri dari Windows NT 3.x (NT 3.1, NT 3.50, NT 3.51), Windows
NT 4.x (NT 4.0 dengan semua service pack), Windows NT 5.x (Windows
2000, Windows XP, dan Windows Server 2003), serta Windows NT 6.x
(Windows Vista, Windows 7). NTFS bekerja berdasarkan prinsip BTree
dan menggunakan Full Indexing. Karena itu pula fragmentation dapat
ditekan seminimal mungkin. Kemudian, setiap file pada NTFS memiliki
checksum, yang memungkinkan file tersebut diperbaiki secara sempurna
bila suatu saat NTFS tersebut bermasalah.
Jumlah

file

maksimum

pada

file

system-nya

adalah

4,294,967,295. Dengan kata lain jumlah maksimum file dalam satu folder

18

pada NTFS sekitar 4 miliar sejumlah dengan batasan file system nya.
Sedangkan untuk besar maksimum file nya adalah sebesar 16TB. NTFS
mampu menyimpan dan membaca file dengan kapasitas 16 Exabyte (1
Exabyte= 1024 Terabyte)
NTFS support terhadap metadata, yaitu database yang berisi
informasi suatu file. Pada NTFS menawarkan security yang jauh lebih baik
, kompresi file , cluster dan bahkan support enkripsi data. Kekurangan
NTFS yang sering dibicarakan adalah kompatibilitas terhadap software
atau operating sistem lawas seperti win 9x dan ME. Sistem operasi lama
milik microsoft ini tidak mampu membaca file system NTFS
EXT3
EXT3 merupakan peningkatan dari EXT2 file system dan EXT3
merupakan pengembangan dari EXT2. EXT3 bertujuan untuk menjadi
kompatibel dengan EXT2 sebelumnya, banyak struktur on-disk mirip
dengan EXT2. Karena itu, EXT3 tidak memiliki beberapa fitur desain
yang lebih baru, seperti luasan, alokasi dinamis inode, dan suballocation
blok Ada batas-direktori 31.998 per satu sub direktori. Berasal dari batas
atas 32.000 link per inode. EXT3, seperti filesystem Linux terbaru, tidak
dapat fsck-ed sementara filesystem dipasang untuk menulis.
EXT4
File system EXT4 yang biasa digunakan linux merupakan file
system ke empat yang dikembangkan sebagai penerus EXT3. File system
EXT4 juga meningkatkan daya tampung maksimal file system ke 1
exabyte dan mengurangi waktu yang diperlukan untuk melakukan
pengecekan hardisk (fsck yang mana pada File system EXT3, setiap 20-30
kali mount). File system EXT4 memiliki keunggulan performance yang
significant dalam menulis dan membaca file berukuran besar. EXT4
mempunyai pengalamatan 48-bit block yang artinya dia akan mempunyai

19

1EB = 1,048,576 TB ukuran maksimum file system dengan 16 TB untuk
maksimum file size nya
Berikut ini merupakan table perbandingan beberapa file system
(Microsoft, 2011) dan (bill, et al., 2003):
File System

FAT16

FAT32

NTFS

EXT3

EXT4

Maximum

232 - 1 b

232 - 1 b

256 TB

2 TB

16 TB

4 GB

32 GB .

16 EB

16 TB

1EB limited

file size
Maximum

to 16 TB

volume size
Files per

216

222

232 - 1

223

4 billion

volume

2.4. RMI
Remote Method Invocation (RMI) adalah prosedur yang memungkinkan
programmer untuk membuat sistem terdistribusi berbasis Java, dimana metode
remote objek Java dapat dipanggil dari Java virtual mesin pada JVM host yang
berbeda (download.oracle.com, 1995, 2011). RMI menggunakan paradigma
pemrograman berorientasi obyek (Object Oriented Programming) dengan
menggunakan RMI memungkinkan kita untuk mengirim obyek sebagai
parameter dari remote method. Dengan dibolehkannya program Java
memanggil method pada remote obyek, RMI membuat pengguna dapat
mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Sistem RMI terdiri atas tiga layer/lapisan, yaitu (download.oracle.com,
1995, 2011)

20

1. Stub atau Skeleton layer, yaitu Stub pada sisi klien (berupa proxy), dan
Skeleton pada sisi server.
2. Remote reference layer, yaitu perilaku remote reference (misalnya
pemanggilan kepada suatu objek)
3. Transport layer, yaitu set up koneksi, pengurusannya dan remote object
tracking.
2.4.1. Arsitektur Layer RMI
>
Service

Client
Service
proxy

Server

RMI
“Magic”

Service
Implementation

Gambar 7 Arsitektur RMI (java.sun.com, 2000)

Implementasi RMI pada dasarnya dibangun dari tiga lapisan abstraksi,
yang pertama adalah lapisan Stub dan Skeleton, yang terletak persis di
bawah aplikasi yang di kerjakan. Lapisan ini pemanggilan metode yang
dilakukan oleh klien untuk variabel interface dan meneruskan panggilan
tersebut ke remote RMI service. Lapisan berikutnya adalah lapisan remote
reference layer berfungsi untuk menerjemahkan da mengelola references
lalu meneruskan ke remote service object
Masing-masing layer dalam arsitektur RMI disusun oleh interface dan
protokol tertentu, yaitu tiap layer bersifat independen terhadap layer
lainnya, dan bisa diganti oleh implementasi alternatif tanpa mengganggu
layer lainnya. Sebagai contoh, implementasi transport yang digunakan
RMI adalah yang berbasis TCP (menggunakan Java socket), tapi bisa
digantikan dengan menggunakan UDP. Hubungan antara layer-layer
tersebut dapat dijelaskan pada gambar berikut :

21

RMI Server

RMI Client

skeleton

stub

Remote Reference Layer

Remote Reference Layer

Transport Layer

Gambar 8 Layer pada sistem RMI (java.sun.com, 2000)

Dalam melakukan komunikasi yaitu transfer data/file, sistem ini
menggunakan Remote Method Invocation (RMI). dengan menggunakan
RMI untuk membuat sistem yang terdistribusi maka kita tidak perlu
memikirkan cara untuk mentransmisikan, terutama bagian low level details
seperti soket, marshalling & unmarshalling. karena untuk mengirimkan
data RMI sudah menyediakan koneksi tersebut. Untuk dapat melakukan ini
sebuah komputer (server) harus menyediakan layanan remote prosedur.
Pendekatan yang dilakukan adalah, sebuah server meng-expose public
method dan membuka socket, lalu server tinggal menunggu client yang
meminta prosedur yang disediakan oleh server, ini menyebabkan public
method tersebut dapat di lihat dari sisi client, jadi seolah-olah client
memanggil method pada server tersebut sebagai fungsi lokal. Sehingga
RMI bisa menjadi jawaban atas kebutuhan sistem terdistribusi akan sifat
transparansi, yaitu abstraksi proses pengaksesan resource melalui jaringan
internet terlihat sebagai proses pengaksesan resource lokal pada sisi client.
Ilustrasi berikut menggambarkan aplikasi RMI terdistribusi yang
menggunakan

registry untuk mendapatkan referensi ke objek remote.

Server memanggil registry untuk mengasosiasikan (mengikat) suatu nama
dengan objek remot