PENDEKATAN FIREFLY ALGORITHM (FA) UNTUK MENYELESAIKAN MASALAH PENGEPAKAN PERSEGI TIGA DIMENSI SKRIPSI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

PENDEKATAN FIREFLY ALGORITHM (FA) UNTUK MENYELESAIKAN
MASALAH PENGEPAKAN PERSEGI TIGA DIMENSI

SKRIPSI

DESSY PITON’S BUNGA PERTIWI

PROGRAM STUDI S-1 MATEMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS AIRLANGGA
2016
SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA


ii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

iii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA


PEDOMAN PENGGUNAAN SKRIPSI
Skripsi ini tidak dipublikasikan, namun tersedia di perputakaan dalam
lingkungan Universitas Airlangga. Diperkenankan untuk dipakai sebagai refrensi
kepustakaan, tetapi pengutipan harus seizin penulis dan harus menyebutkan
sumbernya sesuai kebiasaan ilmiah. Dokumen skripsi ini merupakan hak milik
Universitas Airlangga.

iv

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

v


SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

KATA PENGANTAR

Alhamdulillahirabbil’alamin. Segala puji syukur penulis panjatkan kepada
Allah SWT karena hanya dengan rahmat dan karunia-Nya, sehingga skripsi yang
berjudul “Pendekatan Firefly Algorithm (FA) untuk Menyelesaikan Masalah
Pengepakan Persegi Tiga Dimensi” ini dapat diselesaikan dengan baik. Shalawat
serta salam bahagia semoga senantiasa tercurahkan kepada junjungan kita, Nabi
Besar Muhammad SAW, pemimpin sekaligus sebaik-baiknya suri tauladan bagi
kehidupan umat manusia.
Ucapan terima kasih disampaikan kepada :
1. Universitas Airlangga yang telah memberikan kesempatan kepada penulis untuk
menuntut ilmu.

2. Badrus Zaman, S.Kom, M.Cs selaku Kepala Departemen Matematika Fakultas
Sains dan Teknologi Universitas Airlangga.
3. Dr. M. Imam Utoyo, M.Si selaku Kepala Prodi Matematika Fakultas Sains dan
Teknologi, sekaligus dosen wali yang senantiasa penuh kesabaran, ketelitian,
keramahan, dalam memberikan bimbingan berupa ilmu, arahan, waktu, serta
semangat.
4. Dr. Herry Suprajitno, M.Si selaku dosen pembimbing I yang senantiasa penuh
kesabaran, ketelitian, keramahan, dalam memberikan bimbingan berupa ilmu,
arahan, waktu, serta semangat.

vi

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA


5. Auli Damayanti S.Si, M. Si selaku dosen pembimbing II yang senantiasa penuh
kesabaran, ketelitian, keramahan, dalam memberikan bimbingan berupa ilmu,
arahan, waktu, serta semangat.
6. Dr. Eridani, Drs., M.Si dan Dr. Fatmawati, M.Si selaku dosen yang selalu
memberikan semangat dan motivasi saat perkuliahan.
7. Yang Tercinta, kedua orang tua penulis, Eko Harto H. P. dan Sutrami, kedua
adik penulis, Imelda Amitharia Jayanti dan Venando Aditya Putra, serta
anggota keluarga lain yang selalu memberikan dukungan, perhatian, semangat,
doa dan kasih sayangnya.
8. Teman-teman seperjuangan mahasiswa Matematika angkatan 2012, khususnya
Qonitah Asia, Rien Recylia, Yulia Haqi, Rafika Agustina, Nindhyta, Rizky
Azizia, Syahrul Fadilah, Herfinggi Ayu, Rokhana, Selva Putri, Kartika, Purani,
dan masih banyak lainnya yang telah bersama selama kuliah, saling memberi
semangat dan motivasi di celah-celah canda tawa.atas dukungan dan
kebersamaannya selama ini.
Penulis berharap semoga skripsi ini dapat bermanfaat sebagai bahan pustaka
dan penambah informasi khususnya bagi mahasiswa Universitas Airlangga. Penulis
menyadari bahwa dalam penulisan skripsi ini, kemungkinan masih terdapat
kekurangan sehingga saran dan kritik yang membangun sangat diharapkan untuk
penulisan berikutnya.

Surabaya, 2 Agustus 2016

Dessy Piton’s Bunga Pertiwi

vii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

Dessy Piton’s Bunga Pertiwi, 2016, Pendekatan Firefly Algotirhm (FA) untuk
Menyelesaikan Masalah Pengepakan Persegi Tiga Dimensi, Skripsi ini dibawah
bimbingan Dr. Herry Suprajitno, M.Si dan Auli Damayanti, S.Si, M.Si. Departemen
Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga.

ABSTRAK

Makalah ini bertujuan untuk memecahkan masalah pengepakan persegi tiga
dimensi menggunakan Firefly Algorithm (FA). Masalah pengepakan persegi tiga
dimensi dapat didefinisikan sebagai penempatan sejumlah barang berbentuk persegi
ke dalam suatu wadah berbentuk persegi tiga dimensi. Tujuan dari masalah ini
adalah untuk meminimalkan penggunaan ruang pada wadah. Pendekatan
menggunakan FA dipilih untuk menyelesaikan masalah pengepakan persegi tiga
dimensi. FA sendiri terinspirasi oleh perilaku kunang-kunang. Pada FA terdapat
dua masalah penting, pertama variasi intensitas cahaya, kedua perumusan daya tarik
(attractiveness). Intensitas cahaya kunang-kunang akan ditentukan oleh fungsi
tujuan, semakin terang intensitas cahaya kunang-kunang maka panjang wadah
semakin minimum. Daya tarik sebanding dengan kecerahan, sehingga kunangkunang dengan intensitas cahaya yang redup akan bergerak menuju kunang-kunang
dengan intensitas cahaya yang lebih terang. Terdapat beberapa langkah dalam
membuat program untuk menyelesaikan masalah pengepakan persegi tiga dimensi
dengan pendekatan FA. Langkah pertama adalah membuat flowchart, dilanjutkan
dengan membuat prosedur FA untuk menyelesaikan masalah pengepakan persegi
tiga dimensi, dan yang terakhir adalah membuat program dengan menggunakan
software Borland C++. Program digunakan untuk membantu perhitungan saat
jumlah tipe barang dan unit barang banyak. Terdapat tiga data yang diselesaikan
dengan bantuan program, yaitu masalah pengepakan persegi tiga dimensi dengan 5
tipe barang dengan 81 unit barang, 10 tipe barang dengan 106 unit barang, dan 20

