• Tidak ada hasil yang ditemukan

ANALISIS REDUKSI NP-HARD BIN PACKING PROBLEM DALAM ALGORITMA GENETIKA PADA HUKUM KETETAPAN HARDY-WEINBERG TESIS TERRY NOVIAR PANGGABEAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "ANALISIS REDUKSI NP-HARD BIN PACKING PROBLEM DALAM ALGORITMA GENETIKA PADA HUKUM KETETAPAN HARDY-WEINBERG TESIS TERRY NOVIAR PANGGABEAN"

Copied!
79
0
0

Teks penuh

(1)

DALAM ALGORITMA GENETIKA PADA HUKUM

KETETAPAN HARDY-WEINBERG

TESIS

TERRY NOVIAR PANGGABEAN

147038026

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2016

(2)

PERSETUJUAN

Judul Tesis : ANALISIS REDUKSI NP-HARD BIN PACKING

PROBLEM DALAM ALGORITMA GENETIKA PADA HUKUM KETETAPAN HARDY-WEINBERG

Kategori : TESIS

Nama Mahasiswa : TERRY NOVIAR PANGGABEAN

NIM : 147038026

Program Studi : MAGISTER TEKNIK INFORMATIKA

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing

Pembimbing 2, Pembimbing 1,

Dr. Zakarias Situmorang Prof. Dr. Tulus, Vor. Dipl, Math., M.Si.

Diketahui/disetujui oleh

Program Studi S2 Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis, M.Sc NIP: 19570701 198601 1 003

(3)

PERNYATAAN

ANALISIS REDUKSI NP-HARD BIN PACKING PROBLEM DALAM

ALGORITMA GENETIKA PADA HUKUM KETETAPAN

HARDY-WEINBERG

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Juni 2016

Terry Noviar Panggabean 147038026

(4)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:

Nama : Terry Noviar Panggabean

NIM : 147038026

Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:

ANALISIS REDUKSI NP-HARD BIN PACKING PROBLEM DALAM ALGORITMA GENETIKA PADA HUKUM KETETAPAN

HARDY-WEINBERG

Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, Juni 2016

Terry Noviar Panggabean 147038026

(5)

Telah diuji pada Tanggal: Juni 2016

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Tulus, Vor. Dipl, Math., M.Si. Anggota : 1. Dr. Zakarias Situmorang

2. Prof. Dr. Muhammad Zarlis 3. Dr. Poltak Sihombing, M.Kom

(6)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Terry Noviar Panggabean Tempat dan Tanggal Lahir : Jakarta, 21 November 1982 Alamat Rumah : Jln. Setia Gg.Bersama No.1B

Telepon/Fax/HP : 081262963636

Email : terry.noviar@yahoo.co.id

Instansi Tempat Bekerja : STMIK ITMI Medan

Alamat Kantor : Jln. Timah Putih/Komp.Asia Mega mas Blok G.15-18, F.10

DATA PENDIDIKAN

SD : SD Santa Maria Pekanbaru TAHUN : 1997

SMP : SMP Negeri 3 Pekanbaru TAHUN : 1999

SMA : SMUN 9 Pekanbaru TAHUN : 2001

S1 : Teknik Informatika STMIK Logika TAHUN : 2011 S2 : Teknik Informatika Universitas Sumatera Utara TAHUN : 2016

(7)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kehadirat Allah SWT atas berkah, rahmat dan karunianya berupa pengetahuan, kesehatan dan kesempatan yang diberikan kepada penulis sehingga dapat menyelesaikan tesis dengan judul “ANALISIS REDUKSI NP-HARD BIN PACKING PROBLEM DALAM ALGORITMA GENETIKA PADA HUKUM KETETAPAN HARDY-WEINBERG”.

Dalam penyusunan untuk menyelesaikan tesis ini, penulis banyak mendapati pelajaran yang besar, baik berupa saran maupun nasehat dari berbagai pihak terutama dari dosen pembimbing serta dari dosen pembanding, sehingga pengerjaan tesis ini dapat diselesaikan dengan baik. Untuk itu penulis ingin menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum., selaku Rektor Universitas Sumatera Utara atas kesempatan yang telah diberikan kepada penulis sehingga bisa mengikuti dan menyelesaikan pendidikan Magister Teknik Informatika. 2. Bapak Prof. Dr. Opim Salim Sitompul, selaku Dekan Fakultas Ilmu Komputer

dan Teknologi Informasi Universitas Sumatera Utara Medan.

3. Bapak Prof. Dr. Muhammad Zarlis, M.Si., selaku Ketua Program Studi Pascasarjana Teknik Informatika Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Medan.

4. Bapak Prof. Dr. Tulus, Vor. Dipl, Math., M.Si., Selaku Dosen Pembimbing I yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penulisan tesis ini.

5. Bapak Dr. Zakarias Situmorang Selaku Dosen Pembimbing II yang telah bersedia memberikan bimbingan serta pengarahan hingga selesainya penuliasn tesis ini.

6. Bapak dan Ibu Dosen Pembanding/Penguji yang telah memberikan saran untuk perbaikan dan penyelesaian tesis ini.

7. Bapak dan Ibu Dosen yang telah memberikan materi perkuliahan dan ilmu pengetahuan selama penulis menyelesaikan Program Studi Pascasarjana Teknik Informatika.

(8)

8. Segenap sivitas akademika Program Studi Pascasarjana Teknik Informatika Sumatera Utara.

9. Kedua Orangtua saya, Ayahanda Pieter Liberty Panggabean, S.E., dan Ibunda Nurida Silitonga tercinta yang telah memberikan kasih sayangnya, doa yang tak pernah putus serta dorongan moril maupun materil kepada saya sehingga dapat menyelesaikan tesis ini dengan baik.

10. Istri yang saya cintai, Monalas Manurung, S.Kom., serta kedua anak saya yang saya sayangi Timothy Ehsher Panggabean dan Michella Ernestia Panggabean yang telah memberi semangat dan dukungan kepada saya sehingga dapat menyelesaikan tesis ini.

11. Kedua Adik saya, Lydia Yuntika Panggabean, S.E., dan Nurletty Patricia Panggabean, S.E., yang telah banyak memberikan dorongan dan bantuan kepada saya sehingga dapat menyelesaikan tesis ini.

12. Kakak kelas saya alumni tahun 2015 Pascasarja Teknik Informatika Universitas Sumatera Utara, Aditya Perdana, S.T., M.Kom., yang telah memberikan bantuan ide dan inspirasi dalam menyelesaikan tesis ini.

13. Teman – teman seperjuangan Angkatan 2014 Kom-A yang telah memberikan dukungan dalam penyelesaian tesis ini terutama Muhammad Zulfansyuri Siambaton, S.T., M.Kom., Abdul Rahman Hakim, S.Kom., M.Kom., dan Sudirman, S.Kom., M.Kom., dan yang memberikan dukungan yang lebih terhadap penulis.

Akhir kata penulis berharap semoga karya ilmiah ini dapat bermanfaat bagi semua pihak, khususnya dalam bidang pendidikan. Penulis menyadari bahwa masih ada kekurangan dalam penulisan tesis ini, untuk itu, penulis mengharapkan kritik dan saran dari pembaca demi kesempurnaan penelitian selanjutnya.

Medan, Juni 2016 Penulis

Terry Noviar Panggabean 147038026

(9)

ABSTRAK

Karna representasi abstrak dari beberapa sistem pengambilan keputusan yang nyata dalam kehidupan sehari hari membuat masalah optimasi kombinatorial umumnya sangat sulit untuk dipecahkan. Bin packing problem ialah solusi terbaik dalam mengatasi masalah optimasi kombinatorial, yang digunakan untuk mencari sebuah objek secara optimal dari sekelompok himpunan objek yang berhingga. Serangkaian pendekatan hybrid telah dikembangkan dalam hal ini untuk memecahkan masalah Bin

Packing. Metaheuristik adalah salah satu pendekatan tingkat tinggi dalam memandu

dalam memodifikasi beberapa metode heuristik lainnya untuk mencari tingkat optimasi yang lebih baik. Genetic Algorithm atau Algoritma Genetika juga merupakan metode metaheuristik yang digunakan untuk menyelesaikan berbagai masalah dalam hal peningkatan optimasi. Dalam algoritma genetika terdapat bermacam-macam varian. Dalam penelitian dipaparkan mengenai taksonomi dari algoritma genetika parallel (Parallel Genetic Algorithm) yang memiliki kemampuan yang lebih baik dari algoritma genetika konvensional dalam hal kinerja dan skalabilitasnya. Tetapi algoritma genetika paralel ini hanya cocok untuk permasalahan jaringan komputer heterogen dan sistem terdistribusi. Berdasarkan penelitian yang sudah pernah dilakukan sebelumnya dan dari uraian diatas maka penulis tertarik untuk melakukan penelitian bagaimana menerapkan hukum ketetapan Hardy-Weinberg dari bidang biologi kedalam algoritma genetika melakukan analisis reduksi NP-Hard terhadap Bin Packing Problem.

Kata Kunci : Algoritma Genetika, hukum ketetapan Hardy-Weinberg, Bin Packing

(10)

REDUCTION ANALYSIS OF NP-HARD BIN PACKING PROBLEM ON THE APPLICATION OF THE HARDY-WEINBERG EQUILIBRIUM LAW IN

GENETIC ALGORITHMS

ABSTRACT

