Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
i
PENGELOMPOKAN ANGGOTA BARU PADUAN SUARA MAHASISWA
MENGGUNAKAN METODE AGGLOMERATIVE HIERARCHICAL
CLUSTERING
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Informatika
oleh :
Joni Rourensius
145314016
PROGRAM STUDI INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
CLUSTERING NEW MEMBER OF STUDENT CHOIR USING
AGGLOMERATIVE HIERARCHICAL CLUSTERING METHOD
A THESIS
Presented as Partial Fullfilment of the Requirement
to Obtain the Sarjana Komputer Degree
in Informatics Study Program
By :
Joni Rourensius
145314016
INFORMATICS STUDY PROGRAM
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
Skripsi ini saya persembahkan kepada keluarga saya tercinta,
dosen-dosen yang berjasa, dan semua orang terdekat saya.
“You may say I’m a dreamer, but I’m not the only one”
- John Lennon –
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Cantus Firmus adalah salah satu unit kegiatan mahasiswa terbesar di
Universitas Sanata Dharma. Paduan suara ini setiap tahunnya melakukan
penerimaan anggota baru, jumlah pendaftar setiap tahunnya berjumlah ratusan.
Melalui proses seleksi tersebut, diperoleh data seleksi penerimaan anggota baru
dan data tersebut kemudian akan dikelompokkan menggunakan Agglomerative
Hierarchical Clustering dengan menggunakan 3 metode didalamnya yakni Single-
linkage, Average-linkage, dan Complete-linkage.
Dalam proses pengelompokkan yang dilakukan, data kemudian akan
dikelompokkan kedalam 4 kelompok jenis suara yaitu Sopran, Alto, Tenor, dan
Bass. Tujuannya adalah untuk mengetahui apakah metode Agglomerative
Hierarchical Clustering dapat dengan baik mengelompokkan data sesuai dengan
jenis suara mereka. Oleh karena itu, hasil dari pengelompokkan kemudian akan
diuji akurasinya menggunakan metode Confusion Matrix.
Dari ketiga metode yang diujikan, diketahui metode Complete-linkage
menghasilkan akurasi yang paling tinggi yaitu 84% karena metode ini
menggunakan pengambilan nilai jarak yang paling besar ketika proses
pengelompokan dilakukan, sehingga masing-masing cluster memiliki jarak yang
paling maksimal. Metode Average-linkage dan Single-linkage diketahui
menghasilkan akurasi yang lebih rendah.
Kata kunci : Pengelompokan anggota baru Cantus Firmus, Agglomerative
Hierarchical Clustering, Single-linkage, Average-linkage, Complete-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Cantus Firmus is one of the largest student activity units at Sanata Dharma
University. This choir conducts the process of accepting new members each year,
the number of registrants every year is in the hundreds. Through the selection
process, new member selection data is obtained and then the data will be grouped
using Agglomerative Hierarchical Clustering with 3 methods, that is Single-
linkage, Average-linkage, and Complete-linkage.
In the clustering process, the data will then be grouped into 4 groups of
voice classification namely Soprano, Alto, Tenor, and Bass. The purpose is to find
out whether the Agglomerative Hierarchical Clustering method can properly
group data according to their voice classification. Therefore, the results of the
grouping will then be tested for accuracy using the Confusion Matrix method.
Three methods were tested, it is known that the Complete-linkage method
produces the highest accuracy which is 84% because this method uses the largest
distance retrieval value when the grouping process is carried out, so that each
cluster has the maximum distance. The Average-linkage and Single-linkage
methods are known to produce lower accuracy in this case.
Keywords : Clustering new member of Cantus Firmus, Agglomerative
Hierarchical Clustering, Single-linkage, Average-linkage, Complete-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur saya sebagai penulis panjatkan kepada Tuhan Yang Maha
Esa atas segala berkat, bimbingan, dan rahmat yang telah dilimpahkan kepada
penulis sehingga dapat menyelesaikan tugas akhir yang berjudul “Pengelompokan
Anggota Baru Paduan Suara Mahasiswa menggunakan Metode Agglomerative
Hierarchical Clustering” yang merupakan salah syarat yang diperlukan untuk
menyelesaikan studi dan memperoleh gelar sarjana pada program studi
Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma
Yogyakarta.
Penulis juga dengan segenap kerendahan hati ingin mengucapkan terima
kasih yang sebanyak-banyaknya kepada pihak-pihak berikut karena tugas akhir ini
dapat terselesaikan :
1. Seluruh keluarga saya, kedua orang tua dan kelima kakak saya yang
telah memberikan dukungan, semangat, dan perhatian yang sangat
membantu penulis dalam mengerjakan tugas akhir.
2. Romo Dr. Cyprianus Kuntoro Adi, S.J. M.A., M.Sc. yang merupakan
dosen pembimbing penulis yang memberikan bimbingan untuk penulis
dalam mengerjakan tugas akhir.
3. Samuel, mas Dedi, mbak Vani, dan Jessica yang selalu menemani,
memotivasi, membantu, hingga menghibur penulis dalam
menyelesaikan tugas akhir.
4. Semua orang yang memberikan semangat untuk tidak menyerah dan
membantu sesuai dengan kebutuhan penulis, terima kasih.
Penulis menyadari penulisan tugas akhir ini masih jauh dari sempurna.
Kritik dan saran yang membangun diharapkan akan membantu tugas akhir ini.
Akhir kata, semoga tugas akhir ini memberikan informasi yang bermanfaat bagi
yang membutuhkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
HALAMAN JUDUL (INGGRIS) ........................................................................... ii
HALAMAN PERSETUJUAN PEMBIMBING .... Error! Bookmark not defined.
HALAMAN PENGESAHAN ................................................................................ iii
HALAMAN PERSEMBAHAN ............................................................................. v
PERNYATAAN KEASLIAN KARYA ................................................................. v
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS .............................................................. vi
INTISARI ............................................................................................................. viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI .......................................................................................................... xi
DAFTAR TABEL ................................................................................................ xiv
DAFTAR GAMBAR ........................................................................................... xvi
BAB I PENDAHULUAN .................................................................................... 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Rumusan Masalah .................................................................................... 4
1.3. Tujuan Penelitian ...................................................................................... 4
1.4. Batasan Masalah ....................................................................................... 4
1.5. Manfaat Penelitian .................................................................................... 5
1.6. Metodologi Penelitian .............................................................................. 5
1.7. Sistematika Penulisan ............................................................................... 6
BAB II LANDASAN TEORI ................................................................................ 7
2.1. Euclidean Distance ................................................................................... 7
2.2. Cosine Similarity ...................................................................................... 7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.3. Himpunan Data ......................................................................................... 8
2.4. Konsep Analisis Cluster ......................................................................... 10
2.4.1 Pengertian Analisis Cluster ............................................................. 10
2.4.2 Prosedur Analisis Cluster ................................................................ 11
2.5. Tipe Clustering ....................................................................................... 12
2.6. Tipe Cluster ............................................................................................ 13
2.7. Hierarchical Clustering ......................................................................... 14
2.7.1. Agglomerative Hierarchical Clustering .......................................... 15
2.7.2. Algoritma Agglomerative Hierarchical Clustering ........................ 21
2.8. Confusion Matriks .................................................................................. 22
BAB III METODE PENELITIAN........................................................................ 24
3.1. Data ........................................................................................................ 24
3.2. Tahapan Penelitian ................................................................................. 26
3.2.1. Studi Literatur ................................................................................. 26
3.2.2. Pengumpulan Data .......................................................................... 27
3.2.3. Pembuatan Alat Uji ......................................................................... 27
3.2.4. Pengujian ......................................................................................... 27
3.3. Analisa Kebutuhan Proses ...................................................................... 28
3.4. Desain Interface ..................................................................................... 28
3.5. Gambaran Umum Sistem ....................................................................... 29
3.5.1. Tahap Agglomerative Hierarchical Clustering ............................... 30
3.5.2. Tahap Output ................................................................................... 34
3.6. Implementasi Rancangan ....................................................................... 34
3.6.1. Diagram Konteks ............................................................................ 34
3.6.2. Data Flow Diagram Level 1 ............................................................ 35
3.6.3. Data Flow Diagram Level 2 ............................................................ 36
3.7. Penjelasan Proses ................................................................................... 37
3.7.1. Input Data ........................................................................................ 37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
3.7.2. Pre-processing ................................................................................ 37
3.7.3. Pengukuran jarak ............................................................................. 41
3.7.4. Clustering ........................................................................................ 42
3.7.5. Perhitungan akurasi ......................................................................... 53
3.8. Spesifikasi Alat ....................................................................................... 54
BAB IV IMPLEMENTASI HASIL DAN ANALISA ......................................... 55
4.1. Hasil Clustering dan Pengujian Confusion ............................................ 55
4.2. Hasil Penelitian dan Analisa ................................................................... 62
BAB V KESIMPULAN DAN SARAN ............................................................... 67
5.1. Kesimpulan ............................................................................................. 67
5.2. Saran ....................................................................................................... 68
DAFTAR PUSTAKA ........................................................................................... 69
LAMPIRAN .......................................................................................................... 71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR TABEL
Tabel 2. 1 Contoh Data Single-linkage ............................................................................. 16
Tabel 2. 2 Penyelesaian contoh data Single-linkage ......................................................... 17
Tabel 2. 3 Contoh data Complete-linkage ......................................................................... 18
Tabel 2. 4 Penghitungan jarak cluster contoh data Complete linkage .............................. 18
Tabel 2. 5 Penyelesaian contoh data Complete-linkage .................................................... 19
Tabel 2. 6 Contoh data Average-linkage ........................................................................... 20
Tabel 2. 7 Penghitungan jarak contoh data Average-linkage ............................................ 20
Tabel 2. 8 Penyelesaian contoh data Average-linkage ...................................................... 21
Tabel 3. 1 Deskripsi atribut data ....................................................................................... 25
Tabel 3. 2 Variabel Jenis Kelamin .................................................................................... 38
Tabel 3. 3 Variabel Jenis Suara ......................................................................................... 38
Tabel 3. 4 Variabel Range Nada ....................................................................................... 38
Tabel 3. 5 Variabel Karakter Suara ................................................................................... 38
Tabel 3. 6 Variabel Noise .................................................................................................. 39
Tabel 3. 7 Variabel Ketebalan Suara ................................................................................ 39
Tabel 3. 8 Variabel Nada Tinggi ....................................................................................... 39
Tabel 3. 9 Pembobotan Variabel Jenis Kelamin ............................................................... 39
Tabel 3. 10 Pembobotan Variabel Jenis Suara .................................................................. 40
Tabel 3. 11 Pembobotan Variabel Range Nada ................................................................ 40
Tabel 3. 12 Pembobotan Variabel Karakter Suara ............................................................ 40
Tabel 3. 13 Pembobotan Variabel Noise ........................................................................... 40
Tabel 3. 14 Pembobotan Variabel Ketebalan Suara.......................................................... 41
Tabel 3. 15 Pembobotan Variabel Nada Tinggi ................................................................ 41
Tabel 3. 16 Contoh 5 data ................................................................................................. 41
Tabel 3. 17 Contoh matrik jarak ....................................................................................... 42
Tabel 3. 18 Pencarian objek terdekat single iterasi 1 ........................................................ 43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Tabel 3. 19 Hasil pencarian objek terdekat single iterasi 1 ............................................... 43
Tabel 3. 20 Pencarian objek terdekat single iterasi 2 ........................................................ 44
Tabel 3. 21 Hasil pencarian objek terdekat single iterasi 2 ............................................... 44
Tabel 3. 22 Pencarian objek terdekat single iterasi 3 ........................................................ 44
Tabel 3. 23 Hasil cluster Single-linkage ........................................................................... 45
Tabel 3. 24 Pencarian objek terdekat average iterasi 1 .................................................... 46
Tabel 3. 25 Hasil pencarian objek terdekat average iterasi 1 ........................................... 47
Tabel 3. 26 Pencarian objek terdekat average iterasi 2 .................................................... 47
Tabel 3. 27 Hasil pencarian objek terdekat average iterasi 2 ........................................... 48
Tabel 3. 28 Pencarian objek terdekat average iterasi 3 .................................................... 48
Tabel 3. 29 Hasil cluster average-linkage ........................................................................ 48
Tabel 3. 30 Pencarian objek terdekat complete iterasi 1 ................................................... 49
Tabel 3. 31 Hasil pencarian objek terdekat complete iterasi 1 .......................................... 50
Tabel 3. 32 Pencarian objek terdekat complete iterasi 2 ................................................... 50
Tabel 3. 33 Hasil pencarian objek terdekat complete iterasi 2 .......................................... 51
Tabel 3. 34 Pencarian objek terdekat complete iterasi 3 ................................................... 51
Tabel 3. 35 Hasil cluster complete-linkage ....................................................................... 52
Tabel 3. 36 Perhitungan Confusion Matrix ....................................................................... 53
Tabel 4. 1 Confusion Matriks Pengujian Single-linkage ................................................... 57
Tabel 4. 2 Confusion Matriks Pengujian Average-linkage ............................................... 59
Tabel 4. 3 Confusion Matriks Pengujian Complete-linkage ............................................. 61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR GAMBAR
Gambar 2. 1 Prosedur Analisis Cluster (Modul UII) ........................................................ 11
Gambar 3. 1 Data Mentah Lembar Penilaian Vokal ......................................................... 25
Gambar 3. 2 Desain Interface ........................................................................................... 28
Gambar 3. 3 Diagram blok sistem .................................................................................... 29
Gambar 3. 4 Flowchart Single-linkage ............................................................................. 31
Gambar 3. 5 Flowchart Complete-linkage ........................................................................ 32
Gambar 3. 6 Flowchart Average-linkage .......................................................................... 33
Gambar 3. 7 Diagram Konteks proses clustering ............................................................. 34
Gambar 3. 8 Data Flow Diagram level 1 .......................................................................... 35
Gambar 3. 9 Diagram Data Flow level 2 clustering ......................................................... 36
Gambar 3. 10 Dendogram cluster single-linkage ............................................................. 45
Gambar 3. 11 Dendogram cluster average-linkage .......................................................... 49
Gambar 3. 12 Dendogram cluster complete-linkage......................................................... 52
Gambar 4. 1 Pengujian metode Single-linkage ................................................................. 56
Gambar 4. 2 Dendogram Single-linkage ........................................................................... 57
Gambar 4. 3 Pengujian metode Average-linkage .............................................................. 58
Gambar 4. 4 Dendogram Average-linkage ....................................................................... 59
Gambar 4. 5 Pengujian metode Complete-linkage ............................................................ 60
Gambar 4. 6 Dendogram Complete-linkage ..................................................................... 61
Gambar 4. 7 Grafik akurasi hasil pengujian ..................................................................... 64
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
Bab ini akan menjelaskan bagaimana latar belakang, rumusan masalah, tujuan,
manfaat, metodologi, batasan, dan sistematika dalam penelitian yang akan
dilakukan.
1.1. Latar Belakang
Unit Kegiatan Mahasiswa Paduan Suara Mahasiswa Cantus Firmus
adalah salah satu unit kegiatan mahasiswa terbesar di Universitas Sanata
Dharma. Paduan Suara Mahasiswa Cantus Firmus mulai dibentuk pada
tahun 1981 sebagai paduan suara gereja dengan nama Paduan Suara
Dwiyarkara. Selanjutnya, paduan suara ini berkembang menjadi paduan
suara umum pada tahun 1991, dan berada di bawah sub–UK (Unit
Kegiatan) Kesenian. Setelah meraih berbagai prestasi 20 Oktober 1998,
paduan suara ini disahkan menjadi UKM (Unit Kegiatan Mahasiswa)
Universitas Sanata Dharma Yogyakarta. Sebagai sebuah civitas academica
Universitas Sanata Dharma, Paduan Suara Mahasiswa Cantus Firmus
secara berkala mengisi acara Wisuda dan Dies Natalis Universitas Sanata
Dharma yang diadakan setiap tahunnya. Selain program rutin tersebut
Paduan Suara Mahasiswa Cantus Firmus juga mengadakan konser
tahunan, dan mengikuti perlombaan-perlombaan di tingkat regional hingga
nasional.
Setiap tahun ajaran baru, Universitas Sanata Dharma menerima
kurang lebih 3000 mahasiswa baru. Para Mahasiswa tersebut akan
dikenalkan dengan seluruh UKM pada saat expo UKM inisiasi
berlangsung. Dari jumlah mahasiswa baru tersebut, pendaftar Paduan
Suara Mahasiswa Cantus Firmus setiap tahunnya kurang lebih 200-400
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
orang. Dan dari jumlah pendaftar tersebut, rata-rata anggota baru yang
diterima kurang lebih 50-60 orang. Proses seleksi penerimaan anggota
baru Paduan Suara Mahasiswa Cantus Firmus menghasilkan kumpulan
data individual tiap pendaftar yang terdiri dari data vokal dan data lainnya.
Dari data tersebutlah, akan diketahui keputusan untuk anggota baru yang
akan diterima.
Jenis suara anggota-anggota baru Paduan Suara Mahasiswa Cantus
Firmus ditentukan sejak pengumuman hasil penerimaan anggota baru
Paduan Suara Mahasiswa Cantus Firmus. Panitia penerimaan anggota baru
Paduan Suara Mahasiswa Cantus Firmus mengelompokkan jenis suara
anggota baru berdasarkan informasi yang diberikan anggota baru sendiri
dan hasil seleksi yang menghasilkan data vokal individu. Hal ini nyatanya
sangat rawan akan kesalahan. Karena pada praktiknya, sering terjadi
kesalahan dalam penempatan jenis suara yang dimiliki calon penyanyi
tersebut. Biasanya kesalahan penempatan jenis suara untuk anggota-
anggota Paduan Suara Mahasiswa Cantus Firmus akan terlihat setelah
melalui proses pelatihan-pelatihan untuk berbagai kepentingan, salah
satunya yang paling sering terjadi adalah pelatihan yang dilakukan untuk
kepentingan perlombaan baik yang tingkat regional hingga ketingkat yang
nasional. Penyanyi akan lebih sering menjalani berbagai latihan tambahan,
dan setelah beberapa waktu akan dilakukan tes kemampuan selama
pelatihan perlombaan, dan dari tes kemampuan inilah pelatih akan mulai
merasa jika ada kesalahan dalam penempatan jenis suara seseorang atau
beberapa penyanyi, yang artinya penyanyi yang ditempatkan pada jenis
suara tertentu dirasa seharusnya berada di jenis suara yang satunya.
Akibatnya penyanyi yang sudah menjalani persiapan serta pelatihan yang
panjang hingga mulai terbiasa dengan jenis suara yang ditempatkan
sebelumnya harus beradaptasi kembali dengan jenis suara baru yang
ditempatkan ulang selama proses pelatihan. Hal tersebut tentulah tidak
mudah dan menghambat jalannya proses latihan yang berlangsung saat itu,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
dimana penyanyi harus mempelajari kembali lagu-lagu tersebut dengan
jenis suara yang berbeda.
Dengan batas waktu yang singkat untuk mempersiapkan lomba dan
penyanyi sendiri masih memiliki tanggung jawab lain sebagai seorang
mahasiswa. Kesalahan seperti ini memakan waktu yang cukup banyak
untuk penyesuaian dan sangat tidak efektif. Oleh karena itu muncul ide
untuk studi kasus terhadap data penilaian penerimaan anggota baru Paduan
Suara Mahasiswa Cantus Firmus dengan melakukan clustering terhadap
data seleksi anggota-anggota baru Paduan Suara Mahasiswa Cantus
Firmus sejak awal sehingga masalah yang dihadapi Paduan Suara
Mahasiswa Cantus Firmus tersebut diharapkan dapat dicegah sejak dini.
Studi kasus terhadap data penilaian penerimaan anggota baru
Paduan Suara Mahasiswa Cantus Firmus sebenarnya sudah pernah
dilakukan oleh Yosef Yudha Prasetya (2012). Dalam penelitiannya, Yosef
Yudha Prasetya membuat sistem seleksi penerimaan anggota baru Paduan
Suara Mahasiswa Cantus Firmus menggunakan pendekatan logika kabur
dan multi-attribute decision making. Yosef Yudha Prasetya membuat
sistem untuk membantu proses pengambilan keputusan penerimaan
anggota baru dengan menggabungkan hasil penilaian tahap vokal dan
tahap wawancara hingga mendapatkan keputusan untuk menerima anggota
baru atau tidak. Perbedaan penelitian ini dengan penelitian sebelumnya
yaitu penelitian ini akan berfokus untuk membuat sistem yang
mengelompokan jenis suara calon anggota baru Paduan Suara Mahasiswa
Cantus Firmus dengan melakukan Clustering terhadap dataset seleksi
tahap vokal anggota baru Paduan Suara Mahasiswa Cantus Firmus dan
kemudian akan dihasilkan cluster untuk setiap jenis suara untuk anggota-
anggota baru sebelum kemudian menjadi anggota tetap Paduan Suara
Mahasiswa Cantus Firmus.
Pada studi kasus ini, proses Clustering akan membagi data
individual tiap anggota baru Paduan Suara Mahasiswa Cantus Firmus yang
di dapatkan ketika seleksi tahap vokal anggota baru Paduan Suara
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
Mahasiswa Cantus Firmus menjadi 4 cluster jenis suara dengan
menggunakan metode Agglomerative Hierarchical Clustering. Jika cluster
yang telah berhasil dikelompokkan menggunakan metode Hierarchical
Clustering mendapatkan tingkat akurasi yang baik, diharapkan dapat
mempermudah Paduan Suara Mahasiswa Cantus Firmus dalam mengelola
dan mengelompokkan anggota-anggota baru kedalam jenis suara yang
mirip satu sama lain.
1.2. Rumusan Masalah
Berdasarkan latar belakang yang ada, dapat dirumuskan masalah berupa :
Apakah metode Agglomerative Hierarchical Clustering mampu
dengan baik mengelompokan anggota baru UKM Paduan Suara
Mahasiswa Cantus Firmus dalam jenis-jenis suara yang mirip satu sama
lain berdasarkan dataset seleksi tahap vokal mereka?
1.3. Tujuan Penelitian
Tujuan penelitian ini adalah untuk mengetahui apakah metode
Agglomerative Hierarchical Clustering mampu dengan baik
mengelompokkan anggota baru UKM Paduan Suara Mahasiswa Cantus
Firmus dalam jenis-jenis suara yang mirip satu sama lain dan
menghasilkan akurasi yang baik .
1.4. Batasan Masalah
Masalah akan dibatasi sebagai berikut :
1. Metode yang digunakan adalah metode Agglomerative Hierarchical
Clustering.
2. Data yang digunakan adalah dataset anggota baru Paduan Suara
Mahasiswa Cantus Firmus angkatan 2016 dan 2017.
3. Preprocessing dilakukan secara manual dan tidak melalui sistem.
4. Jenis suara yang dikelompokkan terbagi menjadi 4 yakni Sopran, Alto,
Tenor, Bass.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.5. Manfaat Penelitian
Berdasarkan tujuan di atas, manfaat yang dapat diberikan adalah
diharapkan dapat membantu pihak UKM Paduan Suara Mahasiswa Cantus
Firmus dalam mengelompokkan anggota baru berdasarkan jenis suara.
1.6. Metodologi Penelitian
Metode penelitian pada penyusunan penulisan ini, adalah :
1. Studi literatur dengan tujuan :
a. Mempelajari dan memahami metode Hierarchical Clustering dalam
data mining.
b. Mengetahui data individual untuk paduan suara.
2. Pengumpulan data melalui UKM Paduan Suara Mahasiswa Cantus Firmus
Universitas Sanata Dharma
3. Merancang dan mengimplementasikan algoritma ke dalam sistem
4. Melakukan pengujian sistem menggunakan data yang diperoleh
5. Melakukan analisis hasil pengelompokan data
6. Menentukan kesimpulan dari hasil implementasi dan analisis
7. Penyusunan laporan Tugas Akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
1.7. Sistematika Penulisan
BAB I. Pendahuluan
Bab ini akan berisi latar belakang, rumusan masalah, tujuan,
batasan masalah, manfaat, metodologi penelitian, dan sistematika
penulisan.
BAB II. Landasan Teori
Bab ini mengemukakan teori yang berkaitan dengan masalah pada
tugas akhir. Teori tersebut akan menjadi acuan selama proses perancangan
hingga tahap implementasi tugas akhir ini.
BAB III. Metode Penelitian
Bab ini akan mengemukakan tentang data, tahap-tahap penelitian,
desain interface, gambaran umum sistem, dan spesifikasi alat.
BAB IV. Implementasi dan Analisis Hasil
Bab ini akan mengemukakan hasil implementasi yakni gambar
antar muka, gambar kode program, dan hasil dari analisis penelitian
BAB V. Kesimpulan dan Saran
Bab ini berisi kesimpulan dari hasil tugas akhir yang dibuat dan
saran untuk pengembangan penelitian selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
BAB II
LANDASAN TEORI
Bab ini berisi tentang teori-teori yang akan digunakan dalam penelitian ini.
Teori-teori tersebut meliputi Euclidean Distance, Cosine Similarity, Konsep
Analisis Cluster, Tipe Clustering, Hierarchical Clustering dan Confusion
Matriks.
2.1. Euclidean Distance
Euclidean Distance digunakan untuk menghitung nilai kedekatan
antara dua dokumen. Perhitungan Euclidean Distance dirumuskan sebagai
berikut (Prasetyo, 2014) :
d( A,B ) = (2.1)
Atau
d( A,B ) = (2.2)
Keterangan :
: Jumlah atribut
: Data
2.2. Cosine Similarity
Dalam buku Data Mining : Pengelolahan Data menjadi informasi
menggunakan matlab (Prasetyo, 2014), ukuran kemiripan yang sering
digunakan untuk mengukur kemiripan dua dokumen x dan y adalah Cosine
Similarity. Kemiripan yang diberikan adalah 1 jika dua vektor x dan y
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
sama, dan bernilai 0 jika kedua vektor berbeda. Nilai jaak 1 menyatakan
sudut yang dibentuk oleh vektor x dan y adalah , yang artinya vektor x
dan y adalah sama dalam hal jarak.
Perhitungan Cosine Similarity dirumuskan sebagai berikut :
S(x , y) = cos(x , y) = (2.3)
Tanda titik ( ) melambangkan inner-product,
x y = (2.4)
Tanda adalah panjang dari vektor x, dimana :
= = (2.5)
2.3. Himpunan Data
Himpunan data dibangun dari objek-objek data, dimana objek data
menyatakan sebuah entitias. Misalnya pada himpunan data universitas,
objek bisa berupa mahasiswa, dosen, mata kuliah. Objek biasanya
digambarkan menggunakan atribut. Pada banyak referensi, objek data
disebut juga sebagai sampel, contoh, atau titik data. Sementara itu, objek-
objek data disimpan dalam suatu basis data yang disebut tuple, diamana
baris menyatakan objek-objek data dan kolom menyatakan atribut.
Atribut adalah simbol yang mengambarkan identitas atau
karakteristik suatu kelompok. Atribut adalah data field, yang
mempresentasikan karakteristik atau fitur dari objek data. Pada bidang lain
atribut disebut juga sebagai dimensi, fitur , atau variabel.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
1. Atribut Nominal
Atribut nominal disebut juga kategorial karena nilainya
menggambarkan kategori, kode, atau status, yang tidak memiliki urutan.
Misalnya atribut Warna yang mempunyai dua kemungkinan nilai yakni
Merah atau Putih. Atribut Kategori Pelanggan yang bisa bernilai Silver,
Gold, atau Platinum. Atribut Kode Wilayah yang bisa bernilai A, B, C, D,
atau E. Atribut nominal juga dapat berupa numerik. Misalnya Warna bisa
bernilai 0 atau 1, dimana 0 menyatakan Merah dan 1 menyatakan Putih.
2. Atribut Biner
Atribut biner atau disebut juga dengan atribut boolean adalah
atribut nominal yang hanya memiliki dua kategori nilai yaitu 0 atau 1,
dimana 0 menyatakan Tidak (sesuatu yang negatif atau berdampak kecil)
dan 1 menyatakan Ya ( sesuatu yang positif atau yang berdampak benar).
Walaupun memiliki nilai kategorial seperti atribut nominal, dalam data
mining atribut biner dipandang secara khusus karena memiliki karakter
yang unik. Atribut biner dapat dibedakan menjadi dua, yaitu :
a. Atribut biner simetris, jika nilainya dianggap memberikan dampak
yang setara, misalnya atribut Jenis Kelamin yang bernilai Pria atau
Wanita (tidak penting mana yang harus bernilai 0 atau 1 karena
keduanya dianggap setara).
b. Atribut biner asimetris, jika nilainya memberikan dampak berbeda,
yang secara konvensi bernilai 1 untuk yang jarang terjadi, dan
bernilai 0 untuk yang umum terjadi, misalnya Hasil Tes Buta
Warna yang bernilai 1 (buta warna) dan 0 (tidak buta warna).
3. Atribut Numerik
Atribut numerik adalah kuantitatif, yang memiliki nilai berupa
kuantitas yang terukur dan dinyatakan dalam nilai-nilai bulat (integer) atau
riil (real). Atribut numerik bisa diskalakan secara inverval atau secara
rasio. Sebagai contoh, temperatur udara dalam satuan Celcius adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
atribut numerik yang bisa diskalakan secara interval namun tidak bisa
diskalakan secara rasio.
4. Atribut Ordinal
Atribut ordinal memiliki nilai yang menggambarkan urutan atau
peringkat (ranking).Namun, ukuran perbedaan antara dua nilai yang
berurutan tidak diketahui. Misalnya, atribut Kategori Pelanggan yang bisa
bernilai Silver, Gold, atau Platinum. Ketiga nilai tersebut memiliki urutan
atau tingkatan, namun tidak menjelaskan seberapa besar perbedaan antara
Silver dan Gold. Atribut ordinal sangat berguna dalam survei, yaitu untuk
penilaian subjektif (kualitatif) yang tidak dapat diukur secara objektif.
5. Atribut Diskrit
Atribut diskrit memiliki nilai terbatas atau nilai terbatas tapi masih
dapat dihitung, yang bisa bernilai bulat. Misalnya, atribut Temperatur
Udara dalam satuan Celcius , yang bisa bernilai bulat antara 0 sampai 100.
Atribut ini memiliki nilai riil atau pecahan yang dalam komputer yang
biasanya direpresentasikan sebagai bilangan real atau floating-point.
2.4. Konsep Analisis Cluster
2.4.1 Pengertian Analisis Cluster
Analisis cluster merupakan salah satu teknik data mining yang
bertujuan untuk mengidentifikasi sekelompok obyek yang mempunyai
kemiripan karakteristik tertentu yang dapat dipisahkan dengan kelompok
obyek lainnya, sehingga obyek yang berada dalam kelompok yang sama
relatif lebih homogen daripada obyek yang berada pada kelompok yang
berbeda (Hermawati, 2013). Jumlah kelompok yang dapat diidentifikasi
tergantung pada banyak dan variasi data obyek. Tujuan dari
pengelompokan sekumpulan data obyek ke dalam beberapa kelompok
yang mempunyai karakteristik tertentu dan dapat dibedakan satu sama
lainnya adalah untuk analisis dan interpretasi lebih lanjut sesuai dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
tujuan penelitian yang dilakukan. Model yang diambil diasumsikan bahwa
data yang dapat digunakan adalah data yang berupa data interval, frekuensi
dan biner. Set data obyek harus mempunyai peubah dengan tipe yang
sejenis tidak campur antara tipe yang satu dengan lainnya.
2.4.2 Prosedur Analisis Cluster
Gambar 2. 1 Prosedur Analisis Cluster (Modul UII)
Secara umum proses dimulai dengan merumuskan masalah
pengklasteran dengan mendefinisikan variabel-variabel yang dipergunakan
untuk dasar pengklasteran / pembentukan klaster. Kemudian pengambilan
p pengukuran peubah pada n obyek pengamatan. Data tersebut dijadikan
matriks data mentah berukuran m x p. Matrik tersebut ditransformasikan
ke dalam bentuk matriks similaritas (kemiripan) berupa n x n yang
dihitung berdasarkan pasangan-pasangan obyek p peubah. Konsep dasar
pengukuran analisis cluster adalah konsep pengukuran jarak (distance) dan
kesamaan (similarity). Distance adalah ukuran tentang jarak pisah antar
obyek sedangkan similarity adalah ukuran kedekatan. Konsep ini penting
karena pengelompokan pada analisis cluster didasarkan pada kedekatan.
Pengukuran jarak (distance type measure) digunakan untuk data-data yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
bersifat matriks, sedangkan pengukuran kesesuaian (matching type
measure) digunakan untuk data-data yang bersifat kualitatif.
2.5. Tipe Clustering
Clustering merupakan suatu kumpulan dari keseluruhan cluster
Beberapa tipe penting dari clustering (Hermawati, 2013) adalah :
1. Partitional vs Hierarchical
Partitional clustering adalah pembagian objek data kedalam sub
himpunan(cluster) yang tidak overlap sedemikian hingga tiap objek data
berada dalam tepat satu sub-himpunan. Hierarchical clustering merupakan
sebuah himpunan cluster bersarang yang diatur sebagai suatu pohon
hirarki. Tiap simpul(cluster) dalam pohon(kecuali simpul daun)
merupakan gabungan dari anaknya(subcluster) dan simpul akar berisi
semua objek
2. Exclusive vs non-exclusive
Semua bentuk clustering merupakan exclusive clustering, karena
setiap objek berada tepat pada satu cluster. Sebaliknya dalam overlapping
atau non-exclusive clustering, sebuah objek dapat berada di lebih dari satu
cluster secara bersamaan.
3. Fuzzy vs non-fuzzy
Dalam fuzzy clustering, sebuah titik termasuk dalam setiap cluster
dengan suatu nilai bobot antara 0 dan 1. Jumlah dari bobot-bobot tersebut
sama dengan 1. Clustering probabilitas mempunyai karakteristik yang
sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
4. Partital vs complete
Dalam complete clustering ,setiap objek ditempatkan dalam sebuah
cluster. Tetapi dalam partial clustering, tidak semua objek ditempatkan
dalam sebuah cluster. Kemungkinan ada objek yang tidak tepat untuk
ditempatkan di salah satu cluster, misalkan berupa outlier atau noise.
2.6. Tipe Cluster
Clustering bertujuan menemukan kelompok (cluster) objek yang
berguna, dimana gunanya tergantung dari tujuan analisa data. Secara
visual ada beberapa tipe dari cluster, diantaranya :
1. Well-Separated Clusters : Sebuah cluster merupakan himpunan titik
sedemikian rupa hingga tidak ada titik dalam sebuah cluster yang
mendekati (atau lebih mirip ke setiap titik lain dalam cluster yang
tidak ditempati titik tersebut.
2. Center-based : sebuah cluster adalah himpunan dari objek-objek
sedemikian rupa hingga sebuah objek dalam sebuah cluster mendekati
(lebih mirip) dengan ‘pusat’ dari sebuah cluster dibandingkan dengan
pusat cluster lain. Pusat dari sebuah cluster dapat berupa centroid,
yaitu rata-rata dari semua titik dalam cluster tersebut, atau medoid,
merupakan representasi titik dari sebuah cluster.
3. Contigous cluster (Nearest neighbor atau Transitive) : dimana sebuah
cluster merupakan himpunan titik sedemikian hingga sebuah titik
dalam cluster mendekati (atau lebih serupa) dengan satu atau lebih titik
lain dalam cluster tersebut dibandingkan denan titik yang tidak berada
pada cluster tersebut.
4. Density-based : adalah dimana sebuah cluster merupakan suatu daerah
titik yang padat, yang dipisahkan oleh daerah kepadatan rendah (low-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
density), dari daerah kepadatan tinggi (high-density) yang lain.
Digunakan ketika cluster-cluster tidak beraturan atau terjalin dan
ketika terdapat noise dan outlier.
5. Shared property atau Conceptual Cluster , adalah cluster-cluster yang
membagi beberapa sifat umumnya atau menyatakan konsep tertentu.
2.7. Hierarchical Clustering
Teknik hirarki (hierarchical methods) adalah teknik clustering
membentuk kontruksi hirarki atau berdasarkan tingkatan tertentu seperti
struktur pohon (struktur pertandingan) (Hermawati, 2013). Dengan
demikian proses pengelompokkannya dilakukan secara bertingkat atau
bertahap. Hasil dari pengelompokan ini dapat disajikan dalam bentuk
dendogram.
Dua tipe utama hierarchical clustering (Tan, dkk 2006) , yaitu :
Agglomerative:
1. Mulai dengan titik-titik sebagai individual clusters.
2. Pada tiap langkah, gabungkan pasangan cluster terdekat sampai hanya
terdapat satu cluster (atau k cluster) yang tersisa
Divisive :
1. Mulai dengan satu,semua inclusive cluster.
2. Pada tiap langkah, pisahkan sebuah cluster sampai tiap cluster terdiri dari
sebuah titik(atau ada k cluster).
Tradisional hierarchical algorithms menggunakan sebuah matriks
similaritas atau matriks jarak dengan menggabungkan atau memisahkan
satu cluster dalam tiap langkahnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.7.1. Agglomerative Hierarchical Clustering
Agglomerative Hierarchical Clustering merupakan metode
pengelompokan berbasis hierarki dengan pendekatan bottom up, yaitu
proses pengelompokkan dimulai dari masing-masing data sebagai satu
cluster, kemudian secara rekursif mencari cluster terdekat sebagai
pasangan untuk bergabung sebagai satu cluster yang lebih besar (Prasetyo,
2014). Proses akan terus diulang sehingga akan tampak bergerak keatas
membentuk sebuah hierarki.
Agglomerative Clustering merupakan teknik hierarchical
clustering yang dimulai dengan kenyaatan bahwa setiap obyek membentuk
clusternya masing-masing. Kemudian dua obyek dengan jarak terdekat
bergabung (Fakultas Teknologi Industri UII). Selanjutnya obyek ketiga
akan bergabung dengan cluster yang ada atau bersama obyek lain dan
membentuk cluster baru. Hal ini tetap memperhitungkan jarak kedekatan
antar obyek. Proses akan berlanjut hingga akhirnya terbentuk satu cluster
yang terdiri dari keseluruhan obyek. Ada beberapa teknik dalam
Agglomerative Clustering (Fakultas Teknologi Industri UII) yaitu:
1. Single linkage ( nearest neighbor methods )
Metode ini menggunakan prinsip jarak minimum yang diawali
dengan mencari dua obyek terdekat dan keduanya membentuk cluster
yang pertama.
Pada langkah selanjutnya terdapat dua kemungkinan, yaitu :
obyek ketiga akan bergabung dengan cluster yang telah terbentuk,
atau
dua obyek lainnya akan membentu cluster baru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Proses ini akan berlanjut sampai akhirnya terbentuk cluster tunggal.
Pada metode ini jarak antar cluster didefinisikan sebagai jarak terdekat
antar anggotanya.
Contoh :
Terdapat matriks jarak antara 5 buah obyek, yaitu :
Tabel 2. 1 Contoh Data Single-linkage
Langkah penyelesaiannya :
1. Mencari obyek dengan jarak minimum
A dan B mempunyai jarak terdekat, yaitu 1.0 maka obyek A dan A
bergabung menjadi satu cluster.
2. Menghitung jarak antara cluster AB dengan obyek lainnya.
D(AB)C = min {dAC, dBC}= dBC = 3.0
D(AB)D = min {dAD, dBD}= dAD = 6.0
D(AB)E = min {dAE, dBE}= dBE = 7.0
Dengan demikian terbentu matriks jarak yang baru
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Tabel 2. 2 Penyelesaian contoh data Single-linkage
3. Mencari obyek dengan jarak terdekat
D dan E mempunyai jarak yang terdekat yaitu 2.0 maka obyek D
dan E bergabung menjadi satu cluster.
4. Menghitung jarak antara cluster dengan obyek lainnya.
D(AB)C = 3.0
D(AB)(DE) = min {dAD, dAE, dBD, dBE} = dAD = 6.0
D(DE)C = min {dCD, dCE} = dCD = 4.0
5. Mencari jarak terdekat antara cluster dengan obyek dan diperoleh
obyek C bergabung dengan cluster AB
6. Pada langkah yang terakhir, cluster ABC bergabung dengan DE
sehingga terbentuk cluster tunggal.
2. Complete linkage ( furthest neighbor methods )
Metode ini merupakan kebalikan dari pendekatan yang digunakan pada
single
linkage. Prinsip jarak yang digunakan adalah jarak terjauh antar obyek.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Contoh :
Terdapat matriks jarak antara lima buah obyek yaitu :
Tabel 2. 3 Contoh data Complete-linkage
Langkah penyelesaiannya :
1. Mencari obyek dengan jarak minimum
A dan B mempunyai jarak terdekat yaitu 1.0 maka obyek A dan B
bergabung menjadi satu cluster.
2. Menghitung jarak antara cluster AB dengan obyek lainnya.
D(AB)C = max {dAC, dBC}= dAC = 5.0
D(AB)D = max {dAD, dBD}= dBD = 8.0
D(AB)E = max {dAE, dBE}= dAE = 8.0
Dengan demikian terbentuk matriks jarak yang baru
Tabel 2. 4 Penghitungan jarak cluster contoh data Complete linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
3. Mencari obyek dengan jarak terdekat.
D dan E mempunyai jarak terdekat yaitu 2.0 maka obyek D dan E
bergabung menjadi satu cluster
4. Menghitung jarak antar cluster dengan obyek lainnya.
D(AB)C = 5.0
D(AB)(DE) = max {dAD, dAE, dBD, dBE} = dAE = dBD = 8.0
D(DE)C = max {dCD, dCE} = dCE = 6.0
5. Maka terbentuklah matriks jarak yang baru, yaitu :
Tabel 2. 5 Penyelesaian contoh data Complete-linkage
6. Mencari jarak terdekat antara cluster dengan obyek dan diperoleh
obyek C bergabung dengan cluster AB
7. Pada langkah yang terakhir cluster ABC bergabung dengan DE
sehingga terbentuk cluster tunggal.
3. Average linkage methods ( between groups methods )
Metode ini mengikuti prosedur yang sama dengan kedua metode
sebelumnya. Prinsip ukuran jarak yang digunakan adalah jarak rata-
rata antar tiap pasangan obyek yang mungkin.
Contoh : Terdapat matriks jarak antara 5 buah obyek yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Tabel 2. 6 Contoh data Average-linkage
Langkah penyelesaiannya :
1. Mencari obyek dengan jarak minimum
A dan B mempunyai jarak terdekat, yaitu 1,0 maka obyek A dan B
bergabung menjadi satu cluster.
2. Menghitung jarak antara cluster AB dengan obyek lainnya
d(AB)C = max {dAC, dBC} = dAC = 5,0
d(AB)D = max {dAD, dBD} = dBD = 8,0
d(AB)E = max {dAE, dBE} = dAE = 8,0
Dengan demikian terbentuk matriks jarak yang baru :
Tabel 2. 7 Penghitungan jarak contoh data Average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
3. Mencari obyek dengan jarak terdekat.
D dan E mempunyai jarak terdekat, yaitu 2,0 maka obyek D dan E
bergabung menjadi satu cluster.
4. Menghitung jarak antara cluster dengan obyek lainnya.
d(AB)C = 4,0
d(AB)(DE) = 1/2{dAD, dAE, dBD, dBE} = 7,25
d(DE)C = 1/2{dCD, dCE,} = dCE = 5,00
Maka terbentuklah matrik jarak yang baru, yaitu :
Tabel 2. 8 Penyelesaian contoh data Average-linkage
5. Mencari jarak terdekat antara cluster dengan obyek dan diperoleh
obyek C bergabung dengan cluster AB.
6. Pada langkah yang terakhir, cluster ABC bergabung dengan DE
sehingga terbentuk cluster tunggal
2.7.2. Algoritma Agglomerative Hierarchical Clustering
Algoritma Agglomerative Hierarchical Clustering untuk
mengelompokkan n obyek adalah sebagai berikut (Tan, Steinbach dan
Kumar, 2006) :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
1. Hitung matriks kedekatan berdasarkan jenis jarak yang digunakan.
2. Ulangi langkah 3 sampai 4, hingga hanya satu kelompok yang tersisa.
3. Gabungkan dua cluster terdekat berdasarkan parameter kedekatan yang
ditentukan.
4. Perbarui matriks kedekatan untuk merepresentasikan kedekatan
diantara kelompok baru dan kelompok yang tersisa.
5. Selesai.
2.8. Confusion Matriks
Pada penelitian ini, metode evaluasi clustering yang digunakan
yaitu metode external evaluasi. External evaluasi bekerja dengan
membandingkan hasil pengelompokan sistem dengan label class. Salah
satu metode external evaluasi yaitu Confusion Matrix.
Confusion Matrix merupakan metode external evaluasi yang berisi
informasi aktual dan dapat diprediksi (Kohavi dan Provost, 1998), dimana
kinerja sistem dapat dievaluasi menggunakan data dalam matriks. Tabel
berikut menunjukkan Confusion Matrix :
Prediksi
Negatif Positif
Aktual
Negatif a b
Positif c d
Keterangan :
a : jumlah prediksi yang benar bahwa contoh bersifat negatif
b : jumlah prediksi yang benar bahwa contoh bersifat negatif
c : jumlah prediksi yang benar bahwa contoh bersifat positif
d : jumlah prediksi yang salah bahwa contoh bersifat positif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
perhitungan akurasi dirumuskan sebagai berikut :
(2.6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
BAB III
METODE PENELITIAN
Bab ini akan berisi rancangan penelitian yang menjelaskan mengenai data,
tahapan-tahapan dalam penelitian, desain interface, gambaran umum
sistem, implementasi rancangan, penjelasan proses dan spesifikasi alat.
3.1. Data
Data yang digunakan dalam penelitian ini adalah data yang
telah dikumpulkan dalam proses seleksi penerimaan anggota baru di
UKM Paduan Suara Mahasiswa Cantus Firmus yang kemudian
menghasilkan data penilaian seleksi anggota baru Paduan Suara
Mahasiswa Cantus Firmus. Penerimaan anggota baru tersebut
dilaksanakan pada setiap tahunnya. Untuk penelitian ini, data penilaian
seleksi anggota baru Paduan Suara Mahasiswa Cantus Firmus yang
digunakan adalah data penilaian untuk periode 2016 dan 2017
(angkatan 2016 dan 2017). Data awal yang diperoleh peneliti selama
pengambilan data berupa form data diri , form penilaian tahap vokal,
dan form penilaian tahap wawancara motivasi. Peneliti hanya akan
menggunakan form penilaian pada tahap vokal karena data pada form
data diri dan motivasi tidak ada attribut yang diperlukan peneliti. Form
penilaian tahap vokal yang terdiri dari 12 atribut seperti nama, prodi,
angkatan, nilai notasi, nilai ketukan, nilai solfegio, nilai final, jenis
suara, range nada, karakter suara, penguji, dan catatan tambahan.
Dari data penilaian seleksi anggota baru Paduan Suara
Mahasiswa Cantus Firmus ini kemudian akan diolah melalui tahap
preprocesing dan menghasilkan atribut final seperti nama, jenis
kelamin, jenis suara, range nada, karakter suara, noise, ketebalan suara,
dan nada tinggi. Proses pengolahan di tahap preprocesing akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
dilakukan secara manual. Beberapa attribut seperti noise, ketebalan
suara, dan nada tinggi dihasilkan dari atribut catatan tambahan. Berikut
contoh data dokumen penilaiannya :
Gambar 3. 1 Data Mentah Lembar Penilaian Vokal
Tabel 3. 1 Deskripsi atribut data
No Atribut Penjelasan
1 Nama adalah attribut yang memuat identitas calon penyanyi baru.
2 Jenis Kelamin adalah attribut yang memuat jenis kelamin penyanyi.
3 Jenis Suara adalah kelompok jenis suara yang sudah terbagi menjadi 4
kategori yang kemudian akan digunakan sebagai class.
4 Range adalah kapasitas jangkauan nada yang dimiliki oleh
penyanyi dari titik nada terendah hingga titik nada tertinggi
yang mampu dicapai penyanyi.
5 Karakter Suara adalah kecenderungan suara khas yang diproduksi oleh
penyanyi saat bernyanyi yang kemudian akan menentukan
jenis lagu seperti apa yang cocok untuk penyanyi tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
6 Noise adalah tingkat kejernihan produksi suara yang dihasilkan
penyanyi.
7 Ketebalan
Suara
adalah tingkat keras lembut produksi suara yang dihasilkan
penyanyi.
8 Nada Tinggi adalah tingkat kestabilan yang dimiliki seorang penyanyi
ketika memproduksi nada tinggi.
Setelah menetapkan jenis atribut yang akan digunakan kemudian
memasukkan data kedalam Excel secara manual perindividunya, serta
memasukkan juga atribut-atribut yang diperoleh dari pengolahan
atribut catatan tambahan.
Dalam menemukan tingkat akurasi yang diperoleh dari hasil
cluster, peneliti menentukan atribut jenis suara sebagai label class
yang dimana label tersebut akan digunakan untuk membandingkan
dengan hasil cluster yang dihasilkan oleh sistem kemudian untuk
menemukan tingkat akurasinya.
3.2. Tahapan Penelitian
Penelitian ini akan dibagi menjadi 4 tahapan yaitu studi
literatur, pengumpulan data, pembuatan alat uji, dan pengujian
sistem. Untuk selengkapnya sebagai berikut.
3.2.1. Studi Literatur
Tahap ini adalah tahap proses pengumpulan informasi
mengenai teori-teori penambangan data dan khususnya algoritma
Agglomerative Hierarchical Clustering yang mendukung
penelitian ini dalam mengelompokkan jenis suara anggota Paduan
Suara Mahasiswa Cantus Firmus angkatan 2017 dari berbagai
macam referensi ( buku, jurnal, karya ilmiah, ataupun artikel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
lainnya). Peneliti juga menggali informasi dari literatur vokal
untuk mempelajari mengenai jenis suara manusia dalam bernyanyi.
3.2.2. Pengumpulan Data
Pengumpulan data dilakukan menggunakan teknik dokumen.
Dokumen yang diperoleh peneliti bersumber dari dokumen
penilaian seleksi penerimaan anggota baru Paduan Suara
Mahasiswa Cantus Firmus yang telah diarsipkan oleh Sekretaris
Paduan Suara Mahasiswa Cantus Firmus.
3.2.3. Pembuatan Alat Uji
Pada tahap ini, akan dirancang suatu alat uji dengan
perancangan interface dan pembuatan alat uji menggunakan
Matlab R2016b untuk menguji metode Agglomerative Hierarchical
Clustering untuk mengelompokkan jenis suara serta mendapatkan
akurasi dari sistem yang telah dibangun dengan menggunakan
Confusion Matriks. Alat uji kemudian memperlihatkan hasil
pengelompokan (AHC) dan hasil perhitungan akurasi (Confusion
matrix) kepada pengguna.
3.2.4. Pengujian
Tahap pengujian akan dilakukan menggunakan alat uji
yang telah dibuat. Sebelumnya, data terlebih dahulu diproses
secara manual oleh peneliti menggunakan aplikasi microsoft excel,
kemudian akan diinputkan file tersebut kedalam sistem sehingga
data yang telah dimasukkan dapat dilakukan proses clustering
dengan metode-metode yang telah tersedia di dalam sistem. Hasil
clustering yang dihasilkan kemudian akan dilakukan pengujian
untuk mengukur tingkat akurasi menggunakan Confusion Matriks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
3.3. Analisa Kebutuhan Proses
Penelitian ini akan terbagi menjadi 2 tahapan penting yaitu
tahap pengelompokan (clustering) dan tahap pengujian (testing).
Pengelompokan akan menghasilkan 4 jenis cluster suara untuk
penyanyi dan pengujiannya digunakan untuk menguji seberapa
akurat metode yang digunakan dalam penelitian ini mampu
mengelompokkan data dengan baik.
3.4. Desain Interface
Gambar 3. 2 Desain Interface
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
User interface untuk pengelompokan jenis suara anggota baru
Paduan Suara Mahasiswa Cantus Firmus hanya akan memiliki satu
halaman tampilan. Dalam interface tersebut terdapat button “Input
File” untuk memasukkan data yang akan diolah. Setelah data
dimasukkan, data tersebut kemudian akan tampil dalam format tabel
“Data Awal”. Selanjutnya user harus mengisi metode Agglomerative
Hierarchical Clustering mana yang ingin di uji. Setelah melakukan
pengisian radiobutton untuk metode Agglomerative Hierarchical
Clustering yang akan di uji, tekan button “Clustering”, sehingga data
akan di proses dan mendapatkan hasil pada tabel “Hasil Cluster” dari
masing-masing metode yang dipilih diantara Single Linkage, Complete
Linkage, dan Average Linkage. Kemudian juga akan tampil dendogram
dari hasil pengelompokan menggunakan metode yang telah dipilih dan
persentasi akurasi dari hasil pengujiannya.
3.5. Gambaran Umum Sistem
Gambar 3. 3 Diagram blok sistem
Sistem ini digunakan untuk mengetahui tingkat akurasi yang
dihasilkan oleh sistem dalam mengelompokan data penilaian seleksi
anggota baru Paduan Suara Mahasiswa Cantus Firmus sehingga
menghasilkan kelompok jenis suara penyanyi menggunakan metode
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Agglomerative Hierarchical Clustering. Langkah awalnya adalah data
penilaian anggota baru Paduan Suara Mahasiswa Cantus Firmus akan
mengalami tahap preprocessing dimana data dibersihkan, diintegrasi,
dan ditransformasi secara manual oleh peneliti. Proprocessing
kemudian menghasilkan data yang siap diolah pada tahap clustering.
Matrik jarak dihitung dengan menggunakan Euclidean Distance.
Setelah itu, masing-masing data akan dikelompokkan berdasarkan
karakteristik kedekatannya. Proses untuk pengelompokan ini akan
terbagi dalam tiga metode yaitu Single Linkage, Average Linkage, dan
Complete Linkage.
Hasil dari pengolahan pada tahap clustering kemudian akan diuji
untuk menghitung tingkat akurasinya sehingga pada tahap terakhir
terdapat output berupa dendogram yang menjadi visualisasi dari hasil
pengelompokan yang sudah dilakukan dan tingkat akurasi yang
dihitung menggunakan Confusion Matriks untuk metode yang diuji.
3.5.1. Tahap Agglomerative Hierarchical Clustering
Setelah data di preprocessing, data kemudian masuk ke dalam
tahap clustering. Matriks jarak kemudian akan dihitung melalui
metode Euclidean Distance. Dalam tahap clustering, terdapat
proses pengelompokan dengan menggunakan 3 jenis metode yaitu
Single Linkage, Complete Linkage, dan Avarage Linkage.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
1. Single Linkage
Gambar 3. 4 Flowchart Single-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
2. Complete Linkage
Gambar 3. 5 Flowchart Complete-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
3. Average Linkage
Gambar 3. 6 Flowchart Average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.5.2. Tahap Output
Setelah hasil cluster ditampilkan, maka pengujian tingkat
akurasi akan dilakukan untuk mengetahui keakuratan dari hasil
pengelompokan menggunakan metode yang diujikan. Untuk
melakukan pengujian akurasi tersebut, akan digunakan metode
pengujian akurasi confusion matriks. Confusion matriks digunakan
sebagai alat ukur untuk evaluasi karena data yang digunakan dalam
penelitian ini sudah memiliki label. Confusion matriks juga merupakan
metode yang mempermudah proses dalam menganalisa hasil dan juga
mempermudah proses dalam melihat suatu permodelan antara 2 kelas
yaitu class prediksi dan class aktual.
3.6. Implementasi Rancangan
3.6.1. Diagram Konteks
Gambar 3. 7 Diagram Konteks proses clustering
Gambar 3.7 adalah gambar diagram konteks yang biasa
disebut juga sebagai data flow diagram level 0 dimana merupakan
level tertinggi dalam suatu data flow diagram. Diagram ini
menjelaskan ruang lingkup dari alat uji yang akan dibangun. Di
lihat dari diagram tersebut, diketahui bahwa proses utama yang
akan dilakukan adalah proses clustering terhadap data anggota baru
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Paduan Suara Mahasiswa Cantus Firmus dengan menggunakan
metode Agglomerative Hierarchical Clustering. Terdapat seorang
User sebagai pemberi input saat memasukkan data dan memilih
metode clustering yang kemudian akan menghasilkan hasil cluster
dan akurasi hasil pengujian.
3.6.2. Data Flow Diagram Level 1
Gambar 3. 8 Data Flow Diagram level 1
Gambar 3.8 adalah data flow diagram level 1 yang
merupakan pecahan dari diagram konteks atau diagram data flow
level 0. Pada diagram ini terdapat User sebagai external entity, 150
data vokal anggota baru Paduan Suara Mahasiswa Cantus Firmus.
Proses pertama yang dilakukan adalah User memasukkan
data asli kedalam proses preprocessing kemudian data tersebut
akan ditransformasi untuk menjadi data yang siap untuk diolah
dalam proses berikutnya yaitu proses clustering, lalu User memilih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
jenis metode clustering yang akan digunakan, diantaranya metode
single-linkage, average-linkage, dan complete-linkage.
Proses kedua, User menekan tombol cluster maka sistem
akan memproses clustering terhadap data yang sudah di
preprocessing, kemudian akan ditampilkan hasil cluster dan
akurasi dari pengujian cluster tersebut.
3.6.3. Data Flow Diagram Level 2
Gambar 3. 9 Diagram Data Flow level 2 clustering
Gambar 3.9 merupakan diagram flow data level 2 proses kedua.
dimana akan ditampilkan hasil clustering dalam bentuk
dendogram, dan persentasi dari hasil pengujian akurasi pada proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
ini. Terdapat 4 proses dalam diagram data flow level 2 ini. Yang
pertama adalah data yang sudah di preprocessing kemudian akan
dihitung matrik jaraknya menggunakan metode Euclidean
Distance. Proses kedua adalah menghitung cluster single-linkage
menggunakan matrik jarak yang sudah diperoleh. Proses ketiga
adalah menghitung cluster average-linkage menggunakan matrik
jarak yang sudah diperoleh. Proses keempat adalah menghitung
cluster complete-linkage menggunakan matrik jarak yang sudah
diperoleh. Proses kelima kemudian memproses perhitungan akurasi
dengan berdasarkan cluster yang telah terbentuk dan menampilkan
hasil perhitungan akurasi beserta dendogram kepada User.
3.7. Penjelasan Proses
3.7.1. Input Data
Data yang telah disiapkan dalam bentuk dokumen Excel
akan diinputkan ke dalam sistem untuk kemudian dibaca oleh
sistem untuk dilanjutkan pada proses berikutnya yaitu tahap pre-
processing.
3.7.2. Pre-processing
Dalam tahap pre-processing ini, peneliti akan mengolah
data mentah menjadi data yang siap untuk kemudian dapat
diinputkan kedalam sistem. Data mentah pada tahap ini akan di
preprocessing secara manual oleh peneliti. Pertama peneliti akan
melakukan proses cleaning terhadap data mentah tersebut dengan
membersihkan variabel-variabel pada data mentah yang tidak
diperlukan seperti program studi, angkatan, nilai notasi, nilai
ketukan, nilai solfegio, penguji, dan nilai final. Kemudian juga
mengisi nilai variabelnya jika terdapat missing value pada data
mentah tersebut dan membuang outlier (data yang sekiranya terlalu
banyak noise). Dari proses cleaning, dihasilkan variabel untuk data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
siap olah seperti nama, jenis kelamin, jenis suara, range nada,
karakter suara, noise, ketebalan suara, dan nada tinggi. Setiap
variabel tersebut memiliki attributnya masing-masing seperti
berikut :
Tabel 3. 2 Variabel Jenis Kelamin
Jenis Kelamin
Pria
Wanita
Tabel 3. 3 Variabel Jenis Suara
Jenis Suara
Sopran
Alto
Tenor
Bass
Tabel 3. 4 Variabel Range Nada
Range Suara
C4-A6
E3-G5
C3-E5
E2-B4
Tabel 3. 5 Variabel Karakter Suara
Karakter Suara
Pop
Semi Klassik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Tabel 3. 6 Variabel Noise
Noise
Tidak
Sedang
Banyak
Tabel 3. 7 Variabel Ketebalan Suara
Ketebalan Suara
Tipis
Sedang
Tebal
Tabel 3. 8 Variabel Nada Tinggi
Nada Tinggi
Tidak
Goyang
Stabil
Proses berikutnya yaitu transformasi data, pada proses ini,
data diolah agar lebih efisien dalam proses data mining serta
mempermudah pola yang dihasilkan dengan memberi bobot
terhadap beberapa atribut seperti range nada, karakter suara, noise,
ketebalan suara, dan nada tinggi sebagai berikut :
Tabel 3. 9 Pembobotan Variabel Jenis Kelamin
Jenis Kelamin Bobot
Pria 1
Wanita 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Tabel 3. 10 Pembobotan Variabel Jenis Suara
Jenis Suara Bobot
Sopran 1
Alto 2
Tenor 3
Bass 4
Tabel 3. 11 Pembobotan Variabel Range Nada
Range Suara Bobot
C4-A6 1
E3-G5 2
C3-E5 3
E2-B4 4
Tabel 3. 12 Pembobotan Variabel Karakter Suara
Karakter Suara Bobot
Pop 1
Semi Klassik 2
Tabel 3. 13 Pembobotan Variabel Noise
Noise Bobot
Tidak 1
Sedang 2
Banyak 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Tabel 3. 14 Pembobotan Variabel Ketebalan Suara
Ketebalan Suara Bobot
Tipis 1
Sedang 2
Tebal 3
Tabel 3. 15 Pembobotan Variabel Nada Tinggi
Nada Tinggi Bobot
Tidak 1
Goyang 2
Stabil 3
3.7.3. Pengukuran jarak
Setelah proses pre-processing selesai, tahap berikutnya
adalah menghitung matriks jarak dengan menggunakan metode
perhitungan yang ada. Dalam penelitian ini, peneliti akan
menggunakan Euclidean Distance.
Berikut adalah data yang belum dihitung jarak
kedekatannya yang berjumlah 5 data.
Tabel 3. 16 Contoh 5 data
atribut Jenis
Kelamin
Ra-
nge
Karakter
Suara
No-
ise
Ketebalan
Suara
Nada
Tinggi
Jenis
Suara data
data 1 2 1 1 2 1 2 1
data 2 2 2 1 2 2 1 2
data 3 1 3 1 1 2 2 3
data 4 1 3 1 3 2 3 3
data 5 2 1 1 1 2 2 1
Setelah dihitung jarak kedekatan antar objek menggunakan
Euclidean Distance, dihasilkan matriks jarak seperti berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Tabel 3. 17 Contoh matrik jarak
1 2 3 4 5
1 0,00 1,73 2,65 2,83 1,41
2 1,73 0,00 2,00 2,65 1,73
3 2,65 2,00 0,00 2,24 2,24
4 2,83 2,65 2,24 0,00 3,16
5 1,41 1,73 2,24 3,16 0,00
3.7.4. Clustering
Pada tahap ini, setelah pengukuran jarak berhasil
mendapatkan matrik jarak untuk data yang dimasukkan, proses
clustering atau proses pengelompokan untuk mengelompokkan
data seleksi penyanyi paduan suara akan dilakukan. Proses
clustering kemudian akan menghasilkan cluster-cluster jenis suara
dari data yang sudah diproses. Dalam proses mengelompokkan tiap
data tersebut, digunakan metode-metode yang ada didalam
Agglomerative Hierarchical Clustering untuk mengukur nilai jarak
kedekatannya satu sama lain, yaitu metode Single-linkage yang
mengambil nilai jarak paling minimum, metode Average-linkage
yang mengambil nilai jarak rata-rata, dan metode Complete-linkage
yang mengambil nilai jarak paling maksimum. Ketika proses
pengelompokan atau clustering selesai diproses, akan ditampilkan
sebuah dendogram yang mempermudah untuk melihat jalan
pengelompokan yang telah berlangsung.
Berikut adalah contoh proses clustering terhadap 5 data
yang berlangsung :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
1. Single-linkage
Tabel 3. 18 Pencarian objek terdekat single iterasi 1
1 2 3 4 5
1 0 1,73 2,65 2,83 1,41
2 1,73 0 2,00 2,65 1,73
3 2,65 2,00 0 3,87 3,32
4 2,83 2,65 3,87 0 2,83
5 1,41 1,73 3,32 2,83 0
Pada matrik jarak yang sudah dihitung menggunakan
Euclidean Distance, dicari obyek yang memiliki jarak
paling minimum. 1 dan 5 memiliki jarak yang paling dekat,
yaitu 1,41. Maka kedua objek tersebut akan digabungkan
menjadi satu cluster. Maka cluster saat ini adalah (15), (2),
(3), (4). Jarak cluster (15) dengan cluster lainnya sebagai
berikut :
D(1 5)2 = min {D1 2, D5 2} = 1,73
D(1 5)3 = min {D1 3, D5 3} = 2,65
D(1 5)4 = min {D1 4, D5 4} = 2,83
Setelah mengetahui jarak cluster yang baru terbentuk (15)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
Tabel 3. 19 Hasil pencarian objek terdekat single iterasi 1
1,5 2 3 4
1 0 1,73 2,65 2,83
2 1,73 0 2,00 2,65
3 2,65 2,00 0 3,87
4 2,83 2,65 3,87 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Tabel 3. 20 Pencarian objek terdekat single iterasi 2
1,5 2 3 4
1 0 1,73 2,65 2,83
2 1,73 0 2,00 2,65
3 2,65 2,00 0 3,87
4 2,83 2,65 3,87 0
Dari hasil pencarian objek terdekat iterasi 1, kemudian
dicari objek yang memiliki jarak minimum. Cluster (15)
dan (2) memiliki nilai paling minimum yakni 1,73. Oleh
karena itu, kedua cluster tersebut akan digabungkan
sehingga cluster saat ini menjadi : (152), (3), (4). Jarak
cluster (152) dengan cluster lainnya sebagai berikut :
D(152)3 = min {D15 3, D2 3} = 2,00
D(152)4 = min {D15 4, D2 4} = 2,65
Setelah mengetahui jarak cluster yang baru terbentuk (152)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
Tabel 3. 21 Hasil pencarian objek terdekat single iterasi 2
1,5,2 3 4
1,5,2 0 2,00 2,65
3 2,00 0 3,87
4 2,65 3,87 0
Tabel 3. 22 Pencarian objek terdekat single iterasi 3
1,5,2 3 4
1,5,2 0 2,00 2,65
3 2,00 0 3,87
4 2,65 3,87 0
Dari hasil pencarian objek terdekat iterasi 2, kemudian
dicari objek yang memiliki jarak minimum. Cluster (152)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
dan (3) memiliki nilai paling minimum yakni 2,00. Oleh
karena itu, kedua cluster tersebut akan digabungkan
sehingga cluster saat ini menjadi : (1523) dan (4). Jarak
cluster (1523) dengan cluster lainnya sebagai berikut :
D(1523) 4 = min {D152 4, D3 4} = 2,65
Setelah mengetahui jarak cluster yang baru terbentuk
(1523) dengan cluster lainnya, maka tabel akan berubah
sebagai berikut :
Tabel 3. 23 Hasil cluster Single-linkage
1,5,2,3 4
1,5,2,3 0 2,65
4 2,65 0
Setelah memperoleh 2 cluster, pada langkah terakhir cluster
(1523) akan digabung dengan cluster (4) sehingga
terbentuk cluster tunggal. Maka dapat digambarkan
dendogram dari proses clustering yang sudah dilakukan
sebagai berikut :
Gambar 3. 10 Dendogram cluster single-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Pada iterasi pertama, terbentuk cluster dari 1 dan 5, lalu
pada iterasi ke-2 cluster 15 bergabung dengan 2 sehingga
membentuk cluster 152, kemudian iterasi ke-3 cluster 152
bergabung dengan 3 sehingga membentuk cluster 1523.
Pada iterasi ke-3, cluster 1523 dan 4 bergabung sehingga
membentuk cluster tunggal. Garis merah pada gambar 3.10
adalah cut-off yang berfungsi unuk melihat pembagian
jumlah cluster.
2. Average-linkage
Tabel 3. 24 Pencarian objek terdekat average iterasi 1
1 2 3 4 5
1 0 1,73 2,65 2,83 1,41
2 1,73 0 2,00 2,65 1,73
3 2,65 2,00 0 3,87 3,32
4 2,83 2,65 3,87 0 2,83
5 1,41 1,73 3,32 2,83 0
Pada matrik jarak yang sudah dihitung menggunakan
Euclidean Distance, dicari obyek yang memiliki jarak
paling minimum. 1 dan 5 memiliki jarak yang paling dekat,
yaitu 1,41. Maka kedua objek tersebut akan digabungkan
menjadi satu cluster. Maka cluster saat ini adalah (15), (2),
(3), (4). Jarak cluster (15) dengan cluster lainnya sebagai
berikut :
D(1 5)2 = average {D1 2, D5 2} = 1,73
D(1 5)3 = average {D1 3, D5 3} = 2,99
D(1 5)4 = average {D1 4, D5 4} = 2,83
Setelah mengetahui jarak cluster yang baru terbentuk (15)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Tabel 3. 25 Hasil pencarian objek terdekat average iterasi 1
1,5 2 3 4
1 0 1,73 2,99 2,83
2 1,73 0 2,00 2,65
3 2,99 2,00 0 3,87
4 2,83 2,65 3,87 0
Tabel 3. 26 Pencarian objek terdekat average iterasi 2
1,5 2 3 4
1 0 1,73 2,99 2,83
2 1,73 0 2,00 2,65
3 2,99 2,00 0 3,87
4 2,83 2,65 3,87 0
Dari hasil pencarian objek terdekat iterasi 1, kemudian
dicari objek yang memiliki jarak minimum. Cluster (15)
dan (2) memiliki nilai paling minimum yakni 1,73. Oleh
karena itu, kedua cluster tersebut akan digabungkan
sehingga cluster saat ini menjadi : (152), (3), (4). Jarak
cluster (152) dengan cluster lainnya sebagai berikut :
D(152)3 = average {D15 3, D2 3} = 2,49
D(152)4 = average {D15 4, D2 4} = 2,74
Setelah mengetahui jarak cluster yang baru terbentuk (152)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Tabel 3. 27 Hasil pencarian objek terdekat average iterasi 2
1,5,2 3 4
1,5,2 0 2,49 2,74
3 2,49 0 3,87
4 2,74 3,87 0
Tabel 3. 28 Pencarian objek terdekat average iterasi 3
1,5,2 3 4
1,5,2 0 2,49 2,74
3 2,49 0 3,87
4 2,74 3,87 0
Dari hasil pencarian objek terdekat iterasi 2, kemudian
dicari objek yang memiliki jarak minimum. Cluster (152)
dan (3) memiliki nilai paling minimum yakni 2,49. Oleh
karena itu, kedua cluster tersebut akan digabungkan
sehingga cluster saat ini menjadi : (1523) dan (4). Jarak
cluster (1523) dengan cluster lainnya sebagai berikut :
D(1523) 4 = average {D152 4, D3 4} = 3,31
Setelah mengetahui jarak cluster yang baru terbentuk
(1523) dengan cluster lainnya, maka tabel akan berubah
sebagai berikut :
Tabel 3. 29 Hasil cluster average-linkage
1,5,2,3 4
1,5,2,3 0 3,31
4 3,31 0
Setelah memperoleh 2 cluster, pada langkah terakhir cluster
(1523) akan digabung dengan cluster (4) sehingga
terbentuk cluster tunggal. Maka dapat digambarkan
dendogram dari proses clustering yang sudah dilakukan
sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Gambar 3. 11 Dendogram cluster average-linkage
Pada iterasi pertama, terbentuk cluster dari 1 dan 5, lalu
pada iterasi ke-2 cluster 15 bergabung dengan 2 sehingga
membentuk cluser 152, kemudian iterasi ke-3 cluster 152
bergabung dengan 3 sehingga membentuk cluster 1523.
Pada iterasi ke-3, cluster 1523 dan 4 bergabung sehingga
membentuk cluster tunggal. Garis merah pada gambar 3.11
adalah cut-off yang berfungsi unuk melihat pembagian
jumlah cluster.
3. Complete-linkage
Tabel 3. 30 Pencarian objek terdekat complete iterasi 1
1 2 3 4 5
1 0 1,73 2,65 2,83 1,41
2 1,73 0 2,00 2,65 1,73
3 2,65 2,00 0 3,87 3,32
4 2,83 2,65 3,87 0 2,83
5 1,41 1,73 3,32 2,83 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Pada matrik jarak yang sudah dihitung menggunakan
Euclidean Distance, dicari obyek yang memiliki jarak
paling minimum. 1 dan 5 memiliki jarak yang paling dekat,
yaitu 1,41. Maka kedua objek tersebut akan digabungkan
menjadi satu cluster. Maka cluster saat ini adalah (15), (2),
(3), (4). Jarak cluster (15) dengan cluster lainnya sebagai
berikut :
D(1 5)2 = max {D1 2, D5 2} = 1,73
D(1 5)3 = max {D1 3, D5 3} = 3,32
D(1 5)4 = max {D1 4, D5 4} = 2,83
Setelah mengetahui jarak cluster yang baru terbentuk (15)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
Tabel 3. 31 Hasil pencarian objek terdekat complete iterasi 1
1,5 2 3 4
1 0 1,73 3,32 2,83
2 1,73 0 2,00 2,65
3 3,32 2,00 0 3,87
4 2,83 2,65 3,87 0
Tabel 3. 32 Pencarian objek terdekat complete iterasi 2
1,5 2 3 4
1 0 1,73 3,32 2,83
2 1,73 0 2,00 2,65
3 3,32 2,00 0 3,87
4 2,83 2,65 3,87 0
Dari hasil pencarian objek terdekat iterasi 1, kemudian
dicari objek yang memiliki jarak minimum. Cluster (15)
dan (2) memiliki nilai paling minimum yakni 1,73. Oleh
karena itu, kedua cluster tersebut akan digabungkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
sehingga cluster saat ini menjadi : (152), (3), (4). Jarak
cluster (152) dengan cluster lainnya sebagai berikut :
D(152)3 = max {D15 3, D2 3} = 3,32
D(152)4 = max {D15 4, D2 4} = 2,83
Setelah mengetahui jarak cluster yang baru terbentuk (152)
dengan cluster lainnya, maka tabel akan berubah sebagai
berikut :
Tabel 3. 33 Hasil pencarian objek terdekat complete iterasi 2
1,5,2 3 4
1,5,2 0 3,32 2,83
3 3,32 0 3,87
4 2,83 3,87 0
Tabel 3. 34 Pencarian objek terdekat complete iterasi 3
1,5,2 3 4
1,5,2 0 3,32 2,83
3 3,32 0 3,87
4 2,83 3,87 0
Dari hasil pencarian objek terdekat iterasi 2, kemudian
dicari objek yang memiliki jarak minimum. Cluster (152)
dan (3) memiliki nilai paling minimum yakni 2,83. Oleh
karena itu, kedua cluster tersebut akan digabungkan
sehingga cluster saat ini menjadi : (1524) dan (3). Jarak
cluster (1524) dengan cluster lainnya sebagai berikut :
D(1524) 3 = average {D152 3, D4 3} = 3,87
Setelah mengetahui jarak cluster yang baru terbentuk
(1524) dengan cluster lainnya, maka tabel akan berubah
sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 3. 35 Hasil cluster complete-linkage
1,5,2,4 3
1,5,2,4 0 3,87
3 3,87 0
Setelah memperoleh 2 cluster, pada langkah terakhir cluster
(1524) akan digabung dengan cluster (3) sehingga
terbentuk cluster tunggal. Maka dapat digambarkan
dendogram dari proses clustering yang sudah dilakukan
sebagai berikut :
Gambar 3. 12 Dendogram cluster complete-linkage
Pada iterasi pertama, terbentuk cluster dari 1 dan 5, lalu
pada iterasi ke-2 cluster 15 bergabung dengan 2 sehingga
membentuk cluser 152, kemudian iterasi ke-3 cluster 152
bergabung dengan 4 sehingga membentuk cluster 1524.
Pada iterasi ke-3, cluster 1524 dan 3 bergabung sehingga
membentuk cluster tunggal. Garis merah pada gambar 3.12
adalah cut-off yang berfungsi unuk melihat pembagian
jumlah cluster.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
3.7.5. Perhitungan akurasi
Pada bagian ini, setelah proses clustering selesai, sistem
akan menguji apakah hasil dari proses clustering yang berupa
cluster memiliki akurasi yang baik atau tidak dalam artian bahwa
hasil cluster tersebut sesuai dengan label yang sudah ada. Untuk
itu, metode perhitungan akurasi yang digunakan untuk perhitungan
akurasi adalah sebuah tabel evaluasi cluster Confusion Matrix,
metode ini akan memperoleh keakuratan dari metode
Agglomerative Hierarchical Clustering dalam mengelompokkan
data seleksi paduan suara mahasiswa Cantus Firmus dan
membandingkannya dengan label yang sebelumnya sudah ada.
Akurasi yang dihasilkan akan menunjukkan seberapa baik dan
buruknya hasil pengelompokan yang sudah dilakukan.
Tabel 3. 36 Perhitungan Confusion Matrix
Cluster
1 2 3 4 Jenis Suara
Alto 1 0 1 0
Sopran 0 2 0 1
Tenor 0 1 0 0
Bass 0 0 0 1
X 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
3.8. Spesifikasi Alat
Sistem ini akan menggunakan Software dan Hardware
dengan spesifikasi berikut ini :
1. Software
a. Sistem Operasi Windows 8.1 Pro 64-bit
b. Matlab R2016b
2. Hardware
a. Processor : Intel® Core™ i5-4210U CPU @ 1.70GHz
(4 CPUs)~ 2.4GHz
b. RAM : 4 GB
c. Harddisk : 500 GB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
BAB IV
IMPLEMENTASI HASIL DAN ANALISA
Bab ini akan membahas mengenai hasil dari pengelompokan data seleksi
penerimaan anggota baru Paduan Suara Mahasiswa Cantus Firmus dengan
Agglomerative Hierarchical Clustering. Selain itu juga membahas hasil
keakuratan yang diperoleh dari metode yang diuji akan dijelaskan pada bab ini.
4.1. Hasil Clustering dan Pengujian Confusion
Pada tahap ini, pengujian dilakukan terhadap 150 data seleksi
penerimaan anggota baru Paduan Suara Mahasiswa Cantus Firmus dengan
metode Agglomerative Hierarchical Clustering yang terdiri dari Single-
linkage, Average-linkage, dan Complete-linkage.
Hasil pengujian yang didapatkan adalah sebagai berikut :
1. Single-linkage
Pengujian dimulai dengan menginputkan data yang akan
dikelompokkan, pada pengujian ini data yang digunakan sebanyak
150 data seleksi tahap vokal per-individu. Setelah data berhasil
diinputkan, data yang diinputkan akan ditampilkan pada halaman
utama dan pengguna data dapat melihat keseluruhan data yang
diinputkan. Setelah itu pengguna memilih metode Agglomerative
Hierarchical Clustering yang akan di gunakan. Pilih metode
Single-linkage lalu proses clustering akan dimulai. Berikut adalah
tampilan dari proses yang berlangsung :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Gambar 4. 1 Pengujian metode Single-linkage
Berikut adalah output berupa dendogram yang akan muncul setelah
proses clustering berhasil diproses :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Gambar 4. 2 Dendogram Single-linkage
Berikut ini adalah perhitungan akurasi dengan Confusion Matriks
yang diperoleh dari clustering menggunakan metode Single-
linkage :
Tabel 4. 1 Confusion Matriks Pengujian Single-linkage
Cluster
1 2 3 4 Jenis Suara
Alto 0 67 1 0
Sopran 0 50 0 1
Tenor 1 18 0 0
Bass 0 12 0 0
X 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
X 100%
2. Average-linkage
Untuk metode Average-linkage, Pengujian dimulai dengan
menginputkan data yang akan dikelompokkan, pada pengujian ini
data yang digunakan sebanyak 150 data seleksi tahap vokal per-
individu penyanyi. Setelah data berhasil diinputkan, data yang
diinputkan akan ditampilkan pada halaman utama dan pengguna
data dapat melihat keseluruhan data yang diinputkan. Setelah itu
pengguna memilih metode Agglomerative Hierarchical Clustering
yang akan di gunakan. Pilih metode Average-linkage lalu proses
clustering akan dimulai. Berikut adalah tampilan dari proses yang
berlangsung :
Gambar 4. 3 Pengujian metode Average-linkage
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Berikut adalah output berupa dendogram yang akan muncul setelah
proses clustering berhasil diproses :
Gambar 4. 4 Dendogram Average-linkage
Berikut ini adalah perhitungan akurasi dengan Confusion Matriks
yang diperoleh dari clustering menggunakan metode Average-
linkage :
Tabel 4. 2 Confusion Matriks Pengujian Average-linkage
Cluster
1 2 3 4 Jenis Suara
Alto 0 68 0 0
Sopran 0 51 0 0
Bass 0 10 1 1
Tenor 1 18 0 0
X 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
3. Complete-linkage
Untuk metode Complete-linkage, Pengujian dimulai dengan
menginputkan data yang akan dikelompokkan, pada pengujian ini
data yang digunakan sebanyak 150 data seleksi tahap vokal
perindividu penyanyi. Setelah data berhasil diinputkan, data yang
diinputkan akan ditampilkan pada halaman utama dan pengguna
data dapat melihat keseluruhan data yang diinputkan. Setelah itu
pengguna memilih metode Agglomerative Hierarchical Clustering
yang akan di gunakan. Pilih metode Complete-linkage lalu proses
clustering akan dimulai. Berikut adalah tampilan dari proses yang
berlangsung :
Gambar 4. 5 Pengujian metode Complete-linkage
X 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Berikut adalah output berupa dendogram yang akan muncul setelah
proses clustering berhasil diproses :
Gambar 4. 6 Dendogram Complete-linkage
Berikut ini adalah perhitungan akurasi dengan Confusion Matriks
yang diperoleh dari clustering menggunakan metode Complete-
linkage :
Tabel 4. 3 Confusion Matriks Pengujian Complete-linkage
Cluster
1 2 3 4 Jenis Suara
Bass 12 0 0 0
Tenor 0 19 0 0
Sopran 0 0 51 0
Alto 0 0 24 44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
4.2. Hasil Penelitian dan Analisa
Penelitian ini telah mendapatkan hasil setelah melalui tahap
implementasi dan pengujian, pengujian telah dilakukan terhadap 150 data
seleksi penerimaan anggota baru Paduan Suara Mahasiswa Cantus Firmus
dengan pembagian jenis suara yaitu Sopran, Alto, Tenor, dan Bass.
Tabel 4.5 Karakteristik Jenis Suara
No Jenis suara Keterangan
1 Sopran Sopran adalah penyanyi suara tertinggi dalam
klasifikasi vokal di dalam budaya musik klasik barat.
Dalam paduan suara, standar jarak suara sopran
adalah yaitu dari C4 hingga satu setengah oktaf
keatas mencapai C6. umumnya jenis suara sopran
ringan dan tinggi. Wanita yang memiliki jenis suara
ini biasanya dapat mencapai nada-nada tinggi dengan
mudah dan suaranya cenderung ringan dan tipis.
2 Alto Alto adalah salah satu jenis jangkauan suara dalam
menyanyi yang berada lebih rendah di bawah
suara sopran dan lebih tinggi daripada suara tenor.
Jenis suara ini merupakan tingkat ambitus terendah
dari seorang perempuan dengan tingkat ambitus
X 100%
X 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
antara F sampai D2. Ketika seseorang menyanyikan
suara alto, maka suara yang keluar memiliki ciri
rendah, berat, dalam, dan berwibawa.
3 Tenor Tenor adalah jenis suara dengan ambitus tertinggi di
kelasnya yakni suara pria. Secara umum, suara tenor
masuk di antara nada C3 (nada C satu oktaf di atas
nada C natural) hingga nada C5 dalam paduan suara.
Umumnya, suara tenor terletak satu oktaf lebih
rendah dibandingkan suara sopran. Rentang ambitus
yang mampu dicapai oleh penyanyi tenor adalah B
Besar sampai G1. Suara tenor memiliki karakteristik
bertenaga dan jantan. penyanyi pria dengan ciri khas
tipis dan lihai memainkan nada-nada tinggi.
4 Bass Bass adalah jenis suara terendah penyanyi pria.
Secara umum, jenis suara bass mempunyai
jangkauan dari nada E2 sampai E4 dalam paduan
suara. Produksi suara yang dihasilkan seorang bass
dapat sangat rendah namun sangat bertenaga. Suara
ini biasanya sangat gagah dalam paduan suara karena
nada-nada rendah yang menjadi padu padan yang
lengkap
Setiap penyanyi yang diseleksi untuk menjadi anggota baru Paduan
Suara Mahasiswa Cantus Firmus memiliki attribut-attribut yang dapat
mengidentifikasi penyanyi-penyanyi tersebut kedalam kelompok jenis
suara dan membedakan penyanyi tersebut dari penyanyi yang lainnya.
Untuk attribut seperti JENIS KELAMIN menjadi sangat tidak berpengaruh
dalam membedakan jenis suara Sopran dan Alto, namun sangat efektif
dalam memisahkan kedua jenis suara tersebut dengan kelompok jenis
suara Tenor dan Bass.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
1. Perbandingan akurasi
Dari keseluruhan pengujian yang dilakukan, metode perhitungan
jarak Complete-linkage memperoleh akurasi paling baik dengan
akurasi mencapai 84%, walaupun akurasinya tidak mencapai 100%
akurasi ini terbilang sudah baik. Kemudian metode perhitungan
jarak yang memperoleh akurasi yang paling buruk adalah Single-
linkage dengan akurasi yang hanya mencapai 33,33%. Akurasi
yang hanya mencapai 33,33% terbilang buruk karena akurasi
tersebut belum mencapai target yang diinginkan. Untuk metode
perhitungan jarak Average-linkage memperoleh akurasi yang
sedikit lebih tinggi dari metode Single-linkage dengan akurasi yang
mencapai 34,66%.
Gambar 4. 7 Grafik akurasi hasil pengujian
Pada grafik di atas menjelaskan perbandingan tingkat akurasi yang
diperoleh dari ketiga metode selama pengujian, dimana grafik dari
metode Single-linkage diwakilkan dengan warna merah, metode
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Average-linkage diwakilkan dengan warna hijau, dan metode
Complete-linkage dengan warna biru. Dapat dilihat dari grafik di
atas bahwa akurasi tertinggi diperoleh metode Complete-linkage
dengan akurasi mencapai 84%, metode perhitungan jarak ini
memperoleh akurasi yang tertinggi karena pengambilan nilai jarak
yang digunakan dalam perhitungan mengambil nilai jarak yang
paling besar atau maksimal ketika proses pengelompokan
dilakukan, hal tersebut memberikan pengaruh yang sangat besar
terhadap proses pengelompokan yang dilakukan dan memberikan
jarak yang besar terhadap masing-masing dari kelompok jenis
suara yang ditetapkan. Kemudian disisi lain, akurasi yang terendah
diperoleh dari metode Single-linkage dengan akurasi 33,33%,
dengan tingkat akurasi yang dihasilkan sebesar itu, metode ini
dapat dikatakan sebagai metode pengelompokan yang buruk
didalam pengujian ini. Hal tersebut dikarenakan pada metode
Single-linkage, pengambilan nilai jarak yang digunakan
mengambil nilai jarak yang paling dekat atau minimal ketika
proses pengelompokan berlangsung, hal tersebut menyebabkan
data-data penyanyi yang dikelompokkan yang seharusnya saling
memisahkan kedalam beberapa kelompok/cluster akan saling
bergabung menjadi satu kelompok/cluster, sehingga label dari
masing-masing kelompok jenis suara menjadi tercampur dan
menghasilkan akurasi yang rendah. Yang terakhir adalah metode
Average-linkage yang merupakan metode yang tingkat akurasinya
berada diantara kedua metode yang lainnya, dalam pengujian yang
dilakukan metode ini menghasilkan akurasi yang sedikit lebih
tinggi dari metode Single-linkage dan dibawah Complete-linkage
dengan tingkat akurasi mencapai 34,66%, metode ini mengambil
nilai jarak rata-rata dalam proses pengelompokan data, sehingga
metode ini memberi jarak yang sedikit lebih besar dari metode
Single-linkage. Dari penjelasan di atas, dapat diketahui alasan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
mengapa metode Complete-linkage menjadi metode yang paling
bagus dalam mengelompokkan data seleksi anggota baru untuk
penyanyi Paduan Suara Mahasiswa Cantus Firmus.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
BAB V
KESIMPULAN DAN SARAN
Bab ini akan menjelaskan mengenai kesimpulan dari penelitian terkait dengan
pengelompokan jenis suara anggota baru penyanyi paduan suara mahasiswa
Cantus Firmus. Pada bab ini juga dijelaskan saran yang diberikan pada sistem
yang sudah dibuat.
5.1. Kesimpulan
Pengelompokan jenis suara anggota baru paduan suara mahasiswa
Cantus Firmus menggunakan metode Agglomerative Hierarchical
Clustering berdasarkan hasil seleksi tahap vokal untuk penerimaan
anggota baru.
Berdasarkan hasil percobaan di atas, kesimpulan yang dapat
diambil sebagai berikut :
1. Dalam penelitian ini, metode Agglomerative Hierarchical
Clustering dapat dengan baik mengelompokkan jenis suara
anggota baru penyanyi paduan suara mahasiswa Cantus Firmus
dengan akurasi yang baik.
2. Dari ketiga metode Agglomerative Hierarchical Clustering yang
diuji terhadap 150 data, metode Complete-linkage menghasilkan
akurasi paling baik dengan akurasi mencapai 84%.
3. Dalam pengujian yang dilakukan, metode Complete-linkage
menghasilkan akurasi yang lebih baik dibandingkan dengan
akurasi yang dihasilkan oleh metode Single-linkage dan Average-
linkage.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
5.2. Saran
Saran yang diperlukan untuk pengembangan sistem lebih lanjut
sebagai berikut :
1. Menambahkan lebih banyak attribut baru untuk data seleksi
penerimaan anggota baru Paduan Suara Mahasiswa Cantus
Firmus.
2. Perhitungan jarak kedekatan dapat mencoba dengan metode
lain selain metode Single-linkage, Average-linkage, dan
Complete-linkage.
3. Pengujian akurasi dapat dicoba dengan pengujian lain selain
Confusion Matrix.
4. Menambahkan lebih banyak data yang diuji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
DAFTAR PUSTAKA
Hermawati, F.A. (2013) Data Mining. Ed. I. Yogyakarta, Andi. 117-146.
Prasetyo, E. (2014) Data Mining – Mengolah Data menjadi Informasi
Menggunakan Matlab. Ed. I. Yogyakarta, Andi. 245-256.
Tan, P. Steinbach, M. Kumar, V. (2006) Introduction to Data Mining. Library of
Congress. 490-526.
Prasetya, Y.Y. (2012) Seleksi Penerimaan Anggota Baru Paduan Suara
Mahasiswa menggunakan Logika Kabur dan Multi - Attribute Decision
Making (Studi Kasus PSM Cantus Firmus USD). [Online] Available
from : https://repository.usd.ac.id/8411/2/125314005_full.pdf [Di akses
10 Oktober 2017]
Pratomo, B.Y. (2012) Pengelompokan Peran Pemain DOTA 2 dalam
Pertandingan Profesional dengan Metode Agglomerative Hierarchical
Clustering. [Online] Available from :
https://repository.usd.ac.id/9156/2/125314137_full.pdf [Di Akses 10
Januari 2019]
Fadliana, A. Rozi, F. (2015) Penerapan Metode Agglomerative Hierarchical
Clustering untuk Klasifikasi Kabupaten/Kota di Provinsi Jawa Timur
Berdasarkan Kualitas Pelayanan Keluarga Berencana. [Online] Available
from : http://dx.doi.org/10.18860/ca.v4i1.3172 [Di Akses 30 Oktober
2017]
Tresnawati, Yenni. (2013) Analisis Sentimen pada Twitter Menggunakan
Pendekatan Agglomerative Hierarchical Clustering. [Online] Available
from : https://repository.usd.ac.id/11493/3/135314018_full.pdf [Di Akses
18 November 2017]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Fakultas Teknologi Industri Universiitas Islam Indonesia. Modul Clustering Data
Mining – Modul Clustering. 1-9. [Online] Available from :
https://www.trigunadharma.ac.id/media/materi/Modul%20Clustering%2
0Data%20Mining-Modul%20Clustering.pdf [Di Akses 5 November
2017]
Kohavi dan Provost. (1998). Confusion Matriks. [Online] Available from :
http://faculty.smu.edu/tfomby/eco5385_eco6380/lecture/Confusion%20
Matrix.pdf [Di Akses 20 Desember 2017]
Susanto, Budi. (2013). [Online] Available from :
http://lecturer.ukdw.ac.id/budsus/pdf/genap12/twm/Minggu2.pdf [Di
Akses 28 Desember 2017]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
LAMPIRAN
function varargout = Ahc(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Ahc_OpeningFcn, ... 'gui_OutputFcn', @Ahc_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before Ahc is made visible. function Ahc_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Ahc (see VARARGIN)
% Choose default command line output for Ahc handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes Ahc wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = Ahc_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of
MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) [namafile,direktori]=uigetfile({'*.xls','file
excel(*.xls)';'*.*','semua file(*.*)'},'buka file excel'); alamatfile=fullfile(direktori,namafile); set(handles.txt_import,'String',alamatfile); [a,b,c]=xlsread(alamatfile); bar=size(c,1); col=size(c,2); judul=c(1,2:col); data=c(2:bar,2:col); nom=linspace(1,bar-1,bar-1); %title = {'Nama', 'Sex', 'J.Sur', 'Range', 'K.Sur', 'Noise',
'Ket.Sur', 'N.Tig'};
set(handles.tbl_import,'data',data,'ColumnName',judul,'RowName',no
m); set(handles.tbl_import,'Userdata',data); b=0; matrik = []; baris = 2; while(b<bar); if(baris<bar) % fprintf('Barisan fibonacci sampai suku ke-%g adalah\n'); nomor = b+1; kode = strcat('DT',num2str(nomor)); nama = cellstr(c(baris:baris,2:2));
%Jenis Kelamin sex = c(baris:baris,3:3); if(contains(sex, 'Pria')) sex = 1; else sex = 2; end
%Range range = c(baris:baris,4:4); if(contains(range, 'A')) range = 1; elseif(contains(range, 'B')) range = 2; elseif(contains(range, 'C')) range = 3; elseif(contains(range, 'D')) range = 4; elseif(contains(range, 'E')) range = 5; elseif(contains(range, 'F')) range = 6; else range = 0; end
%Kat Suara katsuara = c(baris:baris,5:5); if(contains(katsuara, 'pop')) katsuara = 1; else katsuara = 2;
end %Noise noise = c(baris:baris,6:6); if(contains(noise, 'tidak')) noise = 1; elseif(contains(noise, 'sedang')) noise = 2;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
elseif(contains(noise, 'banyak')) noise = 3; else noise = 0; end
%Ket Suara ketsuara = c(baris:baris,7:7); if(contains(ketsuara, 'tipis')) ketsuara = 1; elseif(contains(ketsuara, 'sedang')) ketsuara = 2; elseif(contains(ketsuara, 'tebal')) ketsuara = 3; else ketsuara = 0; end
%Ket Suara nadtinggi = c(baris:baris,8:8); if(contains(nadtinggi, 'tidak')) nadtinggi = 1; elseif(contains(nadtinggi, 'goyang')) nadtinggi = 2; elseif(contains(nadtinggi, 'stabil')) nadtinggi = 3; else nadtinggi = 0; end
%Jenis Suara suara = c(baris:baris,9:9); if(contains(suara, 'Sopran')) suara = 1; elseif(contains(suara, 'Alto')) suara = 2; elseif(contains(suara, 'Tenor')) suara = 3; elseif(contains(suara, 'Bass')) suara = 4; else suara = 0; end
arr1 = [kode, nama, sex, range, katsuara, noise, ketsuara,
nadtinggi, suara]; matrik = [matrik; arr1];
end b=b+1; baris = 2+b; end
baris= size(matrik, 1);
%Single function [single]=single(matrik, baris)
x=1; min=100; gabung = []; while(x<=baris); i=1; while(i<=baris);
if(cell2mat(matrik(x:x,3:3))<cell2mat(matrik(i:i,3:3))) sex = cell2mat(matrik(x:x,3:3)); else sex = cell2mat(matrik(i:i,3:3)); end
if(cell2mat(matrik(x:x,4:4))<cell2mat(matrik(i:i,4:4)))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
range = cell2mat(matrik(x:x,4:4)); else range = cell2mat(matrik(i:i,4:4)); end
if(cell2mat(matrik(x:x,5:5))<cell2mat(matrik(i:i,5:5))) katsuara = cell2mat(matrik(x:x,5:5)); else katsuara = cell2mat(matrik(i:i,5:5)); end
if(cell2mat(matrik(x:x,6:6))<cell2mat(matrik(i:i,6:6))) noise = cell2mat(matrik(x:x,6:6)); else noise = cell2mat(matrik(i:i,6:6)); end
if(cell2mat(matrik(x:x,7:7))<cell2mat(matrik(i:i,7:7))) ketsuara = cell2mat(matrik(x:x,7:7)); else ketsuara = cell2mat(matrik(i:i,7:7)); end
if(cell2mat(matrik(x:x,8:8))<cell2mat(matrik(i:i,8:8))) nadtinggi = cell2mat(matrik(x:x,8:8)); else nadtinggi = cell2mat(matrik(i:i,8:8)); end
nilai = sex+range+katsuara+noise+ketsuara+nadtinggi; if(contains(matrik(x:x,1:1),matrik(i:i,1:1))) else if((x==1 || min>nilai) && x~=i) min = nilai; arr2 = [x, i]; gabung = [arr2]; end end
i=i+1; end x = x+1; end
kode = strcat(matrik(gabung(1),1:1),', ',matrik(gabung(2),1:1));
nama = strcat(matrik(gabung(1),2:2),', ',matrik(gabung(2),2:2));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
if(cell2mat(matrik(gabung(1),3:3))<cell2mat(matrik(gabung(2),3:3))
) sex = cell2mat(matrik(gabung(1),3:3)); else sex = cell2mat(matrik(gabung(2),3:3)); end
if(cell2mat(matrik(gabung(1),4:4))<cell2mat(matrik(gabung(2),4:4))
) range = cell2mat(matrik(gabung(1),4:4)); else range = cell2mat(matrik(gabung(2),4:4)); end
if(cell2mat(matrik(gabung(1),5:5))<cell2mat(matrik(gabung(2),5:5))
) katsuara = cell2mat(matrik(gabung(1),5:5)); else katsuara = cell2mat(matrik(gabung(2),5:5)); end
if(cell2mat(matrik(gabung(1),6:6))<cell2mat(matrik(gabung(2),6:6))
) noise = cell2mat(matrik(gabung(1),6:6)); else noise = cell2mat(matrik(gabung(2),6:6)); end
if(cell2mat(matrik(gabung(1),7:7))<cell2mat(matrik(gabung(2),7:7))
) ketsuara = cell2mat(matrik(gabung(1),7:7)); else ketsuara = cell2mat(matrik(gabung(2),7:7)); end
if(cell2mat(matrik(gabung(1),8:8))<cell2mat(matrik(gabung(2),8:8))
) nadtinggi = cell2mat(matrik(gabung(1),8:8)); else nadtinggi = cell2mat(matrik(gabung(2),8:8)); end
suara = strcat(matrik(gabung(1),9:9),', ',matrik(gabung(2),9:9)); gabungkan = [kode, nama, sex, range, katsuara, noise, ketsuara,
nadtinggi, suara];
x=1; matrik2=[]; while(x<=baris); if(x==gabung(1)) arr1 = gabungkan; matrik2 = [matrik2; arr1]; elseif(x==gabung(2)) else
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
arr1 = [matrik(x,1:1), matrik(x,2:2), matrik(x,3:3),
matrik(x,4:4), matrik(x,5:5), matrik(x,6:6), matrik(x,7:7),
matrik(x,8:8), matrik(x,9:9)]; matrik2 = [matrik2; arr1]; end
x = x+1; end baris= size(matrik2, 1); single = matrik2;
%End Single
%Average function [average]=average(matrik, baris) x=1; min=100; gabung = []; while(x<=baris); i=1; while(i<=baris); nilai =
(((cell2mat(matrik(x:x,3:3))+cell2mat(matrik(i:i,3:3)))/2)+((cell2
mat(matrik(x:x,4:4))+cell2mat(matrik(i:i,4:4)))/2)+((cell2mat(matr
ik(x:x,5:5))+cell2mat(matrik(i:i,5:5)))/2)+((cell2mat(matrik(x:x,6
:6))+cell2mat(matrik(i:i,6:6)))/2)+(mean(cell2mat(matrik(x:x,7:7))
+cell2mat(matrik(i:i,7:7)))/2)+((cell2mat(matrik(x:x,8:8))+cell2ma
t(matrik(i:i,8:8)))/2))/7; if(contains(matrik(x:x,1:1),matrik(i:i,1:1))) else if((x==1 || min>nilai) && x~=i) min = nilai; arr2 = [x, i]; gabung = [arr2]; end end
i=i+1; end x = x+1; end
kode = strcat(matrik(gabung(1),1:1),', ',matrik(gabung(2),1:1));
nama = strcat(matrik(gabung(1),2:2),', ',matrik(gabung(2),2:2)); sex =
(cell2mat(matrik(gabung(1),3:3))+cell2mat(matrik(gabung(2),3:3)))/
2; range =
(cell2mat(matrik(gabung(1),4:4))+cell2mat(matrik(gabung(2),4:4)))/
2; katsuara =
(cell2mat(matrik(gabung(1),5:5))+cell2mat(matrik(gabung(2),5:5)))/
2;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
noise =
(cell2mat(matrik(gabung(1),6:6))+cell2mat(matrik(gabung(2),6:6)))/
2; ketsuara =
(cell2mat(matrik(gabung(1),7:7))+cell2mat(matrik(gabung(2),7:7)))/
2; nadtinggi =
(cell2mat(matrik(gabung(1),8:8))+cell2mat(matrik(gabung(2),8:8)))/
2; suara = strcat(matrik(gabung(1),9:9),',
',matrik(gabung(2),9:9)); gabungkan = [kode, nama, sex, range, katsuara, noise, ketsuara,
nadtinggi, suara];
x=1; matrik2=[]; while(x<=baris); if(x==gabung(1)) arr1 = gabungkan; matrik2 = [matrik2; arr1]; elseif(x==gabung(2)) else arr1 = [matrik(x,1:1), matrik(x,2:2), matrik(x,3:3),
matrik(x,4:4), matrik(x,5:5), matrik(x,6:6), matrik(x,7:7),
matrik(x,8:8), matrik(x,9:9)]; matrik2 = [matrik2; arr1]; end
x = x+1; end baris= size(matrik2, 1); average = matrik2; %End Average
%Complete function [complete]=complete(matrik, baris) x=1; min=100; gabung = []; while(x<=baris); i=1; while(i<=baris);
if(cell2mat(matrik(x:x,3:3))>cell2mat(matrik(i:i,3:3))) sex = cell2mat(matrik(x:x,3:3)); else sex = cell2mat(matrik(i:i,3:3)); end
if(cell2mat(matrik(x:x,4:4))>cell2mat(matrik(i:i,4:4))) range = cell2mat(matrik(x:x,4:4)); else range = cell2mat(matrik(i:i,4:4)); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
if(cell2mat(matrik(x:x,5:5))>cell2mat(matrik(i:i,5:5))) katsuara = cell2mat(matrik(x:x,5:5)); else katsuara = cell2mat(matrik(i:i,5:5)); end
if(cell2mat(matrik(x:x,6:6))>cell2mat(matrik(i:i,6:6))) noise = cell2mat(matrik(x:x,6:6)); else noise = cell2mat(matrik(i:i,6:6)); end
if(cell2mat(matrik(x:x,7:7))>cell2mat(matrik(i:i,7:7))) ketsuara = cell2mat(matrik(x:x,7:7)); else ketsuara = cell2mat(matrik(i:i,7:7)); end
if(cell2mat(matrik(x:x,8:8))>cell2mat(matrik(i:i,8:8))) nadtinggi = cell2mat(matrik(x:x,8:8)); else nadtinggi = cell2mat(matrik(i:i,8:8)); end
nilai = sex+range+katsuara+noise+ketsuara+nadtinggi; if(contains(matrik(x:x,1:1),matrik(i:i,1:1))) else if((x==1 || min>nilai) && x~=i) min = nilai; arr2 = [x, i]; gabung = [arr2]; end end
i=i+1; end x = x+1; end
kode = strcat(matrik(gabung(1),1:1),', ',matrik(gabung(2),1:1));
nama = strcat(matrik(gabung(1),2:2),', ',matrik(gabung(2),2:2)); if(cell2mat(matrik(gabung(1),3:3))>cell2mat(matrik(gabung(2),3:3))
) sex = cell2mat(matrik(gabung(1),3:3)); else sex = cell2mat(matrik(gabung(2),3:3)); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
if(cell2mat(matrik(gabung(1),4:4))>cell2mat(matrik(gabung(2),4:4))
) range = cell2mat(matrik(gabung(1),4:4)); else range = cell2mat(matrik(gabung(2),4:4)); end
if(cell2mat(matrik(gabung(1),5:5))>cell2mat(matrik(gabung(2),5:5))
) katsuara = cell2mat(matrik(gabung(1),5:5)); else katsuara = cell2mat(matrik(gabung(2),5:5)); end
if(cell2mat(matrik(gabung(1),6:6))>cell2mat(matrik(gabung(2),6:6))
) noise = cell2mat(matrik(gabung(1),6:6)); else noise = cell2mat(matrik(gabung(2),6:6)); end
if(cell2mat(matrik(gabung(1),7:7))>cell2mat(matrik(gabung(2),7:7))
) ketsuara = cell2mat(matrik(gabung(1),7:7)); else ketsuara = cell2mat(matrik(gabung(2),7:7)); end
if(cell2mat(matrik(gabung(1),8:8))>cell2mat(matrik(gabung(2),8:8))
) nadtinggi = cell2mat(matrik(gabung(1),8:8)); else nadtinggi = cell2mat(matrik(gabung(2),8:8)); end
suara = strcat(matrik(gabung(1),1:1),', ',matrik(gabung(2),1:1)); gabungkan = [kode, nama, sex, range, katsuara, noise, ketsuara,
nadtinggi, suara];
x=1; matrik2=[]; while(x<=baris); if(x==gabung(1)) arr1 = gabungkan; matrik2 = [matrik2; arr1]; elseif(x==gabung(2)) else arr1 = [matrik(x,1:1), matrik(x,2:2), matrik(x,3:3),
matrik(x,4:4), matrik(x,5:5), matrik(x,6:6), matrik(x,7:7),
matrik(x,8:8), matrik(x,9:9)]; matrik2 = [matrik2; arr1]; end
x = x+1; end baris= size(matrik2, 1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
complete = matrik2; %End Complete
function txt_import_Callback(hObject, eventdata, handles) % hObject handle to txt_import (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of txt_import as
text % str2double(get(hObject,'String')) returns contents of
txt_import as a double
% --- Executes during object creation, after setting all
properties. function txt_import_CreateFcn(hObject, eventdata, handles) % hObject handle to txt_import (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles)
alamatfile=get(handles.txt_import, 'String'); [a,b,c]=xlsread(alamatfile); bar=size(c,1); col=size(c,2); judul=c(1,2:col); data=c(2:bar,2:col); nom=linspace(1,bar-1,bar-1); data_matrik = data;
b=0; matrik = []; dendo = []; baris = 2; label = []; while(b<=bar); if(baris<=bar) % fprintf('Barisan fibonacci sampai suku ke-%g adalah\n'); nomor = b+1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
kode = strcat('DT',num2str(nomor)); nama = cellstr(c(baris:baris,2:2));
%Jenis Kelamin sex = c(baris:baris,3:3); if(contains(sex, 'Pria')) sex = 1; else sex = 2; end
%Range range = c(baris:baris,4:4); if(contains(range, 'A')) range = 1; elseif(contains(range, 'B')) range = 2; elseif(contains(range, 'C')) range = 3; elseif(contains(range, 'D')) range = 4; elseif(contains(range, 'E')) range = 5; elseif(contains(range, 'F')) range = 6; else range = 0; end
%Kat Suara katsuara = c(baris:baris,5:5); if(contains(katsuara, 'pop')) katsuara = 1; else katsuara = 2;
end %Noise noise = c(baris:baris,6:6); if(contains(noise, 'tidak')) noise = 1; elseif(contains(noise, 'sedang')) noise = 2; elseif(contains(noise, 'banyak')) noise = 3; else noise = 0; end
%Ket Suara ketsuara = c(baris:baris,7:7); if(contains(ketsuara, 'tipis')) ketsuara = 1; elseif(contains(ketsuara, 'sedang')) ketsuara = 2; elseif(contains(ketsuara, 'tebal')) ketsuara = 3; else ketsuara = 0; end
%Ket Suara nadtinggi = c(baris:baris,8:8); if(contains(nadtinggi, 'tidak')) nadtinggi = 1; elseif(contains(nadtinggi, 'goyang')) nadtinggi = 2; elseif(contains(nadtinggi, 'stabil')) nadtinggi = 3; else nadtinggi = 0; end
%Jenis Suara suara = cellstr(c(baris:baris,9:9)); label = [label; suara]; arr1 = [kode, nama, sex, range, katsuara, noise, ketsuara,
nadtinggi, suara]; ardo = [sex+0.2, range+0.2, katsuara+0.2, noise+0.2,
ketsuara+0.2, nadtinggi+0.2]; matrik = [matrik; arr1]; dendo = [dendo; ardo]; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
b=b+1; baris = 2+b;
end
%Pembentukan Label Data [vlabel,m1,n1] = unique(label,'first'); [c1,d1] =sort(m1); vlabel = vlabel(d1);
cluster = size(m1,1); baris= size(matrik, 1); jumlahdata = baris;
loop=1; if (get(handles.Ahc_Single,'Value') ~= 0) matrik2 = matrik;
while(loop==1); baris= size(matrik2, 1); if(baris>cluster && loop==1) matrik=single(matrik2,baris); else loop=0; end matrik2 = matrik; end
Xden = dendo; %# pick a subset SUBSET_SIZE = jumlahdata; %# subset size ind = randperm(size(Xden,1)); data = Xden(ind(1:SUBSET_SIZE), :);
%# cluster the subset data Da = pdist(data, 'euclid'); Ta = linkage(Da, 'single'); CUTOFF = 0.6*max(Ta(:,3)); %# CUTOFF = 5; %# visualize the hierarchy of clusters figure(1) h = dendrogram(Ta, 0, 'colorthreshold',CUTOFF); set(h, 'LineWidth',2) set(gca, 'XTickLabel',[], 'XTick',[]);
elseif(get(handles.Ahc_Average,'Value') ~=0)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
matrik2 = matrik; while(loop==1); baris= size(matrik2, 1); if(baris>cluster && loop==1) matrik=average(matrik2,baris);
else loop=0; end matrik2 = matrik; end
Xden = dendo; %# pick a subset SUBSET_SIZE = jumlahdata; %# subset size ind = randperm(size(Xden,1)); data = Xden(ind(1:SUBSET_SIZE), :);
%# cluster the subset data Da = pdist(data, 'euclid'); Ta = linkage(Da, 'average'); CUTOFF = 0.6*max(Ta(:,3)); %# CUTOFF = 5; %# visualize the hierarchy of clusters figure(1) h = dendrogram(Ta, 0, 'colorthreshold',CUTOFF); set(h, 'LineWidth',2) set(gca, 'XTickLabel',[], 'XTick',[]);
else matrik2 = matrik; while(loop==1); baris= size(matrik2, 1); if(baris>cluster && loop==1) matrik=complete(matrik2,baris); else loop=0; end matrik2 = matrik; end
Xden = dendo; %# pick a subset SUBSET_SIZE = jumlahdata; %# subset size ind = randperm(size(Xden,1)); data = Xden(ind(1:SUBSET_SIZE), :);
%# cluster the subset data Da = pdist(data, 'euclid'); Ta = linkage(Da, 'complete'); CUTOFF = 0.6*max(Ta(:,3)); %# CUTOFF = 5; %# visualize the hierarchy of clusters
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
figure(1) h = dendrogram(Ta, 0, 'colorthreshold',CUTOFF); set(h, 'LineWidth',2) set(gca, 'XTickLabel',[], 'XTick',[]); end
alto = 0; sopran = 0; tenor = 0; bass = 0; c_label = []; ok_as=[]; %%Cek Alto newStr = split(matrik2(1:1,1:1),','); x=1; alto_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Alto', c(newChr:newChr,9:9))) alto_sama = alto_sama+1; end x=x+1; end
%%Cek Sopran x=1; sopran_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Sopran', c(newChr:newChr,9:9))) sopran_sama = sopran_sama+1; end x=x+1; end
%%Cek Tenor x=1; tenor_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; disp(c(newChr:newChr,9:9)) if(contains('Tenor', c(newChr:newChr,9:9))) tenor_sama = tenor_sama+1; end x=x+1; end
%%Cek Bass x=1; bass_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Bass', c(newChr:newChr,9:9))) bass_sama = bass_sama+1; end x=x+1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
if(alto_sama<bass_sama && sopran_sama<bass_sama &&
alto_sama<bass_sama) terpilih1 = 'Bass'; benar_1 = bass_sama; elseif(alto_sama<tenor_sama && sopran_sama<tenor_sama &&
tenor_sama>bass_sama) terpilih1 = 'Tenor'; benar_1 = tenor_sama; elseif(alto_sama<sopran_sama && sopran_sama>tenor_sama &&
sopran_sama>bass_sama) terpilih1 = 'Sopran'; benar_1 = sopran_sama; else terpilih1 = 'Alto'; benar_1 = 0; end % rr = [terpilih]; %c_label = [c_label; terpilih]; disp(alto_sama); disp(sopran_sama); disp(tenor_sama); disp(bass_sama); disp('============= Cluster 1'); disp(terpilih1); disp('=============');
%%Cluster data ke 2
%%Cek Alto newStr = split(matrik2(2:2,1:1),','); x=1; alto_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Alto', c(newChr:newChr,9:9))) if(contains('Alto', terpilih1)) alto_sama = 0; else alto_sama = alto_sama+1; end end x=x+1; end
%%Cek Sopran x=1; sopran_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Sopran', c(newChr:newChr,9:9))) if(contains('Sopran', terpilih1)) sopran_sama = 0; else sopran_sama = sopran_sama+1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
end end x=x+1; end
%%Cek Tenor x=1; tenor_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; disp(c(newChr:newChr,9:9)) if(contains('Tenor', c(newChr:newChr,9:9))) if(contains('Tenor', terpilih1)) tenor_sama = 0; else tenor_sama = tenor_sama+1; end end x=x+1; end
%%Cek Bass x=1; bass_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Bass', c(newChr:newChr,9:9))) if(contains('Bass', terpilih1)) bass_sama = 0; else bass_sama = bass_sama+1; end end x=x+1; end
if(alto_sama<bass_sama && sopran_sama<bass_sama &&
alto_sama<bass_sama) terpilih2 = 'Bass'; benar_2 = bass_sama; elseif(alto_sama<tenor_sama && sopran_sama<tenor_sama &&
tenor_sama>bass_sama) terpilih2 = 'Tenor'; benar_2 = tenor_sama; elseif(alto_sama<sopran_sama && sopran_sama>tenor_sama &&
sopran_sama>bass_sama) terpilih2 = 'Sopran'; benar_2 = sopran_sama; else terpilih2 = 'Alto'; benar_2 = 0; end % rr = [terpilih]; %c_label = [c_label; terpilih]; disp(alto_sama); disp(sopran_sama);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
disp(tenor_sama); disp(bass_sama);
disp('============= Cluster 2'); disp(terpilih2); disp('=============');
%%Cluster data ke 3
%%Cek Alto newStr = split(matrik2(3:3,1:1),','); x=1; alto_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Alto', c(newChr:newChr,9:9))) if(contains('Alto', terpilih1)) alto_sama = 0; elseif(contains('Alto', terpilih2)) alto_sama = 0; else alto_sama = alto_sama+1; end end x=x+1; end
%%Cek Sopran x=1; sopran_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Sopran', c(newChr:newChr,9:9))) if(contains('Sopran', terpilih1)) sopran_sama = 0; elseif(contains('Sopran', terpilih2)) sopran_sama = 0; else sopran_sama = sopran_sama+1; end end x=x+1; end
%%Cek Tenor x=1; tenor_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; disp(c(newChr:newChr,9:9)) if(contains('Tenor', c(newChr:newChr,9:9))) if(contains('Tenor', terpilih1)) tenor_sama = 0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
elseif(contains('Tenor', terpilih2)) tenor_sama = 0; else tenor_sama = tenor_sama+1; end end x=x+1; end
%%Cek Bass x=1; bass_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Bass', c(newChr:newChr,9:9))) if(contains('Bass', terpilih1)) bass_sama = 0; elseif(contains('Bass', terpilih2)) bass_sama = 0; else bass_sama = bass_sama+1; end end x=x+1; end
if(alto_sama<bass_sama && sopran_sama<bass_sama &&
alto_sama<bass_sama) terpilih3 = 'Bass'; benar_3 = bass_sama; elseif(alto_sama<tenor_sama && sopran_sama<tenor_sama &&
tenor_sama>bass_sama) terpilih3 = 'Tenor'; benar_3 = tenor_sama; elseif(alto_sama<sopran_sama && sopran_sama>tenor_sama &&
sopran_sama>bass_sama) terpilih3 = 'Sopran'; benar_3 = sopran_sama; else terpilih3 = 'Alto'; benar_3 = 0; end % rr = [terpilih]; %c_label = [c_label; terpilih]; disp(alto_sama); disp(sopran_sama); disp(tenor_sama); disp(bass_sama);
disp('============= Cluster 3'); disp(terpilih3); disp('=============');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
%%Cluster data ke 4
%%Cek Alto newStr = split(matrik2(4:4,1:1),','); x=1; alto_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Alto', c(newChr:newChr,9:9))) if(contains('Alto', terpilih1)) alto_sama = 0; elseif(contains('Alto', terpilih2)) alto_sama = 0; elseif(contains('Alto', terpilih3)) alto_sama = 0; else alto_sama = alto_sama+1; end end x=x+1; end
%%Cek Sopran x=1; sopran_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Sopran', c(newChr:newChr,9:9))) if(contains('Sopran', terpilih1)) sopran_sama = 0; elseif(contains('Sopran', terpilih2)) sopran_sama = 0; elseif(contains('Sopran', terpilih3)) sopran_sama = 0; else sopran_sama = sopran_sama+1; end end x=x+1; end
%%Cek Tenor x=1; tenor_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; disp(c(newChr:newChr,9:9)) if(contains('Tenor', c(newChr:newChr,9:9))) if(contains('Tenor', terpilih1)) tenor_sama = 0; elseif(contains('Tenor', terpilih2)) tenor_sama = 0; elseif(contains('Tenor', terpilih3)) tenor_sama = 0; else tenor_sama = tenor_sama+1; end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
end x=x+1; end
%%Cek Bass x=1; bass_sama = 0; while (x<=size(newStr, 1)) newChr = sscanf(newStr(x:x, 1:1),'DT%d')+1; if(contains('Bass', c(newChr:newChr,9:9))) if(contains('Bass', terpilih1)) bass_sama = 0; elseif(contains('Bass', terpilih2)) bass_sama = 0; elseif(contains('Bass', terpilih3)) bass_sama = 0; else bass_sama = bass_sama+1; end end x=x+1; end
if(alto_sama<bass_sama && sopran_sama<bass_sama &&
alto_sama<bass_sama) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(alto_sama<tenor_sama && sopran_sama<tenor_sama &&
tenor_sama>bass_sama) terpilih4 = 'Tenor'; benar_4 = tenor_sama; elseif(alto_sama<sopran_sama && sopran_sama>tenor_sama &&
sopran_sama>bass_sama) terpilih4 = 'Sopran'; benar_4 = sopran_sama; else terpilih4 = 'Alto'; benar_4 = 0; end % rr = [terpilih]; %c_label = [c_label; terpilih]; disp(alto_sama); disp(sopran_sama); disp(tenor_sama); disp(bass_sama);
if(contains('Alto', terpilih1) && contains('Sopran',
terpilih2) && contains('Bass', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama; elseif(contains('Alto', terpilih1) && contains('Bass',
terpilih2) && contains('Sopran', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
elseif(contains('Sopran', terpilih1) && contains('Bass',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama; elseif(contains('Sopran', terpilih1) && contains('Alto',
terpilih2) && contains('Bass', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama; elseif(contains('Bass', terpilih1) && contains('Alto',
terpilih2) && contains('Sopran', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama; elseif(contains('Bass', terpilih1) && contains('Sopran',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Tenor'; benar_4 = tenor_sama;
elseif(contains('Alto', terpilih1) && contains('Sopran',
terpilih2) && contains('Tenor', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(contains('Alto', terpilih1) && contains('Tenor',
terpilih2) && contains('Sopran', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(contains('Sopran', terpilih1) && contains('Tenor',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(contains('Sopran', terpilih1) && contains('Alto',
terpilih2) && contains('Tenor', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(contains('Tenor', terpilih1) && contains('Alto',
terpilih2) && contains('Sopran', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama; elseif(contains('Tenor', terpilih1) && contains('Sopran',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Bass'; benar_4 = bass_sama;
elseif(contains('Alto', terpilih1) && contains('Bass',
terpilih2) && contains('Tenor', terpilih3) ) terpilih4 = 'Sopran'; benar_4 = sopran_sama; elseif(contains('Alto', terpilih1) && contains('Tenor',
terpilih2) && contains('Bass', terpilih3) ) terpilih4 = 'Sopran'; benar_4 = sopran_sama; elseif(contains('Bass', terpilih1) && contains('Tenor',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Sopran'; benar_4 = sopran_sama; elseif(contains('Bass', terpilih1) && contains('Alto',
terpilih2) && contains('Tenor', terpilih3) )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
terpilih4 = 'Sopran'; benar_4 = sopran_sama; elseif(contains('Tenor', terpilih1) && contains('Alto',
terpilih2) && contains('Bass', terpilih3) ) terpilih4 = 'Sopran'; benar_4 = sopran_sama; elseif(contains('Tenor', terpilih1) && contains('Bass',
terpilih2) && contains('Alto', terpilih3) ) terpilih4 = 'Sopran'; benar_4 = sopran_sama; else terpilih4 = 'Alto'; benar_4 = alto_sama; end
disp('============= Cluster 4'); disp(terpilih4); disp('============='); disp(terpilih1); disp(terpilih2); disp(terpilih3); disp(terpilih4);
data2=[]; kode = [strcat('Cluster Ke-',num2str(1))]; salah_1 = size(split(matrik2(1:1,1:1),','), 1)-benar_1; arr1 = [1, matrik2(1:1,1:1), kode, terpilih1, benar_1, salah_1]; data2 = [data2; arr1];
kode = [strcat('Cluster Ke-',num2str(2))]; salah_2 = size(split(matrik2(2:2,1:1),','), 1)-benar_2; arr1 = [2, matrik2(2:2,1:1), kode, terpilih2, benar_2, salah_2]; data2 = [data2; arr1];
kode = [strcat('Cluster Ke-',num2str(3))]; salah_3 = size(split(matrik2(3:3,1:1),','), 1)-benar_3; arr1 = [3, matrik2(3:3,1:1), kode, terpilih3, benar_3, salah_3]; data2 = [data2; arr1];
kode = [strcat('Cluster Ke-',num2str(4))]; salah_4 = size(split(matrik2(4:4,1:1),','), 1)-benar_4; arr1 = [4, matrik2(4:4,1:1), kode, terpilih4, benar_4, salah_4]; data2 = [data2; arr1];
yang_sama= benar_1+benar_2+benar_3+benar_4; yang_salah = salah_1+salah_2+salah_3+salah_4; title = {'No', 'Anggota', 'Cluster Ke-', 'Label Metode', 'Benar',
'Salah'}; set(handles.tbl_cluster,'data',data2,'ColumnName',title); akurasi = (yang_sama/(yang_sama+yang_salah))*100; set(handles.strAkurasi,'String',akurasi);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
function strAkurasi_Callback(hObject, eventdata, handles) % hObject handle to strAkurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of strAkurasi as
text % str2double(get(hObject,'String')) returns contents of
strAkurasi as a double
% --- Executes during object creation, after setting all
properties. function strAkurasi_CreateFcn(hObject, eventdata, handles) % hObject handle to strAkurasi (see GCBO) % eventdata reserved - to be defined in a future version of
MATLAB % handles empty - handles not created until after all
CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
No Nama Jenis
Kelamin Range
Karakter Suara
Noise Ketebalan
Suara Nada Tinggi
1 M 2 B 1 3 2 1
2 R 2 B 1 2 3 1
3 R 2 B 2 3 2 1
4 H 2 B 1 3 2 1
5 A 2 B 2 2 2 1
6 I 2 B 2 3 3 1
7 A 2 B 1 3 2 1
8 I 2 B 1 3 2 1
9 L 2 B 1 3 2 1
10 B 2 A 1 2 1 2
11 A 2 A 1 2 2 3
12 S 2 A 1 2 1 2
13 E 2 A 1 2 1 2
14 A 2 A 1 1 2 2
15 A 2 A 1 2 1 2
16 F 2 A 1 2 2 2
17 K 1 C 1 2 2 2
18 M 1 D 2 3 3 1
19 I 2 A 2 1 2 3
20 S 1 C 1 3 2 3
21 R 1 C 1 1 3 3
22 M 2 B 1 3 2 1
23 M 2 A 1 1 2 3
24 L 2 A 1 1 2 3
25 V 2 A 1 1 2 2
26 F 1 C 2 1 2 3
27 F 2 A 2 1 3 3
28 Y 2 A 1 1 2 3
29 P 2 A 1 1 3 3
30 K 2 B 1 3 2 1
31 C 2 B 2 2 3 2
32 A 1 C 1 1 2 3
33 E 2 B 1 2 2 1
34 M 1 C 1 1 2 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
35 V 2 B 1 2 2 1
36 N 2 B 1 2 2 1
37 L 2 B 1 2 2 1
38 V 2 A 2 2 2 2
39 M 2 B 1 2 3 1
40 P 1 D 2 3 3 1
41 Y 1 C 1 1 1 3
42 M 2 B 1 3 2 2
43 M 2 A 2 2 1 2
44 B 2 B 1 2 3 1
45 G 1 C 1 1 2 2
46 J 1 D 1 3 3 1
47 K 1 D 1 3 3 1
48 C 2 B 1 3 2 1
49 G 2 A 1 1 1 3
50 A 2 A 2 1 1 2
51 B 2 B 2 2 3 1
52 W 2 B 1 3 1 1
53 M 2 B 1 3 2 1
54 M 2 B 1 3 3 1
55 B 2 B 1 3 3 1
56 M 2 B 1 3 2 2
57 B 2 A 1 2 1 2
58 A 2 A 1 1 2 3
59 Z 2 B 1 3 2 1
60 L 2 B 2 2 3 1
61 P 1 C 2 1 3 1
62 S 2 B 2 2 2 1
63 F 1 D 2 2 3 1
64 Z 1 C 2 1 3 3
65 A 1 C 2 1 3 3
66 A 2 B 1 3 3 1
67 I 2 A 2 1 2 3
68 B 2 A 2 1 2 3
69 A 2 A 2 1 3 3
70 A 2 A 1 2 1 2
71 N 2 B 2 3 3 1
72 S 2 B 2 3 3 1
73 A 2 B 1 2 3 1
74 V 2 B 2 2 3 1
75 R 2 B 2 3 3 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
76 A 2 B 2 3 3 1
77 B 2 B 2 3 3 1
78 H 1 D 2 2 3 1
79 A 1 D 2 3 3 1
80 S 2 B 2 2 3 1
81 A 2 B 1 3 3 1
82 I 2 A 2 1 1 3
83 A 2 B 2 2 3 1
84 V 2 A 1 1 1 3
85 R 2 A 1 1 1 3
86 H 1 D 2 2 3 1
87 K 1 C 1 1 2 3
88 C 2 A 2 1 1 3
89 F 2 A 1 2 2 3
90 R 2 A 1 2 2 3
91 Y 2 A 2 1 1 3
92 F 2 B 2 2 3 1
93 Y 2 A 1 1 1 3
94 M 2 B 2 3 2 2
95 M 2 B 1 3 2 1
96 A 1 C 1 1 2 3
97 K 2 B 1 3 3 1
98 D 2 B 1 3 2 1
99 B 2 B 1 2 3 1
100 A 2 B 1 3 3 2
101 S 2 A 1 2 1 3
102 S 1 C 1 1 2 3
103 E 2 A 1 1 2 3
104 T 2 B 1 3 3 1
105 E 2 B 1 2 3 1
106 T 2 A 1 1 2 3
107 K 2 A 1 1 1 2
108 J 2 B 2 2 3 1
109 R 2 A 2 1 2 3
110 C 2 B 1 3 2 1
111 Y 1 D 2 2 3 1
112 V 1 D 1 3 3 1
113 D 1 C 1 1 2 3
114 A 1 C 1 2 2 3
115 A 2 B 1 2 2 1
116 A 2 B 1 3 2 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
117 M 2 A 2 2 1 3
118 E 2 A 1 1 2 3
119 D 2 B 1 3 2 1
120 M 2 B 1 3 3 1
121 I 2 A 1 2 1 3
122 S 2 B 1 3 2 1
123 P 2 A 1 2 1 2
124 V 2 B 1 2 3 1
125 K 1 D 2 3 2 1
126 P 1 D 2 2 3 1
127 S 1 C 1 2 1 3
128 V 2 B 1 3 1 1
129 M 2 A 1 1 2 3
130 L 2 B 1 2 3 1
131 G 2 A 1 1 1 3
132 E 2 B 1 2 3 1
133 F 2 B 2 3 3 1
134 D 2 A 1 1 1 2
135 H 1 C 1 1 2 3
136 F 2 A 1 2 1 3
137 M 2 A 1 1 2 3
138 V 2 B 1 3 2 1
139 V 2 A 2 2 1 2
140 F 2 B 1 3 2 1
141 P 2 A 1 2 1 3
142 D 2 B 1 3 3 1
143 M 2 B 1 2 2 1
144 C 2 B 1 2 3 1
145 R 2 B 2 3 2 1
146 Y 1 C 2 1 2 3
147 A 2 B 1 3 3 2
148 S 2 A 2 2 1 3
149 M 2 A 1 1 1 3
150 E 2 A 1 1 2 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI