LANDASAN TEORI
lainnya, ataupun berbagai macam informasi yang kemudian diubah menjadi sejumlah
keluaran yang diperlukan oleh penerima. Penerima terbagi menjadi konsumen internal
(internal consumer) dan konsumen luar (eksternal consumer). Konsumen internal dapat
berupa departemen, kelompok, atau sejumlah peralatan dan mesin. Sedangkan
konsumen luar adalah orang atau organisasi yang membayar untuk mendapatkan produk
atau pelayanan yang diperlukan. Selain itu penerima juga dapat berupa lokasi tempat
keluaran disimpan untuk kebutuhan yang akan datang.
Suatu proses bisnis merupakan serangkaian aktivitas yang bertujuan untuk
mencapai tujuan organisasi. Suatu proses bisnis dapat terdiri dari beberapa aktivitas.
Kejadian (event) merupakan suatu aktivitas tunggal yang terdapat pada sebuah proses
bisnis. Setiap proses bisnis dapat dibagi ke dalam tiga jenis kejadian yang berbeda
(Lukman,2008), yaitu:
21H
11
12
Contoh
kejadian-kejadian
operasional
umum
pada
proses
bisnis
penjualan/pengumpulan:
mengefektifkan, mengefisienkan dan membuat mudah untuk beradaptasi pada prosesproses didalamnya. Artinya proses bisnis tersebut harus merupakan proses bisnis yang
berorientasikan pada jumlah dan kualitas produk output, minimal dalam menggunakan
sumber daya dan dapat beradaptasi sesuai dengan kebutuhan bisnis dan pasar.
Pengelolaan bisnis proses yang baik akan memberikan keuntungan-keuntungan
pada organisasi perusahaan yang banyak, yaitu :
Organisasi dapat mengelola dengan baik inter relasi proses-proses antar bagian
yang ada.
13
14
Memfokuskan pada faktor-faktor sekitar hasil (outcome) bukan pada tugas, artinya
bahwa suatu perusahaan hendaknya memiliki seorang yang melaksanakan semua
tahapan dalam suatu proses.
Menghubungkan
aspek-aspek
keputusan
untuk
menyelesaikan
tugas
dan
metodologi BPR menentukan framework untuk BPR yang terdiri dari lima tahap sbb:
1. Pengembangan visi bisnis dan tujuan proses
proses dalam bentuk model proses. Model proses yang terbentuk memberikan
pemahaman yang menyeluruh dari suatu proses atau sistem. Aguilar menambahkan
bahwa pemodelan proses sangat penting bagi perusahaan karena dengan cara tersebut,
perusahaan dapat mengintegrasikan, menganalisa, dan meningkatkan performance dari
pengelolaan proses bisnisnya.
Pada Gambar 2.2, Phalp, et. al, (1999) membedakan antara penggunaan model
proses bisnis, yaitu: pertama untuk traditional software development dan kedua untuk
restructure proses bisnis, yaitu: pendekatan pragmatik yang khusus untuk menangkap
dan memahami proses, dan pendekatan rigorous (teliti) yang khusus untuk analisis
proses.
17
Wilhelm, F., (2000) membagi model-model proses ke dalam lima kategori, yaitu:
1. Model-model temporal: sebagai tambahan untuk mengidentifikasikan dari
subproses, yang hanya memasukkan informasi tentang waktu mulai dan
berakhir, dan durasi komponen-komponen proses.
2. Model-model struktur: hanya merepresentasikan informasi tentang struktur dari
proses.
3. Model-model logika: mendukung dependencies antar elemen-elemen proses.
4. Model-model fungsional: merepresentasikan fungsi-fungsi potensial dari
elemen-elemen dalam sebuah proses.
5. Model-model behavioral: merepresentasikan deskripsi kuantitatif dari proses
yang dibangun dari parameter-parameter, variabel, dll.
Pemodelan proses dapat dipakai sebagai alat bantu dalam perencanaan sistem, analisis
sistem yang biasanya untuk menggambarkan sistem as is, dan desain sistem yang
biasanya untuk menggambarkan system to be. Adapun teknik pemodelan proses yang
akan digunakan dalam penelitian ini adalah sebagai berikut :
2.4.1
Flowchart
Flowchart adalah penyajian yang sistematis tentang proses dan logika dari
18
SIMBOL
NAMA
FUNGSI
Terminator
Permulaan/akhir program
Arah aliran
Preparation
Proses inisialisasi/Pemberian
harga awal
Proses
Proses
perhitungan/Pengolahan data
Input/Ouput data
19
SIMBOL
NAMA
FUNGSI
kertas
program)
Decison
Perbandingan
pernyataan/Penyeleksian data
yang memberikan pilihan bagi
langkah selanjutnya
On page connector
Penghubung bagian-bagian
flowchart yang berada pada
satu halaman
Penghubung bagian-bagian
flowchart yang berada
halaman berbeda
20
2.4.2
Gantt Chart
Gantt Chart adalah sebuah gambar dimana sumbu y menjelaskan aktivitas-
aktivitas yang dilakukan dalam proses dan sumbu x menggambarkan angka dari setiap
aktivitas (Aguilar-Saven, 2001). Setiap baris berisi single Aktivitas, yang dimana
biasanya
terdiri
sejumlah
angka
dan
sejumlah
nama.
Sumbu
horizontal
Metode IDEF3
21
IDEF3 Process Description dikembangkan menggunakan dua strategi, processcentered dan object-centered. Process-centered mengorganisasikan process knowledge
dengan berfokus kepada proses dan hubungan-hubungan di dalam sebuah skenario,
sedangkan object-centered mengorganisasikan process knowledge dengan berfokus
kepada objek-objek dan perubahan bentuk objek tersebut yang terjadi dalam sebuah
skenario ataupun multiple skenario.
Ada dua tipe skema IDEF3 yang sesuai untuk kedua strategi di atas, yaitu skema
proses dan skema objek. Skema proses menampilkan process-centered dari skenario
yang dibuat dan skema objek dari object-centered mendukung tampilan grafis untuk
informasi.
Di bawah ini akan dijelaskan secara singkat tentang skema proses dan skema objek.
1. Process-Centered Views : Skema Proses
Skema proses IDEF3 memiliki tujuan utama adalah untuk menangkap, mengelola,
dan menampilkan process-centered knowledge. Process-centered dibangun secara
sistematik dengan menggunakan building block IDEF3. Building block tersebut
masing-masing memiliki arti dan kegunaan sendiri.
2. Object-Centered Views : Skema Objek
Skema objek IDEF3 menangkap, mengelola, dan menampilkan deskripsi yang
berfokus pada objek dalam suatu proses, yaitu informasi-informasi tentang
bagaimana objek ditranformasikan ke objek yang berbeda melalui sebuah proses,
dan bagaimana hubungan antar objek-objek tersebut.
2.4.3.2 IDEF3 Process Description Language
Elemen-elemen dasar IDEF3
Tahap awal dalam membuat suatu model IDEF harus ditetapkan terlebih dahulu
skenarionya. Skenario-skenario tersebut merupakan dasar dari pengelolaan struktur
sebuah model IDEF3, dimana di dalam skenario tersebut berisikan aktivitas-aktivitas
22
atau proses yang sifatnya sequencing (berurutan). Sebuah skenario menjelaskan tujuan
dan ruang lingkup dari sebuah model yang dibuat. Model yang dibuat harus jelas untuk
apa tujuan model tersebut, sedangkan ruang lingkup menjelaskan hal-hal apa saja yang
terlibat ataupun tidak terlibat dalam model dan untuk siapa model dibuat.
Elemen-elemen dasar dari IDEF3 ditunjukkan pada gambar di bawah ini:
23
Skema Proses
A. Unit of Behavior/Aktivitas
Aktivitas di dalam teknik pemodelan IDEF3 disebut juga Unit of Behavior (UOB)
merupakan komponen utama dalam pemodelan IDEF3. Dalam diagram IDEF3 aktivitas
tersebut digambarkan dengan persegi panjang.
sebuah kata kerja (kata kerja+objek), dan diiringi dengan sebuah nomor unik. Objek
pada penamaan UOB biasanya menjelaskan input utama untuk aktivitaas, output dari
aktivitas, atau nama dari sistem. Ketika sebuah aktivitas dibentuk, diberikan juga nomor
unik. Apabila sebuah aktivitas yang berurutan dihapus, maka nomor pada aktivitas
tersebut tidak dapat digunakan lagi.
B. Links
Links berfungsi menghubungkan antar aktivitas (source Aktivitas and destination
Aktivitas). Dalam diagram IDEF3 pada umumnya link berasal dari sebelah kiri dan
berakhir di sebelah kanan kotak aktivitas (UOB).
C. Junctions
Penyelesaian satu aktivitas mungkin menyebabkan beberapa aktivitas untuk memulai,
atau sebuah aktivitas mungkin harus menunggu beberapa aktivitas lain selesai sebelum
aktivitas tersebut mulai. Junctions dapat berfungsi menyebarkan atau menggabungkan
aliran proses dan dapat menjelaskan pencabangan proses.
Di bawah ini menjelaskan 2 fungsi pencabangan :
24
Tabel di bawah ini menguraikan 3 tipe junctions dengan masing-masing fungsi dan
rules-nya:
Tabel 2.2 Tipe Junctions
Grafik
&
Nama
AND
Junction
Fungsi
Fan-Out
Fan-In
Activation Rules
Setiap aktivitas tujuan (destination Aktivitas) yang
dihubungkan dengan AND adalah selalu dikerjakan
Setiap aktivitas awal (source Aktivitas) yang
dihubungkan dengan AND harus selesai dikerjakan
Satu dan hanya satu aktivitas tujuan (destination
ExclusiveX
Fan-Out
dikerjakan
OR
Junction
Fan-In
Fan-Out
O
OR
Junction
terjadi secara sinkron. Junction sinkron akan digunakan untuk perilaku aktivitasaktivitas tersebut. Junction sinkron ditandai dengan dua buah garis vertikal di dalam
sebuah junction, yang berseberangan terhadap garis vertikal pada junction asinkron.
Tabel di bawah ini menunjukkan interpretasi dari sinkron junction.
Tabel 2.3 Junctions sinkronisasi
Grafik
Nama
Fungsi
Fan-Out
AND
Fan-In
Fan-Out
OR
Fan-In
Activation Rules
Semua aktivitas pada fan-out junction akan mulai
bersamaan.
Semua aktivitas pada fan-in junction akan berakhir
bersamaan.
Satu atau lebih aktivitas pada fan-out junction akan
mulai bersamaan.
Satu atau lebih aktivitas pada fan-in junction akan
mulai bersamaan.
Ketika satu atau hanya satu aktivitas yang
Fan-Out
ExclusiveOR
Junction Pairs
Pada suatu diagram IDEF3, junction sebaiknya dipasangkan, yaitu setiap fan-out
junction memiliki pasangan fan-in junction. Pasangan fan-out junction dan fan-in
junction tidaklah harus merupakan tipe junction yang sama.
26
Junction Combinations
Pada gambar berikut ini Junction dapat digabungkan dari beberapa tipe junction.
Kombinasi junction harus dibuat dan digunakan secara seksama dan benar dengan
diiringi pengertian yang jelas. Kombinasi junction yang ada tidak semuanya benar,
misalnya kombinasi antara XOR junction dengan AND junction.
D. UOB Decomposition
Aktivitas dalam IDEF3 dapat didekomposisikan untuk menjelaskan aktivitas tersebut
lebih detil. Metode IDEF3 memperbolehkan sebuah aktivitas didekomposisikan
beberapa kali, atau yang disebut sebagai multiple children. Metode dekomposisi ini juga
dapat digunakan untuk menjelaskan alternatif-alternatif aliran proses atau aktivitas.
Pada diagram IDEF3 yang terdiri dari multiple dekomposisi, skema penomoran harus
jelas dengan melibatkan nomor dekomposisi seperti Aktivitas ID dan parent Aktivitas
ID. Untuk lebih jelasnya dapat dilihat pada gambar di bawah ini.
1.1.10
Activity ID
Decomposition Number
Parent Activity ID
Gambar 2.7 Aktivitas yang memasukkan nomor dekomposisi.
Sebuah nomor UOB dipakai untuk setiap UOB box di dalam sebuah IDEF3 Process
Description. Pada umumnya, sebuah deskripsi IDEF3 dapat menjadi sangatlah
kompleks, yang terdiri dari beberapa UOB, dan memiliki multiple dekomposisi. Pada
level bawah sebuah dekomposisi, nomor referensi dari suatu UOB terdiri dari tiga angka
(misalnya : 1.1.10). Angka pertama merupakan angka terakhir pada parent Aktivitasnya. Angka kedua merupakan nomor dekomposisi untuk UOB-nya. Angka ketiga
27
adalah UOB box untuk aktivitas yang bersangkutan. Pemakaian nomor referensi dapat
dilihat pada gambar berikut ini.
E. Referent
Referent adalah simbol khusus yang mengacu kepada sisi lain dari deskripsi proses.
Referent ditambahkan pada sebuah diagram agar pembaca secara langsung memahami
informasi apa yang harus diketahui.
F. Elaborasi untuk UOB, junctions, dan link yang dibutuhkan
Elaborasi merupakan penjelasan yang lebih detil dari elemen-elemen IDEF3 dalam
suatu skema baik itu skema proses maupun skema objek. Elaborasi yang dibuat untuk
UOB, junction dan links disesuaikan dengan informasi yang diperoleh dari domain
expert.
2.5 Analisis Struktur Model
Setelah pemodelan proses dipilih untuk menggambarkan sistem as is, maka
selanjutnya dilakukan analisis model yang telah digambarkan. Kusiak (1999)
menjelaskan bahwa ada dua tipe analisis yang dapat dilakukan untuk perbaikan proses,
yaitu: analisis observasi (manual) dan analisis computational. Pada analisis observasi,
terdapat 5 cara yang dilakukan (Kusiak, 1999), yaitu:
28
diperlukan
akan
dapat
mengurangi
lamanya
durasi
dan
29
5. Eliminasi siklus
Gambar berikut ini merupakan prinsip eleminasi siklus dalam model IDEF3.
Aktivitas 3 pada gambar telah dieliminasi dari model sehingga tidak terjadi
siklus.
30
untuk mendeteksi aktivitas-aktivitas mana yang mungkin dapat tereliminasi, yang dapat
diparalel, dapat digabungkan, dapat disederhanakan, di tambah nilai prosesnya ataupun
diotomasikan proses aktivitasnya.
Sedangkan analisis quantitative (kuantitatif) merupakan analisis performance
yang mengevaluasi proses berdasarkan nilai numerik dari parameter, seperti tingkatan
suksesnya, lamanya durasi dan besarnya biaya, serta jumlah aktivitas yang terjadi.
Analisis quantitative (kuantitatif) memerlukan informasi yang dapat diandalkan secara
statistik, maka untuk mendapatkan informasi seperti itu diperlukan analisis
computational untuk identifikasi proses seperti adanya pengembangan algoritma dalam
optimisasi proses bisnis.
Karena sifat model proses yang kualitatif, analisis sering didasarkan pada
metoda observasi (Kusiak et al., 1999). Seperti yang dijelaskan di atas bahwa terdapat
berbagai cara untuk melakukan analisis observasi yang memungkinkan analisis untuk
31
identifikasi model yang kurang sempurna. Model IDEF3 (dengan resources) dapat
digunakan untuk mengidentifikasikan aktivitas yang perlu dieliminasi. Ketika aktivitasaktivitas tersebut di dekomposisi, control dan mekanisme merupakan constraints untuk
setiap aktivitas. Seperti contohnya, sumber daya mungkin dapat diganti dengan
perlengkapan yang otomatis atau penghilangan control ataupun penyederhanaan control
untuk aktivitas tersebut. Control merupakan sejumlah informasi yang diperlukan untuk
melaksanakan suatu aktivitas sehingga pengurangan beberapa informasi diperlukan
akan dapat mengurangi lamanya durasi dan penyederhanaan proses seperti
penyederhanaan prosedur dan mengeliminasi beberapa aktivitas. Hasil yang diperoleh
dari analisis qualitative dan analisis quantitative dapat digunakan untuk perbaikan
proses bisnis. Teknik pemodelan proses bisnis seperti flowchart dan IDEF yang
menggunakan pendekatan diagram tidak mampu menganalisis secara kuantitatif dan
tidak mampu mengoptimisasi struktur proses bisnis karena hanya dilakukan secara
manual, hanya dapat dilakukan pada kasus yang sederhana saja tanpa adanya
kemampuan untuk generalisasinya dan hanya menggunakan simbol standar. (Vergidis et
al.,2007).
33
34
(2.1)
(2.2)
xj R, j=1,........,n
(2.3)
Tipe dari pemograman matematis dapat ditentukan oleh beberapa faktor, yaitu :
Formulasi permasalahan
Solusi
Interference
Engine
Basis
Pengetahuan
35
mengarah pada solusi. Ada 2 teknik pencarian dan pelacakan yang lazim digunakan,
yaitu teknik pencarian buta (blind search) dan teknik pencarian heuristik (heuristic
search). Teknik pencarian buta (blind search) ada 2 macam, yaitu breadth first search
dan depth first search. Teknik pencarian heuristik (heuristic search) terdapat beberapa
metode yang sudah/mulai dikembangkan seperti generate and test, hill climbing, tabu
search, simulated annealing, algoritma genetika, dan algoritma semut.
2.9 Algoritma Genetika
Algoritma genetika (AG) merupakan jenis Evolutionary Algorithm yang paling
populer. Algoritma genetika ini dipengaruhi oleh ilmu biologi dimana baik istilah
maupun konsep yang digunakan berasal dari istilah dan konsep dalam biologi itu
sendiri, terutama mengenai genetika.
2.9.1
mekanisme seleksi alam dan genetika alam untuk menentukan struktur-struktur atau
individu-individu berkualitas tinggi yang terdapat dalam sebuah domain yang disebut
populasi. Algoritma genetika dikembangkan oleh John Holland untuk pertama kalinya.
Ia menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami ataupun buatan)
dapat diformulasikan dalam bentuk terminologi genetika. Keberagaman pada evolusi
biologis adalah variasi dari kromosom antar individu organisme. Variasi kromosom ini
akan mempengaruhi laju reproduksi dan tingkat kemampuan organisme untuk tetap
hidup. Individu yang lebih fit akan memiliki tingkat survival dan tingkat reproduksi
yang lebih tinggi jika dibandingkan dengan individu kurang fit. Pada saat generasi,
populasi secara keseluruhan akan lebih banyak memuat organisme yang fit. Proses
evolusi biologis itu sendiri dipengaruhi oleh empat kondisi, yaitu :
1. Kemampuan suatu organisme untuk berkembang biak (melakukan reproduksi).
2. Keberadaan populasi dari organisme yang dapat melakukan reproduksi.
3. Variasi/keberagaman organisme dalam suatu populasi.
36
Algoritma
Keterangan
Genetika
Kromosom
String
Gen
Karakter
Stringyang
dibentukdaribeberapakarakter
Informasitunggaldalamsatukromosom,sekumpulangenmembentuk
kromosom
Alele
Nilaikarakter Informasiyangterkandungdalamgen
Lokus
PosisiString
Setiapkaraktermempunyaiposisi
Genotip
Struktur
Satuataubeberapastringakan
bergabungmembentukstruktur.
Fenotip
Parameter
bilastrukturtersebutdikodekan
akandiperolehsatutitikyangmerupakansalahsatualternatifsolusi
37
Goldberg (1989) menyebutkan bahwa terdapat tiga tipe untuk pencarian titik optimal,
yaitu :
1. Calculus Based
Metoda ini berorientasi pada penyelesaian persamaan matematis untuk mencari
titik ekstrim lokal. Ada dua jenis, yaitu metoda langsung dan metoda tidak
langsung. Metoda langsung berharap pada fungsi pertidaksamaan dan
mengerakkannya ke solusi sekitar yang memungkinkan untuk mencapai optimal
lokal. Metoda tidak langsung mencari ekstrim lokal dengan menyelesaikan
beberapa pertidaksamaan matematis, sampai terjadi tingkat kemiringan nol untuk
semua arah. Kedua metoda ini memiliki kelemahan, yaitu kedua metoda ini hanya
mencapai optimal lokal. Di samping itu, jika suatu nilai optimal lokal telah
tercapai, untuk mencari solusi yang lebih baik dibutuhkan metoda modifikasi
solusi ekstrim baik berupa mengadaptasi aspek kerandoman, maupun dengan
aturan-aturan tertentu. Permasalahan lainnya adalah metoda ini sangat bergantung
pada fungsi turunan dari fungsi utama.
2. Enumerative
Metoda ini mencari nilai fungsi obyektif pada setiap poin dalam ruang solusi satu
persatu. Algoritma ini cukup sederhana, tetapi kurang efisien terlebih untuk
permasalahan riil dengan ruang solusi yang sangat besar.
3. Random Search
Metoda ini banyak menjadi perhatian akhir-akhir ini sejalan dengan
berkembangnya penelitian di bidang algoritma, kecerdasan buatan, dan komputasi
evolusioner. Menyadari kelemahan pada dua metoda sebelumnya, berbagai variasi
metoda random search, baik berupa guided search hingga multiple points solution
telah dikemukakan dalam berbagai penelitian yang pada akhirnya berkembang
yaitu metoda simulated annealing, algoritma genetika, dan algoritma evolusioner
lainnya.
Isu utama yang mengiringi algoritma genetika adalah robustness, yaitu keseimbangan
antara efisiensi dan efektivitas yang diperlukan untuk mencari solusi pada berbagai
lingkungan permasalahan yang berbeda. Jika level adaptasi dapat dicapai semakin
tinggi, sistem yang sudah ada dapat melaksanakan fungsinya lebih lama dan lebih baik.
38
Karakteristik robust inilah yang mampu diakomodasi oleh efisiensi dan fleksibilitas dari
sistem biologi. Karakter-karakter seperti perbaikan sendiri (self repair), pemanduan
sendiri (self guidance) dan reproduksi adalah aturan-aturan evolusi yang ada dalam
sistem biologi yang mampu meningkatkan performansi artifisial.
Dengan menggunakan prinsip-prinsip evolusi, algoritma genetika memiliki perbedaan
mendasar dibandingkan dengan metoda pencarian solusi lainnya. Goldberg (1989)
menyebutkan perbedaan mendasar ini, yaitu :
Algoritma genetika tidak bekerja secara langsung, tetapi bekerja dengan hasil
kodifikasi (parameter) solusi. Solusi beranalogi dengan sifat fisik makhluk
hidup, sedangkan kodifikasi solusi beranalogi dengan pengkodean sifat fisik ke
kromosom. Evolusi yang merupakan inti dari algoritma genetika bekerja dengan
memanipulasi isi kromosom. Hal ini menyebabkan algoritma genetika tidak
dipengaruhi oleh persoalan yang dihadapi secara langsung.
Algoritma
genetika
menggunakan
aturan
transisi
probabilistik,
bukan
39
2.9.2
pada ilmu biologi dimana konsepnya pun berasal dari ilmu biologi. Istilah-istilah
tersebut antara lain:
1. Populasi
Populasi merupakan teknik pencarian yang dilakukan sekaligus atas sejumlah
solusi yang mungkin.
2. Kromosom
Kromosom merupakan suatu solusi yang masih berbentuk simbol.
3. Generasi
Generasi merupakan populasi berikutnya setelah populasi awal yang merupakan
hasil evolusi kromosom-kromosom melalui iterasi. Populasi awal itu sendiri
dibangun secara acak.
4. Fungsi Fitness
Fungsi fitness merupakan alat ukur yang digunakan dalam proses evaluasi
kromosom pada setiap generasi.
5. Anak (Offspring)
Anak (offspring) merupakan generasi berikutnya yang terbentuk dari gabungan
dua kromosom sekarang yang bertindak sebagai induk/orang tua (parent)
dengan menggunakan operator penyilangan (crossover) maupun proses mutasi.
Dalam genetika alam, kromosom terdiri dari susunan gen. Tiap gen mengandung
nilai atau sifat tertentu yang disebut allele, sedangkan posisi gen dalam kromosom
disebut lokus. Selanjutnya satu atau beberapa kromosom bergabung membentuk paket
40
genetik yang disebut sebagai genotif. Interaksi genotif ini dengan lingkungannya
disebut fenotif.
Dalam genetika buatan, kromosom bersesuaian dengan string yang dibentuk dari
beberapa karakter. Setiap karakter ini mempunyai posisi (lokus) dan mengandung nilai
tertentu (allele). Satu atau beberapa string akan bergabung membentuk struktur
(genotif), bila struktur tersebut dikodekan akan diperoleh satu titik yang merupakan
salah satu alternatif solusi (fenotif).
2.9.3
Aplikasi dalam masalah optimisasi, yaitu untuk optimisasi numerik dan optimisasi
kombinatorial seperti Traveling Salesman Problem (TSP), perancangan Integrated
Circuit atau IC, Job Shop Scheduling, optimisasi video, dan suara.
Pemrograman Otomatis
41
pada learning classifier systems atau symbolic production systems serta untuk
mengontrol robot.
Model Ekonomi
Aplikasi dalam model sistem imunisasi, yaitu untuk memodelkan berbagai aspek
dalam sistem imunisasi alamiah, seperti somatic mutation selama kehidupan
individu dan menemukan keluarga dengan gen ganda (multi-gene families)
sepanjang waktu evolusi.
Model Ekologis
Aplikasi dalam interaksi antara evolusi dan belajar, yaitu untuk mempelajari
bagaimana proses belajar suatu individu bisa mempengaruhi proses evolusi suatu
spesies dan sebaliknya.
2.9.4
42
atau
bahkan
tidak
ada
pengetahuan
yang
memadai
untuk
yang dihadapi,
Solusi yang diharapkan tidak harus paling optimal, tetapi cukup bagus atau bisa
diterima,
Terdapat batasan waktu, misalnya dalam real time systems atau sistem waktu
nyata.
Mempunyai multi-objective dan multi-criteria sehingga diperlukan solusi yang
2.9.5
43
2. Prosedur Inisialisasi
Inisialisasi kromosom yang terdapat dalam suatu populasi dilakukan setelah
ukuran populasi tersebut ditentukan dimana ukuran populasi tergantung pada
masalah
yang
akan
dipecahkan
dan
operator
genetika
yang
akan
Roulette-wheel selection.
Local selection.
Trancation selection.
Tournament selection.
5. Operator Genetika
Operator genetika ada dua, yaitu:
1. Operator untuk melakukan rekombinasi, terdiri dari:
- Rekombinasi diskret
- Rekombinasi intermediate (menengah)
- Rekombinasi garis
- Rekombinasi garis yang diperluas
2. Mutasi
2.9.6
Algoritma genetika dalam matlab memiliki tujuh komponen dimana dalam tiap-tiap
komponen terdapat variasi metode yang diusulkan yang masing-masing memiliki
kelebihan dan kekurangan. Komponen-komponen algoritma genetika tersebut, antara
lain:
1. Skema Pengkodean
Skema yang paling umum digunakan untuk pengkodean ada tiga, yaitu:
Real-number encoding.
Nilai gen berada dalam interval [0,R], dimana R adalah bilangan real positif dan
biasanya R=1.
0
45
g1
g2
g3
g4
g5
g6
g7
g8
g9
Setiap gen bisa bernilai salah satu bilangan bulat dalam interval [0,9].
2
g1
g2
g3
9
g4
g5
g6
0
g7
1
g8
3
g9
Binary encoding.
x2
67
8
1 ,0 0 0 0
g2
x3
67
8
0 ,0 1 3 1
g3
2. Nilai Fitness
Fitness merupakan istilah yang digunakan dalam ilmu Biologi sebagai ukuran
kinerja suatu individu untuk tetap bertahan hidup dalam lingkungannya. Dalam
algoritma genetik, fungsi fitness adalah fungsi objektif dari masalah yang akan
dioptimisasi.
Fitness dalam
46
Seleksi orang tua merupakan pemilihan dua buah kromosom sebagai orang tua
yang akan dipindah-silangkan, biasanya dilakukan secara proporsional sesuai
dengan nilai fitnessnya. Metode yang umum digunakan dalam seleksi ini adalah
metode roulette-wheel, yaitu metode seleksi dengan penempatan masing-masing
kromosom pada potongan lingkaran pada roda roulette-wheel secara
proporsional sesuai dengan nilai fitnessnya. Kromosom dengan nilai fitness
lebih besar menempati potongan lingkaran yang lebih besar dibandingkan
Nilai Fitness
K1
K2
K3
0,5
K4
0,5
Jumlah
K4
K3
25%
Kromosom
12,5%
12,5%
K1
50%
K2
Berdasarkan contoh pada gambar 2.14 maka K2 memiliki nilai fitness yang
paling besar dan memiliki peluang sebesar 0,5 (2 dibagi 4) untuk terpilih sebagai
orang tua.
4. Pindah Silang
Pindah silang (crossover) merupakan proses memindah-silangkan dua buah
kromosom guna memperoleh kromosom yang mengarah pada solusi yang bagus.
Namun, pindah silang dapat berakibat buruk bila ukuran populasinya sangat
kecil dimana suatu kromosom dengan gen-gen yang mengarah ke solusi akan
sangat cepat menyebar ke kromosom lainnya. Ada beberapa cara pindah silang,
di antaranya adalah pindah silang satu titik potong (one-point crossover), pindah
silang lebih dari satu titik potong (n-point crossover), dan uniform crossover.
One-point crossover merupakan penyilangan dengan satu titik potong yang
dipilih secara random dimana bagian pertama dari orang tua 1 digabungkan
dengan bagian kedua dari orang tua 2. Sedangkan untuk n-point crossover
47
penyilangan dilakukan dengan lebih dari satu titik potong yang dipilih secara
random. Uniform crossover merupakan kasus khusus dari n-point crossover
dimana n sama dengan jumlah gen dikurangi satu.
5. Mutasi
Operator crossover
48
F = U j =1 F j
7. Penggantian Populasi
Penggantian populasi (Generation Replacement) merupakan penggantian semua
individu (misal N individu dalam satu populasi) dari generasi oleh N individu
baru hasil pindah silang dan mutasi. Skema penggantian populasi secara umum
dapat dirumuskan berdasarkan satu ukuran yang disebut generational gap 6 yang
menunjukkan presentase populasi yang digantikan dalam setiap generasi (G =
1).
Steady-state reproduction merupakan skema penggantian yang paling ekstrim
dimana hanya mengganti satu individu dalam setiap generasi, yaitu G = 1/N (N
adalah jumlah individu dalam populasi). Pada steady-state reproduction,
biasanya G sama dengan 1/N atau 2/N. Dalam setiap generasi, ukuran populasi
perlu dijaga tetap N dengan cara menghapus sejumlah NG individu. Prosedur
penghapusan bisa berlaku pada individu bernilai fitness paling rendah atau
individu yang paling tua, atau bisa juga pada semua individu dalam populasi.
49
2.9.7
populasi
tersebut
untuk
mendapatkan
kandidat
induk,
P(generasi).
c. Lakukan crossover pada P(generasi).
d. Lakukan mutasi pada P(generasi).
e. Lakukan evaluasi fitness setiap individu pada P(generasi).
f. Bentuk populasi baru: P(generasi) = {P(generasi-1) yang survive,
P(generasi)}
2.9.8
Parameter Genetika
Penentuan parameter ini merupakan merupakan penentuan parameter kontrol
algoritma genetika, yaitu ukuran populasi (popsize), peluang crossover (pc), dan peluang
mutasi (pm). Penentuan nilai parameter ini didasarkan pada permasalahan yang akan
dipecahkan. Parameter-parameter
50
a. Ukuran populasi
Tidak ada aturan yang baku dalam menentukan ukuran populasi (di satu generasi).
Biasanya ukuran populasi diperoleh dengan metode trial and error Bila terdapat
sedikit string, algoritma genetik hanya mempunyai beberapa pilihan untuk
melakukan crossover, yang berarti hanya sebagian kecil dari search space (domain
dari suatu solusi yang mungkin) yang dieksplorasi. Sebaliknya, bila terlalu banyak
string, proses algoritma genetik menjadi lambat. Penelitian menunjukkan bahwa
setelah batas tertentu (sangat bergantung dari encoding dan masalahnya) ternyata
memakai ukuran populasi sangat besar tidak terlalu berguna karena tidak
menyelesaikan masalah dengan lebih cepat (Saputro dan Nico, 1994).
b. Probabilitas crossover (Pc)
Probabilitas crossover mengendalikan operator crossover. Penentuan besarnya Pc
tidak mempunyai aturan khusus namun karena crossover merupakan operator
genetik utama yang memungkinkan timbulnya titik-titik pencarian baru, pada
umumnya Pc besar. Semakin besar Pc, semakin cepat string baru diperkenalkan ke
dalam populasi. Akan tetapi jika nilai Pc yang diberikan terlalu besar, string yang
merupakan kandidat solusi terbaik mungkin dapat hilang lebih cepat dari seleksi.
Jika string-string yang dipilih mempunyai probabilitas (yang ditentukan secara acak)
lebih kecil daripada Pc maka crossover akan bekerja pada string string tersebut.
Dalam setiap generasi, sebanyak Pc x n individu dalam populasi mengalami
crossover, dimana n adalah jumlah individu dalam sebuah populasi (Saputro dan
Nico, 1994).
c. Probabilitas mutasi (Pm)
Probabilitas mutasi mengendalikan operator mutasi. Penentuan besarnya Pm tidak
mempunyai aturan khusus namun pada umumnya probabilitas mutasi yang
dipergunakan biasanya lebih kecil daripada probabilitas crossover. Hal ini sesuai
prinsip seleksi alam murni, mutasi jarang sekali muncul. Sama seperti Pc, jika
string-string yang dipilih mempunyai probabilitas (yang ditentukan secara acak)
lebih kecil daripada Pm maka mutasi akan bekerja pada string string tersebut.
51
2.10
52
tetapi, kebanyakan tujuan dari permasalahan tersebut biasanya mengalami konflik, yang
dimana apabila kita mengoptimisasi satu fungsi tujuan yang pertama, maka kita
mungkin tidak akan dapat mengoptimalkan semua fungsi tujuan itu secara bersamaan.
Menurut A.Osyczka, (1985) definisi dari Multi-objective Optimization adalah :
sebuah vektor dari variabel keputusan yang merupakan pembatas dan mengoptimalkan
vektor fungsi yang memiliki nilai fungsi tujuan. Fungsi ini terbentuk dari penjelasan
kriteria pencapaian secara matematika yang dimana biasanya menunjukkan konflik di
antara fungsi tujuannya. Oleh sebab itu, optimisasi digunakan untuk menemukan sebuah
solusi yang akan memberikan nilai yang dapat mengoptimalkan semua fungsi tujuan yang
dapat diterima sepenuhnya oleh pembuat keputusan
2
(1,2,....k)
2a
2
(1,2,....k)
2a
Sequential Decomposition
53
tradeoff terbaik di antara fungsi tujuan yang bersaing (Deb, 2001). Adapun bentuk
umum dari model matematis dari fungsi ini adalah :
Min/max fm (x) m = 1,2,..m
(2.4)
Subject to
g i (x) 0
j = 1,2,.......,j
(2.5)
h i (x) = 0
k = 1,2,.......,k
(2.6)
(2.7)
x1 mendominasi x2
54
1 Vs 2: 1 mendominasi 2
1 Vs 5: 5 mendominasi 1
kumpulan anggota solusi yang ada. Pareto-Optimal set adalah kumpulan solusi yang
tidak dikuasai (Non-dominated solution set) di antara domain solusi keputusan yang
mungkin secara keseluruhan. Sedangkan batas yang digambarkan dengan kumpulan
semua titik-titik yang dipetakan dari Pareto-Optimal set disebut Pareto-Optimal Front.
Sasaran dari multi-objective optimization (MOOP) adalah menemukan suatu set solusi
yang sedekat mungkin dengan Pareto Optimal Front dan menemukan set solusi yang
berbeda sebisa mungkin.
55
Feasible
Objective
Space
F2(x)
2
Pareto-Optimal Front
F1(x)
Gambar 2.18 Pencarian set solusi dari MOOP
(Sumber: Deb,2001)
Misalkan vektor x adalah sebuah solusi yang potensial untuk masalah optimisasi. Untuk
vektor x tersebut, kriteria fitness fi adalah fi(x) i = 1,2 ,,K, dimana K adalah jumlah
kriteria optimisasi. Vektor x disebut sebagai pareto-optimal jika tidak ada individu y
sedemikian hingga fi(y) fi(x) untuk semua i, dan fj(y) < fj(x) untuk paling sedikit satu
j, dimana j = 1,2,.K. Himpunan solusi-solusi ini akan membentuk pareto-optimal
set, dan vektor yang termasuk dalam himpunan ini disebut sebagai non-dominated.
Secara umum pareto-optimal set berisi lebih dari satu elemen. Gambar 2.19 di bawah
ini mengilustrasikan pareto optimally dimana titik-titik yang digambarkan dengan
lingkaran membentuk pareto-optimal set di antara titik yang ada.
Gambar 2.19 Contoh Dominated ,Non Dominated Solution dan Pareto Optimally
56
2.11
Algoritma NSGA-II
Kalyanmoy
Deb
mengembangkan
variasi
lain
dari
algoritma
yang
dikembangkan di Srinivas oleh Kalyanmoy Deb yang merupakan salah satu dari
evolutionary algoritms.
masalah itu maka diperkenalkan algoritma NSGA-II yang dapat menghasilkan solusi
yang lebih baik dengan perhitungan yang lebih sedikit, pendekatan elitist, dan
pembagian parameter yang lebih sedikit.
57
58
59
Inisialisasi front = 1 i =1
Dilakukan pada front ke-i ketika Fi
9 Q = merupakan penyimpanan kumpulan individu-individu untuk front ke
(i+1).
9 Untuk setiap individu p di dalam Front Fi
Setiap individu q yang berada dalam Sp (Sp berisikan semua individuindividu yang didominasi oleh p)
o
q = q 1, pengurangan individu q.
I ( k + 1) m I ( k 1) m
f mmax f mmin
(2.8)
atau jika p dan q berada dalam front Fi yang sama dan Fi(dp) > Fi(dq) maka
crowding distance dilakukan.
61
c1,k =
1
[(1 k ) p1,k + (1 + ) p2,k ]
2
(2.9)
c 2, k =
1
[(1 + k ) p1,k + (1 ) p2,k ]
2
(2.10)
dimana ci,k adalah anak (child) ke- dengan sejumlah komponen k, pi,k merupakan induk
(parent) yang dipilih dan k (0) yang merupakan sampel dari bilangan random yang
di-generate yang memiliki kepadatan.
p ( ) =
1
( c +1) c , if 0 1
2
62
(2.11)
p ( ) =
1
( c +1) 1c + 2 , if > 1
2
(2.12)
Distribusi tersebut dapat diperoleh melalui bilangan random ui secara uniform (0,1). c
adalah indeks distribusi untuk melakukan crossover, yang menentukan seberapa baik
penyebaran solusi anak dari induknya.
(u ) = (2u )
(u ) =
( + 1 )
(2.13)
1
[2(1 u )]1 ( + 1)
(2.14)
c k = p k + p ku p kl k
(2.15)
dimana ck adalah anak (child) dan pk adalah induk (parent) dengan p ku yang menjadi
batas atas pada semua bagian induk, p kl merupakan batas bawah dan k adalah small
variation yang digunakan dalam perhitungan polynomial distribution dengan
menggunakan :
k = (2rk )
m +1
1, if rk < 0.5
k = 1 [2(1 rk )]
m +1
, if rk 0.5
(2.16)
(2.17)
rk merupakan bilangan random yang uniform (0,1) dan m merupakan indeks distribusi
untuk melakukan mutasi.
2.11.2.6 Rekombinasi dan Seleksi
Populasi anak dikombinasikan dengan populasi awal yang dihasilkan pada
generasi tersebut dan seleksi akan dilakukan untuk membentuk individu-individu pada
generasi berikutnya, dan memastikan adanya elitism. Populasi kemudian akan diurutkan
berdasarkan non domination, generasi yang baru tersebut diisi oleh setiap front yang
63
berikutnya sampai ukuran populasi melebihi ukuran populasi yang awal. Jika
menambahkan semua individu-individu di dalam front Fj, maka populasi akan melebihi
populasi N, setelah itu individu-individu di dalam front Fj dipilih berdasarkan nilai
crowding distance dengan mengurangi nilainya sampai ukuran populasinya berukuran
N. Kemudian proses mengulang untuk memulai generasi pada berikutnya.
64