MENGUKUR KINERJA ALGORITMA GENETIK PADA PEMAMPATAN MATRIKS JARANG

dokumen-dokumen yang mirip
ALTERNATIF MODEL PEMAMPATAN MATRIKS JARANG DENGAN MENGGUNAKAN ALGORITMA GENETIK

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

PERBANDINGAN KINERJA ALGORITMA GENETIK DAN ALGORITMA BRANCH AND BOUND PADA TRAVELLING SALESMAN PROBLEM

BAB 2 LANDASAN TEORI

PEMAKAIAN ALGORITMA GENETIK UNTUK PENJADWALAN JOB SHOP DINAMIS NON DETERMINISTIK

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

PENEMPATAN MAHASISWA PESERTA MATA KULIAH UMUM DENGAN ALGORITMA GENETIK DI UNIVERSITAS KATOLIK PARAHYANGAN

Genetic Algorithme. Perbedaan GA

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

Lingkup Metode Optimasi

PENGENALAN ANGKA DENGAN MENGGUNAKAN ALGORITMA GENETIK. Fakultas Teknik dan Ilmu Komputer, Jurusan Teknik Informatika Universitas Komputer Indonesia

Peramalan Kebutuhan Beban Sistem Tenaga Listrik Menggunakan Algoritma Genetika

Algoritma Evolusi Real-Coded GA (RCGA)

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN CAPACITATED VEHICLE ROUTING PROBLEM

ABSTRAK. Universitas Kristen Maranatha

IMPLEMENTASI ALGORITMA GENETIKA UNTUK PENCARIAN RUTE PALING OPTIMUM

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

BAB 2 LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

BAB III ALGORITMA MEMETIKA DALAM MEMPREDIKSI KURS VALUTA ASING. Untuk memberikan penjelasan mengenai prediksi valuta asing

Bab II Konsep Algoritma Genetik

Bab II. Tinjauan Pustaka

APLIKASI ALGORITMA GENETIKA DALAM PENENTUAN DOSEN PEMBIMBING SEMINAR HASIL PENELITIAN DAN DOSEN PENGUJI SKRIPSI

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

BAB III. Metode Penelitian

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

TEKNIK PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITMA GENETIKA. Oleh Dian Sari Reski 1, Asrul Sani 2, Norma Muhtar 3 ABSTRACT

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

Implementasi Algoritma Genetika Untuk Pencarian Rute Berdasarkan Waktu Tercepat Objek Wisata Di Kabupaten Ngawi. Makalah

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

CRYPTANALYSIS HOMOPHONIC SUBSTITUTION CIPHER DENGAN ALGORITMA GENETIK

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

Prosiding Matematika ISSN:

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI. 2.1 Algoritma

Pencarian Rute Optimum Menggunakan Algoritma Genetika

OPTIMASI POLA PENYUSUNAN BARANG DALAM RUANG TIGA DIMENSI MENGGUNAKAN METODE GENETIC ALGORITHMS

BAB 2 TINJAUAN PUSTAKA

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

PERBANDINGAN ALGORITMA EXHAUSTIVE, ALGORITMA GENETIKA DAN ALGORITMA JARINGAN SYARAF TIRUAN HOPFIELD UNTUK PENCARIAN RUTE TERPENDEK

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

Arif Munandar 1, Achmad Lukman 2 1 Teknik Informatika STMIK El Rahma Yogyakarta, Teknik Informatika STMIK El Rahma Yogyakarta

MEMBANGUN TOOLBOX ALGORITMA EVOLUSI FUZZY UNTUK MATLAB

OPTIMASI JADWAL MENGAJAR ASISTEN LABORATORIUM MENGGUNAKAN ALGORITMA GENETIKA

BAB II TINJAUAN PUSTAKA

APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI POLA PENYUSUNAN BARANG DALAM RUANG TIGA DIMENSI ABSTRAK

