Transcript
Page 1: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

Aplikasi

Rekomendasi Transpose Lagu Berdasarkan Vocal Range

Menggunakan Algoritma Genetika

Berbasis Android

Skripsi

Oleh

Faisal Rifqi

NIM: 11150910000025

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2019 M / 1441 H

Page 2: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

Aplikasi

Rekomendasi Transpose Lagu Berdasarkan Vocal Range

Menggunakan Algoritma Genetika

Berbasis Android

Skripsi

Diajukan sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer (S.Kom)

Oleh

Faisal Rifqi

NIM: 11150910000025

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI

SYARIF HIDAYATULLAH

JAKARTA

2019 M / 1441 H

Page 3: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

ii

LEMBAR PERSETUJUAN

APLIKASI REKOMENDASI TRANSPOSE LAGU

BERDASARKAN VOCAL RANGE

MENGGUNAKAN ALGORITMA GENETIKA

BERBASIS ANDROID

Skripsi

Sebagai Salah Satu Syarat untuk

Memperoleh Gelar Sarjana Komputer (S.Kom)

Oleh:

Faisal Rifqi

11150910000025

Menyetujui,

Pembimbing I

Hendra Bayu Suseno, M.Kom

NIP. 198212112009121003

Pembimbing II

Anif Hanifa Setianingrum, M.Si

NIDN. 0410116402

Mengetahui,

Ketua Program Studi Teknik Informatika

Dr.Imam Marzuki Shofi, M.T

NIP. 197202052008011010

Page 4: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

iii

PENGESAHAN UJIAN

Skripsi berjudul “Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range

Menggunakan Algoritma Genetika Berbasis Android” yang ditulis oleh Faisal

Rifqi, NIM 11150910000025 telah diuji dan dinyatakan lulus dalam sidang

munaqasyah Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta pada

hari ………………….. Skripsi ini telah diterima sebagai salah satu syarat untuk

memperoleh gelar Sarjana Komputer (S.Kom) pada Program Studi Teknik

Informatika.

Jakarta, ……………..

Tim Penguji

Penguji I

Rizal Broer Bahaweres, M.Kom

NIP. 197108062014111001

Penguji II

Arini, S.T., M.T.

NIP. 197601312009012001

Tim Pembimbing

Pembimbing I

Hendra Bayu Suseno, M.Kom

NIP. 198212112009121003

Pembimbing II

Anif Hanifa Setianingrum, M.Si

NIDN. 0410116402

Mengetahui,

Dekan Fakultas Sains dan Teknologi

Prof. Dr, Lily Suraya Eka Putri, M.Env.Stud

NIP. 196904042005012005

Ketua Program Studi Teknik Informatika

Dr.Imam Marzuki Shofi, M.T.

NIP. 197202052008011010

Page 5: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

iv

PERNYATAAN ORISINALITAS

Dengan ini saya menyatakan bahwa:

1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah

satu persyaratan memperoleh gelar strata 1 di UIN Syarif Hidayatullah Jakarta.

2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan

sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta.

3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau

merupakan hasil jiplakan dari karya orang lain, maka saya bersedia menerima

sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta

Jakarta, ……………

Penulis

Page 6: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

v

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda tangan

dibawah ini:

Nama : Faisal Rifqi

NIM : 11150910000025

Program Studi : Teknik Informatika

Fakultas : Sains dan Teknologi

Jenis Karya : Skripsi

demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas

Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive

Royalty Free Right) atas karya ilmiah saya yang berjudul:

APLIKASI REKOMENDASI TRANSPOSE LAGU BERDASARKAN VOCAL

RANGE MENGGUNAKAN ALGORITMA GENETIKA BERBASIS ANDROID

Dengan Hak Bebas Royalti Non-eksklusif ini Universitas Islam Negeri Syarif Hidayatullah

Jakarta berhak menyimpan, mengalih media/formatkan, mengelola dalam bentuk

pangkalan data (database), merawat dan mempublikasikan tugas akhir saya selama tetap

mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak.

Demikian pernyataan ini saya buat dengan sebenarnya.

Dibuat di : Jakarta

Pada tanggal : 2019

Yang menyatakan

(Faisal Rifqi)

Page 7: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

vi

Penulis : Faisal Rifqi

NIM : 11150910000025

Program Studi : Teknik Informatika

Judul : APLIKASI REKOMENDASI TRANSPOSE LAGU BERDASARKAN

VOCAL RANGE MENGGUNANKAN ALGORITMA GENETIKA

BERBASIS ANDROID

ABSTRAK

Bernyanyi merupakan hobi dan salah satu cara mengekspresikan diri bagi banyak

orang. Bernyanyi dikatakan bagus setidaknya apabila vokal tidak fals dan sesuai

dengan notasi lagu. Namun tidak semua orang memiliki vocal range sesuai dengan

semua lagu. Ketika vocal range seorang penyanyi dan range nada lagu berbeda,

perlu dilakukan transpose atau memindahkan kunci dasar lagu sesuai dengan

kemampuan penyanyi. Saat ini bagi penyanyi pemula dalam menentukkan

transpose lagu dilakukan dengan metode menerka-nerka, yangmana bisa jadi hasil

terka tersebut tidak optimal. Pada penelitian ini dengan menggunakan algoritma

genetika mengembangkan aplikasi sebagai sebuah alternatif dalam menentukkan

transpose lagu agar lebih matematis dan optimal. Pada penelitian ini aplikasi

berhasil dibuat dan layak untuk dijadikan alternatif daripada metode menerka-nerka

dengan menghasilkan tingkat keakuratan 75%. Untuk pengembangan berikutnya

bisa menggunakan variasi parameter algoritma genetika atau algoritma HPS dan

algoritma ant colony.

Kata Kunci : Aplikasi, Musik, Transpose, Algoritma Genetika, Vocal Range,

Android

Daftar Pustaka : 20 buku, 13 jurnal, dan 2 website

Jumlah Halaman : 131 halaman + xv halaman

Page 8: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

vii

KATA PENGANTAR

Bismillahirrahmaanirrahiim….

Assalamu’alaikum Wr. Wb.

Alhamdulillahirabbilaalamiin, puji syukur senantiasa dipanjatkan kehadirat

Allah Subhanahuwata’ala yang telah melimpahkan rahmat, hidayah serta nikmat-

Nya sehingga penyusunan skripsi ini dapat diselesaikan. Sholawat serta salam

senantiasa dihaturkan kepada junjungan kita baginda Nabi Muhammad Shalallahu

‘Alaihi Wassalam beserta keluarganya, para sahabatnya dan umatnya hingga akhir

zaman.

Penulisan dan penyusunan skripsi dengan judul APLIKASI

REKOMENDASI TRANSPOSE LAGU BERDASARKAN VOCAL RANGE

MENGGUNAKAN ALGORITMA GENETIKA BERBASIS ANDROID

merupakan salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom)

pada program studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas

Islam Negeri Syarif Hidayatullah Jakarta.

Dalam penyusunan skripsi ini, telah banyak bimbingan dan bantuan yang

penulis dapatkan dari berbagai pihak sehingga skripsi ini dapat berjalan dengan

lancar. Oleh karena itu, penulis ingin mengucapkan banyak terima kasih kepada:

1. Prof. Dr, Lily Suraya Eka Putri, M.Env.Stud selaku dekan Fakultas Sains

dan Teknologi.

2. Dr. Imam Marzuki Shofi, MT selaku Ketua Program Studi Teknik

Informatika.

3. Pak Hendra Bayu Suseno, M.Kom. dan Bu Anif Hanifa Setianingrum, M.Si.

selaku dosen pembimbing yang senantiasa meluangkan waktu, memberikan

bimbingan, bantuan, semangat dan motivasi dalam menyelesaikan skripsi

ini.

Page 9: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

viii

4. Keluraga tercinta, Almarhum Ayah, Ibu, Kakak dan adik-adik yang tidak

henti-hentinya mendoakan, mencurahkan kasih sayang serta memberikan

motivasi dan dukungan baik moril maupun materi selama ini.

5. Siti Rahma, wanita yang selalu mengingatkan akan tujuan dan telah

memberikan semangat kepada penulis selama kurang lebih 6 tahun terakhir.

6. Kak Delly dan Kak Vita, selaku narasumber ahli yang telah menyediakan

waktunya dan memberikan informasi untuk mendukung skripsi ini.

7. Sahabat-sahabat penulis, Shofan Amiruddin, Mahfudz Nurzamzami,

Muhammad Daffa Fikri, Muhammad Rifky dan teman-teman jurusan

Teknik Informatika UIN Jakarta angkatan 2015 yang tidak bisa disebut satu

per satu namanya, terima kasih atas motivasi, ilmu dan bantuannya selama

perkuliahan.

8. Teman-teman sekontrakan, Luthfi Alif, Abdul Yamin, Ahmad Rifki,

Fahrijal Haris, Fransyudha Abandhika, Zaenal Abidin, Ahmad Akbar Azter,

dan Ahmad Maulana Fazri yang telah menemani perjuangan tinggal

bersama di kontrakan dan memberi ilmu-ilmu yang bermanfaat.

9. Seluruh pihak yang tidak dapat disebutkan satu persatu yang secara

langsung maupun tidak langsung telah membantu dalam menyelesaikan

skripsi ini.

Penulisan skripsi ini masih jauh dari kata sempurna. Untuk itu, sangat

diperlukan kritik dan saran yang membangun bagi penulis. Akhir kata, semoga

kebaikan semua pihak yang membantu dibalas oleh Allah Subhanahuwata’ala dan

semoga skripsi ini dapat bermanfaat bagi penulis dan orang lain.

Wassalamu’alaikum, Wr. Wb.

Jakarta, ……………

Penulis

Page 10: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

ix

DAFTAR ISI

LEMBAR PERSETUJUAN ........................................................................................................... ii

PENGESAHAN UJIAN .................................................................................................................iii

PERNYATAAN ORISINALITAS ................................................................................................ iv

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ......................................................... v

ABSTRAK ...................................................................................................................................... vi

KATA PENGANTAR ................................................................................................................... vii

DAFTAR ISI ................................................................................................................................... ix

DAFTAR GAMBAR ....................................................................................................................xiii

DAFTAR TABEL.......................................................................................................................... xv

BAB 1 PENDAHULUAN................................................................................................................ 1

1.1. Latar Belakang .................................................................................................... 1

1.2. Rumusan Masalah ............................................................................................... 5

1.3. Batasan Masalah ................................................................................................. 5

1.3.1. Metode ........................................................................................................ 5

1.3.2. Proses .......................................................................................................... 5

1.3.3. Tools ............................................................................................................ 6

1.4. Tujuan ................................................................................................................. 6

1.5. Manfaat ............................................................................................................... 6

1.6. Metodologi Penelitian ......................................................................................... 6

1.6.1. Metode Pengumpulan Data ......................................................................... 7

1.6.2. Metode Pengembangan Sistem ................................................................... 7

1.7. Sistematika Penulisan ......................................................................................... 7

BAB 2 LANDASAN TEORI ........................................................................................................... 9

2.1. Aplikasi ............................................................................................................... 9

2.2. Nada dan Transpose ............................................................................................ 9

2.3. Vocal Range ...................................................................................................... 10

2.4. Algoritma Genetika ........................................................................................... 12

2.4.1. Komponen-komponen Algoritma Genetika .............................................. 14

2.4.1.1. Skema Pengkodean ........................................................................... 14

2.4.1.2. Nilai Fitness ...................................................................................... 14

Page 11: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

x

2.4.1.3. Seleksi ............................................................................................... 15

2.4.1.4. Crossover .......................................................................................... 15

2.4.1.5. Mutasi ............................................................................................... 17

2.4.1.6. Syarat Berhenti .................................................................................. 19

2.4.2. Variasi Algoritma Genetika ...................................................................... 19

2.5. Android ............................................................................................................. 19

2.5.1. Android SDK (Software Development Kit) ............................................... 22

2.6. SQLite ............................................................................................................... 22

2.7. Flowchart .......................................................................................................... 24

2.8. UML (Unified Modelling Language) ................................................................ 26

2.8.1. Use Case ................................................................................................... 26

2.8.2. Activity Diagram ....................................................................................... 28

2.8.3. Class Diagram .......................................................................................... 29

2.8.4. Sequence Diagram .................................................................................... 30

2.9. Model Waterfall ................................................................................................ 32

2.9.1. Requirement Analysis ................................................................................ 33

2.9.2. Design ....................................................................................................... 33

2.9.3. Coding ....................................................................................................... 33

2.9.4. Testing ....................................................................................................... 33

2.9.5. Maintenance .............................................................................................. 33

2.10. Metode Pengumpulan Data ........................................................................... 34

2.10.1. Wawancara ................................................................................................ 34

2.10.2. Kuesioner .................................................................................................. 35

2.10.3. Sampling ................................................................................................... 35

2.11. TarsosDSP Library ....................................................................................... 36

2.12. Black Box Testing.......................................................................................... 36

BAB 3 METODE PENELITIAN ................................................................................................. 37

3.1. Metode Pengumpulan Data ............................................................................... 37

3.1.1. Studi Pustaka ............................................................................................. 37

3.1.2. Wawancara Ahli ........................................................................................ 37

3.1.3. Kuesioner .................................................................................................. 38

3.1.4. Studi Literatur ........................................................................................... 38

3.2. Metode Pengembangan Sistem ......................................................................... 41

Page 12: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

xi

3.2.1. Requirement Analysis ................................................................................ 42

3.2.2. Design ....................................................................................................... 42

3.2.3. Coding ....................................................................................................... 42

3.2.4. Testing ....................................................................................................... 42

3.2.5. Maintenance .............................................................................................. 43

3.3. Kerangka Berpikir ............................................................................................. 44

BAB 4 PENGEMBANGAN SISTEM .......................................................................................... 45

4.1. Requirement Analysis ........................................................................................ 45

4.1.1. Identifikasi Masalah .................................................................................. 45

4.1.2. Analisa Kebutuhan Sistem ........................................................................ 46

4.2. Design ............................................................................................................... 48

4.2.1. Desain Algoritma ...................................................................................... 48

4.2.1.1. Pemetaan Nada .................................................................................. 49

4.2.1.2. Deteksi Vocal Range ......................................................................... 53

4.2.1.3. Algoritma Genetika ........................................................................... 54

4.2.2. Desain UML .............................................................................................. 67

4.2.2.1. Desain Use Case ............................................................................... 68

4.2.2.2. Desain Activity Diagram ................................................................... 69

4.2.2.3. Desain Class Diagram ...................................................................... 72

4.2.2.4. Desain Sequence Diagram ................................................................ 73

4.2.3. Desain Database ....................................................................................... 74

4.2.4. Desain User Interface ............................................................................... 76

4.3. Coding ............................................................................................................... 79

4.3.1. Class MainActivity .................................................................................... 80

4.3.2. Class Nada ................................................................................................ 81

4.3.3. Class DataHelper ...................................................................................... 83

4.3.4. Class Menu Pilih Lagu .............................................................................. 84

4.3.5. Class Algogen ........................................................................................... 84

4.3.5.1. Generasi Pertama .............................................................................. 87

4.3.5.2. Hitung Nilai Fungsi Obyektif........................................................... 88

4.3.5.3. Hitung Nilai Fitness .......................................................................... 90

4.3.5.4. Seleksi ............................................................................................... 92

4.3.5.5. Crossover .......................................................................................... 92

Page 13: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

xii

4.3.5.6. Mutasi ............................................................................................... 95

4.3.5.7. Regenerasi ......................................................................................... 98

4.3.6. Class Hasil .............................................................................................. 101

4.4. Testing ............................................................................................................. 102

4.4.1. Pengujian Black Box ............................................................................... 103

BAB 5 HASIL DAN PEMBAHASAN ....................................................................................... 105

5.1.1. Hasil Aplikasi .......................................................................................... 105

5.1.2. Pembahasan Hasil ................................................................................... 106

BAB 6 KESIMPULAN DAN SARAN ....................................................................................... 120

6.1. Kesimpulan ................................................................................................. 120

6.2. Saran ........................................................................................................... 120

DAFTAR PUSTAKA .................................................................................................................. 122

DAFTAR LAMPIRAN ............................................................................................................... 125

Lampiran 1 Wawancara Ahli ............................................................................ 125

Lampiran 2 Wawancara Pengujian ................................................................... 130

Page 14: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

xiii

DAFTAR GAMBAR

Gambar 1.1 Hasil Kuesioner 1 .......................................................................................................... 2 Gambar 1.2 Hasil Kuesioner 2 .......................................................................................................... 2 Gambar 1.3 Hasil Kuesioner 3 .......................................................................................................... 3 Gambar 1.4 Statistik Penggunaan Operating System ........................................................................ 4 Gambar 2.1 Alur Algoritma Genetika ............................................................................................. 13 Gambar 2.2 Contoh Crossover Satu Titik ....................................................................................... 16 Gambar 2.3 Contoh Crossover Banyak Titik .................................................................................. 16 Gambar 2.4 Contoh Crossover Pola Seragam ................................................................................. 17 Gambar 2.5 Contoh Mutasi Tingkat Kromosom ............................................................................. 18 Gambar 2.6 Contoh Mutasi Pada Tingkat Gen ............................................................................... 18 Gambar 2.7 Contoh Mutasi Hanya Pada Satu Bit ........................................................................... 18 Gambar 2.8 Tahapan Model Waterfall ............................................................................................ 32 Gambar 3.1 Kerangka Berpikir ....................................................................................................... 44 Gambar 4.1 Ilustrasi Metode Transpose Saat Ini ............................................................................ 45 Gambar 4.2 Ilustrasi Sistem Usulan ................................................................................................ 46 Gambar 4.3 Flowchart Aplikasi Solusi ........................................................................................... 49 Gambar 4.4 Flowchart Algoritma Genetika Solusi ......................................................................... 55 Gambar 4.5 Acuan Titik Potong...................................................................................................... 61 Gambar 4.6 Contoh Proses Crossover ............................................................................................ 62 Gambar 4.7 Use Case Diagram Aplikasi ........................................................................................ 68 Gambar 4.8 Activity Diagram Aplikasi ........................................................................................... 69 Gambar 4.9 Activity Diagram Deteksi Vocal Range ....................................................................... 70 Gambar 4.10 Activity Diagram Memilih Lagu ................................................................................ 71 Gambar 4.11 Activity Diagram Lihat Rekomendasi ....................................................................... 72 Gambar 4.12 Class Diagram Apliaksi ............................................................................................ 73 Gambar 4.13 Sequence Diagram Aplikasi ...................................................................................... 74 Gambar 4.14 Tampilan Instruksi ..................................................................................................... 76 Gambar 4.15 Tampilan Utama ........................................................................................................ 77 Gambar 4.16 Tampilan Pilih Lagu .................................................................................................. 78 Gambar 4.17 Tampilan Hasil .......................................................................................................... 78 Gambar 4.18 Ilustrasi Contoh Kasus ............................................................................................... 85 Gambar 4.19 Crossover Contoh ...................................................................................................... 94 Gambar 4.20 Contoh Proses Mutasi ................................................................................................ 98 Gambar 4.21 Contoh Proses Mutasi Child2 .................................................................................... 98 Gambar 4.22 Contoh Proses Mutasi Child3 .................................................................................... 98 Gambar 4.23 Contoh Proses Mutasi Child4 .................................................................................... 98 Gambar 4.24 Ilustrasi Setelah Transpose ...................................................................................... 102 Gambar 5.1 Kondisi Kasus Lagu Afgan Sebelum Transpose ....................................................... 107 Gambar 5.2 Kondisi Kasus Lagu Afgan Setelah Transpose ......................................................... 107 Gambar 5.3Grafik Nada Kasus Lagu Afgan ................................................................................. 108 Gambar 5.4 Kondisi Kasus Lagu Judika Sebelum Transpose ....................................................... 109 Gambar 5.5 Kondisi Kasus Lagu Judika Seteleah Transpose ....................................................... 109 Gambar 5.6 Grafik Nada Kasus Lagu Judika ................................................................................ 110 Gambar 5.7 Kondisi Kasus Lagu Ruth Sahanaya Sebelum Transpose ......................................... 111 Gambar 5.8 Kondisi Kasus Lagu Ruth Sahanaya Setelah Transpose ........................................... 112 Gambar 5.9 Grafik Nada Kasus Lagu Ruth Sahanaya .................................................................. 113

Page 15: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

xiv

Gambar 5.10 Kondisi Kasus Lagu Agnes Sebelum Transpose ..................................................... 113 Gambar 5.11 Notifikasi Vocal Range ............................................................................................ 114 Gambar 5.12 Kondisi Kasus Lagu Agnes Setelah Transpose Aplikasi ......................................... 115 Gambar 5.13 Kondisi Kasus Lagu Agnes Setelah Transpose Ahli ............................................... 115 Gambar 5.14 Grafik Nada Kasus Lagu Agnes .............................................................................. 117

Page 16: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

xv

DAFTAR TABEL

Tabel 2.1 Frekuensi Tangga Nada Kromatik .................................................................................. 10 Tabel 2.2 Klasifikasi Jenis Suara .................................................................................................... 11 Tabel 2.3 Versi Android .................................................................................................................. 20 Tabel 2.4 Simbol Flowchart ............................................................................................................ 24 Tabel 2.5 Contoh Penulisan Use Case ............................................................................................ 26 Tabel 2.6 Notasi Use Case .............................................................................................................. 27 Tabel 2.7 Notasi Activity Diagram .................................................................................................. 28 Tabel 2.8 Notasi Class Diagram ..................................................................................................... 30 Tabel 2.9 Notasi Sequence Diagram ............................................................................................... 31 Tabel 3.1 Studi Literatur ................................................................................................................. 39 Tabel 4.1 Pemetaan Frekuensi Nada ............................................................................................... 52 Tabel 4.2 Representasi Angka Nada ............................................................................................... 53 Tabel 4.3 Ilustrasi Kromosom ......................................................................................................... 56 Tabel 4.4 Contoh Pembangkitan Generasi Pertama ........................................................................ 57 Tabel 4.5 Contoh Data Untuk Seleksi ............................................................................................. 60 Tabel 4.6 Contoh Acak Angka Crossover ....................................................................................... 61 Tabel 4.7 Hasil Crossover ............................................................................................................... 62 Tabel 4.8 Contoh Proses Mutasi Child1 .......................................................................................... 63 Tabel 4.9 Contoh Proses Mutasi Child2 .......................................................................................... 64 Tabel 4.10 Contoh Proses Mutasi Child3 ........................................................................................ 64 Tabel 4.11 Contoh Proses Mutasi Child4 ........................................................................................ 65 Tabel 4.12 Hasil Proses Mutasi ....................................................................................................... 65 Tabel 4.13 Contoh Proses Regenerasi ............................................................................................. 66 Tabel 4.14 Contoh Hasil Regenerasi ............................................................................................... 67 Tabel 4.15 Use Case-1 .................................................................................................................... 68 Tabel 4.16 Use Case-2 .................................................................................................................... 68 Tabel 4.17 Use Case-3 .................................................................................................................... 69 Tabel 4.18 Desain Tabel Database Lagu ........................................................................................ 75 Tabel 4.19 Tabel Database Lagu .................................................................................................... 84 Tabel 4.20 Generasi Pertama Contoh .............................................................................................. 88 Tabel 4.21 Nilai Fungsi Obyektif Contoh ....................................................................................... 90 Tabel 4.22 Fitness Generasi Pertama Contoh ................................................................................. 91 Tabel 4.23 Probabilitas Crossover Contoh ...................................................................................... 93 Tabel 4.24 Hasil Persilangan Contoh .............................................................................................. 94 Tabel 4.25 Probabilitas Mutasi Child1 Contoh ............................................................................... 96 Tabel 4.26 Probabilitas Mutasi Child2 Contoh .............................................................................. 96 Tabel 4.27 Probabilitas Mutasi Child3 Contoh .............................................................................. 97 Tabel 4.28 Probabilitas Mutasi Child4 Contoh .............................................................................. 97 Tabel 4.29 Hasil Proses Mutasi Contoh .......................................................................................... 98 Tabel 4.30 Proses Perbandingan Untuk Regenerasi ........................................................................ 99 Tabel 4.31 Hasil Regenerasi Contoh ............................................................................................. 100 Tabel 4.32 Hasil Pengujian ........................................................................................................... 103 Tabel 5.1 Hasil Aplikasi ................................................................................................................ 106