Cause abstract representation of some real decision-making system in their daily lives making combinatorial optimization problem is generally very difficult to solve. Bin packing problem is the best solution in solving combinatorial optimization problems, which is used to find an optimal object from a group of a finite set of objects. A series hybrid approach has been developed in this case to solve the problem of Bin Packing. Metaheuristic is one of the high-level approach in guiding in modifying some other heuristic methods to search for better optimization level. Genetic Algorithm is also a metaheuristic method used to solve a variety of problems in terms of increased optimization. In the genetic algorithm there are various variants. In a study presented on taxonomy of parallel genetic algorithm which has a better ability than the conventional genetic algorithm in terms of performance and scalability. But the parallel genetic algorithm is only suitable for the problem of heterogeneous computer networks and distributed systems. Based on the research that has been done before, and from the description above, the writer interested in conducting research into how to apply the law of Hardy-Weinberg statutes of biology into a genetic algorithm to analyze the reduction of NP-Hard Bin Packing Problem.

Keywords : genetic algorithms, Hardy-Weinberg equilibrium law, Bin PackingProblem, NP-Hard.

(11)

DAFTAR ISI

Halaman

PERSETUJUAN ... ii

PERNYATAAN ... iii

PERNYATAAN PERSETUJUAN PUBLIKASI ... iv

RIWAYAT HIDUP ... vi

UCAPAN TERIMA KASIH ... vii

ABSTRAK ... ix

ABSTRACT ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvi

BAB I PENDAHULUAN ... 1 1.1 Latar Belakang 1 1.2 Perumusan Masalah ... 3 1.3 Pembatasan Masalah ... 3 1.4 Tujuan Penelitian ... 4 1.5 Manfaat Penelitian ... 4

BAB II TINJAUAN PUSTAKA ... 5

2.1. NP-Hard dan NP Complete ... 5

2.2. Bin Packing Problem ... 6

2.2.1 Batas Nilai Indeks Terkecil (Lower Bound) ... 7

2.2.2 Algoritma First Fit ... 8

2.2.3 Algoritma Decreasing First Fit ... 8

2.3. Algoritma Genetika ... 9

2.4 Struktur Umum Algoritma Genetika ... 10

2.5 Teknik Pengkodean ... 11

2.6 Membangkitkan Populasi Awal dan Kromosom ... 12 2.7 Analisis Fitness 12

(12)

2.8 Operator Genetika ... 12

2.8.1. Seleksi ... 13

2.8.2. Crossover ... 13

2.8.3. Mutasi ... 13

2.8.4. Parameter Parameter dalam Algoritma Genetika ... 13

2.9 Variasi Genetika ... 14

2.10 Hukum Ketetapan Hardy-Wienberg ... 15

2.11 Penelitian Terkait... 17

2.11.1 Penelitian Terdahulu ... 17

2.11.2 Perbedaan Dengan Penelitian Lain... 18

2.12 Kontribusi Penelitian ... 19

BAB III METODOLOGI PENELITIAN ... 20

3.1 Pendahuluan……….20

3.2 Data yang Digunakan ... 21

3.3 Rancangan Penelitian ... 21

3.3.1 Proses Perhitungan Lower Bound pada Bin Packing Problem ... 21

3.3.2 Proses Algoritma First Fit pada Bin Packing Problem ... 22

3.3.3 Proses Algoritma Decreasing First Fit pada Bin Packing Problem .... 27

3.3.4 Proses Bin Packing Problem Menggunakan Algoritma Genetika Menerapkan Hukum Ketetapan Hardy-Weinberg ... 37

3.3.4.1 Pendefinisian individu. ... 38

3.3.4.2 Pembentukan populasi awal. ... 38

3.3.4.3 Proses Persilangan ... 39

BAB IV HASIL DAN PEMBAHASAN ... 41

4.1 Pendahuluan ... 41

4.2 Hasil Pengujian Model Data ... 41

4.2.1 Hasil Pengujian Terhadap Model Data Model_TZ1 ... 42

4.2.1.1 Hasil Pengujian Menggunakan Algoritma First Fit... 42

4.2.1.2 Hasil Pengujian Menggunakan Algoritma Decreasing First Fit ... 42

(13)

4.2.1.3 Hasil Pengujian Menggunakan Algoritma Genetika yang

menerapkan Hukum Ketetapan Hardy-Weinberg ... 43

4.2.1.4 Hasil Perbandingan Ketiga Algoritma Pada Model Data Model_TZ1 ... 44

4.2.2 Hasil Pengujian Terhadap Model Data Model_TZ3 ... 45

4.2.2.1 Hasil Pengujian Menggunakan Algoritma First Fit... 45

4.2.2.2 Hasil Pengujian Menggunakan Algoritma Decreasing First Fit ... 46

4.2.2.3 Hasil Pengujian Menggunakan Algoritma Genetika yang menerapkan Hukum Ketetapan Hardy-Weinberg ... 46

4.2.2.4 Hasil Perbandingan Ketiga Algoritma Pada Model Data Model_TZ3 ... 48

4.2.3 Hasil Pengujian Terhadap Model Data Model_TZ5 ... 49

4.2.3.1 Hasil Pengujian Menggunakan Algoritma First Fit... 49

4.2.3.2 Hasil Pengujian Menggunakan Algoritma Decreasing First Fit ... 49

4.2.3.3 Hasil Pengujian Menggunakan Algoritma Genetika yang menerapkan Hukum Ketetapan Hardy-Weinberg ... 50

4.2.3.4 Hasil Perbandingan Ketiga Algoritma Pada Model Data Model_TZ5 ... 51

BAB V KESIMPULAN DAN SARAN ... 55

5.1 Kesimpulan ... 55

5.2 Saran ... 55

(14)

DAFTAR GAMBAR

Gambar 2.1 Skema P, NP, NP-Hard dan NP-Complete ………... 6

Gambar 2.2 Pseudocode Algoritma First Fit (Harren, R. 2010) ……… 8

Gambar 2.3 Pseudocode Algoritma Decreasing First Fit (Harren, R. 2010) …. 8 Gambar 2.4 Ilustrasi tahapan proses dari algoritma genetika (Gen & Cheng, 1997) ………. 10

Gambar 2.5 Diagram Alir Struktur Umum Algoritma Genetika ………... 10

Gambar 2.6 Diagram Frekuensi genotype untuk kawin acak ……… 16

Gambar 3.1 Skema Rancangan Kerja Penelitian ………... 21

Gambar 3.2 Ilustrasi I First Fit ……….. 22

Gambar 3.3 Ilustrasi II First Fit ………. 22

Gambar 3.4 Ilustrasi III First Fit ……… 23

Gambar 3.5 Ilustrasi IV First Fit ……… 23

Gambar 3.6 Ilustrasi V First Fit ………. 24

Gambar 3.7 Ilustrasi VI First Fit ……… 24

Gambar 3.8 Ilustrasi VII First Fit ………. 25

Gambar 3.9 Ilustrasi VIII First Fit ………. 25

Gambar 3.10 Ilustrasi IX First Fit ……… 26

Gambar 3.11 Ilustrasi X First Fit ……… 26

Gambar 3.12 Hasil Akhir Contoh A menggunakan Algoritma First Fit ……… 27

Gambar 3.13 Array Awal ……… 27

Gambar 3.14 Array I dan II bertukar tempat ……… 28

Gambar 3.15 Array II dan Array III bertukar tempat ………. 28

Gambar 3.16 Array III dan Array IV tetap ……….. 28

Gambar 3.17 Array V berpindah 2 kali ke kiri ……… 28

Gambar 3.18 Array VI berpindah 5 kali ke kiri ……….. 29

Gambar 3.19 Array VII berpindah 6 kali ke kiri ………. 30

Gambar 3.20 Array VIII berpindah 5 kali ke kiri ……… 30

Gambar 3.21 Array IX berpindah 5 kali ke kiri ……….. 31

Gambar 3.22 Array X berpindah 4 kali ke kiri ……… 31

(15)

Gambar 3.24 Ilustrasi II Decreasing First Fit ……….. 32

Gambar 3.25 Ilustrasi III Decreasing First Fit ……… 32

Gambar 3.26 Ilustrasi IV Decreasing First Fit ………... 33

Gambar 3.27 Ilustrasi V Decreasing First Fit ………. 33

Gambar 3.28 Ilustrasi VI Decreasing First Fit ………. 34

Gambar 3.29 Ilustrasi VII Decreasing First Fit……… 34

Gambar 3.30 Ilustrasi VIII Decreasing First Fit ………. 35

Gambar 3.31 Ilustrasi IX Decreasing First Fit ……… 35

Gambar 3.32 Ilustrasi X Decreasing First Fit ………. 36

Gambar 3.33 Ilustrasi XI Decreasing First Fit ………. 36

Gambar 3.34 Hasil Akhir Contoh A menggunakan Algoritma Decreasing First Fit ……… 37

Gambar 3.35 Proses Tahapan Penerapan Hukum Ketetapan Hardy-Weinberg dalam Algoritma Genetika ………. 38

Gambar 3.36 Proses Persilangan Contoh A ………. 39

Gambar 3.37 Penggantian Nilai Gen Contoh A yang Duplikasi ………. 39

Gambar 4.1 Hasil grafik perbandingan ketiga algoritma pada model data Model_TZ1………. 45

Gambar 4.2 Hasil grafik perbandingan ketiga algoritma pada model data Model_TZ3………. 48

Gambar 4.3 Hasil grafik perbandingan ketiga algoritma pada model data Model_TZ5……….. 52