tipe barang dengan 110 unit barang. Berdasarkan hasil yang diperoleh
menunjukkan bahwa semakin banyak iterasi yang dilakukan maka solusi yang
diperoleh semakin baik. Menurut Yang (2010), menyelesaikan masalah
menggunakan FA mempunyai solusi yang lebih baik dibandingkan dengan Genetic
Algorithm dan Partical Swarm Optimization. Kemudian solusi yang diperoleh
menggunakan FA lebih baik daripada hybrid Genetic Algorithm-Simulated
Annealing (Putra, 2013) dan hybrid Partical Swarm Optimization-Simulated
Annealing (Arasy, 2015).

Kata Kunci : Pengepakan persegi tiga dimensi, Firefly Algorithm.

viii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA


Dessy Piton’s Bunga Pertiwi, 2016, Approach Firefly Algorithm (FA) for
Solving Rectangular Three-Dimension Packing Problem, This theses was
supervised by Dr. Herry Suprajitno, M.Si and Auli Damayanti, S.Si, M.Si, Faculty
of Science and Technology, Airlangga University.

ABSTRACT
This paper aims to solve the problem of rectangular three-dimensional
packing problem using Firefly Algorithm. Rectangular three-dimensional packing
problem can be defined as the placement of a small item shaped like a square into
one large rectangular object in three dimensions. The purpose of the problem is to
minimize the use of the space of object large. Approach with FA have to solve the
problem of rectangular three-dimension packing problem. Firefly Algorithm (FA)
that inspired by the behavior of fireflies. In the FA, there are two important think,
first the variation of light intensity, second formulation of the attractiveness.
Firefly light intensity will be determined by the objective function, the brighter the
light intensity of a firefly, the greater the minimum length of the object. The appeal
is comparable to the brightness, so fireflies with low light intensity will move
towards fireflies with higher light intensity. There are several steps in creating a
program to solve the problem of rectangular three-dimension packing problem

approach to the FA. The first step is to create a flowchart, followed by making the
FA procedure to solve the problem of rectangular three-dimension packing
problem, and the last is to make software programs using Borland C ++. The
program is used to assist calculations when many of the type of item and unit of
item . There are three data solved with the help of the program, the problem of
rectangular three-dimension packing problem with 5 types of item and 81 units of
item, 10 types of item and 106 units of item, and 20 types of item and 110 units of
item. Based on the results obtained show that the more iterations performed, the
obtained solution the better. According to Yang (2010), to solve the problem using
the FA have a better solution than the Genetic Algorithm and Partical Swarm
Optimization. Then the obtained solution using the FA better than hybrid Genetic
Algorithm-Simulated Annealing (Putra, 2013) and hybrid Partical Swarm
Optimization-Simulated Annealing (Arasy, 2015).

Keywords: Rectangular three-dimention packing problem, Firefly Algorithm.

ix

SKRIPSI


PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

DAFTAR ISI

LEMBAR JUDUL ............................................................................................. i
LEMBAR PERNYATAAN ............................................................................... ii
LEMBAR PENGESAHAN NASKAH SKRIPSI .............................................. iii
PEDOMAN PENGGUNAAN SKRIPSI ........................................................... iv
SURAT PERNYATAAN TENTANG ORISINILITAS .................................... v
KATA PENGANTAR ....................................................................................... vi
ABSTRAK ......................................................................................................... viii
ABSTRACT ....................................................................................................... ix
DAFTAR ISI ...................................................................................................... x
DAFTAR TABEL .............................................................................................. xiii
DAFTAR GAMBAR ......................................................................................... xiv
DAFTAR LAMPIRAN ...................................................................................... xv
BAB I

BAB II

PENDAHULUAN
1.1

Latar Belakang ........................................................................ 1

1.2

Rumusan Masalah ................................................................... 3

1.3

Tujuan ..................................................................................... 3

1.4

Manfaat ................................................................................... 4

TINJAUAN PUSTAKA
2.1

Linear Programming ............................................................... 5

2.2

Pengepakan Persegi Tiga Dimensi .......................................... 7

2.3

Algoritma ................................................................................ 9

x

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

2.4

Pengkodean ............................................................................. 9

2.5

Firefly Algorithm .................................................................... 10

2.6

C++.......................................................................................... 15

BAB III METODOLOGI PENELITIAN ....................................................... 17
BAB IV PEMBAHASAN
4.1

Prosedur Firefly Algorithm (FA) untuk Menyelesaikan Masalah
Pengepakan Persegi Tiga Dimensi .......................................... 22
4.1.1

Input Data dan Inisialisasi Parameter .......................... 24

4.1.2

Membangkitkan Populasi Awal Firefly ...................... 25

4.1.3

Proses Pengelompokan Barang Berdasarkan Tipe ..... 26

4.1.4

Evaluasi ....................................................................... 27

4.1.5

Menentukan Intensitas Cahaya Firefly........................ 29

4.1.6

Membandingkan Firefly .............................................. 30

4.1.7

Menentukan Firefly Terbaik ....................................... 32

4.1.8

Menentukan Global Best Sementara ........................... 32

4.1.9

Melakukan Movement Pada Firefly Terbaik .............. 34

4.2

Data ......................................................................................... 34

4.3

Contoh Kasus Pengepakan Persegi Tiga Dimensi yang
diselesaikan Secara Manual .................................................... 35
4.3.1

Input Data dan Inisialisasi Parameter .......................... 36

4.3.2

Membangkitkan Populasi Awal Firefly ...................... 36

4.3.3

Proses Pengelompokan Barang Berdasarkan Tipe ..... 37

4.3.4

Evaluasi ....................................................................... 38

xi

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

4.3.5

Menentukan Intensitas Cahaya Firefly........................ 44

4.3.6

Membandingkan Firefly .............................................. 45

4.3.7

Menentukan Firefly Terbaik ....................................... 49

4.3.8

Menentukan Global Best Sementara ........................... 49

4.3.9

Melakukan Movement Pada Firefly Terbaik .............. 50

4.3.10 Mengecek Maksimum Iterasi ...................................... 51
4.4

Implementasi Program Pada Contoh Kasus Pengepakan Persegi
Tiga Dimensi ........................................................................... 51
4.4.1

Implementasi Program Pada Data 1 (5 Tipe Barang dan
81 Jumlah Barang) ...................................................... 52

4.4.2

Implementasi Program Pada Data 1 (10 Tipe Barang dan
106 Jumlah Barang) .................................................... 53

4.4.3

Implementasi Program Pada Data 1 (20 Tipe Barang dan
110 Jumlah Barang) ................................................... 55

4.5

Perbandingan Hasil Perhitungan Firefly Algorithm (FA) dengan
Hibrid Algoritma PSO-SA dan Hibrid Algoritma GA-SA ..... 56

BAB V PENUTUP
5. 1. Kesimpulan ............................................................................. 58
5. 2. Saran ........................................................................................ 59
DAFTAR PUSTAKA ........................................................................................ 61
LAMPIRAN

