BAB 2 LANDASAN TEORI
2.1. Teori Umum Teori umum merupakan teori pokok yang dijadikan landasan teori dalam perancangan aplikasi Smart Board. Berikut ini adalah teori-teori umum yang berhubungan dengan perancangan aplikasi Smart Board:
2.1.1. Suara Menurut Vaughan (2011:104), suara adalah elemen multimedia yang paling sensual. Hal itu merupakan cara bicara yang paling bermakna, mulai dari bisikan sampai dengan teriakan. Suara dapat menyajikan kenikmatan dari musik, tekanan yang menakjubkan dari dari special effects, atau suara latar yang mempengaruhi suasana hati. Ketika sesuatu bergetar di udara dan bergerak maju-mundur, hal tersebut akan menciptakan gelombang dari tekanan. Gelombang suara bervariasi pada tingkat tekanan suara (amplitudo) dan pada frekuensi (nada). Tingkat tekanan suara diukur dalam satuan decibels (dB).
2.1.2. Digital Audio Menurut Vaughan (2011:168), digital audio adalah penggambaran karakteristik dari gelombang suara dengan menggunakan angka-angka. Proses penggubahan dari gelombang suara menjadi angka-angka disebut sebagai
9
10 digitizing. Digitizing dapat dilakukan melalui microphone, synthesizer, siaran radio, siaran televisi, CD dan DVD. Proses digitizing disebut juga sebagai sampling karena dalam satu detik, sample dari suara akan diambil sebanyak n kali yang kemudian akan disimpan menjadi informasi digital berupa bit-bit. Kualitas dari perekaman ini dipengaruhi oleh seberapa sering sample diambil setiap detiknya (sampling rate) dan juga berapa rentang angka yang dapat disimpan untuk setiap sample (bit depth). Semakin besar nilai sampling rate dan bit depth, akan meningkatkan kualitas digital audio ketika diputar kembali. Jadi, kualitas digital audio bersifat device independent yang berarti alat yang digunakan untuk memutar digital audio tidak akan mempengaruhi kualitas digital audio tersebut. Tiga sampling rate yang paling banyak digunakan dalam multimedia adalah 44.1 kHz, 22.05 kHz, dan 11.025 kHz. Sedangkan untuk bit depth, antara 8 bit atau 16 bit. Dalam proses digitizing, dikenal juga istilah quantization. Quantization adalah pembulatan nilai dari sample ke bilangan bulat terdekat dan pemangkasan nilai amplitudo yang berada diluar batas atas dan bawah yang bisa ditampung. Quantization dapat menimbulkan noise yang tidak diinginkan dan dapat memberikan efek distorsi pada suara.
2.1.3. Video Menurut Vaughan (2011:164), video merupakan bagian multimedia yang paling memikat dan merupakan perangkat yang kuat untuk membawa user lebih dekat ke dunia nyata. Disisi lain, video merupakan elemen multimedia yang membutuhkan kinerja tinggi pada komputer atau perangkat lainnya karena video
11 membutuhkan memory dan storage size yang lebih tinggi daripada elemen multimedia lainnya.
2.1.4. Rational Unified Process (RUP) Menurut IBM (2012), Rational Unified Process (RUP) adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu :
Gambar 2.1 Metode RUP (Rational Unified Process) (Sumber: http://www.ibm.com/developerworks/rational/ library/feb05/krebs/krebsfig1.gif)
12
1. Inception Inception merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi. 2. Elaboration Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsystem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequence, class, component, deployment, dll.), dan pembuatan dokumentasi. 3. Construction Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan.
13 Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain (misal menggunakan Class Responsibility Collaborator untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi. 4. Transition Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi.
Selain itu, terdapat juga empat karakteristik RUP, yaitu : 1. Berulang (iterative) Tahap pengembangan untuk setiap produk yang diserahkan (release) dilaksanakan secara berulang. 2. Architecture Centric Menggunakan
arsitektur
sistem
sebagai
artifak
utama
untuk
konseptualisasi, konstruksi, pengelolaan, dan penyusunan sistem selama pengembangan. 3. Use case-driven Menggunakan use case sebagai artifak utama untuk menetapkan perilaku sistem yang diinginkan dan untuk mengkomunikasikan perilaku sistem tersebut kepada para stakeholder sistem.
14 4. Risk-driven Menghilangkan atau mengurangi risiko-risiko yang dapat menghambat kesuksesan proyek.
RUP juga mempunyai aliran kerja yang terbagi menjadi dua bagian, yaitu: 1. Aliran Kerja Utama a. Business Modeling Pada tahap ini, terdapat identifikasi dan deskripsi langsung dari area dan permasalahan untuk redesign atau reengineering, beserta struktur dan proses–proses bisnis organisasi. b. Requirements Tujuan utama pada fase ini adalah menyusun sistem apa yang seharusnya ada dan mengapa perlu dibuat, mendefinisikan batas dari sistem, melihat kemungkinan ancaman keamanan serta bagaimana cara penanggulangannya, dan mengestimasi biaya dan skala waktu yang rumit. Isi dari sistem dibangun yang kemudian diterjemahkan kedalam use case model dengan tambahan spesifikasi kebutuhan. Baik kebutuhan fungsional dan nonfungsional akan dikumpulkan dan dianalisis. Kebutuhan user dan stakeholder serta fitur high-level didefinisikan dan kemudian diubah menjadi specific software requirements. c. Analysis and Design Pada fase ini, semua requirement pada tahap kedua akan diubah menjadi spesifikasi implementasi.
15
d. Implementation Pada tahap ini, semua analisa dan desain yang telah dibuat pada fase sebelumnya akan diimplementasikan dan diterjemahkan menjadi kode program. e. Testing Pada
tahap
ini,
pengembang
software
akan
menguji
dan
memverifikasi semua interaksi komponen, kebutuhan yang telah diimplementasikan dan kualitas dari software yang telah dikembangkan. f. Deployment Pada tahap ini, pengembang software menyebarkan software yang telah selesai kepada user. Pengembang software juga menyediakan dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik dan masukan terhadap software yang berujung pada modifikasi fungsi dan fitur agar menjadi lebih baik. 2. Aliran Kerja Pendukung a. Configuration and Change Management Tahap ini menjalankan dan merawat integritas dari proyek. Kegiatannya meliputi monitoring dan mengatur perubahan permintaan, perubahan biaya, dan tetap mengontrol berbagai versi produk dan artifact. Tahap ini juga meliputi manajemen konfigurasi hardware dan software.
16
b. Project Management Tahap ini menyediakan framework untuk manajemen software dan resiko. Tahap ini juga menyediakan pedoman untuk planning, staffing, monitoring dan secara umum menunjukan manajemen proyek. c. Enviroment Tahap ini menjelaskan tentang infrastruktur dan metode yang dibutuhkan untuk mengembangkan sistem.
2.1.5. Unified Modelling Language (UML) Menurut Booch, Rumbaugh, dan Jacobson (2005:1), UML atau Unified Modelling Language adalah bahasa berbasiskan grafis yang digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan objekobjek dari sistem perangkat lunak intensif. UML membuat sebuah standar untuk menuliskan blueprint atau rancangan dari sebuah sistem, dimulai dari bagian konseptual seperti proses bisnis dan fungsi-fungsi sistem sampai dengan bagian konkrit seperti class pada bahasa pemrograman tertentu, skema database, dan komponen-komponen perangkat lunak yang dapat digunakan kembali. 1. Class Diagram Menurut Booch, Rumbaugh, dan Jacobson (2005:75), class diagram adalah diagram yang menampilkan elemen statis seperti class, interfaces, collaborations beserta dengan hubungannya. Komponen-komponen utama pada class diagram antara lain:
17
a. Class Menurut Booch, Rumbaugh, dan Jacobson (2005:31), class merupakan
sebuah
deskripsi
dari
sekumpulan
objek
yang
mempunyai atribut, operasi, dan hubungan yang sama. Sebuah class digambarkan dengan
sebuah kotak. Class mempunyai tiga
komponen yang membentuknya yaitu: • Nama Setiap class harus mempunyai nama yang membedakan class tersebut dengan class lainnya. • Atribut Atribut merupakan representasi ciri dari sebuah class yang mempunyai rentang nilai tertentu. Sebuah class bisa mempunyai atribut yang tidak terbatas atau bahkan tidak mempunyai atribut satupun. • Operasi Operasi merupakan abstraksi sesuatu yang dapat dilakukan terhadap sebuah objek. Sebuah class bisa mempunyai operasi yang tidak terbatas atau bahkan tidak mempunyai operasi satupun. b. Relationship Menurut Booch, Rumbaugh, dan Jacobson (2005:39), relationship merupakan
hubungan
diantara
mempunyai beberapa jenis, yaitu:
elemen-elemen.
Relationship
18 • Dependencies Dependencies merupakan hubungan yang menyatakan bahwa sebuah elemen menggunakan informasi dan operasi dari elemen lainnya, tapi tidak sebaliknya. • Generalizations Generalizations merupakan hubungan antara elemen umum dengan
elemen
yang
lebih
spesifik.
Generalizations
menggambarkan hubungan turunan dari orang tua ke anak. • Associations Associations merupakan hubungan struktural yang menetapkan bahwa suatu objek terhubung dengan objek lainnya. Pada association, biasanya digambarkan juga multiplicity-nya, yaitu jumlah objek yang terbentuk dari class yang ditentukan multiplicity-nya. • Aggregation Aggregation
merupakan
bentuk
hubungan
khusus
dari
associations yang menggambarkan hubungan keseluruhan dengan bagiannya (whole/part relationship). Pada aggregations, siklus hidup objek yang lebih besar (whole) tidak bergantung kepada objek yang lebih kecil (part). • Composition Composition
merupakan
bentuk
hubungan
khusus
dari
associations yang menggambarkan hubungan keseluruhan
19 dengan bagiannya (whole/part relationship). Pada compositions, siklus hidup objek yang lebih besar (whole) bergantung kepada objek yang lebih kecil (part). Jika objek yang lebih kecil tidak hidup, maka objek yang lebih besar juga tidak dapat hidup.
Gambar 2.2 Contoh Class Diagram (Sumber: The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, 2005)
20
2. Use Case Menurut Booch, Rumbaugh, dan Jacobson (2005:215), use case merupakan permodelan yang digunakan untuk membuat struktur kelakuan dan kegunaan didalam sebuah sistem. Terdapat dua cara yang dapat digunakan untuk menyajikan permodelan use case, yaitu: a. Use Case Diagram Menurut Booch, Rumbaugh, dan Jacobson (2005:227), use case diagram merupakan diagram yang mendeskripsikan sekumpulan perilaku yang dilakukan oleh sistem untuk menghasilkan suatu hasil yang bernilai untuk aktor. Komponen-komponen utama pada use case diagram adalah: • Use Case Use Case merupakan deskripsi perilaku yang dapat dilakukan oleh sebuah sistem. • Aktor Aktor merepresentasikan user yang mempunyai perannya masing-masing terhadap setiap use case.
21
Gambar 2.3 Contoh Use Case Diagram (Sumber: The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, 2005)
b. Use Case Narrative Deskripsi tekstual kegiatan bisnis dan bagaimana pengguna akan berinteraksi dengan sistem untuk menyelesaikan suatu tugas.
3. Sequence Diagram Menurut Booch, Rumbaugh, dan Jacobson (2005:201), sequence diagram adalah diagram yang menggambarkan urutan interaksi antar sekumpulan objek dan hubungannya, beserta pesan yang dapat dikirim diantara objek-objek tersebut. Sequence diagram menekankan pada urutan waktu datangnya pesan-pesan yang dikirimkan. Sequence diagram digambarkan dengan sebuah tabel yang menampilkan objek yang tersusun pada sumbu-x dan pesan-pesan yang diurutkan berdasarkan waktu yang tersusun pada sumbu-y. Komponen-komponen utama pada sequence diagram:
22 a. Object/Actor Merupakan elemen yang menggirim message dan menerima message. Object digambarkan dengan kotak berisi nama objek dan nama class. Sedangkan actor digambarkan dengan gambar orang. b. Message Merupakan pesan yang dikirimkan ke object/actor lainnya dengan melakukan suatu operasi. Message digambarkan dengan panah. Terdapat beberapa jenis message, yaitu: • Call Terdapat dua jenis call message, yaitu: -
Synchronous Message Message yang dikirimkan ke object/actor dengan menunggu hingga operasi selesai dilakukan. Synchronous message digambarkan dengan panah yang bagian ujungnya hitam penuh.
-
Asynchronous Message Message yang dikirimkan ke object/actor tanpa menunggu hingga operasi selesai dilakukan. Asynchronous message digambarkan dengan panah yang bagian ujungnya tidak hitam penuh.
• Return Message yang dikembalikan ke object/actor pengirim sebagai tanggapan dari message yang dikirimkan sebelumnya. Return
23 message digambarkan dengan panah garis putus-putus yang bagian ujungnya tidak hitam penuh. • Send Message yang digunakan untuk mengirimkan sinyal ke object/actor. • Create Message yang digunakan untuk membuat sebuah object. • Destroy Message yang digunakan menghancurkan sebuah object yang sudah dibuat sebelumnya. Sebuah object juga memungkinkan untuk hancur dengan sendirinya (commit suicide). c. Lifeline Merupakan garis yang menandakan hidup dari sebuah object/actor dalam sebuah sistem. Lifeline digambarkan dengan garis putus-putus vertikal dibawah object/actor.
24
Gambar 2.4 Contoh Sequence Diagram (Sumber: The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, 2005)
Selain itu, pada sequence diagram juga terdapat control operator yang digunakan untuk membuat operasi structural, seperti perulangan dan conditional. Sebuah control operator digambarkan dengan sebuah daerah kotak dengan sebuah segi lima kecil pada bagian atas kiri. Pada setiap kotak, terdapat teks di dalam sebuah segi lima kecil tersebut yang digunakan untuk menjelaskan control operator apa yang digunakan. Setiap lifeline object/actor yang berada di dalam body control operator akan diterapkan operasi yang sesuai. Control operator yang dimiliki oleh sequence diagram antara lain:
25 a. Optional Teks yang ditulis adalah opt. Body control operator akan dieksekusi jika sebuah kondisi (guard condition) terpenuhi. Guard condition merupakan sebuah ekspresi Boolean yang digambarkan dengan tulisan yang diapit dengan kurung siku pada sebuah lifeline object/actor. Tulisan tersebut menandai atribut dari object/actor tersebut. b. Conditional Teks yang ditulis adalah alt. Body control operator dibagi menjadi beberapa sub-area dengan menggunakan garis horizontal putusputus. Setiap sub-area merepresentasikan sebuah cabang dari conditional. Jika sebuah guard condition pada sebuah sub-area terpenuhi, maka sub-area tersebut akan dieksekusi. Pada umumnya, hanya terdapat sebuah sub-area saja yang dapat dieksekusi. Juga bisa terdapat sebuah sub-area yang tidak memiliki guard condition untuk mendefinisikan operator [else], yang dieksekusi jika tidak ada satupun guard condition yang terpenuhi. c. Parallel Teks yang ditulis adalah par. Body control operator dibagi menjadi beberapa sub-area dengan menggunakan garis horizontal putusputus. Setiap sub-area merepresentasikan operasi yang akan berjalan secara bersamaan (concurrent). Jika guard condition pada parallel terpenuhi, maka setiap sub-area akan dijalankan secara bersamaan.
26
d. Loop (iterative) Teks yang ditulis adalah loop. Body control operator dieksekusi secara
berulang
sebanyak
n
kali.
Banyaknya
perulangan
digambarkan pada angka di sebelah teks loop. Misalnya: loop(1,5) yang menandakan body control operator akan diulang sebanyak lima kali.
Gambar 2.5 Contoh sequence diagram dengan control operator (Sumber: The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, 2005)
27 4. State Diagram Menurut Booch, Rumbaugh, dan Jacobson (2005:252), state diagram merupakan diagram yang menggambarkan keadaan atau kondisi yang berurutan dari sebuah objek selama siklus hidupnya dalam menanggapi event-event yang terjadi. Komponen-komponen utama pada state diagram adalah: a. State State merupakan kondisi atau situasi selama sebuah objek hidup dimana state tersebut memenuhi kondisi-kondisi, melakukan aktivitas, atau menunggu event trigger. State digambarkan dengan rounded-rectangle yang berisi deskripsi state. Terdapat dua buah state spesial di dalam state diagram: • Initial State Initial state menggambarkan state awal mula dari sebuah state diagram. Initial state ditandai dengan lingkaran hitam penuh. • Final State Final state menggambarkan state akhir dari sebuah state diagram. Final state ditandai dengan lingkaran hitam penuh dengan lingkaran bergaris hitam di bagian luarnya.
b. Transition Transition merupakan hubungan dua state yang menandakan bahwa sebuah objek pada state pertama akan melakukan tindakan tertentu
28 dan memasuki state kedua jika suatu event terjadi dan suatu kondisi terpenuhi. Transition ditandai dengan panah yang keluar dari state pertama menunjuk ke state kedua. Transition mempunyai lima bagian yang membangunnya: • Source State Merupakan state yang menjadi sumber dari transition. • Event Trigger Merupakan pemicu terjadinya transition dari satu state ke state berikutnya. • Signal Merupakan pesan asynchronous yang dikirim antar objek. • Guard Condition Merupakan ekspresi benar atau salah yang akan dievaluasi ketika terjadi event trigger. • Effect Tindakan yang akan dilakukan oleh sebuah objek ketika memasuki suatu state. • Target State Merupakan state yang menjadi tujuan dari transition.
Terdapat tiga jenis transition: • Event Trigger Transition
29 Merupakan transition yang terjadi jika suatu event terjadi. Nama event trigger yang terjadi ditandai dengan tulisan pada panah transition. • Self-Transition Merupakan transition yang berpindah ke state yang sama. • Completion Transition Merupakan transition yang berjalan secara otomatis ketika tindakan-tindakan pada source state sudah selesai dilakukan.
Gambar 2.6 Contoh State Diagram (Sumber: The Unified Modeling Language User Guide, Booch, Rumbaugh, Jacobson, 2005)
30 2.1.6. Storyboard Menurut Vaughan (2008:407), storyboard pada awalnya dibuat untuk menampilkan catatan design dan spesifikasi sebelum dilakukan proses renderisasi desain. Storyboard biasanya berupa sebuah prototype dari sebuah rancangan layar, yang mencangkup gambar–gambar beserta teks yang menyertainya. Storyboard dapat membantu developer untuk : 1. Mendefinisikan parameter dari rancangan layar sesuai dengan sumber daya dan waktu yang tersedia 2. Fokus dan mengorganisir rancangan layar 3. Mencari tahu media apa yang akan digunakan pada setiap bagian dari rancangan layar
31
Gambar 2.7 Contoh Multimedia Storyboard (Sumber: http://www.mcli.dist.maricopa.edu/authoring/studio/guidebook/sb.html)
2.1.7. Interaksi Manusia Komputer Menurut Shneiderman dan Plaisant (2010:32), ada lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu: 1. Waktu belajar Berapa lama waktu yang dibutuhkan untuk kebanyakan anggota dari sebuah komunitas user untuk mempelajari bagaimana menggunakan aksi yang relevan untuk sekumpulan tugas?
32 2. Kecepatan kinerja Berapa lama waktu yang dibutuhkan untuk menyelesaikan tugas yang ditentukan? 3. Tingkat kesalahan user Berapa banyak dan jenis kesalahan apa saja yang dibuat user dalam menyelesaikan tugas yang ditentukan? 4. Daya ingat Seberapa baik user dapat mempertahankan pengetahuan mereka setelah 1 jam, 1 hari atau 1 minggu? 5. Kepuasan subjektif Seberapa suka user menggunakan aspek yang beragam dari antarmuka?
Selain itu, menurut Shneiderman dan Plaisant (2010:88), terdapat delapan aturan emas (Shneiderman's Eight Golden Rules of Interface Design) dalam merancang antarmuka, yaitu: 1. Berusaha untuk konsisten Rangkaian aksi yang konsisten diperlukan untuk situasi yang sama, istilah yang sama sebaiknya digunakan untuk perintah, menu dan tampilan bantuan, warna, tampilan, penggunaan huruf kapital, font dan yang lainnya harus disamakan juga. Pengecualian untuk beberapa kondisi, seperti konfirmasi perintah penghapusan harus dapat dipahami dan jumlahnya terbatas. 2. Memungkinkan user untuk menggunakan shortcut
33 Shortcut digunakan untuk mengurangi jumlah interaksi dan menghemat waktu yang digunakan oleh user. Seiring dengan semakin meningkatnya jumlah interaksi yang dilakukan oleh user, maka diharapkan adanya shortcut yang biasanya berupa special keys atau perintah-perintah singkat. 3. Menawarkan umpan balik yang informatif Untuk setiap kegiatan user, harus ada umpan balik dari sistem. Untuk aksi yang sering dan yang kurang penting, respon haruslah sederhana, sedangkan untuk aksi yang lebih jarang dan penting, respon harus lebih kuat. Tampilan visual dari objek yang menarik dapat memberikan lingkungan yang nyaman untuk menampilkan perubahan secara eksplisit. 4. Merancang dialog yang memberikan penutupan Serangkaian aksi harus disusun menjadi kelompok-kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif dari serangkaian aksi memberikan kepuasan kepada user dalam hal prestasi, rasa lega, mengisyaratkan untuk membuang kemungkinan-kemungkinan yang akan terjadi dalam pikiran mereka, dan sebuah indikator untuk memulai sekumpulan aksi berikutnya. 5. Mencegah kesalahan Sebisa mungkin, desain sistem yang tidak mengijinkan user membuat kesalahan yang serius. Jika user membuat kesalahan, antarmuka harus mendeteksi
kesalahan
dan
memberikan
instruksi
yang
sederhana,
konstruktif dan spesifik untuk pemulihan. Aksi yang salah tidak boleh mengubah kondisi sistem atau antarmuka harus memberikan instruksi untuk pemulihan kondisi.
34 6. Memungkinkan pengembalian aksi yang mudah Sebisa mungkin aksi harus dapat dikembalikan. Fitur ini menghilangkan kegelisahan, karena user tahu bahwa kesalahan dapat dibatalkan, dan mendorong eksplorasi terhadap pilihan yang tidak familiar. Pembalikan aksi dapat dilakukan dengan aksi tunggal, pengisian data atau sekumpulan aksi. 7. Mendukung kendali internal User yang berpengalaman ingin agar mereka mendapat kontrol terhadap suatu antarmuka dan bahwa antarmuka akan merespon tindakan mereka. Mereka tidak menginginkan kejutan ataupun perubahan yang sama, dan user juga tidak menginginkan tindakan pengulangan dalam memasukan data secara terus-menerus, kesulitan dalam memperoleh informasi, dan ketidakmampuan untuk menghasilkan sesuatu yang diinginkan. 8. Mengurangi beban ingatan jangka pendek Keterbatasan kemampuan manusia untuk mengolah informasi dalam ingatan jangka pendek membutuhkan agar tampilan dibuat sederhana, beberapa halaman dapat digabung, pergerakan window dikurangi, dan waktu pelatihan yang cukup mengenai kode, mnemonics dan serangkaian aksi.
2.1.8. File-Based System Menurut Connoly dan Begg (2010:57), file-based system adalah sekumpulan program aplikasi yang memberikan pelayanan kepada end-user, seperti laporan produksi, dimana setiap program mendefinisikan dan mengatur datanya masing-masing. Sebuah file merupakan kumpulan dari records yang berisi data yang saling berhubungan. Didalam setiap records, terdapat satu atau lebih
35 fields yang saling berhubungan, dimana setiap field menunjukkan karakteristik dari objek pada dunia nyata.
2.2. Teori Khusus Teori khusus adalah teori yang berhubungan dengan topik yang dibahas dalam skripsi ini. Berikut ini adalah teori-teori khusus yang berhubungan dengan perancangan aplikasi Smart Board:
2.2.1. Belajar Mengajar Menurut Hamalik (2008:162), kegiatan belajar mengajar adalah suatu proses terjadinya interaksi antara pelajar dan pengajar dalam upaya mencapai tujuan pembelajaran yang berlangsung dalam suatu lokasi tertentu dalam jangka waktu satuan waktu tertentu pula.
2.2.2. Kalibrasi Menurut Morris dan Langari (2012:104), kalibrasi adalah perbandingan antara output dari instrumen saat diuji dengan output dari instrumen yang ketepatannya diketahui ketika input yang sama diterapkan kepada kedua instrumen tersebut. Kalibrasi memastikan ketepatan ukuran setiap instrumen yang digunakan dalam sistem pengukuran untuk mengetahui rentang pengukurannya secara keseluruhan. Untuk instrumen yang digunakan pada kondisi lingkungan yang berbeda, koreksi yang tepat harus dilakukan untuk menyesuaikan input. Kalibrasi pada instrumen harus diulang dalam rentang waktu yang ditentukan karena karakteristik dari setiap instrumen bisa berubah dari periode satu
36 ke periode lainnya. Perubahan pada karakteristik instrumen dapat disebabkan karena beberapa faktor dan efek seperti debu, kotoran, bahan kimia, dan perubahan temperatur pada lingkungan. Prosedur yang tepat harus didefinisikan ketika output sebuah instrumen berbeda dengan mengaplikasikan input yang sama. Pada kasus yang extreme, dimana ditemukan tanda-tanda kerusakan pada instrumen, maka instrumen perlu diperbaiki atau bahkan harus diganti. Apapun sistem dan frekuensi kalibrasi yang sudah ditentukan, melakukan review dari waktu ke waktu menjadi hal yang penting untuk memastikan sistem tetap efektif dan efisien.
2.2.3. Smart Board Menurut suite101.com (2012), Smart Board adalah alat yang ketika digunakan dengan komputer dan ditampilkan pada suatu permukaan, dapat membuat permukaan yang ditampilkan menjadi sebuah media yang touch sensitive dan memungkinkan pengguna untuk mengontrol komputer secara langsung. Konsep dasar dari aplikasi Smart Board adalah, membuat sebuah Interactive Whiteboard, yaitu memindahkan fungsi PC/laptop ke board atau layar. Apabila pada komputer/laptop terdapat display dan mouse, maka dengan teknologi Smart Board dapat membuat semua fungsi tersebut menjadi satu kesatuan sekaligus. Dalam hal ini, dimana sebuah stylus khusus, atau jari user akan menjadi mouse dan permukaan display akan menjadi monitor, sehingga semua input user yang terjadi pada permukaan display, akan menjadi input pula pada komputer/laptop, sehingga seolah-olah sedang menggunakan mouse pada komputer/laptop. Selain kemampuannya untuk menjadi Interactive Whiteboard, “Smart Board” juga memiliki kemampuan untuk recording (merekam), dimana semua
37 aktivitas yang sedang aktif pada layar komputer/laptop dapat disimpan kedalam sebuah video/gambar, sehingga user dapat me-review kembali presentasi atau pengajaran yang telah dilakukan dengan menggunakan Smart Board. Pada perkembangannya , terdapat dua jenis Smart Board, yaitu yang pertama masih menggunakan sensor dan stylus, contohnya eBeam Edge dan Interactive Xi Bar, sedangkan yang kedua adalah Smart Board yang sudah menggunakan teknologi native touch screen, contohnya SMARTBoard 680 dan ActivBoard 378. Gambar 2.8 Smart Board dengan teknologi sensor dan stylus
(Sumber : http://imagecz.cz/media/0/01_obrazky/kramer/eBeam%20edge1.jpg)
38 Gambar 2.9 Smart Board dengan teknologi native touch screen
(Sumber: http://www.aveducacion.com/ 326-thickbox/smart-board-sb-680-.jpg)
2.2.4. Bluetooth Menurut Huang dan Rudolph (2007:1), bluetooth adalah sebuah jalan untuk perangkat-perangkat berkomunikasi tanpa menggunakan kabel dalam jarak yang dekat. Bluetooth mempunyai karakteristik sebagai berikut: 1. Device Address Pada setiap chip bluetooth, terdapat unique address sepanjang 48-bit yang menunjukkan bluetooth address atau device address. Address ini akan menjadi pengenal unik pada bluetooth, sama seperti adanya MAC Address pada Ethernet.
2. Device Name
39 Bluetooth address sepanjang 48-bit akan tidak bersahabat bagi manusia. Oleh karena itu, setiap perangkat bluetooth mempunyai nama yang tentunya lebih bersahabat dan lebih mudah dikenali oleh manusia. Pada beberapa perangkat, seperti komputer dan ponsel, user dapat menentukan nama dari perangkat bluetooth-nya. Hal ini dikarenakan, tidak ada ketentuan yang mengatur bahwa nama bluetooth harus unik.
3. Discoverability Setiap perangkat bluetooth, mempunyai pilihan apakah perangkat dapat ditemukan pada tahap device inquiry atau tidak.
4. Connectability Setiap perangkat bluetooth, mempunyai pilihan apakah perangkat dapat menerima koneksi dari perangkat bluetooth lainnya atau tidak.
Untuk berhubungan dan berkomunikasi dengan bluetooth, terdapat beberapa langkah-langkah yang harus dilakukan: 1. Device Inquiry Device inquiry adalah proses mencari dan mendeteksi perangkat bluetooth yang ada di sekitar. Proses device inquiry dimulai dengan melakukan broadcast pesan “discovery” dan menunggu hingga mendapat balasan. Setiap balasan terdiri dari device address bluetooth dan sebuah bilangan bulat yang mengidentifikasikan kelas dari perangkat (seperti
40 ponsel, komputer, headset, dll.). Informasi detail lainnya, seperti device name bluetooth, didapatkan dengan menghubungi perangkat secara pribadi.
2. Memilih transport protocol Aplikasi yang berbeda mempunyai kebutuhan yang berbeda, oleh karena itu dibutuhkan transport protocol yang berbeda juga. Terdapat dua faktor yang membedakan jenis transport protocol, yaitu: a. Guarantees Faktor guarantees dari transport protocol menunjukkan tingkat kehandalan dalam mengirimkan paket data. Dikelompokkan menjadi dua jenis, yaitu reliable protocol dan best-effort protocol. Pada reliable protocol, menggunakan konsep “deliver or die”, dimana paket data dipastikan akan sampai di tujuan atau pengiriman paket data akan dibatalkan. Sedangkan pada best-effort protocol, pengiriman paket data akan diupayakan tanpa mempedulikan hal-hal yang dapat menggangu dan membatalkan pengiriman paket data. b. Semantics Faktor semantics dari transport protocol menunjukkan dasar pada pengiriman paket data. Dikelompokkan menjadi dua jenis, yaitu packetbased protocol dan streams-based protocol. Pada packet-based protocol, paket data dikirimkan dalam satu himpunan dengan panjang yang sama. Paket data yang melebih panjang maksimum akan dipecah menjadi himpunan lainnya untuk dikirimkan secara bersamaan. Sedangkan pada
41 streams-based protocol, paket data dikirimkan tanpa mempedulikan panjang paket data untuk dipecah-pecah.
Berikut ini beberapa jenis transport protocol yang umum dan sering digunakan pada bluetooth: a. Radio Frequency Communications (RFCOMM) RFCOMM adalah transport protocol bertujuan umum yang bekerja dengan baik untuk meniru serial ports. RFCOMM bersifat reliable protocol dan streams-based protocol. b. Logical Link Control and Adaption Protocol (L2CAP) L2CAP adalah jenis transport protocol yang bersifat packet-based protocol dan dapat diatur tingkat kehandalannya. Secara default, besar paket maksimal adalah 672 bytes. Tetapi, besar paket maksimal akan meningkat hingga 65535 bytes setelah koneksi sudah terbentuk.
3. Memilih port number Port digunakan untuk mengizinkan beberapa aplikasi pada perangkat yang sama, menggunakan transport protocol yang sama secara bersamaan. Setiap transport protocol mempunyai istilah untuk menyebut port-nya dan mempunyai rentang nilainya masing-masing. Pada RFCOMM, port disebut sebagai channels dan mempunyai rentang nilai dari 1 sampai dengan 30. Sedangkan pada L2CAP, port disebut sebagai Protocol Service Multiplexers (PSM) dengan rentang nilai dari 1 sampai dengan 32767 dan harus merupakan bilangan ganjil.
42 2.2.5. Infrared Menurut Infrared Data Association (2011), infrared adalah sebuah gelombang cahaya yang terbuat dari energi. Gelombang cahaya bisa mempunyai ukuran, frekuensi dan energi yang bervariasi. Tingkat energi dalam gelombang cahaya akan bersesuaian dengan frekuensi pada gelombang cahaya tersebut. Cahaya tidak hanya bergetar pada frekuensi yang berbeda, tetapi juga bergerak dalam kecepatan yang berbeda-beda. Sebuah gelombang cahaya dapat bergerak cepat hingga 186.000 mil per detiknya, membuat cahaya menjadi benda tercepat yang ada di alam semesta. Gelombang cahaya akan bergerak lambat ketika melewati substansi-substansi, seperti udara, air, kaca, dll. Walaupun cahaya adalah benda tercepat, tetapi cahaya tidak bisa menembus benda-benda yang keras. Infrared sudah banyak digunakan pada kehidupan sehari-hari, salah satunya adalah remote televisi. Penggunaan infrared pada remote televisi adalah untuk berkomunikasi dan memberikan perintah kepada televisi. Ketika menekan tombol pada remote televisi, remote televisi akan mengubah data digital menjadi sinyal elektronik yang akan dikirimkan ke televisi dalam satu arah (uni-directional). Secara kasat mata, sinyal elektronik yang dikirimkan oleh remote televisi tidak dapat terlihat karena rentang frekuensi infrared sangat rendah. Untuk melihat sinyal elektronik tersebut, perlu menggunakan sebuah alat khusus yang disebut dengan IR Photodiode. Televisi yang menerima sinyal elektronik dari remote televisi akan mengubah sinyal elektronik menjadi data digital kembali agar informasi yang dikirimkan oleh remote televisi bisa dibaca. Teknologi komunikasi infrared mempunyai keuntungan sebagai berikut:
43 1. Murah. 2. Berkecepatan tinggi (hingga 100 mbps). 3. Konsumsi power lebih sedikit. 4. Pengiriman data aman karena data yang dikirimkan melalui infrared sangat sulit untuk di-intercept dan diambil. 5. Aman untuk digunakan karena infrared tidak akan merusak mata jika digunakan dengan benar. 6. Tidak ada interferensi antara infrared dengan frekuensi radio dan sinyalsinyal lainnya. 7. Bebas dari regulasi karena frekuensi infrared berada dibawah cahaya kasat mata, sehingga tidak ada batasan pengguna. 8. Kebebasan dalam mengontrol pengiriman data karena tujuan data dipilih sendiri (contohnya, untuk mengirimkan data ke televisi, remote televisi dihadapkan ke televisi) 9. Digunakan di banyak perangkat di seluruh dunia.
2.2.6. Light Emitting Diode (LED) Menurut Seling (2002:1), LED (Light Emitting Diode) adalah sebuah semikonduktor solid state yang memancarkan cahaya ketika menerima arus listrik. LED hanya akan menyala jika diberikan arus maju. Hal ini dikarenakan LED terbuat dari bahan semi-konduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED menerima arus listrik yang mengalir terbalik, maka hanya akan sedikit arus yang akan melewati chip LED sehingga menyebabkan LED tidak akan mengeluarkan emisi cahaya.
44
2.2.7. WiiMote (Wii Remote) Menurut Farkas (2007:25), Wii Remote, yang lebih dikenal dengan sebutan WiiMote, adalah alat input utama dari game console Nintendo Wii. Kunci utama dari WiiMote adalah kemampuan motion sensing, yang membuat pemain dapat berinteraksi dengan permainan berdasarkan dari gerakan yang ia lakukan. Contohnya, jika pemain memainkan permainan memancing, maka pemain harus menggerakkan tangan (sambil memegang WiiMote) seperti melakukan simulasi memancing. WiiMote mempunyai karakteristik utama sebagai berikut: 1. Accelerometer Accelerometer adalah perangkat yang mengukur tingkat percepatan (acceleration). Accelerometer tidak hanya dapat mengukur percepatan, tetapi juga dapat mengukur getaran (vibration), kecepatan (speed), dan kemiringan (inclination). WiiMote mempunyai tiga accelerometer yang digunakan sebagai motion sensing untuk tiga sumbu utama, yaitu sumbu-x, sumbu-y, dan sumbu-z. 2. Force Feedback Force feedback atau rumble adalah kemampuan WiiMote untuk bergetar sewaktu permainan berjalan. Kemampuan ini membuat pengalaman bermain game menjadi lebih realistik. 3. Sound Kemampuan ini membuat WiiMote dapat mengeluarkan suara yang sesuai dengan permainan yang sedang dimainkan. Sebagai contoh, instruksi permainan dapat disampaikan melalui suara yang keluar dari WiiMote.
45
Selain karakteristik yang dimiliki WiiMote, WiiMote juga mempunyai fiturfitur yang membuatnya dapat berkomunikasi dan bertukar data, yaitu: 1. Bluetooth Bluetooth menjadi media komunikasi utama untuk WiiMote. Bluetooth akan mengirimkan data berupa nilai setiap accelerometer yang ada dan juga tombol-tombol yang ditekan pada WiiMote. Bluetooth pada WiiMote menggunakan frekuensi sekitar 2.4 GHz. Jarak maksimum yang efektif antara bluetooth penerima dan WiiMote sekitar 9,14 m (30 kaki). 2. Infrared Sensing WiiMote mempunyai sebuah sensor gambar sebesar satu megapixel (1024px X 768px) yang digunakan untuk “melihat” sepuluh LED infrared. Jarak maksimum yang efektif antara WiiMote dengan infrared sekitar 3,65 m. Hasil data LED infrared yang terlihat akan dikomunikasikan dengan bluetooth untuk pertukaran data. Kemampuan infrared sensing digunakan untuk mengetahui tempat keberadaan WiiMote dan pergerakannya. Melakukan reverse engineering (proses menemukan dan mempelajari prinsip-prinsip teknologi dari sistem perangkat) pada Wiimote bukanlah sebuah tindakan yang melanggar hukum. Reverse engineering pada perangkat dikatakan melanggar hukum jika sistem perangkat dilindungi dengan sebuah proteksi seperti adanya enkripsi pada data. Sedangkan, pada Wiimote tidak terdapat sistem proteksi tersebut. Dari pernyataan tersebut, dapat disimpulkan bahwa melakukan reverse engineering pada Wiimote bukanlah sebuah tindakan yang melanggar hukum.
46 Tindakan yang melanggar hukum dalam penggunaan Wiimote adalah melakukan modifikasi pada bagian isi Wiimote dan menjual Wiimote yang dimodifikasi tersebut ke pihak lain untuk mencapai keuntungan semata. Hingga saat ini tercatat tidak pernah
ada masalah pelanggaran
paten/tuntutan dari Nintendo kepada para pengguna WiiMote di luar pemakaian sebagai game controller untuk console Nintendo Wii. Johnny Chung Lee, orang yang pertama kali melakukan modifikasi pada WiiMote untuk pemakaian di luar console Wii, sampai saat ini juga tidak pernah menerima tuntutan maupun gugatan dari Nintendo. Beberapa perusahaan besar yang menggunakan Wiimote untuk mendukung software buatan perusahaan itu sendiri, seperti Autodesk, juga hingga saat ini tidak menerima tuntutan apapun dari Nintendo terkait dengan penggunaan Wiimote diluar sebagai game controller.
2.2.8. Extensible Markup Language (XML) Menurut World Wide Web Consortium (2012), XML adalah sebuah format sederhana berbasiskan teks untuk mewakili struktur informasi, seperti dokumen, data, konfigurasi, buku, transaksi, dan sebagainya. XML dikembangkan dari format standar lama, yaitu Standard Generalized Markup Language (SGML) dengan tujuan agar lebih mudah untuk digunakan. XML menjadi salah format yang paling banyak digunakan untuk membagi struktur informasi di antara aplikasi dengan aplikasi lainnya, antara orang dengan orang lain, dan antara komputer dengan orang, baik secara lokal maupun melalui jaringan. XML mempunyai beberapa kelebihan dibandingkan dengan format lainnya, yaitu:
47 1. Redundancy Bahasa markup XML sangat jelas. Sebagai contoh, setiap tag harus mempunyai tag pembuka dan tag penutup. Hal ini membuat komputer dapat mendeteksi dengan mudah jika terdapat kesalahan. 2. Self-describing XML mudah dibaca (karena berbasiskan teks)
dan sebutan dalam
elemen dan atribut pada XML dapat mendeskripsikan maksud dan datanya dengan sangat jelas. 3. Universal Setiap dokumen XML dapat dibaca dan diproses oleh setiap aplikasi. Tidak bisa dikatakan bahwa dokumen XML A hanya bisa dibaca oleh aplikasi A, dan dokumen XML B hanya bisa dibaca oleh aplikasi B. Dokumen XML A tetap dapat dibaca oleh aplikasi B dan dokumen XML B tetap dapat dibaca oleh aplikasi A, dan begitu juga untuk dokumendokumen XML lainnya.
XML merupakan sebuah standar markup language dengan deskripsi dan penstrukturan
data
yang
digunakan
oleh
aplikasi
untuk
memanajemen,
menampilkan, dan mengorganisir data. Data disimpan sebagai sebuah teks didalam dokumen XML. Data tersebut diapit oleh markup yang mendeskripsikan data tersebut. XML disebut metamarkup language yang berarti XML tidak memiliki sekumpulan tag dan elemen yang sudah terstandarisasi. Sehingga, setiap developer dapat mendefinisikan dan menentukan elemen yang ia butuhkan.
48 2.2.9. Object Oriented Programming (OOP) Menurut Deitel (2012:11), Object Oriented Programming meningkatkan produktivitas dengan adanya reusable code sehingga mengurangi biaya pengembangan software. Pada Object Oriented Programming, setiap class akan menjadi blueprint dari aplikasi yang dibuat sehingga object yang dibentuk dari class tersebut akan memiliki semua attribute dan method dari class tersebut. Beberapa konsep utama dari Object Oriented Programming, antara lain yaitu: 1. Encapsulation Menurut Deitel (2012:11), Encapsulation adalah sebuah proses dimana attribute dan method antar suatu class dengan class yang lain menjadi saling terkait satu sama lain, namun saling tidak mengetahui bagaimana objectobject tersebut di implementasi pada class tersebut. 2. Inheritance Menurut Deitel (2012:11), Inheritance merupakan sebuah bentuk penggunaan kembali (reusable) code ketika membuat sebuah class, dimana class baru tersebut akan mempunyai semua kemampuan yang dimiliki oleh class sebelumnya, dimana kemampuan
dari class tersebut dapat
ditingkatkan atau dimodifikasi dari class yang diwarisi tersebut. Dalam beberapa bahasa pemrograman, class yang mewariskan sifat disebut base class, sedangkan class yang mewarisi sifat disebut subclass. 3. Polymorphism Menurut Deitel (2012:535), Polymorphism mendeskripsikan proses untuk menulis program secara umum dibandingkan dengan menulis program secara spesifik. Dengan kata lain, polymorphism memungkinkan
49 user untuk menulis sebuah code dimana objek dari sebuah class turunan seolah-olah merupakan bagian dari class induk, dimana class turunan bisa mewakili berbagai bentuk tipe dan berubah-ubah.
2.2.10. C++ Menurut Deitel (2012:2), C++ adalah bahasa pemrograman komputer tingkat tinggi yang berorientasi objek dan sesuai untuk orang-orang dengan pengalaman programming yang sedikit atau bahkan tidak ada sama sekali, dan juga sesuai untuk orang-orang yang sudah berpengalaman dengan programming dalam membangun sistem informasi yang kuat. C++ merupakan perluasan dari bahasa C dan dikembangkan oleh Bjarne Stroustrup pada awal tahun 1980 di Bell Laboratories. C++ menyediakan sejumlah fitur lebih dari bahasa C, tetapi fitur yang paling penting adalah adanya fitur object-oriented programming. Objectoriented programming akan dibahas pada bagian yan terpisah, sedangkan beberapa fitur dari bahasa C++ yang tidak dimiliki oleh bahasa C adalah: 1. Virtual functions Menurut Deitel (2012:11), dengan virtual functions, tipe objek yang digunakan untuk memanggil function akan menentukan virtual functions mana yang akan dipanggil. 2. Operator Overloading Menurut Deitel (2012:11), jika sebuah template function dipanggil dengan tipe yang telah ditentukan oleh user, dan menggunakan function atau operator (==, +, atau <= ) dengan objek class tersebut, maka function
50 dan operator tersebut harus di overloading sesuai dengan yang telah di inisialisasikan oleh user. 3. Multiple Inheritance Menurut Deitel (2012:11), jika sebuah class merupakan turunan dari lebih dari satu base class, maka kondisi tersebut disebut multiple inheritance, dimana subclass tersebut akan mewarisi attribute dan function dari semua base class yang menjadi induk dari subclass tersebut. 4. Templates Menurut Deitel (2012:11), templates pada C++ terbagi dua, yaitu function templates dan class templates, yang memungkinkan user untuk menentukan sesuatu dalam satu statement code, dalam satu segment function yang saling berhubungan (overloading) atau dalam satu segment class yang saling berhubungan. Teknik ini juga sering disebut generic programming. 5. Exception Handling Menurut Deitel (2012:11), exception adalah indikasi masalah yang terjadi selama terjadinya eksekusi program.
Exception handling
memungkinkan user untuk membuat sebuah aplikasi yang dapat menangani exception. Dalam beberapa kasus, exception handling memungkinkan program untuk terus berjalan seolah olah tidak ada masalah yang terjadi.
2.2.11. Qt Menurut Blanchette dan Summerfield (2008:1), Qt adalah sebuah kerangka kerja (framework) cross-platform yang biasanya digunakan untuk membangun GUI
51 (Graphical User Interface) dari sebuah aplikasi. Qt ditulis dengan menggunakan bahasa pemrograman C++. Qt juga menggunakan sebuah program yang disebut Meta Object Compiler untuk menangani penambahan-penambahan fitur yang tidak bisa dilakukan oleh C++. Salah satu penambahan fitur yang paling penting adalah paradigma “signals and slots”. Konsep dari paradigma “signals and slots” adalah sebuah elemen GUI akan mengirimkan signals berupa informasi event-event yang terjadi pada elemen tersebut (contohnya, tulisan pada textbox berubah, tombol diklik, dll.). Disisi lain, elemen GUI lainnya akan menerima signals tersebut melalui sebuah fungsi spesial yang dinamakan dengan slots. Sehingga, hubungan antara kedua elemen GUI tersebut disebut sebagai “signals and slots”.