(16)

DAFTAR TABEL

Tabel 2.1 Perbandingan dengan Penelitian Lain ………. 18 Tabel 4.1 Hasil Pengujian menggunakan Algoritma First Fit……… 42 Tabel 4.2 Hasil Pengujian menggunakan Algoritma Decreasing First Fit…. 42 Tabel 4.3 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 100………. 43 Tabel 4.4 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 120………. 43 Tabel 4.5 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 170………. 43 Tabel 4.6 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 240………. 44 Tabel 4.7 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 310………. 44 Tabel 4.8 Hasil tabel perbandingan ketiga algoritma pada model data

Model_TZ1 ……… 44 Tabel 4.9 Hasil Pengujian menggunakan Algoritma First Fit……… 45 Tabel 4.10 Hasil Pengujian menggunakan Algoritma Decreasing First Fit…. 46 Tabel 4.11 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 100 ……… 46 Tabel 4.12 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 120………. 47 Tabel 4.13 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 170………. 47 Tabel 4.14 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 240………. 47 Tabel 4.15 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 310………. 47 Tabel 4.16 Hasil tabel perbandingan ketiga algoritma pada model data

Model_TZ3 ……… 48 Tabel 4.17 Hasil Pengujian menggunakan Algoritma First Fit……… 49 Tabel 4.18 Hasil Pengujian menggunakan Algoritma Decreasing First Fit…. 49

(17)

Tabel 4.19 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 100………. 50 Tabel 4.20 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 120………. 50 Tabel 4.21 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 170………. 50 Tabel 4.22 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 240………. 51 Tabel 4.23 Hasil Pengujian menggunakan Algoritma Genetika

Hardy-Weinberg dengan besar nilai Bin 310………. 51 Tabel 4.24 Hasil tabel perbandingan ketiga algoritma pada model data

(18)

1.1 Latar Belakang

Optimasi kombinatorial adalah salah satu tugas komputasi yang paling sering muncul. Dalam masalah optimasi kombinatorial, tujuannya adalah untuk menemukan solusi yang dapat memaksimalkan atau meminimalkan nilai obyektif tertentu di antara suatu set diskrit terhadap solusi yang layak. Sayangnya, untuk kebanyakan masalah optimasi kombinatorial, belum ada algoritma yang efisien dalam hal mencari solusi yang optimal terhadap NP-Hard, kecuali jika kondisinya P = NP. Untuk itu dilakukan pendekatan terhadap reduksi NP-Hard untuk mencari solusi yang optimal. (Raghavendra, 2009)

Bin packing problem ialah solusi terbaik dalam mengatasi masalah optimasi

kombinatorial, yang digunakan untuk mencari sebuah objek secara optimal dari sekelompok himpunan objek yang berhingga. Serangkaian pendekatan hybrid telah dikembangkan dalam hal ini untuk memecahkan masalah Bin Packing. Metaheuristik adalah salah satu pendekatan tingkat tinggi dalam memandu dalam memodifikasi beberapa metode heuristik lainnya untuk mencari tingkat optimasi yang lebih baik. (Hopper, 2000)

Genetic Algorithm atau Algoritma Genetika juga merupakan metode metaheuristik

yang digunakan untuk menyelesaikan berbagai masalah dalam hal peningkatan optimasi. Genetic Algorithm diciptakan pada tahun 1975 oleh John Holland yang mengemukakan komputasi berbasis evolusi dalam bukunya yang berjudul “Adaption

in Natural and Artificial Intelligence”. Tujuannya adalah untuk merancang komputer

untuk dapat meng-aplikasi-kan apa saja yang terdapat dari beberapa makhluk hidup. Holland mengemukakan sebuah algoritma yang memfokuskan pada manipulasi string dalam bentuk binary bit yang diambil dari konsep abstrak dari evolusi alam. Tahapan Algoritma Genetika yang dikemukakan dapat direpresentasikan sebagai tahapan yang berurutan sebagai bentuk populasi dari kromosom buatan menjadi sebuah populasi baru (Negnevitsky, 2005).

(19)

Menurut Gen & Cheng (1997), algoritma genetika memiliki beberapa kelebihan yaitu Algoritma ini hanya melakukan sedikit perhitungan matematis yang berhubungan dengan masalah apa yang ingin diselesaikan. Kemudian operator-operator evolusi yang digunakan membuat algoritma ini sangat efektif dalam hal pencarian global. Dan terakhir memiliki fleksibilitas yang tinggi untuk dihibridkan dengan metode pencarian lainnya supaya lebih efektif. Untuk itu penulis memilih algoritma ini karna algoritma ini mempunyai fleksibilitas yang tinggi dalam memadukan metode heuristik lainnya. Selain kelebihan, algoritma genetika juga memiliki kekurangan (Sivanandam & Deepa, 2008) yaitu permasalahan dalam melakukan identifikasi fungsi fitness, mendefinisikan suatu permasalahan, terjadinya konvergensi yang prematur, masalah dalam memilih berbagai parameter seperti jumlah populasi, tingkat mutasi, tingkat persilangan, metode seleksi dan kekuatannya, dan yang terakhir tidak dapat digunakan untuk permasalahan local optima.

Variasi genetika pertama kali diperkenalkan didalam bidang biologi, khususnya untuk bidang mikrobiologi, yang menjadi dasar evolusi suatu makhluk hidup. Variasi genetika adalah variasi yang dilakukan terhadap gen suatu individu, baik didalam dan diantara populasi. Gen adalah setiap kode untuk tubuh manusia yang menentukan warna rambut, warna mata, tinggi badan, dan fitur-fitur genetik lainnya. Variasi genetik merupakan jalur penting untuk seleksi alam karena menciptakan kemungkinan-kemungkinan genetik baru dalam dan diantara populasi. Mutasi genetik, aliran gen, dan kombinasi genetik baru adalah cara-cara untuk meningkatkan variasi genetik, dan kita dapat melihat banyak contoh di alam ini. (Sivanandam & Deepa, 2008)

Hukum Weinberg atau yang sering disebut dengan Hukum Ketetapan Hardy-Weinberg menyatakan bahwa frekuensi alel dan frekuensi genotip dalam suatu populasi akan tetap konstan, yaitu berada dalam kesetimbangan dari satu generasi ke genarasi berikutnya kecuali apabila terdapat pengaruh-pengaruh tertentu yang mengganggu kesetimbangan tersebut. Pengaruh-pengaruh yang dapat mengganggu kesetimbangan antara lain perkawinan tak acak, mutasi, seleksi, ukuran populasi terbatas, dan aliran gen. (Vogel & Motulsky, 1997)

Dalam algoritma genetika terdapat bermacam-macam varian. Dalam penelitian (Nowostawski & Poli, 1999) dipaparkan mengenai taksonomi dari algoritma genetika parallel (Parallel Genetic Algorithm) yang memiliki kemampuan yang lebih baik dari

(20)

algoritma genetika konvensional dalam hal kinerja dan skalabilitasnya. Tetapi algoritma genetika paralel ini hanya cocok untuk permasalahan jaringan komputer heterogen dan sistem terdistribusi.

Berdasarkan penelitian yang sudah pernah dilakukan sebelumnya dan dari uraian diatas maka penulis tertarik untuk melakukan penelitian bagaimana menerapkan hukum ketetapan Hardy-Weinberg dari bidang biologi kedalam algoritma genetika teknik optimasi dan melakukan analisis reduksi NP-Hard terhadap Bin Packing Problem.

1.2 Perumusan Masalah

Bin Packing Problem adalah permasalahan pengambilan putusan yang bersifat NP-Complete, dimana telah terbukti dan diuji dengan Algoritma First Fit. NP-Hard Bin Packing Problem dapat direduksi mencapai tingkat optimasi yang lebih tinggi dengan algoritma Decreasing Fit. Bagaimana nilai optimasi yang dicapai pada Bin Packing Problem jika diuji dengan algoritma genetika yang menerapkan hukum ketetapan Hardy-Weinberg? Seberapa besar tingkat keberhasilan yang dicapai dari algoritma genetika yang menerapkan hukum ketetapan Hardy-Weinberg dalam mereduksi NP-Hard dalam Bin Packing Problem?

1.3 Pembatasan Masalah

Dari perumusan masalah diatas, dibatasi dengan beberapa hal sebagai berikut :

1. Penelitian ini membahas analisis reduksi NP-Hard dari penerapan hukum ketetapan Hardy-Weinberg dengan asumsi mutasi rate dan seleksi rate adalah nol.

2. Analisis reduksi NP-Hard dilakukan dengan membandingkan proses Algoritma First Fit dan algoritma Decreasing Fitpada Bin Packing Problem dengan Algoritma Genetika yang menerapkan Hukum Ketetapan Hardy-Weinberg.

3. Analisis reduksi NP-Hard bukan dengan Big O melainkan melalui kecepatan dalam menghasilkan solusi dan konsistensi pada setiap pengujian.

4. Pengujian yang dilakukan pada Bin Packing Problem diasumsikan objek hanya 1 dimensi.

(21)

1.4 Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk mengetahui kinerja dari penerapan Hukum Ketetapan Hardy-Weinberg pada Algoritma Genetika terhadap reduksi NP-Hard dan konsistensi hasil yang melibatkan perbandingan terhadap Algoritma First Fit dan Algoritma Decreasing Fit.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut:

