BAB II LANDASAN TEORI Pengertian Aplikasi II.1 Program aplikasi adalah program siap pakai atau program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Aplikasi juga diartikan sebagai penggunaan atau penerapan suatu konsep yang menjadi pokok pembahasan atau sebagai program komputer yang dibuat untuk menolong manusia dalam melaksanakan tugas tertentu. Aplikasi software yang dirancang untuk penggunaan praktisi khusus, klasifikasi luas ini dapat dibagi menjadi 2 (dua) yaitu : 1. Aplikasi software spesialis, program dengan dokumentasi tergabung yang dirancang untuk menjalankan tugas tertentu. 2. Aplikasi paket, suatu program dengan dokumentasi tergabung yang dirancang untuk jenis masalah tertentu (Rahmatillah ; 2011 : 3) II.2. Websocket Menurut jurnal yang ditulis oleh Sharma (2011, 50) ,Websocket di HTML5 merupakan kemajuan di bidang komunikasi HTTP. Spesifikasi dari Websocket memungkinkan saluran komunikasi dua arah single-socket untuk mengirim dan menerima informasi antara browser dan server. Dengan demikian, Websocket menghindari koneksi dan portabilitas masalah teknik lainnya dan memberikan solusi yang lebih efisien daripada polling Ajax. Saat ini Websocket 9 10 di HTML5 adalah sarana terdepan untuk memfasilitasi full-duplex, pertukaran data di web secara real time. Websocket menyediakan lintasan sederhana dari firewall dan router dan kompatibel dengan data biner. Websocket juga memungkinkan pertukaran data dengan cookie-based authentication. Tabel II.1. Perbandingan Websocket Dengan Teknologi Lain Parameters Techniques CrossCross-site Capability Support Compatibility Plug-ins Cookies Capability browser browser to receive for HTTP in HTML Requirement Access to identily compatible security HTTP GET and Version Data enforeed status codes POST origin (error check) XDM [8,9] No Yes Yes Yes HTML 4 No No Yes Window, name property [10,11] Yes No No Yes HTML 4 No Yes No iFrame [6,12,13,14] Yes No No Yes HTML 4 No No No Flash Plug-in [17] Yes Yes Yes Yes HTML 4 Yes Own Cookies Yes Document.domain proxy [10,13,18] Yes No Yes Yes HTML 4 No Yes Yes Microsoft Silverlight [19] Yes Yes Yes Yes HTML 4 Yes Yes Yes Yes (Server dependent) No No No HTML 4 No No Yes JSONRequest [22] Yes Yes Yes Yes HTML 4 No No Yes Fragment Identifier [23,24] Yes No Yes Yes HTML 4 No No Yes Google Gears [6,25] Yes No Yes Yes HTML 4 No Yes Yes No (e,I,8,ff,3,5) Yes Yes Yes HTML 4 No No Yes CSSHttpRequest [27] Yes No No No HTML 4 No No No Mozila Signed Scripts [28] Yes Yes Yes Yes HTML 4 No Yes Yes WebSocket [29] Yes Yes Yes Yes HTML 5 No Yes Yes JSONP [20,21] XDR [21,26] (Sumber : Sharma ; 2010 : 50) 11 Tabel diatas membandingkan parameter yang berbeda untuk setiap teknologi yang berbeda yang digunakan dalam implementasi komunikasi crosssite pada server QIIIP. Empat belas teknologi dibandingkan terhadap berbagai parameter seperti cross-browser compatible, cross-site browser security enforcement, http status codes, dll. II.3. Pengertian Komunikasi Secara umum komunikasi dapat disebutkan sebagai proses pengiriman dan penerimaan pesan atau berita (informasi) antara dua orang atau lebih dengan cara yang efektif, sehingga pesan dimaksud dapat dipahami. Dengan mengacu kepada beberapa definisi komunikasi yang dikemukaan oleh para ahlinya, secara ringkas dapat disimpulkan bahwa komunikasi adalah penyampaian informasi, gagasan, pengetahuankepada pihak lain. Bila kita simak, pada dasarnya komunikasi menekankan pada hubungan antar pihak tertentu, yaitu : 1. Hubungan antar satu orang dengan satu orang, misalnya komunikasi antara seorang atasan dengan seorang bawahan. 2. Satu orang dengan banyak orang, misalnya komunikasi antara pimpinan perusahan dengan para pegawai. 3. Satu kelompok manusia dengan kelompok lainnya, misalnya komunikasi antar partai, delegasi politik, delegasi perdagangan, delegasi kesenian. Baik yang dilakukan dengan menggunakan alat bantu maupun tidak. Hubungan antar manusia tidak dibatasi oleh tempat dan waktu yang sama karena komunikasi 12 dapat dilakukan dari tempat yang berlainan dengan menggunkan sarana komunikasi tertentu (telepon, fax, e-maial). (Tommy Suprapto ; 54-55) II.4. Video Video merupakan media elektronik yang mampu menggabungkan teknologi audio dan visual secara bersama sehingga menghasilkan suatu tayangan yang dinamis dan menarik. Video dapat dikemas dalam bentuk VCD dan DVD sehingga mudah dibawa kemana-mana, mudah digunakan, dapat menjangkau audiens yang luas dan menarik untuk ditayangkan. Media video memiliki fungsi sebagai media pembelajaran yaitu fungsi atensi, fungsi afektif, fungsi kognitif dan fungsi kompensatoris (Arsyad 2002). Fungsi atensi yaitu media video dapat menarik perhatian dan mengarahkan konsentrasi audiens pada materi video. Fungsi afektif yaitu media video mampu menggugah emosi dan sikap audiens. Fungsi kognitif dapat mempercepat pencapaian tujuan pembelajaran untuk memahami dan mengingat pesan atau informasi yang terkandung dalam gambar atau lambang. Sedangkan fungsi kompensatoris adalah memberikan konteks kepada audiens yang kemampuannya lemah dalam mengorganisasikan dan mengingat kembali informasi yang telah diperoleh. Dengan demikian media video dapat membantu audiens yaitu petani yang lemah dan lambat menangkap suatu pesan menjadi mudah dalam menerima dan memahami inovasi yang disampaikan, hal ini disebabkan karena video mampu mengkombinasikan antara visual (gambar) dengan audio (suara). (Jurnal ; Pera Nurfathiyah : 30) 13 II.5. Android Android adalah system operasi disematkan pada gadget, baik itu handphone, tablet, juga sekarang sudah merambah ke kamera digital dan jam tangan. Saat ini gadget berbasis Android, baik itu tablet atau handphone, begitu digandrungi. Selain harganya yang semakin terjangkau, juga banyak varian spesifikasi yang bisa dipilih sesuai kebutuhan dan kantong. Perkembangan Android sangat cepat. Di awal tahun 2012 saja ada 200 juta pengguna aktif Android, dan Google Play mampu menampang 400.000 aplikasi yang siap digunakan, dan total mencapai 10 triliun kali aplikasi yang sudah didownload lewat Android Market, pertumbuhan yang luar biasa. Jumlah ini diyakini akan terus bertambah seiring waktu dan perkembangan teknologi. Banyaknya aplikasi ini tentu membuat pengguna Android bisa leluasa dalam memilih aplikasi yang benar-benar dibutuhkan dan tentu akan menunjang aktivitas atau hobi anda.(Agus wahadyo ; 2013 ; 2) II.6. Pengertian Java Java adalah bahasa pemrograman yang dapat dijalankan di berbagai jenis komputer dan berbagai sistem operasi termasuk telepon genggam. Java dikembangkan oleh Sun Microsystem dan dirilis tahun 1995. Java merupakan suatu teknologi perangkat lunak yang digolongkan multi platform. Selain itu, Java juga merupakan suatu platform yang memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu program. 14 Bahasa pemrograman java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, serta Sembilan pemrograman lainnya dari Sun Microsystem. Salah satu hasil proyek ini adalah mascot Duke yang dibuat oleh Joe Palrang (Wahana Komputer, 2010 : 1). II.7. Pengertian NetBeans NetBeans merupakan salah satu proyek open source yang disponsori oleh Sun Microsystem. Proyek ini bediri pada tahun 2000 dan telah menghasilkan 2 produk, yaitu NetBeanss IDE dan NetBeans Platform. NetBeans IDE merupakan produk yang digunakan untuk melakukan pemrograman baik menulis kode, mengcompile, mencari kesalahan dan mendistribusikan program. Sedangkan NetBeans Platform adalah sebuah modul yang merupakan kerangka awal / pondasi dalam bangun aplikasi desktop yang besar. NetBeans juga menyediakan paket yang lengkap dalam pemrograman dari pemrograman standar (aplikasi desktop), pemrograman enterprise, dan pemrograman perangkat mobile. Saat ini NetBeans telah mencapai versi 6.8 (Wahana Komputer ; 2010 : 15). Perangkat Lunak Netbeans adalah sebuah IDE (Integrated Development Environment) berbasis Java yang dikembangkan oleh perusahaan Sun Microsystems untuk mengembangkan perangkat lunak. Netbeans dapat dijalankan pada berbagai sistem operasi komputer, seperti Windows, Linux, Mac OS, dan 15 Solaris yang telah terinstal JVM (Java Virtual Machine) (Indra Purnama ; 2012 : 6). II.8. Kamus Data Karena DBMS menyimpan kumpulan beberapa item data yang terpisah yang dapat digunakan pemakai pada beberapa aplikasi secara bersama-sama, adalah penting bahwa beberapa mekanisme digunakan untuk menyediakan informasi mengenai beberapaitem data bersangkutan. Itu adalah fungsi dari kamus data. Kamus data adalah suatu file yang terpisah yang menyimpan informasi seperti : a. Nama setiap item/jenis/kolom data. b. Struktur data untuk tiap item. c. Program yang menggunakan tiap item d. Tingkat keamanan untuk setiap item (Zulkifli Amsyah ; 2005 : 382). Pemakai yang perlu memperoleh informasi dari database dapat menuju ke kamus data untuk mendapatkan nama dari item data yang digunakan pada penelusuran (search). Dan yang mendesain aplikasi dapat menggunakan kamus untuk menentukan apakah item data sudah disimpan di komputer, dan kalau sudah dengan nama apa item data tersebut dapat dipanggil dan aplikasi apa yang digunakan. Kamus data berguna khusus bagi perlindungan timbulnya kelebihan data. Tanpa kamus data, pemakai dari lain bagian mungkin menyimpan versi identik 16 dari item data yang sama pada beberapa lokasi, dimana masing-masing item data mempunyai nama yang berbeda. Operasional komputer dalam organisasi dewasa ini banyak yang sudah menggunakan model kerja jaringan (network). Dengan menggunakan data dasar yang sama untuk keperluan informasi masing-masing unit dan manajemen organisasi secara keseluruhan. II.9. Teknik Normalisasi Proses normalisasi menyediakan cara sistematis untuk meminimalkan terjadinya kerangkapan data diantara relasi dalan perancangan logikal basis data. Format normalisasi terdiri dari lima bentuk, yaitu: II.9.1.Bentuk-bentuk Normalisasi a. Bentuk normal tahap pertama (1” Normal Form) Suatu tabel dikatakan sudah 1NF jika telah memenuhi ketentuan sebagai berikut: - Tidak ada atribut mempunyai nilai berulang atau nilai array - Tidak mempunyai baris yang rangkap Bentuk unnormal mengijinkan nilai-nilai pada suatu atribut dapat berulang. b. Bentuk normal tahap kedua (2nd normal form) Relasi dapat dikatakan format normal kedua jika sudah dalam format normal pertama dan diikuti kondisi sebagai berikut: - Key terdiri dari atribut tunggal 17 - Setiap atribut nonkey ketergantungan fungsional pada semua key atau tidak terjadinya ketergantungan pada key composite. Misalnya tabel UNIV berada dalam normal kedua dengan mengasumsikan DNO sebagai key, kecuali CRSE. Jika ditentukan CNO dan SECNO sebagai key composite, atribut nonkey CNAME tergantung hanya pada CNO, bukan pada SECNO, sehingga CNAME tidak secara ketergantungan fungsional penuh terhadap key (CNO, SECNO). c. Bentuk normal tahap ketiga (3rd normal form) Relasi dikatakan format normal ketiga jika sudah dalam format normal kedua dan tidak ada ketergantungan transitif diantara atribut. Misalnya tabel STUDNT mempunyaiatribut SSNO sebagai key (2NF). Ketergantungan transitif terjadi diantara DNO dan COLREG. Saat DNO determinan COLREG tanpa melibatkan key SSNO. Contohnya, DNO=’CS’ termasuk COLREG=’Arts/Sc.’ tidak tergantung oleh atribut SSNO, sehingga STUDNT belum termasuk 3NF. Yang menjadi catatan, ketergantungan transitif tidak akan terjadi jika ada ketergantungan fungsional diantara atribut-atribut non-key yang melibatkan key. d. Boyce Code Normal Form (BCNF) BCNF menentukan setiap determinan adalah kunci kandidat (candidate key). Misalnya UNIV mempunyai dua determinan yaitu DNO dan DNAME yang merupakan kunci kandidat sehingga termasuk 18 ke dalam BCNF. Di lain pihak CRSLST dalam 3NF tetapi tidak dalam BCNF. Atribut komposisinya (CNO, SECNO, SID, OFRNG) sebagai kunci-kunci kandidat dan tidak ada ketergantungan transitif, sehingga CRSLST termasuk ke dalam 3NF. Namun atribut CNO adalah determinan saat SECNO tergantung penuh secara fungsional terhadap CNO, walaupun CNO bukan kunci kandidat, sehingga CRSLST belum termasuk BCNF. e. Bentuk Normal Tahap Keempat dan Kelima Bentuk ini adalah bentuk normal ketiga atau BCNF dengan nilai atribut tidak tergantung pada nilai banyak (multivalue dependency). Konsep pada bentuk ini adalah ketergantungan pada gabungan beberapa atribut (join dependency) (Haidar Dzacko ; 2007 : 12). II.10. UML Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan UML adalah sebagai berikut : 1. Usecase Diagram Usecasediagram merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Usecasemendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dapat dikatakan usecase digunakan untuk mengetahui fungsi apa saja yang ada di dalam sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Simbol-simbol yang digunakan dalam usecase diagram, yaitu : 19 Tabel II.1. Simbol UseCase Gambar Keterangan Usecase menggambarkan fungsionalitas yang disediakan sistem sebagai unit-unit yang bertukan pesan antar unit dengan aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal nama usecase. Aktor adalah abstractiondari orang atau sistem yang lain yang mengaktifkan fungsi dari target sistem. Untuk mengidentifikasikan aktor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target sistem. Orang atau sistem bisa muncul dalam beberapa peran. Perlu dicatat bahwa aktor berinteraksi dengan usecase, tetapi tidak memiliki control terhadap usecase. Asosiasi antara aktor dan usecase, digambarkan dengan garis tanpa panah yang mengindikasikan siapa atau apa yang meminta interaksi secara langsung dan bukannya mengidikasikan aliran data. Asosiasi antara aktor dan usecase yang menggunakan panah terbuka untuk mengidinkasikan bila aktor berinteraksi secara pasif dengan sistem. Include, merupakan di dalam usecase lain (required) atau pemanggilan usecase oleh usecase lain, contohnya adalah pemanggilan sebuah fungsi program. Extend, merupakan perluasan dari usecase lain jika kondisi atau syarat terpenuhi. (Sumber : WinduGata ; 2013 : 4) 2. Diagram Aktivitas (Activity Diagram) Activity Diagram menggambarkan workflow(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Simbol-simbol yang digunakan dalam activity diagram, yaitu : 20 Gambar Tabel II.2. Simbol Activity Diagram Keterangan Start point, diletakkan pada pojok kiri atas dan merupakan awal aktifitas. Endpoint, akhir aktifitas. Activites, menggambarkan suatu proses/kegiatan bisnis. Fork(Percabangan), digunakan untuk menunjukkan kegiatan yang dilakukan secara parallel atau untuk menggabungkan dua kegiatan pararel menjadi satu. Join (penggabungan) atau rake, digunakan untuk menunjukkan adanya dekomposisi. DecisionPoints, menggambarkan pilihan untuk pengambilan keputusan, true, false. New Swimline Swimlane, pembagian activitydiagram untuk menunjukkan siapa melakukan apa. (Sumber : WinduGata ; 2013 : 6) 3. Diagram Urutan (Sequence Diagram) Sequence diagram menggambarkan kelakuan objek pada usecase dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Simbol-simbol yang digunakan dalam sequence diagram, yaitu : Tabel II.3. Simbol Sequence Diagram Gambar Keterangan EntityClass, merupakan bagian dari sistem yang berisi kumpulan kelas berupa entitas-entitas yang membentuk gambaran awal sistem dan menjadi landasan untuk menyusun basis data. 21 BoundaryClass, berisi kumpulan kelas yang menjadi interfaceatau interaksi antara satu atau lebih aktor dengan sistem, seperti tampilan formentry dan formcetak. Control class, suatu objek yang berisi logika aplikasi yang tidak memiliki tanggung jawab kepada entitas, contohnya adalah kalkulasi dan aturan bisnis yang melibatkan berbagai objek. Message, simbol mengirim pesan antar class. Recursive, menggambarkan pengiriman pesan yang dikirim untuk dirinya sendiri. Activation, activationmewakili sebuah eksekusi operasi dari objek, panjang kotak ini berbanding lurus dengan durasi aktivitas sebuah operasi. Lifeline, garis titik-titik yang terhubung dengan objek, sepanjang lifelineterdapat activation. (Sumber : WinduGata ; 2013 : 7) 4. Class Diagram (Diagram Kelas) Merupakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas di dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan dan tanggng jawab entitas yang menentukan perilaku sistem. Class diagram juga menunjukkan atribut-atribut dan operasi-operasi dari sebuah kelas dan constraintyang berhubungan dengan objek yang dikoneksikan. Class diagram secara khas meliputi: Kelas (Class), Relasi, Associations, Generalization dan Aggregation, Atribut (Attributes), Operasi (Operations/Method), Visibility, tingkat akses objek eksternal kepada suatu 22 operasi atau atribut. Hubungan antar kelas mempunyai keterangan yang disebut dengan multiplicityatau kardinaliti. Tabel II.4. MultiplicityClass Diagram Multiplicity 1 0..* 1..* 0..1 n..n Penjelasan Satu dan hanya satu Boleh tidak ada atau 1 atau lebih 1 atau lebih Boleh tidak ada, maksimal 1 Batasan antara. Contoh 2..4 mempunyai arti minimal 2 maksimum 4 (Sumber : WinduGata ; 2013 : 9)