• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2019

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

Copied!
205
0
0

Teks penuh

(1)

i 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

(2)

ii 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

(3)
(4)
(5)

v

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

(6)

vi

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

(7)

vii

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.

(8)

viii

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.

(9)

ix

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama : Antonius Hari Widiatmoko

NIM : 075314052

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

(10)

x

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.

(11)

xi

Yogyakarta, 22 Juli 2011 Penulis,

(12)

xii 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

(13)

xiii

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 (RedundantArrayofIndependentDisk) ... 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 FileServer ... 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. MendownloadFile ... 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 UseCase ... 47

3.4.2. DiagramKelas Analisis Keseluruhan ... 47

3.5. ModelDesain ... 48

3.5.1. Atribut dan Method ... 48

3.5.2. Rancangan Interface ... 48

(14)

xiv

3.6. Metode Evaluasi ... 50

3.6.1. Pengujian Method ... 50

3.6.2. Pengujian UseCase ... 50

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

(15)

xv

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 ThreeTier ... 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 ERDiagram ... 49

(16)

xvi

DAFTAR TABEL

Tabel 1 Indexing File ... 40

Tabel 2 Tabel use case ... 46

Tabel 3 Implementasi file ... 51

Tabel 4. RencanaPergerjaan (planning) ... 63

(17)

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.

(18)

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 fileserver, serta mudah ditambah sehingga memiliki penyimpanan yang besar bahkan tak terbatas.

1.4.Batasan Masalah

(19)

Sistem ini hanya diperuntukkan bagi webserver 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 webserver 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

(20)

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

(21)

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

(22)

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

Media Fisik

Komputer 1 Komputer 2

Gambar 2 Jaringan komputer

(23)

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

2.1.1.1. Peer to Peer

Hub

Peer 3

Peer 1 Peer 2

Peer 4

Gambar 3 Jaringan Peer to Peer (UZUMAKI, 2010)

(24)

2.1.1.2. Client Server

Hub

Client 1

Client 3

Client 2 Server

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

(25)

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

(26)

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 yang diekspose bisa berupa info produk/layanan, file-file yang diperlukan konsumen, klien atau karyawan yang mobile, atau juga database yang diperkenankan diakses dari jaringan lain atau jaringan internet.

Firewall akan memproteksi sebagian jaringan internal 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.

(27)

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 bersama-sama dan mengambil keuntungan dari sumber daya masing-masing dengan cara kolektif. Setiap komputer kontribusi beberapa sumber (seperti memori, pengolahan daya dan ruang harddrive) ke jaringan secara keseluruhan.

2.2.1. Sistem Komputerisasi Terdistribusi

(28)

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

(29)

remote data access procedur call

remote data access or transaction processing

Gambar 6 Arsitektur ThreeTier

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

(30)

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

(31)

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 (CommandObjectRequestBrokerArchitecture)

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 (DistributedComponentObjectMode)

(32)

3. RMI (RemoteMethodInvocation)

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 floopydrive dan mengalami beberapa kali perubahan sehingga digunakan untuk mengatur file di harddisk. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah).

(33)

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 servicepack), 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.

(34)

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

(35)

1EB = 1,048,576 TB ukuran maksimum file system dengan 16 TB untuk maksimum filesize nya

Berikut ini merupakan table perbandingan beberapa file system (Microsoft, 2011)dan (bill, et al., 2003):

File System FAT16 FAT32 NTFS EXT3 EXT4

Maximum file size

232 - 1 b 232 - 1 b 256 TB 2 TB 16 TB

Maximum volume size

4 GB 32 GB . 16 EB 16 TB 1EB limited to 16 TB

Files per volume

216 222 232 - 1 223 4 billion

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.

(36)

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

Client

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 remoteRMI service. Lapisan berikutnya adalah lapisan remote referencelayer berfungsi untuk menerjemahkan da mengelola references lalu meneruskan ke remoteserviceobject

(37)

RMI Server

skeleton

Remote Reference Layer

RMI Client

stub

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

(38)

menunjukkan sistem RMI menggunakan Aplication server untuk memanggil class bytecodes, dari server ke client dan dari client ke server, untuk objek-objek yang diperlukan.

