• Tidak ada hasil yang ditemukan

MEMBANGUN LAYANAN PENYEDIA PENYIMPANAN FILE ONLINE.

N/A
N/A
Protected

Academic year: 2017

Membagikan "MEMBANGUN LAYANAN PENYEDIA PENYIMPANAN FILE ONLINE."

Copied!
97
0
0

Teks penuh

(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

(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

2.1. Perkembangan Media Penyimpanan... 8

(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

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

 

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

(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

(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

(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

(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

(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

(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

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

(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

(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

(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

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

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

(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

(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

(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

(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

(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

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

(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

(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

(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

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

(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

(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

(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

(50)

Upload/Download 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

(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

(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

(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

(59)

nama email status action

(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

(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

(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

Gambar

Gambar 3.1 Deskripsi Umum Sistem
Gambar 3.2 CDM  Sistem Layanan Onlie File Sharing
Gambar 3.3 PDM Database
Gambar 3.4 Layanan Upload/Download Pada Anonymous User
+7

Referensi

Dokumen terkait

waktu untuk muncul 25 detik dari proses. Tampilan FriendList Friendlist akan menampilkan user 5 detik Waktu yang diperlukan untuk membuka.. dengan stasus online di dalam.

Demikianlah Berita Acara Pembukaan (download) file II penawaran pekerjaan Pengadaan Online Sistem PBB P2 &amp; BPHTB ini dibuat dengan sebenarnya untuk dapat

Pada website aplikasi e-learning Antar Muka ( Interface ) menu utama dan tampilan sub menu yang memudahkan user untuk meng-ekplorasi website dan konten pembelajaran (Kursus [In] /

Bagi user yang tidak mempunyai id, maka dia disediakan fasilitas untuk mengetahui posisi dan rute kendaraan pengangkut paket dengan mengakses posisi

Pada website aplikasi e-learning Antar Muka ( Interface ) menu utama dan tampilan sub menu yang memudahkan user untuk meng-ekplorasi website dan konten pembelajaran (Kursus [In] /

Oleh sebab itu, penulis mencoba mencari solusi untuk membuat sistem baru yaitu dengan website Penyimpanan File Pribadi User Berbasis Web Cloud, pada sistem ini seorang

Filesystem dalam dunia komputer merupakan suatu metode yang digunakan untuk menyimpan dan mengorganisasikan file dan data yang disimpan didalamnya sehingga user

Forum merupakan sebuah fasilitas yang disediakan untuk melakukan diskusi antar peserta bahkan dengan pengawas, dan pengampu sebagai fasiliatornya. Topik yang dibahas