1. Melalui penelitian ini peneliti akan memperoleh hasil analisis mengenai reduksi NP-Hard Bin Packing Problem terhadap konsistensi hasil pada penerapan Hukum Ketetapan Hardy-Weinberg dalam Algoritma Genetika. 2. Mengetahui lebih mendalam terhadap tingkat keberhasilan reduksi NP-Hard

Bin Packing Problem terhadap pengaruh penerapan metode Biologi yaitu hukum ketetapan Hardy-Weinberg kedalam algoritma komputasi yaitu Algoritma Genetika.

(22)

BAB II

TINJAUAN PUSTAKA

2.1. NP-Hard dan NP Complete

Karna representasi abstrak dari beberapa sistem pengambilan keputusan yang nyata dalam kehidupan sehari hari membuat masalah optimasi kombinatorial umumnya sangat sulit untuk dipecahkan. Sebagai contoh dari masalah optimasi kombinatorial yang biasanya dispesifikasikan dengan ruang solusi S, dan didapat sebuah pernyataan bahwa f : S → R, dimana R itu sendiri adalah himpunan dari bilangan real, dan fungsi constraintnya didapat dengan pernyataan c : S → true, false. Maka dalam bentuk umum, masalah optimasi kombinatorial terlihat mencari solusi yang optimal s ∈ S yang berada dalam keadaan true (benar) dan pernyataan f(s) akan diminimalisir ataupun dimaksimalkan. Masalah ini biasanya dapat disimpulkan sebagai masalah NP-Hard. (Balachandar, 2010)

NP merupakan singkatan dari Non-deterministik Polinomial. NP-Hard hanya dapat didefenisikan sebagai suatu masalah yang tidak dapat dipecahkan dalam waktu polinomial. Suatu masalah yang ditandai dengan kelas P (Waktu Polinomial) jika jumlah langkah pekerjaan dibatasi dengan polynomial. Masalah dalam pengambilan keputusan yang mempunyai kompleksitas eksponensial dapat dikatakan tidak ada solusi yang ditemukan dan tidak dapat dipecahkan dalam waktu polynomial. Waktu perhitungan akan meningkat secara eksponensial tergantung dengan jumlah masukan yang ada. Jadi dapat dikatakan suatu masalah itu NP-Hard jika suatu algoritma dapat memecahkan itu dan menterjemahkannya ke dalam satu langkah pemecahan dari masalah NP lainnya (setidaknya sekeras dari masalah NP lainnya). Masalah terbilang sukar karna tidak ada algoritma yang efisien dalam memecahkan contoh masalah yang praktis.(Balachandar, 2010)

Suatu persoalan termasuk dalam kategori NP Complete jika persoalan tersebut termasuk juga ke dalam kelas NP-Hard. Definisi NP Complete pertama kali dimunculkan oleh Cook. Cook membuktikan bahwa Satisfiability Problem (SAT) termasuk ke dalam NP Complete. Namun untuk membuktikan bahwa suatu persoalan merupakan NP Complete dilakukan melalui dua tahap. Pertama, membuktikan bahwa persoalan tersebut termasuk ke dalam NP. Kedua, membuktikan

(23)

bahwa persoalan tersebut tersebut termasuk ke dalam NP Hard. Tahap kedua dapat dilakukan melalui reduksi dari permasalahan NP Complete yang sudah diketahui ke dalam persoalan baru tersebut dalam waktu polinomial (Stephen A Cook. 1971). Dan jika diasumsikan dalam gambar dibawah yaitu :

X P Problem NP Problem NP-Hard Difficulty NP-Complete Reduksi

Gambar 2.1 Skema P, NP, NP-Hard dan NP-Complete Keterangan :

- P Problem : suatu masalah sebesar x yang dapat diselesaikan dalam waktu polynomial.

- NP Problem : suatu pengambilan keputusan terhadap masalah sebesar x yang dapat diselesaikan dengan cara non deterministik dalam waktu polynomial. - X dikatakan NP-Complete jika X adalah himpunan dari NP (X∈NP) dan X

adalah NP-Hard.

- X juga dikatakan NP-Hard jika dapat dibuktikan bahwa setiap problem dari Y∈NP dapat direduksi ke X ataupun melewati X.

- Reduksi : Konversi dari Problem A menuju ke Problem B dengan kata lain algoritma yang mereduksi dari waktu polynomial dengan cara mengkonversi problem A menuju ke Problem B dimana masukan dari problem setara dengan problem B.

- Difficulty : Tingkat kesukaran dari masalah.

2.2. Bin Packing Problem

Bin Packing Problem merupakan Terminologi atau tingkat lanjut daripada Knapsack Problem. Dimana n item dan n knapsack (atau bin), dengan :

Wj = besar daripada item j

(24)

Menetapkan masing-masing item kedalam suatu bin (wadah) sehingga besar total semua item tidak melebihi setiap bin (wadah) dan memberikan jumlah bin (wadah) yang minimum. Jika dituliskan dalam persamaan sebagai berikut :

𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑧 = 𝑦𝑖 𝑛 𝑖=1 𝑆𝑢𝑏𝑗𝑒𝑘 𝑑𝑎𝑟𝑖 𝑤𝑗𝑥𝑖𝑗 ≤ 𝑐𝑦𝑖, 𝑖 ∈ 𝑁 = 1, … , 𝑛 𝑛 𝑖=1 𝑥𝑖𝑗 = 1, 𝑗 ∈ 𝑁, 𝑛 𝑖=1 𝑦𝑖 = 0 𝑜𝑟 1, 𝑖 ∈ 𝑁, 𝑥𝑖𝑗 = 0 𝑜𝑟 1, 𝑖 ∈ 𝑁, Dimana, 𝑦𝑖 = { 1 𝑗𝑖𝑘𝑎 𝑏𝑖𝑛 𝑖 𝑠𝑢𝑑𝑎ℎ 𝑡𝑒𝑟𝑝𝑎𝑘𝑎𝑖; 0 𝑘𝑒𝑏𝑎𝑙𝑖𝑘𝑎𝑛𝑛𝑦𝑎, 𝑥𝑖𝑗 = { 1 𝑗𝑖𝑘𝑎 𝑖𝑡𝑒𝑚 𝑗 𝑑𝑖𝑠𝑒𝑠𝑢𝑎𝑖𝑘𝑎𝑛 𝑑𝑒𝑛𝑔𝑎𝑛 𝐵𝑖𝑛 𝑤𝑎𝑑𝑎ℎ 𝑖; 0 𝑘𝑒𝑏𝑎𝑙𝑖𝑘𝑎𝑛𝑛𝑦𝑎.

Kesimpulannya adalah pada Bin Packing Problem memiliki 2 jenis masalah yaitu bagaimana mencari Bin Packing yang mempunyai objek yang berukuran tetap yang akan dimasukkan dan ukuran yang tetap daripada Bin Packing tersebut. (Martello, S., & Toth, P. 1990)

2.2.1 Batas Nilai Indeks Terkecil (Lower Bound)

Untuk menghitung kompleksitas waktu pada Bin Packing Problem yang harus dilakukan pertama kali yaitu menentukan batas indeks nilai terkecil (Lower Bound) sebesar k dari Bin Packing Problem tersebut, dengan kata lain berapa banyak wadah atau bin sebesar Liyang akan diperlukan untuk menampung objek yang diberikan Pi (dengan ketentuan Pi tidak boleh lebih besar dari Li). (Harren, 2010)

Untuk menghitung Batas Nilai Indeks Terkecilnya (k) dengan rumus :

k =(Pi1 + Pi2 + ⋯ + Pin

(25)

2.2.2 Algoritma First Fit

Bin Packing Problem dapat dibuktikan adalah sebuah permasalahan yang NP-Complete dengan algoritma First Fit dimana semua objek Pi dimasukkan ke dalam wadah secara berurutan. Dimulai dari objek Pi1 sampai dengan ke objek Pin hingga wadah Li pertama penuh lalu dilanjutkan ke wadah berikutnya.Dengansyarat semua objek Pi harus memulai kembali dimasukkan ke wadah Li pertama jika masih muat lalu dilanjutkan ke wadah berikutnya dan tidak melebih nilai dari wadah yang nilainya telah ditetapkan. Dapat diasumsikan dengan Pseudocode di bawah ini :

Gambar 2.2 Pseudocode Algoritma First Fit (Harren, R. 2010)

2.2.3 Algoritma Decreasing First Fit

Reduksi NP-Hard Bin Packing Problem dapat dibuktikan dengan mengkonversi perhitungan Bin Packing Problem yang menggunakan algoritma First Fit terhadap algoritma Decreasing First Fit. Langkah awal dalam menyelesaikan Bin Packing Problem yang menggunakan Algoritma Decreasing First Fit yaitu mengurutkan semua objek sebesar Pi mulai dari bobot nilai yang lebih besar sampai bobot nilai yang terkecil. Langkah kedua yaitu memulainya dengan menggunakan algoritma First Fit dimanasemua objek Pi dimasukkan ke dalam wadah secara berurutan dan seterusnya. Dapat diasumsikan dengan Pseudocode di bawah ini :

(26)

2.3. Algoritma Genetika

Tahun 1975, John Holland, salah satu pendiri Computing Evolution, memperkenalkan konsep algoritma genetika. Tujuannya adalah untuk merancang komputer untuk dapat meng-aplikasi-kan apa saja yang terdapat dari beberapa makhluk hidup. Sebagai seorang ilmuwan komputer, Holland prihatin dengan algoritma yang memanipulasi string pada digit biner. Dia melihat algoritma ini sebagai bentuk abstrak evolusi alami. GA dapat diwakili oleh urutan langkah-langkah prosedur untuk bergerak dari satu kromosom buatan untuk membentuk populasi baru. Menggunakan seleksi alami dan teknik yang diambil dari genetika yang dikenal sebagai crossover dan mutasi. Setiap kromosom terdiri dari sejumlah gen, dan setiap gen diwakili oleh bilangan 0 atau 1 (Negnevitsky, 2005).

Algoritma Genetika sebagai cabang dari Algoritma Evolusi merupakan metode yang digunakan untuk memecahkan suatu masalah dengan pencarian nilai dalam sebuah masalah optimasi yaitu permasalahan-permasalahan yang bukan linier (Gen & Cheng, 2000).Algoritma genetika bukanlah teknik konvergensi konvensional yang lebih bersifat deterministic. (Gen & Cheng, 1997)

Algoritma genetika memakai mekanisme seleksi alam dan ilmu genetika sehingga istilah-istilah pada Algoritma Genetika akan sejalan dengan istilah-istilah pada seleksi alam dan ilmu genetika pada umumnya. Sebuah solusi yang dikembangkan dalam algoritma genetika disebut sebagai kromosom, sedangkan kumpulan kromosom-kromosom tersebut disebut sebagai populasi. Sebuah kromosom-kromosom dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter dilihat dari permasalahan yang ingin diselesaikan. Kromosom-kromosom tersebut akan berevolusi secara terus menerus yang nantinya akan disebut sebagai generasi. Dalam tiap generasi kromosom-kromosom tersebut dianalisis tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan menggunakan ukuran yang disebut dengan fitness.

Secara umum tahapan proses dari algoritma genetika diperlihatkan pada Gambar 2.4. Seperti terlihat pada gambar kromosom merupakan representasi dari solusi. Operator genetika yang terdiri dari crossover dan mutasi dapat dilakukan kedua-duanya atau hanya salah satu saja yang selanjutnya operator evolusi dilakukan melalui proses seleksi kromosom dari parent (generasi induk) dan dari offspring (generasi turunan)

(27)

untuk membentuk generasi baru (new population) yang diharapkan akan lebih baik dalam memperkirakan solusi optimum, proses iterasi kemudian berlanjut sesuai dengan jumlah generasi yang ditetapkan.

Gambar 2.4 Ilustrasi tahapan proses dari algoritma genetika(Gen & Cheng, 1997)

2.4 Struktur Umum Algoritma Genetika

Algoritma genetika memberikan pilihan untuk menentukan nilai parameter dengan menduplikasi cara reproduksi genetika, pembentukan kromosom baru, proses migrasi gen, serta seleksi alami seperti yang terjadi pada organisme hidup. Secara umum Algoritma Genetika dapat diilustrasikan melalui diagram pada Gambar 2.6.

Mulai

Input Data

Inisialisasi Populasi

Hitung Nilai Fitness

Seleksi Persilangan (Crossover) Mutasi Mendapatkan Populasi Baru Generasi Maksimum

Cetak Hasil Optimal Ya Tidak

Selesai

(28)

Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatu permasalahan algoritma genetika. Inisialisasi ini dilakukan secara random sesuai dengan jumlah kromosom per populasi yang diinginkan. Selanjutnya dilakukan perhitungan nilai fitness dan selanjutkan dilakukan seleksi dengan menggunakan metode Roulette Wheel, tournament atau ranking. Kemudian dilakukan persilangan (crossover) dan mutasi. Setelah melalui beberapa generasi maka algoritma ini akan berhenti sebanyak generasi yang diinginkan. (Zukhri, 2014)

Berikut ini adalah karakteristik-karakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi yang lain, yaitu (Goldberg, 1989) :

1. Algoritma Genetika bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.

2. Algoritma Genetika melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahan bukan hanya dari satu individu.

3. Algoritma Genetika merupakan informasi dari fungsi objektif sebagai cara untuk menganalisis individu yang mempunyai solusi terbaik, bukan turunan dari satu fungsi saja.

4. Algoritma Genetika menggunakan aturan-aturan transisi peluang, bukan dari aturan-aturan deterministik.

2.5 Teknik Pengkodean

Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom, gen merupakan bagian dari kromosom. Satu gen akan mewakili satu variabel. Agar dapat diproses melalui algoritma genetik, maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk kromosom. Masing-masing kromosom berisi sejumlah gen yang mengodekan informasi yang disimpan didalam individu atau kromosom.Gen dapat direpresentasikan dalam bentuk bit,bilangan real, string, daftar aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.

(29)

2.6 Membangkitkan Populasi Awal dan Kromosom

Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu atau kromosom secara acak atau melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal. Apabila ukuran populasi yang dipilih terlalu kecil, maka tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu akanbanyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989).

Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah sebagai berikut:

1. Random Generator

Inti dari cara ini adalah melibatkan pembangkitkan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan.

2. Pendekatan Tertentu

Cara ini adalah dengan memasukkan nilai tertentu kedalam gen dari populasi yang dibentuk.

3. Permutasi Gen

Salah satu cara permutasi gen dalam pembangkitan populasi awal adalah penggunaan permutasi Josephus dalam permasalahan kombinatorial seperti

Bin Packing Problem.

2.7 Analisis Fitness

Suatu individu dianalisis berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati.

2.8 Operator Genetika

Algoritma genetika merupakan teknik atau metode pencarian untuk permasalahan

(30)

berpengaruh dalam keberhasilan algoritma genetika dalam menemukan solusi optimum suatu permasalahan yang diselesaikan.

2.8.1. Seleksi

Dalam proses reproduksi setiap individu populasi pada suatu generasi diseleksi berdasarkan nilai fitnessnya untuk bereproduksi guna menghasilkan keturunan. Probabilitas terpilihnya suatu individu untuk bereproduksi adalah sebesar nilai fitness individu tersebut dibagi dengan jumlah nilai fitness seluruh individu dalam populasi (Davis, 1991).

2.8.2. Crossover

Crossover (pindah silang) adalah proses pemilihan posisi string secara acak dan

menukar karakter- karakter stringnya (Goldberg, 1989). Fungsi crossover adalah menghasilkan kromosom anak dari kombinasi materi-materi gen dua kromosom induk. Probabilitas crossover (Pc) ditentukan untuk mengendalikan frekuensi

crossover.

2.8.3. Mutasi

Operator mutasi dioperasikan sebagai cara untuk mengembalikan materi genetikyang hilang. Melalui mutasi, individu baru dapat diciptakan dengan melakukan modifikasi terhadap satu atau lebih nilai gen pada individu yang sama. Mutasi mencegah kehilangan total materi genetika setelah reproduksi dan pindah silang. Mutasi ini berperan utuk menggantikan gen yang hilang dari populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.

2.8.4. Parameter Parameter dalam Algoritma Genetika

Parameter-parameter genetika berperan dalam pengendalian operator-operator genetika yang digunakan dalam optimasi algoritma genetika menggunakan algoritma genetika. (Davis, 1991)

Parameter genetika yang sering digunakan meliputi ukuran populasi (N), probabilitas pindah silang (Pc),dan probabilitas mutasi (Pm). Pemilihan ukuran populasi yang digunakan tergantung pada masalah yang akan diselesaikan. Untuk masalah yang

(31)

lebih kompleks biasanya diperlukan ukuran populasi yang lebih besar guna mencegah konvergensi prematur (yang menghasilkan optimum lokal).

Pada tiap generasi, sebanyak Pc * N individu dalam populasi mengalami pindah silang. Makin besar nilai Pc yang diberikan maka makin cepat struktur individu baru yang diperkenalkan ke dalam populasi. Jika nilai Pc yang diberikan terlalu besar, individu yang merupakan kandidat solusi terbaik dapat hilang lebih cepat dibanding seleksi untuk peningkatan kerja. Sebaliknya nilai Pc yang rendah dapat mengakibatkan stagnasi karena rendahnya angka eksplorasi.

Probabilitas mutasi adalah probabilitas dimana setiap posisi bit pada tia string dalam populasi baru mengalami perubahan secara acak setelah proses seleksi. Dalam satu generasi dengan L panjang struktur, kemungkinan terjadi mutasi sebanyak Pm*N*L.

2.9 Variasi Genetika

Variasi genetika dalam populasi yang merupakan gambar dari adanya perbedaan respon individu-individu terhadap lingkungan adalah bahan dasar dari perubahan adaptif.Suatu populasi terdiri dari sejumlah individu.Variasi genetika merupakan variasi pada alel dan gen, terjadi baik didalam dan diantara populasi.Variasi genetika sangat penting karena menyediakan bahan genetik untuk seleksi alam.Variasi genetika yang dibawa oleh mutasi, yang merupakan perubahan permanen dalam struktur kimia gen. Poliploidi adalah contoh dari kromosom mutasi. Poliploidi adalah suatu kondisi dimana organisme memiliki tiga atau lebih set variasi genetika. Mutasi ini dimulai oleh orang tua, sebagai pasangan induk keturunannya sekarang memiliki kesempatan untuk mewarisi sifat yang sama dengan induknya (Hartl& Jones, 1998).

Variasi berasal dari mutasi bahan genetika, migrasi antar populasi (aliran gen), dan perubahan susunan gen melalui reproduksi seksual. Variasi juga datang dari tukar ganti gen antara spesies yang berbeda: contohnya melalui transfer gen horizontal pada bakteria dan hibridisasi pada tanaman.Walaupun terdapat variasi yang terjadi secara terus menerus melalui proses-proses ini, kebanyakan genom spesies adalah identik pada seluruh individu spesies tersebut. Namun, bahkan perubahan kecil pada genotipe dapat mengakibatkan perubahan yang dramatis pada fenotipenya.

Variasi genetik antar individu dalam suatu populasi dapat diidentifikasi pada berbagai tingkatan.Hal ini dimungkinkan untuk mengidentifikasi variasi genetik dari pengamatan variasi fenotipik baik sifat kuantitatif (sifat yang berubah secara kontinyu

(32)

dan disandikan oleh banyak gen, misalnya, panjang kaki pada anjing) atau sifat diskrit (sifat yang masuk dalam kategori diskrit dan dikodekan untuk oleh satu atau beberapa gen (misalnya, putih, merah muda, warna merah kelopak bunga dalam tertentu) (Barnes & Breen, 2010).

2.10 Hukum Ketetapan Hardy-Wienberg

Pada tahun 1908, seorang ahli matematika berkebangsaan Inggris Godfrey Harold Hardy (1877-1947) dan seorang dokter berkebangsaan Jerman Wilhelm Weinberg (1862-1937) secara terpisah menguraikan kondisi penting tentang keseimbangan genetik. Mereka menemukan dasar-dasar frekuensi alel dan genetik dalam suatu populasi terpisah menemukan suatu hubungan matematik dari frekuensi gen dalam populasi, yang kemudian dikenal dengan hukum Hardy-Weinberg (prinsip kesetimbangan). Pernyataan itu menegaskan bahwa frekuensi alel dan genotip suatu populasi (gene pool) selalu konstan dari generasi ke generasi dengan kondisi tertentu.Hukum ini digunakan sebagai parameter untuk mengetahui apakah dalam suatu populasi sedang berlangsung evolusi ataukah tidak. Hukum Hardy-Weinberg ini menjelaskan bahwa keseimbangan genotip AA, Aa, dan aa, serta perbandingan gen A dan gen a dari generasi ke generasi akan selalu sama dan tetap dipertahankan dalam suatu populasi bila memenuhi beberapa syarat (Vogel & Motulsky, 1997).

Dalam perkawinan acak, organisme membentuk pasangan kawin secara independen dari genotipe; setiap jenis pasangan kawin terbentuk sesering yang diharapkan oleh pertemuan kesempatan.Kawin acak adalah jauh sistem perkawinan yang paling umum untuk sebagian besar spesies hewan dan tumbuhan, kecuali untuk tanaman yang secara teratur mereproduksi melalui self-fertilisasi.

Hukum Hardy-Weinberg menyatakan bahwadi bawah suatu kondisi yang stabil, baik frekuensi gen maupun perbandingan genotip akan tetap (konstan) dari generasi ke generasi pada populasi yang berbiak secara seksual.

Syarat berlakunya asas Hardy-Weinberg:

1. Setiap gen mempunyai viabilitas dan fertilitas yang sama 2. Perkawinan terjadi secara acak

3. Tidak terjadi mutasi gen atau frekuensi terjadinya mutasi, sama besar. 4. Tidak terjadi migrasi

(33)

Jika lima syarat yang diajukan dalam kesetimbangan Hardy Weinberg tadi banyak dilanggar, jelas akan terjadi evolusi pada populasi tersebut, yang akan menyebabkan perubahan perbandingan alel dalam populasi tersebut. Definisi evolusi sekarang dapat dikatakan sebagai perubahan dari generasi ke generasi dalam hal frekuensi alel atau genotipe populasi.Dalam perubahan dalam kumpulan gen ini (yang merupakan skala terkecil), spesifik dikenal sebagai mikroevolusi.

Hukum Hardy-Weinberg ini berfungsi sebagai parameter evolusi dalam suatu populasi. Bila frekuensi gen dalam suatu populasi selalu konstan dari generasi ke generasi, maka populasi tersebut tidak mengalami evolusi. Bila salah satu saja syarat tidak dipenuhi maka frekuensi gen berubah, artinya populasi tersebut telah dan sedang mengalami evolusi.

Hukum Hardy-Weinberg menyatakan populasi mendelian yang berukuran besar sangat memungkinkan terjadinya kawin acak (panmiksia) di antara individu-individu anggotanya. Artinya, tiap individu memiliki peluang yang sama untuk bertemu dengan individu lain, baik dengan genotipe yang sama maupun berbeda dengannya. Dengan adanya sistem kawin acak ini, frekuensi alel akan senantiasa konstan dari generasi ke generasi.

Dengan kawin acak, hubungan antara frekuensi alel dan frekuensi genotipe sangat sederhana karena perkawinan acak individu setara dengan serikat acak gamet.Secara konseptual, kita mungkin membayangkan semua gamet suatu populasi sebagai hadiah dalam wadah besar.Untuk membentuk genotipe zigot, pasang gamet ditarik dari wadah secara acak. Untuk lebih spesifik, mempertimbangkan alel M dan N pada golongan darah MN, yang frekuensi alel adalah p dan q, masing-masing (ingat bahwa p + q = 1). Frekuensi genotipe diharapkan dengan kawin acak dapat disimpulkan dari gambar 2.2 berikut (Daniel, et al. 1998):

p M p M q N q N p M q N p2 MM pq MN pq MN q2 MM

(34)

Genotipe yang dapat dibentuk dengan dua alel akan ditampilkan di sebelah kanan, dan dengan perkawinan acak, frekuensi masing-masing genotipe dihitung dengan mengalikan frekuensi alel dari gamet yang sesuai. Namun, MN genotipe dapat dibentuk dalam dua cara-alel M bisa datang dari ayah (bagian atas diagram) atau dari ibu (bagian bawah diagram). Dalam setiap kasus, frekuensi genotipe MN adalah pq; mengingat kedua kemungkinan, kita menemukan bahwa frekuensi MN adalah pq + pq = 2pq.

Di samping kawin acak, ada persyaratan lain yang harus dipenuhi bagi berlakunya hukum Hardy-Weinberg, yaitu tidak terjadi migrasi, mutasi, dan seleksi. Dengan perkatan lain, terjadinya peristiwa-peristiwa ini serta sistem kawin yang tidak acak akan mengakibatkan perubahan frekuensi alel (Vogel & Motulsky, 1997).

2.11 Penelitian Terkait

2.11.1 Penelitian Terdahulu

(Omara & Arafa 2010) membahas mengenai pengembangan algoritma genetika standard (SGA) dengan memodifikasi fungsi fitness dalam permasalahan penjadwalan tugas. Dimana mereka mengembangkan dua teknik untuk mengoptimalkan fungsi fitness yaitu fungsi fitness untuk meminimalkan total waktu eksekusi dan untuk menentukan kepuasan keseimbangan beban. Kedua teknik tersebut diimplementasikan kedalam algoritma gentika dengan nama Critical Path Genetic Algorithms (CPGA) dan Task Duplication Genetic Algorithms (TDGA); (Chaari, Chaabane, Loukil, & Trentesaux, 2011) membahas mengenai penerapan algoritma genetika untuk permasalahan penjadwalan hybrid flow shop yang kokoh. Mereka mempertimbangkan masalah penjadwalan yang tidak pasti dan mengembangkan algoritma genetika dimana fungsi analisis bi-objektif yang kokoh didefinisikan untuk memperoleh hasil yang baik, solusi efektif yang sedikit sensitif untuk ketidakpastian data.Untuk hasil dari uji coba tersebut menunjukkan hasil yang baik untuk efektivitas dan ketahanan dalam berbagai tingkat ketidakpastian.

Ahmed (2010) mengembangkan algoritma genetika untuk permasalahan Traveling

Salesman Problem (TSP) menggunakan operator crossover baru yaitu Sequential Constructive Crossover (SCX) yang menghasilkan solusi berkualitas tinggi. Dimana

operator SCX membangun keturunan dari sepasang induk menggunakan tepi yang lebih baik atas dasar nilai-nilai yang mungkin ada dalam struktur induk yang menjaga

(35)

urutan node dalam kromosom induk. Al-Dulaimi & Ali (2008) algoritma genetika digunakan untuk menyelesaikan permasalahan TSP. dimana TSP merupakan permasalahan NP-Complete yang dikodekan dalam bentuk genetik. Algoritma Genetika digunakan untuk menentukan rute optimal dengan menghitung matriks jarak

Euclidean antar kota-kota yang akan dikunjungi dan urutan kota yang dipilih secara

acak sebagai populasi awal. Generasi baru dibuat secara berulang-ulang sampai rute optimal dicapai.

Abdoun, et al. (2012) dalam penelitian mereka membahas bagaimana memilih parameter yang tepat untuk mendapatkan hasil yang optimal.Disini mereka melakukan analisis perbandingan antara operator mutasi, yang dikelilingi oleh penelitian dilatasi yang membenarkan relevansi operator genetic yang dipilih untuk menyelesaikan permasalahan Traveling Salesman Problem.

2.11.2 Perbedaan Dengan Penelitian Lain

Pada penelitian ini penulis akan mengkaji apakah variasi genetika menggunakan hukum ketetapan Hardy-Weinberg dapat diterapkan kedalam permasalahan komputasi dan membandingkanya dengan algoritma genetika yang sudah ada. Untuk melihat perbandingan dengan penelitian yang lain dapat dilihat pada tabel 2.1.

Tabel 2.1 Perbandingan dengan Penelitian Lain

No. Nama Peneliti

Judul Penelitian Persamaan Perbedaan

1 Nowostawski & Poli (1999) Parallel Genetic Algorithm Taxonomy Sama-sama melakukan modifikasi terhadap algoritma genetika Digunakan untuk permasalahan heterogen dan sistem terdistribusi 2 Beasley & Chu (1996) A Genetic Algorithm for The Set Covering Problem Sama-sama menggunakan algoritma genetika dalam menyelesaikan permasalahan. Permasalahan yang digunakan dalam penelitian ini adalah permasalahan set covering. 3 Lin, et al(2009) Genetic Algorithm for Shortest Driving Sama-sama menggunakan algoritma Menitikberatkan pada pengaruh jumlah gen dan

(36)

2.12 Kontribusi Penelitian

Melalui penelitian ini diharapkan diperoleh kesimpulan mengenai parameter-parameter yang dihilangkan yaitu seleksi dan mutasi pada algoritma genetika dengan menerapkan hukum ketetapan Hardy-Weinberg untuk mereduksi NP-Hard Bin

Packing Problem. Time in Intelligent Transportation System genetika untuk menentukan rute terpendek. kromosom didalam mendapatkan solusi optimal. 4 Omara & Arafa (2010) Genetic Algorithms for Task Schedulling Problem Memodifikasi algoritma genetika untuk menyelesaikan permasalahan tertentu Diimplementasikan kedalam algoritma genetika dengan nama Critical Path Genetic Algorithms (CPGA) dan Task Duplication Genetic Algorithms (TDGA) untuk permasalahan task scheduling. 5 Chaari, et al (2011) A Genetic Algorithm For Robust Hybrid Flow Shop Scheduling Sama-sama menggunakan algoritma genetika dalam menyelesaikan permasalahan. Digunakan untuk permasalahan penjadwalan hybrid flow shop yang kokoh.

(37)

3.1 Pendahuluan

Dalam mengukur hasil yang sistematis atau dampak dari suatu aktifitas, program atau suatu proyek dengan cara membandingkan dengan tujuan yang telah ditetapkan dan mencari cara atau metode dalam hal tingkat keberhasilan pencapaian yang tertinggi merupakan suatu metode penelitian analisis.

Tujuan daripada penelitian analisis yaitu mengukur seberapa jauh fungsi sistem yang telah dibuat berfungsi, efek apa yang akan terjadi saat sistem dijalankan dan masalah apa yang akan timbul jika suatu sistem dirancang. Analisis pertama akan dilakukan terhadap reduksi NP-Hard bin packing problem menggunakan algoritma First Fit dan Decreasing Fit. Analisis yang kedua, reduksi NP-Hard bin packing problem diselesaikan dengan algoritma genetika konvensional namun memakai hukum ketetapan Hardy-Weinberg. Setelah didapat hasil kesimpulan dari ketiga penelitian analisis maka akan dihitung tingkat dari keberhasilan mana yang lebih tinggi dalam hal mereduksi NP-Hard.

Algoritma genetika merupakan suatu teknik pencarian yang diadopsi dari teknik dibidang biologi.Pada algoritma genetika yang sudah ada memiliki tahapan-tahapan seperti pembentukan kromosom, penentuan fitness, seleksi, persilangan (crossover), mutasi dan penentuan fitness kembali untuk dilakukan iterasi kembali.Didalam bidang biologi, ada disebut evolusi populasi.Dimana salah satu yang menyebabkan evolusi tersebut adalah variasi genetika.Dikarenakan ada variasi genetika ini terjadilah keanekaragaman populasi karena terjadinya perubahan terhadap alel atau gen.

Hukum ketetapan Hardy-Weinberg menyatakan populasi yang statis dikarenakan terjadinya persilangan secara konstan dan dilakukannya mutasi terhadap gen populasi. Untuk menciptakan evolusi maka harus dilakukan kawin silang secara acak atau persilangan secara acak.Tanpa dilakukan seleksi, mutasi, dan migrasi.

(38)

3.2 Data yang Digunakan

Data yang digunakan dalam penelitian adalah data benchmark yang diambil dari data jurnal Burke E. K., Hyde M. R. & Kendall G pada tahun 2010 yang berjudul

Providing a Memory Mechanism to Enhance the Evolutionary Design of Heuristicspada Proceedings of the IEEE World Congress on Computational Intelligence, Barcelona, Spanyol halaman 3883-3890.

3.3 Rancangan Penelitian

Untuk rancangan kerja penelitian ini akan dilakukan analisis terhadap permasalahan

Bin Packing Problem(BPP). Dimana tahapan pertamanya adalah melakukan input

data, kemudian melakukan proses menggunakan algoritma First Fit, lalu menggunakan Decreasing Fit dan algoritma genetika yang menerapkan hukum Hardy-Weinberg, dan terakhir mendapatkan output hasil dari setiap masalah yang disampaikan.Untuk lebih jelas dapat dilihat pada gambar 3.1 berikut.

Input Data Benchmark

Proses Algoritma First Fit : - Hitung Lower Bound

- Masukkan data Objek ke Bin Secara Berurutan dari awal sampai akhir

- Jika Bin Penuh lanjut lagi masukkan Objek ke Bin berikutnya sampai penuh

Proses Algoritma Decreasing First Fit : - Hitung Lower Bound

- Urutkan data Objek berdasarkan Decreasing Order - Masukkan data Objek ke Bin Secara Berurutan dari awal sampai akhir

- Jika Bin Penuh lanjut lagi masukkan Objek ke Bin berikutnya sampai penuh

Proses Algoritma Genetika menerapkan Hukum Hardy-Weinberg :

- Pendefenisian Individu - Pembentukan Populasi Awal - Proses Persilangan

- Hitung Fitness untuk generasi berikutnya

Output : Hasil Optimal menggunakan Algoritma First Fit Output : Hasil Optimal menggunakan Algoritma Decreasing First Fit Output : Hasil Optimal menggunakan Algoritma Genetika menerapkan Hukum Ketetapan Hardy Weinberg

Gambar 3.1 Skema Rancangan Kerja Penelitian

3.3.1 Proses Perhitungan Lower Bound pada Bin Packing Problem

Dimisalkan Li (bin) bernilai 100 dan diketahui ada 10 objek yang akan dimasukkan ke wadah bernilai sebagai berikut :

(39)

Maka : 𝑘 = 45 + 49 + 49 + 37 + 46 + 54 + 55 + 51 + 46 + 47 100

𝑘 = 4,79 (5)

Hasil Batas Indeks Nilai terkecil pada contoh diatas sebesar 4,79 ataupun sebanyak 5 wadah atau bin yang akan terpakai.

3.3.2 Proses Algoritma First Fit pada Bin Packing Problem

Dapat juga diasumsikan dengan gambar dibawah ini (Contoh A): Kapasitas Bin : Li = 100 Dan Objeknya : Pi1=45; Pi2=49; Pi3=49; Pi4=37; Pi5=46; Pi6=54; Pi7=55; Pi8=51; Pi9=46; Pi10=47 Ilustrasi I : Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi1 =4 5 dimasukk an ke Bin Pi1 40 60 80 100

Objek yang tersisa tinggal Pi2=49; Pi3=49; Pi4=37; Pi5=46; Pi6=54;

Pi7=55; Pi8=51; Pi9=46; Pi10=47

Gambar 3.2 Ilustrasi I First Fit

Ilustrasi II :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi2 =4 9 dimasukk an ke Bin 40 60 80 100 Pi2 Pi2

Objek yang tersisa tinggal Pi3=49; Pi4=37; Pi5=46; Pi6=54;

Pi7=55; Pi8=51; Pi9=46; Pi10=47

(40)

Ilustrasi III :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi3 =4 9 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal Pi4=37; Pi5=46; Pi6=54;

Pi7=55; Pi8=51; Pi9=46; Pi10=47

Pi3

Pi3

Gambar 3.4 Ilustrasi III First Fit

Ilustrasi IV :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi4 =3 7 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal Pi5=46; Pi6=54; Pi7=55; Pi8=51;

Pi9=46; Pi10=47

Pi3

Pi4

Pi4

(41)

Ilustrasi V :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi5 =4 6 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal Pi6=54; Pi7=55; Pi8=51;

Pi9=46; Pi10=47

Pi3

Pi4

Pi5

Pi5

Gambar 3.6 Ilustrasi V First Fit

Ilustrasi VI :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi6 =5 4 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal Pi7=55; Pi8=51; Pi9=46; Pi10=47

Pi3

Pi4

Pi5

Pi6

Pi6

(42)

Ilustrasi VII :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi7 =5 5 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal : Pi8=51; Pi9=46; Pi10=47

Pi3 Pi4 Pi5 Pi6 Pi7 Pi7

Gambar 3.8 Ilustrasi VII First Fit

Ilustrasi VIII : Maksimum

Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi8 =5 1 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal : Pi9=46; Pi10=47

Pi3 Pi4 Pi5 Pi6 Pi7 Pi8 Pi8

(43)

Ilustrasi IX :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi9 =4 6 dimasukk an ke Bin 40 60 80 100 Pi2

Objek yang tersisa tinggal : Pi10=47

Pi3 Pi4 Pi5 Pi6 Pi7 Pi8 Pi9 Pi9

Gambar 3.10 Ilustrasi IX First Fit

Ilustrasi X : Maksimum

Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi10 = 47 dimasukk an ke Bin 40 60 80 100 Pi2 Pi3 Pi4 Pi5 Pi6 Pi7 Pi8 Pi9 Pi10 Pi10

Gambar 3.11 Ilustrasi X First Fit

Hasil akhir yang didapat ada 6 bin yang terpakai yaitu :

Li1 = {Pi1, Pi2}, Li2 = {Pi3, Pi4}, Li3 = {Pi5, Pi6}, Li4 = {Pi7}, Li5 = {Pi8}, Li6 = {Pi9, Pi10}

(44)

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 40 60 80 100 Pi2 Pi3 Pi4 Pi5 Pi6 Pi7 Pi8 Pi9 Pi10

Gambar 3.12 Hasil Akhir Contoh A menggunakan Algoritma First Fit

Terbukti bahwa dengan menggunakan algoritma First Fit permasalahan pengambilan keputusan untuk Bin Packing adalah NP-Complete walaupun hasilnya tidak se-optimal dari Batas Nilai Indeks Terkecil (Lower Bound). Dan didapat batas nilai indeks terkecil untuk wadah ataupun bin yang akan terpakai sebanyak 6 wadah atau bin.

3.3.3 Proses Algoritma Decreasing First Fit pada Bin Packing Problem

Dapat juga diasumsikan dengan gambar dibawah ini (Contoh A): Kapasitas Bin : Li = 100

Dan Objek : Pi1=45; Pi2=49; Pi3=49; Pi4=37; Pi5=46; Pi6=54; Pi7=55; Pi8=51; Pi9=46; Pi10=47

Ilustrasi I :

Input data dalam bentuk array :

45 I 49 II 49 III 37 IV 46 V 54 VI 55 VII 51 VIII 46 IX 47 X

Gambar 3.13 Array Awal

Langkah kerja mengurutkan data dengan Decreasing Order :

1. Menukar posisi array I dengan array II untuk mencari angka yang mana lebih besar dan angka yang lebih besar berada di kiri. Menukar posisi array II dan array I dan menempatkan angka lebih besar di kiri.

(45)

49 45 49 37 46 54 55 51 46 47

45 49 49 37 46 54 55 51 46 47

Gambar 3.14 Array I dan II bertukar tempat

2. Menukar posisi array II dan array III dan menempatkan angka lebih besar di kiri.

49 49 45 37 46 54 55 51 46 47

49 45 49 37 46 54 55 51 46 47

Gambar 3.15 Array II dan Array III bertukar tempat

3. Posisi tidak berubah karna array III dan array IV sudah benar.

49 49 45 37 46 54 55 51 46 47

Gambar 3.16 Array III dan Array IV tetap

4. Posisi array V berpindah 2 kali ke kiri karna nilainya lebih besar dari array III dan Array IV sekarang.

49 49 46 45 37 54 55 51 46 47 49 49 45 46 37 54 55 51 46 47 49 49 45 37 46 54 55 51 46 47

Gambar 3.17 Array V berpindah 2 kali ke kiri

5. Posisi array VI berpindah 5 kali ke kiri karna nilainya lebih besar dari array I, II, III, IV dan Array V sekarang.

(46)

54 49 49 46 45 37 55 51 46 47 49 54 49 46 45 37 55 51 46 47 49 49 54 46 45 37 55 51 46 47 49 49 46 54 45 37 55 51 46 47 49 49 46 45 54 37 55 51 46 47 49 49 46 45 37 54 55 51 46 47

Gambar 3.18 Array VI berpindah 5 kali ke kiri

6. Posisi array VII berpindah 6 kali karna nilainya lebih besar dari array I, II, III, IV, V dan Array VI sekarang.

54 49 49 55 46 45 37 51 46 47

54 49 49 46 55 45 37 51 46 47

54 49 49 46 45 55 37 51 46 47

(47)

55 54 49 49 46 45 37 51 46 47

54 55 49 49 46 45 37 51 46 47

54 49 55 49 46 45 37 51 46 47

Gambar 3.19 Array VII berpindah 6 kali ke kiri

7. Posisi array VIII berpindah 5 kali ke kiri karna nilainya lebih besar dari array III, IV, V, VI dan Array VII sekarang.

55 54 51 49 49 46 45 37 46 47 55 54 49 51 49 46 45 37 46 47 55 54 49 49 51 46 45 37 46 47 55 54 49 49 46 51 45 37 46 47 55 54 49 49 46 45 51 37 46 47 55 54 49 49 46 45 37 51 46 47

Gambar 3.20 Array VIII berpindah 5 kali ke kiri

8. Posisi array IX berpindah 2 kali ke kiri karna nilainya lebih besar dari array VII dan array VIII sekarang.

(48)

55 54 51 49 49 46 46 45 37 47

55 54 51 49 49 46 45 46 37 47

55 54 51 49 49 46 45 37 46 47

Gambar 3.21 Array VIII berpindah 5 kali ke kiri

9. Posisi array X berpindah 4 kali ke kiri karna nilainya lebih besar dari array VI, VII, VII dan array IX sekarang.

55 54 51 49 49 47 46 46 45 37

55 54 51 49 49 46 47 46 45 37

55 54 51 49 49 46 46 47 45 37

55 54 51 49 49 46 46 45 47 37

55 54 51 49 49 46 46 45 37 47

Gambar 3.22 Array X berpindah 4 kali ke kiri

10. Hasil Decreasing Order input data contoh diatas, yaitu {55, 54, 51, 49, 49, 47, 46, 46, 45, 37}.

55 54 51 49 49 47 46 46 45 37

I II III IV V VI VII VIII IX X

(49)

Ilustrasi II :

Data objek yang telah diurutkan dengan Decreasing Order yaitu :

Pi1=55; Pi2=54; Pi3=51; Pi4=49; Pi5=49; Pi6=47; Pi7=46; Pi8=46; Pi9=45; Pi10=37

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi1 =5 5 dimasukk an ke Bin 40 60 80 100

Objek yang tersisa tinggal Pi2=54; Pi3=51; Pi4=49; Pi5=49;

Pi6=47; Pi7=46; Pi8=46; Pi9=45; Pi10=37

Pi1

Gambar 3.24 Ilustrasi II Decreasing First Fit

Ilustrasi III :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi2 =5 4 dimasukk an ke Bin 40 60 80 100

Objek yang tersisa tinggal Pi3=51; Pi4=49; Pi5=49; Pi6=47; Pi7=46;

Pi8=46; Pi9=45; Pi10=37

Pi2

Pi2

(50)

Ilustrasi IV :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi3 =5 1 dimasukk an ke Bin 40 60 80 100

Objek yang tersisa tinggal Pi4=49; Pi5=49; Pi6=47; Pi7=46;

Pi8=46; Pi9=45; Pi10=37

Pi2 Pi3

Pi3

Gambar 3.26 Ilustrasi IV Decreasing First Fit

Ilustrasi V :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 Objek Pi5 =4 9 dimasukk an ke Bin 40 60 80 100

Objek yang tersisa tinggal Pi5=49; Pi6=47; Pi7=46;

Pi8=46; Pi9=45; Pi10=37

Pi2 Pi3

Pi4

Pi4

(51)

Ilustrasi VI :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 40 60 80 100

Objek yang tersisa tinggal Pi6=47; Pi7=46; Pi8=46; Pi9=45; Pi10=37

Pi2 Pi3 Pi4 Pi5 Objek Pi 5 =49 dimasukk an ke Bin Pi5

Gambar 3.28 Ilustrasi VI Decreasing First Fit

Ilustrasi VII :

Maksimum Bin

Banyak Bin yang terpakai

1 2 3 4 5 6 7 8 Pi1 20 40 60 80 100

Objek yang tersisa tinggal Pi7=46; Pi8=46; Pi9=45; Pi10=37

Pi2 Pi3 Pi4 Pi5 Objek Pi6 =4 7 dimasukk an ke Bin Pi6 Pi6

Referensi

Dokumen terkait

Penelitian ini mencoba membandingkan antara hasil experimental sebelumnya yaitu balok beton bertulang tampang T yang diperkuat dengan wire rope dan tulangan konvensional pada

Perencanaan dan perhitungan beban gempa yang terjadi pada struktur bangunan gedung Siloam Hospitals Medan ditinjau berdasarkan standar perencanaan ketahanan

To be fair to Adobe, some new classes have been created for Flash 10 that have previously had to be written from scratch, such as 3D manipulation of display objects, an

Kesimpuan dari hasil penelitian ini adalah ritual Pasola ini masih dilestarikan oleh masyarakat Sumba Barat hingga saat ini guna sebagai bentuk doa dan

Penelitian ini bertujuan untuk menentukan umur simpan (shelf life) Pundang seluang yang dikemas menggunakan kemasan vakum dan tanpa vakum dengan Metode Simulasi

1) Ciri pemahaman paradigma kritis tentang realitas. Realitas dalam pandangan kritis sering disebut dengan realitas semu. Realitas ini tidak alami tapi lebih karena

Berdasarkan pada pertanyaan yang terlampir dalam kuesioner mewakili item baru dalam riset Sense of online Community ini ditambah dengan semua item yang terdapat pada item Existing

Dalam penjelasan Pasal 70 ayat(2) huruf (b) UUK dan PKPU disebutkan, yang dimaksud dengan terdaftar adalah telah memenuhi syarat-syarat sesuai dengan ketentuan yang berlaku