Spesifikasi Perangkat Lunak Spesifikasi Perangkat Keras Hasil Eksekusi Aplikasi

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