Perbandingan Algoritma Exhaustive, Algoritma Genetika Dan Algoritma Jaringan Syaraf Tiruan Hopfield Untuk Pencarian Rute Terpendek

PENERAPAN ALGORITMA GENETIK PADA PERMAINAN CATUR JAWA

Optimasi Metode Fuzzy Dengan Algoritma Genetika Pada Kontrol Motor Induksi

Analisis Komparasi Genetic Algorithm dan Firefly Algorithm pada Permasalahan Bin Packing Problem

OPTIMALISASI SOLUSI TERBAIK DENGAN PENERAPAN NON-DOMINATED SORTING II ALGORITHM

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

OPTIMASI PENDUGAAN PARAMETER DALAM ANALISIS STRESS DAN STRAIN TERHADAP MATERIAL MENGGUNAKAN ALGORITMA GENETIKA

PENCOCOKAN KATA SECARA ACAK DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

BAB II TINJAUAN PUSTAKA

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 LANDASAN TEORI

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

APLIKASI ALGORITMA GENETIKA UNTUK MENGOPTIMALKAN POLA RADIASI SUSUNAN ANTENA

Zbigniew M., Genetic Alg. + Data Structures = Evolution Program, Springler-verlag.

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

KONSEP ALGORITMA GENETIK BINER UNTUK OPTIMASI PERENCANAAN JADWAL KEGIATAN PERKULIAHAN

Penjadwalan Job Shop pada Empat Mesin Identik dengan Menggunakan Metode Shortest Processing Time dan Genetic Algorithm

Penyelesaian Puzzle Sudoku menggunakan Algoritma Genetik

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

BAB II LANDASAN TEORI. Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan

OPTIMASI PENEMPATAN KAPASITOR PADA SALURAN DISTRIBUSI 20 kv DENGAN MENGGUNAKAN METODE KOMBINASI FUZZY DAN ALGORITMA GENETIKA

BAB III PENERAPAN ALGORITMA MEMETIKA DAN GRASP DALAM MENYELESAIKAN PFSP

PENERAPAN ALGORITMA GENETIKA UNTUK MENYELESAIKAN PERMASALAHAN PENJADWALAN DOSEN DENGAN FUZZY

APLIKASI ALGORITMA GENETIKA UNTUK PENENTUAN TATA LETAK MESIN

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB I PENDAHULUAN. kehidupan sehari-hari dan juga merupakan disiplin ilmu yang berdiri sendiri serta

BAB 2 TINJAUAN PUSTAKA

Pemaksimalan Papan Sirkuit Di Pandang Sebagai Masalah Planarisasi Graf 2-Layer Menggunakan Algoritma Genetika

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

Denny Hermawanto

ALGORITMA GENETIK SEBAGAI FUNGSI PRUNING ALGORITMA MINIMAX PADA PERMAINAN TRIPLE TRIAD CARD.

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

Penerapan Algoritma Genetika dalam Job Shop Scheduling Problem

BAB 2 LANDASAN TEORI

Transkripsi:

