MEMBANGUN LAYANAN PENYEDIA PENYIMPANAN FILE ONLINE.

(1)

FILE ONLINE

 

 

  

Diajukan Oleh :

EKO WAHYU APRILIANTO

NPM : 0434010286

   

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR


(2)

Puji syukur atas ke hadirat Tuhan Yang Maha Esa atas segala limpahan Karunia-Nya sehingga dengan segala keterbatasan waktu, tenaga dan pikiran yang dimiliki penyusun, akhirnya penyusun dapat menyelesaikan Tugas Akhir yang berjudul “MEMBANGUN LAYANAN PENYEDIA PENYIMPANAN FILE ONLINE” tepat waktu. Ucapan terima kasih kepada Bapak Prof.DR.Ir.H. Akhmad Fauzi, MMT selaku pembimbing utama Tugas Akhir dan Bapak Abdullah fadil, S. Kom selaku pembimbing pendamping dalam pembuatan Tugas Akhir ini.

Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.

Melalui Skripsi ini penyusun merasa mendapatkan kesempatan besar untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.

Surabaya, November 2010

(Penulis)


(3)

iii ini, penyusun telah menuai banyak bantuan dan dukungan dari banyak pihak, untuk itu pada kesempatan yang sangat berharga ini penyusun mengucapkan terima kasih untuk semua pihak yang telah berjasa buat penyusun dan ucapan ini penyusun berikan kepada :

1. Bapak dan Ibu dirumah yang selalu memberi bimbingan moril, spiritual, materiil dan kasih sayang serta tidak henti-hentinya memberikan doa agar semua lancar dan sehingga terselesaikanya Skripsi ini.

2. Bapak Basuki Rahmat, Ssi, MT selaku Ketua Jurusan Teknik Informatika.

3. Bapak Prof. Dr. Ir. H. Achmad Fauzi, MMT selaku Dosen Pembimbing I sekaligus Dosen Wali yang dengan sangat tulus meluangkan waktunya untuk membimbing penyusun demi selesainya skripsi ini.

4. Bapak Abdullah Fadil, S.Kom selaku dosen pembimbing II yang mana selalu mengarahkan dalam perancangan skripsi ini.

