PERANCANGAN ONLINE MOVIE RENTAL DENGAN MEMANFAATKAN TEKNOLOGI MULTICASTING PADA WINDOWS MEDIA SERVICES.

(1)

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>&nbsp;"; $bilangan .= "<I>2</I>&nbsp;"; $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.