Page 17: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

1

BAB 1

1. PENDAHULUAN

1.1. Latar Belakang

Bernyanyi merupakan serangkaian kegiatan untuk mengungkapkan ekspresi

lewat melodi dalam nyanyian. Melalui bernyanyi manusia dapat mengekpresikan

seluruh perasaan jiwa, seperti sedih, senang, benci, marah, kecewa, cinta atau

perasaan lainnya yang berhubungan dengan naluri hati sehingga terciptalah suatu

karya musik baik berupa nyanyian.(Sinaga, 2018)

Salah satu faktor yang mempengaruhi bagus tidaknya seseorang bernyanyi

adalah tidak fals atau sesuai dengan nada musik dari lagu tersebut. Dan terkadang

timbul permasalahan yaitu lagu yang dipilih tidak sesuai dengan jenis suara

penyanyi tersebut, sehingga penyanyi menyanyi dengan nada terlalu tinggi atau

terlalu rendah dari nada yang seharusnya sehingga menimbulkan suara

fals.(Ahmadiyah, Sunaryono, & Ramadhan, 2017)

Melakukan transpose akan sangat membantu, penyanyi seringkali perlu

untuk mengubah kunci dasar lagu dengan range nada yang nyaman dikarenakan

laki-laki dan perempuan memiliki vocal range yang berbeda.(Day, Kovarsky,

Neely, Pearl, & Pilhofer, 2014)

Berdasarkan hasil wawancara dengan ahli, metode dalam menentukan ke

mana harus transpose lagu bagi penyanyi pemula saat ini adalah mencoba-coba atau

menerka-nerka. Metode menerka-nerka ini dilakukan dengan menurunkan satu

demi satu nada dari nada tertinggi penyanyi sampai nada yang nyaman bagi

penyanyi. Bahkan ada penyanyi pemula yang tidak melakukan transpose dan

memaksa bernyanyi yangmana dapat menciderai pita suara. Hal ini didukung oleh

hasil kuesioner pada Gambar 1.1 yang menunjukkan bahwa sebanyak 55% penyanyi

pemula melakukan transpose dengan metode menerka-nerka.

Page 18: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

2

UIN Syarif Hidayatullah Jakarta

Gambar 1.1 Hasil Kuesioner 1

Dari semua yang melakukan transpose sebanyak 62,5% masih ragu bahwa

hasil transpose yang mereka lakukan sudah optimal, sebagaimana pada Gambar 1.2.

Gambar 1.2 Hasil Kuesioner 2

Oleh karena itu dibutuhkan alternatif daripada metode menerka-nerka

tersebut. Hasil kuesioner menunjukkan bahwa 100% setuju dan membutuhkan

sebuah aplikasi yang dapat membantu dalam transpose lagu.

Page 19: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

3

UIN Syarif Hidayatullah Jakarta

Gambar 1.3 Hasil Kuesioner 3

Dengan telah berkembangnya teknologi saat ini sudah memungkinkan bagi

komputer untuk mendeteksi vocal range, dan pencarian titik optimal sebagaimana

penelitian-penelitian terdahulu. Penelitian berjudul “Sistem Rekomendasi Lagu

Berdasarkan Jenis Suara Penyanyi Pada Aplikasi Karaoke” yang dilakukan oleh

Ahmadiyah (2017) telah berhasil melakukan deteksi vocal range lalu memberikan

rekomendasi kepada user lagu yang cocok sesuai vocal range-nya dengan tingkat

akurasi deteksinya sebesar 70%. Sedangkan dalam penelitian “Aransemen Nada

Alto, Tenor, dan Bass Menggunakan Algoritma Genetika” oleh Setiawan, Swastika,

Leona, & Kelana, (2018) telah berhasil mendesain aransemen suara dengan

Page 20: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

4

UIN Syarif Hidayatullah Jakarta

menerapkan algoritma genetika untuk melakukan pencarian nada-nada yang tepat

untuk aransemen suara.

Algoritma genetika berkemampuan memperoleh solusi yang memenuhi

syarat dari kombinasi yang ada, tanpa harus mencoba keseluruhan kemungkinan

solusi (Mustafa, Djamal, & Yuniarti, 2017). Serupa dengan metode transpose lagu

saat ini yaitu menerka-nerka, atau dengan kata lain mencoba kombinasi yang ada.

Algoritma genetika juga menggunakan nilai fitness atau nilai optimum yang berarti

mesikpun vocal range penyanyi tidak lebar maka seharusnya tetap dapat

memberikan saran transpose yang paling mendekati kemampuan penyanyi.

Gambar 1.4 Statistik Penggunaan Operating System

(Sumber: StatCounter GlobalStats)

Berdasarkan data statistik pada Gambar 1.4 dapat dilihat bahwa saat ini

android adalah gadget yang paling banyak digunakan di Indonesia. Android

memiliki keunggulan yaitu lengkap, open-source, dan bebas menurut Safaat H.,

(2015). Android juga dapat menjalankan algoritma genetika sebagaimana dalam

penelitian yang dilakukan oleh Ridha & Harafani (2019) berjudul “Implementasi

Algoritma Genetika Pada Perancangan Aplikasi Android Untuk Memprediksi Buta

Page 21: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

5

UIN Syarif Hidayatullah Jakarta

Warna” dengan hasil algoritma genetika berhasil memberikan prediksi yang lebih

optimal.

Berdasarkan uraian di atas, maka penulis ingin mengangkat judul penelitian

“Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range

Menggunakan Algoritma Genetika Berbasis Android”.

1.2. Rumusan Masalah

Berdasarkan permasalahan yang ada, maka dapat dirumuskan masalah

“Bagaimana membuat aplikasi rekomendasi transpose lagu berdasarkan vocal

range menggunakan algoritma genetika berbasis android?”

1.3. Batasan Masalah

Penulis membatasi masalah yang akan dibahas dalam penelitian ini menjadi

tiga batasan, yaitu batasan metode, batasan proses, dan batasan tools.

1.3.1. Metode

Studi pustaka, wawancara ahli, dan kuesioner adalah metode

pengumpulan data yang digunakan penulis dalam pengumpulan data

penelitian ini. Metode pengembangan sistem yang diterapkan pada

penelitian ini adalah Waterfall.

1.3.2. Proses

Batasan proses dalam penelitian ini meliputi:

a. Menggunakan mikrofon pada ponsel android sebagai alat

input.

b. Menggunakan algoritma genetika dalam pencarian nada

optimal dengan parameter 8 individu untuk 1 generasi, 6 gen

untuk 1 kromosom, syarat berhenti 20 perulangan, seleksi

secara elitis 2 pasangan parent, crossover 1 titik dengan

probabilitas 0,8, mutasi tingkat gen dengan probabilitas

mutasi sebesar 0,167, dan regenerasi steady-state.

c. Menggunakan tangga nada kromatik.

Page 22: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

6

UIN Syarif Hidayatullah Jakarta

d. Penulisan kunci dasar tidak melibatkan tangga nada mayor,

minor, atau yang lainnya.

e. Penentuan interval nada menggunakan 50 cents.

f. Memetakan nada dengan range nada G#1 sampai B6.

g. Mengeluarkan output berupa saran kunci transpose lagu dan

berapa besar perpindahan nada dari nada asli lagu.

1.3.3. Tools

Alat atau Tools yang digunakan pada penelitian ini dibatasi sebagai

berikut:

a. Lenovo Moto E3 Power Berbasis Android versi 6.0

“Marshmallow”.

b. Menggunakan library TarsosDSP.

c. Menggunakan Android Studio sebagai IDE.

1.4. Tujuan

Penelitian ini bertujuan untuk mengetahui bagaimana membuat aplikasi

rekomendasi transpose lagu berdasarkan vocal range menggunakan algoritma

genetika sehingga adanya alternatif ketika ingin transpose sebuah lagu daripada

menggunakan metode menerka-nerka.

1.5. Manfaat

Penulis berharap penelitian ini memberi manfaat secara umum berupa

menambah ilmu bagi pembaca dan ilmu yang terdapat dalam penelitian ini bisa

diterapkan untuk mengatasi masalah serupa, khususnya bagi masyarakat akademika

dapat menjadikan penelitian ini sebagai acuan, referensi, inspirasi untuk penelitian

berikutnya.

1.6. Metodologi Penelitian

Penelitian ini memiliki dua metode, yaitu metode pengumpulan data dan

metode pengembangan sistem.

Page 23: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

7

UIN Syarif Hidayatullah Jakarta

1.6.1. Metode Pengumpulan Data

Dalam proses penulisan penelitian ini, metode pengumpulan data

yang digunakan yaitu studi pustaka, wawancara ahli, dan kuesioner.

1.6.2. Metode Pengembangan Sistem

Penelitian ini menggunakan metode pengembangan sistem model

waterfall. Model ini dimulai dengan tahap requirement analysis, design,

testing, dan maintenance. Tahapan pada model ini dibuat sedemikian rupa

sehingga tidak ada tahapan yang dieksekusi ulang jika sudah dilewati.

Model ini cocok untuk projek yang memiliki requirement yang sudah jelas

di awal projek.(Dhami, 2016)

1.7. Sistematika Penulisan

Dalam penulisan skripsi ini, penulis membagi enam bab sebagai berikut

BAB 1 PENDAHULUAN

Pada bab ini dijelaskan mengenai latar belakang, tujuan

penelitian, manfaat penelitian, rumusan masalah, batasan

masalah, dan sistematika penulisan.

BAB 2 TINJAUAN DAN LANDASAN TEORI

Pada bab ini dijelaskan mengenai teori-teori yang digunakan

pada perancangan sistem atau aplikasi.

BAB 3 METODOLOGI PENELITIAN

Pada bab ini dijelaskan mengenai metode pengembangan

sistem yang digunakan pada perancangan sistem.

BAB 4 PENGEMBANGAN SISTEM

Pada bab ini dijelaskan mengenai bagaimana peneliti

mengembangkan sistem berdasarkan metode pengembangan

sistem.

Page 24: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

8

UIN Syarif Hidayatullah Jakarta

BAB 5 HASIL DAN PEMBAHASAN

Pada bab ini diuraikan mengenai hasil dan pembahasan

sistem yang telah dirancang.

BAB 6 PENUTUP

Pada bab ini akan memaparkan kesimpulan dari pembahasan

yang telah dilakukan pada bab sebelumnya dan memberikan

saran untuk pengembangan sistem lebih baik ke depannya.

DAFTAR PUSTAKA

Page 25: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

9

BAB 2

2. LANDASAN TEORI

2.1. Aplikasi

Aplikasi adalah program mandiri yang bertujuan menyelesaikan suatu

kebutuhan bisnis atau masalah secara spesifik. Aplikasi digunakan untuk

melakukan proses bisnis, proses data teknis, memfasilitasi sebuah bisnis,

manajemen, ataupun pengambilan keputusan secara teknis.(Pressman, 2011)

2.2. Nada dan Transpose

Nada adalah bunyi yang beraturan dengan frekuensi tertentu dan memiliki

tinggi nada tertentu menurut frekuensinya. Kumpulan dari semua nada dalam musik

disebut sebagai Tangga Nada Kromatik. Nada selalu berulang untuk tiap oktaf yang

ada, sehingga istilah tangga nada kromatik sering dipakai untuk ke-12 nada dari tiap

oktaf. Perbedaan antara dua buah pitch (nada) yang berdekatan disebut sebagai

semiton. Meskipun ada 12 nada dalam satu oktaf, tapi hanya 7 huruf pertama dari

abjad yang dipakai untuk memberi nama pada nada, yaitu dari A sampai G. Kelima

nada yang lain dalam tangga nada kromatik diberi nama dengan menempatkan

tanda kres (#) atau tanda mol (b) setelah notasi nada.(Prasetio, Hidayatno, &

Santoso, 2014)

Page 26: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

10

UIN Syarif Hidayatullah Jakarta

Tabel 2.1 Frekuensi Tangga Nada Kromatik

Sumber:(Prasetio et al., 2014)

Oktaf

1 2 3 4 5 6

Nada

C 32,703 65,406 130,81 261,63 523,25 1046,5

C# 34,468 69,296 138,59 277,18 554,37 1108,7

D 36,708 73,416 146,83 293,66 587,33 1174,7

D# 38,391 77,782 155,56 311,13 622,25 1244,5

E 41,204 82,407 164,81 329,63 659,26 1318,5

F 43,654 87,307 174,61 349,23 696,46 1396,9

F# 46,249 92,499 185,0 369,99 739,99 1480

G 48,999 97,999 196,0 392,0 783,99 1568

G# 51,913 103,83 207,65 415,3 830,61 1661,2

A 55,000 110,9 220,0 440,0 880,0 1760

A# 58,270 116,54 233,06 466,16 932,33 1846,7

B 61,735 123,47 246,94 493,88 967,77 1975,5

Menurut (Miller, 2005), Transpose adalah seni menerjemahkan sebuah nada

atau lebih dari suatu kunci dasar ke kunci dasar lainnya. Alasan untuk melakukan

transpose adalah nada asli lagu diluar dari range vokalis ataupun pemain instrumen.

Misalkan ada rangkaian nada seperti berikut: C2-F2-G2 di kunci dasar C.

Lalu kita melakukan transpose naik 2 nada ke kunci dasar D. Maka perubahan

rangkaian nada akan sebagai berikut, C2 menjadi D2, F2 menjadi G2, dan G2 menjadi

A2.

2.3. Vocal Range

Berdasarkan hasil wawancara, vokal adalah salah satu instrumen musik yang

asal suaranya berasal dari pita suara manusia. Dengan menggunakan vokal,

manusia dapat bernyanyi untuk hiburan, ekspresi diri, ritual keagamaan, ataupun

lainnya.

Setiap manusia memiliki karakteristik suara vokal yang berbeda-beda dan

untuk menentukan jenis suara seseorang bisa dilihat berdasarkan warna suara

yangmana bernilai subjektif. Vokal dibagi berdasarkan genre musik yaitu pop,

Page 27: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

11

UIN Syarif Hidayatullah Jakarta

klasik, jazz, dan lain-lain. Namun bukan berarti jika seseorang berwarna suara

salah satu genre, maka tidak bisa bagus pada genre lain. Untuk jenis suara

berdasarkan genre, satu orang bisa memiliki banyak jenis suara.

Jenis suara juga bisa di klasifikasikan berdasar jenis kelamin dan vocal range.

Menurut Ahmadiyah (2017) dan hasil wawancara ahli, klasifikasi berdasarkan jenis

kelamin dan vocal range bisa dilihat pada Tabel 2.2.

Tabel 2.2 Klasifikasi Jenis Suara

Jenis Suara Vocal Range Jenis Kelamin

Soprano C4-C6

Perempuan Mezzo A3-A5

Alto F3-F5

Tenor C3-C5

Laki-Laki Baritone F2-F4

Bass E2-E4

Berdasarkan hasil wawancara, vocal range luas dan tinggi tidak selalu dapat

diklasifikasikan sebagai sopran. Harus dilihat kembali warna suara dan faktor lain

di mana seseorang itu nyaman bernyanyi. Setiap jenis suara tersebut memiliki

kelebihan masing-masing. Untuk lagu dan penyanyi pop itu biasanya suara tengah,

Mezzo dan Baritone.

Vocal range seseorang tidaklah bersifat konstan. Vocal range dipengaruhi

oleh faktor-faktor sepert kesehatan fisik, usia, dan jenis kelamin. Semakin tua

seseorang maka semakin tebal pita suara sehingga menurunkan kemampuan

bernyanyi nada tinggi, kecuali vokalnya sering dilatih.

Page 28: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

12

UIN Syarif Hidayatullah Jakarta

2.4. Algoritma Genetika

Algoritma adalah urutan langkah logis untuk memecahkan suatu masalah.

Algoritma merupakan alur pemikiran untuk menyelesaikan suatu pekerjaan atau

suatu masalah daripada pembuatan program komputer. Algoritma inilah yang

kemudian dijadikan landasan (pedoman) untuk membuat program komputer.

(Suprapto, 2008)

Algoritma genetika merupakan suatu metode heuristik yang dikembangkan

berdasarkan prinsip genetika dan proses seleksi alamiah Teori Evolusi

Darwin.(Zukhri, 2014)

Sedangkan menurut Budiharto & Suhartono (2014), Algoritma genetika

merupakan metode adaptif yang dimulai dengan satu set solusi (diwakili oleh

kromosom) yang disebut populasi. Solusi dari satu populasi diambil untuk

membentuk populasi baru. Solusi yang dipilih untuk membentuk solusi baru

(keturunan) dipilih sesuai dengan kebugaran yang lebih cocok supaya lebih banyak

kesempatan untuk mereproduksi.

Pada awalnya, algoritma genetika memang digunakan sebagai algoritma

pencarian parameter-parameter optimal. Tetapi, dalam perkembangannya algoritma

genetika diaplikasikan untuk berbagai masalah seperti learning, peramalan,

pemograman otomatis, dan sebagainya.(Suyanto, 2014)

Page 29: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

13

UIN Syarif Hidayatullah Jakarta

Gambar 2.1 Alur Algoritma Genetika

(Budiharto & Suhartono, 2014)

Menurut (Sutojo, Mulyanto, & Suhartono, 2011), terdapat 7

pengertian dasar yang harus diketahui soal istilah dalam algoritma genetika.

Gen, adalah variabel dasar yang membentuk suatu kromosom. Dalam

algoritma genetika, gen ini dapat bernilai biner, integer, float, maupun

karakter.

Alel, adalah nilai dari suatu gen, bisa berupa biner, float, integer, maupun

karakter.

Kromosom, adalah gabungan dari gen-gen yang membentuk arti tertentu.

Individu, adalah kumpulan gen, bisa dikatakan sama dengan kromosom.

Page 30: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

14

UIN Syarif Hidayatullah Jakarta

Populasi, adalah sekumpulan individu yang akan diproses secara bersama-

sama dalam satu siklus evolusi.

Generasi menyatakan satu satuan siklus proses evolusi.

Fitness, menyatakan seberapa baik nilai dari suatu individu atau solusi yang

didapatkan.

2.4.1. Komponen-komponen Algoritma Genetika

Algoritma genetika memiiliki komponen-komponen sebagai

berikut.

2.4.1.1. Skema Pengkodean

Suatu permasalahan harus dikonversi dulu ke dalam bentuk

individu yang diwakili oleh satu atau lebih kromosom dengan kode

tertentu. Berbeda dengan teori genetika di dunia nyata, algoritma

genetika merepresentasikan gen sebagai bilangan riil, desimal, atau

biner.(Suyanto, 2014)

Kode biner dapat digunakan untuk merepresentasikan

bilangan dengan mudah jika banyaknya kemungkinan bilangan

bulat yang akan direpresentasikan sebesar pangkat dua bilangan

teretentu, misalnya banyaknya kemungkinan bilangan adalah

2,4,8,16, dan seterusnya.(Zukhri, 2014)

2.4.1.2. Nilai Fitness

Pada evolusi di dunia nyata, individu bernilai fitness tinggi

akan bertahan hidup. Sedangkan yang bernilai fitness rendah akan

mati. Pada algoritma genetika, suatu individu di evaluasi

berdasarkan suatu fungsi sebagai ukuran nilai fitness-nya. Penentuan

nilai fitness sangat berpengaruh pada performansi algoritma

genetika. (Suyanto, 2014)

Pada masalah optimasi, jika solusi yang dicari adalah

memaksimalkan sebuah fungsi h, maka nilai fitness(f) yang

Page 31: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

15

UIN Syarif Hidayatullah Jakarta

digunakan adalah nilai dari fungsi h itu sendiri, yakni f = h.(Suyanto,

2014)

2.4.1.3. Seleksi

Seleksi merupakan proses dalam algoritma genetika untuk

memilih kromosom yang tetap bertahan dalam populasi. Kromosom

yang terpilih mempunyai kemungkinan untuk dipasangkan dengan

kromosom lain atau mengalami proses penyilangan yang

menghasilkan kromosom anak.(Zukhri, 2014)

Proses pemilihan dua individu sebagai orang tua biasanya

dilakukan secara proporsional berdasarkan nilai-nilai fitness-nya.

Salah satunya adalah roulette wheel. Metode ini menirukan

permainan roulette-wheel dimana masing-masing individu

menempati potongan roda roulette secara proporsional sesuai

dengan nilai fitness-nya. (Suyanto, 2014)

Selain metode roulette-wheel, terdapat metode lain seperti

seleksi peringkat yang mengurutkan berdasar nilai fitness dengan

nilai lebih tinggi menempati peringkat lebih tinggi lalu

pemilihannya berdasarkan suatu fungsi distribusi, seleksi turnamen

yaitu kromosom dibagi dalam beberapa grup secara acak kemudian

seleksi dilakukan dengan mempertahankan kromosom dnegan nilai

fitness tertinggi pada setiap grup, dan ada metode seleksi elitis yaitu

memilih kromosom dengan fitness paling tinggi untuk

dipertahankan pada generasi berikutnya.(Zukhri, 2014)

2.4.1.4. Crossover

Pada proses crossover terjadi kombinasi perwarisan gen-gen

dari induknya, gen-gen dari induknya bercampur aduk sehingga

dihasilkan kromosom baru.(Suyanto, 2014)

Page 32: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

16

UIN Syarif Hidayatullah Jakarta

Crossover Satu Titik

Crossover ini merupakan skema yang paling sederhana.

Titik crossover hanya satu dengan posisi yang dibangkitkan

secara acak.(Suyanto, 2014)

Gambar 2.2 Contoh Crossover Satu Titik

(Sumber: Suyanto, 2014)

Crossover Banyak Titik

Pada suatu masalah tertentu dimana suatu individu terdiri

dari sangat banyak gen (misalkan 1000 gen), mungkin kita

butuh lebih dari satu titik crossover.(Suyanto, 2014)

Gambar 2.3 Contoh Crossover Banyak Titik

(Sumber: Suyanto, 2014)

Page 33: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

17

UIN Syarif Hidayatullah Jakarta

Crossover Pola Seragam

Dalam metode ini, bangkitkan terlebih dahulu sebuah

pola yang terdiri dari gen-gen sebanyak gen dalam

kromosom. Untuk kromosom anak yang pertama, jika kode

pola benilai 1 maka gen diwariskan dari induk yang pertama.

Sedangkan jika bernilai 0 maka diwariskan dari induk yang

kedua. Lalu untuk kromosom anak kedua adalah

sebaliknya.(Zukhri, 2014)

Gambar 2.4 Contoh Crossover Pola Seragam

( Sumber: Zukhri, 2014)

Sebuah individu yang mengarah pada solusi optimal bisa

diperoleh melalui proses crossover dengan catatan bahwa crossover

hanya bisa dilakukan jika sebuah bilangan acak dalam interval [0 1]

yang dibangkitkan lebih kecil dari probabilitas tertentu. Biasanya nilai

probabilitas diset mendekati 1. Cara yang paling sederhana untuk

melakukan crossover adalah crossover satu titik potong.(Sutojo et al.,

2011)

2.4.1.5. Mutasi

Menurut Suyanto (2014), Mutasi diperlukan untuk

mengembalikan informasi bit yang hilang akibat crossover. Mutasi

diterapkan dengan probabilitas yang sangat kecil. Karena jika terlalu

sering, Terdapat 3 jenis proses mutasi:

Page 34: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

18

UIN Syarif Hidayatullah Jakarta

Mutasi Pada Tingkat Kromosom

Semua gen dalam kromosom berubah

Gambar 2.5 Contoh Mutasi Tingkat Kromosom

Sumber: (Suyanto, 2014)

Mutasi Pada Tingkat Gen

Semua bit dalam satu gen berubah

Gambar 2.6 Contoh Mutasi Pada Tingkat Gen

Sumber: (Suyanto, 2014)

Mutasi Hanya Pada Satu Bit

Mutasi hanya terjadi pada bit yang ditentukan