MENGUKUR KINERJA ALGORITMA GENETIK PADA PEMAMPATAN MATRIKS JARANG Nico Saputro dan Joice Aritonang Email : nico@home.unpar.ac.id, jo_aritonang@yahoo.com A matrix that has lots of zero elements is called a sparse matrix. A sparse matrix can be compressed by saving non-zero elements. There are many algorithms to compress a sparse matrix, one of them is genetic algorithm. Genetic algorithm is a searching algorithm by an evolutionary process resulting in a best solution. A sparse matrix is modeled into genetic components. These components will be used by genetic operators to compress a sparse matrix. Then, will be searched the influence of genetic parameter in compressing a sparse matrix. Finally, compression result from genetic algorithm will be compared with exhaustive search algorithm. Keywords : sparse matrix, genetic algorithm, genetic operators, exhaustive search algorithm Matriks jarang adalah matriks yang memiliki banyak elemen nol. Pemampatan matriks jarang dapat dilakukan dengan menyimpan elemen tidak nol. Pemampatan dapat dilakukan dengan beberapa cara, salah satunya adalah algoritma genetik. Algoritma genetik merupakan algoritma pencarian yang bekerja berdasarkan mekanisme seleksi alam untuk menemukan individu berkualitas tinggi. Matriks jarang dimodelkan ke dalam komponen genetik. Operasi genetik dilakukan terhadap komponenkomponen tersebut untuk mendapatkan hasil pemampatan. Setelah itu, akan diteliti mengenai pengaruh paramater-parameter genetik terhadap pemampatan matriks jarang. Pada akhirnya, algoritma genetik akan dibandingkan dengan algoritma exhaustive search untuk mengetahui pemampatan matriks jarang dengan algoritma genetik sudah maksimal atau belum Kata kunci : matriks jarang, algoritma genetik, operator-operator genetik, algoritma exhaustive search 1. Pendahuluan Algoritma exhaustive search dapat melakukan pemampatan terhadap matriks jarang secara optimal karena algoritma ini mencoba semua kemungkinan pemampatan secara sistematis. Untuk ukuran matriks jarang yang relatif kecil (9x9), penggunaan algoritma ini masih efisien tetapi untuk ukuran matriks jarang yang besar (15x15), maka akan ada 1,307,674,368,000 kemungkinan. Waktu komputasi yang dibutuhkan untuk menemukan solusi tersebut cukup lama. Perlu dicari alternatif lain yaitu menggunakan algoritma genetik. Ingin dilihat apakah algoritma genetik dapat menemukan pemampatan matriks jarang yang optimal dengan waktu komputasi yang lebih cepat dibandingkan algoritma exhaustive search. 2. Matriks Jarang Matriks merupakan array 2 dimensi. Berdasarkan konvensi, indeks pertama adalah

baris, index kedua adalah kolom.[1] Definisi matriks jarang adalah matriks yang hanya mempunyai beberapa elemen tidak nol. Suatu matriks n x m dengan sejumlah k elemen tidak nol dikatakan sebagai matriks jarang bila k jauh lebih kecil dibandingkan n x m [6]. Array dengan banyaknya elemen tidak nol sekitar 10% dari ukuran array disebut array jarang [2]. Array jarang ini banyak dijumpai dalam persoalan komputasi sehari-hari seperti desain struktur, dan mencari solusi dari persamaan diferensial [2]. Contoh matriks jarang : 0 5 0 0 12 0 0 21 22 0 19 0 0 0 0 0 0 0 0 1 2 3 4 6 0 0 28 7 8 9 10 11 13 14 0 0 0 0 0 0 0 0 0 26 27 15 16 17 18 20 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 24 0 0 25 0 0 0 0 3. Algoritma Exhaustive search Algoritma exhaustive search di kenal juga sebagai brute force. Brute force lebih mengandalkan kepada kemampuan komputasi dari perangkat keras dengan mencoba seluruh kemungkinan sampai ditemukannya solusi. Meskipun dirasakan kurang elegan, tetapi masih tetap dipakai di bidang software engineering sampai sekarang. Brute force selalu dapat menghasilkan solusi optimal, walaupun waktu yang diperlukan mungkin lama. Brute force berguna untuk menguji keakuratan algoritma yang lebih cepat. [7] 0 0 0 0 0 0 0 0 0 0 4. Pemodelan ke dalam Algoritma Genetik 4.1 Representasi Kromosom Kromosom direpresentasikan dengan cara permutation encoding. Pada permutation encoding, setiap kromosom direpresentasikan dengan string angka yang merepresentasikan posisi secara terurut. Baris akan menjadi gen pada kromosom. Kromosom dibentuk dengan melakukan permutasi terhadap urutan penempatan semua baris yang ada. Gen mempunyai lokus dan allele. Nilai gen (allele) merepresentasikan nomor baris dan lokus merepresentasikan urutan penempatan. Gen yang muncul terlebih dahulu akan memiliki prioritas lebih tinggi untuk diproses terlebih dahulu. Tabel 1 merupakan sebuah contoh matriks jarang berukuran 10 x 10 untuk memperjelas pemodelan di atas. Tabel 1 Contoh Matriks Jarang 10 x 10 1 2 3 4 5 6 7 8 9 10 1 0 10 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 3 2 0 0 0 0 0 0 27 0 0 4 0 31 0 0 34 0 0 0 38 0 5 4 0 0 0 0 0 46 0 0 0 6 5 0 52 0 0 0 0 0 0 0 7 0 61 62 0 0 0 0 0 0 0 8 7 71 0 0 0 75 76 0 0 0 9 8 0 0 83 0 0 0 0 0 0 10 9 0 0 0 0 0 0 0 98 99 Warna abu-abu pada Tabel 1 di kolom ke-1 merupakan dummy, yaitu elemen yang bersifat unik. Dummy ini berfungsi sebagai penanda kolom ke-1 untuk baris tertentu. Tabel 1 dapat direpresentasikan sebagai berikut : Karena ada 10 baris maka dalam 1 kromosom ada 10 gen, seperti Gambar 1.