xii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

DAFTAR TABEL

No
4.1

Judul
Membangkitkan Populasi Awal Firefly

Halaman
36

4.2

Pengurutan Bilangan dan Pembagian dan Tipe Barang

37

4.3

Urutan Barang yang Akan Dimasukkan

38

4.4

Hasil Evaluasi Setiap Firefly

44

4.5

Intensitas Cahaya Firefly

45

4.7

Firefly Baru dan Pengurutan Berdasarkan Tipe

47

4.8

Proses Membandingkan Intensitas Cahaya Tiap Firefly

48

4.9

Populasi Baru Firefly Setelah Melakukan Movement

48

4.10 Populasi Baru

50

4.11 Hasil Running Program Pada Data 1

52

4.12 Hasil Running Program Pada Data 2

54

4.13 Hasil Running Program Pada Data 3

55

4.14 Hasil Perbandingan FA dengan Hibrid PSO-SA dan
56
Hibrid GA-SA

xiii

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

DAFTAR GAMBAR

No
4.1

Judul
Prosedur Firefly Algorithm

Halaman
23

4.2

Prosedur Inisialisasi Parameter

24

4.3

Prosedur Input Data

24

4.4

Prosedur Membangkitkan Populasi Awal

25

4.5

Prosedur Pengelompokan Barang Berdasarkan Tipe

26

4.6

Prosedur Input Barang Pada wadah

27

4.7

Prosedur Cek Konstrain 2.4

28

4.8

Prosedur Cek Konstrain 2.4

28

4.9

Prosedur Menghitung Fungsi Tujuan

29

4.10 Prosedur Menghitung Intensitas Cahaya Firefly ke-i

30

4.11 Prosedur Membandingkan Intensitas Cahaya Firefly

30

4.12 Prosedur Menghitung Jarak dan Attractiviness

31

4.13 Prosedur Persamaan Movement

31

4.14 Prosedur Firefly Terbaik

32

4.15 Prosedur Menentukan Global Best

33

4.16 Prosedur Firefly Terbaik

34

4.17 Ilustrasi Penempatan Barang Pertama

38

4.18 Ilustrasi Saat Pindah Strip

39

4.19 Ilustrasi Saat Pindah Layer

42

4.20 Ilustrasi Saat Semua Barang Sudah Dimasukkan

44

xiv

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

DAFTAR LAMPIRAN

No
1

Judul Lampiran
Flowchart Penyelesaian Pengepakan Persegi Tiga Dimensi
Menggunakan Firefly Algorithm

2

Data Tipe, Jumlah, dan Dimensi Barang

3

Source Code Program

4

Hasil Runninng Program Data 1

5

Hasil Runninng Program Data 2

6

Hasil Runninng Program Data 3

xv

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

BAB I
PENDAHULUAN
1. 1.

Latar Belakang
Pada suatu

industri diperlukan beberapa bentuk efisiensi dalam

pelaksanaan kegiatannya. Salah satu kegiatan yang harus diefisiensikan adalah
kegiatan distribusi dan penyimpanan barang berbentuk persegi tiga dimensi. Biaya
yang dikeluarkan untuk kedua kegiatan tersebut berpengaruh terhadap
peningkatan biaya operasional suatu industri. Oleh karena itu diperlukan solusi
optimal untuk menekan biaya pendisitribusian dan penyimpanan barang yang
berkaitan dengan masalah pengepakan. Dereli dan Sena (2011) mengatakan
bahwa masalah pengepakan ini telah banyak diaplikasikan di beberapa industri
seperti tekstil, kayu, dan kertas.
Menurut Bortfeldt dan Gehring (2001), pengepakan persegi tiga dimensi
dapat diartikan sebagai proses penempatan sejumlah barang berbentuk persegi
kedalam suatu wadah persegi dalam bentuk tiga dimensi yang bertujuan untuk
meminimalkan penggunaan ruang dalam wadah yang terpakai. Pengembangan
metode untuk menyelesaikan masalah pengepakan persegi tiga dimensi harus
memperhatikan unsur yang berpengaruh terhadap masalahnya. Proses penentuan
urutan barang yang dimasukkan ke dalam wadah secara manual dirasakan kurang
efektif dan kurang memberikan solusi yang baik (Chen, 1995). Hal ini
dikarenakan sedikitnya variasi yang digunakan dalam penataan barang tersebut.
Masalah pengepakan sendiri telah diteliti dengan beberapa metode, salah satu

1

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

2

metodenya adalah

hibrid GA

(Genetic Algorithm) dengan SA (Simulated

Annealing), hibrid PSO (Particle Swarm Optimization) dengan SA.
Pada kesempatan ini akan

dilakukan penelitian terhadap pendekatan

Firefly Algorithm (FA) untuk menyelesaikan masalah pengepakan persegi tiga
dimensi. Algoritma kunang-kunang atau Firefly Algorithm (FA) adalah algoritma
yang memperoleh inspirasi dari cara berkedipnya kunang-kunang. Algoritma ini
diperkenalkan oleh Dr Xin-she Yang di Universitas Cambridge pada tahun 2007.
Menurut Yang (2010) terdapat tiga hal yang mendasari algoritma kunang-kunang.
Pertama, kunang-kunang akan tertarik dengan kunang-kunang lain yang tingkat
kecerahannya lebih tinggi. Kedua, kecerahan atau intensitas cahaya kunangkunang ditentukan oleh nilai fungsi tujuan dari masalah yang diberikan. Dan
ketiga, intensitas cahaya dari kunang-kunang akan berkurang seiring dengan
bertambahnya jarak. Selain itu, FA dianggap lebih mengungguli dibandingkan
dengan GA dan PSO.
Menggunakan pendekatan

firefly algorithm (FA) untuk masalah

pengepakan persegi tiga dimensi diharapkan memperoleh solusi yang lebih baik.
Oleh karena itu penulis tertarik untuk mengkaji pendekatan firefly algorithm (FA)
untuk masalah pengepakan persegi tiga dimensi.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

3

1. 2.

Rumusan Masalah
Berdasarkan latar belakang tersebut, muncul beberapa masalah yang

dirumuskan sebagai berikut :
1.

Bagaimana menyelesaikan masalah pengepakan persegi tiga
dimensi menggunakan pendekatan firefly algorithm (FA) ?

2.

Bagaimana membuat program yang dapat digunakan untuk
menyelesaikan

masalah

pengepakan

persegi

tiga

dimensi

menggunakan pendekatan firefly algorithm (FA) ?
3.

Bagaimana mengimplementasikan program pengepakan persegi
tiga dimensi menggunakan pendekatan firefly algorithm (FA) pada
contoh kasus ?

1. 3.

Tujuan
Berdasarkan rumusan masalah tersebut, diperoleh tujuan dari penelitihan

