## APLIKASI LATIH VOKAL DENGAN MENGGUNAKAN METODE
HARMONIC PRODUCT SPECTRUM (HPS) DAN BOYER MOORE

## BERBASIS ANDROID

## Vonny Afriyona Egisthi
Fakultas Teknik, Program Studi Teknik Informatika Universitas Bengkulu Email: vonny.egisthi@gmail.com
Desi Andreswari Universitas Bengkulu Email: dezieandrez@yahoo.co.id
Yudi Setiawan Universitas Bengkulu Email: ys.teknik@unib.ac.id

## ABSTRAK
Teknik  vokal  adalah  cara  memproduksi  suara  yang  baik  dan  benar,  sehingga  suara  yang  keluar terdengar  jelas,  indah,  merdu,  dan  nyaring,  kebanyakan  masyarakat  masih  kesulitan  dalam  mempelajari teknik vokal dan menentukan kursus vokal yang sesuai. Penelitian ini akan membangun sebuah aplikasi latih  vokal  yang  dapat  digunakan  kapan  saja.  Metode  HPS  (Harmonic  Product  Spectrum)  digunakan untuk  melakukan  pendeteksian  nada  pada  suara  inputan  dan  metode  Boyer  Moore  digunakan  untuk melakukan  penentuan  skor  pada  ujian  karaoke.  Hasil  akhir  dari  aplikasi  ini  adalah  dapat  membantu pengguna  dalam  mempelajari  teknik  vokal  dengan  mudah,  serta  dapat  mengevaluasi  kemampuan bernyanyi  dengan  ujian  karaoke.  Pada  penelitian  ini  dilakukan  pengujian  black  box  dengan  teknik equivalence  partitioning  dengan  teknik  pengujian  yang  membagi  domain  input,  menentukan  kasus pengujian dengan mengungkapkan kelas-kelas kesalahan. Dari hasil uji kelayakan sistem yang dilakukan menggunakan  kuesioner  didapatkan  68.33%  untuk  pengujian  fungsional  sistem,  67.05%  pengujian antarmuka dan pengaksesan, dan 69.33% untuk pengujian manfaat sistem.
Kata kunci: latih vokal, harmonic product spectrum (HPS), boyer moore.

## ABSTRACT
Vocal  technique  is  a  way  of  producing  sound  is  good  and  right,  so  that  the  sound  comes  out sounding  clear,  beautiful,  melodious  and  sonorous,  most  people  are  still  difficulties  in  studying  vocal technique and vocal determine the appropriate course. This study will build a vocal trainer app that can be  used  anytime.  Method  HPS  (Harmonic  Product  Spectrum)  is  used  to  make  the  detection  tone  in  the voice input and Boyer Moore method used to perform on the exam scoring karaoke. The end result of this application  is  to  help  users  in  learning  vocal  techniques with  ease,  and  can  evaluate  the  ability  to  sing karaoke  exam.  In  this  research,  black  box  testing  technique  that  equivalence  partitioning  testing technique that divides the input domain, specify test cases by revealing error classes. From the results of the feasibility test conducted using a questionnaire system obtained 68.33% for functional testing system, 67.05% and accessing interface testing, and 69.33% for the test system benefits.
Keywords: vocal trainer, harmonic product spectrum (HPS), boyer moore.