Gambar 2.7 Contoh Mutasi Hanya Pada Satu Bit

Sumber: (Suyanto, 2014)

Prosedur mutasi sangatlah sederhana. Untuk semua gen yang

ada, jika bilangan acak yang dibangkitkan kurang dari probabilitas

mutase (pmut) yang ditentukan maka ubah gen tersebut menjadi nilai

Page 35: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

19

UIN Syarif Hidayatullah Jakarta

kebalikannya. Biasanya pmut diset sebagai 1/n, dimana n adalah

jumlah gen dalam kromosom.(Suyanto, 2014)

2.4.1.6. Syarat Berhenti

Proses optimasi yang dilakukan dengan algoritma genetika

akan berhenti setelah suatu syarat dipenuhi. Syarat berhenti yang

biasa digunakan adalah batas nilai fitness, batas nilai fungsi objektif,

batas waktu komputasi, dan banyak generasi.(Zukhri, 2014)

Pemilihan syarat berhenti yang paling tepat bergantung pada

tingkat kerumitan masalah. Syarat berhenti yang biasanya

digunakan adalah banyak generasi.(Zukhri, 2014)

2.4.2. Variasi Algoritma Genetika

Terdapat dua variasi algoritma genetika, yaitu Steady State dan

Generational Replacement. Pada Steady State, proses replacement

dilakukan setiap kali dihasilkan dua anak hasil crossover. Anak

menggantikan kromosom dengan nilai fitness paling kecil. Dengan

demikian, populasi baru selalu memiliki individu-individu yang lebih

baik.(Suyanto, 2014)

Sedangkan pada variasi generational replacement, proses

replacement dilakukan sekaligus ketika dihasilkan suatu populasi baru.

Untuk mempertahankan individu terbaik suatu generasi diperlukan suatu

komponen yang disebut elitisme, yaitu peng-kopi-an individu terbaik untuk

dimasukkan sebagai anggota populasi pada generasi berikutnya.(Suyanto,

2014)

2.5. Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux

yang mencakup sistem operasi, middleware, dan aplikasi. Android merupakan

platform mobile yang lengkap, terbuka dan bebas.(Safaat H., 2015)

Sampai saat penelitian ini dibuat, android telah mengelurakan versi sampai

dengan versi 9 yang dinamakan pie. Berikut versi-versi android yang ada saat ini:

Page 36: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

20

UIN Syarif Hidayatullah Jakarta

Tabel 2.3 Versi Android

Sumber:(Android, 2019)

Version Codename API Distribution

2.3.3 -

2.3.7 Gingerbread 10 0.3%

4.0.3 -

4.0.4

Ice Cream

Sandwich 15 0.3%

4.1.x

Jelly Bean

16 1.2%

4.2.x 17 1.5%

4.3 18 0.5%

4.4 KitKat 19 6.9%

5.0

Lollipop

21 3.0%

5.1 22 11.5%

6.0 Marshmallow 23 16.9%

7.0

Nougat

24 11.4%

7.1 25 7.8%

8.0

Oreo

26 12.9%

8.1 27 15.4%

9 Pie 28 10.4%

Menurut Safaat H. (2015), Android memiliki keunggulan sebagai berikut:

Lengkap (Complete Platform)

Para desainer dapat melakukan pendekatan yang

komprehensif ketika mereka sedang mengembangkan

platform Android. Android merupakan sistem operasi yang

aman dan banyak menyediakan tools dalam membangun

software.

Page 37: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

21

UIN Syarif Hidayatullah Jakarta

Terbuka (open-source)

Android disediakan melalui lisensi open-source.

Pengembang dapat dengan bebas untuk mengembangkan

aplikasi.

Free (Free Platform)

Android adalah platform/aplikasi yang bebas untuk

dikembangkan. Tidak ada lisensi atau biaya royalti untuk

dikembangkan pada platform android. Tidak diperlukan

biaya keanggotaan. Tidak diperlukan biaya pengujian.

Tidak ada kontrak yang diperlukan. Aplikasi untuk Android

dapat didistribusikan dan diperdagangkan dalam bentuk

apapun

Aplikasi Android ditulis dengan bahasa pemograman Java. Semua kode dan

asset disatukan dalam satu paket berupa file berekstensi “.APK”. Komponen

aplikasi Android terdiri dari beberapa jenis, antara lain: (Juhara, 2016)

Activity

Activity adalah istilah yang digunakan dalam

pemograman Android untuk mengacu pada satuan interaksi

dengan pengguna melalui antarmuka grafis. Selain sebagai

satuan interaksi pengguna, activity juga satuan eksekusi.

Intent

Intent mengacu pada mekanisme berbagi pesan

pemberitahuan, bertukar data activity atau untuk

menjalankan aplikasi lain.

Page 38: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

22

UIN Syarif Hidayatullah Jakarta

Service

Service adalah komponen aplikasi yang berjalan di

belakang layar tanpa user interface.

Content provider

Content provider membuat suatu aplikasi dapat berbagi

sejumlah data tertentu kepada aplikasi lain. Jika

membutuhkan data nama-nama kontak, aplikasi cukup

meminta data tersebut

Broadcast receiver

Broadcast receiver adalah komponen yang memantau,

menerima, dan bereaksi terhadap pesan yang disebarkan,

baik oleh sistem maupun aplikasi lain. Misalnya, ketika

baterai lemah.

2.5.1. Android SDK (Software Development Kit)