ini, yaitu :
1.

Penyelesaian pengepakan persegi tiga dimensi menggunakan
pendekatan firefly algorithm (FA).

2.

Membuat program untuk menyelesaikan pengepakan persegi tiga
dimensi menggunakan pendekatan firefly algorithm (FA).

3.

Mengimplementasikan program pengepakan persegi tiga dimensi
menggunakan pendekatan firefly algorithm (FA) pada contoh
kasus.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

4

1. 4.

Manfaat
Manfaat yang diharapkan setelah membaca penelitihan ini adalah untuk

memperluas wawasan mengenai pengoptimalan masalah pengepakan persegi tiga
dimensi menggunakan pendekatan firefly algorithm (FA). Selain itu, penulis
berharap informasi yang ada pada penelitihan ini dapat dilanjutkan untuk
membuat penelitihan dengan metode yang lain.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

BAB II
TINJAUAN PUSTAKA
Pada bab ini akan diuraikan beberapa definisi yang digunakan pada
pembahasan penerapan Firefly Algorithm (FA) pada masalah pengepakan persegi
tiga dimensi.
2. 1

Linear Programming
Materi yang dibahas pada bagian ini bersumber dari Taha (1996).

Pemrograman linier (LP) telah terbukti sebagai salah satu alat riset operasi yang
paling efektif. Keberhasilannya berakar dari keluwesan dalam menjabarkan
berbagai situasi kehidupan nyata di bidang-bidang berikut ini: industri, pertanian,
transportasi, ekonomi, dan kesehatan. Pemrograman linier adalah sebuah alat
deterministik, yang berarti bahwa semua parameter model diasumsikan dengan
pasti.
Pada umumnya, model pemrograman linear (LP) seperti pada model riset
operasi, memiliki tiga komponen dasar yaitu :
1. Menentukan variabel keputusan yang akan dicari.
2. Fungsi

tujuan

yang

kita

butuhkan

untuk

mengoptimalkan

(memaksimalkan atau meminimalkan)
3. Kendala dengan solusi yang memenuhi batasan yang ada.
Sebuah model LP dapat mencakup batasan dengan segala jenis (≤, ≥, =).

Lebih jauh lagi, variabel dapat positif atau tidak dibatasi dalam tandanya untuk
mengambangkan sebuah metode pemecahan umum, masalah LP ditempatkan
5
SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA) UNTUK
MENYELESAIKAN MASALAH PENGEPAKAN
PERSEGI TIGA DIMENSI

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

6

dalam format yang sama, yang disebut bentuk standar. Sifat dari bentuk ini adalah
sebagai berikut:
1. Semua batasan berbetuk persamaan.
2. Semua variabel bernilai positif.
3. Fungsi tujuan dapat berupa maksimisasi atau minimisasi.
Untuk masalah maksimalisasi, solusi optimal untuk LP adalah titik di
daerah layak dengan nilai fungsi tujuan terbesar. Demikian pula, untuk masalah
minimalisasi, solusi optimal adalah titik di wilayah layak dengan nilai fungsi
tujuan terkecil.
Masalah LP dalam bentuk standar dapat diekspresikan dalam bentuk
matriks sebagai berikut:
Maksimumkan , 𝑍 = ∑𝑛𝑖=1 𝑐𝑖 𝑥𝑖

(2.1)

(𝐴, 𝐼)𝑋 = 𝑏

(2.2)

dengan syarat kendala

𝑋≥0

Dimana I adalah matriks identitas berordo 𝑚𝑥𝑚 dan

𝑋 = (𝑥1 , 𝑥2 , … , 𝑥𝑛 )𝑇 , 𝐶 = (𝑐1 , 𝑐2 , … , 𝑐𝑛 )
𝑎11
𝑎21
A=[ ⋮
𝑎𝑚1

𝑎12
𝑎22

𝑎𝑚2






𝑎1,𝑛−𝑚
𝑏1
𝑎2,𝑛−𝑚
𝑏2
⋮ ] b =[ ⋮ ]
𝑎𝑚,𝑛−𝑚
𝑏𝑚

dengan 𝑐𝑖 adalah unit biaya untuk kegiatan 𝑖, 𝑥𝑖 adalah tingkat kegiatan 𝑖, 𝑎𝑖𝑗

adalah banyaknya sumber daya 𝑖 yang dibutuhkan untuk kegiatan 𝑗, 𝑏𝑖 adalah

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

7

banyaknya sumber daya yang tersedia untuk kegiatan 𝑖, 𝑚 adalah banyaknya jenis
sumber daya, dan 𝑛 adalah banyaknya jenis kegiatan.

Fungsi tujuan diatas dapat berubah menjadi meminimumkan, dengan

kendala fungsional yang dapat berganti tanda menjadi
permasalahan akan diselesaikan.

2. 2

≥ atau = sesuai dengan

Pengepakan Persegi Tiga Dimensi
Pengepakan persegi tiga dimensi dapat diartikan sebagai proses

penempatan sejumlah barang berbentuk kotak kedalam suatu wadah dalam bentuk
persegi tiga dimensi yang bertujuan untuk meminimalkan penggunaan ruang
dalam wadah yang terpakai.
(Bortfeldt dan Gehring 2001)
Pada masalah pengepakan persegi tiga dimensi terdapat 𝑛 barang yang

memiliki panjang, lebar, dan tinggi, serta wadah yang memiliki tinggi (H) yang
tetap dan lebar (W) yang tetap. Baranng tersebut ditempatkan pada wadah secara
baik dan efektif sehingga dapat mengoptimalkan fungsi tujuan yang diberikan.
(Dereli dan Sena, 2011)

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

8

Menurut Dereli dan Sena (2011), masalah pengepakan dapat diselesaikan
dengan asumsi sebagai berikut :
1. Produk berbentuk kotak persegi panjang didefinisikan dengan
dimensi panjang, lebar, dan tinggi yang diketahui.
2. Kotak dapat diputar.
3. Setiap kotak dapat ditumpuk diatas kotak yang lain.
Fungsi tujuan pada masalah pengepakan adalah meminimalkan ruang
kosong pada wadah saat semua barang dimasukkan ke dalam wadah.
Secara matematis permasalahan ini dideskripsikan sebagai berikut :
𝑀𝑒𝑚𝑖𝑛𝑖𝑚𝑢𝑚𝑘𝑎𝑛, 𝑍 = ∑𝐾
𝑘=1 𝑑𝑘

(2.3)

∑𝑛𝑖=1 𝑃𝑖𝑗𝑘 ≤ 𝑊

(2.4)

Dengan Kendala,

𝑗−1

𝑟𝑖𝑗𝑘 + ∑𝑖=1 ℎ𝑖𝑘 ≤ 𝐻,
𝑖 = 1,2, … , 𝑛,