Lokus 1 2 3 4 5 6 7 8 9 10 Allele 9 8 4 5 6 7 1 3 2 10 Gambar 1 Contoh representasi kromosom untuk kasus pada tabel 1 Nilai-nilai gen pada kromosom menunjukkan operasi yang spesifik. Pada representasi di atas, lokus 1 berarti urutan penempatan ke-1, lokus 2 berarti urutan penempatan ke-2. Sehingga, baris ke-9 memiliki urutan penempatan ke-1, baris ke- 8 memiliki urutan penempatan ke-2, dst. Allele 9 berarti baris ke-9. Isi dari baris ke-9 ditempatkan di array satu dimensi, array posisi menyimpan posisi baris dari elemen tidak nol. Dapat dilihat pada Gambar 2(a) dan 2(b). Array 1 Dimensi Array Posisi Array 1 Dimensi Array Posisi 9 8 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (a) 8 0 0 83 0 0 0 0 0 0 9 0 0 9 0 0 0 0 0 0 (b) Gambar 2. (a) Kondisi awal array (b) kondisi array setelah penempatan baris 9 Allele 8 berarti baris ke-8. Isi dari baris ke-8 ditempatkan di array satu dimensi dengan aturan bahwa bila di suatu kolom di array 1 dimensi sudah ditempati oleh elemen tidak nol dari penempatan sebelumnya, kolom tersebut tidak dapat ditempati lagi oleh elemen tidak nol dari penempatan berikutnya. Untuk menempatkan baris 8, karena kolom 1 dan kolom 4 dari array 1 dimensi sudah ditempati oleh elemen 8 dan 83 dari penempatan sebelumnya, elemen 7 tidak dapat ditempatkan di kolom 1 tetapi di kolom 2 (lihat Gambar 3). 8 7 71 0 0 0 75 76 0 0 0 Array 1 Dimensi 8 7 71 83 0 0 75 76 0 0 Array Posisi 9 8 8 9 0 0 8 8 0 0 mbar 3 array setelah penempatan baris ke-8 Bila proses penempatan baris berdasarkan nilai gen tersebut dilanjutkan sampai selesai, akan diperoleh array satu dimensi dan array posisi seperti pada Gambar 4. Ga 9 0 0 0 0 0 0 0 98 99 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 27 0 0 0 10 0 0 0 0 0 0 0 0 0 61 62 0 0 0 0 0 0 0 5 0 52 0 0 0 0 0 0 0 4 0 0 0 0 0 46 0 0 0 0 31 0 0 34 0 0 0 38 0 7 71 0 0 0 75 76 0 0 0 8 0 0 83 0 0 0 0 0 0 Array 1 Dimensi Array Posisi 8 7 71 83 0 31 75 76 34 4 0 5 38 52 0 46 0 61 62 0 10 2 1 9 0 0 0 0 27 0 0 98 99 9 8 8 9 4 4 8 8 4 5 0 6 4 6 0 5 7 7 7 1 1 3 2 10 0 0 0 0 3 0 0 10 10 Gambar 4 Proses pengurutan gen untuk kasus pada tabel 1 [3]