Android SDK adalah tools API (Application Programming

Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada

platform android menggunakan bahasa pemograman Java.(Safaat H., 2015)

2.6. SQLite

SQLite adalah mesin database SQL tertanam. Tidak seperti kebanyakan

database SQL lainnya, SQLite tidak memiliki proses server yang terpisah. SQLite

membaca dan menulis langsung ke file disk biasa. Database SQL lengkap dengan

beberapa tabel, indeks, triggers, dan tampilan terkandung dalam satu file disk.

Format file database adalah cross-platform sehingga dapat dengan bebas menyalin

database antara sistem 32-bit dan 64-bit.(Sqlite.org, n.d.)

Menurut (Aditya & Karn, 2014), SQLite memiliki fitur yang membuatnya

menjadi populer, fitur tersebut adalah:

Page 39: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

23

UIN Syarif Hidayatullah Jakarta

a. Nol konfigurasi: SQLite dirancang sedemikian rupa sehingga tidak

memerlukan file konfigurasi. Tidak memerlukan langkah instalasi atau

pengaturan awal; tidak memiliki server proses berjalan dan tidak ada

langkah pemulihan yang harus diambil bahkan jika crash. Tidak ada

server dan langsung tertanam di aplikasi. Selanjutnya, tidak ada

administrator diperlukan untuk membuat atau memelihara database, atau

mengatur izin untuk pengguna.

b. Tanpa hak cipta: Alih-alih lisensi, source code SQLite adalah milik

domain publik. Dibebaskan untuk mengubah, mendistribusikan, dan

bahkan menjual kode. Bahkan kontributor diminta menandatangani surat

pernyataan untuk melindungi dari apa pun perang hak cipta yang mungkin

terjadi di masa depan.

c. Cross-platform: File basis data dari satu sistem dapat dipindahkan ke

sistem yang menjalankan arsitektur yang berbeda tanpa kerumitan. Ini

dimungkinkan karena file database formatnya adalah biner dan semua

mesin menggunakan format yang sama. Ringkasnya, Database SQLite

adalah file disk tunggal biasa; datang tanpa server dan dirancang agar

ringan dan sederhana. Atribut-atribut ini membuat database menjadi

sangat ringan dibandingkan dengan database SQL lainnya

d. Mudah: Basis kode dikomentari dengan baik, mudah dipahami, dan

modular. Itu kasus uji dan skrip uji dalam SQLite memiliki sekitar 1084

kali lebih banyak kode daripada kode sumber perpustakaan SQLite dan

mereka mengklaim cakupan tes cabang 100 persen. Tingkat pengujian ini

menegaskan kembali kepercayaan yang ditanamkan dalam SQLite oleh

pengembang.

Dalam SQLite, data dikelaskan secara lebih umum daripada tipe data. SQLite

menyimpan data dalam 5 kelas yang bisa disebut juga sebagai tipe data primitif,

kelima kelas tersebut adalah sebagai berikut.(Aditya & Karn, 2014)

Null: merepresentasikan nilai yang hilang dari database

Page 40: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

24

UIN Syarif Hidayatullah Jakarta

Integer: mendukung penyimpanan bilangan bulat dari 1, 2, 3, 4, 6, atau 8

bytes.

Real: menyimpan data dengan nilai floating point, SQLite menggunakan 8-

byte IEEE Floating untuk menyimpan data.

Text: Nilai ini menyimpan data string teks.

BLOB: menyimpan array besar data biner.

SQLite menyimpan data Boolean dengan menggunakan kelas integer dimana

0 menyatakan nilai false dan 1 menyatakan nilai true.

2.7. Flowchart

Notasi algoritma yang paling banyak digunakan adalah flowchart karena

bentuknya yang sederhana dan mudah dipahami. Flowchart (diagram alir) adalah

penggambaran secara grafik dari langkah-langkah pemecahan masalah yang harus

diikuti oleh pemroses. Flowchart terdiri atas sekumpulan simbol, di mana masing-

masing symbol menggambarkan suatu kegiatan tertentu. Flowchart diawali dengan

penerimaan masukan (input), pemrosesan masukan, dan diakhiri dengan

menampilkan hasilnya (output). (Suprapto, 2008)

Tabel 2.4 merupakan simbol atau komponen yang sering digunakan menurut

Suprapto (2008).

Tabel 2.4 Simbol Flowchart

Notasi Keterangan

Masukan/Input, menunjukkan bahwa

terdapat kegiatan penerimaan data.

Dapat dituliskan di dalamnya secara

satu per satu masukan ataupun secara

keseluruhan

Masukan manual, menunjukkan bahwa

terdapat kegiatan penerimaan data

yang dimasukkan secara manual

Page 41: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

25

UIN Syarif Hidayatullah Jakarta

seperti melalui keryboard, barcode

reader, ataupun perangkat input

lainnya. Di dalamnya dituliskan

masukan manual yang diperlukan

secara keseluruhan

Proses, menunjukkan proses yang

dilakukan untuk mengubah masukan

menjadi keluaran/ouput.

Keluaran, menunjukkan hasil dari

pemrosesan data masukan. Keluaran

ini harus ditampilkan pada layar

monitor agar dapat dibaca oleh

pengguna

Percabangan, Yang dimaksud dengan

percabangan disini adalah suatu

kegiatan untuk mengecek atau

memeriksa suatu keadaan apakah

memenuhi suatu kondisi atau tidak.

Jadi dalam percabangan ini, kita harus

Menuliskan kondisi apa yang harus

dipenuhi oleh suatu keadaan. Hasil dari

pemeriksaan keadaan ini adalah YA

atau TIDAK. Jika pemeriksaan

keadaan menghasilkan kondisi yang

benar, maka jalur yang dipilih adalah

jalur yang berlabel YA, sedangkan jika

pemeriksaan keadaan menghasilkan

kondisi yang salah, maka jalur yang

dipilih adalah jalur berlabel TIDAK

Page 42: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

26

UIN Syarif Hidayatullah Jakarta

Arah aliran, menunjukkan jalur yang

harus diikuti dan menghubungkan

antar komponen sesuai langkah

pemecahan masalah

Terminator, berfungsi untuk menandai

titik awal dan titik akhir dari flowchart.

Simbol ini diberi label MULAI untuk

mmenandai titik awal dan label

SELESAI untuk menandai titik akhir

2.8. UML (Unified Modelling Language)

UML atau Unified Modelling language adalah sebuah bahasa visual yang

terdiri dari notasi, diagram, dan spesifikasi. UML juga adalah sebuah bahasa

pemodelan yang berarti tujuan utamanya bukan untuk di compile ataupun

merupakan hasil dari kode. UML telah menjadi mekanisme standar bagi pemodelan

sistem software dengan 14 diagram walaupun sangat jarang sekali suatu sistem

menggunakan semua 14 diagram sekaligus.(Unhelkar, 2018)

2.8.1. Use Case

Use case mendokumentasikan interaksi antara aktor dengan sebuah

sistem. Use case mendeskripsikan apa yang dikerjakan sebuah sistem,

bukan menjelaskan bagaimana sistem melakukannya.(Unhelkar, 2018)

Use case dapat didokumentasikan dalam bentuk format seperti pada

Tabel 2.5.

Tabel 2.5 Contoh Penulisan Use Case

Use Case Thumbnail <berisikan nomor dan nama dari

use case>

Aktor <berisikan aktor yang terlibat

dalam use case ini>

Page 43: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

27

UIN Syarif Hidayatullah Jakarta

Deskripsi <berisikan desktipsi singkat dari

use case. Desktripsi bisa berbentuk

satu kalimat atau paragraph dari

tujuan dan penggunaan use case>

Use case diagram memberikan rangkuman kebutuhan sistem secara

visual. Use case diagram meliputi aktor, use case, hubungan antar mereka,

dan catatan. (Unhelkar, 2018)

Use case diagram memiliki notasi sebagaimana pada Tabel 2.6.

Tabel 2.6 Notasi Use Case

Gambar Keterangan

Aktor, menyimbolkan pengguna,

orang, sebuah interface, sistem

lain, ataupun alat yang terlibat

dalam system.

Merepresentasikan use case.

Menghubungkan actor ke use case.

<<include>>

Digunakan ketika sebuah use case

akan digunakan ulang oleh bagian

sistem lain. Relasi use case

tambahan ke sebuah use case yang

ditambahkan memerlukan use case

ini untuk menjalankan fungsinya

atau sebagai syarat dijalankan use

case ini.

Page 44: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

28

UIN Syarif Hidayatullah Jakarta

<<extends>>

Digunakan apabila ada tambahan

fungsional untuk sebuah use case.

Bisa digunakan juga sebagai

representasi sebuah opsi.

Batasan sistem, memisahkan actor

dengan use case. Aktor berada

diluar batasan dan use case berada

di dalam batasan.

2.8.2. Activity Diagram

Activity diagram berfungsi untuk memodelkan alur ataupun proses

yang ada di dalam sistem. Oleh karena itu activity diagram mirip dengan

flowchart. Memodelkan alur dapat dilakukan sesuai dengan proses bisnis

ataupun use case, meskipun biasanya disesuaikan dengan use

case.(Unhelkar, 2018)

Menurut (Hendini, 2016), activity diagram menggambarkan

workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis.

Notasi yang digunakan dalam activity diagram dapat dilihat pada Tabel 2.7.

Tabel 2.7 Notasi Activity Diagram

Sumber : (Hendini, 2016)

Notasi Keterangan

Start Point, diletakkan pada

pojok kiri atas dan merupakan

awal aktivitas.

End Point, akhir aktivitas.

Page 45: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

29

UIN Syarif Hidayatullah Jakarta

Activities, menggambarkan

suatu proses/kegiatan bisnis.

Fork/percabangan, digunakan

untuk menunjukkan kegiatan

yang dilakukan secara paralel

atau untuk menggabungkan dua

kegiatan paralel menjadi satu.

Join (penggabungan) atau rake,

digunakan untuk menunjukkan

adanya dekomposisi.

Decision Points,

menggambarkan pilihan untuk

pengambilan keputusan, true

atau false.

Swimlane, pembagian activity

diagram untuk menunjukkan

siapa melakukan apa.

2.8.3. Class Diagram

Class diagram berfungsi untuk merepresentasikan definisi dan relasi

dari sebuah class ataupun entitas dari sebuah ruang masalah. Atribut dan

operasi didefinisikan dalam class diagram ini. Relasi dalam class diagram

Page 46: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

30

UIN Syarif Hidayatullah Jakarta

menggambarkan bagaimana class saling berinteraksi, berkolaborasi, dan

mewarisi class lain.(Unhelkar, 2018)

Class diagram menurut Unhelkar (2018) memiliki notasi-notasi

sebagaiamana pada Tabel 2.8.

Tabel 2.8 Notasi Class Diagram

Gambar Keterangan

Deskripsi class, mengandung

informasi atribut dan operasi

yang dimiliki class tersebut.

Inheritance, menunjukkan

bahwa suatu class mewarisi

atribut, operasi, dan relasi

suatu class yang lebih tinggi.

Asosiasi, relasi antar kelas

dengan makna suatu class

“menggunakan” class dalam

mencapai tujuan sistem.

Aggregasi, relasi antar kelas

dengan makna suatu class

“memiliki” class lain.

Catatan, digunakan untuk

memberikan catan atas class

diagram.

2.8.4. Sequence Diagram

Sequence Diagram memodelkan urutan pesan-pesan yang

memadukan objek-objek pada sistem secara detail, seperti parameter-

Page 47: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

31

UIN Syarif Hidayatullah Jakarta

parameter pada setiap pesan, dan nilai return dari setiap pesan. Sequence

diagram dibuat berasaskan garis waktu.(Unhelkar, 2018)

Adapun notasi-notasi yang digunakan dalam sequence diagram

dapat dilihat pada Tabel 2.9

Tabel 2.9 Notasi Sequence Diagram

Gambar Keterangan

Aktor, menyimbolkan

pengguna ataupun orang

yang terlibat dalam system.

Objek, simbol objek pada

system.

Timeline, Garis yang

terhubung dengan objek.

Kegiatan yang dilikaukan

objek dalam sistem akan

ditulis sepanjang timeline.

Pesan, simbol mengirim

pesan antar objek.

Pesan return.

Focus control,

menyimbolkan durasi

sebuah eksekusi perintah,

Objek

Page 48: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

32

UIN Syarif Hidayatullah Jakarta

semakin panjang maka

semakin lama durasi

kegiatan.

Pesan untuk diri sendiri.

Meniadakan sebuah objek.

2.9. Model Waterfall

Menurut Alshamrani & Abdullah (2015), Waterfall adalah model

SDLC(Software Development Life Cycle) tertua dan paling dikenal. Hal yang

membuat model ini spesial adalah tahapnya yang sekuensial. Tahapannya terus

menurun mulai dari requirement analysis, design, coding, testing, hingga

maintenance sebagaimana pada Gambar 2.8.

Gambar 2.8 Tahapan Model Waterfall

Sumber: (Dhami, 2016)

Page 49: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

33

UIN Syarif Hidayatullah Jakarta

2.9.1. Requirement Analysis

Requirement adalah deskripsi sistem yang akan dibuat. Biasanya

diperoleh dari klien, seperti spesifikasi software dan fitur-fitur yang

diinginkan. Singkatnya, requirement dikumpulkan lalu dianalisa untuk

proses pengembangan dari software.(Alshamrani & Abdullah, 2015)

2.9.2. Design

Informasi yang sudah dikumpulkan pada tahap sebelumnya

dievaluasi lalu merumuskan bagaimana implementasi akan dilakukan.

Tahap ini merupakan proses perencanaan dan pemecahan masalah yang

berhubungan dengan memilih algoritma yang tepat, arsitektur software,

skema database, diagram logika, dan struktur data.(Alshamrani &

Abdullah, 2015)

2.9.3. Coding

Pada tahap ini, semua requirement dikonversikan ke dalam bentuk

produksi.(Alshamrani & Abdullah, 2015)

2.9.4. Testing

Tahap ini berurusan dengan testing atau pengecekan software yang

telah dikembangkan apakah telah memenuhi requirement awal atau belum.

Pada tahap ini juga kegiatan menemukan lalu memperbaiki bug dan

kecacatan pada software.(Alshamrani & Abdullah, 2015)

2.9.5. Maintenance

Setelah deploy software sudah dilakukan, mungkin software

memerlukan modifikasi, peningkatan, dan perbaikan error. Maka dari itu

ada tahap ini yang mencakup itu semua.(Alshamrani & Abdullah, 2015)

Menurut Kumar (2018), Model pengembangan waterfall memiliki

keunggulan sebagai berikut:

User Friendly.

Mudah untuk diterapkan.

Page 50: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

34

UIN Syarif Hidayatullah Jakarta

Tahapannya tidak overlapping.

Cocok apabila requirement yang jelas.

Cocok apabila teknologi sudah dimengerti.

Cocok apabila sumber daya ahli mudah didapatkan.

Cocok untuk projek kecil dan berskala pendek.

2.10. Metode Pengumpulan Data

Data penelitian dapat berupa teks, foto, angka, cerita, garnbar, artifacts. Data

dikumpulkan bilamana arah dan tujuan penelitian sudah jelas dan juga bila sumber

data yaitu informan atau partisipan sudah diintifikasi, dihubungi serta sudah

mendapatkan persetujuan atas keinginan rnereka untuk mernberikan informasi yang

dibutuhkan.(Semiawan, 2010)

Siapa saja yang dimaksud dengan partisipan? Pertama, partisipan adalah

rnereka yang tentunya rnerniliki inforrnasi yang dibutuhkan. Kedua, rnereka yang

rnerniliki kernarnpuan untuk menceritakan pengalamannya atau mernberikan

inforrnasi yang dibutuhkan. Ketiga, yang benar-benar terlibat dengan gejala,

peristiwa, rnasalah itu, dalarn arti rnereka mengalaminya secara langsung.

Keernpat, bersedia untuk ikut serta diwawancarai. Kelirna, mereka harus tidak

berada dibawah tekanan, tetapi penuh kerelaan dan kesadaran akan keterlibatannya.

Jadi syarat utamanya yaitu kredibel dan kaya akan informasi yang

dibutuhkan.(Semiawan, 2010)

2.10.1. Wawancara

Wawancara merupakan suatu kegiatan tanya jawab dengan tatap

muka (face to face) antara pewawancara dan yang diwawancarai tentang

masalah yang diteliti, dimana pewawancara bermaksud memperoleh

persepsi, sikap, dan pola pikir dari yang diwawancarai yang relevan dengan

maslah yang diteliti. (Gunawan, 2013)

Wawancara dibagi menjadi dua, yaitu wawancara untuk

memperoleh informasi yang dilakukan terhadap informan dan wawancara

Page 51: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

35

UIN Syarif Hidayatullah Jakarta

yang dimaksudkan untuk memperoleh keterangan pribadi, sikap, pendirian,

dan pandangan individu yang diwawancarai yang disebut

responden.(Gunawan, 2013)

Wawancara terhadap informan tekanannya adalah pemilihan sasaran

yang benar-benar ahli terhadap pokok wawancara. Sementara itu, responden

lebih berhubungan dengan penyusunan sampel yang

representatif.(Gunawan, 2013)

Menurut (A.S & Shalahuddin, 2014), Teknik wawancara

mempunyai beberapa keuntungan sebagai berikut:

Lebih mudah dalam menggali bagian sistem mana yang dinggap

baik dan bagian mana yang dianggap kurang baik.

Jika ada bagian yang menurut anda perlu untuk digali lebih

dalam, anda dapat langsung menanyakan kepada narasumber

Dapat menggali kebutuhan user lebih bebas

User dapat mengungkapkan kebutuhannya secara lebih bebas.

2.10.2. Kuesioner

Kuesioner merupakan lembaian yang berisi beberapa pertanyaan

denlan struktur yang baku.(Prtyono, 2016)

2.10.3. Sampling

Sampel sering juga disebut sebagai “contoh,” yaitu himpunan

bagian (subset) dari suatu populasi. Sebagai bagian dari populasi, sampel

memberikan gambaran yang benar tentang populasi. Pengambilan sampel

dari suatu populasi disebut penarikan sampel atau sampling. (Gulo, 2002)

Salah satu teknik penarikan sampel adalah teknik purposive. Teknik

purposive disebut juga judgemental sampling yang digunakan dengan

menentukan kriteria khusus terhadap sampel. Misalnya, jika kita ingin

mengetahui bagaimana sebaiknya membuat iklan yang baik, tentu saja harus

Page 52: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

36

UIN Syarif Hidayatullah Jakarta

memilih mereka yang memahami atau berasal dari orang-orang perilkanan

atau mereka yang bergerak di bidang pemasaran.(Prtyono, 2016)

Rosecoe memberikan saran jumlah sampel penelitian bahwa ukuran

sampel yang layak dalam penelitian adalah antar 30 sampai 500 (Martono,

2014). Sedangkan menurut Semiawan (2010), patokan umum untuk sampel

jumlahnya kecil karena dsengan jumlah kecil peneliti akan mampu

mengumpulkan data yang mendalam. Jumlahnya bisa bervariasi dari satu

hingga 40. Tetapi karena penekannya pada informasi yang rinci dan kaya,

maka jumlah yang besar akan menjadi masalah karena akan terjadi

pengulangan informasi.

2.11. TarsosDSP Library

TarsosDSP adalah sebuah library java untuk memroses audio. Library ini

memiliki tujuan untuk memberikan kemudahan bagi praktek algoritma music

processing untuk diimplementasikan dalam java murni tanpa depedensi eksternal.

Awalnya TarsosDSP memang dibuat sebagai library yang melakukan deteksi nada.

Terdapat 4 metode dalam deteksi nada, YIN, MPM, AMDF, dan dynamic

wavelet.(Six, 2015)

2.12. Black Box Testing

Black box testing (bisa disebut juga behavioural testing), fokus terhadap

kebutuhan fungsional dari software. Dengan menggunakan teknik black box testing

maka dapat melakukan berbagai kondisi input untuk melihat kinerja fungsional

program. Pengujian black box berfungsi untuk menguji poin-poin

berikut.(Pressman, 2011)

Fungsi yang salah atau hilang.

Kesalahan interface.

Kesalahan struktur data.

Kesalahan akses eksternal terhadap database.

Kesalahan pada tingkat performa.

Kesalahan pada inisiasi dan terminasi.

Page 53: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

37

BAB 3

3. METODE PENELITIAN

Pada bab ini dijelaskan mengenai metode pengumpulan, data metode

pengembangan sistem, dan gambaran kerangka berpikir penulis yang digunakan

pada penelitian ini.

3.1. Metode Pengumpulan Data

Dalam proses penulisan penelitian ini, metode pengumpulan data yang

digunakan yaitu studi pustaka wawancara ahli.

3.1.1. Studi Pustaka

Pada tahapan studi pustaka peneliti mencari referensi yang

berhubungan dengan objek penelitian berupa buku dan jurnal. Referensi-

referensi tersebut peneliti peroleh dari perpustakaan dan internet. Informasi

yang didapatkan dari studi pustaka penulis gunakan sebagai landasan teori

dan pengembangan penelitian ini.

Penelitian ini menggunakan 35 studi pustaka, yaitu 20 buku, 14

jurnal, dan 2 website.

3.1.2. Wawancara Ahli

Penulis melakukan wawancara dengan salah satu pelatih vokal di

tempat les Purwacaraka untuk memperoleh data-data dan informasi seperti

vokal secara teori dan metode yang digunakan saat ini untuk transpose lagu.

Wawancara telah dilakukan pada:

Tanggal : 15 April 2019

Durasi : 30 Menit

Tempat : Jl. Bangbarung Raya No.8, Bantarjati, Bogor Utara,

Kota Bogor, Jawa Barat 16153

Page 54: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

38

UIN Syarif Hidayatullah Jakarta

Narasumber : Fitri Intendia, bersertifikat internasional untuk

pelatih vokal genre pop dari Trinity College dan sudah pada grade 8

DipABRSM.

Dan wawancara kedua dilakukan pada :

Tanggal : 22 Agustus 2019

Durasi : 50 Menit

Tempat : Jalan Raya Semplak No. 120, Cilendek Barat,

Bogor Barat, Kota Bogor, Jawa Barat 16114

Narasumber : Delly Trianggana, Pelatih vokal Purwacaraka

berpengalaman mengajar selama 6 tahun dan bersertifikat dalam mengikuti

lomba di Trimini International Choral Competition 2009, Swiss Choral

Festival, Irlandia Choral Festival, Praha Cantat 2015.

Hasil wawancara dapat dilihat pada bagian lampiran.

3.1.3. Kuesioner

Untuk mengetahui kegiatan transpose yang saat ini dilakukan oleh

penyanyi pemula dan untuk mengetahui kebutuhan penyanyi pemula akan

aplikasi, peneliti menggunakan teknik penarikan sampel purposive dengan

menyebarkan kuesioner kepada penyanyi pemula.

Peneliti menggunakan sampel sebanyak 40 orang penyanyi pemula

dengan pertimbangan jumlah sampel 40 ini sudah dapat diterima

berdasarkan Martono (2014) dan Semiawan (2010).

3.1.4. Studi Literatur

Penelitian ini didasari oleh penelitian terdahulu. Rincian dapat

dilihat pada Tabel 3.1.

Page 55: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

39

UIN Syarif Hidayatullah Jakarta

Tabel 3.1 Studi Literatur

Judul Penulis Keterangan

Sistem Rekomendasi

Lagu Berdasarkan Jenis

Suara Penyanyi Pada

Aplikasi Karaoke

Ahmadiyah (2017) Telah berhasil melakukan deteksi

vocal range dengan tingkat

akurasi 70% menggunakan

algoritma FFT

Dapat merekomendasikan lagu

sesuai dengan vocal range

pengguna

Aransemen Nada Alto,

Tenor, dan Bass

Menggunakan Algoritma

Genetika

Setiawan (2018) Telah berhasil melakukan

pencarian optimal terhadap

desain aransemen suara

menggunakan algoritma genetika

Menerapkan sebuah algoritma

pencarian optimasi dalam bidang

nada musik

Aplikasi Latih Vokal

dengan Menggunakan

Metode Harmonic

Product Spectrum dan

Boyer Moore berbasis

Android

(Egisthi, Andreswari,

& Setiawan, 2016)

Membuat aplikasi latihan vokal

aplikasi akan merekam setiap

nada yang diucapkan

berdasarkan nada yang

diberikan, Kemudian aplikasi

akan memberitahu apakah nada

yang diucapkan benar atau salah.

Menggunakan TarsosDSP

FFT_YIN dalam melakukan

pendeteksian nada.

Page 56: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

40

UIN Syarif Hidayatullah Jakarta

Implementasi Algoritma

Genetika Pada

Perancangan Aplikasi

Android Untuk

Memprediksi Buta

Warna

(Ridha & Harafani,

2019)

Menerapkan algoritma genetika

pada aplikasi android dengan

hasil algoritma berhasil

memprediksi buta warna lebih

optimal.

Aplikasi rekomendasi

Transpose Lagu

Berdasarkan Vocal

Range Menggunakan

Algoritma Genetika

Berbasis Android

(penelitian ini)

Faisal Rifqi Melakukan deteksi vocal range

menggunakan TarsosDSP

FFT_YIN.

Agar nada dapat dihitung

matematis, perlu pemetaan nada.

Menggunakan algoritma

genetika untuk mencari nada

transpose optimal.

Menggunakan sistem operasi

android, Pada penellitian ini

menggunakan Lenovo Moto E3

Power sebagai perangkat

android.

Dengan mempelajari penelitian terdahulu, penulis berkesimpulan

bahwa sudah dapat dibangun sebuah aplikasi yang bisa menjadi alternatif

untuk transpose daripada menggunakan metode menerka-nerka. Berikut

poin-poin yang dimiliki oleh penelitian ini.

Penelitian ini memberikan rekomendasi transpose lagu sehingga penyanyi

dapat menyanyikan lagu yang ingin dinyanyikan dengan nyaman, berbeda

dengan penelitian Ahmadiyah (2017) yang merekomendasi lagu yang cocok

dengan suara penyanyi tapi belum tentu penyanyi tersebut ingin

Page 57: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

41

UIN Syarif Hidayatullah Jakarta

menyanyikannya. Penelitian ini menggunakan parameter parameter 8

individu untuk 1 generasi, 6 gen untuk 1 kromosom, syarat berhenti 20

perulangan, seleksi secara elitis 2 pasangan parent, crossover 1 titik dengan

probabilitas 0,8, mutasi tingkat gen dengan probabilitas mutasi sebesar

0,167, dan regenerasi steady-state berbeda dengan penelitian Setiawan

(2018) yang menggunakan parameter syarat berhenti 100 iterasi, crossover

1 titik dengan probabilitas 0,2, mutasi dengan probabilitas 0,1.

Penelitian ini menggunakan 64 nada, tangga nada kromatik.

Menggunakan algoritma genetika untuk mencari titik optimal bernyanyi

pengguna, karena pada penelitian Setiawan (2018) algoritma genetika telah

berhasil untuk mencari aransemen nada dan telah terbukti algoritma

genetika dapat diterapkan pada android 6.0 Marshmallow sebagaimana

penelitian Ridha & Harafani (2019).

Melakukan pendeteksian vocal range pengguna menggunakan library

TarsosDSP FFT_YIN sesuai dengan penelitian Ahmadiyah (2017) yang

menggunakan algoritma FFT dan penelitian Egisthi (2016) yang

menggunakan libray TarsosDSP FFT_YIN.

3.2. Metode Pengembangan Sistem

Dalam pengembangan aplikasi rekomendasi transpose lagu ini, penulis

menerapkan model waterfall. Penulis menilai model waterfall cocok pada

penelitian ini karena keunggulan yang dimiliki model waterfall sebagaimana yang

sudah dijelaskan sebelumnya. Model ini juga termasuk model yang mudah untuk

diterapkan sehingga mempermudah penulis untuk mengembangkan aplikasinya.

Penulis menilai penelitian ini memiliki requirement yang sudah jelas, merupakan

projek kecil, dan menggunakan teknologi yang sudah dimengerti yaitu berbasis

android.

Model waterfall ini memiliki 5 tahapan yaitu requirement analysis, design,

coding, testing, dan maintenance. Tahapan-tahapan tersebut pada penelitian ini

memiliki rincian sebagai berikut.

Page 58: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

42

UIN Syarif Hidayatullah Jakarta

3.2.1. Requirement Analysis

Tahap ini adalah tahap dimana penulis mengumpulkan semua

kebutuhan yang diperlukan untuk penelitian ini. Kebutuhan-kebutuhan

tersebut adalah sebagai berikut:

a. Penulis merumuskan masalah yang diangkat pada penelitian

ini dan mencari data-data valid melalui studi pustaka,

melakukan wawancara ahli, dan kuesioner.

b. Penulis mempelajari metode sistem yang sedang berjalan

secara nyata saat ini agar penulis dapat merumuskan solusi

yang lebih baik.

c. Penulis mencari dan mempelajari algoritma apa saja yang

sekiranya dapat dan tepat untuk diterapkan pada penelitian

ini.

d. Penulis mencari data-data yang diperlukan untuk penelitian

ini melalui studi pustaka dan melakukan wawancara ahli.

3.2.2. Design

Pada tahap ini dilakukann proses perancangan pemecahan masalah,

perancangan flowchart, use case diagram, activity diagram sequence

diagram, class diagram, desain database, dan desain user interface dari

aplikasi yang dikembangkan.

3.2.3. Coding

Tahap ini merupakan implementasi dari semua rancangan aplikasi

yang sudah dibuat. Penulis mengembangkan aplikasi sesuai flowchart,

desain database, dan user interface yang sudah dibuat berbasis android dan

menggunakan SQLite sebagai database dalam apllikasi yang akan dibuat.

3.2.4. Testing

Pada tahap ini penulis/peneliti melakukan pengecekan terkait

apakah aplikasi sudah bekerja sesuai dengan kebutuhan, termasuk

pengecekan terhadap ada tidaknya bug ketika menjalankan aplikasi.

Page 59: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

43

UIN Syarif Hidayatullah Jakarta

Tindakan selanjutnya, penulis melakukan perbaikan dan penyesuaian

hingga aplikasi dapat bekerja sesuai dengan kebutuhan dan terbebas dari

bug.

3.2.5. Maintenance

Pada skripsi ini tidak dilakukan tahap maintenance.

Page 60: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

44

UIN Syarif Hidayatullah Jakarta

3.3. Kerangka Berpikir

Gambar 3.1 Kerangka Berpikir

Page 61: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

45

BAB 4

4. PENGEMBANGAN SISTEM

Pada bab ini akan dijelaskan implementasi sesuai tahapan-tahapan metode

pengembangan sistem yang digunakan.

4.1. Requirement Analysis

Berikut di bawah ini adalah rincian lengkap dari tahapan requirement

analysis yang dilakukan penulis pada penelitian ini.

4.1.1. Identifikasi Masalah

Identifikasi masalah dilakukan oleh penulis berkaitan dengan hobi

penulis di bidang musik. Dalam bermusik terdapat istilah transpose lagu

yang diketahui setelah melakukan wawancara ahli bahwa metode transpose

lagu bagi pemula yang ada saat ini adalah menerka-nerka.

Menerka-nerka dalam transpose lagu dilakukan dengan cara

mencoba nada satu per satu hingga dirasa cocok dengan suara penyanyi.

Namun dengan melakukan demikian maka bisa dikatakan bahwa

metodenya tidak efektif dan hasil belum tentu benar-benar optimal bagi si

penyanyi.

Gambar 4.1 Ilustrasi Metode Transpose Saat Ini

Page 62: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

46

UIN Syarif Hidayatullah Jakarta

Oleh karena itu, penulis merumuskan masalah untuk menciptakan

sebuah allternatif solusi dengan membuat suatu aplikasi matematis yang

mampu menghasilkan transpose lagu. Sehingga solusi yang dihasilkan

dapat merekomendasi optimal bagi penyanyi tanpa harus melakukan proses

menerka-nerka.

4.1.2. Analisa Kebutuhan Sistem

Setelah kita melakukan identifikasi masalah, maka kita analisa

kebutuhan sistem solusi yang diusulkan. Sistem yang diusulkan oleh penulis

adalah menggunakan sebuah aplikasi dalam menentukan transpose lagu

seperti pada Gambar 4.2.

Gambar 4.2 Ilustrasi Sistem Usulan

Masalah yang perlu diselesaikan adalah bagaimana membuat solusi

alternatif transpose lagu yang lebih matematis dan optimal. Berbicara soal

transpose lagu, berarti membicarakan vocal range dan range nada lagu.

Aplikasi membutuhkan data vocal range penyanyi dan range nada lagu

yang ingin dinyanyikan. Proses transpose itu sendiri adalah mencocokkan

vocal range dan range nada lagu tersebut, dengan kata lain adalah mencari

titik optimal bernyanyi seseorang untuk sebuah lagu.

Sebuah aplikasi tentulah memiliki algoritma dalam prosesnya,

sebagaimana yang kita tahu algoritma adalah sebuah alur pemikiran untuk

Page 63: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

47

UIN Syarif Hidayatullah Jakarta

memecahkan masalah. Dalam kasus ini, aplikasi membutuhkan algoritma

optimasi. Salah satu algoritma optimasi yang diketahui adalah algoritma

genetika. Algoritma genetika penulis anggap layak untuk masalah ini karena

algoritma genetika dapat memperoleh solusi yang memenuhi syarat dari

kombinasi yang ada, tanpa harus mencoba keseluruhan kemungkinan solusi.

Algortima genetika juga sudah terbukti dapat mencari nada optimal untuk

kasus musik sebagaimana yang telah dilakukan oleh Setiawan, Swastika,

Leona, & Kelana, (2018) dalam penelitiannya yang berjudul “Aransemen

Nada Alto, Tenor, dan Bass Menggunakan Algoritma Genetika”.

Aplikasi ini juga berurusan dengan vocal range seperti yang

disebutkan sebelumnya. Maka dari itu pada penelitian ini penulis

menggunakan library TarsosDSP FFT_YIN karena sanggup untuk

mengolah sinyal suara secara cepat dan real-time sebagaimana pada

penelitian “Aplikasi Latih Vokal Dengan Menggunakan Metode Harmonic

Product Spectrum (HPS) dan Boyer Moore Berbasis Android” karya

Egisthi, Andreswari, & Setiawan (2016). Hasil deteksi nada oleh

TarsosDSP ini yang kemudian disimpan sebagai vocal range.

Jadi, pada penelitian ini menggunakan algoritma genetika sebagai

solusi utama yaitu mencari titik optimal bernyanyi seseorang untuk sebuah

lagu tertentu dan menggunakan library TarsosDSP untuk mendeteksi vocal

range.

Data yang diperlukan pada aplikasi ini sebagaimana yang sudah

disebutkan sebelumnya, diantaranya sebagai berikut:

Data vocal range penyanyi dan range nada lagu yang ingin

dinyanyikan. Sebagaimana transpose merupakan

menyesuaikan nada lagu dengan vocal range penyanyi.

Untuk memperoleh vocal range pengguna, aplikasi perlu

melakukan deteksi vocal range menggunakan TarsosDSP.

Page 64: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

48

UIN Syarif Hidayatullah Jakarta

Data dari lagu yang ingin dinyanyikan seperti judul lagu,

nama penyanyi, range nada lagu, dan nada dasar asli dari

lagu.

Agar nada dapat dihitung matematis, perlu pemetaan nada.

Aplikasi membutuhkan algoritma optimasi dalam mencari

titik optimal vocal range untuk transpose. Aplikasi

menggunakan algoritma genetika untuk optimasi.

Aplikasi ini menggunakan sistem operasi android, Pada

penellitian ini menggunakan Lenovo Moto E3 Power sebagai

perangkat android.

4.2. Design

Di bawah ini penulis merincikan dengan lengkap perancangan-perancangan

yang dilakukan pada tahap penelitian ini, yaitu flowchart, desain algoritma, use

case, activity digram, sequence diagram, class diagram, struktur database, dan

user interface.

4.2.1. Desain Algoritma

Penulis merancang sebuah aplikasi sebagai solusi sebagaimana yang

dapat dilihat alurnya pada Gambar 4.3.

Page 65: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

49

UIN Syarif Hidayatullah Jakarta

Gambar 4.3 Flowchart Aplikasi Solusi

Aplikasi yang dirumuskan memiliki dua tahap utama yaitu deteksi

vocal range dan algoritma genetika. Namun sebelumnya perlu dilakukan

pemetaan agar nada dapat dihitung secara sistematis.

4.2.1.1. Pemetaan Nada

Hasil tahap requirement analysis menunjukkan perlunya

pemetaan nada agar nada dapat dihitung secara matematis oleh

aplikasi.

Agar pemetaan nada tidak terlalu luas maupun terlalu sempit

penulis mengerucutkan menjadi 64 nada dimulai dari G#1-B6.

Penulis merasa cukup dengan 64 nada ini karena berdasarkan

Page 66: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

50

UIN Syarif Hidayatullah Jakarta

wawancara ahli, rata-rata vocal range yang dimiliki manusia adalah

D2-G5. Jumlah 64 ini dipilih juga agar saat proses algoritma genetika

sehingga gen individu yang bernilai biner dapat menggunakan basis

64-bit.

Ketika manusia menyanyikan nada tertentu, frekuensi yang

dihasilkan tidak selalu tepat sesuai pemetaan frekuensi nada pada

Tabel 2.1. Maka dari itu diperlukannya menghitung rentang

frekuensi untuk satu nada.

Banyak literatur musik menggunakan cents untuk mengukur

interval nada. Dalam tangga nada kromatis terdapat 1200 cents

untuk setiap nadanya(Paret & Sibony, 2017). Dimana berarti setiap

nadanya memiliki interval sebesar 100 cents(Pilhofer & Day, 2015).

Untuk itu penulis membagi 2 interval antar nada tersebut yang

berarti setiap nada memiliki rentang 50 cents.

Adapun rumus menghitung cents menurut Paret & Sibony

(2017) sebagai berikut:

C = 1200 x 2log(𝐹2

𝐹1) (RUMUS 1)

Keterangan:

C =Cents (jarak nada)

F2 = Frekuensi Kedua (Hz)

F1 = Frekuensi Pertama (Hz)

Contoh:

Jika ada frekuensi sebesar 100 Hz dan 150 Hz, berapa besar jarak

antar kedua nada tersebut?

Jawab:

Page 67: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

51

UIN Syarif Hidayatullah Jakarta

F2 = 150 Hz

F1 = 100 Hz

C = 1200 x 2log(150

100)

C = 1200 x 0.58496250072

C = 701.9550008653874

Jarak kedua nada tersebut adalah 701.9550008653874 cents.

Dengan menggunakan RUMUS 1 di atas, penulis dapat

memetakan rentang frekuensi untuk satu nadanya menggunakan

interval 50 cents. Berikut contoh cara menghitung ketika kita ingin

mencari rentang frekuensi untuk nada A1.

Diketahui:

Frekuensi A1= 55 Hz

Rentang nada = 50 cents

Batas atas = ?

Batas bawah = ?

Maka:

50 = 1200 x 2log(𝐵𝑎𝑡𝑎𝑠 𝑎𝑡𝑎𝑠

55)

50= 1200 x (2log(Batas atas) - 2log(55))

50

1200= 2log(Batas atas) - 2log(55)

50

1200 + 2log(55) = 2log(Batas atas)

Batas atas = 250

1200 +2 log(55)

Page 68: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

52

UIN Syarif Hidayatullah Jakarta

Batas atas = 20.04166666666 + 5.78135971352

Batas atas = 25.82302638019

Batas atas = 56.6116230153 Hz

Batas bawah = 2−50

1200 +2 log(55)

Batas bawah = 2−0.04166666666 + 5.78135971352

Batas bawah = 25.73969304686

Batas bawah = 53.4342567635

Jadi, nada A1 memiliki rentang nada dari 53.4342567635 Hz

sampai dengan 56.6116230153 Hz. Hal ini terus dilakukan hingga

mendapat tabel pemetaan nada sebagaimana pada Tabel 4.1.

Tabel 4.1 Pemetaan Frekuensi Nada

Pemetaan frekuensi ini digunakan untuk deteksi vocal range

penyanyi (pengguna aplikasi), selain itu penulis memetakan juga 64

Oktaf

1 2 3 4 5 6

Nada

C - 63,54-67,32 127,02-134,64 254,17-269,28 508,35-538,57 1016,70-1077,15

C# - 67,32-71,32 134,64-142,65 269,28-285,30 538,57-570,60 1077,15-1141,2

D - 71,32-75,56 142,65-151,13 285,30-302,26 570,60-604,53 1141,2-1209,06

D# - 75,56-80,06 151,13-160,12 302,26-320,24 604,53-640,48 1209,06-1280,96

E - 80,06-84,82 160,12-169,64 320,24-339,28 640,48-678,56 1280,96-1357,13

F - 84,82-89,86 169,64-179,72 339,28-359,45 678,56-718,91 1357,13-1437,83

F# - 89,86-95,20 179,72-190,41 359,45-380,83 718,91-761,66 1437,83-1523,33

G - 95,20-100,86 190,41-201,73 380,83-403,47 761,66-806,95 1523,33-1613,91

G# 50,43-53,43 100,86-106,86 201,73-213,73 403,47-427,47 806,95-854,94 1613,91-1709,88

A 53,43-56,61 106,86-113,22 213,73-226,44 427,47-452,88 854,94-905,77 1709,88-1811,55

A# 56,61-59,97 113,22-199,95 226,44-239,90 452,88-479,81 905,77-959,63 1811,55-1919,27

B 59,97-63,54 199,95-127,08 239,90-254,17 479,81-508,35 959,63-1016,70 1919,27-2033,40

Page 69: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

53

UIN Syarif Hidayatullah Jakarta

nada tersebut menjadi nilai angka yang berfungsi sebagai

representasi nada itu sendiri. Misalkan nada A1, maka penulis

merepresentasikannya sebagai angka 1. Representasi nada dalam

bentuk angka ini digunakan dalam algoritma perhitungan mencari

nilai optimal. Semakin tinggi nada maka semakin besar representasi

angka. Pemetaan represanntasi angka bisa dilihat pada Tabel 4.2

Tabel 4.2 Representasi Angka Nada

Nada Representasi

Angka Nada

Representasi

Angka Nada

Representasi

Angka

G#1 0 A#3 26 C6 52

A1 1 B3 27 C#6 53

A#1 2 C4 28 D6 54

B1 3 C#4 29 D#6 55

C2 4 D4 30 E6 56

C#2 5 D#4 31 F6 57

D2 6 E4 32 F#6 58

D#2 7 F4 33 G6 59

E2 8 F#4 34 G#6 60

F2 9 G4 35 A6 61

F#2 10 G#4 36 A#6 62

G2 11 A4 37 B6 63

G#2 12 A#4 38

A2 13 B4 39

A#2 14 C5 40

B2 15 C#5 41

C3 16 D5 42

C#3 17 D#5 43

D3 18 E5 44

D#3 19 F5 45

E3 20 F#5 46

F3 21 G5 47

F#3 22 G#5 48

G3 23 A5 49

G#3 24 A#5 50

A3 25 B5 51

4.2.1.2. Deteksi Vocal Range

Deteksi nada dilakukan untuk mendapatkan data vocal range

penyanyi (pengguna aplikasi) dengan menggunakan TarsosDSP

library untuk mendeteksi frekuensi yang masuk.

Page 70: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

54

UIN Syarif Hidayatullah Jakarta

Untuk memperoleh data vocal range pengguna, pengguna

diminta untuk menyanyikan nada terendah dan nada tertinggi yang

pengguna sanggup. Ketika pengguna menyanyikan nada terendah,

aplikasi menggunakan TarsosDSP mendeteksi frekuensi nada secara

real-time dan dikonversi nilai frekuensi tersebut menjadi nada sesuai

dengan pemetaan pada Tabel 4.1. Begitu juga ketika penyanyi

menyanyikan nada tertingginya, lalu kedua nada itu disimpan oleh

aplikasi yang berarti aplikasi sudah mendapatkan data vocal range

dari pengguna.

Dilanjutkan dengan tahapan pengguna memilih lagu yang

ingin dinyanyikan. Ketika pengguna memilih lagu yang ingin

dinyanyikan maka aplikasi akan mengambil data judul-penyanyi

untuk informasi lagu, nada asli lagu yang menunjukkan di kunci

mana lagu tersebut dimainkan, nada terendah pada lagu, dan range

nada lagu yang menunjukkan seberapa besar rentang nada pada lagu

tersebut dari database.

4.2.1.3. Algoritma Genetika

Algoritma genetika secara umum memiliki urutan langkah

dengan alur yang telah digambarkan pada Gambar 2.1. Untuk

aplikasi ini penulis merumuskan urutan langkah algoritma menjadi

seperti Gambar 4.4.

Page 71: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

55

UIN Syarif Hidayatullah Jakarta

Gambar 4.4 Flowchart Algoritma Genetika Solusi

Algoritma genetika memiliki komponen dan langkah yang

membentuk algoritma genetika itu sendiri berupa skema

pengkodean, membangkitkan generasi pertama, perhitungan fungsi

obyektif, perhitungan nilai fitness, seleksi, crossover, mutasi,

regenerasi, dan syarat berhenti. Berikut penjelasan dari setiap

komponen da langkah.

a. Skema Pengkodean

Pada aplikasi ini skema pengkodean yang digunakan

adalah skema pengkodean biner karena jumlah nilai

yang akan direpresentasikan adalah merupakan

pangkat dua yaitu pemetaan nada yang berjumlah 64

Page 72: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

56

UIN Syarif Hidayatullah Jakarta

nada(25). Untuk dapat merepresentasikan 64 angka,

maka diperlukan sebanyak 6 gen bernilai biner agar

rangkaian biner yang terbentuk adalah basis 64

sebagaimana yang dapat dilihat pada Tabel 4.3.

Tabel 4.3 Ilustrasi Kromosom

Gen

1

Gen

2

Gen

3

Gen

4

Gen

5

Gen

6

Nilai

Kromosom

Nilai

Desimal

Kromosom

Solusi

Yang

Ditawarkan

0 0 0 0 1 0 000010 2 A#1

Untuk dapat diproses menggunakan algoritma genetika

suatu permasalahan harus dikonversi dulu ke dalam

bentuk suatu kromosom. Kromosom ini adalah

kandidat-kandidat solusi yang ada di dalam populasi

yang merupakan representasi angka dari nada-nada

sesuai Tabel 4.2.

Misalkan suatu kromosom bernilai seperti pada Tabel

4.3, maka didapatkan informasi bahwa kromosom

tersebut bernilai biner 000010, secara desimal

kromosom tersebut bernilai 2 yangmana jika lihat

Tabel 4.2 angka 2 merepresentasikan nada A#1. Berarti

kromosom pada Tabel 4.3 menawarkan solusi nada

A#1.

b. Bangkitkan generasi pertama

Pada aplikasi ini diinisiasikan jumlah populasi dalam

satu generasi adalah 8 kromosom, dimana satu

kromosom memiliki 6 gen seperti pada Tabel 4.3.

Generasi pertama ini dibangkitkan dengan cara

mengacak setiap gen dengan angka 0 atau 1 untuk

setiap kromosom sehingga rangkaian gen dalam satu

Page 73: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

57

UIN Syarif Hidayatullah Jakarta

kromosom bernilai rangkaian biner seperti contoh pada

Tabel 4.4.

Tabel 4.4 Contoh Pembangkitan Generasi Pertama

Kromosom

ke-

Hasil Acak Nilai

Kromosom

Nilai

Desimal

Kromosom

Solusi

Yang

Ditawarkan

Gen

1

Gen

2

Gen

3

Gen

4

Gen

5

Gen

6

1 0 0 1 1 0 0 001100 12 (G#2)

2 0 1 0 1 0 1 010101 21 (F3)

3 0 0 1 1 1 0 001110 14 (A#2)

4 0 1 0 0 1 0 010010 18 (D3)

5 0 0 0 1 1 0 000110 6 (D2)

6 0 1 0 0 0 1 010001 17 (C#3)

7 0 0 1 0 0 1 001001 9 (F2)

8 0 0 1 0 1 0 001010 10 (F#2)

Sebagaimana yang dapat dilihat pada Tabel 4.4, pada

kromosom pertama aplikasi mengacak nilai gen 1

kromosom 1 dan didapatkan nilai 0, lalu dilanjutkan

pada setiap gen 2, gen 3, sampai gen 6 dan gen-gen

tersebut dirangkai menjadi rangkaian biner yang

merupakan nilai kromosom yaitu 001100. Hal ini

dilanjutkan sampai terbentuk 1 generasi yaitu 8

kromosom.

c. Hitung nilai fungsi obyektif

Fungsi obyektif adalah fungsi yang dicari optimasinya.

Pada kasus ini fungsi obyektifnya adalah fungsi yang

dibuat berdasarkan tujuan utama untuk mencari titik

optimum vocal range penyanyi. Fungsi obyektifnya

dirumuskan sebagai berikut.

Page 74: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

58

UIN Syarif Hidayatullah Jakarta

(𝑅𝑏 − 𝑅𝑝) ∗ (𝑇𝑝 − 𝑇𝑏) (RUMUS 2)

Keterangan:

Rp = nada terendah penyanyi

Tp = nada tertinggi penyanyi

Jl = range nada lagu

Rb = nada terendah rekomendasi

Tb = nada tertinggi rekomendasi (Rb+Jl)

Data hasil deteksi vocal range memberikan data

kemampuan nada terendah penyanyi (Rp) dan nada

tertinggi penyanyi (Tp). Lalu ada data range nada lagu

(Jl) dari database yang menjadi pembatas untuk nada

terendah rekomendasi (Rb) dan nada tertinggi

rekomendasi (Tb).

Perlu dipahami bahwa nilai optimal berada di tengah-

tengah vocal range sehingga lebih besar (Rb) dari (Rp)

dan lebih kecil (Tb) dari (Tp) akan lebih baik karena

akan mendekati titik tengah. Ahli dan penulis

berdiskusi fungsi obyektif sehingga dirumuskan

sebagai RUMUS 2. Semakin besar hasil RUMUS 2

berarti semakin baik nilai solusi yang ditawarkan.

Cara menghitungnya adalah dengan memasukkan nilai

decimal solusi yang ditawarkan dari kromosom sebagai

Rb yang dengan otomoatis akan mendapatkan nilai Tb

juga karena Tb bernilai Rb+Jl. Perhitungan nilai fungsi

obyektif ini dilakukan terhadap setiap kromosom pada

1 generasi. Untuk contoh perhitungan bisa lihat pada

subbab 4.3.5.

Page 75: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

59

UIN Syarif Hidayatullah Jakarta

d. Hitung nilai fitness

Nilai fitness adalah nilai yang menyatakan seberapa

baik nilai dari suatu kromosom untuk dijadikan solusi,

semakin besar nilai fitness lebih baik.

Nilai funsgi obyektif sudah didapatkan namun masih

dapat bernilai dalam rentang yang sangat besar, agar

mempermudah melihat tingkat fitness, penulis

memetakan nilai fitness dalam rentang nilai 0 sampai

1. Maka dari itu diperlukan nilai minimal dan nilai

maksimal dari RUMUS 2 untuk menghitung

pemetaanya dengan rumus berikut:

𝑓 =F − Nmin

(Nmax − Nmin) + 1

(RUMUS 3)

Keterangan:

Nmax=Nilai Maksimum Fungsi Obyektif

Nmin=Nilai Minimum Fungsi Obyektif

F= Hasil Fungsi Obyektif

f= Nilai fitness

Perhitungan nilai fitness ini dilaukan pada setiap

kromosom pada satu generasi setelah dihitung nilai

fungsi obektifnya. Untuk contoh bisa lihat pada subbab

4.3.5.

e. Seleksi

Seleksi adalah proses memilih kromosom-kromosom

yang akan di-crossover. Seleksi dilakukan dengan

Page 76: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

60

UIN Syarif Hidayatullah Jakarta

metode elitis yaitu memilih kromosom dengan fitness

tertinggi. Pada aplikasi ini seleksi digunakan untuk

memilih 4 kromosom sebagai kromosom yang akan di-

crossover.

Tabel 4.5 Contoh Data Untuk Seleksi

Kromosom

ke-

Fitness

1 0,7907783837382251

2 0,7773921665840356

3 0,7947446703024293

4 0,7907783837382251

5 0,7550818046603868

6 0,7932573128408528

7 0,7773921665840356

8 0,7828458106098165

Misalkan setelah dihitung nilai fitness-nya diadapatkan

data seperti pada Tabel 4.5, maka proses seleksi ini akan

memilih 4 kromosom dengan nilai fitness yang

tertinggi yaitu secara berturut-turut kromosom 3, 6, 1,

dan 4.

f. Crossover

Crossover merupakan proses menghasilkan kromosom

baru dengan mewariskan gen kromosom-kromosom

yang sudah diseleksi. Proses crossover dimulai dengan

mengacak angka riil dengan rentang 0-1. Apabila

angka acak tersebut bernilai dibawah atau sama dengan

probabilitas crossover, maka akan dilakukan crossover

1 titik dimana titik potong dipilih secara acak juga.

Penelitian ini menggunakan probabilitas crossover

Page 77: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

61

UIN Syarif Hidayatullah Jakarta

sebesar 0,8. Jadi kita mengacak angka untuk masing-

masing pasangan kromosom hasil seleksi seperti pada

Tabel 4.6.

Tabel 4.6 Contoh Acak Angka Crossover

Pasangan Kromosom Angka Acak Titik

Potong

Acak

Keterangan

Kromosom3xKromosom6 0,32 2 Pasangan ini

mengalami

crossover di titik 2

Kromosom1xKromosom4 0,85 - Pasangan ini tidak

mengalami

crossover

Jika dilihat pada Tabel 4.6, pasangan

kromosom3xkromosom6 mengalami crossover

sedangkan kromosom1xkromosom4 tidak mengalami

crossover. Bagi yang mengalami crossover, maka

dilakukan pengacakan lagi angka bulat dalam rentang

0-4 untuk mengacak titik potong crossover. Bisa dilihat

pada Gambar 4.5 sebagai acuan titik potong berdasarkan

angka bulat 0-4.

Gambar 4.5 Acuan Titik Potong

Page 78: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

62

UIN Syarif Hidayatullah Jakarta

Kromosom 3 dan kromosom 6 di-crossover dan akan

menghasilkan 2 kromosom baru yang disebut dengan

child seperti pada Gambar 4.6.

Gambar 4.6 Contoh Proses Crossover

Gen dari kromosom parent dibagi berdasar titik potong

untuk diwariskan kepada child, sebagaimana yang

ddapat dilihat gen warna merah akan diwaarisi Child1

dan gen warna biru akan diwarisi Child2.Sedangkan

bagi yang tidak mengalami crossover, maka kromosom

tidak mengalami perubahan sama sekali dan child akan

bernilai sama dengan parent-nya. Maka didapatkan 4

kromosom child seperti pada Tabel 4.7.

Tabel 4.7 Hasil Crossover

Kromosom

ke-

Gen

1

Gen

2

Gen

3

Gen

4

Gen

5

Gen

6

Nilai

Kromosom

Nilai

Desimal

Kromosom

Solusi Yang

Ditawarkan

Sebelum

Crossover

3 0 0 1 1 1 0 001110 14 (A#2)

6 0 1 0 0 0 1 010001 17 (C#3)

1 0 0 1 1 0 0 001100 12 (G#2)

4 0 1 0 0 1 0 010010 18 (D3)

Page 79: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

63

UIN Syarif Hidayatullah Jakarta

Hasil

Crossover

Child1 0 0 1 0 0 1 001001 9 (F2)

Child2 0 1 0 1 1 0 010110 22 (F#3)

Child3 0 0 1 1 0 0 001100 12 (G#2)

Child4 0 1 0 0 1 0 010010 18 (D3)

g. Mutasi

Mutasi adalah proses mengubah nilai gen pada

kromosom hasil crossover. Pertama kita mengacak

angka riil dalam rentang 0-1. Apabila angka acak

tersebut lebih kecil atau sama dengan probabilitas

mutase, maka terjadi mutase dengan membalikkan

nilai biner dari gen tersebut. Aplikasi ini menggunakan

probobabilitas mutasi sebesar 0,167 berdasarkan rumus

1/n dimana n adalah jumlah gen pada kromosom yaitu

6 gen. Mutasi dilakukan pada tingkat gen, dengan kata

lain setiap gen dari kromosom child berpeluang

mengalami mutasi. Contoh simulasi proses mutasi

dapat dilihat pada Tabel 4.8 sampai Tabel 4.11.

Tabel 4.8 Contoh Proses Mutasi Child1

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 0 1 0 0 1

Angka

Acak

0,34 0,67 0,18 0,88 0,02 0,4

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 0 1 0 1 1

Page 80: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

64

UIN Syarif Hidayatullah Jakarta

Tabel 4.9 Contoh Proses Mutasi Child2

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 1 0 1 1 0

Angka

Acak

0,36 0,53 0,76 0,88 0,13 0,07

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Terjadi

Mutasi

Setelah

Mutasi

0 1 0 1 0 1

Tabel 4.10 Contoh Proses Mutasi Child3

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 0 1 1 0 0

Angka

Acak

0,61 0,39 0,76 0,59 0,15 0,87

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 0 1 1 1 0

Page 81: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

65

UIN Syarif Hidayatullah Jakarta

Tabel 4.11 Contoh Proses Mutasi Child4

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 1 0 0 1 0

Angka

Acak

0,25 0,31 0,09 0,94 0,44 0,48

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 1 1 0 1 0

Semua hasil mutasi akan disimpan sebagai Mchild dan

dihitung kembali nilai fitness-nya. Hasil Mchild ini

terangkum pada Tabel 4.12 berikut.

Tabel 4.12 Hasil Proses Mutasi

Kromosom

ke-

Gen

1

Gen

2

Gen

3

Gen

4

Gen

5

Gen

6

Nilai

Kromosom

Nilai

Desimal

Kromosom

Solusi

Yang

Ditawarkan

Nilai Fitness

Sebelum

Mutasi

Child1 0 0 1 0 0 1 001001 9 F2 0,7773921665840356

Child2 0 1 0 1 1 0 010110 22 F#3 0,7754090233019336

Child3 0 0 1 1 0 0 001100 12 G#2 0,7907783837382251

Child4 0 1 0 0 1 0 010010 18 D3 0,7907783837382251

Hasil

Mutasi

Mchild1 0 0 1 0 1 1 001011 11 G#2 0,7873078829945464

Mchild2 0 1 0 1 0 1 010101 20 E3 0,7828458106098165

Mchild3 0 0 1 1 1 0 001110 14 A#2 0,7947446703024293

Mchild4 0 1 1 0 1 0 011010 10 F#2 0,7828458106098165

Page 82: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

66

UIN Syarif Hidayatullah Jakarta

h. Regenerasi

Regenrasi yang digunakan oleh penulis ialah steady-

state yang berarti hanya mengganti kromosom lemah

dengan anak hasil crossover dan mutasi jika nilai

fitness anak lebih baik dari kromosom terlemah pada

populasi. Langkah pertama yang dilakukan adalah kita

cari 4 kromosom dengan nilai fitness terlemah pada

generasi, lalu bandingkan dengan nilai fitness dari

Mchild1, Mchild2, Mchild3, dan Mchild4. Jika kita

lihat pada Tabel 4.5 maka dapat diketahui bahwa

kromosom terlemah adalah pada populasi kromosom

ke 5, 2, 7, dan 8. Bandingkan keempat kromosom

terlemah dengan 4 Mchild, apabila Mchild lebih baik

maka timpah kromosom terlemah tersebut dengan

Mchild.

Tabel 4.13 Contoh Proses Regenerasi

Kromosom

ke-

Nilai

Kromosom

Fitness Kromosom

ke-

Nilai

Kromosom

Fitness Keternagan

5 000110 0,7550818046603868 Mchild1 001011 0,7873078829945464 Timpah dengan

Mchild

2 010101 0,7773921665840356 Mchild2 010101 0,7828458106098165 Timpah dengan

Mchild

7 001001 0,7773921665840356 Mchild3 001110 0,7947446703024293 Timpah dengan

Mchild

8 001010 0,7828458106098165 Mchild4 011010 0,7828458106098165 Tidak berubah

Berdasarkan Tabel 4.13 kromosom terlemah yang

ditimpah dengan Mchild adalah kromosom 5, 2, dan

7. Maka kita timpah ketiga nilai kromosom tersebut

sehingga didapatkan generasi kedua sepert pada

Tabel 4.14.

Page 83: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

67

UIN Syarif Hidayatullah Jakarta

Tabel 4.14 Contoh Hasil Regenerasi

Generasi Pertama Generasi Kedua

Kromosom

ke-

Nilai

Kromosom

Nilai Fitness Nilai

Kromosom

Nilai Fitness

1 001100 0,7907783837382251 001100 0,7907783837382251

2 010101 0,7773921665840356 010101 0,7828458106098165

3 001110 0,7947446703024293 001110 0,7947446703024293

4 010010 0,7907783837382251 010010 0,7907783837382251

5 000110 0,7550818046603868 001011 0,7873078829945464

6 010001 0,7932573128408528 010001 0,7932573128408528

7 001001 0,7773921665840356 001110 0,7947446703024293

8 001010 0,7828458106098165 001010 0,7828458106098165

i. Syarat berhenti

Syarat berhenti pada aplikasi ini menggunakan

pembatasan jumlah generasi sampai pada 20 generasi.

Selama belum tercapai generasi ke-20 maka proses

algoritma genetika akan mengulang terus mulai dari

tahap hitung fungsi obyektif.

4.2.2. Desain UML

Pada tahap ini penulis merancang UML berupa use case, activity

diagram, class diagram, dan sequence diagram untuk memodelkan

aplikasi.

Page 84: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

68

UIN Syarif Hidayatullah Jakarta

4.2.2.1. Desain Use Case

Penulis menggunakan use case untuk memodelkan interaksi

pengguna dengan aplikasi ebagaimana yang dapat dilihat pada

Gambar 4.7 dan Tabel 4.15 sampai Tabel 4.17.

Gambar 4.7 Use Case Diagram Aplikasi

Tabel 4.15 Use Case-1

UC-1: Deteksi Vocal Range

Aktor Pengguna

Deskripsi Pengguna akan input nada terendah

dan tertinggi dan aplikasi akan

mendeteksi vocal range pengguna

Tabel 4.16 Use Case-2

UC-2: Memilih Lagu

Aktor Pengguna

Deskripsi Pengguna memilih lagu yang ingin

dinyanyikan setelah melakukan

deteksi vocal range

Page 85: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

69

UIN Syarif Hidayatullah Jakarta

Tabel 4.17 Use Case-3

UC-3: Lihat Rekomendasi

Aktor Pengguna

Deskripsi Pengguna dapat melihat rekomendasi

nada optimal untuk mereka bernyanyi

setelah pengguna melakukan deteksi

vocal range dan memilih lagu.

4.2.2.2. Desain Activity Diagram

Activity Diagram memodelkan alur sesuai dengan proses

bisnis ataupun use case, meskipun biasanya disesuaikan dengan use

case. Activity diagram aplikasi dapat dilihat pada Gambar 4.8.

Gambar 4.8 Activity Diagram Aplikasi

Page 86: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

70

UIN Syarif Hidayatullah Jakarta

Gambar 4.8 menujukkan alur aplikasi dan menjelaskan

aktifitas pengguna dan sistem secara berurut. Pengguna

menyanyikan nada terendah dan tertinggi sebagai input vocal

range yangmana aplikasi akan mendeteksi dan menyimpannya.

Lalu aplikasi menampilkan daftar lagu yang dapat pengguna

pilih. Setelah pengguna memilih lagu maka aplikasi

menghitung nada optimal menggunakan algoritma genetika

dan menampilkan hasilnya pada pengguna.

Gambar 4.9 Activity Diagram Deteksi Vocal Range

Pada Gambar 4.9 menunjukkan alur aktifitas yang ada

pada proses deteksi vocal range pengguna. Deteksi vocal range

dimulai dengan penyanyi menyanyikan nada terendah, lalu

aplikasi mendeteksi frekuensi dan dicek berdasarkan pemetaan

Page 87: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

71

UIN Syarif Hidayatullah Jakarta

nada lalu disimpan. Proses yang sama juga dilakukan untuk

nada tertinggi dari pengguna. Setelah kedua nada disimpan,

dilakukan pengecekan apakah ketika penyimpanan nada terjadi

data yang terbalik, jika terbalik maka aplikasi menukar kedua

data tersebut dan selesai.

Gambar 4.10 Activity Diagram Memilih Lagu

Pada Gambar 4.10 menunjukkan alur aktifitas yang ada pada

use case memilih lagu. Aplikasi akan menampilkan daftar lagu-lagu

yang ada, lalu pengguna akan memiilih lagu yang ingin dinyanyikan,

dan aplikasi akan menghitung nada optimal bagi pengguna

berdasarkan vocal range dan data lagu yang ingin dinyanyikan.

Page 88: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

72

UIN Syarif Hidayatullah Jakarta

Gambar 4.11 Activity Diagram Lihat Rekomendasi

Pada Gambar 4.11 menunjukkan alur aktifitas yang ada pada

use case lihat rekomendasi. Aktifitas yang ada pada use case ini

berupa aplikasi menghitung besar transpose berdasar hasil deteksi

vocal range, lagu yang dipilih, dan hasil hitung nada optimal yang

dilakukan pada tahap setelah memilih lagu. Lalu aplikasi akan

menampilkan rekomendasi transpose lagu berdasar vocal range dan

lagu yang dipilih pengguna.

4.2.2.3. Desain Class Diagram

Penulis menggunakan class diagram untuk menggambarkan

relasi dan definisi setiap class yang ada pada aplikasi sebagaimana

yang dapat dilihat pada Gambar 4.12.

Page 89: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

73

UIN Syarif Hidayatullah Jakarta

Gambar 4.12 Class Diagram Apliaksi

Gambar 4.12 menggambarkan atribut-atribut, operasi, dan relasi

yang dimiliki oleh setiap class yang ada pada aplikasi.

4.2.2.4. Desain Sequence Diagram

Penulis menggunakan sequence diagram untuk memodelkan

aplikasi secara rinci dari urutan pesan yang dikirim antar objek

sebagaimana yang dapat dilihat pada Gambar 4.13.

Page 90: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

74

UIN Syarif Hidayatullah Jakarta

Gambar 4.13 Sequence Diagram Aplikasi

Gambar 4.13 menunjukkan urutan pesan yang dikirim dari objek-

objek sesuai dengan pesan dan class yang ada pada class diagram.

4.2.3. Desain Database

Database yang diperlukan dalam aplikasi ini adalah menyimpan data

lagu-lagu, seperti judul lagu, nama penyanyi, range nada lagu dan nada

dasar asli dari lagu. Untuk itu penulis merancang struktur tabel database

seperti Tabel 4.18.

Page 91: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

75

UIN Syarif Hidayatullah Jakarta

Tabel 4.18 Desain Tabel Database Lagu

Field Tipe Data Keterangan

ID Integer

autoincrement

Menunjukkan ID lagu dengan

fungsi khusus autoincrement

agar tidak overlapping dengan

data berikutnya.

Penyanyi-Judul Text Memuat nama penyanyi

sekaligus judul lagu.

RL Text Memuat nada terendah yang ada

pada lagu.

NadaAsli Text Memuat kunci dasar lagu.

JL Integer Memuat range nada yang

dimiliki lagu.

Penulis membuat 5 field untuk database sebagaimana pada Tabel

4.18. Berikut adalah penjelasan lebih rinci dari masing-masing field.

ID, memiliki atribut sebagai primary key, auto increment dan

bertipe data integer. Menunjukkan ID lagu dengan fungsi

khusus autoincrement agar tidak overlapping dengan data

berikutnya.

Penyanyi-Judul, penulis menggabungkan kolom penyanyi dan

judul agar memudahkan ketika memanggil data penyanyi

ataupun judulnya, penulis juga merasa kedua data tersebut

(penyanyi dan judul) tidak perlu dipisahkan.

RL, field ini menggunakan tipe data text dan diisikan sesuai

dengan nada terendah yang ada pada lagu bersangkutan.

Penulisan data ini disesuaikan dengan pemetaan nada pada

Tabel 4.2. Data ini pada aplikasinya digunakan sebagai batasan

dalam mencari nada optimal dan sebagai patokan menghitung

berapa besar perpindahan nada setelah transpose.

Page 92: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

76

UIN Syarif Hidayatullah Jakarta

NadaAsli, bertipe data text juga yang berisikan nada dasar lagu

tersebut. Pada aplikasi ini penulis tidak menyertakan kunci

seperti minor, mayor, mayor 7, ataupun scale(tangga nada) lagu.

Jadi, hanya nada dasar seperti A, A#, B, C, C#, D, D#, E, F, F#,

G, dan G#.

JL, menggunakan tipe data integer, field ini menyatakan sebuah

angka yang merupakan jarak dari nada terendah dan nada

tertinggi pada sebuah lagu. Sebagai contoh sebuah lagu

memiliki nada terendah A1 dan nada tertinggi C#2. Sesuai

dengan representasi biner pada Tabel 4.2, lagu tersebut memiliki

nada terendah bernilai 1 dan nada tertinggi bernilai 5, berarti

lagu tersebut memiliki range nada lagu 4 nada.

4.2.4. Desain User Interface

Desain user interface atau antarmuka aplikasi ini memiliki 4

tampilan sebagai pada Gambar 4.14 sampai Gambar 4.17.

Gambar 4.14 Tampilan Instruksi

Tampilan pada Gambar 4.14 merupakan alert dialog message

berisikan instruksi melakukan deteksi vocal range.

Page 93: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

77

UIN Syarif Hidayatullah Jakarta

Gambar 4.15 Tampilan Utama

Pada tampilan ketika pertama kali di buka aplikasi akan meminta

persetujuan untuk akses mikrofon ponsel pengguna dan jika sudah dapat

akses maka akan menampilkan intstruksi sebagaimana terlihat pada Gambar

4.15. Pada tampilan utama terdapat 5 teks dan 1 tombol. Kelima teks

tersebut merupakan teks dinamis yang berubah teksnya sesuai dengan

proses aplikasi. Berikut rinciannya:

TextView1, menampilkan nada terendah anda yang telah

berhasil dideteksi aplikasi.

TextView2, menampilkan nada tertinggi anda yang telah

berhasil dideteksi aplikasi.

TextView3, menampilkan instruksi nada terendah/tertinggi

yang perlu pengguna nyanyikan untuk di deteksi.

TextView4, menampilkan nilai frekuensi secara real-time

yang masuk melalui mikrofon android pengguna.

TextView5, menampilkan nilai nada yang masuk melalui

mikrofon android pengguna secara real-time.

Tombol dengan logo mikrofon pada tampilan utama berfungsi

sebagai pemicu proses deteksi vocal range untuk dimulai.

Page 94: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

78

UIN Syarif Hidayatullah Jakarta

Gambar 4.16 Tampilan Pilih Lagu

Pada tampilan pilih lagu terdapat 2 komponen inti. Komponen

TextView1 dan TextView2 yang berfungsi sama seperti tampilan utama yaitu

menampilkan nada terendah dan nada tertinggi yang telah dideteksi aplikasi.

Tampilan ini juga memiliki komponen ListView yang berfungsi sebagai

wadah untuk menampilkan lagu-lagu dari database yang ada.

Gambar 4.17 Tampilan Hasil

Gambar 4.17 merupakan tampilan terakhir dalam aplikasi yaitu

tampilan hasil yang memiliki 7 TextView. Ketujuh TextView tersebut

memiliki penjelasan sebagai berikut:

Page 95: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

79

UIN Syarif Hidayatullah Jakarta

TextView1, menampilkan nada terendah anda yang telah

berhasil dideteksi aplikasi.

TextView2, menampilkan nada tertinggi anda yang telah

berhasil dideteksi aplikasi.

TextView3, menunjukkan kunci lagu dari database sebelum

dilakukannya transpose.

TextView4, menunjukkan nada terendah lagu dari database

sebelum dilakukannya transpose.

TextView5, menampilkan seberapa besar transpose nada

yang dilakukan dari kunci asli ke kunci yang optimal bagi

pengguna.

TextView6, menampilkan nada terendah dalam lagu tersebut

setelah proses transpose.

TextView7, menampilkan kunci lagu yang ingin

dinyanyikan yang sudah disesuaikan dengan nada optimal

pengguna.

Selain tujuh TextView, terdapat juga 2 tombol dengan logo panah

yang berfungsi apabila pengguna ingin mengulangi semua tahap kembali

dan tombol dengan logo list untuk mencoba lagu lagu lain menggunakan

vocal range yang sudah dideteksi.

4.3. Coding

Penulis membangun aplikasi ini menggunakan perangkat keras milik

penulis dengan spesifikasi sebagai berikut:

Laptop dengan processor Intel Core i5-8250u.

RAM 8,00 GB.

NVIDIA GeForce MX150 2 GB VRAM.

Penulis juga menggunakan perangkat lunak sebagai berikut:

Android Studio 3.4

Page 96: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

80

UIN Syarif Hidayatullah Jakarta

Build #AI-183.5429.30.34.5452501, built on April 10, 2019

JRE: 1.8.0_152-release-1343-b01 amd64

JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Aplikasi yang dibuat memiliki spesifikasi sebagai berikut:

a. Compile SDK Version 28, Penulis menggunakan SDK Version 28

dikarenakan SDK tersebut merupakan versi terbaru saat penulis

mengembangkan aplikasi.

b. Target SDK Version 23 (Android 6.0 Marshmallow), Target SDK

disesuaikan dengan pernagkat android yang dimiliki oleh penulis saat

mengembangkan aplikasi dan merupakan versi android dengan

distribusi terbanyak berdasarkan Tabel 2.3.

Aplikasi dikembangkan berdasar rancangan yang sudah dibuat, yangmana

pada penerapannya aplikasi ini memiliki 6 class java. Keenam class tersebut

adalah MainActivity, Nada, menu_pilihlagu, DataHelper, Algogen, dan Hasil.

4.3.1. Class MainActivity

MainActivity merupakan class utama dari aplikasi ini. Pada class ini

meliputi proses input nada pengguna secara real-time yang terhubung

dengan TarsosDSP Library dan class Nada. Aplikasi lalu akan diarahkan

ke class berikutnya yaitu menu_pilihlagu class.

Penggunaan TarsosDSP untuk deteksi vocal pengguna dapat dilihat

pada kode yang dituliskan di bawah berikut.

Page 97: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

81

UIN Syarif Hidayatullah Jakarta

4.3.2. Class Nada

Aplikasi membutuhkan sebuah rangkaian aturan untuk konversi

nilai frekuensi setelah diproses oleh TarsosDSP Library. Class ini berisi

fungsi-fungsi untuk konversi tersebut, seperti konversi frekuensi yang

bertipe data double ke dalam nada yang bertipe data String menggunakan

Tabel 4.1 dan sebaliknya, konversi nada ke dalam bentuk representasi angka

bertipe data integer sesuai dengan Tabel 4.2 dan sebaliknya. Selain itu juga

terdapat fungsi untuk proses terakhir dari aplikasi yaitu perhitungan kunci

dasar setelah mendapatkan besar transpose hasil algoritma genetika.

int permissionCheck = ContextCompat.checkSelfPermission(this, //cek permission mic

Manifest.permission.RECORD_AUDIO);

if (permissionCheck != PackageManager.PERMISSION_GRANTED) { //jika belum allowed maka request permission

requestRecordAudioPermission();

}

else {

//Jika sudah memiliki izin mic, jalankan TarsosDSP sebagai berikut:

AudioDispatcher dispatcher =

AudioDispatcherFactory.fromDefaultMicrophone(44100, 2048, 0); //sample rate :44100, frame: 2048

Thread audioThread = new Thread(dispatcher, "Audio Thread");

final PitchDetectionHandler pdh = new PitchDetectionHandler() {

@Override

public void handlePitch(PitchDetectionResult res, AudioEvent e) {

final double pitch = res.getPitch();

runOnUiThread(new Runnable() {

@Override

public void run() {

String ada = N.FreqNada(pitch); //konversi nilai frekuensi menggunakan class Nada

nada.setText(String.valueOf(pitch)); //menampilkan nilai frekuensi

t.setText(ada); //menampilkan nada setelah konversi

}

});

}

};

final AudioProcessor pitchProcessor = new PitchProcessor(PitchProcessor.PitchEstimationAlgorithm.FFT_YIN, 44100, 2048, pdh);

dispatcher.addAudioProcessor(pitchProcessor);

audioThread.start();

Page 98: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

82

UIN Syarif Hidayatullah Jakarta

Semua peraturan tersebut dikodekan sebagaimana teks di bawah ini.

public int NadaNum(String Rp) {

//konversi nada menjadi representasi angka untuk algoritma genetika

int NadaNum;

if (Rp.equals("G#1")) {

NadaNum = 0;

} else if (Rp.equals("A1")) {

NadaNum = 1;

} else if (Rp.equals("A#1")) {

NadaNum = 2;

} else if (Rp.equals("B1")) {

NadaNum = 3;

} else if (Rp.equals("C2")) {

NadaNum = 4;

} else if (Rp.equals("C#2")) {

NadaNum = 5;

Dan seterusnya….

public String NumtoNada(int num) {

//Konversi representasi angka menjadi nada

String Nadan;

if (num == 0) {

Nadan="G#1";

} else if (num == 1) {

Nadan="A1";

}

Dan seterusnya….

public String FreqNada(double freq) {

//konversi frekuensi menjadi nada

String Nada ;

if (freq >= 50.43 && freq <= 53.43) {

Nada="A1";

return Nada;

} else if (freq > 53.43 && freq <= 56.61) {

Nada="A1";

return Nada;

} else if (freq > 56.61 && freq <= 59.97) {

Nada="A#1";

return Nada;

} else if (freq > 59.97&& freq <= 63.54) {

Nada="B1";

return Nada;

Dan seterusnya….

Page 99: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

83

UIN Syarif Hidayatullah Jakarta

4.3.3. Class DataHelper

Class DataHelper merupakan class yang berfungsi sebagai database

SQLite. Class ini berisikan query SQLite yang membuat database lagu

Sesuai dengan desain tabel database seperti pada Tabel 4.18, penulis

mengisikan data database dengan 4 lagu yang direkomendasikan oleh ahli

agar dapat menjadi patokan dalam melakukan transpose. Lagu-lagu tersebut

dapat dilihat pada Tabel 4.19.

public int NadaNumDasar(String Asli) {//Mengubah nada menjadi angka untuk algoritma genetika int NadaNum=200;

if (Asli.equals("A")) {

NadaNum = 1;

} else if (Asli.equals("A#")) {

NadaNum = 2;

} else if (Asli.equals("B")) {

NadaNum = 3;

} Dan seterusnya….

public String NadaDasar(int transpose, String asli){

//perhitungan kunci dasar setelah transpose

int numasli= NadaNumDasar(asli);

int hasiltranspose=numasli+transpose;

String nadahasil="";

if(hasiltranspose<=0){

do{

hasiltranspose+=12;

}while(hasiltranspose<=0);

}

else if(hasiltranspose>12){

do{

hasiltranspose-=12;

}while(hasiltranspose>12);

}

if (hasiltranspose == 1) {

nadahasil = "A";

}

if (hasiltranspose == 2) {

nadahasil = "A#";

}Dan seterusnya….

Page 100: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

84

UIN Syarif Hidayatullah Jakarta

Tabel 4.19 Tabel Database Lagu

ID Penyanyi-Judul RL NadaAsli JL

1 Afgan–Terima Kasih Cinta F3 C 14

2 Agnes Monica–Matahariku G3 G 24

3 Judika–Jadi Aku Sebentar

Saja

G3 A 17

4 Ruth Sahanaya–Andaikan

Kau Datang Kembali

A#3 D# 17

4.3.4. Class Menu Pilih Lagu

Class ini memiliki fungsi utama agar pengguna dapat memilih lagu

yang ingin dinyanyikan dan sebagai inisiasi perhitungan algoritma genetika.

Tampilan pilih lagu seperti pada Gambar 4.16 menampilkan pilihan lagu

untuk dinyanyikan oleh pengguna yang diambil dari database melalui class

DataHelper dan ditampilkan dalam bentuk ListView judul dan penyanyi

lagu tersebut. Inisiasi algoritma genetika dilakukan setelah pengguna

memilih lagu dan mengirimkan data vocal range penyanyi dan lagu pilihan

ke class Algogen untuk diproses.

4.3.5. Class Algogen

Class Algogen adalah class inti pada aplikasi ini yang mencari dan

menghitung nada optimal untuk pengguna menyanyikan lagu pilihannya

berdasarkan vocal range pengguna. Algogen memiliki tahapan-tahapan

seperti flowchart pada Gambar 4.4.

Algoritma genetika ini menggunakan batasan berupa jumlah

perulangan generasi sebanyak 20 perulangan. Jumlah perulangan ini penulis

anggap sudah mencukupi untuk mencari nilai optimal. Jumlah 20 ini tidak

melebihi 1/3 dari 64 nada yang dipetakan, yangmana inti dari menggunakan

Page 101: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

85

UIN Syarif Hidayatullah Jakarta

algoritma genetika yaitu agar pencarian nilai optimum tidak perlu mencoba

semua kemungkinan yang ada.

Untuk memahami setiap langkah algoritma genetika yang dibuat,

asumsikan ada seseorang dengan vocal range A2-D#4 ingin menyanyikan

lagu “Afgan – Terima Kasih Cinta” sebagai contoh kasus. Dari contoh kasus

tersebut maka didapatkan data sebagai berikut:

Diketahui:

Vocal Range: A2-D#4

Rp: 13 (Represesntasi Desimal Dari A2)

Tp: 31 (Represesntasi Desimal Dari D#4)

Nada terendah lagu: F3 (Dari Database)

Nada asli lagu: C (Dari Database)

Range nada lagu: 14 (Dari Database)

Gambar 4.18 Ilustrasi Contoh Kasus

Pada kasus ini sebagaimana yang tampak pada Gambar 4.18, ada

nada lagu yang tidak dijangkau oleh kemampuan bernyanyi si penyanyi.

Page 102: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

86

UIN Syarif Hidayatullah Jakarta

Maka dari itu perlu dilakukannya transpose lagu sehingga nada lagu

bergeser ke titik optimal vocal range penyanyi.

Dari data yang sudah didapatkan, fungsi obyektif dapat dirumuskan

sebagai berikut:

F = (𝑅𝑏 − 𝑅𝑝) ∗ (𝑇𝑝 − (𝑅𝑏 + JL))

F = (𝑅𝑏 − 13) ∗ (31 − (𝑅𝑏 + 14))

Keterangan:

F: Fungsi Obyektif

Rb: Nada terendah yang dicari

Rp: 13 (Representasi desimal A2)

Tp: 31 (Representasi desimal D#4)

Jl: 14 (range nada lagu “Terima Kasih Cinta”)

Maka didapatkan nilai maksimum dan minimum dari fungsi tersebut

sebagai berikut:

Min= -1600

Max= 416

Setelah mendapatkan nilai maksimum dan minimum berarti kita bisa

dapat rumus ftitness sebagai berikut:

𝑓 =F − (−1600)

(416 − (−1600) + 1

Keterangan:

f = Nilai fitness

F = Hasil Fungsi Obyektif

Page 103: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

87

UIN Syarif Hidayatullah Jakarta

Sesuai dengan Gambar 4.4 proses algoritma yang dikerjakan adalah

bangkitkan generasi pertama, hitung nilai obyektif, hitung nilai fitness,

seleksi, crossover, mutasi, dan regenerasi hingga tercapai 20 generasi.

4.3.5.1. Generasi Pertama

Tahap ini merupakan tahap pembangkitan generasi pertama.

Generasi yang dibangkitkan memiliki jumlah populasi sebanyak 8

kromosom. Setiap kromosom memiliki 6 gen kromosom.

Pembangkitan generasi pertama dilakukan dengan

pengacakan. Nilai setiap gen pada kromosom individu akan diacak

antara bernilai 0 atau 1, begitu juga pada individu lainnya sehingga

membentuk 1 populasi rangkaian kromosom atau dalam hal ini

rangkaian biner.

Kode membangkitkan generasi pertama adalah sebagai

berikut.

Setiap gen dari setiap kromosom diacak dan langsung

dikonversikan menjadi decimal agar dapat diketahui solusi yang

for (int i = 0; i < jmlhpopulasi; i++) {

//Random Generate generasi pertama dalam bentuk biner

for (int j = 0; j < jmlhgen; j++) {

chr[i][j] = random.nextInt(2);

}

}

//ubah kromosom yang berbentuk biner ke desimal//

for (int i = 0; i < jmlhpopulasi; i++)

int chro = BinerToDec(chr, jmlhgen, i);

if (chro + Jl > 63) { //Biner ke NumNada, dan cek jika ditambah jangkauan lagu >63 maka hasil

random(chro) menjadi nada tinggi

NumRb = chro - Jl;

NumTb = chro;

} else {

NumRb = chro;

NumTb = chro + Jl;

}

}

Page 104: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

88

UIN Syarif Hidayatullah Jakarta

ditawarkan sehingga didapatkan satu populasi dari generasi pertama

seperti pada Tabel 4.20.

Tabel 4.20 Generasi Pertama Contoh

Kromosom

ke-

Hasil Acak Nilai

Kromosom

Nilai

Desimal

Kromosom

Solusi

Yang

Ditawarkan

Gen

1

Gen

2

Gen

3

Gen

4

Gen

5

Gen

6

1 0 0 1 1 0 0 001100 12 (G#2)

2 0 1 0 1 0 1 010101 21 (F3)

3 0 0 1 1 1 0 001110 14 (A#2)

4 0 1 0 0 1 0 010010 18 (D3)

5 0 0 0 1 1 0 000110 6 (D2)

6 0 1 0 0 0 1 010001 17 (C#3)

7 0 0 1 0 0 1 001001 9 (F2)

8 0 0 1 0 1 0 001010 10 (F#2)

4.3.5.2. Hitung Nilai Fungsi Obyektif

Tahap berikutnya adalah menghitung nilai fungsi obyektif

dengan menggunakan RUMUS 2 di masing-masing kromosom.

Kode untuk menghitung nilai fungsi obyektif adalah sebagai

berikut.

Page 105: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

89

UIN Syarif Hidayatullah Jakarta

Misalkan perhitungan fungsi obyektif kromosom pertama

pada Tabel 4.20, 001100 dikonversi ke desimal menjadi 12. Angka

12 ini dimasukkan ke RUMUS 2 sebagai Rb, sehingga fungsi

obyektif dapat dihitung sebagai berikut:

Rp: 13 (Representasi desimal A2 nada terendah vocal range)

Tp: 31 (Representasi desimal D#4 nada tertinggi vocal range)

Jl: 14 (range nada lagu “Terima Kasih Cinta”)

Rb: 12 (Dari kromosom hasil acak)

F = (𝑅𝑏 − 𝑅𝑝) ∗ (𝑇𝑝 − (𝑅𝑏 + 𝐽𝑙))

F = (12 − 13) ∗ (31 − (12 + 14))

F = (12 − 13) ∗ (31 − (26))

F = −1 ∗ 5

F = −5

public int fx(int NumRb, int NumTb, int NumRp, int NumTp){

//Fungsi Obyektif

int fx = (NumRb-NumRp)*(NumTp-NumTb);

return fx;

}

for (int i = 0; i < jmlhpopulasi; i++) {

int chro = BinerToDec(chr, jmlhgen, i);

if (chro + Jl > 63) { //Biner ke NumNada, dan cek jika ditambah jangkauan lagu >63 maka hasil

random(chro) menjadi nada tinggi

NumRb = chro - Jl;

NumTb = chro;

} else {

NumRb = chro;

NumTb = chro + Jl;

}

hasilfx[i] = fx(NumRb, NumTb, NumRp, NumTp); //Hitung Fungsi obyektif dan memasukan nilai

hasil fungsi objektif ke array setelah konversi biner ke desimal

}

Page 106: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

90

UIN Syarif Hidayatullah Jakarta

Perhitungan dilakukan terhadap setiap kromosom pada

populasi sehingga didapatkan masing-masing kromosom dengan

nilai fungsi obyektif seperti pada Tabel 4.21.

Tabel 4.21 Nilai Fungsi Obyektif Contoh

Kromosom

ke-

Nilai

Kromosom

Nilai

Desimal

Kromosom

Nilai

Fungsi

Obyektif

1 001100 12 -5

2 010101 21 -32

3 001110 14 3

4 010010 18 -5

5 000110 6 -77

6 010001 17 0

7 001001 9 -32

8 001010 10 -21

4.3.5.3. Hitung Nilai Fitness

Berikutnya menghitung nilai fitness dari masing-masing

kromosom dengan menggunakan RUMUS 3.

Kode menghitung nilai fitness adalah sebagai berikut.

public double fitness(double fx, double NilaiMin, double NilaiMax){

//fungsi Menghitung Nilai fitness

double f= (fx+NilaiMin)/(NilaiMax+NilaiMin);

return f;

}

for (int i = 0; i < jmlhpopulasi; i++) {

f[i] = fitness(hasilfx[i], NilaiMin, NilaiMax);

//hitung total fitness dari semua individu

}

Page 107: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

91

UIN Syarif Hidayatullah Jakarta

Hasil Fungsi Obyektif dilanjutkan dengan dimasukkan ke

RUMUS 3 untuk mencari fitness.

Min= -1600

Max= 416

F= -5 (Hasil perhitungan contoh fungsi obyektif sebelumnya)

𝑓 =−5 − (−1600)

416 − (−1600) + 1

𝑓 =1595

2017

𝑓 = 0,7907783837382251

Nilai fitness untuk kromosom pertama adalah

0,7907783837382251. Hal ini dilakukan pada setiap kromosom

pada populasi sehingga menghasilkan data seperti pada Tabel 4.22.

Tabel 4.22 Fitness Generasi Pertama Contoh

Kromosom

ke-

Kromosom Desimal(Nada) Fitness

1 001100 12(G#2) 0,7907783837382251

2 010101 21(F3) 0,7773921665840356

3 001110 14(A#2) 0,7947446703024293

4 010010 18(D3) 0,7907783837382251

5 000110 6(D2) 0,7550818046603868

6 010001 17(C#3) 0,7932573128408528

7 001001 9(F2) 0,7773921665840356

8 001010 10(F#2) 0,7828458106098165

Page 108: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

92

UIN Syarif Hidayatullah Jakarta

4.3.5.4. Seleksi

Tahap seleksi merupakan tahap memilih individu yang akan

“dikawinkan” untuk menghasilkan solusi baru yang diharapkan

lebih baik. Penulis melakukan seleksi dengan menggunakan metode

elitisme, yaitu mencari 4 individu dengan nilai fitness terbaik untuk

disilangkan nilai gen kromosomnya.

Bisa dilihat pada Tabel 4.22 bahwa 4 kromosom dengan nilai

fitness tertinggi adalah kromosom ke-3, 6, 1, dan kromosom ke-4.

Kedua pasang kromosom tersebut menjadi parent untuk di-

crossover sehingga menghasilkan kromosom child.

4.3.5.5. Crossover

Tahap crossover merupakan tahap penyilangan dari hasil

tahap seleksi. Proses crossover dilakukan menggunakan metode

penyilangan satu titik dengan syarat angka acak bernilai kurang dari

atau sama dengan probabilitas crossover yang ditentukan yaitu 0.8.

Titik potong ditempatkan secara acak. Kode untuk proses

penyilangan dapat dilihat di bawah ini.

Page 109: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

93

UIN Syarif Hidayatullah Jakarta

Dari kedua pasang parent tersebut kita acak sebuah angka

riil untuk menentukkan apakah terjadi crossover pada pasangan

tersebut, jika terjadi crossover maka acak titik potong. Untuk

prosesnya dapat dilihat pada Tabel 4.23.

Tabel 4.23 Probabilitas Crossover Contoh

Pasangan Kromosom Angka Acak Titik

Potong

Acak

Keterangan

Kromosom3xKromosom6 0,78 3 Pasangan ini

mengalami

crossover di titik 2

Cpprob=0.8;

//Tahap Crossover parent menggunakan crossover one point//

for(int k=0;k<parent.length;k+=2) {

if (random.nextDouble() * (1 - 0) <= cprob) {

cp1 = (random.nextInt(5) + 1); //random titik potong crossover

Log.d("sout", "cp"+k+"x"+(k+1)+":"+cp1+"");

for (int j = 0; j < jmlhgen; j++) { //crossover child0/2

if (j <= cp1) {

child[k][j] = parent[k][j];

} else {

child[k][j] = parent[k+1][j];

}

}

for (int j = 0; j < jmlhgen; j++) { //crossover child1/3

if (j <= cp1) {

child[k+1][j] = parent[k+1][j];

} else {

child[k+1][j] = parent[k][j];

}

}

}

else {

for (int j = 0; j < jmlhgen; j++) { //tidak ada crossover

child[0][j] = parent[0][j];

Log.d("sout", "cp:Tidak crossover");

}

}

}

Page 110: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

94

UIN Syarif Hidayatullah Jakarta

Kromosom1xKromosom4 0,93 - Pasangan ini tidak

mengalami

crossover

Pada contoh ini pasasngan kromosom parent 3x6 mengalami

crossover dengan titik potong 3 sehingga menghasilkan individu

baru sebagaimana pada Gambar 4.19

Kromosom Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Parent Kromosom3 0 0 1 1 1 0

Kromosom6 0 1 0 0 0 1

Hasil Child1 0 0 1 0 0 1

Child2 0 1 0 1 1 0

Gambar 4.19 Crossover Contoh

Gambar 4.19 di atas bahwa persilangan menghasilkan

individu baru dengan kromosom 001101 dan 010010 yangmana

memiliki nilai desimal sebagaimana pada Tabel 4.24

Tabel 4.24 Hasil Persilangan Contoh

Kromosom

ke-

Kromosom Desimal(Nada)

Child1 001101 13(A2)

Child2 010010 18(D3)

Page 111: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

95

UIN Syarif Hidayatullah Jakarta

4.3.5.6. Mutasi

Tahapan mutasi pada aplikasi ini menggabungkan skema

mutasi pada tingkat kromosm dan skema mutasi hanya pada satu bit.

Pada dasarnya aplikasi akan mengacak angka riil antara 0 sampai 1

di setiap gen, jika angka acak tersebut bernilai kurang dari atau

0,167(nilai probabilitas mutasi) maka akan dilakukan mutasi pada

tingkat gen terhadap kromosom hasil crossover.

Kode untuk proses mutasi adalah sebagai berikut.

Pada contoh ini kita acak angka antara 0 dan 1, apabila hasil

pengacakan bernilai kurang dari atau sama dengan 0,167 maka gen

tersebut mengalami mutasi. Tabel 4.25 sampai Tabel 4.28Tabel 4.11

menunujukkan pengacakan angka.

//Tahap Mutasi Gen//

//jika random pada gen ke-j random mutasi lebih besar dari laju mutasi, maka lakukan mutase

double probmutasi = 0.167;

for (int i = 0; i < child.length; i++) {

for (int j = 0; j < jmlhgen; j++) {

//random angka

double randommutasi = 0 + random.nextDouble() * (1 - 0);

if (randommutasi <= probmutasi) {

if (child[i][j] == 1) {

child[i][j] = 0;

} else {

child[i][j] = 1;

}

}

}

}

Page 112: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

96

UIN Syarif Hidayatullah Jakarta

Tabel 4.25 Probabilitas Mutasi Child1 Contoh

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 0 1 1 0 1

Angka

Acak

0,31 0,54 0,67 0,28 0,13 0,74

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 0 1 1 1 1

Tabel 4.26 Probabilitas Mutasi Child2 Contoh

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 1 0 0 1 0

Angka

Acak

0,66 0,42 0,74 0,19 0,08 0,10

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Terjadi

Mutasi

Setelah

Mutasi

0 1 0 0 0 1

Page 113: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

97

UIN Syarif Hidayatullah Jakarta

Tabel 4.27 Probabilitas Mutasi Child3 Contoh

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 0 1 1 0 0

Angka

Acak

0,86 0,97 0,37 0,59 0,04 0,55

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 0 1 1 1 0

Tabel 4.28 Probabilitas Mutasi Child4 Contoh

Gen1 Gen2 Gen3 Gen4 Gen5 Gen6

Sebelum

Mutasi

0 1 0 0 1 0

Angka

Acak

0,35 0,75 0,15 0,66 0,24 0,77

Keterangan Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Tidak

Terjadi

Mutasi

Setelah

Mutasi

0 1 1 0 1 0

Berdasarkan hasil pengacakan pada Tabel 4.25 sampai Tabel

4.28, terjadi mutasi pada gen-gen Child1, Child2, Child3, dan

Child4. Perubahan kromosom dapat dilihat pada Gambar 4.20 dan

Gambar 4.21.

Page 114: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

98

UIN Syarif Hidayatullah Jakarta

0 0 1 1 0 1 - - - > 0 0 1 1 1 1

Gambar 4.20 Contoh Proses Mutasi

0 1 0 0 1 0 - - - > 0 1 0 0 0 1

Gambar 4.21 Contoh Proses Mutasi Child2

0 0 1 1 0 0 - - - > 0 0 1 1 1 0

Gambar 4.22 Contoh Proses Mutasi Child3

0 1 0 0 1 0 - - - > 0 1 1 0 1 0

Gambar 4.23 Contoh Proses Mutasi Child4

Setelah dilakukan mutasi kemudian keempat kromosom

Child dikonversi menjadi desimal dan dihitung nilai fitness-nya lalu

dicatat sebagai Mchild dapat dilihat pada Tabel 4.29.

Tabel 4.29 Hasil Proses Mutasi Contoh

Kromosom

ke-

Kromosom Desimal(Nada) Fitness

Mchild1 001111 15(B2) 0,7952404561229549

Mchild2 010001 17(C#3) 0,7932573128408528

Mchild3 001110 14(A#2) 0,7947446703024293

Mchild4 011001 10(F#2) 0,7828458106098165

4.3.5.7. Regenerasi

Tahap regenerasi merupakan tahap terakhir sebelum

pengecekan syarat berhenti. Tahap regenerasi pada aplikasi ini

adalah menggunakan steady-state, yaitu proses menghilangkan 4

Page 115: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

99

UIN Syarif Hidayatullah Jakarta

kromosom dengan fitness terendah dan menambahkan kromosom

hasil crossover dan mutasi jika hasil crossover dan mutasi memiliki

nilai fitness lebih baik dari kromosom terlemah.

Kode proses regenerasi pada aplikasi adalah sebagai berikut.

Bandingkan 4 kromosom terlemah dengan 4 Mchild

sebagaimana pada Tabel 4.30.

Tabel 4.30 Proses Perbandingan Untuk Regenerasi

Kromosom

ke-

Nilai

Kromosom

Fitness Kromosom

ke-

Nilai

Kromosom

Fitness

Keternagan

5 000110 0,7550818046603868 Mchild1 001111 0,7952404561229549 Timpah dengan

Mchild

2 010101 0,7773921665840356 Mchild2 010001 0,7932573128408528 Timpah dengan

Mchild

7 001001 0,7773921665840356 Mchild3 001110 0,7947446703024293 Timpah dengan

Mchild

8 001010 0,7828458106098165 Mchild4 011001 0,7828458106098165 Tidak berubah

//Tahap Regenerasi, Kromosom dengan fitness terendah akan digantikan oleh child//

for (int h = 0; h < child.length; h++) {

double a = 100;

for (int i = 0; i < jmlhpopulasi; i++) {

//cari nilai fitness terendah

if (f[i] < a) {

a = f[i];

terendah[h] = i;

}

}

if (fitchild[h] > f[terendah[h]]) {

for (int j = 0; j < jmlhgen; j++) {

//timpah nilai terendah dengan child baru

chr[terendah[h]][j] = child[h][j];

f[terendah[h]] = fitchild[h];

}

}

}

Page 116: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

100

UIN Syarif Hidayatullah Jakarta

Setelah diketahui kromosom mana yang hilang dan

kromosom mana yang dimasukkan maka didapatkan hasil

regenerasi seperti pada Tabel 4.31.

Tabel 4.31 Hasil Regenerasi Contoh

Generasi Pertama Generasi Kedua

Kromosom

ke-

Nilai

Kromosom

Nilai Fitness Nilai

Kromosom

Nilai Fitness

1 001100 0,7907783837382251 001100 0,7907783837382251

2 010101 0,7773921665840356 010001 0,7932573128408528

3 001110 0,7947446703024293 001110 0,7947446703024293

4 010010 0,7907783837382251 010010 0,7907783837382251

5 000110 0,7550818046603868 001111 0,7952404561229549

6 010001 0,7932573128408528 010001 0,7932573128408528

7 001001 0,7773921665840356 001110 0,7947446703024293

8 001010 0,7828458106098165 001010 0,7828458106098165

Hasil regenerasi generasi pertama adalah generasi kedua.

Tabel 4.31 di atas menunjukkan generasi kedua, di mana kromosom

ke-6, 2, dan 7 sudah diganti dengan kromosom dengan fitness lebih

baik hasil crossover dan mutasi. Semua kegiatan ini diulang sampai

dengan batas yang ditentukan yaitu 20 kali.

Tahapan terakhir dari Class Algogen adalah mencari nilai

fitness terbaik. Kromosom dengan nilai fitness terbaik yang dimiliki

pada generasi terakhir dijadikan hasil optimasi algoritma genetika

lalu dikirim ke class Hasil untuk ditampilkan kepada pengguna.

Page 117: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

101

UIN Syarif Hidayatullah Jakarta

4.3.6. Class Hasil

Class Hasil merupakan class yang berfungsi untuk menampilkan

semua hasil proses dalam aplikasi. Class ini menampilkan vocal range

pengguna, kunci asli lagu yang dipilih, hasil transpose, besar transpose, dan

rekomendasi kunci lagu setelah transpose.

Vocal range pengguna didapatkan dari class MainActivity

setelah melakukan tahapan deteksi vocal range.

Kunci lagu asli dan nada terendah asli lagu didapatkan dari

database setelah pengguna memilih pada class

menu_pilihlagu.

Hasil transpose merupakan nada yang didapatkan hasil

optimasi algoritma genetika yang ditulis sebagai ”nada

terendah sekarang”.

Besar transpose didapatkan dari hasil transpose yang

dikonversikan ke representasi angka lalu dikurangi

representasi angka dari nada terendah asli lagu.

Rekomendasi kunci lagu diperoleh menggunakan besar

transpose dan dimasukkan pada fungsi perhitungan nada

dasar yang tercantum pada subbab 4.3.2 sebelumnya.

Jika mengasumsikan Tabel 4.31 adalah generasi terakhir, berarti kita

mendapatkan hasil algoritma genetika bernilai 15 dengan nilai fitness

0,7952404561229549. Maka kesimpulan yang ditarik aplikasi sebagai

berikut:

Desimal hasil algoritma genetika yaitu 15 dikonversikan ke

dalam nada, maka “nada terendah sekarang” bernilai B2.

Besar transpose bisa dihitung dengan “nada terendah

sekarang” dikurangi dengan nada terendah lagu (F3), yaitu

15 dikurangi 21. Besar transpose adalah –6. Apabila besar

Page 118: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

102

UIN Syarif Hidayatullah Jakarta

transpose bernilai negatif maka nada lagu geser ke kiri,

apabila positif geser ke kanan.

Rekomendasi kunci lagu adalah kunci asli (C) lagu

dikurangi besar transpose, berarti rekomendasi kunci lagu

adalah F#.

Gambar 4.24 Ilustrasi Setelah Transpose

Gambar 4.24 menunjukkan letak nada lagu sesuai hasil transpose

aplikasi. Nada lagu digeser sebesar 6 nada ke kiri sesuai besar transpose

yangmana bergeser ke titik optimal dari vocal range penyanyi. Bisa dilihat

pada Gambar 4.24 tidak ada nada yang diluar dari vocal range penyanyi

sehingga penyanyi dapat menyanyikan lagu tersebut lebih optimal.

Class Hasil ini diakhiri dengan 3 pilihan. Ketiga pilihan itu adalah

mengulang semua tahapan dari awal lagi, menggunakan vocal range yang

sama untuk lagu lain yangmana aplikasi mengarahkan pengguna kembali

ke Class menu pilih lagu, atau pengguna bisa berhenti dan selesai

menggunakan aplikasi ini.

4.4. Testing

Pengujian aplikasi ini menggunakan metode black box, yangmana

dilakukan untkuk menguji kesalahan interface, fungsi yang salah atau hilang,

Page 119: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

103

UIN Syarif Hidayatullah Jakarta

kesalahan struktur data, kesalahan akses eksternal terhadap database, kesalahan

pada tingkat performa.

Dalam pengujian ini, penulis memberikan aplikasi untuk dicoba dan diamati

oleh user. User yang bertindak dalam pengujian black box ini adalah seorang ahli

di bidang vokal. Delly Trianggana, pelatih vokal berpengalaman 6 tahun dan

bersertifikat lomba tingkat internasional.

4.4.1. Pengujian Black Box

Pengujian black box dari segi interface akan meliputi pengujian

tampilan-tampilan pada aplikasi. Pengujian dilakukan dengan mencoba

setiap tampilan yang ada pada aplikasi. Hasil pengujian dapat dilihat pada

Tabel 4.32.

Tabel 4.32 Hasil Pengujian

No. Deskripsi Harapan Hasil Keterangan

1 Deteksi Vocal Range Aplikasi dapat

mendeteksi nada

setelah tombol

ditekan

Berhasil, Sudah cukup

sensitif dan tepat, namun

harus pertimbangkan noise

lingkungan dan vibra

penyanyi

2 Memilih Lagu Aplikasi dapat

memanggil

database lagu dan

menampilkannya

Berhasil

3 Memberikan

Rekomendasi

Aplikasi

memberikan

rekomendasi besar

transpose dan kunci

yang disarankan

Berhasil

Page 120: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

104

UIN Syarif Hidayatullah Jakarta

Pengujian dalam aplikasi menunjukkan hasil yang baik, tidak

terdapat kesalahan dan dapat bekerja sebagaimana yang diharapkan. Namun

penguji ahli mengomentari perlunya diperhitungkan lagi soal noise

lingkungan dan vibra penyanyi saat deteksi vocal range.

Page 121: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

105

BAB 5

5. HASIL DAN PEMBAHASAN

5.1.1. Hasil Aplikasi

Dalam menilai hasil aplikasi yang sudah dibuat, masih

menggunakan jasa dari seorang ahli untuk menilai performa aplikasi.

Langkah-langkah yang dilakukan dalam penilaian ini adalah sebagai

berikut.

a. Ahli mendeteksi Vocal Range.

b. Ahli mencoba semua lagu yang ada di aplikasi pada nada

asli lagu tersebut.

c. Ahli menghitung transpose terhadap masing-masing

lagu yang cocok bagi dirinya.

d. Aplikasi memberikan rekomendasi transpose masing-

masing lagu bagi ahli.

e. Bandingkan hasil rekomendasi ahli dan hasil

rekomendasi aplikasi.

Apabila hasil rekomendasi aplikasi dan rekomendasi ahli adalah

sama maka aplikasi dinilai baik karena telah mendekati kemampuan ahli.

Dalam penilaian ini vocal range yang terdeteksi adalah C3-F4. Hasil

penilaian dapat dilihat pada Tabel 5.1.

Page 122: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

106

UIN Syarif Hidayatullah Jakarta

Tabel 5.1 Hasil Aplikasi

Penyanyi-Judul

Kunci Dasar

Asli

Lagu

Hasil Ahli

(Besar

transpose)

Hasil Aplikasi

(Besar transpose)

Afgan - Terima Kasih

Cinta

C A (-3) A (-3)

Agnes Monica –

Matahariku

G G (-12) A (-10)

Judika – Jadi Aku Sebentar

Saja

A D (-7) D (-7)

Ruth Sahanaya – Andaikan

Kau Datang

D# F (-10) F (-10)

5.1.2. Pembahasan Hasil

Berdasarkan Tabel 5.1, terdapat 4 kasus lagu yang digunakan sebagai

penilaian aplikasi.

a. Kasus Lagu Afgan

Pada kasus lagu Afgan “Terima Kasih Cinta” hasil

rekomendasi ahli dan rekomendasi apliaksi bernilai sama yaitu turun

3 nada ke kunci A. Adapun untuk memahami bagaimana letak nada

berdasarkan rekomendasi dapat dilihat pada Gambar 5.1.

Page 123: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

107

UIN Syarif Hidayatullah Jakarta

Gambar 5.1 Kondisi Kasus Lagu Afgan Sebelum Transpose

Bisa dilihat pada Gambar 5.1 kondisi antara kemampuan

bernyanyi penyanyi dengan range nada lagu terdapat

ketidaksesuaian di mana range nada lagu ada yang di luar dari batas

vocal range penyanyi yang ditandai dengan warna merah. Maka dari

itu nada lagu perlu untuk digeser ke titik optimal vocal range.

Setelah aplikasi menghitung di mana titik optimalnya didapatkanlah

perlu turun nada sebesar 3 nada.

Gambar 5.2 Kondisi Kasus Lagu Afgan Setelah Transpose

Gambar 5.2 menunjukkan kondisi range nada lagu setelah

transpose dan diturunkan sebesar 3 nada. Bisa dilihat bahwa range

Page 124: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

108

UIN Syarif Hidayatullah Jakarta

nada lagu kini tidak ada yang melewati batas vocal range dan berada

di tengah-tengah vocal range yang menandakan berada di titik

optimal. Solusi ini disepakati oleh ahli maupun aplikasi.

Dapat dilihat lebih rinci rangkaian nada sebelum dan sesudah

dilakukan transpose sebagaimana pada Gambar 5.3.

Gambar 5.3Grafik Nada Kasus Lagu Afgan

0123456789

10111213141516171819202122232425262728293031323334353637383940

vers

e1 reff

vers

e2

reff

2

reff

3

Nad

a La

gu

Bagian Lagu

Kasus Lagu Afgan

Batas Vocal Range Penyanyi Sebelum Transpose Setelah Transpose

Page 125: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

109

UIN Syarif Hidayatullah Jakarta

b. Kasus Lagu Judika

Gambar 5.4 Kondisi Kasus Lagu Judika Sebelum Transpose

Pada kasus lagu Judika “Jadi Aku Sebentar Saja” hasil

rekomendasi ahli dan rekomendasi apliaksi bernilai sama yaitu turun

7 nada ke kunci D. Apabila melihat Gambar 5.4, dapat dipahami perlu

dilakukannya transpose karena range nada lagu melewati batas

vocal range penyanyi.

Gambar 5.5 Kondisi Kasus Lagu Judika Seteleah Transpose

Bisa dilihat pada Gambar 5.5 nada lagu digeser turun sebesar

7 nada sehingga range nada lagu berada persis dengan batas vocal

Page 126: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

110

UIN Syarif Hidayatullah Jakarta

range penyanyi. Kondisi ini merupakan kondisi yang optimal karena

antara vocal range dan range nada lagu memiliki range yang sama

yaitu 17 nada. Maka sudah dipastikan kondisi optimal bagi si

penyanyi adalah apabila nada lagu digeser sehingga berada persis

dengan batas vocal range. Pada kasus ini tidak ada perbedaan

pendapat antara ahli dan apliikasi karena kondisi ini adalah kondisi

optimal.

Dapat dilihat lebih rinci rangkaian nada sebelum dan sesudah

dilakukan transpose sebagaimana pada Gambar 5.6.

Gambar 5.6 Grafik Nada Kasus Lagu Judika

0123456789

101112131415161718192021222324252627282930313233343536373839404142

vers

e1

vers

e2 reff

reff

2

Ver

se3

reff

reff

2

reff

3

reff

reff

4

Nad

a La

gu

Bagian Lagu

Kasus Lagu Judika

Sebelum Transpose Setelah Transpose Batas Vocal Range Penyanyi

Page 127: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

111

UIN Syarif Hidayatullah Jakarta

c. Kasus Lagu Ruth Sahanaya

Gambar 5.7 Kondisi Kasus Lagu Ruth Sahanaya Sebelum Transpose

Pada kasus lagu Ruth Sahanya “Andaikan Kau Datang” hasil

rekomendasi ahli dan rekomendasi apliaksi bernilai sama yaitu turun

10 nada ke kunci F. Apabila melihat Gambar 5.4, dapat dipahami

perlu dilakukannya transpose karena range nada lagu melewati

batas vocal range penyanyi cukup jauh. Hal ini disebabkan oleh

perbedaan kemampuan bernyanyi Ruth Sahanaya yang tinggi

sedangkan penyanyi adalah seorang laki-laki yang kemampuan

bernyanyinya tidak setinggi Ruth Sahanaya.

Page 128: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

112

UIN Syarif Hidayatullah Jakarta

Gambar 5.8 Kondisi Kasus Lagu Ruth Sahanaya Setelah Transpose

Serupa dengan kasus lagu Judika, nada lagu digeser turun

sehingga berada persis pada batas vocal range penyanyi seperti pada

Gambar 5.8. Pada kasus ini terjadi lagi vocal range dan range nada

lagu yang sama yaitu 17 nada sehingga tidak ada perbedaan antara

rekomendasi ahli dan rekomendasi aplikasi karena kondisi ini adalah

yang paling optimal.

Dapat dilihat lebih rinci rangkaian nada sebelum dan sesudah

dilakukan transpose sebagaimana pada Gambar 5.9.

Page 129: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

113

UIN Syarif Hidayatullah Jakarta

Gambar 5.9 Grafik Nada Kasus Lagu Ruth Sahanaya

d. Kasus Lagu Agnes

Gambar 5.10 Kondisi Kasus Lagu Agnes Sebelum Transpose

1415161718192021222324252627282930313233343536373839404142434445

vers

e1

vers

e2 reff

vers

e2 reff

Imp

rov

reff

reff

2

end

ing

Nad

a La

gu

Bagian Lagu

Kasus Lagu Ruth Sahanaya

Sebelum Transpose Setelah Transpose Batas Vocal Range Penyanyi

Page 130: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

114

UIN Syarif Hidayatullah Jakarta

Pada kasus lagu Agnes “Matahariku” dapat dilihat pada

Gambar 5.10 bahwa range nada lagu melewati batas tinggi vocal

range sangat jauh. Hal ini terjadi karena kemampuan bernyanyi

Agnes yang sangat luas dan tinggi apabila dibandingkan dengan

vocal range penyanyi. Transpose di sini sangat perlu dilakukan

mengingat jauhnya range nada lagu melewati batas vocal range.

Gambar 5.11 Notifikasi Vocal Range

Pada kasus ini terjadi perbedaan rekomendasi pada kasus ini

di mana ahli merekomendasikan transpose ke kunci G (turun 12

nada dari kunci asli) sedangkan aplikasi merekomendasikan ke

kunci A (turun 10 nada dari kunci asli), namun terdapat notifikasi

seperti pada Gambar 5.11 di aplikasi bahwa vocal range penyanyi

lebih sempit dari range nada lagu tersebut sehingga pengguna

setidaknya mengetahui bahwa pengguna akan kesulitan dalam

menyanyikan lagu ini karena sebagaimanapun dilakukan transpose,

vocal range pengguna tidak akan dapat menutup .

Page 131: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

115

UIN Syarif Hidayatullah Jakarta

Gambar 5.12 Kondisi Kasus Lagu Agnes Setelah Transpose Aplikasi

Aplikasi merekomendasikan turun 10 nada ke kunci A

sehingga hasil pergeseran terlihat seperti pada Gambar 5.12.

Rekomendasi aplikasi menggunakan fungsi obyektif RUMUS 2

sebagai penilaian pada kasus vocal range yang lebih sempit dari

range nada lagu masih terdapat nada yang tidak sesuai bagi

penyanyi. Nada yang tidak sesuai tersebut terbilang imbang pada

antara batas nada rendah dan batas nada tinggi lagu. Pada batas nada

rendah lagu berjarak 3 nada dari batas vocal range dan pada batas

nada tinggi lagu berjarak 4 nada dari batas vocal range.

Gambar 5.13 Kondisi Kasus Lagu Agnes Setelah Transpose Ahli

Page 132: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

116

UIN Syarif Hidayatullah Jakarta

Ahli merekomendasikan turun 12 nada ke kunci G sehingga

hasil pergeseran terlihat seperti pada Gambar 5.13. Rekomendasi ahli

masih terdapat nada yang tidak sesuai bagi penyanyi karena vocal

range lebih sempit dibandingkan dengan range nada lagu. Nada

yang masih tidak sesuai hasil rekomendasi ahli terbilang tidak

imbang antara batas nada rendah dan batas nada tinggi lagu. Pada

batas nada rendah lagu berjarak 5 nada dari batas vocal range

sedangkan pada batas nada tinggi lagu berjarak hanya 2 nada dari

batas vocal range. Ahli memiliki pertimbangan lain berupa

mengejar nada tinggi lagu saat bernyanyi dengan mengorbankan

nada rendah pada lagu tersebut karena ahli adalah seorang laki-laki

dan merasa masih bisa mengusahakan nada-nada rendah.

Dapat dilihat lebih rinci rangkaian nada sebelum dan sesudah

dilakukan transpose sebagaimana pada Gambar 5.14.

Page 133: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

117

UIN Syarif Hidayatullah Jakarta

Gambar 5.14 Grafik Nada Kasus Lagu Agnes

Jadi, aplikasi ini berhasil merekomendasikan 3 dari 4 lagu sesuai

dengan rekomendasi ahli. Dengan kata lain aplikasi memiliki performa

keakuratan 75%. Adapun untuk kasus lagu yang memiliki range lebih luas

dari vocal range pengguna aplikasi belum sesuai dengan rekomendasi ahli.

Terlepas dari hal itu, ahli telah menilai aplikasi memberikan hasil yang

bagus dan aplikasi sudah layak sebagai alternatif dalam merekomendasikan

transpose bagi penyanyi pemula daripada menggunakan metode menerka-

nerka.

6789

1011121314151617181920212223242526272829303132333435363738394041424344454647484950ve

rse1

bri

dge

vers

e2

bri

dge reff

reff

vers

e2

bri

dge

2

imp

rove

imp

rove

reff

2

imp

rove

reff

3

reff

4

reff

Nad

a La

gu

Bagian Lagu

Kasus Lagu Agnes

Sebelum Transpose Hasil Transpose Aplikasi

Batas Vocal Range Penyanyi Hasil Transpose Ahli

Page 134: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

118

UIN Syarif Hidayatullah Jakarta

Rekapitulasi Hasil

a. Kasus Lagu Afgan

Sebelum:

Sesudah:

b. Kasus Lagu Judika

Sebelum:

Sesudah:

Page 135: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

119

UIN Syarif Hidayatullah Jakarta

c. Kasus Lagu Ruth Sahanaya

Sebelum:

Sesudah:

d. Kasus Lagu Agnes

Sebelum:

Sesudah:

Page 136: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

120

BAB 6

6. KESIMPULAN DAN SARAN

6.1. Kesimpulan

Hasil penelitian aplikasi rekomendasi transpose lagu berdasarkan vocal

range berbasis android ini memiliki poin-poin kesimpulan sebagai berikut:

a. Aplikasi rekomendasi transpose berhasil dikembangkan menggunakan

algoritma genetika berbasis android 6.0 (Marshmallow) dengan

parameter 8 individu untuk 1 generasi, 6 gen untuk 1 kromosom, syarat

berhenti 20 perulangan, seleksi secara elitis 2 pasangan parent,

crossover 1 titik dengan probabilitas 0,8, mutasi tingkat gen dengan

probabilitas mutasi sebesar 0,167, dan regenerasi steady-state berhasil

memberikan solusi transpose yang optimal dengan nilai 75% akurat..

b. Berdasarkan pengujian black box proses deteksi vocal range aplikasi

dinilai sudah sensistif dan akurat.

c. Aplikasi dinilai layak oleh ahli sebagai aplikasi rekomendasi transpose

bagi penyanyi pemula.

6.2. Saran

Dalam penelitian selanjutnya, penulis merasa perlu dilakukan beberapa

perbaikan dan pengembangan aplikasi ini dalam beberapa aspek sebagai

berikut:

a. Penelitian berikutnya dapat mengembangkan pemetaan nada yang

lebih dari 64 nada.

b. Dapat menggunakan tangga nada lain selain kromatik ataupun

dapat menuliskan kunci-kunci yang kompleks.

Page 137: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

121

UIN Syarif Hidayatullah Jakarta

c. Diharapkan penelitian selanjutnya dapat mempertimbangkan noise

lingkungan ketika deteksi vocal range ataupun menggunakan

algoritma lain dalam melakukan proses deteksi vocal range.

d. Penelitian selanjutnya dapat bereksperimen parameter, fungsi

obyektif, variasi algoritma genetika ataupun ekseperimen algoritma

lain agar rekomendasi transpose lagu dapat lebih optimal seperti

algoritma HPS (Harmony Product Spectrum) dan algoritma ant

colony.

Page 138: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

122

DAFTAR PUSTAKA

A.S, R., & Shalahuddin, M. (2014). Rekayasa Perangkay Lunak Terstruktur dan

Berorientasi Objek. Bandung: Informatika Bandung.

Aditya, S. K., & Karn, V. K. (2014). Android SQLite Essential. Birmingham:

Packt Publishing.

Ahmadiyah, A. S., Sunaryono, D., & Ramadhan, B. D. P. (2017). Sistem

Rekomendasi Lagu Berdasarkan Jenis Suara Penyanyi Pada Aplikasi

Karaoke. JUTI: Jurnal Ilmiah Teknologi Informasi, 15(2), 248.

https://doi.org/10.12962/j24068535.v15i2.a675

Alshamrani, A., & Abdullah, B. (2015). A Comparison Between Three SDLC

Models Waterfall Model, Spiral Model, and Incremental/Iterative Model.

International Journal of Computer Science Issues (IJCSI), 12(1), 106–111.

https://doi.org/10.1016/j.quascirev.2007.10.001

Android. (2019). Platform Version. Retrieved May 20, 2019, from

https://developer.android.com/about/dashboards

Budiharto, W., & Suhartono, D. (2014). Artificial Intelligence Konsep dan

Penerapannya. Yogyakarta: ANDI.

Day, H., Kovarsky, J., Neely, B., Pearl, D., & Pilhofer, M. (2014). Piano &

Keyboard All-In-One For Dummies. New Jersey: John Wiley & Sons,Inc.

Dhami, H. P. S. (2016). Comparative Study and Analysis of Software Process

Models on Various Merits. 6(9), 234–243.

Egisthi, V. A., Andreswari, D., & Setiawan, Y. (2016). Aplikasi Latih Vokal

Dengan Menggunakan Metode Harmonic Product Spectrum (Hps) Dan

Boyer Moore Berbasis Android. Simetris : Jurnal Teknik Mesin, Elektro Dan

Ilmu Komputer, 7(2), 501. https://doi.org/10.24176/simet.v7i2.761

Page 139: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

123

UIN Syarif Hidayatullah Jakarta

Gulo, W. (2002). Metode Penelitian. Jakarta: Gramedia Widiasarana Indonesia.

Gunawan, I. (2013). Metode Penelitian Kulaitatif: Teori dan Praktik. Jakarta: PT

Bumi Aksara.

Hendini, A. (2016). PEMODELAN UML SISTEM INFORMASI MONITORING

PENJUALAN DAN STOK BARANG (STUDI KASUS: DISTRO ZHEZHA

PONTIANAK). IV(2), 107–116.

Juhara, Z. P. (2016). Panduan Lengkap Pemograman ANDROID. Yogyakarta:

ANDI.

Kumar, M. (2018). A Comparative Study of Universally Accepted SDLC Models

for Software Development. 4(5), 1084–1092. Retrieved from www.ijsrst.com

Martono, N. (2014). Metode Penelitian Kuantitatif Analisis Isi dan Anlisis Data

Sekunder. In Edisi Revis i2 (Edisi Revi, p. 207).

Miller, M. (2005). The Complete Idiot’s Guide to Music Tehory (2nd ed.). New

York: Penguin Group.

Mustafa, W. F., Djamal, E. C., & Yuniarti, R. (2017). Optimalisasi Menu Makan

Diet Sehat Menggunakan Algoritma Genetika. (September), 50–54.

Paret, D., & Sibony, S. (2017). Musical Techniques Frequencies and Harmony.

London: John Wiley & Sons,Inc.

Pilhofer, M., & Day, H. (2015). Music Theory For Dummies (3rd ed.). New

Jersey: John Wiley & Sons,Inc.

Prasetio, R., Hidayatno, A., & Santoso, I. (2014). Perancangan Sistem Perbaikan

Nada Suara Manusia Dengan Menggunakan Metode Phase Vocoder

Terhadap Nada Referensi Musik. Transmisi, 16(4).

Pressman, R. S. (2011). Software Engineering A Practitioner’s Approach (8TH

ed., Vol. 112). https://doi.org/10.1192/bjp.112.483.211-a

Prtyono. (2016). Metode Penelitian Kuantitatif (Revisi 201). Surabaya: Zifatama.

Page 140: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

124

UIN Syarif Hidayatullah Jakarta

Ridha, M. S., & Harafani, H. (2019). Implementasi Algoritma Genetika Pada

Perancangan Aplikasi Android Untuk Memprediksi Buta Warna. V(1), 135–

138. https://doi.org/10.31294/jtk.v4i2

Safaat H., N. (2015). ANDOROID Pemograman Aplikasi Mobile Smartphone dan

Tablet PC Berbasis Android (Revisi 2). Bandung: Informatika Bandung.

Semiawan, C. R. (2010). Metode Penelitian Kualitatif: Jenis, Karakteristik dan

Keunggulannya. Jakarta: PT G.

Setiawan, H., Swastika, W., Leona, O., & Kelana, O. H. (2018). Aransemen Nada

Alto , Tenor , dan Bass Menggunakan Algoritma Genetika. 4, 387–396.

Sinaga, T. (2018). Gondang : Jurnal Seni dan Budaya Dasar-Dasar Teknik

Bernyanyi Opera. 2(2), 79–89.

Six, J. (2015). Digital Sound Processing and Java: Documentation for the

TarsosDSP. 1–10.

Sqlite.org. (n.d.). About SQLite. Retrieved May 16, 2019, from

https://www.sqlite.org/about.html

Suprapto. (2008). BAHASA PEMROGRAMAN. Jakarta: Direktorat Pembinaan

Sekolah Menegah Kejuruan.

Sutojo, T., Mulyanto, E., & Suhartono, D. (2011). Kecerdasan Buatan.

Yogyakarta: ANDI.

Suyanto. (2014). Artificial Intelligence Searching, Reasoning, Planning, dan

Learning (Revisi Ked). Bandung: Informatika Bandung.

Unhelkar, B. (2018). Software Engineering With UML. Florida: CRC Press.

Zukhri, Z. (2014). Algoritma Genetika Metode Komputasi Evolusioner untuk

Menyelesaikan Masalah Optimasi. Yogyakarta: ANDI.

Page 141: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

125

DAFTAR LAMPIRAN

Lampiran 1 Wawancara Ahli

Tanggal: 13 April 2019

Narasumber: Fitri Intendia

Pelatih vokal berpengalaman 8 tahun dan bersertifikat internasional untuk pelatih vokal

genre pop dari Trinity College dan grade 8 DipABRSM

1. Apa itu vokal?

Vokal adalah salah satu instrumen musik yang asal suaranya berasal dari pita suara manusia

2. Apa saja jenis-jenis vokal?

Vokal dibagi berdasarkan genre musik yaitu pop, klasik, jazz, dll. Setiap manusia memiliki

karakteristik suara yang berbeda-beda dan untuk menentukan jenis suara seseorang bisa dilihat

berdasarkan warna suara dan itu bernilai subjektif. Namun bukan berarti jika seseorang berwarna

suara salah satu genre, maka ia tidak bagus pada genre lain. Untuk jenis suara berdasar genre, satu

orang bisa memiliki banyak jenis suara.

Vokal berdasarkan jenis kelamin, vokal range, warna suara. Untuk perempuan ada sopran

untuk vokal range yang tinggi, mezzo untuk vokal yang tengah-tengah, alto untuk vokal rendah. Dan

untuk laki-laki ada Tenor, Baritone, Bass

Tapi bukan berarti seseorang yang memiliki vokal range luas dan tinggi pasti

diklasifikasikan sebagai sopran. Harus dilihat kembali warna suara dan faktor lain di mana ia

nyaman bernyanyi rongga atas atau rongga bawah yang lebih terbuka. Secara umum klasifikasinya

itu sopran, alto, tenor, bass. Untuk mezzo dan lainnya itu ada karena perhitungan gradasi suara

karena gak mungkin klasifikasi dari tinggi tiba-tiba ke rendah.

Vokal itu luas, jadi harus di fokuskan ingin di mana lalu dimaksimalkan. Karena setiap

jenis suara tersebut memiliki kelebihan masing-masing. Kebanyakan untuk lagu dan penyanyi pop

itu biasanya suara tengah, Mezzo dan Baritone.

Page 142: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

126

UIN Syarif Hidayatullah Jakarta

(lanjutan)

3. Berdasarkan pengalaman melatih vokal, rata-rata nada terendah dan rata-rata nada

tertingginya orang pada umumnya itu pada nada apa?

Laki-laki dewasa: D2-A4

Perempuan dewasa: F3-G5

4. Apakah Vokal Range seseorang itu berubah-ubah atau konstan?

Tergantung, jika ia sering latihan maka vokal range bisa diperlebar. Vokal range itu tidak

bisa diprediksi, namun bisa dilatih untuk memperlebar vokal range itu sendiri. Tapi latihan itu

sendiri tidak menjamin vokal range untuk melebar.

Tidak selalu vokal range luas berarti suaranya bagus dan bukan berarti vokal range sempit

berarti suaranya jelek. Tergantung bagaimana memaksimalkan vokal range. Vokal range bukanlah

indikator suara lebih bagus atau tidak.

Vokal range dapat berubah-ubah secara dinamis di setiap harinya. Dipengaruhi oleh kondisi

fisik, seseorang yang tidak fit tentu vokal rangenya akan turun. Begitu juga dengan semakin tua

umur seseorang akan semakin turun. Nada tinggi yang dijangkau akan semakin turun.

5. Di mana titik optimal vokal range?

Optimal itu biasanya di tengah-tengah. Gak mungkin di ujung bawah atau di ujung atas.

Jika seseorang itu nyaman bernyanyi di ujung atas, berarti sebenarnya vokal range-nya itu lebih luas.

6. Apa itu transpose lagu?

Transpose lagu itu memindahkan key signature atau nada asli sebuah lagu. Dengan tujuan

agar penyanyi yang memiliki vokal range tidak sesuai dengan range lagu bisa menyanyikan lagu

tersebut.

Page 143: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

127

UIN Syarif Hidayatullah Jakarta

(lanjutan)

7. Bagaimana menentukan ke mana harus transpose nada?

Harus tahu dulu range nada lagunya lalu cocokkan dengan vokal range aman penyanyinya.

Atau bisa dikatakan titik optimal vokal range tadi itu. Tapi kalau sulit untuk mencari range nada

lagu, boleh dikatakan caranya coba-coba dengan menurunkan satu demi satu nada dari nada tertinggi

penyanyi sampai si penyanyi nyaman menyanyikannya.

Kecuali kita punya data vokal range optimal penyanyi dan range nada lagu, maka tinggal

dicocokkan. Tapi pada kenyataannya musisi tidak ada yang sampai membuat data seperti itu.

8. Apakah dengan berhasilnya transpose nada ke titik optimal vokal range seseorang berarti

orang tersebut akan bernyanyi lebih bagus?

Pasti. Karena titik optimal vokal range itu adalah titik optimal suara penyanyi tersebut.

Page 144: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

128

UIN Syarif Hidayatullah Jakarta

(lanjutan)

Wawancara ini dilakukan untuk mendapat informasi sistem yang berjalan saat ini.

Tanggal: 22 Agustus 2019

Narasumber: Delly Trianggana, Pelatih vokal Purwacaraka berpengalaman mengajar selama 6

tahun dan bersertifikat dalam mengikuti lomba di Trimini International Choral Competition 2009, ,

Swiss Choral Festival, Irlandia Choral Festival, Praha Cantat 2015.

1. Apa itu vokal?

Vokal adalah suara, kemampuan mengeluarkan notasi dari mulut.

2. Apa saja jenis-jenis vokal?

Klasifikasi vokal itu berdasar tebal tipisnya pita suara, semakin tipis maka suara semakin

tinggi, semakin tebal pita suara maka semakin rendah. Dibagi juga untuk wanita: Sopran,

Mezzo Sopran, Alto dan untuk pria: Tenor, Baritone, dan Bass.

Faktor yang mempengaruhi adalah tebal-tipis tadi, karakter vokal, vocal range juga

3. Apakah Vokal Range seseorang itu berubah-ubah atau konstan?

Setiap orang mempunyai kemampuan jangkuan nada yang berbeda-beda, itulah vocal

range. Semakin tua, pita suara akan semakin tebal senhingga vocal range akan cendrung

menurun, kecuali sering dilatih. Kondisi fisik dan keseahatan akan mempengaruhi vocal

range.

4. Berdasarkan pengalaman melatih vokal, rata-rata nada terendah dan rata-rata nada

tertingginya orang pada umumnya itu pada nada apa?

Secara umum, A2-E4

5. Di mana titik optimal vokal range?

Untuk ketika berbicara biasanya di nada-nada rendah, tapi untuk bernyanyi akan bergeser

ke kanan sedikit dari nada berbicaranya.

Page 145: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

129

UIN Syarif Hidayatullah Jakarta

(lanjutan)

6. Apa itu transpose lagu?

Transpose kunci adalah merubah nada dasar lagu, misalkan tadinya kuncinya di C tapi

karena range nada lagu dan range penyanyi berbeda maka disesuaikan dengan vocal range-

nya

7. Bagaimana menentukan ke mana harus transpose nada?

Harus paham vocal range penyanyi dan range nada lagu. Untuk orang awam atau penyanyi

pemula yang tidak memliki intuisi musisi atau sensitifitas nada maka biasanya masih

menerka-nerka. Dengan menerka-nerka tersebut belum tentu hasilnya sesuai kemampuan

optimalnya. Salahnya, yang tidak paham itu akan memaksa menyanyikan di nada yang

tidak sampai yangmana sebenarnya dapat mengakibatkan cidera pita suara.

8. Apakah dengan berhasilnya transpose nada ke titik optimal vokal range seseorang berarti

orang tersebut akan bernyanyi lebih bagus?

Betul. Akan lebih optimal.

9. Apakah dibutuhkan sebuah aplikasi untuk menentukan transpose?

Ya, kalo dalam konteks penyanyi pemula tadi sih boleh dikatakan dibutuhkan aplikasi

daripada mencederai pita suara.

10. Boleh minta saran lagu-lagu yang bisa menjadi patokan untuk uji coba aplikasi?

Afgan – Terima Kasih Cinta

Agnes Monica – Matahariku

Judika – Jadi Aku Sebentar Saja

Ruth Sahanaya – Andaikan Kau Datang Kembali

Cukup 4 itu, sudah cukup mewakili.

Page 146: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

130

UIN Syarif Hidayatullah Jakarta

Lampiran 2 Wawancara Pengujian

Wawancara ini dilakukan untuk mendapat evaluasi pengujian aplikasi yang dibuat.

Tanggal: 22 Agustus 2019

Narasumber: Delly Trianggana

1. Apakah tampilan utama pada aplikasi bermasalah? Bagaimana pendapat anda secara estetika maupun fungsional?

Secara keseluruhan sudah simple dan sederhana. Secara fungsional sudah bagus dalam deteksi vocal range kita

sudah sensitif, namun harus dipertimbangkan noise di sekitar

2. Apakah tampilan saat memilih lagu pada aplikasi bermasalah? Bagaimana pendapat anda secara estetika maupun

fungsional?

Tidak ada masalah.

3. Apakah tampilan hasil pada aplikasi bermasalah? Bagaiamana pendapat anda secara estetika maupun fungsional?

Sudah layak

4. Apakah tampilan instruksi pada aplikasi bermasalah? Bagaimana pendapat anda secara estetika maupun

fungsional?

Harusnya instruksi itu ada halaman yang menjelaskan tahapan apikasi, barulah disitu langsung mulai ke deteksi

vokal itu.

5. Apakah deteksi nada pada aplikasi bekerja dengan baik? Bagaimana ketepatan deteksi nada aplikasi?

Sudah cukup akurat, namun ketika ketemu nada rendah itu kurang stabil. Karena vibra seseorang itu bisa

berbeda-beda, dan pertimbangkan waktu akuisisinya, jangan terlalu lama.

6. Apakah aplikasi berhasil merekomendasikan kunci yang optimal bagi user? Bagaimana tingkat keakuratan

mencari titik optimalnya (boleh nyatakan dalam bentuk persen)?

Jika untuk pasar awam, aplikasi ini sudah recommended. Result bagus dari pengujian, saya berani mengatakan

sudah 75% akurat.

7. Apakah aplikasi ini layak menjadi alternatif dalam menentukan transpose lagu?

Sudah layak untuk orang umum, dan cukup layak untuk musisi.

8. Berikan Komentar dan Saran anda soal aplikasi!

Alangkah lebih bagusnya lagi, setelah ditampilkan result ada tahapan berikutnya yangmana di play sebuah

musik yang sudah di transpose sesuai result sehingga bisa langsung di tes

Page 147: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

131

UIN Syarif Hidayatullah Jakarta

(lanjutan)

Page 148: Aplikasi Rekomendasi Transpose Lagu Berdasarkan …repository.uinjkt.ac.id/dspace/bitstream/123456789/48659...Aplikasi Rekomendasi Transpose Lagu Berdasarkan Vocal Range Menggunakan

132

UIN Syarif Hidayatullah Jakarta

No. Test Case Hasil Keterangan

1 Tampilan Utama Baik. Sederhana secara keseluruhan

2 Tampilan Instruksi Masih Kurang Jelas

3 Tampilan Pilihan

Lagu

Baik

4 Tampilan Hasil Baik. Tapi bahasanya perlu diperhalus lagi

agar orang awam atau penyanyi pemula

mengerti

Ket:

: Batas Vocal Range

: Batas Range Nada Lagu

: Nada yang tidak sesuai dengan penyanyi