Keterangan

(2.5)

𝑗 = 1,2, … , 𝐽, 𝑘 = 1,2, … , 𝐾

𝑑𝑘 = tebal layer ke-k

𝑃𝑖𝑗𝑘 = panjang barang ke-i pada strip ke-j layer ke-k

𝑊 = lebar wadah

𝑟𝑖𝑗𝑘 = tinggi barang ke-i pada strip ke-j layer ke-k

ℎ𝑖𝑘 = tinggi strip barang ke-i layer ke-k

SKRIPSI

H

= tinggi wadah

K

= banyaknya layer yang terbentuk pada wadah

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

9

J

= banyaknya strip yang terbentuk pada wadah

n

= banyaknya barang yang akan dimasukkan
(Imahori et al, 2007)

2. 3

Algoritma
Algoritma adalah sebuah strategi yang mengandalkan kemampuan berpikir

secara logis untuk memecahkan suatu masalah. Dalam algoritma, dimulai dengan
berpikir apa yang dimiliki (kekuatan dan kelemahan), selanjutnya akan diatur
langkah agar tujuan yang diharapkan terwujud.
(Wahyudi, 2004)
Secara informal, algoritma adalah prosedur komputasi yang terdefinisi
dengan baik yang mengambil beberapa nilai, atau himpunan nilai, sebagai
masukan dan menghasilkan beberapa nilai, atau himpunan nilai sebagai output.
Sebuah algoritma adalah urutan langkah-langkah komputasi yang mengubah input
ke output.
(Cormen et al, 2001)
2. 4

Pengkodean
Menurut Zomaya (1996) fungsi tujuan merupakan fungsi yang digunakan

untuk menunjukkan ukuran hasil perhitungan dari calon solusi pada domain
masalah. Calon solusi diperoleh dengan membangkitkan bilangan secara random
yang kemudian diubah ke angka permutasi, dalam hal ini disebut dengan
pengkodean. Dalam Obitko (1998), pengkodean merupakan suatu cara untuk
menyajikan suatu solusi, ada beberapa jenis pengkodean diantaranya:

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

10

1. Pengkodean biner
Dalam pengkodean biner, setiap solusi adalah rangkaian dari 0 atau 1.
2. Pengkodean nilai
Dalam pengkodean nilai, setiap solusi adalah rangkaian dari beberapa
nilai. Nilai tersebut adalah nilai apapun yang dapat dihubungkan ke
permasalahan, dari angka, bilangan real atau huruf hingga beberapa
objek yang rumit.
3. Pengkodean permutasi
Dalam pengkodean permutasi, setiap solusi adalah rangkaian dari
angka, dimana menggambarkan angka dalam suatu barisan.

2. 5

Firefly Algorithm
Algoritma Firefly (FA) pertama kali dikembangkan oleh Xin-She Yang

pada akhir tahun 2007 dan 2008 di Cambridge University, yang didasarkan pada
pola berkedip dan

perilaku kunang-kunang. Menurut Xin Yang (2010), FA

menggunakan tiga aturan yang dianggap ideal, yakni :
1. Kunang bersifat unisex, sehingga satu kunang-kunang dapat tertarik
dengan kunang-kunang lain tanpa melihat jenis kelamin.
2. Ketertarikan antar kunang kunang akan sebanding dengan tingkat
kecerahan kunang-kunang tersebut. Dengan ketentuan bahwa semakin
jauh jarak antar kunang-kunang, maka tingkat kecerahan kunangkunang akan menurun atau menghilang. Jadi untuk setiap dua kunangkunang yang berkedipan, kunang-kunang yang kurang terang (redup)

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

11

akan mendekati kunang-kunang yang lebih terang. Jika dari kedua
kunang-kunang tidak ada yang lebih terang maka kunang-kunang akan
bergerak secara acak.
3. Kecerahan pada kunang-kunang akan ditentukan oleh fungsi tujuan dari
masalah yang diberikan.
Berikut ini beberapa istilah yang digunakan dalam Firefly Algorithm (FA)
dan definisinya menurut Yang (2010) :
Definisi 2.1

Populasi

adalah

sebuah

kumpulan

solusi

yang

direprentasikan dengan kunang-kunang (firefly)
Definisi 2.2

Firefly adalah individu dalam populasi yang terdiri dari
kumpulan kode yang merepresentasikan solusi dari
permasalahan.

Definisi 2.3

Intensitas cahaya adalah nilai atau ukuran untuk
mengevaluasi firefly.

Definisi 2.4

Atractiveness adalah daya tarik seekor kunang-kunang
yang dinilai oleh kunang-kunang lainnya berdasarkan
intensitas cahayanya.

Definisi 2.5

Distance adalah jarak antar dua firefly.

Definisi 2.6

Movement adalah pergerakan yang dlakukan masingmasing firefly menuju firefly lain yang intensitas cahayanya
lebih terang.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

12

2.5.1

Intensitas cahaya
Dalam algoritma FA, terdapat dua masalah penting yaitu variasi

intensitas cahaya dan perumusan atractiveness. Kecerahan pada kunangkunang akan ditentukan oleh fungsi tujuan dan atractiveness sebanding
dengan kecerahan, dengan demikian untuk setiap dua kunang-kunang yang
berkedip, kunang-kunang dengan cahaya yang kurang terang akan
bergerak ke arah kunang-kunang yang cahanya lebih cerah.
Intensitas cahaya pada kunang-kunang dipengaruhi oleh fungsi
tujuan. Tingkat intensitas cahaya untuk masalah meminimumkan sebuah
kunang-kunang 𝑥 dapat dilihat sebagai 𝐼(𝑥) =

1

𝑓(𝑥)

. Nilai 𝐼(𝑥) merupakan

tingkat intensitas cahaya pada kunang-kunang 𝑥 yang berbanding terbalik
terhadap solusi fungsi tujuan permasalahan yang akan dicari 𝑓(𝑥).

Atractiveness 𝛽 bernilai relatif, karena intensitas cahaya harus

dilihat dan dinilai oleh kunang-kunang lain. Dengan demikian, hasil

penilaian akan berbeda tergatung dari jarak antara kunang-kunang yang
satu dengan yang lainnya 𝑟𝑖𝑗 . Selain itu, intensitas cahaya akan menurun

dari sumbernya dikarenakan terserap oleh media, misalnya udara.
Sehingga dapat ditentukan atractiveness (𝛽) dengan jarak 𝑟

sebagai

berikut :

𝛽 = 𝛽0 𝑒 −𝛾𝑟

2

(2.6)

Dengan 𝛽0 adalah daya tarik di saat tidak ada jarak antar kunang-kunang
(𝑟 = 0) dan 𝛾 ∈ [0, ∞) adalah koefisien penyerapan cahaya.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