4.2 Fungsi Fitness Fungsi fitness akan dihitung dengan rumus : banyaknya elementidak nol panjangarray1 dimensi Nilai fitness terletak antara 0 dan 1. Di mana kromosom yang semakin baik, memiliki nilai fitness yang semakin besar. Kromosom terbaik memiliki nilai fitness = 1. 4.3 Operator Genetik 4.3.1 Reproduksi Metode pemilihan yang digunakan adalah elitism method dan roulette wheel selection. Elitism method menduplikasi terlebih dahulu kromosom-kromosom terbaik dari populasi tersebut ke generasi berikutnya [4]. Untuk mencukupi ukuran populasi pada generasi yang baru, dibentuk individu-individu baru sebanyak ukuran populasi dikurangi jumlah individu hasil elitism, yang diturunkan dari generasi sebelumnya. Individu-individu baru diperoleh dari hasil pindah silang dan setelah itu, pada individu-individu hasil pindah silang akan dilakukan mutasi. Roulette wheel berfungsi untuk memilih individu yang akan dilakukan pindah silang dan mutasi. 4.3.2 Pindah Silang Metode pindah silang yang digunakan adalah Mixed-type Partial Matching Crossover (MPMX). Induk A 1 2 3 4 5 6 7 8 9 10 Induk B 10 9 4 7 6 8 5 3 2 1 Gambar 5 Contoh kromosom induk A dan induk B Metode MPMX bekerja sebagai berikut [5] : 1. Langkah-langkah untuk mendapatkan daerah matching : a. Ambil N1 (nilai acak antara 1 dan jumlah karakter yang sama pada kedua string, berarti nilai acak antara 1 dan 10), misalnya = 4 b. {1, 5, 6, 7} merupakan keempat nilai karakter yang diambil secara acak dari {string1} {string2} c. Daerah matching pertama menjadi M1 = 1 5 6 7 d. Daerah matching kedua adalah M2 = 1 5 6 7 2. Rotasi dari M1 menghasilkan M1 = 5 6 7 1 3. Berdasarkan pemetaan yang dilakukan di antara daerah matching yang telah diputar dan daerah matching yang kedua (misalnya pada string1 : allele 5 menjadi 1, allele 6 menjadi 5, dst. Demikian juga untuk string2 : allele 1 menjadi 5, allele 5 menjadi 6, dst) akan diperoleh 2 string baru, dapat dilihat pada Gambar 6. Induk A 1 2 7 6 9 13 4 11 12 5 Induk B 15 2 4 5 6 7 1 3 8 9 Gambar 6 Kromosom hasil pindah silang MPMX 4.3.3 Mutasi Metode mutasi yang digunakan adalah remove and insert. Pada metode remove and insert, pemindahan dan penyisipan gen dilakukan secara acak. Sebuah posisi gen pada kromosom