## 1. PENDAHULUAN
Bernyanyi  merupakan  salah  satu  kegiatan  yang  dapat  memenuhi  kebutuhan  psikologi  manusia karena  bernyanyi  dapat  mengaplikasikan  perasaan  yang  sedang  dialami.  Selain  untuk  menghibur  diri, bernyanyi  juga  berdampak  positif  untuk  kesehatan  seperti  menjadikan  pernafasan  lebih  baik, mengoksidasi  darah,  merangsang  aktifitas  otak,  melepaskan  hormon  bahagia,  mengurangi  stres, membangun  kepercayaaan  diri,  meningkatkan  kreatifitas,  menciptakan  suara  yang  bertenaga  dan membuat seseorang merasa fantastis.
Untuk dapat bernyanyi dengan baik dan benar dibutuhkan suatu sarana pembelajaran seperti sekolah vokal atau kursus vokal baik formal maupun non formal. Hal ini tentu membutuhkan waktu, tenaga dan biaya  yang  tidak  semua  orang  dapat  memenuhinya  Tetapi  khususnya  untuk  di  Bengkulu,  sekolah  vokal atau  kursus  vokal  sangat sulit ditemui bahkan  hanya  terdapat dua sekolah  vokal  yang  masih aktif tetapi tidak  memiliki  banyak  peserta  didik.  Informasi  mengenai  sekolah  atau  kursus  vokal  tersebut  juga  tidak dapat  ditemui  baik  melalui  web  maupun  media  cetak  lainnya.  Sebagian  orang  yang  tahu  sekolah  vokal atau kursus tersebut hanya dari mulut ke mulut saja, sehingga kita tidak tahu apakah kursus vokal tersebut memang bagus atau tidak.  Adanya  keadaan seperti itu semakin  menyulitkan kita untuk  mencari sekolah atau kursus vokal di Bengkulu.
Ketepatan nada dalam bernyanyi menjadi poin utama untuk menghasilkan nyanyian yang sempurna. Sebelum bisa menyanyikan nada dengan tepat, seseorang harus mempelajari terlebih dahulu tentang nada dasar.  Pada  kursus  vokal  tentunya  peran  seorang  pelatih  sangat  penting,  untuk  memberi  arahan  apakah nada  yang  di  ucapkan  sudah  benar  atau  belum.  Tetapi  untuk  seseorang  yang  hanya  belajar  secara otodidak, tidak ada yang bisa memberi tahu apakah itu benar atau salah.
Harmonic  Product  Spectrum  (HPS)  merupakan  salah  satu  metode  yang  dapat  digunakan  untuk pendeteksian nada. Pendeteksian nada dilakukan dengan cara merekam suara sambil menyebutkan nada- nada dasar. Nantinya kita akan mengetahui apakah nada yang disebutkan sudah benar atau tidak. Metode ini merupakan metode pitch detection algorithm yang paling simpel dan dapat bekerja dengan baik dalam berbagai kondisi [1].
Untuk melihat sejauh mana seseorang sudah menguasai teknik vokal dengan baik dan benar, maka diperlukan  suatu  pengujian.  Seseorang  dapat  menguji  kemampuan  bernyanyinya  dan  mengevaluasi kesalahannya dengan  melihat  score setelah dia menyanyikan lagu tersebut. Salah satu  metode yang bisa digunakan untuk penentuan score pada hal ini adalah algoritma pencocokan string, Boyer Moore. Proses metode  Boyer  Moore  pada  penelitian  ini  adalah  dengan  mencocokan  suara  vocal  yang  diberikan  oleh penyanyi karaoke dengan sejumlah nada yang ada pada sejumlah track pada lagu yang sedang dimainkan. Suara vokal dari penyanyi bisa dipandang sebagai pattern dan kumpulan suara dari musik itu sendiri dapat dipandang sebagai string.
Dengan permasalahan tersebut, maka peneliti ingin membangun sebuah sarana pembelajaran vokal menggunakan  perangkat  mobile,  untuk  memberikan  kemudahan  pengguna  khususnya  masyarakat Bengkulu yang ingin berlatih vokal secara mandiri atau otodidak. Sehingga permasalahan yang selama ini menjadi kendala bisa teratasi dengan mudah.

## 2. LANDASAN TEORI

## 2.1 Teknik Vokal Bernyanyi
Teknik  vokal  adalah  cara  memproduksi  suara  yang  baik  dan  benar,  sehingga  suara  yang  keluar terdengar jelas, indah, merdu, dan nyaring. Menyanyikan sebuah lagu diperlukan latihan vokal agar dapat mengetahui  tinggi  rendahnya  sebuah  nada,  sehingga  terjadi  suatu  keselarasan  antara  nada  dan  suara. Beberapa  unsur  dasar  dalam  melatih  vokal  yang  harus  dikuasai  adalah  latihan  breath  control,  artikulasi dan notasi angka [2].

## 2.2 Metode Harmonic Product Spectrum
Harmonic  Product  Spectrum merupakan  metode pitch  detection  algorithm yang  paling  simpel  dan bekerja  dengan  baik  dalam  berbagai  kondisi  (Garreth,  2003). Harmonic  Product  Spectrum (HPS) memerlukan  beberapa  proses  pengolahan  dari  audio  file  yaitu windowing dan Fast  Fourier  Transform (FFT) [3].
Ketika  menggunakan  FFT  untuk  mengukur  frekuensi  dari  data,  maka  harus  menentukan  dasar analisa pada sebuah data  yang pasti. FFT mengasumsikan  bahwa data yang tetap adalah sebuah periode dari period signal . Bagi FFT time-domain dan frequency-domain adalah perputaran yang sama, sehingga titik  terakhir  dari time  waveform dianggap  berhubungan.  Sehingga  keterbatasan  dalam sampling  record menghasilkan waveform yang terpotong dengan perbedaan karakter dari sinyal aslinya, dan keterbatasan ini  membuat perubahan  yang  tajam dalam pengukuran data. Untuk  mengurangi efek perubahan ini, kita bisa menggunakan fungsi Window untuk sinyal dalam time-domain sebelum diproses menuju FFT. A-D converter untuk  mengubah  sinyal  analog  menjadi  digital  sebelum  disimpan  dalam  komputer.  Proses komputasi  spektrum  dari  sinyal  yang  telah  direkam  adalah  menggunakan Fast  Fourier  Trasform .  Pada gambar  berikut  ini  merupakan  hasil  dari Hamming  Window atau  yang  disebut  juga  proses  pengubahan sinyal [4].
Harmonic Product Spectrum digunakan  untuk  melakukan  analisis dan penentuan akurasi. Tahapan pertama  dalam  algoritma Harmonic  Product  Spectrum ini  adalah  proses FFT  (Fast  Fourier  Transform) yaitu  sinyal  dalam  domain  waktu  kemudian  diubah  ke  domain  frekuensi  untuk  melihat  range frekuensinya.  Proses  ini  bertujuan  untuk  menentukan  range  frekuansi  yang  memiliki  energi  paling maksimum.