13

2.5.2

Distance
Distance atau jarak antara dua kunang-kunang i dan j pada posisi

𝑥𝑖 , dan 𝑥𝑗 , masing-masing adalah jarak kartesian yang dirumuskan sebagai
berikut:

𝑟𝑖𝑗 = ‖𝑥𝑖 − 𝑥𝑗 ‖ = √∑𝑛𝑘=1(𝑥𝑖𝑘 − 𝑥𝑗𝑘 )2

(2.7)

dengan 𝑥𝑖𝑘 adalah komponen ke- 𝑘 dari 𝑥𝑖 pada firefly 𝑖 .
2.5.3

(Yang, 2010)

Movement
Movement adalah pergerakan yang dilakukan firefly 𝑖 karena

ketertarikan terhadap firefly lain 𝑗, yang intensitas cahanya lebih terang.

Dengan adanya movement, maka posisi firefly atau solusi dari firefly
tersebut akan berubah sesuai rumus berikut :
1

2

𝑘
𝑘
+ 𝛽0 𝑒 −𝛾𝑟 (𝑥𝑗𝑘𝑙𝑎𝑚𝑎 − 𝑥𝑖𝑘𝑙𝑎𝑚𝑎 ) + 𝛼 (𝑟𝑎𝑛𝑑 − )
𝑥𝑖_𝑛𝑒𝑤
= 𝑥𝑖_𝑙𝑎𝑚𝑎
2

(2.8)

dengan suku pertama merupakan posisi lama dari 𝑓𝑖𝑟𝑒𝑓𝑙𝑦, suku kedua

terjadi karena ketertarikan, suku ketiga adalah pergerakan random firefly
dengan 𝛼 adalah koefisien parameter random dan 𝑟𝑎𝑛𝑑 adalah bilangan

real random pada interval [0,1]. Pada sebagian besar implementasi Firefly
Algorithm menggunakan 𝛽0 = 1, 𝛼 ∈ [0,1] dan 𝛾 ∈ [0, ∞)

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

(Yang, 2010)

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

14

2.5.4

Proses Firefly Algorithm
Menurut Yang (2014), Firefly Algorithm dijalankan dengan cara

sebagai berikut :
1.

Inisialisasi parameter Firefly Algorithm.

2.

Membangkitkan secara random populasi awal sebanyak 𝑚 firefly.
Hitung intensitas cahaya tiap firefly 𝐼(𝑥) berdasarkan nilai fungsi

3.

tujuan 𝑓(𝑥).

Membandingkan intensitas cahaya tiap firefly dengan

firefly

lainnya. Apabila terdapat firefly yang intensitas cahayanya lebih
besar, akan dilakukan update pergeraka firefly menggunakan
persamaan movement (2.5).
4.

Menentukan G-best. Untuk iterasi pertama, firefly terbaik (firefly
dengan intensitas cahaya terbesar) adalah G-best.

5.

Membandingkan firefly terbaik tiap iterasi denngan G-best yang
diperoleh. Apabila intensitas cahaya firefly terbaik saat itu lebih
besar daripada G-best maka firefly tersebut menjadi G-best.

6.

Melakukan

movement

dengan
1

𝑘
𝑘
𝑥𝑖_𝑛𝑒𝑤
= 𝑥𝑖_𝑙𝑎𝑚𝑎
+ 𝛼 (𝑟𝑎𝑛𝑑 − )

persamaan
(2.9)

2

kepada firefly terbaik dan menggabungkannya dengan firefly yang
lain untuk menjadi populasi awal pada iterasi selanjutnya.
7.

SKRIPSI

Melakukan proses diatas sampai batas iterasi dipenuhi.

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

15

2. 6

Program C++
Materi yang dibahas pada bagian ini bersumber dari Abdul Kadir (2013).

Pemograman C++ merupakan bahasa pemograman yang berlandaskan bahasa C.
Bahasa C adalah pemrograman terstuktur yang membagi program dalam bentuk
sejumlah

blok,

sehingga

dapat

mempermudah

dalam

pembuatan

dan

pengembangan program. Bahasa C diciptakan pada tahun 1972 oleh Brian W.
Kernighan dan Dennis M. Ritche. Satu dekade kemudian, Bjarne Stroustrup,
menciptakan C++ sehingga bahasa C++ lebih bersifat kompatible. Nama C++
sendiri diberikan oleh Rick Mascitti pada musim panas 1983.
C++ mendukung Pemograman Berorientasi Objek (PBO). Kebanyakan
pakar setuju bahwa PBO dan C++ dapat mengurangi kekompleksitasan, terutama
pada program yang terdiri dari 10.000 baris atau lebih. Greg Perry (1993)
mengutip ungkapan para pelopor industri C++ yang pada intinya menyatakan C++
dapat meningkatkan produktivitas pemogram lebih dari dua kali dibanding bahasa
prosedural seperti C, Pascal, Basic. Hal ini didasarkan pada kenyataan bahwa
kode yang ditulis pada C++ lebih mudah untuk digunakan kembali pada programprogram lain.
Ide dasar pada bahasa berorientasi obyek (PBO) adalah mengkombinasikan
data dan berfungsi untuk mengakses data menjadi sebuah unit. Unit lebih dikenal
dengan nama obyek yang mencerminkan pola kerja manusia dalam kehidupan
sehari-hari. Sebuah obyek dapat diibaratkan sebagai departemen-departemen di
dalam perusahaan bisnis, misalnya pada penjualan, akaunting, dan personalia.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

16

Program C++ dapat ditulis menggunakan sebarang editor teks, seperti
EDIT (milik DOS), Workstar, slidekick ataupun menggunakan editor bawaan dari
compiler. Program C++ biasa ditulis dengan nama ekstensi .CPP (dari kata c plusplus). Agar program ini bisa dijalankan atau dieksekusi, program harus
dikompilasi lebih dahulu dengan menggunakan compiler C++. Pada saat
pengkompilasian, program sumber (.C++) bersama fiele-file header (berekstensi
.H atau .HPP) akan diterjemahkan compiler C++dalam bentuk onyek (.OBT). file
obyek ini berupa file dalam format biner (berkode 0 dan 1). Selanjutnya file obyek
ini bersama-sama dengan file obyek lain serta file pustaka (.LIB) dikaitkan
menjadi satu oleh linker. Hasilnya berupa file yang bisa dijalankan dari sistem
operan secara langsung.
Saat ini banyak compiler C+ yang beredar. Sebagai contohnya Microsoft
Comporation, sebagai perusahaan pembuat perangkat lunak yang sangat
termashur, mengeluarkan produk compiler C++ berupa Microsot C/C++ serta
Visual C++. Adapun Borland International, yang sangat popular dengan Turbo
Pascal-nya, mengeluarkan Turbo C++ dan Borland C++. Produk compiler
Borland C++ ini yang digunakan untuk menyelesaikan bahasa C++.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