akan dipilih secara acak kemudian sebuah posisi baru dipilih lagi secara acak. Gen antara kedua posisi tersebut akan dipindahkan dan disisipkan secara acak. Pada Gambar 7 diperlihatkan contoh bagaimana mutasi dilakukan pada kromosom hasil pindah silang dengan metode MPMX. Anak C 7 2 3 4 1 5 6 8 9 10 Posisi Gen 3 8 Hasil Anak C 7 2 4 1 5 6 8 3 9 10 Gambar 7 Contoh mutasi Penempatan gen hanya melihat tempat yang kosong pada gen sebelumnya, bukan 2 atau 3 gen sebelumnya. Sebagai contoh, gen 4 (baris 4) ditempatkan dengan cara mencari tempat kosong setelah penempatan gen 8, tidak melihat tempat kosong pada gen 9. Array satu dimensi merupakan hasil pemampatan matriks jarang. Array posisi berfungsi untuk menyimpan posisi gen (baris) pada matriks jarang, sehingga matriks yang dimampatkan dapat dikembalikan ke bentuk matriks jarang. 4.4 Parameter Genetik Parameter Genetik berguna dalam pengendalian operator-operator genetik. Parameter yang digunakan adalah : ukuran populasi, jumlah generasi, Probabilitas Crossover (P c ), dan Probabilitas Mutasi (P m ). Tidak ada aturan pasti tentang berapa nilai setiap parameter ini [4]. 5. Pengujian 5.1 Pengujian Parameter Genetik Pengujian ini bertujuan untuk mengetahui pengaruh parameter-parameter genetik dalam menghasilkan pemampatan yang maksimal. Pengujian terhadap hasil pemampatan yang dihasilkan dilakukan dengan melihat nilai fitness yang dihasilkan dengan melakukan beberapa perubahan nilai parameter genetik. Pengujian ini dilakukan terhadap sebuah populasi awal yang sama agar hasil perbandingan yang didapat merupakan sebuah hasil yang obyektif. Spesifikasi parameter genetik yang digunakan : Banyak Populasi : 10, Banyak Elitism : 5, Nilai Pc = 0.8, Nilai Pm = 0.09 Populasi Awal yang digunakan : 1 3 5 6 4 8 10 7 2 9 5 7 8 6 2 9 10 1 3 4 5 7 6 2 3 8 4 1 9 10 3 6 8 9 2 7 10 1 5 4 1 3 5 9 6 10 8 2 7 4 6 3 4 10 1 5 7 2 8 9 8 1 3 6 7 9 2 10 5 4 6 9 3 5 4 8 2 7 10 1 1 5 3 7 2 9 10 4 6 8 9 7 5 4 6 1 10 3 8 2 5.1.1 Pengujian Maksimal Generasi Pengujian terhadap maksimal generasi yang nilainya diubah agar dapat dilihat pengaruh maksimal generasi terhadap pemampatan matriks jarang, nilai generasi yang digunakan adalah 1, 10, 50, 75, dan 100. Dari 25 kali percobaan untuk masing-masing nilai generasi, diperoleh nilai fitness rata-rata:

Nilai Fitness Rata-rata Nilai Fitness Rata-rata 0,9 0,85 0,8 0,75 0,7 1 3 5 7 9 11 13 15 17 19 21 23 25 Percobaan ke- Nilai Maksimal Generasi Gambar 8 Grafik pengujian terhadap maksimal generasi Pada Gambar 8, nilai rata-rata fitness pada generasi ke-1 adalah 0.789192, dengan standar deviasi = 0.01071, pada generasi ke-10 adalah 0.818844 dengan standar deviasi = 0.01873, pada generasi ke-50 adalah 0.83248 dengan standar deviasi = 0.02043, pada generasi ke-75 adalah 0.8376 dengan standar deviasi = 0.02101, pada generasi ke-100 adalah 0.833736 dengan standar deviasi = 0.02016, hal ini menunjukkan bahwa semakin besar maksimal generasi yang digunakan maka semakin besar kemungkinan ditemukan pemampatan matriks jarang yang terbaik. 5.1.2 Pengujian Jumlah Elitism Pengujian terhadap jumlah elitism yang nilainya diubah, diuji pada maksimal generasi = 100, agar dapat dilihat pengaruh jumlah elitism terhadap pemampatan matriks jarang. Nilai elitism yang digunakan adalah 1, 3, dan 5. Nilai Pc = 0.8 dan nilai Pm = 0.09. Dari 25 kali percobaan untuk masing-masing nilai elitism, diperoleh nilai fitness rata-rata : 1 10 50 75 100 0,88000 0,86000 0,84000 0,82000 0,80000 0,78000 0,76000 0,74000 1 16 31 46 61 76 91 Generasi ke- Nilai Elitism Gambar 9 Grafik pengujian terhadap jumlah elitism Dari Gambar 9, dapat dilihat bahwa nilai elitism yang kecil dapat mencapai nilai fitness yang maksimal, sedangkan untuk nilai elitism yang besar nilai fitness yang dicapai tidak maksimal. Untuk nilai elitism = 5, nilai fitness maksimal mendekati angka 0.84030 dengan standar deviasi = 0.01239, untuk nilai elitism = 3, nilai fitness maksimal mendekati angka 0.85711 dengan standar deviasi = 0.01548, dan untuk elitism = 1, nilai fitness maksimal mendekati angka 0.86513 dengan standar deviasi = 0.01366. Hal ini dikarenakan, dengan menggunakan nilai elitism yang kecil, kemungkinan mendapat nilai fitness dari kromosom baru lebih besar. Misalnya, banyaknya populasi = 10, untuk nilai elitism = 1, proses pindah silang akan menghasilkan 9 kromosom baru, sedangkan untuk nilai elitism = 5, proses pindah silang hanya menghasilkan 5 individu baru. 1 3 5 5.1.3 Pengujian Parameter Pindah Silang Pengujian terhadap parameter pindah silang (Pc) yang nilainya diubah, diuji pada maksimal

