BAB 4 IMPLEMENTASI DAN PENGUJIAN
Pada bab ini, akan dibahas pengimplementasian sistem ke dalam kode program agar pengujian dapat dilakukan untuk mengetahui jalannya nada yang digunakan dan
letaknya di fingerboard biola dengan menggunakan metode rule based knowledge.
4.1. Implementasi
Implementasi Aplikasi Pembelajaran Biola meliputi kebutuhan perangkat lunak dan perangkat keras yang digunakan untuk membangun aplikasi ini. Dalam tahap ini hasil
analisi dan perancangan dibuat dalam bahasa pemograman.
4.1.1. Spesifikasi Perangkat Lunak
Aplikasi Pembelajaran biola ini dibangun pada sistem operasi Windows 7 32-bit, menggunakan bahasa pemrograman Java.
Pengkodean dilakukan dengan menggunakan perangkat lunak Netbeans IDE 7.0, untuk bahasa pemrograman Java. Database disimpan dengan menggunakan
MySQL.
4.1.2. Spesifikasi Perangkat Keras
Adapun spesifikasi perangkat keras yang digunakan dalam implementasi aplikasi pembelajaran biola ini adalah sebagai berikut:
1. Prosesor AMD A4-3305M APU with Radeon HD Graphics 1,90 GHz 2. Memory RAM 2 GB
3. Hard Disk 500 GB 4. Monitor
14.0”
Universitas Sumatera Utara
28
4.1.3. Hasil Eksekusi Aplikasi
Pada bagian ini akan dijelaskan hasil eksekusi aplikasi pembelajaran biola yang dijalankan. Penjelasan dimulai dari tampilan awal aplikasi ketika dijalankan. Ketika
aplikasi pertama kali dijalankan, maka akan muncul tampilan awal sistem menampilkan gambar biola, combo box untuk memilih tangga nada, button untuk
memainkan tangga nada yang sudah dipilih, button keterangan, dan button about. Seperti yang terlihat pada Gambar 4.1 berikut.
Gambar 4.1 Tampilan Awal Sistem
Dalam tampilan halaman menu utama ini, terdapat combo box Pilih kunci untuk memilih tangga nada yang ingin dimainkan, button PLAY untuk memainkan tangga
nada yang dipilih, button Keterangan untuk melihat keterangan tentang istilah yang ada di dalam aplikasi, dan button About untuk melihat keterangan dari pengembang
aplikasi. Ketika diklik combo box Pilih kunci, maka akan keluar pilihan tangga nada
yang ingin dimainkan. Seperti yang terlihat pada Gambar 4.2 berikut.
Universitas Sumatera Utara
29
Gambar 4.2 Tampilan Combo Box
Adapun koding dari combo box yang ditampilkan adalah sebagai berikut:
String[] strKunci = {--Pilih Tangga Nada--, A, B, C, D, E, F, G};
comboKunci = new JComboBoxstrKunci; comboKunci.setBackgroundColor.pink;
comboKunci.setFontnew FontSegoe Script, Font.BOLD, 16; comboKunci.setForegroundColor.black;
comboKunci.addItemListenernew ItemListener { public void itemStateChangedItemEvent e {
String nadaDasar = comboKunci.getSelectedItem.toString;
if e.getStateChange == 1 comboKunci.getSelectedIndex = 0 {
bersihkan_panelpanelKanan; String kumpulanKunci =
ambil_kunci_dari_databasenadaDasar;
Universitas Sumatera Utara
30
tombol_managerkumpulanKunci; }
} };
Setelah memilih tangga nada yang ingin dimainkan, maka akan keluar setiap nada yang ada dalam tangga nada yang dipilih. Tampilan nada yang ditampilkan
menggunakan button. Seperti yang terlihat pada Gambar 4.3 berikut.
Gambar 4.3 Tampilan Pemilihan Tangga Nada
Adapun coding dari button nada yang ditampilkan adalah sebagai berikut:
if comboKunci.getSelectedIndex = 0 { bersihkan_panelpanelKanan;
mainkan_musikcomboKunci.getSelectedItem.toString; }
} else { for int i = 0; i buttonNada.size; i++ {
if event.getSource == buttonNada.geti { bersihkan_panelpanelKanan;
String teks = buttonNada.geti.getText.toString; String[] nadaJariSenar = teks.split ;
String nada = nadaJariSenar[1].trim; int jari = 0;
Universitas Sumatera Utara
31
if nadaJariSenar[3].toLowerCase.trim.equalsstring {
jari = 0; }
else if
nadaJariSenar[3].toLowerCase.trim.equalstelunjuk { jari = 1;
} else
if nadaJariSenar[3].toLowerCase.trim.equalstengah {
jari = 2; }
else if
nadaJariSenar[3].toLowerCase.trim.equalsmanis { jari = 3;
} String senar = nadaJariSenar[5].trim;
System.out.printlnnadaJariSenar[1]; System.out.printlnnadaJariSenar[3];
System.out.printlnnadaJariSenar[5]; nada_managernada + _ + senar, jari;
} }
Setiap nada yang ditampilkan dapat dipilih dan saat diklik akan menunjukkan suara dan letaknya di fingerboard. Misalnya dipilih nada G maka akan ditampilkan
letaknya. Seperti yang terlihat pada gambar 4.4 berikut.
Gambar 4.4 Tampilan nada yang dipilih
Coding untuk menampilkan letak jari dan suara yang dikeluarkan adalah sebagai berikut:
public void nada_managerString nada, int kode_jari {
Universitas Sumatera Utara
32
System.out.printlnNada Manager : + angka + nada + kode_jari;
String soundName = null; String warna = ;
saat diklik maka gambar jari akan dibersihkan Graphics graphicsPanelKanan = panelKanan.getGraphics;
if clip = null { clip.stop;
} if nada.equalsG_G {
soundName = srcsuaraG_G.wav; x = 235;
y = 75; } else if nada.equalsAb_G {
soundName = srcsuaraAb_G.wav; x = 235;
y = 120; } else if nada.equalsA_G {
soundName = srcsuaraA_G.wav; x = 235;
y = 165; } else if nada.equalsBb_G {
soundName = srcsuaraBb_G.wav; x = 235;
y = 210; } else if nada.equalsB_G {
soundName = srcsuaraB_G.wav; x = 233;
y = 255; } else if nada.equalsC_G {
soundName = srcsuaraC_G.wav; x = 232;
y = 300; } else if nada.equalsC_G {
soundName = srcsuaraC_G.wav; x = 232;
Universitas Sumatera Utara
33
y = 345; } else if nada.equalsD_D {
soundName = srcsuaraD_D.wav; x = 253;
y = 75; } else if nada.equalsEb_D {
soundName = srcsuaraEb_D.wav; x = 253;
y = 120; } else if nada.equalsE_D {
soundName = srcsuaraE_D.wav; x = 253;
y = 165; } else if nada.equalsF_D {
soundName = srcsuaraF_D.wav; x = 253;
y = 210; } else if nada.equalsF_D {
soundName = srcsuaraF_D.wav; x = 253;
y = 255; } else if nada.equalsG_D {
soundName = srcsuaraG_D.wav; x = 253;
y = 300; } else if nada.equalsG_D {
soundName = srcsuaraG_D.wav; x = 253;
y = 345; } else if nada.equalsA_A {
soundName = srcsuaraA_A.wav; x = 271;
y = 75; } else if nada.equalsBb_A {
soundName = srcsuaraBb_A.wav; x = 271;
y = 120; } else if nada.equalsB_A {
soundName = srcsuaraB_A.wav;
Universitas Sumatera Utara
34
x = 271; y = 165;
} else if nada.equalsC_A { soundName = srcsuaraC_A.wav;
x = 271; y = 210;
} else if nada.equalsC_A { soundName = srcsuaraC_A.wav;
x = 271; y = 255;
} else if nada.equalsD_A { soundName = srcsuaraD_A.wav;
x = 271; y = 300;
} else if nada.equalsD_A { soundName = srcsuaraD_A.wav;
x = 271; y = 300;
} else if nada.equalsE_E { soundName = srcsuaraE_E.wav;
x = 288; y = 75;
} else if nada.equalsF_E { soundName = srcsuaraF_E.wav;
x = 288; y = 120;
} else if nada.equalsF_E { soundName = srcsuaraF_E.wav;
x = 288; y = 165;
} else if nada.equalsG_E { soundName = srcsuaraG_E.wav;
x = 288; y = 210;
} else if nada.equalsG_E { soundName = srcsuaraG_E.wav;
x = 288; y = 255;
} else if nada.equalsA_E {
Universitas Sumatera Utara
35
soundName = srcsuaraA_E.wav; x = 288;
y = 300; }
untunk mengatur warna berdasarkan kode jari if kode_jari == 0 {
graphicsPanelKanan.setColorColor.BLUE; } else if kode_jari == 1 {
graphicsPanelKanan.setColorColor.RED; } else if kode_jari == 2 {
graphicsPanelKanan.setColorColor.YELLOW; } else if kode_jari == 3 {
graphicsPanelKanan.setColorColor.GREEN; }
lingkaran jari graphicsPanelKanan.fillOvalx, y, 25, 25;
graphicsPanelKanan.setFont new Fontdefault, Font.BOLD, 30;
mainkan suara try {
AudioInputStream audioInputStream
= AudioSystem.getAudioInputStreamnew FilesoundName.getAbsoluteFile;
clip = AudioSystem.getClip; clip.openaudioInputStream;
clip.start; } catch Exception ex {
System.out.printlnERROR : + ex.toString; } finally {
try { waktu delay suara
Thread.sleep500; } catch InterruptedException ex {
Logger.getLoggerViolin.class.getName.logLevel.SEVERE, null, ex;
Universitas Sumatera Utara
36
} }
} public String ambil_kunci_dari_databaseString nada {
String kunci = ; KoneksiDatabase koneksiDatabase = new KoneksiDatabase;
java.sql.Connection koneksiTabelKunci
= koneksiDatabase.getKoneksiDatabase;
try { String sql = SELECT FROM tabel_kunci WHERE nada_dasar = +
nada + ; Statement statement = koneksiTabelKunci.createStatement;
ResultSet resultSet = statement.executeQuerysql; while resultSet.next {
kunci = resultSet.getStringid_nada.toString; }
resultSet.close; statement.close;
} catch SQLException ex { System.out.printlnStatement
Tampil Nada
Error :
+ ex.toString;
} System.out.printlnKunci dari database : + kunci;
return kunci; }
public ArrayList
ambil_nada_jari_senar_berdasarkan_id_kunciint id_nada {
String nada = null, jari = null, senar = null; ArrayListString nadaJariSenar = new ArrayListString;
KoneksiDatabase koneksiDatabase = new KoneksiDatabase; java.sql.Connection
koneksiTabelKunci =
koneksiDatabase.getKoneksiDatabase;
Universitas Sumatera Utara
37
try { String sql = SELECT FROM tabel_nada WHERE id_nada= +
id_nada + ; Statement statement = koneksiTabelKunci.createStatement;
ResultSet resultSet = statement.executeQuerysql; if resultSet.next {
nada = resultSet.getStringnada.toString; jari = String.valueOfresultSet.getIntjari;
senar = resultSet.getStringsenar.toString; }
nadaJariSenar.addnada; nadaJariSenar.addjari;
nadaJariSenar.addsenar; resultSet.close;
statement.close; } catch SQLException ex {
System.out.printlnStatement Tampil
Nada Error
: +
ex.toString; }
return nadaJariSenar; }
Setelah memilih nada, terdapat button PLAY , ketika button PLAY dipilih maka akan dimainkan tangga nada yang dipilih dan menunjukkan letaknya di fingerboard.
Seperti yang terlihat pada Gambar 4.5 berikut.
Gambar 4.5 Tampilan PLAY
Universitas Sumatera Utara
38
Coding untuk memainkan tangga nada yang dipilih adalah sebagai berikut:
public void mainkan_musikString nadaDasar { String kumpulanKunci = ambil_kunci_dari_databasenadaDasar;
String[] kunci = kumpulanKunci.split_; ArrayListString nadaJariSenar = new ArrayListString;
nadaJariSenar.clear; for int i = 0; i kunci.length; i++ {
String kodeNada = ; nadaJariSenar=
ambil_nada_jari_senar_berdasarkan_id_kunciInteger.parseIntkunci[i]; int kodeJari = Integer.parseIntnadaJariSenar.get1;
kodeNada = nadaJariSenar.get0 + _ + nadaJariSenar.get2; int urutan = i + 1;
if urutan 7 { urutan = urutan - 7;
} nada_managerkodeNada, kodeJari;
System.out.printlnkodeNada; }
}
Gambar 4.6 Tampilan halaman keterangan
Universitas Sumatera Utara
39
Gambar 4.7 Tampilan Halaman About
Pada halaman keterangan ditampilkan istilah yang ada pada aplikasi dan menunjukkan keterangan nama dari setiap senar biola. Halaman About berisi tentang nama penulis.
4.2. Pengujian