RMI

Gambar 9 Referensi Remot Object

2.4.2. Membuat Program Dengan RMI

(39)

1. Mendefinisikan Remote Interface

Definisi remote interface menentukan karakteristik-karakteristik method yang disediakan server yang dapat dilihat oleh client. Karakteristik-karakteristik ini meliputi nama-nama method dan tipe-tipe parameternya, dua hal ini bersama-sama membentuk method signature. Dengan melihat pada remoteinterface, client tahu method apa yang disediakan oleh server dan bagaimana memanggilnya. Pemanggilan remotemethod bisa gagal karena ada kemungkinan tidak dapat berhubungan ke server, yang bisa disebabkan karena server sedang mati atau overload. Oleh karena itu, RMI harus mampu melaporkan error massage, RMI menangani hal ini menggunakan exception handling. Untuk mengindikasikan bahwa suatu obyek dalam suatu interface benar-benar suatu remote object, obyek harus mengimplementasikan suatu remoteinterface. Suatu remote interface harus mempunyai beberapa karakteristik sebagai berikut:

1. Remoteinterface harus dideklarasikan sebagai public. Kalau tidak, client tidak akan bisa mengambil (loading) remote object yang mengimplementasi remoteinterface.

2. Remote interface mengekstensi interface java.rmi.remote. Ini dilakukan untuk memenuhi persyaratan membuat obyek menjadi remote.

3. Tiap method yang dideklarasikan dalam remote interface harus mendeklarasikan java.rmi. RemoteException dan throws clausenya.

2. Implementasi Remote Interface dan Server

(40)

menuliskan satu kelas (classserver) yang mengimplementasi interface di atas. Kelas yang implementasi tersebut haruslah:

1. Mendeklarasikan bahwa kelas tersebut mengimplementasi remote interface. Dalam pemrograman Java, jika suatu kelas mendeklarasikan untuk mengimplementasikan suatu interface,

maka suatu “kontrak” antara kelas dengan compiler telah dibuat.

Dengan kontrak ini, kelas menjanjikan bahwa ia akan menyediakan method bodies, bagi tiap method signatures yang dideklarasikan dalam interface. Kelas implementasi ini juga harus mewarisi UnicastRemoteObject sehingga dapat digunakan untuk membuat remote object yang menggunakan RMI default socket-based transport untuk berkomunikasi.

2. Menentukan konstruktor untuk remote object. Konstruktor mempunyai fungsi sebagai berikut: menginisialisasi variabel-variabel dari instance yang baru dibuat pada suatu kelas dan mengembalikan instance dari kelas kepada program yang memanggil konstruktor. Remoteobject harus di-“ekspor” agar bisa menerima permintaan remote method yang masuk. Dengan mengekstensi java.rmi.server.UnicastRemoteObject kelas akan di-ekspor secara otomatis. Konstruktor harus melakukan throw java.rmi. RemoteException, karena usaha RMI untuk mengekspor remote object mungkin mengalami kegagalan atau ada kemungkinan sumber daya komunikasi tidak tersedia.

(41)

yang berarti semua field dalam obyek disalin, sedangkan remote object dilewatkan dengan referensi. Referensi ini sebenarnya mereferensi ke suatu stub, yang adalah proxy (pada sisi client) bagi remoteobject.

4. Membuat dan menginstal satu security manager. Method main server harus membuat dan menginstal security manager, bisa RMISecurityManager atau security yang didefinisikan sendiri oleh pemrogram. Security manager ini menjamin kelas-kelas yang di -load tidak melakukan operasi yang tidak diperbolehkan. Jika tidak ada securitymanager yang dipsesifikasi maka tidak akan ada class loading yang diperbolehkan.

5. Membuat satu atau lebih instance dari remote object. Method main server harus membuat satu atau lebih instance dari remote object implementation untuk menyediakan layanan. Begitu instance dibuat, server siap mendengarkan permintaan client. 6. Mendaftarkan remote object dengan RMI registry. Agar client