Fungsi Fitness Rata-rata Nilai Fitness Rata-rata generasi = 100, agar dapat dilihat pengaruh parameter pindah silang terhadap pemampatan matriks jarang. Nilai parameter pindah silang yang digunakan adalah 0.1, 0.4, dan 0.7. Banyaknya elitism = 5, Pm = 0.09. Dari 25 kali percobaan untuk masing-masing nilai parameter pindah silang, diperoleh nilai fitness rata-rata : 0,86000 0,84000 0,82000 0,80000 0,78000 0,76000 0,74000 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 Generasi ke- Nilai Pc 0.1 0.4 0.7 Gambar 10 Grafik pengujian terhadap nilai Pc mutasi terhadap pemampatan matriks jarang. Nilai parameter mutasi yang digunakan adalah 0.1, 0.4, dan 0.7. Banyaknya elitism = 5, Pc = 0.8. Dari 25 kali percobaan untuk masingmasing nilai parameter mutasi, diperoleh nilai fitness rata-rata : 0,88000 0,86000 0,84000 0,82000 0,80000 0,78000 0,76000 0,74000 1 13 25 37 49 61 73 85 97 Generasi ke- Nilai Pm 0.1 0.4 0.7 Gambar 11 Grafik pengujian terhadap nilai Pm Dari Gambar 10, dapat dilihat bahwa Pc yang relatif besar akan menghasilkan nilai fitness yang mendekati maksimal. Pada generasi ke- 100, untuk Pc = 0.1 nilai fitness mendekati angka 0.79036 dengan standar deviasi = 0.00202, untuk Pc = 0.4 nilai fitness mendekati angka 0.83770 dengan standar deviasi = 0.01045, dan untuk Pc = 0.7 nilai fitness mendekati angka 0.84146 dengan standar deviasi = 0.01162. Dengan menggunakan nilai Pc yang besar, maka kemungkinan kromosom mengalami proses pindah silang semakin besar dan menghasilkan kromosom baru yang memiliki nilai fitness yang lebih baik. 5.1.4 Pengujian Parameter Mutasi Pengujian terhadap parameter mutasi (Pm) yang nilainya diubah, diuji pada maksimal generasi = 100, agar dapat dilihat pengaruh parameter Dari Gambar 11, dapat dilihat bahwa Pm yang relatif besar akan menghasilkan nilai fitness yang mendekati maksimal. Pada generasi ke- 100, untuk Pm = 0.1 nilai fitness mendekati angka 0.84542 dengan standar deviasi = 0.01396, untuk Pm = 0.4 nilai fitness mendekati angka 0.85190 dengan standar deviasi = 0.01520, dan untuk Pm = 0.7 nilai fitness mendekati angka 0.86387 dengan standar deviasi = 0.01762. Dengan menggunakan nilai Pm yang besar, maka kemungkinan kromosom mengalami proses mutasi semakin besar dan menghasilkan kromosom baru yang memiliki nilai fitness yang lebih baik. 5.2 Perbandingan dengan Algoritma Brute Force Brute force melakukan pencarian dengan dibatasi satu juta kombinasi urutan baris secara

