Algoritma Genetika
untuk Studi Kasus Sel Sabit
David Nagataries1), Stevanus Hardiristanto2), Mauridhi Hery Purnomo3)
Jurusan Teknik Elektro FTI – ITS
Nagataries06@mhs.ee.its.ac.id1), hardi@its.ac.id2), hery@elect-eng.its.ac.id3)
Abstract— Pada penelitian ini dikembangkan suatu sistem Referensi riset [1] menggunakan Genetic Algorithm
deteksi objek menggunakan konsep Bin Packing Problem untuk melakukan deteksi objek dengan template berbentuk
(BPP). BPP merupakan suatu permasalahan pengisian ruang lingkaran (circular). Proses deteksi dilakukan dengan cara
dalam sebuah kontainer. Suatu bentuk kontainer tentunya
akan terisi penuh bila diisi dengan benda atau kombinasi memosisikan template lingkaran pada bagian objek.
beberapa benda yang memiliki bentuk sama dengan bentuk Dengan genetic algorithm, bentuk objek yang luas (akibat
kontainer tersebut. Hal ini serupa dengan tujuan sistem overlap) dapat tetap ter-’cover’ dengan kombinasi
deteksi dimana suatu objek akan dicocokkan dengan suatu beberapa template berbentuk lingkaran.
template referensi. Masalah overlap yang umumnya dihindari
dalam BPP dapat berubah menjadi sesuatu yang dapat Penelitian ini bertujuan untuk mengembangkan metode
dimanfaatkan dalam sistem deteksi.
Lebih lanjut, dengan bentuk permasalahan kombinasional deteksi objek berdasarkan template bebas (arbitrary
yang kompleks, algoritma genetika atau Genetic Algorithm shape) dengan fokus pada permasalahan overlap. Objek
(GA) dipilih sebagai algoritma pencari solusi. Beberapa dalam kondisi overlap hanya dapat dikenali dengan
modifikasi diterapkan pada desain GA untuk memenuhi membaca fitur yang tampak. Fitur yang efektif untuk
bentuk sistem deteksi dengan konsep BPP. digunakan dalam kasus ini adalah bentuk objek. Oleh
Pada riset ini, digunakan kasus pengujian berupa deteksi karena itu, metode deteksi objek dalam penelitian ini akan
sickle cell pada citra sel darah yang diambil menggunakan
mikroskop digital. Dari hasil pengujian, sistem deteksi ini menitik-beratkan pengenalan objek dari bentuknya.
dapat memperoleh nilai akurasi rata-rata lebih dari 70%. Bentuk permasalahan pengenalan objek berdasarkan
Pemilihan parameter GA yang sesuai dengan karakteristik bentuk tersebut mirip dengan bentuk permasalahan Bin
objek dapat menghasilkan deteksi yang akurat. Packing. Bin Packing Problem merupakan permasalahan
pengisisan suatu kontainer dengan barang-barang tertentu
Kata Kunci — Algoritma Genetika, Bin Packing Problem, hingga ruang di dalam kontainer terpakai secara efisien.
Deteksi Objek.
Bila dihubungkan dengan permasalahan deteksi objek,
kontainer dapat dianalogikan dengan objek yang akan
diproses dan barang pengisi dapat dianalogikan dengan
I. PENDAHULUAN template. Dengan demikian penelitian ini akan mencoba
menyelesaikan permasalahan deteksi objek dengan konsep
penyelesaian Bin Packing Problem.
Deteksi objek dalam digital image processing adalah
Lebih lanjut, sistem deteksi objek dengan konsep Bin
suatu proses yang digunakan untuk menetukan keberadaan
Packing Problem ini memperlukan suatu algorima untuk
objek tertentu di dalam suatu citra digital. Proses deteksi
mencari solusinya. Riset-riset sebelumnya [2][3]
tersebut dapat dilakukan dengan berbagai macam metode
menggunakan Genetic Algorithm untuk menyelesaikan
yang umumnya melakukan pembacaan fitur-fitur dari
permasalahan Bin Packing. Pada riset [2], Genetic
seluruh objek pada citra input. Fitur dari objek pada citra
Algorithm mampu memposisikan barang ke dalam
input tersebut akan dibandingkan dengan fitur dari objek
kontainer dalam 1000 generasi. Namun, hasil pemosisian
referensi atau template. Hasil perbandingan tersebut dapat
barang masih mengalami permasalahan overlap. Pada riset
digunakan untuk menentukan apakah suatu objek
[3], desain Genetic Algorithm yang digunakan mampu
terdeteksi sebagai template yang dimaksud atau tidak.
menyusun barang-barang dengan bentuk tidak beraturan
Proses pembacaan dan perbandingan fitur objek
secara effisien di dalam kontainer berbentuk persegi.
umumnya mengalami kesulitan pada saat suatu objek
Dengan dasar riset-riset tersebut, penelitian ini
berhimpit atau tertutup oleh objek lain dalam citra. Hal ini
menggunakan Genetic Algorithm untuk menyelesaikan
mengakibatkan dua objek tersebut terbaca sebagai satu
permasalahan deteksi objek. Genetic Algorithm dalam
objek dan berakibat pada hasil pembacaan fitur yang salah
program/sistem akan mengatur penempatan template
terutama saat suatu bagian objek tertutup objek lain.
dalam kontanier (gambar objek yang akan dideteksi).
Kejadian ini juga dikenal sebagai permasalahan overlap
Dengan model Bin Packing Problem, permasalahan
pada digital image processing.
overlap yang umumnya harus dihindari dapat Fitness value dari setiap individu menentukan besar
dimanfaatkan dalam sistem deteksi. kemungkinannya untuk bertahan dalam tahap eliminasi.
Bila suatu individu berhasil lolos dari tahap eliminasi,
maka ia akan masuk ke tahap evolusi untuk membentuk
generasi berikutnya.
II. DASAR TEORI Tahap evolusi pada GA klasik menggunakan operasi
rekombinasi dan mutasi. Rekombinasi atau crossover
A. Algoritma Genetika Klasik
melibatkan 2 individu / kromosom untuk melakukan
Algoritma genetika atau disebut juga dengan Genetic pertukaran gen seperti ilustrasi pada Gambar 2-1. Proses
Algorithm (GA) merupakan suatu algoritma yang rekombinasi umumnya terjadi dengan probabilitas tertentu.
didasarkan pada model evolusi alam. Pada alam, setiap Bila suatu individu / kromosom terpilih untuk melakukan
individu akan saling berkompetisi untuk dapat bertahan rekombinasi maka ia perlu memilih partner. Pada
dengan aturan yang telah ditetapkan. Individu yang penelitian ini, pemilihan partner dilakukan dengan metode
berkualitas (menurut aturan alam) akan bertahan dan roulette-wheel. Metode roulette-wheel memberikan
berkembang biak. Sedangkan individu yang tidak dapat probabilitas pemilihan yang proporsinal terhadap besar
menyesuaikan kondisinya dengan alam akan dipaksa untuk fitness value dari setiap individu individu / kromosom.
berubah atau musnah. Dengan kata lain, individu /kromosom yang memiliki
Pada umumnya, GA digunakan untuk menyelesaikan fitness value besar akan semakin mungkin terpilih.
masalah optimasi diskrit. GA memiliki heurisitik yang
baik untuk bentuk permasalahan kombinatorial. Ciri GA Rekombinasi 1-point
adalah adalah menitik beratkan perolehan solusi dengan
cara rekombinasi (crossover). Genetic algorithm klasik
(Classical GA) merupakan bentuk GA yang paling
sederhana. GA modifikasi yang didesain khusus untuk
cross point
menyelesaikan permasalahan tertentu umumnya
didasarkan pada bentuk GA klasik. Rekombinasi 2-point (multi point)
Berikut ini adalah bentuk pseudo-code Genetic algorithm
klasik:
Bangkitkan populasi awal, N individu-kromosom
(inisialisasi)
Loop hingga kondisi penghentian terpenuhi
Dekodekan kromosom cross point
Evaluasi individu (penilaian)
Gambar 2-1 : Rekombinasi (Crossover)
Seleksi individu (eliminasi)
Rekombinasi dengan probabilitas tertentu
Mutasi dengan probabilitas tertentu
Generasi = Generasi + 1
Operasi mutasi pada GA klasik dilakukan dengan merubah
End nilai sebuah gen pada suatu kromosom. Mutasi umumnya
terjadi dengan probabilitas yang jauh lebih kecil dari
Pada GA klasik, jumlah kromosom dalam setiap probabilitas kejadian crossover.
individu adalah tetap yaitu satu kromosom untuk satu
individu. Inisialisasi populasi awal dilakukan dengan B. GA Referensi
membentuk sejumlah individu (N) yang berisi kromosom Sistem deteksi pada referensi [1] dilakukan dengan
random. Jumlah gen pada setiap kromosom juga berjumlah menemukan lokasi objek yang dicari. Untuk menemukan
tetap. Format penulisan informasi dalam gen umumnya lokasi objek tersebut, dilakukan penyebaran detektor
menggunakan bentuk bilangan biner, integer atau berbentuk lingkaran. Target dari sistem deteksi adalah
pengkodean lain yang disesuaikan dengan bentuk memposisikan lingkaran-lingkaran tersebut pada objek
permasalahan yang akan ditangani. sehingga di dalam satu lingkaran terdapat satu objek yang
Tahap evaluasi individu dilakukan dengan memberikan dicari. Dalam hal ini GA berperan untuk mencari posisi
nilai fitness value pada setiap individu berdasarkan solusi yang tepat untuk setiap lingkaran.
yang ditawarkan oleh individu tersebut. Bentuk Dari riset [1] didapat hasil yang cukup optimal dengan
perhitungan yang diterapkan pada tahap ini umumnya parameter GA sebagai berikut:
digunakan untuk mendefinisikan tujuan sistem, dimana - Jumlah kromosom N=50.
individu (solusi) yang memenuhi tujuan akan mendapat - Batas generasi T=50.
nilai tinggi dan individu yang jauh dari tujuan akan - Probabilitas crossover Pc=80%.
mendapat nilai rendah. Karena dalam GA klasik 1 individu - Probabilitas mutasi Pm=8%.
berisi 1 kromosom, maka fitness value dari individu juga - Jumlah kromosom elite Pe=5.
dapat disebut fitness value dari kromosom dalam individu Penempatan lingkaran pada objek dapat mencapai akurasi
tersebut. 100% pada kasus yang diujikan [1]. Hal ini membuktikan
bahwa dengan efek randomisasi yang tidak terprediksi, CITRA SEL DARAH TEMPLATE
Kondisi Ya
Seluruh objek
penghentian
terproses ?
tercapai ?
Tidak
Ya
Eliminasi
Selesai
Regenerasi - Evolusi
Gambar 3-2 : Ilustrasi proses object labeling
Tiga desain Genetic Algorithm tersebut menggunakan Desain GA1 memiliki akurasi deteksi sickle cell yang
parameter input yang sama. Berikut ini adalah parameter- terendah diantara ketiga desain. Hasil output GA1
parameter yang digunakan: memberikan banyak deteksi yang terlalu ‘brutal’ dan
1. number_of_entity = 20 jumlah overlap yang berlebihan. Pergerakan fitness value
2. maximum_generation = 100 pada populasi GA1 cenderung konstan setelah beberapa
generasi, hal ini diprediksi akibat persebaran kromosom
3. entity_fitness_value_target = 0,8
defective yang tidak terkontrol. Bentuk penilaian pada
4. size_tolerance = 0,35
GA1 kurang mampu mendefinisikan tujuan sistem dan
5. template_fill = 1,0 berakibat pada kondisi populasi yang tidak terfokus pada
6. maximum_overlaps = 2 tujuan deteksi.
7. elimination_threshold_limit = 0
8. 𝐴𝐴𝐴𝐴𝐴𝐴 = 0,85 Desain GA2 mampu mendeteksi seluruh sickle cell
9. Crossover chance = 50% aktual yang ada pada gambar input (recall 100%).
10. Soft mutation chance = 10% Precision GA2 untuk sickle cell juga meningkat bila
11. Harsh mutation chance = 0,1% dibandingkan dengan GA1, namun masih dapat dikatakan
rendah. Kondisi false positive GA2 lebih banyak terjadi
Template yang digunakan sebagai referensi dibagi menjadi akibat deteksi ulang terhadap sickle cell yang telah
dua kelompok yaitu kelompok sickle cell dan kelompok terdeteksi (1 sickle cell aktual terdeteksi sebagai 3-4 sickle
normal cell. Template referensi yang digunakan diambil cell). Hal ini diakibatkan proses penilaian overlap yang
dari objek dalam Gambar 4-2 sendiri. Dengan demikian kurang efisien (tidak menggunakan bentuk perhitungan
tidak terjadi permasalahan skala/zoom. Dalam uji coba ini kedua).
digunakan satu template untuk masing-masing kelompok Bentuk penilaian border yang ketat pada GA2 umumnya
seperti terlihat pada Gambar 4-3. mengakibatkan sistem semakin sulit untuk mencapai target
Kelompok 1 – Sickle cell Kelompok 2 – Normal cell
(membutuhkan generasi berlebih). Namun dengan bantuan
operasi growth GA2 justru menjadi jauh lebih cepat
dibandingkan dengan GA1. Hal ini sekaligus
membuktikan manfaat operasi growth dalam pencapaian
target deteksi dengan memperkecil jumlah generasi total
Gambar 4-3 : Template referensi yang dibutuhkan oleh GA2.
Pergerakan fitness value GA2 memasuki kondisi ‘statis’
pada nilai yang lebih dekat dengan target bila
Tabel 4-1 dan 4-2 menunjukkan data ROC hasil pengujian:
dibandingkan dengan GA1.
Tabel 4-1 : Analisa hasil uji coba desain sistem deteksi
GA1 GA2 GA3
Desain GA3 memiliki akurasi deteksi sickle cell yang
Sickle Detection 21 14 10
terbaik dari dua desain lainnya. GA3 juga memiliki nilai
True positive 3 4 4 precision yang terbaik untuk sickle dan normal cell.
False positive 18 10 6 Jumlah deteksi normal cell GA3 dapat dikatakan hampir
True negative 44 52 54 sama dengan GA1 dan GA3.
False negative 1 0 0 False positive pada GA3 dapat dikatakan lebih baik dari
GA1 dan GA2. Hal ini dapat dilihat pada deteksi sickle
Normal Detection 81 62 64
True positive 47 43 45
cell, kondisi false positive hanya terjadi akibat deteksi
False positive 34 19 19 ulang terhadap objek sickle cell aktual. GA3 berhasil
True negative 8 9 4 untuk tidak membaca bentuk lain diluar bentuk referensi
False negative 7 11 9 yang diberikan.
Total generasi yang dibutuhkan GA3 dalam proses
Total generations 2453 1324 1054 deteksi merupakan yang terkecil. Hal ini didapat dari
Average generation 37,7385 20,3692 16,2154
bentuk penilaian yang tepat, operasi growth dan tambahan Tabel 4-5: Precision – Recall (uji parameter)
soft mutation. Desain soft mutation memungkinkan suatu GA3α GA3β GA3γ
entity untuk meningkatkan fitness valuenya tanpa Sickle
mengacaukan atau bahkan mengulang kombinasi Precision 0,2857 0,4000 0,2500
kromosom di dalamnya. Recall 0,5000 1,0000 1,0000
Accuracy 0.8772 0.9063 0.8154
Pergerakan fitness value pada GA3 lebih dinamis bila
Normal
dibandingkan dengan GA1 dan GA2, hal ini menunjukkan Precision 0,5506 0,6769 0,6301
efektivitas operasi soft mutation. Recall 0,9074 0,8148 0,8519
Accuracy 0.5213 0.6076 0.5882
B. Uji Parameter Genetic Algorithm
Pada tahap ini akan dilakukan pengujian parameter
genetic algorithm dengan gambar input dan template
referensi yang sama dengan pengujuan desain GA. V. PENUTUP
Pengujian parameter ini dilakukan menggunakan desain
A. Kesimpulan
GA3. Pilihan desain ini didasarkan pada hasil pengujian
sebelumnya dimana desain GA3 dinilai sebagai desain Sistem deteksi menggunakan genetik algorithm (GA3) ini
yang terbaik dari dua desain lainnya. Pengujian ini dapat mencapai nilai akurasi rata-rata 73,23% pada
menggunakan tiga kelompok parameter pada Tabel 4-3. pengujian deteksi sickle cell. False positive pada hasil
deteksi umumnya dikarenakan deteksi berulang untuk
Tabel 4-3 : Tiga kelompok parameter yang diujikan suatu objek yang sama.
Pemilihan beberapa parameter GA pada sistem deteksi ini
GA 3α GA 3β GA 3γ
sangat bergantung dari karakteristik objek yang akan
number_of_entity 20 20 30 dideteksi. Berikut ini adalah poin-poin utama yang dapat
maximum_generation 100 100 150 digunakan sebagai acuan pemilihan parameter:
entity_fitness_value_target 0,8 0,85 0,75 1. number_of_entity : Jumlah minimal yang
size_tolerance 0,35 0,3 0,35 diperlukan untuk deteksi yang baik adalah
template_fill 0,5 1,0 1,0 sejumlah template referensi yang digunakan.
maximum_overlaps 2 2 3 Semakin besar jumlah entity yang digunakan,
elimination_threshold_limit 0 0 0 semakin tinggi akurasi deteksi. Untuk kasus yang
𝑨𝑨𝑨𝑨𝑨𝑨 0,85 0,85 0,8 diujikan pada penelitian ini, jumlah entity terbaik
Crossover chance 50% 80% 50% adalah 20.
Soft mutation chance 10% 30% 10% 2. maximum_generation : Nilai yang besar
Harsh mutation chance 0,1% 1% 0,1% dapat memungkinkan populasi untuk mencapai
fitness value yang lebih tinggi. Hal ini berarti
peningkatan batas generasi dapat meningkatkan
Tabel 4-4 dan 4-5 menunjukkan data ROC hasil pengujian. hasil deteksi. Namun batas generasi yang terlalu
besar dapat menyebabkan sistem berjalan terlalu
Tabel 4-4 : Analisa hasil uji coba parameter lama akibat pergerakan fitness value yang mulai
GA3α GA3β GA3γ statis. Fitness value statis dapat diakibatkan
Sickle Detection 7 10 16 populasi yang gagal membentuk solusi atau
True positive 2 4 4 akibat bentuk objek yang tidak sesuai dengan
False positive 5 6 12 template referensi. Nilai
True negative 48 54 49
False negative 2 0 0 maximum_generation sebaiknya
dikoordinasikan dengan probabilitas mutasi dan
Normal Detection 89 65 73 crossover. Untuk kasus yang diujikan pada
True positive 49 44 46 penelitian ini, batas generasi terbaik berkisar
False positive 40 21 27 antara 100 hingga 1000.
True negative 0 4 4
3. entity_fitness_value_target : Nilai
False negative 5 10 8
yang optimal untuk digunakan adalah 0,70 - 0,85.
Total generations 318 1598 587 Nilai yang terlalu rendah mengakibatkan deteksi
Average generation 4,8923 24,5846 9,0308 kurang akurat terhadap bentuk objek keseluruhan.
Sedangkan nilai yang terlalu tinggi dapat
mengakibatkan peningkatan jumlah generasi
tanpa peningkatan kualitas deteksi.
4. size_tolerance : Bergantung dari
karakteristik objek yang akan dideteksi. Untuk
kasus yang diujikan pada penelitian ini, nilai perubahan bentuk kromosom yang menapung gen
terbaik adalah 0,2 hingga 0,4. koordinat X,Y dan Z. Demikian pula dengan rotasi
5. template_fill : Untuk objek dengan bentuk terhadap sumbu X,Y dan Z. Untuk deteksi objek 3 dimensi
tanpa lekukan yang tajam, disarankan ini disarankan menggunakan array 3 dimensi sebagai
menggunakan nilai 0,8 hingga 1,0. Namun untuk pengganti bidang gambar 2 dimensi yang digunakan.
objek dengan lekukan tajam (misal berbentuk zig-
zag), disarankan menggunakan nilai di bawah 1,0.
6. maximum_overlaps : Bergantung dari
permasalahan deteksi. Dapat menggunakan nilai VI. REFERENSI
2 – tak terhingga. Nilai batas overlap 1 dapat [1] G.Karkavitsas, M.Rangoussi, "Object localization in
mengakibatkan efek negatif yang besar pada nilai medical images using genetic
fitness value total kromosom. Oleh karena itu, algorithms,“ International Journal of Signal
bila menggunakan nilai 1 maka parameter 𝐴𝐴𝐴𝐴𝐴𝐴 Processing, vol. 1, No. 4, pp. 204-207, 2005.
harus mengimbangi bentuk persaingan overlap [2] Armando Ponce-Pérez, Arturo Pérez-Garcia, Victor
yang ketat.
Ayala-Ramirez, "Bin-Packing Using Genetic
7. elimination_threshold_limit :
Algorithms," conielecomp, pp.311-314, 15th
Disarankan menggunakan nilai 0. Namun dapat
diubah sesuai dengan kebutuhan deteksi dengan International Conference on Electronics,
batas nilai 700. Communications and Computers
8. 𝐴𝐴𝐴𝐴𝐴𝐴 : Nilai terbaik adalah 0,8 – 0,85. Namun (CONIELECOMP'05), 2005
dapat diubah sesuai kebutuhan deteksi dengan [3] Mei Ying, Zhu Liangsheng, Ye Jiawei, "An
batas minimum 0,1. Improved Immune Genetic Algorithm for Solving the
9. Crossover chance : Nilai terbaik adalah Packing Problem in the Hull Construction Automatic
50% (untuk batas generasi 100). Packing System," iitaw, pp.464-467, 2009 Third
10. Soft mutation chance : Nilai terbaik International Symposium on Intelligent Information
adalah 10% (untuk batas generasi 100). Technology Application Workshops, 2009
11. Harsh mutation chance : Nilai terbaik [4] Otsu, N., "A Threshold Selection Method from Gray-
adalah 1% (untuk batas generasi 100). Level Histograms," IEEE Transactions on Systems,
B. Saran
Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66.
Pengembangan selanjutnya dapat menambahkan elemen
[5] Gonzalez, R. C., Woods, R. E., and Eddins, S. L.
grayscale dari objek-template dalam proses penilaian
fitness value. Deteksi dapat menjadi lebih akurat dengan [2004]. Digital Image Processing Using MATLAB,
referensi warna grayscale dari template dan objek. Hal ini Prentice Hall, Upper Saddle River, NJ.
membutuhkan perhitungan ulang komposisi bobot antara [6] http://imagebank.hematology.org/default.aspx
kriteria penilaian yang telah ada. [7] MATLAB version 7.11.0.584. Natick,
Sistem deteksi ini dapat dikembangkan lebih lanjut Massachusetts: The MathWorks Inc., 2010.
untuk mendeteksi objek 3 dimensi. Hal ini memperlukan