5. Bapak Ir. Kemal Wijaya, MT, Bapak Barry Nuqoba, S.Si, M.Kom, dan Bapak Delta Ardy Prima, S.ST selaku Dosen Penguji Skripsi yang telah memberi banyak masukan serta wawasan baru untuk memperbarui susunan dari skripsi penyusun. 6. Bapak IR. Mu`tasim Billah, MSI. selaku Wakil Dekan 1 yang selalu memberikan

bantuan dan arahan untuk menyelesaikan segala keperluan administrasi kampus. 7. Bapak Christia Aji Putra, S.Kom selaku PIA yang bersedia meluangkan waktunya


(4)

iv

penyusun selama proses pengerjaan skripsi sehingga selesai dan Juanda Group special to Minggus yang memberikan tempat serta mediator yang sangat bermanfaat bagi penyusun,

9. Buat semua yang ikut andil dalam proses ini, M. Faizal Baktimu selalu dikenang, Pengorbananmu Selalu diingat, Karyamu selalu dihargai dan patut dipuji, Editor Cahyo dBotax, yang memberiku jawaban dari pertanyaan yang sering terlintas. Seksi penerangan Apryan Wedhus Budiharto yang selalu member informasi terbaru di kampus, dan semua yang telah ikut andil maaf jika tidak bisa menyebutkan satu persatu.

10.Buat semua Mahasiswa kelas parallel D angkatan 04 yang memberi support dan dukungan. Yang sampai akhir kuliah ini selalu bersama dan membantu satu sama lain Deni Duro, Ridwan Ceplek, Catur H, Johanes W, Akhmad Ubaidillah, dan semua kawan yang member support maaf jika tidak bisa menyebutkan satu per satu. Tapi terima kasih sebanyak-banyaknya. I LOVE U buat kalian.

11.Buat teman seperjuangan Merdeka Kusuma, Wisma Andi, Kurniawan S, Joe dan semua peserta Ujian Lesan periode II tahun ajaran 2010/2011 yang saling membantu, kapan kita bisa ketawa lagi dengan bebas.

12.Semua yang telah memberikan aku doa dan semangat masamu tidak akan terlupakan dan semoga kalian bisa memberi yang terbaik buat semuanya.


(5)

i Pembimbing II : Abdullah Fadil, S.Kom

ABSTRAK

Dalam perkembangannya media komunikasi data mengalami perubahan yang begitu cepat. Perkembangan teknologi telah menyebabkan terjadinya perubahan didalam aktivitas manusia sehari-hari, dimana manusia selalu menginginkan segala sesuatunya efisien dan efektif. Manusia mencari inovasi baru dalam penyediaan fasilitas dan sarana penyedia penyimpanan file secara online, sehingga dapat mengakses data dimanapun dan kapanpun selama terhubung dengan koneksi internet.

Pada penelitian Tugas Akhir ini, akan dilakukan pembuatan suatu sistem aplikasi layanan. Sebagai tahap awal pembuatan adalah pengumpulan data/literatur tentang kebutuhan sistem, kemudian dibuatlah sebuah analisa dan perancangan sistem layanan file sharing secara online. Pembuatan file sharing ini berbasis website, mulai dari bahasa pemerograman yang digunakan PHP (Hypertext Preprocessor), Apache sebagai webserver dan database server yang digunakan MySQL untuk media penyimpanan data.

Dengan adanya layanan penyedia penyimpanan file secara online ini, pendistribusian file dari pengguna ke mesin server dan sebaliknya secara aman serta manageable.


(6)

  v

ABSTRAK .... ... i

KATA PENGANTAR ... ii

UCAPAN TERIMA KASIH... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR PUSTAKA ... xi

BAB I PENDAHULUAN ... 1

1.1.Latar Belakang ... 1

1.2.Rumusan Masalah ... 2

1.3.Batasan Masalah ... 3

1.4.Tujuan Peneletian ... 4

1.5.Manfaat Penelitian ... 4

1.6.Metodologi Penelitian ... 5

1.7.Sistematika Penulisan ... 6

BAB II DASAR TEORI ... 8

2.1. Perkembangan Media Penyimpanan... 8

2.2. Apache Web Server ... 17

2.3 Ajax ………... 20

2.4. PHP……….. ... 24

2.4.1. Tipe Data ………... 25

2.4.1.1. Tipe Data Integer…... 25


(7)

2.4.1.3. Tipe Data String….... ... 26

2.4.1.4. Tipe Data Array….... ... 26

2.4.1.5. Tipe Data Object….... ... 27

BAB III ANALISA DAN PERANCANGAN SISTEM... 28

3.1. Analisa Sistem …... 28

3.2. Perancangan Sistem ... 28

3.2.1. Deskripsi Umum Sistem... 29

3.2.2. Kebutuhan Sistem... 30

3.2.2.1. CDM (Conceptual Data Model)... 30

3.2.2.2. PDM (Physical Data Model)... 33

3.2.3. Sistem Flow... 38

3.2.4. Interface (Perancangan Antar Muka) ... 44

BAB IV IMPLEMENTASI ... 49

4.1 Installasi Apache2 MySQL dan PHP... 50

4.2 Implementasi Antar Muka ... 52

4.2.1 Form Utama Aplikasi... 52

4.2.2 Antar Muka Pendaftaran ... 53

4.2.3 Antar Muka Upload ... 54

4.2.4 Antar Muka Link File ... 55

4.2.5 Antar Muka File Checker... 55

4.2.6 Antar Muka List File... 56

4.2.7 Antar Muka Halaman Admin... 57

4.3 Implementasi Data ... 57

4.3.1 Data Tabel File... 58

4.3.2 Data Tabel File ID... 59


(8)

4.3.4 Data Tabel Premium ... 60

4.3.5 Data Tabel User ... 61

4.3.6 Data Tabel Voucher ... 63

4.3.7 Data Tabel Request ... 63

BAB V UJI COBA DAN EVALUASI ... 65

5.1. Lingkungan Uji Coba... 65

5.2.1. Uji Coba Pada Form Utama Aplikasi ... 65

5.2.2. Uji Coba Pada Form Registrasi ... 66

5.2.3. Uji Coba Pada Form Upload ... 69

5.2.4. Uji Coba Pada Form My Files ... 71

5.2.5. Uji Coba Pada Form File Checker... 72

5.2.6. Uji Coba Pada Form Premium... 74

5.2.7. Uji Coba Pada Form Download Free Member ... 75

5.2.8. Uji Coba Pada Form Download Premium Member ... 77

5.2.9. Uji Coba Pada Form Edit Account User ... 80

5.2.10Uji Coba Pada Form Menu Admin... 82

BAB VI PENUTUP ... 84

6.1. Kesimpulan ... 84


(9)

  viii

Gambar 2.1. Punch Card…….. ... 10

Gambar 2.2. Punch Tape ... 11

Gambar 2.3 Selectron Tube ... 12

Gambar 2.4 Magnetic Tape... 12

Gambar 2.5. Compact Cassete ... 13

Gambar 2.6 Flopy Disc ... 13

Gambar 2.7 Harddisk ... 14

Gambar 2.8 Network Dirrect Access Storage... 16

Gambar 2.9 Network Acces Server... 17

Gambar 2.10 Logo Apache ... 18

Gambar 3.1 Deskripsi Umum Sistem ... 29

Gambar 3.2 CDM System Layanan Online File Sharing... 31

Gambar 3.3 PDM Database ... 34

Gambar 3.4 Layanan Upload Pada Anymous User ... 39

Gambar 3.5 Layanan Upload / Download Pada Free User ... 40

Gambar 3.6 Layanan Upload / Download Pada Premium User ... 43

Gambar 3.7 Interface Pendaftaran User... 44

Gambar 3.8 Interface Upload ... 45

Gambar 3.9 Interface Link File ... 45

Gambar 3.10 Interface File Checker ... 46

Gambar 3.11 Interface List File ... 47


(10)

Gambar 4.1 Form Utama Aplikasi ... 52

Gambar 4.2 Form Pendaftaran User ... 53

Gambar 4.3 Tampilan Antarmuka Upload... 54

Gambar 4.4 Tampilan Antar Muka Link File ... 55

Gambar 4.5 Tampilan Antar Muka File Checker ... 56

Gambar 4.6 Tampilan Antar Muka List File ... 56

Gambar 4.7 Tampilan Antar Mula Halaman Admin ... 57

Gambar 4.8 Tabel File ... 59

Gambar 4.9 Tabel File ID ... 59

Gambar 4.10 Tabel Download ... 60

Gambar 4.11 Tabel Premium ... 61

Gambar 4.12 Tabel User ... 62 

Gambar 4.13 Tabel Voucher ... 63

Gambar 4.14 Tabel Request... 64

Gambar 5.1 Proses Registrasi Insert Data User ... 66

Gambar 5.2 Notifikasi Password Tidak Sama ... 66

Gambar 5.3 Notifikasi Field Dikosongi... 66

Gambar 5.4 Proses Registrasi Gagal... 67

Gambar 5.5 Proses Registrasi Berhasil ... 68

Gambar 5.6 Halaman Utama User ... 69

Gambar 5.7 Browse File Yang Akan Diupload ... 70

Gambar 5.8 Proses Upload Gagal Limit File Reached ... 70

Gambar 5.9 Halaman Link File ... 71

Gambr 5.10 Halaman List File... 72


(11)

Gambar 5.12 Halaman File Checker tidak Valid... 73

Gambar 5.13 Halaman Upgrade Premium Member ... 74

Gambar 5.14 Halaman Upgrade Premium Member Sukses ... 75

Gambar 5.15 Halaman Download Free User ... 76

Gambar 5.16 Limit Speed Download Free Member... 76

Gambar 5.17 Proses Resume Download Galal ... 77

Gambar 5.18 Download File Premium Member... 78

Gambar 5.19 Proses Download File Premium Member ... 78

Gambar 5.20 Proses Download File Premium Member ... 79

Gambar 5.21 Multiple Download Premium Member ... 80

Gambar 5.22 Form Editing Password Account ... 81

Gambar 5.23 Form Editing Password Account Berhasil ... 81

Gambar 5.24 Form Request Penerimaan Premium Member ... 82


(12)

1.1. Latar Belakang

Dalam sepuluh tahun terakhir, perkembangan teknologi telekomunikasi dan teknologi komputer saat ini sudah semakin pesat dan banyak sekali diciptakan alat-alat teknologi serta aplikasi baru untuk mendukung arus informasi dan komunikasi, sehingga suatu informasi menjadi lebih mudah diakses dan didapat oleh banyak orang yang membutuhkan dan menginginkannya. Pesatnya perkembangan IP (internet protokol) jaringan dan teknologi telah menciptakan kemungkinan untuk menyiapkan layanan online media center atau penyedia penyimpanan file online, dengan demikian hampir siapa saja dapat mengakses data yang diperlukan melalui jaringan internet. Teknologi ini didistribusikan untuk melibatkan banyak komputer, jaringan dan bandwidth.

Sebagian besar layanan penyimpanan file online menawarkan ruang atau kapasitas storage berdasarkan ukuran per-gigabyte, serta tak jarang penyedia layanan file hosting memasukkan ukuran bandwidth kedalam komponen biaya. Pada layanan penyedia penyimpana file online yang dibangun sebagai tugas akhir ini, komponen biaya tidak dimasukkan dalam proses registrasi dan pembuatan account. Biaya yang dikenakan hanya akan dikenakan apabila user terdaftar akan

melakukan proses upgrade level account. Biasanya berdurasi bulanan sampai tahunan. Beberapa perusahaan menawarkan layanan gratis, dikarenakan mengandalkan penghasilan yang didapat dari iklan yang terpasang dalam web


(13)

penyedia layanan file online tersebut. Beberapa penyedia penyimpanan file online menggunakan account sebagai autentikasi untuk pengguna layanan file hosting tersebut. Bagi pengguna yang sudah memiliki acount atau terdaftar sebagai member pada penyedia media center maka pengguna tersebut akan medapatkan

fasilitas khusus dibandingkan dengan pengguna biasa. Sebagai contoh, yaitu pemberian kapasitas ruang penyimpanan khusus untuk melakukan upload file kedalam server layanan penyedia file online sehingga dapat diakses oleh masyarakat umum serta mendapatkan kapasitas download yang lebih pula dibandingkan dengan pengguna biasa atau gratis.

Terkadang file yang di-download dan di-upload memiliki batas kapasitas atau ketentuan yang diberlakukan oleh penyedia layanan penyimpanan file online. Akan tetapi, pada layanan penyimpanan file online ini, batasan untuk kapasitas penyimpanan tiap user tidak akan diberikan batasan. Dengan demikian memberikan kebebasan kepada tiap user terdaftar untuk melakukan upload dan berbagi file sebanyak mungkin. Untuk proses autentikasi dan proses aktifasi member dibuat dengan lebih simple tanpa harus repot melakukan verifikasi email

terlebih dahulu. Email dari user nantinya akan digunakan untuk proses aktifasi pada saat upgrade account.

1.2. Rumusan Masalah

Berdasarkan uraian-uraian dari latar belakang permasalahan maka perlu adanya pembahasan yang sistematis, permasalahan dapat dirumuskan sebagai berikut :


(14)

1) Bagaimana membuat sistem layanan penyedia penyimpanan file online berbasis web pada Ubuntu 9.10 (Karmic).

2) Penggunaan PHP sebagai bahasa pemrograman web untuk proses accounting, autentikasi dan authorisasi pengguna layanan media

penyimpanan file online.

3) Menetukan besarnya ruang penyimpanan file pada mesin layanan media penyimpanan file online.

4) Menentukan batas speed limit bandwidth untuk proses download file yang tersimpan di database.

5) Penentuan hak akses tiap level dari user dalam penggunaan layanan penyimpanan file online.

1.3. Batasan Masalah

Agar permasalahan terfokus pada suatu permasalahan di atas, maka diperlukan batasan masalah sebagaimana dibawah ini :

1) Penggunaan Ubuntu 9.10 (Karmic) sebagai sistem operasi pada mesin server penyedia layananan penyimpanan file online.

2) Menggunakan PHP sebagai bahasa pemrograman web untuk proses Accounting, Authentikasi dan Authorization.

3) Kecepatan download ditentukan berdasarkan layanan ISP yang digunakan.

4) Proses perhitungan biaya tidak termasuk ke dalam sistem AAA (Accounting, Authentikasi, dan Authorization).


(15)

5) Semua user dapat mengakses file yang terdapat dalam database selama memiliki link dari file yang masih valid.

6) Tidak membahas proses akivasi acount dan pembayaran online.

1.4. Tujuan Penelitian

Tujuan dari perancangan dalam membangun server layanan penyedia penyimpanan file online adalah menyediakan media penyimpanan yang dapat diakses melalui jaringan internet. Mempermudah pendistribusian file dari pengguna ke mesin server dan sebaliknya secara aman serta manageable.

1.5. Manfaat Penelitian

Penelitian ini diharapkan mempunyai nilai guna dan manfaat bagi yang membaca pada umumnya dan penulis khususnya. Selain itu diharapkan :

1) Pengguna layanan penyimpanan file online dapat di manajemen dengan baik dikarenakan adanya batasan-batasan parameter yang digunakan pada sistem.

2) Memperoleh pengetahuan baru dalam pengembangan distribusi file secara efektifitas dan efisiensi dari implementasi server penyedia layanan penyimpanan file online.

3) Memberikan kemudahan bagi pengguna layanan untuk dapat mendistribusikan file pengguna dari manapun dan kapanpun selama terhubung dengan jaringan internet.


(16)

1.6. Metode Penelitian

Metode yang dilaksanakan dalam penelitian ini adalah : 1) Study Literatur

Pada tahap ini dilakukan penelusuran terhadap berbagai macam literatur seperti buku, referensi-referensi baik melalui perpustakaan mapun internet dan lain sebagainya yang terkait dengan judul penelitian ini.

2) Analisa Aplikasi

Dari hasil study literatur akan dibuat deskripsi umum mengenai teknologi penyimpanan file online berbasis opensource di dalam jaringan internet.

3) Rancang-Bangun Aplikasi

Pada tahap ini dilakukan pembangunan server dengan melakukan konfigurasi dan pengaturan pada paket-paket yang digunakan, sehingga nantinya teknologi penyimpanan file online ini bisa digunakan dan diimplementasikan dengan baik pada infrastruktur jaringan

4) Uji Coba dan Evaluasi Aplikasi

Pada tahap ini dilakukan uji coba terhadap sistem yang telah dibangun, apakah sudah sesuai dengan yang diharapkan.


(17)

Pada tahap ini dilakukan pembuatan laporan mulai dari study literatur sampai dengan implementasi, serta penarikan kesimpulan dan saran.

1.7. Sistematika Penelitian

Sistematika penulisan yang digunakan dalam Tugas Akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Berisi tentang gambaran umum latar belakang penulisan Tugas Akhir, rumusan masalah, batasan masalah, tujuan dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Membahas tentang teori penunjang dari pembahasan masalah antara lain tentang komponen-komponen yang digunakan dalam pembangunan sistem yang dibangun.

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini menjelaskan tentang perancangan web layanan jasa penyimpanan file online dengan menggunakan aplikasi PHP, NAS (Network Attached Stroage).

BAB IV IMPLEMENTASI SISTEM

Bab ini berisi hasil implementasi dari perancangan aplikasi yang telah dibuat sebelumnya beserta pembahasan dari


(18)

membangun server serta pengujian yang dilakukan terhadap sistem yang telah dibuat.

BAB V PENUTUP

Bab ini akan menjelaskan tentang kesimpulan dari keseluruhan isi dari laporan dan Tugas Akhir serta saran-saran untuk pengembangan lebih lanjut.

DAFTAR PUSTAKA

Berisi tentang literatur sebagai teori pendukung pembahasan pada laporan tugas akhir ini.


(19)

2.1 Perkembangan Media Penyimpanan

Berbicara mengenai komputer maka tidak terlepas dengan media penyimpanan atau lebih dikenal dengan istilah storage. Artikel ini dan kelanjutannya akan membahas mengenai storage dan teknologinya.

Perkembangan media penyimpanan atau storage seiring dengan perkembangan perangkat keras atau hardware lain seperti prosesor. Perkembangan prosesor khususnya kelas PC (personal computer) kalau kita lihat tingkatannya sebagai berikut - XT, 286, 386, 486, Pentium I, Pentium II, Pentium III dan Pentium IV. Kemudian untuk media penyimpanan kalau kita lihat ke tahun-tahun di belakang. Awalnya kita berbicara mengenai KB (kilo byte = 1024 byte) kemudian berkembang menjadi MB (Mega byte = 1024 KB). Namun, saat ini sudah menggunakan GB (Giga Byte = 1024 MB). Bahkan di bidang storage terutama backup, saat ini sudah mencapai Tera Byte (TB = 1024 GB) dan sedang dikembangkan teknologi untuk mencapai tingkatan petabyte (1024 TB). Bila diurutkan sebagai berikut:

Byte - 8 bits

Kilobyte - 1,024 bytes

Megabyte - 1,048,576 bytes - 1,024 KB  Gigabyte - 1,024 MB

Terabyte - 1,024 GB

 


(20)

Petabyte - 1,024 TB

Exabyte - 1,024 PB

Zettabyte - 1,024 XB

Yottabyte - 1,024 ZB

Storage komputer digunakan untuk menyimpan informasi atau lebih

dikenal dengan data. Dan sejalan dengan perkembangan Internet, semua data digital perlu disimpan dan tersedia apabila diperlukan untuk diakses. Adapun tipe storage yang umum digunakan untuk menyimpan adalah dengan menggunakan media magnetic yang memiliki 2 macam format yang berbeda yaitu fixed / tetap, dan removable atau bisa dibawa / dipindah.

Yang dimaksud dengan fixed media adalah teknologi media storage dimana head untuk tulis / baca dan medianya (disk platter) dalam satu unit yang sama contohnya harddisk. Sementara pada removable media, head untuk tulis / baca terletak pada drive dan cartridge (tape) untuk menyimpan data dan bisa dibawa atau dipindah contohnya yaitu tape drive dengan tape cartdrige. Media tape ini dapat dibawa atau disimpan di tempat yang terpisah dari drivenya.

Sejak tahun 1725 telah dirancang sebuah media untuk menyimpan data yang diperkenalkan oleh seorang tokoh bernama Basile Bouchon menggunakan sebuah kertas berforasi untuk menyimpan pola yang digunakan pada kain. Namun pertama kali dipatenkan untuk penyimpanan data sekitar 23 September 1884 oleh Herman Hollerith - sebuah penemuan yang digunakan lebih dari 100 tahun hingga pertengahan 1970. Contoh di sini adalah bagaimana sebuah punch card dapat berfungsi sebagai media penyimpanan, memiliki 90 kolom (90 column punch


(21)

card), terjadi tahun 1972. Jumlah data yang tersimpan dalam media tersebut

sangat kecil, dan fungsi utamanya bukanlah menyimpan data namun menyimpan pengaturan (setting) untuk mesin yang berbeda. Sejak tahun 1725 telah dirancang sebuah media untuk menyimpan data yang diperkenalkan oleh seorang tokoh bernama Basile Bouchon menggunakan sebuah kertas berforasi untuk menyimpan pola yang digunakan pada kain. Namun pertama kali dipatenkan untuk penyimpanan data sekitar 23 September 1884 oleh Herman Hollerith - sebuah penemuan yang digunakan lebih dari 100 tahun hingga pertengahan 1970. Contoh di sini adalah bagaimana sebuah punch card dapat berfungsi sebagai media penyimpanan, memiliki 90 kolom (90 column punch card), terjadi tahun 1972. Jumlah data yang tersimpan dalam media tersebut sangat kecil, dan fungsi utamanya bukanlah menyimpan data namun menyimpan pengaturan (setting) untuk mesin yang berbeda. Sejak tahun 1725 telah dirancang sebuah media untuk menyimpan data yang diperkenalkan oleh seorang tokoh bernama Basile Bouchon menggunakan sebuah kertas berforasi untuk menyimpan pola yang digunakan pada kain. Namun pertama kali dipatenkan untuk penyimpanan data sekitar 23 September 1884 oleh Herman Hollerith - sebuah penemuan yang digunakan lebih dari 100 tahun hingga pertengahan 1970.


(22)

Contoh di sini adalah bagaimana sebuah punch card dapat berfungsi sebagai media penyimpanan, memiliki 90 kolom (90 column punch card), terjadi tahun 1972. Jumlah data yang tersimpan dalam media tersebut sangat kecil, dan fungsi utamanya bukanlah menyimpan data namun menyimpan pengaturan (setting) untuk mesin yang berbeda.

Pada perkembangan selanjutnya seorang tokoh bernama Alexander Bain menemukan Punch Tape dan juga merupakan orang yang pertama kali mengetahui penggunaan paper tape yang biasanya digunakan untuk mesin faksimili dan mesin telegram (tahun 1846). Setiap baris tape menampilkan satu karakter, namun karena Anda dapat membuat fanfold dengan mudah maka dapat menyimpan beberapa data secara signifikan menggunakan punch tape dibandingkan dengan punch card.

Gambar 2.2 Punch Tape

Pada tahun 1946 RCA mulai mengembagkan Selectron Tube yang merupakan awal format memori komputer dan Selectron Tube terbesar berukuran 10 inci yang dapat menyimpan 4096 bits. Harga satu buah tabung sangat mahal dan umurnya sangat pendek di pasaran.


(23)

Gambar 2.3 Selectron Tube

Pada tahun 1950-an magnetic tape telah digunakan pertama kali oleh IBM untuk menyimpan data. Saat sebuah rol magetic tape dapat menyimpan data setara dengan 10.000 punch card, membuat magnetic tape sangat populer sebagai cara menyimpan data komputer hingga pertengahan tahun 1980-an. Pada tahun 1950-an magnetic tape telah digunak1950-an pertama kali oleh IBM untuk menyimp1950-an data. Saat sebuah rol magetic tape dapat menyimpan data setara dengan 10.000 punch card, membuat magnetic tape sangat populer sebagai cara menyimpan data

komputer hingga pertengahan tahun 1980-an.

Gambar 2.4 Magnetic Tape

Pada tahun 1963 Compact Cassette diperkenalkan oleh Philips, namun tidak sampai tahun 1970 menjadi populer. Komputer, seperti ZX Spectrum, Commodore 64 dan Amstrad CPC menggunakan kaset untuk menyimpan data. Standar 90 menit Compact Cassette dapat menyimpan sekitar 700kB hingga 1MB


(24)

dari data tiap sisinya. Jika disetarakan dengan DVD, maka data dalam Compact Cassette dapat dijalankan selama 281 hari. - Magnetic Drum. Magnetic Drum

memiliki panjang 16 inci yang bekerja 12.500 putaran tiap menit. Media ini digunakan untuk menunjang komputer IBM 650 sekitar 10.000 karakter dari Memori Utama.

Gambar 2.5 Compact Cassete

Di tahun 1969, floppy disk pertama kali diperkenalkan. Saat itu hanya bisa membaca (read-only), jadi ketika data tersimpan tidak dapat dimodifikasi maupun dihapus. Ukurannya 8 inch dan dapat menyimpan data sekitar 80kB. Empat tahun kemudian, floppy disk yang sama muncul dan dapat menyimpan data sebanyak 256kB. Selain itu, memiliki kemampuan dapat ditulis kembali (writeable). Perkembangan selanjutnya, pada tahun 1990 lahir disk dengan ukuran 3 inci yang dapat menyimpan data sekitar 250 MB, atau biasa disebut juga Zip disk.


(25)

Hard drive masih diproduksi di bawah pengembangan yang tetap

(konstan). Hitachi Deskstar 7K yang terdapat pada gambar di bawah adalah hard drive pertama kali yang dapat menyimpan data 500GB setara dengan 120.000

World’s first hard drive IBM 305 RAMAC. Hal ini cenderung tiap tahun kita

dapat memperoleh drive yang dapat menyimpan data secara cepat dengan harga murah.

Gambar 2.7 Harddisk

Di era perkembangan internet data tidak lagi disimpan dalam satu tempat saja, tetapi sudah dapat diakses melalui media jaringan salah satunya dengan menggunakan storage server. Storage server yaitu server yang berfungsi sebagai penyimpanan data berkapasitas besar. Jenis server ini sekarang banyak dijual oleh berbagai vendor, dan juga banyak digunakan oleh perusahaan berbasis IT. Storage Server juga bisa menjadi media untuk menjalankan fungsi server lainnya, seperti

Email Server, Database Server, FTP Server, Application Server atau Multimedia

Server yang membutuhkan kapasitas penyimpanan bersama dan terpusat (shared

dan centralized data storage).

Secara umum sebuah Storage Server memiliki fungsi sebagai berikut: 1) Penyimpanan file-file secara umum (general storage).


(26)

3) Multimedia file (klip, gambar, lagu, film). 4) Backup data.

5) Datashare media (berbagi file dengan berbagai perangkat media).

Pada storage server memiliki fungsi yang dijalankan pada masing-masing storage server, diantaranya adalah:

1) NDAS (Network Direct Access Storage)

NDAS adalah sebuah perangkat storage yang dapat diakses melalui jaringan lokal (LAN). Perangkat ini serupa dengan removable disk biasa, tapi sudah mengintegrasikan sebuah Ethernet Port sehingga bisa di-attached pada infrastrukur jaringan lokal. NDAS tidak menggunakan

internet protocol (IP) sehingga tidak bisa diakses via internet secara

langsung. Beberapa fitur yang dimiliki oleh NDAS diantaranya adalah: a. Menggunakan satu unit HDD Desktop atau Notebook. HDD dapat

diganti atau diupgrade.

b. Kapasitas HDD tidak terbatas, minimal 20 GB dan maksimal 1.000 GB (1 TB).

c. Koneksi langsung ke sistem jaringan via hub/switch menggunakan ethernet port.

d. Tidak menggunakan IP (internet protocol) sehingga tidak dapat diakses lewat internet.

e. Dapat dijadikan sebagai perangkat removable disk karena memiliki port USB dan Firewire.


(27)

f. Tidak memerlukan setting jaringan apapun, hanya diperlukan instalasi software sederhana ke masing-masing PC Client di sistem lokal agar

dapat mengakses NDAS.

g. Dapat dikonfigurasi dengan mode RAID 0 (Stripping) dan RAID 1 (Mirroring) menggunakan dua unit NDAS.

Gambar 2.8 Network Direct Access Storage 2) NAS (Network Attached Storage)

NAS merupakan sebuah fungsi storage yang menyerupai server murni. NAS memiliki berbagai fitur dan teknologi seperti Processor, RAM dan HDD terintegrasi. Sebuah NAS juga sudah dilengkapi dengan RAID Controller (0, 1, 5, 10 atau lebih) sehingga memiliki kapabilitas yang

meyakinkan sebagai storage server. Saat ini juga sudah tersedia berbagai storage server khusus produksi vendor, seperti Intel. Produk tersebut

antara lain : Intel Storage System SS4000-E, SSR212MC2, SSR212CC, SSR212PP dan SR212MA. Keuntungan menggunakan NAS dengan menggunakan NDAS antara adalah:

a. Performa tinggi karena tidak membebani server utama. Sebuah NAS memiliki sistem internal yang menyerupai server itu sendiri.


(28)

b. Kapasitas sangat besar dengan 4 buah HDD, kapasitas mulai 80 GB – 2.000 GB (2 TB).

c. Kapasitas HDD sangat fleksibel dengan berbagai konfigurasi HDD (2 unit ke 4 unit).

d. Dapat diakses melalui internet karena berbasis IP (internet protocol). e. Transfer rate tinggi dengan akses Gigabit Ethernet (10/100/1000 LAN

Adapter).

f. Kapabilitas sistem storage tingkat tinggi dengan konfigurasi RAID 0, 1, 5 dan 10.

Gambar 2.9 Network Access Server

2.2 Apache Web Server

Web server adalah sebuah perangkat lunak yang menjadi tulang belakang

dari world wide web (WWW). Web server berfungsi menerima permintaan HTTP atau HTTPS dari client yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML.


(29)

Apache merupakan perangkat lunak open source yang menjadi alternatif dari web server Netscape (saat ini dikenal sebagai Sun Java Web Server). Sejak April 1996 Apache menjadi server web yang terpopuler di internet. Pada Mei 1999, Apache digunakan di 57% dari semua web server yang ada di dunia. Pada November persentase ini naik menjadi 71% (sumber diambil daru Netcraft Web Server Survey).

Gambaar 2.10 Logo Apache

Asal mula nama Apache berasal ketika sebuah server web populer yang dikembangkan pada awal 1995 yang bernama NCSA HTTPd 1.3, yang memiliki sejumlah perubahan besar terhadap kode sumbernya (patch). Karena banyaknya patch pada perangkat lunak tersebut sehingga disebut sebuah server yang

memiliki banyak patch ("a patchy" server).

Dari segi penggunaan Apache memiliki beberapa fitur canggih, beberapa fitur yang ditawarkan di Apache antara lain adalah:

1) Unix Threading

Pada Unix sistem dengan POSIX thread, apache dapat berjalan dengan hybrid multiprocess, multi thread mode yang memungkinkan


(30)

2) Multi Protocol Support

Dukungan layanan multi protokol yang ada pada infrastuktur Apache. 3) Better Support for non-Unix Platform

Dukungan pada Apache 2.0 yang lebih stabil untuk platform-platform non-Unix seperti BeOS, OS / 2, dan windows.

4) IPV6 support

Lybrary pada Apache telah mendukung untuk berjalan di atas IPv6.

5) Filtering

Modul Apache dapat digunakan sebagai filtering yang bertindak atas aliran konten yang dikirim ke server ataupun yang keluar server.

6) Multilanguage Error Reporting

Pesan kesalahan respon ke browser kini telah disediakan dalam beberapa bahasa dengan menggunakan dokumen SSI (Server Side Included).

7) Simplify Configuration

Konfigurasi yang awalnya membingungkan sekarang telah banyak disederhanakan.

8) Native Windows NT Unicode Support

Pada Apache 2.0 pada windows NT sekarang telah menggunakan utf-8 untuk semua pengkodean nama file yang secara langsung dapat diterjemahkan ke sistem yang mendasarinya serta memberikan dukungan Multilanguage untuk semua installasi windows NT.


(31)

Apache 2.0 telah mendukung kompatibilitas Perl Compatible Regular

Expression Library (PCRE) yang lebih powerfull dari Perl 5.

Server side scripting (SSS) merupakan sebuah teknologi scripting atau

pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server. Dengan adanya teknologi SSS memungkinkan untuk menghasilkan

halaman web yang dinamis. Adapun beberapa contoh server side scripting diantaranya adalah ASP, Coldfusion, Java Server Pages, Perl, Python, PHP.

2.3 Ajax

Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah

suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan dan usability. Ajax merupakan kombinasi dari:

1) DOM (Document Object Model) adalah object model standar untuk HTML dan XML yang bersifat platform independent. Sebuah web browser tidak harus menggunakan DOM untuk menampilkan dokumen HTML. Namun DOM diperlukan oleh JavaScript yang akan mengubah tampilan sebuah website secara dinamis. Dengan kata lain, DOM adalah cara JavaScript


(32)

2) XML (Extensible Markup Language) adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C. XML biasa digunakan untuk keperluan pertukaran data antar sustem yang beranekan ragam. XML sendiri merupakan kelanjutan daru HTML (Hyper Text Markup Language) yang merupakan bahasa standar untuk melacar internet. XML didesain untuk mampu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data yang jika diolah akan memberikan informasi. XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. XML juga dapat digunakan untuk menggambarkan view database. Berikut contoh dokumen XML sederhana:

<?xml version="1.0" encoding="UTF-8"?>

<Resep nama="roti" waktu_persiapan="5 menit" waktu_masak="3 jam">

<judul>Roti tawar</judul>

<bahan jumlah="3" satuan="cangkir">Tepung</bahan> <bahan jumlah="0,25" satuan="ons">Ragi</bahan>

<bahan jumlah="1,5" satuan="cangkir">Air hangat</bahan> <bahan jumlah="1" satuan="sendok teh">Garam</bahan> </Resep>

3) JavaScript adalah bahasa scripting yang popular di internet dan dapat berkerja di sebagian besar browser populer seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek rollover baik gambar maupun teks, dan yang penting adalah untuk membuat AJAX. Penulisan JavaScript biasanya dituliskan dalam bentuk fungsi yang diletakkan pada

tag <head> dan dibuka dengan tag <script type=”teks/javascript”>. Contoh penulisan JavaScript:


(33)

<script type="teks/javascript"> alert("Halo Dunia!");

<script>

4) HTML (HyperText Markup Language) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah penjelajah web internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan kedalam format ASCII normal sehingga menjadi home page dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Contoh penulisan HTML:

<html> <head>

<title>WeShare</title>

WeShare adalah layanan file sharing yang dapat dinikmati oleh semua kalangan.

</head> </html>

Ajax menggunakan JavaScript XMLHttpRequest object untuk melakukan request ke server. Setiap browser mempunyai cara sendiri untuk membuat

XMLHttpRequest. Berikut penggunaan XMLHttpRequest:


(34)

if (window.XMLHttpRequest) {

return new XMLHttpRequest(); } else if(window.ActiveXObject) {

return new ActiveXObject("Microsoft.XMLHTTP"); } else {

alert('Status: Cound not create XmlHttpRequest Object. Consider upgrading your browser.');

} }

Potongan source code di atas akan membuat XMLHttpRequest. Selanjutnya yang harus dilakukan adalah menyimpan objek XMLHttpRequest ke dalam suatu variabel supaya lebih mudah diakses, seperti:

Var request = getXMLHttpRequestObject();

XMLHttpRequest juga memiliki properti diantaranya onreadystate yaitu menampung status data yang dikirim ke server, onreadystatechange yaitu menampung perubahan nilai pada onreadystate, response XML yaitu membaca struktur dari dokument XML agar dapat dibaca isinya, response Text yaitu membaca nilai dari file text.

Contoh penggunaan onreadystatechange: function getNama() {

var phone = document.getElementById("box").value; var url = "data.php" ;

request.open("GET", url, true);

request.onreadystatechange = updatePage; //Callback request.send(null);

}

function updatePage() {

if (request.readyState == 4) alert("Proses Selesai!"); }

Pada contoh di atas akan muncul pesan “Proses selesai” setiap kondisi readyState berubah. Pada fungsi updatePage ditambahkan request.readyState == 4 agar muncul jika status request sama dengan 4 atau sudah selesai proses.


(35)

Ajax merupakan JavaScript tingkat lanjut seperti yang dijabarkan di atas, pemrograman client side yang bisa berinteraksi dengan server side di belakang layar. Saat ini Ajax telah memiliki puluhan framework, salah satunya yang paling populer adalah jQuery. Dengan menggunakan jQuery proses development Ajax akan lebih mudah diterapkan salah satu contohnya adalah form validasi, treeview, menu, ajax loader dan masih banyak lagi.

Uploadify merupakan jQuery plugin yang memudahkan mengintegrasikan file upload baik itu single file upload maupun multiple file upload. Uploadify

membutuhkan flash plugin dan beberapa beberapa bahasa pengembangan sebagai backendnya. Uploadify juga memungkinkan untuk dikustomisasi pada penggunaan tingkat lanjut, tetapi pada pengimplementasian dasar telah cukup mudah bahkan bagi pemula sekalipun.

2.4 PHP

PHP adalah bahasa scripting yang bersifat dinamis yang menyatu dengan HTML dan dijalankan pada sisi server, jadi pada semua sintaks yang diberikan akan sepenuhnya dijalankan pada sisi server sedangkan yang dikirim ke browser hanya hasilnya saja.

Bahasa dari PHP berlatar belakang C/C++ karena sintaks yang dimiliki oleh kedua bahasa pemrograman tersebut memiliki kesamaan. PHP merupakan salah satu bahasa pemrograman yang berteknologi open source, bersifat gratis dan bebas untuk mendapatkan scriptnya. Bahasa pemrograman PHP dijalan bersama dengan webserver Apache.


(36)

Kelebihan dari bahasa pemrograman PHP adalah sebagai berikut :

a) Sebuah script yang tidak melakukan kompilasi dalam penggunanya.

b) WebServer yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS sampai dengan dengan Apache, dengan konfigurasi yang sangat mudah.

c) Dalam sisi pengembangan lebih mudah, karena banyaknya developer yang membantu dalam pengembangannya.

d) Pada sisi pemahaman, PHP adalah bahasa scripting yang paling mudah dikuasai karena referensi yang mudah ditemukan.

PHP adalah bahasa pemrograman Open Source yang dapat digunakan diberbagai Sistem Operasi (Unix, Linux, Windows) dan dapat dijalankan secara runtime melalui console ataupun terminal serta dapat dijalankan dengan perintah-perintah system.

1) Tipe Data

Tipe data didalam bahasa PHP ini dibagi menjadi 5 jenis tipe data, yaitu Integer, Floating Point, String, Array dan Object. Tipe data digunakan oleh

pemrograman PHP, otomatis akan ditentukan oleh PHP tanpa harus dideklarasikan terlebih dahulu.

a) Tipe Data Integer

Tipe data ini berisikan data semua bilangan bulat yang besar yang range-nya sama dengan data pada bahasa C, yaitu antara -2,147,483,648

sampai dengan +2,147,483,647 pada platform 32 bit. Apabila data diluar kisaran tersebut, maka PHP akan secara otomatis menkonversi data tersebut dari Integer menjadi Floating Point.


(37)

b) Tipe Data Floating Point

Tipe data ini berisikan bilangan pecahan atau bilangan desimal. Kisaran data floating adalah antara 1.7E-308 sampai dengan 1.7E+308. Bentuk dari data ini adalah desimal ataupun bentuk pangkat. Perhatikan contoh berikut ini:

$nilai_desimal = 0.298; $nilai_pangkat = 298. 0E-5;

c) Tipe Data String

Tipe data string dinyatakan dengan menggunakan tanda kutip tunggal ( ‘ ’ ) atau menggunakan tanda kutip ganda ( “ ” ). Berikut contoh penggunaan tipe data string:

$string_tipe = ‘Selamat datang di PHP’; $string_tipe = “Selamat datang di PHP”;

Perbedaan penggunaan antara dua tanda kutip tersebut adalah, jika menggunakan tanda kutip tunggal apabila sebuah variabel yang memiliki data string tersebut terdapat variabel yang lain, maka nilai dari variabel tersebut akan dideklarasikan atau dicetak nama variabel itu sendiri.

d) Tipe Data Array

Data array disebut juga data bertingkat, artinya data yang mengandung beberapa data di dalamnya dan di-index berdasarkan data numeric atau string. Bahkan dalam data array ini dapat mengandung data jenis array juga. Data array yang ada di dalam array ini membolehkan tipe data yang berbeda-beda, berikut contoh penulisan data array pada PHP:


(38)

$nama_hari = array (‘Minggu’, ‘Senin’,’Selasa’, ’Rabu’, ’kamis’, ’Jumat’, ’Sabtu’);

$data = 40; $data = “80”;

Array di atas dideklarasikan secara langsung dengan memasukkan

nilainya. Nilai tersebut akan diisi dengan nilai angka index. PHP adalah bahasa pemrograman yang juga mengenal adanya penggunaan istilah array multidemensi, yaitu array bertingkat. Berikut contoh penulisan array bertingkat:

$hewan = array (“kaki” => array (“empat” => ”kuda”, “dua” => “ayam”));

e) Tipe Data Object

Tipe data object adalah tipe data yang dapat berupa bilangan, variabel ataupun fungsi. Tipe data object akan sangat membantu dalam pembuatan program oleh seorang programmer. Penggunaan tipe data object dapat digunakan untuk meringkas fungsi dan dapat memperkecil ukuran file sehingga pengaksesan web akan lebih cepat.


(39)

3.1 Analisa Sistem

Server layanan penyedia penyimpanan file online ini dikembangkan

dengan teknologi open source guna melayani layanan file sharing melalui media internet. Layanan file sharing ini berjalan diatas protokol HTTP dimana Apache

bertindak sebagai web server serta sebagai pengatur bandwidth dengan menggunakan module apace_mod_cband untuk limitasi bandwidth. Dengan menggunakan apache_mod_cband setiap user yang mengakses server layanan file sharing ini dapat di-limitasi antara user yang terdaftar sebagai premium user atau sebagai user biasa. Guna mempermudah implementasi upload pada layanan file sharing ini digunakan juga plugin uploadify. Uploadify merupakan Ajax

plugin untuk keperluan single upload ataupun multiple upload yang bersifat open

source.

Server layanan file sharing ini nantinya juga mempunya fitur dimana

setiap user yang melakukan upload file ke server akan mendapatkan komisi untuk file yang diuploadnya setiap seribu kali download oleh user yang lain selama 15 hari terhitung dari tanggal user tersebut melakukan upload.

3.2 Perancangan Sistem

Dalam sub bab ini akan menjelaskan tentang proses perancangan sistem yang nantinya akan dibuat. Mulai dari deskripsi umum sistem, konsep


(40)

perancangan dalam bentuk perancangan proses, perancangan data, perancangan tabel, dan perancangan antar muka.

3.2.1 Deskripsi Umum Sistem

Secara umum deskripsi dari sistem ini dapat dilihat dalam bantuk gambar seperti yang tertera di bawah ini:

INTERNET

Server File Hosting Web Server User Premium User Premium User Biasa User Biasa User Biasa W E B L I N K Download terbatas Download terbatas Download terbatas Download premium Upload Upload Download premium User Terdaftar User Pendaftaran

Verifikasi via email

N A S

Switch

ADSL Mode Bridge

Gambar 3.1 Deskripsi Umum Sistem

Dari gambar di atas secara garis besar dapat sistem akan melakukan pengecekan terhadap user yang mengakses file server. Jika user tidak terdaftar sebagai premium user, maka sistem akan memberikan beberapa limitasi diantaranya adalah download yang diberikan sistem kepada user akan memiliki batas. Batas limitasi user berupa waktu tunggu, quota bandwidth, dan besar ukuran file. Pada anonymous user atau biasa disebut dengan user tanpa identitas


(41)

hanya diperbolehkan melakukan proses upload dan download file selama user tersebut memiliki link file yang masih valid. Anonymous user tidak dapat mengecek file yang telah disimpan kedalam server kecuali user tersebut telah mendaftar sebagai free user. Pada free user sama seperti anonymous user tetapi memiliki hak untuk mengakses file yang telah diupload ke mesin server. Untuk mendapatkan hak sebagai premium user, user yang telah terdaftar sebagai free user dapat melakukan upgrade menjadi premium user. User yang telah terdaftar

sebagai premium account, tidak akan memiliki batasan seperti yang diberikan sistem pada free account.

3.2.2 Kebutuhan Sistem

Berdasarkan deskripsi yang telah dibahas di atas untuk memenuhi kebutuh

3.2.2.1CDM (Conceptual Data Model)

memodelkan struktur logis dari kes

an sistem dan dapat berinteraksi serta dapat memenuhi kebutuhan-kebutuhan pada sistem nantinya, maka diperlukan penjabaran basis data untuk mengatur data-data layanan baik itu data user maupun data file yang didownload oleh user. Kebutuhan basis data ini dapat digambarkan dalam diagram Entity Relationship Diagram (ER) atau yang disebut dengan Conceptual Data Model

(CDM).

Conceptual Data Model (CDM)

eluruhan aplikasi data, tidak tergantung pada software atau pertimbangan model struktur data. CDM yang valid dapat dikonversi ke


(42)

PDM. Berikut ini adalah gambar dari Conceptual Data Model Sistem Layanan Online File Sharing :

Gambar 3.2 CDM Sistem Layanan Onlie File Sharing

Dari hasil CDM di atas akan menghasilkan 5 tabel berikut penjelasan dari masing-masing tabel:

a) tb_user ini berisikan data user yang mendaftar pada layanan online file sharing. tb_user memiliki 5 attribut diantaranya id_user, nama_user, email_user, password dan level_account. tb_user bersifat dominan terhadap tb_premium, yang artinya tb_premium tidak akan ada jika tb_user tidak ada. 


(43)

b) tb_premium berisikan data user yang telah mendaftar dan melakukan upgrade dari user biasa menjadi user premium. tb_premium berisi 3 entitas diantaranya id_premium, tgl_aktivasi dan tgl_berakhir. tb_premium juga berelasikan dengan tb_user one-to-one dengan tb_premium yang mempunyai mandatory pada tb_premium.

c) tb_voucher berisi data voucher pada layanan online file sharing yang nantinya digunakan untuk menyimpan data harga voucher, masa berlaku voucher, serta masa berlaku voucher. tb_voucher memiliki 4 attribute diantaranya id_voucher, nama_voucher, masa_berlaku dan harga voucher. tb_voucher berlesasikan dengan tb_premium one-to-many dimana nantinya id_premium akan menjadi foreign key pada tb_voucher.

d) tb_file berisi data file dari user yang melakukan upload ke server serta sebagai pencatat data link, ukuran file, tanggal

upload dan hot_link dari user. tb_file memiliki 6 attribut

diantaranya id_file, nama_file, size, hit_link, file_link dan tgl_upload. tbl_file berelasikan dengan tbl_user many-to-one dimana id_user akan menjadi foregn key pada tbl_file.

e) tb_download berisi data download file, memiliki 2 attribut diantaranya id_download dan tgl_download. Berelasikan dengan tb_file many-to-one dimana id_file akan menjadi foreign key pada tb_download.


(44)

f) tb_request berisi atribut berupa id_request, status_request, dan tgl_request. tb_request ini berelasikan dengan tb_user dan tb_premium.

g) tb_file_id merupakan tabel temporary yang digunakan untuk menampung data sementara id_download terakhir yang dilakukan user dan tidak memiliki relasi.

3.2.2.2PDM (Physycal Data Model)

Dari hasil pembuatan CDM akan digenerate menjadi sebuah Phisical Data Model (PDM). PDM ini akan merepresentasikan tabel pada

database yang sebenarnya Physical Data Model (PDM) merupakan permodelan dari struktur fisik dari basis data (data base) yang digunakan. Sebuah PDM yang valide dapat dikonversi kembali kedalam bentuk CDM. Berikut adalah PDM dari sistem Layanan Online File Sharing. Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas lemah tidak memiliki identifier sendiri. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian). Hasil dari CDM ke


(45)

Gambar 3.3 PDM Database

Penjelasan attribut pada tiap tabel adalah sebagai berikut : 1)tb_user :

a) id_user : id user akan diisi otomatis secara auto increment ketika user melakukan pendaftaran pada website. ID user berstatus primary key pada tb_user.

b) nama_user : data akan diisi dengan nama user oleh useri pada saat user mendaftar pada website.

c) email_user : data akan disi dengan email dari user. d) Password : data akan diisi dengan password oleh user.


(46)

e) level_account : data akan diisi oleh angka yang menyatakan tingkatan dari level akses dari user. Angka tersebut diantaranya adalah 0 untuk level account anonymous, 1 untuk level account free user dan 2 untuk

level account premium user.

2)tb_premium:

a) id_premium : data akan diisi otomatis secara auto increment pada saat user melakukan upgrade dari free user menjadi premium user. ID premium ini bersifat primary key.

b) id_user : data akan diisi dengan data pada id_user pada tabel tb_user. id_user merupakan foreign key dari tb_user.

c) id_voucher : merupakan data yang diambil dari tabel voucher

d) tgl_aktivasi : data akan diisi dengan tanggal pada saat user melakukan aktivasi account oleh siste.

e) tgl_berakhir : data akan diisi dengan tanggal saat berakhirnya user sebagai user premium.

3)tb_voucher:

a) id_voucher: data akan diisi secara otomatis secara auto increment pada saat user melakukan pembelian voucher.

b) id_premium: data akan diisi dengan data pada tabel id_premium, id_premium merupakan foreign key dari tabel tb_premium.


(47)

d) masa_berlaku: data akan diisi dengan tanggal berlaku voucher.

4)tb_file:

a) id_file : data akan diisi dengan dengan id dari setiap file yang diupload oleh user. id_file ini bersifat primary key.

b) id_user : data akan diisi dengan id dari user. id_user bersifat foreign key pada tb_file.

c) nama_file : data akan diisi dengan nama dari tiap file yang diupload oleh user.

d) size_file : data akan diisi dengan ukuran file yang telah diupload oleh user.

e) hit_file : data akan diisi dengan berapa kali file yang akan diupload oleh user telah didownload oleh user lain.

f) file_link : data akan diisi dengan link dari file yang telah diupload oleh user, file link digenerate dengan menggunakan MD5 guna melindungi keabsahan file tersebut.

g) tgl_upload : data akan diisi dengan tanggal pada saat user upload. h) file_sum : merupakan data catatan total saat ini file yang tersimpan

di database.

i) file_kill : data akan berisi dengan alamat link dari file untuk proses penghapusan dari file yang bersangkutan.


(48)

5)tb_download :

a) id_download : berisikan data yang berupa auto increment untuk mencatat download yang dilakukan oleh user.

b) id_file : berisikan data dari id_file yang diambil dari tabel file.

c) tgl_download : merupakan data tanggal yang tercatat dari proses download yang dilakukan.

d) jam_download : merupakan data waktu yang tercatat dari proses download yang dilakukan.

e) ip_download : berisikan data alamat ip user yang melakukan download.

6)tb_request :

a) id_request : adalah data id dari request yang diminta user untuk mengaktifkan menjadi premium member.

b) tgl_request : data tanggal dari proses user melakukan request.

c) id_user : merupakan data id dari user yang melakukan request, data diambil dari tabel user.

d) id_voucher : data akan diisi secara otomatis secara auto increment pada saat user melakukan pembelian voucher

e) status_request : merupakan status dari request user apakah telah diterima sebagai premium member atau belum.


(49)

7)tb_file_id :

a) merupakan tabel temporary yang digunakan untuk menampung data sementara id_download terakhir yang dilakukan user dan tidak memiliki relasi.

3.2.3 Sistem Flow

Pada sistem flow ini akan menjelaskan aliran data dari sistem yang digunakan, mulai anonymous user, free user dan premium yang akan mengakses file yang telah diuploadnya ke online file sharing ini. Berikut adalah sistem flow pembangunan server layanan penyedia penyimpanan file online:

1) Anonynous User

Sistem flow pada layanan online file sharing dibawah ini ditujukan pada anonymous user, yaitu user yang ingin meletakkan filenya pada layanan onlie file sharing tetapi user tersebut tidak ingin terdaftar sebagai user. Sistem flow di dibawah ini dimulai dari START kemudian user akan mencari file yang akan di upload ke server layanan online file sharing. Setelah menentukan file mana

yang akan diupload user hanya melakukan klik pada button upload. Setelah file sukses di upload web server akan membuat alamat link download dari file tersebut dan ditampilkan ke user. Jika user ingin

melakukan proses upload lagi maka akan dikembalikan pada proses sebelumnya.


(50)

Upload/Download Anonymous User

Web Server User

Upload file

Selesai ? Start

Tampilkan link file

Finish T

Y Cari Upload File

Generate download link Download link

Ulpoad/ download

Confirm file

Limit download File downloaded

  Gambar 3.4 Layanan Upload/Download Pada Anonymous User


(51)

2) Free user

Sistem flow pada layanan online file sharing di bawah berikut ditujukan pada free user, yaitu user yang terdaftar sebagai member.

Web Server User


(52)

Sistem flow ini dimulai dari START, kemudian pada sistem akan terjadi pengecekan apakah user memang terdaftar sebagai free user atau anonymous. Jika user tidak terdaftar maka user akan diminta untuk mendaftarkan diri terlebih dahulu dengan memasukkan data user. Setelah data user disimpan sistem akan mengirimkan notification bahwasannya account telah aktif. Ketika account telah aktif user diminta unutk login terlebih dahulu, jika

user memang terdaftar sebagai user yang valid artinya user yang

belum expired masa keanggotaannya, maka sistem akan menampilkan home directory dari user. Dalam home directory user, user dapat melakukan upload file dan download file. Jika

user melakukan upload, user diminta untuk memilih file yang akan

akan diupload. Jika ukuran file lebih besar dari 200M, maka sistem akan memberikan notification bahwasannya file yang akan diupload terlalu besar dan sistem tidak akan mengijinkan file tersebut untuk diupload. Jika ukuran file kurang dari 200 MB maka file akan disimpan oleh sistem. Setelah file tersimpan sistem akan membuat link file dengan menggunakan metode MD5. Link file dari hasil generate tersebut akan ditampilkan ke user. Pada proses download user diminta untuk memasukkan link file. Jika link file

tersebut valid, maka sistem akan melakukan pengecekan apakah terdapat paralel download atau tidak. Yang dimaksud dengan paralel download adalah dimana seorang user melakukan lebih dari


(53)

satu file yang di download pada saat bersamaan. Jika tidak ada paralel download, sistem akan mengijinkan file tersebut untuk didownload serta sistem akan melakukan limitasi bandwidth.

3) Premium User

Sistem flow pada layanan online file sharing berikut ini ditujukan pada user yang teregister sebagai premium user. Premium user adalah user yang telah teregistrasi sebagai free member dan melakukan update account menjadi premium user dengan cara melakukan pembelian voucher. Sistem flow di atas dimulai dari START dan pada sistem akan melakukan pengecekan apakah user sudah terdaftar sebagai free user atau belum. Jika user telah terdaftar sistem akan melakukan pengecekan lagi apakah user telah terdaftar sebagai premium user atau belum, jika ternyata user belum terdaftar maka user melakukan upgrade menjadi premium member untuk mendapatkan hak akses sebagai premium user. Setelah user melakukan upgrade menjadi premium member maka secara otomatis account level dari user tersebut akan naik menjadi premium user setelah melakukan relogin. Status tersebut akan ditampilkan pada tampilan status user di halaman awal pertama login. Pada saat user upload file akan dibatasi sebesar 200MB per


(54)

delay waktu tunggu dan dapat melakukan paralel download tanpa

harus menunggu proses download yang sebelumnya selesai.


(55)

3.2.4 Interface (Perancangan Antar Muka)

Interface pada pembangunan server layanan penyedia penyimpanan online ini adalah sebagai berikut:

1) Interface Pendaftaran User:

Gambar 3.7 Interface Pendaftaran User

Pada interface pendaftaran user terdapat beberapa inputan yang harus diisi, diantaranya adalah username untuk inputan username, email untuk inputan yang alamat email dari user,

password untuk inputan password dari user. Hasil inputan user tersebut nantinya akan digunakan sebagai login untuk mendapatkan hak akses sebagai pengguna sesuai kebutuhan user. 2) Interface Upload

Pada interface upload hanya terdapat inputan berupa file browser untuk memilih file yang akan diupload.


(56)

Browse Nama file yang akan di upload

Select file to upload Maximum file size 200Mb

Saya telah menjetujui semua peraturan yang terdapat pada site ini

Welcome to WeShare.com Upload

Gambar 3.8 InterfaceUpload

3) Interface Link File

Pada interface link file hanya menampilkan web link dari file yang telah di upload ke server. Pada link file terdapat inputan text box untuk mengirimkan weblink yang telah digenerate.

Sedangkan untuk tampilan interface link file pada free user tidak disertakan inputan untuk mengirim alamat link file pada alamat email.

URL :

HTML LINK :

DELETE LINK :

Kirim ke email alamat link Send Upload file lainnya>>>>>


(57)

4) Interface File Checker

Gambar 3.10 Interface File Checker

Pada Interface File Checker terdapat satu inputan berupa textbox untuk memasukkan alamat url yang telah digenerate oleh sistem. Fungsinya adalah guna memastikan bahwa link dari file tersebut masih valid atau tidak atau dengan kata lain file telah dihapus atau belum dihapus oleh pemilik file.

5) Interface List File

Pada interface list file ini akan ditampilkan nama-nama file yang telah diupload oleh free user dan premium user. Pada halaman ini, user dapat melihat nama-nama file yang telah diupload dan tersimpan di dalam server. Untuk mengetahui link dari file tersebut, maka user dapat memilih file yang ditampilkan dengan mencentang checkbox yang terdapat disebelah kiri dari nama file tersebut.


(58)

Gambar 3.11 interface List File

6) Interface Halaman Admin

Pada halaman admin ini hanya dapat diakses oleh administrator yang bekerja sebagai konfirmasi upgrade dari free member menjadi premium member. Di halaman ini nanti akan ditampilkan nama user, alamat email user, dan status apakah user tersebut telah diterima menjadi premium member atau belum. Untuk menerima user tersebut menjadi premium member, administrator yang bertugas hanya tinggal memilih tombol terima

yang berada pada sebelah kanan dari nama user yang bersangkutan. Dan apabila user tersebut telah diterima menjadi premium member, maka status requestnya akan berubah di dalam tabel tersebut. Untuk interface dari halaman admin adalah seperti gambar 3.12 berikut :


(59)

nama email status action

eko1 eko2

eko3

eko4

eko5

eko1@xxx.com eko2@xxx.com

eko3@xxx.com

eko4@xxx.com

eko5@xxx.com

pending pending

aktif

aktif aktif

Terima request Terima request Terima request Terima request Terima request

Administrator


(60)

Dalam pembahasan bab ini akan menjelaskan tentang implementasi dari program yang akan dibuat. Pada tahap pembangunan layanan penyedia penyimpanan file online memiliki beberapa tahap, diantaranya adalah:

1) Instalasi dan Konfigurasi.

Proses installasi server layanan penyedia penyimpanan file online ini akan menjelaskan installasi paket-paket yang dibutuhkan antara lain, installasi paket web server Apache2 beserta modul apache_mod_cban, MySQL dan PHP5.

2) Desain Interface.

Proses pembuatan antar muka layanan penyedia penyimpanan file online. Pada proses ini akan menjelaskan pembuatan antar muka yang nantinya akan digunakan oleh client untuk proses upload dan download file pada web browser.

3) Implementasi.

Dalam implementasi aplikasi desain antarmuka ini akan menjelaskan fungsi dan hubungan antara form apa saja yang terlibat di dalam aplikasi sistem layanan online file sharing ini dan menghasilkan beberapa form yang terdapat pada aplikasi system ini.


(61)

4.1 Installasi Apache2 MySQL dan PHP

Dalam perancangan aplikasi penyedia penyimpanan file online ini dibutuhkan aplikasi web server Apache dengan modul libapache2-mod-cband yang digunakan untuk pengaturan bandwidth. Untuk media penyimpanan data pada database penulis menggunakan MySQL sebagai server databasenya dan PHP5 sebagai bahasa pemrograman webnya, sedangkan untuk operating sistemnya penulis menggunakan Linux Ubuntu 10.4 LTS.

Setelah Linux ubuntu terinstall dengan benar pada mesin server yang akan kita gunakan, maka hal pertama yang harus dipersiapkan adalah melakukan installasi paket-paket yang nantinya dibutuhkan dalam pembuatan aplikasi penyedia penyimpanan file online. Untuk menginstall paket pada Linux dibutuhkan koneksi ke mirror, kita dapat menggunakan repository online ataupun menggunakan DVD repo dari Ubuntu. Dalam penulisan ini penulis menggunakan mirror dari id.archive.ubuntu.com untuk penginstallan applikasi. Ketikkan

perintah berikut pada console untuk men-singkronkan source list dengan server. #apt-get update

Setelah melakukan update install paket-paket yang disebutkan di atas dengan mengetikkan perintah berikut pada console.

#apt-get install phpmyadmin php5 php5-cli php5-dev re2c build-essential php-pear mysql-server-5.1 libapache2-mod-suphp apache2-prefork-dev

Secara otomatis linux akan mendownload paket-paket tersebut dan menginstallnya kedalam sistem operasi. Perintah di atas adalah perintah untuk


(62)

installasi PHP5, apache2 dan MySQl beserta tools untuk keperluan kompilasi paket. Agar apache dapat melakukan tugas sebagai pengatur bandwidth yang nantinya digunakan pada aplikasi file sharing online diperlukan kompilasi paket apache2-mod-cband yang dapat di download di

http://www.montanalinux.org/files/mod-cband-0.9.7.5.tgz. Tuliskan perintah

berikut pada console untuk melakukan download paket apache2-mod-cband #wget http://www.montanalinux.org/files/mod-cband-0.9.7.5.tgz

Ekstrak file tersebut kedalam direkrori /usr/local/src.

#tar zxvf mod-cband-0.9.7.5.tgz –C /usr/local/src Pindah ke direktori dimana mod-cband-0.9.7.5 di ekstrak

#cd /usr/local/src/mod-cband-0.9.7.5

Tulisakan perintah berikut untuk konfigurasi dan cek pada mod-cband-0.9.7.5

#./configure

Jika tidak terdapat error berarti paket mod-cband telah siap untuk dikompilasi dan diinstall pada sistem linux.

#make

#make install

Setelah proses kompilasi dan installasi sukses aktifkan install juga paket libapache2-mod-bw.


(63)

Aktifkan apache mod-bw dengan mengetikkan perintah berikut pada console.

#a2enmod bw

Restart apache agar modul yang telah diaktifkan dijalankan oleh apache2

dengan mengetikkan perintah berikut pada console. #/etc/init.d/apache2 restart

4.2 Implementasi Antar Muka

Dalam implementasi desain antar muka ini akan menjelaskan hubungan antar form yang nantinya terlibat dalam aplikasi penyedia penyimpanan file online ini dan menghasilkan beberapa form diantaranya adalah:

4.2.1 Form Utama Aplikasi

Form utama aplikasi ini didesain sedemikian rupa sehingga menarik pengguna dan tidak menggunakan tampilan yang monoton. Tampilan form utama dapat dilihat pada form gambar 4.1:


(64)

4.2.2 Antar Muka Pendaftaran

Pada tampilan antar muka pendaftaran digunakan untuk user yang ingin mendaftar pada layanan penyedia penyimpanan file online. Berikut tampilan antar muka pendaftaran user pada gambar 4.2:

Gambar 4.2 Form Pendaftaran User

Agar tidak terjadi kesalahan pada pendaftaran user seperti mendaftarkan dengan email yang tidak diisi, password yang tidak cocok maka, perlu adanya validasi saat memasukkan pengisian data pada. Berikut potongan kode untuk validasi dari Form pendaftaran:

<script type="text/javascript"> function checkform(){

var s1 = document.getElementById('username').value; var s2 = document.getElementById('email').value; var s3 = document.getElementById('password').value;

var s4 = document.getElementById('password_repeat').value; if(s1=='' || s2=='' || s3=='' || s4==''){

alert("You still have blank field.");

return false;

}

else if(s3!=s4){

alert("You have miss matched password.");

return false;


(65)

else return agreeterms(); }

function agreeterms(){

if (!document.getElementById('rules').checked) {

alert("You have to agree with our sign up terms in order to proceed.");

return false;

} }

</script>

4.2.3 Antar Muka Upload

Pada form antar muka upload ini digunakan untuk proses upload file dari client ke server. Berikut tampilan antar muka untuk upload pada gambar 4.3:

Gambar 4.3 Tampilan Antar Muka Upload

Interface upload menggunakan ajax plugin jQuery dan uploadify-v2.10.

Berikut potongan kode implementasinya pada halaman upload: <input id="fileInput" name="fileInput" type="file" /> <script type="text/javascript">// <![CDATA[

$(document).ready(function() { $('#fileInput').uploadify({ 'uploader' : 'uploadify.swf', 'script' : 'uploadify.php', 'cancelImg' : 'cancel.png', 'auto' : true,


(66)

}); });

// ]]></script>

4.2.4 Antar Muka Link File

Pada tampilan antar muka link file ini digunakan untuk menampilkan hasil dari pembuatan link yang dihasilkan dengan menggunakan metode MD5 oleh applikasi yang nantinya digunakan oleh user untuk mendownload file yang telah di upload oleh user tersebut. Berikut adalah gambar dari antar muka link file:

Gambar 4.4 Tampilan Antar Muka Link File 4.2.5 Antar Muka File Checker

Antar muka file checker digunakan untuk melakukan pengecekan terhadap link file yang telah ada, bahwasannya file yang berada di server layanan penyedia layanan file masih valid atau tidak. Berikut tampilan antar muka file checker:


(67)

Gambar 4.5 Antar Muka File Checker

4.2.6 Form Antar Muka List File

Antar muka list file ini digunakan untuk menampilkan file apa saja yang telah diupload oleh user ke dalam aplikasi file online.


(68)

Fasilitas list file ini hanya disediakan untuk freeuser dan premium user. Untuk tampilan antarmuka list file akan tampak seperti pada gambar 4.6 diatas.

4.2.7 Form Antar Muka Halaman Admin

Pada halaman admin ini hanya dapat diakses oleh administrator yang bertugas untuk mengkonfirmasi request dari user yang ingin melakukan upgrade dari free member menjadi premium member. Untuk tampilan antarmuka dari halaman admin adalah seperti gambar 4.7 berikut ini.

Gambar 4.7 Antar Muka Halaman Admin

4.3 Implementasi Data

Pada implementasi ini dibuat untuk mengetahui database apa saja yang ada didalam sistem serta untuk mengetahui proses penyimpanan data pada


(69)

program yang dibuat. Implementasi data tersebut dapat dilihat pada sub bab berikut:

4.3.1 Data Tabel File

Pada tb_file attribut yang terlibat adalah a) id_file.

Data akan diisi dengan dengan id dari setiap file yang diupload oleh user. id_file ini bersifat primary key.

b) id_user.

Data akan diisi dengan id dari user. id_user bersifat foreign key pada tb_file.

c) file_name.

Data akan berisikan nama dari file yang diisikan berdasar nama file yang diupload oleh user.

d) file_size.

Data akan diisi dengan ukuran file yang telah diupload oleh user. e) file_hit.

Data akan diisi dengan berapa kali file yang akan diupload oleh user telah didownload oleh user lain.

f) file_link.

Data akan diisi dengan link dari file yang telah diupload oleh user, file link digenerate dengan menggunakan MD5 guna melindungi keabsahan file tersebut.


(70)

Data berisikan dari ringkasan atau jumlah file yang tersimpan di database.

h) file_kill.

Data akan diisikan link dari file yang berguna untuk menghapus file yang tersimpan di database.

i) tanggal_upload.

Berisikan tanggal dari upload file yang bersangkutan.

Gambar 4.8 berikut menunjukkan data tb_file:

Gambar 4.8 Tabel File 4.3.2 Data Tabel File ID

Pada tb_file_id attribut yang terlibat adalah last_id. Last_id merupakan id dari file terakhir yang tersimpan dalam database. Gambar 4.9 berikut menunjukkan data tb_file_id


(71)

4.3.3 Data Tabel Download

Pada tabel tb_download terdapat beberapa attribut yang terlibat antara lain :

a)id_download,

Merupakan id yang diberikan kepada user pada saat user tersebut melakukan proses download.

b)id_file,

Merupakan id dari file yang akan didownload oleh user. c)tlg_download,

Adalah tanggal dimana proses download tersebut dikakukan. d)jam_download,

Adalah waktu dari proses download tersebut dilakukan. e)ip_download.

Merupakan alamat IP dari user yang melakukan proses download

Data tb_download dapat dilihat pada gambar 4.10 berikut

Gambar 4.10 Tabel Download 4.3.4 Data Tabel Premium

Pada tabel premium terdapat beberapa attribut yang terlibat, antara lain adalah :


(72)

Merupakan ID dari user yang telah terdaftar sebagai premium member.

b)id_user.

Merupakan ID awal dari user pada saat melakukan registrasi. c)tgl_aktifasi.

Merupakan tanggal dari aktivasi voucher untuk mendapatkan hak akses sebagai premium member.

d)tgl_berakhir.

Merupakan batas tanggal dimana masa aktif dari premium member tersebut habis.

Berikut data dari tabel premium dapat dilihat pada gambar 4.11.

Gambar 4.11 Tabel Premium

4.3.5 Data Tabel User

Pada tabel user terdapat beberapa attribut yang terlibat antara lain adalah sebagai berikut :

a)id_user.

Id user akan diisi otomatis secara auto increment ketika user melakukan pendaftaran pada website.


(73)

b)nama_user.

Merupakan nama dari user pada saat user tersebut melakukan registrasi.

c)email_user.

Merupakan alamat email dari user bersangkutan. d)Password.

Berisikan password dari user yang telah terenkripsi menggunakan md5

e)level_account.

Merupakan tingkatan level dari account user yang menentukan hak akses dari user.

Untuk lebih jelasnya, gambar tabel user dapat dilihat pada gambar 4.12 dibawah ini.


(74)

4.3.6 Data Tabel Voucher

Pada tabel voucher terdapat beberapa attribut yang terlibat antara lain adalah :

a)id_voucher.

Merupakan ID dari voucher yang menentukan level dari voucher tersebut.

b)nama_voucher.

Merupakan nama dari macam-macam voucher. c)masa_berlaku.

Merupakan masa aktif dari berbagai voucher yang tersedia.

Untuk lebih jelasnya, data tabel voucher dapat dilihat pada gambar 4.13 berikut:

Gambar 4.13 Tabel Voucher

4.3.7 Data Tabel Request

Pada tabel request terdapat beberapa atribut didalamnya, antara lain adalah :

a)id_request

Merupakan ID dari request yang diajukan oleh free member untuk mendaftar sebagai premium member.


(75)

b)tgl_request.

Merupakan tanggal dari user tersebut melakukan permintaan upgrade menjadi premium member.

c)id_user.

Merupakan id dari user yang melakukan request d)id_voucher.

Merupakan keterangan level dari voucher yang di-request user. e)status_request.

Merupakan keterangan apakah status request user tersebut telah dikonfimasi atau belum.

Untuk lebih jelasnya, data dati tabel request adalah seperti pada gambar 4.14 di bawah ini.


(76)

Dalam pembahasan bab ini akan membahas tentang uji coba dan evaluasi program yang menerangkan tentang jalannya program secara detail dan akan dijelaskan pada bab di bawah ini:

5.1 Lingkungan Uji Coba

Pada lingkungan uji coba dapat dilihat dari beberapa proses dari Layanan Penyedia Penyimpanan File Online ini dengan cara melakukan uji coba pada beberapa form diantaranya form utama aplikasi, form pendaftaran user, form upload, form link file, form file checker, dan form list file. Lingkungan uji coba

tersebut dapat dilihat sebagai berikut:

5.2.1 Uji Coba Pada Form Utama Aplikasi

Pada Form Utama Aplikasi ini, user yang belum melakukan registrasi dapat melakukan Upload file tanpa harus login terlebih dahulu. pada halaman ini, user yang belum terdaftar atau anonymous dapat melihat berbagai menu yang terdapat pada halaman utama seperti berita terbaru dari situs, menu premium member, file checker, dan peraturan yang harus dipatuhi dalam pemakaian layanan file hosting tersebut. User yang belum melakukan registrasi pada layanan file sharing online ini akan dikatakan sebagai user level0. Pada layanan penyedia penyimpanan file online ini akan terdapat 3 level dari user, antara lain adalah user level0 atau anonymous user, user level1 atau free user, user level2 atau premium user.


(77)

5.2.2 Uji Coba Pada Form Registrasi

Untuk pendaftaran sebagai member pengguna dapat melakukan langsung pada menu sign up yang terdapat diatas halaman utama. Tampilan pada saat melakukan registrasi pendaftaran sebagai free user adalah sebagai berikut :

Gambar 5.1 Proses Registrasi Insert Data User

Semua prosedur dalam memasukkan username, password, dan email pada halaman ini harus dipenuhi. Apabila user yang akan mendaftar sebagai memelakukan kesalahan dalam memasukkan password atau password tidak sama, maka akan terdapat notifikasi untuk memasukkan password yang sama seperti sebelumnya, contoh untuk verifikasi password yang salah adalah seperti gambar berikut.


(78)

Gambar 5.2 Notifikasi Password Tidak Sama

Hal itu juga berlaku untuk pengisian field email. Apabila user yang mendaftar tidak memasukkan email yang bersangkutan, maka akan terdapat notifkasi bahwa dia tidak boleh meninggalkan field secara kosong. Untuk gambar notifikasi pengisian yang dikosongi adalah sebagai berikut.


(79)

Setelah memasukkan data diri, maka user harus menyetujui pernyataan dan ketentuan yang berlaku dalam menggunakan layanan ini dengen mencentang tanda persetujuan. Apabila user tidak memenuhi tanda centang yang disediakan akan terdapat peringatan untuk memenuhi semua persyaratan dari registrasi tersebut seperti dibawah ini :

Gambar 5.4 Proses Registrasi Gagal

Apabila segala persyaratan dalam melakukan registrasi telah selesai, maka user telah terdaftar sebagai free member atau yang disebut sebagai user level1.


(80)

Dan dapat melakukan proses selanjutnya yaitu login ke dalam menu utama sebagai free user dengan data yang telah dimasukkan pada saat proses registrasi sebelumnya. Halaman tampilan setelah login free user adalah seperti gambar dibawah ini :

Gambar 5.6 Halaman Utama User

Untuk mengetahui status dari login user tersebut, dapat diketahui pada pojok kanan atas halaman. Pada account level akan terlihat status dari user tersebut apakah termasuk user free atau user premium.

5.2.3 Uji Coba Pada Form Upload

Pada menu free user ini, pengguna dapat melakukan proses upload file dengan memilih tombol browse yang terdapat pada menu ditengah halaman. User dapat bebas memilih file apa saja yang dia miliki dan akan diupload ke mesin server selama dia telah membaca dan mengetahui semua aturan yang diberlakukan di layanan ini yang terdapat di term of service.


(81)

Gambar 5.7 Browse File Yang Akan DiUpload

Batas maksimal file yang akan diupload adalah sebesar 200 Megabyte atau 0,2 Gygabyte. Apabila user meng-upload file yang lebih besar dari yang ditentukan, makan akan terdapat warning dimana limit besar file telah tercapai. Maka, user harus memilih file lain yang akan diupload yang lebih kecil dari batas maksimal yang diperbolehkan untuk diupload.


(82)

Apabila file upload telah berhasil, maka akan ditampilkan link file, dimana user dapat mengetahui alamat file yang telah diupload tadi sehingga dapat dibagikan kepada orang yang membutuhkan atau rekan yang ingin berbagi file tersebut. Pada link file ini, user juga diberi alamat link untuk menghapus file yang telah diupload tersebut. Pada halaman ini, privasi user yang melakukan upload dapat terjaga, karena hanya dia yang mengetahui link untuk menghapus dan mendownload file tersebut.

Gambar 5.9 Halaman Link File

5.2.4 Uji Coba Pada Form My Files

Untuk mengetahui dimana nantinya file yang diupload, user dapat masuk ke dalam menu list file dimana terdapat semua list dari file-file yang telah dia upload dan dapat mengetahui alamat link dari semua file-file tersebut dengan memilih nama file yang telah diupload untuk memunculkan alamat link file.


(83)

Gambar 5.10 Halaman List File

5.2.5 Uji Coba Pada Form File Checker

Pada halaman ini, pengguna layanan penyedia penyimpanan file online dapat mengetahui apakah alamat file yang akan dimasukkan untuk di didownload masih valid atau tidak. Untuk mengetahui status dari file tersebut user harus memasukkan link dari file yang telah didapat pada saat proses upload atau dari List File, ataupun dari share rekannya. Setelah user memasukkan link dari file ke dalam text box yang telah disediakan maka dapat di check status dari file tersebut. Setelah itu maka dapat diketahui status file tersebut masih valid atau tidak dalam database layanan file hosting ini. Contoh link dari file yang masih valid adalah


(84)

Gambar 5.11 Halaman File Checker valid

Apabila alamat file yang dimasukkan telah dihapus oleh pemiliknya atau tidak ada dalam database, maka keterangan dari hasil check link tersebut akan berubah menjadi tidak valid atau tidak ada dalam database. Untuk contoh file yang tidak valid dalam database adalah sebagai berikut.


(85)

5.2.6 Uji Coba Pada Form Premium

Dalam layanan penyedia penyimpanan file online ini, status tertinggi dari user adalah pada level2 atau disebut dengan premium member. Untuk mendapatkan status premium tersebut, user yang telah terdaftar pada level 1 atau free user dapat melakukan upgrade ke premium dengan memilih paket yang telah disediakan. Diantara paket yang telah disediakan antara lain adalah paket unlimited download selama 30 hari, unlimited download selama 180 hari, dan

unlimited download selama 365 hari. Tampilan dari pilihan upgrade menjadi

premium member adalah sebagai berikut :

Gambar 5.13 Halaman Upgrade Premium Member

Untuk user yang telah terdaftar sebagai free member, dapat secara langsung melakukan upgrade menjadi premium member dengan memilih pilihan upgrade dari 3 pilihan paket yang telah ditawarkan. Setelah memilih pilihan upgrade, maka user tersebut secara langsung telah terdaftar sebagai premium


(1)

81

Gambar 5.22 Form Editing Password Account

Apabila proses editing password baru berhasil, maka akan terdapat notification bahwa perubahan telah berhasil dan user dapat login menggunakan account tersebut dengan password baru yang telah dibuat

Gambar 5.23 Form Editing Password Account Berhasil


(2)

5.2.10 Uji Coba Pada Form Menu Admin

Pada halaman admin ini, seorang administrator akan melakukan konfirmasi upgrade yang direquest oleh free member. Dimana nanti data dari free member yang melakukan request untuk upgrade akan ditampilkan didalam tabel yang terdapat pada halaman ini. Untuk tampilan user yang melakukan request upgrade dan user yang telah diterima menjadi premium member adalah sebagai berikut

Gambar 5.24 Form Request Penerimaan Premium Member

Pada tabel tersebut akan berisi nama user, alamat email user, status user, dan action. Pada kolom status, akan terlihat apakah user tersebut telah diterima menjadi premium member atau belum. Juka user belum diterima maka status yang muncul pada kolom status adalah pending. Dan apabila user telah diterima


(3)

83

menjadi premium member, maka status yang terdapat pada kolom tersebut akan berubah menjadi active. Pada halaman ini, admin bertugas menerima request dari user dengan memilih tombol approve pada kolom action. Setelah memilih tombol tersebut, maka status dari user yang bersangkutan akan berubah menjadi premium member.


(4)

84 6.1 Kesimpulan

Dari hasil pembahasan pada bab-bab sebelumnya maka dapat ditarik beberapa kesimpulan tentang Membangun Layanan Penyedia Penyimpanan File Online, antara lain adalah:

1) Dengan adanya layanan penyimpanan file online ini, pengguna atau user dapat dengan mudah mendistribusikan file ke mesin server ataupun sebaliknya selama terhubung dengan jaringan internet.

2) Layanan penyimpanan file online ini memberikan kemudahan bagi user dalam memanage file yang telah diupload.

3) Dengan adanya program ini, maka user yang terdaftar sebagai member akan mendapatkan layanan sesuai dengan hak akses yang dimiliki.

4) Dengan adanya program ini, maka besar ruang file penyimpanan dan batas speed limit untuk download file dapat diatur berdasarkan login user.

5) Program ini memberikan kenyamanan bagi pengguna layanan karena proses pedaftaran dan manajemen file yang telah diupload dapat dilakukan dengan mudah.


(5)

85

6.2 Saran

Dari pengamatan yang dilakukan penulis selama mengerjakan Tugas Akhir ini

a) Semakin banyaknya layanan sejenis menuntut untuk memberikan pelayanan yang professional dalam pengembangannya. Dalam hal itu untuk pengembangan aplikasi ini akan lebih baik apabila diberikan batasan seperti penggunaan pada instansi tertentu, sehingga lebih memaksimalkan fungsi dari aplikasi yang telah dibangun.

b) Kendala yang mungkin dihadapi dalam penerapan aplikasi ini adalah dimana dibutuhkan storage server yang besar sehingga mampu menampung data dari user yang memanfaatkan fasilitas layanan ini.


(6)

Komputindo.

2. Sulfan, Moh. 2007. Pengembangan Aplikasi Berbasis Web Dengan PHP & ASP. Yogyakarta : Gava Media

3. Kelompok 3 SMKN Tegal. Media Penyimpanan Komputer. Diakses Maret 2010 dari : http://fitrizakya.blogspot.com/2009/10/tugas-kelompok-absen-31-36.html

4. Sudirman, Ivan. Perkembangan Media Penyimpanan. diakses April 2010 dari : http://buchorii.blogspot.com/

5. Just Keep It. Apache Web Server, diakses Mei 2010 dari : http://adoethack.wordpress.com/2008/06/12/apache‐web‐server/ 

6. Just Keep It. PHP, diakses Mei 2010 dari :

http://adoethack.wordpress.com/2008/06/12/php/ 

7. Just keep it, Dasar Pemrograman PHP, Diakses Mei 2010 dari : http://adoethack.wordpress.com/2008/06/12/12/

8. http://id.wikipedia.org/wiki/AJAX 9. http://www.php.net/manual/en/index.php

10. http://www.kaskus.us/showthread.php?t=5801387

11. http://www.rcayadi.web.id/news/2003/05/27/Membatasi_space_user_dengan_Qu

ota

12. http://www.uploadify.com/