## 2.3 Metode Boyer Moore
Ide  utama  dari  algoritma  ini  adalah  dengan  melakukan  pencocokan  dari  paling  kanan string yang dicari.  Dengan  menggunakan  algoritma  ini,  secara  rata-rata  proses  pencarian  akan  lebih  cepat dibandingkan dengan proses  pencarian lainnya. Ide dibalik algoritma ini adalah bahwa dengan  memulai pencocokan karakter dari kanan, dan bukan dari kiri, maka akan lebih banyak informasi yang didapat.
Dalam pencarian Boyer-Moore , proses awal yang dilakukan adalah penempatan window dari patter n di  text  yang  tersedia.  Proses  pencarian  dimulai  dari  karakter  paling  kanan  pattern.  Setiap  karakter  akan dibandingkan satu per satu. Jika terjadi ketidakcocokan, maka akan dicek nilai pergeseran yang mungkin dilakukan.  Nilai  terbesar  yang  didapat  akan  diambil  dan  pergeseran  window  akan  dilakukan  sesuai dengan nilai tersebut [5].

## 2.4 Eclips
Eclipse yang diluncurkan IBM pada tanggal 5 November 2001 merupakan sebuah IDE yang gratis dan open  source atau  yang  dapat  dikembangkan  dan  digunakan  untuk  membangun  sebuah  program komputer dan dapat dijalankan disemua platform .

## 2.5 Android
Menurut  Nazrudin  Safaat  H  (2011:  1),  “ Android  adalah  sebuah  sistem  operasi  untuk  perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi ”. Android adalah sistem operasi  untuk  telepon  seluler  yang  berbasis  Linux.  Android  menyediakan platform terbuka  bagi  para pengembang untuk membuat aplikasi mereka sendiri.

## 2.6 UML (Unified Modeling Language)
Unifed  Modeling  Language (UML)  adalah  keluarga  notasi  grafis  yang  didukung  oleh  meta-model tunggal,  yang  membantu  pendeskripsian  dan  desain  sistem  perangkat  lunak,  khususnya  sistem  yang dibangun menggunakan pemrograman berorientasi objek (OO). Berdasarkan sifatnya, jenis diagram UML ada 9, diantaranya class diagram, sequence diagram, usecase diagram, activity diagram, object diagram, component diagram, collaboration diagram, dan deployment diagram [6].

## 3. METODOLOGI PENELITIAN

## 3.1 Jenis Penelitian
Jenis  penelitian  yang  dilakukan  adalah  penelitian  terapan  ( Applied  Research ).  Penelitan  terapan yaitu  penelitian  yang  dilakukan  berkenaan  dengan  kenyataan-kenyataan  praktis,  penerapan,  dan pengembangan  ilmu  pengetahuan  yang  dihasilkan  oleh  penelitian  dasar  dalam  kehidupan  yang  bersifat nyata.

## 3.2 Teknik Pengumpulan Data
Dalam  mengumpulkan  data,  teknik  pengumpulan  data  yang  digunakan  dalam  penelitian  ini  ada  3 yaitu dengan metode:

## 3.2.1 Studi Pustaka
Studi  kepustakaan  diilakukan  dengan  mengumpulkan  data  dan  informasi  yang  digunakan  sebagai acuan  dalam  pembuatan  aplikasi  latih  vokal  dengan  metode  HPS  ( Harmonic  Product  Spectrum )  dan metode Boyer Moore . Data dan informasi dapat berupa buku-buku, laporan penelitian, skripsi, jurnal dan sumber-sumber tertulis lainnya yang berhubungan dengan pemahaman yang digunakan dalam penelitian ini.

## 3.2.2 Studi Analisis
Melakukan analisis terhadap masalah  yang dikaji yaitu kesulitannya seseorang untuk  mencari guru vokal yang sesuai dan benar-benar memahami tentang teknik vokal tersebut serta kesulitannya seseorang untuk menentukan waktu latihan vokal yang cocok.

## 3.2.3 Wawancara
Melakukan  tanya  jawab  mengenai  aplikasi  latih  vokal  yang  dibangun,  apakah  sudah  membantu memberikan pelatihan vokal secara otodidak dan praktis. Wawancara dilakukan langsung dengan pelatih vokal yang ada di Bengkulu.

## 3.3 Metode Pengembangan Sistem
Pengembangan  sistem  aplikasi  latih  vokal  dalam  tugas  akhir  ini  menggunakan  model Waterfall. Model Waterfall mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak sistematik dan sekuensial  yang  mulai  pada  tingkat  dan  kemajuan  sistem  pada  seluruh  analisis,  desain,  kode,  pengujian dan  pemeliharaan.  Adapun  penjelasan  langkah-langkah  yang dilakukan dalam pengembangan  sistem ini secara garis besar adalah sebagai berikut:

