TUGAS AKHIR – CI1599
SISTEM BACK UP TERDISTRIBUSI BERBASIS PYTHON-FUSE (FILESYSTEM IN USERSPACE) ISA BETA ALDI NRP 5104100097 Dosen Pembimbing Wahyu Suadi, S.Kom, M.Kom Royyana Muslim I, S.Kom, M.Kom JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2009
TUGAS AKHIR – CI1599
SISTEM BACK UP TERDISTRIBUSI BERBASIS PYTHON-FUSE (FILESYSTEM IN USERSPACE)
ISA BETA ALDI NRP 5104100097 Dosen Pembimbing Wahyu Suadi, S.Kom, M.Kom Royyana Muslim I, S.Kom, M.Kom
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2009
UNDERGRADUATE THESES – CI1599
DISTRIBUTED BACKUP SYSTEM BASED ON PYTHON-FUSE(FILESYSTEM IN USERSPACE)
ISA BETA ALDI NRP 5104100097 Supervisor Wahyu Suadi, S.Kom, M.Kom Royyana Muslim I, S.Kom, M.Kom
DEPARTEMENT OF INFORMATICS Faculty of Information Technology Sepuluh Nopember Institute of Technology Surabaya 2009
LEMBAR PENGESAHAN
SISTEM BACK UP TERDISTRIBUSI BERBASIS PYTHON-FUSE (FILESYSTEM IN USERSPACE) TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer pada Bidang Studi Net Centric Computing Program Studi S-1 Jurusan Teknik Infomatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Oleh : ISA BETA ALDI NRP. 5104 100 097
Disetujui oleh Tim Pembimbing Tugas Akhir :
Wahyu Suadi, S.Kom, M.Kom ............ …( Pembimbing I)
Royyana Muslim I, S.Kom, M.Kom....…...( Pembimbing II) SURABAYA, JULI 2009
SISTEM BACK UP TERDISTRIBUSI BERBASIS PYTHON-FUSE (FILESYSTEM IN USERSPACE) Nama Mahasiswa NRP Jurusan Dosen Pembimbing I Dosen Pembimbing II
: Isa Beta Aldi : 5104100097 : Teknik Informatika FTIf – ITS : Wahyu Suadi, S.Kom, M.Kom : Royyana Muslim I, S.Kom, M.Kom
ABSTRAK Dalam penyimpanan data-data penting, salah satu prosedur yang umum adalah melakukan “backup” yang bertujuan mengamankan ketersedian data jika terjadi kerusakan atau mungkin bahkan kehilangan data.Tentunya dalam pengimplementasian suatu sistem backup, untuk memenuhi fitur utamanya yaitu “redundancy” atau duplikasi, ketersediaan ruang dalam media penyimpanan sangat diperlukan. Bahkan pada beberapa kasus, kehilangan data dapat disebabkan karena kerusakan perangkat keras, sehingga diperlukan media penyimpanan yang berbeda dengan yang digunakan untuk menyimpan data utama untuk menjaga ketersediaan data. Kendala yang muncul adalah besarnya biaya yang diperlukan untuk memenuhi kebutuhan ruang tersebut. Tugas Akhir ini dikembangkan untuk memberikan solusi tentang masalah keterbatasan ruang tersebut dengan cara melakukan distribusi penyimpanan pada file-file yang ingin di backup. File-file tersebut akan dipecah dan dilakukan duplikasi pada setiap pecahannya. Lalu pecahan-pecahan tersebut akan didistribusikan ke komputer-komputer yang difungsikan sebagai “backupserver” untuk disimpan. Untuk operasi-operasi yang membutuhkan pembacaan file, pecahan-pecahan file tersebut dikumpulkan kembali dan i
kemudian disatukan agar bisa dilakukan pembacaan. Jika pengguna melakukan pengeditan, ketika selesai pada saat proses penutupan file, file tersebut akan dipecah dan didistribusikan kembali Agar memudahkan pengguna Tugas Akhir ini akan diimplementasikan dalam bentuk “filesystem” sehingga pengguna tidak perlu lagi mempelajari cara pengoperasian sistem ini. Untuk itu Tugas Akhir ini dikembangkan dengan menggunakan bahasa Python dengan “library” FUSE yang biasa disebut Python-FUSE. Kata Kunci : Backup, Terdistribusi, Filesystem, Python, FUSE
ii
DISTRIBUTED BACKUP SYSTEM BASED ON PYTHONFUSE (FILESYSTEM IN USERSPACE) Name NRP Departement First Advisor Second Advisor
: Isa Beta Aldi : 5104100097 : Teknik Informtika – FTIf ITS : Wahyu Suadi, S.Kom, M.Kom : Royyana Muslim I, S.Kom, M.Kom
ABSTRACT Backup becomes a common procedure in storing important datas to keep its availability when damage or maybe even lost occurs to the datas. In the implementation of a backup system space avaiablility in the storage device is surely needed to provide redundancy as the main feature of the backup system itself. On the some cases, data lost can be caused by hardware or device failure, so its need different storage device from the main storage device that saved the main datas to save the backup datas in order to provide data avaiability. The problem that occurs to provide space needs are the cost is too expensive. This application is developed in order to give solution about that limited space problem by saving the files that needs to backups distributedly. Those files will be splited and for each part of the files will be duplicated. Then those parts will be sent to the computers that used as backup servers in order to store those parts. For operations that need to read the file, those file parts will be retrieved from the srevers and then those parts will be joined as a file in order reading the file can be done. If user editing the file, when it offer on the closing the file process, the file will be splited and distributed again.
iii
In order to make the system easier to use, this application will be implemented as a filesystem so the users is not need to learn how to operating the system. In order to implements that, this final project is developed using Python programing language and using FUSE wrapper library that called Python-FUSE. Keywords : Backup, Distributed, Filesystem, Python, FUSE
iv
KATA PENGANTAR
Segala puji syukur dipanjatkan ke hadirat Allah SWT yang telah memberikan rahmat, hidayah dan kekuatan kepada penulis sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul:
“SISTEM BACKUP TERDISTRIBUSI BEBASIS PYTHON-FUSE (FILESYSTEM IN USER SPACE)” Mata kuliah Tugas Akhir yang memiliki beban sebesar empatsatuan kredit semester disusun dan diajukan sebagai salah satu syarat untuk menyelesaikan program studi strata satu (S-1) pada jurusan Teknik Informatika Fakultas Teknologi Informasi di Institut Teknologi Sepuluh Nopember Surabaya. Dengan mengucap syukur kepada Allah SWT, dengan ini penulis hendak menyampaikan penghormatan dan terima kasih yang sebesar-besarnya kepada berbagai pihak yang telah memberikan dukungan baik secara langsung maupun tidak secara langsung antara lain kepada: 1. Ibunda tercinta, atas segala doa, didikan, bimbingan, nasehat, dorongan semenjak penulis dalam kandungan beliau hingga sekarang. Mohon maaf kepada Ibu, atas kesalahan penulis selama ini. Semoga Allah selalu melindungi, memberikan kesehatan, dan kemudahan kepada Ibu. Sungguh segala yang Ibu korbankan takkanbisa penulis balas hingga akhir hayat penulis. 2. Ayahanda tercinta, atas segala doa, didikan, bimbingan, nasehat, dorongan semenjak penulis lahir hingga sekarang. Semoga Allah selalu melindungi, memberikan kesehatan, dan kemudahan kepada Ayah. Sungguh segala yang Ayah korbankan takkan bisa
v
penulis balas hingga akhir hayat penulis. 3. Mas Yulim dan Mbak Anggi sekeluarga, atas segala perhatian dan fasilitas yang telah diberikan kepada penulis. Semoga Allah selalu melimpahkan rejeki, rahmat dan perlindungan-Nya kepada keluarga sekalian, Untuk Mbak Anggi semoga dapat melahirkan si kecil dengan selamat, sehat, dan tanpa kekurangan apapun baik Mbak Anggi sendiri dan si kecil. 4. Bapak Wahyu Suadi, S.Kom, M.Kom dan Bapak Royyana Muslim I, S.Kom, selaku dosen pembimbing Tugas Akhir ini. Terima kasih atas segala bimbingan dan dukunganya. Terima kasih atas ide, saran, dan kritik yang membantu menemukan solusi dalam pengerjaan Tugas Akhir ini. 5. Suyono, S.Kom, dan Wahyu “sumongki” Widi Agung atas saran, kritik, semangat, dan bimbinganya baik secara teknis maupun nonteknis. Terima kasih atas kerelaannya membantu penulis dalam memahami konsep-konsep dasar filesystem dan pemrograman menggunakan bahasa python. Semoga semakin sukses kedepannya. 6. Febra “Mendut” Gamalia, selaku adik, terima kasih atas dukungan dan saran-sarannya agar penulis bisa tampil lebih baik. Semoga tetap sehat dan berhasil diterima sebagai mahasiwa. Tetap semangat dan jangan lupa untuk berdoa, jadilah anak yang baik, taat pada orang tua, dan berusahalah untuk lebih teliti, rajin dan bisa mengurangi kecerobohan dan kejorokanmu. 7. Secara khusus terima kasih kepada Desy Kristanti, atas segala perhatian, dukungan, dan doronganya. Terima kasih atas pengertian dan kesabarannya dalam menghadapi sikap penulis selama mengerjakan Tugas Akhir ini. Terima kasih atas kerelaannya yang telah “repot-repot” berkunjung ke surabaya dari malang hanya untuk memberikan dukungan kepada penulis vi
8.
9.
10.
11.
12.
13.
14.
15.
16.
secara langsung. Keluarga besar angkatan 2004 teknik informatika, atas semangat dan dukunganya untuk penulis agar segera menyelesaikan Tugas Akhir ini. Kalian adalah keluarga dan sahabat-sahabat terbaik. Mas yono dan suneo atas pertanyaan-pertanyaannya yang kritis sehingga membantu penulis dalam menemukan permasalahan dalam pengerjaan Tugas Akhir ini. Bambi Dentaries Prilanda, atas persahabatan dan persaudaraanya selama ini. Terima kasih telah merawat penulis ketika penulis sakit. Terima kasih atas dukungannya baik secara spiritual dan finansial ketika penulis mengalami kemunduran spiritual maupun finansial. Hasan Mashudha, S.Kom, atas ajakan untuk ber jogging setiap hari, sehingga penulis tetap terjaga kesehatannya. Semoga berhasil dengan kisah cintamu. Hudha, suneo, kiky, hadziq dan semua teman-teman di chamber of secret, atas dukunganya selama ini dan selalu tidak lupa mengajak penulis untuk makan siang dan menunaikan sholat. Penghuni, dan pengurus laboratorium NCC, atas kerjasama dan persahabatannya selama ini sehingga membuat penulis merasa nyaman berada di dalam laboratorium. Nofian “Pak No” Adi Prasetyawan dan Rahmat Thamrin R, atas kerjasama dan fasilitas yang telah diberikan kepada penulis selama pengerjaan. Hudha, Pak No, Adam, Chika, Zulkifli, dan Adhi, yang selama ini menemani penulis saat jogging. Semangat, lanjutkan kebiasaan untuk berolah raga, agar selalu sehat, segar, dan bugar. Bapak-bapak pegawai BPS yang sekarang menghuni kos-kosan B-14 bersama penulis dan sedang
vii
17.
18.
19.
20.
menjalankan tugas belajar program studi pasca sarjana di jurusan Statistika ITS, atas perhatian dan dukunganya selama ini. Semoga segera dapat menyelesaikan tugas belajarnya dan segera kembali berkumpul dengan keluarga masing-masing. Guido Van Rossum dan segenap pengembang Python beserta para kontibutor, atas pengembangan Python hingga mencapai versi terbaru. Linus Torvalds dan seluruh pengembang, contributor, atas pengembangan GNU/Linux. GNU/Linux tetapmenjadi pilihan utama untuk menjawab berbagai tuntutan sistem. Para pengembang dan maintainer FUSE yang terbukti memudahkan pembuatan berbagai filesystem untuk tujuan apapun. Ian Murdock beserta pengembang, maintainer, dan contributor Debian. Sebuah distro pioneer yang telah banyak sekali diturunkan menjadi berbagai macam distro baru dengan berbagai tujuan saat ini.
Sebagai manusia biasa penulis menyadari bahwa Tugas Akhir ini jauh dari sempurna, atas segala kekurangan dalam tugas akhir ini penulis sangat mengharapkan kritik dan saran yang membagun dari pembaca sekalian.
Surabaya, Juli 2009
Isa Beta Aldi viii
DAFTAR ISI ABSTRAK ..................................................................................... i ABSTRACT .................................................................................iii KATA PENGANTAR .................................................................... v DAFTAR ISI ................................................................................ ix DAFTAR GAMBAR ..................................................................xiii DAFTAR TABEL ......................................................................xvii BAB 1 PENDAHULUAN ......................................................... 1 1.1 Latar Belakang .............................................................. 1 1.2 Tujuan Dan Manfaat ...................................................... 3 1.3 Permasalahan ................................................................. 4 1.4 Batasan Masalah ............................................................ 4 1.5 Metodologi .................................................................... 5 1.6 Sistematika Laporan ...................................................... 6 BAB 2 DASAR TEORI ............................................................. 9 2.1 Python............................................................................ 9 2.1.1 Python Standard Library...................................... 10 2.1.2 Python Semantik dan Syntak ............................... 11 2.1.3 Implementasi Python ........................................... 13 2.2 Konsep File, Filesystem, dan Filesystem in Userspace(FUSE).................................................................... 15 2.2.1 Konsep File.......................................................... 15 2.2.1.1 Atribut File .................................................. 16 2.2.1.2 Operasi File ................................................. 18 2.2.1.3 Membuka File.............................................. 19 2.2.1.4 Jenis File ...................................................... 20 2.2.1.5 Struktur File ................................................. 21 2.2.1.6 Metode Akses File ....................................... 21 2.2.1.7 Proteksi File ................................................. 22 2.2.2 Struktur Direktori ................................................ 24 2.2.2.1 Atribut Direktori .......................................... 24 2.2.2.2 Struktur Direktori ........................................ 25 2.2.2.3 Operasi Direktori ......................................... 26 2.2.2.4 Direktori Bertingkat..................................... 27
ix
2.2.2.5 Direktori Berstruktur Pohon (Tree).............. 29 2.2.2.6 Direktori berstruktur Graf ............................ 30 2.2.2.7 Mounting ..................................................... 33 2.2.3 Implementasi Filesystem ..................................... 35 2.2.3.1 Virtual Filesystem ........................................ 38 2.2.3.2 Implementasi Direktori ................................ 41 2.2.4 Filesystem in Userspace ...................................... 45 2.3 Backup ......................................................................... 47 2.4 Sistem Terdistribusi ..................................................... 48 2.5 Cache ........................................................................... 51 2.6 Protokol ....................................................................... 55 BAB 3 DESAIN PERANGKAT LUNAK ............................... 59 3.1 Deskripsi Umum .......................................................... 59 3.2 Arsitektur Sistem ......................................................... 61 3.3 Perancangan Protokol Komunikasi Antar Client-server .. ..................................................................................... 64 3.4 Perancangan Sistem di Server Side ............................. 69 3.4.1 Perancangan Penangan Proses Penyimpanan ...... 72 3.4.2 Perancangan Penangan Proses Pengiriman File .. 76 3.4.3 Perancangan Penangan Proses Pengecekan Avaiabilitas File .................................................................. 79 3.5 Perancangan Sistem di Client Side .............................. 81 3.5.1 Perancangan Filesystem ...................................... 82 3.5.2 Perancangan Local Listener................................. 85 3.5.2.1 Perancangan Prosedur Joiner ....................... 87 3.5.2.2 Perancangan Prosedur Spliter ...................... 88 3.5.2.3 Perancangan Fungsi Cek.............................. 90 3.5.2.4 Perancangan Penangan Recovery ................ 93 3.5.2.5 Perancangan Penangan Spreading ............... 96 3.5.3 Perancangan Kelas Thread Receiver ................... 98 3.5.4 Perancangan Kelas Thread Sender .................... 100 BAB 4 IMPLEMENTASI ...................................................... 103 4.1 Lingkungan Pembangunan Perangkat Lunak ............ 103 4.2 Implementasi Rancangan Server-Side ....................... 103 4.2.1 Implementasi Penangan Proses Penyimpanan ... 105 x
4.2.2
Implementasi Penangan Proses Pengiriman File ..... ........................................................................... 107 4.2.3 Implementasi Penangan Proses Pengecekan Avaiabilitas File ................................................................ 108 4.3 Implementasi Rancangan Client Side........................ 109 4.3.1 Implementasi Filesystem ................................... 109 4.3.2 Implementasi Locallistener ............................... 110 4.3.2.1 Implementasi Prosedur Joiner ................... 112 4.3.2.2 Implementasi Prosedur Spliter .................. 113 4.3.2.3 Implementasi Fungsi Check ...................... 113 4.3.2.4 Implementasai Penangan Recovery ........... 114 4.3.2.5 Implementasi Penangan Spreading............ 116 4.3.3 Implementasi Kelas Thread Receiver ................ 117 4.3.4 Implementasi Kelas Thread Sender ................... 119 BAB 5 UJI COBA DAN EVALUASI ................................... 121 5.1 Uji Coba Fungsionalitas ............................................ 121 5.1.1 Skenario Uji Coba ............................................. 121 5.1.2 Uji Coba Mounting Filesystem ......................... 122 5.1.3 Uji Coba Pembuatan File Baru Dengan Menggunakan Kedit.......................................................... 123 5.1.4 Uji Coba Pembacaan File Baru Menggunakan Kedit ........................................................................... 125 5.1.5 Uji Coba Penulisan Dengan Menyalin File ....... 127 5.1.6 Uji Coba Pembacaan File Hasil Penyalinan Dengan Perintah Cat ......................................................... 132 5.1.7 Uji Coba Unmounting Filesystem ..................... 137 5.2 Uji Coba Performa..................................................... 137 5.2.1 Skenario Uji Coba ............................................. 138 5.2.2 Pelaksanaan Uji Coba ........................................ 139 BAB 6 PENUTUP ................................................................. 145 6.1 Kesimpulan................................................................ 145 6.2 Saran .......................................................................... 145 DAFTAR PUSTAKA ................................................................ 147 BIODATA PENULIS ................................................................ 149
xi
DAFTAR GAMBAR
Gambar 2.1: Contoh Code Python .............................................. 13 Gambar 2.2: Diagram Direktori Satu Tingkat ............................. 27 Gambar 2.3: Diagram Direktori Dua Tingkat.............................. 28 Gambar 2.4 : Direktori berstruktur Tree ...................................... 29 Gambar 2.5 : Diagram Path ......................................................... 30 Gambar 2.6 : Acyclic-structured Directory ................................. 31 Gambar 2.7 : General-graph Directory....................................... 32 Gambar 2.8 : Mount dan Unmount pada root Direktori .............. 34 Gambar 2.9 : Layered Filesystem................................................ 37 Gambar 2.10 : Virtual Filesystem Layer ..................................... 39 Gambar 2.11 : Diagram Cara Kerja FUSE .................................. 46 Gambar 2.12 : Diagram Cara Kerja Sistem Terdistribusi ........... 49 Gambar 2.13 : Diagram Layer-Layer dalam Model OSI............. 56 Gambar 3.1 : Diagram Proses Distribusi ..................................... 60 Gambar 3.2 : Diagram Proses Recovery ..................................... 60 Gambar 3.3 : Diagram Sistem Keseluruhan ................................ 61 Gambar 3.4 : Diagram Proses Distribusi ..................................... 63 Gambar 3.5 : Diagram Proses Recovery ..................................... 64 Gambar 3.6 : Diagram Protokol Penerimaan File ....................... 66 Gambar 3.7 : Diagram Protokol Pengiriman File........................ 67 Gambar 3.8 : Diagram Protokol dalam Prosedur Cek ................. 69 Gambar 3.9 : Diagram Alur Jalan Kerja Daemon Secara Umum 70 Gambar 3.10 : Diagram Alur Proses Kerja Thread Secara Umum ..................................................................................................... 71 Gambar 3.11 : Diagram Struktur Penyimpanan Pecahan-Pecahan File............................................................................................... 72 Gambar 3.12 : Diagram Alur Pembuatan Struktur Direktori....... 74 Gambar 3.13 : Diagram Alur Proses Penerimaan File ................ 75 Gambar 3.14 : Diagram Alur Proses Pengiriman File ................. 77 Gambar 3.15 : Diagram Alur Pengecekan Avaiabilitas File ........ 80 Gambar 3.16 : Diagram Alur Operasi Opening File.................... 84 Gambar 3.17 : Diagram Alur Operasi Closing File ..................... 85
xiii
Gambar 3.18 : Diagram Alur Kerja Local Listener Secara Umum ..................................................................................................... 86 Gambar 3.19 : Diagram Alur Kerja Joiner .................................. 88 Gambar 3.20 : Diagram Alur Kerja Spliter................................. 89 Gambar 3.21 : Diagram Alur Kerja Fungsi Cek .......................... 92 Gambar 3.22 : Diagram Alur Kerja Modul Recovery ................. 94 Gambar 3.23 : Diagram Alur Pembagian Kerja Thread .............. 95 Gambar 3.24 : Diagram Alur Proses Spreading........................... 97 Gambar 3.25 : Diagram Alur Pembagian Tugas Sender Thread.. 98 Gambar 3.26 : Diagaram Alur Jalanya Kerja Kelas Receiver Thread .......................................................................................... 99 Gambar 3.27 : Diagram Alur Kerja Kelas Sender Thread ......... 100 Gambar 4.1 : Code Inisialisasi Listener Daemon ...................... 104 Gambar 4.2 : Code Inisialisasi Thread ...................................... 104 Gambar 4.3 : Code Disposal Thread.......................................... 105 Gambar 4.4 : Code Penangan Proses Penyimpanan .................. 105 Gambar 4.5 : Terusan Code proses Penyimpanan ..................... 106 Gambar 4.6 : Code Pembuat Struktur Direktori ........................ 107 Gambar 4.7 : Code Penangan Proses Pengiriman ..................... 107 Gambar 4.8 : Terusan Code Penangan Proses Pengiriman ........ 108 Gambar 4.9 : Code Penagan Proses Pengecekan Avaiabilitas File ................................................................................................... 109 Gambar 4.10 : Code Untuk Melakukan Open File .................... 110 Gambar 4.11 : Code Untuk Closing File ................................... 110 Gambar 4.12 : Code Inisialisasi Locallistener ........................... 111 Gambar 4.13 : Code Inisalisasi Thread Locallistener ................ 111 Gambar 4.14 : Code Disposal Thread untuk Locallistener........ 112 Gambar 4.15 : Code Prosedur Join ............................................ 112 Gambar 4.16 : Code Prosedur Split ........................................... 113 Gambar 4.17 : Code Fungsi Check............................................ 114 Gambar 4.18 : Code Penagan Recovery .................................... 115 Gambar 4.19 : Code Penangan Spreading ................................. 116 Gambar 4.20 : Terusan Code Penangan Spreading.................... 117 Gambar 4.21 : Code Kelas Thread Receiver ............................. 118 Gambar 4.22 : Terusan Code Kelas Thread Receiver ................ 119 xiv
Gambar 4.23 : Code Kelas Thread Sender ................................ 119 Gambar 4.24 : Terusan Code Kleas Thread Sender................... 120 Gambar 5.1 : Log Filesystem saat Mounting ............................ 123 Gambar 5.2 : Pembuatan File coba.txt Dengan Kedit ............... 124 Gambar 5.3 : Log Pengiriman coba.txt di Locallistener ........... 124 Gambar 5.4 : Log Filesystem saat Penulisan coba.txt ............... 125 Gambar 5.5 : Log Recovery coba.txt ........................................ 126 Gambar 5.6 : Log Pembacaan coba.txt di Filesystem ............... 126 Gambar 5.7 : Hasil Pembacaan coba.txt Menggunakan Kedit .. 127 Gambar 5.8 : Log Filesystem Saat Penyalinan File .................. 128 Gambar 5.9 : Log Locallistener ................................................. 129 Gambar 5.10 : Perbandingan Ukuran File Asli Dengan Hasil Proses Distribusi ........................................................................ 129 Gambar 5.11 : Log Penerimaan Pecahan File Pada server 10.151.32.17 .............................................................................. 130 Gambar 5.12 : Log Penerimaan Pecahan File Pada Server 10.151.32.20 .............................................................................. 131 Gambar 5.13 : Log Penerimaan Pecahan File Pada Server 10.151.32.24 .............................................................................. 132 Gambar 5.14 : Hasil dari Pembacaan Menggunakan Perintah “cat”........................................................................................... 133 Gambar 5.15 : Perbandingan Ukuran File Sebelum, Ketika Dan Sesudah Pembacaan .................................................................. 134 Gambar 5.16 : Log Recovery File ............................................. 134 Gambar 5.17 : Log Pada Server 10.151.32.17 .......................... 135 Gambar 5.18 : Log Pada Server 10.151.32.24 .......................... 135 Gambar 5.19 : Log Pada Server 10.151.32.20 .......................... 136 Gambar 5.20 : Log Filesystem saat Pembacaan ........................ 136 Gambar 5.21 : Unmounting Filesystem.................................... 137 Gambar 5.22 : Hasil Uji Coba 1 Mb Dengan Split.................... 139 Gambar 5.23 : Hasil Uji Coba 1 Mb Dengan Split.................... 139 Gambar 5.24 : Hasil Uji Coba 7 Mb Dengan Split.................... 140 Gambar 5.25 : Hasil Uji Coba 12 Mb Dengan Split.................. 140 Gambar 5.26 : Uji Coba 1 Mb Tanpa Split ................................ 141 Gambar 5.27 : Uji Coba 3 Mb Tanpa Split ................................ 141
xv
Gambar 5.28 : Uji Coba 7 Mb Tanpa Split ................................ 142 Gambar 5.29 : Uji Coba 12 Mb Tanpa Split .............................. 142 Gambar 5.30 : Grafik Perbandingan Waktu yang Diperlukan untuk Pengiriman File ............................................................... 143
xvi
DAFTAR TABEL Tabel 5.1 : Tabel Hasil Ujicoba dengan Metode Pertama ......... 140 Tabel 5.2 : Tabel Hasil Uji Coba Dengan Metode Kedua ........ 142 Tabel 5.3 : Tabel Perbandingan Konsumsi Waktu ..................... 143
xvii