dapat memanggil satu method dalam remote object, pertama-tama client harus mendapatkan referensi ke remote object dari satu registry. Oleh karena itu, remote object harus didaftarkan dalam RMI registry. Konversi penamaan oleh karenanya diperlukan untuk pendaftaran dan pencarian obyek dari namanya. Sistem RMI menyediakan satu solusi dengan URL-based registry yang memungkinkan kita untuk melekatkan obyek, menggunakan //host/object-Name, di mana object-Name adalah satu nama yang sederhana.

Sebagai contoh:

Naming.rebind (“//hostname/Arithserver”, obj);

(42)

mendapatkan referensinya, dan memanggil secara remote method yang ada padanya. Pada contoh di atas hostname adalah hostname di mana server akan berjalan. Yang perlu diperhatikan tentang argumen dalam methodNaming.rebind:

1. Jika hostname diabaikan dalam URL, host defaultnya adalah host saat itu.

2. Dalam defaultnya, RMIregistry akan berjalan pada port 1099. Meskipun demikian, dapat juga digunakan nomor port yang lain, misalnya //hostname:4000.

3. Mengkompilasi Source Files dan Membuat Stub dan Skeleton.

Ini merupakan proses dua langkah. Langkah pertama adalah mengkompilasi source files yang terdiri dari implementasi remote interface, kelas-kelas implementasi, kelas-kelas server, dan kelas-kelas client dengan menggunakan Java compiler. Kompilasi ini akan menghasilkan Java bytecodeclass. Langkah kedua, membuat stub dan skeleton dengan mengkompilasi kelas dengan rmiccompiler.

4. Memulai RMI Registry.

(43)

mendapatkan penetapan port dari RMI registry, sedangkan client melihat ke server dengan Naming.lookup dalam registry dan kemudian membuat permintaan untuk suatu referensi obyek.

RMIregistry dijalankan dengan baris perintah, pada sistem Windows: Start rmiregistry

Registry harus dihentikan dan dijalankan lagi setiap ada modifikasi remote interface atau penggunaan remote interface tambahan dalam suatu remote object implementation. Jika hal ini tidak dilakukan, maka tipe referensi obyek yang ada dalam registry tidak akan sesuai dengan kelas yang telah dimodifikasi.

5. Menjalankan Server dan Client

Pada saat menjalankan server, java.rmi. server.codebase property harus ditentukan, sehingga kelas stub dapat di-download secara dinamis ke registry dan kemudian ke client. Jika codebase property mereferensikan ke suatu directory tertentu, maka harus dipastikan bahwa kelas-kelas lain yang diperlukan untuk download juga harus dipasang pada directory yang direferensikan oleh java.rmi. server.codebase. Server dijalankan dengan baris perintah ”java”. Contoh berikut memperlihatkan baris perintah untuk menjalankan server:

Java -Djava.rmi.server.codebase =http:// hostname/

-Djava.security.policy=D:\directory_file _policy\policy

directory_file_kelas_implementasi.KelasImplementasi

(44)

2.5.Penyimpanan Data

2.5.1. RAID (Redundant Array of Independent Disk)

RAID singkatan dari “Redundant Arrayof IndependentDisk”. Konsep

RAID diciptakan untuk mendapatkan kapasitas yang lebih besar dan/atau Fault tolerance yang disebabkan oleh kerusakan Harddisk. Fault Tolerance adalah kemampuan dari suatu system untuk dapat tetap berfungsi meskipun mengalami kegagalan. RAID didesain untuk meningkatkan keandalan data dan/atau meningkatkan kinerja I/O dari harddisk. Berdasarkan (Stallings, 1996) RAID dibagi ke dalam 6 level.

1. RAID 0 (Striping)

RAID 0 adalah RAID yang tidak memiliki redudansi data, yaitu data yang disimpan akan disebar ke semua disk, untuk menyimpan file ke harddisk penyimpananya dengan menggunakan round roubin striping, namun bila ada data yang rusak maka tidak memiliki backup

2. RAID 1 (Mirroring)

RAID 1 bekerja dengan prinsip cermin, yaitu berpasang-pasangan dan identik antara satu dengan yang lainnya. Jadi dengan RAID 1, data yang ditulis ke satu Harddisk secara simultan ditulis juga ke Harddisk yang lainnya. Sehingga jika terjadi kerusakan 1 Harddisk pada RAID 1, systemserver masih memiliki data cadangan di harddisk yang lainnya

3. RAID 2

(45)

4. RAID 3

RAID 3 juga menggunakan sistem stripping. Juga menggunakan harddisk tambahan untuk reliability, namun hanya ditambahkan sebuah harddisk lagi untuk parity. Karena itu, jumlah harddisk yang dibutuhkan adalah minimal 3 (n+1 ; n > 1). Harddisk terakhir digunakan untuk menyimpan parity dari hasil perhitungan tiap bit-bit yang ada di harddisk lainnya.

5. RAID 4

RAID 4 Sama dengan sistem RAID 3, namun menggunakan parity dari tiap block harddisk, bukan menggunakan bit. Kebutuhan harddisk minimalnya 3 (n+1 ; n >1)

6. RAID 5

RAID 5 pada dasarnya sama dengan RAID 4, namun dengan pariti yang terdistribusi. Yakni, tidak menggunakan harddisk khusus untuk menyimpan paritinya, namun paritinya tersebut disebar ke seluruh harddisk. Kebutuhan harddisk minimalnya adalah 3, (n+1 ; n >1).

7. RAID 6

Secara umum adalah peningkatan dari RAID 5, yakni dengan penambahan parity menjadi 2 (p+q). Sehingga jumlah harddisk minimalnya adalah 4 (n+2 ; n > 1). Dengan adanya penambahan pariti sekunder ini, maka kerusakan dua buah harddisk pada saat yang bersamaan masih dapat ditoleransi.

2.6.Message Digest 5 (MD 5)

(46)

bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file.

MD5 merupakan salah satu fungsi dari kriptografi yang dapat membangkitkan kode unik dari suatu file dan dapat mendeteksi perubahan isi dari suatu file walaupun perubahan tersebut sangat kecil. Perubahan dapat terdiri dari penambahan, pengurangan atau penggantian isi dari suatu file.

MD5 merupakan hash satu arah sehingga kode yang dihasilkan dari suatu data sangat sulit untuk dikembalikan ke kode sumbernya. MD5 akan mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit. Algoritma MD5 dengan fungsi hashnya sangat peka terhadap perubahan file, maka algoritma MD5 cocok untuk aplikasi yang menjaga integritas suatu data

Namun yang patut diketahui, penggunaan MD5 bukan untuk merahasiakan data atau pesan akan tetapi untuk menjaga otentifikasi data sehingga data satu dengan data yang telah terkirim tidak akan diubah-ubah untuk kepentingan yang lain.

2.7.Penelitian Sebelumnya

(47)
(48)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Arsitektur Sistem Penyimpanan Terdistribusi

Telah di jelaskan sebelumnya pada latar belakang bahwa sistem ini memiliki fungsi untuk mengatur sistem penyimpanan data web server sehingga dapat di lakukan penyimpanan secara terdistribusi pada beberapa komputer lain. karena penyimpanan merupakan sebuah kebutuhan yang penting pada saat ini, contohnya banyak website yang menyediakan tempat penyimpanan gratis dan menyediakan layanan backup data sebagai pengamanan terhadap data yang kita miliki. Contoh lain yang dapat kita ambil adalah email, layanan email yang memiliki ruang penyimpanan untuk setiap user, dan itu pasti semua data akan di disimpan oleh server. Data dari windows live sebagai penyedia SkyDrive yakni penyimpanan Online, bahwa setiap user berhak atas 25GB penyimpanan Online. maka dapat di bayangkan seberapa banyak media penyimpanan yang harus dimiliki server SkyDrive untuk menyimpan data yang dimiliki oleh semua user.

Secara umum sistem penyimpanan file terdiri dari 3 komponen utama, meliputi :

1. Client

2. Aplication Server / Web Server 3. File Server

(49)

Dengan menggunakan sistem penyimpanan yang terdistribusi maka meningkatkan keamanan data yang kita simpan, karena disimpan pada beberapa komputer maka terhindar dari kerusakan data karena komputer yang kita gunakan untuk menyimpan data rusak.

Berikut merupakan gambaran dari sistem penyimpanan file yang terdiri dari 3 jenis komponen utama, yaitu :

Internet/ intranet

Internet/ intranet

File Server 1

Aplication Server/ Web Server

File Server 2

File Server N Client

Admin

Gambar 10 Gambaran umum sistem penyimpanan file terdistribusi

(50)

3.1.1. Contoh arsitektur sistem

Berikut merupakan contoh desain implementasi jaringan yang nantinya bisa diterapkan, pada gambar dibawah ini terlihat webserver bisa terhubung dengan beberapa file server dan memiliki jaringan intranet tersendiri sehingga tidak bisa diakses dari luar, dengan implementasi pada jaringan seperti ini maka keamanan jaringan lebih terjamin karena web server dan file server tidak bisa diakses dari luar. Konfigurasi jaringan seperti ini cocok digunakan untuk kebutuhan lokal saja seperti penyimpanan untuk sebuah kantor atau sekolah yang membutuhkan penyimpanan.

File Server 1 File Server 4

File Server 2 File Server 3

Web Server Client

Gambar 11 Arsitektur dengan file server lokal

(51)

Web Server Web Server File Server 3

File Server 1

File Server 5 File Server 2

File Server 4

Client

Client

Gambar 12 Arsitektur peneggunaan file server bersama-sama

(52)

internet

internet internet

internet

internet internet

File Server 2

File Server 1

Web Server

File Server 5 File Server 4

File Server 3

Web Server Web Server

Client

Client Client Client

Gambar 13 Arsitektur file server dengan jaringan internet

Pada desain berikutnya seperti gambar diatas dapat dilihat desain yang digunakan untuk skala jaringan yang lebih besar, misalnya untuk penyimpanan online, desain seperti ini dimungkinkan jumlah file server yang banyak, dalam penggunaan satu fileserver bisa digunakan untuk satu web server maupun banyak web server. Dengan jaringan yang terhubung dengan internet maka web server dan file server dapat diakses dari manapun yang terhubung dengan internet, dalam arsitektur ini web server dan file server dengan asumsi memiliki pengamanan sendiri, dan jaringan internet adalah jaringan yang aman dan serta tidak memiliki kendala.

(53)

Database Server Web Server

File Server 1 File Server 2

Web Server

File Server 1 File Server 2

Gambar 14 Arsitektur database terpisah dan tergabung

Untuk jenis pertama yaitu web server bertindak sebagai web server sekaligus databaseserver, rancangan ini untuk penyimpanan dengan skala kecil, rancangan yang kedua yaitu webserver hanya bertindak sebagai web server, sedangkan untuk server basisdatanya menggunakan komputer tersendiri, dengan menggunakan rancangan ini beban web server lebih ringan karena tidak menangani database, rancangan ini dapat diterapkan untuk desain sistem yang lebih besar.

3.2.Komunikasi Sistem

Pada sistem ini, komunikasi antar sistem menggunakan konsep client server, yaitu aplication server merupakan client dari fileserver dan aplication server juga berperan sebagai server karena memiliki client lain yaitu pengguna sistem nantinya.

(54)

3.2.1. Sistem File Server

File server ini merupakan bagian dari sistem client server yang berperan sebagai server dari cliennya yaitu aplication server. File server ini bertugas untuk melakukan penyimpanan data. Komputer yang di fungsikan sebagai fileserver ini lebih cenderung untuk pasif, bila tidak ada perintah dari aplication server maka komputer tersebut tidak akan melakukan apa-apa. Fileserver ini tidak harus memiliki kemampuan yang tinggi karena yang dimanfaatkan dari komputer ini dalam besarnya penyimpanan yang dimiliki.

3.2.2. Sistem Aplication server

Bagian ini merupakan layanan utama yang akan di kerjakan yaitu sebuah web server. Aplication server ini memiliki tanggung jawab untuk menyediakan pelayanan bagi client, terutama pelayanan terhadap data yang akan di akses oleh client. aplication server ini memiliki sebuah sistem yang bisa membagi tempat penyimpananya pada beberapa komputer lain dan memastikan file yang disimpan pada file server sama sebelum dan sesudah dikirim. Dengan menggunakan sistem penyimpanan ini maka aplication server akan memiliki tempat penyimpanan yang tidak terbatas, dengan semakin banyaknya komputer yang di gunakan untuk media penyimpanan maka semakin besar tempat penyimpanan pada server tersebut.

3.2.3. Sistem Client

(55)

3.3.Sistem yang Dikembangkan

3.3.1. Pembagian Penyimpanan File

Dalam melakukan penyimpanan aplication server harus memikirkan persebaran data yang disimpan sehingga data tidak hanya berkumpul pada satu file server saja, maka dari itu untuk menyimpan data aplication server akan memiliki perhitungan berapa file server yang dimiliki, dengan mengetahui jumlah komputer yang dimiliki maka web serve akan menjadwalkan secara urut sehingga penyimpananya dapat merata, berikut merupakan contoh gambaran penyimpanan dengan memiliki 4 fileserver.

Master2 Master1

Slave 3

Master 4

Web Server

Slave 4 Master 3

Slave 2 Slave 1

Gambar 15 Desain sistem penyimpanan dengan 4 server

(56)

pada file server secara bergantian sedangkan Mirroring (RAID 1) dalam sistem ini juga bukan mirroring sesungguhnya namum proses menyimpan file pada dua file server jadi data yang dikirim dipastikan disimpan pada 2 file server.

Proses yang terjadi saat beberapa file diterima di web server maka sistem menjalankan prosedur striping yaitu mengatur file yang dikirim oleh user ke semua file server yang ada, dengan metode ini file akan tersebar ke semua file server, lalu tehnik kedua adalah mirroring, dengan tehnik ini file yang dikirim oleh client tersebut akan di duplikasi dan disimpan di 2 file server yaitu master dan slave server, tehnik ini digunakan untuk meningkatkan keamanan data, sehingga jika terjadi kerusakan pada master file server, system server masih memiliki data cadangan di slave file server

3.3.2. Indexing File

Dalam menyimpan file perlu adanya prosedur yang digunakan agar nantinya mempermudah saat melakukan pencarian file. Indexing ini memiliki fungsi utama untuk mempercepat pencarian file yang dimiliki application server tersebut. aplication server akan memiliki sebuah database yang berguna untuk menyimpan keterangan yang dimiliki oleh file (metadata), Indexing file ini akan menyimpan metadata file dalam database dengan format tertentu agar mempermudah mencocokan pencarian dengan kata kunci pencarian, tabel di bawah ini akan menjelaskan metode yang di gunakan dalam menyimpan index file tersebut.

Tabel 1 Indexing File

NO NamaFile Metadata LokasiSimpan

1 Laporan tahunan 2010 Laporan tahunan

(57)

2 Jatuh cinta lagi Lagu kesayangan

Server2

3 Laporan praktikum pemrograman 1

Laporan semester 2

Server2

… … …. …

Setelah data di simpan dalam database, maka saat mencari cukup melihat index di application server saja.

3.3.3. Mengungah File

Dalam menyimpan file, aplication server akan memilih tempat penyimpanan sesuai dengan urutan giliran file server, setelah menentukan file server yang digunakan maka file akan dikirim ke aplication server. Prosedur penyimpanan file pada sistem ini akan di gambarkan pada gambar di bawah ini :

Internet/ Intranet

File Server Aplication

Server

Simpan File

Stream File Kirim File

Stream File

File File

Gambar 16 Prosedur mengungah file

(58)

menjadi stream file, kemudian aplication server akan mentransmisikan stream tersebut menggunakan fungsi kirim file, dimana fungsi ini merupakan fungsi yang memanggil fungsi simpan file yang ada di file server, setelah semua data berhasil di kirim maka file server akan menyimpan sesuai nama dan tempat penyimpanannya, lalu untuk memastikan file yang dikirim sama maka akan ada prosedur yang mencocokan file sebelum dan sesudah dikirim.

3.3.4. Mendownload File

Dalam mengunduh file yang ada pada fileserver , aplication server memiliki prosedur pengunduhan. Gambar di bawah ini akan menjelaskan bagaimana bisa memperoleh link untuk mengunduh file.

Internet/ Intranet

File Server Aplication

Server

Download link Membuat download link ke

file server Index file

File terpilih

File

Gambar 17 Prosedur mengunduh file

(59)

3.4.Use Case

3.3.1. Algoritma Upload dan Download

Berikut merupakan algoritma utama sistem penyimpanan yang berisi proses

menyimpan dan mengambil file pada fileserver.

Start

Cari file server yang menyimpan

file tersebut

End Membuat link

download Pilih file yang di

download

Gambar 18 Algoritma Download

Gambar di samping merupakan prosedur untuk mengunduh file yang ada di fileserver.

(60)

Start

Kirim file yang di upload

Kirim file ke file server

Buffer file di web server

Hitung MD5 file

Gambar 19 Algoritma Upload

Berikut merupakan proses uploadfile, yaitu saat user menyimpan file pada file server.

Pada proses ini diawali saat user memilih file yang akan di simpan melalui web browser, lalu web server akan mem-buffer file yang dikirim. Setelah file sampai di web server akan menampilkan pada user bahwa proses upload telah selesai namun dalam proses penyimpanan

(61)

3.3.2. Diagram Use Case

Dari spesifikasi rancangan sistem diatas maka menghasilkan usecase dari sistem penyimpanan file terdistribusi.

<<include>>

Gambar 20 Use Case Sistem

(62)

sediakan oleh aplication server, apabila client membutuhkan file maka aplication server akan mencarikan di file server setelah itu baru di berikan pada client.

Tabel 2 Tabel use case

No Nama Usecase Deskripsi Use Case Aktor

1 Register Use case ini mengambarkan proses dimana client mendaftar pada sistem.

Client

2 Login Client Use case ini digunakan untuk memvalidasi user yang ingin masuk kedalam sistem.

Client

3 View Use case ini digunakan untuk melihat

file yang dimiliki client tersebut pada fileserver, dan untuk mencari file yang pernah diungah oleh client.

Client

4 Search Use case ini digunakan untuk mencari file berdasarkan kata kunci pencarian

Client

5 Upload Use case ini digunakan untuk mengungah file pada fileserver .

Client

6 Download Use case ini digunakan untuk mengunduh file dari fileserver .

Client

7 Delete Use case ini digunakan untuk

menghapus file pada indexFile dan file server .

Client

8 Change

Password

Use case ini digunakan untuk mengubah password client.

Client

9 Login Admin Use case ini digunakan untuk

memvalidasi admin yang ingin masuk kedalam sistem.

Admin

10 Add Server Use case ini digunakan untuk menambah fileserver .

Admin

11 Change IP Use case ini digunakan untuk menganti IP file server.

Admin

12 Monitoring Server

Use case ini digunakan untuk melihat daftar file server dan melakukan cek status fileserver .

Admin

13 Delete Account Use case ini digunakan untuk menghapus client beserta file yang dimiliki client tersebut

Admin

14 Change

Password Client

Use case ini digunakan untuk mengubah password yang dimiliki client.

Admin

(63)

dan menghapus laporan error saat terjadi kegagalan upload.

3.3.3. Narasi Use case

Setiap use case yang di gambarkan akan dirinci dalam sebuah narasi yang merupakan deskripsi tekstual dari kejadian bisnis dan bagaimana pengguna berinteraksi dengan sistem untuk menyelesaikan tugas tersebut. Untuk lebih jelas tahap ini dapat di lihat pada lampiran 1 3.3.4. Activity Diagram

Activity Diagram merupakan diagram yang menjelaskan aktivitas user dengan program. Untuk lebih jelas tahap ini dapat di lihat pada lampiran 2

3.4.Model Analisis

Model analisis adalah salah satu proses untuk menerjemahkan skenario use case menjadi kelas analisis. Dalam kelas analisis terdapat tiga jenis, yakni interface, controller dan entity. Dalam class analisis juga berisi diagramsequence.

3.4.1. Relasi Use Case

Pada tahap ini, analisis kelas dilakukan pada semua use case. Setiap use case dicari kelas analisis sehingga kebutuhan kelas dapat ditentukan. Untuk lebih jelas tahap ini dapat di lihat pada lampiran 3.

3.4.2. Diagram Kelas Analisis Keseluruhan

(64)

agar mudah di mengerti. Untuk lebih jelas tahap ini dapat di lihat pada lampiran 4.

3.5.Model Desain

Tahap berikutnya dalam pengembangan perangkat lunak ini adalah dengan membuat model desain. Pemodelan desain ini bertujuan untuk menghasilkan suatu model atau representasi dari entitas yang kemudian akan dibangun.

3.5.1. Atribut dan Method

Bagian ini akan menjelaskan lebih detail mengenai atribut dan method dari kelas desain. Detail tentang atribut dan method kelas desain dapat dilihat pada lampiran 5.

3.5.2. Rancangan Interface

Bagian ini akan menjelaskan tentang user interface yang akan diimplementasikan pada program. Rancangan user interface, dapat dilihat pada lampiran 5.

3.5.3. Entity Relational Diagram

(65)

date

Gambar 21 ERDiagram

Dalam entitas diatas index server merupakan table untuk menyimpan data-data server, table index file digunakan untuk menyimpan data-datafile, table data user digunakan untuk menyimpan data username dan password user, table admin digunakan untuk menyimpan data username dan password milik admin, sedangkan table report digunakan untuk menyimpan report error saat terjadi kegagalan proses pada sistem. Berikut merupakan physical design, sebagai implementasi dari sesain data base.

(66)

Gambar 22. Physicaldesign

3.6.Metode Evaluasi

3.6.1. Pengujian Method

Pada langkah ini dalam melakukan pengujian apakah fungsi yang dibuat

dapat berjalan dengan baik, dengan cara melakukan test setiap fungsi yang ada apakah dapat berjalan baik. Untuk lebih lengkapnya dapat di lihat pada lampiran

6.

3.6.2. Pengujian Use Case

Pada langkah ini melakukan pengujian apakah setiap case dapat berjalan

dengan lancar, dengan cara ini dapat diketahui apakan sistem berjalan sesuai dengan rancanganya. Dengan melakukan tes ini di harapkan fungsi sistem yang

di kerjakan dapat berjalan dengan baik. Untuk lebih jelas maka untuk desain pengujian usecase ada dilihat pada lampiran 6.

3.6.3. Beta Testing

Pada langkah ini melakukan pengujian semua fungsi dapat berjalan dengan lancar, namun pada testbeta ini pengguna sistem adalah pengguna sesunguhnya

Gambar

Gambar 1 Metode Incremental
Gambar 3 Jaringan Peer to Peer (UZUMAKI, 2010)
Gambar 4 Jaringan Client Server (UZUMAKI, 2010)
Gambar 10 Gambaran umum sistem penyimpanan file terdistribusi
+7

Referensi

Dokumen terkait

Map info dapat melakukan update data dari satu window yang akan berpengaruh terhadap data pada window lain, sebagai contoh, jka kita akan menseleksi informasi pada browser (window map

[r]

Data yang digali meliputi gambaran umum lokasi penelitian, identitas responden dan deskriptif kasus serta analisis hukum ekonomi syariah terhadap praktek tukar

Langkah yang diperlukan yaitu menyiapkan pola mobil kemudian membuat box yang akan dibentuk dengan cara edit vertex dari box tersebut sehingga dihasilkan

Tujuan Penelitian ini bertujuan untuk mengetahui hubungan kadar asetilkolinesterase dengan gambaran EKG pada petani yang terpapar kronik pestisida organofosfat. Metode

Maka dari itu dalam masalah ini penulis akan membahas mengenai suatu hubungan yang terdapat dalam efektivitas sistem informasi akuntansi di dalam hotel, karena di dalam

136 Kebumen Telp 0287 381988 Pemeliharaan rutin/berkala gedung kantor. Belanja papan

Lampiran poto tepung komposit dari jenis tepung kasava termodifikasi pada berbagai metode pengeringan dan tepung terigu... Tepung komposit terdiri dari