BAB II TINJAUAN PUSTAKA II.1.
Rancang Bangun Rancang Bangun (desain) adalah tahap dari setelah analisis dari siklus
pengembangan sistem yang merupakan pendefinisian dari kebutuhankebutuhan fungsional, serta menggambarkan bagaimana suatu sistem dibentuk yang dapat berupa penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi, termasuk menyangkut mengkonfigurasikan dari komponen-komponen perangkat keras dan perangkat lunak dari suatu system (Ria Apriyani ; 2013 : 2). II.2.
Aplikasi Aplikasi adalah program yang memiliki aktivitas pemrosesan perintah
yang diperlukan untuk melaksanakan permintaan pengguna dengan tujuan tertentu. Aplikasi adalah program atau sekelompok program yang dirancang untuk digunakan oleh pengguna akhir (end user). Aplikasi dapat dimanfaatkan untuk keperluan
pembelajaran
pembelajaran
seharusnya
kepada
siswa
terdapat
mengingat
interaksi
antar
dalam
suatu
proses
komponen-komponen
pembelajaran. Salah satu pendekatan pembelajaran yang memungkinkan antara komponen-komponen pembelajaran tersebut adalah pembelajaran interaktif (Irvan Rizkiansyah ; 2012 : 2).
11
12
II.3.
Media Pembelajaran Dalam proses komunikasi, media merupakan apa saja yang mengantarkan
atau membawa informasi ke penerima informasi. Di dalam proses belajar mengajar yang pada hakikatnya juga merupakan proses komunikasi, informasi atau pesan yang dikomunikasikan adalah isi atau bahan ajar yang telah ditetapkan dalam kurikulum, sumber informasi adalah guru, penulis buku atau judul, perancang dan pembuat media pembelajaran lainnya; sedangkan penerimaan informasi adalah siswa atau warga belajar. Pengertian media pembelajaran bervariasi. Ada ahli media yang membuat definisi yang mengacu hanya pada alat atau perangkat keras, ada juga yang menonjolkan perangkat lunak. Media pembelajaran sebagai teknologi pembawa informasi yang dapat dimanfaatkan untuk proses belajar mengajar. Hubungan komunikasi akan berjalan lancar dengan hasil yang maksimal apabila menggunakan alat bantu yang disebut media komunikasi. Media pembelajaran meliputi alat yang secara fisik digunakan untuk menyampaikan isi materi pengajaran, yang terdiri dari antara lain buku, tape recorder, kaset, video camera, video recorder, film, slide (gambar bingkai), foto, gambar, grafik, televisi, dan komputer. Dengan kata lain, media adalah komponen sumber belajar atau wahana fisik yang mengandung materi instruksional yang dapat merangsang siswa untuk belajar. Di lain pihak, National Education Association memberikan definisi media sebagai bentuk-bentuk komunikasi baik tercetak maupun audio-
13
visual dan peralatannya; dengan demikian, media dapat dimanipulasi, dilihat, didengar, atau dibaca. Berdasarkan uraian beberapa batasan tentang media, dapat dikemukakan ciri-ciri umum yang terkandung pada media adalah: 1. Media pembelajaran memiliki pengertian fisik yang dewasa ini dikenal sebagai hardware (perangkat keras), yaitu sesuatu benda yang dapat dilihat, didengar, atau diraba dengan pancaindera. 2. Media pembelajaran memiliki pengertian nonfisik yang dikenal sebagai software (perangkat lunak), yaitu kandungan pesan yang terdapat dalam perangkat keras yang merupakan isi yang ingin disampaikan kepada siswa. 3. Penekanan media pembelajaran terdapat pada visual dan audio. 4. Media pembelajaran memiliki pengertian alat bantu pada proses belajar baik di dalam maupun di iuar kelas. 5. Media Pembelajaran digunakan dalam rangka komunikasi dan interaksi guru dan siswa dalam proses pembelajaran. 6. Media pembelajaran dapat digunakan secara massal (misalnya: radio, televisi), kelompok besar dan kelompok kecil (misalnya film, slide, video, OHP), atau perorangan (misalnya: modul, komputer, radio tape/ kaset, video recorder). 7. Sikap, perbuatan, organisasi, strategi, dan manajemen yang berhubungan dengan penerapan suatu ilmu (Yuyus Suherman ; 2009 : 65). II.4.
Papan Tulis Virtual Sebuah papan tulis (juga dikenal dengan istilah markerboard, papan
kering-menghapus, kering-menghapus papan, pena-board, dan greaseboard
14
keliru) adalah nama untuk setiap glossy, permukaan biasanya putih untuk tanda honorer. Whiteboard analog dengan papan tulis, yang memungkinkan cepat menandai dan menghapus penandaan pada permukaannya. Popularitas whiteboard meningkat pesat pada pertengahan 1990-an dan mereka telah menjadi perlengkapan di banyak kantor, ruang rapat, ruang kelas sekolah, dan lingkungan kerja lainnya. Papan tulis Istilah ini juga digunakan secara metaforis untuk merujuk pada fitur aplikasi perangkat lunak komputer yang mensimulasikan papan tulis. Seperti "papan tulis virtual" memungkinkan satu atau lebih orang untuk menulis atau menggambar gambar pada kanvas simulasi. Ini adalah fitur umum dari banyak pertemuan virtual, kolaborasi, dan aplikasi instant messaging. Papan tulis Istilah ini juga digunakan untuk merujuk kepada papan tulis interaktif (https://www.translate.com/english/sebuah-papan-tulisjuga-dikenal-dengan-istilah-markerboard-papan-kering-menghapus-keringmenghapu/33210859) II.5.
WebSocket WebSocket merupakan sebuah protokol komunikasi dua arah yang dapat
digunakan oleh browser. Jika pada AJAX kita hanya dapat melakukan komunikasi satu arah dengan mengirimkan request kepada server dan menunggu balasannya,
maka
menggunakan
WebSocket
kita
tidak
hanya
dapat
mengirimkan request kepada server, tetapi juga menerima data dari server tanpa harus mengirimkan request terlebih dahulu. Hal ini berarti ketika menggunakan WebSocket pengguna harus terus menerus terkoneksi dengan server, dan kita
15
memerlukan sebuah server khusus untuk dapat menjalankan aplikasi WebSocket dengan benar. Sederhananya, perhatikan gambar berikut :
Gambar II.1. Ajax dan WebSocket (Sumber : https://bertzzie.com/knowledge/javascript-lanjut/WebSocket.html) Dari gambar di atas, kita dapat melihat bagaimana dalam kasus AJAX, setiap request dari pengguna maupun respon dari server dilakukan secara terpisah. Jika ingin mengirimkan request ke server, kita perlu membuka koneksi baru yang kemudian akan dibalas oleh server seperti ia membalas permintaan halaman HTML biasa. Server juga tidak dapat langsung melakukan pengiriman data ke klien tanpa ada permintaan terlebih dahulu. Hal ini berbeda dengan pola komunikasi WebSocket, di mana koneksi berjalan tanpa terputus dan server dapat mengirimkan data atau perintah tanpa harus ada permintaan dari pengguna terlebih dahulu. Dengan begitu, WebSocket bahkan juga memungkinkan server mengirimkan data atau perintah ke semua klien yang terkoneksi, misalkan untuk memberikan notifikasi global.
16
Untuk dapat melihat langsung bagaimana cara kerja WebSocket, kita akan langsung melakukan eksperimen. Objek yang diperlukan untuk menggunakan WebSocket dari browser adalah WebSocket. Tetapi sebelumnya, kita memerlukan sedikit persiapan terlebih dahulu, yaitu komponen server dari WebSocket Teknologi WebSocket membutuhkan cara penggunaan yang sama sekali berbeda dibandingkan dengan AJAX. Jika pada AJAX kita dapat mengguankan komponen server yang sama dengan server HTTP pada umumnya, untuk WebSocket kita memerlukan komponen server khusus. Hal ini disebabkan oleh model komunikasi WebSocket yang mengharuskan pengguna terkoneksi dengan server sepanjang aplikasi masih digunakan. Arsitektur server yang diperlukan untuk melayani banyak koneksi terbuka seperti ini tentu berbeda dengan arsitektur yang dibutuhkan untuk koneksi satu arah seperti pada HTTP. Ketika menggunakan WebSocket, biasanya kita akan memerlukan komponen server (beserta kode sisi server) khusus. Adapun beberapa contoh komponen server untuk WebSocket yaitu: 1. Socket.IO (Javascript) 2. SignalR (.Net) 3. Jetty (JVM) 4. Event Machine (Ruby) 5. Tornado (Python) Bahasa yang disebutkan pada daftar di atas adalah bahasa yang digunakan pada sisi server (https : // bertzzie.com/ knowledge / javascript - lanjut/ WebSocket.html)
17
II.6.
Javascript Javascript adalah bahasa pemrograman yang berjalan di sisi klien (klien
web / browser, mis:Internet Explorer). Teknologi Javascript dibuat dengan tujuan agar dapat memperingan kerja server serta menambah sifat dinamis dan interaktivitas dari sebuah situs HTML. Penggunaan Javascript terutama untuk halhal yang tidak bersifat penting atau kritis, seperti pemeriksaan format input, animasi teks, efek kursor mouse, dan aplikasi-aplikasi ringan seperti kalkulator maupun games. Teknologi Javascript pertama kali diperkenalkan oleh Netscape sejak Netscape 2.0 yang dapat menjalankan Javascript versi 1.0, kemudian Netscape 3.0 menggunakan Javascript versi 1.1 dan Netscape 4 ke atas menggunakan Javascript versi 1.2. Sedangkan untuk Internet Explorer melakukan implementasi script dengan menggunakan standar tersendiri yaitu VBscript serta Jscript yang kompatibel dengan Javascript, sehingga Javascript dapat berjalan pada IE tetapi VBscript tidak dapat berjalan di Netscape. Penulisan
Javascript
pada
HTML
menggunakan
tag
<SCRIPT>... yang dapat ditempatkan pada area ataupun . Penempatan tag <SCRIPT> pada area dimaksudkan agar Javascript dijalankan terlebih dahulu sebelum menampilkan halaman HTML, tetapi ada beberapa Javascript yang menggunakan elemen HTML justru harus ditulis pada area . (Ek Kian ; 2010 : 2).
18
II.7.
Pengertian NetBeans 8.0 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 Solaris yang telah terinstal JVM (Java Virtual Machine) (Indra Purnama;2012 : 6). II.7.1. Fitur – Fitur Netbeans 1. Netbeans Mobility Pack Fitur untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (Mobile). Biasanya di gunakan untuk menulis, menguji, dan debugging pada perangkat mobile.
19
2. Netbeans Profiler Pack Fitur yang mengoptimalkan aplikasi java, membantu menemukan kebocoran memori dan mengoptimalkan kecepatan. 3. Netbeans C / C++ Pack Fitur untuk menambahkan dukungan terhadap pengembang C / C++ ke Netbeans IDE. Pack ini mmeperbolehkan pengembang menggunakan sekumpulan compiler dan alat sendiri bersama dengan Netbeans IDE untuk membangun aplikasi native. 4. Netbeans Enterprise Pack Fitur untuk memperluas dukungan terhadap pengembangan aplikasi perusahaan dan web service pada Netbeans IDe tersebut. 5. Netbeans Ruby Pack Fitur untuk mengijinkan pengembangan IDE menggunakan Ruby dan JRuby, sebagaimana Rouls untuk dua implementasi Ruby yang lain. 6. Netbeans Java Script Editor Fitur yang menyediakan perluasan dukungan terhadap Java Script dan CSS dalam web (Aminah Sri Rahayu ; 2014 : 2). II.8.
Node Node.js merupakan salah satu peranti pengembang yang bisa digunakan
untuk membuat aplikasi berbasis Cloud. Node.js dikembangkan dari engine JavaScript yang dibuat oleh Google untuk browser Chrome / Chromium (V8) ditambah dengan libUV serta beberapa pustaka internal lainnya. Dengan menggunakan Node.js, semua pengembangan akan dilakukan menggunakan JavaScript, baik pada sisi klien maupun server. Node.js dibuat pertama kali oleh Ryan Dahl (twitter.com/ryah) dan sampai saat ini dikembangkan oleh komunitas
20
sebagai software bebas dengan pendanaan utama dari Joyent, perusahaan tempat Ryan Dahl bekerja (Bambang Purnomosidi ; 2013 : 4).
II.9.
UML (Unified Modeling Language) Menurut Windu Gata (2013 : 4) Hasil pemodelan pada OOAD
terdokumentasikan dalam bentuk Unified Modeling Language (UML). UML adalah bahasa spesifikasi standar yang dipergunakan untuk mendokumentasikan, menspesifikasikan dan membangun perangkat lunak. UML merupakan metodologi dalam mengembangkan sistem berorientasi objek dan juga merupakan alat untuk mendukung pengembangan sistem. UML saat ini sangat banyak dipergunakan dalam dunia industri yang merupakan standar bahasa pemodelan umum dalam industri perangkat lunak dan pengembangan sistem. Alat bantu yang digunakan dalam perancangan berorientasi objek berbasiskan UML adalah sebagai berikut : -
Use case Diagram Use case diagram merupakan pemodelan untuk kelakukan (behavior) sistem
informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Dapat dikatakan use case 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 use case diagram, yaitu :
21
Tabel II.1. Simbol Use Case Gambar
Keterangan Use case menggambarkan fungsionalitas yang disediakan sistem sebagai unit-unit yang bertukan pesan antar unit dengan aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal nama use case. Aktor adalah abstraction dari 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 use case, tetapi tidak memiliki control terhadap use case. Asosiasi antara aktor dan use case, digambarkan dengan garis tanpa panah yang mengindikasikan siapa atau apa yang meminta interaksi secara langsung dan bukannya mengidikasikan aliran data. Asosiasi antara aktor dan use case yang menggunakan panah terbuka untuk mengidinkasikan bila aktor berinteraksi secara pasif dengan sistem. Include, merupakan di dalam use case lain (required) atau pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program. Extend, merupakan perluasan dari use case lain jika kondisi atau syarat terpenuhi. (Sumber : Windu Gata ; 2013 : 4)
Contoh dari pembuatan use case diagram dapat dilihat pada gambar II.2 berikut :
22
Gambar. II.2. Use Case Diagram (Sumber : Windu Gata ; 2013 : 4) -
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 :
Tabel II.2. Simbol Activity Diagram Gambar
Keterangan Start point, diletakkan pada pojok kiri atas dan merupakan awal aktifitas. End point, 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.
23
Join (penggabungan) atau rake, digunakan untuk menunjukkan adanya dekomposisi.
Decision Points, menggambarkan pilihan untuk pengambilan keputusan, true, false.
New Swimline
Swimlane, pembagian activity diagram untuk menunjukkan siapa melakukan apa.
(Sumber : Windu Gata ; 2013 : 6) Contoh dari pembuatan activity diagram dapat dilihat pada gambar II.2 berikut : Memasukkan Username Memasukkan Password invalid
Menampilkan Pesan Error
Valid
Aktifkan Menu Administrator
Gambar. II.3. Activity Diagram (Sumber : Windu Gata ; 2013 : 6) -
Diagram Urutan (Sequence Diagram) Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek. Simbol-simbol yang digunakan dalam sequence diagram, yaitu :
24
Tabel II.3. Simbol Sequence Diagram Gambar
Keterangan Entity Class, merupakan bagian dari sistem yang berisi kumpulan kelas berupa entitas-entitas yang membentuk gambaran awal sistem dan menjadi landasan untuk menyusun basis data. Boundary Class, berisi kumpulan kelas yang menjadi interface atau interaksi antara satu atau lebih aktor dengan sistem, seperti tampilan formentry dan form cetak. 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, activation mewakili sebuah eksekusi operasi dari objek, panjang kotak ini berbanding lurus dengan durasi aktivitas sebuah operasi.
Lifeline, garis titik-titik yang terhubung dengan objek, sepanjang lifeline terdapat activation.
(Sumber : Windu Gata ; 2013 : 7) Contoh dari pembuatan sequence diagram dapat dilihat pada gambar II.4 berikut :
25
Gambar. II.4. Sequence Diagram (Sumber : Windu Gata ; 2013 : 7) -
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 constraint yang 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 operasi atau atribut. Hubungan antar kelas mempunyai keterangan yang disebut dengan multiplicity atau kardinaliti. Tabel II.4. Multiplicity Class 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 : Windu Gata ; 2013 : 8)
26
Contoh dari pembuatan use case diagram dapat dilihat pada gambar II.5 berikut :
Gambar. II.5. Class Diagram (Sumber : Windu Gata ; 2013 : 8)