BAB 3 METODOLOGI
3.1. Metodologi Berdasarkan pada pendapat Connolly dan Begg (2010:314), metodologi yang digunakan dapat dituliskan kedalam bagan berikut :
Gambar 3.1 : Bagan Metodologi 57
58
3.1.1. Database Planning Pada tahapan database planning, dilakukan identifikasi rencana dan sasaran organisasi mencakup sistem informasi yang dibutuhkan, evaluasi sistem yang sedang berjalan, serta mempertimbangkan peluang teknologi informasi yang akan memberikan keuntungan kompetitif. 3.1.2. Definisi Sistem Pada tahapan definisi sistem, dijelaskan terkait batasan dan ruang lingkup dari sistem basis data serta sudut pandang pengguna yang utama. Pada tahap ini, user view didefinisikan berdasarkan jabatan pada PT. Jawa Pos National Network yaitu crew media, administrator, staff keuangan, dan manajer. 3.1.3. Analisis dan Pengumpulan Kebutuhan Pada tahapan analisis dan pengumpulan kebutuhan sistem, dilakukan pengumpulan dan analisis terkait informasi tentang organisasi. Lalu, didukung oleh aplikasi database dengan menggunakan informasi tersebut untuk mengidentifikasi kebutuhan user terhadap sistem yang baru. 3.1.4. Perancangan Basis Data Pada tahapan perancangan basis data (database design), akan dibuat perancangan basis data yang terdiri dari perancangan basis data konseptual, perancangan basis data logikal, dan perancangan basis data fisikal dengan menggunakan pedoman pada buku karangan Connolly dan Begg (database systems, 2010). 3.1.5. Pemilihan DBMS Pada tahapan pemilihan DBMS, akan dilakukan pemilihan terhadap DBMS yang akan digunakan dalam pembuatan basis data. 3.1.6. Perancangan Aplikasi Pada tahapan perancangan aplikasi, akan dibuat perancangan user interface, dan program aplikasi yang melakukan proses dan menggunakan basis data.
59
3.1.7. Prototipe Pada tahapan prototipe, aplikasi pertukaran video akan dibuat sesuai dengan informasi yang didapatkan berdasarkan kebutuhan pengguna. Pada tahap ini akan dilakukan identifikasi terhadap fitur sistem yang sedang berjalan, mengklarifikasi kebutuhan pengguna, memberikan perbaikan dan penambahan fitur baru. 3.1.8. Implementasi Pada tahapan implementasi, aplikasi pertukaran video dibuat dengan menggunakan bahasa pemrograman PHP yang menggunakan aplikasi adobe dreamweaver CS 3 dan DBMS MySQL dengan aplikasi XAMPP. 3.1.9. Konversi dan Pemuatan Data Pada tahapan konversi dan pemuatan data, dilakukan pemindahan data-data yang ada pada sistem yang berjalan sebelumnya kedalam database pada aplikasi yang baru. 3.1.10. Pengujian dan Evaluasi Pada tahapan pengujian sistem, dilakukan pengujian dengan beberapa pengguna untuk mengetahui kekurangan dari aplikasi yang telah dibuat.
60
3.2. Analisis Masalah 3.2.1. Analisis Aplikasi Sejenis Berikut adalah hasil analisis aplikasi sejenis dengan aplikasi pengelolaan transaksi pertukaran video yang akan dibuat, penjelasan lebih rinci akan dijelaskan dalam tabel 3.1 dan tabel 3.2.
Tabel 3.1 : Analisis Aplikasi Dailymotion No
Judul
URL
Fitur
Kelemahan
Keunggulan
Gambar 3.2 : Analisis Home 1
Dailymotion
http://www.da ilymotion.com /id
Home
Tidak ada penjelasan tentang situs (langsung tampilan thumbnail video) sehingga membuat user bingung.
Pada tampilan Home kita dapat langsung melihat video-video terbaru yang sedang populer.
61
Gambar 3.3 : Analisis Halaman Kategori 2
http://www.da ilymotion.com /id/mychannel /DMnewsid/1
Kategori: Sports
Halaman ini berisi tampilan video berdasarkan kategori Sports. User dapat menggunakan fitur filter untuk memilih video berita sesuai keinginan.
62
Gambar 3.4 : Analisis Browse Video
3
http://www.da ilymotion.com /id/browse
Browse Video
Tidak ada fitur family filter untuk user di bawah 18 tahun.
Halaman ini berisi tampilan pencarian video dan fitur yang bisa di gunakan untuk mencari video dengan memilih kategori video ataupun memasukkan kata kunci (judul) video tersebut.
63
Gambar 3.5 : Analisis Upload Video 4
http://www.da ilymotion.com /upload
Upload Video
Batas video yang bisa di upload hanya 60 menit, dan maksimal 4 GB
Halaman ini berisi tampilan untuk upload video, user dapat melakukan upload video dalam berbagai format (mp4. mov, wmv) dengan resolusi HD.
64
Gambar 3.6 : Analisis Memutar Video 5
http://www.da ilymotion.com /video/x1431t 5_eplliverpool-vsmanchesterunited-1-01092013-2ndhalf_sport?sea rch_algo=1
Watch Video
Sulit untuk melakukan download video melalui IDM dan Orbit downloader.
Halaman ini berisi tampilan untuk memutar video, menampilkan keterangan video secara lengkap (judul, waktu upload, info, jumlah viewers, komentar, durasi video) dan memiliki akses streaming yang cepat.
65
Gambar 3.7 : Analisis Log in 6
http://www.da ilymotion.com /pageitem/logi nfull?mode=b asic&request= /login?request =0
Log in
Halaman ini berisi tampilan log in, tersedia fitur log in melalu akun facebook sehingga memudahkan apabila user belum memiliki akun pada Dailymotion. Juga terdapat fitur forget password bagi user yang lupa password.
66
Gambar 3.8 : Analisis Sign Up 7
http://www.da ilymotion.com /pageitem/regi sterFull?mode =basic&reque st=%2Flogin %3Frequest% 3D0&ajax_rn d=139032375 3697&from_r equest=%2Fid
Sign Up
Halaman ini berisi tampilan Sign up, kelebihannya yaitu form yang harus diisi untuk mendaftar tidak terlalu banyak sehingga memudahkan user.
67
Tabel 3.2 : Analisis Aplikasi Metacafe No
Judul
URL
Fitur
Kelemahan
Keunggulan
Gambar 3.9 : Analisis Metacafe Home 1
Metacafe
http://www.me tacafe.com/
Home
Tidak ada penjelasan tentang situs (langsung tampilan thumbnail video) sehingga membuat user bingung.
Pada tampilan Home kita dapat melihat ‘Today’s top video’ yaitu video yang popular pada hari itu.
68
2
Gambar 3.10 : Analisis Metacafe Kategori http://www.met Kategori : acafe.com/sport Sports s_clips/
Halaman ini berisi tampilan video berdasarkan kategori Sports. User dapat menggunakan fitur filter untuk memilih video berita sesuai jangka waktu.
69
Gambar 3.11 : Analisis Metacafe Browse 3
http://www.met Browse acafe.com/video s/
Video yang disediakan berdurasi relatif singkat.
Halaman ini berisi tampilan pencarian video dan fitur yang bisa di gunakan untuk mencari video dengan memilih pada tampilan kategori yang lebih spesifik, sehingga user dapat lebih mudah menemukan
70
video yang ingin di cari. Juga ada fitur family filter sehingga user tidak perlu khawatir akan ada video porno atau kekerasan didalamnya.
Gambar 3.12 : Analisis Metacafe Upload
71
5
http://www.met acafe.com/watc h/11259699/eve rything_wrong_ with_harry_pott er_and_the_pris oner_of_azkaba n/
Memutar Video
Gambar 3.13 : Analisis Metacafe Log in
Halaman ini berisikan tampilan untuk memutar video, menampilkan keterangan video secara lengkap (judul, waktu upload, info, jumlah viewers, komentar, durasi video)
72
6
https://secure.m Log in etacafe.com/acc ount/login/?toke n=b8264b99aa2 9d1e25e67b24c beece591&actio n=login
Gambar 3.14 : Analisis Metacafe Sign Up
Halaman ini berisi tampilan log in, tersedia fitur log in melalu akun facebook sehingga memudahkan user yang belum memiliki akun pada Metacafe. Juga terdapat fitur forget password bagi user yang lupa password.
73
7
https://secure.m Sign Up etacafe.com/acc ount/login/?toke n=b8264b99aa2 9d1e25e67b24c beece591&actio n=login
Tidak ada kode Captcha untuk verifikasi user.
Halaman ini berisi tampilan Sign up, kelebihannya yaitu form yang diisi tidak terlalu banyak, sehingga memudahkan user untuk mendaftar.
Berdasarkan hasil analisis pada tabel 3.1 dan tabel 3.2 dapat disimpulkan secara garis besar kekurangan dan kelebihan dari masingmasing aplikasi yang akan dijadikan referensi dalam pembuatan aplikasi pengelolaan transaksi pertukaran video. Penjelasan mengenai kesimpulan hasil analisis aplikasi sejenis akan dijelaskan dalam tabel 3.3.
Tabel 3.3 : Kesimpulan Hasil Analisis Aplikasi Sejenis NO. 1.
FITUR Home
KEKURANGAN Pada tampilan home
KELEBIHAN Pada tampilan Home kita
Dailymotion dan Metacafe dapat langsung melihat tidak ada penjelasan
video yang popular pada
tentang situs (langsung
hari itu.
tampilan thumbnail video) sehingga membuat user bingung. 2
Browse
Video yang disediakan
Video yang disediakan
pada Metacafe berdurasi
pada Metacafe berdurasi
lebih lama (max 60 menit).
relatif singkat.
74
Metacafe memiliki fitur
Dailymotion tidak
family filter.
memiliki fitur family filter.
3
Memutar Video
Video pada Dailymotion
Sulit untuk melakukan
dan Metacafe berkualiats
download video melalui
HD. Video pada Metacafe
IDM dan Orbit
lebih mudah di download
downloader pada
melalui IDM dan Orbit
Dailymotion.
downloader . 4
Login
-
Dailymotion dan Metacafe menyediakan fitur forget password
5
Sign Up
Pada Metacafe tidak
User Dailymotion dan
terdapat kode captcha
Metacafe dapat
untuk verifikasi user ketika melakukan sign up mendaftar.
melalui akun facebook. Pada Dailymotion memiliki fitur kode captcha.
75
3.2.2. Analisis Sistem yang Berjalan 3.2.2.1. Tentang Perusahaan a. Sejarah Perusahaan PT Jawa Pos National Network (JPNN) atau JPNN Corp, yang dalam perkembangannya menjadi sebuah holding company. Menjadi
kekuatan
supporting
dan
networking
dalam
mengembangkan perusahaan-perusahaan di lingkungan Jawa Pos Grup, melalui sinergi dan intergrasi potensi, terutama di bidang media cetak, media online, teknologi informasi, Sumber Daya Manusia, dan pemasaran bersama, dalam sebuah perusahaan yang berskala nasional dan dikelola secara modern dan profesional. b. Tujuan Perusahaan • Visi : Menjadi perusahaan multimedia terkemuka dengan Jawa Pos Grup sebagai kekuatan sinergi utama. • Misi : 1. Membangun sinergi antar anak perusahaan di semua bidang dalam lingkungan Jawa Pos Group agar menjadi perusahaan yang handal, efisien dan mampu bersaing baik dalam contens media, tekhnologi marketing, promosi, maupun finansial. 2. Membangun Sumber Daya Manusia di lingkungan Jawa Pos Grup yang berkualitas, profesional dan sesuai dengan tuntutan dunia usaha, melalui pendidikan dan pelatihan yang terencana 3. Mengaplikasikan secara maksimal kemajuan teknologi informasi dan komunikasi (ICT) untuk membangun perusahaan yang tangguh dan handal di masa depan.
76
c. Kegiatan Bisnis Perusahaan Sesuai dengan tujuan pendirian perusahaan, makan JPNN Corp adalah sebuah Holding Company yang operasional usahanya, selain dilakukan melalui divisi usaha/kerja, juga melalui anak-anak perusahaan yang didirikan atau dimiliki, yang tersebar di seluruh Provinsi hingga kabupaten di seluruh Indonesia. • JPNN News Kantor Liputan Bersama yaitu jaringan dan sinergi (networking) pemberitaan melalui peliputan bersama baik secara nasional maupun regional yang didistribusikan ke semua media di Jawa Pos Grup (lebih dari 168 perusahaan media cetak), sehingga menjadikan jaringan media yang lebih besar, luas dan lengkap. Selain liputan daerah yang lebih beragam dengan nuansa kedaerahannya, liputan nasional JPNN didukung oleh mediamedia Nasional grup seperti Jawa Pos, Indopos, Rakyat Merdeka, dan Liputan JPNN. • JPNN IT Supporting Yang medukung dan mendayagunakan jaringan grup dalam bidang IT agar mampu bersinergi dan berkembang lebih cepat dan modern di bidang teknologi IT dan menjadi grup yang tangguh dan unggul. Sudah beroperasi sejak Maret 2008 dan menjadi tulang punggung utama jaringan distribusi dan lintas daya JP Grup. Operasionalnya melalui sebuah divisi kerja. • JPNN Training Centre (Pusat Pelatihan dan Pendidikan SDM) Lembaga pendidikan dan latihan SDM, terutama untuk Jurnalistik,
Marketing,
dan
Finance
untuk
mensupport
peningkatan kualitas SDM, terutama di lingkungan Jawa Pos Grup, dengan model pelatihan. Pendidikan yang menerapkan
77
prinsip-prinsip jurnalistik dan bisnis “Gaya Jawa Pos Grup” yang sudah terbukti tangguh dan handal dalam perkembangan bisnis media di Indonesia. Sudah beroperasi sejak Agustus 2007 dengan berbagai program pelatihan bidang redaksi, iklan, keuangan dan pemasaran koran. Saat ini operasional dilakukan melalui sebuah divisi kerja. Sebagai Lembaga Sertifikasi Kompetensi Wartawan (SKW). Secara berkala JPNN menyelenggarakan sertifikasi Kompetensi Wartawan sebagaimana diatur oleh Dewan Pers. • JPNN Marketing Centre (Kantor Pemasaran Bersama) Untuk iklan/promosi, dan produk media lainnya, dengan jaringan dan sinergi bersama Jawa Pos Grup yang bisnis medianya ada di semua provinsi dan sebagian kabupaten/kota di Indonesia, sehingga merupakan pasar yang paling luas dan sangat representatif, dengan karakter media yang beragam (koran umum, metro, majalah hiburan, spesial, otomotif, dll). Sudah mulai beroperasi Januari 2009, melalui program iklan bersama dan dilakukan melalui sebuah divisi kerja.
Gambar 3.15 : Spot Iklan pada JPNN
78
Gambar 3.16 : Rate iklan pada JPNN • JPNN Business Development (Pengembangan Bisnis) Yang dilakukan untuk memperluas jaringan dan sinergi usaha, dengan mendirikan usaha-usaha baru, mengakuisisi usaha yang sudah berjalan atau mendivestasi perusahaan yang prospek, terutama di bidang media. Sudah mulai beroperasi dengan proyek : Sudah mempunyai sebuah anak perusahaan, yaitu M-Link (PT Pontianan News Network), sebuah usaha Internet Service Provider (ISP) dan IT Sollution, yang segera dikembangkan diseluruh Indonesia melalu kerjasama dengan anak-anak perusahaan JP Grup, sehingga menjadi sebuah jaringan yang besar dan persiapan menjadi sebuah operator telekomunikasi. • JPNN News Portal Merupakan news portal yang lengkap dan luas jaringannya karena bersinergi dan berjaringan dengan semua media online di semua anak-anak perusahaan Jawa Pos Grup sehingga menjadi media online yang paling cepat, lengkap dan luas informasinya di Indonesia. Sudah beroperasi online sejak Juli 2008 dan sudah
79
berjaringan dengan hampir semua media online anak-anak perusahaan JP Grup. Saat ini dilakukan melalui divisi kerja. Selain menyajikan berita-berita terupdate, JPNN.COM juga mengelola sosial media Facebook, Twitter, Google+, dan JPNN Forum. Sosial Media aka terus meunculkan trend baru dalam media online yang tanpa batas.
Gambar 3.17 : Statistik pengunjung www.jpnn.com
Gambar 3.18 : Statistik pengunjung m.jpnn.com
80
• Jaringan Media Jaringan Media Jawa Pos National Network (JPNN) yang tersebar di seluruh Indonesia :
Gambar 3.19 : Jaringan media Jawa Pos National Network wilayah Sumatera
Sumatera : •
Riau Pos (Pekanbaru)
•
Pekanbaru Pos (Pekanbaru)
•
Radar Pat Petulai (Bengkulu/Rejang Lebong)
•
Dumai Pos (Dumai)
•
Sumut Pos (Medan)
•
Metro Siantar (Siantar)
•
Pos Metro Medan (Medan)
•
Padang Ekspres (Padang)
•
Pos Metro Padang (Padang)
•
Batam Pos (Batam)
•
Pos Metro Batam (Batam)
•
Sumatera Ekspres (Palembang)
•
Palembang Pos (Palembang)
81 •
Radar Palembang (Palembang)
•
Palembang Ekspres (Palembang)
•
Palembang Independent (Palembang)
•
Pos Metro Palembang (palembang)
•
Rakyat Palembang (palembang)
•
Jambi Independent (Jambi)
•
Jambi Ekspres (Jambi)
•
Jambi Pos (Jambi)
•
Radar Jambi (jambi)
•
Pos Metro Jambi (Jambi)
•
Radar Sarko (Bangko)
•
Radar Bute (Bungo)
•
Rakyat Jambi (Jambi)
•
Radar Tanjab (Kuala Tungkal)
•
Sarolangun Ekspres (Sarolangun)
•
Bungo Pos (Muara Bungo)
•
Linggau Pos (Lubuk Linggau)
•
Bangka Belitung Pos (Pangkalpinang)
•
Rakyat Bengkulu (Bengkulu)
•
Bengkulu Ekspress (Bengkulu)
•
Radar Lampung (Lampung)
•
Rakyat Lampung (Lampung)
•
Rakyat Aceh (Banda Aceh)
•
Metro Aceh (Banda Aceh)
•
Radar Bute (Bungo)
82
Gambar 3.20 : Jaringan media Jawa Pos National Network wilayah Kalimantan
Kalimantan: •
Pontianak Pos (Pontianak)
•
Harian Equator (Pontianak)
•
Metro Pontianak (Pontianak)
•
Kapuas Pos (Kapuas)
•
Kalteng Pos (Palangkaraya)
•
Radar Sampit (Sampit)
•
Radar Banjarmasin (Banjarmasin)
•
Kaltim Post (Balikpapan)
•
Post Metro Balikpapan (Balikpapan)
•
Berau Post (Tanjung Redeb)
•
Bontang Post (Bontang)
•
Radar Nunukan (Nunukan)
•
Samarinda Pos (Samarinda)
•
Kaltara Pos (Tarakan)
•
Radar Tarakan (Tarakan)
83
Gambar 3.21 : Jaringan media Jawa Pos National Network wilayah Jawa, Bali, dan Nusa Tenggara
Jakarta: •
Indopos
•
Rakyat Merdeka
•
Bibir Mer
•
Bollywood
•
Sinar Glodok
•
Lampu Hijau
•
Guo Ji Ri Bao
•
Pos Metro
Banten dan Jawa Barat: •
Radar Banten (Banten)
•
Satelit News (Banten)
•
Banten Raya Post (Banten)
•
Radar Bandung (Bandung)
•
Radar Bogor (Bogor)
•
Radar Cirebon (Cirebon)
•
Radar Karawang (Karawang, Purwakarta dan Subang)
•
Pasundan Ekspres (Purwakarta, Karawang & Subang)
84 •
Radar Tasikmalaya (Tasikmalaya)
•
Radar Bekasi (Bekasi)
•
Radar Sukabumi (Sukabumi)
•
Bandung Ekspres (Bandung)
•
Sumedang Ekspres (Sumedang)
•
Cianjur Ekspres (Cianjur)
•
Cianjur Ekspres (Cianjur)
Jawa Tengah dan DIY : •
Meteor (Semarang)
•
Radar Tegal (Tegal)
•
Radar Pekalongan (Pekalongan)
•
Radar Banyumas (Purwokerto)
•
Radar Semarang (Semarang)
•
Radar Kudus (Kudus)
•
Radar Solo (Solo)
•
Radar Jogja (Yogyakarta)
•
Semarang Post (Semarang)
Jawa Timur : • Radar Banyuwangi (Banyuwangi) • Radar Mojokerto (Mojokerto) • Radar Jember (Jember) • Radar Madiun (Madiun) • Radar Bromo (Probolinggo) • Radar Kediri (Kediri) • Radar Bojonegoro (Bojonegoro, Lamongan, Tuban, Blora) • Radar Surabaya (Surabaya) • Malang Post (Malang) • Radar Malang (Malang) • Memorandum (Surabaya) • Rek Ayo Rek (Surabaya) • Radar Madura (Pulau Madura)
85
• Radar Tulungagung (Tulungagung) Bali dan Nusa Tenggara : •
Lombok Post (Mataram)
•
Timor Ekspres (Kupang)
•
Radar Bali (Bali)
•
Bali Express (Bali)
Gambar 3.22 : Jaringan media Jawa Pos National Network wilayah Sulawesi Sulawesi: •
Fajar (Makassar)
•
Berita Kota Makassar (Makassar)
•
Pare Pos (Pare Pare)
•
Palopo Pos (Palopo)
•
Radar Sulbar (Sulawesi Barat)
•
Ujungpandang Ekspres (Makkasar)
•
Radar Bone (Sulawesi Selatan)
•
Radar Bulukumba (Sulawesi Selatan)
•
Rakyat Sulsel (Sulawesi Selatan)
•
Kendari Pos (Kendari)
•
Kendari Ekspres (Kendari)
86 •
Radar buton (Sulawesi Tenggara)
•
Radar Sulteng (Palu)
•
Palu Ekspress (Palu)
•
Manado Post (Manado)
•
Posko (Manado)
•
Radar Manado (Manado)
•
Tribun Sulut (Manado)
•
Gorontalo Post (Gorontalo)
•
Radar Gorontalo (Gorontalo)
•
Luwuk Post (Luwuk)
Gambar 3.23 : Jaringan media Jawa Pos National Network wilayah Maluku dan Papua
Maluku •
Ambon Ekspres (Maluku)
•
Radar Ambon (Maluku)
•
Malut Pos (Ternate)
Papua •
Cendrawasih Pos (Jayapura)
•
Radar Timika (Timika)
87 •
Radar Sorong (Sorong)
3.2.2.2. Struktur Organisasi
Gambar 3.24 : Bagan Struktur Organisasi JPNN
Direktur Utama: Rida K Liamsi Wakil Direktur Utama: Zainal Muttaqin Direktur Teknik: Untung Sukarti Direktur Keuangan: Andreas Didi General Manager: Auri Jaya Media Content Pemimpin Redaksi: Auri Jaya Redaktur: Antoni Sutomo Syamsu Arwan manaunggeng M. Mahfuz Abdullah Afni Zulkifli Thomas Kukuh
88
Reporter: Mesya Mohamad Adil Mahbub Natalia Kusdharmardi Ken Girsang Andrian Gilang Khrisnanda Yessy Zulfasli Zulhakim Pram Susanto Adrian Sigar M.Fathra Nazrul I. Misbahul Anam Photografer: Arundono Ricardo JPNN TV: Wahyu Budiman Said Rega Syahringga Oriza Arief Hatta Azil Adityo M. Sekretaris Redaksi: Lydia Sari Teknik & Jaringan: Anthony M Rasat Wahyu Widiyanto Aris A.
89
Marketing & Diklat: Liliek Ediyono Irma Kusumawati Fanny Elisa Akunting: Dhini Hariani Ade Sobrina Hasibuan Keuangan: Dini Hariani Evi Christasari Rinna Fajriah Sekretariat, Umum & SDM: Retnowati Dasijo Staff Umum: Arie Haeryadi Misbahul Anam Zaenal Hadi 3.2.2.3. Pembagian Tugas dan Tanggung Jawab 1. Pimpinan Perusahaan a. Bertanggung jawab keluar dan ke dalam atas segala aktivitasnya sebagai divisi penunjang produktivitas bidang keredaksian dengan melkukankoordinasi dengan Pemimpin Redaksi, Kepala Deputi atau perwakilan dan Divisi Keuangan dan Iklan dapat melakukan perekrutan personil untuk tugastugas dibidang tata usaha. b. Mempunyai hubungan luas dibidang bisnis lainnya dan kemitraan dalam bidang usaha untuk melaksanakan kegitan perusahaan pers dan penerbitan.
90
2. General Manajer a. Bertanggung jawab kepada seluruh aktivitas kelembagaan baik kepada
jajaran
keredaksionalan
maupun
kepada
non
redaksional serta divisi-divisi lainnya atau melalui antar lembaga dan termasuk secara hukum (mengacu kepada UU No.40/1999 tentang pers). b. Dalam kewenangannya Pemimpin Umum / Penangung Jawab dapat mengangkat seorang Pemimpin Redaksi / Wakil Pemimpin Redaksi beserta jajaran kebawahnya serta Pemimpin Perusahaan dan jajarannya. c. Mempunyai tugas untuk menentukan atau menolak segala bentuk
persoalan
baik
yang
menyangkut
personalia
administrasi baik sektor redaksional maupun non redaksional dan sebagai penentu kebijakan sentral. d. Berhak untuk melakukan revisi manajerial. 3. Pemimpin Redaksi a. Bertanggung jawab terhadap isi redaksi penerbitan. b. Bertanggung jawab terhadap kualitas produk penerbitan. c. Memberikan arahan kepada semua tim redaksi tentang berita yang akan dimuat pada setiap edisi. d. Menindaklanjuti mengangkat
dan
kebijakan
Pemimpin
memberhentikan
Umum
personalnya
untuk dengan
menempatkan wakil Pemimpin Redaksi, Sekretaris Redaksi, Redaktur Pelaksana, Koordinator Wartawan / Liputan, para Redaktur photografer, Koresponden dan Kontributor dalam keredaksian dapat pula menentukan tulisan / berita, tajuk rencana, sorotan, berita utama dan headline serta dateline. e. Pemimpin Redaksi berhak menon-aktifkan personalnya atau menunjuk dan mengangkat personal baru dengan persetujuan Pemimpin Umum.
91
f. Menentukan layak atau tidaknya suatu berita, foto, video dan desain untuk sebuah penerbitan. g. Melakukan
koordinasi
dengan
Pemimpin
Umum
dan
Pemimpin Perusahaan dan dalam melaksanakan tugasnya dibantu oleh Sekretaris Redaksi, Redaktur Pelaksana, dan Koordinator Wartawan / Liputan. h. Menjalin
lobi-lobi
dengan
nara
sumber
penting
di
pemerintahan, dunia usaha, dan berbagai instansi lainnya. i. Bertanggung jawab terhadap pihak lain, jika merasa dirugikan atas pemberitaan yang telah dimuat, sehingga pihak lain melakukan somasi, tuntutan hokum, atau menggugat ke pengadilan, sesuai aturan, tanggung jawab oleh pemimpin redaksi bila dilimpahkan kepada pihak lain yang dianggap melakukan kesalahan tersebut. j. Memberikan penilaian secara kualitatif dan kuantitatif terhadap redaktur secara periodik. 4. Redaktur a. Bertanggung jawab terhadap mekanisme kerja redaksi sehari-hari. b. Melakukan liputan sesuai hasil rapat redaksi (inline). Pelaksanaan liputan mengacu pada peran editor, yakni berupa penugasan (term of reference, TOR/outline), pengusulan tunggal dan isu hangat. c. Membuat perencanaan isi untuk setiap penerbitan. d. Mengkoordinasi kerja para penanggung jawab rubrik. e. Memeriksa, mengedit, dan menyempurnakan naskah sesuai dengan penulisan Bahasa Indonesia yang baik dan benar. f. Menyesuaikan naskah yang sudah diedit dalam Bahasa Indonesia ke dalam bahasa Jurnalistik. g. Mengubah pengulangan kata-kata yang sama dalam satu tulisan, sehingga kalimat naskah menjadi bervariasi. h. Mengedit penggunaan logika bahasa dan alur naskah.
92
i. Menyeragamkan
style
penulisan
masing-masing
redaktur,
sehingga gaya penulisan seluruh naskah menjadi sama. j. Memeriksa naskah kata per kata, penggunaan titik, koma, tanda seru, dan titik dua. k. Mengedit penggunaan kata yang berasal dari bahasa asing, bahasa daerah, dan bahasa lainnya sehingga mudah dimengerti oleh pembaca. l. Mengusulkan dan menulis suatu berita, foto, dan video yang akan dimuat untuk edisi mendatang. m. Berkoordinasi dengan fotografer dan riset foto dalam pengadaan foto untuk setiap penerbitan. n. Memberikan laporan pengembangan kepada atasan. 5. Reporter a. Mencari dan mewawancarai sumber berita yang ditugaskan redaktur atau atasan. b. Menulis hasil wawancara, investasi dan laporan kepada redaktur atau atasannya. c. Memberikan usulan berita kepada redaktur atau atasannya terhadap suatu informasi yang dianggap penting untuk diterbitkan. d. Membina dan menjalin lobi dengan sumber-sumber penting di berbagai instansi. e. Menghadiri acara press conferensi yang ditunjuk redaktur, atasannya atau atas inisiatif sendiri. 6. Photografer a. Menjalankan tugas pemotretan yang diberikan redaktur atau atasannya. b. Melakukan pemotretan sumber berita, suasana acara, aktivitas suatu objek, lokasi kejadian, gedung, dll. c. Mengusulkan konsep desain untuk cover majalah. d. Menyediakan foto-foto untuk mendukung naskah, artikel, dan berita.
93
e. Mengarsip foto-foto, film negatif, atau compact disk bagi kamera digital. f. Melaporkan setiap kegiatan pemotretan kepada atasan. g. Mempertanggungjawabkan setiap penggunaan film negatif, baterai, atau compact disk yang telah digunakan kepada perusahaan. 7. Legal c. Mereka yang diangkat dalam posisi ini adalah yang mempunyai akses yudisial baik praktisi hukum atau seseorang yang mempunyai integritas dibidang hukum dan mampu memberikan bantuan hukum dan nasihat hukum ketika dimintai oleh lembaga secara prosedural melalui Pemimpin Umum / Penanggung Jawab. d. Menangani semua hal termasuk dokumen dan permasalahan hukum. e. Berwenang melakukan penyesuaian terhadap peraturan-peraturan baru yang dikeluarkan oleh pemerintah yang berkaitan dengan operasional perusahaan. 8. Sekretaris Redaksi a. Mengatur undangan dari instansi, perusahaan, atau lembaga yang berkaitan dengan pemberitaan. b. Menghubungi sumber berita atau instansi untuk pendaftaran, konfirmasi
atau
pembatalan
undangan,
wawancara,
dan
kunjungan kerja. c. Menyimpan salinan kartu pers dan foto untuk mendukung kebutuhan kerja para wartawan dalam meliput satu acara yang mengharuskan membuat tanda pengenal. d. Menyediakan peralatan kerja redaksi seperti tape, batu baterei, kaset, alat tulis, dan note book. e. Merapikan keperluan keuangan redaksi seperti uang perjalanan, uang saku, uang rapat dan sebagainya.
94
f. Mengatur jadwal rapat redaksi seperti rapat perencanaan, rapat cheking, rapat final, dan sebagainya. 9. Teknik dan Jaringan a. Membangun Infrastruktur IT seperti: • Jaringan Internet • Jaringan Televisi • Software dan Hardware b. Mengkordinir perencanaan arsitektur TI dengan membangun suatu pendekatan arsitektural TI untuk keseluruhan sistem perusahaan c. Mempertimbangkan
kreasi-nilai
dalam
membangun
suatu
arsitektur perusahaan aplikasi 10. Marketing dan Diklat a. Bertugas menyebarluaskan Media massa yakni dalam bidang pemasaran (marketing) atau penjualan. Bagian ini merupakan bagian komersial meliputi sirkulasi / distribusi iklan dan promosi. b. Bertanggung jawab kepada Pemimpin Perusahaan. c. Mengadakan diklat atau pelatihan-pelatihan sesuai dengan kebutuhan perusahaan. 11. Keuangan a. Menyelesaikan administrasi pembukuan atas transaksi keuangan yang terjadi dalam perusahaan. b. Menganalisis dan membuat laporan keuangan untuk menilai apakah perusahaan mempunyai posisi keuangan yang baik. c. Mengatur keuangan perusahaan, baik pemasukkan maupun pengeluaran. 12. Sekretariat, Umum, dan SDM a. Membantu pimpinan dalam perencanaan dan pengembangan, mendokumentasikan
data
dan
menyiapkan
kesejahteraan karyawan. b. Melayani dalam perekrutan karyawan baru.
program
95
c. Menyiapkan dan memberikan laporan secara berkala tentang pelaksanaan kegiatan. 3.2.2.4. Gambaran Sistem Pertukaran Video Berikut adalah gambaran sistem pertukaran video antar anak perusahaan Jawa Pos Group yang sedang berjalan pada PT. Jawa Pos National Network (JPNN). 1. Data Flow Diagram a. Diagram Konteks Diagram konteks dari sistem pertukaran video yang sedang berjalan dapat digambarkan sebagai berikut :
Gambar 3.25 : Diagram Konteks Pertukaran Video
Dari diagram diatas, ada tiga aktor yang berperan dalam sistem pertukaran video yaitu admin dari JPNN, media/anak perusahaan jawa pos group, dan staff keuangan dari JPNN.
96
b. Diagram Nol Jika sistem yang sedang berjalan digambarkan dalam diagram nol, maka hasilnya dapat dilihat pada gambar dibawah ini.
Gambar 3.26 : Diagram Nol Pertukaran Video
Dari gambar diatas, proses dalam sistem informasi pertukaran video dalam diagram konteks dapat dipecah menjadi tiga proses pada diagram nol, yaitu registrasi media, pengiriman video, dan pengambilan video. 2. Prosedur dalam Sistem Sistem yang sekarang digunakan dalam proses pertukaran video pada Jawa Pos National Network (JPNN) menggunakan File Transfer Protokol (FTP) sehingga semua anak perusahaan Jawa Pos National Network (JPNN) yang berada dalam satu jaringan dapat saling mengakses video. Sistem ini baru dipakai kurang lebih selama 4 bulan.
97
a. Prosedur Pengiriman Video Prosedur pengiriman video yang dilakukan yaitu masing-masing media mendaftarkan medianya ke admin JPNN,
kemudian
setelah
itu
admin
memproses
dan
mendaftarkan media, selanjutnya admin memberikan host, username, dan password ke media tersebut untuk melakukan login ke FTP. Setelah itu media dapat login dan memilih folder/kategori video pada remote site dan kemudian memilih video yang ingin diunggah dan melakukan upload. Admin JPNN melakukan pencatatan log/transaksi dari pengiriman video yang dilakukan media, dan kemudian membuatkan arsip,. Lalu,
admin juga menghitung dan
mencatat jumlah user yang mengambil video yang dikirim oleh media untuk digunakan dalam perhitungan royalti yang akan diberikan. Setelah itu admin membuatkan laporan pengiriman video yang diberikan kepada staff keuangan. Kemudian staff keuangan melakukan pembayaran pengiriman video (pembayaran royalti) kepada media yang telah mengirimkan video, biayanya sesuai dari jumlah media yang mengambil video tersebut yang didapat dari laporan pengiriman video. Untuk lebih jelasnya dapat melihat flowchart pada gambar 3.27 dan 3.28.
98
Gambar 3.27 : Flowchart Prosedur Pengiriman Video 1
99
Gambar 3.28 : Flowchart Prosedur Pengiriman Video 2
100
b. Prosedur Pengambilan Video
Gambar 3.29 : Flowchart Prosedur Pengambilan Video 1
101
Gambar 3.30 : Flowchart Prosedur Pengambilan Video 2
102
Flowchart diatas menjelaskan prosedur pengambilan video, yaitu dengan melakukan login kedalam FTP (File Transfer Protocol). Jika media sudah terdaftar dan sudah memiliki host, username, dan password maka media tersebut berhasil untuk login ke FTP, jika belum terdaftar maka admin JPNN akan mendaftarkan media yang belum terdaftar. Setelah login, media dapat memilih lokasi penempatan video yang diambil pada local site, kemudian media memilih video yang akan diunduh dan melakukan download. Setelah itu, admin JPNN melakukan pencatatan log/transaksi pengambilan video melalui FTP dan menghitung jumlah video yang diambil oleh masing-masing media. Kemudian admin membuat laporan pengambilan video yang akan diserahkan ke staff keuangan. Kemudian, staff keuangan membuat billing yang diberikan kepada media yang bersangkutan, setelah itu media melakukan pembayaran billing. Selanjutnya staff keuangan membuat laporan pembayaran pengambilan video. 3.2.3. Analisis Kebutuhan User 3.2.3.1. Kebutuhan Informasi Berikut ini adalah kebutuhan informasi yang dibutuhkan oleh user : • Data Profile JPNN Data yang dibutuhkan yaitu nama perusahaan, alamat, telpon perusahaan, fax, email, nomor npwp, nomor rekening, direktur, manajer, staff keuangan dan kode penagih. • Data Media/Anak Perusahaan Data yang dibutuhkan yaitu kode perusahaan, nama media/anak perusahaan, keterangan.
daerah
tempat
perusahaan,
IP
address
dan
103
• Data Staff Data yang dibutuhkan yaitu kode, nama, posisi/jabatan, alamat, nomor telepon, password, tanggal lahir dan jenis kelamin. • Data Video Data yang dibutuhkan yaitu kode, judul, deskripsi, pengirim, kategori, size dan type. • Data Pengiriman Video Data yang dibutuhkan yaitu kode pengiriman, kode video, kode staff, kode perusahaan, hari, tanggal dan jam. • Data Pengambilan Video Data yang dibutuhkan yaitu kode pengambilan, kode video, kode staff, kode perusahaan, hari, tanggal dan jam. • Data Arsip Video Data yang dibutuhkan yaitu kode listing, kode staff, kode media, video, hari, jam dan tanggal. • Data Harga Video Data yang dibutuhkan yaitu kode harga, periode, harga ambil dan harga kirim. • Data Billing Data yang dibutuhkan yaitu kode billing, kode media/perusahaan, jumlah pengiriman video, jumlah pengambilan video, jumlah biaya, total biaya dan keterangan. 3.2.3.2. Daftar Entitas yang Dibutuhkan Berdasarkan dari analisis kebutuhan informasi diatas, berikut adalah nama-nama entitas yang dibutuhkan dalam sistem pertukaran video : • Media • Admin • CrewMedia • Video
104
• PengirimanVideo • PengambilanVideo • HistoryPengiriman • HistoryPengambilan • PembayaranRoyalti • PembayaranBilling • Pesan • Info 3.2.4. Identifikasi Masalah Berdasarkan analisis yang telah dilakukan, berikut adalah permasalahan yang dihadapi oleh Jawa Pos National Network (JPNN) dalam proses pertukaran video menggunakan FTP, yaitu :
Tidak adanya punishment yang dapat mengarahkan crew media yang menggunakan sistem tersebut untuk aktif melakukan upload video. Jika tingkat produktivitas masing-masing user
melakukan upload video
rendah, maka crew media akan lebih banyak melakukan download video.
Anak perusahaan/User yang ingin melakukan download video dapat melihat video tersebut terlebih dahulu sebelum melakukan download, sehingga jika video yang diunduh ternyata tidak sesuai dengan yang diinginkan maka video tersebut dibuang dan hanya memakan banyak bandwidth.
Sinyal, untuk pengiriman file melalui FTP harus terhubung koneksi internet atau WiFi, jadi apabila koneksi terputus pengiriman file akan terputus atau terhambat. Dan, apabila sinyal kurang bagus yang diterima dalam proses upload video hasilnya akan terputus-putus.
Susah untuk menilai produktivitas media/wartawan, karena tidak adanya sistem otomatis yang berfungsi untuk menghitung jumlah video yang dikirim maupun yang diambil oleh masing-masing anak perusahaan, sehingga perhitungan tersebut harus dihitung secara manual dengan transaksi log yang ada pada FTP.
105
Tidak adanya sistem billing otomatis sehingga tidak bisa diketahui dengan mudah siapa yang sudah melakukan upload dan download video, sehingga perhitungan billing hanya dapat dilacak menggunakan IP address pada FTP yang telah terdaftar, dan hanya menunggu pihak perusahaan yang mengambil video untuk lapor ke staff keuangan untuk membayar billing. Hal tersebut membuat sistem billing tidak berjalan sebagaimana mestinya. 3.2.5. Usulan Pemecahan Masalah Berdasarkan hasil analisis terhadap permasalahan yang terjadi, solusi yang ditawarkan untuk pemecahan masalah tersebut yaitu :
Memberikan aplikasi basis data yang mampu memberikan punishment berupa validasi terhadap pengguna yang ingin mengunduh video. Dengan memberikan syarat yaitu mengharuskan pengguna untuk mengunggah video terlebih dahulu dengan batasan jumlah minimal upload video yang ditentukan, sebelum dapat mengunggah video.
Memberikan aplikasi basis data yang mampu memutar (streaming) video terlebih dahulu sebelum data diunduh (download) sehingga pengguna dapat memilih video yang ingin diambil.
Membuatkan sistem aplikasi basis data berbasis web sehingga dapat diakses dimana saja dan dengan jaringan apapun sehingga memudahkan pengguna dalam melakukan transaksi pertukaran video.
Mengembangkan sebuah sistem basis data yang terintegrasi sehingga dapat membantu dalam proses pendataan transaksi video antar media/anak perusahaan sehingga dapat menghitung secara otomatis jumlah transaksi pertukaran video secara detail sehingga dapat dibuatkan laporan billing untuk masing-masing anak perusahaan, dan laporan produktivitas wartawan/media secara otomatis sehingga memudahkan JPNN dalam mengelola proses transaksi pertukaran video.
106
3.2.6. Gambaran Sistem Usulan Pemecahan Masalah Berikut adalah gambaran sistem pertukaran video antar anak perusahaan Jawa Pos Group yang usulkan sebagai solusi terhadap permasalahan yang ada dalam proses pertukaran video pada PT. Jawa Pos National Network (JPNN). a. Data Flow Diagram 1. Diagram Konteks Diagram konteks dari sistem pertukaran video yang sedang berjalan dapat digambarkan sebagai berikut :
Gambar 3.31 : Diagram Konteks Usulan Sistem Baru
Dari diagram diatas, ada empat aktor yang berperan dalam sistem pertukaran video yaitu admin dari JPNN, media/anak perusahaan jawa pos group, staff keuangan dari JPNN, dan Manajer dari JPNN.
107
2. Diagram Nol Jika sistem yang sedang berjalan digambarkan dalam diagram nol, maka hasilnya dapat dilihat pada gambar dibawah ini.
Gambar 3.32 : Diagram Nol Usulan Sistem Baru
Dari gambar diatas, proses dalam sistem informasi pertukaran video dalam diagram konteks dapat dipecah menjadi enam proses pada diagram nol, yaitu registrasi media,
108
pengiriman video, pengambilan video, pembayaran billing oleh media yang melakukan pengambilan video, pembayaran royalti untuk pengirim video, dan komunikasi antar pengguna sistem. 3.3. Perancangan Basis Data Perancangan basis data aplikasi pengelolaan transaksi pertukaran video pada PT. Jawa Pos National Network (JPNN) terdiri dari tiga tahap, yaitu perancangan basis data konseptual (conseptual database design), perancangan basis data logikal (logical database design), perancangan basis data fisikal (physical database design). 3.3.1. Perancangan Basis Data Konseptual Perancangan basis data konseptual merupakan suatu proses untuk membangun sebuah model data yang digunakan dalam suatu perusahaan yang independen dari semua pertimbangan fisik atau rincian implementasi seperti target DBMS, program aplikasi, bahasa pemrograman, platform hardware, dan aspek-aspek lainnya. Tahapan didalam membangun model data konseptual yaitu untuk membangun satu atau lebih model data konseptual dari kebutuhan data perusahaan yang meliputi tipe entitas, tipe relationship, atribut dan domain atribut, primary keys dan alternate keys, dan integrity constrains. Langkah-langkah dalam membangun rancangan basis data konseptual menurut Connolly dan Begg (2010:471), yaitu : 1. Identifikasi tipe entitas 2. Identifikasi tipe relationship 3. Identifikasi atribut dan mengasosiasikan atribut dengan entitas atau tipe relationship 4. Menentukan domain attribute 5. Menentukan candidate, primary, dan alternate key attributes 6. Mempertimbangkan penggunaan konsep pemodelan tingkat tinggi 7. Memeriksa redundansi 8. Validasi model konseptual dengan transaksi user 9. Melakukan review model data konseptual dengan user
109
3.3.1.1. Identifikasi Tipe Entitas Pada tahap ini, dilakukan identifikasi tipe entitas yang dibutuhkan dengan memeriksa spesifikasi kebutuhan pengguna. Berikut adalah proses identifikasi tipe entitas yang dijelaskan dalam tabel 3.4. Tabel 3.4 : Tabel Tipe Entitas Nama entitas
Deskripsi
Nama lain
Kejadian
Admin
Pengelola
-
Satu
admin
Sistem
dapat
Pertukaran
mengelola dan
Video
yang
mendaftarkan
berperan untuk
media-media
mengelola
kedalam
Media
sistem
serta
melakukan pencatatan terhadap pembayaran pengambilan video,
dan
pengiriman video Media
Anak
-
Setiap
satu
perusahaan
media
atau
dibawah Jawa
anak
Pos Group .
perusahaan memiliki satu atau
banyak
crew media.
110
CrewMedia
Pegawai yang User
Setiap
bekerja
di
crew
Jawa
dapat
media
Pos Group
satu media
melakukan banyak transaksi pertukaran video
Video
Informasi
-
Setiap
satu
terkait konten
video
video yang ada
dikirimkan
dalam
atau
database.
oleh satu crew
dimiliki
dan
satu
media,
dan
dapat diambil oleh
banyak
media. PengirimanVideo
PengambilanVideo
Informasi
Upload
Setiap
satu
transaksi
pengiriman,
pengiriman
user
video yang
mengirim satu
dilakukan oleh
atau
media.
video.
Informasi
Download
Setiap
dapat
lebih
satu
terkait
pengambilan,
transaksi
user
pengambilan
mengambil
video yang
satu atau lebih
dilakukan oleh
video.
media.
dapat
111
HistoryPengiriman
Berisi
-
Setiap
media
informasi
memiliki
mengenai
history
history
pengiriman
pengiriman
vido
video
telah
yang
yang
dilakukan
dilakukan
media.
sebagai acuan dalam melakukan penerimaan pembayaran terhadap video yang dikirim.
HistoryPengambilan
Berisi
-
Setiap
media
informasi
memiliki
mengenai
history
history
pengambilan
pengiriman
video
video
telah
yang
yang
dilakukan
dilakukan
media.
sebagai acuan dalam pembuatan billing
dari
transaksi pengambilan video.
112
PembayaranRoyalti
PembayaranBilling
Informasi
-
Setiap
media
terkait
memiliki data
pembayaran
penerimaan
royalti
pembayaran
dalam
transaksi
terhadap video
pengiriman
yang
video.
dikirimkan.
Informasi
-
telah
Setiap
media
terkait
memiliki data
pembayaran
pembayaran
dalam
terhadap video
transaksi
yang
pengambilan
diambil.
telah
video. Pesan
Pesan
yang -
Setiap
media
dikirimkan
memiliki data
antar
pesan
pengguna
dan
sistem.
mengirim
masuk dapat
pesan. Info
Informasi
-
Setiap
media
yang
memiliki
dikirimkan
daftar
oleh
admin
informasi yang
atau
pihak
diterima.
JPNN
ke
seluruh media.
113
3.3.1.2. Identifikasi Tipe Relasi Tahapan ini dilakukan untuk mengidentifikasi tipe relasi antara suatu entitas dengan entitas yang lainnya. Berikut adalah proses .identifikasi tipe relasi yang akan dijelaskan pada tabel 3.5.
Tabel 3.5 : Tabel Tipe Relationship Entity Name
Multi- Relationship
Entity Name
plicity Admin
Multiplicity
1..1
Mengelola
Media
1..*
1..1
Mengelola
Info
0..*
1..1
Melayani
PembayaranBilling
1..*
1..1
Melakukan
PembayaranRoyalti
1..*
Media
1..1
Memiliki
CrewMedia
1..*
CrewMedia
1..1
Melakukan
PengirimanVideo
0..*
1..1
Memiliki
HistoryPengiriman
0..*
1..1
Melakukan
PengambilanVideo
0..*
1..1
Memiliki
HistoryPengambilan 0..*
1..1
Melakukan
PembayaranBilling
0..*
1..1
Memiliki
Info
0..*
1..*
Memiliki
Pesan
0..*
1..1
Melakukan
PengirimanVideo
1..1
Pengambilan
1..*
Mencakup
Video
1..*
Video
1..1
Melakukan
PembayaranBilling
1..1
1..1
Mempengaruhi
HistoryPengambilan 1..1
1..1
Mempengaruhi
HistoryPengiriman
1..1
Pengiriman
1..*
Mencakup
Video
1..*
Video
1..1
Mempengaruhi
HistoryPengiriman
1..1
Pembayaran Royalti
114
Gambar 3.33 : ERD Konseptual Awal
3.3.1.3. Mengidentifikasi dan Menghubungkan Atribut dengan Entitas atau Relasi Tahap ini bertujuan untuk mengasosiasikan atribut dengan entitas
atau
relasi
yang
sesuai.
Berikut
adalah
proses
mengidentifikasi dan menghubungkan atribut yang dapat dilihat pada tabel 3.6.
115
Tabel 3.6 : Tabel Atribut Entitas Data Entity Name
Attributes
Description
Type and
Nulls
Multivalued
Length Media
KodeMedia
Nomor
Char
Identitas
(5)
No
No
No
No
No
No
No
Yes
No
No
No
Yes
No
No
No
No
No
No
No
No
Media Nama
Nama Media
Varchar (40)
Daerah
Daerah
Varchar
tempat asal
(100)
media Telepon
Nomor
Varchar
telepon
(20)
media Keterangan
Keterangan
Varchar
tentang
(200)
media IPAddress
CrewMedia
KodeCrew
Alamat IP
Varchar
Media
(15)
Nomor
Char
identitas
(5)
crew media Nama
Username
Posisi
Nama crew
Varchar
media
(40)
Username
Varchar
dari crew
(35)
Posisi/jabatan Varchar crew media
(20)
116
Alamat
Tempat
Varchar
No
No
tinggal crew
(100)
No
No
No
No
Jenis kelamin Boolean No
No
media Password
TanggalLahir
Kata sandi
Varchar
crew media
(15)
Berisi
Date
tanggal lahir crew media J_Kelamin
crew media Admin
KodeStaff
Nomor unik
Char
identitas
(5)
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
admin Nama
Nama admin
Varchar (35)
Username
Password
Email
Username
Varchar
dari admin
(35)
Password
Varchar
admin
(15)
Email Admin
Varchar (50)
Video
KodeVideo
Judul
Kode unik
Char
dari video
(5)
Judul video
Varchar (200)
Kategori
Kode unik
Char
dari kategori
(5)
video Deskripsi
Deskripsi video
Text
117
Pengirim
Pengirim
Varchar
atau pembuat
(40)
No
No
No
No
video Hari
Tanggal
Hari kejadian
Varchar
video
(8)
Tanggal
Date
No
No
Date
No
No
Ukuran
Varchar
No
Yes
besarnya
(60)
No
Yes
No
Yes
No
No
No
No
No
No
No
No
No
No
kejadian video Jam
Jam kejadian video
Size
video Type
Path
Tipe atau
Varchar
format video
(60)
Path/link dari
Varchar
video
(500)
Pengiriman
Kode
Kode unik
Char
Video
Pengiriman
dari
(5)
pengiriman video KodeVideo
KodeCrew
KodeMedia
Kode unik
Char
dari video
(5)
Nomor ID
Char
Crew Media
(5)
Nomor
Char
identitas
(5)
media Tanggal
Tanggal
Pengiriman
melakukan pengiriman
Date
118
Hari
Hari
Varchar
No
No
Pengiriman
melakukan
(8)
Date
No
No
No
No
No
No
No
No
No
No
pengiriman Jam
Jam
Pengiriman
melakukan pengiriman
Pengambilan
Kode
Kode unik
Char
Video
Pengambilan
dari
(5)
pengambilan video KodeVideo
KodeCrew
Kode unik
Char
dari video
(5)
Nomor
Char
identitas
(5)
crew media KodeMedia
No identitas
Char
media
(5)
Tanggal
Tanggal
Date
No
No
Pengambilan
melakukan
No
No
Date
No
No
No
No
pengambilan video Hari
Hari
Varchar
Pengambilan
melakukan
(8)
pengambilan video Jam
Jam
Pengambilan
melakukan pengambilan
History
Kode
Kode unik
Char
Pengiriman
Historykirim
dari history
(6)
pengiriman
119
Kode
Kode unik
Char
No
No
Pengiriman
dari
(5)
No
No
No
No
No
No
No
No
Boolean No
No
No
No
No
No
pengiriman video KodeCrew
Nomot
Char
identitas
(5)
crew media KodeMedia
Nomor
Char
identitas
(5)
media KodeVideo
Kode unik
Char
dari video
(5)
Jumlah
Jumlah
Int(11)
Unduhan
download terhadap video yang dikirim
Status
Status
Pembayaran
pembayaran
Royalti
royalti kepada media pengirim video
History
Kode
Kode unik
Char
Pengambilan
HistoryAmbil
dari history
(6)
pengambilan video
Kode
Kode unik
Char
Pengambilan
pengambilan
(5)
video
120
KodeCrew
Nomor
Char
No
No
identitas
(5)
No
No
No
No
No
No
Boolean No
No
No
No
No
No
No
No
No
No
crew media KodeMedia
Nomor
Char
identitas
(5)
media KodeVideo
Kode unik
Char
dari video
(5)
Jumlah
Jumlah video
Int(11)
Ambil
yang diambil/ download
Status
Status
Pembayaran
pembayaran terhadap video yang diambil
Pembayaran
KodeBayar
Kode unik
Char
Royalti
Royalti
pembayaran
(5)
royalty Kode
Kode unik
Char
HistoryKirim
dari history
(6)
pegiriman video KodeMedia
Nomor
Char
identitas
(5)
media
Kode
Kode unik
Char
Pengiriman
dari
(5)
pengiriman video
121
HargaKirim
Harga video
Varchar
No
No
Int(11)
No
No
Besarnya
Bigint
No
No
jumlah
(20)
Date
No
No
No
No
No
No
No
No
No
No
No
No
(6) Jumlah
Jumlah
Unduhan
download terhadap video yang dikirim
TotalRoyalti
royalti yang dibayarkan Tanggal
Tanggal
BayarRoyalti
melakukan pembayaran royalty
Pembayaran
KodeBayar
Kode unik
Char
Billing
Billing
pembayaran
(5)
billing Kode
Kode unik
Char
HistoryAmbil
history
(6)
pengambilan video KodeMedia
Nomor
Char
identitas
(5)
media
Kode
Kode unik
Char
Pengambilan
pengambilan
(5)
video HargaAmbil
Harga video
Varchar (6)
122
Jumlah
Jumlah video
Int(11)
No
No
Ambil
yang diambil/
Total tagihan
BigInt
No
No
pengambilan
(20)
Date
No
No
Kode unik
Char
No
No
informasi
(5)
Nomor
Char
No
No
identitas
(5)
No
No
download TotalBilling
video yang dibayarkan Tanggal
Tanggal
BayarBilling
pembayaran tagihan pengambilan video
Info
KodeInfo
KodeCrew
crew media Judul
Judul
Varchar
informasi
(200)
Isi
Isi Informasi
Text
No
No
Hari
Hari
Varchar
No
No
pengiriman
(8)
Date
No
No
Date
No
No
informasi
Tanggal
Tanggal pengiriman informasi
Jam
Jam pengiriman informasi
123
Tanggapan
Tanggapan
Text
No
No
Kode unik
Char
No
No
dari pesan
(5)
Nomor
Char
No
No
identitas
(5)
No
No
No
Yes
No
No
dari informasi Pesan
KodePesan
KodeCrew
crew media Dari
Media yang
Varchar
mengirim
(20)
pesan Untuk
Media yang
Varchar
menerima
(20)
pesan Judul
Judul pesan
Varchar (200)
Isi
Isi pesan
Text
No
No
Hari
Hari
Varchar
No
No
pengiriman
(8)
Date
No
No
Date
No
No
Tinyint
No
No
pesan Tanggal
Tanggal pengiriman pesan
Jam
Jam pengiriman pesan
StatusBaca
Status pesan,
sudah terbaca (4) atau belum
124
3.3.1.4. Menentukan Atribut Domain Berikut adalah atribut domain untuk setiap entitas yang ada pada model data konseptual.
Tabel 3.7 : Domain Atribut Entity Name
Attribute
Domain attribute
Media
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
Nama
‘A’ – ‘Z’
Daerah
‘A’ – ‘Z’
Telpon
‘0’ – ‘9’
Keterangan
‘A’ – ‘Z’
IPAddress
‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
Nama
‘A’ – ‘Z’
Posisi
‘A’ – ‘Z’
Alamat
‘A’ – ‘Z’, ‘0’ – ‘9’
Password
‘A’ – ‘Z’, ‘0’ – ‘9’
TanggalLahir
DD-MM-YYYY
J_Kelamin
‘L’ atau ‘P’
KodeStaff
‘A’ – ‘Z’ ,‘0’ – ‘9’
Nama
‘A’ – ‘Z’
Username
‘A’ – ‘Z’ ,‘0’ – ‘9’
Password
‘A’ – ‘Z’, ‘0’ – ‘9’
Email
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeVideo
‘A’ – ‘Z’ ,‘0’ – ‘9’
Judul
‘A’ – ‘Z’, ‘0’ – ‘9’
KodeKategori
‘A’ – ‘Z’, ‘0’ – ‘9’
Deskripsi
‘A’ – ‘Z’, ‘0’ – ‘9’
Pengirim
‘A’ – ‘Z’, ‘0’ – ‘9’
CrewMedia
Admin
Video
125
PengirimanVideo
PengambilanVideo
HistoryPengiriman
Hari
‘A’ – ‘Z’
Tanggal
‘0’ – ‘9’
Jam
‘0’ – ‘9’
Size
‘A’ – ‘Z’, ‘0’ – ‘9’
Type
‘A’ – ‘Z’, ‘0’ – ‘9’
Path
‘A’ – ‘Z’, ‘0’ – ‘9’
KodePengiriman
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeVideo
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
TanggalPengiriman
‘0’ – ‘9’
HariPengiriman
‘A’ – ‘Z’
JamPengiriman
‘0’ – ‘9’
KodePengambilan
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeVideo
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
TanggalPengambilan
‘0’ – ‘9’
HariPengambilan
‘A’ – ‘Z’
JamPengambilan
‘0’ – ‘9’
KodeHistorykirim
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodePengiriman
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeVideo
‘A’ – ‘Z’ ,‘0’ – ‘9’
JumlahUnduhan
‘0’ – ‘9’
StatusPembayaranRoyalti ‘Lunas’ atau ‘Belum Lunas’ HistoryPengambilan
KodeHistoryAmbil
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodePengambilan
‘A’ – ‘Z’ ,‘0’ – ‘9’
126
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeVideo
‘A’ – ‘Z’ ,‘0’ – ‘9’
JumlahAmbil
‘0’ – ‘9’
StatusPembayaran
‘Lunas’ atau ‘Belum Lunas’
PembayaranRoyalti
PembayaranBilling
Info
KodeBayarRoyalti
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeHistoryKirim
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodePengiriman
‘A’ – ‘Z’ ,‘0’ – ‘9’
HargaKirim
‘0’ – ‘9’
JumlahUnduhan
‘0’ – ‘9’
TotalRoyalti
‘0’ – ‘9’
TanggalBayarRoyalti
DD-MM-YYYY
KodeBayarBilling
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeHistoryAmbil
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeMedia
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodePengambilan
‘A’ – ‘Z’ ,‘0’ – ‘9’
HargaAmbil
‘0’ – ‘9’
JumlahAmbil
‘0’ – ‘9’
TotalBilling
‘0’ – ‘9’
TanggalBayarBilling
DD-MM-YYYY
KodeInfo
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
Judul
‘A’ – ‘Z’ ,‘0’ – ‘9’
Isi
‘A’ – ‘Z’ ,‘0’ – ‘9’
Hari
‘A’ – ‘Z’
Tanggal
‘0’ – ‘9’
Jam
‘0’ – ‘9’
Tanggapan
‘A’ – ‘Z’ ,‘0’ – ‘9’
127
Pesan
KodePesan
‘A’ – ‘Z’ ,‘0’ – ‘9’
KodeCrew
‘A’ – ‘Z’ ,‘0’ – ‘9’
Dari
‘A’ – ‘Z’ ,‘0’ – ‘9’
Untuk
‘A’ – ‘Z’ ,‘0’ – ‘9’
Judul
‘A’ – ‘Z’ ,‘0’ – ‘9’
Isi
‘A’ – ‘Z’ ,‘0’ – ‘9’
Hari
‘A’ – ‘Z’
Tanggal
‘0’ – ‘9’
Jam
‘0’ – ‘9’
StatusBaca
‘A’ – ‘Z’ ,‘0’ – ‘9’
3.3.1.5. Mengidentifikasi Candidate, Primary, dan Alternate Key Hasil identifikasi primary key, candidate key, dan alternate key dapat dituliskan pada tabel 3.8.
Tabel 3.8 : Tabel Candidate Key, Primary Key, dan Alternate Key Entity Name
Candidate Key
Primary Key
Alternate Key
Media
KodeMedia
KodeMedia
IPAddress
IPAddress
Telpon
Telepon CrewMedia
KodeCrew
KodeCrew
Email
Email Admin
KodeStaff
KodeStaff
Video
KodeVideo
KodeVideo
KodeKategori
KodeKategori Path
Path PengirimanVideo
KodePengiriman
KodePengiriman
KodeVideo
KodeVideo
KodeCrew
KodeCrew
KodeMedia
KodeMedia
128
PengambilanVideo
KodePengambilan
KodePengambilan
KodeVideo
KodeVideo
KodeCrew
KodeCrew
KodeMedia
KodeMedia HistoryPengiriman
KodeHistorykirim
KodeHistorykirim
KodePengirim an
KodePengiriman
KodeCrew
KodeCrew
KodeMedia
KodeMedia
KodeVideo
KodeVideo HistoryPengambilan
KodeHistoryAmbil KodeHistoryAmbil KodePengam bilan KodePengambilan
KodeCrew
KodeCrew
KodeMedia
KodeMedia
KodeVideo
KodeVideo PembayaranRoyalti
KodeBayarRoyalti
KodeBayarRoyalti
KodeHistory Kirim
KodeHistoryKirim
KodeMedia
KodeMedia
KodePengirim an
KodePengiriman PembayaranBilling
KodeBayarBilling
KodeBayarBilling
KodeHistory Ambil
KodeHistoryAmbil
KodeMedia
KodeMedia
KodePengam bilan
KodePengambilan Info
KodeInfo KodeCrew
KodeInfo
KodeCrew
129
Pesan
KodePesan
KodePesan
KodeCrew
KodeCrew
ERD dari hasil identifikasi primary key diatas dapat digambarkan pada gambar 3.34.
Gambar 3.34 : ERD Konseptual dengan Primary Key
130
3.3.1.6. Mempertimbangkan Penggunaan Konsep Pemodelan Tingkat Tinggi (Langkah Opsional) Tahapan penggunaan konsep pemodelan tingkat tinggi ini tidak dilakukan, dikarenakan Entity Relationship Diagram (ERD) konseptual
yang
dihasilkan
tidak
mengandung
spesialisasi,
generalisasi, agregrasi, dan unsur-unsur pembentuk pemodelan tingkat tinggi lainnya. 3.3.1.7. Memeriksa Model dari Redundansi Setelah dilakukan proses pengecekan redundansi, tidak ada redundansi pada setiap relasi yang ada dari setiap model data, sehingga dapat lanjut ketahap berikutnya. 3.3.1.8. Validasi Model Data Konseptual Terhadap Transaksi User Langkah ini dilakukan untuk memastikan bahwa model data konseptual dapat mendukung kebutuhan transaksi. Adapun transaksi yang terjadi adalah sebagai berikut : a. Melihat rincian data media/anak perusahaan Jawa Pos Group b. Melihat rincian data crew media c. Melihat rincian data video d. Mengidentifikasi jumlah video e. Melihat rincian data pengiriman video f. Melihat rincian data pengambilan video g. Melihat rincian data history pengiriman video dari masing-masing media h. Melihat rincian data history pengambilan video dari masingmasing media i. Melihat rincian data pembayaran royalti dari masing-masing media yang mengirimkan video j. Melihat rincian data pembayaran billing dari masing-masing media yang mengambil video k. Memasukkan data media baru l. Memasukkan data video baru
131
m. Memasukkan data staff baru n. Memasukkan data crew media baru o. Mengubah data media p. Mengubah data crew media q. Mengubah data staff r. Mengubah data video s. Menghapus data media t. Menghapus data crew media u. Menghapus data staff v. Menghapus data video w. Menghapus data history pengiriman video x. Menghapus data history pengambilan video y. Mengirim Pesan z. Menerima Pesan aa. Mengirimkan Informasi ab. Menerima Informasi
132
Gambar 3.35 : ERD Konseptual dengan Transaksi User 3.3.1.9. Melakukan Review Model Data Konseptual dengan User Pada tahapan ini, dilakukan review dengan pegawai JPNN untuk memastikan bahwa model data konseptual yang dibuat telah memenuhi kebutuhan data untuk sistem pertukaran video. Dan setelah melakukan review dengan pegawai JPNN, model data konseptual yang dibuat telah memenuhi kebutuhan.
133
3.3.2. Perancangan Basis Data Logikal Berlandaskan pada pendapat Connoly dan Begg, desain basis data logikal merupakan proses pembentukan model yang berasal dari informasi yang digunakan dalam perusahaan yang berdasarkan model data tertentu namun independen terhadap DBMS tertentu dan aspek fisik lainnya. Perancangan ini dilakukan untuk menerjemahkan model data konseptual menjadi model data logikal dan kemudian memvalidasi model ini untuk memeriksa bahwa model tersebut sudah benar secara struktur dan mampu mendukung transaksi yang dibutuhkan. Perancangan basis data logikal terdiri dari langkah-langkah berikut : 1. Menentukan relasi-relasi untuk model data logikal. 2. Validasi model dengan normalisasi. 3. Validasi relasi terhadap user. 4. Mengecek batas integritas. 5. Meninjau ulang model data logikal dengan user. 6. Menggabungkan model data logikal ke dalam model global. 7. Mengecek untuk perkembangan yang akan datang. 3.3.2.1. Penurunan Relasi untuk Model Data Logikal a. Menghilangkan fitur yang tidak sesuai dengan model relasional Pada tahap ini dilakukan penghilangan fitur-fitur pada relasi yang tidak sesuai dengan konsep model relasional seperti many-to-many (*:*) binary relationship dan atribut multi-valued. Berikut adalah many-to-many (*:*) binary relationship dan atribut multi-valued yang terdapat dalam basis data konseptual. 1. Many-to-many (*:*) binary relationship antara entitas PengirimanVideo dan Video
Gambar 3.36 : Many-to-many (*:*) binary relationship antara entitas PengirimanVideo dan Video
134
Dilakukan penambahan entitas DetailPengiriman antara entitas Video dan PengirimanVideo untuk menghilangkan Many-to-many (*:*) binary relationship menjadi One-tomany (1:*) binary relationship :
Gambar 3.37 : Menghilangkan Many-to-many (*:*) binary relationship antara entitas PengirimanVideo dan Video
2. Many-to-many (*:*) binary relationship antara entitas PengambilanVideo dan Video
Gambar 3.38 : Many-to-many (*:*) binary relationship antara entitas PengambilanVideo dan Video
Dilakukan penambahan entitas DetailPengambilan antara entitas Video dan PengambilanVideo untuk menghilangkan Many-to-many (*:*) binary relationship menjadi One-tomany (1:*) binary relationship :
Gambar 3.39 : Menghilangkan Many-to-many (*:*) binary relationship antara entitas PengambilanVideo dan Video
135
3. Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Pesan
Gambar 3.40 : Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Pesan
Dilakukan
penambahan
entitas
PengirimPesan,
PenerimaPesan, dan CcPesan antara entitas CrewMedia dan Pesan untuk menghilangkan Many-to-many (*:*) binary relationship menjadi One-to-many (1:*) binary relationship :
Gambar 3.41 : Entitas PengirimPesan hasil menghilangkan Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Pesan
Gambar 3.42 : Entitas PenerimaPesan hasil menghilangkan Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Pesan
Gambar 3.43 : Entitas CcPesan hasil menghilangkan Manyto-many (*:*) binary relationship antara entitas CrewMedia dan Pesan
136
4. Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Info
Gambar 3.44 : Many-to-many (*:*) binary relationship antara entitas CrewMedia dan Info
Dilakukan
penambahan
entitas
DetailInfo
untuk
menghilangkan Many-to-many (*:*) binary relationship menjadi One-to-many (1:*) binary relationship :
Gambar 3.45 : Entitas DetailInfo hasil menghilangkan Manyto-many (*:*) binary relationship antara entitas CrewMedia dan Info
5. Atribut multi-valued pada entitas Media Telpon merupakan atribut multi-valued pada entitas Media. Untuk merepresentasikan atribut multi-valued, dilakukan pembuatan relasi ke entitas baru yaitu entitas Telpon :
Gambar 3.46 : Atribut Multi-valued Telpon dari entitas Media
137
6. Atribut multi-valued pada entitas Media IPAddress merupakan atribut multi-valued pada entitas Media.
Untuk
merepresentasikan
atribut
multi-valued,
dilakukan pembuatan relasi ke entitas baru yaitu entitas IPAddress :
Gambar 3.47 : Atribut Multi-valued IPAddress dari entitas Media
7. Atribut multi-valued pada entitas Video Type merupakan atribut multi-valued pada entitas Video. Untuk merepresentasikan atribut multi-valued, dilakukan pembuatan relasi ke entitas baru yaitu entitas Type :
Gambar 3.48 : Atribut Multi-valued Type dari entitas Video
8. Atribut multi-valued pada entitas Video Size merupakan atribut multi-valued pada entitas Video. Untuk merepresentasikan atribut multi-valued, dilakukan pembuatan relasi ke entitas baru yaitu entitas Size :
Gambar 3.49 : Atribut Multi-valued Ukuran dari entitas Video
138
b. Membuat relasi untuk model data logikal Untuk menentukan relasi-relasi untuk model data logikal mencakup langkah-langkah berikut ini : 1. Identifikasi Strong Entity 2. Identifikasi WeakEntity 3. Pembentukan relasi Biner one to many (1..*) 4. Pembentukan relasi Biner one to One (1..1) 5. Relasi 1..1 Recursive 6. Tipe relasi superclass / subclass 7. Relasi Binermany to many (*..*) 8. Tipe relasi Kompleks 9. Atribut multivalue
1. Identifikasi Strong entity types Untuk setiap entitas yang keberadaannya tidak tergantung pada entitas lain (strong entity) pada model data konseptual, dibuat relasi yang mencakup semua simple attribute dari entitas tersebut.
Tabel 3.9 : Identifikasi Strong Entity Media (KodeMedia, Nama, Daerah, Telpon, Keterangan, IPAddress) Primary Key KodeMedia Crew Media (KodeCrew, Nama, Posisi, Alamat, Password, TanggalLahir, J_Kelamin) Primary Key KodeCrew Admin (KodeStaff, Nama, Username, Password, Email) Primary Key KodeStaff Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type) Primary Key KodeVideo PengirimanVideo (KodePengiriman, KodeVideo, KodeCrew,
139
KodeMedia, TanggalPengiriman, HariPengiriman, JamPengiriman) Primary Key KodePengiriman PengambilanVideo (KodePengambilan, KodeVideo, KodeCrew, KodeMedia, TanggalPengambilan, HariPengambilan, JamPengambilan) Primary Key KodePengambilan HistoryPengiriman (KodeHistorykirim, KodePengiriman, KodeCrew, KodeMedia, KodeVideo, JumlahUnduhan, StatusPembayaranRoyalti) Primary Key KodeHistoryKirim HistoryPengambilan (KodeHistoryAmbil, KodePengambilan, KodeCrew, KodeMedia, KodeVideo, JumlahAmbil, StatusPembayaran) Primary Key KodeHistoryAmbil PembayaranRoyalti (KodeBayarRoyalti, KodeHistoryKirim, KodeMedia, KodePengiriman, HargaKirim, JumlahUnduhan, TotalRoyalti, TanggalBayarRoyalti) Primary Key KodeBayarRoyalti PembayaranBilling (KodeBayarBilling, KodeHistoryAmbil, KodeMedia, KodePengambilan, HargaAmbil, JumlahAmbil, TotalBilling, TanggalBayarBilling) Primary Key KodeBayarBilling Info (KodeInfo, KodeCrew, JudulInfo, IsiInfo, Hari, Tanggal, Jam, Tanggapan) Primary Key KodeInfo Pesan (KodePesan, KodeCrew, Dari, Untuk, JudulPesan, IsiPesan, Hari, Tanggal, Jam, StatusBaca) Primary Key KodePesan
140
2. Identifikasi Weak entity types Tipe entitas lemah merupakan suatu entitas yang keberadaannya dipengaruhi oleh entitas yang lain dan memiliki primary key yang berasal dari entitas yang lain.
Tabel 3.10 : Identifikasi Weak Entity DetailPengiriman (Komentar) Primary Key None (saat ini) DetailPengambilan (Komentar) Primary Key None (saat ini) PengirimPesan (Dari) Primary Key None (saat ini) PenerimaPesan (Untuk) Primary Key None (saat ini) CcPesan (Cc) Primary Key None (saat ini) Telpon (NomorTelpon) Primary Key None (saat ini) IPAddress (AlamatIP) Primary Key None (saat ini) Type (FormatVideo) Primary Key None (saat ini) Size (UkuranVideo) Primary Key None (saat ini)
3. One-to-many (1:*) binary relationship types Pada setiap hubungan one-to-many , entitas yang berada pada one side berperan sebagai parent, dan entitas yang berada pada many side berperan sebagai child. Relasi one-to-many yang ada pada basisdata yang telah dibuat, yaitu :
141
a. Hubungan (1:*) antara Media dan CrewMedia
(Memasukkan KodeMedia kedalam entitas CrewMedia untuk tipe 1:* dengan relasi memiliki)
Media (KodeMedia, Nama, Daerah,
CrewMedia (KodeCrew, Nama,
Telpon, Keterangan, IPAddress)
Posisi, Alamat, Password,
PrimaryKey KodeMedia
TanggalLahir, J_Kelamin, KodeMedia) Primary Key KodeCrew Foreign Key KodeMedia references Media(KodeMedia)
b. Hubungan (1:*) antara CrewMedia dan Info
(Memasukkan KodeCrew kedalam entitas Info untuk tipe 1:* dengan relasi memiliki)
CrewMedia (KodeCrew, Nama,
Info (KodeInfo, KodeCrew,
Posisi, Alamat, Password, TanggalLahir,
JudulInfo, IsiInfo, Hari,
J_Kelamin, KodeMedia)
Tanggal, Jam)
Primary Key KodeCrew
Primary Key KodeInfo Alternate Key KodeCrew Foreign Key KodeCrew references CrewMedia(KodeCrew)
142
c. Hubungan (1:*) antara CrewMedia dan PengirimanVideo
(Memasukkan KodeCrew kedalam entitas PengirimanVideo untuk tipe 1:* dengan relasi melakukan)
CrewMedia (KodeCrew, Nama,
PengirimanVideo (KodePengiriman,
Posisi, Alamat, Password,
KodeVideo, KodeCrew,
TanggalLahir, J_Kelamin,
TanggalPengiriman, HariPengiriman,
KodeMedia)
JamPengiriman)
Primary Key KodeCrew
Primary Key (KodePengiriman) Alternate Key (KodeVideo, KodeCrew) Foreign Key KodeCrew references CrewMedia (KodeCrew)
d. Hubungan (1:*) antara CrewMedia dan PengambilanVideo
(Memasukkan KodeCrew kedalam entitas PengambilanVideo untuk tipe 1:* dengan relasi melakukan)
CrewMedia (KodeCrew, Nama,
PengambilanVideo (KodePengambilan
Posisi, Alamat, Password,
KodeVideo, KodeCrew,
TanggalLahir, J_Kelamin,
TanggalPengambilan, HariPengambilan,
KodeMedia)
JamPengambilan)
Primary Key KodeCrew
Primary Key (KodePengambilan) Alternate Key (KodeVideo, KodeCrew) Foreign Key KodeCrew references CrewMedia(KodeCrew)
143
e. Hubungan (1:*) antara CrewMedia dan PembayaranBilling
(Memasukkan KodeCrew kedalam entitas PembayaranBilling untuk tipe 1:* dengan relasi melakukan)
CrewMedia (KodeCrew, Nama,
PembayaranBilling (KodeBayarBilling
Posisi, Alamat, Password,
KodePengambilan, HargaVideo,
TanggalLahir, J_Kelamin,
JumlahAmbil, TotalBilling,
KodeMedia)
TanggalBayarBilling, KodeCrew)
Primary Key KodeCrew
Primary Key (KodeBayarBilling) Alternate Key (KodePengambilan) Foreign Key KodeCrew references CrewMedia(KodeCrew)
f. Hubungan (1:*) antara CrewMedia dan HistoryPengambilan
(Memasukkan KodeCrew kedalam entitas HistoryPengambilan untuk tipe 1:* dengan relasi melakukan)
CrewMedia (KodeCrew, Nama,
HistoryPengambilan(KodeHistoryAmbil,
Posisi, Alamat, Password,
KodePengambilan, KodeCrew,
TanggalLahir, J_Kelamin,
JumlahAmbil, StatusPembayaran)
KodeMedia)
Primary Key KodeHistoryAmbil
Primary Key KodeCrew
Alternate Key (KodePengambilan, KodeCrew) Foreign Key KodeCrew references CrewMedia(KodeCrew)
144
g. Hubungan (1:*) antara CrewMedia dan HistoryPengiriman
(Memasukkan KodeCrew kedalam entitas HistoryPengiriman untuk tipe 1:* dengan relasi melakukan)
CrewMedia (KodeCrew, Nama,
HistoryPengiriman (KodeHistoryKirim,
Posisi, Alamat, Password,
KodePengiriman, KodeCrew,
TanggalLahir, J_Kelamin,
JumlahUnduhan,
KodeMedia)
StatusPembayaranRoyalti)
Primary Key KodeCrew
Primary Key KodeHistoryKirim Alternate Key KodePengiriman Foreign Key KodeCrew references CrewMedia(KodeCrew)
h. Hubungan (1:*) antara KategoriVideo dan Video
(Memasukkan KodeKategori kedalam entitas Video untuk tipe 1:* dengan relasi memiliki)
KategoriVideo (KodeKategori,
Video (KodeVideo, Judul,
NamaKategori)
KodeKategori, Deskripsi,
Primary Key KodeKategori
Pengirim, Hari, Tanggal, Jam, Size, Type, Path) Primary Key KodeVideo Alternate Key KodeKategori, Path Foreign Key KodeKategori references KategoriVideo(KodeKategori)
145
i. Hubungan (1:*) antara Admin dan PembayaranBilling
(Memasukkan KodeStaff kedalam entitas PembayaranBilling untuk tipe 1:* dengan relasi melayani)
Admin (KodeStaff, Nama,
PembayaranBilling(KodeBayarBilling,
Username, Password)
KodePengambilan, HargaVideo,
Primary Key KodeStaff
JumlahAmbil, TotalBilling, TanggalBayarBilling, KodeCrew, KodeStaff) Primary Key (KodeBayarBilling) Alternate Key KodePengambilan Foreign Key KodeStaff references StaffKeuangan(KodeStaff)
j. Hubungan (1:*) antara Admin dan PembayaranRoyalti
(Memasukkan KodeStaff kedalam entitas PembayaranRoyalti untuk tipe 1:* dengan relasi melakukan)
Admin (KodeStaff, Nama,
PembayaranRoyalti (KodeBayarRoyalti,
Username, Password)
KodePengiriman, HargaVideo,
Primary Key KodeStaff
JumlahUnduhan, TotalRoyalti, TanggalBayarRoyalti, KodeStaff) Primary Key KodeBayarRoyalti Alternate Key KodePengiriman Foreign Key KodeStaff references StaffKeuangan(KodeStaff)
146
k. Hubungan (1:*) antara Admin dan Media
(Memasukkan KodeStaff kedalam entitas Media untuk tipe 1:* dengan relasi mengelola)
Admin (KodeStaff, Nama, Password)
Media (KodeMedia, Nama,
Primary Key KodeStaff
Daerah, Telpon, Keterangan, IPAddress, KodeStaff) PrimaryKey KodeMedia Alternate Key IPAddress, Telpon Foreign Key KodeStaff references Admin(KodeStaff)
l. Hubungan (1:*) antara Admin dan Info
(Memasukkan KodeStaff kedalam entitas Info untuk tipe 1:* dengan relasi mengelola)
Admin (KodeStaff, Nama, Password)
Info (KodeInfo, KodeCrew,
Primary Key KodeStaff
JudulInfo, IsiInfo, Hari, Tanggal, Jam, KodeStaff) Primary Key KodeInfo Alternate Key KodeCrew Foreign Key KodeStaff references Admin(KodeStaff)
147
4. One-to-one (1:1) binary relationship types Penentuan parent dan child entity untuk menggambarkan hubungan 1:1 tidak dapat dilakukan dengan melihat cardinality hubungan tersebut. Penentuan parent dan child entity dilakukan dengan memperhatikan participation constraint di antara kedua entitas tersebut. Terdapat 3 jenis participation constraint yang dapat dipertimbangkan, yaitu : •
Mandatory participation pada kedua entitas hubungan 1:1
•
Mandatory Participation pada salah satu entitas hubungan 1:1
•
Optional Participation pada kedua entitas hubungan 1:1
Berikut adalah hubungan relasi 1:1 pada model konseptual : a. Hubungan 1:1 antara PengambilanVideo dan PembayaranBilling
(Untuk 1:1 relasi dengan mandatory participation pada PembayaranBilling, memasukkan KodePengambilan kedalam PembayaranBilling untuk model states relationship)
PengambilanVideo(KodePengambilan,
PembayaranBilling(KodeBayarBilling,
KodeVideo, KodeCrew,
KodePengambilan, HargaVideo,
TanggalPengambilan,
JumlahAmbil, TotalBilling,
HariPengambilan, JamPengambilan)
TanggalBayarBilling)
Primary Key KodePengambilan
Primary Key KodeBayarBilling Alternate Key KodePengambilan Foreign Key KodePengambilan references PengambilanVideo(KodePengambilan)
148
b. Hubungan 1:1 antara PengambilanVideo dan HistoryPengambilan (Untuk 1:1 relasi dengan mandatory participation pada HistoryPengambilan, memasukkan KodePengambilan kedalam HistoryPengambilan untuk model states relationship)
PengambilanVideo(KodePengambilan,
HistoryPengambilan(KodeHistoryAmbil,
KodeVideo, KodeCrew,
KodePengambilan, KodeCrew,
TanggalPengambilan, HariPengambilan, JumlahAmbil, StatusPembayaran) JamPengambilan)
Primary Key KodeHistoryAmbil
Primary Key KodePengambilan
Alternate Key (KodePengambilan, KodeCrew) Foreign Key KodePengambilan references PengambilanVideo(KodePengambilan)
c. Hubungan 1:1 antara PengambilanVideo dan HistoryPengiriman (Untuk 1:1 relasi dengan mandatory participation, memasukkan KodePengambilan kedalam HistoryPengiriman untuk model states relationship)
PengambilanVideo(KodePengambilan,
HistoryPengiriman(KodeHistorykirim,
KodeVideo, KodeCrew,
KodePengiriman, KodeCrew,
TanggalPengambilan, HariPengambilan,
JumlahUnduhan,
JamPengambilan)
StatusPembayaranRoyalti,
Primary Key KodePengambilan
KodePengambilan) Primary Key KodeHistoryKirim Alternate Key (KodePengiriman, KodeCrew) Foreign Key KodePengambilan References PengambilanVideo(KodePengambilan)
149
d. Hubungan 1:1 antara PembayaranRoyalti dan PengirimanVideo (Untuk 1:1 relasi dengan mandatory participation pada PembayaranRoyalti, memasukkan KodeBayarRoyalti kedalam PengirimanVideo)
PembayaranRoyalti(KodeBayarRoyalti,
PengirimanVideo(KodePengiriman,
HargaVideo, JumlahUnduhan,
KodeVideo, KodeCrew,
TotalRoyalti, TanggalBayarRoyalti,
TanggalPengiriman,HariPengiriman,
KodeStaff)
JamPengiriman, KodeBayarRoyalti)
Primary Key KodeBayarRoyalti
Primary Key KodePengiriman Alternate Key KodeVideo, KodeCrew Foreign Key KodeBayarRoyalti references PembayaranRoyalti (KodeBayarRoyalti)
e. Hubungan 1:1 antara PengirimanVideo dan HistoryPengiriman (Untuk 1:1 relasi dengan mandatory participation pada HistoryPengiriman, memasukkan KodePengiriman kedalam HistoryPengiriman)
PengirimanVideo(KodePengiriman,
HistoryPengiriman(KodeHistorykirim,
KodeVideo, KodeCrew,
KodePengiriman, KodeCrew,
TanggalPengiriman, HariPengiriman,
JumlahUnduhan,
JamPengiriman, KodeBayarRoyalti)
StatusPembayaranRoyalti,
Primary Key KodePengiriman
KodePengambilan) Primary Key KodeHistoryKirim Alternate Key (KodePengiriman, KodeCrew, KodePengambilan) Foreign Key KodePengiriman references PengirimanVideo (KodePengiriman)
150
5. Many-to-Many Binary Relationship Types Untuk setiap hubungan many-to-many pada model data konseptual dibuat relasi yang menggambarkan hubungan tersebut. Primary key dari masing-masing entitas yang berpartisipasi dalam hubungan tersebut, turut dimasukkan ke dalam relasi yang baru dibentuk sebagai foreign key. Satu atau beberapa foreign key tersebut juga akan berperan sebagai primary key untuk relasi yang baru saja terbentuk.
151
Relasi many-to-many yang terbentuk antara lain : a. Hubungan many-to-many antara PengirimanVideo dan Video yang menghasilkan entitas baru bernama DetailPengiriman
PengirimanVideo (KodePengiriman, KodeCrew, TanggalPengiriman, HariPengiriman, JamPengiriman, KodeBayarRoyalti) Primary Key KodePengiriman Alternate Key (KodeCrew, KodeBayarRoyalti)
Video
(KodeVideo,
Judul,
KodeKategori,
Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, Path) Primary Key KodeVideo Alternate Key KodeKategori Foreign Key KodeKategori references KategoriVideo(KodeKategori)
DetailPengiriman (KodePengiriman, KodeVideo, Komentar) Primary Key KodePengiriman, KodeVideo Foreign Key KodePengiriman references PengirimanVideo(KodePengiriman) ForeignKey KodeVideo references Video(KodeVideo)
152
b. Hubungan many-to-many antara PengambilanVideo dan Video
yang
menghasilkan
entitas
baru
bernama
DetailPengambilan
PengambilanVideo (KodePengambilan, KodeCrew, TanggalPengambilan, HariPengambilan, JamPengambilan) Primary Key KodePengambilan
Video
(KodeVideo,
Judul,
KodeKategori,
Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, Path) Primary Key KodeVideo Alternate Key KodeKategori Foreign Key KodeKategori references KategoriVideo(KodeKategori)
DetailPengambilan (KodePengambilan, KodeVideo, Komentar) Primary Key KodePengambilan, KodeVideo Foreign Key KodePengambilan references PengambilanVideo(KodePengambilan) ForeignKey KodeVideo references Video(KodeVideo)
153
c. Hubungan mani-to-many antara CrewMedia dan Pesan yang menghasilkan entitas baru bernama PengirimPesan.
CrewMedia (KodeCrew, Nama, Posisi, Alamat, Password, TanggalLahir, J_Kelamin, KodeMedia) Primary Key KodeCrew Pesan (KodePesan, JudulPesan, IsiPesan, Hari, Tanggal, Jam, StatusBaca) Primary Key KodePesan
PengirimPesan (KodeCrew, KodePesan, Dari) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) Foreign Key KodeCrew references CrewMedia(KodeCrew)
d. Hubungan mani-to-many antara CrewMedia dan Pesan yang menghasilkan entitas baru bernama PenerimaPesan
CrewMedia (KodeCrew, Nama, Posisi, Alamat, Password, TanggalLahir, J_Kelamin, KodeMedia) Primary Key KodeCrew Pesan (KodePesan, JudulPesan, IsiPesan, Hari, Tanggal, Jam, StatusBaca) Primary Key KodePesan
PenerimaPesan (KodeCrew, KodePesan, Untuk) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) Foreign Key KodeCrew references CrewMedia(KodeCrew)
154
e. Hubungan mani-to-many antara CrewMedia dan Pesan yang menghasilkan entitas baru bernama CcPesan
CrewMedia (KodeCrew, Nama, Posisi, Alamat, Password, TanggalLahir, J_Kelamin, KodeMedia) Primary Key KodeCrew Pesan (KodePesan, JudulPesan, IsiPesan, Hari, Tanggal, Jam, StatusBaca) Primary Key KodePesan
CcPesan (KodeCrew, KodePesan, Cc) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) Foreign Key KodeCrew references CrewMedia(KodeCrew)
6. Multi-valued attributes Untuk setiap multi-valued attributes dalam suatu entitas, dibuatkan suatu relasi baru yang merepresentasikan atribut multivalued. a. Atribut multi-valued pada entitas Media
(Memasukkan KodeMedia kedalam entitas Telpon)
Media (KodeMedia, Nama,
Telpon (NomorTelpon, KodeMedia)
Daerah, Keterangan, IPAddress,
Primary Key NomorTelpon
KodeStaff)
Foreign Key KodeMedia
PrimaryKey KodeMedia
references Media(KodeMedia)
155
b. Atribut multi-valued pada entitas Media
(Memasukkan KodeMedia kedalam entitas IPAddress)
Media (KodeMedia, Nama,
IPAddress (AlamatIP, KodeMedia)
Daerah, Keterangan, KodeStaff)
Primary Key AlamatIP
PrimaryKey KodeMedia
Foreign Key KodeMedia references Media(KodeMedia)
156
7. Complex relationship types Berikut
adalah
Ternary
Relationship
dari
entitas-entitas
PembayaranBilling, PembayaranRoyalti, Periode dan Harga.
PembayaranBilling (KodeBayarBilling, KodePengambilan, JumlahAmbil, TotalBilling, TanggalBayarBilling) Primary Key KodeBayarBilling Foreign Key KodePengambilan references PengambilanVideo(KodePengambilan)
PembayaranRoyalti (KodeBayarRoyalti, JumlahUnduhan, TotalRoyalti, TanggalBayarRoyalti, KodeStaff) Primary Key KodeBayarRoyalti Foreign Key KodeStaff references StaffKeuangan(KodeStaff)
Harga (KodeHarga, HargaAmbil, HargaKirim) Primary Key KodeHarga
Periode (KodeHarga, KodeBayarRoyalti, KodeBayarBilling, Periode) Primary Key KodeHarga, KodeBayarRoyalti Foreign Key KodeHarga references Harga(KodeHarga) Foreign Key KodeBayarRoyalti references PembayaranRoyalti(KodeBayarRoyalti) Foreign Key PembayaranBilling references PembayaranBilling(KodeBayarBilling)
157
Gambar 3.50 : ERD Logikal sebelum dilakukan normalisasi
158
3.3.2.2. Validasi Relasi Menggunakan Normalisasi Normalisasi dilakukan untuk memastikan bahwa tidak ada redundansi didalam basis data yang telah dirancang. Tahapan normalisasi yang dilakukan mulai dari UNF (Unnormalized Form), 1NF (First Normal Form), 2NF (Second Normal Form), dan 3NF (Third Normal Form). Berikut adalah tabel-tabel yang mengalami normalisasi : Media 2NF : Media (KodeMedia, Nama, Daerah, Telepon, Keterangan, IPAddress) 3NF : Media (KodeMedia, Nama, KodeDaerah, Telepon, Keterangan, IPAddress) Daerah (KodeDaerah, NamaDaerah)
CrewMedia UNF : CrewMedia
(KodeCrew,
Nama,
Username,
Posisi,
Alamat,
Username,
Posisi,
Alamat,
Password, TanggalLahir, J_Kelamin) 1NF : CrewMedia
(KodeCrew,
Nama,
Password, TanggalLahir, J_Kelamin, KodeLogin, Session, Time, Login, Logout, Tanggal) 2NF : CrewMedia
(KodeCrew,
Nama,
Username,
Posisi,
Alamat,
Password, TanggalLahir, J_Kelamin, KodeLogin, Session, Time, Login, Logout, Tanggal) 3NF : CrewMedia (KodeCrew, Nama, Username, KodePosisi, Alamat, Password, TanggalLahir, J_Kelamin, KodeLogin, KodeOnline
159
Posisi (KodePosisi, Posisi) Login (KodeLogin, Login, Logout, Tanggal) Online (KodeOnline, Username, Session, Time)
Admin UNF : Admin (KodeStaff, Nama, Username, Password, Email) 1NF : Admin (KodeStaff, Nama, Username, Password, Email, KodeLogin, Session, Time, Login, Logout, Tanggal) 2NF : Admin (KodeStaff, Nama, Username, Password, Email, KodeLogin, Session, Time, Login, Logout, Tanggal) 3NF : Admin (KodeStaff, Nama, Username, Password, Email, KodeLogin, KodeOnline) Login (KodeLogin, Login, Logout, Tanggal) Online (KodeOnline, Username, Session, Time)
Video UNF : Video (KodeVideo, Judul, Kategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, Path) 1NF : Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, Path, KodeTKP, KodeDaerah , KodeKomentar) 2NF : Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal,
Jam,
KodeKomentar)
Size,
Type+
Path,
KodeTKP,
KodeDaerah,
160
3NF : Video (KodeVideo, Judul, Deskripsi, Pengirim, Hari, Tanggal, Jam, Path, KodeTKP) KategoriVideo (KodeKategori, NamaKategori, KodeVideo) Size (KodeSize, UkuranVideo, KodeVideo) Type (KodeType, FormatVideo, KodeVideo) TKP (KodeTKP, KodeDaerah) Daerah (KodeDaerah, NamaDaerah) Komentar (KodeKomentar, Komentar)
HistoryPengiriman 2NF : HistoryPengiriman (KodeHistorykirim, KodePengiriman, KodeCrew, KodeMedia, KodeVideo, JumlahUnduhan, StatusPembayaranRoyalti) 3NF : HistoryPengiriman (KodeHistorykirim, KodePengiriman, KodeCrew, KodeMedia, KodeVideo, JumlahUnduhan, KodeStatusBayar) PengirimanVideo (KodePengiriman, KodeVideo, KodeCrew, KodeMedia, TanggalPengiriman, HariPengiriman, JamPengiriman) CrewMedia (KodeCrew, Nama, Username, Posisi, Alamat, Password, TanggalLahir, J_Kelamin) Media (KodeMedia, Nama, Daerah, Telpon, Keterangan, IPAddress) Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, KodeTKP, KodeDaerah, KodeKomentar) KategoriVideo (KodeKategori, NamaKategori, KodeVideo) Size (KodeSize, UkuranVideo, KodeVideo) Type (KodeType, FormatVideo, KodeVideo) TKP (KodeTKP, KodeDaerah) Daerah (KodeDaerah, NamaDaerah)
161
Komentar (KodeKomentar, Komentar) StatusPembayaran (KodeStatusBayar, StatusBayar)
HistoryPengambilan 2NF : HistoryPengambilan (KodeHistoryAmbil, KodePengambilan, KodeCrew, KodeMedia, KodeVideo, JumlahAmbil, StatusPembayaran) 3NF : HistoryPengambilan (KodeHistoryAmbil, KodePengambilan, KodeCrew, KodeMedia, KodeVideo, JumlahAmbil, KodeStatusBayar) PengambilanVideo (KodePengambilan, KodeVideo, KodeCrew, KodeMedia, TanggalPengambilan, HariPengambilan, JamPengambilan) CrewMedia (KodeCrew, Nama, Username, Posisi, Alamat, Password, TanggalLahir, J_Kelamin) Media (KodeMedia, Nama, Daerah, Telpon, Keterangan, IPAddress) Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Size, Type, KodeTKP, KodeDaerah, KodeKomentar) KategoriVideo (KodeKategori, NamaKategori, KodeVideo) Size (KodeSize, UkuranVideo, KodeVideo) Type (KodeType, FormatVideo, KodeVideo) TKP (KodeTKP, KodeDaerah) Daerah (KodeDaerah, NamaDaerah) Komentar (KodeKomentar, Komentar) StatusPembayaran (KodeStatusBayar, StatusBayar)
162
Info 2NF : Info (KodeInfo, KodeCrew, JudulInfo, IsiInfo, Hari, Tanggal, Jam, Tanggapan) 3NF : Info (KodeInfo, KodeCrew, JudulInfo, IsiInfo, Hari, Tanggal, Jam, KodeTanggapan) Tanggapan (KodeTanggapan, Tanggapan)
163
Gambar 3.51 : ERD Logikal
164
3.3.2.3. Validasi Relasi Terhadap Transaksi User Langkah ini dilakukan untuk memastikan bahwa model data konseptual dapat mendukung kebutuhan transaksi. Adapun transaksi yang terjadi adalah sebagai berikut : a. Melihat rincian data media/anak perusahaan Jawa Pos Group b. Melihat rincian data crew media c. Melihat rincian data video d. Mengidentifikasi jumlah video e. Melihat rincian data pengiriman video f. Melihat rincian data pengambilan video g. Melihat rincian data history pengiriman video dari masing-masing media h. Melihat rincian data history pengambilan video dari masingmasing media i. Melihat rincian data pembayaran royalti dari masing-masing media yang mengirimkan video j. Melihat rincian data pembayaran billing dari masing-masing media yang mengambil video k. Memasukkan data media baru l. Memasukkan data video baru m. Memasukkan data staff baru n. Memasukkan data crew media baru o. Mengubah data media p. Mengubah data crew media q. Mengubah data staff r. Mengubah data video s. Menghapus data media t. Menghapus data crew media u. Menghapus data staff v. Menghapus data video w. Menghapus data history pengiriman video
165
x. Menghapus data history pengambilan video y. Mengirim Pesan z. Menerima Pesan aa. Mengirimkan Informasi ab.Menerima Informasi
166
Gambar 3.52 : ERD Logikal dengan transaksi user
167
3.3.2.4. Memeriksa Integrity Constraint Integritas referensial merupakan suatu kondisi ketika setiap tabel dalam basis data telah menunjuk dan saling terhubung dengan tabel lainnya. Berikut adalah integritas referensial dari basis data yang telah dibuat seperti terlihat pada tabel.
Tabel 3.11 : Tabel Integrity Constraint No
Nama Entitas
Relasi
1
Media
Media (KodeMedia, Nama, Keterangan) Primary Key KodeMedia Foreign Key KodeStaff references Admin(KodeStaff) ON
UPDATE
CASCADE
ON
DELETE CASCADE 2
CrewMedia
CrewMedia (KodeCrew, Nama, Alamat, Password, TanggalLahir, J_Kelamin, KodeMedia) Primary Key KodeCrew Foreign Key KodeMedia references Media(KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE
3
Info
Info
(KodeInfo,
KodeCrew,
JudulInfo, IsiInfo, Hari, Tanggal, Jam, KodeStaff) Primary Key KodeInfo Foreign Key KodeCrew references CrewMedia(KodeCrew)
ON
UPDATE CASCADE ON DELETE CASCADE
168
Foreign Key KodeStaff references Admin(KodeStaff) ON
UPDATE
CASCADE
ON
DELETE CASCADE 4
PengirimanVideo
PengirimanVideo (KodePengiriman, KodeCrew, KodeBayarRoyalti, TanggalPengiriman, HariPengiriman, JamPengiriman) Primary Key KodePengiriman Foreign Key KodeCrew references CrewMedia (KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeBayarRoyalti references PembayaranRoyalti (KodeBayarRoyalti) ON UPDATE CASCADE ON DELETE CASCADE
5
PengambilanVideo
PengambilanVideo (KodePengambilan, KodeVideo, KodeCrew, TanggalPengambilan, HariPengambilan, JamPengambilan) Primary Key KodePengambilan Foreign Key KodeCrew references CrewMedia(KodeCrew) ON
UPDATE
CASCADE
DELETE CASCADE 6
PembayaranBilling
PembayaranBilling (KodeBayarBilling, KodePengambilan, HargaVideo,
ON
169
JumlahAmbil, TotalBilling, TanggalBayarBilling, KodeCrew, KodeStaff) Primary Key KodeBayarBilling Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodePengambilan references PengambilanVideo (KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeStaff references StaffKeuangan(KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE 7
HistoryPengambilan
HistoryPengambilan (KodeHistoryAmbil, KodePengambilan, KodeCrew, JumlahAmbil) Primary Key KodeHistoryAmbil Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodePengambilan references PengambilanVideo (KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE
170
8
HistoryPengiriman
HistoryPengiriman (KodeHistoryKirim, KodePengiriman, KodeCrew, JumlahUnduhan, KodeStatusBayar, KodePengambilan) Primary Key KodeHistoryKirim Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodePengiriman references PengirimanVideo(KodePengiriman) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodePengambilan references PengirimanVideo (KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE
9
KategoriVideo
KategoriVideo (KodeKategori, NamaKategori, KodeVideo) Primary Key KodeKategori Foreign Key KodeVideo references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE
10
Video
Video (KodeVideo, Judul, KodeKategori, Deskripsi, Pengirim, Hari, Tanggal, Jam, Path) Primary Key KodeVideo
171
11
PembayaranRoyalti
PembayaranRoyalti (KodeBayarRoyalti, JumlahUnduhan, TotalRoyalti, TanggalBayarRoyalti, KodeStaff) Primary Key KodeBayarRoyalti Foreign Key KodeStaff references StaffKeuangan(KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE
12
Admin
Admin (KodeStaff, Nama, Username Password, Email) Primary Key KodeStaff
13
DetailPengiriman
DetailPengiriman (KodePengiriman, KodeVideo, Komentar) Primary Key KodePengiriman, KodeVideo Foreign Key KodePengiriman references PengirimanVideo(KodePengiriman) ON UPDATE CASCADE ON DELETE CASCADE ForeignKey KodeVideo references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE
14
DetailPengambilan
DetailPengambilan (KodePengambilan, KodeVideo, Komentar) Primary Key KodePengambilan, KodeVideo
172
Foreign Key KodePengambilan references PengambilanVideo (KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE ForeignKey KodeVideo references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE 15
PengirimPesan
PengirimPesan (KodeCrew, KodePesan, Dari) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE
16
PenerimaPesan
PenerimaPesan (KodeCrew, KodePesan, Untuk) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeCrew references CrewMedia(KodeCrew)
173
ON UPDATE CASCADE ON DELETE CASCADE 17
CcPesan
CcPesan (KodeCrew, KodePesan, Cc) Primary Key KodeCrew, KodePesan Foreign Key KodePesan references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE
18
Telpon
Telpon (NomorTelpon, KodeMedia) Primary Key NomorTelpon Foreign Key KodeMedia references Media(KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE
19
IPAddress
IPAddress (AlamatIP, KodeMedia) Primary Key AlamatIP Foreign Key KodeMedia references Media(KodeMedia) ON
UPDATE
CASCADE
ON
DELETE CASCADE 20
Harga
Harga (KodeHarga, HargaAmbil, HargaKirim) Primary Key KodeHarga
21
Periode
Periode (KodeHarga, KodeBayarRoyalti,
174
KodeBayarBilling, Periode) Primary Key KodeHarga, KodeBayarRoyalti Foreign Key KodeHarga references Harga(KodeHarga) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeBayarRoyalti references PembayaranRoyalti (KodeBayarRoyalti) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeBayarBilling references PembayaranBilling (KodeBayarBilling) ON UPDATE CASCADE ON DELETE CASCADE 22
Daerah
Daerah (KodeDaerah, NamaDaerah, KodeMedia) Primary Key KodeDaerah Foreign Key KodeMedia references Media(KodeMedia) ON
UPDATE
CASCADE
ON
DELETE CASCADE 23
Posisi
Posisi (KodePosisi, Posisi, KodeCrew) Primary Key KodePosisi Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE
175
24
Login
Login (KodeLogin, Login, Logout, Tanggal) Primary Key KodeLogin Foreign Key KodeCrew references CrewMedia(KodeCrew) ON
UPDATE
CASCADE
ON
DELETE CASCADE 25
Online
Online
(KodeOnline,
Username,
Session, Time) Primary Key KodeOnline Foreign Key KodeCrew references CrewMedia(KodeCrew ON
UPDATE
CASCADE
ON
DELETE CASCADE 26
Size
Size
(KodeSize,
UkuranVideo,
KodeVideo) Primary Key KodeSize Foreign Key KodeVideo references Video(KodeVideo) ON
UPDATE
CASCADE
ON
DELETE CASCADE 27
Type
Type
(KodeType,
FormatVideo,
KodeVideo) Primary Key KodeType Foreign Key KodeVideo references Video(KodeVideo) ON
UPDATE
CASCADE
DELETE CASCADE
28
TKP
TKP (KodeTKP, KodeDaerah, KodeVideo)
ON
176
Primary Key KodeTKP Foreign Key KodeVideo references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE 29
Komentar
Komentar (KodeKomentar, Komentar, KodeVideo) Primary Key KodeKomentar Foreign Key KodeVideo references Video(KodeVideo) ON
UPDATE
CASCADE
ON
DELETE CASCADE 30
StatusPembayaran
StatusPembayaran (KodeStatusBayar, StatusBayar) Primary Key KodeStatusBayar Foreign
Key
references
KodeHistoryAmbil HistoryPengambilan
(KodeHistoryAmbil) ON
UPDATE
CASCADE
ON
DELETE CASCADE Foreign
Key
references
KodeHistoryKirim HistoryPengiriman
(KodeHistoryAmbil) ON
UPDATE
CASCADE
ON
DELETE CASCADE 31
Tanggapan
Tanggapan (KodeTanggapan, Tanggapan, KodeInfo) Primary Key KodeTanggapan Foreign Key KodeInfo references Info(KodeInfo) ON UPDATE CASCADE ON
177
DELETE CASCADE 32
Pesan
Pesan (KodePesan, Pesan, JudulPesan, IsiPesan) Primary Key KodePesan
33
DetailInfo
DetailInfo (KodeInfo, KodeCrew) Primary Key KodeInfo, KodeCrew Foreign Key KodeInfo references Info(KodeInfo) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE
3.3.2.5. Melakukan Review Model Data Logikal Dengan User Selanjutnya dilakukan review model data logikal dengan user untuk memastikan bahwa model data tersebut telah menjadi representasi nyata dari kebutuhan data perusahaan. Setelah melakukan review dengan user, model data logical yang telah kami rancang telah sesuai dengan kebutuhan user. 3.3.2.6. Menggabungkan Model Data logikal ke Dalam Model Data Global (optional) Tahapan ini tidak dilakukan karena dalam perancangan ini hanya digunakan satu pandangan yang merepresentasikan model data lokal sehingga tidak perlu dilakukan penggabungan model data lokal, dengan demikian model data lokal yang ada akan langsung menjadi model data global.
178
3.3.2.7. Memeriksa Pertumbuhan di Masa Depan Tujuannya adalah untuk menentukan apakah ada perubahan signifikan yang memungkinkan di masa mendatang dan untuk menilai
apakah
model
data
logikal
dapat
mengakomodasi
perubahan. Setelah dilakukan analisis terhadap adanya kemungkinan terjadi perubahan yang signifikan di masa depan, ternyata ditemukan bahwa perubahan yang mungkin terjadi dalam lima tahun ke depan tidak terlalu signifikan dan tidak akan mempengaruhi model yang sudah dibuat. 3.3.2.8. Pemilihan Database Management System (DBMS) Tahapan ini dilakukan untuk memilih DBMS yang akan dipakai dalam mengelola basis data dari aplikasi ini. Berikut adalah perbandingan DBMS yang dilakukan untuk menentukan DBMS yang akan digunakan.
Tabel 3.12 : Perbandingan DBMS No 1
Karakter Skala penggunaan data
MySQL
Ms. Access
Oracle
Medium Medium
Large
data
data
data
2
Harga/lisensi
Gratis
Berbayar
Berbayar
3
Tipe data
Ada
Ada
Ada
4
Keamanan
Multi
Multi user
Multi
user 5
Foreign Key
Ada
user Ada
Ada
Berdasarkan perbandingan pada tabel diatas, aplikasi ini akan menggunakan DBMS MySQL dikarenakan skala penggunaan data yang cukup banyak dan harga lisensi gratis dengan kemanan multi user sehingga cukup untuk memenuhi kebutuhan sistem basis data yang akan dibuat.
179
3.3.3. Perancangan Basis Data Fisikal Perancangan basis data secara fisik merupakan proses yang menghasilkan deskripsi implementasi basis data pada penyimpanan sekunder yang menggambarkan struktur penyimapanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Langkah langkah dalam melakukan perancangan basis data fisikal akan dijabarkan dalam proses berikut : 3.3.3.1. Menerjemahkan Model Data Logikal Global untuk Target DBMS Langkah ini bertujuan untuk menghasilkan sebuah basisdata relasional dari model data logikal yang dapat diimplementasikan dalam
DBMS
pilihan.
Terdapat
beberapa
tahapan
dalam
menerjemahkan model data logikal untuk DBMS yang akan digunakan: a. Merancang relasi dasar b. Merancang representasi derived data c. Merancang general constraints.
a. Perancangan Relasi Dasar Langkah
ini
dilakukan
untuk
menentukan
cara
untuk
merepresentasikan relasi dasar yang telah teridentifikasi yang ada pada model data logikal ke dalam DBMS yang dituju. 1. Media ( KodeMedia NOT NULL, Nama NOT NULL, Keterangan NOT NULL, KodeStaff NOT NULL Primary Key (KodeMedia) Foreign Key(KodeStaff) references Admin(KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE);
180
2. CrewMedia ( KodeCrew NOT NULL, Nama NOT NULL, Alamat NOT NULL, Password NOT NULL, TanggalLahir NOT NULL, J_Kelamin NOT NULL, KodeMedia NOT NULL Primary Key(KodeCrew) Foreign Key(KodeMedia) references Media(KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE ); 3. Info ( KodeInfo NOT NULL, KodeCrew NOT NULL, JudulInfo NOT NULL, IsiInfo NOT NULL, Hari NOT NULL, Tanggal NOT NULL, Jam NOT NULL, KodeStaff NOT NULL Primary Key(KodeInfo) Foreign
Key(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key(KodeStaff) references Admin(KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE); 4. Pengiriman Video ( KodePengiriman NOT NULL, KodeCrew NOT NULL, KodeBayarRoyalti NOT NULL,
181
TanggalPengiriman NOT NULL, HariPengiriman NOT NULL, JamPengiriman NOT NULL Primary Key(KodePengiriman) Foreign
Key(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key(KodeBayarRoyalti) references PembayaranRoyalti(KodeBayarRoyalti) ON UPDATE CASCADE ON DELETE CASCADE ); 5. Pengambilan Video ( KodePengambilan NOT NULL, KodeVideo NOT NULL, KodeCrew NOT NULL, TanggalPengambilan NOT NULL, HariPengambilan NOT NULL, JamPengambilan NOT NULL Primary Key(KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE ); 6. Pembayaran Billing ( KodeBayarBilling NOT NULL, KodePengambilan NOT NULL, HargaVideo NOT NULL, JumlahAmbil NOT NULL, TotalBilling NOT NULL, TanggalBayarBilling NOT NULL,
182
KodeCrew NOT NULL, KodeStaff NOT NULL Primary Key (KodeBayarBilling) Foreign Key KodeCrew references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
(KodePengambilan)
PengambilanVideo
(KodePengambilan)
references ON
UPDATE
CASCADE ON DELETE CASCADE Foreign
Key
(KodeStaff)
references
StaffKeuangan(KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE ); 7. History Pengambilan ( KodeHistoryAmbil NOT NULL, KodePengambilan NOT NULL, KodeCrew NOT NULL, JumlahAmbil NOT NULL Primary Key (KodeHistoryAmbil) Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key (KodePengambilan) references PengambilanVideo (KodePengambilan) ON UPDATE CASCADE ON DELETE CASCADE ); 8. History Pengiriman ( KodeHistoryKirim NOT NULL, KodePengiriman NOT NULL, KodeCrew NOT NULL, JumlahUnduhan NOT NULL KodePengambilan NOT NULL
183
Primary Key (KodeHistoryKirim) Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
(KodePengiriman)
PengirimanVideo(KodePengiriman)
ON
references UPDATE
CASCADE ON DELETE CASCADE Foreign
Key
(KodePengambilan)
PengirimanVideo(KodePengambilan)
ON
references UPDATE
CASCADE ON DELETE CASCADE ); 9. KategoriVideo ( KodeKategori NOT NULL, NamaKategori NOT NULL, KodeVideo NOT NULL Primary Key (KodeKategori) Foreign Key (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE ); 10. Video ( KodeVideo NOT NULL, Judul NOT NULL, KodeKategori NOT NULL, Deskripsi NOT NULL, Pengirim NOT NULL, Hari NOT NULL, Tanggal NOT NULL, Jam NOT NULL, Path NOT NULL Primary Key KodeVideo );
184
11. DetailInfo ( KodeInfo NOT NULL, KodeCrew NOT NULL, Primary Key (KodeInfo, KodeCrew) ); 12. PembayaranRoyalti ( KodeBayarRoyalti NOT NULL, JumlahUnduhan NOT NULL, TotalRoyalti NOT NULL, TanggalBayarRoyalti NOT NULL, KodeStaff NOT NULL Primary Key (KodeBayarRoyalti) Foreign Key (KodeStaff) references StaffKeuangan (KodeStaff) ON UPDATE CASCADE ON DELETE CASCADE ); 13. Admin ( KodeStaff NOT NULL, Nama NOT NULL, Username NOT NULL, Password NOT NULL, Email NOT NULL Primary Key (KodeStaff) ); 14. DetailPengiriman ( KodePengiriman NOT NULL, KodeVideo NOT NULL, Komentar NOT NULL Primary Key (KodePengiriman, KodeVideo)
185
Foreign Key (KodePengiriman) references PengirimanVideo (KodePengiriman) ON UPDATE CASCADE ON DELETE CASCADE ForeignKey (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE); 15. DetailPengambilan ( KodePengambilan NOT NULL, KodeVideo NOT NULL, Komentar NOT NULL Primary Key (KodePengambilan, KodeVideo) Foreign
Key
PengambilanVideo
(KodePengambilan) (KodePengambilan)
references ON
UPDATE
CASCADE ON DELETE CASCADE ForeignKey (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE ); 16. PengirimPesan ( KodeCrew NOT NULL, KodePesan NOT NULL, Dari NOT NULL Primary Key (KodeCrew, KodePesan) Foreign Key (KodePesan) references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign Key (KodeCrew) references CrewMedia(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE); 17. PenerimaPesan ( KodeCrew NOT NULL, KodePesan NOT NULL, Untuk NOT NULL Primary Key (KodeCrew, KodePesan)
186
Foreign Key (KodePesan) references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE ); 18. CcPesan ( KodeCrew NOT NULL, KodePesan NOT NULL, Cc NOT NULL Primary Key (KodeCrew, KodePesan) Foreign Key (KodePesan) references Pesan(KodePesan) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE ); 19. Telpon ( NomorTelpon NOT NULL, KodeMedia NOT NULL Primary Key (NomorTelpon) Foreign Key (KodeMedia) references Media (KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE ); 20. IPAddress ( AlamatIP NOT NULL, KodeMedia NOT NULL Primary Key (AlamatIP) Foreign Key(KodeMedia) references Media(KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE );
187
21. Harga ( KodeHarga NOT NULL, HargaAmbil NOT NULL, HargaKirim NOT NULL Primary Key KodeHarga ); 22. Periode ( KodeHarga NOT NULL, KodeBayarRoyalti NOT NULL, KodeBayarBilling NOT NULL, Periode NOT NULL Primary Key (KodeHarga, KodeBayarRoyalti) Foreign Key (KodeHarga) references Harga(KodeHarga) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
PembayaranRoyalti
(KodeBayarRoyalti) (KodeBayarRoyalti)
references ON
UPDATE
CASCADE ON DELETE CASCADE Foreign
Key
PembayaranBilling
(KodeBayarBilling) (KodeBayarBilling)
references ON
UPDATE
CASCADE ON DELETE CASCADE ); 23. Daerah ( KodeDaerah NOT NULL, NamaDaerah NOT NULL, KodeMedia NOT NULL Primary Key (KodeDaerah) Foreign Key (KodeMedia) references Media (KodeMedia) ON UPDATE CASCADE ON DELETE CASCADE );
188
24. Posisi ( KodePosisi NOT NULL, Posisi NOT NULL, KodeCrew NOT NULL Primary Key (KodePosisi) Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE ); 25. Login ( KodeLogin NOT NULL, Login NOT NULL, Logout NOT NULL, Tanggal NOT NULL Primary Key (KodeLogin) Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE ); 26. Online ( KodeOnline NOT NULL, Username NOT NULL, Session NOT NULL, Time NOT NULL Primary Key KodeOnline Foreign
Key
(KodeCrew)
references
CrewMedia
(KodeCrew) ON UPDATE CASCADE ON DELETE CASCADE );
189
27. Size ( KodeSize NOT NULL, UkuranVideo NOT NULL, KodeVideo NOT NULL Primary Key (KodeSize) Foreign Key (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE ); 28. Type ( KodeType NOT NULL, FormatVideo NOT NULL, KodeVideo NOT NULL Primary Key (KodeType) Foreign Key (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE ); 29. TKP ( KodeTKP NOT NULL, KodeDaerah NOT NULL, KodeVideo NOT NULL Primary Key (KodeTKP) Foreign Key (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE ); 30. Komentar ( KodeKomentar NOT NULL, Komentar NOT NULL, KodeVideo NOT NULL Primary Key (KodeKomentar) Foreign Key (KodeVideo) references Video(KodeVideo) ON UPDATE CASCADE ON DELETE CASCADE );
190
31. StatusPembayaran ( KodeStatusBayar NOT NULL, StatusBayar NOT NULL Primary Key (KodeStatusBayar) Foreign
Key
(KodeHistoryAmbil)
references
HistoryPengambilan (KodeHistoryAmbil) ON UPDATE CASCADE ON DELETE CASCADE Foreign
Key
(KodeHistoryKirim)
references
HistoryPengiriman (KodeHistoryAmbil) ON UPDATE CASCADE ON DELETE CASCADE ); 32. Tanggapan ( KodeTanggapan NOT NULL, Tanggapan NOT NULL, KodeInfo NOT NULL Primary Key (KodeTanggapan) Foreign Key (KodeInfo) references Info(KodeInfo) ON UPDATE CASCADE ON DELETE CASCADE ); 33. Pesan ( KodePesan NOT NULL, JudulPesan NOT NULL, IsiPesan NOT NULL Primary Key KodePesan );
b. Merancang Representasi Derived Data Langkah
ini
bertujuan
untuk
mengetahui
cara
merepresentasikan derived data yang terdapat pada model data logikal kedalam DBMS yang dituju.
191
Adapun atribut yang mengandung derived data yaitu : • Atribut TotalBilling pada relasi PembayaranBilling diperoleh dengan cara mengalikan atribut HargaVideo dengan atribut JumlahAmbil (HargaVideo*JumlahAmbil). • Atribut TotalRoyalti pada relasi PembayaranRoyalti diperoleh dengan cara mengalikan atribut JumlahUnduhan dengan atribut HargaVideo (JumlahUnduhan*HargaVideo). c. Merancang General Constraint Langkah ini bertujuan untuk merancang batasan umum untuk DBMS yang dituju. Berikut adalah beberapa batasan umum yang terdapat dalam sistem : • Tanggal pembayaran billing tidak dapat kurang dari tanggal pengambilan video • Tanggal lahir tidak dapat melebihi tanggal yang tertera pada desktop komputer • Untuk melakukan pengambilan video, user wajib melakukan pengiriman video terlebih dahulu minimal 3 video.
3.3.3.2. Merancang Organisasi File dan Index Langkah ini bertujuan untuk menentukan
pilihan
organisasi file y ang optimal untuk menyimpan relasi dasar dan indeks yang diperlukan untuk mencapai performance yang diharapkan, yaitu dengan cara menyimpan berbagai relasi dan tuples pada media penyimpanan sekunder. a. Menganalisis Transaksi Analisis ini bertujuan untuk memahami fungsi dan transaksi
yang akan diterapkan pada basis data. Untuk
memudahkan menganalisis, maka akan digunakan tools berupa matrix refrensi silang transaksi/relasi atau transaction / relation cross refrences matrix.
192
Adapun transaksi-transaksi yang akan berjalan pada sistem yaitu : a. Melihat rincian data media/anak perusahaan Jawa Pos Group b. Melihat rincian data crew media c. Melihat rincian data video d. Mengidentifikasi jumlah video e. Melihat rincian data pengiriman video f. Melihat rincian data pengambilan video g. Melihat rincian data history pengiriman video dari masingmasing media h. Melihat rincian data history pengambilan video dari masingmasing media i. Melihat rincian data pembayaran royalti dari masing-masing media yang mengirimkan video j. Melihat rincian data pembayaran billing dari masing-masing media yang mengambil video k. Memasukkan data media baru l. Memasukkan data video baru m. Memasukkan data staff baru n. Memasukkan data crew media baru o. Mengubah data media p. Mengubah data crew media q. Mengubah data staff r. Mengubah data video s. Menghapus data media t. Menghapus data crew media u. Menghapus data staff v. Menghapus data video w. Menghapus data history pengiriman video x. Menghapus data history pengambilan video y. Mengirim Pesan z. Menerima Pesan
193
aa. Mengirimkan Informasi ab.Menerima Informasi
Tabel 3.13 : Analisa Transaksi Tabel/Relasi
A
B
C
D
I R U D I R U D I R U D I R U D
Media
X
CrewMedia
X
X
Info PengirimanVideo PengambilanVideo PembayaranBilling HistoryPengambilan HistoryPengiriman KategoriVideo
X
Video
X
DetailInfo PembayaranRoyalti Admin DetailPengiriman DetailPengambilan PengirimPesan PenerimaPesan CcPesan Telpon IPAddress Harga Periode Daerah Posisi
X
X
194
Login
X
Online
X
Size
X
Type
X
TKP
X
Komentar StatusPembayaran Tanggapan Pesan
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
E I
F
G
H
R U D I
R U D I
R U D I
R U D
X
X
X
X
Media CrewMedia Info PengirimanVideo
X
X
PengambilanVideo
X
PembayaranBilling
X
HistoryPengambilan
X
HistoryPengiriman
X
X
X
DetailInfo PembayaranRoyalti
X
Admin
X
DetailPengiriman
X
DetailPengambilan PengirimPesan PenerimaPesan
X X
KategoriVideo Video
X
X
X
195
CcPesan Telpon IPAddress Harga Periode Daerah Posisi Login Online Size Type TKP Komentar
X
X
StatusPembayaran
X
X
Tanggapan Pesan
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
I
J
I R U D I R U D I
Media CrewMedia
K
L
R U D I
X X
X
X
Info PengirimanVideo
X
PengambilanVideo
X
PembayaranBilling
X
HistoryPengambilan
X
HistoryPengiriman
X
KategoriVideo
X
Video
X
R U D
196
DetailInfo PembayaranRoyalti
X
Admin
X
X
X
DetailPengiriman DetailPengambilan PengirimPesan PenerimaPesan CcPesan Telpon
X
IPAddress
X
Harga
X
Periode Daerah
X
Posisi Login Online Size
X
Type
X
TKP
X
Komentar
X
StatusPembayaran Tanggapan Pesan
X X X
X X X
197
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
M I
N
R U D I
Media
O
P
R U D I R U D I R U D X
CrewMedia
X
X
Info PengirimanVideo PengambilanVideo PembayaranBilling HistoryPengambilan HistoryPengiriman KategoriVideo Video DetailInfo PembayaranRoyalti Admin
X
X
X
X
X
X
X
DetailPengiriman DetailPengambilan PengirimPesan PenerimaPesan CcPesan Telpon IPAddress
X
Harga Periode Daerah Posisi Login Online Size
X X
X
198
Type TKP Komentar StatusPembayaran Tanggapan Pesan
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
Q I
R
R U D I
S
R U D I
Media
T
R U D I X
CrewMedia
X
R U D X X
Info PengirimanVideo PengambilanVideo PembayaranBilling HistoryPengambilan HistoryPengiriman KategoriVideo
X
Video
X
DetailInfo PembayaranRoyalti Admin
X
X
X
X
Telpon
X
X
IPAddress
X
DetailPengiriman DetailPengambilan PengirimPesan PenerimaPesan CcPesan
199
Harga
X
Periode
X
Daerah
X
Posisi
X
Login Online Size
X
Type
X
TKP
X
Komentar
X
StatusPembayaran Tanggapan Pesan
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
U I
V
R U D I
W
R U D I
X
R U D I
R U D
Media CrewMedia
X
X
X
Info PengirimanVideo
X
PengambilanVideo
X
PembayaranBilling HistoryPengambilan
X
HistoryPengiriman
X
KategoriVideo
X
Video
X
DetailInfo PembayaranRoyalti Admin
X
200
DetailPengiriman DetailPengambilan PengirimPesan PenerimaPesan CcPesan Telpon IPAddress Harga
X
Periode
X
Daerah Posisi Login Online Size
X
Type
X
TKP
X
Komentar
X
StatusPembayaran Tanggapan Pesan
Tabel 3.13 : Analisa Transaksi (Lanjutan) Tabel/Relasi
Y I
Z
AA
R U D I R U D I
R U D I
AB R U D
Media CrewMedia Info PengirimanVideo PengambilanVideo PembayaranBilling
X X
X
X X
X
X
X
X
201
HistoryPengambilan HistoryPengiriman KategoriVideo Video DetailInfo PembayaranRoyalti Admin
X X
DetailPengiriman DetailPengambilan PengirimPesan
X
X
PenerimaPesan CcPesan
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X
X
X
X
Telpon IPAddress Harga Periode Daerah Posisi Login Online Size Type TKP Komentar StatusPembayaran Tanggapan Pesan
X X
X
X X X
X
Keterangan : I = Insert, R = Read, U = Update, D = Delete
202
b. Memilih Organisasi File DBMS yang digunakan dalam sistem ini adalah MySQL. Umumnya indeks dalam MySQL disimpan menggunakan B-Tree, tetapi dapat juga menggunakan Hash. Aplikasi basis data ini menggunakan Hash, dengan database
engine
yang
digunakan
yaitu
InnoDB
dengan
meletakkan data dan index pada lokasi yang sama sehingga proses pencarian data melalui index dapat dilakukan dengan cepat. c. Memilih Index Langkah
ini
dilakukan
untuk
mengetahui
proses
penambahan indeks yang akan meningkatkan performa sistem. Berikut adalah tabel 3.14 yang akan menjabarkan dengan lebih detail.
Tabel 3.14 : Memilih Indeks Tabel
Indeks
Nama Indeks
Media
KodeMedia
idx_KodeMedia
CrewMedia
KodeCrew
idx_KodeCrew
Info
KodeInfo
idx_KodeInfo
PengirimanVideo
KodePengiriman
idx_KodePengiriman
PengambilanVideo
KodePengambilan
idx_KodePengambilan
PembayaranBilling
KodeBayarBilling
idx_KodeBayarBilling
HistoryPengambilan KodeHistoryAmbil
idx_KodeHistoryAmbil
HistoryPengiriman
KodeHistoryKirim
idx_KodeHistoryKirim
KategoriVideo
KodeKategori
idx_KodeKategori
Video
KodeVideo
idx_KodeVideo
PembayaranRoyalti
KodeBayarRoyalti
idx_KodeBayarRoyalti
Daerah
KodeDaerah
idx_KodeDaerah
Posisi
KodePosisi
idx_KodePosisi
Login
KodeLogin
idx_KodeLogin
Online
KodeOnline
idx_KodeOnline
203
Type
KodeType
idx_KodeType
TKP
KodeTKP
idx_KodeTKP
Komentar
KodeKomentar
idx_KodeKomentar
StatusPembayaran
KodeStatusBayar
idx_KodeStatusBayar
Tanggapan
KodeTanggapan
idx_KodeTanggapan
Pesan
KodePesan
idx_KodePesan
d. Memperkirakan Kebutuhan Disk Space Langkah ini bertujuan untuk memperkirakan jumlah ruang disk yang akan dibutuhkan oleh database. Berikut adalah hasil perhitungan estimasi kebutuhan memory selama satu tahun dari setiap tabel. 1. Media Tabel 3.15 : Ukuran Tabel Media Field
Tipe Data
Ukuran
KodeMedia
Char (5)
5 bytes
Nama
Varchar (40)
41 bytes
Keterangan
Varchar (200)
201 bytes
KodeStaff
Char (5)
5 bytes
Kapasitas dari tabel media adalah 252 bytes Jumlah data media saat ini 110. Diperkirakan jumlah media dalam 1 tahun bertambah 5 media. Sehingga kebutuhan memory untuk tabel Media sebesar 115*252 bytes = 28.980 bytes. 2. CrewMedia Tabel 3.16 : Ukuran Tabel CrewMedia Field
Tipe Data
Ukuran
KodeCrew
Char (5)
5 bytes
Nama
Varchar (40)
41 bytes
Alamat
Varchar (100)
101 bytes
204
Password
Varchar (15)
16 bytes
TanggalLahir
Date
3 bytes
J_Kelamin
Boolean
1 bytes
KodeMedia
Char (5)
21 bytes
Kapasitas dari tabel CrewMedia adalah 188 bytes. Jumlah data CrewMedia saat ini sama dengan jumlah media yaitu 110 crew. Diperkirakan dalam 1 tahun jumlah Crew bertambah 2 kali lipat. Sehingga kebutuhan memory untuk tabel CrewMedia sebesar 220*188 bytes = 41.360 bytes. 3. Info Tabel 3.17 : Ukuran Tabel Info Field
Tipe Data
Ukuran
KodeInfo
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
JudulInfo
Varchar (200)
201 bytes
IsiInfo
Text
600 bytes
Hari
Varchar (8)
9 bytes
Tanggal
Date
3 bytes
Jam
Date
3 bytes
KodeStaff
Char (5)
5 bytes
Kapasitas dari tabel Info adalah 831 bytes. Diperkirakan selama 1 tahun terdapat 365 informasi dengan asumsi setiap hari minimal terdapat 1 informasi. Sehingga kebutuhan memory untuk tabel Info sebesar 365*831 bytes = 303.315 bytes.
205
4. Pengiriman Video
Tabel 3.18 : Ukuran Tabel Pengiriman Video Field
Tipe Data
Ukuran
KodePengiriman
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
KodeBayarRoyalti
Char (5)
5 bytes
TanggalPengiriman Date
3 bytes
HariPengiriman
Varchar (8)
9 bytes
JamPengiriman
Date
3 bytes
Kapasitas dari tabel Pengiriman Video adalah 30 bytes. Diperkirakan selama 1 tahun terdapat 125.925 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar 125.925*30 bytes = 3.777.750 bytes. 5. Pengambilan Video
Tabel 3.19 : Ukuran Pengambilan Video Field
Tipe Data
Ukuran
KodePengambilan
Char (5)
5 bytes
KodeVideo
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
TanggalPengambilan Date
3 bytes
HariPengambilan
Varchar (8)
9 bytes
JamPengambilan
Date
3 bytes
206
Kapasitas dari tabel Pengiriman Video adalah 30 bytes. Diperkirakan selama 1 tahun terdapat 83.950 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video sebanyak 2 video setiap hari dengan perhitungan 115*365*2 = 83.950 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar 83.950*30 bytes = 2.518.500 bytes. 6. PembayaranBilling
Tabel 3.20 : Ukuran Tabel Billing Field
Tipe Data
Ukuran
KodeBayarBilling
Char (5)
5 bytes
KodePengambilan
Char (5)
5 bytes
HargaVideo
Varchar (6)
7 bytes
JumlahAmbil
Int(11)
44 bytes
TotalBilling
BigInt (20)
160 bytes
TanggalBayarBilling Date
3 bytes
KodeCrew
Char (5)
5 bytes
KodeStaff
Char (5)
5 bytes
Kapasitas dari tabel PembayaranBilling adalah 234 bytes. Diperkirakan selama 1 tahun terdapat 83.950 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video sebanyak 2 video setiap hari dengan perhitungan 115*365*2 = 83.950 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar 83.950*234 bytes = 19.644.300 bytes.
207
7. HistoryPengambilan
Tabel 3.21 : Ukuran Tabel History Pengambilan Field
Tipe Data
Ukuran
KodeHistoryAmbil Char (6)
6 bytes
KodePengambilan
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
JumlahAmbil
Int
4 bytes
Kapasitas dari tabel HistoryPengambilan adalah 20 bytes. Diperkirakan selama 1 tahun terdapat 83.950 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video sebanyak 2 video setiap hari dengan perhitungan 115*365*2 = 83.950 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar 83.950*20 bytes = 1.679.000 bytes. 8. HistoryPengiriman
Tabel 3.22 : Ukuran Tabel History Pengiriman Field
Tipe Data
Ukuran
KodeHistorykirim
Char (6)
6 bytes
KodePengiriman
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
JumlahUnduhan
Int
4 bytes
KodePengambilan
Char (5)
5 bytes
Kapasitas dari tabel HistoryPengiriman adalah 25 bytes. Diperkirakan selama 1 tahun terdapat 83.950 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video sebanyak 2 video setiap hari dengan perhitungan 115*365*2 = 83.950 kali. Sehingga total
208
kebutuhan memory untuk tabel pengiriman video yaitu sebesar 83.950*25 bytes = 2.098.750 bytes. 9. KategoriVideo
Tabel 3.23 : Ukuran Tabel Kategori Video Field
Tipe Data
Ukuran
KodeKategori
Char (6)
6 bytes
NamaKategori
Varchar (20)
21 bytes
KodeVideo
Char (5)
5 bytes
Kapasitas dari tabel Kategori Video adalah 32 bytes. Diperkirakan selama 1 tahun terdapat 10 jenis kategori, sehingga total kebutuhan memory dari tabel Kategori Video yaitu sebesar 10*32 bytes = 320 bytes. 10. Video
Tabel 3.24 : Ukuran Tabel Video Field
Tipe Data
Ukuran
KodeVideo
Char (5)
5 bytes
Judul
Varchar (200)
201 bytes
KodeKategori
Char (6)
6 bytes
Deskripsi
Text
600 bytes
Pengirim
Varchar (40)
41 bytes
Hari
Varchar (8)
9 bytes
Tanggal
Date
3 bytes
Jam
Date
3 bytes
Path
Varchar(500)
501
209
Kapasitas dari tabel video adalah 1.369 bytes. Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel video yaitu sebesar
125.925*1.369 bytes =
172.391.325 bytes. 11. DetailInfo
Tabel 3.25 : Ukuran Tabel DetailInfo Field
Tipe Data
Ukuran
KodeInfo
Char (5)
5 bytes
KodeCrew
Char (5)
5 bytes
Kapasitas dari tabel DetailInfo adalah 10 bytes. Diperkirakan selama 1 tahun terdapat 365 informasi dengan asumsi setiap hari minimal terdapat 1 informasi. Sehingga kebutuhan memory untuk tabel DetailInfo sebesar 365*10 bytes = 3.650 bytes. 12. PembayaranRoyalti
Tabel 3.26 : Ukuran Tabel Pembayaran Royalti Field
Tipe Data
Ukuran
KodeBayarRoyalti
Char (5)
5 bytes
JumlahUnduhan
Int (11)
44 bytes
TotalRoyalti
Bigint (20)
160 bytes
TanggalBayarRoyalti Date
3 bytes
KodeStaff
5 bytes
Char (5)
210
Kapasitas dari tabel pembayaran royalti adalah 217 bytes. Diperkirakan selama 1 tahun terdapat 125.925 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar
125.925*217 bytes =
27.325.725 bytes. 13. Admin
Tabel 3.27 : Ukuran Tabel Admin Field
Tipe Data
Ukuran
KodeStaff
Char (5)
5 bytes
Nama
Varchar (40)
41 bytes
Username
Varchar (35)
36 bytes
Password
Varchar (15)
16 bytes
Email
Varchar (50)
51 bytes
Kapasitas dari tabel Admin adalah 149 bytes. 14. DetailPengiriman
Tabel 3.28 : Ukuran Tabel Detail Pengiriman Field
Tipe Data
Ukuran
KodePengiriman
Char (5)
5 bytes
KodeVideo
Char (5)
5 bytes
Komentar
Text
600 bytes
Kapasitas dari tabel DetailPengiriman adalah 610 bytes. Diperkirakan selama 1 tahun terdapat 125.925 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi
211
pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar
125.925*610 bytes =
76.814.250 bytes. 15. DetailPengambilan
Tabel 3.29 : Ukuran Tabel Detail Pengambilan Field
Tipe Data
Ukuran
KodePengambilan Char (5)
5 bytes
KodeVideo
Char (5)
5 bytes
Komentar
Text
600 bytes
Kapasitas dari tabel DetailPengambilan adalah 610 bytes. Diperkirakan selama 1 tahun terdapat 83.950 kali transaksi dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video sebanyak 2 video setiap hari dengan perhitungan 115*365*2 = 83.950 kali. Sehingga total kebutuhan memory untuk tabel pengiriman video yaitu sebesar 83.950*610 bytes = 51.209.500 bytes. 16. PengirimPesan
Tabel 3.30 : Ukuran Tabel Pengirim Pesan Field
Tipe Data
Ukuran
KodeCrew
Char (5)
5 bytes
KodePesan
Char (5)
5 bytes
Dari
Varchar (100)
101 bytes
Kapasitas dari tabel pengirim pesan adalah 111 bytes.
212
Diperkirakan selama 1 tahun terdapat 419.750 transaksi pengiriman pesan dengan asumsi masing-masing anak perusahaan melakukan pengiriman pesan sebanyak 10 kali perhari dengan perhitungan 115*10*365 = 419.750 transaksi. Sehingga total kebutuhan memory yaitu sebesar 419.750*111 bytes = 46.592.250 bytes. 17. PenerimaPesan
Tabel 3.31 : Ukuran Tabel Penerima Pesan Field
Tipe Data
Ukuran
KodeCrew
Char (5)
5 bytes
KodePesan
Char (20)
5 bytes
Untuk
Varchar (100)
101 bytes
Kapasitas dari tabel penerima pesan adalah 111 bytes. Diperkirakan selama 1 tahun terdapat 419.750 transaksi penerimaan pesan dengan asumsi masing-masing anak perusahaan melakukan pengiriman pesan sebanyak 10 kali perhari dengan perhitungan 115*10*365 = 419.750 transaksi. Sehingga total kebutuhan memory yaitu sebesar 419.750*111 bytes = 46.592.250 bytes. 18. CcPesan
Tabel 3.32 : Ukuran Tabel CcPesan Field
Tipe Data
Ukuran
KodeCrew
Char (5)
5 bytes
KodePesan
Char (5)
5 bytes
Cc
Varchar (100)
101 bytes
213
Kapasitas dari tabel cc pesan adalah 111 bytes. Diperkirakan selama 1 tahun terdapat 419.750 transaksi cc pesan dengan asumsi masing-masing anak perusahaan melakukan pengiriman pesan sebanyak 10 kali perhari dengan perhitungan 115*10*365 = 419.750 transaksi. Sehingga total kebutuhan memory yaitu sebesar 419.750*111 bytes = 46.592.250 bytes. 19. Telpon
Tabel 3.33 : Ukuran Tabel Telpon Field
Tipe Data
Ukuran
NomorTelpon
Varchar (20)
21 bytes
KodeMedia
Char (5)
5 bytes
Kapasitas dari tabel telpon adalah 26 bytes. Diperkirakan selama 1 tahun terdapat 230 nomor telpon dengan asumsi setiap crew media memiliki 2 nomor telpon sehingga total kebutuhan memory yaitu sebesar 230*26 bytes = 5.980 bytes. 20. IPAddress
Tabel 3.34 : Ukuran Tabel IPAddress Field
Tipe Data
Ukuran
AlamatIP
Varchar (15)
16 bytes
KodeMedia
Char (5)
5 bytes
Kapasitas dari tabel IPAdress adalah 21 bytes. Diperkirakan selama 1 tahun terdapat 230 IP Address dengan asumsi setiap media memiliki 2 IP Address sehingga total kebutuhan memory yaitu sebesar 230*21 bytes = 4.830 bytes.
214
21. Harga
Tabel 3.35 : Ukuran Tabel Harga Field
Tipe Data
Ukuran
KodeHarga
Char (5)
5 bytes
HargaAmbil
Varchar (6)
7 bytes
HargaKirim
Varchar (6)
7 bytes
Kapasitas dari tabel Harga adalah 19 bytes. 22. Periode
Tabel 3.36 : Ukuran Tabel Periode Field
Tipe Data
Ukuran
KodeHarga
Char (5)
5 bytes
KodeBayarRoyalti Char (5)
5 bytes
KodeBayarBilling
Varchar (5)
5 bytes
Periode
Varchar (50)
51 bytes
Kapasitas dari tabel Periode adalah 66 bytes. Diperkirakan selama 1 tahun terdapat 52 periode perubahan harga dengan asumsi setiap 1 minggu ada penambahan periode harga. Sehingga kebutuhan memory yaitu sebesar 52*66 bytes = 3.432 bytes. 23. Daerah
Tabel 3.37 : Ukuran Tabel Daerah Field
Tipe Data
Ukuran
KodeDaerah
Char (5)
5 bytes
NamaDaerah
Varchar (100)
101 bytes
KodeMedia
Char (5)
5 bytes
215
Kapasitas dari tabel Daerah adalah 111 bytes. Indonesia memiliki 33 provinsi/daerah sehingga kebutuhan memory yaitu sebesar 33*111 bytes = 3.663 bytes. 24. Posisi
Tabel 3.38 : Ukuran Tabel Posisi Field
Tipe Data
Ukuran
KodePosisi
Char (5)
5 bytes
Posisi
Varchar (20)
21 bytes
KodeCrew
Char (5)
5 bytes
Kapasitas dari tabel Posisi adalah 31 bytes. JPNN memiliki 17 posisi dalam struktur organisasi, sehingga kebutuhan memory yaitu sebesar 17*31 bytes = 527 bytes. 25. Login
Tabel 3.39 : Ukuran Tabel Login Field
Tipe Data
Ukuran
KodeLogin
Char (5)
5 bytes
Login
Varchar (15)
16 bytes
Logout
Varchar (15)
16 bytes
Tanggal
Date
3 bytes
Kapasitas dari tabel Login adalah 40 bytes. Diperkirakan dalam 1 tahun masing-masing anak perusahaan mengakses sebanyak 10 kali perhari dengan perhitungan 115*10*365 = 419.750 kali transaksi login yang terjadi sehingga memory yang dibutuhkan yaitu 419.750*40 bytes = 16.790.000 bytes.
216
26. Online
Tabel 3.40 : Ukuran Tabel Online Field
Tipe Data
Ukuran
KodeOnline
Char (5)
5 bytes
Username
Varchar (35)
36 bytes
Session
Varchar (15)
16 bytes
Time
Date
3 bytes
Kapasitas dari tabel Online adalah 60 bytes. Diperkirakan dalam 1 tahun masing-masing anak perusahaan mengakses sebanyak 10 kali perhari dengan perhitungan 115*10*365 = 419.750 kali transaksi online yang terjadi sehingga memory yang dibutuhkan yaitu 419.750*68 bytes = 25.185.000 bytes. 27. Size
Tabel 3.41 : Ukuran Tabel Size Field
Tipe Data
Ukuran
KodeSize
Char (5)
5 bytes
UkuranVideo
Varchar (60)
61 bytes
KodeVideo
Char (5)
5 bytes
Kapasitas dari tabel Size adalah 71 bytes. Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory
217
untuk tabel video yaitu sebesar 125.925*71 bytes = 8.940.675 bytes.
28. Type
Tabel 3.42 : Ukuran Tabel Type Field
Tipe Data
Ukuran
KodeType
Char (5)
5 bytes
FormatVideo
Varchar (60)
61 bytes
KodeVideo
Char (5)
5 bytes
Kapasitas dari tabel Type adalah 71 bytes. Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel video yaitu sebesar 125.925*71 bytes = 8.940.675 bytes. 29. TKP
Tabel 3.43 : Ukuran Tabel TKP Field
Tipe Data
Ukuran
KodeTKP
Char (5)
5 bytes
KodeDaerah
Char (5)
5 bytes
KodeVideo
Char (5)
5 bytes
Kapasitas dari tabel Type adalah 15 bytes. Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan
218
transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel video yaitu sebesar 125.925*15 bytes = 1.888.875 bytes. 30. Komentar
Tabel 3.44 : Ukuran Tabel Komentar Field
Tipe Data
Ukuran
KodeKomentar
Char (5)
5 bytes
Komentar
Text
600 bytes
KodeVideo
Char (5)
5 bytes
Kapasitas dari tabel Type adalah 610 bytes. Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel video yaitu sebesar
125.925*610 bytes =
76.814.250 bytes. 31. StatusPembayaran
Tabel 3.45 : Ukuran Tabel Status Pembayaran Field
Tipe Data
Ukuran
KodeStatusBayar
Char (5)
5 bytes
StatusBayar
Boolean
1 bytes
Kapasitas dari tabel Type adalah 6 bytes.
219
Diperkirakan selama 1 tahun terdapat 125.925 video yang dikirim dengan asumsi setiap anak perusahaan melakukan transaksi pengambilan video setiap hari dimana sebelum mengambil video masing-masing anak perusahaan wajib mengirimkan video minimal 3 kali dengan perhitungan 115*365*3 = 125.925 kali. Sehingga total kebutuhan memory untuk tabel video yaitu sebesar 125.925*6 bytes = 755.550 bytes. 32. Tanggapan
Tabel 3.46 : Ukuran Tabel Tanggapan Field
Tipe Data
Ukuran
KodeTanggapan
Char (5)
5 bytes
Tanggapan
Text
600 bytes
KodeInfo
Char (5)
5 bytes
Kapasitas dari tabel tanggapan adalah 610 bytes. Diperkirakan selama 1 tahun terdapat 365 informasi dengan asumsi setiap hari terdapat 2 tanggapan dari setiap informasi. Sehingga kebutuhan memory untuk tabel Info sebesar 365*2*610 bytes = 445.300 bytes. 33. Pesan
Tabel 3.47 : Ukuran Tabel Pesan Field
Tipe Data
Ukuran
KodePesan
Char (5)
5 bytes
JudulPesan
Text
300 bytes
IsiPesan
Text
600 bytes
220
Kapasitas dari tabel pesan adalah 905 bytes. Diperkirakan selama 1 tahun terdapat 419.750 transaksi pesan dengan asumsi masing-masing anak perusahaan melakukan pengiriman
pesan
sebanyak
10
kali
perhari
dengan
perhitungan 115*10*365 = 419.750 transaksi. Sehingga total kebutuhan memory yaitu sebesar 419.750*905 bytes = 379.873.750 bytes. Total
estimasi
kebutuhan
disk
space
yang
dibutuhkan dalam waktu satu tahun dapat dilihat pada tabel 3.48 sebagai berikut.
Tabel 3.48 : Total estimasi kebutuhan memory Tabel
Kapasitas
yang
dalam waktu 1 tahun Media
28.980 bytes.
CrewMedia
41.360 bytes.
Info
303.315 bytes.
PengirimanVideo
3.777.750 bytes.
PengambilanVideo
2.518.500 bytes.
PembayaranBilling
19.644.300 bytes.
HistoryPengambilan
1.679.000 bytes.
HistoryPengiriman
2.098.750 bytes.
KategoriVideo
320 bytes.
Video
172.391.325 bytes.
DetailInfo
3.650 bytes.
PembayaranRoyalti
27.325.725 bytes.
Admin
149 bytes.
DetailPengiriman
76.814.250 bytes.
DetailPengambilan
51.209.500 bytes.
PengirimPesan
46.592.250 bytes.
dibutuhkan
221
PenerimaPesan
46.592.250 bytes.
CcPesan
46.592.250 bytes.
Telpon
5.980 bytes.
IPAddress
4.830 bytes
Harga
19 bytes.
Periode
3.432 bytes.
Daerah
3.663 bytes.
Posisi
527 bytes.
Login
16.790.000 bytes.
Online
25.185.000 bytes.
Size
8.940.675 bytes.
Type
8.940.675 bytes.
TKP
1.888.875 bytes.
Komentar
76.814.250 bytes.
StatusPembayaran
755.550 bytes.
Tanggapan
445.300 bytes.
Pesan
379.873.750 bytes.
Total memory yang
1.017.266.150 bytes
dibutuhkan
= 1.120.760,78 KB = 1094,5 MB = 1,06 GB
Total memory yang dibutuhkan untuk 5 tahun kedepan
(1,06*5) GB = 5,34 GB
222
3.3.3.3. Merancang User Views Langkah ini bertujuan untuk merancang user views yang telah diperoleh pada tahap pengumpulan kebutuhan informasi dan analisa pada siklus pengembangan sistem basis data. Berikut adalah beberapa contoh user view yang ada pada sistem : CREATE VIEW PesanMasuk AS SELECT Nama, JudulPesan, IsiPesan FROM Pesan a, Media b, PenerimaPesan c, CrewMedia d WHERE a.KodePesan = c.KodePesan AND c.KodeCrew = d.KodeCrew AND d.KodeMedia = b.KodeMedia
CREATE VIEW Informasi AS SELECT Nama, JudulInfo, IsiInfo FROM Info a, Media b, CrewMedia c WHERE a.KodeCrew = c.KodeCrew AND c.KodeMedia = b.KodeMedia
CREATE VIEW Arsip AS SELECT Tanggal, Jam, Judul, Nama FROM Video a, Media b, PengambilanVideo c, DetailPengambilan d, CrewMedia e WHERE a.KodeVideo = d.KodeVideo AND d.KodePengambilan = c.KodePengambilan AND c.KodeCrew = e.KodeCrew AND e.KodeMedia = b.KodeMedia
CREATE VIEW DaftarMedia AS SELECT KodeMedia, Nama, NamaDaerah, IPAddress FROM Media a, Daerah b, IPAddress c WHERE a.KodeMedia = b.KodeMedia
223
AND a.KodeMedia = c.KodeMedia CREATE VIEW DaftarUser AS SELECT Username, Nama FROM CrewMedia a, Media b WHERE a.KodeMedia = b.KodeMedia
CREATE VIEW DaftarAdmin AS SELECT Username, Nama FROM Admin
CREATE VIEW DaftarAmbil AS SELECT KodeMedia, Nama, NamaDaerah, JumlahAmbil, JumlahKirim, Biaya = HargaAmbil*JumlahAmbil FROM Media a, Daerah b, HistoryPengambilan c, HistoryPengiriman d, Harga e, CrewMedia f, PembayaranBilling g, Periode h, Harga i, PengambilanVideo j WHERE a.KodeMedia = b.KodeMedia AND a.KodeMedia = f.kodeMedia AND f.KodeCrew = c.KodeCrew AND f.KodeCrew = d.KodeCrew AND c.KodePengambilan = j.kodePengambilan AND g.KodePengambilan = j.KodePengambilan AND g.KodeBayarBilling = h.KodeBayarBilling AND h.KodeHarga = i.KodeHarga
CREATE VIEW DaftarKirim AS SELECT KodeMedia, Nama, NamaDaerah, JumlahKirim FROM Media a, Daerah b, HistoryPengiriman c, CrewMedia d WHERE a.KodeMedia = b.KodeMedia AND a.KodeMedia = d.kodeMedia AND d.KodeCrew = c.KodeCrew
224
3.3.3.4. Merancang Mekanisme Keamanan Langkah ini bertujuan untuk merancang mekanisme keamanan untuk database seperti yang diinginkan oleh user. Adapun mekanisme keamanan yang telah dirancang dapat dilihat pada Tabel 3.49.
Tabel 3.49 : Mekanisme Keamanan User Relasi
CrewMedia
StaffKeuangan
I
I
R
U
D
I
X
X
X
X
X X X X
X
X
X
X
X X X X
X X
X
X
X X
R U D
Media CrewMedia
X X
Info
X
Admin R U D
X
PengirimanVideo
X X X
X
X
PengambilanVideo
X X X
X
X
PembayaranBilling
X X
HistoryPengambilan
X X
X
X
HistoryPengiriman
X X
X
X
KategoriVideo
X X
X
X
X
X
X X X X
Video
X X
X
X
X
X
X X X X
X
X X
X
X
X X
X X
X
X
X
X
X X X X
X
X
X
X
X
X X X X
DetailInfo PembayaranRoyalti Admin
X
X
X
X
X X X X
DetailPengiriman
X X X
X
X
DetailPengambilan
X X X
X
X
PengirimPesan
X X
PenerimaPesan
X
X
X X
X
X
X X
X
X
X
X
X
X
X
X X
X
CcPesan
X X
X X
X
Telpon
X X X X X
X
X
X
X X X X
IPAddress
X
X
X
X
X
X X X X
Harga
X
X
X
X
X
X X X X
225
Periode
X
X
X
X
X
X X X X
Daerah
X
X
X
X
X
X X X X
Posisi
X
X
X
X
X
X X X X
Login
X
X
X
X
X
X X X X
Online
X X
X
X
Size
X X
X
X
Type
X X
X
X
TKP
X X X
X
X
Komentar
X X X X X
X
X
X
X X X X
StatusPembayaran
X X
X
X
X
X
X X X X
Tanggapan
X X X X X
X
X
X
X X X X
Pesan
X X X X X
X
X
X
X X X X
3.3.3.5. Mempertimbangkan Pengenalan dari Kontrol Redundansi Pada perancangan yang dibuat tidak ditemukan data redundansi, sehingga tidak diperlukan petunjuk redundansi. 3.3.3.6. Mengawasi dan Menyesuaikan Sistem Operasional Tahapan ini belum dilakukan dikarenakan sistem informasi pertukaran video berbasis web belum diimplementasikan pada PT. Jawa Pos National Network (JPNN).
226
3.4. Perancangan Aplikasi 3.4.1. Struktur Modul Program Bagian ini menjelaskan mengenai susunan menu yang ada pada rancangan aplikasi yang akan digunakan. Berikut adalah rancangan menu pada aplikasi dari beberapa tampilan user.
Gambar 3.53 : Struktur Menu Crew
Gambar 3.53 diatas merupakan rancangan struktur menu yang dimiliki oleh Crew Media, ketika Crew Media melakukan login maka akan memiliki menu-menu seperti yang ada pada gambar.
227
Gambar 3.54 : Struktur Menu Admin dan Staff Keuangan
Gambar 3.54 diatas merupakan rancangan struktur menu dari tampilan admin yang merupakan aplikasi backend dari sistem ini. Aplikasi backend ini hanya dapat diakses oleh admin dan staff keuangan untuk mengelola semua yang ada pada sistem seperti mendaftarkan dan mengelola user, mengelola video, mengelola proses pembayaran billing dari pengambilan video yang dilakukan oleh masing-masing anak perusahaan maupun proses pembayaran royalti untuk anak perusahaan yang telah mengirimkan videonya kemudian dilihat berdasarkan jumlah unduhan dari video yang dikirim tersebut, dan fitur lainnya sehingga menu-menu diatas hanya dapat digunakan oleh admin dan staff keuangan.
228
3.4.2. Perancangan Layar Perancangan layar antar muka pengguna terdiri atas perancangan layar masukan (input) dan perancangan layar keluaran (output). 3.4.2.1. Perancangan Input/Forms Perancangan input merupakan perancangan layar tampilan yang akan menjadi layar form untuk memasukkan data ke dalam basis data dari aplikasi ini. a. Perancangan Input untuk Crew Media Berikut adalah rancangan layar input untuk pengguna dengan posisi sebagai crew media :
Gambar 3.55 : Layar login pengguna (crew media)
229
Gambar 3.56 : Layar input untuk mengirim pesan
230
Gambar 3.57 : Layar input untuk broadcast informasi
231
Gambar 3.58 : Layar input untuk pengiriman video
Gambar 3.59 : Layar input untuk arsip video
232
Gambar 3.60 : Layar input untuk pencarian video
Gambar 3.61 : Layar input untuk statistik pertukaran video
233
b. Perancangan Input untuk Admin dan Staff Keuangan
Gambar 3.62 : Layar input login Admin
Gambar 3.63 : Layar input untuk edit Admin
234
Gambar 3.64 : Layar input untuk Tambah Media
Gambar 3.65 : Layar input untuk edit Media
235
Gambar 3.66 : Layar input untuk tambah IP Address media
Gambar 3.67 : Layar input untuk edit informasi
236
Gambar 3.68 : Layar input untuk tambah user
Gambar 3.69 : Layar input untuk edit user
237
Gambar 3.70 : Layar input view laporan pengambilan video
Gambar 3.71 : Layar input untuk view laporan pengiriman video
238
Gambar 3.72 : Layar input untuk pencarian arsip video
Gambar 3.73 : Layar input untuk pencarian video
239
3.4.2.2. Perancangan Output/Reports a. Perancangan Output untuk Crew Media
Gambar 3.74 : Layar output untuk informasi masuk
Gambar 3.75 : Layar output untuk pesan masuk
240
Gambar 3.76 : Layar Output untuk pengambilan video
241
Gambar 3.77 : Layar output untuk hasil pencarian arsip
Gambar 3.78 : Layar output untuk hasil pencarian video
242
Gambar 3.79 : Layar output hasil statistik pertukaran video
243
b. Perancangan Output untuk Admin dan Staff Keuangan
Gambar 3.80 : Layar output untuk daftar media
244
Gambar 3.81 : Layar output untuk daftar video
Gambar 3.82 : Layar output untuk daftar informasi
245
Gambar 3.83 : Layar output untuk daftar user
Gambar 3.84 : Layar output untuk laporan pengambilan video
246
Gambar 3.85 : Layar output untuk laporan pengiriman video
3.4.3. State Transition Diagram 1. Halaman pada aplikasi user (crew media) a. Halaman indeks
Gambar 3.86 : STD halaman indeks
247
b. Halaman home
Gambar 3.87 : STD halaman home c. Halaman pesan
Gambar 3.88 : STD halaman pesan
248
d. Halaman informasi
Gambar 3.89 : STD halaman informasi e. Halaman ambil video
Gambar 3.90 : STD halaman ambil video
249
f. Halaman arsip video
Gambar 3.91 : STD halaman arsip video g. Halaman cari video
Gambar 3.92 : STD halaman cari video
250
h. Halaman statistik video
Gambar 3.93 : STD halaman statistic video
2. Halaman pada aplikasi back end (admin dan staff keuangan) a. Halaman indeks
Gambar 3.94 : STD halaman indeks (admin)
251
b. Halaman home
Gambar 3.95 : STD halaman home (admin)
c. Halaman admin
Gambar 3.96 : STD halaman admin
252
d. Halaman media
Gambar 3.97 : STD halaman media
e. Halaman video
Gambar 3.98 : STD halaman video
253
f. Halaman info
Gambar 3.99 : STD halaman info
g. Halaman user
Gambar 3.100 : STD halaman user
254
h. Halaman ambil
Gambar 3.101 : STD halaman ambil
i. Halaman kirim
Gambar 3.102 : STD halaman kirim
255
j. Halaman arsip
Gambar 3.103 : STD halaman arsip (admin)
k. Halaman cari
Gambar 3.104 : STD halaman pencarian (admin)
256
3.4.4. Spesifikasi Proses/Modul Program Berikut adalah pseudocode yang menjelaskan proses dari sistem basis data pertukaran video berbasis web yang terbagi dalam modul-modul yaitu : 1. Halaman pada aplikasi user (crew media) a. Halaman indeks Mulai Tampilkan halaman indeks Masukkan username dan kata sandi Jika tombol “masuk” ditekan Maka periksa basis data Jika IDPengguna dan kata sandi valid Maka buat session tampilkan halaman home Selain itu tampilkan pesan error pada halaman indeks Akhir jika Akhir jika Selesai b. Halaman home Mulai Tampilkan menu utama Jika menu “home” dipilih Maka tampilkan halaman home Akhir jika Jika menu “pesan” dipilih Maka tampilkan halaman pesan Akhir jika Jika menu “informasi” dipilih Maka tampilkan halaman informasi Akhir jika
257
Jika menu “kirim video” dipilih Maka tampilkan halaman kirim video Akhir jika Jika menu “ambil video” dipilih Maka tampilkan ambil video Akhir jika Jika menu “arsip” dipilih Maka tampilkan halaman arsip Akhir jika Jika menu “cari” dipilih Maka tampilkan halaman cari Akhir jika Jika menu “stat” dipilih Maka tampilkan halaman stat Akhir jika Jika menu logout dipilih Maka keluar dari program dan kembali ke indeks Akhir jika Selesai c. Halaman pesan Mulai Tampilkan list pesan masuk Jika pesan masuk dipilih Tampilkan menu balas Tampilkan menu hapus Jika menu balas dipilih Tampilkan menu kirim balasan Kirim Isi balasan Akhir jika Jika menu hapus dipilih Hapus pesan
258
Akhir jika Akhir jika Tampilkan list pesan keluar Jika pesan keluar dipilih Tampilkan isi pesan Akhir jika Tampilkan menu kirim pesan baru Jika menu kirim pesan baru dipilih Kirim pesan baru Akhir jika Selesai d. Halaman informasi Mulai Tampilkan list informasi masuk Jika info masuk dipilih Tampilkan form tanggapan kirim tanggapan Akhir jika Tampilkan menu kirim informasi baru Jika menu kirim informasi baru dipilih Kirim informasi Akhir jika Selesai e. Halaman kirim video Mulai Tampilkan form pengiriman video Jika username = ‘jawapos’ Tampilkan menu pilih kategori Akhir jika Jika judul dan video sudah diisi Jika video terkait demi Indonesia
259
Kirim video ke kumpulan video demi Indonesia Akhir jika Kirim video Update jumlah data pengiriman video Akhir jika Selain itu Tampilkan pesan error ‘data belum lengkap’ Selesai f. Halaman ambil video Mulai Tampilkan list video terbaru Jika video terbaru dipilih Putar video Akhir jika Jika menu download video terbaru dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Tampilkan list video terpopuler dan jumlah download Jika video terpopuler dipilih Putar video Akhir jika Jika menu download video terpopuler dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Tampilkan menu news jawapos Jika menu news jawapos dipilih Tampilkan pilihan kategori
260
Jika pilihan kategori dipilih Tampilkan list video Jika video dipilih Putar video Akhir jika Jika menu download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Akhir jika Tampilkan list media Jika menu media dipilih Tampilkan list video terbaru Jika video terbaru dipilih Putar video Akhir jika Jika menu download video terbaru dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Tampilkan list video terpopuler dan jumlah download Jika video terpopuler dipilih Putar video Akhir jika Jika menu download video terpopuler dipilih Download video Update jumlah download Update jumlah data pengambilan video
261
Akhir jika Akhir jika Jika menu demi Indonesia dipilih Tampilkan list video Jika video dipilih Putar video Akhir jika Jika menu download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Selesai
g. Halaman arsip Mulai Tampilkan menu pencarian arsip media Jika tombol tampilkan video diklik Jika tanggal diisi dan media tidak dipilih Cari video berdasarkan tanggal Tampilkan list video berdasarkan tanggal Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Jika nama media diisi dan tanggal diisi
262
Cari video berdasarkan tanggal dan media Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Akhir jika Selesai h. Halaman pencarian Mulai Tampilkan form pencarian berdasarkan judul dan isi Jika judul atau isi dipilih
Jika judul diisi Cari video berdasarkan judul Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Jika isi di masukkan Cari video berdasarkan isi Tampilkan list video Tampilkan icon download Jika icon download dipilih
263
Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Akhir jika Tampilkan form pencarian berdasarkan tanggal dan judul Jika tanggal dan judul diisi Cari video berdasarkan tanggal dan judul Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Tampilkan form pencarian berdasarkan media dan judul Jika media dan judul diisi Cari video berdasarkan media dan judul Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Selesai i. Halaman statistik pertukaran video Mulai
264
Jika bulan dan tahun dipilih Cari video yang dikirim berdasarkan bulan dan tahun Tampilkan list video yang dikirim Hitung jumlah berita yang dikirim Tampilkan total jumlah berita yang dikirim Hitung jumlah download dari berita yang dikirim Tampilkan jumlah download Cari video yang diambil berdasarkan bulan dan tahun Tampilkan list video yang diambil Hitung jumlah berita yang diambil Tampilkan total jumlah berita yang diambil Akhir jika Selesai
2. Halaman pada aplikasi backend (admin dan staff keuangan) a. Halaman indeks Mulai Tampilkan halaman indeks Masukkan username dan kata sandi Jika tombol “masuk” ditekan Maka periksa basis data Jika IDPengguna dan kata sandi valid Maka buat session tampilkan halaman home Selain itu tampilkan pesan error pada halaman indeks Akhir jika Akhir jika Selesai
265
b. Halaman home Mulai Tampilkan menu utama Jika menu “home” dipilih Maka tampilkan halaman home Akhir jika Jika menu “admin” dipilih Maka tampilkan halaman admin Akhir jika Jika menu “media” dipilih Maka tampilkan halaman media Akhir jika Jika menu “video” dipilih Maka tampilkan halaman video Akhir jika Jika menu “info” dipilih Maka tampilkan ambil info Akhir jika Jika menu “user” dipilih Maka tampilkan halaman user Akhir jika Jika menu “ambil” dipilih Maka tampilkan halaman ambil Akhir jika Jika menu “kirim” dipilih Maka tampilkan halaman kirim Akhir jika Jika menu “arsip” dipilih Maka tampilkan halaman arsip Akhir jika Jika menu “cari” dipilih
266
Maka tampilkan halaman cari Akhir jika Jika menu logout dipilih Maka keluar dari program dan kembali ke indeks Akhir jika Selesai c. Halaman admin Mulai Tampilkan list admin Jika edit admin dipilih Jika password dan nama di ubah Ubah data admin Akhir jika Akhir jika Selesai
d. Halaman media Mulai Tampilkan list media Tampilkan menu ‘add media’ Jika menu ‘add media’ dipilih Tampilkan form tambah media Jika form diisi Insert media baru Akhir jika Akhir jika Tampilkan menu ‘edit ip address’ Jika menu ‘edit ip address’ dipilih Tampilkan form ‘edit ip address’ Jika form diisi Update data ip address
267
Akhir jika Akhir jika Tampilkan menu ‘add ip address’ Jika menu ‘add ip address’ dipilih Tampilkan form ‘add ip address’ Jika form diisi Insert data ip address baru Akhir jika Akhir jika Tampilkan menu ‘edit media’ Jika menu ‘edit media’ dipilih Tampilkan form ‘edit media’ Jika form diisi Update data media Akhir jika Akhir jika Tampilkan menu ‘hapus media’ Jika menu ‘hapus media’ dipilih Hapus data media Akhir jika Selesai e. Halaman video Mulai Tampilkan list data video Tampilkan menu ‘hapus video’ Jika menu hapus ‘video dipilih’ Hapus data video Akhir jika Selesai f. Halaman info Mulai
268
Tampilkan list informasi Jika menu ‘edit informasi’ dipilih Tampilkan form ‘edit informasi’ Jika form diisi Update data informasi Akhir jika Akhir jika Tampilkan menu hapus informasi Jika menu hapus informasi dipilih Hapus data informasi Akhir jika Selesai g. Halaman user Mulai Tampilkan list data user Tampilkan menu ‘add user’ Jika menu ‘add user’ dipilih Tampilkan form ‘add user’ Jika form diisi Insert data user baru Akhir jika Akhir jika Tampilkan menu ‘edit user’ Jika menu ‘edit user’ dipilih Tampilkan form edit user Jika form diisi Update data user baru Akhir jika Akhir jika Tampilkan menu ‘hapus user’ Jika menu ‘hapus user’ dipilih
269
Hapus data user Akhir jika Selesai h. Halaman ambil Mulai Tampilkan list laporan pengambilan video Tampilkan form input bulan dan tahun Jika bulan dan tahun dipilih Tampilkan lap. berdasarkan bulan dan tahun Akhir jika Tampilkan menu detail laporan Jika menu detail laporan dipilih Tampilkan detail laporan Akhir jika Selesai
i. Halaman kirim Mulai Tampilkan list laporan pengiriman video Tampilkan form input bulan dan tahun Jika bulan dan tahun dipilih Tampilkan lap. berdasarkan bulan dan tahun Akhir jika Tampilkan menu detail laporan Jika menu detail laporan dipilih Tampilkan detail laporan Akhir jika Selesai j. Halaman arsip Mulai Tampilkan menu pencarian arsip media
270
Jika tombol tampilkan video diklik Jika tanggal diisi dan media tidak dipilih Cari video berdasarkan tanggal Tampilkan list video berdasarkan tanggal Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Jika nama media diisi dan tanggal diisi Cari video berdasarkan tanggal dan media Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Akhir jika Selesai k. Halaman cari Mulai Tampilkan form pencarian berdasarkan judul dan isi Jika judul atau isi dipilih Jika judul diisi Cari video berdasarkan judul Tampilkan list video Tampilkan icon download
271
Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Jika isi di masukkan Cari video berdasarkan isi Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Akhir jika Tampilkan form pencarian berdasarkan tanggal dan judul Jika tanggal dan judul diisi Cari video berdasarkan tanggal dan judul Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Tampilkan form pencarian berdasarkan media dan judul Jika media dan judul diisi Cari video berdasarkan media dan judul
272
Tampilkan list video Tampilkan icon download Jika icon download dipilih Download video Update jumlah download Update jumlah data pengambilan video Akhir jika Akhir jika Selesai