Anda di halaman 1dari 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 KMeans 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 :
2 2 2

d(i,j)=

xi1 x j1 + xi 2 x j 2 + .... + xip x jp

Ketika menggunakan fungsi jarak Euclidean untuk membandingkan jarak, tidak diperlukan untuk mengkalkulasi akar dua sebab jarak selalu merupakan angkaangka positif. Untuk dua jarak, d1 dan d2 , jika :

d1 >

d2

d1 > d 2 .

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

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 :

d ( a, b ) =

(b
i =1

ai ) 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. 2. Tentukan Jumlah K cluster. 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 masingmasing 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:
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10

10

10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10

9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10

Gambar 2.2 Contoh K-Means Clustering

2.2 2.2.1

Algoritma Genetika 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

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 langkahlangkah 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 :
Definisi Individu

Populasi Awal

Nilai Fitness

Proses Seleksi

Proses Crossover

Proses Mutasi

Gambar 2.3 Struktur Umum Algoritma Genetika

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 : Chromosome A Chromosome B 1101100100110110 1101111000011110

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 Chromosome B 1 5 3 2 6 4 7 9 8 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,

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 : Chromosome A Chromosome B Chromosome C 1.2324 5.3243 0.4556 2.3293 2.4545 ABDJEIFJDHDIERJFDLDFLFEGT (back), (back), (right), (forward), (left)

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 + X 5 y ( + x ( / 5 y ) ) ( do_untill step wall ) / Step Do untill wall Chromosome B

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

GA

Target y(k+1)

Input Xi(k)

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.

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 angkaangka. Contoh tabel skala nilai prioritas KPI seperti pada tabel dibawah:
Nilai 1 3 5 7 9 2,4,6,8 Tingkat prioritas KPI A sama penting dibanding dengan KPI B KPI A sedikit lebih penting dibanding dengan KPI B KPI A lebih penting dibanding dengan KPI B KPI A sangat penting dibanding dengan KPI B KPI A jauh sangat penting dibanding dengan KPI B *) 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.

Anda mungkin juga menyukai