BAB III
METODE PENELITIAN
Untuk menyelesaikan masalah pengepakan persegi tiga dimensi dengan
menggunakan pendekatan firefly algorithm (FA)

diperlukan langkah-langkah

sebagai berikut :
1. Melakukan Studi pustaka tentang pengepakan persegi tiga dimensi
berbentuk kotak, dan firefly algorithm (FA).
2. Menginputkan banyaknya tipe barang (l) berdasarkan tinggi (t), lebar (q)
dan panjang (p) barang, kemudian banyaknya barang (n), lebar wadah (W)
dan tinggi wadah (H).
3. Menerapkan Firefly Algorithm (FA) dalam masalah pengepakan persegi
tiga dimensi dengan prosedur seperti berikut :
A. Menginisialisasi

parameter

yang

akan

digunakan,

seperti

banyaknya firefly (m), koefisien parameter random 𝛼, keatraktifan

pada saat awal 𝛽0, koefisien penyerapan cahaya pada medium 𝛾,

dan maksimum iterasi yang diinginkan (MaxIterasi).

B. Membangkitkan populasi awal firefly dengan cara membangkitkan
secara acak bilangan real [0,1] sejumlah barang untuk masingmasing firefly.
17

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

18

C. Mengevaluasi masing-masing firefly dengan cara sebagai berikut :
i.

Mengurutkan elemen firefly (tanpa mengubah urutan
kolom) sesuai dengan tipe barang yang digunakan.

ii.

Membentuk alur barang yang akan dimasukkan terlebih
dahulu kedalam wadah. Barang pertama yang dimasukkan
akan diletakkan di ujung kiri bawah wadah, dengan tinggi
barang sejajar dengan tinggi wadah, panjang barang sejajar
dengan lebar wadah, dan lebar barang sejajar dengan
panjang wadah. Saat barang pertama dimasukkan, terdapat
ruang kosong yang terletak diatas, disamping, dan didepan
barang pertama. Kemudian barang selanjutnya akan
diletakkan di depan barang sebelumnya. Hal tersebut
dilakukan terus hingga terbentuk strip pertama, dengan
tinggi strip ℎ𝑘 = max{𝑟𝑖𝑘 }. Jika panjang semua barang

sudah melebihi lebar dari wadah maka barang tersebut
diletakkan di atas barang pertama. Hal ini dilakukan hingga

tinggi semua strip kurang dari atau sama dengan tinggi
wadah dan membentuk layer, dengan lebar dari layer 𝑑𝑘 =

max{𝑞𝑖𝑘 }.
SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

19

iii.

Menghitung fungsi tujuan yaitu jumlah total dari lebar
layer yang terbentuk.

iv.

Menghitung intensitas cahaya untuk masing-masing firefly
dengan rumusan 𝐼(𝑥) =

D. Membandingkan

1

𝑓(𝑥)

.

intensitas cahaya

firefly i dengan

firefly j,

seperti berikut :
i.

ii.

Jika intensitas cahaya firefly i lebih besar dari firefly j,
maka ulangi langkah ini dengan 𝑗 = 𝑗 + 1.

Jika intensitas cahaya firefly i lebih kecil dari firefly j, maka

akan dihitung jarak firefly i ke firefly j sesuai dengan
persamaan (2.4). Kemudian menghitung attractiveness (𝛽)
dan melakukan movement dari firefly i ke firefly j.

E. Ulangi langkah D dengan 𝑗 = 𝑗 + 1 hingga semua firefly
dibandingkan.

F. Menetukan firefly terbaik yakni firefly dengan intensitas cahaya
yang paling besar.
G. Menentukan g-best yaitu firefly terbaik yang menjadi g-best pada
iterasi pertama. Untuk iterasi lainnya, bandingkan firefly terbaik

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

20

pada dengan g-best. Jika intensitas cahaya firefly terbaik lebih
besar daripada intensitas cahaya g-best maka firefly tersebut akan
menjadi g-best.
H. Menyimpan g-best sebagai calon solusi terbaik.
I. Melakukan movement pada firefly terbaik dengan persamaan
1
𝑥𝑖𝑘𝑛𝑒𝑤 = 𝑥𝑖𝑘𝑙𝑎𝑚𝑎 + 𝛼 (𝑟𝑎𝑛𝑑 − )
2

Hasil dari movement akan

menjadi populasi awal pada iterasi

selanjutnya.
J. Ulangi langkah D sampai G hingga maksimum iterasi tercapai.
K. Membandingkan intensitas cahaya g-best dengan hasil movement
firefly terbaik di akhir iterasi (𝑥𝑖_𝑏𝑎𝑟𝑢 ). Jika I(g-best) < I(𝑥𝑖_𝑏𝑎𝑟𝑢 ),
maka g-best= 𝑥𝑖_𝑏𝑎𝑟𝑢 . Sehingga diperoleh solusi dari g-best.

4. Membuat program dari prosedur yang telah dijelaskan sebelumnya.
5. Mengimplementasikan program pada contoh kasus.

Keseluruhan proses penyelesaian Pengepakan Persegi Tiga Dimensi
menggunakan Firefly Algorithm (FA) dapat dilihat pada flowchart yang disajikan
pada Lampiran 1.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

BAB IV
PEMBAHASAN
Pada bab ini akan dijelaskan penggunaan Firefly Algorithm (FA) untuk
menyelesaikan masalah pengepakan persegi tiga dimensi.
4. 1.

Prosedur Firefly Algorithm (FA) untuk Menyelesaikan Masalah
Pengepakan Persegi Tiga Dimensi
Prosedur Firefly Algorithm dimulai dari inisialisasi parameter yang

digunakan dalam Firefly Algorithm. Kemudian menginputkan data yang
berhubungan dengan masalah pengepakan persegi tiga dimensi. Selanjutnya
membangkitkan populasi awal firefly 𝑥𝑖 (𝑖 = 1,2, … , 𝑛). Data yang dibangkitkan
secara random dari bilangan real tersebut akan diurutkan pada proses pengurutan

dan kemudian akan diubah menjadi data urutan masuknya barang ke dalam wadah
berdasarkan tipe barang yang digunakan. Langkah selanjutnya menghitung fungsi
tujuan. Dari fungsi tujuan akan diperoleh intensitas cahaya yang akan dilakukan
pembandingan antar firefly. Firefly yang memiliki intensitas rendah akan
mendekati firefly yang mempunyai intensitas lebih besar dengan cara movement.
Setelah semua firefly dibandingkan, akan dicari firefly terbaik disetiap iterasi
yang akan dibandingkan intensitasnya dengan intensitas cahaya 𝑔 − 𝑏𝑒𝑠𝑡 pada