## 3.3.1 Analisis Kebutuhan
Sistem  yang  akan  dibuat  memerlukan  masukan,  keluaran  dan  kebutuhan interface .  Tujuan  analisis kebutuhan  adalah  sebagai  batasan  dari  sistem  yang  akan  dibuat,  menentukan  kemampuan  dan  fungsi sistem sesuai dengan kebutuhan user, dan fasilitas-fasilitas yang merupakan nilai tambah yang ada pada sistem yang dibangun.

## 3.3.2 Perancangan Sistem
Perancangan  sistem  ini  merupakan  tahap  konseptualisasi,  yaitu  suatu  tahap  yang  mengharuskan analisis dalam perancangan sistem (perangkat lunak) untuk berusaha mengetahui mengenai hal-hal yang menjadi  kebutuhan  dan  harapan  pengguna,  sehingga  nanti  sistem  yang  dibuat  memang  dibutuhkan  oleh user serta memuaskan kebutuhan dan harapannya. Diagram yang digunakan dalam perancangan aplikasi ini adalah Unified Language Diagram.
1) Implementasi
Dalam pembuatan aplikasi, tahap ini merupakan tahapan secara nyata dalam pengerjaan aplikasi. Aplikasi  latih  vokal  dengan  menggunakan  metode Harmonic  Product  Spectrum (HPS)  dan metode Boyer Moore akan dibuat sesuai dengan kebutuhan pengguna oleh penulis pada tahapan ini aplikasi yang akan dibangun berbasis android.
2) Pengujian Sistem
Proses  pengujian  yang  dilakukan  pada  aplikasi  yang  dibuat  menggunakan  metode  pengujian black box testing . Pengujian black box atau pengujian fungsional adalah pengujian kondisi yang dibangun berdasarkan fungsional dari program atau sistem. Pada pengujian black box dibutuhkan informasi  mengenai  data  masukan  dan  sasaran  keluaran  tanpa  harus  mengetahui  bagaimana program atau sistem tersebut bekerja [8]. Adapun  jenis  pengujian black  box yang  akan  digunakan  yaitu Equivalence  Partioning ,  yaitu metode  yang  membagi domain masukan  dari  suatu  program  ke  dalam  kelas-kelas  data berdasarkan  pada  premis  masukan  dan  keluaran  dari  suatu  komponen  yang  dipartisi  ke  dalam kelas-kelas,  menurut  spesifikasi  dari  komponen  tersebut,  yang  akan  diperlakukan  sama (ekuivalen) oleh komponen tersebut.
3) Penggunaan dan Pemeliharaan
Setelah  sistem  selesai  maka  pengguna  akan  menggunakan  sistem.  Jika  terdapat  pengembangan fungsional  dari  sistem  yang  diinginkan  oleh  pengguna,  maka  akan  dilakukannya  pemeliharaan dengan cara memperbaiki sistem jika terjadi kerusakan atau kesalahan pada sistem.

## 4. ANALISIS DAN PERANCANGAN

## 4.1 Analisis Sistem
Secara garis besar cara kerja sistem yang dibangun ditampilkan dalam Gambar 1 berikut.
MULAI Tampilan Menu Pilih Menu Petunjuk Pilih Menu Tentang Informasi Petunjuk Aplikasi Informasi Tentang Aplikasi SELESAI Latihan Ujian Pilih Level Pilih Lagu Ulang Ujian Piih latihan dgn not/ melodi Ulangi Latihan Ya Tidak Mulai Ujian Karaoke Mendapat Skor Tidak Ya Ya Ya Tidak Pilih Menu Modul Pilih Menu Video Informasi Modul Tampilan Video Ya Ya Tidak

## Gambar 1. Diagram Alir Kerja Sistem

## 4.2 Perancangan Model UML (Unified Modeling Language)
Perancangan  model  UML  ditunjukkan  untuk  memberikan  gambaran  secara  umum  tentang  sistem yang akan dibangun. Perancangan sistem Aplikasi Latih Vokal Dengan Menggunakan Metode Harmonic Product  Spectrum (HPS)  dan Boyer  Moore Berbasis  Android  ini  menggunakan  model  diagram  UML, yaitu:

## 4.2.1 Usecase Diagram
Use  case diagram  merupakan  pemodelan  untuk  perilaku  sistem  informasi  yang  akan  dibuat. Use case mendeskripsikan  sebuah  interaksi  antara  satu  atau  lebih actor dengan  sistem  informasi  yang  akan dibuat.

## Tabel 1. Kegiatan aktor dan interaksinya dengan sistem
Aktor Interaksi
Pengguna   Pengguna dapat memilih latihan dan mempelajari tangga nada.
Modul berisi tentang teknik vokal serta tips-tips.
Pengguna dapat melihat video tutorial latihan vokal. Pengguna dapat mengikuti ujian, kemudian memilih level dan lagu yang akan dinyanyikan serta dapat merekam suara Pengguna dapat melihat bantuan dari aplikasi Pengguna dapat melihat tentang aplikasi.

