PERANCANGAN ONLINE MOVIE RENTAL DENGAN MEMANFAATKAN TEKNOLOGI MULTICASTING PADA WINDOWS MEDIA SERVICES.
PERANCANGAN ONLINE MOVIE RENTAL DENGAN
MEMANFAATKAN TEKNOLOGI MULTICASTING
PADA WINDOWS MEDIA SERVICES
TUGAS AKHIR
.
Disusun Oleh :
MOCHAMMAD SYIFA ( 0634010203 )
PROGAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR S U R A B A Y A
(2)
PERANCANGAN ONLINE MOVIE RENTAL DENGAN
MEMANFAATKAN TEKNOLOGI MULTICASTING PADA
WINDOWS MEDIA SERVICES
TUGAS AKHIR
Oleh :
MOCHAMMAD SYIFA
0634010203
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
(3)
PERANCANGAN ONLINE MOVIE RENTAL DENGAN
MEMANFAATKAN TEKNOLOGI MULTICASTING PADA
WINDOWS MEDIA SERVICES
TUGAS AKHIR
Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh :
MOCHAMMAD SYIFA
0634010203
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
(4)
LEMBAR PENGESAHAN
PERANCANGAN ONLINE MOVIE RENTAL DENGAN
MEMANFAATKAN TEKNOLOGI MULTICASTING PADA
WINDOWS MEDIA SERVICES
Disusun oleh :
MOCHAMMAD SYIFA
0634010203
Telah disetujui mengikuti Ujian Negara Lisan Periode II Tahun Akademik 2012/2013
Pembimbing I
Nurcahyo Wibowo, S.Kom, M.Kom NIP/NPT. 279030440197
Pembimbing II
Dody Ridwandono, S.Kom NIP/NPT. 278050740218
Mengetahui,
Ketua Program Studi Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
Dr. Ir. Ni Ketut Sari, MT. NIP. 1965 0731 1992 03 2001
(5)
TUGAS AKHIR
PERANCANGAN ONLINE MOVIE RENTAL DENGAN
MEMANFAATKAN TEKNOLOGI MULTICASTING PADA
WINDOWS MEDIA SERVICES
Disusun Oleh :
MOCHAMMAD SYIFA
0634010203
Telah dipertahankan dan diterima oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur Pada Tanggal 14 Desember 2012
Pembimbing : 1.
Nurcahyo Wibowo, S.Kom, M.Kom NIP/NPT. 279030440197
Tim Penguji : 1.
Ir. Sutiyono, MT.
NIP. 19600713 198703 1 001 2.
Dody Ridwandono, S.Kom NIP/NPT. 278050740218
2.
Barry Nuqoba, S.Kom, M.Kom. NIDN. 07 021 184 02
3.
Wahyu Saifullah J S, S.Kom, M.Kom. NPT. 3 8608 10 0295 1
Mengetahui,
Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
Ir. Sutiyono, MT. NIP. 19600713 198703 1 001
(6)
YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN UPN “VETERAN” JAWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI
Jl. Rungkut Madya Gunung Anyar Surabaya 60294 Tlp. (031) 8706369, 8783189 Fax (031) 8706372 Website: www.upnjatim.ac.id
KETERANGAN REVISI
Mahasiswa di bawah ini :
Nama : Mochammad Syifa NPM : 0634010203 Program Studi : Teknik Informatika
Telah mengerjakan revisi/tidak ada revisi*) pra rencana (design) / skripsi ujian lisan gelombang II, Tahun Ajaran 2012/2013 dengan judul:
“PERANCANGAN ONLINE MOVIE RENTAL DENGAN MEMANFAATKAN
TEKNOLOGI MULTICASTING PADA WINDOWS MEDIA SERVICES”.
Oleh karenanya mahasiswa tersebut diatas dinyatakan bebas revisi skripsi dan diijinkan untuk membukukan skripsi dengan judul tersebut.
Surabaya, 21 Desember 2012 Dosen Penguji yang memerintahkan revisi:
1.) Ir. Sutiyono, MT.
{
}
NIP. 19600713 198703 1 001
2.) Barry Nuqoba, S.Kom, M.Kom.
{
}
NIDN. 07 021 184 02
3.) Wahyu Saifullah J S, S.Kom, M.Kom.
{
}
NPT. 3 8608 10 0295 1
Mengetahui, Dosen Pemsbimbing Dosen Pembimbing Utama
Nurcahyo Wibowo, S.Kom, M.Kom NIP/NPT. 279030440197
Dosen Pembimbing Pendamping
Dody Ridwandono, S.Kom
(7)
Judul : PERANCANGAN ONLINE MOVIE RENTAL DENGAN MEMANFAATKAN TEKNOLOGI MULTICASTING PADA WINDOWS MEDIA SERVICES Pembimbing 1 :NURCAHYO WIBOWO, S.Kom, M.Kom
Pembimbing 2 :DODY RIDWANDONO, S.Kom Penulis : MOCHAMMAD SYIFA
iv
ABSTRAK
Perkembangan ilmu pengetahuan dan teknologi (Iptek) dewasa ini sangat pesat. Banyak teknologi baru yang ditemukan dan memiliki penerapan di hampir semua aspek kehidupan manusia salah satunya pada dunia hiburan yaitu film. Ditengah kehidupan masyarakat saat ini dunia industri film sangat berkembang pesat sehingga sangat banyak sekali film-film dengan kualitas terbaik dinikmati oleh masyarakat. Masyarakat dapat menikmatinya dengan menonton bioskop, membeli film berupa DVD atau menyewa film tersebut pada rental DVD. media DVD sanagat mudah ditemukan dengan harga yang terjangkau dan cara penyalinan film pada DVD sangat mudah dilakukan. Pada penyewaan DVD juga dapat dilakukan oleh masyarakat, ini merupakan cara yang tidak membutuhkan biaya yang banyak untuk menikmati film yang akan dilihat. Namun terdapat kelemahan pada cara ini yaitu ketika toko penyewaan tersebut tutup, karena penyewaan tersebut hanya buka pada jam-jam tertentu saja. Film-film yang disimpan dalam bentuk DVD merupakan film dengan kualitas suara dan gambar yang terbaik, karena DVD dapat menampung file sebesar 4Gb. Namun DVD merupakan bentuk fisik yang dapat juga rusak. Dari masalah-masalah yang timbul maka dibutuhkan suatu sistem yang dapat menjawab permasalahan-permasalahan yang ada. Sistem tersebut yaitu dengan membangun sistem penyewaan online yang dapat dinikmati oleh masyarakat.
(8)
ii
KATA PENGANTAR
Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi yang berjudul ”PERANCANGAN ONLINE MOVIE RENTAL DENGAN MEMANFAATKAN TEKNOLOGI MULTICASTING PADA WINDOWS MEDIA SERVICES” tepat waktu.
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 peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, peneliti menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu peneliti sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya,21 Desember 2012
(9)
v
DAFTAR ISI
HALAMAN JUDUL ... i
LEMBAR PENGESAHAN ... ii
KATA PENGANTAR ... iii
ABSTRAK ... iv
DAFTAR ISI...v
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... xiii
BAB I PENDAHULUAN ...1
1.1 Latar Belakang ...1
1.2 Perumusan Masalah ...2
1.3 Batasan Masalah ...2
1.4 Tujuan ...3
1.5 Manfaat Penelitian ...3
1.6 Metode Penelitian ...3
1.7 Sistematika Penelitian ...5
BAB II TINJAUAN PUSTAKA ...7
2.1 Online Movie Rental ...7
2.2 Teknologi Streaming ...7
2.2.1 Protokol Streaming ...10
2.2.2 Protokol Streaming Multimedia ...10
2.2.3 Komponen-komponen dalam Streaming Data ...11
(10)
vi
2.4 Syntax PHP ...12
2.4.1 Variabel PHP ...13
2.4.2 String di PHP ...14
2.4.3 Operator di PHP ...15
2.4.4 Variabel Assigment Operator ...16
2.4.5 Comparison Operator (Operator Perbandingan) ...16
2.4.6 Logika Operator (Operator Logika) ...18
2.4.7 String Concatenation Operator ...19
2.4.8 Variabel Assigment Shortcut ...19
2.4.9 Control Structures di PHP ...20
2.4.10 Array di PHP ...23
2.4.11 Inisialisasi Array ...24
2.5 MySQL ...27
2.5.1 Kelebihan MySQL ...27
2.5.2 Type Data MySQL ...29
2.5.3 SQL (Structured Query Language) ...29
2.5.4 Script PHP dan MySQL ...31
BAB III ANALISIS dan PERANCANGAN SISTEM ...33
3.1 Analisis ...33
3.2 Perancangan Sistem ...34
3.2.1 Deskripsi Umum Sistem ...34
3.2.2 Deskripsi Umum Menggunakan Web Site ...35
(11)
vii
3.2.4 Kebutuhan Pengguna ...36
3.3 Deskripsi Basis Data ...37
3.3.1 Diagram Jenjang ...37
3.3.2 DFD (Data Flow Diagram) ...38
3.3.3 ERD (Entity Relationship Diagram) ...42
3.3.4 CDM (Conceptual Data Model)...43
3.3.5 PDM (Pysichal Data Model) ...46
3.3.6 System Flow...47
3.4 Perancangan Database ...54
3.5 Perancangan Interface ...59
3.5.1 Master Film ...59
3.5.2 Master User Administrator ...60
3.5.3 Registrasi Account User ...60
3.5.4 Laporan Transfer Saldo...61
BAB IV IMPLEMENTASI PROGRAM ...62
4.1 Alat yang digunakan ...62
4.1.1 Perangkat Keras ...62
4.1.2 Perangkat Lunak ...62
4.2 Implementasi Database ...63
4.2.1 Tabel Film ...63
4.2.2 Tabel Kategori ...63
4.2.3 Tabel Sewa ...64
(12)
viii
4.2.5 Tabel Transfer ...65
4.2.6 Tabel User ...66
4.3 Implementasi Aplikasi Desain Antarmuka ...66
4.3.1 Form Login Halaman Super Admin ...66
4.3.2 Halaman Menu Admin ...67
4.3.3 Menu Master Kategori ...67
4.3.4 Menu Master Film...68
4.3.5 Menu Setting Account Admin ...69
4.3.6 Menu Login Pelanggan ...69
4.3.7 Menu Daftar Member Baru ...70
4.3.8 Menu Transfer Saldo...70
4.3.9 Menu Setting Account Member ...71
BAB V UJI COBA DAN ANALISA HASIL ...72
5.1 Uji Coba ...72
5.2 Lingkangan Uji Coba ...72
5.3 Implementasi Aplikasi Desain Antarmuka ...72
BAB VI PENUTUP ...92
6.1 Kesimpulan ...92
6.2 Saran ...93
(13)
ix
DAFTAR GAMBAR
Gambar 2.1 Konfigurasi Streaming ...8
Gambar 2.2 Media Stream Secara Live ...9
Gambar 2.3 Media Stream yang di Rekam ...9
Gambar 2.4 Struktur PHP ...12
Gambar 3.1 Overview System ...34
Gambar 3.2 Diagram Jenjang Sewa Film Online ...38
Gambar 3.3 DFD Level 0 Sewa Film Online ...39
Gambar 3.4 DFD Level 1 Sewa Film Online ...40
Gambar 3.5 ERD (Entity Relationship Diagram) Sewa Film Online ...42
Gambar 3.6 CDM (Conceptual Data Model) Sewa Film Online ...44
Gambar 3.7 PDM (Pysichal Data Model) Sewa Film Online...46
Gambar 3.8 System Flow Master Kategori Film ...48
Gambar 3.9 System Flow Master Film ...49
Gambar 3.10 System Flow Master User ...50
Gambar 3.11 System Flow Registrasi Pelanggan ...51
Gambar 3.12 System Flow Konfirmasi Transfer Saldo ...52
Gambar 3.13 System Flow Update Transfer Saldo ...53
Gambar 3.14 System Flow Memilih Film ...54
Gambar 3.15 Interface Master Film ...59
Gambar 3.16 Interface Master User ...60
(14)
x
Gambar 3.18 Interface Laporan Transfer Saldo ...61
Gambar 4.1 Tabel Film ...63
Gambar 4.2 Tabel Kategori ...64
Gambar 4.3 Tabel Sewa ...64
Gambar 4.4 Tabel Pelanggan ...65
Gambar 4.5 Tabel Transfer ...65
Gambar 4.6 Tabel User ...66
Gambar 4.7 Halaman Login Administrator ...66
Gambar 4.8 Halaman Admin ...67
Gambar 4.9 Menu Master Kategori ...67
Gambar 4.10 Menu Master Film...68
Gambar 4.11 Menu Setting Account ...69
Gambar 4.12 Halaman Login Member ...69
Gambar 4.13 Menu Daftar Member Baru ...70
Gambar 4.14 Transfer Saldo ...71
Gambar 4.15 Setting Account ...71
Gambar 5.1 Halaman Login Administrator ...73
Gambar 5.2 Login Gagal ...73
Gambar 5.3 Login Berhasil ...74
Gambar 5.4 Home Administrator ...74
Gambar 5.5 Form Kategori ...75
Gambar 5.6 Daftar Kategori ...75
(15)
xi
Gambar 5.8 Daftar Kategori (Edit) ...76
Gambar 5.9 Upload Film ...77
Gambar 5.10 Form User Admin ...78
Gambar 5.11 Daftar User Admin ...78
Gambar 5.12 Edit User Admin ...79
Gambar 5.13 Daftar User Admin (Edit) ...79
Gambar 5.14 Daftar Pelanggan ...80
Gambar 5.15 Daftar Transaksi Saldo ...80
Gambar 5.16 Daftar Transaksi Pelanggan ...81
Gambar 5.17 Setting Account Administrator ...81
Gambar 5.18 Konfirmasi Berhasil Setting Password ...82
Gambar 5.19 Logout Administrator...82
Gambar 5.20 Halaman User ...83
Gambar 5.21 Daftar Member Baru ...83
Gambar 5.22 Konfirmasi Berhasil ...84
Gambar 5.23 Login Pelanggan ...84
Gambar 5.24 Login Pelanggan Berhasil ...85
Gambar 5.25 Halaman Home Pelanggan ...85
Gambar 5.26 Daftar Film ...86
Gambar 5.27 Konfirmasi Transfer Saldo ...87
Gambar 5.28 Konfirmasi Kirim Transfer Saldo Pelanggan ...88
Gambar 5.29 Saldo Bertambah ...88
(16)
xii
Gambar 5.31 Play Film ...90 Gambar 5.32 Setting Account Pelanggan ...91 Gambar 5.33 Konfirmasi Logout Account Pelanggan ...91
(17)
xiii
DAFTAR TABEL
Tabel 2.1 Operator di PHP ...15
Tabel 2.2 Operator Perbandingan ...17
Tabel 2.3 Operator Logika ...18
Tabel 2.4 VariabelAssigment Shortcut ...20
Tabel 2.5 Contoh Bentuk Array Sederhana ...24
Tabel 2.6 Tipe Data MySQL...29
Tabel 3.1 Tabel Basis Data User ...55
Tabel 3.2 Tabel Basis Data Transfer ...56
Tabel 3.3 Tabel Basis Data Pelanggan ...57
Tabel 3.4 Tabel Basis Data Sewa ...58
Tabel 3.5 Tabel Basis Data Film ...68
(18)
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan ilmu pengetahuan dan teknologi (Iptek) dewasa ini sangat pesat. Banyak teknologi baru yang ditemukan dan memiliki penerapan di hampir semua aspek kehidupan manusia salah satunya pada dunia hiburan yaitu film. Ditengah kehidupan masyarakat saat ini dunia industri film sangat berkembang pesat sehingga sangat banyak sekali film-film dengan kualitas terbaik dinikmati oleh masyarakat. Masyarakat dapat menikmatinya dengan menonton bioskop, membeli film berupa DVD atau menyewa film tersebut pada rental DVD.
Film DVD saat ini dapat ditemukan dimana-mana penjualannya, namun kebanyakan film yang diperjual belikan merupakan film DVD bajakan. Hal ini dikarenakan media DVD sanagat mudah ditemukan dengan harga yang terjangkau dan cara penyalinan film pada DVD sangat mudah dilakukan.
Penyewaan DVD juga dapat dilakukan oleh masyarakat, ini merupakan cara yang tidak membutuhkan biaya yang banyak untuk menikmati film yang akan dilihat. Namun terdapat kelemahan pada cara ini yaitu ketika toko penyewaan tersebut tutup, karena penyewaan tersebut hanya buka pada jam-jam tertentu saja.
Film-film yang disimpan dalam bentuk DVD merupakan film dengan kualitas suara dan gambar yang terbaik, karena DVD dapat menampung file
(19)
2
sebesar 4Gb. Namun DVD merupakan bentuk fisik yang dapat juga rusak. Jika DVD selalu digunakan maka umur dari DVD tersebut akan berkurang.
Dari masalah-masalah yang timbul maka dibutuhkan suatu sistem yang dapat menjawab permasalahan-permasalahan yang ada. Sistem tersebut yaitu dengan membangun sistem penyewaan online yang dapat dinikmati oleh masyarakat. Karena bersifat online, masyarakat tidak perlu khawatir dengan pembatasan waktu untuk menikmati film, karena penyewaan online ini akan selalu melayani masyarakat 1 X 24 jam. Dengan harga yang tidak jauh berbeda dengan tempat penyewaan DVD, masyarakat dapat menikmati film-film yang terbaru secara online.
1.2 Perumusan Masalah
Berdasarkan latar belakang yang telah diuraikan sebelumnya, terdapat berbagai permasalahan yang akan diangkat di Tugas akhir ini, diantaranya sebagai berikut :
a. Bagaimana cara membuat sebuah aplikasi online movie rental berbasis web untuk mempermudah penyewaan film?
b. Bagaimana mendesaign sebuah aplikasi untuk menyajikan informasi-informasi tentang film terbaru?
1.3 Batasan Masalah
Berikut beberapa batasan masalah pada pembuatan aplikasi online movie, sebagai berikut :
a. Website ini menggunakan money transfer system, dan status pembayaran akan diperbaruhi secara manual oleh administrator.
(20)
3
b. Aplikasi online movie rental ini bisa diakses oleh user yaitu admin dan pelanggan online movie rental dengan menggunakan media aplikasi
browser.
c. Aplikasi ini menggunakan bahasa pemrograman PHP dan untuk Database yang digunakan adalah MySQL.
1.4 Tujuan
Adapun tujuan dalam pembuatan Tugas Akhir ini adalah menerapkan
onlinerental sytem dengan menggunakan multicasting, dimana nantinya sytem ini diharapkan dapat dipakai oleh pihak-pihak terkait untuk membangun sebuah fasilitas baru dalam dunia bisnis hiburan online semacam bioskop online, dengan tidak menyalahi perundangan dalam hal pembajakan yang ada khususnya di Indonesia.
1.5 Manfaat Penelitian
Manfaat dari penilitian ini diharapkan dapat menjadikan Website ini nantinya akan memberikan tingkat kepuasan yang lebih, yaitu dengan pemberian kendali kepada anggota untuk memilih sendiri acara yang diinginkan, dengan cara memilihnya langsung melalui database pada server. Pengunjung (member) pada web aplikasi ini dapat juga menikmati / memutar film yang ada didalam web dengan mudah selama masih berstatus member.
1.6 Metode Penelitian
Metode pada pembuatan Tugas Akhir ini terbagi menjadi beberapa tahapan sebagai berikut :
(21)
4 a. Survei Lapangan
Pada tahap awal ini dilakukan survey lapangan yaitu, dengan melihat kondisi sistem yang digunakan layanan TV Kabel dan Rental VCD / DVD saat ini dalam memilih acara atau film.
b. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi-referensi, dokumen-dokumen, buku-buku, sumber dari internetdan sumber-sumber lainnya yang diperlukan untuk merancang dan mengimplementasikan sistem informasi.
c. Perancangan Perangkat Lunak dan Desain Sistem
dari hasil survey lapangan, studi literatur dan mempelajari konsep teknologi software yang ada, pada tahap ini merupakan tahap yang paling penting dimana bentuk awal aplikasi yang akan diimplementasikan.
d. Pembuatan Perangkat Lunak
Pada tahap ini system informasi yang telah dirancang sebelumnya, akan diimplementasikan secara langsung kepada user-user yang akan menggunakan system informasi tersebut.
e. Uji Coba dan Evaluasi
Pada tahap ini system informasi yang telah dibangun akan diuji coba penggunaannya dan dieavluasi untuk kelayakan sistemnya.
f. Penyusunan Buku Tugas Akhir
Pada tahap ini merupakan tahap terakhir dalam penyusunan Tugas Akhir. Buku ini disusun sebagai laporan dari seluruh proses pengerjaan Tugas
(22)
5
Akhir dan dari hasil laporan buku ini akana memudahkan pembaca untuk mengetahui alur system informasi yang bekerja atau sebagai panduan untuk pembaca.
1.7 Sistematika Penulisan
Sistematika penulisan pada Tugas Akhir ini bertujuan agar perancangan dan pembangunan perangkat lunak yang dibahas menjadi lebih mudah dipahami pada setiap bab atau sub bahasan. Secara kronologis uraian dalam Tugas Akhir ini disusun sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi tentang deskripsi umum tentang Tugas Akhir yang meliputi : latar belakang, perumusan masalah, batasan masalah, tujuan, manfaat, metodologi serta sistematika penulisan
BAB II TINJAUAN PUSTAKA
Bab ini berisi penjelasan mengenai dasar ilmu yang mendukung pembahasan tugas akhir ini, seperti berbagai hal mengenai pengertian / definisi tentang Film, TV Cable dan teknologi multicast. Webmedia server serta tentang konsep dari teori pembelajaran yang menjadi dasar pembuatan Tugas Akhir diantaranya PHP dan MySQL.
(23)
6
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi tentang perencanaan system yang akan dibangun, termasuk desain interface dan basis data yang akan digunakan dalam pembangunan perangkat lunak.
BAB IV IMPLEMENTASI
Bab ini berisi tentang hasil implementasi dari perancangan system sebelumnya yang meliputi basis data, design database, pembangunan program dan form interface aplikasi.
BAB V UJICOBA DAN EVALUASI
Bab ini berisi tentang penjelasan ruang lingkup uji coba sistem dan skenario uji coba yang dilakukan untuk kelayakan sistem ini
BAB VI PENUTUP
Bab ini berisi tentang kesimpulan dan saran untuk pengembangan system lebih lanjut upaya memperbaiki kelemahan pada sistem dan untuk mendapatkan hasil informasi sesuai dengan yang diinginkan sebagai kesempurnaan sistem.
(24)
7
BAB II
TINJAUAN PUSTAKA
2.1. Online Movie Rental
Teknologi pada saat ini cukup berkembang sangat pesat, sehingga banyak bermunculan macam-macam aplikasi untuk menyajikan isi multimedia secara lebih atraktif. Salah satu pengembangannya adalah pembuatan persewaan film secara online ( Online Movie Rental ) dan nantinya akan dibangun sebuah online movie rental yang berbentuk sebuah website. Dimana website ini nantinya dapat diakses kapanpun, dan dari manapun, selama ada jaringan internet dan dukungan dari hardware dan software yang memadai. Hasil pengujian menunjukkan bahwa sistem ini memiliki kelebihan diantaranya memberikan kendali bagi member untuk memilih sendiri acaranya. Selain itu sistem juga memiliki performance yang cukup baik dibuktikan dengan kemampuannya untuk dapat diakses oleh banyak client.
Pada pembuatan online movie rental ini akan menggunakan Teknologi
Streaming. Weblmedia server yang digunakan adalah Microsoft Windows XP, yang juga berperan sebagai sistem operasinya.
2.2. Teknologi Streaming
Streaming adalah sebuah teknologi untuk memainkan file video atau audio yang terletak pada sebuah server dapat secara langsung dijalankan pada User Equipment /9UE) sesaat setelah ada permintaan dari user, sehingga proses
(25)
8
download file video atau audio yang memakan waktu lama dapat dihindari. Berikut Gambar 2.1 Konfigurasi Streaming.
Gambar 2.1 Konfigurasi Streaming
Teknologi streaming dikenal juga sebagai streaming media adalah suatu teknologi untuk memainkan atau menjalankan file (audio maupun video) baik secara langsung atau rekaman, dimana file tersebut harus di econding terlebih dahulu menggunakan data rata tertentu yang cocok untuk ditransmisikan melalui internet atau jaringan yang sesuai dengan kapsitas bandwith dari user. Data rate yang digunakan harus cocok dengan data rate pelanggan atau user, untuk itu harus dilakukan encoding file-file audio maupun video dengan bermacam-macam kecepatan dari sistem akses datanya.[2]
Aliran data dari klien ke server atau sebaliknya berupa Audio/Video, dimana itu dapat dilihat langsung. Berikut Gambar 2.2 Media Stream Secara Live
(26)
9
a. Real time kepada klien lain ( Live )
Gambar 2.2 Media Stream Secara Live
b. Direkam kemudian dimainkan. Berikut Gambar 2.3 Media Yang di Rekam.
(27)
10
2.2.1. Protokol Streaming
Protokol streaming terdiri dari :
a) RSVP ( Resource Reservation Protocol)
Digunakan untuk mereserve bandwith sehingga data dapat tiba ditujuan dengan cepat dan tepat
b) SMRP ( Simple multicast Routing Protocol)
Protocol yang mendukung ‘conferencing’ dengan menggandakan (multiplying) data pada sekelompok user penerima.
c) RTSP ( Real Time Streaming Protocol )
Digunakan oleh program streaming multimedia untuk mengatur pengiriman data secara realtime, tidak bergantung pada protokol transport. Metode yang ada PLAY, SETUP, RECORD, PAUSE dan TEARDOWN yang digunakan pada video on demand.
2.2.2. Protokol Streaming Multimedia
Protokol Streaming Multimedia terdiri dari : a) RTP ( Real Time Transport Protocol )
Suatu standard untuk mengirimkan data multimedia secara rael-time, bergantung pada protokol Transport, berjalan diatas UDP tetapi bisa juga diatas protokol lain.
b) RTCP ( Real Time Control Protocol )
Protokol QOS ( Quality Of Service ) untuk menjamin kualitas streaming. Protokol QOS juga merupakan bagian pengkontrolan paket data pada RTP.
(28)
11
2.2.3. Komponen-komponen dalam Streming data
a. Station , Adalah lokasi yang menyimpan stream data yang kemudian mengirimkan stream ke client. station ini adalah serangkaian informasi mengenai IP address dan port yang digunakan untuk mengirim stream data, dan disimpan dalam sebuah file berekstensi. nsc. Data yang dapat di
stream melalui station ini berupa stream ASF saja.
b. Program, Adalah komponen yang digunakan untuk mengatur satu atau lebih stream sebagai satu kesatuan entity. program dapat dianalogikan sebagai sebuah tempat penyimpanan stream pada station.
c. Stream Information, Informasi mengenai stream yang dikirim melalui jaringan. Informasi ini disimpan dalam sebuah file berekstensikan *.asx. Didalam file inilah informasi mengenai stream disimpan.
2.3. PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrogramman berbasis web yang memiliki kemampuan untuk memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML bisaa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah).
(29)
12
Ketika menggunakan PHP sebagai server-side embedded script language maka server akan melakukan hal-hal sebagai berikut :
1. Membaca permintaan dari client/browser 2. Mencari halaman/page di server
3. Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/page.
4. Mengirim kembali halaman tersebut kepada client melalui internet atau intranet. Berikut Gambar 2.4 Struktur PHP
Gambar 2.4 Struktur PHP
2.4. Syntax PHP
Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga kode PHP dapat ditulis hampir di semua editor text seperti windows notepad, windows wordpad, dll. Kode PHP adalah kode yang disertakan di sebuah halaman HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser. Contoh file PHP (contoh.php):
<html> <?
Print ("Contoh text yang menggunakan kode PHP"); ?>
(30)
13
Pada file .html, HTTP server hanya melewatkan content dari file menuju ke browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu adalah tugas sebuah browser.
Pada file dengan ekstensi .php akan ditangani secara berbeda. Yang memiliki kode PHP akan diperiksa. Web server akan memulai bekerja apabila berada diluar lingkungan kode HTML. Oleh karena itu server akan melewati semua content yang berisi kode HTML, CSS, JavaScript, simple text di browser tanpa diinterpretasikan di server.
Blok scripting PHP selalu diawali dengan <?php dan diakhiri dengan ?>. Blok scripting PHP dapat ditempatkan dimana saja di dalam dokumen. Pada beberapa server yang mendukung, blok scripting PHP dapat diawali dengan <? dan diakhiri dengan ?>. Namun, untuk kompatibilitas maksimum, sebaiknya menggunakan bentuk yang standar (<?php ?>). Setiap baris kode PHP harus diakhiri dengan semikolon (;).
Semikolon ini merupakan separator yang digunakan untuk membedakan satu instruksi dengan instruksi lainnya. PHP menggunakan // untuk membuat komentar baris tunggal atau /* dan */ untuk membuat suatu blok komentar.[1]
2.4.1. Variabel PHP
Variabel digunakan untuk menyimpan suatu nilai, seperti text, angka atau array. Ketika sebuah variabel dibuat, variabel tersebut dapat dipakai berulang-ulang. Pada PHP semua variabel harus dimulai dengan karakter '$'. Variabel PHP tidak perlu dideklarasikan dan ditetapkan jenis datanya sebelum kita menggunakan variabel tersebut. Hal itu berarti pula bahwa tipe
(31)
14
data dari variabel dapat berubah sesuai dengan perubahan konteks yang dilakukan oleh user.
Secara tipikal, variabel PHP cukup diinisialisasikan dengan memberikan nilai kepada variabel tersebut. Contoh berikut akan mencetak "PHP" :
$text = "PHP"; print "$text";
Identifier dalam PHP adalah case-sensitive, sehingga $text dengan $Text merupakan variabel yang berbeda. Built-in function dan structure tidak case-sensitive, sehingga echo dengan ECHO akan mengerjakan perintah yang sama. Identifier dapat berupa sejumlah huruf, digit/angka, underscore, atau tanda dollar tetapi identifier tidak dapat dimulai dengan digit/angka.
Aturan Penamaan Variabel
a) Nama variabel harus diawali dengan sebuah huruf atau garis bawah (underscore) “_”
b) Nama variabel hanya boleh mengandung karakter alpha-numeric dan underscore (a-Z, 0-9, dan _ )
c) Nama variabel tidak boleh mengandung spasi.
2.4.2. String di PHP
Variabel string digunakan untuk nilai yang mengandung karakter string. Pada contoh berikut, skript PHP memberikan string "Hello World" pada variabel string bernama $txt :
<?php
$txt="Hello World"; echo $txt;
(32)
15
Keluaran kode tersebut adalah : Hello World
Hanya ada satu operator string di PHP. Concatenation operator (.). digunakan untuk menggabungkan dua string. Contoh :
<?php
$txt1="Hello World"; $txt2="1234";
echo $txt1 . " " . $txt2; ?>
Keluaran kode tersebut adalah : Hello World 1234
2.4.3. Operator di PHP
Operator digunakan untuk menentukan sebuah nilai dengan melakukan suatu prosedur, atau dengan suatu operasi dari beberapa nilai. Nilai yang digunakan dalam sebuah operasi disebut operand. Penjumlahan adalah sebuah contoh sederhana dari suatu operasi.
Sebagai contoh : 2 + 4
2 dan 4 adalah sebuah operand. Ekspresi ini akan menghasilkan 6. Berikut Tabel 2.1 Operator di PHP.
Tabel 2.1 Operator di PHP
Operator Aksi Contoh Penejelasan
+ Penjumlahan 5 + 9 Menghasilkan nilai
: 14
- Pengurangan 9 - 4 Menghasilkan nilai
: 5
* Perkalian 5 * 6 Menghasilkan nilai
: 30
/ Pembagian 20 / 4 Menghasilkan nilai
: 5
% Modulus 9 % 4 Menghasilkan nilai
(33)
16
2.4.4. Variabel Assignment Operator
Tanda sama dengan ( = ) digunakan untuk mengatur atau menetapkan nilai suatu variabel. Oleh karena itu tanda tersebut dikenal sebagai operator penugasan.
Contoh :
$x = 1; $y = x + 1;
$luas = $panjang * $lebar; $statements = "Yes";
Variabel disebelah kiri tanda ( = ) akan diberikan nilai dari ekspresi disebelah kanan tanda ( = ).
2.4.5. Comparison Operator (Operator Perbandingan)
Operator perbandingan digunakan untuk menguji suatu kondisi. Ekspresi yang menggunakan operator perbandingan akan selalu menghasilkan nilai boolean, yaitu antara true (benar) atau false (salah).
Contoh :
$i = 4;
if ($i < 6) print "akan dilakukan pencetakan"; // ekspresi '$i < 6' adalah benar
if ($i > 6) print "tidak akan tercetak"; // ekspresi '$i > 6' adalah salah
Beberapa operator perbandingan yang lain adalah sebagai berikut Tabel 2.2 Operator Perbandingan.
(34)
17
Tabel 2.2 Operator Perbandingan
Tanda ( == ) merupakan operator perbandingan untuk menguji suatu variabel sedangkan tanda ( = ) adalah operator penugasan untuk memberikan nilai kepada suatu variabel. Perhatikan dua contoh dibawah ini.
Contoh salah :
$i = 3;
if($i = 5) print "lima";
// akan mencetak lima. Pernyataan $i=3 akan diabaikan $i = 3;
if(5 = $i) print "lima";
/* parse error terdapat kesalahan. PHP berusaha memberikan nilai
$i kepada bilangan 7 */
Contoh Benar :
$i = 3;
if($i == 5) print "lima";
// $i == 5 menghasilkan nilai false (salah) sehingga pernyataan
// print "lima" tidak dijalankan. $i = 3;
Operator Arti Contoh Menghasilkan benar (true)
ketika :
= = Sama
dengan
$i = = $j
$i dan $j mempunyai nilai yang sama
< Kurang
dari
$i < $j $i kurang dari $j > Lebih dari $i > $j $i lebih dari $j
< = Kurang
dari atau sama dengan
$i < = $j
$i kurang dari atau sama dengan $j
> = Lebih dari atau sama dengan
$i > = $j
$i lebih dari atau sama dengan $j
!= Tidak
sama dengan
$i != $j
$i tidak sama dengan $j
< > Tidak sama dengan
$i < > $j
$i tidak sama dengan $j
= = = I dentik $a
= = = $b
Benar jika $a sama dengan $b, dan keduanya memiliki type data yang sama.(hanya dalam PHP4)
(35)
18
if(5 == $i) print "lima";
// 5 == $i menghasilkan nilai false (salah) sehingga pernyataan
// print "lima" tidak dijalankan. $a = "7";
$b = 7.00;
print ($a == $b); // mencetak 1 (true)
print (($a == $b) and (gettype($a) == gettype($b))); // mencetak 0
2.4.6. Logical Operator (Operator Logika)
Operator logika digunakan untuk mengkombinasikan kondisi, sehingga beberapa kondisi dapat dievaluasi atau diperiksa dalam sebuah ekspresi.
Sebagai contoh logika AND akan bernilai true jika semua kondisi benar. Berikut Tabel 2.3 Operator Logika
Tabel 2.3 Operator Logika
Operator Contoh Bernilai benar jika :
AND / and
$i && $j atau $i AND $j
$i dan $j bernilai bernilai benar
OR / or $i | | $j atau $i OR $j
Salah satu atau kedua variabel bernilai benar
XOR $i XOR $j Salah satu variabel bernilai benar,
tetapi tidak keduanya benar
NOT !$i $i tidak bernilai benar
Contoh :
$i = 1; $j = 2; $k = 3;
if($i==1 && $j==2 && $k==3) print "akan tercetak"; // akan mengeksekusi pernyataan print
if($i==1 OR $k==3) print "akan tercetak"; // akan mengeksekusi pernyataan print if($i==1 XOR $j==2) print "akan tercetak";
// tidak mengeksekusi pernyataan print karena kedua variabel //bernilai benar
if !($i==1 && $k==3) print "akan tercetak"; // tidak akan mengeksekusi pernyataan print
(36)
19
if (($i==1 && $k==3) XOR ($i==1 || $j=2) XOR ($i==1)) print "akan tercetak";
// akan mengeksekusi pernyataan print
2.4.7. String Concatenation Operator
Tanda titik ( . ) sebagai operator concatenate (penggabung) digunakan untuk menggabungkan dua atau lebih nilai string menjadi sebuah string tunggal.
Contoh :
$subjek = "saya";
$predikat = "sedang belajar"; $objek = "PHP";
$kalimat = $subjek." ".$predikat." ".$objek;
print $kalimat; // akan mencetak saya sedang belajar PHP print "$kalimatversi 3"; // akan akan mencetak 3
print "$kalimat versi 3"; // akan mencetak saya sedang belajar PHP versi 3
print "${kalimat} versi 3";// akan mencetak saya sedang belajar PHP versi 3
$bilangan = "<B>1</B> "; $bilangan .= "<I>2</I> "; $bilangan .= "<U>3</U>";
print $bilangan; // akan mencetak 1 2 3
2.4.8. Variabel Assignment Shortcut
Pada PHP dimungkinkan untuk melakukan penggunaan jalan pintas untuk operator pada pernyataan penugasan dimana operand pertama adalah sebuah variabel dan hasilnya disimpan pada variabel yang sama. Berikut Tabel 2.4 Variabel Assignment Shortcut
(37)
20
Tabel 2.4 Variabel Assignment Shortcut
Contoh Ekivalen dengan $x + = $y $x = $x + $y $x -= $y $x = $x - $y $x * = $y $x = $x * $y $x / = $y $x = $x / $y $x % = $y $x = $x % $y $x &= $y $x = $x & $y $x | = $y $x = $x | $y $x ^ = $y $x = $x ^ $y $x .= $y $x = $x . $y $x > > = 2 $x = $x > > 2 $x < < = 2 $x = $x < < 2 $x+ + $x = $x + 1
$x-- $x = $x - 1
Contoh :
$x = 10; // $x bernilai 10 $x++; // $x bernilai 11 $x = 10; // $x bernilai 10 ++$x; // $x bernilai 11
tetapi,
$x = 10; // $x bernilai 10
$y = $x++; // $x bernilai 11 tetapi $y bernilai 10 $x = 10; // $x bernilai 10
$y = ++$x; // $x dan $y bernilai 11 // penugasan terjadi setelah penambahan
2.4.9. Control Structures di PHP
Skrip PHP terdiri dari rangkaian pernyataan. Sebuah pernyataan dapat berupa assignment, pemanggilan fungsi, sebuah loop, pernyataan kondisional atau bahkan pernyataan kosong. Pernyataan bisaanya diakhiri dengan semikolon. Sebagai tambahan, pernyataan-pernyataan dapat dikelompokkan menjadi suatu kelompok pernyataan menggunakan kurung kurawal ( {} ). Sebuah kelompok pernyataan merupakan sebuah pernyataan juga.
(38)
21 a) IF
Syntax : if (expr) statement
Contoh : - if ($a > $b) print "a is bigger than b"; - Jika statemen lebih dari satu maka :
if ($a > $b) {
print "a is bigger than b"; $b = $a;
}
b) Else
if ($a > $b) {
print "a is bigger than b"; } else {
print "a is NOT bigger than b"; }
c) Elseif
if ($a > $b) {
print "a is bigger than b"; } elseif ($a == $b) {
print "a is equal to b"; } else {
print "a is smaller than b"; }
d) Switch
Pernyataan switch mirip dengan rangkaian pernyataan IF dengan ekspresi yang sama. Pernyataan switch digunakan untuk membandingkan variabel yang sama dengan banyak nilai yang berbeda.
Dan menjalankan kode-kode yang berbeda tergantung pada nilai mana variabel tersebut sama. Sangat penting untuk memahami bagaimana pernyataan switch dieksekusi agar terhindar dari kesalahan. Pernyataan switch dieksekusi per pernyataan. Di awal, tidak ada kode yang dieksekusi. Ketika pernyataan case sesuai dengan ekspresi pada switch, PHP mulai mengeksekusi pernyataan-pernyataan tersebut. PHP terus mengeksekusi pernyataan-pernyataan tersebut hingga akhir blok switch, atau pada saat
(39)
22
pertama kali bertemu pernyataan break. Jika tidak ada pernyataan break, PHP akan mengeksekusi pernyataan-pernyataan pada case berikutnya. Contoh:
switch ($i) { case 0:
print "i equals 0"; case 1:
print "i equals 1"; case 2:
print "i equals 2"; }
Pada pernyataan switch, kondisi (ekspresi) hanya diperiksa sekali dan hasilnya dibandingkan dengan setiap pernyataan case.
e) While
Perulangan while merupakan perulangan yang paling sederhana di PHP. Bentuk dasar pernyataan while adalah :
while (expr) statement
Pada while, PHP mengeksekusi pernyataan-pernyataan bersarang (nested statement(s)) berulang-ulang, selama ekspresi yang dievaluasi bernilai benar (TRUE). Nilai ekspresi tersebut diperiksa setiap saat di awal perulangan. Jika hasil evaluasi ekspresi adalah salah (FALSE) sejak awal, pernyataan-pernyataan bersarang tersebut tidak akan dijalankan meskipun sekali.
Contoh :
$i = 1;
while ($i <= 10) {
print $i++; /* the printed value would be $i before the increment
(post-increment) */ }
(40)
23 f) Do ... while
Perulangan do..while loops hamper sama dengan perulangan while, kecuali kebenaran ekspresi dicek di akhir iterasi. Perbedaan mendasar dari perulangan while adalah iterasi pertama pada do…while pasti akan
dijalankan. Contoh :
$i = 0; do { print $i; } while ($i>0);
g) For
Syntax : for (expr1; expr2; expr3) statement
Ekspresi pertama (expr1) dievaluasi (dieksekusi) sekali di awal perulangan. Di awal setiap iterasi, expr2 dievaluasi.
Jika benar, perulangan dilanjutkan dan pernyataan-pernyataan bersarang dieksekusi. Jika salah, perulangan dihentikan. Di akhir setiap iterasi, expr3 dievaluasi (dieksekusi).
Contoh :
for ($i = 1; $i <= 10; $i++) { print $i;
}
2.4.10. Array di PHP Array sederhana
Pada PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan nilai. Sebuah array terdiri dari sejumlah element, yang
(41)
masing-24
masing memiliki sebuah nilai - data yang tersimpan pada elemen array tersebut - dan sebuah key atau index, dimana elemen tersebut dapat dirujuk. Normalnya, sebuah index berupa integer. Secara default, array adalah basis nol, artinya elemen pertama dari array memiliki index nol. akan tetapi index dapat juga berupa string.
Bentuk sederhana array terdiri dari serangkaian elemen yang bertanda dimulai dari nol dan bertambah secara sekuensial. Sebagai contoh sebuah array bernama $branch, setiap elemen berisi nama kota cabang sebuah perusahaan. Berikut Tabel 2.5 Contoh Bentuk Array Sederhana
Tabel 2.5 Contoh bentuk array sederhana
$branch[ 0] $branch[ 1] $branch[ 2] $branch[ 3] $branch[ 4] "Semarang" "Surabaya" "Medan" "Bandung" "Yogyakarta
Array dalam PHP dapat berisi elemen dari sejumlah tipe data yang berbeda. Artinya array dalam PHP tidak harus memiliki tipe data yang sama. Setiap elemen dapat berupa tipe data apa saja.
Ada tiga jenis array di PHP:
1. Numeric array – Array dengan dengan kunci ID numerik
2. Associative array – Array dimana setiap kunci ID berasosiasi dengan sebuah nilai
3. Multidimensional array - Array yang menyimpan satu atau lebih array
(42)
25
Ada banyak cara untuk melakukan inisialisasi sebuah array. Cara pertama yang sederhana adalah cukup dengan memberikan nilai kepada variabel array.
$branch[] = "Semarang"; $branch[] = "Surabaya"; $branch[] = "Medan";
Jika tanda kurung siku pada variabel array tidak diberikan nilai index, maka secara default maka element sebenarnya bernilai index 0,1,2,.... contoh dibawah akan menghasilkan array yang sama dengan contoh diatas.
$branch[0] = "Semarang"; $branch[1] = "Surabaya"; $branch[2] = "Medan";
Dalam prakteknya, pemberian index dilakukan secara sekuensial atau berurutan. Tetapi dilain hal dapat dilakukan peng-indekkan secara acak sesuai keinginan user.
$branch[20] = "Semarang"; $branch[22] = "Surabaya"; $branch[23] = "Medan";
print $branch[23] // print Medan
Array tersebut memiliki tiga buah elemen juga tetapi indeksnya merupakan bilangan acak yaitu 20, 22, 23. Jika menginginkan jumlah dari elemen array yang terdapat pada sebuah variabel array, dapat digunakan fungsi count(). Fungsi tersebut mengembalikan nilai fungsi berupa integer yang menyatakan jumlah elemen array.
$branch[20] = "Semarang"; $branch[23] = "Surabaya";
$branch[] = "Medan"; // memiliki indeks 24 // bilangan indeks kedua setelah
// bilangan indeks terbesar
(43)
26
print $branch[] // print nothing print $branch[24] // print Medan
Cara lain untuk menginisialisasi array adalah dengan konstruksi array array(). Nilai dikirimkan kedalam array yang akan diberikan.
$branch = array("Semarang", "Surabaya", "Medan"); print $branch[2]; // print Medan
Jika user ingin mengesampingkan indeks secara default, operator (=>) dapat digunakan untuk memberikan indeks spesifik untuk elemen array. Pada contoh sebelumnya $branch memiliki tiga elemen dengan indeks 0, 1, dan 2. jika user menginginkan array dengan basis satu (indeks dimulai dari 1, 2, 3, ...), maka dapat dituliskan dengan menggunakan operator (=>).
$branch = array(1 => "Semarang", "Surabaya", "Medan"); $city = array("Solo", 7 => "Gresik", "Brastagi"); print $branch[3]; // print Medan
print $city[8]; // print Brastagi
Form di PHP
Contoh Form :
<html> <body>
<form action="welcome.php" method="post"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" />
</form> </body> </html>
(44)
27
Contoh halaman HTML di atas mengandung dua field input dan sebuah tombol submit. Ketika user mengisi form dan mengklik tombol submit, data form akan dikirim ke file.
File "welcome.php" :
<html> <body>
Welcome <?php echo $_POST["name"]; ?>.<br /> You are <?php echo $_POST["age"]; ?> years old. </body>
</html>
Keluaran dari skrip tersebut adalah : Welcome John.
You are 28 years old.
Untuk mengambil data form di PHP digunakan variabel $_GET atau $_POST.
2.5. MySQL
MySQL adalah database yang menghubungkan script PHP, menggunakan perintah query dan escape character yang sama dengan PHP. MySQL mempunyai tampilan client yang mempermudah penulis dalam meng-akses database dengan kata sandi untuk mengijinkan proses yang boleh penulis lakukan. Kelebihan dari MySQL dapat melakukan transaksi dengan mudah dan efisien serta mampu menangani jutaan user dalam waktu yang bersamaan.[3]
2.5.1. Kelebihan MySQL
Database MySQL memiliki beberapa kelebihan dibandingkan dengan database lain, diantaranya :
(45)
28
2. MySQL sebagai Relation Database Management System ( RDMS ) atau disebut dengan database Relational.
3. MySQL merupakan sebuah database server yang free, artinya penulis bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya.
4. MySQL merupakan sebuah database client.
5. MySQL mampu menerima query yang bertupuk dalam satu permintaan atau Multhithreading.
6. MySQL merupakan Database yang mampu menyimpan data berkapasitas sangat besar hingga berukuran GigaByte sekalipun.
7. MySQL didukung oleh driver ODBC, artinya database MySQL dapat diakses menggunakan aplikasi apa saja termasuk berupa visual seperti visual Basic dan Delphi.
8. MySQL adalah Database menggunakan enkripsi password, jadi database ini cukup aman karena memiliki password untuk mengakses nya.
9. MySQL merupakan Database Server yang multi user, artinya database ini tidak hanya diguanakan oleh satu pihak orang akan tetapi dapat digunakan oleh banyak pengguna.
10. MySQL mendukung field yang dijadikan sebagai kunci primer dan kunci unique
11. MySQL memiliki kecepatan dalam pembuatan tabel maunpun peng-update an tabel.
(46)
29
2.5.2. Type Data MySQL
Beberapa tipe data dalam MySQL yang sering dipakai, Berikut Tabel 2.6 Tipe Data MySql
Tabel 2.6 Tipe data MySql
Tipe data Keterangan
INT(M) [UNSIGNED] Angka
-2147483648 s/d 2147483647 FLOAT(M,D) Angka pecahan
DATE Tanggal
Format : YYYY-MM-DD DATETIME Tanggal dan Waktu
Format : YYYY-MM-DD HH:MM:SS CHAR(M) String dengan panjang tetap sesuai
dengan yang ditentukan. Panjangnya 1-255 karakter
VARCHAR(M) String dengan panjang yang berubah-ubah sesuai dengan yang disimpan saat itu.
Panjangnya 1 – 255 karakter
BLOB Teks dengan panjang maksimum 65535 karakter
LONGBLOB Teks dengan panjang maksimum 4294967295 karakter
2.5.3.SQL ( Structured Query Language )
Structured Query Language (SQL) adalah bahasa standard untuk melakukan berbagai operasi data pada database, diantaranya mendefinisikan tabel, menampilkan data kriteria tertentu, menambahkan data hingga menghapus data tertentu. Penggunaan SQL pada beberapa bahasa pemrograman secara umum
(47)
30
relatif sama. Berikut akan dijelaskan beberapa perintah SQL yang sering digunakan dalam operasi pemrograman database.
1. SELECT
Perintah SELECT digunakan untuk menampilkan data.
Bentuk Umum :
Klausa WHERE digunakan untuk membatasi data yang akan ditampilkan dengan menambahkan syarat tertentu pada data yang ingin ditampilkan. Klausa ORDER BY digunakan untuk menampilkan data dengan urutan menaik (ASC) atau urutan menurun (DESC).
Contoh :
2. INSERT
Perintah INSERT digunakan untuk menambahkan data kedalam tabel.
Bentuk Umum:
(48)
31
3. UPDATE
Perintah UPDATE digunakan untuk mengubah data pada sebuah tabel dengan kriteria tertentu.
Bentuk umum :
Contoh :
4. DELETE
Perintah DELETE digunakan untuk menghapus data yang memnuhi kriteria tertentu.
Bentuk Umum :
Contoh :
2.5.4. Script PHP dan MySQL
1) Membuat Koneksi ke Server
Untuk melakukan koneksi ke server, penulis perlu menciptakan file khusus yang berfungsi sebagai penghubung antara script dan database.
(49)
32
Menggunakan file khusus ini apabila terdapat perubahan user atau password dan penulis hanya perlu mengubah satu file saja.
2) Menyeleksi Database
Setelah data terhubung ke dalam server, penulis diizinkan untuk menghubungkan database yang akan digunakan. Perintah untuk menyeleksi database adalah mysql_select_db().
3) Mengakses Query
Untuk mengeksekusi query pada database yang aktif, penulis dapat menggunakan fungsi mysql_query ( ). Fungsi ini menggunakan parameter yang telah penulis tentukan di dalam variabel.
4) Menampilkan Hasil Query
Untuk menampilkan seluruh data di dalam tabel, penulis dapat menggunakan perintah mysql_fetch_row( ) atau mysql_fetch_array ( ). Perintah mysql_fetch_row( )akan mendapatkan hasil querry dalam bentuk array sampai nilai parameter menjadi FALSE. Sedangkan perintah mysql_fetch_array ( )hampir sama dengan perintah mysql_fetch_row( )tetapi data yang dihasilkan merupakan data associative array.
(50)
33
BAB III
ANALISIS dan PERANCANGAN SISTEM
Pada bab ini menjelaskan tentang tahap-tahap proses perancangan perangkat lunak mulai dari analisis, perancangan sistem, perancangan database serta perancangan interface (Antarmuka).
3.1 Analisis
Pada proses perancangan sistem informasi penyewaan film online ini akan dirancang dengan menggunakan aplikasi berbasis web site. Sistem ini akan memudahkan pemilik usaha untuk menyewakan filmnya secara online dan membantu penyewa untuk menikmati film yang disediakan. Dengan menggunakan sistem saldo kepada penyewa, penyewa dapat menikmati film-film yang disediakan berdasarkan harga di setiap film-film. Setiap film-film yang dipilih oleh penyewa akan dipotong dengan saldo dari penyewa. Penyewa dapat melakukan pengisian saldo dengan melakukan transfer secara manual. Setelah melakukan transfer, penyewa harus melakukan laporan dengan mengisi form transfer saldo. Administrator akan melihat laporan transfer saldo penyewa dan akan dibandingkan dengan laporan transfer bank yang masuk. Ketika data yang dilaporkan valid, administrator akan melakukan persetujuan dan saldo penyewa akan bertambah, tetapi ketika laporan transfer saldo tidak valid, maka administrator akan menolak transferan tersebut. Berikut adalah Gambar 3.1 overview system sistem sewa film online :
(51)
34
Internet
Administrator
Penyewa Penyewa
Request & Streaming
Request & Streaming
Save / load database Requrst
User
Gambar 3.1 Overview System
3.2 Perancangan Sistem
Perancangan sistem merupakan penjelasan deskripsi tentang sistem informasi yang akan dirancang dengan menggunakan : DFD (Data Flow Diagram), ERD (Entity Relationship Diagram), CDM (Conceptual Data Model), PDM (Pysichal Data Model), System Flow dan desain antarmuka (interface) aplikasi.
3.2.1 Deskripsi Umum Sistem
Deskripsi umum sistem informasi sewa film online adalah penyewa dapat menikmati film yang akan dipilih sesuai dengan saldo yang dimiliki dan laporan penyewa untuk penambahan saldo harus dilakukan setelah penyewa melakukan transfer yang dituju, kemudian administrator akan melakukan validasi laporan tersebut untuk validasinya.
(52)
35
3.2.2 Deskripsi Umum Menggunakan Web Site
Deskripsi umum menggunakan web site berdasarkan analisa yang telah dijelaskan adalah sebagai berikut :
1. Membuka aplikasi browsing (Google Chrome) / Mozilla Firefox dan masuk pada site sewa film online.
2. Administrator melakukan login sesuai dengan username dan
password yang dimiliki.
3. Administrator menyediakan data-data film yang akan disewakan dengan mengisi form master-master film.
4. Penyewa yang belum menjadi member, harus melakukan pendaftaran terlebih dahulu untuk masuk kedalam sistem. 5. Penyewa melakukan login sesuai dengan username dan
password sesuai dengan data penyewa.
6. Penyewa harus melakukan laporan penambahan saldo kepada administrator setelah melakukan transfer bank yang dituju. 7. Administrator akan melakukan validasi dan berhak melakukan
persetujuan atau penolakan untuk penambahan saldo penyewa sesuai dengan laporan transfer bank / rekening koran.
8. Penyewa dapat memikmati film yang dipilih berdasarkan saldo yang dimiliki dan harga sewa film.
(53)
36
3.2.3 Kebutuhan Sistem
Untuk mengidentifikasi deskripsi umum pada sistem informasi pada transaksi sewa film online diketahui bahwa fokus utama sistem tersebut yaitu pada transaksi laporan penambahan saldo yang dilakukan penyewa dan penyewa dapat menikmati film yang dipilih sesuai dengan saldo yang dimiliki oleh penyewa.
3.2.4 Kebutuhan Pengguna
Berdasarkan deskripsi yang telah dibahas untuk memenuhi kebutuhan pengguna dan dapat berinteraksi dengan sistem serta dapat mengetahui kebutuhan-kebutuhan apa saja yang berpengaruh pada sistem nantinya, maka diperlukan penjabaran untuk kebutuhan pengguna diantaranya sebagai berikut :
Kebutuhan Web Site :
• Komputer atau Laptop
(Processor Intel Core 2 Duo 2.0 GHz, RAM 1 Gb, Harddisk 80 Gb)
• Sistem Operasi
Windows Ver. XP atau versi diatasnya.
• Aplikasi Web Browser
GoogleChrome (Support Flash)
(54)
37
3.3 Kebutuhan Basis Data
Dalam sistem informasi sewa film online dibutuhkan basis data untuk memenuhi kebutuhan data-data dalam transaksi sewa film antara penyewa sebagai member yang menyewa film dan administrator sebagai penyedia layanan kebutuhan film-film untuk penyewa.
3.3.1 Diagram Jenjang
Pada sistem sewa film online dapat di gambarkan secara diagram jenjang. Dari analisa dapat digambarkan bahwa proses sistem terdapat 2 level diantara level 0 terdapat 1 proses yang global yaitu Sistem Informasi Sewa Film Online dan level 1 terdapat 7 proses diantaranya adalah menyimpan data user, menyimpan data kategori film, menyimpan data film, mendaftar pelanggan, mengkonfirmasi transfer saldo, menyetujui data saldo dan memilih film. Berikut Gambar 3.2 untuk diagram jenjang sewa
(55)
38
Gambar 3.2 Diagram Jenjang Sewa Film Online
3.3.2 DFD (Data Flow Diagram)
DFD atau data alir diagram menggambarkan data yang masuk ke sistem berdasarkan pada gambar 3.2 diatas. Data-data yang akan mengalir berupa input kemudian di proses oleh sistem untuk menghasilkan output yang sesuai dengan kebutuhan yang diinginkan oleh pengguna. DFD terdiri dari beberapa level diantaranya DFD level 0 yang bisaa dikenal dengan diagram konteks, DFD level 1, DFD level 2 dan seterusnya sesuai dengan banyaknya proses dalam sebuah sistem yang dibutuhkan oleh pengguna.
Diagram konteks merupakan gambaran dari sebuah proses dalam sistem secara umum yang terdiri atas satu simbol
Sistem Informasi Sewa Film Online
Menyetujui Data Saldo Memilih Film Menyimpan Data Film Menyimpan Data
Kategori Film Menyimpan Data User
Mendaftar Pelanggan Mengkonfirmasi Transfer Saldo
Level 0 Level 1
(56)
39
proses. Diagram konteks sewa film online dapat dilihat pada Gambar 3.3 DFD Level 0 berikut ini :
FILM PILIHAN DATA FILM PILIHAN INFORMASI SALDO PELANGGAN
DATA APPROVE SALDO
INFORMASI SALDO MASUK
DATA SALDO INFORMASI PELANGGAN DATA PELANGGAN INFORMASI USER DATA USER INFORMASI FILM INFORMASI DAFTAR FILM
DATA FILM INFORMASI KATEGORI FILM
DATA KATEGORI FILM 0
SEWA FILM ONLINE
+
ADMINISTRATOR PELANGGAN
Gambar 3.3 DFD Level 0 Sewa Film Online
Administrator memiliki otoritas penuh terhadap sistem, yaitu dapat menginputkan data approve saldo, input data user, input data film dan input data kategori film. Sedangkan untuk sistem sewa online juga memberikan output kepada administrator berupa informasi-informasi yang ada diantaranya informasi saldo masuk, informasi pelanggan, informasi user, informasi kategori film, dan informasi daftar film.
Pelanggan hanya dapat menginputkan data film pilihannya, data saldo, dan data dirinya sebagai pelanggan,sedangkan untuk sistem sewa film online hanya dapat memberikan output kepada pelanggan berupa film pilihan, informasi film, dan informasi saldo
(57)
40
pelanggan. Gambar 3.4 berikut merupakan hasil decompose dari DFD level nol menjadi DFD level 1 :
LOAD FILM PILIHAN SAVE FILM PILIHAN
FILM PILIHAN DATA FILM PILIHAN
INFORMASI SALDO PELANGGAN
LOAD SALDO TERBARU UPDATE SALDO DATA APPROVE SALDO
LOAD DATA SALDO
INFORMASI SALDO MASUK SAVE DATA SALDO
DATA SALDO LOAD DATA FILM
SAVE DATA FILM
INFORMASI PELANGGAN
LOAD DATA PELANGGAN SAVE DATA PELANGGAN
DATA PELANGGAN INFORMASI USER
DATA USER
LOAD DATA USER SAVE DATA USER
INFORMASI FILM INFORMASI DAFTAR FILM
DATA FILM
LOAD KATEGORI FILM LOAD DATA KATEGORI FILM
SAVE DATA KATEGORI FILM
INFORMASI KATEGORI FILM DATA KATEGORI FILM
ADMINISTRATOR PELANGGAN ADMINISTRATOR PELANGGAN 1 MENYIMPAN DATA
KATEGORI FILM KATEGORI
2 MENYIMPAN DATA FILM 3 MENYIMPAN DATA USER USER 4 MENDAFTAR PELANGGAN PELANGGAN FILM 5 MENGKONFIRMASI TRANSFER SALDO 6 MENYETUJUI DATA SALDO 7 MEMILIH FILM
Gambar 3.4 DFD Level 1 Sewa Film Online
Pada DFD Level 1 terdapat proses bisnis yang dapat dijelaskan sebagai berikut :
1. Pengelolaan penyimpanan data kategori film
Proses ini berfungsi untuk melakukan pengelolaan penyimpanan data kategori film. Pengelolaan data kategori
(58)
41
film tersebut meliputi insert data pada tabel kategori, update,
dan delete data yang dilakukan oleh administrator.
2. Pengelolaan penyimpanan data film
Proses ini berfungsi untuk melakukan pengelolaan penyimpanan data film. Pengelolaan data film tersebut meliputi insert data pada tabel film, update, dan delete data yang dilakukan oleh administrator, yang nantinya pengelolaan penyimpanan data film ini berhubungan dengan pengelolaan pemilihan film yang dilakukan oleh pelanggan.
3. Pengelolaan penyimpanan data user
Proses ini berfungsi untuk melakukan pengelolaan penyimpanan data user. Pengelolaan data user tersebut meliputi insert data pada tabel user, update, dan delete data yang dilakukan oleh administrator.
4. Pengelolaan penyimpanan daftar pelanggan
Proses ini berfungsi untuk melakukan pengelolaan penyimpanan daftar pelanggan. Pengelolaan penyimpanan daftar pelanggan tersebut meliputi insert data pada tabel pelanggan, update, dan delete data yang dilakukan oleh
administrator.
5. Pengelolaan penyimpanan pengkonfirmasian trasfer saldo Setelah pelanggan mendaftar maka proses selanjutnya adalah pengelolaan penyimpanan pengkonfirmasian transfer saldo,
(59)
42
dimana pelanggan mentransfer pembayaran dan data tersebut akan disimpan dalam database transfer.
6. Pengelolaan penyetujuan data saldo
Proses ini berfungsi utnuk melakukan penyetujuan data saldo yang telah ditransfer oleh pelanggan, yang mempunyai hak untuk melakukan approve data saldo pelanggan adalah
administrator.
7. Pengelolaan pemilihan film
Proses ini berfungsi untuk menyimpan data film yang dipilih oleh pelanggan, setelah dia mendaftar dan telah mentransfer saldo.
3.3.3 ERD (Entity Relationship Diagram)
Entity Relationship Diagram untuk menggambarkan hubungan dalan setiap entitas dengan relasi-relasi yang saling berkaitan. Terdapat 6 entitas dan 4 ralasi pada sistem penyewaan online. Penjabaran ERD dapat dilihat pada Gambar 3.5 :
Gambar 3.5 ERD (Entity Relationship Diagram) Sewa Film Online ERD merupakan notasi grafis dalam pemodelan dan konseptual yang mendeskripsikan hubungan antar penyimpanan. ERD digunakan
memilih
kategori memiliki film
admin menginput sewa pelangga n melakukan mengisi
transfer 1 M
M 1 M 1 1 M M 1
(60)
43
untuk memodelkan struktur data dan hubungan antar data, karena hal ini relative kompleks.
Dengan ERD, dapat menguji model dengan menghasilkan proses yang dilakukan. ERD juga menggunakan sejumlah notasi dan symbol untuk menggambarkan struktur dan hubungan antar data. Pada ERD berdasarkan analisa diatas terdapat 6 entitas diantaranya :
1. Admin 2. Transfer 3. Kategori 4. Pelanggan 5. Film 6. Sewa
3.3.4 CDM (Conceptual Data Model)
Model data konseptual pada aplikasi sistem ini mempresentasikan rancangan basis data konseptual diserver. Berikut gambar mode data konseptual seperti yang terlihat pada Gambar 3.6 Conceptual Data Model :
(61)
44
Gambar 3.6 CDM (Conceptual Data Model)
Terdapat enam tabel dalam database dimana setiap tabel mempunyai fungsi-fungsi tersendiri yang akan dijelaskan sebagai berikut :
1. Tabel admin berfungsi untuk menyimpan data user administrator, tabel ini berelasi dengan tabel transfer dengan kardinalitas one to many, dimana satu user dapat menginput banyak data transfer dari pelanggan.
2. Tabel transfer berfungsi untuk menyimpan data transfer dari pelanggan, tabel ini berelasi dengan dua tabel lainnya diantaranya dengan tabel user seperti yang dijelaskan
(62)
45
sebelumnya, dan juga berelasi dengan tabel pelanggan dengan kardinalitas many to one, dimana banyak data transfer dapat diisi oleh satu pelanggan.
3. Tabel pelanggan berfungsi untuk menyimpan data diri pelanggan, tabel ini berelasi dengan dua tabel lainnya, diantaranya dengan tabel transfer seperti yang dijelaskan sebelumnya dan juga berelasi dengan tabel sewa dengan kardinalitas one to many, dimana satu pelanggan dapat melakukan transaksi penyewaan lebih dari satu kali atau banyak.
4. Tabel sewa berfungsi untuk menyimpan data penyewaan yang dilakukan oleh pelanggan, tabel ini berelasi dengan tabel pelanggan dan tabel film, dimana relasi antara tabel sewa dengan tabel film mempunyai kardinalitas many to one.
5. Tabel film berfungsi untuk menyimpan data film yang akan disewa oleh pelanggan, tabel ini berelasi dengan dua tabel diantaranya dengan tabel sewa dan tabel kategori. Relasi dengan tabel sewa mempunyai kardinalitas one to many,
dimana satu film dapat disewa lebih dari sekali oleh pelanggan. 6. Tabel kategori berfungsi untuk menyimpan data kategori dari
film yang ada, tabel ini berelasi dengan tabel film dengan kardinalitas many to one, dimana banyak film hanya memiliki satu kategori.
(63)
46
3.3.5 PDM (Pysichal Data Model)
Model data ini dibuat dengan cara men-generate diagram data konseptual diatas. Diagram data fisik ini menghasilkan tabel-tabel yang digunakan dalam mengimplementasi aplikasi. Dengan
Physical Data Model kita dapat mengetahui model fisik pengembangan dari sebuah konsep. Untuk lebih jelasnya dapat dilihat pada Gambar 3.7 Physical Data Model :
Gambar 3.7 PDM (Physical Data Model) Sewa Film Online
Desain database diatas yakni pada Gambar 3.7 adalah hasil
generate dari Conceptual Data Model (CDM) ke Physical Data Model (PDM). Dimana setelah di-generate terdapat perubahan
(64)
47
field dari tiga tabel, diantaranya tabel transfer, tabel sewa, dan tabel film. Didalam tabel transfer terdapat satu primary key yaitu idtransfer, dan dua foreign key yaitu id dari tabel pelanggan dan id dari tabel user. Didalam tabel sewa terdapat satu primary key
yaitu idsewa, dan dua foreign key yaitu id dari tabel pelanggan, dan id dari tabel film. Didalam tabel film terdapat satu primary key
yaitu idfilm dan satu foreign key yaitu id dari tabel kategori.
3.3.6 System Flow
Pada system flow ini akan memberikan alur sistem yang akan digunakan pada sistem informasi sewa film online, mulai dari master kategori film, master film, master user, registrasi pelanggan, konfirmasi transfer saldo, update transfer saldo dan memilih film. Berikut adalah seluruh system flow yang terjadi pada sistem sewa
online :
1. Master Kategori Film
Pada System Flow ini akan memperlihatkan tahap proses
administrator meng-inputkan data katgori film, administrator
memasukan data kategori film ke dalam tabel kategori, kemudian data tersimpan dalam database kategori dan dapat dilihat atau di view didalam sistem. Berikut adalah Gmbar 3.8
(65)
48
Gambar 3.8System Flow Master Kategori Film
2. Master Film
Pada system flow ini akan memperlihatkan tahap proses
administrator meng-inputkan data film, administrator
memasukan data film ke dalam ke dalam sistem dengan memilih kategori sesuai data kategori yang tersimpan dalam database kategori, kemudian sistem akan mengecek film yang diinputkan berformat avi, flv, atau mp4, jika termasuk dalam
Administrator
Mulai
Insert Data Kategori Film
Kategori
View Data Kategori Film
(66)
49
format-format tersebut maka sistem akan mengecek ulang apakah film yang diinputkan mempunyai size lebih dari 100mb, jika tidak maka administrator akan mengulang kembali, jika ya maka data film yang diinputkan akan disimpan dalam tabel film, dan sistem akan dapat menampilkan data film yang diinputkan tadi. Berikut adalah Gambar 3.9 system flow master film :
Gambar 3.9System Flow Master Film Administrator
Mulai
Insert Data Film
Film
View Data Film
Selesai Type File AVI || FLV ||
MP4
File >= 100Mb Kategori
Tidak
Tidak
Ya
(67)
50 3. Master User
Pada system flow ini akan memperlihatkan tahap proses
administrator meng-inputkan data user, administrator
memasukan data user ke dalam tabel user, kemudian data akan tersimpan dalam database user dan dapat dilihat atau di view
didalam sistem. Berikut ini adalah Gambar 3.10 system flow
master user :
Gambar 3.10System Flow Master User Administrator
Mulai
Insert Data User
User
View Data User
(68)
51 4. Registrasi Pelanggan
Pada system flow ini akan memperlihatkan tahap proses
administrator meng-inputkan data registrasi pelanggan,
administrator memasukan data pelanggan ke dalam tabel pelanggan, kemudian data akan tersimpan dalam database pelanggan dan data pelanggan dapat dilihat oleh pelanggan. Berikut ini adalah Gambar 3.11 system flow registrasi pelanggan :
Gambar 3.11System Flow Registrasi Pelanggan
5. Konfirmasi Transfer Saldo
Pada system flow ini akan memperlihatkan tahap proses pelanggan meng-inputkan data transfer saldo, pelanggan memasukan data transfer saldo ke dalam tabel transfer,
Pelanggan
Mulai
Insert Data Pelanggan
Pelanggan
View Data Pelanggan
Selesai
(69)
52
kemudian data akan tersimpan dalam database transfer dan data transfer saldo dapat dilihat oleh administrator. Berikut ini adalah Gambar 3.12 system flow konfirmasi saldo :
Gambar 3.12 System Flow Konfirmasi Transfer Saldo
6. Update Transfer Saldo
Pada system flow ini akan memperlihatkan tahap proses
administrator meng-update data saldo pelanggan.
administrator melihat data transfer saldo pelanggan kemudian meng-update data saldo tersebut, kemudian menyimpannya dalam database transfer, ketika update data saldo, data tersebut juga ter-update pada tabel pelanggan. Data saldo dapat dilihat
Pelanggan
Mulai
Insert Data Transfer Saldo
Transfer
View Data Transfer Saldo
Pelanggan
Selesai
(70)
53
disistem pada user pelanggan maupun administrator. Berikut ini adalah Gambar 3.13 system flowupdate transfer saldo :
Gambar 3.13System Flow Update Transfer Saldo
7. Memilih Film
Pada system flow ini akan memperlihatkan tahap proses pelanggan dalam memilih film. Pelanggan melihat list film, list film ini datanya diambil dari database film, ketika list film telah terpilih maka sistem akan mengecek apakah saldo
Administrator
Mulai
View Data Transfer Saldo
Transfer
Update Saldo
Pelanggan
View Saldo Pelanggan
(71)
54
pelanggan lebih besar dari harga sewa film, jika tidak maka akan kembali ke awal, jika iya maka saldo pelanggan akan terpotong atau ter-update secara otomatis ke dalam database pelanggan. Berikut ini adalah Gambar 3.14 system flow
memilih film :
Gambar 3.14 System Flow Memilih Film
3.4 Perancangan Database
Rancangan data database yang telah dipetakan menjadi diagram pada perancangan sistem akan diimplementasikan kedalam lingukangan basis data MySQL. Database yang terdapat pada tabel merupakan daftar isi database
Pelanggan
Mulai
View List Film Film
Memilih Film
Selesai Pelanggan
View Saldo Pelanggan Saldo >= Sewa Film
Tidak
(72)
55
yang terdapat pada program sistem informasi penyewaan film, database juga telah terisi sesuai dengan jumlah yang dibutuhkan oleh program, maka dari itu rancangan database ini akan memudahkan pengguna, karena data yang digunakan akan tersimpan otomatis pada program tersebut. Tabel-tabel basisdata yang dibuat dijelaskan sebagai berikut :
a. Nama tabel : admin
Tabel admin berfungsi untuk menyimpan data user administrator. Pada tabel admin terdapat atribut primary key yaitu iduser. Berikut adalah Tabel 3.1 basis data user :
Tabel 3.1 Tabel Basis Data User
Nama kolom Type Extra Keterangan
Iduser integer Primary key,
auto increment
Untuk menyimpan data id user administrator.
Namalengkap varchar (150) - Untuk menyimpan data nama lengkap user.
Username varchar (50) - Untuk menyimpan data
username user.
Password varchar (50) - Untuk menyimpan data
password user.
Statususer integer - Untuk menyimpan data status
user.
b. Nama tabel : transfer
Tabel transfer berfungsi sebagai penyimpanan data transaksi transfer
saldo yang dilakukan oleh pelanggan yang dikirimkan oleh administrator. Pada tabel transfer memiliki atribut primary key yaitu idtransfer dan juga
(73)
56
memiliki atribut foreign key yaitu idpelanggan dan iduser. Berikut adalah Tabel 3.2 basis data transfer :
Tabel 3.2 Tabel Basis Data Transfer
Nama kolom Type Extra Keterangan
Idtransfer integer (4) Primary key, auto increment
Untuk menyimpan data id pembayaran.
Idpelanggan integer (4) foreignkey Untuk menyimpan data id pelanggan.
Iduser integer (4) foreignkey Untuk menyimpan data id user yang melakukan penginputan data.
Tgltransfer date - Untuk menyimpan data
tanggal pembayaran.
Nilaitransfer integer (4) - Untuk menyimpan data nilai yang ditransfer oleh
pelanggan.
Banktransfer integer (4) - Untuk menyimpan data bank
yang mentransfer. atasnamatransfer integer (4) - Untuk menyimpan data
nama yang mentrasfer.
c. Nama tabel : pelanggan
Tabel pelanggan berfungsi untuk menyimpan data pelanggan yang telah melakukan registrasi atau pendaftaran pada sistem penyewaan online. Pada saat pendaftaran pelanggan diwajibkan mengisi informasi diri pelanggan tersebut untuk disimpan kedalam database. Terdapat juga
atribut saldo pelanggan untuk menyimpan sisa saldo pelanggan pada sistem penyewaan online. Pada tabel pelanggan terdapat atribut primary key yaitu idpelanggan. Berikut adalah Tabel 3.3 basis data pelanggan :
(74)
57
Tabel 3.3 Tabel Basis Data Pelanggan
Nama kolom Type Extra Keterangan
Idpelanggan integer (4) Primary key, auto increment
Untuk menyimpan data id pelanggan.
Namalengkappelanggan varchar (150) - Untuk menyimpan data nama lengkap pelanggan. Alamatpelanggan varchar (255) - Untuk menyimpan data
alamat pelanggan.
Jkpelanggan varchar (10) - Untuk menyimpan data
jenis kelamin pelanggan. Emailpelanggan varchar (100) - Untuk menyimpan data
email pelanggan. Usernamepelanggan varchar (50) - Untuk menyimpan data
username pelanggan. Passwordpelanggan varchar (50) - Untuk menyimpan data
password pelanggan.
Statuspelanggan integer - Untuk menyimpan data
status pelanggan. Statuspekerjaan varchar (100) - Untuk menyimpan data
status pekerjaan pelanggan.
Deposito integer - Untuk menyimpan data
deposito pelanggan.
d. Nama tabel : sewa
Tabel sewa berfungsi untuk menyimpan data sewa pelanggan yang melihat film-film yang dipilih. Pada tabel sewa terdapat atribut primary key yaitu idsewa dan juga terdapat atribut foreign key yaitu idpelanggan dan idfilm. Berikut adalah Tabel 3.4 basis data sewa :
(75)
58
Tabel 3.4 Tabel Basis Data Sewa
Nama kolom Type Extra Keterangan
Idsewa integer Primary key, auto increment
Untuk menyimpan data id sewa.
Idpelanggan integer - Untuk menyimpan data id
pelanggan. Hasil dari relasi dengan tabel pelanggan
Idfilm integer - Untuk menyimpan data id film.
Hasil dari relasi dengan tabel film
Tglsewa Date - Untuk menyimpan data tanggal
penyewaan.
Biayasewa integer - Untuk menyimpan data biaya sewa.
e. Nama tabel : film
Tabel film berfungsi untuk menyimpan data film yang diunggah oleh
administrator. Pada tabel film terdapat atribut primary key yaitu idfilm dan juga terdapat atribut foreign key yaitu idkategori. Berikut adalah Tabel 3.5 basis data film :
Tabel 3.5 Tabel Basis Data Film
Nama kolom Type Extra Keterangan
Idfilm integer Primary key,
auto increment
Untuk menyimpan data id film.
Idkategori integer - Untuk menyimpan data id kategori. Judulfilm varchar (255) - Untuk menyimpan data judul film. Deskripsifilm longvarchar - Untuk menyimpan data deskripsi
film.
Filefilm varchar (255) - Untuk menyimpan data file film.
Hargafilm integer Untuk menyimpan data harga sewa
(76)
59 f. Nama tabel : kategori
Tabel kategori berfungsi untuk menyimpan data kategori film. Pada tabel kategori terdapat atribut primary key yaitu idkategori. Berikut Tabel 3.6 basis data kategori :
Tabel 3.6 Tabel Basis Data Kategori
Nama kolom Type Extra Keterangan
Idkategori integer Primary key, auto increment
Untuk menyimpan data id kategori.
namakategori varchar (100) - Untuk menyimpan data nama kategori.
3.5 Perancangan Interface (Antarmuka) 3.5.1 Master Film
Pada halaman interface master film merupakan halaman interface yang berfungsi untuk melakukan upload film yang akan disewakan. Berikut adalah Gambar 3.15 :
(77)
60
3.5.2 Master User Administrator
Pada halaman interface master user administrator merupakan halaman interface yang berfungsi untuk melakukan registrasi account untuk administrator. Berikut adalah Gambar 3.16:
Gambar 3.16 Interface Master User
3.5.3 Registrasi Account User
Pada halaman interface registrasi account user merupakan halaman interface yang berfungsi untuk pelanggan melakukan pendaftaran menjadi member sewa film. Berikut adalah Gambar 3.17 :
(78)
61
3.5.4 Laporan Transfer Saldo
Pada halaman interface laporan transfer saldo merupakan halaman interface yang berfungsi untuk member melakukan transfer saldo yang telah dilakukan. Berikut adalah Gambar 3.18 :
(79)
62
BAB IV
IMPLEMENTASI PROGRAM
Pada bab ini akan membahas tentang implementasi program dari hasil analisa dan perancangan sistem yang ada pada bab III, serta bagaimana cara sistem tersebut dijalankan. Sistem Informasi ini berjalan dan nantinya akan digunakan. Untuk lebih lanjut dapat dijelaskan pada sub bab berikut :
4.1 Alat yang digunakan
Pada implementasi program, alat-alat yang digunakan yaitu perangkat keras (hardware) dan perangkat lunak (software) yang dijabarkan sebagai berikut:
4.1.1 Perangkat Keras
Perangkat keras (hardware) yang digunakan adalah :
a) Laptop Processor Core2Duo 2,1GHz, harddisk 160 GB. b) Memory 2Gb DDR3.
c) Mouse dan Keyboard.
4.1.2 Perangkat Lunak
Perangkat lunak (software) yang digunakan adalah : a) Operating System Windows 7.
b) XAMPP
c) Power Designer 11 dan Sybase 15.
d) Microsoft Visio 2003 untuk perancangan system.
(80)
63
4.2 Implementasi Database
Implementasi data dibuat untuk mengetahui database apa saja yang ada didalam sistem proses penyimpanan data pada program yang dibuat. Implementasi data tersebut dapat dilihat pada sub bab sebagai berikut :
4.2.1 Tabel Film
Tabel film berfungsi untuk menyimpan data film. Tabel ini berelasi
many to one dengan tabel kategori, sehingga field idkategori pada tabel kategori masuk dalam tabel film. Tabel film memiliki sembilan field, dengan idfilm sebagai primarykey dan bersifat autoincrement. Adapaun spesifikasi dari
database tabel film dapat dilihat pada Gambar 4.1.
Gambar 4.1 Tabel Film
4.2.2 Tabel Kategori
Tabel kategori berfungsi untuk menyimpan data kategori film, dimana terdapat satu field yang berhubungan dengan tabel film, yaitu field idkategori. Tabel kategori memiliki dua field yaitu idkategori dan namakategori, dengan
(81)
64
primarykey dan autoincrement pada field idkategori. Adapun spesifikasi dari
database tabel kategori dapat dilihat pada Gambar 4.2.
Gambar 4.2 Tabel Kategori
4.2.3 Tabel Sewa
Tabel sewa berfungsi untuk menyimpan data penyewaan yang dilakukan oleh pelanggan. Tabel ini berhubungan dengan tabel pelanggan dan tabel film. Adapun spesifikasi dari database tabel sewa dapat dilihat pada Gambar 4.3.
Gambar 4.3 Tabel Sewa
4.2.4 Tabel Pelanggan
Tabel pelanggan berfungsi untuk menyimpan data pelanggan. Tabel pelanggan memiliki sepuluh field dengan field idpelanggan sebagai primarykey
(1)
90
Gambar 5.31 Play Film
k. Menu Setting Account
Menu setting account berfungsi untuk merubah data pelanggan, dalam halaman setting account terdapat form setting account yang terdiri dari alamat, email, status pekerjaan, username, password lama, dan password baru. Untuk merubah data diri dari pelanggan, maka pelanggan hanya merubah filed data yang ingin dirubah kemudian menyimpan data tersebut, seperti yang terlihat pada Gambar 5.32.
(2)
91
Gambar 5.32 Setting Account Pelanggan l. Menu Logout
Menu logout berfungsi untuk mengunci atau menghapus cookies dari pelanggan yang telah login. Jika pelanggan berhasil logout dari sistem, maka sistem akan menampilkan window message seperti yang terlihat pada Gambar 5.33.
(3)
92
BAB VI PENUTUP
7.1. Kesimpulan
Hasil analisa dan data-data yang telah diuraikan diatas, dapat diambil kesimpulan mengenai proses dari tugas akhir ini diantaranya :
a) sistem aplikasi online movie rental ini dibangun dengan berbasis web site. Pada aplikasi penyewaan film online ini akan dibagi fungsinya menjadi 2 halaman yang berbeda antara administrator dan penyewa
film. Halaman administrator berfungsi sebagai penyedia informasi yang dibutuhkan dan juga mengatur sistem penyewaan film online agar berjalan sesuai dengan kebutuhan. Halaman penyewa film berfungsi untuk memudahkan dalam menyewa film dalam penggunaan aplikasi.
b) Aplikasi penyewaan film online dapat memberikan informasi film-film
terbaru kepada penyewa film pada saat administrator menyimpan film
terbaru. Selain itu juga penyewa film dapat melihat film-film yang selalu dilihat oleh penyewa film yang lain. Dengan informasi-informasi yang diberikan dapat memudahkan untuk penyewa film untuk mengetahui
(4)
93 7.2. Saran
Berdasarkan pembuatan aplikasi ini, terdapat beberapa saran yang diberikan oleh penyusun selama berjalannya aplikasi ini dibangun. Pada penyewaan film online ini disarankan agar dapat dikembangkan pada aplikasi gadget seperti aplikasi android, iOS dan lain-lain, sehingga aplikasi ini bersifat dinamis. Tanpa harus membuka site sewa film online pelanggan dapat menikmati film dengan menggunakan gadget, mengingat pada jaman sekarang gadget banyak sekali dikomsunsi oleh banyak orang.
(5)
94
DAFTAR PUSTAKA
[1] Kadir, Abdul. 2010. From Zero To a Pro, Membuat Aplikasi Web dengan PHP + Database MySQL. Andi Publisher.
[2] Arnold Aribowo, Irvin Partono dan dan Bernard Yulius BB.Tahun 2008
Sistem Informasi Rental Video pada Rental Mercury Kupang.
URL : http://repository.gunadarma.ac.id/bitstream/123456789/2296/1/02-01-001-Sistem%5BArnold%5D.pdf. Diakses tanggal 03 November 2012, 16.00 WIB.
[3] Utdirartatmo, Firar. 2009. Praktis dan Mudah Administari MySQL Berbagai GUI. Andi Offset.
(6)
95
DAFTAR PUSTAKA
[1] Kadir, Abdul. 2010. From Zero To a Pro, Membuat Aplikasi Web dengan PHP + Database MySQL. Andi Publisher.
[2] Arnold Aribowo, Irvin Partono dan dan Bernard Yulius BB.Tahun 2008
Sistem Informasi Rental Video pada Rental Mercury Kupang.
URL : http://repository.gunadarma.ac.id/bitstream/123456789/2296/1/02-01-001-Sistem%5BArnold%5D.pdf. Diakses tanggal 03 November 2012, 16.00 WIB.
[3] Utdirartatmo, Firar. 2009. Praktis dan Mudah Administari MySQL Berbagai GUI. Andi Offset.