2009-1-00477-TIAS Bab 2

23
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

Transcript of 2009-1-00477-TIAS Bab 2

Page 1: 2009-1-00477-TIAS Bab 2

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

Page 2: 2009-1-00477-TIAS Bab 2

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

Page 3: 2009-1-00477-TIAS Bab 2

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 −++−+−

Page 4: 2009-1-00477-TIAS Bab 2

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

Page 5: 2009-1-00477-TIAS Bab 2

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).

Page 6: 2009-1-00477-TIAS Bab 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.

Page 7: 2009-1-00477-TIAS Bab 2

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

Page 8: 2009-1-00477-TIAS Bab 2

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)

Page 9: 2009-1-00477-TIAS Bab 2

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

Page 10: 2009-1-00477-TIAS Bab 2

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

Page 11: 2009-1-00477-TIAS Bab 2

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)

Page 12: 2009-1-00477-TIAS Bab 2

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.

Page 13: 2009-1-00477-TIAS Bab 2

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)

Page 14: 2009-1-00477-TIAS Bab 2

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 :

Page 15: 2009-1-00477-TIAS Bab 2

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

Page 16: 2009-1-00477-TIAS Bab 2

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

Page 17: 2009-1-00477-TIAS Bab 2

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.

Page 18: 2009-1-00477-TIAS Bab 2

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

Page 19: 2009-1-00477-TIAS Bab 2

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.

Page 20: 2009-1-00477-TIAS Bab 2

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

Page 21: 2009-1-00477-TIAS Bab 2

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

Page 22: 2009-1-00477-TIAS Bab 2

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

Page 23: 2009-1-00477-TIAS Bab 2

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.