## Gambar 2. Usecase Diagram

## 4.2.2 Class Diagram

## Gambar 3. Class Diagram Latih Vokal
Pada  Gambar  3  komponen  pada  class  diagram  terdiri  dari Class,  attributes dan Operations . Class Diagram latih  vokal  terdiri  dari  2  kelas  yaitu  kelas  latihan  dan  kelas  ujian.  Kelas  latihan  mempunyai hubungan relasi 1.... 1* dengan kelas ujian artinya pengguna dapat melakukan ujian secara berulang kali. Pada  Class  latihan  memiliki  atribut  nada  dan  tangga  nada  dan  memiliki  objek  berupa  recording  suara. Pada Class Ujian memiliki atribut nada, artikulasi, level, pernafasan dan judul lagu. Class ujian memiliki objek proses ujian.

## 4.2.3 Activity Diagram
Pada Gambar 4 menunjukkan keseluruhan dari kerja sistem. Pada aplikasi terdapat beberapa menu yaitu  menu  latihan,  ujian,  modul,  video,  bantuan  dan  tentang.  Pada  menu  latihan  berisi  tentang  latihan pengenalan tangga nada yang dilatih dengan not dan melodi. Menu ujian yaitu pengguna dapat mengukur sejauh  mana  teknik  vokal  yang  dikuasai  dengan  menampilkan  beberapa  lagu  serta  skor  dari  ujian  yang dilakukan.  Pada  modul  berisi  tentang  penjelasan  teknik  vokal  beserta  tips  yang  berhubungan  dengan vokal. Menu video menampilkan beberapa buah video tutor tentang teknik vokal secara praktek, sehingga bisa  langsung  dipraktekkan  pengguna  dimana  saja.  Pada  menu  bantuan  berisi  informasi  mengenai  cara penggunaan aplikasi, dan pada menu tentang berisis mengenai informasi sistem.

## 4.2.4 Sequence Diagram

## Gambar 5. Sequence Diagram
Pada diagram diatas, adalah interaksi antara pengguna dengan sistem. Pengguna masuk pada menu utama kemudian pilih menu latihan untuk mempelajari tentang teknik pengucapan nada, kemudain pada menu  ujian  sistem  akan  memberikan  hasil  dari  pengujian  bernyanyi.  Kemudian  pada  menu  modul, pengguna  dapat  mengetahui  tentang  teknik  vokal  dan  tips  secra  teori,  sedangkan  pada  menu  video pengguna  dapat  melihat  video  tutr  mnegnai  teknik  vokal  secara  praktek.  Lalu  pengguna  memilih  menu bantuan  dimana  berisi  tentang  informasi  penggunaan  aplikasi  secara  jelas.  Yang  terakhir  pengguna memilih menu tentang, sistem akan memberikan informasi mengenai aplikasi tersebut.

## 5. PEMBAHASAN

## 5.1 Implementasi Antarmuka

## 5.1.1 Menu Latih Vokal
Pada aplikasi latih vokal ini, terdapat beberapa buah menu yang dapat dipiiih pengguna yakni, menu latihan, ujian, modul, video, bantuan dan tentang. Menu latihan dan ujian merupakan menu penting dalam aplikasi  ini,  karena  pada  kedua  menu  tersebut  masing-masing  menggunakan  metode  Harmonic  Product Spectrum (HPS) dan Boyer Moore dalam penilaiannya. Gambar 6 dibawah ini merupakan tampilan menu yang bisa dipilih.

## Gambar 6. Tampilan Menu Latih Vokal

## 5.1.2 Menu Latihan
Pada menu latihan terdapat dua pilihan menu yang bisa dipilih oleh pengguna yaitu latihan dengan not  atau  latihan  dengan  melodi.  Latihan  dengan  not  yaitu  pengguna  dapat  memahami  nada  dasar  atau tangga  nada  secara  satu  persatu,  aplikasi  akan  merekam  setiap  nada  yang  diucapkan  berdasarkan  nada yang  diberikan,  Kemudian  aplikasi  akan  memberitahu  apakah  nada  yang  diucapkan  benar  atau  salah. Apabila  nada  yang  diucapkan  salah,  maka  aplikasi  akan  terus  mengulang  nada  sampai  nada  tersebut berhasil di ucapkan dengan benar, dan jika benar maka akan aplikasi akan menampilkan nada yang lain.
Latihan  dengan  melodi  hampir  sama  dengan  latihan  dengan  not,  yang  membedakan  adalah  pada latihan  ini  pengguna  langsung  menyebutkan  tangga  nada  secara  keseluruhan  “do  re  mi  fa  sol  la  si”. Aplikasi juga akan  merekam  suara pengguna dan  memberikan  hasil pada bagian nada  mana  yang salah. Pengguna  dapat  melakukan  latihan  secara  berulang-ulang.  Gambar  7  berikut  ini  merupakan  tampilan untuk latihan dengan not.
Pada gambar 7 diatas merupakan tampilan menu latihan dengan not. Setelah menekan tombol “ play ” pada  layar  maka  nada  yang  diberikan  akan  muncul.  Nada  yang  diberikan  adalah  “re”  maka  pengguna menyebutkan nada tersebut sesuai dengan bunyi nada yang terdengar dari aplikasi. Apabila benar, maka akan tampil seperti gambar diatas, namun jika nada salah akan keluar pemberitahuan bahwa nada salah. Begitu juga latihan dengan melodi, yang berbeda hanyalah akan muncul pemberitahuan nada yang salah, jika  semua  nada  benar  maka  yang  muncul  adalah  nada  salah  =  0  berarti  semua  nada  di  tangga  nada tersebut benar. Berikut ini gambar 8 merupakan tampilan latihan dengan melodi.

