RANCANG BANGUN APLIKASI MULTIMEDIA GEGENDINGAN BALI
MENGGUNAKAN ALGORITMA BOYER MOORE BERBASIS ANDROID
SKRIPSI
I WAYAN J. WIRATAMA NIM. 1108605023
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA
ii
SURAT PERNYATAAN KEASLIAN KARYA ILMIAH
Yang bertanda tangan di bawah ini menyatakan bahwa naskah Skripsi dengan judul:
“RANCANG BANGUN APLIKASI MULTIMEDIA GEGENDINGAN BALI
MENGGUNAKAN ALGORITMA BOYER MOORE BERBASIS ANDROID”
Nama : I Wayan J. Wiratama NIM : 1108605023
Program Studi : Teknik Informatika E-mail : jwiratama23@gmail.com Nomor telp/HP : 085738029321
Alamat : Banjar Negari, Desa Singapadu Tengah, Kecamatan Sukawati, Kabupaten Gianyar
Belum pernah dipublikasikan dalam dokumen skripsi, jurnal nasional maupun internasional atau dalam prosiding manapun, dan tidak sedang atau akan diajukan untuk publikasi di jurnal atau prosiding manapun. Apabila di kemudian hari terbukti terdapat pelanggaran kaidah-kaidah akademik pada karya ilmiah saya, maka saya bersedia menanggung sanksi-sanksi yang dijatuhkan karena kesalahan tersebut, sebagaimana diatur oleh Peraturan Menteri Pendidikan Nasional Nomor 17 Tahun 2010 tentang Pencegahan dan Penanggulangan Plagiat di Perguruan Tinggi.
Demikian Surat Pernyataan ini saya buat dengan sesungguhnya untuk dapat dipergunakan bilamana diperlukan.
Gianyar, 17 Juni 2016 Yang membuat pernyataan,
iv
Judul : Rancang Bangun Aplikasi Multimedia Gegendingan Bali Menggunakan Algoritma Boyer Moore Berbasis Android Nama : I Wayan J. Wiratama (NIM: 1108605023)
Pembimbing : 1. Dra. Luh Gede Astuti, M.Kom
2. I Putu Gede Hendra Suputra, S.Kom., M.Kom.
ABSTRAK
Masa globalisasi seperti sekarang, banyak sekali seni maupun budaya yang mulai dilupakan seperti Gegendingan Bali. Gegendingan Bali merupakan suatu kalimat/kumpulan kalimat yang dinyanyikan dan isinya pendek-pendek dan tidak merupakan suatu ceritera. Gegendingan itu dibagi menjadi 3 jenis, yaitu Gending Rare, Gending Jejangeran dan Gending Sanghiang. Gegendingan Bali yang diwariskan dahulu mulai terlupakan dan masih beberapa saja yang diingat oleh masyarakat. Untuk lebih mengenalkan dan mempopulerkan Gegendingan Bali tersebut dibuatkan sebuah aplikasi multimedia Gegendingan Bali berbasis android. Aplikasi yang telah dibangun memiliki beberapa fitur seperti memutar Gegendingan Bali dan mencari Gegendingan Bali berdasarkan lirik yang diinputkan pengguna. Dalam pencarian Gegendingan Bali menggunakan algoritma Boyer
Moore. Hasil pencarian tersebut menampilkan Gegendingan Bali yang
mengandung lirik yang dicari. Pengujian stress testing untuk pencarian Gegendingan Bali pada aplikasi ini hanya mampu menangani 50 pengguna dan pengujian ketepatan pencarian mendapatkan rata-rata nilai cukup tinggi dengan nilai sebesar 0.85 atau 85 persen.
v
Title : Design of Multimedia Applications of the Balinese Gegendingan Using Boyer Moore Android -Based Algorithm
Name : I Wayan J. Wiratama (Registration: 1108605023) Supervisors : 1. Dra. Luh Gede Astuti, M.Kom
2. I Putu Gede Hendra Suputra, S.Kom., M.Kom.
ABSTRACT
In the era of globalization, a lot of arts and cultures that have been forgotten as Gegendingan Bali. Gegendingan Bali is a sentence / collection of sentences sung and its contents are short and do not constitute a story. Gegendingan is divided into three types, namely Gending Rare, Gending Jejangeran, and Gending Sanghiang. The inherited Gegendingan Bali began to be forgotten and still a few are remembered by the public. To further introduce and popularize the Gegendingan Bali, it was made Android-based multimedia applications of Gegendingan.
Applications that have been built have some features such as playing and searching for Gegendingan Bali based on the lyrics, which is input by the user. The searching of Gegendingan Bali was conducted by using the Boyer Moore. The search results showed that Gegendingan Bali containing lyrics sought. Test of stress testing for searching Gegendingan Bali on this application was only able to handle 50 users and testing the accuracy of searches to get the good average value with a value of 0.85 or 85 percent.
vi
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat TuhanYang Maha Esa karena atas rahmat dan berkatnya, penulis dapat menyelesaikan Tugas Akhir dengan judul “Rancang Bangun Aplikasi Multimedia Gegendingan Bali menggunakan algoritma Boyer Moore berbasis Android” dapat diselesaikan tepat pada waktunya. Penyusunan tugas akhir ini bertujuan untuk memenuhi gelar Sarjana Komputer dalam program studi Teknik Informatika.
Penulis menyadari dalam penyusunan tugas akhir ini tidak lepas dari adanya kerjasama dan bantuan dari berbagai pihak. Oleh karena itu, pada kesempatan ini perkenankanlah penulis mengucapkan terima kasih kepada :
1. Bapak Agus Muliantara, S.Kom., M.Kom sebagai Ketua Jurusan Ilmu Komputer Fakultas MIPA Universitas Udayana.
2. Ibu Dra. Luh Gede Astuti, M.Kom sebagai Pembimbing I yang telah bersedia mengkritisi, membantu, memeriksa dan menyempurnakan penelitian ini. 3. Bapak I Putu Gede Hendra Suputra, S.Kom., M.Kom. sebagai Pembimbing II
yang telah bersedia mengkritisi, membantu, memeriksa dan menyempurnakan penelitian ini.
4. Bapak-bapak dan Ibu-ibu dosen di Jurusan Ilmu Komputer yang telah meluangkan waktu turut memberikan saran dan masukan dalam penelitian ini. 5. Rekan-rekan mahasiswa yang telah memberikan motivasi, dukungan, semangat
dan kerja sama dalam penelitian ini.
6. Keluarga, kerabat serta semua pihak yang turut serta memberi dukungan sehingga penelitan ini dapat diselesaikan.
Disadari pula bahwa sudah tentu hasil-hasil dari penelitian ini masih mengandung kelemahan dan kekurangan. Memperhatikan hal ini, maka masukan dan saran-saran penyempurnaan sangat diharapkan. Akhir kata penulis berharap semoga tugas akhir ini dapat bermanfaat bagi semua pihak.
Gianyar, Juni 2016
vii
DAFTAR ISI
LEMBAR JUDUL ... i
SURAT PERNYATAAN KEASLIAN KARYA ILMIAH ... ii
LEMBAR PENGESAHAN TUGAS AKHIR ... Error! Bookmark not defined. ABSTRAK ... iv
KATA PENGANTAR ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... xi
DAFTAR LAMPIRAN ... xiv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah... 2
1.4 Tujuan Penelitian ... 3
1.5 Manfaat Penelitian ... 3
1.6 Metodelogi Penelitian ... 3
BAB II TINJAUAN PUSTAKA ... 5
2.1 Multimedia ... 5
2.2 Android ... 6
2.2.1 Android SDK ... 6
2.2.2 Android Development Tools (ADT) ... 7
2.2.3 Integrated Development Environment (IDE) Eclipse ... 7
2.2.4 Java Development Kit (JDK) ... 8
2.3 Diagram Perancangan ... 8
2.3.1 Diagram Use Case... 8
2.3.2 Diagram Kelas ... 10
2.3.3 Diagram Sekuen ... 11
2.3.4 Diagram Aktivitas ... 12
viii
2.4 Gegendingan Bali ... 14
2.5 Algoritma Boyer Moore ... 15
2.5.1 Pergeseran bad-character ... 16
2.5.2 Menghitung nilai bad-character ... 16
2.5.3 Pergeseran good-suffix ... 17
2.5.4 Menghitung nilai good-suffix ... 19
2.5.5 Pencarian dengan algoritma boyer moore ... 20
2.6 Pengujian ... 22
2.6.1 Pengujian Black Box ... 22
2.6.2 Pengujian White Box ... 22
2.6.3 Stress Testing ... 23
2.6.4 Pengujian Input Data ... 24
2.6.5 Penilaian Relevansi ... 24
2.7 Tinjauan Studi ... 25
2.7.1 Penerapan Algoritma Boyer Moore pada Aplikasi Pengajuan Judul Skripsi Berbasis Web (Ginting, 2014) ... 25
2.7.2 Rancang Bangun Aplikasi Pengenalan dan Pembelajaran Seni Karawitan Berbasis Multimedia Studi Kasus Komunitas Turus (Hidayat, 2014) ... 25
2.7.3 Implementasi Algoritma Boyer-Moore pada Aplikasi Kamus Kedokteran Berbasis Android (Argakusumah dkk, 2014) ... 26
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 27
3.1 Konsep ... 27
3.2 Perancangan ... 28
3.2.1 Diagram Use Case... 28
3.2.2 Diagram Kelas ... 30
3.2.3 Diagram Sekuen ... 33
3.2.4 Diagram Aktivitas ... 46
3.2.5 Diagram Hubungan Entitas ... 53
3.2.6 Antarmuka aplikasi dan web pengelolaan data ... 54
ix
BAB IV HASIL DAN PEMBAHASAN ... 63
4.1 Implementasi ... 63
4.1.1 Implementasi Perangkat Keras ... 63
4.1.2 Implementasi Perangkat Lunak ... 63
4.1.3 Implementasi Basis Data (Sintaks SQL) ... 64
4.1.4 Implementasi Diagram Database ... 65
4.1.5 Implementasi algoritma boyer moore untuk pencarian lirik 66 4.1.6 Algoritma pencarian boyer moore (source code) ... 66
4.2 Antarmuka Aplikasi dan Web ... 71
4.2.1 Antarmuka Aplikasi ... 71
4.2.2 Antarmuka Web ... 73
4.3 Pengujian ... 83
4.3.1 Pengujian BlackBox ... 83
4.3.2 Pengujian Input Data ... 84
4.3.3 Pengujian WhiteBox ... 85
4.3.4 Pengujian Relevansi ... 91
4.3.5 Stress Testing ... 92
4.3.5.1 Stress Testing 1.000 pengguna dengan waktu tunggu 15 detik setiap klik dan jumlah klik 15 klik per pengguna . 94 4.3.5.2 Hasil Stress Testing ... 96
BAB V SIMPULAN DAN SARAN ... 99
x
DAFTAR TABEL
Tabel 2. 1 Simbol pada diagram usecase (Shalahudin dkk, 2008) ... 9
Tabel 2. 2 Simbol pada diagram kelas (Shalahuddin dkk, 2008) ... 10
Tabel 2. 3 Simbol pada diagram sekuen (Shalahuddin dkk, 2008) ... 11
Tabel 2. 4 Simbol pada diagram aktivitas (Shalahudin dkk, 2008) ... 13
Tabel 2. 5 Simbol pada ERD (Shalahudin dkk, 2008) ... 13
Tabel 2. 6 Hubungan cyclomaticcomplexity dengan risiko (Aivosto, 2013) ... 23
Tabel 2. 7 Tabel ambang batas kinerja untuk website (Paessler) ... 23
Tabel 2. 8 Tiga kategori precision (Hasugian, 2006) ... 25
Tabel 3. 1 Hubungan diagram kelas dengan diagram use case untuk pengguna .. 31
Tabel 3. 2 Hubungan diagram kelas dengan diagram use case untuk admin ... 32
Tabel 4. 1 Daftar spesifikasi perangkat keras ... 63
Tabel 4. 2 Daftar perangkat lunak ... 64
Tabel 4. 3 Pengujian black box pada web dan aplikasi... 83
Tabel 4. 4 Pengujian input data pada web dan aplikasi ... 84
Tabel 4. 5 Graf matrik good-suffix ... 86
Tabel 4. 6 Graf matrik suffix ... 88
Tabel 4. 7 Graf matrik bad-character ... 89
Tabel 4. 8 Graf matrik boyermoore... 91
Tabel 4. 9 Pengujian Relevansi ... 92
Tabel 4. 10 Halaman untuk pengujian stresstesting... 93
Tabel 4. 11 Lirik yang dicari untuk stresstesting ... 93
Tabel 4. 12 Hasil pengujian stresstesting ... 96
xi
DAFTAR GAMBAR
Gambar 3. 1 Konsep aplikasi multimedia Gegendingan Bali ... 27
Gambar 3. 2 Gambaran konsep pencarian lirik Gegendingan Bali ... 28
Gambar 3. 3 Diagram Use Case Pengguna ... 29
Gambar 3. 4 Use Case Admin ... 30
Gambar 3. 5 Diagram kelas untuk pengguna ... 31
Gambar 3. 6 Diagram kelas untuk admin... 32
Gambar 3. 7 Diagram sekuen login... 33
Gambar 3. 8 Diagram sekuen logout... 33
Gambar 3. 9 Diagram sekuen tambah data admin ... 34
Gambar 3. 10 Diagram sekuen ubah data admin ... 35
Gambar 3. 11 Diagram sekuen hapus data admin ... 36
Gambar 3. 12 Diagram sekuen tambah data materi ... 37
Gambar 3. 13 Diagram sekuen ubah data materi ... 38
Gambar 3. 14 Diagram sekuen hapus data materi... 39
Gambar 3. 15 Diagram sekuen tambah data gending ... 40
Gambar 3. 16 Diagram sekuen ubah data gending ... 41
Gambar 3. 17 Diagram sekuen hapus data gending ... 42
Gambar 3. 18 Diagram sekuen melihat materi gending ... 43
Gambar 3. 19 Diagram sekuen memutar gending bali ... 44
Gambar 3. 20 Diagram sekuen cari lirik gending ... 45
Gambar 3. 21 Diagram sekuen melihat tentang aplikasi... 45
Gambar 3. 22 Diagram sekuen keluar aplikasi ... 46
Gambar 3. 23 Diagram aktivitas melihat materi gending ... 46
Gambar 3. 24 Diagram aktivitas memutar gending ... 47
Gambar 3. 25 Diagram aktivitas mencari lirik gending ... 48
Gambar 3. 26 Diagram aktivitas melihat info aplikasi ... 49
Gambar 3. 27 Diagram aktivitas keluar aplikasi ... 49
Gambar 3. 28 Diagram aktivitas autentikasi admin ... 50
xii
Gambar 3. 30 Diagram aktivitas mengubah data ... 52
Gambar 3. 31 Diagram aktivitas menghapus data ... 53
Gambar 3. 32 Diagram hubungan entitas web pengelolaan data ... 54
Gambar 3. 33 Antarmuka halaman utama aplikasi ... 55
Gambar 3. 34 Antarmuka halaman daftar materi ... 55
Gambar 3. 35 Antarmuka menu detail materi ... 56
Gambar 3. 36 Antarmuka halaman daftar gending ... 57
Gambar 3. 37 Antarmuka halaman detail gending... 58
Gambar 3. 38 Antarmuka halaman tentang aplikasi ... 59
Gambar 3. 39 Antarmuka halaman utama admin... 59
Gambar 3. 40 Antarmuka halaman login admin ... 60
Gambar 3. 41 Antarmuka halaman pengelolaan data materi/gending/admin ... 61
Gambar 3. 42 Antarmuka tambah/ubah data materi/gending/admin ... 62
Gambar 4. 1 Diagram database web pengelolaan data ... 65
Gambar 4. 2 Tampilan awal sebelum pencarian ... 66
Gambar 4. 3 Tampilan saat mencari gending... 66
Gambar 4. 4 Tampilan saat gending tidak ada ... 66
Gambar 4. 5 Antarmuka halaman utama aplikasi untuk pengguna ... 71
Gambar 4. 6 Antarmuka halaman daftar materi ... 71
Gambar 4. 7 Antarmuka halaman detail materi ... 71
Gambar 4. 8 Antarmuka halaman daftar gending ... 72
Gambar 4. 9 Antarmuka halaman detail gending... 72
Gambar 4. 10 Antarmuka halaman daftar gending saat pencarian lirik ... 72
Gambar 4. 11 Antarmuka halaman detail gending hasil pencarian lirik ... 72
Gambar 4. 12 Antarmuka halaman tentang aplikasi ... 73
Gambar 4. 13 Antarmuka halaman beranda (sebelum login) ... 74
Gambar 4. 14 Antarmuka halaman beranda (setelah login) ... 74
Gambar 4. 15 Antarmuka halaman login ... 75
Gambar 4. 16 Antarmuka halaman pengelolaan data admin ... 75
Gambar 4. 17 Antarmuka saat tambah admin ... 76
xiii
Gambar 4. 19 Antarmuka saat hapus admin ... 77
Gambar 4. 20 Antarmuka pengelolaan data materi ... 78
Gambar 4. 21 Antarmuka saat tambah materi ... 79
Gambar 4. 22 Antarmuka saat edit materi ... 79
Gambar 4. 23 Antarmuka saat hapus materi ... 80
Gambar 4. 24 Antarmuka saat pengelolaan data gending ... 81
Gambar 4. 25 Antarmuka saat tambah gending ... 81
Gambar 4. 26 Antarmuka saat edit gending ... 82
Gambar 4. 27 Antarmuka saat hapus gending ... 83
Gambar 4. 28 Diagram alir pseudocode fungsi good-suffix ... 85
Gambar 4. 29 Diagram alir pseudocode fungsi suffix ... 87
Gambar 4. 30 Diagram alir pseudocode fungsi bad-character ... 89
Gambar 4. 31 Diagram alir pseudocode fungsi boyermoore ... 90
Gambar 4. 32 Grafik waktu permintaan saat klik dan error (1.000 pengguna) .... 95
xiv
DAFTAR LAMPIRAN
LAMPIRAN I ... 102
LAMPIRAN II ... 111
LAMPIRAN III ... 118
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Masa globalisasi seperti sekarang, penggunaan multimedia untuk berbagai bidang sudah sangat berkembang. Menurut Sutopo (2011) pada modul Aplikasi Multimedia dalam Pendidikan, “multimedia merupakan kombinasi antara teks, seni, animasi dan video yang disampaikan melalui komputer atau peralatan elektronik digital”. Penggunaan multimedia biasa digunakan untuk presentasi, pelatihan dan lainnya agar menjadi lebih komunikatif dan estetis sehingga akan berpengaruh pada pemahaman dan keberhasilan dari informasi yang disampaikan. Penggunaan multimedia biasanya juga digunakan sebagai media pembelajaran untuk mengenalkan suatu seni maupun budaya, seperti dijelaskan pada jurnal Rancang Bangun Aplikasi Pengenalan dan Pembelajaran Seni Karawitan berbasis Multimedia (Hidayat, 2014). Pada jurnal tersebut digunakan multimedia untuk lebih mengenalkan seni karawitan kepada kalangan masyarakat. Selain seni karawitan, banyak sekali seni maupun budaya yang jarang digunakan kembali seperti Gegendingan Bali.
Menurut Bapak I G.K. Ranuh (Tinggen, 1994), Gegendingan itu merupakan suatu kalimat/kumpulan kalimat yang dinyanyikan dan isinya pada umumnya pendek-pendek dan tidak merupakan suatu ceritera. Gegendingan itu dibagi menjadi 3 jenis, yaitu Gending rare (gending ini dinyanyikan oleh anak-anak), Gending jejangeran (gending ini dinyanyikan bersama-sama saling sahuti antara kelompok satu dengan yang lain) dan Gending Sanghiang (gending ini dinyanyikan untuk menurunkan (nedunang) Sanghiang-Sanghiang).
2
tersebut bisa dengan membuat aplikasi yang menyimpan lagu dan lirik gending bali tersebut menggunakan mobile smartphone.
Mobile smartphone dengan sistem operasi android di zaman sekarang sudah banyak digunakan berbagai kalangan, baik dari anak-anak sampai dewasa, sehingga penggunaan mobile smartphone cocok untuk pengenalan Gegendingan Bali dengan lebih menarik. Aplikasi multimedia Gegendingan Bali yang dibuat berisi materi Gegendingan Bali dan berbagai jenis Gegendingan Bali. Untuk pengembangan aplikasi ini menggunakan siklus pengembangan multimedia menurut Luther (Sutopo, 2011).
Pada aplikasi ini akan diisi fitur pencarian untuk lirik gending yang menggunakan algoritma pencarian string Boyer Moore. Algoritma ini sudah dibuktikan sebagai salah satu algoritma yang cocok digunakan untuk melakukan pencarian string (Ginting, 2014). Dalam permasalahan tentang pengenalan Gegendingan Bali tersebut maka akan diangkat sebagai tema tugas akhir dengan judul “Rancang bangun aplikasi multimedia Gegendingan Bali menggunakan algoritma BoyerMoore berbasis android”.
1.2 Rumusan Masalah
Dari latar belakang diatas, terdapat beberapa masalah yaitu :
1. Bagaimana merancang aplikasi Gegendingan Bali agar bisa dijalankan pada smartphone dengan sistem operasi android ?
2. Bagaimana menerapkan algoritma pencarian string Boyer Moore untuk pencarian lirik Gegendingan Bali ?
1.3 Batasan Masalah
Batasan masalah yang terdapat pada penelitian ini adalah :
1. Gegendingan Bali yang dipakai hanya beberapa saja untuk semua jenis, tidak semua Gegendingan Bali yang ada.
3
1.4 Tujuan Penelitian
Tujuan yang ingin dicapai dalam penelitian ini adalah :
1. Untuk merancang aplikasi Gegendingan Bali agar bisa dijalankan di smartphone dengan sistem operasi android.
2. Untuk menerapkan algoritma pencarian string Boyer Moore untuk pencarian lirik Gegendingan Bali.
3. Untuk mengenalkan sekaligus menjaga eksistensi Gegendingan Bali di masyarakat.
1.5 Manfaat Penelitian
Manfaat yang bisa didapatkan dari penelitian ini adalah dapat mengenalkan Gegendingan Bali ke masyarakat dan sekaligus menerapkan algoritma pencarian string BoyerMoore untuk pencarian lirik Gegendingan Bali.
1.6 Metodelogi Penelitian
Metodelogi penelitian ini akan membahas mengenai tahapan-tahapan yang dilakukan dalam pembuatan aplikasi multimedia Gegendingan Bali. Pada penelitian ini, menggunakan metode pengembangan perangkat lunak Multimedia Development Life Cycle (Luther, 1994). Menurut Sutopo (2011), metode ini terdiri dari 6 tahap pengembangan yaitu :
1. Konsep (concept), melakukan identifikasi perkiraan kebutuhan seperti materi dan lagu Gegendingan Bali, pembuatan konsep aplikasi multimedia Gegendingan Bali dan web.
2. Perancangan (design), dari tahap konsep dilanjutkan dengan melakukan pembuatan rancangan diagram dan tampilan untuk mendeskripsikan aplikasi multimedia Gegendingan Bali dan web.
3. Memperoleh isi materi/pengumpulan kebutuhan (obtaining content material), melakukan pengumpulan bahan terkait materi, gending Bali, dan lainnya
4
4. Pembuatan/Implementasi (assembly), pada tahap ini dilalukan pembuatan aplikasi multimedia Gegendingan Bali dan web berdasarkan hasil yang didapatkan dari tahapan sebelumnya. Pembuatan aplikasi multimedia Gegendingan Bali menggunakan bahasa pemrograman java, pembuatan web menggunakan bahasa pemrograman PHP dan untuk basis data menggunakan MySQL.
5. Pengujian (testing), tahap ini dilakukan setelah selesainya tahap pembuatan. Pengujian yang digunakan antara lain black box, white box, input data, relevansi dan stress testing.
5
BAB II
TINJAUAN PUSTAKA
2.1 Multimedia
Pada modul Aplikasi Multimedia dalam Pendidikan (Sutopo, 2011), “multimedia merupakan kombinasi antara teks, seni, suara, animasi, dan video yang disampaikan melalui komputer atau peralatan elektronik dan digital”. Jika menggunakan bersama-sama dengan suara, video dan teks maka akan dapat memberikan makna yang jelas kepada orang yang memerlukannya. Aplikasi multimedia dibagi menjadi beberapa kategori, yaitu presentasi bisnis, aplikasi pelatihan dan pembelajaran, promosi dan penjualan, game, dan lain-lain (Luther, 1994).
Menurut Luther, suatu informasi dengan berbasis multimedia mempunyai beberapa keuntungan yaitu :
1. Lebih komunikatif
Informasi yang menggunakan gambar dan animasi lebih mudah dipahami oleh audiens dibandingkan informasi yang dibuat dengan cara lain. Informasi yang diperoleh dengan membaca kadang-kadang sulit dimengerti dan perlu dibaca berulang-ulang.
2. Mudah dilakukan perubahan
Dalam pengembangan multimedia, untuk suatu informasi bisa menggunakan file sehingga mudah diperbaharui sesuai dengan kebutuhan. Semua file dan hasil pengembangan bisa disimpan dalam komputer
3. Interaktif
6
2.2 Android
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux.
Android menyediakan platform terbuka bagi para pengembang dalam menciptakan
berbagai aplikasi. Awalnya, Google Inc. membeli Android Inc. yang merupakan
pendatang baru yang membuat piranti lunak untuk ponsel/smartphone. Untuk
mengembangkan android dibentuklah Open Handset Alliance, konsorsium 34
perusahaan piranti keras, piranti lunak dan telekomunikasi. Sekitar september 2007
Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan
android sebagai sistem operasinya (Safaat, 2014).
Android dipuji sebagai “platform mobile pertama yang lengkap, terbuka dan
bebas”. Lengkap dalam artian android merupakan sistem operasi yang aman dan
banyak menyediakan tools dalam membangun software dan memungkinkan untuk
peluang pengembangan aplikasi. Terbuka dalam artian pengembang dapat dengan
bebeas untuk mengembangkan aplikasi. Bebas dalam artian android adalah aplikasi
yang bebas untuk develop, tidak ada lisensi atau biaya royalti untuk dikembangkan
pada platform android (Safaat, 2014).
Telpon pertama yang memakai sistem operasi android adalah HTC Dream
yang rilis pada 22 Oktober 2008. Pada tahun 2010 diperkirakan hampir semua vendor
seluler dunia menggunakan android sebagai sistem operasinya. Versi android yang
pernah dirilis : android 1.1, android 1.5 (Cupcake), android 1.6 (Donut), android
Android SDK adalah tools Application Programming Interface (API) yang
7
aplikasi yang dibutuhkan oleh pengembang selain dari aplikasi bawaan smartphone (Safaat, 2014).
2.2.2 Android Development Tools (ADT)
Android Development Tools (ADT) adalah plug-in yang didesain untuk IDE
Eclipse dengan tujuan memberikan pengembang aplikasi kemudahan dalam
mengembangkan aplikasi android. Dengan menggunakan ADT untuk Eclipse, pengembang aplikasi lebih mudah membuat aplikasi android, membuat interface aplikasi, menambahkan komponen-komponen yang diperlukan, menjalankan aplikasi yang sudah dibuat dan bisa melakukan pembuatan packageandroid (.apk) yang digunakan untuk distribusi aplikasi android yang sudah dirancang (Safaat, 2014).
2.2.3 Integrated Development Environment (IDE) Eclipse
Eclipse adalah sebuah Integrated Development Environment (IDE) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform. Eclipse merupakan salah satu IDE favorit karena gratis dan open source. Eclipse memiliki kemampuan untuk menambahkan komponen (plug in) yang diperlukan oleh pengembang (Fatimah, 2011). Eclipse yang digunakan untuk perancangan aplikasi Gegendingan Bali nantinya adalah Eclipse versi Luna. Eclipse memiliki beberapa sifat yaitu (Fatimah, 2011) :
1. Multi platform maksudnya target sistem operasi eclipse adalah Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. Multi language maksudnya eclipse dikembangkan dengan bahasa
pemrograman Java, namun Eclipse bisa mendukung pengembangan aplikasi berbasis
bahasa pemrograman lain, seperti Cobol, Python, Perl, PHP, C/C++ dan lain
sebagainya.
3. Multi role maksudnya eclipse selain sebagai IDE untuk pengembangan
aplikasi, bisa juga digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak, seperti dokumentasi, tes perangkat lunak, pengembangan web dan lain
8
2.2.4 Java Development Kit (JDK)
Untuk membuat suatu program java diperlukan kompiler dan interpreter untuk program java yang berbentuk Java Development Kit (JDK). JDK sendiri diproduksi oleh Sun Microsystems. Sun Microsystems juga yang memperkenalkan Java pada tahun 1990. Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer yang berdiri sendiri maupun komputer pada lingkungan jaringan. Sebelum menginstalasi Android SDK, terlebih dahulu harus menginstalasi JDK. JDK yang digunakan untuk perancangan aplikasi Gegendingan Bali ini adalah Java SE Development Kit 7.
2.3 Diagram Perancangan
Beberapa diagram yang penting untuk merepresentasikan suatu pengembangan aplikasi yaitu :
2.3.1 Diagram Use Case
Diagram ini merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Pada use case terdapat dua hal utama yaitu pendefinisian apa yang disebut aktor dan use case (Shalahudin dkk, 2008).
1. Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri. Walaupun symbol aktor berbentuk gambar orang belum tentu aktor merupakan orang (Shalahudin dkk, 2008).
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit-unit atau aktor (Shalahudin dkk, 2008).
9
Tabel 2. 1 Simbol pada diagram usecase (Shalahudin dkk, 2008)
Nama Simbol Simbol Deskripsi
Use case
use case
Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor. Use case berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri. Walaupun symbol aktor berbentuk gambar orang belum tentu aktor merupakan orang.
Asosiasi / association
Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan
ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; use case ini biasanya memiliki nama depan
yang sama dengan use case yang ditambahkan. Arah panah mengarah ke use case yang ditambahkan.
10
Arah panah mengarah ke use case umum.
Menggunakan /
include / uses <<include>>
Relasi use case tambahan ke sebuah
use case dimana use case yang
ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use
case ini
2.3.2 Diagram Kelas
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Shalahuddin dkk, 2008).
i. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas ii. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas Pada diagram kelas ada beberapa simbol yang digunakan seperti tabel 2.2.
Tabel 2. 2 Simbol pada diagram kelas (Shalahuddin dkk, 2008)
Nama Simbol Simbol Deskripsi
Package Package merupakan sebuah bungkusan
dari satu atau lebih kelas
Kelas Kelas pada struktur sistem
Antarmuka / interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
Asosiasi / Association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
11
Directed association
lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi Relasi antar kelas dengan makna
generalisasi - spesialisasi (umum khusus)
Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Banyaknya diagram sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram
sekuen (Shalahuddin dkk, 2008). Pada diagram sekuen ada beberapa simbol yang digunakan seperti tabel 2.3.
Tabel 2. 3 Simbol pada diagram sekuen (Shalahuddin dkk, 2008)
Nama simbol Simbol Deskripsi
Aktor dengan garis hidup
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang;
Objek
Nama_objek : nama_kelas
12
Waktu aktif Menyatakan objek dalam keadaan
aktif dan berinteraksi pesan
Pesan tipe create << create >> Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call 1: nama_metode() Menyatakan suatu objek memanggil operasi/metode yang ada pada objek lain atau dirinya sendiri,
Pesan tipe send 1: masukan Menyatakan bahwa suatu objek mengirimkan data / masukan /
1: keluaran Menyatakan bahwa suatu objek yang
telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian
Pesan tipe destroy
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy
2.3.4 Diagram Aktivitas
13
Tabel 2. 4 Simbol pada diagram aktivitas (Shalahudin dkk, 2008)
Nama simbol Simbol Deskripsi
Status awal Status awal aktivitas sistem
Aktivitas
aktivitas Aktivitas yang dilakukan sistem. Penamaan biasanya diawali dengan kata kerja
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir Status akhir yang dilakukan sistem
Swimlane Title
Memisahkan organisasi bisnis yang bertanggung jawab terhadap bisnis yang terjadi
2.3.5 Diagram Hubungan Entitas
Diagram Hubungan Entitas atau Entity Relationship Diagram (ERD) adalah suatu pemodelan awal untuk basis data yang paling banyak digunakan (Shalahudin dkk, 2008). Ada beberapa komponen yang digunakan pada ERD seperti tabel 2.5.
Tabel 2. 5 Simbol pada ERD (Shalahudin dkk, 2008)
Nama Komponen
Simbol Deskripsi
14
Atribut kunci primer
Kolom data yang disimpan dalam suatu entitas dan digunakan sebagai kunci akses tabel
Relasi Komponen yang menghubungkan
antar entitas, biasanya diawali dengan kata kerja
Asosiasi 1 0..* Komponen penghubung antara relasi dan entitas dimana kedua ujungnya memiliki nilai.
2.4 Gegendingan Bali
Menurut Bapak I G.K. Ranuh (Tinggen, 1994), Gegendingan itu merupakan suatu kalimat/kumpulan kalimat yang dinyanyikan dan isinya pada umumnya pendek-pendek dan tidak merupakan suatu ceritera. Gegendingan itu dibagi menjadi 3 jenis, yaitu :
1. Gending rare
Gending rare ini dinyanyikan oleh anak-anak pada waktu bermain-main atau bersenda gurau dengan kawan-kawannya. Tembang ini mempunyai system berbeda-beda. Umpama : Jaring Guling, Juru Pencar, Jenggot Uban, Made Cenik, Mati Delod Pasih, dan lain sebagainya (Tinggen, 1994).
2. Gending jejangeran
15
3. Gending Sanghyang
Gending Sanghiang itu dinyanyikan untuk menurunkan (nedunang) Sanghiang-Sanghiang, umpama : Sanghiang Dedari, Sanghiang Memedi, System atau ortenan tembang-tembang ini sama dengan gending-gending rare lainnya tidak dipakai karang-mengarang ceritera sebagai pada tembang-tembang macapat. Umpama : Puspa Panganjali, Kukus Arum, Suaran Kumbang dan lain sebagainya (Tinggen, 1994).
4. Pop Bali
Biasanya lagu pop Bali ini memiliki ciri tersendiri seperti alur tembang yang masih mengikuti tembang - tembang traditional dan biasanya masih banyak dihiasi dengan instrumen traditional seperti : Gupek, Kempul, Seruling dan Gangsa. Jenis gending pop bali ini ditambahkan untuk memperbanyak gending pada database Gegendingan Bali.
2.5 Algoritma Boyer Moore
Algoritma Boyer Moore dianggap sebagai algoritma pencocokkan string yang
paling efisien. Algoritma ini melakukan pencocokkan pola dari kanan ke kiri tetapi
pergeseran tetap dari kiri ke kanan (Charras et al, 2004). Langkah-langkah yang
dilakukan algoritma boyer moore pada saat mencocokkan string adalah (Soleh,
2010/2011) :
1. Algoritma boyer moore mulai mencocokan pattern pada awal teks.
2. Dari kanan ke kiri, algoritma ini mencocokkan karakter per karakter pattern
dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi :
i. Karakter di pattern dan di teks yang dibandingkan tidak cocok.
ii. Semua karakter di pattern cocok. Kemudian algoritma akan
memberitahukan penemuan di posisi ini.
3. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai
pergeseran good-suffix dan pergeseran bad-character, lalu mengulangi langkah 2
16
2.5.1 Pergeseran bad-character
Pergeseran bad-character adalah pergeseran yang dilakukan berdasarkan
karakter apa yang menyebabkan tidak cocok dan seberapa jauh karakter tersebut dari karakter paling akhir (Argakusumah dkk, 2014). Setiap karakter pada pattern diberi nilai sesuai dengan ukuran jauhnya karakter tersebut dari karakter paling kanan
dari pattern dan untuk karakter yang tidak terdapat pada pattern diberi nilai sejumlah
karakter pada pattern (Tania, 2015). Pseudocode untuk pergeseran bad-character
(Argakusumah dkk, 2014) : Procedure prebadChars (
2.5.2 Menghitung nilai bad-character
Pada subbab ini, digunakan pattern “senang” sebagai contoh perhitungan bad-character. Tahapan menghitung nilai bad-character dari pattern tersebut yaitu:
1. Lakukan pencacahan dari posisi terakhir pattern sampai ke posisi awal, dimulai dengan nilai pergeseran 0 (dalam pattern ini karakter “g”).
2. Mundur ke posisi sebelumnya, nilai pergeseran sebelumnya ditambah 1, karena karakter ”n” belum pernah ditemukan, maka nilai pergeserannya 1.
3. Mundur ke posisi sebelumnya, nilai pergeseran sebelumnya ditambah 1, karena karakter ”a” belum pernah ditemukan, maka nilai pergeserannya 2.
4. Mundur ke posisi sebelumnya, karena karakter “n” sudah pernah ditemukan maka nilai pergeseran sama dengan karakter “n” yang sebelumnya yaitu 1.
17
6. Mundur ke posisi sebelumnya, nilai pergeseran sebelumnya ditambah 1, karena karakter ”s” belum pernah ditemukan, maka nilai pergeserannya 5.
Catatan : untuk karakter selain “s, e, n, a, g” nilai pergeserannya sebesar panjang pattern, yaitu 6 karakter (sepanjang pattern).
Nilai pergeseran dari bad-character yang sudah didapatkan :
Posisi 1 2 3 4 5 6
Pattern s e n a n g *
Nilai pergeseran bad-character 5 4 1 2 1 0 6
2.5.3 Pergeseran good-suffix
Pergeseran good-suffix adalah pergeseran yang dilakukan berdasarkan posisi ketidakcocokan karakter yang terjadi (Argakusumah dkk, 2014). Nilai pergeseran good-suffix digunakan ketika ketidakcocokan ditemukan berdasarkan karakter pada posisi keberapa yang menyebabkan ketidakcocokan. Nilai dari setiap karakter yang ada pada pattern bergantung terhadap ada atau tidaknya perulangan akhiran dari teks pada pattern. Semakin banyak perulangan, maka akan semakin kecil nilai pergeseran (Tania, 2015).
Untuk menentukan nilai tersebut, hitung lebih dahulu nilai tabel suffix yang bertujuan untuk memberi tanda adanya perulangan akhiran. Dari tabel suffix inilah tabel good-suffix akan didapat. Nilai pada tabel suffix akan memberitahu posisi perulangan sehingga saat proses perhitungan tabel good-suffix dapat diketahui seberapa banyak pergeseran yang akan dilakukan untuk pencocokkan selanjutnya (Tania, 2015). Pseudocode mencari nilai suffix (Argakusumah dkk, 2014) :
18
Pseudocode pergeseran good-suffix (Argakusumah dkk, 2014) :
Procedure goodsuffix (
Input P : array[0..n-1] of char Input n : integer
Input/output goodsuffixes : array[0..n-1] of integer )
Setelah diperoleh nilai bad-character dan good-suffix, algoritma boyer moore akan menggunakan nilai maksimum antara kedua nilai tersebut untuk
melakukan pergeseran saat pencocokkan (Tania, 2015). Pseudocode algoritma
boyer moore (Argakusumah dkk, 2014) :
Procedure BoyerMooreSearch (
Deklarasi : i, j, shift, goodsuffixesshift, badcharactershift : integer goodsuffixes : array[0..255] of integer
19
2.5.4 Menghitung nilai good-suffix
Pada subbab ini, digunakan pattern “senang” sebagai contoh perhitungan good-suffix. Tahapan menghitung nilai good-suffix dari pattern tersebut yaitu :
1. Pencocokkan dimulai dari karakter terakhir yaitu “g”, apabila karakter terakhir pada teks bukan “g” maka geser 1 posisi sehingga nilai pergeserannya 1, berlaku untuk semua pattern yang dicari.
Teks s e n a n x a b c d e f
Pattern s e n a n g
Pergeseran s e n a n g
2. Jika karakter “g” sudah cocok, tetapi karakter sebelumnya bukan “n” maka geser pattern sebanyak 6 karakter sehingga nilai pergeserannya 6, karena teks maka geser pattern sebanyak 6 karakter sehingga nilai pergeserannya 6, karena teks tersebut bukan “senang”.
20
Pattern s e n a n g
Pergeseran s e n a n g
4. Jika karakter “ang” sudah cocok, tetapi karakter sebelumnya bukan “n” maka geser pattern sebanyak 6 karakter sehingga nilai pergeserannya 6, karena teks tersebut bukan “senang”.
Teks s e x a n g a b c d e f
Pattern s e n a n g
Pergeseran s e n a n g
5. Jika karakter “nang” sudah cocok, tetapi karakter sebelumnya bukan “e” maka geser pattern sebanyak 6 karakter sehingga nilai pergeserannya 6, karena teks tersebut bukan “senang”.
Teks s x n a n g a b c d e f
Pattern s e n a n g
Pergeseran s e n a n g
6. Jika karakter “enang” sudah cocok, tetapi karakter sebelumnya bukan “s” maka geser pattern sebanyak 6 karakter sehingga nilai pergeserannya 6, karena teks tersebut bukan “senang”.
Teks x e n a n g a b c d e f
Pattern s e n a n g
Pergeseran s e n a n g
Nilai pergeseran dari good-suffix yang sudah didapatkan :
Posisi 1 2 3 4 5 6
Pattern s e n a n g
Nilai pergeseran good-suffix 6 6 6 6 6 1
2.5.5 Pencarian dengan algoritma boyer moore
Sebelum melakukan pencarian dengan algoritma boyer moore, harus mencari nilai pergeseran bad-character dan pergeseran good-suffix dari pattern terlebih dahulu. Pattern dan teks yang digunakan adalah :
Pattern (p) : senang
21
Berdasarkan nilai pergeseran bad-character dan good-suffix yang sudah didapatkan pada sub bab 2.5.2 dan sub bab 2.5.4. Tahapan pencocokkan antara pattern dengan teks sebagai berikut :
Posisi 1 2 3 4 5 6
Pattern s e n a n g *
Nilai pergeseran bad-character (bc) 5 4 1 2 1 0 6 Nilai pergeseran good-suffix (gs) 6 6 6 6 6 1
1. Pencocokkan pertama, karakter “i” pada teks tidak cocok dengan karakter “g” pada pattern sehingga nilai pergeseran good-suffix 1, karena ketidakcocokan pada karakter terakhir. Karakter “i” tidak ada pada pattern, maka nilai pergeseran bad-character 6. Karena nilai pergeseran bad-character lebih besar, maka geser pattern sebanyak 6 karakter.
Teks a n a k i t u s e n a n g
Pattern s e n a n g
s e n a n g
2. Pencocokkan selanjutnya, karakter “n” pada teks tidak cocok dengan karakter “g” pada pattern sehingga nilai pergeseran good-suffix 1, karena ketidakcocokan pada karakter terakhir. Karakter “n” ada pada pattern, maka nilai pergeseran bad-character 1. Karena nilai pergeseran sama, maka geser pattern sebanyak 1 karakter.
Teks a n a k i t u s e n a n g
Pattern s e n a n g
s e n a n g
3. Pencocokkan selanjutnya, karakter “a” pada teks tidak cocok dengan karakter “g” pada pattern sehingga nilai pergeseran good-suffix 1, karena ketidakcocokan pada karakter terakhir. Karakter “a” ada pada pattern, maka nilai pergeseran bad-character 2. Karena nilai pergeseran bad-character lebih besar, maka geser pattern sebanyak 2 karakter.
Teks a n a k i t u s e n a n g
22
s e n a n g 4. Pencocokkan selanjutnya, karena karakter pada pattern dan teks cocok, maka pencocokkan dihentikan.
Teks a n a k i t u s e n a n g
Pattern s e n a n g
2.6 Pengujian
2.6.1 Pengujian Black Box
Pengujian ini mengarah kepada persyaratan fungsional perangkat lunak. Pengujian memungkinkan penguji mendapatkan serangkaian kondisi input yang memenuhi persyaratan fungsional suatu program. Pengujian berusaha menemukan kesalahan dengan kategori seperti fungsi yang salah, kesalahan antarmuka, kesalahan struktur data, kesalahan kinerja atau kesalahan inisialisasi. Pengujian black box biasanya dilakukan pada tahap akhir pengujian (Nugroho dkk, 2009).
2.6.2 Pengujian White Box
Pengujian ini adalah metode desain kasus uji yang menggunakan struktur kontrol desain prosedural untuk memperoleh kasus uji. Untuk pengujian pada aplikasi multimedia Gegendingan Bali ini menggunakan jenis pengujian white box basis path testing. Basispathtesting memungkinkan untuk mengukur kompleksitas
logis dari rancangan procedural dan bisa digunakan sebagai pedoman untuk menetapkan jalur eksekusi dasar (basis set) (Nugroho dkk, 2009).
Jenis ini menggunakan notasi flow graph yang menggambarkan aliran kontrol logika. Untuk menentukan jalur independen dari graph digunakan nilai kompleksitas siklomatis (ukuran kuantitatif terhadap kompleksitas suatu program (Nugroho dkk, 2009). Ada 3 cara mencari kompleksitas siklomatis :
1. Jumlah region flow graph
2. Kompleksitas siklomatis V(G) untuk flow graph G dihitung V(G) = jumlah edge – jumlah node + 2
3. V(G) = jumlah node predikat pada flow graph + 1
23
pengelolaan. Pada tabel 2.6 menjelaskan hubungan nilai cyclomatic complexity dengan risiko dalam prosedur.
Tabel 2. 6 Hubungan cyclomaticcomplexity dengan risiko (Aivosto, 2013)
CC Jenis prosedur Risiko
1-4 prosedur sederhana Rendah
5-10 Prosedur stabil dan terstruktur Rendah
11-20 Prosedur yang lebih kompleks Sedang
21-50 Prosedur yang kompleks dan mengkhawatirkan Tinggi >50 Kesalahan rawan, sangat merepotkan, prosedur tak
teruji
Sangat tinggi
2.6.3 Stress Testing
Pengujian ini dilakukan untuk melawan program pada keadaan abnormal. Pengujian ini mengeksekusi sistem dalam kondisi kuantitas sumber daya yang abnormal (Nugroho dkk, 2009). Pada pengujian ini menggunakan perangkat lunak untuk pengujian web yang bernama webserver stress tool. Pengujian ini akan memastikan bahwa pengguna mengakses web akan merasa nyaman dan tidak terganggu. Jakob Nielsen menyarankan ambang batas kinerja untuk website seperti pada tabel 2.7.
Tabel 2. 7 Tabel ambang batas kinerja untuk website (Paessler) Waktu tunggu pengguna
saat mengakses
Reaksi Pengguna
< 0,1 detik Pengguna merasa bahwa sistem bereaksi seketika < 1,0 detik Pengguna tidak terganggu. Pengguna tidak senang
dengan menunggu, tapi pengguna masih fokus pada halaman web saat ini
< 10 detik Menunggu mendekati 10 detik, penelitian menunjukkan bahwa kemungkinan gangguan pengguna sangat meningkat
24
Pengujian dilakukan dengan metode Click Test, tes ini diuji dengan melakukan klik pada web. Tes ini selesai ketika jumlah klik yang diuji untuk web oleh setiap pengguna terpenuhi. Tes ini cocok untuk menguji urutan halaman web tertentu.
2.6.4 Pengujian Input Data
Pengujian input data ini adalah tindakan untuk menguji edit dan kontrol dalam pemasukan data, misalnya : validasi dan cek digit. Ada beberapa pengujian saat input data seperti pengecekan karakter, pengecekan nilai numerik, pengecekan digit, pengujian batas, pengujian kelogisan, kompatibilitas internal, cek data silang, transaksi ganda dan lain sebagainya (Supriyanto, 2005).
2.6.5 Penilaian Relevansi
Penilaian relevansi dimaksudkan untuk menyatakan dokumen mana yang dinilai sesuai atau tepat dari dokumen-dokumen yang telah ditemukan dari proses temu balik informasi. Ada dua hal penting yang biasanya digunakan sebagai acuan dalam mengukur kemampuan suatu Sistem Temu Balik Informasi (STBI) yaitu perolehan (recall) dan ketepatan (precision/presisi) (Hasugian, 2006).
Perolehan berhubungan dengan kemampuan sistem untuk memanggil dokumen yang relevan sedangkan ketepatan berkaitan dengan kemampuan sistem untuk tidak memanggil dokumen yang tidak relevan. Recall sebenarnya sulit diukur karena jumlah seluruh dokumen yang relevan dalam database sangat besar. Oleh karena itu presisi-lah yang biasanya menjadi salah satu ukuran yang digunakan untuk menilai keefektifan suatu STBI (Hasugian, 2006). Menghitung presisi menggunakan rumus :
� � = � �ℎ ℎ � � � � � � �
25
Tabel 2. 8 Tiga kategori precision (Hasugian, 2006)
No Kategori Rentang (angka precision)
1 Presisi rendah 0,00 – 0,33 2 Presisi sedang 0,33 – 0,66 3 Presisi tinggi 0,67 – 1,00
Untuk pengujian pencarian lirik Gegendingan Bali pada aplikasi multimedia Gegendingan Bali ini menggunakan penilaian ketepatan (precision).
2.7 Tinjauan Studi
2.7.1 Penerapan Algoritma Boyer Moore pada Aplikasi Pengajuan Judul Skripsi Berbasis Web (Ginting, 2014)
Pada jurnal penelitian tersebut, penulis membuat aplikasi pengajuan judul
skripsi berbasis web dengan menerapkan algoritma Boyer Moore. Penulis melakukan
pengujian algoritma tersebut dengan mencocokan antara kata kunci dengan judul
skripsi yang dicari. Aplikasi ini dibangun dengan bahasa pemrograman CSS, PHP dan
MySQL. Pengujian dilakukan dengan membandingkan 2 judul dalam 12 tahap. Dari
hasil perbandingan kedua judul tersebut didapatkan hasil persentase kesamaan kata
11.11 % atau 3 kata yang cocok dari 9 kata yang di uji.
Dari kesimpulan yang didapatkan penulis, algoritma Boyer Moore cocok
digunakan untuk melakukan pencarian string tetapi tidak cocok digunakan untuk
mengambil informasi dari kecocokan string berdasarkan satu kata atau lebih. Pada
jurnal penelitian ini, masih menggunakan bahasa pemrograman PHP dan MySQL
sehingga hanya bisa dijalankan pada perangkat keras komputer dan penulis belum
menerapkan pada perangkat smartphone atau tablet.
2.7.2 Rancang Bangun Aplikasi Pengenalan dan Pembelajaran Seni Karawitan Berbasis Multimedia Studi Kasus Komunitas Turus (Hidayat, 2014)
Pada jurnal penelitian ini, penulis membuat suatu aplikasi yang bisa digunakan
sebagai media pengenalan dan pembelajaran seni karawitan. Untuk metode
pengembangan penulis menggunakan metode pengembangan menurut Luther yang
26
pengujian dan distribusi. Pada aplikasi ini menggunakan algoritma pencarian
sequential.
Aplikasi ini menggunakan bahasa pemrograman Java dan PHP untuk database
pada aplikasi ini menggunakan MySQL. Untuk pengujian, penulis melakukan
pengujian sebanyak 13 kali terhadap aplikasi tersebut. Pada jurnal ini, penulis tidak
menjelaskan beberapa hardware yang digunakan, seperti smartphone maupun
komputer karena pada pengujian terdapat uji login dan pengelolaan data namun pada
aplikasi tidak terdapat fasilitas tersebut.
2.7.3 Implementasi Algoritma Boyer-Moore pada Aplikasi Kamus Kedokteran Berbasis Android (Argakusumah dkk, 2014)
Pada jurnal penelitian ini, penulis menerapkan algoritma pencarian string
Boyer-Moore pada aplikasi kamus kedokteran. Aplikasi ini menggunakan bahasa
pemrograman Java berbasis android. Untuk database pada aplikasi ini menggunakan
SQLite. Pengujian pada aplikasi ini dilakukan oleh 45 orang responden. 45 orang
tersebut terdiri dari dokter, perawat, bidan dan mahasiswa kedokteran. Pengujian ini
menggunakan 4 parameter yang diujikan, seperti kemudahan menggunakan aplikasi,
keakuratan kata dengan hasil proses pencarian, keindahan desain dan manfaat yang bisa
diberikan.
Dari hasil pengujian, pencarian kata menggunakan algoritma Boyer-Moore
berhasil dilakukan dengan persentase sebesar 100%. Responden yang menguji
menyatakan bahwa proses pencarian memberikan penjelasan yang sesuai dengan yang
diharapkan. Pada jurnal penelitian ini, uji coba pencarian hanya dilakukan terhadap 8
istilah pada kedokteran sehingga kemungkinan pada perbendaharaan katanya masih