acak. Jadi, hasil pemampatan menggunakan algoritma brute force belum tentu paling optimal. Hasil pemampatan menggunakan algoritma genetik dan algoritma brute force, untuk ukuran matriks jarang dan njuml_elm yang sama, dapat dilihat pada tabel 2. Banyaknya percobaan yang dilakukan menggunakan algoritma genetik adalah 10 kali percobaan, dari percobaan tersebut dipilih hasil yang terbaik yaitu persentase yang terbesar dan waktu komputasi yang tercepat. Tabel 2 Hasil Perbandingan Algoritma Brute Force dan Algoritma Genetik nbaris nkolom njuml_elm Brute Force Algoritma Genetik Persentase Waktu Persentase Waktu Banyaknya (menit) (menit) percobaan 5 1000 500 45.6800% 24 45.5800% 1 10 5 1000 2500 0.5800% 25 0.4800% 1 10 10 10 10 80.0000% 4 80.0000% 1 10 10 10 50 36.0000% 5 36.0000% 1 10 500 500 25000 63.0000% 1207 62.9148% 17 10 500 500 125000 1.0000% 1300 0.9548% 23 10 1000 1000 100000 48.8600% 2160 48.8241% 100 10 1000 1000 500000 0.4700% 2280 0.4561% 138 10 Dapat dilihat bahwa persentase pemampatan menggunakan algoritma genetik mendekati persentase pemampatan menggunakan algoritma brute force. Dapat dikatakan bahwa, hasil pemampatan menggunakan algoritma genetik tidak semaksimal hasil pemampatan menggunakan algoritma brute force, tetapi hasil pemampatan menggunakan algoritma genetik cukup baik. Kelebihan dari algoritma genetik adalah memiliki waktu komputasi yang lebih cepat dibandingkan dengan algoritma brute force. kromosom dibentuk secara acak, sedangkan pada algoritma brute force dibentuk semua kemungkinan untuk mengetahui hasil pemampatan yang maksimal. Tetapi waktu komputasi algoritma genetik lebih cepat dibandingkan dengan algoritma brute force. 2. Semakin besar maksimal generasi, Pc, dan Pm akan semakin besar pula peluang ditemukannya pemampatan yang lebih baik. 3. Semakin kecil banyaknya elitism, akan semakin besar pula peluang ditemukannya pemampatan yang lebih baik. 6. Kesimpulan 1. Matriks jarang dapat dimampatkan menggunakan algoritma genetik, tetapi tidak semaksimal algoritma brute force. Hal ini disebabkan, dalam algoritma genetik 7. Daftar Pustaka 1. Black, Paul E., http://www.nist. gov/dads/html/matrix.html, 2. Wilson, R. (1988) "An introduction to dynamic data structures", McGraw-Hill,

London 1988, in http://homepages.which.net\~gk.sherman\ba aaaacn.htm. 3. Driesen, K., Compressing Sparse Table using a Genetic Algorithm, Proceedings of the GRONICS 94 Student Conference, Groningen, the Netherlands, February 1994. 4. Koza, J., Genetic Algorithm, http://cs.felk.cvut.cz/~xobitko/ga.html, April 2003. 5. Saputro, N., Aplikasi Algoritma Genetik pada Pattern Matching 2 Pola Biner, Jurusan Teknik Elektro, Fakultas Teknologi Industri, Institut Teknologi Bandung, 1994. 6. Black, Paul E., http://www.nist. gov/dads/html/sparsematrix.html 7. http://www.pcwebopaedia.com/term/b/br ute_force.html