## Gambar 8. Tampilan Menu Latihan Dengan Melodi
Pada gambar 8 merupakan tampilan menu latihan dengan melodi. Terlihat bahwa pada tangga nada ”do re mi fa sol la si do” terdapat 4 buah kesalahan dari 7 nada dalam penyebutannya yakni pada nada b3 atau sama dengan  nada “si” , nada d4 atau sama dengan nada “re”, nada f#4 atau sama dengan nada “fa” dan nada g4 sama dengan nada “sol”. Pengguna dapat mengulangi latihan dengan not atau melodi sampai pengucapan nada dianggap benar dan pengguna merasa sudah cukup menguasai latihan tersebut.
Metode  yang bekerja pada proses latihan dengan not dan dengan  melodi ini  menggunakan  metode Harmonic Product Spectrum (HPS). Metode Harmonic Product Spectrum (HPS) pada aplikasi digunakan dalam  proses  pendeteksian  nada  yang  di  inputkan.    File  suara  berisi  rekaman  suara  yang  menyebutkan tangga  nada,  sehingga  dalam  satu  file  suara  tersebut  terdapat  nada  yang  akan  diidentifikasi.  Setelah  itu sinyal suara tersebut akan diproses dengan algoritma Harmonic Product Spectrum dimana kita membagi sinyal  input  ke  segmen  dengan  menerapkan  jendela  Hanning  (segemen-segmen  sinyal  input),  ukuran jendela dan ukuran hop diberikan sebagai masukan. Untuk setiap jendela, kita memanfaatkan Short-Time Fourier Transform untuk mengubah sinyal masukan dari domain waktu ke domain frekuensi.
Setelah input dalam domain frekuensi, lalu diterapkan teknik Spectrum Produk Harmonic ke setiap jendela.  Tahapan  pertama  dalam  algoritma  Harmonic  Product  Spectrum  ini  adalah  proses  FFT (Fast Fourier  Transform )  yaitu  sinyal  dalam  domain  waktu  kemudian  diubah  ke  domain  frekuensi  untuk melihat range frekuensinya. Proses ini bertujuan untuk menentukan range frekuensi yang memiliki energi paling  maksimum. Setelah sinyal dalam domain  frekuensi, frekuensi ini lah  yang akan  digunakan untuk pendeteksian nada yang muncul. Berikut ini merupakan potongan source code metode Harmonic Product Spectrum (HPS).
Dispatcher  =  AudioDispatcherFactory.fromDefaultMicrophone(11025,  buffer, 0); processor  = new PitchProcessor(PitchEstimationAlgorithm.FFT_YIN,  11025, buffer, dh); dispatcher.addAudioProcessor(processo  r); public PitchProcessor(PitchEstimationAlgorithm algorithm, float sampleRate,
int bufferSize,
PitchDetectionHandler handler) { detector = algorithm.getDetector(sampleRate, bufferSize); this.handler = handler; } public FastYin(final  float  audioSampleRate,  final  int  bufferSize,  final double yinThreshold) { this.sampleRate = audioSampleRate; this.threshold = yinThreshold; yinBuffer = new float[bufferSize / 2]; //Initializations for FFT difference step audioBufferFFT = new float[2*bufferSize]; kernel = new float[2*bufferSize]; yinStyleACF = new float[2*bufferSize]; fft = new FloatFFT(bufferSize); result = new PitchDetectionResult(); }
Pada  source  code  diatas  merupakan  code  untuk  proses  pendeteksian  pitch.  FFT_YIN  merupakan salah  satu  algoritma  yang  bisa  digunakan  pada  metode Harmonic  Product  Spectrum (HPS).  Untuk aplikasi  ini  menggunakan  algoritma Dynamic  Wavelet atau  FFT_YIN.  Algoritma  yang  bisa  dipakai banyak, tetapi algoritma  yang dipilih  merupakan algoritma  yang paling cepat untuk nada realtime. Pada aplikasi ini menggunakan library tarsosDSP ( Digital Sound Processing ) untuk memproses suara inputan.

## 5.1.3 Menu Ujian
Halaman ujian adalah menu yang dapat dipilih oleh pengguna dengan tiga pilihan level yaitu mudah, sedang dan sulit. Pada setiap menu terdapat satu lagu berbeda yang bisa dinyanyikan. Untuk level mudah terdapat lagu Satu Nusa Satu Bangsa, Level sedang adalah lagu Aku Bukan Bang Toyib dan Level sulit adalah  lagu  Matahariku.  Lagu-lagu  tersebut  dipilih  berdasarkan  tingkat  kesulitan  yang  dilihat  dari banyaknya perpindahan nada atau improve nada, baik itu perpindahan dari nada rendah ke tinggi atau dari nada tinggi ke rendah.  Lagu  satu Nusa  Satu Bangsa dipilih sebagai lagu pada level  mudah karena lagu tersebut  tidak  memiliki improve nada  yang  banyak  dibanding  lagu  aku  bukan  bang  toyib  pada  level sedang dan lagu matahariku pada level sulit yang memiliki perpindahan nada dan improve nada. Ujian ini bertujuan untuk melihat sejauh mana teknik vokal yang sudah dikuasai oleh pengguna. Nantinya setelah pengguna selesai  menyanyikan sebuah lagu, aplikasi akan memberikan hasil berupa skor dari lagu  yang dinyanyikan. Berikut merupakan gambar 9 tampilan menu ujian setelah tombol “ play ”.
Gambar 9. Tampilan Menu Ujian Setelah Tombol Play
Pada gambar  9  merupakan tampilan  menu ujian setelah  memilih level. Lagu satu nusa satu bangsa diatas merupakan lagu untuk pilhan level mudah. Pengguna dapat menekan tombol play sebelum karaoke dimulai.  Setelah  pengguna  selesai  menyanyikan  lagu  tersebut  maka  akan  muncul  skor  dari  lagu  yang dinyanyikan. Berikut ini gambar 10 merupakan tampilan untuk skor karaoke.

## Gambar 10. Tampilan Skor Ujian
Pada gambar 10 diatas adalah tampilan skor ujian karaoke dimana nilai yang di dapat adalah 53 dari total nada 130, artinya dari 130 nada pada lagu tersebut pengguna dapat menyebutkan 56 nada yang benar dan 74 nada yang salah. Pengguna juga dapat mengulangi ujian bernyanyi sampai benar-benar mengusai lagu tersebut dengan pengucapan nada yang tepat, sehingga kesalahan nada pada lagu berkurang.
Metode  yang  digunakan  untuk  proses  skoring  ujian  karaoke  ini  menggunakan  metode Boyer Moore. Metode  Boyer Moore pada  aplikasi  digunakan  dalam  proses  penentuan  skor  ujian  bernyanyi. Pencarian Boyer  Moore merupakan  pencocokan  string,  dimana  dalam  penelitian  ini  pencocokan  string yang  dimaksudkan  adalah  pencocokan  nada-nada  perliriknya.  Untuk  penetuan  skor  pada  ujian,  dimana misalnya  dalam  satu  bait  nadanya  CDEFGAB.  Dari  nada  tersebut  nada  c,  de  dan  gab  benar.  Pada  saat pencarian pattern, c tidak diangap sebagai pattern karna terdiri dari 1 nada yang disebut patttern apabila terdiri dari 2 atau 3 nada.  De dan gab benar, maka akan mencari semua de dan gab dilirik yang lain dan juga dianggapbenar. Seandainya di lirik  laain pada nada de atau gab  fals,  nada tersebut  masih dianggap benar karena jika dia berhasil menyenyikan di nada tersebut dengan baik dan benar pada lirik sebelumnya maka dianggap sudah bisa  menyanyikan perpindahan nada dari d ke e. Berikut ini  merupakan potongan source code dari metode Boyer Moore.
public int search(Note[] pattern, int start) { int M = pattern.length; int N = notes.size(); int skip; for (int i = start; i <= N - M; i += skip) { skip = 0; for (int j = M - 1; j >= 0; j--) { if (!pattern[j].getNot().equals(notes.get(i + j).getNot())) { skip = Math.max(1, j - right[notes.get(i + j).getIndex()]); break; }} if (skip == 0) return i; // found } return N; // not found }}
Potongan  source  code  diatas  merupakan  proses  metode Boyer  Moore dalam  pencocokan  pattern. Pattern  note yang  tersimpan  dalam  array  akan  dicari  di  barisan  nada  lagu.  Dimana  dikatakan  pattern
apabila terdiri dari 2 atau 3 not. Sistem akan melakukan looping atau perulangan pencarian pattern pada note hingga semua keluaran pattern ditemukan.

## 6. KESIMPULAN
Berdasarkan  analisa  perancangan  sistem,  implemantasi,  dan  pengujian  sistem,  maka  dapat disimpulkan bahwa:
1) Penelitian ini telah berhasil menghasilkan aplikasi latih vokal berbasis android. Sistem ini dapat digunakan  oleh  pengguna  untuk  membantu  memberikan  pelatihan  vokal  secara  otodidak  dan praktis dengan menggunakan metode HPS (Harmonic Product Spectrum) dan Boyer Moore.
2) Berdasarkan  hasil  pengujian  black  box  yang  dilakukan  dengan  teknik  equivalence  partitioning, yaitu  teknik  pengujian  yang  membagi  domain  input,  menentukan  kasus  pengujian  dengan mengungkapkan  kelas-kelas  kesalahan  dianggap  telah  berhasil  dalam  menguji  metode  HPS (Harmonic Product Spectrum) dan Boyer Moore pada aplikasi latih vokal.
3) Sistem ini dapat memberikan kemudahan kepada pengguna dan layak dalam pembelajaran latih vokal.  Dalam  pengujian  kemudahanan  sistem,  didapatkan  hasil  penilaian,  yaitu  kemudahan dalam  penggunaan  sistem  berfungsi  dengan  baik  dengan  presentase  nilai  65%.  Kemudahan dalam  tampilan  berfungsi  dengan  baik  dengan  presentase  nilai  69%,  dan  kemudahan  dalam menampilkan isi dari aplikasi baik dengan presentase nilai 68.05%. Dalam pengujian kelayakan sistem  didapatkan  hasil  penilaian,  yaitu  fungsi-fungsi  dalam  sistem  berfungsi  dengan  baik dengan presentase nilai 68.33%, antarmuka dan pengaksesan sistem baik dengan presentase nilai 67.05%,  dan  manfaat  sistem  baik  dengan  presentase  nilai  69.33%  sehingga  sistem  bermanfaat untuk pengguna.

