View
26
Download
3
Category
Preview:
Citation preview
BAB 2 LANDASAN TEORI
Dalam bab ini akan dibahas mengenai teori-teori penting yang dapat menunjang
dan menjadi acuan dalam pembuatan proyek akhir. Bagian tersebut meliputi metode
yang digunakan dalam melakukan pengelompokkan data yang berbasis Genetic K-
Means dan metode pengambilan keputusan yaitu AHP(Analytic Hierarchy Process)
Bagian-bagian tersebut akan diuraikan seperti di bawah ini:
2.1 Clustering
Clustering adalah proses membuat pengelompokan sehingga semua anggota dari
setiap partisi mempunyai persamaan berdasarkan matrik tertentu. Sebuah klaster
adalah sekumpulan obyek yang digabung bersama karena persamaan atau
kedekatannya. Clustering berdasarkan persamaanya merupakan sebuah teknik yang
sangat berguna Karena akan mentranslasi ukuran persamaan yang intuitif menjadi
ukuran yang kuantitatif. Ada banyak pendekatan untuk membuat cluster, diantaranya
adalah membuat aturan yang mendikte keanggotaan dalam group yang sama
berdasarkan tingkat persamaan diantara anggota-anggotanya. Pendekatan lainnya
adalah dengan membuat sekumpulan fungsi yang mengukur beberapa properti dari
pengelompokan tersebut sebagai fungsi dari beberapa parameter dari sebuah
clustering.
2.1.1 Analisis Clustering
Analisis Clustering adalah proses pengelompokan obyek ke dalam subsets yang
mempunyai arti dalam konteks masalah tertentu. Obyek dengan demikian diorganisir
ke dalam suatu penyajian efisien dan bermanfaat. Tidak sama dengan klasifikasi,
clustering tidak bersandar pada kelas sudah ada. Clustering dikenal sebagai suatu
metode pelajaran pembelajaran unsupervised karena tidak ada informasi disajikan
19
tentang “jawaban yang benar“ untuk obyek yang manapun. Ini dapat menemukan
hubungan yang sebelumnya tidak diketahui didalam suatu dataset yang kompleks.
Analisis cluster adalah suatu teknik analisa multivariate untuk mencari dan
mengorganisir informasi tentang variabel sehingga secara relatif dapat
dikelompokkan dalam kelompok yang homogen atau “cluster” dapat dibentuk.
Cluster dibentuk dengan metode kedekatan yang secara internal harus homogen
(anggota adalah serupa untuk satu sama lain) dan sangat secara eksternal tak sejenis
(anggotanya tidak seperti anggota dari cluster yang lain).
Analisis cluster dapat menerima suatu data masukan yang beragam. Ini biasanya
disebut pengukuran “kesamaan“, dapat juga disebut “kedekatannya”, dan
“kemiripannya”. Beberapa ahli merekomendasikan penggunaan standardisasi data,
cluster dapat dihitung dalam skala yang berbeda dan standardisasi akan memberi
pengukuran dengan menggunakan unit yang berbeda.
Seperti teknik yang lain, analisis cluster menghadapi permasalahan dalam
beberapa banyak faktor, atau dimensi, atau berapa banyak cluster yang akan
dihasilkan. Untuk itu akan dipilih suatu tempat dimana struktur cluster yang stabil
untuk jarak yang jauh. Beberapa kemungkinan lain akan mencari pengelompokan
grup dengan struktur cocok atau yang diharapkan.
2.1.2 Fungsi Jarak
Pengukuran proximity yang paling umum digunakan, sedikitnya untuk rasio skala
adalah matrik Minkowski, yang mana adalah suatu generalisasi jarak antara titik di
dalam Euclidean Space.
• Fungsi Euclidean Distance :
Jarak Euclidean dapat dianggap sebagai jarak yang paling pendek antar dua
poin-poin, dan pada dasarnya sama halnya dengan persamaan Pythagoras ketika
20
digunakan di dalam 2 dimensi. Secara matematis dapat dituliskan di dalam
persamaan berikut :
Ketika menggunakan fungsi jarak Euclidean untuk membandingkan jarak, tidak
diperlukan untuk mengkalkulasi akar dua sebab jarak selalu merupakan angka-
angka positif. Untuk dua jarak, d1 dan d2 , jika :
1d > 2d d1 > d2 .
Jika sebagian dari suatu atribut obyek diukur dengan skala berbeda, maka
ketika menggunakan fungsi jarak Euclidean, atribut dengan skala yang lebih
besar boleh meliputi atribut yang terukur pada skala yang lebih kecil. Untuk
mencegah masalah ini, nilai-nilai atribut dinormalisasi untuk terletak diantara 0
dan 1. Fungsi jarak lain mungkin lebih sesuai untuk beberapa data. Lebih
jelasnya berikut di bawah ini ditampilkan gambar representasi dari jarak
terdekat dari 2 titik.
Jarak Phytagoras
(jarak terdekat dari 2 titik)
Gambar 2.1 Fungsi Euclidean
Suatu komponen penting pada algoritma cluster adalah mengukur jarak antara
poin-poin data. Jika komponen dari data adalah semua termasuk dalam unit yang
d(i,j)=22
22
2
11 .... jpipjiji xxxxxx −++−+−
21
sama, mungkin jarak Euclidean yang sederhana cukup sukses mengelompokkan
data serupa.
Bagaimanapun, bahkan dalam hal ini jarak Euclidean kadang-kadang dapat
salah. Di samping kedua-duanya pengukuran diambil di dalam unit yang sama,
suatu keputusan harus dibuat berkaitan dengan skala. Skala yang berbeda dapat
menyebabkan perbedaan clustering.
2.1.3 Algoritma K-Means
Algoritma K-Means adalah metode clustering berbasis jarak yang membagi data
ke dalam sejumlah cluster dan algoritma ini hanya bekerja pada atribut numerik.
Pada dasarnya penggunaan algoritma dalam melakukan proses clustering
tergantung dari data yang ada dan konklusi yang ingin dicapai. Untuk itu digunakan
Algoritma K-Means yang di dalamnya memuat aturan sebagai berikut :
• Jumlah cluster perlu diinputkan.
• Hanya memiliki atribut bertipe numerik.
• Jumlah atribut sedikit (<100)
Algoritma K-Means merupakan metode nonheirarchial yang pada awalnya
mengambil sebagian dari banyaknya komponen dari populasi untuk dijadikan pusat
cluster awal. Pada step ini pusat cluster dipilih secara acak dari sekumpulan populasi
data. Berikutnya Kmeans menguji masing-masing komponen di dalam populasi data
dan menandai komponen tersebut ke salah satu pusat cluster yang telah didefinisikan
tergantung dari jarak minimum antar komponen dengan tiap-tiap pusat cluster. Posisi
pusat cluster akan dihitung kembali sampai semua komponen data digolongkan ke
dalam tiap-tiap pusat cluster dan terakhir akan terbentuk posisi pusat cluster baru.
Algoritma K-Means pada dasarnya melakukan 2 proses yakni proses pendeteksian
lokasi pusat tiap cluster dan proses pencarian anggota dari tiap-tiap cluster.
Penggunaan metode yang berbeda untuk menentukan persamaan cluster
mempunyai pengaruh yang berbeda pula pada teknik clustering. Suatu jalan/cara
22
standard untuk menghitung persamaan antar tiap cluster dengan populasi data adalah
menggambarkan suatu fungsi yang mengukur jarak antar tiap cluster dengan populasi
data. Definisi fungsi jarak akan mengukur jarak sekelompok populasi data.
Dalam proyek akhir ini ukuran jarak adalah jarak Euclidean untuk menandai
adanya persamaan antar tiap cluster dengan jarak minimum dan mempunyai
persamaan atau kemiripan yang lebih tinggi. Euclidean Matrix antara titik
a=(a1,a2,a3,a4,....,an) dan titik b=(b1,b2,b3,b4,....,bn) adalah :
∑=
−=n
iii abbad
1
2)(),(
Proses awal dalam algoritma K-Means adalah populasi data kriteria pemasok PT.
TMMIN yang merupakan data yang diproses dan input parameter k, jumlah dari
cluster harus ada di dalam algoritma nanti.
Algoritma K-Means
1. Tentukan Jumlah K cluster.
2. Inisialisasi k pusat cluster sebagai seed points, Pusat ini dapat diperoleh
secara acak.
3. Untuk setiap data kriteria pemasok PT. TMMIN, cari data yang lebih
dekat dengan pusat cluster dan tandai titik data tersebut di pusat cluster
yang terdekat dan posisi pusat cluster dihitung kembali dengan rata-rata
anggota dari setiap cluster.
4. Cek semua data sekali lagi dan taruh setiap data yang terdekat dengan
pusat cluster (pusat cluster tidak dihitung lagi). Jika anggota dari tiap
pusat cluster tidak berubah,berhenti dan jika masih berubah kembali ke
Step ke-2).
23
Dari algoritma diatas dapat diambil dua operasi yang penting sepanjang dilakukan
proses clustering dengan algoritma K-Means yakni menghitung jarak antar obyek
data dengan pusat cluster dan menghitung rata-rata dari pusat cluster tersebut. Selama
ada proses iterasi untuk menentukan pusat cluster baru dengan menghitung jarak dari
setiap obyek data, disini dapat diketahui bahwa jika ada dua obyek yang memiliki
tingkat kedekatan / kemiripan yang sama dengan melihat ukuran jarak sama, maka
bisa dimungkinkan dua obyek tersebut dikelompokkan bersama-sama ke dalam pusat
cluster. Ketika menghitung rata-rata pada setiap cluster, semua obyek di dalam
cluster dijumlahkan dan dibagi dengan total jumlah obyek yang terkait di masing-
masing pusat cluster.
Karena di dalam algoritma ini dibutuhkan penyelesaian dengan meminimalisasi
jumlah atau rata-rata jarak yang besar, varian, maka selama proses clustering penting
untuk mengkalkulasi ulang total jarak dari matrik data tersebut. Dengan kata lain jika
terdapat matrik data yang jaraknya jauh dari pusat cluster, maka matrik tersebut
mempunyai pengaruh yang besar daripada matrik data lain yang dekat dengan pusat
cluster. Untuk memindahkan matrik yang jauh dari pusat cluster ini perlu untuk
dilakukan standardisasi nilai-nilai setiap matrik yang jauh dari pusat cluster. Jadi
algoritma K-Means untuk menentukan pusat cluster yang optimal dengan
meminimalisasi total jarak antara populasi data dengan pusat cluster berdasarkan
iterasi yang akan menyeleksi total jarak yang terkecil.
24
Hasil dari proses clustering yang menggunakan Metode K-Means Clustering dapat
digambarkan seperti di bawah ini:
Gambar 2.2 Contoh K-Means Clustering
2.2 Algoritma Genetika
2.2.1 Pengenalan Algoritma Genetika
Algoritma genetika dikembangkan oleh John Holland (1975). Algoritma genetika
adalah algoritma yang mengemulasikan proses biologi dari rekombinasi genetika,
mutasi, seleksi natural untuk membangkitkan solusi suatu permasalahan. Algoritma
genetika digunakan untuk permasalahan pencarian dengan melakukan minimisasi
biaya dan probabilitas yang tinggi untuk mendapatkan solusi global optimal.
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
kebugaran(fitness) yang akan digunakan untuk mencari solusi terbaik dari persoalan
yang ada.
Pertahanan yang tinggi dari individu memeberikan kesempatan untuk melakukan
reproduksi melalui perkawinan silang dengan individu yang lain dalam populasi
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
25
tersebut. Individu yang baru yang dihasilkan dalam hal ini dinamakan
keturunan(offspring), 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 lain. Dengan mengawinkan semakin banyak individu, maka akan semakin
banyak kemungkinan terbaik yang dapat diperoleh.
Dengan teori genetika seperti di atas, sebelum GA dapat dijalankan, maka sebuah
kode yang sesuai (representative) untuk persoalan harus dirancang. Untuk ini maka
titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string
yang terdiri atas komponen gentik terkecil yaitu gen. Pemakaian bilangan seperti
integer, floating point dan abjad sebagai nilai gen(allele) memungkinkan penerapan
operator genetika yaitu reproduksi(reproduction), pindah silang(crossover), dan
mutasi(mutation) untuk menciptakan himpunan titik-titik solusi. Untuk memeriksa
hasil optimisasi, dibutuhkan fungsi fitness, sebagai ukuran dari proses
optimisasi(dalam istilah di teknik optimisasi ini lebih dikenal sebagai fungsi tujuan
(objective function) atau fungsi biaya(cost function)). Selama berjalan, induk harus
digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptakan keturunan.
Jika GA dirancang secara baik, populasi akan mengalami konvergensi dan akan
didapatkan sebuah solusi yang optimum(lebih dikenal ‘acceptable optimum’)
Langkah - langkah dasar dari algoritma genetika dapat dilihat sebagai berikut :
1. [Start] Membangkitkan populasi random dari n kromosom.
2. [fitness] Evaluasi fitness f(x) dari setiap kromosom x pada populasi.
3. [New population] Membuat populasi baru dengan mengulangi langkah-
langkah berikut sampai populasi baru dihasilkan
1. [Selection] Memilih dua kromosom parent dari suatu populasi
berdasarkan nilai fitness (semakin baik fitness, semakin besar
kemungkinan dipilih)
26
2. [Crossover] Dengan probabilitas crossover melakukan crossover dengan
parent yang membentuk offspring (children) baru. Apabila tidak ada
crossover yang dibentuk, offspring merupakan copy dari parent.
3. [Mutasi] Dengan probabilitas mutasi melakukan mutasi offspring baru
pada setiap posisi dalam kromosom
4. [Accepting] Menempatkan pada offspring baru dalam populasi baru.
4. [Replace] Menggunakan populasi generasi baru untuk menjalankan
algoritma selanjutnya
5. [Test] Apabila kondisi akhir terpenuhi, stop, dan menghasilkan solusi
terbaik pada populasi sekarang
6. [Loop] ke langkah 2
2.2.2 Struktur Umum Algoritma Genetika
Dalam Algoritma Genetika, terdapat beberapa urutan proses yang perlu dilakukan
seperti yang dapat dilihat pada gambar 2.1 dibawah ini :
Gambar 2.3 Struktur Umum Algoritma Genetika
Definisi Individu
Populasi Awal
Proses Seleksi
Proses Crossover
Nilai Fitness
Proses Mutasi
27
Untuk menyelesaikan suatu permasalahan dengan algoritma genetika, beberapa
macam encoding perlu diketahui untuk menentukan operator crossover atau mutasi
apa yang digunakan, dimana encoding tersebut juga tergantung pada permasalahan
yang diangkat. Beberapa macam encoding yang telah sukses digunakan menurut
Marek Obitko akan dijelaskan dibawah ini :
1. Binary encoding
Encoding jenis ini yang sering digunakan. Kromosom dari binary encoding
ini berupa kumpulan dari niali biner 0 dan 1.
Contoh :
BinaBinary encoding ini memungkinkan untuk didapatkan kromosom
dengan nilai allele yang kecil, tetapi kekurangannya tidak dapat digunakan
untuk beberapa permasalahan dan terkadang diperlukan adanya koreksi
setelah crossover dan mutasi. Salah satu permasalahan yang menggunakan
binary encoding adalah menghitung nilai maksimal dari fungsi.
2. Permutation encoding
Kromosom dari permutation encoding ini berupa kumpulan dari nilai integer
yang mewakili suatu posisi dari suatu urutan. Biasanya digunakan pada
permasalahan TSP (Travelling Salesman Problem)
Chromosome A 1 5 3 2 6 4 7 9 8
Chromosome B 8 5 6 7 2 3 1 4 9
3. Value encoding
Kromosom dari value encoding ini berua kumpulan dari suatu nilai, yang
bisa berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi,
Chromosome A 1101100100110110
Chromosome B 1101111000011110
28
seperti bilangan real, char atau objek yang lain. Encoding ini pilihan yang
bagus untuk beberapa parmasalahan khusus, biasanya diperlukan metode
khusus untuk memproses crossover dan mutasinya sesuai dengan
permasalahan yang dihadapi.
Contoh :
4. Tree encoding
Tree encoding ini biasanya digunakan pada genetic programming. Kromosom
yang digunakan berupa sebuah tree dari beberapa obyek, seperti fungsi atau
command pada genetic programming.
Contoh :
Chromosome A Chromosome B
+
X / Do untill
5
y
Step wall
( + x ( / 5 y ) ) ( do_untill step wall )
Chromosome A 1.2324 5.3243 0.4556 2.3293 2.4545
Chromosome B ABDJEIFJDHDIERJFDLDFLFEGT
Chromosome C (back), (back), (right), (forward), (left)
29
Penjelasan lebih lanjut dari struktur umum algoritma genetika tersebut seperti
dibawah ini :
1. Pendefinisian Individu
Proses pertama yang harus dilakukan dalam algoritma genetika adalah
mendefinisikan individu yang menyatakan salah satu solusi yang mingkin dari
permasalahan yang diangkat. Pendefinisian individu atau yang biasa disebut
juga merepresentasikan kromosom yang diproses nanti, dilakukan dengan
mendefinisikan jumlah dan tipe dari gen yang digunakan dan tentunya dapat
mewakili solusi permasalahan yang diangkat.
Algoritma genetika dimulai dengan himpunan solusi (yang
direpresentasikan dengan kromosom) yang disebut populasi. Solusi dari satu
populasi diambil dan digunakan untuk membentuk populasi yang baru dengan
harapan bahwa populasi yang baru akan lebih baik daripada populasi
sebelumnya. Solusi yang diseleksi untuk membentuk solusi baru (offspring)
dipilih berdasarkan fitness, semakin besar fitness, semakin besar kesempatan
untuk reproduksi. Hal ini diulang sampai kondisi terpenuhi (populasi
menghasilkan solusi terbaik).
Salah satu parameter dalam algoritma genetika adalah jumlah populasi
yang menunjukkan beberapa kromosom dalam populasi (dalam satu
generasi). Jika terlalu sedikit kromosom, algoritma genetika mempunyai
sedikit kemungkinan membentuk crossover. Sebaliknya, jika terdapat telalu
banyak kromosom, algoritma genetika akan berjalan lambat. Riset
menunjukkan bahwa setelah batas tertentu (tergantung pada pengkodean dan
permasalahan) menambah jumlah populasi tidak akan berguna, karena tidak
memecahkan permasalahan secara cepat.
30
Gambar 2.4 Model algoritma genetika untuk persamaan linier
2. Membangkitkan Populasi Awal
Proses ini dilakukan dengan membangkitkan populasi secara acak, dimana
populasi tersebut berisi beberapa kromosom yang telah didefinisikan
sebelumnya.dalam proses ini perlu diperhatikan syarat-syarat yang harus
dipenuhi untuk menunjukkan suatu solusi dari permasalahan dan jumlah
kromosom yang digunakan dalam satu populasi. Jika jumlah kromosom yang
digunakan terlalu sedikit, maka individu yang dapat digunakan untuk proses
crossover dan mutasi akan sangat terbatas, sehingga menyia-nyiakan proses
yang ada. Tetapi jika jumlah kromosom yang digunakan terlalu banyak, akan
memperlambat proses algoritma genetika yang dilakukan. Jumlah kromosom
yang dianjurkan lebih besar dari jumlah gen yang ada dalam satu kromosom,
tetapi juga harus disesuaikan dengan permasalahan, apabila jumlah gennya
terlalu banyak, tidak juga dianjurkan seperti itu.
3. Menghitung Nilai Fitness
Fungsi fitness merupakan ukuran untuk kondisi dari kromosom yang
mengekspresikan probabilitas suatu kromosom akan tetap hidup dalam
generasinya. Kromosom dipilih untuk dikawinkan dengan probabilitas fitness.
GA
Input Xi(k)
Target y(k+1)
31
Semakin besar probabilitasnya, solusi yang lebih baik akan mempunyai
kesempatan untuk menghasilkan generasi selanjutnya.
Dalam proses ini setiap kromosom dalam populasi yang telah dibangkitkan
diatas dihitung nilai fitnessnya. Perhitungan nilai fitness ini tergantung pada
permaslahan yang diangkat. Semakin tinggi nilai fitnessnya berarti semakin
baik juga individu atau solusi yang didapatkan. Nilai fitness ini yang biasanya
dijadikan ukuran untuk melihat seberapa baiknya suatu individu atau
kromosom yang dibangkitkan atau bias disebut sebagai acuan untuk
mendapatkan individu terbaik. Nilai fitness bisa terdiri dari beberapa
constraint atau nilai sesuai dengan parameter syarat yang digunakan dalam
permasalahan, sehingga fungsi fitnessnya bisa bertambah atau berkurang
sesuai dengan yang diinginkan asalkan tetap dalam jalur permasalahan yang
diangkat
4. Proses Seleksi
Seleksi adalah model natural untuk mempertahankan individu. Kromosom
dipilih dari populasi yang menjadi parent untuk crossover. Seleksi merupakan
pengendali tekanan pada algoritma genetika. Apabila terlalu banyak tekanan,
maka pencarian genetik akan berakhir prematur, sebaliknya bila terlalu sedikit
tekanan maka proses evolusi akan berjalan lebih lambat dari yang diharapkan.
Operasi seleksi dilakukan dengan memperhatikan fitness dari tiap individu,
manakah yang dapat dipergunakan untuk generasi selanjutnya. Seleksi ini
digunakan untuk mendapatkan calon induk yang baik, semakin tinggi niali
finessnya makasemakin besar juga kesempatan individu itu untuk terpilih.
Terdapat beberapa cara seleksi untuk mendapatkan induk yang baik,
diantaranya adalah roulette wheel, rank, steady state dan beberapa metode
yang lain lagi. Proses seleksi yang sering digunakan adalah roulette wheel.
Beberapa penjelasan tentang ketiga metode seleksi diatas seperti dibawah ini :
32
• Roulette Wheel
Parent dipilih berdasarkan nilai fitness. Semakin baik suatu
kromosom, lebih banyak kesempatan untuk dipilih. Seleksi ini akan
mengelola elemen acak tetapi ‘fix’ sehingga individu yang lebih fit
mempunyai kesempatan lebih besar untuk dipilih. Dibuat daerah yang
dihubungkan dengan setiap fitness individu. Jumlah fitness dari semua
individu dihitung dan fitness dari setiap individu dinormalisasi ke
persentasi dari jumlah keseluruhan. Semua individu diletakkan dalam
area roulette wheel dan diputar beberapa kali untuk memilih anggota
dari wheel. Ilustrasinya dapat digambarkan di bawah ini:
Gambar 2.5 Ilustrasi Seleksi Roulette Wheel
Proses yang akan dilakukan nantinya adalah membangkitkan
bilangan acak sebanyak jumlah fitness yang ada, individu yang nilai
fitnessnya terpilih akan dijadikan sebagai induk. Sehingga semakin
besar tempat pada roulette wheel atau nilai fitnessnya, semakin besar
kemungkinan untuk dipilih.
• Rank
Pertama kali populasi di-rangking dan setiap kromosom menerima
fitness dari proses rangking. Kromosom terjelek mempunyai fitness 1,
terjelek kedua mempunyai fitness 2 dan terbaik mempunyai fitness N
(jumlah kromosom dalam populasi). Setelah itu semua kromosom
mempunyai kesempatan untuk dipilih. Tetapi metode ini
menghasilkan konvergensi yang lambat, karena kromosom terbaik
33
tidak berbeda terlalu banyak dengan kromosom lainnya.
Perbandingannya dapat diperjelas dengan gambar dibawah ini :
Gambar 2.6 Prosentasi sebelum proses Rank
Gambar 2.7 Prosentasi setelah proses Rank
• Steady State
Metode ini tidak banyak digunakan dalam proses seleksi karena
dilakukan dengan mempertahankan individu terbaik. Pada setiap
generasi, akan dipilih beberapa kromosom dengan nilai fitnessnya
yang terbaik sebagai induk, sedangkan kromosom-kromosom yang
memiliki nilai fitness terburuk akan digantikan dengan offspring yang
baru. Sehingga pada generasi selanjutnya akan terdapat beberapa
populasi yang bertahan.
Probabilitas mutasi menunjukkan seberapa sering bagian kromosom
dimutasikan. Jika tidak terjadi mutasi, offspring diambil setelah crossover
(atau copy) tanpa perubahan. Jika terjadi mutasi, sebagian kromosom diubah.
Jika probabilitas mutasi 100%, keseluruhan kromosom diubah. Jika
probabilitasnya 0% tidak terjadi perubahan kromosom. Mutasi dilakukan
untuk mencegah algoritma genetika berada pada local optimum, tetapi mutasi
34
tidak terlalu sering karena algoritma genetika akan berubah ke pencarian
random.
5. Proses Crossover
Crossover adalah salah satu operator penting dalam algoritma genetika,
metode dan tipe crossover yang dilakukan tergantungdari encoding dan
permasalahan yang diangkat. Banyak cara yang bias digunakan untuk
melakukan crossover, menurut Marek Obitko berdasarkan pada encodingnya
dijelaskan seperti berikut:
Binary Encoding
Crossover Satu Titik
Memilih satu titik tertentu, selanjutnya nilai biner sampai titik
crossovernya dari induk pertama digunakan dan sisanya dilanjutkan
dengan nilai biner dari induk kedua.
Contoh :
11001011+11011111 = 11001111
Crossover Dua Titik
Memilih dua titik tertentu, lalu biner sampai titik crossover peratam
pada induk pertama digunakan, dilanjutkan dengan nilai biner dari titik
pertama sampai titik kedua dari induk kedua, kemudian sisanya
melanjutkan nilai biner dari titik kedua pada induk pertama lagi.
Contoh :
11001011 + 11011111 = 11011111
Crossover Uniform
Niali biner yang digunakan dipilih secara random dari kedua induk.
Contoh :
11001011 + 11011101 = 11011111
Crossover Aritmatik
Suatu operasi aritmetika digunakan untuk menghasilkan offspring
yang baru.
35
Contoh :
1001011 + 11011111 = 11001001 (AND)
Permutation encoding
Memilih satu titik tertentu, nilai permutasi sampai titik crossover pada
titik pertama digunakan, lalu sisanya dilakukan scan terlebih dahulu,
jika nilai permutasi pada induk kedua belum ada pada offspring, nilai
tersebut ditambahkan.
Contoh :
(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 6 8 9 7)
Value encoding
Semua metode crossover pada binary crossover bias digunakan.
Tree encoding
Memilih satu titik tertentu dari tiap induk, dan menggabungkan tree
dibawah titik pada induk pertama dan tree dibawah titik pada induk
kedua.
Contoh :
Gambar 2.8 Tree Encoding
Untuk menentukan kromosom yang mana sajakah yang nantinya akan
melewati proses crossover, diperlukan suatu probabilitas crossover. Nilai dari
probabilitas ini biasanya direpresentasikan dalam persen, untuk tiap individu
yang memiliki probabilitas crossover lebih kecil dari probabilitas yang telah
ditentukan maka akan dilakukan crossover. Sehingga sebelumnya
dibangkitkan bilangan acak dari 1 – 100 sebagai nilai probabilitas crossover
dari setiap individu dalam populasi. Nilai probabilitas ini menunjukkan
seberapa sering suatu individu menjalani proses crossover, jika tidak ada
36
crossover maka offspring yang dihasilkan sama dengan induk yang dipilih,
jika terdapat crossover maka seluruh offspring dihasilkan dari gabungan
kedua kromosom induk. Proses crossover dilakukan dengan harapan agar
kromosom yang baru akan menghasilkan gen-gen yang bagus dari induknya,
sehingga dapat dihasilkan kromosom yang kebih baik. Probabilitas crossover
yang tinggi dapat memperluas ruang solusi dan mengurangi kemungkinan
terjadinya lokal optimum, tetapi apabila terlalu besar dapat mengakibatkan
banyaknya waktu komputasi yang terbuang sia-sia tanpa mendapatkan ruang
solusi yang sesuai.
Parameter probabilitas crossover menunjukkan seberapa sering
crossover dilakukan. Apabila tidak terjadi crossover, offspring merupakan
copy dari parent. Apabila terjadi crossover, offspring dibentuk dari bagian
dari kromosom parent. Jika probabilitas crossover 100%, berarti semua
offspring dibentuk dari crossover. Apabila 0%, keseluruhan generasi baru
merupakan copy kromosom dari populasi sebelumnya. Crossover dibentuk
dengan harapan kromosom baru akan membentuk bagian terbaik dari
kromosom sebelumnya dan mungkin kromosom baru lebih baik daripada
sebelumnya. Akan tetapi juga baik untuk meninggalkan beberapa populasi
yang tetap bertahan pada generasi berikutnya.
6. Proses Mutasi
Mutasi digunakan untuk mencegah semua solusi terjebak pada local
optimum dari masalah yang dipecahkan. Mutasi mengubah offspring baru
secara random.
Mutasi terjadi dengan probabilitas yang kecil, lebih banyak dilakukan
penghapusan, akan tetapi beberapa akan menguntungkan dan dapat
memperbaiki gen. Pengontrolan mutasi dilakukan dengan probabilitas Mutasi
Pm. Jika tidak ada mutasi, hanya populasi inisialisasi yang dicari. Apabila Pm
terlalu besar, dilakukan pencarian random.
37
Keturunan yang dihasilkan harus disisipkan kembali ke dalam populasi.
Strategi yang digunakan untuk kandidat individu adalah dengan cara
mengganti individu terjelek dalam populasi, mengganti individu yang dipilih
secara random atau memilih kelompok kromosom secara acak dan mengganti
yang terjelek dalam kelompok tersebut.
. Berdasarkan encodingnya, menurut Marek Obitki, terdapat beberapa macam,
diantaranya sebagai berikut:
Binary encoding
Melakukan inversi pada bit yang terpilih, 0 menjadi 1 dan sebaliknya,
1 menjadi 0.
Contoh :
11001001 => 10001001
Permutation encoding
Memilih dua nilai dari gen dan menukarkannya.
Contoh :
(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)
Value encoding
Menentukan sebuah nilai kecil yang akan ditambahkan atau
dikurangkan pada salah satu gen dalam kromosom.
Contoh :
(1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55)
Tree encoding
Node yang terpilih akan diubah.
7. Proses Elitism
Ketika populasi baru tercipta melalui crossover dan mutasi, ada
kesempatan, bahwa kromosom terbaik dari suatu generasi akan hilang di
38
generasi berikutnya. Untuk itu diperlukan suatu metode untuk mempertahan
kan kromosom terbaik. Metode tersebut disebut Elitism. Elitism meng-copy
sebuah ( atau beberapa ) kromosom terbaik ke populasi baru. Sisanya
dilakukan dengan cara yang lama. Elitism dapat meningkatkan performansi
dari algoritma genetika dengan cepat, karena dapat mencegah hilangnya
penemuan solusi terbaik.
2.2 AHP(Analytic Hierarchy Process)
Ciri khas suatu Sistem Pendukung Keputusan adalah digunakannya model yang
salah satu fungsinya untuk penyederhanaan masalah. AHP yang dikembangkan oleh
Thomas L. Saaty merupakan model hirarki fungsional dengan masukan utamanya
adalah persepsi manuasia. Dengan adanya metode hirarki yang diusulkan dapat maka
masalah kompleks atau tidak terstruktur dapat dipecah dalam sub-sub masalah yang
kemudian disusun menjadi suatu bentuk hirarki. AHP mempunyai kemampuan untuk
memecahkan masalah multikriteria yang berdasarkan pada perbandingan preferensi
dari setiap elemen dalam hirarki. Kriteria seleksi yang dimaksud dalam penelitian ini
adalah jenis tes yang digunakan oleh perusahaan dalam melakukan pemilihan
pemasok dengan tambahan kriteria hijau.
Langkah-langkah metode AHP adalah :
1. Mendefinisikan masalah dan menentukan solusi yang diinginkan
2. Membuat struktur hirarki yang diawali dengan tujuan umum, dilanjutkan
dengan subtujuan, kriteria dan kemungkinan alternatif pada tingkatan kriteria
paling bawah
3. Membuat matrik perbandingan berpasangan yang menggambarkan kontribusi
relatif atau pengaruh setiap elemen terhadap masing-masing tujuan kriteria
yang setingkat diatasnya. Perbandingan berdasarkan judgment dari pengambil
keputusan dengan menilai tingkat kepentingan suatu elemen kriteria
39
dibandingkan elemen kriteria lainnya. Yang dikenal dengan penentuan nilai
prioritas KPI(Key Performance Indicator)
Biasanya orang lebih mudah mengatakan bahwa KPI A lebih penting daripada
KPI B, KPI B kurang penting dibanding dengan KPI C dsb, namun
mengalami kesulitan menyebutkan seberapa penting KPI A dibandingkan KPI
B atau seberapa kurang pentingnya KPI B dibandingkan dengan KPI C. Untuk
itu kita perlu membuat tabel konversi dari pernyatan prioritas ke dalam angka-
angka. Contoh tabel skala nilai prioritas KPI seperti pada tabel dibawah:
Nilai Tingkat prioritas 1 KPI A sama penting dibanding dengan KPI B 3 KPI A sedikit lebih penting dibanding dengan KPI B 5 KPI A lebih penting dibanding dengan KPI B 7 KPI A sangat penting dibanding dengan KPI B 9 KPI A jauh sangat penting dibanding dengan KPI B 2,4,6,8 *) nilai tengah-tengah
*) Pengertian nilai tengah-tengah adalah Jika KPI A sedikit lebih penting dari KPI B maka kita seharusnya memberikan nilai 3, namun jika nilai 3 tersebut dianggap masih terlalu besar dan nilai 1 masih terlalu kecil maka nilai 2 yang harus kita berikan untuk prioritas antara KPI A dengan KPI B.
*) Tabel diatas tidak disebutkan konversi nilai KPI A kurang penting dari KPI B karena pernyataan KPI A kurang penting dari KPI B sama dengan pernyataan nilai KPI B lebih penting dari KPI A
4. Melakukan perbandingan berpasangan sehingga diperoleh judgment
seluruhnya sebanyak n x [(n-1)/2] buah dengan n adalah banyaknya elemen
kriteria yang dibandingkan
5. Melakukan penghitungan bobot KPI(Key Performance Indicator) untuk setiap
elemen kriteria sehingga didapatkan bobot KPI masing-masing kriteria, yang
nantinya dijadikan sebagai bobot perhitungan data untuk pengambilan
keputusan
40
Proses yang paling menentukan dalam menentukan bobot KPI dengan
menggunakan AHP adalah menentukan besarnya prioritas antar KPI. Karena itu
seringkali terjadi pembahasan yang alot antar anggota tim implementasi sistem
pengelolaan kinerja mengenai masalah tersebut. Hal ini dikarenakan tiap-tiap anggota
tim memiliki persepsi tersendiri mengenai prioritas masing-masing KPI.
Recommended