BAB 2 TINJAUAN PUSTAKA 2.1 Periklanan Periklanan adalah komunikasi komersil dan non-personal tentang sebuah organisasi dan produk – produknya yang ditransmisikan ke suatu media yang bersifat massal, (Munandar & Priatna, 2007). Dalam menyusun rancangan periklanan terdapat lima keputusan utama atau yang dikenal dengan istilah “Lima M” yang harus dipertimbangkan. Kelima keputusan utama itu antara lain, menetapkan tujuan iklan (Mission), memutuskan anggaran iklan (Money), mengembangkan kampanye iklan (Message), menetapkan media dan mengukur efektivitas (Media), mengevaluasi efektivitas iklan (Measurement), (Molan, 2007). Di dalam dunia periklanan juga terdapat beberapa istilah yang umum digunakan seperti TVR dan CPRP. 2.1.1 TVR TVR (Television rating) merupakan rating dari suatu program acara. Pada umumnya rating merupakan mata uang yang digunakan pada stasiun TV untuk menentukan nilai dari suatu program acara, (Drs. Andi Fachrudin, 2007). 2.1.2 CPRP CPRP (cost per rating point) adalah biaya yang diperlukan untuk menjangkau satu persen individu pada suatu target audience. Dengan kata lain, CPRP merupakan biaya yang dikeluarkan tiap satu rating pada suatu program acara. Dengan adanya CPRP, agensi periklanan dapat mengetahui jumlah biaya yang dikeluarkan untuk membeli setiap spot iklan di stasiun TV per satu penonton, (Drs. Andi Fachrudin, 2007).
2.2
Scrum Scrum adalah salah satu pendekatan dari model pengembangan perangkat lunak agile. Prinsip pada scrum sesuai dengan prinsip agile yang 9
10 digunakan untuk mengembangkan framework yang terdiri dari requirements, analysis, design, evolution, delivery, (Pressman, 2010, p.82). Dalam metode scrum terdapat beberapa tahapan yaitu, backlog, sprints, scrum meeting, demos, (Pressman, 2010, pp. 83-84). 2.2.1 Backlog Backlog merupakan daftar kebutuhan berisi fitur-fitur prioritas yang akan dibuat. Isi dari
fitur tersebut dapat
ditambahkan kapan saja. Pada kegiatan ini manajer produk dapat mengakses backlog dan dapat mengubah prioritas dari kebutuhan jika diperlukan. 2.2.2 Sprint Sprints merupakan aktivitas kerja yang dilakukan untuk memenuhi kebutuhan yang didefinisikan pada backlog yang harus diselesaikan dalam kurun waktu yang sudah ditentukan. 2.2.3 Scrum Meeting Scrum Meeting adalah pertemuan yang dilakukan secara teratur, untuk membahas apa saja yang sudah dikerjakan,
membahas
masalah
yang
ditemui
dan
merencakanakan pekerjaan apa saja yang harus diselesaikan pada pertemuan selanjutnya. 2.2.4 Demos Demos adalah tahap ketika proses pengembangan aplikasi telah selesai dibuat dan tim scrum menampilkan hasil dari aplikasi kepada product owner.
2.3
Laravel Laravel adalah framework PHP dengan kode terbuka (open source) dengan desain MVC (Model-View-Controller) yang digunakan untuk membangun aplikasi website. Framework ini pertama kali dibangun oleh Taylor Otwell pada tanggal 22 Februari 2012 (laravel.com).
11 2.2.1 Tipologi Laravel Laravel adalah salah satu dari PHP framework. Sama seperti PHP framework lainnya seperti Phalcon, Zend, Symfony, atau Code Igniter juga menggunakan pola desain MVC dalam melakukan operasinya. 2.2.2 Kelebihan Laravel Laravel adalah framework web dengan ekspresif syntax yang elegan. Selain itu, laravel adalah framework yang clean dan classy untuk pengembangan web dengan menggunakan PHP yang dimana juga memiliki motto membebaskan programmer dari kode yang rumit (Aminuddin, 2014). 2.4
MVC Method Model View Controller adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller) (laravel.com). Sesuai dengan namanya, MVC terdiri dari 3 komponen antara lain model, view, dan controller. Model adalah bagian yang berperan menghubungkan controller dengan database. Tugas dari model adalah melakukan manipulasi data ke database seperti CRUD (create, read, update, delete). View mengatur bagaimana data akan ditampilkan kepada user. Data yang didapat dari model akan diproses oleh controller kemudian oleh view ditampilkan kepada user. Controller merupakan bagian yang menjadi penghubung antara model dan view. Controller berfungsi memproses fungsi atau perintah dari user kemudian menentukan bagaimana aplikasi dijalankan.
2.5
Client Server Client server adalah suatu aplikasi terstruktur yang bertugas mengatur bagian penyedia sumber daya yang disebut server dan bagian pembuat request yang disebut client. Pada saat sebuah server menerima sebuah request dari sebuah halaman web, server membuat atau menerima halaman web lalu mengembalikan halaman web beserta script yang berisi respon yang diperlukan. Browser mengolah halaman web dan menerjemahkan script. Proses ini dilakukan pada client-side. Browser lalu menampilkan halaman web yang telah diprosesnya (Nasuto, 2011).
12 2.6
Javascript Javascript adalah ada bahasa pemrograman di web. Javascript hampir digunakan di seluruh website modern dan merupakan bahasa pemograman web yang wajib dipelajari selain HTML dan CSS. Javascript adalah bahasa pemrograman high-level yang dapat digunakan dalam pemrograman berorientasi objek maupun fungsional (Flanagan, 2011). Javascript yang digunakan pada web browser disebut sebagai client-side Javascript, (Flanagan, 2011, p. 307).
2.7
JQuery JQuery adalah sebuah Javascript library yang digunakan untuk menyederhanakan fungsi – fungsi umum dalam penggunaan Javascript. Tidak hanya menyederhanakan beberapa fungsi saja dalam Javascript, JQuery juga menghilangkan perbedaan hasil dari penggunaan Javascript pada browser yang berbeda. Sesuai dengan namanya, JQuery fokus pada penggunaan query. Query ini menggunakan CSS selector untuk menemukan sekumpulan dokumen dan mengembalikan objek yang mrepresentasikan dokumen tersebut. Objek tersebut dapat menggunakan berbagai method yang berguna untuk melakukan berbagai operasi seperti mengubah isi dokumen dengan syarat jenis elemen yang direprsentasikan oleh objek dengan tipe method yang digunakan tergolong sebagai satu grup (Flanagan, 2011).
2.8
PHP PHP merupakan bahasa pemrograman scripting yang paling banyak digunakan pada bagian server dalam pengembangan aplikasi web, yang menampilkan informasi HTML secara dinamis (McIntyre, 2010, p. 2).
2.9
Bootstrap Bootstrap adalah CSS framework yang menyediakan banyak elemen user interface, layouts, dan jQuery plugins. Bootstrap adalah framework yang bersifat open source dan juga salah satu proyek paling populer di GitHub. Bootstrap berisi responsive mobile-first grid, di mana ia mengizinkan developer untuk mengimplementasikan web design dengan mudah. Bootstrap juga berisi kumpulan styles untuk tipografi, navigasi, tabel, formulir, buttons, dan masih banyak lagi. Selain itu, Bootstrap juga memiliki beberapa jQuery
13 plugins seperti Modal, Dropdown, Tooltip, dan Carousel yang sangat memudahkan developer (Niska, 2014, p. 5). 2.10
My SQL MySQL adalah salah satu database management system yang umum digunakan saat ini. MySQL memiliki arsitektur yang berguna untuk diaplikasikan di berbagai lingkungan aplikasi seperti web application, embedded application, data warehouse, online transaction processing (oltp), dan masih banyak lagi. Salah satu unggulan dari MySQL adalah banyaknya variasi tipe data yang didukung oleh MySQL sehingga memungkin MySQL dapat diaplikasikan di berbagai jenis aplikasi yang berbeda (Schwartz, 2012).
Gambar 2.1 Model Arsitektur MySQL (High Performance MySQl, 2009, p. 2) Layer teratas dari MySQL adalah services yang umum digunakan di berbagai network-based sofware atau pada client server tools. Layer kedua dari MySQL adalah pusat logic dari MySQL dimana parsing, analisis, optimasisasi, operasi aritmatika, dan operasi – operasi built-in lainnya. Layer ketiga dari MySQL adalah storage engines yang bertanggung jawab dalam penyimpanan data. Masing – masing storage engines memiliki karakteristik masing – masing, namun bersifat transparan pada query layer sehingga pengguna tidak dapat menemukan perbedaan antara storage engines (Schwartz, 2012). 2.11
UML UML (Unified Modelling Language) adalah sekumpulan tehnik pembuatan diagram yang sesuai dan dikhususkan untuk pengembangan
14 object oriented yang telah menjadi model standar untuk sistem object oriented (Britton, 2005). 2.11.1 Use case Diagram Use case diagram adalah UML diagram yang menjelaskan aktivitas sistem berdasarkan sudut pandang pengguna. Use case diagram adalah pemetaan lengkap mengenai tugas – tugas yang dapat dilakukan oleh pengguna di dalam sistem, (Britton & Doake, 2005). Terdapat dua cara pendekatan untuk meranacang use case diagram. Cara yang pertama adalah meneliti apa saja yang dapat dilakukan aktor di dalam sistem. Pertama, kita menentukan jenis aktor atau pengguna yang terlibat langsung kepada sistem. Lalu, dari masing – masing aktor yang telah ditentukan, kita menentukan bagaimana aktor menggunakan sistem dan tujuan apa yang ingin dicapai dari menggunakan sistem. Cara yang kedua adalah meneliti skenario dari proses kejadian yang terjadi di dalam sistem. Skenario yang dibuat atau diberikan akan menghasilkan serangkaian kejadian. Serangkaian kejadian ini akan menjelaskan interaksi antara pengguna dengan sistem, (Britton & Doake, 2005).
Elemen – elemen dari use case diagram adalah : 1.
Use Case Use case digambarkan dengan sebuah lingkaran elips yang
mendatar (horizontal) dengan nama dari use case yang tertulis di atas, di bawah, atau di dalam elips tersebut. Sebuah use case menggambarkan suatu tujuan dari sistem dan menjelaskan rangkaian aktivitas dan interaksi user ketika sedang mencapai tujuan itu 2.
Actor Actor digambarkan dengan sebuah manusia berbentuk
sederhana beserta dengan nama peran dari actor tersebut. Sebuah
15 actor menggambarkan suatu peran yang dijalankan oleh seorang user yang berinteraksi dengan sistem untuk bertukar informasi 3.
Relationship Relationships menjelaskan hubungan antara actor dan use case
. Sebuah relationship digambarkan dengan sebuah garis antara dua simbol dalam sebuah use case diagram. Bentuk dari tiap garis dapat berbeda tergantung dengan jenis relationship. Jenis-jenis relationship tersebut adalah: •
Associations Sebuah relationship dengan jenis associations akan terjadi apabila use case menjelaskan sebuah interaksi antara actor dan use case.
•
Extends Hubungan ini adalah sebuah relationship antara extension use case dan use case cabangnya. Tujuan dari extends relationship adalah untuk menyederhanakan use-case yang mengandung beberapa fungsi yang kompleks agar mudah untuk dibaca.
•
Includes Hubungan yang terjadi pada relationship ini adalah hubungan antara abstract use case dan use case yang menggunakannya. Sebuah abstract use case adalah sebuah use case yang disarikan dari use case yang lebih kompleks karena langkah yang dilakukan oleh abstract use case telah digunakan oleh use case lain.
•
Depends On Hubungan yang terjadi pada relationship ini adalah hubungan antara use case yang mengindikasikan bahwa suatu use case tidak dapat dijalankan hingga use case lain telah selesai dijalankan.
16 •
Inheritance Pada use case, sebuah hubungan antara actor dibuat untuk mempermudah penjelasan dengan gambar ketika sebuah abstract actor mewarisi peran kepada beberapa actor.
2.11.2 Use Case Narrative Use case narrative adalah naratif dokumen yang menjelaskan secara umum kebutuhan fungsional dari use case. Use case narrative menjelaskan tujuan dari use case dan memberikan deskripsi umum dari apa yang biasanya terjadi, urutan kejadian utama, dan kejadian alternatif. Use case narrative ditulis dengan berdasarkan apa yang sistem harus perbuat sehingga konteks – konteks seperti apa yang terjadi di belakang layar pada proses coding, struktur data storage, dan detail – detail implementasi lainnya tidak perlu dijelaskan di dalam use case narrative. Yang dimaksud dengan apa yang sistem harus perbuat adalah apa saja yang pengguna lihat pada saat menggunakan sistem sehingga use case narrative dapat menjelaskan kepada pengguna bagaimana aktivitas sistem dilihat oleh pengguna, (Britton & Doake, 2005).
17
Gambar 2.2 Contoh Use Case Narrative, (Britton & Doake, 2005, p. 46) 2.11.3 Class Diagram Class adalah sekumpulan objek yang memiliki sekumpulan atribut yang sama, relasi yang sama, dan method yang sama. Pada aplikasi berorientasi objek, semua fungsi aplikasi dihasilkan atau dikumpulkan pada class yang sesuai sehingga penulisan kode yang mengimplementasi sebuah operasi berdasarkan pada situasi kelas yang berhubungan, (Britton & Doake, 2005). Class Diagram adalah diagram yang menggambarkan relasi antara class yang digunakan dalam suatu aplikasi atau sistem. Suatu class pada class diagram digambarkan sebagai sebuah persegi panjang yang dibagi menjadi 3 bagian. Bagian teratas digunakan untuk nama class. Bagian tengah merupakan atribut class. Bagian bawah merupakan method atau operasi yang dapat dilakukan class. Nama class dimulai dengan huruf besar. Jika nama class terdiri dari 2 kata atau lebih, maka semua kata disambung tanpa spasi dan huruf pertama dari masing – masing kata merupakan huruf kapital. Nama attribut dimulai dengan huruf kecil.
18 Jika nama atribut terdiri 2 kata atau lebih, maka semua kata disambung tanpa spasi dan huruf pertama dari masing – masing kata kecuali huruf pertama pada kata pertama adalah huruf capital, (Britton & Doake, 2005). Menurut Britton, (Britton & Doake, 2005, pp. 89-95), terdapat 3 jenis relasi pada class diagram antara lain: 1. association, yaitu relasi yang menunjukkan kerja sama antar class untuk mencapai tujuan dari suatu fungsi, 2. aggregation, yaitu relasi antara class dengan sub-class dan juga sebaliknya, 3. inheritance, yaitu relasi antar class yang memiliki sebagian atribut dan/atau method yang sama dengan class induk. Tabel 2.1. Komponen-komponen Class Diagram No.
Istilah
Simbol
Deskripsi
1.
Consist of
=
Menjelaskan definisi dari data barang
2.
And
+
Mengabungkan komponen
3.
One or more
{}
Melakukan perulangan
4.
Zero or one
()
Menjelaskan atribut yang bersifat opsional
5.
Alternatives
[]
Menjelaskan pemilihan atribut
6.
Either .. or
|
Memisahkan tiap atribut yang terdapat dalam alternative
7.
Specific Value
“”
Mengindikasi nilai spesifik
2.11.4 Sequence Diagram Sequence diagram adalah diagram yang menjelaskan aliran atau tahap kendali antar objek untuk menjalankan suatu skenario. Sebuah skenario menggambarkan urutan tahap dari suatu use case berdasarkan
sudut
pandang
pengguna.
Sequence
diagram
menunjukkan bagaimana tahap – tahap ini diterjemahkan menjadi proses pengiriman pesan antar objek berdasarkan sudut pandang sistem, (Britton & Doake, 2005).
19 Aktor di sequence diagram berbentuk sama seperti aktor pada use case. Actor adalah gambaran mengenai orang yang bersangkut paut dengan kegiatan pada sequence diagram. Objek di sequence diagram berbentuk persegi panjang yang memiliki lifeline berupa garis putus – putus. Object Lifeline ini merepresentasikan durasi hidup dari satu object dari suatu scenario.
Gambar 2.3 Contoh Object lifeline (Britton & Doake, 2005, p. 157) Dalam sequence diagram terdapat Object Activation, object activation berperan dalam merepresentasikan kegiatan aktif yang dilakukan object pada lifeline object tersebut.
Gambar 2.4 Contoh Object Activation (Britton & Doake, 2005, p. 158) Dalam sequence diagram terdapat Object Creation, object creation berperan dalam merepresentasikan pembuatan object pada lifeline.
20
Gambar 2.5 Contoh Object Creation (Britton & Doake, 2005, p. 160) 2.11.5 Activity Diagram Activity diagram adalah diagram yang menunjukkan aliran atau tahapan kendali pada suatu proses yang terjadi di dalam suatu use case. Activity diagram dapat digunakan untuk mrepresentasikan urutan kejadian, seleksi pilihan, dan iterasi kejadian. Activity diagram dimulai dari sebuha titik hitam start dan diakhiri dengan sebuah titik hitam end yang dikelilingi oleh satu lingkungan luar. Setiap tahapan direpresentasikan oleh bentuk oval panjang yang saling terhubung oleh sebuah anak panah. Seleksi pilihan digambarkan dalam bentuk belah ketupat yang masing – masing ujungnya mengarahkan pada aliran proses yang berbeda, (Britton & Doake, 2005).
Tabel 2.2. Komponen-komponen Activity Diagram No.
Nama
Simbol
Deskripsi
21 1.
Initial node
Sebuah lingkaran yang utuh untuk menandakan titik mula dari diagram.
2.
Actions
Persegi dengan sudut yang tumpul untuk menggambarkan setiap langkah-langkah dari diagram.
3.
Flow
Sebuah anak panah untuk menggambarkan alur dari diagram.
4.
Decision
Sebuah belah ketupat dan mempunyai setidaknya satu flow masuk atau dua flow keluar untuk menggambarkan titik decision yang akan membawa kepada flow yang berbeda.
5.
Merge
Sebuah belah ketupat dan mempunyai setidaknya dua flow masuk dan satu flow keluar untuk menggabungkan semua flow tersebut yang telah terpisah oleh decision.
22 6.
Fork
Sebuah sekat berbentuk persegi panjang hitam yang mempunyai satu flow masuk dan setidaknya dua flow keluar untuk menggambarkan kapan flow menjadi terpisah secara paralel satu sama lain.
7.
Join
Sebuah persegi panjang berwarna hitam yang mempunyai setidaknya dua flow masuk dan satu flow keluar untuk menggambarkan penggabungan dari sebuah flow yang telah dilakukan fork.
8.
Activity final
Ssebuah lingkaran utuh yang dikelilingi oleh lingkaran berrongga untuk menggambarkan titik akhir dari diagram.
2.12
Interaksi Manusia Komputer Interaksi manusia dan komputer adalah ilmu yang mempelajari hubungan dan interaksi antara manusia dan komputer dalam perancangan dan evaluasi antarmuka pengguna, (Shneiderman & Plaisant, 2010, p. 22). 2.12.1 Delapan Aturan Emas Menurut Shneirderman & Plaisant, (Shneiderman & Plaisant, 2010, pp. 88-89), terdapat delapan aturan emas yang dapat dijadikan pedoman dalam melakukan rancangan tampilan antarmuka, yaitu: 1. Konsistensi
23 Antarmuka yang ditampilkan harus konsisten dari aspek warna, font dan tata letak. Tidak hanya antarmuka tetapi tindakan yang dilakukan harus konsisten. 2. Memenuhi kebutuhan universal Terdapat beberapa tipe pengguna dari yang pemula sampai yang sudah ahli, sehingga harus mengenali kebutuhan pengguna. Contohnya pengguna yang sudah ahli memerlukan kecepatan interaksi, sehingga dibutuhkan tombol shortcut. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan yang dilakukan oleh pengguna, sebaiknya diberikan umpan balik. Umpan balik yang sederhana digunakan untuk tindakan yang sering dilakukan dan tindakan tidak penting, sedangkan tindakan substansial digunakan untuk setiap tindakan yang penting.. 4. Mendesain dialog untuk penutupan Urutan tindakan ketika melakukan suatu pekerjaan harus terorganisir dari bagian awal, tengah, dan akhir serta terdapat umpan balik yang informatif pada setiap tindakan yang dilakukan oleh pengguna. 5. Mencegah terjadinya kesalahan Sistem sebaiknya dirancang agar pengguna tidak melakukan kesalahan yang fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme penanganan yang sederhana. 6. Memudahkan kembali ke proses sebelumnya Pengguna dapat membatalkan proses yang telah dilakukan jika terjadi kesalahan. Sistem yang dapat kembali ke proses sebelumnya membuat pengguna tidak perlu merasa khawatir untuk
mengeksplorasi
pilihan-pilihan
yang
belum
biasa
digunakan. 7. Mendukung tempat pengendali internal (internal locus of control) Sistem yang dirancang harus dapat mendukung pengguna dalam melakukan pengontrolan sistem seperti sistem dapat dengan cepat
24 menanggapi permintaan pengguna, sehingga pengguna tidak merasa bahwa mereka dikontrol oleh sistem melainkan mereka yang mengontrol sistem tersebut. 8. Mengurangi beban ingatan jangka pendek Manusia memiliki keterbatasan ingatan, sehingga dibutuhkan tampilan yang sederhana dan diberikan waktu yang cukup untuk berlatih. 2.13
Black-box Testing Black-box testing adalah data-driven atau input/output-driven-testing, dimana tujuan dari testing ini adalah dengan sepenuhnya mengabaikan kebiasaan internal dan struktur dari program, tetapi lebih memfokuskan pada pencarian keadaan dimana keadaan tersebut tidak berjalan sesuai dengan bagaimana program tersebut dirancang, (Myers, Badgett, & Sandler, 2012).
2.14
Entity Relationship Diagram Entity Relationship Diagram adalah sebuah model yang menunjukan entity dan relasinya dengan entity lain. Entity dan relasi nya merupakan bentuk dari data modeling yang digunakan untuk mengoranisir data yang terdapat di dalam sistem. Data modeling terkadang disebut sebagai basis data modeling karena sebuah data model sebenarnya diimplementasikan sebagai sebuah basis data.