iterasi sebelumnya. Kemudian firefly terbaik akan melakukan perpindahan secara
acak. Pada saat maksimum iterasi akan dibandingkan intensitas cahaya 𝑔 − 𝑏𝑒𝑠𝑡

yang diperoleh dengan hasil movement firefly terbaik pada iterasi tersebut, jika
lebih baik gbest maka solusi terbaik adalah pada 𝑔 − 𝑏𝑒𝑠𝑡, begitu pula
22

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

23

sebaliknya. Prosedur Firefly Algorithm untuk menyelesaikan

masalah

pengepakan persegi tiga dimensi disajikan pada Gambar 4.1.

Prosedur Firefly Algorithm
Begin
inisialisasi parameter();
input data();
bangkitkan populasi awal firefly();
pengurutan data();
hitung fungsi tujuan();
hitung intensitas cahaya setiap firefly();
While (𝑡 < 𝑚𝑎𝑘𝑠_𝑖𝑡𝑒𝑟𝑎𝑠𝑖)
For 𝑖 ← 1 to banyak firefly
For 𝑗 ← 1 to banyak firefly
If (𝐼(𝑥𝑖 ) < 𝐼(𝑥𝑗 ))
lakukan movement pada 𝑥𝑖 ();
hitung fungsi tujuan();
update intensitas cahaya;
End if
End for 𝑗
End for 𝑖
tentukan firefly terbaik();
tentukan global best sementara();
lakukan movement random pada firefly terbaik();
End while
tentukan 𝑔 − 𝑏𝑒𝑠𝑡;
End
Gambar 4.1. Prosedur Firefly Algorithm

Untuk mempermudah ilustrasi penyelesaian Pengepakan Persegi Tiga
Dimensi dengan menggunakan FA, flowchart penyelesaiannya dapat dilihat pada
Lampiran 1.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

24

Prosedur Firefly Algorithm selengkapnya akan dijelaskan pada sub bab
berikut ini.
4.1.1

Input Data dan Inisialisasi Parameter
Langkah pertama dari FA adalah inisialisasi parameter. Prosedur

utuk inisialisasi parameter disajikan pada Gambar 4.2.
Prosedur inisialisasi parameter
Begin
m ← jumlah populasi awal fireflies ;
maks_iterasi ← jumlah iterasi ;
𝛼 ← koefisien parameter random;
𝛽0 ← koefisien ketraktifan awal ;
𝛾 ← koefisien penyerapan cahaya oleh udara ;
End
Gambar 4.2. Prosedur Inisialisasi Parameter

Langkah selanjutnya adalah memasukkan data berupa ukuran barang
untuk setiap tipe dan ukuran wadah. Prosedur utuk input data disajikan
pada Gambar 4.3.
Prosedur

input

data

Begin
For i ← 1 𝑡𝑜 𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑝𝑒
For 𝑦 ← 1 𝑡𝑜 𝑑𝑖𝑚𝑒𝑛𝑠𝑖
𝐷𝑖𝑦 ← membaca ukuran barang ;
𝑃 ← ambil panjang barang ;
𝑑 ← ambil lebar barang ;
𝑟 ← ambil tinggi barang ;
End for 𝑦
End for 𝑖
End
Gambar 4.3. Prosedur Input Data

𝐷𝑖𝑦 bermakna bahwa data yang dimasukkan adalah tipe ke-i dengan

dimensi ke-𝑦. Karena data yang akan dibaca dari notepad adalah panjang,
lebar, tinggi, dan jumlah barang, maka jumlah dimensinya adalah 4.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

25

4.1.2 Membangkitkan Populasi Awal Firefly
Pembangkitan populasi awal firefly akan dilakukan sebanyak m
firefly. Setiap firefly mempunyai banyak elemen sesuai dengan banyaknya
barang yang akan dimasukkan. Pembangkitkan elemen firefly dilakukan
dengan cara membangkitkan secara acak bilangan real pada interval [0,1].
Prosedur untuk membangkitkan populasai awal firefly disajukan pada
Gambar 4.4.

Prosedur

membangkitkan populasi awal firefly

Begin
For p ← 1 𝑡𝑜 𝑚
For u ← 1 𝑡𝑜 𝑛
𝑟 ← 𝑟𝑎𝑛𝑑%1000 ;
𝑅 ← 0.001 ∗ 𝑟 ;
𝐷𝑅𝑘𝑢 ← 𝑅 ;
End for u
End for p
End
Gambar 4.4. Prosedur Membangkitkan Populasi Awal

Langkah pertama untuk memperoleh elemen firefly yang diinginkan
adalah mengambil bilangan real secara acak kemudian mencari modulo
1000 dari bilangan real tersebut, yang disimbolkan dengan 𝑟. Selanjutnya 𝑟

akan dikalikan dengan 0,001 untuk memperoleh bilangan real interval
[0,1], langkah ini disimbolkan dengan 𝑅. Dengan demikian diperoleh

𝐷𝑅𝑝𝑢 yang berarti elemen firefly ke-𝑝 dan komponen barang ke-𝑢.

SKRIPSI

PENDEKATAN FIREFLY ALGORITHM (FA)…

DESSY PITON’S BUNGA PERTIWI

ADLN – PERPUSTAKAAN UNIVERSITAS AIRLANGGA

26

4.1.3 Proses Pengelompokan Barang Berdasarkan Tipe
Prosedur

pengelompokan barang berdasarkan tipe

Begin
For 𝑝 ← 1 𝑡𝑜 𝑚
For 𝑢 ← 1 𝑡𝑜 𝑛
𝑅𝑝𝑢 ← Pengurutan elemen firefly ;
End for 𝒖
End for 𝑝
For 𝑝 ← 1 𝑡𝑜 𝑚
For 𝑢 ← 1 𝑡𝑜 𝑛
If (𝐷𝑅𝑝𝑢 == 𝑅𝑝𝑢 )
𝐷𝑈𝑝𝑢 ← 𝑢 ;
If else
For 𝑣 ← 1 𝑡𝑜 𝑛
If (𝐷𝑅𝑝𝑢 == 𝑅𝑝𝑣 )
𝐷𝑈𝑝𝑢 ← 𝑣 ;
End if
End for 𝑣
End else
End for 𝑢
End for 𝑝
𝑛1 ← 0;
𝑛2 ← 0;
For 𝑝 ← 1 𝑡𝑜 𝑚
For 𝑖 ← 1 𝑡𝑜 𝑗𝑢𝑚𝑙𝑎ℎ 𝑡𝑖𝑝𝑒
𝑛1 ← 𝑛1 + 𝐷𝑖3 ;
For 𝑢 ← 1 𝑡𝑜 𝑛
If (𝐷𝑈𝑝𝑢