BAB II TINJAUAN PUSTAKA
2.1
State Of The Art Pada penelitian Laetitia Jourdan, Clarisse Dhaenens, El-Ghazali Talbi
yang berjudul “A Genetic Algorithm for Feature Selection in Data Mining for Genetic” dilakukan penyelesaian masalah seleksi fitur dengan menggunakan algoritma genetik dan menggunakan algoritma K-Means untuk clustering dalam menemukan fitur genetik dan faktor lingkungan yang terlibat dalam penyakit multifaktorial seperti obesitas dan diabetes. Hasil penelitian ini didapatkan bahwa algoritma genetik berhasil memilih fitur menarik dan K-Means dapat memasangkan kelas individu sesuai dengan fitur.
Penelitian yang dilakukan oleh Kyoung-jae Kim dan Hyunchul Ahn dalam “A recommender system using GA K-Means clustering in an online shopping market” membahas tentang penggunaan algoritma clustering Algoritma Genetik dan K-Means untuk segmentasi pasar. Penelitian dilakukan dengan mengambil studi kasus dunia nyata, yaitu pada perdagangan elektronik dan menemukan bahwa penggabungan antara Algoritma Genetik dan K-Means mengakibatkan segmentasi yang lebih baik dari algoritma clustering tradisional sederhana, seperti K-Means dan SOM (Self Organizing Map).
Pada penelitian Hsiang-Hsi Liu, Chorng-Shyong Ong yang berjudul “Variable selection in clustering for marketing segmentation using genetic
10
algorithms” dijelaskan mengenai algoritma genetik yang digunakan pada proses clustering untuk pemilihan variabel yang mengambil studi kasus segmentasi pemasaran. Hasil dari penelitian menunjukkan bahwa seleksi variabel melalui algoritma genetik lebih efektif dan dapat menemukan solusi optimum dengan akurasi dari model diklasifikasikan meningkat secara dramatis setelah clustering.
Penelitian oleh Jihoon Yang and Vasant Honavar yang berjudul “Feature Subset Selection Using A Genetic Algorithm” menunjukkan bahwa algoritma genetik menawarkan sebuah pendekatan menarik untuk memecahkan masalah feature subset selection dalam pembelajaran induktif mengenai klasifikasi pola jaringan saraf (neural network). Pendekatan berbasis Algoritma Genetik dalam pemilihan fitur digunakan untuk mengidentifikasi subset yang relevan terhadap data, sehingga tidak terjadi kelimpahan atribut yang berlebihan namun tidak relevan atau tidak berguna.
Penelitian oleh Rouhollah Maghsoudi, dkk yang berjudul “Representing the New Model for Improving K-Means Clustering Algorithm based on Genetic Algorithm” membahas tentang K-Means yang merupakan teknik pengelompokan digabungkan dengan metode optimasi algoritma genetik untuk meningkatkan prosedur klasifikasi. Dalam penelitian ini, dilakukan pendefinisian representasi string kromosom serta penggabungan K-Means dan Algoritma Genetik bersamasama. Mengamati simulasi yang terjadi, hasilnya menunjukkan bahwa penggabungan K-Means dan algoritma genetik memberikan hasil pengukuran yang lebih baik dan lebih efisien dibandingkan dengan K-Means saja.
11
Penelitian oleh Oyelade, O. J yang berjudul “Application of K-Means Clustering algorithm for prediction of Students’ Academic Performance” membahas tentang penggunaan algoritma cluster K-Means dan dikombinasikan dengan model deterministik pada dataset sekolah swasta dengan 9 program studi dan didapatkan hasil bahwa algoritma clustering ini berfungsi sebagai tolok ukur yang baik untuk memantau perkembangan kinerja siswa dalam institusi.
Penelitian oleh Chauhan, Yogita, Vaibhav Chaurasia dan Chetan Agarwal yang berjudul “A Survey Of K-Means And GA-KM The Hybrid Clustering Algorithm” membahas tentang penggunaan dua algoritma klasterisasi, yaitu KMeans dan algoritma hybrid GA-KM (Genetic Algorithm dan K-Means). Penggabungan GA-KM untuk mendapatkan jumlah cluster yang optimal dimana dapat diterapkan untuk berbagai jenis data seperti dataset genom, dataset numerik. Hasil penelitian menyimpulkan GA-KM lebih baik dibandingkan K-Means.
Penelitian oleh Agus Widodo dan Purhadi yang berjudul “Perbandingan Metode Fuzzy C-Means Clustering Dan Fuzzy C-Shell Clustering (Studi Kasus: Kabupaten/Kota Di Pulau Jawa Berdasarkan Variabel Pembentuk Indeks Pembangunan Manusia)”, ditemukan hasil dengan pembandingan berdasarkan fungsi objektif, indeks validitas dan waktu komputasinya, didapatkan bahwa metode Fuzzy C-Means merupakan metode terbaik untuk digunakan dengan jumlah kelompok yang optimum adalah enam kelompok.
12
Penelitian yang dilakukan oleh Sarita Budiyani Purnamasari dkk. melanjutkan penelitian Agus Widodo dan Purhadi yang berjudul “Pemilihan Cluster Optimum Pada Fuzzy C-Means (Studi Kasus: Kabupaten/Kota Di Pulau Jawa Berdasarkan Variabel Pembentuk Indeks Pembangunan Manusia)” yang membahas penggunaan Index Xie Beni untuk menemukan cluster terbaik dari cluster lain yang sudah ditemukan dengan metode Fuzzy C-Means.
Penelitian oleh Annas Syaiful Rizal dan R.B Fajriya Hakim melanjutkan penelitian Sarita Budiyani Purnamasari dkk. dengan judul penelitian “Metode KMeans Cluster dan Fuzzy C-Means Cluster (Studi Kasus: Indeks Pembangunan Manusia di Kawasan Indonesia Timur tahun 2012)”, mendapatkan hasil yang menunjukkan pengelompokkan dengan Fuzzy C-Means mendapatkan hasil yang lebih baik jika dibandingkan K-Means karena Fuzzy C-Means menghasilkan rasio Sw/Sb yang lebih kecil dibandingkan metode K Means.
Berdasarkan beberapa penelitian yang telah dilakukan, maka dalam penelitian ini diusulkan pendekatan baru yang dapat dilihat pada Gambar 2.1, dimana dalam penentuan kompetensi mahasiswa digunakan algoritma genetik untuk pemilihan fitur dan metode Fuzzy C-Means untuk proses clustering.
13
Gambar 2.1 Pendekatan Baru
14
2.2
Kompetensi Menurut Wibowo (2007), kompetensi adalah suatu kemampuan untuk
melaksanakan
atau
melakukan
suatu
pekerjaan
yang dilandasi
atas
keterampilan dan pengetahuan serta didukung oleh sikap kerja yang dituntut oleh pekerjaan tersebut. Kompetensi merupakan landasan dasar karakteristik orang dan mengindikasikan cara berperilaku atau berpikir, menyamakan situasi, dan mendukung untuk periode waktu cukup lama. Kompetensi
berpengaruh
positif terhadap kinerja karyawan pada suatu perusahaan (Posuma, 2013).
2.3
Clustering Clustering adalah suatu metode pengelompokan berdasarkan ukuran
kedekatan
(kemiripan).
Klasterisasi
(clustering)
merupakan
proses
mengelompokkan atau menggolongkan obyek berdasarkan informasi yang diperoleh dari data yang menjelaskan hubungan antar objek dengan prinsip untuk memaksimalkan kesamaan antar anggota satu kelas dan meminimumkan kesamaan antar kelas/cluster (Kim, 2008).
Metode clustering secara umum dapat dibagi menjadi dua yaitu hierarchical clustering dan partitional clustering. Pada hierarchical clustering, data dikelompokkan melalui suatu bagan yang berupa hirarki, dimana terdapat penggabungan dua grup yang terdekat disetiap iterasinya ataupun pembagian dari seluruh set data kedalam klaster-klaster. Prosedur yang digunakan dalam metode hierarki adalah prosedur pautan tunggal (single linkage), pautan lengkap (complete linkage), dan pautan rata-rata (average linkage). Sedangkan pada
15
partitional clustering, data dikelompokkan ke dalam sejumlah klaster tanpa adanya struktur hirarki antara satu dengan yang lainnya.
Pada metode partitional clustering setiap klaster memiliki titik pusat klaster (centroid) dan secara umum metode ini memiliki tujuan yaitu meminimumkan jarak dari seluruh data ke pusat klaster masing-masing. a. Hirarchical clustering method Pada kasus untuk jumlah kelompok belum ditentukan terlebih dulu, contoh data-data hasil survey kuisioner b. Non Hirarchical clustering method Jumlah kelompok telah ditentukan terlebih dahulu. Salah satu contoh metode yang digunakan adalah algoritma K-Means.
Berikut ini merupakan contoh data yang akan dilakukan proses klasterisasi (pengelompokkan):
Gambar 2.2 Data Sebelum Klasterisasi
Jika data dilakukan clustering (pengelompokkan) berdasarkan warna, maka pengelompokkannya seperti yang terlihat pada gambar 2.2 berikut:
16
Gambar 2.3 Pengelompokan berdasarkan kesamaan warna
Jika data dilakukan clustering (pengelompokkan) berdasarkan bentuk, maka pengelompokannya dapat dilihat seperti gambar 2.3 berikut:
Gambar 2.4 Pengelompokan berdasarkan kesamaan bentuk
Selain dengan menggunakan similaritas (kesamaan) berdasarkan bentuk dan warna, clustering juga bisa dilakukan dengan menggunakan similaritas berdasarkan jarak, artinya data yang memiliki jarak berdekatan akan membentuk satu cluster.
2.4
Validity Cluster Terdapat beberapa metode cluster validity, yaitu: 1. Korelasi
17
Menggunakan 2 jenis matriks, yaitu proximity matrix dan incidence matrix a. Proximity matrix adalah matriks yang berisi jarak antar obyek b. Incidence matrix adalah matriks biner yang
mengindikasikan
keanggotaan klaster I. 0 jika anggota dari klaster yang berbeda II. 1 jika anggota dari klaster yang sama 2. Cohession dan Separation Cohession merupakan cluster validity yang menghitung varian intra klaster (WSS). …………………………… 1) Sedangkan Separation merupakan cluster validity yang menghitung varian inter klaster(BSS) ………………………………… 2) 3. Silhouette Coefficient Menggunakan gabungan kedua prinsip dasar dari cohesion dan separation
…………………………….……… 3)
dimana: a = rata-rata jarak ke obyek satu klaster b = minimal rata-rata jarak ke obyek berbeda klaster 4. Dunn Index Memiliki dasar pemikiran bahwa klaster yang baik adalah yang memiliki diameter yang kecil dan jarak yang besar terhadap klaster lainnya.
18
…………………. 4) dimana: a. d(ci, cj) adalah jarak terhadap klaster lain b. diam(ck) adalah jarak terhadap sesama klaster 5. Davies-Bouldin Index Memiliki prinsip dasar dalam menghitung similarity antar klaster ……………………………….. 5) dimana nilai …….……………………………………….. 6) a. si adalah rata-rata jarak obyek seluruh klaster i dengan pusatnya b. dij adalah jarak pusat klaster i dan pusat klaster j
2.5
Feature Selection Feature selection atau Feature reduction adalah suatu kegiatan yang
umumnya bisa dilakukan secara preprocessing dan bertujuan untuk memilih fitur yang berpengaruh dan mengesampingkan fitur yang tidak berpengaruh dalam suatu kegiatan pemodelan atau penganalisaan data. Ada banyak alternatif yang bisa digunakan dan harus dicoba-coba untuk mencari yang cocok. Secara garis besar ada dua kelompok besar dalam pelaksanaan feature selection, yaitu ranking selection dan subset selection.
Pemilihan
fitur
merupakan
kegiatan
yang
termasuk
ke
dalam
preprocessing yang bertujuan untuk memilih fitur yang berpengaruh dan
19
mengesampingkan fitur yang tidak berpengaruh dalam suatu kegiatan pemodelan atau penganalisaan data. Terdapat banyak alternatif yang dapat digunakan dan juga dilakukan proses mencoba-coba untuk mencari fitur yang cocok (Laetitia, 2001).
2.5.1 Ranking Selection Ranking selection secara khusus memberikan ranking pada setiap fitur yang ada dan mengesampingkan fitur yang tidak memenuhi standar tertentu. Ranking selection menentukan tingkat ranking secara independent antara satu fitur dengan fitur yang lainnya. Fitur
yang mempunyai ranking tinggi akan
digunakan dan yang fitur yang mempunyai ranking rendah akan dikesampingkan. Ranking selection ini biasanya menggunakan beberapa cara dalam memberikan nilai ranking pada setiap fitur misalnya regression, correlation, mutual information dan lain-lain.
2.5.2 Subset Selection Subset selection adalah metode selection yang mencari suatu set dari fitur yang dianggap sebagai optimal feature. Ada tiga jenis metode yang bisa digunakan yaitu selection dengan tipe wrapper, selection dengan tipe filter dan selection dengan tipe embedded. a. Feature Selection Tipe Wrapper Feature selection tipe wrapper ini melakukan feature selection dengan melakukan pemilihan bersamaan dengan pelaksanaan pemodelan. Selection tipe ini menggunakan suatu criterion yang memanfaatkan
20
classification rate
dari metode pengklasifikasian/pemodelan yang
digunakan. Untuk mengurangi computational cost, proses pemilihan umumnya dilakukan dengan memanfaatkan classification rate dari metode pengklasifikasian/pemodelan untuk pemodelan dengan nilai terendah. Untuk tipe wrapper, perlu untuk terlebih dahulu melakukan feature subset selection sebelum menentukan subset mana yang merupakan subset dengan ranking terbaik. Feature subset selection dapat dilakukan dengan memanfaatkan metode-metode, seperti metode sequential forward selection (dari satu fitur menjadi banyak fitur), sequential backward selection (dari banyak fitur menjadi satu fitur), sequential floating selection (dapat dari mana saja), GA, Greedy Search, Hill Climbing, Simulated Annealing, dan lain-lain. b. Feature Selection Tipe Filter Feature selection dengan tipe filter hampir sama dengan selection tipe wrapper dengan menggunakan intrinsic statistical properties dari data. Tipe filter berbeda dari tipe wrapper dalam hal pengkajian fitur yang tidak dilakukan bersamaan dengan pemodelan yang dilakukan. Selection ini dilakukan dengan memanfaatkan salah satu dari beberapa jenis filter yang ada. Sebagai contoh, Individual Merit-Base Feature Selection dengan selection criterion: Fisher Criterion, Bhattacharyya, Mahalanobis Distance atau Divergence, Kullback-Leibler Distance, Entropy dan lainlain. Metode filter ini memilih umumnya dilakukan pada tahapan preprocessing dan mempunyai computational cost yang rendah. c. Feature Selection Tipe Embedded
21
Feature selection jenis ini memanfaatkan suatu learning machine dalam proses feature selection. Dalam sistem selection ini, fitur secara natural dihilangkan, apabila learning machine menganggap fitur tersebut tidak begitu berpengaruh. Beberapa learning machine yang bisa digunakan antara lain Decision Trees, Random Forests dan lain-lain.
2.6
Algoritma Fuzzy C-Means Fuzzy C-Means Clustering (FCM) merupakan model pengelompokan fuzzy
sehingga data dapat menjadi anggota dari semua kelas atau cluster terbentuk dengan derajat atau tingkat keanggotaan yang berbeda antara 0 hingga 1. Tingkat keberadaan data dalam suatu cluster ditentukan oleh derajat keanggotaannya. Konsep dasar Fuzzy C-Means adalah pertama kali melakukan penentuan pusat cluster yang akan menandai lokasi rata-rata untuk tiap-tiap kelas/cluster. Algoritma ini termasuk dalam metode pengelompokan fuzzy sehingga data dapat menjadi anggota dari semua kelas atau cluster terbentuk dengan derajat atau tingkat keanggotaan yang berbeda antara 0 hingga 1 (Sukim, 2011).
Pada kondisi awal, pusat cluster ini masih belum akurat. Tiap-tiap data memiliki derajat keanggotaan untuk tiap-tiap cluster. Dengan cara memperbaiki pusat cluster dan nilai keanggotaan tiap-tiap data secara berulang, maka dapat dilihat bahwa pusat cluster akan menuju lokasi yang tepat. Perulangan ini didasarkan pada minimasi fungsi obyektif yang menggambarkan jarak dari titik data yang diberikan ke pusat dari klaster yang terboboti oleh derajat keanggotaan titik data dari himpunan fuzzy tersebut. Algoritma Fuzzy C-Means pertama kali
22
diperkenalkan oleh Dunn (1974), kemudian dikembangkan oleh Bezdek (1981), kemudian direvisi oleh Rouben (1982), Trauwert (1985), Goth dan Geva (1989), Gu dan Gubuisson (1990), Xie dan Beni (1991). Namun, algoritma FCM dari Bezdek yang paling banyak digunakan.
Fuzzy C-Means adalah salah satu teknik pengelompokkan data yang mana keberadaan tiap titik data dalam suatu kelompok (cluster) ditentukan oleh derajat keanggotan. Berbeda dengan K-Means clustering, dimana suatu objek hanya akan menjadi anggota satu cluster, dalam Fuzzy C-Means setiap objek dapat menjadi anggota dari beberapa cluster. Batas-batas dalam K-Means adalah tegas (hard) sedangkan dalam Fuzzy C-Means adalah soft. Fuzzy C-Means bersifat sederhana, mudah
diimplementasikan,
memiliki
kemampuan
untuk
melakukan
pengelompokan data yang besar, lebih kokoh terhadap data outlier. Algoritma Fuzzy C-Means adalah sebagai berikut:
1. Pemasukan data yang akan di cluster X, berupa matriks berukuran n x m dengan: n = jumlah sample data m = atribut setiap data Xij = data sample ke-i (i = 1,2,…,n), atribut ke-j (j = 1,2,…,m) 2. Menentukan: a. Jumlah cluster = c; b. Pangkat = w; c. Maksimum iterasi = MaxIter;
23
d. Error terkecil yang diharapkan = ; e. Fungsi obyektif awal = P0 = 0; f. Iterasi awal = t=1; 3. Membangkitkan nilai acak μik, i=1,2,…,n; k=1,2,…,c; sebagai elemenelemen matriks partisi awal u. μik adalah derajat keanggotaan yang merujuk pada seberapa besar kemungkinan suatu data bisa menjadi anggota ke dalam suatu cluster. Posisi dan nilai matriks dibangun secara random. Dimana nilai keanggotaan terletak pada interval 0 sampai dengan 1. Pada posisi awal matriks partisi U masih belum akurat begitu juga pusat clusternya. Sehingga kecendrungan data untuk masuk suatu cluster juga belum akurat. Selanjutnya menghitung jumlah setiap kolom (atribut) ………………………………..…...……. 7) Qj adalah jumlah nilai derajat keanggotaan perkolom = 1 dengan j=1,2,…m Selanjutnya dilakukan perhitungan sebagai berikut: ………………………………………..…..…. 8)
4. Menghitung pusat Cluster ke-k: Vkj ,dengan k=1,2,…c; dan j=1,2,…m.
….……………………..…….. 9)
5. Menghitung fungsi obyektif pada iterasi ke-t, Pt.
24
Fungsi obyektif digunakan sebagai syarat perulangan untuk mendapatkan pusat cluster yang tepat. Sehingga diperoleh kecendrungan data untuk masuk ke cluster mana pada langkah akhir. ….. 10)
6. Menghitung perubahan matriks partisi:
………………...…..… 11)
dengan: i=1,2,…n;dan k=1,2,..c.
7. Mengecek kondisi berhenti: Jika: (|Pt – Pt-1| < ζ) ………………………………..…. 12) atau (t>maxIter) ……….………………………….……13)
maka berhenti; Jika tidak: t=t+1, dilakukan pengulangan langkah ke-4.
25
Gambar 2.5 Algoritma Fuzzy C-Means
2.7
Algoritma Genetik Algoritma genetik pertama kali diperkenalkan oleh John Holland dalam
bukunya yang berjudul "Adaption in Natural and Artificial Systems", dan oleh De Jong dalam bukunya “Adaption of behavior of a Class of Genetic Adaptive Systems”, yang keduanya diterbitkan pada tahun 1975 yang merupakan dasar dari algoritma genetik. (Davis, 1991)
26
Algoritma Genetik sebagai cabang dari Algoritma Evolusi merupakan metode adaptive yang biasa digunakan untuk memecahkan suatu pencarian nilai dalam sebuah masalah optimasi. Algoritma ini didasarkan pada proses genetik yang ada dalam makhluk hidup, yaitu perkembangan generasi dalam sebuah populasi yang alami. secara lambat laun mengikuti prinsip seleksi alam dan “siapa yang kuat, dia yang bertahan (survive)”. Dengan meniru teori evolusi ini, Algoritma Genetik dapat digunakan untuk mencari solusi permasalahanpermasalahan yang ada dalam dunia nyata.
Konsep
dasar
algoritma
genetik
sebenarnya
dirancang
untuk
mensimulasikan proses-proses dalam sistem alam yang diperlukan untuk evolusi, khusunya teori evolusi alam yang dicetuskan oleh Charles Darwin, yaitu survival of the fittest. Menurut teori ini, di alam terjadi persaingan antara individu-individu untuk memperebutkan sumber daya lain yang langka sehingga makhluk yang kuat mendominasi makhluk yang lemah. (Rouhollah, 2011)
Algoritma Genetik merupakan analogi secara langsung dan kebiasaan yang alami yaitu seleksi alam. Algoritma ini bekerja dengan sebuah populasi yang terdiri dari individu-individu. yang masing-masing individu mempresentasikan sebuah solusi yang mungkin bagi persoalan yang ada. Dalam kaitan ini, individu dilambangkan dengan sebuah nilai fitness yang akan digunakan untuk mencari solusi terbaik dan persoalan yang ada.
27
Pertahanan yang tinggi dan individu memberikan kesempatan untuk melakukan reproduksi melalui perkawinan silang dengan individu yang lain dalam populasi tersebut. Individu baru yang dihasilkan dalam hal ini dinamakan keturunan. yang membawa beberapa sifat dari induknya. Sedangkan individu dalam populasi yang tidak terseleksi dalam reproduksi akan mati dengan sendirinya. Dengan jalan ini beberapa generasi dengan karakteristik yang bagus akan bermunculan dalam populasi tersebut, untuk kemudian dicampur dan ditukar dengan karakter yang lain. Dengan mengawinkan semakin banyak individu, maka akan semakin banyak kemungkinan terbaik yang dapat diperoleh.
Sebelum Algoritma Genetik dapat dijalankan, maka sebuah kode yang sesuai (representatif) untuk persoalan harus dirancang. Untuk ini maka titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil yaitu gen. Dengan teori evolusi dan teori genetika, di dalam penerapan Algoritma Genetik akan melibatkan beberapa operator, yaitu:
a. Operasi Evolusi yang melibatkan proses seleksi (selection) di dalamnya. b. Operasi Genetik yang melibatkan operator pindah silang (crossover) dan mutasi (mutation).
Untuk memeriksa hasil optimasi. kita membutuhkan fungsi fitness, yang menandakan gambaran hasil atau solusi yang sudah dikodekan. Selama berjalan, induk harus digunakan untuk reproduksi, pindah silang dan mutasi untuk
28
menciptakan keturunan baru. Jika Algoritma Genetik didesain secara baik, populasi akan mengalami konvergensi dan akan didapatkan sebuah solusi yang optimum.
Hal-hal yang dilakukan dalam algoritma genetik: (Basuki, 2003) a. Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dan permasalahan yang diangkat. b. Mendefinisikan nilai fitness. yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan. c. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk. d. Menentukan proses seleksi yang akan digunakan. Menentukan proses perkawinan silang (cross-over) dan mutasi gen yang akan digunakan.
2.8
Konsep Individu Individu menyatakan salah satu solusi yang mungkin. Individu bisa
dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial. Beberapa definisi penting yang perlu diperhatikan dalam mendefinisikan individu untuk membangun penyelesaian permasalahan dengan algoritma genetik adalah sebagai berikut: (Basuki, 2003) a. Genotype (Gen) Sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam
29
algoritma genetik, gen ini bisa berupa nilai biner, float. integer maupun karakter, atau kombinatorial. b. Allele Nilai dan gen. c. Kromosom Gabungan gen-gen yang membentuk nilai tertentu. d. Individu Individu menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dan permasalahan yang diangkat e. Populasi Sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. f. Generasi Generasi menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetik.
2.9
Siklus Algoritma Genetik Algoritma ini ditemukan di Universitas Michigan, Amerika Serikta oleh
John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg (1989).
30
Reproduksi:
Gambar 2.6 Siklus Algoritma Genetik yang diperkenalkan oleh David Goldberg
David Goldberg memperkenalkan siklus algoritma genetik yang di gambarkan seperti gambar 2.5 Siklus dimulai dari membuat populasi awal secara acak, kemudian setiap individu dihitung nilai fitness nya. Proses berikutnya adalah menyelesi individu terbaik, kemudian dilakukan cross over dan dilanjutkan oleh proses mutasi sehingga terbentuk populasi baru. Selanjutnya populasi baru ini mengalami siklus yang sama dengan populasi sebelumnya. Proses ini berlangsung terus hingga generasi ke –n.
Reproduksi:
Gambar 2.7 Siklus Algoritma Genetik Zbigniew Michalewics
31
Gambar 2.7 menunjukkan siklus algoritma genetik yang diperkenalkan oleh Zbigniew Michalewics. Siklus ini merupakan perbaikan dari siklus algoritma genetik David Goldberg yang dilakukan oleh Zbigniew Michalewicz dengan menambahkan satu proses elitisme dan membalik proses reproduksi terlebih dahulu, kemudian dilanjutkan dengan proses seleksi. Adapun gambaran algoritma genetik adalah sebagai berikut :
Gambar 2.8 Algoritma Genetik
Gambar 2.8 menggambarkan siklus algoritma genetic. Inisialisasi populasi awal dilakukan dengan membangkitkan sejumlah kromosom (sesuai dengan ukuran populasi) untuk dijadikan anggota populasi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang merepresentasikan solusi yang diinginkan. Tahap evaluasi nilai fitnes dimana setiap kromosom pada populasi dihitung nilai fitnessnya
berdasarkan
fungsi
fitness.
Nilai
fitness
suatu
kromosom
menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom
32
dan mengevaluasinya sampai terpenuhi kriteria berhenti. Pembentukan kromosom baru melalui proses seleksi, yaitu memilih sejumlah kromosom yang akan menjadi
kromosom
calon
parent,
selanjutnya
tahap
crossover
yang
mengkombinasikan dua kromosom parent (induk) berdasar nilai probabilitas crossovernya untuk menghasilkan offspring. Tahap mutasi mengubah sejumlah gen berdasar nilai probabilitas mutasinya untuk menghasilkan kromosom baru. Sehingga terjadi update Generasi, yaitu membaharui kromosom yang terdapat dalam populasi.
2.10
Teknik Encoding/Decoding Gen dan Individu Encoding (pengkodean) berguna untuk mengkodekan nilai gen-gen
pembentuk individu. Nilai-nilai gen ini diperoleh secara acak. Ada 3 pengkodean yang paling umum digunakan, yaitu: 1. Pengkodean bilangan real Nilai gen berada dalam interval [0 1].
Contoh: 3 variabel (x1,x2,x3) dikodekan ke dalam individu yang terdiri dari 3 gen. x1
x2
x3
0,2431
0,9846
0,5642
g1
g2
g3
2. Pengkodean diskrit desimal Nilai gen berupa bilangan bulat dalam interval [0 9]. 33
Contoh: 3 Variabel (x1, x2, x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-tiap variabel dikodekan ke dalam 3 gen.
X
5
g1
2
g2
X
9
5
g3
g4
4
g5
X3
8
0
g6
g7
2
0
g8 g9
3. Pengkodean Biner Nilai gen berupa bilangan biner 0 atau 1. 3 Variabel (x1, x2, x3) dikodekan ke dalam individu yang terdiri dari 9 gen, tiap-tiap variabel dikodekan ke dalam 3 gen.
X
1
g1
X
X
1
0
1
0
0
0
1
g2
g3
g4
g5
g6
g7
g8
0
g9
Decoding (pengkodean) berguna untuk mengkodekan gen-gen pembentuk individu agar nilainya tidak melebihi range yang telah ditentukan dan sekaligus menjadi nilai variabel yang akan dicari sebagai solusi permasalahan. Jika nilai variabel x yang telah dikodekan tersebut range-nya dirubah menjadi [ra rb], yaitu 34
rb=batas bawah, ra = batas atas, maka cara untuk mengubah nilai-nilai variabel di atas hingga berada dalam range yang baru [rb
ra], disebut Decoding
(pengkodean). 1. Pendekodean Bilangan real : X = rb + (ra - rb) g ……………………………………...….. 14) 2. Pendekodean Diskrit Desimal : X = rb + (ra - rb) (g1 x 10-1 + g2 x 10-2 +.......+ gn x 10-n) ….. 15) 3. Pendekodean Biner : X = rb + (ra - rb) (g1 x 2-1 + g2 x 2-2 +.......+ gn x 2-n) ……… 16) Dengan catatan bahwa N adalah jumlah gen dalam individu.
2.11
Membangkitkan Populasi Awal Sebelum membangkitkan populasi awal, terlebih dahulu kita harus
menentukan jumlah individu dalam populasi tersebut. Misalnya jumlah individu tersebut N. Setelah itu, baru kita membangkitkan populasi awal yang mempunyai N individu secara random. Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetik yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal. Syarat- syarat yang harus dipenuhi untuk menunjukkan suatu solusi harus benar-benar diperhatikan dalam pembangkitan setiap individunya. Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah sebagai berikut: 1. Random Generator
35
Inti dan cara ini adalah melibatkan pembangkitan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. 2. Pendekatan Tertentu (Memasukkan Nilai Tertentu ke dalam gen Cara ini adalah dengan memasukkan nilai tertentu ke dalam gen dan populasi awal yang dibentuk. 3. Permutasi Gen Salah satu cara permutasi gen dalam pembangkitan populasi awal adalah penggunaan permutasi Josephus dalam permasalahan kombinatorial seperti TSP.
Dalam proses inisialisasi populasi ditentukan variabel-variabel apa saja yang akan dioptimasi, lalu ditentukan bentuk kromosomnya, dan ditentukan berapa jumlah kromosom dalam suatu populasinya. Agar algoritma genetik dapat dijalankan berdasarkan teori evolusi, maka tiap solusi harus dipresentasikan dalam suatu kode yang sesuai dengan persoalan. Kode yang digunakan harus dapat mewakili seluruh ruangan persoalan. Pada algoritma genetik persoalan diasumsikan sebagai sebuah kromosom yang terdiri dari beberapa gen. Populasi adalah himpunan kromosom, populasi tersebut yang nantinya akan digunakan oleh algoritma genetik untuk memulai melakukan optimasi.
Ada banyak jenis kromosom yang dapat digunakan dalam proses Algoritma Genetik, misalnya kromosom biner (kromosom yang disusun dari gen gen yang bernilai 0 dan 1) , kromosom float (kromosom yang disusun dari gen-
36
gen dengan nilai pecahan dan bilangan integer juga termasuk), kromosom string (kromosom yang disusun dari gen-gen yang bernilai string atau simbol). Berikut adalah penjelasan dari masing-masing kromosom: 1. Kromosom Biner Bentuk ini adalah bentuk standart yang sering digunakan, tetapi jarak antar batasannya harus sama, bentuk biner ini nantinya akan dirubah menjadi bilangan integer lalu diubah lagi menjadi bentuk bilangan float. Untuk menentukan panjang bilangan integer ditentukan dengan suatu rumusan. 2. Kromosom Float Bentuk ini bisa digunakan apabila batasanya meiliki selisih yang tidak sama, bentuk ini lebih simpel dan lebih mudah dipahami oleh orang awam.
2.12
Nilai Fitness Nilai fitness adalah nilai yang menyatakan baik tidaknya suatu solusi
(individu). Nilai fitness ini yang dijadikan acuan dalam mencapai nilai optimal dalam algoritma genetik. Algoritma genetik bertujuan mencari individu dengan nilai fitness yang paling tinggi. (Basuki, 2003)
Nilai fitness menyatakan nilai dari fungsi tujuan. Tujuan dari algoritma genetik adalah memaksimalkan nilai fitness. Jika yang dicari nilai maksimal, maka nilai fitness adalah nilai dari fungsi itu sendiri. Tetapi jika yang dibutuhkan
37
adalah nilai minimal, maka nilai fitness merupakan invers dari nilai fungsi itu sendiri. Proses invers dapat dilakukan dengan cara berikut.
Fitness = C — f(x) atau Fitness =
C adalah konstanta dan
.................... 17)
adalah bilangan kecil yang ditentukan untuk
menghindari agar tidak terjadi pembagian oleh nol dan x adalah individu.
2.13
Elitisme Elitisme adalah prosedur untuk meng-copy individu yang mempunyai nilai
fitness tertinggi sebanyak satu (bila jumlah individu dalam suatu populasi adalah ganjil) atau dua (bila jumlah individu dalam suatu populasi adalah genap). Hal ini dilakukan agar
individu ini tidak mengalami kerusakan (nilai fitness-nya
menurun) selama proses pindah silang maupun mutasi. Misalnya pada contoh sebelumnya, maka individu ke-4 dibuat copy-nya sebanyak satu, kemudian disimpan dalam variabel temporer_individu. temporer_individu =111, 111; 2.14
Seleksi Kadang
kala suatu fungsi tertentu dapat menyebabkan setiap individu
mempunyai nilai fitness hampir sama. Hal ini bisa berakibat buruk pada saat dilakukan proses seleksi untuk memilih orangtua karena dapat menyebabkan optimum
lokal. Gambar 2.8 menggambarkan bagaimana terjadinya optimum
lokal.
38
Gambar 2.9 Seleksi Pada gambar sebelah kiri, individu P mempunyai nilai fitness tertinggi dibanding individu lainnya. Pada gambar sebelah kanan, populasi konvergen pada suatu optimum lokal dekat individu P. Tidak ada individu yang mencapai nilai optimal sebenarnya (T. Sutojo, Edy Mulyanto, Dr. Vincent Suhartono, 2011).
Pada gambar sebelah kiri, semua individu berada sangat jauh dari titik optimal sesungguhnya. Kebetulan ada satu individu P yang nilai fitness-nya tertinggi dibanding individu lainnya. Akibatnya individu P akan memproduksi banyak anak. Pada generasi tertentu individu P dan anak-anaknya, melalui proses pindah silang dan mutasi, akan menghasilkan individu-individu yang mendekati lokal optimum (gambar sebelah kanan), sehingga terjadilah konvergensi prematur, di mana populasi konvergen pada suatu solusi optimal lokal. Permasalahan inilah yang sering muncul pada algoritma genetik.
Untuk menghindari hal ini, dibuatlah suatu mekanisme yang disebut dengan Linier Fitness Rangking (LFR). Tujuan dan mekanisme mi sebenarnya adalah untuk melakukan penskalaan nilai-nilai fitness dengan menggunakan persamaan berikut.
39
LFR(i) =fmax –(fmax - fmin)
................................................. 18)
Dengan catatan bahwa: LFR(i) = nilai LFR individu ke-i N
= jumlah individu dalam populasi
R(i)
= rangking individu ke-i setelah diurutkan dan nilai fitness terbesar hingga terkecil
fmax
= nilai fitness tertinggi
fmin
= nilai fitness terendah
Seleksi digunakan untuk memilih individu-individu mana saja yang akan dipilih untuk proses kawin silang dan mutasi. Seleksi digunakan untuk mendapatkan calon induk yang baik. Induk yang baik akan menghasilkan keturunan yang baik. Semakin tinggi nilai fitness suatu individu semakin besar kemungkinannya untuk terpilih (Basuki, 2003).
Langkah pertama yang dilakukan dalam seleksi ini adalah pencarian nilai fitness. Nilai fitness ini yang nantinya akan digunakan pada tahap-tahap seleksi berikutnya. Masing-masing individu dalam wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai obyektif dirinya sendiri terhadap nilai obyektif dan semua individu dalam wadah seleksi tersebut. Terdapat beberapa metode seleksi, seperti roullete dan turnamen.
Setelah
mengetahui
jenis
representasi
yang
dibutuhkan
maka
pembangkitan generasi awal (parent) dapat dilakukan. Langkah pertama yang 40
dilakukan dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergannuig pada nilai objektif dirinya sendiri terhadap nilai objektif dan semua individu dalam wadah seleksi tersebut. Metode-metode seleksi yang bisa digunakan untuk memilih individu atau kromosom sebagai orang tua. yaitu: 1. Roulette Wheel Selection Dalam metode mi, kromosom-kromosom yang ada dalam populasi ditempatkan ke dalam roda yang disebut “roulette wheel”. Setiap kromosom menempati potongan roda dengan ukuran yang proposional dengan nilai fitness cost yang dimilikinya. Putaran dilakukan sebanyak n kali, dan pada setiap putaran, kromosom yang berada di bawah penanda roda dipilih sebagai parent untuk generasi berikutnya. Metode mi merupakan metode yang digunakan oleh Holland pada Algoritma Genetik yang dikembangkan olehnya. Kelemahan utama metode ini adalah bila terdapat satu krornosom yang merniliki fItness cost yang tinggi seka1i, sebagai contoh 90% dari keseluruhan roda, maka kromosom-kromosom lainnya hanya menempati 10% dari keseluruhan roda. Akibatnya. setiap putaran roda kemungkinan besar menghasilkan kromosom yang sama sehingga populasi baru hanya dihuni oleh kromosom yang sama. Kondisi mi disebut sebagai konvergensi dini (“premature convergence”). 2. Elitism Metode ini diperkenalkan oleh Kenneth De Jong. Dalam metode ini beberapa gen terbaik dan setiap generasi diambil dan disimpan. Tujuan metode ini adalah mencegah hilangnya gen-gen terbaik karena tidak
41
terpilih untuk tuelakukan crossover atati mutasi. Banyak penelitian yang menernukan bahwa metode ini meningkatkan kinerja Algoritina Genetik secara signifikan. 3. Rank Selection Metode ini merupakan alternatif untuk mencegah terjadinya konvergensi dini yang terlalu cepat. Dalam metode ini kromosom-kromosom dalam populasi dirangking berdasarkan fitness cost yang dimiliki. Pemilihan kromosorn tidak didasarkan pada nilai fitness cost, namun didasarkan pada nilai ranking yang diberikan. Hal ini bertujuan untuk mengurangi perbedaan nilai yang besar seperti yang dapat terjadi pada metode Roulette Wheel Selection. 4. Tournament Selection Dalam metode ini 2 buah kromosom dipililih secara acak dari populasi. Sebuah angka r dipilih secara acak dari angka-angka di antara 0 dan 1. Sebuah parameter k ditentukan (rnisalnya k = 0,75). Jika r < k, maka kromosom dengan fitness cost yang lebih baik dipilih. dan jika sebaliknya. kromosorn dengan fitness cost yang lebih rendah yang dipilih. Kedua kromosom tersebut kemudian dikembalikan ke populasi dan dapat dipilih lagi. 5. Steady-State Selection Dalam metode ini hanya sebagian kecil kromosom dan populasi yang diganti dalam setiap generasi. Biasanya kromosom-kromosom yang memiliki fitness cost rendah diganti dengan kromosom-kromosom baru hasil crossover dan mutasi dari kromosom-kromosom dengan fitness cost
42
yang tinggi. Metode ini sering digunakan dalam rule-based system dimana proses pembelajaran memiliki peran penting dari semua anggota populasi secara bersama-sama (tidak secara individual) memecahkan masalah yang ada.
2.15
Crossover Crossover (perkawinan silang) bertujuan menambah keanekaragaman string
dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Sebuah individu yang mengarah pada solusi optimal bisa diperoleh melalui proses pindah silang, dengan catatan bahwa pindah silang hanya bisa dilakukan jika sebuah bilangan random r dalam interval [0 1] yang dibangkitkan nilainya lebih kecil dari probabilitas tertentu prob, dengan kata lain: r < prob. Biasanya nilai prob diset mendekati 1. Cara yang paling sederhana untuk melakukan pindah silang adalah pindah silang satu titik potong. Posisi titik potong dilakukan secara random. Berdasarkan tipe data dan nilai gen, ada beberapa cara untuk melakukan pindah silang, yaitu:
a. Gen bertipe data biner Pindah silang melibatkan dua buah individu sebagai orangtua dan akan menghasilkan dua anak sebagai individu baru. Prinsip dan pindah silang ini adalah menentukan posisi titik potong T (posisi gen) secara random, yang dipakai sebagai acuan untuk menukar gen-gen orangtua sehingga dihasilkan gen-gen anak. Jika bilangan random yang dibangkitkan r lebih kecil daripada probabilitas pindah silang p ( r < p), maka proses pindah silang dikerjakan.
43
Contoh Misalkan ditentukan p = 0,8 Pindah silang satu titik potong:
Pindah silang dua titik potong:
Pindah silang tiga titik potong:
b. Gen bertipe data Real Untuk gen bertipe real cara pindah silangnya mengikuti persamaan berikut.
44
x1‘(T)=r * x1(T) + (r - l).x2(T) x2’ (T) = r* x2(T)+ (r - 1).x1(T) T adalah posisi gen yang mengalami mutasi r adalah bilangan random [0 1]. Contoh Pindah silang satu titik :
Pindah silang dua titik potong :
c. Gen bertipe data Permutasi Bila tipe data dan gen adalah permutasi (contohnya pada Travels Salesman Problem) kita bisa gunakan metode Partial-Mapped CrossOver (PMX). Metode ini diciptakan ole Goldberg dan Lingle dengan langkah-langkah berikut. 45
a. Tentukan dua posisi (P1 dan P2) pada individu secara random. Substring yang berada dalam dua posisi ini disebut daerah pemetaan. b. Tukar dua substring antar dua induk untuk menghasilkan proto-child c. Di antara daerah dua pemetaan, tentukan hubungannya. d. Mengacu pada hubungan pemetaan tadi, tentukan individu keturunannya.
Contoh a. Tentukan dua posisi (P1 dan P2) pada individu secara random
b. Tukar dua substring antar dua induk untuk menghasilkan photo-child
c. Di antara daerah dua pemetaan, tentukan hubungannya.
46
d. Mengacu pada hubungan pemetaan tadi, tentukan individu keturunannya.
2.16
Mutasi Operator berikutnya pada algoritma genetik adalah mutasi gen. Operator ini
berperan untuk menggantikan gen yang hilang dan populasi akibat proses seleksi yang meniungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Kromosom anak dimutasi dengan menambahkan nilai random yang sangat kecil (ukuran langkah mutasi), dengan probabilitas yang rendah. Peluang mutasi didefinisikan sebagai persentasi dan jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu besar, maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya, dan juga algoritma kehilangan kemampuan untuk belajar dari histori pencarian.
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang denga fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini,
47
penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi. Untuk menghindari konvergensi premature tersebut dan tetap menjaga perbedaan (diversity) kromosom-kromosom dalam populasi, selain melakukan penekanan selektif yang lebih efisien, operator mutasi juga dapat digunakan. Proses mutasi dalam sistem biologi berlangsung dengan mengubah isi allele gen pada suatu locus dengan allele yang lain. Proses mutasi ini bersifat acak sehingga tidak selalu menjamin bahwa setelah proses mutasi akan diperoleh kromosom dengan fitness yang lebih baik.
Mutasi dilakukan untuk semua gen yang terdapat pada individu, jika bilangan random yang dibangkitkan lebih kecil dan probabilitas mutasi p yang ditentukan. Biasanya p diset = 1/N, di mana N adalah jumlah gen dalam individu. Untuk kode biner, mutasi dilakukan dengan cara membalik nilai bit 0 menjadi bit 1, sebaliknya bit 1 diubah menjadi bit 0. Operator mutasi merupakan operasi yang menyangkut satu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetik antara lain:
Gen bertipe data biner
48
Gen betipe data real
2.17
Evaluasi Fitness dengan Objective Function Objective function digunakan untuk mencari lokasi nilai terbaik pada tiap
cluster terhadap masing-masing fitur. Adapun persamaan objective function sebagai berikut:
, dimana m adalah bilangan real yang lebih besar dari 1, uij adalah derajat keanggotaan dari xi di klaster j, xi adalah dimensi data yang diukur, cj adalah pusat dimensi cluster, dan ||*|| adalah setiap aturan yang mengungkapkan kesamaan antara pusat dan data diukur. Partisi Fuzzy dilakukan melalui optimasi berulang dari objective function yang ditunjukkan di atas, dengan update keanggotaan uij dan pusat cluster cj oleh:
, Iterasi ini akan berhenti ketika
, di mana kriteria
terminasi antara 0 dan 1, sedangkan k adalah langkah-langkah iterasi. Prosedur ini konvergen ke minimum lokal atau titik Jm. Algoritma in iterdiri dari langkah-langkah berikut: 49
1. Inisialisasi U=[uij] matriks, U(0) 2. Pada k-langkah: menghitung pusat vektor C(k) =[cj] denganU(k)
3. Update U(k), U(k +1)
4. Jika ||U(k +1) -U(k) || <
kemudian berhenti; jika tidak kembali ke
langkah 2.
2.18
Metode Kuesioner Kuesioner merupakan daftar pertanyaan yang akan digunakan oleh periset
untuk memperoleh data dari sumbernya secara langsung melalui proses komunikasi atau dengan mengajukan pertanyaan (Hendri, 2009). Metode kuesioner terbagi menjadi 4 (empat), yaitu: a. Kuesioner terstruktur yang terbuka Tingkat struktur dalam kuesioner adalah tingkat standarisasi yang diterapkan pada suatu kuesioner. Pada kuesioner terstruktur yang terbuka dimana pertanyaan-pertanyaan diajukan dengan susunan kata-kata dan urutan yang sama kepada semua responden ketika mengumpulkan data.
50
b. Kuesioner tak terstruktur yang terbuka Kuesioner tak terstruktur yang terbuka dimana tujuan studi adalah jelas tetapi respon atau jawaban atas pertanyaan yang diajukan bersifat terbuka dimana subjek berbicara dengan bebas mengenai pertanyaan yang diajukan. c. Kuesioner tidak terstruktur yang tersamar Kuesioner tidak terstruktur yang tersamar berlandaskan pada riset motivasi. Para periset telah mencoba untuk mengatasi keengganan responden
untuk
membahas
perasaan
mereka
dengan
cara
mengembangkan teknik-teknik yang terlepas dari masalah kepedulian dan keinginan untuk membuka diri. d. Kuesioner terstruktur yang tersamar Kuesioner ini dikembangkan sebagai cara untuk menggabungkan keunggulan dari penyamaran dalam mengungkapkan motif dan sikap dibawah sadar dengan keunggulan struktur pengkodean serta tabulasi jawaban (Hendri, 2009).
51