FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT i KATA PENGANTAR Puji syukur kepada Tuhan yang Maha Esa atas berkat dan rahmat-Nya yang di berikan kepada penulis, sehingga skripsi yang berjudul “Apliksi Buku Nyanyian Elektronik GMIM berbasis Android” dapat diselesaikan. Adapun skripsi ini dibuat untuk memenuhi persyaratan kurikulum Sarjana Strata-1 pada program studi Teknik Informatika di Universitas Klabat. Penulis menyadari bahwa skripsi ini dapat diselesaikan bukanlah sematamata atas usaha penulis sendiri. Skripsi ini dapat diselesaikan karena bantuan, bimbingan, dan dorongan yang diterima oleh penulis dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih pada : 1. Bapak Ir. Edson Yahuda Putra, M.Kom selaku Dekan Fakultas Ilmu Komputer Universitas Klabat
221
Embed
SKRIPSI Aplikasi Buku Nyanyian Elektronik GMIM Berbasis Android - Copy
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABATi
KATA PENGANTAR
Puji syukur kepada Tuhan yang Maha Esa atas berkat dan rahmat-Nya
yang di berikan kepada penulis, sehingga skripsi yang berjudul “Apliksi Buku
Nyanyian Elektronik GMIM berbasis Android” dapat diselesaikan. Adapun
skripsi ini dibuat untuk memenuhi persyaratan kurikulum Sarjana Strata-1 pada
program studi Teknik Informatika di Universitas Klabat.
Penulis menyadari bahwa skripsi ini dapat diselesaikan bukanlah
sematamata atas usaha penulis sendiri. Skripsi ini dapat diselesaikan karena
bantuan, bimbingan, dan dorongan yang diterima oleh penulis dari berbagai pihak.
Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih
pada :
1. Bapak Ir. Edson Yahuda Putra, M.Kom selaku Dekan Fakultas Ilmu
Komputer Universitas Klabat
2. Bapak Stenly Pungus, S.Kom, M.T selaku ketua program studi Teknik
Informatika Fakultas Ilmu Komputer
3. Anggota tim penguji yakni bapak Green Mandias, S.Kom, M.Cs dan
Andrew, dan teman-teman kaskus sub-forum Android yang sudah
memberikan bantuan langsung hingga selesainya skripsi ini
8. Teman-teman angkatan 2010 Fakultas Ilmu Komputer yang tidak
dapat disebutkan satu persatu yang telah memberikan masukan,
bantuan dan dukungan yang bermanfaat bagi penulis
Penulis juga menyadari bahwa dalam skripsi ini masih terdapat banyak
kekurangan karena keterbatasan pengetahuan dan pengalaman penulis. Oleh
karena itu, penulis mengharapkan adanya saran dan tanggapan yang mengarahkan
skripsi ini ke arah yang lebih sempurna.
Semoga skripsi ini dapat memberikan manfaat yang baik bagi pembaca,
pihak yang membutuhkan dan memberikan hasil yang baik dimasa yang akan
datang.
Airmadidi, Mei 2014
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABATiii
Penulis
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABATiv
ABSTRAK
Tiap gereja memiliki buku nyanyian untuk mengisi puji-pujian pada ibadah. Sebuah organisasi gereja yakni Gereja Masehi Injili di Minahasa menggunakan lima buku nyanyian untuk mengisi puji-pujian pada ibadah. Banyaknya buku nyanyian ini membuat jemaat bingung untuk belajar lagu pada tiap buku dan tidak praktis apabilia seluruh buku ini harus di bawah pada tempat ibadah. Untuk itu dikembangkan aplikasi buku nyanyian elektronik GMIM pada smartphone Android. Pengembangan aplikasi menggunakan proses model Waterfall dan metodologi penelitian yang yakni rekayasa perangkat lunak. Aplikasi ini bertujuan memberikan kemudahan pada pengguna untuk tidak perlu lagi membawa buku nyanyian pada tempat ibadah dan kemudahan untuk belajar lagu individual. Dan untuk organisasi gereja yakni mengurangi biaya untuk penggunaan kertas dan masalah ketersediaan proyektor ada acara ibadah. Perancangan aplikasi disesuaikan dengan prinsip desain Android sehingga tidak diperlukan pengguna dengan kemampuan komputasi yang tinggi.
Kata Kunci : Buku, Nyanyian, GMIM, Smartphone, Android.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABATv
ABSTRACT
Each church has to fill a songbook of praise in worship. An organization of the church Evangelical Church in Minahasa using five song books to fill in the praise worship. This makes many church hymnals confused to learn the songs in each book and impractical apabilia throughout this book should be at the bottom of the place of worship. For applications that are developed electronic songbook GMIM on Android smartphones.
Application development using the Waterfall model and the research methods used in the following study of the literature on similar studies, analysis of similar applications in a play store and data collection in the form of observation. This application gives users the freedom to not have to carry a book singing at places of worship and the ease to learn the songs individually. And for the church organization that reduces costs for paper usage and availability problems exist service the projector. Customized application design with the design principles of Android so that users do not need high computing capabilities
Kata Kunci : Book, Song, GMIM, Smartphone, Android.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABATvi
DAFTAR ISI
LEMBAR PENGESAHAN
LEMBAR PERYATAAN KEASLIAN
KATA PENGANTAR.............................................................................................i
1. Pada buku KLIK hanya tersedia lirik dan nada dasar
2. Pada not angka, hanya lirik ayat pertama dan reffrein yang
ditampilkan
3. Sistem operasi minimal 4.0.4 Ice Cream Sandwich.
1.8 Daftar Istilah
1. Gfk : atau Society for Consumer Research.
2. GMIM : Gereja Masehi Injili di Minahasa, Sebuah organisasi
gereja protestan aliran calvinalisme di Sulawesi Utara yang diakui
oleh PGI
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT12
3. Blackbox : Jenis pengujian yang dilakukan hanya memperhatikan
output
4. Whitebox : Jenis pengujian yang di lakukan pada bagian-bagian
terkecil dalam sebuah aplikasi, yakni kode program.
5. Midi : Musical Instrument Digital Interface (MIDI) merupakan
binary instructions list yang sangat panjang pada program atau
perangkat MIDI
6. DIA : Merupakan aplikasi yang sejenis dengan VISIO keluaran
Windows. DIA membantu untuk menggambar diagram relasi,
UML, flowcharts, network dan diagram lainnya.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT13
BAB II
TINJAUAN LITERATUR
1.9 Notasi Musik
Notasi music adalah sistem penulisan karya music [7]. Dalam notasi
musik, nada dilambangkan oleh not. Tulisan musik biasa disebut partitur.
1. Not balok
Gambar 2.1 Contoh not balok [7]
Pada notasi balok, sistem paranada bergaris lima digunakan sebagai dasar.
Bersama dengan keterangan mengenai tempo, ketukan, dinamika, dan
instrumentasi yang digunakan, not ditempatkan pada paranada dan dibaca dari kiri
ke kanan. Durasi nada dilambangkan dengan nilai not yang berbeda-beda,
sedangkan tinggi nada dilambangkan dalam posisi not secara vertikal pada
paranada. Interval dua not yang dipisahkan satu garis seperti digambarkan pada
Gambar 2.1 merupakan interval terts, sedangkan interval antara not pada spasi
dengan not pada garis adalah interval sekunde. Tanda kunci pada awal paranada
menunjukkan tinggi nada yang diwakili oleh garis dan spasi pada paranada
tersebut. Pada gambar di samping, kunci-G digunakan, menandakan bahwa garis
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT14
kedua dari bawah melambangkan nada g¹. Dengan demikian, interval terts pada
gambar di samping adalah pasangan nada a1–c2, sedangkan interval sekunde
merupakan pasangan nada a1–b1. Not-not yang melambangkan tinggi nada di luar
jangkauan kelima garis paranada dapat digambarkan dengan menggunakan garis
bantu yang diletakkan di atas atau di bawah paranada.
2. Not angka
Gambar 2.2 Contoh not angka [7]
Pada Gambar 2.2, not ditentukan dengan angka 1 (do), 2 (re), 3 (mi), 4
(fa), 5 (sol), 6 (la) dan 7 (si). Nada 1 tanpa titik merupakan nada C natural di
notasi balok. Tanda satu titik di atas not, menunjukkan bahwa not tersebut naik
satu birama dari nada asli, sedangkan tanda satu titik di bawah not menunjukkan
bahwa not tersebut turun satu birama dari nada asli.
Berikut adalah cara membaca notasi not angka berdasarkan Gambar 2.2
1. Do = G menunjukkan nada dasar lagu tersebut.
2. 4/4 menunjukkan Tanda birama yang menunjukkan ritme lagu. Angka
di bagian atas tanda birama menunjukkan jumlah ketukan per birama,
sedangkan angka di bawah menunjukkan nilai not per ketukan. Tanda
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT15
birama 4/4 di sini menunjukkan bahwa terdapat empat ketukan dalam
birama, satu ketukan kuat diikuti tiga ketukan lemah, dan masing-
masing ketukan bernilai not seperempat
3. Tempo = 66 menunjukkan tempo lagu, artinya dalam satu menit ada
66 ketuk.
4. SATB menunjukkan tipe suara yang menyanyikan baris tersebut.
5. P berarti 'piano' yang berarti lembut, artinya lagi ini dengan dinamika
yang lembut.
6. Tanda Crescendo yang dilanjutkan dengan tanda decrescendo,
menunjukkan ada perubahan dinamika, yakni mengeras, kemudian
melembut lagi.
7. Garis birama yang merupakan pemisah antar birama.
Pada penelitian ini, peneliti menggunakan notasi music yakni not angka
karena not angka lebih mudah untuk dimengerti dibandingkan not balok yang
harus mempunyai pengetahuan lebih lanjut.
1.10 Smartphone
Smartphone menyediakan fasilitas internet dan akses ke layanan data yang
beragam. Teknologi smartphone telah pindah ke perangkat yang sangat visual dan
menarik banyak pengguna, serta memberikan banyak fasilitas untuk
berkomunikasi. Beberapa sistem operasi yang sedang berkembang saat ini adalah
Blackberry, iOs, dan Android [8].
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT16
1.11 Android
Android adalah sistem operasi mobile yang berbasis pada versi modifikasi
linux. Android pada awalnya dikembangkan oleh startup dengan nama yang sama,
Android, Inc [9].
Keuntungan menggunakan Android adalah pendekatan terpadu untuk
pengembangan aplikasi. Pengembang hanya perlu mengembangkan untuk
Android, dan aplikasi tersebut mampu berjalan pada seluruh perangkat selama itu
menggunakan Android. Tabel 2.1 adalah versi Android yang terakhir di release
sampai 1 November 2013.
Tabel 2.1
Versi Android [10]
Sistem operasi Android dibagi menjadi 5 bagian dalam 4 lapisan utama.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT17
Berikut penjelasan dari Gambar 2.3. Linux kernel, lapisan ini berisi semua
perangkat driver lowlevel untuk berbagai macam komponen hardware dari
perangkat Android.
1. Libraries, lapisan ini berisi semua code yang menyediakan fitur-
fitur utama dari sistem operasi Android. Contohnya library SQLite
menyediakan dukungan database sehingga aplikasi bisa
menggunakannya untuk penyimpanan data.
2. Android runtime, lapisan ini berada pada lapisan yang sama
dengan libraries. Lapisan ini menyediakan satu set library yang
memungkinkan developer untuk membuat aplikasi Android
menggunakan bahasa pemrograman Java. Lapisan ini juga
mencakup mesin virtual Dalvik, yang memungkinkan setiap
aplikasi Android untuk berjalan dalam prosesnya sendiri dengan
instance-nya masing-masing dalam mesin virtual Dalvik. Dalvik
adalah mesin virtual khusus yang dirancang terutama untuk
Android dan dioptimalkan untuk perangkat mobile bertenaga
baterai dengan memori dan CPU yang terbatas.
3. Application framework, lapisan ini memaparkan berbagai
kemampuan sistem operasi Android kepada developer aplikasi
Gambar 2.3 Arsitektur Android [10]
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT18
sehingga developer bisa menggunakannya pada aplikasi yang
dikembangkan.
4. Applications, pada lapisan teratas ini, terdapat aplikasi yang sudah
ada pada perangkat Android, seperti telepon, kontak, browser, dan
aplikasi lainya yang langsung dapat digunakan oleh pengguna.
Pada lapisan ini juga terdapat aplikasi-aplikasi yang di-download
dan di-install dari Android Market. Setiap aplikasi yang dibuat
ditempatkan pada lapisan ini.
1.12 Java
Bahasa Java diciptakan pertama kali oleh sekelompok tim yang dipimpin
oleh James Gosling di Sun Microsystems yang pertama kalinya disebut sebagai
Oak yang diciptakan tahun 1991 untuk digunakan pada chip yang ditanamkan di
peralatan elektronik [11].
Java itu sederhana, object oriented, aman, portable, memiliki performansi
yang tinggi, multithreaded, dan dinamis. Java juga merupakan bahasa
pemrograman yang penuh fitur dan dapat digunakan untuk membuat berbagai
aplikasi baik yang umum maupun yang tingkat tinggi. Sekarang ini java
digunakan tidak hanya untuk pemrograman web tetapi juga untuk membuat
aplikasi yang bisa berdiri sendiri meskipun berbeda perangkat seperti pada server,
komputer, ataupun pada perangkat mobile.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT19
1.13 SQLite
SQLite merupakan mesin database SQL embedded. Tidak seperti
kebanyakan database SQL lainnya, SQLite tidak memiliki proses server yang
terpisah. SQLite membaca dan menulis secara langsung ke disk. Database SQL
lengkap dengan multiple tabel, indices, triggers, dan views, semua terdapat dalam
sebuah disk file tunggal. Format file database adalah cross-platform yaitu kita
bebas mengcopy database antara 32-bit dan sistem 64-bit [12].
Penggunaan memori yang kecil dan tidak membutuhkan database
administrator sehingga SQLite sangat cocok untuk digunakan pada gadget seperti
telepon selular, PDA, MP3, dan gadget lainnya. Selain itu cocok juga database
web untuk skala kecil sampai menengah, aplikasi enterprise untuk membuat demo
aplikasi atau prototype, dan sebagai pengganti format file seperti XML, JSON,
CSV.
1.14 Android Development Tools
Android Development Tools merupakan extension untuk IDE Eclipse
yang mendukung pengembangan dan debugging aplikasi Android [9]. Dengan
menggunakan ADT, Eclipse memiliki kemampuan untuk:
1. Membuat proyek aplikasi Android
2. Akses tools untuk emulator Android
3. Compile dan debug aplikasi Android
4. Export Android menjadi APK
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT20
5. Membuat sertifikat untuk code-signing pada APK.
1.15 Eclipse
Eclipse adalah sebuah open source software yang gunanya menyediakan
tool platform yang sangat terintegrasi [9]. Dalam penggunaannya Eclipse meliputi
core project dimana yang berisi generic framework untuk tool integration dan
sebuah Java development environment. Proyek pada Eclipse terimplementasikan
pada Java dan dapat dijalankan pada beberapa sistem operasi meliputi Windows,
Mac OSX dan Linux.
Proyek Eclipse mendukung pengembangan dari sebuah platform atau
framework untuk pengimplementasian dari Integrated Development Environment
(IDE) dan aplikasi lainnya. Meskipun framework dari Eclipse diimplemesntasikan
pada Java tidak menutup kemungkinan pengembangan juga dilakukan pada
bahasa pemograman lainnya seperti C++, XML dan sebagainya.
1.16 Midi
Musical Instrument Digital Interface (MIDI) merupakan binary
instructions list yang panjang pada program MIDI atau perangkat MIDI yang
telah terstandardisasi secara internasional sehingga dapat digunakan untuk saling
bertukar data antar perangkat musik elektronik dan komputer dari jenis dan merek
berbeda [13]. Struktur dari berkas MIDI terdiri atas satu potongan pembuka atau
header chunk dan sejumlah track chunk yang berisi events. Kedua elemen ini
memberikan informasi mengenai identitas dan lagu .dalam berkas MIDI.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT21
1.17 Buku Nyanyian
Berikut merupakan jenis-jenis buku nyanyian yang digunakan organisasi
gereja GMIM:
1.17.1 Kidung Jemaat
Kidung Jemaat [14] merupakan buku nyanyian pertama yang di terbitkan
pada tahun 1985 oleh Yayasan Musik Gerejawi yang bekerja sama dengan Dewan
Gereja-gereja di Indonesia dan kini menjadi Persekutuan Gereja-gereja di
Indonesia. Buku nyanyian ini menampung nyanyian sepanjang sejarah sampai
saat ini sesuai dengan kebutuhan ibadah. Tabel 2.2 merupakan daftar kelompok
lagu buku Kidung Jemaat.
Tabel 2.2
Kategori lagu Kidung Jemaat
Kategori Lagu Nomor Lagu
Menghadap AllahPuji-pujian dan Pembukaan Ibadah 1-22Pengakuan dan Pengampunan Dosa 23-41Kyrie dan Gloria 42-48
Pelayanan FirmanPembacaan Alkitab 49-59Penciptaa dan Pemeliharaan 60-69Perjanjian Lama 70-75Penantian Mesias dan Masa Adven 76-91Kelahiran Yesus dan Masa Natal 92-127Akhir Masa Natal dan Epifania 128-143Kisah Pelayanan Yesus 144-154
Tabel 2.2
Kategori lagu Kidung Jemaat (Lanjutan)
Kategori Lagu Nomor Lagu
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT22
Sengsara Yesus dan Jumat Agung 164-186Kebangkitan Yesus dan Masa Paskah
187-217
Hari Kenaikan 218-227Roh Kudus dan Hari Pentakosta 228-241Allah Tritunggal dan Hari Trinitatis 242-246Gereja dan Kerajaan Allah 247-261Kehidupan Sorgawi 262-271Akhir Zaman dan Penggenapan 272-279
Respons Terhadap Pelayanan FirmanPeryataan Keyakinan Iman 280-285Pengucapan Syukur dan Persemba-han
Waktu dan MusimPagi dan Siang 321-323Petang dan Malam 324-329Pergantian Tahun 330-332Musim dan Panen 333-335Bangsa dan Negara 336-337
Penutupan IbadahPengutusan 338-344Berkat 345-350
Hidup Beriman Sehari-hariPanggilan Juruselamat 351-360Penyerahan Diri 361-376Kebesaran Rahmat Tuhan 377-390Sukacita dalam Tuhan 391-399Hidup Bersama Tuhan 400-405Tuntunan Tuhan 406-421Tanggung Jawab Pengikut Kristus 422-437
Tabel 2.2
Kategori lagu Kidung Jemaat (Lanjutan)
Kategori Lagu Nomor LaguKemenangan dalam Perjuangan 438-446
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT23
Keluarga dan Persekutuan 447-451Doa Setiap Waktu 452-471Haleluya, Amin dan Lain-lain 472-478
1.17.2 Pelengkap Kidung Jemaat
Pelengkap Kidung Jemaat adalah buku nyanyian yang dibuat untuk
melengkapi Kidung Jemaat, diterbitkan oleh Yayasan Musik Gereja di Indonesia
(Yamuger) [15]. Tabel 2.3 merupakan daftar kelompok lagu buku Pelengkap
Kidung Jemaat.
Tabel 2.3
Kategori lagu Pelengkap Kidung Jemaat
Kategori Lagu Nomor LaguMenghadap Allah
Puji-pujian dan Pembukaan Ibadah 1-36Pengakuan dan Pengampunan Dosa, Kyrie dan Gloria 37-51
Pelayanan FirmanPembacaan Alkitab 52-53Penciptaa dan Pemeliharaan 54-58Perjanjian Lama 59Masa Adven, Masa Natal dan Epifania 60-75Kisah Pelayanan Yesus 76-78Masa Prapaskah 79Sengsara Yesus dan Jumat Agung 80-85Kebangkitan Yesus dan Masa Paskah 86-91Hari Kenaikan, Hari Pentakosta dan Hari Trinitasi 92-101Gereja,Kerajaan Allah dan Kehidupan Sorgawi 102-114Akhir Zaman dan Penggenapan 115-116
Tabel 2.3
Kategori lagu Pelengkap Kidung Jemaat (Lanjutan)
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT24
Kategori Lagu Nomor LaguRespons Terhadap Pelayanan Firman
Peryataan Keyakinan Iman 117-144Pengucapan Syukur dan Persembahan 145-150
Pelayanan KhususBaptisan Kudus, Peneguhan Sidi, Perjamuan Kudus, dan Pernikahan 151-159Pemakaman dan Penghiburan 160-166
Waktu dan MusimPagi dan Siang 167-170Petang dan Malam 171-174Bangsa dan Negara 175-176
Penutupan IbadahPengutusan 177-185Berkat 186
Hidup Beriman Sehari-hariPanggilan Juruselamat 187-192Penyerahan Diri 193-202Kebesaran Rahmat Tuhan 203-212Sukacita dalam Tuhan 213-224Hidup Bersama Tuhan 225-250Tuntunan Tuhan 251-263Tanggung Jawab Pengikut Kristus 264-283Kemenangan dalam Perjuangan 284-285Keluarga dan Persekutuan 286-289Doa Setiap Waktu 290-291Haleluya, Amin dan Lain-lain 292-296Taize 297-308
Taize merupakan komunitas yg didirikan pada 1940 oleh Frère Roger
(Bruder Roger), yang tetap menjadi kepalanya hingga wafatnya pada 16 Agustus
2005 dan diabdikan kepada rekonsiliasi. Komunitas ekumenis ini terdiri dari lebih
dari 100 orang laki-laki dari berbagai bangsa yang mewakili denominasi protestan
dan katolik Roma dari agama kristen.
1.17.3 Nyanyikanlah Kidung Baru
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT25
Nyanyikanlah Kidung Baru adalah buku himne yang diterbitkan oleh
Badan Pengerja Majelis Sinode (BPMS) Gereja Kristen Indonesia [16]. Tabel 2.4
merupakan daftar kelompok lagu Nyanyikanlah Kidung Baru.
Tabel 2.4
Kategori lagu Nyanyikanlah Kidung Baru
Kategori Lagu Nomor LaguMenghadap Allah
Panggilan Beribadah 1-8Pengakuan Dosa 9-14Pengampunan Dosa 15-23Kyrie dan Gloria 24-31
Pelayanan FirmanPenciptaa dan Pemeliharaan 32-35Pagi dan Malam 36-45Pergantian Tahun 47-49Pranatal/Adven 50-54Kelahiran Yesus/Natal 55-67Kisah Pelayanan Yesus Kristus 68-73Kesengsaraan Yesus Kristus 74-78Kematian Yesus Kristus 79-85Kebangkitan Yesus Kristus / Paskah 86-92Kenaikan Yesus Kristus ke Sorga 93-95Pencurahan Roh Kudus/Pentakosta 96-106Allah Tritunggal 107-110Gereja dan Kerajaan Allah 111-114
Sambutan Atas Pelayanan FirmanPengaminan Firman 115-119Pengakuan Iman 120-121Penyerahan Diri 122-131Pengucapan Syukur 132-135
Tabel 2.4
Kategori lagu Nyanyikanlah Kidung Baru (Lanjutan)
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT26
Kategori Lagu Nomor LaguDoa Setiap Hari 117-144Pengharapan dan Pemenuhan Janji Allah 145-150
Pelayanan KhususSakramen Baptisan dan Pengakuan Percaya 151-155Sakramen Perjamuan Kudus 156-158Pernikahan/Hidup Keluarga 159-160Penghiburan 161-173Peristiwa Gerejawi 174-175
PengutusanHidup Mengikut Yesus 167-170Bersekutu dengan Sesama 171-174Bersaksi kepada Dunia 194-205Melayankan Kasih dan Keadilan 206-213Memelihara Perdamaian dan Keutuhan Ciptaan 214-217Membela Bangsa dan Negara 218-219
Akhir IbadahBerkat 220-221Haleluya Amin 222-229
Himne GKIBerderaplah Satu 230
1.17.4 Nyanyikanlah Nyanyian Baru bagi Tuhan
Merupakan buku nyanyian yang didalamnya berisi lagu-lagu dari warga
GMIM. Lagu-lagu tersebut merupakan lagu abad ini. Mulanya terbentuk buku ini
merupakan hasil dari pertemuan Sidang Sinode GMIM Lengkap dan diteruskan
oleh seksi bidang musik [17].
1.17.5 Kumpulan Lagu Ibadah-Ibadah Kreatif dan Kebaktian Kebangunan
Rohani
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT27
Merupakan kumpulan lagu yang berbeda dari buku nyanyian yang lain.
Didalamnya berisi lagu-lagu masa kini yang telah di pilih oleh organisasi gereja
GMIM [18].
1.18 Unified Modeling Language (UML)
Untuk memudahkan komunikasi antar pengembang perangkat lunak
diperlukan adanya satu spesifikasi standar [19]. Para pengembang perangkat lunak
harus mengikuti standar dan petunjuk yang telah ditetapkan pada proyek
pengembangan perangkat lunak, dan beberapa petunjuk tersebut direpresentasikan
dalam model.
Model direpresentasikan dengan notasi umum dan model yang standar
akan lebih mudah dipahami dan digunakan. Model ini akan meningkatkan
komunikasi antar pengembang dan mengurangi kesalahan terjadinya
kesalahpahaman saat mengembangkan suatu perangkat lunak. Menggunakan
model ini juga akan menghemat waktu karena model telah memberikan jawaban
atas pilihan, dan menyebabkan pengembang lebih fokus terhadap pengembangan.
UML adalah salah satu model yang standar dan banyak digunakan oleh
pengembang perangkat lunak. UML mendefinisikan notasi dengan sangat baik
dan memiliki arti yang sangat mendekati pemodelan berorientasi objek.
1.18.1 Use-Case Diagram
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT28
Use-Case Diagram menampilkan relasi antara aktor dengan Use-Case
dalam suatu sistem. Use-Case Diagram digunakan untuk:
1. Memberikan Gambaran keseluruhan dari kebutuhan sistem atau
organisasi dalam bentuk model,
2. Mengkomunikasikan ruang lingkup dari suatu proyek
pengembangan,
3. Memodelkan analisa kebutuhan di dalam suatu Use-Case model.
Use-Case Diagram sebaiknya dibuat berdasarkan sudut pandang dari
stakeholder. Elemen-elemen yang terdapat pada Use-Case diagram adalah
sebagai berikut:
1. Use-Case, mendeskripsikan sekumpulan aksi yang dilakukan oleh
aktor dan diGambarkan dalam bentuk eclipse.
2. Actor, adalah satu orang, organisasi, proses lokal atau sistem
eksternal yang memainkan suatu peran dalam satu atau lebih
interaksi dengan sistem dan diGambarkan dengan bentuk figur
orang.
3. Relationship, relasi antara Actor dengan Use-Case yang
digambarkan dengan garis lurus.
4. System Boundary, kotak disekeliling Use-Case yang menandakan
ruang lingkup dari sistem. Use-Case yang berada dalam system
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT29
boundary merepresentasikan fungsi-fungsi yang akan
diimplementasikan.
Pada Gambar 2.4 merupakan contoh dari sebuah use-case diagram
Gambar 2.4 Contoh Use-Case diagram [19]
1.18.2 Class Diagram
Class Diagram digunakan untuk menampilkan kelas dari sistem,
hubungannya, dan juga operasi serta atribut yang dimiliki oleh kelas tersebut.
Class Diagram digunakan untuk:
1. Memodelkan suatu konsep,
2. Menganalisa kebutuhan dalam model konseptual,
3. Menggambarkan rancangan sistem atau perangkat lunak
berorientasi objek.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT30
Sebuah model terdiri dari satu atau lebih Class Diagram dan spesifikasi
pendukung yang menjelaskan elemen dari diagram termasuk kelas, relasi antar
kelas dan juga antarmuka.
Berikut adalah visibility options pada Class Diagrams:
1. Public, ditandai dengan simbol (+) yang digunakan untuk
menandakan bahwa atribut atau operasi dapat diakses oleh seluruh
kelas dalam satu sistem.
2. Protected, ditandai dengan simbol (#) yang digunakan untuk
menandakan bahwa atribut atau operasi hanya dapat diakses oleh
kelas itu sendiri dan subclass-nya.
3. Private, ditandai dengan simbol (-) yang digunakan untuk
menandakan bahwa atribut atau operasi hanya dapat diakses oleh
kelas itu sendiri.
4. Default, ditandai dengan symbol (~) yang digunakan untuk
menandakan bahwa atribut atau operasi hanya dapat diakses oleh
kelas itu sendiri dan kelas yang terdapap pada package yang sama.
Pada Gambar 2.5 merupakan contoh sebuah class diagram
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT31
Gambar 2.5 Contoh Class diagram [19]
1.18.3 Sequence Diagram
Sequence Diagram adalah salah satu teknik pemodelan yang dinamis.
Sequence Diagram digunakan untuk merepresentasikan interaksi antara
komponen sistem dan terkadang agen eksternal juga termasuk di dalamnya. Pada
Gambar 2.6 merupakan contoh sequence diagram
Gambar 2.6 Contoh Sequence diagram [19]
1.18.4 Activity Diagram
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT32
Activity Diagram adalah diagram yang digunakan untuk
merepresentasikan:
1. Sebuah operasi yang rumit.
2. Sebuah proses bisnis yang rumit.
3. Sebuah Use-Case.
4. Sebuah proses perangkat lunak.
Pada Gambar 2.7 merupakan contoh activity diagram.
Gambar 2.7 Contoh Activity diagram [19]
1.19 Rekayasa Perangkat Lunak
Metode yang digunakan dalam penelitian ini adalah metode rekayasa
perangkat lunak. Metode rekayasa perangkat lunak adalah penggunaan
pendekataan yang sistematik, disiplin, dan dapat diukur pada pengembangan,
operasi, dan perawatan perangkat lunak [6].
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT33
Kerangka kerja rekayasa perangkat lunak dibentuk oleh empat lapisan
rekayasa perangkat lunak seperti yang ditunjukan pada Gambar 2.8 dan dijelaskan
sebagai berikut :
1. Quality Focus, merupakan lapisan dasar rekayasa perangkat lunak
yang menekankan pada kualitas yang baik dari perangkat lunak
yang akan dikembangkan
2. Process, mendeskripsikan langkah-langkah untuk mengembangkan
perangkat lunak.
3. Methods, menjelaskan bagaimana mengembangkan perangkat
lunak sesuai dengan prinsip rekayasa perangkat lunak. Metode
yang digunakan pada penelitian ini adalah Waterfall, telah
dijelaskan pada sub-bab 1.5.
4. Tools, mencakup semua perangkat atau alat bantu yang digunakan
dala pengembangan sistem. Tools yang akan digunakan untuk
mengembangkan sistem dijelaskan pada sub-bab 3.3.
Kerangka kerja perangkat lunak Komunikasi: Untuk memahami tujuan-
tujuan stakeholder atas proyek perangkat lunak yang sedang dikembangkan dan
Gambar 2.8 Lapisan rekayasa perangkat lunak [6]
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT34
mengumpulkan kebutuhan-kebutuhan yang merujuk pada fitur-fitur perangkat
lunak serta fungsi-fungsinya.
Perencanaan: Menggambarkan tugas-tugas teknis yang harus dilakukan,
resiko-resiko yang mungkin muncul, sumber daya yang akan dibutuhkan, produk-
produk kerja yang harus dihasilkan dan jadwal-jadwal kerja.
Pemodelan: Membuat model-model untuk memahami kebutuhan
perangkat lunak maupun rancangan-rancangan yang akan memenuhi kebutuhan.
Konstruksi: Gabungan pembentukan kode (code generation) dan
pengujian yang sangat dibutuhkan untuk menemukan kekeliruan-kekeliruan
dalam kode program komputer yang dihasilkan selanjutnya.
1.20 Penelitian Terkait
1. Pemanfaatan Media Pembelajaran Aplikasi Finale 2006 Untuk
Meningkatkan Minat Dan Ketrampilan Membaca Notasi Musik Siswa
Kelas II TKJ 1 SMK 3 Kendal Tahun Ajaran 2008/ 2009
Aplikasi Finale merupakan tools untuk membantu pengguna membuat
instrument dari berbagai alat musik ke dalam suatu format suara. Alat music
tersebut dapat berupa string, drum set, piano, suling, dan cello. Untuk membuat
suatu instrument pengguna membaca not balok kemudian memasukannya sebagai
input pada aplikasi Finale. Pengguna memilih jenis-jenis alat music yang akan
digunakan [20].
2. Aplikasi Kamus Kebidanan Berbasis Android
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT35
Aplikasi ini dapat berjalan pada jaringan online maupun offline. Pengguna
dapat menambah kata atau melihat daftar kata. Aplikasi ini menggunakan SQLite
sebagai media penyimpanan data dimana SQLite dapat menyiman ratusan sampai
ribuan record data [21].
3. Pembangunan Aplikasi Latihan Trompet Pada Ponsel Android
Penelitian ini menjelaskan bagaimana trompet dapat dimainkan pada
ponsel dengan system operasi Android. Untuk memainkan trompet, aplikasi
memainkan dengan format MIDI [13].
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT36
BAB III
METODOLOGI PENELITIAN
1.21 Desain Penelitian
Penulis memilih menggunakan metodologi Rekayasa Perangkat Lunak
(RPL) yang telah dijelaskan pada sub-bab 2.11 dalam pengembangan aplikasi
buku nyanyian elektronik GMIM pada smartphone Android.
1.22 Instrumentasi Penelitian
Dalam instrumentasi penelitian, terdapat empat hal yang dibahas penulis,
yaitu jenis data yang dikumpulkan, teknik, instrumen dan prosedur pengumpulan
data.
1.22.1 Jenis Data
Peneliti menggunakan data sekunder pada penelitian karena data buku
nyanyian KJ, PKJ, NKB, NNBT dan KLIK telah tersedia dan dikemas dalam
bentuk buku.
1.22.2 Teknik Pengumpulan Data
Untuk mendapatkan data yang tepat untuk penelitian ini, maka digunakan
teknik studi literatur. Studi literatur yang dilakukan adalah mencari data dan
informasi dalam hal teori-teori yang mendukung untuk pengembangan aplikasi
buku nyanyian elektronik GMIM pada platform Android. Peneliti mengumpulkan
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT37
dan mempelajari penelitian yang sejenis dengan penelitian ini dan aplikasi yang
sejenis dan telah beredar luas.
1.22.3 Instrumen Pengumpulan Data
Peneliti menggunakan laptop untuk mengelola data yang dikumpulkan.
Dan tablet Android digunakan untuk mencatat hasil pencarian di perpustakaan
dan internet.
1.22.4 Prosedur Pengumpulan Data
Adapun prosedur pengumpulan data dalam penelitian ini yakni
1. Mencari dan mengumpulkan data yakni jurnal, skripsi, dan buku
yang sejenis dengan penelitian ini
2. Melakukan analisa dan menarik kesimpulan dari data yang ada
3. Mencari aplikasi sejenis yang beredar di playstore dan melakukan
analisa perbandingan kelebihan, kekurangan dan komentar
pengguna setelah itu menarik kesimpulan.
1.23 Lingkungan Pengembangan Aplikasi
Pada pengembangan aplikasi ini penulis mengembangkan aplikasi pada
perangkat emulator Android GenyMotion Version 2.2.0 yakni Motorola MotoX
4.4.2 API 19. Dan perangkat notebook AXIOO NEON MNN 2012 dengan
spesifikasi berikut:
1. Prosesor : Intel Core 2 Duo, @ 2.00 GHz
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT38
2. Video Card: NVidia Geforce 512 MB
3. RAM 3 GB
4. HDD 320 GB
Adapun perangkat lunak yang mendukung dalam penelitian ini yakni:
1. Android Development Tools (Eclipse Helios), merupakan IDE yang
terintegrasi dengan Android SDK, langsung dari
developer.android.com yang digunakan untuk menulis kode
program pada Android.
2. Java, bahasa pemrograman yang digunakan.
3. Java Development Kit (JDK) 7u2: merupakan dasar dari Android
SDK
4. Finale 2012, merupakan tools untuk membuat instrumen
5. Windows 7 Home Premium, Sistem operasi yang digunakan untuk
pengembangan aplikasi.
6. DIA, tools yang digunakan untuk membuat UML.
7. dan Adobe Photoshop CS3, untuk perancangan sketsa interface.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT39
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
1.24 Analisis
Peneliti mengambil rumusan masalah yakni Bagaimana
mengembangkan aplikasi buku nyanyian elektronik GMIM pada smartphone
dengan sistem operasi Android?
Peneliti menggunakan Java karena bahasa pemrograman ini mampu
berjalan pada seluruh sistem operasi karena Java menggunakan Java Run-time
Environment untuk melakukan compile dan running kode program. Adapun
Android mendukung format pemutar audio MIDI dengan menggunakan media
framework pada library Android. Untuk melakukan pengkodean pada Android,
peneliti menggunakan Android Development Tools dimana IDE ini telah
terintegrasi langsung dengan library Android (SDK Android).
1.25 Perancangan Aplikasi
Untuk menggambarkan model dari aplikasi yang dikembangkan maka
peneliti menggunakan Use Case Diagram, Class Diagram, Sequence Diagram
dan Activity Diagram yang telah dijelaskan pada sub bab 2.10.
1.25.1 Use Case Diagram
Berikut merupakan Use case diagram dari aplikasi buku nyanyian
elektronik GMIM berbasis Android.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT40
Gambar 4.3 Use case diagram
Berikut merupakan use case scenario berdasarkan Gambar 4.1.
1. Use Case Name : Pencarian
Actor : Pengguna
Precondition : Pengguna telah menjalankan aplikasi
Postcondition : Pengguna menemukan hasil pencarian dari
nomor lagu atau potongan judul lagu
Step performed :
1. Pengguna memasukan keyword pencarian pada field pencarian
2. Aplikasi melakukan filter sesuai keyword dan menampilkan
daftar lagu sesuai hasil filter.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT41
Description : Pencarian berdasarkan buku nyanyian atau
daftar lagu favorit
2. Use Case Name : Melihat Lirik
Actor : Pengguna
Precondition : Pengguna telah memilih lagu
Postcondition : Pengguna melihat lirik lagu
Step performed :
1. Pengguna membuka aplikasi
2. Aplikasi menampilkan daftar lagu
3. Pengguna memilih lagu
4. Aplikasi menampilkan lirik lagu yang dipilih pengguna
Description : Melihat lirik lagu
3. Use Case Name : Lirik berikutnya
Actor : Pengguna
Precondition :Pengguna sementara melihat lirik lagu
Postcondition : Pengguna melihat lirik lagu berikutnya
Step performed :
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT42
1. Pengguna memilih button berikutnya
2. Aplikasi melakukan pengecekan, jika lagu yang sementara
dipilih pengguna adalah lagu pada urutan terakhir maka
aplikasi tidak menampilkan lagu berikutnya. Jika tidak aplikasi
menampilkan lagu berikutnya
Description : Menampilkan lagu dengan nomor urutan
berikutnya dari lagu yang sementara
dilihat
4. Use Case Name : Lirik sebelumnya
Actor : Pengguna
Precondition : Pengguna sementara melihat lirik lagu
Postcondition : Pengguna melihat lirik lagu sebelumnya
Step performed :
1. Pengguna memilih button sebelumnya
2. Aplikasi melakukan pengecekan, jika lagu yang sementara
dipilih pengguna adalah lagu pada urutan pertama maka lagu
sebelumnya tidak ditampilkan. Jika tidak aplikasi menampilkan
lagu sebelumnya
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT43
Description : Menampilkan lagu dengan nomor urutan
sebelumnya dari lagu yang sementara
dilihat
5. Use Case Name : Mengatur instrumen
Actor : Pengguna
Precondition : Pengguna sementara melihat lirik lagu
Postcondition : Instrumen diatur oleh pengguna
Step performed :
1. Jika pengguna memilih button play, maka aplikasi memainkan
lagu yang dipilih
2. Jika pengguna memilih button pause, maka aplikasi
menghentikan sementara lagu yang dipilih
3. Jika pengguna memilih button stop, maka aplikasi
menghentikan lagu
Description : Mengontrol instrument dari lagu yang.
Kontrol tersebut mencakup play, pause
dan stop
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT44
6. Use Case Name : Mengatur lagu favorit
Actor : Pengguna
Precondition : Pengguna sementara membuka lagu
Postcondition : Lagu favorit diatur
Step performed :
1. Pengguna memilih button favorit
2. Aplikasi menambahkan Lagu favorit ke daftar lagu favorit
Description : Pengguna dapat menambahkan lagu di
yang sementara di tampilkan ke daftar
lagu favorit
7. Use Case Name : Melihat not angka
Actor : Pengguna
Precondition : Pengguna sementara melihat lirik lagu
yang dia pilih
Postcondition : Pengguna melihat not angka dari lagu yang
dia pilih
Step performed :
1. Pengguna memilih tab not angka
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT45
2. Aplikasi menampilkan not angka dari lagu yang dipilih
Description : Menampilkan lagu yang sementara dilihat
dalam bentuk not angka
8. Use Case Name : Pengaturan
Actor : Pengguna
Precondition : Pengguna telah menjalankan aplikasi
Postcondition : Pengguna melakukan pengaturan
Step performed :
1. Pengguna memilih menu
2. Aplikasi menampilkan sub-menu
3. Jika pengguna memilih sub-menu ganti latar, aplikasi
mengganti latar aplikasi
4. Jika pengguna memilih sub-menu ukuran huruf lirik, aplikasi
menampilkan jenis ukuran untuk dipilih pengguna.
Description : Pengaturan tampilan pada aplikasi
1.25.2 Package Diagram
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT46
Gambar 4.2 Package diagram
Pada Gambar 4.2 merupakan package diagram untuk aplikasi buku
nyanyian elektronik GMIM berbasis Android terbagi dua package yakni package
com.example.egmim yang merupakan package main aplikasi dan package
com.example.support yang merupakan package pendukung.
1.25.3 Class Diagram
Berikut merupakan class pada package com.example.egmim yang terdiri
dari :
1. Class Splashscreen, merupakan activity class yang berfungsi untuk
menampilkan splash screen sebelum pengguna masuk dalam
aplikasi. Pada saat splash screen ditampilkan, dilakukan sebuah
proses dibelakangnya yakni menyalin data (file Midi & file Not
angka) ke SD Card pengguna.
2. Class DaftarLagu, merupakan activity class yang dieksekusi
setelah class Splashscreen. Class DaftarLagu berfungsi
menampilkan daftar lagu berdasarkan buku atau favorit dan
melakukan pencarian.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT47
3. Class MainKonten, merupakan activity fragment class yang
digunakan untuk mengeksekusi dua fragment class yakni Lirik dan
NotAngka dalam bentuk tab.
4. Class Lirik, merupakan fragment class untuk menampilkan lirik
dan memainkan instrument.
5. Class NotAngka, merupakan fragment class untuk menampilkan
partitur not angka.
6. Class About, merupakan activity class untuk menampilkan
informasi tentang aplikasi.
7. Class SetTheme, merupakan activity class untuk mengatur tema
dari aplikasi.
8. Class Help, merupakan activity class untuk menampilkan bantuan
atau user manual aplikasi.
Berikut merupakan class pada package com.example.support yang terdiri
dari :
1. Class databaseImport, merupakan class yang digunakan untuk
melakukan import file database (SQLite) ke smartphone.
2. Class dbAdapter, merupakan class yang digunakan untuk
mengakses SQLite database pada smartphone.
3. Class SpinnerNavItem, merupakan class yang digunakan untuk
menampilkan spinner menu pada action bar daftar lagu.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT48
4. Class TitleNavigationAdapter, merupakan class pendukung
SpinnerNavItem.
5. Class TabsPagerAdapter, merupakan class yang digunakan untuk
membuat pager atau tabs.
6. Class TouchImageView, merupakan class yang digunakan untuk
zoom in dan zoom out partitur not angka.
Pada Gambar 4.3 merupakan class diagram dari aplikasi buku nyanyian
GMIM berbasis Android :
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT49
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT50
1.25.4 Sequence Diagram
Berikut merupakan Sequence diagram dari aplikasi buku nyanyian
elektronik GMIM berbasis Android.
1. Pencarian
Pada Gambar 4.4 sebelum melakukan pencarian aplikasi akan
menampilkan seluruh daftar lagu dengan menggunakan method
displayData(), pada method displayData()merupakan proses inisilisasi
dan pengambilan data dari database dengan menggunakan method . Setelah daftar
lagu ditampilkan pengguna mengisi keyword pencarian yakni judul atau nomor
lagu, aplikasi akan langsung melakukan filter dan langsung menampilkan dalam
bentuk daftar lagu.
Gambar 4.4 Sequence diagram pencarian
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT51
2. Melihat lirik
Pada Gambar 4.5 untuk melihat lirik, pengguna telah memilih lagu dari
daftar lagu. Class DaftarLagu mengeksekusi fragment class Lirik dengan inner
method yang terdapat pada method onCreate(). Aplikasi menjalankan method
gettingData() untuk mengambil data lagu dari database dan inisialisasi dari
data tersebut. Untuk dapat mengambil data lagu dari database menggunakan
method getData() dari class dbAdapter. Setelah eksekusi method
gettingData() selesai, method loadLirik() dijalankan untuk mengambil
data dari resources sesuai data yang di inisialisasi dan menampilkan lagu yang
dipilih pengguna.
Gambar 4.5 Sequence diagram melihat lirik
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT52
3. Lirik berikutnya
Gambar 4.6 Sequence diagram lirik berikutnya
Pada Gambar 4.6 untuk melihat lirik lagu berikutnya, pengguna memilih
button berikutnya. Aplikasi menjalankan method next() dari class Lirik untuk
increment nilai id. Setelah method next() selesai dijalankan, aplikasi
menjalankan method gettingData() untuk mengambil data lagu dari
database dan inisialisasi dari data tersebut. Untuk dapat mengambil data lagu dari
database menggunakan method getData() dari class dbAdapter. Setelah
Increment page value sebelum menjalankan method gettingData() dan detailNo-tangka()
Hasil : BERHASILTabel 5.1
Pengujian dengan metode whitebox (Lanjutan)
8. Struktur program melihat halaman not angka sebelumnyadecrement page valuepanggil method gettingData(page value)panggil method detailNotangka(); Output :
decrement page value sebelum menjalankan method gettingData() dan detailNo-tangka()
Hasil : BERHASIL9. Struktur program melakukan pencarian
split data judul lagu menjadi buku dan id
if field search != null || markerBuku == favoriteatur posisi = 0
elseincrement posisiposisi = posisi + id
}
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT91
panggil class MainKontenpanggil method dataResultfromsearch()
lakukan pencarian pada database berdasarkan buku dan idsimpan hasil pencarian pada attribute searchResult[] Output :
Hasil pencarian berhasil disimpan pada array searchResult[]Hasil : BERHASIL
10. Struktur program pengaturan ganti latarif THEME_STATUS == 0
atur THEME_STATUS = 1; else THEME_STATUS == 1
atur THEME_STATUS = 0
panggil class setThemeclass setTheme memanggil class DaftarLagu
if THEME_STATUS == 0atur theme light holo
else THEME_STATUS == 1atur theme holo dark
Output :1. Inisialisasi THEME_STATUS 0/12. Method onCreate() pada DaftarLagu di create kembali
Hasil : BERHASIL
Tabel 5.1
Pengujian dengan metode whitebox (Lanjutan)
11. Struktur program daftar lagu menurut kelompok laguswitch jenis bukucase semua:
atur markerBuku = semuaatur id = 0panggil method diplayData()
case kj:atur markerBuku = KJatur id = 0panggil method diplayData()
case pkj:atur markerBuku = PKJatur id = 500panggil method diplayData()
case nkb:atur markerBuku = NKBatur id = 808panggil method diplayData()
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT92
case nnbt:atur markerBuku = NNBTatur id = 1038panggil method diplayData()
case klik:atur markerBuku = KLIKatur id = 1088panggil method diplayData()
case favorite:atur markerBuku = favoritedisplayData()
Method displayData()
hapus daftar lagu
switch merkerBukucase seluruh buku
ambil data dari database seluruh bukucase berdasarkan buku
ambil data dari database berdasarkan bukucase favorit
ambil data dari database dengan nilai favorit==true
tampilkan ke daftar lagu
Output Daftar lagu ditampilkan dalam bentuk list
Hasil : BERHASILTabel 5.1
Pengujian dengan metode whitebox (Lanjutan)
12. Struktur program melihat lirikjalankan gettingData() untuk mengambil data dari database dan inisialisasiif favorite == true
atur button favorite menjadi favoriteelse
atur button favorite menjadi unfavorite
if buku == kjinisialisasi file kj dari res/raw
else if buku == pkjinisialisasi file pkj dari res/raw
else if buku == nkbinisialisasi file nkb dari res/raw
else if buku == nnbtinisialisasi file nkb dari res/raw
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT93
else if buku == klikinisialisasi file klik dari res/raw
while baris tidak kosongincrement barisif baris == lineawal lagu
atur sebagai judulif baris == lineawal lagu+1 && baris<= lineakhir lagu
atur sebagai isi lirikOutput :
Text file hanya menampilkan isi dari lineawal sampai lineakhirHasil : BERHASIL
Tabel 5.1
Pengujian dengan metode whitebox (Lanjutan)
13. Struktur program mengatur instrument (pause)inisialisasi instrumen, statusText, STATUS_PLAYERswitch STATUS_PLAYER
case 0:untuk memulai pertama kali
case 1:atur instrumen pause()ganti icon button pause dengan logo playatur STATUS_PLAYER=2
case 2:atur instrumen start()ganti icon button play dengan logo pauseatur STATUS_PLAYER=1
Output :1. Perubahan icon button pause ke play atau play ke pause
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT94
2. Inisialisasi STATUS_PLAYER3. Pause() atau start() berhasil dijalankan
Hasil : BERHASIL
14. Struktur program mengatur lagu favoritif favorite == true....(2)
Ubah button favorite menjadi unfavorite....(3)atur favorite = false;
else ....(2)Ubah button unfavorite menjadi favorite....(3)atur favorite = true;
perbaharui database....(4)if berhasil di perbaharui
tampilkan "lagu favorite ditambah / dihilangkan"else gagal di perbaharui
tampilkan "gagal diperbaharui" Output :
1. Button favorit diubah menjadi favorite/unfavorite2. Perubahan pada database
Hasil : BERHASIL
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT95
1.33.2 Blackbox
Tabel 5.1 merupakan pengujian dengan metode blackbox yakni pengujian
pada fungsi input output aplikasi. Seperti pada sub-bab 1.6.1, pengujian ini lebih
dikhususkan pada pengguna.
Tabel 5.2
Pengujian dengan metode blackbox (Lanjutan)
1. Pengujian daftar lagu menurut kelompok lagu
Deskripsi Daftar lagu menurut kelompok (seluruh lagu, favorit, buku).
Input Memilih jenis kelompok lagu pada spinner menuOutput Menampilkan daftar lagu menurut kelompokHasil Berhasil
2. Pengujian pengaturan ukuran huruf lirik
Deskripsi Ukuran lirik lagu berdasarkan kategori (besar, normal, ke-cil)
Input Memilih sub-menu Ukuran huruf lirikOutput Ukuran huruf lirik berubah sesuai pilihan penggunaHasil Berhasil
3. Pengujian pengaturan ganti latarDeskripsi Mengubah latar atau tema aplikasi (light,dark)Input Memilih sub-menu Ganti latarOutput Latar atau tema berubah setiap kali sub-menu dipilihHasil Berhasil
4. Pengujian melakukan pencarian
Deskripsi Mencari berdasarkan potongan nomor lagu, judul atau buku lagu
Input Memasukan potongan nomor lagu, judul atau buku lagu
Output Menampilkan daftar lagu terkait potongan nomor lagu, judul atau buku lagu
Hasil Berhasil
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT96
Tabel 5.2
Pengujian dengan metode blackbox (Lanjutan)
5. Pengujian melihat lirikDeskripsi Melihat lirik sesuai pilihan pada daftar laguInput Memilih lagu pada daftar lagu dan memilih tab lirikOutput Lirik ditampilkan sesuai lagu yang dipilihHasil Berhasil
6. Pengujian melihat not angkaDeskripsi Melihat not angka sesuai pilihan pada daftar lagu
Input Memilih lagu pada daftar lagu dan memilih tab not angka
Output Lirik ditampilkan sesuai lagu yang dipilihHasil Berhasil
7. Pengujian mengatur instrumen (play)Deskripsi Memainkan instrumen sesuai lirik yang ditampilkanInput Memilih icon button play
Output Instrumen dimainkan, Button play berubah menjadi pause
Hasil Berhasil
8. Pengujian mengatur instrumen (pause)Deskripsi Menghentikan sementara instrumen yang dimainkanInput Memilih icon button pause
Output Instrumen dihentikan sementara, button pause berubah menjadi play
Hasil Berhasil
9. Pengujian mengatur instrumen (stop)Deskripsi Menghentikan instrumen yang dimainkanInput Memilih icon button stopOutput Instrumen dihentikanHasil Berhasil
10. Pengujian mengatur lagu favoritDeskripsi Menambah/menghilangkan lagu dari daftar lagu favoritInput Memilih icon button favorit
Output Lagu favorit ditambah/dihilangkan dari daftar lagu favorit, button favorit berubah simbol
Hasil- Berhasil
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT97
Tabel 5.2
Pengujian dengan metode blackbox (Lanjutan)
11. Pengujian melihat lirik selanjutnyaDeskripsi Melihat lirik selanjutnya dari lirik yang sementara dilihatInput Memilih icon button next Output Lirik lagu selanjutnya ditampilkanHasil Berhasil
12. Pengujian melihat lirik sebelumnya
Deskripsi Melihat lirik sebelumnya dari lirik yang sementara dilihat
Input Memilih icon button prev Output Lirik lagu sebelumnya ditampilkanHasil Berhasil
13. Pengujian zoom in/out pada not angkaDeskripsi Melakukan zoom in/out pada image not angkaInput Melakukan tap pada image not angkaOutput Not angka dapat melakukan zoom in/outHasil Berhasil
14. Pengujian melihat halaman not angka selanjutnyaDeskripsi Melihat sambungan not angka selanjutnyaInput Memilih button icon next pada tab not angkaOutput Dapat melihat halaman not angka selanjutnyaHasil Berhasil
15. Pengujian melihat halaman not angka sebelumnyaDeskripsi Melihat sambungan not angka sebelumnyaInput Memilih button icon prev pada tab not angkaOutput Dapat melihat halaman not angka sebelumnyaHasil Berhasil
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT98
1.33.3 Feedback
Pada Tabel. 5.3 merupakan feedback dilihat dari segi kemampuan aplikasi
dan interaksi manusia dan komputer. Feedback ini lebih dikhusukan pada
pengembang aplikasi atau peneliti.
Tabel 5.3
Hasil feedback untuk pengembang
No Peryataan
Nilai
sangat setuju
setuju Cukup tidak setuju
sangat tidak
setuju
A Interaksi Manusia dan Komputer
1
Pengguna dapat menggunakan ap-likasi dengan baik
2 (20%)
7 (70%)
1 (10%)
0 (0%)
0 (0%)
2Desain tata letak sudah baik 1
(10%)3 (30%)
6 (60%)
0 (0%)
0 (0%)
3Tampilan dan penggunaan warna aplikasi sesuai
0 (0%)
7 (70%)
3 (30%)
0 (0%)
0 (0%)
4Tampilan menu sesuai 1
(10%)7 (70%)
2 (20%)
0 (0%)
0 (0%)
5Ukuran button sesuai 0
(0%)5 (50%)
5 (50%)
0 (0%)
0 (0%)
B Kemampuan aplikasi
1 Kinerja aplikasi sudah baik 1 (10%)
8 (80%)
1 (10%)
0 (0%)
0 (0%)
2 Instrumen dapat dimainkan 1 (10%)
7 (70%)
2 (20%)
0 (0%)
0 (0%)
3 Dapat menambah atau mengurangi lagu favorit
4 (40%)
6 (60%)
0 (0%)
0 (0%)
0 (0%)
4 Dapat melihat not angka degan baik 5 (50%)
3 (30%)
2 (20%)
0 (0%)
0 (0%)
5 Pencarian sesuai dengan input 3 (30%)
7 (70%)
0 (0%)
0 (0%)
0 (0%)
6 Lirik ditampilkan dengan baik 2 (20%)
4 (40%)
3 (30%)
1 (10%)
0 (0%)
7 Pengaturan yang ada sudah cukup 2 (20%)
5 (50%)
1 (10%)
2 (20%)
0 (0%)
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT99
Tabel 5.3
Hasil feedback untuk pengembang (Lanjutan)
No
Nilai
sangat setuju
setuju Cukup tidak setuju
sangat tidak
setuju
Hasil (x/12) 1.84 5.75 2.17 0.25 0
Berdasarkan kuesioner pada Tabel 5.3 memberikan hasil rata-rata memilih
setuju dari sepuluh orang yang mengisi kuestioner dengan nilai rata-rata 5.75.
Pada Tabel 5.4 merupakan hasil feedback berdasarkan latar belakang
penelitian. Feedback ini lebih dikhusukan pada pengguna.
Tabel 5.4
Hasil feedback untuk pengguna
No Peryataan
Nilai
sangat setuju
setuju Cukup tidak setuju
sangat tidak
setuju
C Berdasarkan latar belakang masalah (Jemaat)
1
Kemudahan dengan hanya mem-bawa smartphone pada tempat pelaksanaan ibadah
1 (33%)
2 (67%)
0 (0%)
0 (0%)
0 (0%)
2Belajar lagu secara individual 0
(0%) 3 100%
0 (0%)
0 (0%)
0 (0%)
D Berdasarkan latar belakang masalah (Gereja)
1Mengurangi biaya untuk penggu-naan kertas
0 (0%)
2 (67%) 1 (33%)
0 (0%)
0 (0%)
2
Mengatasi masalah penggunaan proyektor yang tidak memungkinkan pada tempat yang tidak luas dan sulit dilihat anggota jemaat
0 (0%)
2 (67%) 1 (33%)
0 (0%)
0 (0%)
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT100
Hasil (x/4) 0.25 2.25 0.5 0 0
Berdasarkan kuesioner pada Tabel 5.4 memberikan hasil rata-rata memilih
setuju dari empat orang yang mengisi kuestioner dengan nilai rata-rata 2.25.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT101
BAB VI
KESIMPULAN DAN SARAN
1.34 Kesimpulan
1. Aplikasi buku nyanyian elektronik GMIM hanya berjalan pada
smartphone dengan sistem operasi Android.
2. Aplikasi dilengkapi dengan lirik, instrument, partitur not angka dan
fitur pengaturan latar dan ukuran huruf lirik.
3. Aplikasi memberikan kemudahan dengan tidak perlu lagi membawa
buku pada tempat acara ibadah dan kemudahan untuk belajar lagu
secara individual
4. Aplikasi mengurangi biaya untuk memperbanyak lirik lagu dan
mengatasi masalah proyektor yang tidak memungkinkan pada tempat
yang tidak luas dan terhalang hingga sulit untuk dilihat anggota jemaat
1.35 Saran
Pada penelitian ini peneliti masih perlu adanya penyempurnaan aplikasi.
Berikut adalah saran untuk kelengkapan aplikasi selanjutnya:
1. Partitur not angka untuk tiap buku dilengkapi
2. Aplikasi mendukung tata letak pada device tablet
3. Aplikasi mendukung sistem operasi selain Android
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT102
4. Lagu diatur untuk dikategorikan menurut kategori lagu seperti pada
sub-bab 2.9.
5. Aplikasi dapat melakukan generated lagu yang akan digunakan sesuai
kategori lagu atau ibadah seperti pada sub-bab 2.9.
6. Aplikasi dilengkapi fitur MIDI nada dasar
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT103
DAFTAR PUSTAKA
x
[1] Didik Purwanto. (2012, Juli) tekno.kompas.com. [Online]. Available
Indianapolis, United States of America: John Wiley & Sons, Inc, 2012.
[10] (2013) Wikipedia. [Online]. Available
http://id.wikipedia.org/wiki/Android
[11] Herbert Schildt, The Complete Refrence Java, 7th ed. New york, United
States of America: Mc Graw Hill, 2007.
[12] Sqlite. [Online]. Available http://sqlite.org/about.html
[13] Emeraldy Widiyadi and S.T., M.T Bugi Wibowo, "Pembangunan
Aplikasi Latihan Trompet pada," Jurnal Sarjana Institut Teknologi
Bandung bidang Teknik Elektro dan Informatika, vol. 1, no. 3, p. 1,
Oktober 2012.
[14] Yayasan Musik Gereja, Kidung Jemaat. Jakarta, Indonesia: Persekutuan
Gereja-Gereja di Indonesia.
[15] Yayasan Musik Gereja, Pelengkap Kidung Jemaat. Jakarta, Indonesia:
Persekutuan Gereja-Gereja di Indonesia, 2007.
[16] Sinode Am GKI, Nyayikanlah Kidung Baru, Asih S.D. cs, Ed. Jakarta,
Indonesia: BPK Gunung Mulia, 2005.
[17] Bidang Musik Sinode GMIM, Nyayikanlah Nyayian Baru Bagi Tuhan.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT105
Tomohon, Indonesia: Badan Pekerja Sinode GMIM, 2010.
[18] Pnt. Drs A. J Waleleng, Kumpulan Lagu Ibadah-Ibadah Kreatif & KKR
(KLIK)., 2007.
[19] Scott W. Ambler, The Elements of UML 2.0 Style. New York, United
States of America: Cambridge University Press, 2005.
[20] Yusuf Aryo Seto, “Pemanfaatan Media Pembelajaran Aplikasi Finale
2006 Untuk Meningkatkan Minat Dan Ketrampilan Membaca Notasi
Musik Siswa Kelas II TKJ 1 SMK 3 Kendal Tahun Ajaran 2008/ 2009”.
Under Graduates thesis, Universitas Negeri Semarang, Semarang,
Indonesia, 2009.
[21] Vinanda U,un Ayuningtyas, “Aplikasi Kamus Kebidanan Berbasis
Android”. Under graduates thesis, Institut Sepuluh Nopember Surabaya,
Surabaya, Indonesia, 2011.
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT106
JADWAL PENELITIAN
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT107
KARTU KONSULTASI
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT108
SURAT PERYATAAN
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT109
DAFTAR KETERSEDIAAN NOT ANGKA DAN MIDI
(Sumber : kidungonline.com)
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
1 Ada Ada Ada 2 Ada Ada Ada 3 Ada Tidak Ada Ada 4 Ada Ada Ada 5 Ada Ada Ada 6 Ada Tidak Ada Ada 7 Ada Ada Ada 8 Ada Tidak Ada Ada 9 Ada Tidak Ada Ada
10 Ada Tidak Ada Ada 11 Ada Tidak Ada Ada 12 Ada Tidak Ada Ada 13 Ada Ada Ada 14 Ada Ada Ada 15 Ada Ada Ada 16 Ada Tidak Ada Ada 17 Ada Tidak Ada Ada 18 Ada Tidak Ada Ada 19 Ada Tidak Ada Ada 20 Ada Tidak Ada Ada 21 Ada Ada Ada 22 Ada Ada Ada 23 Ada Tidak Ada Ada 24 Ada Tidak Ada Tidak Ada 25 Ada Tidak Ada Tidak Ada 26 Ada Tidak Ada Tidak Ada 27 Ada Ada Tidak Ada 28 Ada Tidak Ada Tidak Ada 29 Ada Tidak Ada Ada
30a Ada Tidak Ada Tidak Ada 30b Ada Tidak Ada Tidak Ada 31 Ada Tidak Ada Tidak Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT110
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
32 Ada Tidak Ada Tidak Ada 33 Ada Tidak Ada Tidak Ada 34 Ada Tidak Ada Ada 35 Ada Tidak Ada Ada 36 Ada Tidak Ada Tidak Ada 37 Ada Ada Tidak Ada 38 Ada Tidak Ada Ada 39 Ada Ada Tidak Ada 40 Ada Ada Tidak Ada 41 Ada Tidak Ada Tidak Ada 42 Ada Tidak Ada Ada 43 Ada Ada Tidak Ada 44 Ada Tidak Ada Tidak Ada 45 Ada Tidak Ada Tidak Ada 46 Ada Ada Tidak Ada 47 Ada Tidak Ada Tidak Ada 48 Ada Tidak Ada Ada 49 Ada Tidak Ada Ada 50 Ada Tidak Ada Ada 51 Ada Tidak Ada Tidak Ada 52 Ada Tidak Ada Ada 53 Ada Tidak Ada Tidak Ada 54 Ada Tidak Ada Ada 55 Ada Ada Tidak Ada 56 Ada Tidak Ada Tidak Ada 57 Ada Tidak Ada Ada 58 Ada Ada Tidak Ada 59 Ada Tidak Ada Tidak Ada 60 Ada Ada Tidak Ada 61 Ada Tidak Ada Tidak Ada 62 Ada Tidak Ada Tidak Ada 63 Ada Tidak Ada Tidak Ada 64 Ada Tidak Ada Tidak Ada 65 Ada Tidak Ada Tidak Ada 66 Ada Tidak Ada Tidak Ada 67 Ada Tidak Ada Tidak Ada 68 Ada Tidak Ada Tidak Ada 69 Ada Tidak Ada Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT111
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
70 Ada Tidak Ada Tidak Ada 71 Ada Tidak Ada Ada 72 Ada Tidak Ada Ada 73 Ada Tidak Ada Ada 74 Ada Ada Ada 75 Ada Tidak Ada Tidak Ada 76 Ada Tidak Ada Tidak Ada 77 Ada Tidak Ada Ada 78 Ada Tidak Ada Tidak Ada 79 Tidak Ada Tidak Ada Tidak Ada 80 Tidak Ada Tidak Ada Tidak Ada 81 Ada Tidak Ada Tidak Ada 82 Ada Tidak Ada Tidak Ada 83 Ada Tidak Ada Ada 84 Ada Tidak Ada Ada 85 Ada Tidak Ada Ada 86 Ada Tidak Ada Tidak Ada 87 Ada Tidak Ada Ada 88 Tidak Ada Tidak Ada Tidak Ada 89 Tidak Ada Tidak Ada Tidak Ada 90 Tidak Ada Tidak Ada Ada 91 Ada Tidak Ada Tidak Ada 92 Ada Tidak Ada Tidak Ada 93 Tidak Ada Tidak Ada Tidak Ada 94 Ada Tidak Ada Tidak Ada 95 Tidak Ada Tidak Ada Tidak Ada 96 Ada Tidak Ada Tidak Ada 97 Ada Tidak Ada Tidak Ada 98 Ada Tidak Ada Ada 99 Ada Tidak Ada Tidak Ada
100 Ada Tidak Ada Ada 101 Ada Tidak Ada Tidak Ada 102 Ada Tidak Ada Ada 103 Tidak Ada Tidak Ada Tidak Ada 104 Tidak Ada Tidak Ada Ada 105 Ada Ada Tidak Ada 106 Tidak Ada Tidak Ada Tidak Ada 107 Tidak Ada Tidak Ada Tidak Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT112
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
108 Ada Tidak Ada Tidak Ada 109 Ada Tidak Ada Tidak Ada 110 Tidak Ada Tidak Ada Tidak Ada 111 Ada Tidak Ada Tidak Ada 112 Ada Tidak Ada Ada 113 Tidak Ada Tidak Ada Tidak Ada 114 Tidak Ada Tidak Ada Ada 115 Tidak Ada Tidak Ada Ada 116 Tidak Ada Tidak Ada Ada 117 Tidak Ada Ada Ada 118 Tidak Ada Tidak Ada Tidak Ada 119 Ada Tidak Ada Ada 120 Ada Tidak Ada Ada 121 Ada Tidak Ada Ada 122 Tidak Ada Tidak Ada Ada 123 Ada Ada Ada 124 Tidak Ada Tidak Ada Tidak Ada 125 Tidak Ada Ada Ada 126 Tidak Ada Tidak Ada Ada 127 Tidak Ada Tidak Ada Ada 128 Tidak Ada Ada Ada 129 Tidak Ada Tidak Ada Ada 130 Tidak Ada Tidak Ada Ada 131 Tidak Ada Tidak Ada Ada 132 Tidak Ada Tidak Ada Tidak Ada 133 Ada Ada Ada 134 Ada Ada Ada 135 Ada Tidak Ada Tidak Ada 136 Tidak Ada Tidak Ada Tidak Ada 137 Tidak Ada Tidak Ada Ada 138 Tidak Ada Ada Ada 139 Tidak Ada Tidak Ada Tidak Ada 140 Tidak Ada Tidak Ada Ada 141 Tidak Ada Tidak Ada Tidak Ada 142 Tidak Ada Tidak Ada Tidak Ada 143 Ada Ada Tidak Ada
144a Tidak Ada Tidak Ada Tidak Ada 144b Ada Tidak Ada Tidak Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT113
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
145 Tidak Ada Ada Tidak Ada 146 Tidak Ada Ada Ada 147 Tidak Ada Ada Ada 148 Tidak Ada Ada Tidak Ada 149 Ada Ada Tidak Ada 150 Ada Tidak Ada Tidak Ada 151 Tidak Ada Ada Tidak Ada 152 Tidak Ada Ada Ada 153 Tidak Ada Ada Ada 154 Ada Tidak Ada Ada 155 Ada Tidak Ada Tidak Ada 156 Tidak Ada Tidak Ada Tidak Ada 157 Ada Ada Ada 158 Ada Tidak Ada Tidak Ada 159 Tidak Ada Ada Ada 160 Ada Tidak Ada Tidak Ada 161 Ada Tidak Ada Tidak Ada 162 Ada Tidak Ada Tidak Ada 163 Tidak Ada Tidak Ada Ada 164 Tidak Ada Ada Ada 165 Tidak Ada Ada Ada 166 Tidak Ada Tidak Ada Tidak Ada 167 Ada Tidak Ada Ada
168a Tidak Ada Tidak Ada Ada 168b Tidak Ada Tidak Ada Ada 168c Ada Tidak Ada Ada 169 Ada Tidak Ada Ada 170 Ada Tidak Ada Ada 171 Tidak Ada Tidak Ada Tidak Ada 172 Tidak Ada Tidak Ada Tidak Ada 173 Tidak Ada Tidak Ada Ada 174 Tidak Ada Tidak Ada Tidak Ada 175 Ada Ada Ada 176 Tidak Ada Tidak Ada Tidak Ada 177 Ada Ada Ada 178 Ada Ada Ada 179 Tidak Ada Ada Ada 180 Tidak Ada Ada Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT114
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
181 Tidak Ada Tidak Ada Tidak Ada 182 Tidak Ada Tidak Ada Tidak Ada 183 Ada Ada Ada 184 Tidak Ada Ada Ada 185 Tidak Ada Ada Ada 186 Tidak Ada Tidak Ada Tidak Ada 187 Ada Tidak Ada Tidak Ada 188 Ada Tidak Ada Ada 189 Tidak Ada Tidak Ada Ada 190 Tidak Ada Tidak Ada Ada 191 Ada Tidak Ada Ada 192 Ada Tidak Ada Tidak Ada 193 Ada Tidak Ada Tidak Ada 194 Ada Tidak Ada Ada 195 Tidak Ada Tidak Ada Ada 196 Tidak Ada Tidak Ada Ada 197 Ada Tidak Ada Ada 198 Tidak Ada Tidak Ada Tidak Ada 199 Tidak Ada Ada Ada 200 Tidak Ada Tidak Ada Ada 201 Tidak Ada Tidak Ada Ada 202 Tidak Ada Ada Ada 203 Tidak Ada Tidak Ada Ada 204 Tidak Ada Tidak Ada Ada 205 Tidak Ada Ada Ada 206 Tidak Ada Tidak Ada Ada 207 Tidak Ada Tidak Ada Ada 208 Tidak Ada Tidak Ada Ada 209 Tidak Ada Ada Tidak Ada 210 Tidak Ada Tidak Ada Ada 211 Ada Tidak Ada Ada 212 Tidak Ada Tidak Ada Ada 213 Tidak Ada Tidak Ada Ada 214 Tidak Ada Tidak Ada Tidak Ada 215 Tidak Ada Tidak Ada Tidak Ada 216 Ada Ada Ada 217 Tidak Ada Tidak Ada Ada 218 Tidak Ada Tidak Ada Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT115
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
219 Tidak Ada Ada Ada 220 Ada Tidak Ada Ada 221 Tidak Ada Tidak Ada Tidak Ada 222 Tidak Ada Tidak Ada Ada 223 Tidak Ada Tidak Ada Tidak Ada 224 Tidak Ada Tidak Ada Ada 225 Ada Tidak Ada Ada 226 Tidak Ada Tidak Ada Tidak Ada 227 Tidak Ada Tidak Ada Ada 228 Tidak Ada Tidak Ada Ada 229 Tidak Ada Tidak Ada Tidak Ada 230 Tidak Ada Tidak Ada Ada 231 Tidak Ada Tidak Ada 232 Tidak Ada Tidak Ada 233 Ada Tidak Ada 234 Tidak Ada Tidak Ada 235 Ada Tidak Ada 236 Tidak Ada Tidak Ada 237 Ada Tidak Ada 238 Tidak Ada Tidak Ada 239 Ada Ada
240a Ada Tidak Ada 240b Tidak Ada Tidak Ada 241 Ada Ada 242 Ada Ada 243 Tidak Ada Tidak Ada 244 Tidak Ada Tidak Ada 245 Tidak Ada Tidak Ada 246 Ada Tidak Ada 247 Ada Tidak Ada 248 Tidak Ada Tidak Ada 249 Ada Tidak Ada 250 Tidak Ada Tidak Ada 251 Tidak Ada Tidak Ada 252 Ada Tidak Ada 253 Tidak Ada Tidak Ada 254 Tidak Ada Tidak Ada 255 Ada Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT116
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
256 Ada Tidak Ada 257 Tidak Ada Tidak Ada 258 Ada Ada 259 Ada Tidak Ada 260 Ada Tidak Ada 261 Tidak Ada Tidak Ada 262 Ada Tidak Ada 263 Tidak Ada Tidak Ada 264 Tidak Ada Ada 265 Tidak Ada Ada 266 Ada Tidak Ada 267 Tidak Ada Ada 268 Tidak Ada Tidak Ada 269 Ada Tidak Ada 270 Tidak Ada Ada 271 Tidak Ada Tidak Ada 272 Tidak Ada Tidak Ada 273 Ada Ada 274 Tidak Ada Ada 275 Tidak Ada Tidak Ada 276 Tidak Ada Tidak Ada 277 Ada Tidak Ada 278 Ada Tidak Ada 279 Tidak Ada Tidak Ada 280 Ada Tidak Ada 281 Ada Tidak Ada 282 Ada Tidak Ada 283 Tidak Ada Tidak Ada 284 Tidak Ada Tidak Ada 285 Tidak Ada Ada 286 Ada Tidak Ada
287a Ada Tidak Ada 287b Tidak Ada Tidak Ada 288 Ada Ada 289 Ada Ada 290 Tidak Ada Tidak Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT117
Nomor Lagu
KJ PKJ NKBNot Angka Midi Not Angka Midi Not Angka Midi
291 Ada Tidak Ada 292 Ada Tidak Ada 293 Ada Tidak Ada 294 Tidak Ada Tidak Ada 295 Tidak Ada Tidak Ada 296 Tidak Ada Tidak Ada 297 Tidak Ada Tidak Ada 298 Ada Tidak Ada 299 Ada Tidak Ada 300 Ada Tidak Ada 301 Ada Tidak Ada 302 Ada Ada 303 Ada Tidak Ada 304 Ada Tidak Ada 305 Tidak Ada Tidak Ada 306 Tidak Ada Tidak Ada 307 Tidak Ada Ada 308 Tidak Ada Tidak Ada
Nomor Lagu
KJNot Angka Midi
325 Tidak Ada 326 Tidak Ada 327 Tidak Ada 328 Tidak Ada 329 Tidak Ada 330 Tidak Ada 331 Ada 332 Ada 333 Tidak Ada 334 Tidak Ada 335 Tidak Ada 336 Ada 337 Ada 338 Tidak Ada 339 Ada 340 Tidak Ada
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT118
Nomor Lagu
KJNot Angka Midi
377 Tidak Ada 378 Ada 379 Ada 380 Tidak Ada 381 Ada 382 Ada 383 Ada 384 Tidak Ada 385 Tidak Ada 386 Tidak Ada 387 Ada 388 Ada 389 Ada 390 Tidak Ada 391 Ada 392 Ada 393 Ada 394 Tidak Ada 395 Ada 396 Ada 397 Ada 398 Tidak Ada 399 Tidak Ada 400 Ada 401 Ada 402 Ada 403 Ada 404 Tidak Ada 405 Ada 406 Ada 407 Ada 408 Ada 409 Ada 410 Ada 411 Tidak Ada 412 Ada
Nomor Lagu
KJNot Angka Midi
449 Tidak Ada 450 Ada 451 Ada 452 Ada 453 Ada 454 Tidak Ada 455 Tidak Ada 456 Tidak Ada 457 Ada 458 Tidak Ada 459 Tidak Ada 460 Ada 461 Ada 462 Ada 463 Tidak Ada 464 Ada 465 Tidak Ada 466 Tidak Ada 467 Ada 468 Ada 469 Tidak Ada 470 Tidak Ada 471 Ada 472 Tidak Ada 473 Ada 474 Tidak Ada 475 Tidak Ada 476 Tidak Ada 477 Tidak Ada 478 Ada 479 Tidak Ada 480 Tidak Ada 481 Tidak Ada 482 Tidak Ada 483 Tidak Ada
this.mWakeLock = pm.newWakeLock(PowerManag-er.SCREEN_DIM_WAKE_LOCK, "My Tag"); this.mWakeLock.acquire(); statusSplash = (TextView) findViewById(R.id.statusSplash); /** * Showing splashscreen while making network calls to download necessary * data before launching the app Will use AsyncTask to make http call */ new SDCardProcess().execute(); }
/** * Async Task to make http call */ private class SDCardProcess extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); // before making http calls Log.e("onPreExcute", "sebelum eksekusi"); statusSplash.setText("Mempersiapkan data"); } @Override protected Void doInBackground(Void... arg0) { /* * Will make http call here This call will download required data * before launching the app * example: * 1. Downloading and storing in SQLite * 2. Downloading images * 3. Fetching and parsing the xml / json * 4. Sending device information to server * 5. etc., */ /* * SPLASH SCREEN * createDatabase -> import database * copyFilesToSdCard -> copy content(midi & notangka) to sdCard */ statusSplash.setText("Menyalin data ke SD Card"); Log.v("Test", "sukses menampilkan splash"); createDatabase(); String PATH = Environment.getExternalStorageDirec-tory()+"/Android/data/com.egmim/kj";
}catch(Exception ex){ Toast.makeText(getApplicationCon-text(), "Periksa kembali additional file", Toast.LENGTH_LONG).show(); } } return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); // After completing http call // will close this activity and lauch main activity statusSplash.setText("Data selesai di salin"); Log.v("Splashscreen.onPostExecute()", "menjalankan post execute"); Intent i = new Intent(Splashscreen.this, DaftarLagu.-class); startActivity(i); // close this activity finish(); } } public void createDatabase(){
public class DaftarLagu extends Activity implements ActionBar.On-NavigationListener{
/* * Variabel untuk proses switch * Switch variable */private final static int semua=0;private final static int KJ=1;private final static int PKJ=2;private final static int NKB=3;private final static int NNBT=4;private final static int KLIK=5;private final static int favorite=6;private int markerBuku;private int positionBookId=0;private int THEME_STATUS;private final static int FONT_BESAR=0;private final static int FONT_SEDANG=1;private final static int FONT_KECIL=2;private int FONT_SIZE=13;public ProgressDialog dialog;public String PACKAGE_BUKU;//---------------------------END--HERE--FOR--SWITCH--VARI-
ABLE-----------------------
/* * Object untuk action bar * Action bar process * Action bar untuk menu dan spinner menu
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT127
*/// action barprivate ActionBar actionBar;// Title navigation Spinner dataprivate ArrayList<SpinnerNavItem> navSpinner;// Navigation adapterprivate TitleNavigationAdapter adapter;// Refresh menu item//private MenuItem refreshMenuItem;//---------------------------END--HERE--FOR--ACTION-BAR--
VARIABLE-----------------------
/* * Object untuk database * Database Process Object */
private dbAdapter db = new dbAdapter(this);//---------------------------END--HERE--FOR--DATABASE--OB-
JECT-----------------------
/* * Object untuk field input (melakukan search [SEARCHING]) * & Listview (menampilkan data [DATA LIST FROM DB]) */public EditText inputSearch;public ArrayAdapter<String> adapterArray;//---------------------------END--HERE--FOR--FIELD--LIST--
OBJECT-----------------------
/* * Variabel untuk menerima data dari Database * Database retrieve variable */private String joiner=null;private ArrayList<String> daftarlagu = new
/* * Dialog for font size */private void showDialog(){
android.app.AlertDialog.Builder builder = new AlertDi-alog.Builder(this); builder.setTitle(R.string.font_size); builder.setItems(R.array.font, new DialogInter-face.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Log.v("dialog font", "value which "+which); switch(which){ case FONT_BESAR:
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT131
FONT_SIZE=17; break; case FONT_SEDANG: FONT_SIZE=15; break; case FONT_KECIL: FONT_SIZE=13; break; } dialog.dismiss(); } }); builder.setNegativeButton("Batal", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); }
fault);//light theme for API 14 (holo dark)}else if(THEME_STATUS==0){
this.setTheme(R.style.LightTheme);}
setContentView(R.layout.activity_main);
list = (ListView) findViewById(R.id.list_view);inputSearch = (EditText) findViewById(R.id.input-
Search);
/* * ACTION BAR PROCESS [SPINNER MENU] */
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT132
actionBar = getActionBar();// Hide the action bar titleactionBar.setDisplayShowTitleEnabled(false);// Enabling Spinner dropdown navigationactionBar.setNavigationMode(Action-
Bar.NAVIGATION_MODE_LIST);// Spinner title navigation datanavSpinner = new ArrayList<SpinnerNavItem>();navSpinner.add(new SpinnerNavItem("SEMUA", R.drawable.-
able.favorites));// title drop down adapteradapter = new TitleNavigationAdapter(getApplication-
Context(),navSpinner);// assigning the spinner navigationactionBar.setListNavigationCallbacks(adapter, this);// Changing the action bar icon// actionBar.setIcon(R.drawable.ico_actionbar);//--------------------END-FOR-ACTION-BAR-
PROCESS------------------------
/* * Listener input search * Desc: When user fill the field, Listener'll be se-
/* * displayData() * desc: retrieve data from DB SQLite */private void displayData() {
//clear the list viewdaftarlagu.clear();//do something on databasedb.open();
Cursor c = null; switch(markerBuku){ case semua: Log.v("displayData", "Menjalankan semua"); c = db.getAllData(); break; case KJ: Log.v("displayData", "Menjalankan KJ"); c = db.searchingBook("KJ"); break; case PKJ: Log.v("displayData", "Menjalankan semua PKJ"); c = db.searchingBook("PKJ"); break; case NKB: Log.v("displayData", "Menjalankan semua PKJ"); c = db.searchingBook("NKB"); break; case NNBT: Log.v("displayData", "Menjalankan semua PKJ"); c = db.searchingBook("NNBT"); break; case KLIK: Log.v("displayData", "Menjalankan semua PKJ"); c = db.searchingBook("KLIK"); break; case favorite: Log.v("displayData", "Menjalankan semua fa-vorit"); c = db.reatrivefavorite("true"); break; default: break;
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT135
} if(markerBuku==semua){
if (c.moveToFirst()) { do { buku = c.getString(0); nolagu= c.getString(1); judullagu= c.getString(2); joiner = buku+" "+nolagu+"
"+judullagu; daftarlagu.add(joiner); } while (c.moveToNext()); }
}else{ if (c.moveToFirst())
{ do { buku = c.getString(1); nolagu= c.getString(2); judullagu= c.getString(3); joiner = buku+" "+nolagu+"
"+judullagu; daftarlagu.add(joiner); } while (c.moveToNext()); }
} db.close();
} //--------------------END-FOR-
displayData()----------------------------------
/** * Async Task */ private class SdCardProcess extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { super.onPreExecute(); // before making http calls Log.e("onPreExcute", "sebelum eksekusi"); dialog = ProgressDialog.show(DaftarLagu.this, "Menyalin data ke SD Card", "Proses ini memakan waktu", true); } @Override protected Void doInBackground(Void... arg0) { String PATH = "";
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT136
File dir; switch(markerBuku){ case PKJ: PATH = Environment.getExternalStorageDirectory()+"/Android/data/com.egmim/pkj"; dir = new File(PATH); Log.v("DaftarLagu.doInBackground", "copy file, value "+dir.exists()); Log.v("DaftarLagu.doInBackground", "copy file, path "+PATH); if(!dir.exists()){ Log.v("DaftarLagu.doInBackground", "copy file dijalankan"); copyFileOrDir("com.egmim/pkj"); copyFileOrDir("com.egmim/pkjnotangka"); Log.v("DaftarLagu.doInBackground()", "data sele-sai disalin"); } break; case NKB: PATH = Environment.getExternalStorageDirectory()+"/Android/data/com.egmim/nkb"; dir = new File(PATH); Log.v("DaftarLagu.doInBackground", "copy file, path "+PATH); Log.v("DaftarLagu.doInBackground", "copy file, value "+dir.exists()); if(!dir.exists()){ Log.v("DaftarLagu.doInBackground", "copy file dijalankan"); copyFileOrDir("com.egmim/nkb"); copyFileOrDir("com.egmim/nkbnotangka"); Log.v("DaftarLagu.doInBackground()", "data sele-sai disalin"); } break; case NNBT: PATH = Environment.getExternalStorageDirectory()+"/Android/data/com.egmim/nnbt"; dir = new File(PATH); Log.v("DaftarLagu.doInBackground", "copy file, path "+PATH); Log.v("DaftarLagu.doInBackground", "copy file, value "+dir.exists()); if(!dir.exists()){ Log.v("DaftarLagu.doInBackground", "copy file dijalankan"); copyFileOrDir("com.egmim/nnbt");
public String addImage;public String[] dataToshow={null, null};
public String pathAll;public String standardPath= "/Android/Data/com.egmim/";public String buku="kj";public String namafile="";public int valueFrpage=1;
public final static String extension=".jpg";public String nolagu;public ImageView nextNotangka;public ImageView prevNotangka;
public static Notangka newInstance(String bukuLirik, String nolaguLirik) {
Notangka f = new Notangka();
// Supply index input as an argument. Bundle args = new Bundle(); args.putString("buku", bukuLirik); args.putString("nolagu", nolaguLirik); f.setArguments(args);
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT154
return f; }
public void getShownIndex() {buku = getArguments().getString("buku", null);nolagu = getArguments().getString("nolagu", null);Log.v("Notangka().getShownIndex","value buku "+buku+"
public class dbAdapter { public static final String KEY_ID = "id"; public static final String KEY_BUKU = "buku"; public static final String KEY_NOLAGU = "nolagu"; public static final String KEY_JUDULLAGU = "judullagu"; public static final String KEY_LINEAWAL = "lineawal"; public static final String KEY_LINEAKHIR = "lineakhir"; public static final String KEY_FAVORITE = "favorite"; public boolean favorite = false; public static final String TAG = "DBAdapter";
public static final String DATABASE_NAME = "bukuNyanyian"; public static final String DATABASE_TABLE = "daftarLagu"; public static final int DATABASE_VERSION = 1; static final String DATABASE_CREATE = "create table daftarLagu (id integer primary key au-toincrement, " + "buku text not null, nolagu integer not null);";
final Context context;
DatabaseHelper DBHelper; SQLiteDatabase db; public dbAdapter(Context ctx) {
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT157
this.context = ctx; DBHelper = new DatabaseHelper(context); }
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + old-Version + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS con-tacts"); onCreate(db); } }
//---opens the database--- public dbAdapter open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; }
//---closes the database--- public void close() { DBHelper.close(); }
//---retrieves daftar lagu--- public Cursor getAllData() { return db.query(DATABASE_TABLE, new String[] {KEY_BUKU, KEY_NOLAGU, KEY_JUDULLAGU}, null, null, null, null, null); }
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT158
//---retrieves lagu--- public Cursor getData(int rowId) throws SQLException { String query= "SELECT buku,nolagu,judullagu,lineawal,lin-eakhir,favorite FROM daftarLagu WHERE id='"+rowId+"'"; Log.w(TAG, query); Cursor mCursor = db.rawQuery(query,null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; }
//---updates lagu--- public boolean updateData(int rowId, boolean favorite) { String parsFavorite = String.valueOf(favorite); ContentValues args = new ContentValues(); args.put(KEY_FAVORITE, parsFavorite); Log.v("DB ADAPTER", "Sukses menjadikan favorite / unfa-vorite "+favorite); return db.update(DATABASE_TABLE, args, KEY_ID + "='"+rowId+"'", null) > 0; } //---searching lagu--- public Cursor searching(CharSequence buku, CharSequence no) { String query= "SELECT * FROM daftarLagu WHERE nolagu='"+no+"' AND buku='"+buku+"'"; Log.w(TAG, query); Cursor mCursor = db.rawQuery(query,null); if (mCursor != null) { Log.v("SEARCH on DB", "Data available"); mCursor.moveToFirst(); } return mCursor; } //---searching by book--- public Cursor searchingBook(CharSequence buku) { String query= "SELECT * FROM daftarLagu WHERE buku='"+buku+"'"; Log.w(TAG, query); Cursor mCursor = db.rawQuery(query,null); if (mCursor != null) { Log.v("SEARCH on DB", "Data available");
FAKULTAS ILMU KOMPUTER UNIVERSITAS KLABAT159
mCursor.moveToFirst(); } return mCursor; } //---searching favorite--- public Cursor reatrivefavorite(CharSequence favorit) { String query= "SELECT * FROM daftarLagu WHERE favorite='"+favorit+"'"; Log.w(TAG, query); Cursor mCursor = db.rawQuery(query,null); if (mCursor != null) { Log.v("SEARCH on DB", "Data available"); mCursor.moveToFirst(); } return mCursor; }