## 7. SARAN
Berdasarkan  analisa  perancangan  sistem,  implementasi,  dan  pengujian  sistem,  maka  untuk pengembangan penelitian selanjutnya penulis menyarankan sebagai berikut:
1) Sistem ini dapat terus dikembangkan lebih lanjut dalam hal metode yang digunakan, kedepannya diharapkan untuk dapat menggunakan metode selain metode HPS (Harmonic Product Spectrum) dan Boyer Moore dalam pendeteksian nada serta skoring pada aplikasi latih vokal.
2) Sistem  ini  dapat  dilakukan  pengembangan  dengan  penambahan  lagu  untuk  setiap  level  dan penambahan pengenalan nada yang lebih luas.
3) Sistem ini juga dapat dilakukan pengembangan dengan menampilkan nada-nada yang salah pada saat ujian bernyanyi, sehingga pengguna dapat mengetahui bagian nada yang salah dari tiap lirik pada lagu tersebut.

## DAFTAR PUSTAKA
[1] Middleton, Garreth (2003). Pitch Detection Algorithm.DOI=http://cnx.org/content/m11714/latest/
[2] Bayu Satya, DS. (2013). Teknik Dasar Bernyanyi. Yogyakarta: Penerbit ANDI
[3] Yanuar  Christian  Ardianto,  Liliana,  M.Eng,  Gregorius  Satia  Budi.  2012.  Perancangan  dan Pembuatan  Aplikasi  Pengenal  Nada  Dasar  Pada  File  Lagu  Monophonic,  Jurusan  Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra.
[4] McClellan, Schafer, Yoder. (2003). Signal Processing First. Prentince Hall.
[5] Edward Rompah. Handbook of Exact String Matching Algorithm. 2001.
[6] Satyaputra,  A.,  Aritonang,  &  Maulina,  E.  (2012).  JAVA  for  Beginners  with  eclipse  4.2  JUNO. Jakarta: PT. Elex Media Komputindo.
[7] Widodo, P. P., & Herlawati. (2011). Menggunakan UML. Bandung: Informatika.
[8] Lewis, W. E. (2005). Software Testing and Continuous Quality Improvement Second Edition. Boca Raton London New York Wahington, D.C.: CRC Press LLC.
[9] Samuel,  Jefry  Muliawan,  Andika  Nugraha.  2013.  Analisis  dan  Perancangan  Aplikasi  Latih  Vokal Berbasis game Android, Jurusan Teknik Informatika, Universitas Bina Nusantara.
[10] Tedy Gumilar, Drs.Suwandi, Hertiana. 2012. Deteksi Nada Pada String Gitar Dengan Menggunakan Harmonic Product Spectrum, Jurusan Teknik Fisika, Fakultas Teknik, Universitas Telkom Bandung.
[11] Taufik  Hidayat.  2013.  Penerapan  Algoritma  Boyer  Moore  untuk  Penentuan  Score  pada  Mesin Karaoke, Jurusan Teknik Informatika, Fakultas Teknik, Institut Teknologi Bandung.
[12] Irvan  Hadyansyah,  Gelar  Budiman,  Unang  Sunarya.  2013.  Aplikasi  Identifikasi  Nada  Suara Manusia  Menggunakan  Metode  FFT  Berbasis  Android,  Jurusan  Teknik  Telekomunikasi,  Fakultas Teknik Elektro, Universitas Telkom.