SWARM INTELLIGENCE (Teori & Case Study)
|
|
|
- Shinta Sasmita
- 8 tahun lalu
- Tontonan:
Transkripsi
1 Judul SWARM INTELLIGENCE (Teor & Case Study) PSO, ACO, ABC, ACO-SVR, etc Oleh: Imam Cholssodn Ef Ryandan PENGANTAR Buku n member pemahaman konsep lanjut dan detal penyelesaan untuk pengembangan Swarm Intellgence mula dar dasar-dasar sebaga cara yang palng mudah untuk awalan dalam pemahaman, sampa pemecahan kasus yang komplek yang membutuhkan satu atau beberapa penggabungan dua metode atau lebh. Mater yang terseda selan memudahkan bag para pembaca, juga untuk mendukung mater perkulahan yang dapat membantu pengayaaan mahasswa. Imam Cholssodn Dosen Pengampu MK Swarm Intellgence FILKOM UB 206
2 Kata Pengantar Alhamdulllahh robbl alamn, puj syukur kehadrat Allah SWT atas segala rahmat dan karuna-nya dengan terselesakannya penulsan buku n dengan judul Swarm Intellgence. Buku n merupakan uraan dar pemahaman konsep tngkat lanjut dalam sstem cerdas dan penerapannya, dengan mengedepankan keteramplan dalam pembuatan dan hasl mplementas dengan berbaga kombnas algortma berbass sstem cerdas. Mata kulah Swarm Intellgence adalah dspln kelmuan dar sstem cerdas yang berhubungan dengan sstem alam dan buatan, yang terdr dar banyak ndvdu yang mengkoordnaskan menggunakan konsep kontrol desentralsas (kecerdasan sosal dalam berkelompok) dan self-organsas (kecerdasan personal). Secara khusus, Swarm Intellgence berfokus pada perlaku kolektf yang dhaslkan dar nteraks lokal dar ndvdu dengan satu sama lan dan dengan lngkungan mereka. Swarm Intellgence mempelajar perlaku d alam dar sekawanan kolon burung, semut, lebah, dan lannya dalam penyelesaan kasus pada berbaga bdang. Hal yang palng utama dalam Swarm Intellgence adalah bagamana membuat representas ndvdu sebaga solus yang sesua dengan kasus yang dselesakan. Penuls mengucapkan termakash yang sebesar-besarnya kepada beberapa phak terkat yang telah membantu dalam penyelesaan buku n:. Para penuls artkel tentang Swarm Intellgence (SI) d forum, web, blog dan buku yang menjad referens buku n untuk memberkan masukan yang sangat berharga sekal untuk perbakan dan penyelesaan buku n. 2. Mbak Ef Ryandan, yang telah banyak membantu penulsan buku n. Semoga kontrbusnya menjad lmu yang barokah dan bermanfaat. Amn. :) Tdak ada gadng yang tak retak, begtulah ungkapan yang tepat terkat dengan buku n. Maka penuls memohon krtk dan saran untuk perbakan dan penyempurnaan buku n. Selamat membaca buku n dan semoga bermanfaat. Malang, 8 Jun 206 Penuls
3 Kontrbutor Mahasswa Beberapa mahasswa terbak saya pada MK Swarm Intellgence d Semester Ganjl adalah sebaga berkut:. Muhammad Fhadl, Daneswara Jauhar, Dhmas Anjar Prabowo, Anang Hanaf, Aryeswara Sunaryo. 2. Reza Ad Cahya, Nanda Agung Putra, Vera Rusmalawat, Mutha Azzahra, Dyan Dyanmta Putr. 3. Brgtta Ayu Kusuma Wardhany, Istana Rachm, Nur Frra Hasjdla, Zulanur Khaqqyah, Idham Tratmaja. 4. Husn Muhamad, Cahyo Ad Prasojo, Nur Affah Suganto, Lstya Surtnngsh. Semoga kontrbus kalan menjad lmu yang barokah dan bermanfaat. Amn. :) Malang, 8 Jun 206 Penuls
4 Daftar Is Judul... Kata Pengantar... Kontrbutor Mahasswa... Daftar Is... v Daftar Tabel... v Daftar Gambar... x Daftar Source Code... x BAB Konsep Swarm Intellgence.... Pengantar....2 Hrark Swarm Intellgence Swarm Intellgence Prnsp Kerja Swarm Intellgence Tugas Kelompok... 6 BAB 2 Dasar-Dasar Algortma Partcle Swarm Optmzaton Pengantar Struktur Algortma PSO Stud Kasus : Maksmas Fungs Sederhana Representas Partkel Insalsas Update Kecepatan Update Poss Update Pbest dan Gbest Konds Berhent Tugas Kelompok... 8 BAB 3 Real-Code PSO Sklus RCPSO Representas Partkel Insalsas Update Kecepatan v
5 3..4 Update Poss dan Htung Ftness Update Pbest dan Gbest Tme Varant Algortma PSO Global Best Vs Local Best PSO Penanganan Konvergens Dn Tugas Kelompok... 3 BAB 4 Optmas Masalah Kombnatoral Pengantar Algortma Hybrd Dscrete Partcle Swarm Optmzaton (HDPSO) Struktur algortma HDPSO Rumus Update Kecepatan dan Poss Travellng Salesman Problem (TSP) Insalsas Kecepatan awal Partkel Insalsas Poss awal Partkel Insalsas Pbest dan Gbest Update Kecepatan Update Poss Update Pbest dan Gbest Schedulng Problem Flow-Shop Schedulng Problem (FSP) Two-Stage Assembly Flow-Shop Schedulng Problem Job-Shop Schedulng Problem (JSP) Flexble Job-Shop Schedulng Problem (FJSP) Tugas Kelompok BAB 5 Artfcal Bee Colony (ABC) Pengantar Real Code Artfcal Bee Colony (ABC) Dscrete ABC Case Study: Travellng Salesman Problem (TSP) Insalsas Parameter v
6 5.4.2 Fase Intal Improvement Soluton (Fase Employeed Bee) Improvement Soluton (Fase Onlooker Bee) Fase Scout Bee Tugas Kelompok BAB 6 Algortma Ant Colony Optmzaton (ACO) Pengantar Dscrete Ant Colony Optmzaton (ACO) Case Study: Travellng Salesman Problem (TSP) Insalsas Penyusunan Jalur Kunjungan Setap Semut Cek konds berhent Tugas Kelompok BAB 7 Topk Lanjut Pada Swarm Intellgence Pengantar Hybrd ACO dengan SVR Support Vector Regresson (SVR) Tranng dan Testng SVR Penyelesaan ACO-SVR Tugas Kelompok BAB 8 Project Plhan Swarm Intellgence Optmas Penjadwalan Pengerjaan Software Formulas Permasalahan Implementas Optmas Komposs Menu Makanan Formulas Permasalahan Implementas Optmas Penjadwalan Praktkum Formulas Permasalahan Implementas Optmas Naïve Bayes Classfer dengan PSO v
7 8.4. Formulas Permasalahan Implementas Daftar Pustaka Indeks Bograf Penuls v
8 Daftar Tabel Tabel 4. Tabel Jarak Antar Smpul Tabel 7. Data Nla Tukar IDR Terhadap USD Jul Tabel 7.2 Dataset dengan 4 ftur Tabel 7.3 Hasl Normalsas Data Lath Tabel 7.4 Hasl Normalsas Data Uj Tabel 7.5 Data dan Tabel 7.6 Jarak Data Lath Tabel 7.7 Matrk Hessan Tabel 7.8 Nla E * Tabel 7.9 Nla δα dan δα Tabel 7.0 Nla α * dan α Tabel 7. Nla f(x) Data Lath Tabel 7.2 Nla f(x) Data Uj Tabel 7.3 Hasl Denormalsas Data Lath... 9 Tabel 7.4 Hasl Denormalsas Data Uj... 9 Tabel 7.5 Nla MAPE... 9 Tabel 8. Data yang Dgunakan Tabel 8.2 Insalsas bee awal pada fase employeed bee Tabel 8.3 Gantt-chart bee ke Tabel 8.4 Gantt-chart bee ke Tabel 8.5 Gantt-chart bee ke Tabel 8.6 Improvement SO pada tahap employeed bee Tabel 8.7 Gantt-chart bee dengan ftness terbak Tabel 8.8 Hasl mprovement SO pada tahap employeed bee... 0 Tabel 8.9 Improvement SS pada tahap bee ke Tabel 8.0 Gantt-chart SS bee ke- dengan ftness terbak Tabel 8. Improvement SS pada tahap bee ke Tabel 8.2 Gantt-chart SS bee ke-2 dengan ftness terbak Tabel 8.3 Improvement SS pada tahap bee ke v
9 Tabel 8.4 Gantt-chart SS bee ke-3 dengan ftness terbak Tabel 8.5 Hasl mprovement SS pada tahap employeed bee Tabel 8.6 Nla probabltas keseluruhan employeed bee hasl SS 04 Tabel 8.7 Nla probabltas kumulatf dan pengecekan konds r Tabel 8.8 Bee baru hasl seleks RWS Tabel 8.9 Improvement IO pada tahap onlooker bee Tabel 8.20 Gantt-chart bee dengan ftness terbak Tabel 8.2 Hasl mprovement IO pada tahap onlooker bee Tabel 8.22 Improvement IS pada tahap bee ke Tabel 8.23 Gantt-chart IS bee ke- dengan ftness terbak Tabel 8.24 Improvement IS pada tahap bee ke Tabel 8.25 Gantt-chart IS bee ke-2 dengan ftness terbak Tabel 8.26 Improvement IS pada tahap bee ke Tabel 8.27 Gantt-chart IS bee ke-3 dengan ftness terbak Tabel 8.28 Hasl mprovement IS pada tahap onlooker bee Tabel 8.29 Global best terplh Tabel 8.30 Bee hasl nsalsas awal Tabel 8.3 Bee hasl mprovement terakhr... 0 Tabel 8.32 Bee baru untuk teras selanjutnya... 0 Tabel Daftar Komposs Zat Gz Makanan per 00 gram Tabel Hasl Konvers Komposs Gz Data Makanan Tabel Ftnes tap partkel Tabel 8.36 Data Kelas Praktkum... 4 Tabel 8.37 Data Ses Praktkum... 4 Tabel 8.38 Data Dosen Pengampu Tabel 8.39 Data Assten Praktkum Tabel 8.40 Insalsas Poss Awal Tabel 8.4 Insalsas Kecepatan Awal Partkel Tabel 8.42 Pembulatan Menjad Blangan Integer Tabel 8.43 Repar dan Cek Constrant Tabel 8.44 Hasl Repar x
10 Tabel 8.45 Pbest Partkel Tabel 8.46 Gbest Partkel Tabel 8.47 Update Kecepatan Tabel 8.48 Perbakan Kecepatan Tabel 8.49 Update Poss Tabel 8.50 Representas Partkel Baru Tabel 8.5 Hasl Repar Tabel 8.52 Update Pbest Tabel 8.53 Update Gbest x
11 Daftar Gambar Gambar. Ilustras... Gambar.2 Konsep Swarm Intellgence... 2 Gambar.3 Macam-Macam Swarm Intellgence... 3 Gambar.4 Smulas Pergerakan Swarm Intellgence... 3 Gambar 2. Pseudocode Struktur Umum Algortma PSO... 9 Gambar 2.2 Ilustras Gambaran Algortma PSO... 0 Gambar 2.3 Grafk Fungs Contoh (2.5)... 0 Gambar 2.4 Contoh Pengujan Konvergens Berdasarkan Perubahan Nla Ftness... 7 Gambar 3. Plottng 2D Contoh Fungs... 9 Gambar 3.2 Grafk Bobot Inerta w Gambar 3.3 Grafk c dan c Gambar 3.4 Ilustras Local Best Intal Swarm dan Local Best Second Swarm Gambar 3.5 Star dan Rng Gambar 3.6 Four Clusters dan Von Neumann Gambar 3.7 wheel dan pyramd Gambar 3.8 Pseudo code algortma PSO dengan teknk penanganan konvergens dn dengan random njecton... 3 Gambar 4. Contoh Permasalahan TSP Gambar 5. Contoh Permasalahan TSP Gambar 7. Nla Tukar IDR terhadap USD Perode Gambar 7.2 Vsualsas Hasl Peramalan Iteras SVR x
12 Daftar Source Code Source Code 8. FSPABC... 0 Source Code 8.2 Perhtungan Kalor Source Code 8.3 Insalsas Partkel Bagan Source Code 8.4 Insalsas Partkel Bagan Source Code 8.5 Update Kecepatan dan Poss Partkel Source Code 8.6 Perhtungan Penalt Source Code 8.7 Perhtungan Ftness Source Code 8.8 MRCPSO... 5 Source Code 8.9 NBCPSO x
13 BAB Konsep Swarm Intellgence. Pengantar Pengetahuan yang dberkan oleh sang pencpta (Allah SWT, Tuhan Yang Maha Esa), yang dmlk oleh sekelompok makhluk hdup memlk cr khas yang unk-unk. Jka dlhat dar aktftas dalam keseharan mereka, maka akan banyak dketahu bahwa perlakuperlakunya ternyata mampu membentuk kecerdasan yang alam, yang mampu menyelesakan tugas-tugas dalam kehdupannya. Kecerdasan alamah nlah yang melahrkan dasar kecerdasan berkelompok (Swarm Intellgence). Dalam pengantar n dsajkan lustras pada Gambar. beberapa kegatan yang serng dlakukan oleh sekelompok hewan atau secara ndvdu dengan proses atau langkah tertentu, sehngga mereka mampu untuk mencapa tujuannya. Fakta Keajaban Alam Tentang Swarm Intellgence: Gambar. Ilustras - Bagamana mereka bsa berbuat sedemkan bak sepert hal-hal d atas? - Kra-kra dmana dan bagamana mereka belajar, apakah kehdupan mereka juga mrp sepert manusa, yang punya bangsa-bangsa yang berbeda?
14 Hal-hal yang dapat dambl untuk suatu sstem cerdas sstess dar alam: - Kecerdasan Alam (Sosal & Personal) - Berkolon (berpasang-pasang), - Mencar Makanan, - Regeneras, dll. Problem yang mendasar dalam kehdupan sehar-har dan butuh optmas dengan sstem cerdas dalam penyelesaannya: - Optmas Penjadwalan (Mesn, Penddkan, Proyek) - Optmas Model Persamaan Matematka yang sangat komplek - Optmas Penyusunan Menu Makanan Keluarga - Optmas Komposs Bahan Makanan - Optmas Parameter Suatu Algortma - Optmas Seleks Ftur Dataset - Solus yang dapat dgunakan untuk teknk optmas: - Swarm Intellgence - Algortma Evolus Swarm Intellgence adalah dspln kelmuan dar sstem cerdas yang berhubungan dengan sstem alam dan buatan, yang terdr dar banyak ndvdu (populas) yang berkoordnas menggunakan konsep kontrol desentralsas (kecerdasan sosal dalam berkelompok) dan selforganzed (kecerdasan personal/ terorgansr secara mandr). Swarm Intellgence secara sngkat bsa juga dsebut sebaga kecerdasan berkelompok. Secara umum konsep swarm ntellgence dapat dpetakan sepert Gambar.2. Gambar.2 Konsep Swarm Intellgence 2
15 .2 Hrark Swarm Intellgence Macam-Macam Swarm Intellgence dapat dlhat pada Gambar.3. Gambar.3 Macam-Macam Swarm Intellgence Masng-masng algortma Swarm Intellgence memlk keunkan tersendr, dan bsa dpastkan setap mekansne yang ada past ada kelebhan dan keterbatasannya. Msal PSO yang dnspras dar sekawanan burung dan ACO dar sekawanan semut, dan ABC dar lebah. Berkut smulas pergerakan Swarm Intellgence yang dtunjukkan oleh Gambar.4. Gambar.4 Smulas Pergerakan Swarm Intellgence 3
16 .3 Swarm Intellgence Karakterstk dar Swarm Intellgence: - Mengharuskan untuk membuat desgn ulang representas solus yang sesua untuk setap goal atau contrant maupun kasus berbeda. - Terkadang tdak mencap solus global optmal atau mengalam kegagalan (terjebak pada local optmal, konvergens dn). - Beberapa mekansme alam belum dapat dpaham dengan bak. - Mengharuskan untuk setap problem optmas yang akan dselesakan telah terdefns dengan bak, mula dar nput datanya apa saja, bagamana representas solusnya, contrants-nya apa saja, bagamana rancangan rumus ftness-nya atau cost-nya. Representas solus merupakan Vektor atau matrk sederhana maupun komplek dalam bentuk tertentu dan spesfk, yang dapat berbeda bentuknya atau dubah secara dnams sesua dengan cara pandang seseorang terkat pemahamannya terhadap problem yang akan dselesakan. Representas solus bsa dsebut juga sebaga bentuk partkel atau ndvdu dalam suatu populas (kumpulan dar banyak ndvdu) yang memlk nla poss tertentu. Nla-nla dalam poss tersebut menyatakan rangkaan solus yang dbawa oleh masngmasng ndvdu. Sebaga kanddat solus optmal jka sudah mencapa konds konvergen. Int dar konsep algortma pada swarm ntellgence adalah terkat dengan pemecahan permasalahan-permasalahan yang sult sekal untuk dmodelkan dalam bentuk matematka kompleks, dan jka dbuat model persamaan matematkanya akan membutuhkan waktu yang lama. Dan dsnlah peranan algortma meta-heurstcs, yang sangat dbutuhkan penerapannya. Swarm ntellgence termasuk nature-nspred meta-heurstcs, yatu Framework algortma yang dnpras dar alam dan memlk kemampuan yang lebh dar banyak sekal plhan teknk ddalamnya yang dapat dgunakan untuk mengoptmalkan pada saat pencaran atau penelusuran solus pada berbaga macam permasalahan yang berbeda (hanya dengan sedkt modfkas), yang ddasarkan pada ntus maupun aturan-aturan yang ada melalu pendekatan emprs. 4
17 .4 Prnsp Kerja Swarm Intellgence Organzng Prncples Swarm In., berkut adalah ftur-ftur utamanya: - Autonomy: Indvdu dalam sstem mampu bekerja secara mandr (otonom)/ self-organzed, dalam mengendalkan perlaku mereka sendr bak d tngkat detektor dan efektor. - Adaptablty: Interaks antara ndvdu dapat tmbul melalu komunkas langsung atau tdak langsung. - Scalablty: Mampu men-generate kelompok-kelompok solus yang terdr dar beberapa, rbuan ndvdu, atau lebh dengan arstektur kontrol yang sama. - Flexblty: Tdak ada ndvdu tunggal yang palng utama dalam populas, jad setap ndvdu mendapat perlakuan yang sama, yatu dapat dtambahkan secara dnams, dhapus, atau dgant. - Robustness: Tdak ada koordnas yang terpusat secara past pada suatu ttk solus (ndvdu), sehngga memungknkan tdak ada satu ndvdu pun yang danggap mengalam kegagalan, karena secara desentralsas terbantu oleh ndvdu lannya. - Massvely parallel: Tugas yang dlakukan oleh masng-masng ndvdu dalam populas adalah sama. - Self-organzaton: Kecerdasan sstem tumbuh tdak hanya bertumpu pada suatu ndvdu, melankan bertumpu juga dar keseluruhan ndvdu dalam kelompok atau kawanan. Penjelasan Drect dan Indrect Communcaton: - Drect Communcaton: komunkas eksplst yang juga dapat terjad antara ndvdu. Contoh: Update Pbest, Update Gbest, Update Kecepatan Partkel, Update Poss Partkel, Waggle dance d Algortma Bee Colony. - Indrect Communcaton: Komunkas mplst yang terjad antara ndvdu melalu lngkungan sektarnya. Dkenal sebaga komunkas stgmergy = stgma (stng) + ergon (work). Artnya percept yang dterma ndvdu dar lngkungan ketka ndvdu tersebut memberkan aks tertentu ke lngkungan. 5
18 .5 Tugas Kelompok. Jelaskan perbedaan antara heurstk sederhana dan metaheurstk? 2. Jelaskan apa yang dmaksud dengan Representas solus, populas, generas dalam Swarm Intellgence! 3. Jelaskan perbedaan antara fungs ftness dan cost, yang memang keduanya sama-sama dgunakan untuk mengukur kualtas hasl dar suatu solus? 4. Apa algortma dalam Swarm Intellgence bersfat stochastc, jelaskan? 5. Jelaskan perbedaan antara Constrants dan Goal, dan berkan contohnya! 6. Jelaskan apa yang dmaksud dengan Local Optmal, Local Mnmal, Global Optmal, Global Mnmal? 6
19 BAB 2 Dasar-Dasar Algortma Partcle Swarm Optmzaton 2. Pengantar Partcle swarm optmzaton, dsngkat sebaga PSO, ddasarkan pada perlaku sebuah kawanan serangga, sepert semut, rayap, lebah atau burung. Algortma PSO menru perlaku sosal organsme n. Perlaku sosal terdr dar tndakan ndvdu dan pengaruh dar ndvdundvdu lan dalam suatu kelompok. Kata partkel menunjukkan ndvdu, msalnya seekor burung dalam kawanan burung. Setap ndvdu atau partkel berperlaku salng terhubung dengan cara menggunakan kecerdasannya (ntellgence) sendr dan juga dpengaruh perlaku kelompok kolektfnya. Dengan demkan, jka satu partkel atau seekor burung menemukan jalan yang tepat atau pendek menuju ke sumber makanan, ssa kelompok yang lan juga akan dapat segera mengkut jalan tersebut meskpun lokas mereka jauh d kelompok tersebut. Metode optmas yang ddasarkan pada swarm ntellgence n dsebut algortma behavorally nspred sebaga alternatf dar algortma genetka, yang serng dsebut evoluton-based procedures. Algortma PSO n awalnya dusulkan oleh J. Kennedy dan R. C. Eberhart (Kennedy, 995). Dalam konteks optmas mult-varabel, kawanan dasumskan mempunya ukuran tertentu atau tetap dengan setap partkel poss awalnya terletak d suatu lokas yang acak dalam ruang multdmens. Setap partkel dasumskan memlk dua karakterstk poss dan kecepatan. PSO memlk tga komponen utama dantaranya: partkel, komponen kogntf dan komponen sosal, serta kecepatan partkel. Dan setap partkel merepresentaskan solus penyelesaan. Pembelajaran partkel terdr dar dua faktor yatu pengalaman partkel (dsebut cogntve learnng) dan kombnas pembelajaran dar keseluruhan swarm (dsebut socal learnng). Cogntve learnng sebaga pbest yatu poss terbak yang pernah dcapa sebuah partkel, sedangkan socal learnng sebaga gbest yatu poss terbak dar keseluruhan partkel dalam swarm. pbest dan gbest untuk menghtung kecepatan partkel, kecepatan untuk menghtung poss selanjutnya. 7
20 2.2 Struktur Algortma PSO Terdapat beberapa komponen dalam Algortma PSO dantaranya adalah sebaga berkut: - Swarm, merupakan jumlah partkel dalam populas pada suatu algortma. Ukuran swarm bergantung pada seberapa kompleks masalah yang dhadap. Secara umum, ukuran swarm pada algortma PSO cenderung lebh kecl jka dbandngkan dengan algortma evolusoner yang lan dalam mencar solus terbak. - Partkel, merupakan ndvdu dalam suatu swarm yang merepresentaskan solus penyelesaan masalah. Setap partkel memlk poss dan kecepatan yang dtentukan oleh representas solus pada saat tu. - Personal best (pbest), merupakan poss terbak yang pernah dcapa partkel dengan membandngkan ftness pada poss partkel sekarang dengan sebelumnya. Personal best dpersapkan untuk mendapatkan solus terbak. - Global Best (gbest), merupakan poss terbak partkel yang dperoleh dengan membandngakan nla ftness terbak dar keseluruhan partkel dalam swarm. - Kecepatan (velocty), v merupakan vektor yang menentukan arah perpndahan poss partkel. Perubahan velocty dlakukan setap teras dengan tujuan memperbak poss partkel semula. - Bobot nersa (nerta weght), w dgunakan untuk mengontrol dampak dar perubahan velocty yang dberkan oleh partkel. - Koefsen akseleras, merupakan faktor pengontrol sejauh mana partkel berpndah dalam satu teras. Secara umum nla koefsen akseleras c dan c 2 adalah sama yatu dalam rentang 0 sampa 4. Namun demkan, nla tersebut dapat dtentukan sendr untuk setap peneltan berbeda. Pseudo-code sebaga struktur umum algortma PSO dsajkan pada Gambar 2. sebaga berkut: 8
21 procedure AlgortmaPSO begn t = 0 nsalsas poss partkel(x t,j ), kecepatan(v t t,j ), Pbest,j = x,j t htung ftness tap partkel, dan Gbest g,j end do t = t + update kecepatan v,j (t) update poss x,j (t) htung ftness tap partkel update Pbest,j (t) dan Gbest g,j (t) whle (bukan konds berhent) t, Gambar 2. Pseudocode Struktur Umum Algortma PSO Untuk rumus yang dgunakan pada algortma PSO dapat dlhat pada persamaan berkut: Rumus update kecepatan (velocty): v t t t t Pbest x c r Gbest x w. v c. r t t, j, j, j, j 2. 2 Rumus update poss: x t, j x t, j v t, j g, j Rumus Sgmod dan update poss (untuk bnary code): sg t v, j,2 d j t,... v e, j,, j (2.) (2.2) (2.3) t t, f rand[0,] sg v, j x, j, j,2,... d 0, otherwse (2.4) Ilustras gambaran algortma PSO dtunjukkan pada Gambar 2.2 sebaga berkut: 9
22 Gambar 2.2 Ilustras Gambaran Algortma PSO 2.3 Stud Kasus : Maksmas Fungs Sederhana Untuk menjelaskan sklus PSO maka dberkan contoh sederhana masalah maksmas (mencar nla maksmum) dar sebuah fungs sebaga berkut: max, y = f(x) = -x 2 + 4x 3, 0 x 5 (2.5) Grafk dar fungs tersebut dtunjukkan pada Gambar 2.3. Nla maksmum fungs adalah y=36 pada x=7 Gambar 2.3 Grafk Fungs Contoh (2.5) 0
23 2.3. Representas Partkel Dalam sklus perkembangan algortma Partcle Swarm Optmzaton mencar solus (partkel dengan ukuran dmens tertentu) terbak terdapat beberapa proses sebaga berkut:. Insalsas - Insalsas Kecepatan Awal - Insalsas Poss awal Partkel - Insalsas Pbest dan Gbest 2. Update Kecepatan 3. Update Poss dan Htung Ftness (Sepert pada algortma evolus, fungs objektf mengukur seberapa dekat solus dengan optmum, contohnya fungs objektf mengukur performans atau kualtas partkel, dalam hal n adalah f(x)) 4. Update Pbest dan Gbest Insalsas Insalsas dlakukan untuk membangktkan hmpunan solus baru secara acak/random yang terdr atas sejumlah strng dmens partkel dan dtempatkan pada penampungan yang dsebut populas. Dalam tahap n harus dtentukan ukuran populas (popsze). Nla n menyatakan banyaknya ndvdu/partkel yang dtampung dalam populas. Panjang setap strng dmens partkel (strnglen) dhtung berdasarkan press varabel solus yang kta car. Msalkan kta tentukan popsze=4 dan kta gunakan representas partkel bner (blangan bass 2). Nla x dtentukan antara 0 sampa 5 dan blangan bner dengan panjang 4 sudah dapat menjangkau nla x (ngat 2 = 5). Jad strnglen(d)=4, d adalah banyaknya dmens partkel. ( x 2 4- ) + ( x ) + ( x ) + ( x ) = = 5. Insalsas Kecepatan awal Partkel Pada teras ke-0 (t=0), dapat dpastkan bahwa nla kecepatan awal semua partkel d (v,j (t)=0) dan konvers partkelnya menjad x sebaga berkut:
24 popsze=4, y = f(x) = -x 2 + 4x 3, 0 x 5 [0000] v v t, j v,2 v,3 v,4 atau dapat dtuls dengan t v 0 v 0 0, j 0,2,3 v, 4 2. Insalsas Poss awal Partkel Nla x dtentukan antara 0 sampa 5 dan blangan bner dengan panjang 4 sudah dapat menjangkau nla x (ngat 2 = 5). Jad strnglen=4. ( x 2 4- ) + ( x ) + ( x ) + ( x ) = = 5 Msalkan dar hasl random ddapatkan populas nsal pada teras ke-0 (t=0) dan konvers partkelnya menjad x sebaga berkut: popsze=4, y = f(x) = -x 2 + 4x 3, 0 x 5 [0000] 3. Insalsas Pbest dan Gbest Pbest, karena mash teras ke-0 (t=0), maka nla Pbest akan dsamakan dengan nla poss awal partkel, yatu (Pbest,j (t)=x,j (t)) dan konvers partkelnya menjad x sebaga berkut: popsze=4, y = f(x) = -x 2 + 4x 3, 0 x 5 x x t, j x,2 x,3 x,4 atau dapat dtuls dengan t x 0 x 0 0, j 0,2,3 x, 4 2
25 [00] Gbest, dcar dengan memlh satu Pbest yang ftness-nya tertngg (yang nla y nya palng tngg), (k=argmax { ftnesspbest,j (t) ), karena ada 2 nla y yang tertngg, maka cukup dambl salah satu, msal Gbest g=,j (t=0)=pbest k=3,j (t=0). Masuk pada teras ke-, (t = t + = 0 + = ) Update Kecepatan Update Kecepatan dlakukan untuk menentukan arah perpndahan poss partkel yang ada d populas. Batasan lower dan upper kecepatan yang dgunakan dalam proses n berdasarkan nla maksmum dar poss partkel (xmax). Dketahu nla lower dan upper untuk x,j =[xmn, xmax]=[0,], karena memang nla x,j tersebut bner, dan untuk v,j =[vmn,vmax], dmana vmn=-vmax dan vmax=60%*xmax. Dalam menentukan nterval n, bak untuk poss maupun kecepatan partkel, sebaknya dlakukan pada proses nsalsas. Cara untuk menghtung nterval kecepatan adalah sebaga berkut: vmax = 60%*xmax = 6 0%*=0.6 dan vmn = -vmax = -0.6 sehngga v,j =[-0.6,0.6] Jka dketahu x,j = [0,], v,j =[-0.6,0.6], dan msalkan dketahu w=0.5, c =, c 2 =, r =rand[0,], dan r 2 =rand[0,]. Dmana r dan r 2 adalah blangan acak dalam nterval [0, ]. Maka untuk mendapatkan hasl update kecepatannya dhtung sebaga berkut dengan menggunakan persamaan 2., msal menghtung v, (). v v t t t t Pbest, j x, j c2 r2 Gbest g, j x, j Pbest x c. r Gbest x t t, j w v, j c. r. 0, w. v. 0, c. r,, , j Pbest t , j Pbest,2 Pbest,3 Pbest,4 atau dapat dtuls dengan t Pbest 0 Pbest 0 0 Pbest Pbest 0,2,3, 4,, 3
26 Pbest x y=f(x) kecepatan Pbest(0) [ 0 0 ] 3 20 v() [ ] Pbest2(0) [ ] 4 27 v 0, v2() [ ] Pbest3(0) [ 0 0 ] 9 32 t Gbest g, j v3() [ ] Pbest4(0) [ 0 0 ] 5 32 v4() [ ] Update Poss 0 x, j 0 x, j Setelah menghtung kecepatan, kemudan htung Sg(v, j (t)). Berkut cara menghtungnya. v t t t t Pbest x c r Gbest x w. v c. r t t, j, j, j, j 2. 2 sg t v, j,2 d j t,... v e, j, g, j, j Msal hanya dambl angka dbelakang ttk desmal kecepatan v() [ ] v2() [ ] v3() [ ] v4() [ ] Sg(kecepatan) Sg(v()) [ ] Sg(v2()) [ ] Sg(v3()) [ ] Sg(v4()) [ ] 4
27 Membuat rand[0,], lalu htung hasl update poss dan ftness rand[0,] partkel x y=f(x) [ ] [ ] [ ] x t, j t, f rand[0,] sg v 0, otherwse, j x() [ 0 0 ] 0 27 x2() [ 0 0 ] 0 27 x3() [ ] 2 [ ] x4() [ 0 0 ] Update Pbest dan Gbest 0 Pbest, j Pbest 0, j. Update Pbest, dsn kta harus membandngkan antara Pbest pada teras sebelumnya dengan hasl dar Update Poss dengan menggunakan persamaan 2.6 berkut. Pbest t, j t t x, j ftness Pbest, j t t x ftness Pbest t Pbest, j jka ftness (2.6) t x, j jka ftness, j, j Pbest x y=f(x) Pbest(0) [ 0 0 ] 3 20 partkel x y=f(x) x() [ 0 0 ] 0 27 Pbest2(0) [ ] 4 27 Pbest3(0) [ 0 0 ] 9 32 Pbest4(0) [ 0 0 ] 5 32 VS x2() [ 0 0 ] 0 27 x3() [ ] 2 x4() [ 0 0 ] Dar 2 tabel d atas, cek dar urutan bars yang sama, kemudan dbandngkan ftness-nya, manakah yang lebh tngg nlanya akan menjad Pbest terbaru. 5
28 Pbest x y=f(x) Pbest () [ 0 0 ] 0 27 Pbest 2 () [ ] 4 27 Pbest 3 () [ 0 0 ] 9 32 Pbest 4 () [ 0 0 ] Dan Pbest terbaru dengan nla ftness tertngg akan menjad Gbest. Gbest X y=f(x) Gbest () [ 0 0 ] Dar hasl Gbest tersebut dapat dgunakan untuk kesmpulan sebaga hasl terbak pada teras ke-. Gbest X y=f(x) Gbest () [ 0 0 ] Kemudan, jka dlanjutkan teras berkutnya (t = t + ), maka langkah d bawah n akan dulang terus-menerus sampa teras Maksmum atau telah mencapa konvergen.. Update Kecepatan 2. Update Poss dan Htung Ftness 3. Update Pbest dan Gbest 2.4 Konds Berhent Konds pemberhentan pencaran solus optmal, dalam beberapa lteratur umumnya algortma PSO menggunakan beberapa hal berkut:. Iteras berhent sampa Iteras Maksmum yang sudah dtentukan berdasarkan beberapa kal pengujan. 6
29 2. Iteras berhent setelah dketahu tdak ada perubahan yang sgnfkan search stagnaton (dar nla selsh absolut solus terbak saat n dan sebelumnya < epslon) dar hasl nla evaluas (msal nla ftness) yang mengndkaskan proses pencaran solusnya sudah mencapa konvergen. 3. Iteras berhent setelah t satuan waktu tercapa (t t max ) atau dengan dkombnaskan dar banyaknya evaluas fungs yang sudah djalankan. Dalam mplementas, umumnya konds () serng dpaka, tetap memang harus tetap selektf, artnya pada kasus yang berbeda akan membutuhkan proses teras yang berbeda pula, sesua dengan komplekstas permasalahannya. Berkut contoh pengujan konvergens berdasarkan perubahan nla ftness: Gambar 2.4 Contoh Pengujan Konvergens Berdasarkan Perubahan Nla Ftness Hal datas dgunakan untuk memastkan bahwa nla Iteras maksmum yang dgunakan pada saat proses pencaran sudah dlakukan uj tersebut. Sehngga dengan besar Iteras maksmum tersebut nlanya dapat dkatakan deal sesua kasus, dan yang lebh pentng lag adalah konds pemberhentannya adalah berhent setelah konvergen, bukan sebalknya. 7
30 2.5 Tugas Kelompok. Jelaskan perbedaan antara Swarm Intellgence dan Algortma Evolus? 2. Jelaskan konsep desentralsas pada PSO! 3. Jelaskan pengertan tentang stlah Partkel, pbest, gbest, Pembaruan Kecepatan, dan Poss dalam PSO! 4. Buatlah komparas Algortma PSO dengan Algortma Genetka! 5. Jelaskan ndkator suatu permasalahan optmas dkatakan sangat kompleks! 6. Jelaskan pentngnya konds pemberhentan teras harus dupayakan berhent setelah konvergen, bukan sebalknya! 7. Berdasarkan hasl Gbest () pada sub bab 2.3.5, lanjutkan penghtungan terasnya untuk mendapatkan Gbest (2)! 8. Sebutkan dan jelaskan beberapa kelebhan dan keterbatasan dar algortma PSO? 8
31 BAB 3 Real-Code PSO 3. Sklus RCPSO Kelemahan algortma PSO dengan pengkodean bner jka dgunakan pada optmas fungs adalah tdak bsa menjangkau beberapa ttk solus jka range solus berada dalam daerah kontyu. Selan tu, pada optmas fungs yang kompleks dan membutuhkan banyak generas, operas transformas bner ke blangan desmal (real) dan sebalknya sangat menyta waktu. Solus : Pengkodean real (real-coded partcle swarm optmzaton, RCPSO). Contoh fungs sederhana yang dbuat lebh banyak varabel, dan dalam bentuk blangan desmal, yatu: max, f(x,x 2 ) = 9 + x sn(x π) + (0 x 2 ) sn(x 2 π), -5,0 x 9,8 0,0 x 2 7,3 Untuk memperjelas uraan pada bagan sebelumnya, sekarang bagamana menangan angka pecahan (desmal) serta penggunaan Nla Parameter Algortma PSO, yatu TVIW dan TVAC, maka dberkan lag contoh sederhana masalah maksmas (mencar nla maksmum) dar sebuah fungs sebaga berkut: max, f(x,x 2 ) = 9 + x sn(x π) + (0 x 2 ) sn(x 2 π), -5,0 x 9,8 0,0 x 2 7,3 Plottng dua dmens dar fungs datas dtunjukkan pada Gambar 3.. Warna puth menunjukkan nla fungs yang lebh besar. Perhatkan bahwa fungs n mempunya banyak nla maksmum lokal. Gambar 3. Plottng 2D Contoh Fungs 9
32 3.. Representas Partkel Dalam kasus n varabel keputusan (x dan x 2 ) langsung menjad dmens pada partkel, sehngga panjang dmens partkel adalah 2. Dalam sklus Real-Code algortma Partcle Swarm Optmzaton terdapat beberapa proses sebaga berkut:. Insalsas - Insalsas Kecepatan Awal - Insalsas Poss awal Partkel - Insalsas Pbest dan Gbest 2. Update Kecepatan 3. Update Poss dan Htung Ftness (Sepert pada algortma evolus, fungs objektf mengukur seberapa dekat solus dengan optmum, contohnya fungs objektf mengukur performans atau kualtas partkel, dalam hal n adalah f(x,x 2 )) 4. Update Pbest dan Gbest 3..2 Insalsas. Insalsas Kecepatan Awal Partkel Pada teras ke-0 (t=0), dapat dpastkan bahwa nla kecepatan awal semua partkel d (v,j (t)=0) dan msal kecepatan partkelnya sebaga berkut: popsze=0, max, f(x,x 2 ) = 9 + x sn(x π) + (0 x 2 ) sn(x 2 π), -5,0 x 9,8 0,0 x 2 7,3 20
33 2. Insalsas Poss awal Partkel Partkel nsal, yatu pada teras ke-0 (t=0) dbangktkan secara random dengan persamaan. x = x mn + rand[0,]*(x max -x mn ), dan msal dhaslkan populas sebaga berkut: popsze=0, max, f(x,x 2 ) = 9 + x sn(x π) + (0 x 2 ) sn(x 2 π), -5,0 x 9,8 0,0 x 2 7,3 3. Insalsas Pbest dan Gbest Pbest, karena mash teras ke-0 (t=0), maka nla Pbest akan dsamakan dengan nla poss awal partkel, yatu (Pbest,j (t)=x,j (t)) dan msal Pbest-nya sebaga berkut: popsze=0, max, f(x,x 2 ) = 9 + x sn(x π) + (0 x 2 ) sn(x 2 π), -5,0 x 9,8 0,0 x 2 7,3 Gbest, memlh satu Pbest yang ftness-nya tertngg, (k=argmax { ftnesspbest,j (t) =2), maka Gbest g=,j (t=0)=pbest k=2,j (t=0). Masuk pada teras ke-, (t = t + = 0 + = ) 2
34 3..3 Update Kecepatan Dalam mplementas PSO, terkadang dtemukan bahwa kecepatan partkel bergerak ke nla yang besar dengan cepat, terutama untuk poss partkel yang jauh dar poss tetangga dan ndvdu terbak. Akbatnya, partkel tersebut memlk kecenderungan untuk mennggalkan (keluar) dar ruang batas pencaran atau poss baru partkel berada d luar range solus. Oleh karena tu, untuk mengontrol eksploras global partkel, perlu adanya pembatasan kecepatan mnmum dan maksmum. Teknk pembatasan n dsebut velocty clampng untuk mencegah partkel bergerak terlalu jauh melampau ruang pencarannya. Batasan lower dan upper kecepatan yang dgunakan dalam proses n berdasarkan nla mnmum dan maksmum pada setap dmens dar representas solus partkel ( xmn d dan xmax d ), dmana d menyatakan dmens, atau bsa dtulskan x,j =[xmn j ; xmax j ] Dketahu nla lower dan upper pada x, maka jka dbentuk ntervalnya menjad x,j= =[xmn ; xmax ]=[-5 ; 9,8], x,2 =[xmn 2 ; xmax 2 ]=[0 ; 7,3], dmana vmn j =-vmax j dan v max j k msal k= 0,6 maka x max x mn 9,8 5 v max j 0,6 2 j 2 j k 4,44 0, (Marn & Walczak, 205) 7,3 0 v max 2 0,6 2 sehngga untuk v,j= =[vmn ; vmax ] = [-4,44 ; 4,44] dan v,j=2 =[vmn 2 ; vmax 2 ] = [-2,9 ; 2,9] 2,9 Dalam menentukan nterval pada langkah sebelumnya, bak untuk poss maupun kecepatan partkel untuk setap dmens, sebaknya dlakukan pada proses nsalsa. Batasan kecepatan atau threshold yang dgunakan adalah sebaga berkut (Marn & Walczak, 205): jka jka v v t j t j v max v max j j maka maka v t j v v max t j v max j j Jka dketahu x, = [xmn ; xmax ] = [-5 ; 9,8], x,2 = [xmn 2 ; xmax 2 ] = [0 ; 7,3], serta telah ddapatkan v, = [-4,44 ; 4,44] dan v,2 = [-2,9 ; 2,9] 22
35 dan msalkan dketahu w = 0.5, c =, c 2 =, r = rand[0,], dan r 2 = rand[0,]. Dmana r dan r 2 adalah blangan acak dalam nterval [0, ]. Maka untuk mendapatkan hasl update kecepatannya dhtung sebaga berkut, msal menghtung v, (). v v t t t t Pbest x c r Gbest x w. v c. r t t, j, j, j, j , w. v 0, c. r Pbest x c. r Gbest x, g, j , 2 2,,, j Berkut keseluruhan hasl update kecepatannya: v 0, w. v 0, c. r Pbest x c. r Gbest x, , 2 2,, 3..4 Update Poss dan Htung Ftness. Update poss dhtung sebaga berkut, msal htung x,(). 23
36 x x t, j 0, x x t, j 0, v v t, j 0, x, = [xmn ; xmax ] = [-5 ; 9,8] x,2 = [xmn 2 ; xmax 2 ] = [0 ; 7,3] 2. Berkut keseluruhan hasl update possnya: partkel j= j=2 f(x,x2) x() x2() x3() x4() x5() x6() x7() x8() x9() x0() Update Pbest dan Gbest. Update Pbest, dsn kta harus membandngkan antara Pbest pada teras sebelumnya dengan hasl dar Update Poss. Pbest j= j=2 f(x,x2) Pbest(0),4898 2,0944 9,8206 Pbest2(0) 8,497 2, ,7058 Pbest3(0),4054 6, ,6707 Pbest4(0) 5,84 5,0779 4,5624 partkel j= j= j=2 f(x,x2) x() x2() x3() x4()
37 Pbest5(0) -,846,7097,5858 Pbest6(0) 4,0206 4, ,706 Pbest7(0) -0,634 2,974 9,653 Pbest8(0) 5,2742 0,783 22,83 Pbest9(0) 9,4374 6,699 2,4694 Pbest0(0) -4,5575 0,679 28,4324 x5() x6() x7() x8() x9() x0() Dar 2 tabel d atas, cek dar urutan bars yang sama, kemudan dbandngkan ftness-nya, manakah yang lebh tngg nlanya akan menjad Pbest terbaru. Pbest j= j=2 f(x,x2) Pbest() Pbest2() 8,497 2, ,7058 Pbest3() Pbest4() Pbest5() Pbest6() 4,0206 4, ,706 Pbest7() Pbest8() 5,2742 0,783 22,83 Pbest9() Pbest0() -4,5575 0,679 28, Dan Pbest terbaru dengan nla ftness tertngg akan menjad Gbest. Gbest 25
38 j= j=2 f(x,x2) Gbest() 8,497 2, , Dan Pbest terbaru dengan nla ftness tertngg akan menjad Gbest. Gbest j= j=2 f(x,x2) Gbest() 8,497 2, , Kemudan, jka dlanjutkan teras berkutnya (t = t + ), maka langkah d bawah n akan dulang terus-menerus sampa teras Maksmum atau telah mencapa konvergen.. Update Kecepatan 2. Update Poss dan Htung Ftness 3. Update Pbest dan Gbest 3.2 Tme Varant Algortma PSO Tme varant yang dgunakan adalah tme varyng acceleraton coeffcents (TVAC) dan tme varyng nerta weght (TVIW). Tme varant nlah yang dgunakan untuk mengontrol kemampuan PSO dalam lokal pencaran secara efsen dan konvergens ke solus optmum global. Adapun nla mnmum dan maksmum w (TVIW) yang dgunakan adalah 0.4 dan 0.9 nla n terbukt dapat menngkatkan solus optmum pada pencaran banyak masalah, sedangkan nla range c dan c 2 (TVAC) yang dgunakan adalah [2.5, 0.5] dan [0.5, 2.5] karena terbukt optmal (Ratnaweera, 2004). Bobot nerta w dperbaharu untuk mendapatkan nla w yang adaptf untuk setap teras, sehngga nlanya bsa dnams dan mampu menngkatkan hasl optmas yang dharapkan, semakn besar nla terasnya, maka nla w akan semakn kecl, dan sebaknya, jka terasnya mash dawal-awal, maka nla w akan cenderung lebh besar. Artnya, jka nla w semakn besar, maka partkel lebh dfokuskan ke arah eksploras, tetap ketka semakn kecl, maka lebh dfokuskan ke arah eksplotas. Detal uraannya sepert pada persamaan TVIW berkut (Chen at all, 20): 26
39 w w Dmana: mn t max t w w max mn t max wmax : nla maksmum bobot nerta w wmn : nla mnmum bobot nerta w t tmax : teras awal dar algortma : nla maksmum teras. (3.) Pada c dan c 2 adalah koefsen percepatan untuk kesembangan yang lebh bak antara global eksploras dan lokal eksplotas. Konsep n akan dadops untuk solus pencaran yang lebh bak. Int TVAC adalah c menurunkan dar nla nsal c sampa c f, saat c 2 menakan dar c 2 sampa c 2f berdasarkan persamaan TVAC secara matematka sebaga berkut (Chen at all, 20): t t c f c c c2 c 2 f c2 c2 c tmax Dmana: t max (3.2) c dan c2 adalah koefsen percepatan untuk kesembangan yang lebh bak antara global eksploras yatu ftness terbak yang dcapa oleh semua partkel dalam topolog ketetanggaan dan lokal eksplotas yatu ftness terbak yang dcapa oleh satu partkel saat n, Tme varyng acceleraton coeffcents (TVAC). dmana cf, c, c2f, c2 adalah konstanta, msalkan:. Bobot nerta w=[0.4, 0.9]: t max t w wmn wmax wmn tmax 2. Pada c =[2.5, 0.5] dan c 2 =[0.5, 2.5] : t c c f c c c t 2 2 f c2 c max t t c 2 max 27
40 Cholssodn, I., Ryandan, E., 206, Swarm Intellgence, Fakultas Ilmu Komputer, Nla W Gambar 3.2 Grafk Bobot Inerta w C C2 Gambar 3.3 Grafk c dan c2 28
41 3.3 Global Best Vs Local Best PSO Local best PSO, atau lbest PSO, menggunakan topolog jarngan dalam bentuk rng, dmana tetangga terdekat sebanyak nn harus dtentukan (dapat menggunakan jarak eucldean) untuk setap partkel ke-. Gambar 3.4 Ilustras Local Best Intal Swarm dan Local Best Second Swarm Komponen sosal n mereflekskan pertukaran nformas dalam ketetanggaan partkel, yang mengsyaratkan bahwa masng-masng partkel mengetahu keadaan lokal lngkungannya dengan jangkauan sebanyak nn. Berkut rumus untuk update kecepatannya: Rumus Local best PSO, atau lbest PSO v t t t t Pbest x c r lbest x w. v c. r t t, j, j, j, j 2. 2, j, j (3.3) Rumus Global best PSO v t t t t Pbest x c r Gbest x w. v c. r t t, j, j, j, j 2. 2 g, j, j (3.4) Pada Global best, besarnya nla nn = popsze, sedangkan untuk update poss mash menggunakan persamaan yang sama, yatu: x t, j x t, j v t, j 29
42 Macam-macam struktur topolog jarngan sosal pada PSO: Gambar 3.5 Star dan Rng Gambar 3.6 Four Clusters dan Von Neumann Gambar 3.7 wheel dan pyramd 3.4 Penanganan Konvergens Dn Pada ruang pencaran yang tdak terlalu besar, serng djumpa pencapaan konvergens dn. Hal n dsebabkan karena partkel lebh cepat menemukan poss terbak global dalam ruang pencaran yang kecl dan dsebabkan oleh kurangnya dverstas populas setelah melewat sekan generas (Mahmudy, 204). Hal tersebut dapat datas dengan menerapkan sstem random njecton. Random njecton 30
43 dlakukan dengan mengnsalsas kembal poss n partkel setap g nterval teras. Penentuan n dan g yang sesua dlakukan berdasarkan beberapa percobaan sebelumnya pada PSO. Pseudo code algortma PSO dengan teknk penanganan konvergens dn dengan random njecton dtunjukkan pada Gambar 3.8 berkut: procedure AlgortmaPSO begn t = 0 nsalsas poss partkel(x t,j ), kecepatan(v t,j ), Pbest,j x t,j, do t = t + update kecepatan v,j(t) update poss x,j(t) htung ftness tap partkel update Pbest,j(t) dan Gbestg,j(t) f (t mod g = 0) replace n ndvdu end whle (bukan konds berhent) end t = t htung ftness tap partkel, dan Gbest g,j Gambar 3.8 Pseudo code algortma PSO dengan teknk penanganan konvergens dn dengan random njecton - Msal, jumlah partkel yang dnjeks (n) = 30% dar ukuran swarm sze atau jumlah partkel dan nterval njecton adalah setap kelpatan 3 teras. - Random njecton dlakukan dengan mengevaluas nla ftness partkel saat memasuk nterval njecton. - Nla ftness akan durutkan, kemudan 30% dar jumlah partkel dengan nla ftness-nya terkecl akan dgantkan dengan partkel yang baru. - Untuk setap partkel baru tersebut d-generate secara random, dan masng-masng partkel dberkan nla kecepatan v = 0 dan pbest sama dengan partkel tu sendr. Hal n sama sepert proses nsalsas awal partkel. 3.5 Tugas Kelompok. Jelaskan perbedaan konsep bnary code dan real code pada PSO! 2. Jelaskan perbedaan antara Gbest dan Lbest PSO! dan jelaskan beberapa kelebhan dan keterbatasan dar masng-masng! Dan 3
44 manakah dar kedua teknk tersebut yang lebh bak hasl optmasnya? 3. Jelaskan konsep w, c, c 2 dalam TVIW dan TVAC! Dan jelaskan kenapa nla w dan c, dengan bertambahnya teras dbuat monoton turun, tdak dbuat nak. Tetap c 2 dbuat monoton nak, tdak dbuat turun (berdasarkan pada grafk Tme Varant PSO)! 4. Pada perhtungan vmn dan vmax pada slde ke-0, ubahlah rumus perhtungan vmax dengan rumus berkut vmax j k x max xmn k0, (Engelbrecht, 2007) j j Dengan k=0.6 dan kemudan lanjutkan penghtungannya untuk mendapatkan v,j ()! 5. Sebutkan dan jelaskan beberapa macam-macam struktur topolog jarngan sosal pada PSO? 6. Perhatkan sub bab 3..2 pon 3, jka Gbest dgant dengan Lbest PSO dan dketahu nn =2 (nn adalah banyaknya Negborhood terdekat pada partkel ke-). Tentukan hasl Gbest ()! Dmana Gbest () adalah Lbest,j () yang memlk nla ftness tertngg. Local best PSO, atau lbest PSO: v 7. Berdasarkan hasl Gbest () pada sub bab 3..5, lanjutkan penghtungan terasnya untuk mendapatkan Gbest (2), tetap dengan menggunakan konsep TVIW dan TVAC, sepert pada sub bab 3.2 (artnya nla w, c, dan c 2 dbuat dnams, msal dketahu nla t max =00000)! t max t w wmn wmax wmn tmax t t c c f c c c2 c 2 f c2 c2 t t max t t t t Pbest x c r lbest x w. v c. r t t, j, j, j, j 2. 2 max, j, j 32
45 BAB 4 Optmas Masalah Kombnatoral 4. Pengantar Optmas masalah kombnatoral adalah suatu kasus yang penyelesaannya dapat dperoleh dengan mengubah susunan dar poss masng-masng nla permutas dalam bentuk nteger dar representas solusnya. Meskpun kasus kombnatoral bsa dselesakan secara brute force, namun akan memerlukan waktu tdak cepat (efsensnya kurang), jka kasusnya memang kompleks, sehngga tdak bsa dterma secara prakts. Dalam hal n, algortma Hybrd Dscrete Partcle Swarm Optmzaton (HDPSO) dapat dterapkan untuk mengatas masalah kombnatoral dengan lebh prakts dan teratur (karena terdapat mekansme pencaran dan evaluas yang sangat sangat terstruktur). 4.2 Algortma Hybrd Dscrete Partcle Swarm Optmzaton (HDPSO) Pada tahun 2000, Clerc memodfkas algortma DPSO yang telah drumuskan oleh Kennedy dan Eberhart. Clerc memodfkas representas poss pada partkel, bentuk kecepatan yang dhaslkan oleh partkel serta pengaruh kecepatan terhadap poss partkel. Harapan dar modfkas tersebut adalah untuk dapat daplkaskan pada permasalahan dengan model dskrt khususnya bertpe kombnatoral (Clerc, 2000) Struktur algortma HDPSO Berkut adalah struktur dar algortma HDPSO yang dmodfkas oleh Maurce Clerc pada tahun 2000:. Poss Partkel t x x x.. t t 2 x t d 33
46 Dmana: x (t) merupakan poss partkel ke- pada teras ke-t, dan partkel tersebut memlk sebanyak d dmens. 2. Transposs Transposs, yatu cara untuk menukarkan dua buah nla pada dmens tertentu berdasarkan urutan ndex dar poss partkel. 3. Velocty Velocty, proses transposs sebanyak Velocty ddefnskan sebaga berkut: a b, a,2,.., d, b,2,.., d, t t v v k, k k t v t v antara dua poss ndex. dmana merupakan banyaknya daftar dar transposs, a dan b adalah ndex dmens partkel yang akan dtukar nlanya. Contoh, msal v =((,3),(2,5)) dan v 2 = ((2,5),(,3)), maka v 2 dkatakan tdak sama tetap keduanya kongruen. 4. Opposte of a velocty Berdasarkan pada pont (3) d atas, dapat dkatakan bahwa v adalah opposte dar v 2, yatu v = v 2 dan dbsa dtulskan v 2 = v. Sehngga berlaku bentuk umum bahwa v = v serta v v jka v t maka v Contoh: t a, b k k k, a, b k k, t v k t v a t v k, b t v k, k t v 5. Move (addton) "poston plus velocty t t t Msalkan Update poss x x v doperaskan dengan cara memproses mula dar urutan pertama transposs v ke poss x, kemudan urutan selanjutnya, sampa urutan akhr dar v. 34
47 35 Cholssodn, I., Ryandan, E., 206, Swarm Intellgence, Fakultas Ilmu Komputer, Contoh: 6. Substracton "poston mnus poston Msal terdapat dua poss x (t) dan x (t+). Pengurangan x (t+) x (t) ddefnskan sebaga sebuah kecepatan v (t+). Sehngga dengan mengaplkaskan kecepatan v (t+) ke dalam poss x (t) menghaslkan x (t+). Dfference ddefnskan sebaga berkut. maka, jka t t t t t t t t t t t t t t v x x x x x v x v x x v x x 4,5, 3,2,3, x Contoh: x x 4,5, 3,2,3, 0 x x v 7. Addton "velocty plus velocty Msalkan terdapat dua velocty v dan v 2, untuk menambah kecepatan v dengan v 2 (v v 2 ), dlakukan operas penjumlahan yatu dengan cara urutan transposs v kemudan dkut dengan urutan transposs v 2. Sehngga addton dapat ddefnskan sebaga berkut ,,..,,,,,,,..,,,,,,..,,,,,,..,,,, v v v v v v v v b a b a b a b a b a b a v b a b a b a b a b a b a v v v v
48 Contoh: v,3, 3,2, 4,5 v 3,4, 4, 2 v v v2,3, 3,2, 4,5 3,4, 4, v,3, 3,2, 4,5, 3,4, 4, 8. Multplcaton "coeffcent tmes velocty Msalkan c merupakan sebuah koefsen dan (c R), maka perkalan antara velocty v dan c dapat dlakukan operas sebaga berkut sesua dengan konds nla koefsennya: a. Jka c = 0 Maka, v = c v v = c v v = 0 v v = 0 v = c. Jka c > b. Jka 0 < c Maka, v dpotong dengan panjang v = c v, contoh: v = ((,3),(3,2),(4,5)), v = 3 c = 0. Penyelesaan: v = c v v = 0.*3 = 0.3 = v = ((,3)) maka c dbentuk dar c = k + c yang mana k= c, k (N > 0), c = c - k dan 0 < c <. Sehngga kasus n ddefnskan sebaga. k v v c* v v v.. v c* v k kal (c.v) dhtung menggunakan konds (b). Contoh: v = ((,3),(3,2),(4,5)), v = 3 c = 2.5 Penyelesaan: k = c = 2.5 = 2 dan c = c - k = = 0.5 v = v + v + ( c * v ) = *3 = v = = 8 v = ((,3),(3,2),(4,5),(,3),(3,2),(4,5),(,3),(3,2)) 36
49 d. Jka c < 0 maka velocty dbalk (v = v) menggunakan konsep pada slde ke-8 dan nla c akan dpostfkan (c = c ). Sehngga velocty terbaru dapat doperaskan menggunakan fungs berkut. v = c v, dmana nla c akan doperaskan sepert pada konds (a), (b), dan (c) pada slde sebelumnya. Contoh: v = ((,3),(3,2),(4,5)), v = 3 c = -0. Penyelesaan: v = c v = c v v = c * v = 0.*3 = 0.3 = v = ((4,5)) 9. Dstance between two postons Rumus Update Kecepatan dan Poss Rumus update poss yang telah dmodfkas oleh Clerc ddefnskan sebaga berkut. v t x t t c. v c x t v t t Pbest Gbest 2 2 t g Pbest t t x Hoffmann et al. (20) merubah representas update poss berdasarkan penemuan Clerc. Dengan menghlangkan koefsen nersa (set c = 0) dan menggantnya dengan kecepatan acak. Perubahan representas tersebut dengan harapan bahwa partkel lebh bak dalam proses mendekat solus optmal dan tdak cepat konvergen (konvergens dn). Rumus update poss oleh Clerc (2000): v t x t t c. v c x t v t t Pbest Gbest 2 2 t g Pbest t t x 37
50 Rumus update poss oleh Hoffmann et al. (20): d d v x loc glob rand t x r t t loc x r r d rand glob. b. b glob rand 2 loc. b Pbest x glob P t rand t Gbest x t t g t x t d loc d glob vrand Dmana r rand, b loc, b glob, b rand [0,] 4.3 Travellng Salesman Problem (TSP) Travelng salesman problem (TSP) merupakan suatu permasalahan srkut Hamlton (Hahsler, Mchael dan Hornk, Kurt., 2007). Tujuan dar TSP adalah mencar suatu rute untuk mengunjung semua kota yang ada tepat sebanyak satu kal dengan total jarak perjalanan semnmal mungkn dan kembal ke kota awal. Walaupun permasalahan n mudah untuk drumuskan, TSP sult untuk dpecahkan, jka kasusnya komplek, mengngat TSP merupakan suatu permasalahan optmas kombnatoral. Nla ftness permasalahan TSP, yatu mnmalsas jarak yang dapat ddefnskan sebaga berkut (Ahmed, Zakr H., 200): ftness Dmana: f x f(x) adalah fungs obyektf dar TSP yatu perhtungan total jarak tempuh untuk menyelesakan satu rute perjalanan Gambar 4. Contoh Permasalahan TSP 38
51 Tabel 4. Tabel Jarak Antar Smpul Node Penyelesaan dengan algortma Hybrd Dscrete Partcle Swarm Optmzaton (HDPSO) untuk masalah kombnatoral (Clerc, 2000) 4.3. Insalsas Kecepatan awal Partkel Pada teras ke-0 (t=0), nla kecepatan awal semua partkel d (v (t) = ) dan msal sebaga berkut (popsze=3): Kecepatan v (0) v 2 (0) v 3 (0) Insalsas Poss awal Partkel Partkel nsal, pada teras ke-0 (t=0) dbangktkan secara random berupa angka nteger yang menyatakan nomer smpul dan kombnasnya unk, dan msal sebaga berkut: x(t) partkel Total Jarak (f(x)) ftness f x x(0) [ ] =69,449 x 0-2 x2(0) [ ] =60,667 x 0-2 x3(0) [ ] =63,587 x 0-2 Msal, partkel [ ] menyatakan perjalanan dmula dar smpul 2 kemudan mengunjung smpul 3, 4,, 5 dan kemudan kembal ke smpul 2. 39
52 4.3.3 Insalsas Pbest dan Gbest Pbest, karena mash teras ke-0 (t=0), maka nla Pbest akan dsamakan dengan nla poss awal partkel, yatu (Pbest (t)=x (t)) dan msal Pbest-nya sebaga berkut: Pbest (t) Pbest Total Jarak (f(x)) ftness f x Pbest (0) [ ] =69,449 x 0-2 Pbest 2 (0) [ ] =60,667 x 0-2 Pbest 3 (0) [ ] =63,587 x 0-2 Gbest, memlh satu Pbest yang ftness-nya tertngg, (k=argmax { ftnesspbest (t) =2), maka Gbest g= (t=0)=pbest k=2 (t=0). Gbest (t) Gbest Gbest (0) [ ] Masuk pada teras ke-, (t = t + = 0 + = ) Update Kecepatan Msal menggunakan rumus update kecepatan berdasarkan Clerc (2000): v t t t c. v c2 Pbest 2 t t t Gbest Pbest x Jka dketahu c = 0.5, c 2 =. Maka untuk mendapatkan hasl update kecepatannya dhtung sebaga berkut, msal menghtung v (). g 0 v 0.5*
53 0 v a 0.5* acuan Transposs = (,2) Transposs = (2,3) Transposs = (3,4) Jka sudah sama dengan acuan. Hentkan! 0 v 0 v ,2, 2,3, 3, ,2, 2,3, 3, v = ((,2),(2,3),(3,4)), v = 3 c = 0.5 v = c v v = 0.5*3 =.5 = 2 v = ((,2),(2,3)) v 0 v 0 v ,2, 2, , acuan v 0 Transposs = 2,2, 2, Transposs = (2,3) Jka sudah sama dengan acuan. Hentkan! 4
54 4.3.5 Update Poss Rumus update poss berdasarkan Clerc (2000): x x v t t t Update poss dhtung sebaga berkut, msal htung x, (). x 0 x x 0 v 0 Node ,2, 2, , Berkut keseluruhan hasl update possnya: x (t) partkel Total Jarak (f(x)) x () [ ] =55,88 x 0-2 x 2 () x 3 () ftness f x Update Pbest dan Gbest Update Pbest, dsn kta harus membandngkan antara Pbest pada teras sebelumnya dengan hasl dar Update Poss. Pbest (t) Pbest Total Jarak (f(x)) ftness Pbest (0) [ ] =69,449 x 0-2 Pbest 2 (0) [ ] =60,667 x 0-2 Pbest 3 (0) [ ] =63,587 x 0-2 f x 42
55 x (t) partkel Total Jarak (f(x)) x () [ ] =69,88 x 0-2 x 2 () x 3 () Dar 2 tabel d atas, cek dar urutan bars yang sama, kemudan dbandngkan ftness-nya, manakah yang lebh tngg nlanya akan menjad Pbest terbaru. Dan Pbest terbaru dengan nla ftness tertngg akan menjad Gbest. Kemudan, jka dlanjutkan teras berkutnya (t = t + ), maka langkah d bawah n akan dulang terus-menerus sampa teras Maksmum atau telah mencapa konvergen.. Update Kecepatan 2. Update Poss dan Htung Ftness 3. Update Pbest dan Gbest 4.4 Schedulng Problem 4.4. Flow-Shop Schedulng Problem (FSP) Flow-Shop Schedulng Problem (FSP) : berkatan dengan penjadwalan sejumlah j job pada sejumlah m mesn. Urutan operas job pada mesn selalu sama, yatu dar mesn, 2, 3, 4. dan semua job memerlukan semua mesn. Job Mesn Jka urutan job J J2 J3 maka ddapatkan makespan sebesar 3 pada Gantt-Chart berkut: Mesn Mesn 2 Mesn 3 ftness f x 43
56 Mesn 4 Waktu Keterangan: Job Job 2 Job 3 Representas FSP sepert pada TSP. Setap dmens pada partkel menyatakan nomer job. Contoh: J J2 J3 menjad X (0)=[ 2 3] Two-Stage Assembly Flow-Shop Schedulng Problem Penjadwalan 3 job pada 3 mesn, dan assembly (operas tahap kedua). job mesn 2 3 assembly Jka urutannya J J2 J3 maka ddapatkan makespan sebesar 4 pada Gantt-Chart berkut: Mesn Mesn 2 Mesn 3 Assembly Waktu
57 4.4.3 Job-Shop Schedulng Problem (JSP) Job-Shop (JSP): Urutan operas job pada mesn bsa berbedabeda, dan sebagan job bsa hanya perlu beberapa mesn Job Waktu Operas Pada Mesn Urutan Operas O,j menyatakan operas ke-j dar job. Jka urutan job O, O2, O,2 O3, O3,2 O,3 O2,2 O3,3 O3,4 O2,3 maka ddapatkan makespan = 9 Mesn Mesn 2 Job Job 2 Job 3 Mesn 3 Mesn 4 Waktu untuk solus d atas bsa dnyatakan sebaga: Job : [ ] Op : [ ] Angka permutas Job Representas permutas untuk JSP: O, O2, O,2 O3, O3,2 O,3 O2,2 O3,3 O3,4 O2,3 maka menjad X (0)=[ ] 45
58 4.4.4 Flexble Job-Shop Schedulng Problem (FJSP) Flexble Job-Shop (FJSP): merupakan bentuk umum (generalzed form) dar JSP klask. Sebuah job memlk beberapa operas. Sebuah operas bsa dkerjakan pada beberapa plhan mesn. job operas machne tme Angka permutas Job Plhan Mac Representas permutas untuk FJSP, dapat dbentuk dengan menggunakan gabungan dua cluster code partkel, yatu kombnatoral code dan real code. Contoh: 46
59 X (0)=[ ][2 2 2 ] kombnatoral code (job,op) real code (mac) Solus X (0) bsa menghaslkan makespan 20 dengan Gantt-chart sebaga berkut: Mac Mac 2 Mac 3 Tme Keterangan: Job Job 2 Job 3 Job 4 x operas sorted x operas job,op,mac ,, ,, , 2, , 2, ,, , 3, , 3, ,, 47
60 , 2, , 2, Tugas Kelompok. Jelaskan konsep optmas masalah kombnatoral pada algortma DPSO, kenapa tdak cukup menggunakan PSO standar! 2. Jelaskan perbedaan dar representas nsalsas poss partkel, nsalsas kecepatan, update kecepatan, update poss dar bnary code vs real code vs dan kombnatoral code? 3. Jka dketahu x (t)=[ ] dan Pbest (t)=[ ]. Tentukan: a. x (t) + ((2,5),(9,7)) b. Pbest (t) - x (t) c. c * (Pbest (t) - x (t)), msal c = 3.5 d. c * (Pbest (t) - x (t)), msal c = Pada sub bab 4.3.4, telah dhtung hasl dar v (), dengan cara yang sama. Tentukan hasl dar kecepatan partkel ke-2 v 2 ()! Kecepatan v () ((,2),(2,3)) v 2 ()... v 3 () Perhatkan pada sub bab 4.3.5, msal menggunakan rumus update poss berdasarkan usulan dar Hoffmann et al. (20): t t d x r. b Pbest x d v x loc glob rand t t loc x r r d rand glob. b glob t loc t t. bglobgbest g x t P t rand x d loc d glob vrand rand 2 48
61 Jka dketahu r loc = 0.75 ; r glob = 0.5 ; b loc = b glob = b grand = 0.8 ; r rand = 0. dan P rand (0)=[ ]. Tentukan hasl x ()! 6. Berdasarkan sub bab pada kasus JSP, jka dketahu X (0)=[ ]. Htunglah makespan-nya! 49
62 BAB 5 Artfcal Bee Colony (ABC) 5. Pengantar Artfcal Bee Colony (ABC) pada dasarnya memlk model yang smple, jelas dan bsa dadaptas (Mustafa Servet Kıran, 202). Ada 2 jens foragers (penjelajah) dalam sarang lebah (hve) ABC, yatu employeed foragers dan unemployeed foragers. Employeed foragers mengeksplotas mula dar sumber makanan (berhubungan dengan solus potensal dar masalah optmas) secara terus menerus, dan lebah-lebah tersebut membawa nformas tentang poss sumber makanan ke sarang lebah. Ada 2 jens unemployeed foragers, yatu onlooker bee dan scout bee. Onlooker bee perg ke sumber makanan agar bsa mengeksplotas dengan cara mempertmbangkan nformas dar penjelajah pekerja (employeed foragers). Scout bee mencar sumber makanan sektar sarang lebah. Dar populas, rata-rata banyaknya scout bee adalah sektar 5-0 persen. Prosentase d dalam alam, walaupun ada 5-0 % scout bee dar ukuran populas, tetap hanya ada satu scout bee d dalam sarang ABC. Setengah dar ukuran populas adalah employeed bee, dan setengah lannya adalah onlooker d dalam ABC dasar. 5.2 Real Code Artfcal Bee Colony (ABC). Insalsas: a. Buat solus random tap employed bee sebanyak popsze dan htung ftness x j x j mn rand j j 0, x x max mn Nla batas bawah pada dmens ke-j Nla batas atas pada dmens ke-j Bee ke- pada dmens ke-j b. Set nla tral = 0 untuk tap employed bee 50
63 c. Tentukan global best berdasarkan ftness tertngg dar (a) 2. Whle (bukan konds berhent) Fase Employed Bee a. Plh neghbor employed bee secara random (k), k, dmana k, ϵ {, 2,.., popsze b. Update poss dengan persamaan berkut x rand, x x v, j, j, j k, j Jka nla ftness yang baru memlk nla yang lebh tngg, maka tral pada masng-masng ndvdu dreset lag dengan nla 0. Jka tdak, maka tral dtambahkan dengan. Fase Onlooker Bee a. Plh neghbor employed bee secara random (k), k, dmana k, ϵ {, 2,.., popsze b. Seleks employed bee dengan RW untuk dlakukan mprovement dengan persamaan berkut. Prob popsze k ftness x ftness x k c. Lalu, hasl seleksnya mprove dengan persamaan berkut dan htung ftness, dmana setelah update, x = v. x rand, x x v, j, j, j k, j Jka nla ftness yang baru memlk nla yang lebh tngg, maka tral pada masng-masng ndvdu dreset lag dengan nla 0. Jka tdak, maka tral dtambahkan dengan. Fase Scout Bee Smpan global best, lalu htung M, dmana M=Max(tral) dar keseluruhan bee. Aturan: Jka M > Lmt, maka hapus ndvdu yang tdak ada perbakan, gant dengan ndvdu baru hasl random, dengan persamaan, j j j j x xmn rand0, xmax xmn kemudan reset tral = 0, jka M > Lmt dan terdapat ndvdu yang ada perbakan, maka tdak perlu dgantkan dengan ndvdu baru. kemudan reset tral = 0. Jka M < Lmt, maka tdak perlu dgantkan dengan ndvdu baru, dan nla tral tdak perlu d-reset. 8. Selesa 5
64 5.3 Dscrete ABC Algortma Artfcal Bee Colony (ABC) adalah pendekatan populaton-based metaheurstc yang dusulkan oleh Karaboga dan Basturk (Karaboga, 2007). Pendekatan n ternspras oleh perlaku cerdas kawanan lebah madu mencar makanan. Algortma ABC memlk 3 kelompok lebah: - Employeed Bee (Lebah Pekerja) adalah lebah yang berhubungan dengan sumber makanan tertentu, - Onlooker Bee (Lebah Penjaga) menyakskan taran lebah yang dgunakan dalam sarang untuk memlh sumber makanan - Scout Bee (Lebah Pengnta) mencar sumber makanan secara acak. Awalnya Scout Bee menemukan poss semua sumber makanan, setelah tu tugas dar Employeed Bee dmula. Sebuah Employeed Bee secara probabltas mengalam beberapa modfkas poss d memor untuk target sumber makanan baru dan menemukan jumlah nektar (madu bunga) atau nla ftness dar sumber baru. Kemudan Scout Bee mengevaluas nformas dar semua Employeed Bee buatan dan memlh sumber makanan akhr dengan nla probabltas tertngg terkat dengan jumlah nektar tersebut. Jka ftness baru lebh tngg dar sebelumnya, lebah akan melupakan yang lama dan menghafal poss baru atau dsebut greedy selecton. Kemudan Employeed Bee yang sumber makanannya telah habs menjad akan menjad Scout Bee untuk mencar sumber makanan lebh lanjut sekal lag. Berkut langkah-langkah Artfcal Bee Colony (ABC):. Insalsas semua parameter yang dperlukan, yatu data kasus, colony sze, lmt dan maksteras. 2. Fase ntal: - Untuk tap populaton sze, ntal soluton dhaslkan secara random. - Htung ftness 3. Iteras = 4. Fase Employeed Bee: - Untuk tap Employeed Bee, Update Employeed Bee dengan menggunakan neghborhood operator, yang terdr dar swap operator dan swap sequence. 52
65 - Htung ftness - Jka solus yang baru haslnya lebh bak dar sebelumnya gantkan solus lama dengan solus baru, jka tdak tambahkan tral dengan. 5. Htung probabltas tap Employeed Bee. 6. Fase Onlooker Bee: - Untuk tap Onlooker Bee, plh solus dar Employeed Bee dengan nla probabltas dan gunakan teknk roulette wheel selecton. - Tentukan solus yang baru Employeed Bee terplh dengan menggunakan neghborhood operator, yang terdr dar nsert operator dan nsert sequence. - Htung ftness - Jka solus yang baru haslnya lebh bak dar sebelumnya gantkan solus lama dengan solus baru, jka tdak tambahkan tral dengan. 7. Fase Scout Bee: - Htung jumlah tral dan smpan jumlah maksmal dalam varabel M, untuk tap bee yang tdak mengalam penngkatan solus. - Jka M > lmt, tnggalkan solus yang tdak mengalam penngkatan, jka M < lmt, scout bee memlh solus sebelumnya. 8. Tanda solus terbak yang dcapa saat n. 9. Iteras = Iteras + 0. Stop ketka Iteras sudah melebh maks teras. Detal Artfcal Bee Colony. Input Parameter: - Colony sze, merupakan jumlah dar Employeed Bee dtambah Onlooker Bee yang akan dgunakan dalam sstem. Dmana jumlah Employeed Bee = Onlooker Bee dalam hal n dsebut Populaton Sze. - Lmt, merupakan batasan dar populaton sze yang tdak mengalam penngkatan kualtas untuk sejumlah teras. - Maksteras, merupakan banyaknya teras yang akan dlakukan atau dapat dsebut juga sebaga krtera berhent. 2. Fase Intal: - Fase ntal merupakan proses untuk mendapatkan ntal soluton untuk tap Employeed Bee - Menghtung ftness (untuk f(x) 0 dan untuk f(x) < 0) 53
66 ftness f 3. Improvement Soluton x ftness f x - Improvement soluton berada pada fase Employeed Bee dan Onlooker Bee. Improvement soluton dgunakan untuk memperbaru solus dengan metode neghborhood operator. - Neghborhood operator yang akan dgunakan Swap Operator dan Swap Sequence pada fase Employeed Bee Inserton Operator dan Inserton Sequence pada fase Onlooker Bee. - Neghborhood operator dgunakan untuk mencar kanddat solus, dmana neghborhood operator terdr dar 2 kelompok, yatu operator pon ke pon dan operator subsekuen. Operator pon ke pon adalah random swap dan random nserton. - Sementara, operator subsekuen adalah random swap sequences, random nserton sequences, random reversng of sequences (RRS), random reversng swap of sequences (RRSS), dan random reversng nserton of sequences (RRIS). Neghbourhoud Operator Random Reversng of Subsequence (RRS), operator n membalkkan subsekuen yang terplh secara acak dar sekuen Random Reversng Inserton of Subsequences (RRIS), Operator n terdr dar random nserton sequences dan random nserton. Subsekuen yang terplh secara acak dar sekuen, dtambahkan kepada ttk yang dplh secara acak. Ssa sekuen drubah ke kanan sampa ukuran subsekuen. Sebelum menambahkan, subsekuen dbalkkan dengan kemungknan 50% Random Reversng Swap of Subsequences (RRSS), Operator n adalah kombnas dar dua operator, yatu random swap dan random swap sequences. Dua Subsekuen pertama dseleks untuk pertukaran. 54
67 Masng-masng dbalkkan dengan kemungknan 50%. Tdak hanya bagan dan 2 yang dtukar tetap juga bagan dbalkkan. Detal ABC. Fase Employeed Bee Swap Operator (SO) atau Random Swap. Msal blangan randomnya adalah SO(,3). Maka solus baru yang dhaslkan dar ntal soluton dengan SO adalah sebaga berkut: x x SO x SO, Swap Sequences(SS) atau Random Swap Sequences x x SS x x SO, SO, SO,..., SO SO 2 3 SO 2 SO 3 n... SO n = Banyaknya Swap Sequence, lalu htung nla probabltas Prob dmana Prob S S k ftness ftness x x k = Peluang memlh Employeed Bee ke- = Jumlah Employeed Bee 2. Fase Onlooker Bee Insert Operator (IO) atau Random Inserton. Sebaga contoh blangan random yang dhaslkan adalah IO(,3). Maka solus baru yang dhaslkan dar ntal tour dengan IO adalah sebaga berkut: x x IO n 55
68 x IO, Insert Sequences(IS) atau Random Inserton Sequences x x IS x x IO, IO, IO,..., IO IO IO IO n n = Banyaknya Insert Sequence 3. Fase Scout Bee IO Setelah melalu dua fase mprovement soluton, fase Employeed Bee dan fase Onlooker Bee, maka akan dlakukan perhtungan kualtas dar masng-masng Employeed Bee. Jumlah Scout Bee dsn bersfat dnams, tergantung pada jumlah Employeed Bee yang telah melebh lmt. Apabla lmt dar bee yang melakukan mprovement soluton melebh maxmum lmt yang dtetapkan, maka solus dar bee tersebut akan dhlangkan dan dgant dengan solus baru dengan menggunakan teknk random, memperbaru jarak yang dhaslkan, dan menyetel ulang lmt kembal menjad Krtera Berhent Krtera berhent dar sstem n akan dlakukan sebanyak maksteras yang ddefnskan. Iteras akan dlakukan sampa krtera berhent terpenuh, dan selama belum terpenuh, maka akan mengulang langkah ke Case Study: Travellng Salesman Problem (TSP) 0 9 9,5 8,6 62,7 6 n 3,2 3,2 8,6 82, ,9 Gambar 5. Contoh Permasalahan TSP 56
69 Jarak ,5 8 62,7 9 0,6 3,2 8,6 6 9,5,6 0 3,2 82, ,2 3,2 0 80,9 2 62,7 8,6 82,3 80,9 0 Langkah penyelesaan dengan algortma Artfcal Bee Colony (ABC) adalah sebaga berkut: 5.4. Insalsas Parameter Colony Sze = 4, Makster = 2, Sze Problem = 5, Lmt = 5, Colony Sze = Populaton Sze, Number of sequence (Nse) = 2*Sze Problem = 2*5 = Fase Intal Membangktkan secara random untuk mendapatkan ntal soluton untuk tap Employeed Bee, msal sebaga berkut: ftness f Intal soluton tap employee bee x Bee Ke - Rute Ftness , , , ,
70 Masuk pada teras ke Improvement Soluton (Fase Employeed Bee). Perhtungan swap operator ftness f x SO dbangktkan secara random Perbandngan nla Ftness (ntal soluton dan hasl swap operator) Bee Ke - Awal Hasl (SO) Total Jarak Ftness Total Jarak Ftness x 204,9 0, ,6 0, x2 67, 0, , 0, x3 20,8 0, , 0, x4 20,6 0, ,8 0,00493 Tral Jka nla ftness yang baru memlk nla yang lebh tngg, maka tral pada masng-masng ndvdu dber nla 0. Jka tdak, maka tral dtambahkan dengan Indvdu yang dplh Bee Ke - Rute x x x x Indvdu yang dplh merupakan hasl dar perbandngan nla ftness ndvdu awal dengan ndvdu baru dengan nla ftness yang lebh besar. 58
71 2. Perhtungan swap sequence Perhtungan swap sequences bee ke- Keterangan: SO dbangktkan secara random Perhtungan swap sequences bee ke- 59
72 Perhtungan swap sequences bee ke-3 Perhtungan swap sequences bee ke-4 60
73 Indvdu yang dplh Bee Ke - Rute Ftness Tral x , x , x , x , Sebelum memasuk fase onlooker bee, ndvdu terplh akan dseleks menggunakan metode roulette wheel. Pertama dhtung probabltas dar setap ndvdu. Prob Bee Ke - Rute Ftness Prob x , ,25 x , ,25 x , ,25 x , ,25 0, S k ftness ftness x x k Improvement Soluton (Fase Onlooker Bee) Setelah tap ndvdu dhtung probabltasnya, dlakukan perhtungan probabltas kumulatfnya untuk mendapatkan range pada tap ndvdu. Bee Ke - Prob ProbCum Range x 0,25 0,25 25-Jan x2 0,25 0, x3 0,25 0, x4 0,
74 Seleks roulette wheel Bee Ke - Rand Terplh Rute Ftness x , x , x , x , a. Perhtungan nsert operator Keterangan: IO dbangktkan secara random Perbandngan nla Ftness (ntal soluton dan hasl swap operator) Bee Ke - Awal Hasl (IO) Total Jarak Ftness Total Jarak Ftness x 67, 0, ,6 0, x2 67, 0, , 0, x3 67, 0, ,4 0, x4 67, 0, ,8 0, Tral Jka nla ftness yang baru memlk nla yang lebh tngg, maka tral pada masng-masng ndvdu dber nla 0. Jka tdak, maka tral dtambahkan dengan. Indvdu yang dplh Bee Ke - Rute Ftness x , x , x , x , Indvdu yang dplh merupakan hasl dar perbandngan nla ftness ndvdu awal dengan ndvdu baru dengan nla ftness yang lebh besar.
75 b. Perhtungan nsert sequence Perhtungan swap sequences bee ke- Perhtungan swap sequences bee ke-2 63
76 Perhtungan swap sequences bee ke-3 Perhtungan swap sequences bee ke-4 64
77 Pada fase scout bee dtamplkan ndvdu awal yang pertama dmasukkan dan ndvdu terplh dar hasl perhtungan Improvement Soluton. Indvdu Awal Bee Ke- Indvdu Terplh Bee Ke - Rute Ftness x ,00486 x ,00595 x ,00493 x ,00494 Rute Ftness x , x , x , x , Smpan solus terbak (global best) Bee Ke- Rute Ftness x , jka nla ftness tertngg berjumlah lebh dar satu, maka akan dlakukan pemerksaan tral. Salah satu dar hasl nla ftness tertngg dan memlk nla tral terendah, akan dplh menjad solus yang terbak Fase Scout Bee Evaluas, Lmt = 5, (M=Max(Tral)=22) Indvdu awal yang pertama dmasukkan dan hasl Improvement Soluton Indvdu awal Bee Ke- Rute Ftness x , x , x , x ,
78 Indvdu terplh Bee Ke - Rute Ftness Tral Ada Perbakan x , Ada x , Tdak x , Ada x , Ada Aturan: Jka M > Lmt, maka hapus ndvdu yang tdak ada perbakan, gant dengan ndvdu baru hasl random, kemudan reset tral = 0, jka M > Lmt dan terdapat ndvdu yang ada perbakan, maka tdak perlu dgantkan dengan ndvdu baru, kemudan reset tral = 0. Jka M < Lmt, maka tdak perlu dgantkan dengan ndvdu baru, dan nla tral tdak perlu d-reset. Maka, Indvdu barunya adalah sebaga berkut: Bee Ke- Rute Tral x x x x Bee Ke-2 d-generate secara random, karena tdak ada perbakan Masuk pada teras ke-2 - Improvement Soluton (Fase Employeed Bee) - Improvement Soluton (Fase Onlooker Bee) - Fase Scout Bee Lakukan Fase-fase tersebut sampa teras Maksmum. 5.5 Tugas Kelompok. Jelaskan perbedaan konsep representas solus, serta fase teratfnya dar optmas real code dan masalah kombnatoral pada ABC? 2. Jelaskan perbedaan antara Employeed Bee, Onlooker Bee, dan Scout Bee pada ABC? 3. Jka dketahu x =[ ] dan SO =(,4), SO 2 =(5,4), IO =(,4), IO 2 =(5,4). Tentukan: 66
79 a. x + SO 2 b. x + SS c. x + IO d. x + IS 4. Tentukan hasl dar v j jka dketahu k=2, dan v 3j jka dketahu k=! bee j= j=2 ftness x,4898 2, x 2 8,497 2, x 3-4,5575 0,
80 BAB 6 Algortma Ant Colony Optmzaton (ACO) 6. Pengantar Algortma kolon semut n dperkenalkan oleh Moyson dan Manderck pada tahun 996, setelah tu dkembangkan oleh Marco Dorgo. Algortma n mendapat nspras dar perlaku semut yang mencar makanan dar sarangnya. Semut mencar makanan dengan melepaskan feromon sebaga alat penanda dalam jalur yang dlewatnya. Perlaku semut yang melepaskan feromon n sangat berguna bag kelompoknya untuk mendapatkan jalur optmal dalam menemukan tempat makanannya. Proses mennggalkan feromon n dsebut stgmergy, yatu proses memodfkas lngkungan untuk mengngat jalan kembal ke sarang dan merupakan alat berkomunkas bag semut. 6.2 Dscrete Ant Colony Optmzaton (ACO) Berkut langkah-langkah Ant Colony Optmzaton (ACO) Untuk TSP:. Insalsas a. Set nla Tetapan sklus-semut (Q), Tetapan pengendal ntenstas jejak feromon semut (α > 0), Tetapan pengendal vsbltas (β > 0), Tetapan penguapan jejak feromon semut (0 < ρ ), banyak semut(m), banyak teras (NC max ) b. Set feromon awal (dengan menentukan satu solus awal dengan algortma greedy, lalu htung cost-nya (c greedy ) atau dengan langsung dset) dan htung nla vsbltas 0 m C greedy k =, 2,.., m, j =, 2,., n (banyak kota) 2. Penyusunan jalur kunjungan setap semut (t=): t 0 atau j Khusus ketka t= a. Insalsas kota pertama setap semut j d j 68
81 b. Memlh kota yang dkunjung dar nla Probabltas tertngg j t j t, jka j allowed k k p kt kt j t Dmana: p k j t kallowed k 0, lannya : Peluang semut ke-k untuk berkunjung dar kota ke kota j pada teras ke-t c. Mencatat setap kota yang dkunjung (Memor) Note: Setelah semua kota dkunjung dar setap semut, lalu htung cost, lalu smpan solus terbak (global best) 3. Cek konds berhent (t = t + (apakah mash NC max )), jka belum memenuh konds berhent: a. Htung matrk perubahan ntenstas feromon tap semut, jka jalur (,j) atau (j,) ada dalam Memor, gunakan rumus berkut: k Q j Cost k jka jalur (,j) atau (j,) tdak ada dalam Memor, maka k j 0 b. Htung matrk perubahan ntenstas feromon global dar tap semut j m k k c. Update feromon dengan rumus t. t j j j j d. Kosongkan tabel jalur kunjungan setap semut e. Kembal ke langkah (2) 6.3 Case Study: Travellng Salesman Problem (TSP) Contoh penyelesaan masalah TSP: Jarak (dj)
82 Insalsas a. Set nla Tetapan sklus-semut (Q = ), Tetapan pengendal ntenstas jejak feromon semut (α = ), Tetapan pengendal vsbltas (β = ), Tetapan penguapan jejak feromon semut (ρ = 0.), banyak semut(m = 5), banyak teras (NC max = 2) b. Set feromon awal dan htung nla vsbltas Tabel Nla vsbltas Penyusunan Jalur Kunjungan Setap Semut. Insalsas kota pertama setap semut 2. Memlh kota yang dkunjung dar nla Probabltas tertngg 3. Mencatat setap kota yang dkunjung (Memor) j t j d j 70
83 j (Nla vsbltas) Kota Awal Probabltas Max Probabltas Tujuan Memor kota kota 2 kota 3 kota 4 kota [ 5] [2 5] [3 ] [4 5] [5 4] Ket: Memor = kota ke 2 j t p k j t j t j t kt kt kallowed k 0, lannya 0 p p 2, jka j allowed k
84 Kota Awal kota kota 2 Probabltas kota 3 kota 4 kota 5 Max Probabltas Tujuan Memor [ 5] [5 4] - Memlh kota yang dkunjung dar nla Probabltas tertngg - Mencatat setap kota yang dkunjung (Memor) j (Nla vsbltas) Kota Awal Ket: kota kota 2 Probabltas kota 3 kota 4 kota 5 Max Probabltas Tujuan Memor [ 5 4] [2 5 4] [3 5] [4 5 2] [5 4 2] Memor = kota ke 3 - Memlh kota yang dkunjung dar nla Probabltas tertngg - Mencatat setap kota yang dkunjung (Memor) 72
85 j t j (Nla vsbltas) Ket: Kota Awal kota kota 2 Probabltas kota 3 kota 4 kota 5 Max Probabltas Tujuan Memor [ 5 4 2] [2 5 4 ] [3 5 4] [4 5 2 ] [5 4 2 ] Memor = kota keempat - Memlh kota yang dkunjung dar nla Probabltas tertngg - Mencatat setap kota yang dkunjung (Memor) j t
86 j (Nla vsbltas) Kota Awal Ket: Probabltas Max Probabltas Tujuan Memor kota kota 2 kota 3 kota 4 kota [ ] [ ] [ ] [ ] [ ] Memor = kota kelma Setelah semua kota dkunjung, htung cost, lalu smpan solus terbak (global best) Kota Awal Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] Cek konds berhent Cek konds berhent (t = t + = + = 2 (mash NC max )), jka belum memenuh konds berhent: a. Htung matrk perubahan ntenstas feromon tap semut, jka jalur (,j) atau (j,) ada dalam Memor, gunakan rumus berkut: k Q Q j j Cost Cost k jka jalur (,j) atau (j,) tdak ada dalam Memor, maka 74
87 k j 0 Semut ke-k Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] Matrk Perubahan Intenstas Feromon Semut ke- j Matrk Perubahan Intenstas Feromon Semut ke- j Semut ke-k Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] j Q Cost
88 Matrk Perubahan Intenstas Feromon Semut ke-2 2 j Semut ke-k Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] j Q Cost j j Q Cost 4 Semut ke-k Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] j
89 j Q Cost 5 Semut ke-k Memor Cost (Total Jarak) [ ] [ ] [ ] [ ] [ ] Matrk Perubahan Intenstas Feromon Semut ke-5 5 j b. Htung matrk perubahan ntenstas feromon global dar tap semut j m k k j 5 k k j j j j 3 j 4 j 5 j Contoh, htung 2 : 77
90 c. Update Feromon j 5 2 t. j t j t j Contoh, htung 2 t : a. Kosongkan tabel jalur kunjungan setap semut b. Kembal ke langkah (2) Tugas Kelompok. Jelaskan pengertan dar stlah-stlah berkut pada Ant Colony Optmzaton (ACO)! a. Nla alfa (α) dan Beta (β) b. Nla Q 78
91 c. Nla rho (ρ) k 0, j, j, j d. Konsep nla feromon dar: 2. Selesakan permasalahan TSP berkut menggunakan Ant Colony Optmzaton (ACO)! Tabel jarak antar smpul Node Note: dketahu nla Tetapan sklus-semut (Q = ), Tetapan pengendal ntenstas jejak feromon semut (α = 2), Tetapan pengendal vsbltas (β = ), Tetapan penguapan jejak feromon semut (ρ = 0.2), banyak semut(m = 5), banyak teras (NC max = 2) 79
92 BAB 7 Topk Lanjut Pada Swarm Intellgence 7. Pengantar Algortma kolon semut n dperkenalkan oleh Moyson dan Manderck pada tahun 996, setelah tu dkembangkan oleh Marco Dorgo. Algortma n mendapat nspras dar perlaku semut yang mencar makanan dar sarangnya. Semut mencar makanan dengan melepaskan feromon sebaga alat penanda dalam jalur yang dlewatnya. Perlaku semut yang melepaskan feromon n sangat berguna bag kelompoknya untuk mendapatkan jalur optmal dalam menemukan tempat makanannya. Proses mennggalkan feromon n dsebut stgmergy, yatu proses memodfkas lngkungan untuk mengngat jalan kembal ke sarang dan merupakan alat berkomunkas bag semut. Pheromone dgunakan sebaga komunkas antar semut pada saat membangun rute agar dapat mencapa ttk target (Tyas, 203; Martn, 202). Setap semut memlk kemampuan untuk mengeksploras dan mengeksplotas nformas pheromone yang telah dtnggalkan saat mereka melntas jalur tersebut (Lxng, 200). Dalam metode ACO, perlaku semut buatan dmanfaatkan untuk mencar solus mula dar penentuan awal node dan penentuan perpndahan node ke node tetangga yang layak dalam rangka proses penyelesaan masalah. Penguapan pheromone adalah proses penurunan ntenstas jalur pheromone karena telah melebh batas waktu. Proses tersebut dgunakan untuk menghndar lokal konvergens dan untuk mengeksploras pecaran area yang lebh luas. Setap semut berulang kal membangun jalurnya dengan menerapkan stochastc greedy rule, yang basa dkenal dengan transton rule (Lxng, 200). ACO merupakan algortma yang sangat tepat jka dgunakan untuk permasalahan optmas, karena memlk natural self-learnng yang sangat kuat (Tansh, 204). Contoh konsep optmas sebaga Topk Lanjut Pada Swarm Intellgence, msalnya: Algortma Optmas + Algortma Optmas Algortma Optmas n 80
93 Algortma Optmas + Algortma Optmas Algortma Optmas n + Algortma Klasfkas Algortma Optmas + Algortma Optmas Algortma Optmas n + Algortma Regres (Peramalan dan predks) Algortma Optmas + Algortma Optmas Algortma Optmas n + Algortma Clusterng Algortma Optmas + Algortma Optmas Algortma Optmas n + Algortma Rekomendas (msal d MK Sstem Pendukung Keputusan) Dan lannya. Konsep hybrd sederhana dan tngkat lanjut, msal: o o Hybrd PSO dengan Fungs Tertentu (yang sederhana) Hybrd ACO dengan Algortma tertentu (msal SVR, yang ddalam algortma tersebut terdapat Fungs tertentu, msal ketka menghtung nla evaluas dengan Fungs MAPE) MAPE N N yˆ y 00 y Ilustras konsep hybrd sebaga perbandngan untuk mempermudah pemahaman: 8
94 7.2 Hybrd ACO dengan SVR Berkut langkah-langkah SVR-ACO (Lxng, 200), yatu menyelesakan / Solve kasus Real Code dengan Combnatoral Code:. Insalsas: a. Tentukan parameter SVR dan batas mnmum-maksmum parameter yang akan doptmas dengan ACO, msal σ, C dan ε b. Set nla Tetapan sklus-semut (0 q 0 ), Tetapan pengendal ntenstas jejak feromon semut (α > 0), Tetapan pengendal vsbltas (β > 0), Tetapan penguapan jejak feromon local dan global dar semut (0 < ρ <, dan 0 < δ < ), banyak semut(m), banyak teras (NC max ), nla feromon awal ( ). 2. Penyusunan jalur kunjungan setap semut (t=): t Khusus ketka t= j k =, 2,.., m, j =, 2,., n (banyak dgt) 0 Optmas parameter (msal, parameter σ, C, ε): a. Tentukkan dgt pertama secara acak sebaga nla r=[0,9] untuk setap semut. b. Tentukan dgt berkutnya (nla u), dengan random q = [0,] unformly dstrbuted, lalu bandngkan dengan q 0. Jka q q 0 P r, u r, u. r, u, u J r u arg max r, u. r, u uj r Jka q > q 0, - Jka s J(r), maka P r, s r, s. r, s r, s. r, s sj r - Jka s J(r), maka Pr, s 0 lalu, gunakan seleks Roulette Wheel untuk menentukan u=s. 0 Update feromon local 82
95 r, u. r, u 0 3. Cek konds berhent (t = t + (apakah mash NC max?)), jka belum memenuh konds berhent: a. Update Pheromone Global r, u. r, u. r, u dmana ada konds: - Jka global best tour, maka r, u L globalbest MAPE globalbest - Jka global best tour, maka r, u 0 b. Kosongkan tabel jalur kunjungan setap semut c. Kembal ke langkah (2) 7.3 Support Vector Regresson (SVR) Konsep SVR ddasarkan pada rsk mnmzaton, yatu untuk mengestmas suatu fungs dengan cara memnmalkan batas dar generalzaton error, sehngga SVR mampu mengatas overfttng. Fungs regres dar metode SVR adalah sebaga berkut (Sethu Vjayakumar & S Wu, 999). ALGORITMA SEKUENSIAL TRAINING SVR :. Insalsas parameter SVR yang dgunakan 2. Rumus memperoleh Matrk Hessan 2 R ( K( x, x ) ) j 3. Untuk tap tranng pont lakukan: E y mn l * j j max max j ( ) R E j j,, * *, C mn E, C * * r,u r,u * 4. Kembal pada langkah ketga, sampa pada konds teras * maksmum atau max dan max 5. Dengan mengunakan fungs peramalan sebaga berkut: * 83
96 l * 2 f ( x) ( )( K( x, x) ) Metode Kernel 2 x x k( x, x ) exp( ) 2 2 Msal nla σ = 0.7 (Rajkumar et al., 203) (Javed et al., 2009) Normalsas Data Persamaan yang dgunakan untuk normalsas data adalah (S Gopal et al., 205) sepert yang dtunjukan pada persamaan. ( x x ) mn x' x x max mn Dmana: x = Hasl normalsas data x = Nla data yang akan dnormalsas x max = Nla maksmum dar dataset yang dgunakan = Nla mnmum dar dataset yang dgunakan x mn Nla Evaluas Persamaan yang dgunakan untuk nla evaluas adalah MAPE. 7.4 Tranng dan Testng SVR Berkut merupakan contoh proses tranng dan testng terhadap kasus peramalan nla kurs. Dketahu Grafk Fluktuas Nla Tukar IDR terhadap USD Perode yang dtunjukkan pada Gambar 6.. Gambar 7. Nla Tukar IDR terhadap USD Perode
97 Grafk d atas adalah pergerakan nla tukar mula dar tahun 2006 hngga 205(Nla grafk tahunan). Dengan ttk terkuat terjad pada tahun 20 dan ttk terlemah terjad pada tahun 205. Berkut dketahu Data Nla Tukar IDR Terhadap USD Jul 205 yang dtunjukkan oleh Tabel 6.. Tabel 7. Data Nla Tukar IDR Terhadap USD Jul 205 TANGGAL NILAI TUKAR dan dataset dengan 4 ftur yang dtunjukkan oleh Tabel 6.2. Tabel 7.2 Dataset dengan 4 ftur No Tgl/Bln/Thn X X2 X3 X4 Y 9 Jul Jul Jul Jul Jul Jul Jul Jul Data Lath Data Uj Proses Normalsas Setelah dtentukan data lath dan data uj maka selanjutnya adalah melakukan proses normalsas data, dmana: 85
98 x = Hasl normalsas data x = Nla data yang akan dnormalsas x max = Nla maksmum dar keseluruhan data, msal mula dar tahun x mn = Nla mnmum dar keseluruhan data, msal mula dar tahun Msal ddapatkan, x mn = 9634 dan x max = 4728 Dengan menggunakan persamaan 6.9 maka dperoleh hasl data normalsas untuk data ftur x adalah sebaga berkut: ( x x ) mn x' xmax xmn ( ) x ' Hasl normalsas dar data lath dtunjukkan oleh Tabel 6.3 dan hasl normalsas data uj dtunjukan oleh Tabel 6.4. Tabel 7.3 Hasl Normalsas Data Lath No Tgl/Bln/Thn X X2 X3 X4 Y 9 Jul Jul Jul Jul Jul Tabel 7.4 Hasl Normalsas Data Uj No Tgl/Bln/Thn X X2 X3 X4 Y 4 Jul Jul Jul Proses Perhtungan Jarak Data Setelah dlakukan proses normalsas maka langkah selanjutnya adalah menghtung jarak dar setap data. Berkut merupakan contoh perhtungan jarak data terhadap data 2. Tabel 7.5 Data dan 2 No Tgl/Bln/Thn X X2 X3 X4 9 Jul Jul
99 x,2 x x 2 ( ) 2 ( ) 2 ( ) Keterangan : X, X2, X3, X4 menyatakan ftur data atau pola-pola data, sedangkan x dan x 2 menyatakan data ke- dan data ke-2. 2 ( ) 2 2 Hasl perhtungan jarak dar setap data lath dtunjukan oleh Tabel 6.6. Tabel 7.6 Jarak Data Lath Data ke x x x x x x x x x x x x0-5 0 Perhtungan Matrks Hessan Setelah dperoleh jarak dar setap data langkah selanjutnya adalah menghtung matrk hessan dengan menggunakan persamaan 6.. berkut merupakan contoh perhtungan matrk hessan untuk data terhadap data [ R],2 K( x, x2 ) exp (0.7) Perhtungan matrk hessan tersebut terus dlakukan untuk setap data terhadap data lannya. Hasl perhtungan matrk hessan untuk seluruh data dtunjukkan pada Tabel 6.7. Tabel 7.7 Matrk Hessan R j
100 Htung Nla Error, δα * dan δα, serta α dan α * Setelah dperoleh nla matrk hessan maka selanjutnya dhtung nla Error menggunakan persamaan 6.2. berkut merupakan contoh perhtungan nla E untuk data. E y l * j ( ) R ( )* j j ( )* ( )* j E (( )* ( )* Hasl perhtungan E dar seluruh data dtunjukan pada Tabel 6.8. Tabel 7.8 Nla E Data E * Setelah dperoleh nla E maka dlakukan perhtungan δα dan δα * dengan persamaan 6.3 dan 6.4. Berkut contoh perhtungan nla δα dan δα untuk data. * mn max E, *, C * *, ), ) ) (mn(max( *( ) mn max E,, C (mn(max( *( ),-0),00-0)) Hasl perhtungan δα * dan δα untuk seluruh data lath dtunjukan oleh Tabel Tabel 7.9 Nla δα * dan δα Data δα * δα 88
101 3.7223E E E E E-05 0 * Setelah dperoleh nla δα dan δα maka dlakukan perhtungan terhadap α dan α * dengan menggunakan persamaan 6.5 dan 6.6. Berkut merupakan contoh perhtungan α dan α * untuk data. * * * * Hasl perhtungan α dan α * untuk seluruh data lath dtunjukan oleh Tabel 6.0. Tabel 7.0 Nla α * dan α Data * α α Testng Data Lath Dan Data Uj Dengan menggunakan fungs peramalan pada persamaan 6.0 dperoleh nla f(x) untuk data lath ke adalah sebaga berkut: l * 2 f ( x) ( )( K( x, x) ) 89
102 f ( x) (( (0)) ) (( (0)) ) (( (0)) ) (( (0)) ) (( (0)) ) Hasl perhtungan nla f(x) untuk seluruh data lath dtunjukan oleh Tabel 6.. Data Lath ke- Tabel 7. Nla f(x) Data Lath Nla Aktual Kurs F(x) Hasl perhtungan nla f(x) untuk seluruh data uj dtunjukan oleh Tabel 6.2. Tabel 7.2 Nla f(x) Data Uj Data Uj ke- Nla Aktual Kurs F(x) Denormalsas Peramalan ' ( x x x x x max x x' ( x mn ) mn max xmn) x mn x ( ( )) Hasl denormalsas untuk seluruh data lath dtunjukan oleh Tabel
103 Tabel 7.3 Hasl Denormalsas Data Lath Data Lath ke- F(x) F(x) Denormalsas Nla Aktual Hasl denormalsas untuk seluruh data lath dtunjukan oleh Tabel 6.4. MAPE Tabel 7.4 Hasl Denormalsas Data Uj Data Uj ke- F(x) F(x) Denormalsas Nla Aktual Menghtung Mape dengan menggunakan persamaan 6.0, sehngga dperoleh nla Mape sebaga berkut: n yˆ y MAPE 00 n y MAPEdata lath ( abs( 00) abs( 00) abs( 00) abs( 00) abs( 00)) Hasl perhtungan nla Mape untuk data lath dan data uj dapat dlhat pada Tabel 6.5. Tabel 7.5 Nla MAPE NILAI Data Lath Data Uj
104 MAPE Contoh Grafk Hasl Peramalan Nla Kurs MAPE = , berkut contoh grafk hasl peramalan nla kurs yang dtunjukan oleh Gambar 6.2. Vsualsas Hasl Peramalan Iteras SVR aktual ramalan Gambar 7.2 Vsualsas Hasl Peramalan Iteras SVR Penyelesaan ACO-SVR Berkut detal langkah-langkah SVR-ACO (Lxng, 200), yatu menyelesakan optmas nla parameter SVR:. Insalsas: a. Tentukan parameter SVR dan batas mnmum-maksmum parameter yang akan doptmas dengan ACO, msal σ=[0,9.999], C=[0,9999] dan ε=[0,9.999] (Msal, panjang dgt masng parameter σ, C, ε dset sebesar 4) 92
105 b. Set nla Tetapan sklus-semut (q 0 = 0.5), Tetapan pengendal ntenstas jejak feromon semut (α = 0.), Tetapan pengendal vsbltas (β = 0.9), Tetapan penguapan jejak feromon local dan global dar semut (ρ = 0.9, dan δ = 0.7), banyak semut(m = 5), banyak teras (Nc max = ), nla feromon awal ( ). k =, 2,.., m, j =, 2,., n (banyak dgt) 2. Penyusunan jalur kunjungan setap semut (t=): Optmas untuk parameter σ, C, ε: a. Tentukkan dgt pertama secara acak sebaga nla r=[0,9] untuk setap semut, msal untuk semut ke-(k=) dengan r = 7 b. Tentukan dgt berkutnya (nla u), dengan random q = [0,] unformly dstrbuted, lalu bandngkan dengan q 0. Jka q q 0 P r, u r, u. r, u, u J r u arg max r, u. r, u uj r Jka q > q 0, - Jka s J(r), maka P r, s sj r - Jka s J(r), maka P r, s 0 r, s. r, s r, s. r, s lalu, gunakan seleks Roulette Wheel untuk menentukan u=s. Keterangan: Pada konds jka q > q 0, strateg pemlhan yang dgunakan d atas dsebut dengan 'roulette wheel (RW)' karena mekansmenya adalah smulas pengoperasan roda roulette. Setap kota (s) memlk persentase d roda roulette dan semakn besar lebar slot (setara dengan nla persentase) d roda, maka probabltas memlh kota tersebut juga semakn besar. Dmana s adalah varabel acak yang dplh sesua dengan dstrbus probabltas dengan RW
106 msal q = 0.5, q 0 = 0.5. Maka memenuh konds q q 0, maka langkah selanjutnya adalah menghtung nla argmax, contoh menghtung P(7,5). Pr, u r, u. r, u, u J r u arg max r, u. r, u uj r u arg max ,0. 7,0, 7,. 7,,.., 7, ,9 karena semua nla P(r,u)-nya sama, maka sebaknya dplh secara random, msal nla u yang ddapat adalah 5. Update feromon local r, u. r, u 0 7, (0.90.5) kota sampa 4 atau dgt sampa 4 pada memor, merepresentaskan nla σ kota 5 sampa 8 atau dgt 5 sampa 8 pada memor, merepresentaskan nla C kota 9 sampa 2 atau dgt 9 sampa 2 pada memor, merepresentaskan nla ε (msalkan semua semut sudah mengunjung sampa 2 kota), maka akan tampl sepert berkut: kota sampa 4 atau dgt sampa 4 pada memor, merepresentaskan nla σ kota 5 sampa 8 atau dgt 5 sampa 8 pada memor, merepresentaskan nla C kota 9 sampa 2 atau dgt 9 sampa 2 pada memor, merepresentaskan nla ε Setelah semua kota dkunjung, htung MAPE, lalu smpan solus terbak (global best) 94
107 Batas bawah dan atas parameter σ=[0,9.999], C=[0,9999] dan ε=[0,9.999] 3. Cek konds berhent (t = t + = + = 2 (mash NC max )), jka belum memenuh konds berhent: a. Update Pheromone Global r, u. r, u. r, u dmana ada konds: - Jka global best tour, maka r, u L globalbest MAPE globalbest - Jka r,u global best tour, maka r, u 0 b. Kosongkan tabel jalur kunjungan setap semut c. Kembal ke langkah (2) 7.6 Tugas Kelompok. Jelaskan pengertan dar stlah-stlah berkut dar sudut pandang topk lanjut pada Swarm Intellgence yang menggunakan lebh dar satu algortma! a. Compare b. Parallel c. Hybrd d. Kombnas e. Integras f. Improve g. Enhanced r,u h. dar pont (a) sampa (g), carlah paper nternasonal/ nasonal dengan judul yang menggunakan kata-kata tersebut masngmasng paper. 2. Jelaskan mengapa beberapa parameter dar algortma SVR sebaknya doptmas menggunakan algortma Ant Colony Optmzaton (ACO)! 95
108 3. Berdasarkan dar slde ke-22, jka dset panjang dgt masng parameter σ, C, ε berturut-turut sebesar 2, 3, 3. Lakukan proses penentuan optmas parameter SVR tersebut dengan ACO a. Tentukan batas bawah dan batas atas dar σ=[0,...], C=[0,...] dan ε=[0,...] b. Tentukan semut yang memlk MAPE terbak, jka dketahu Set nla Tetapan sklus-semut (q 0 = 0.5), Tetapan pengendal ntenstas jejak feromon semut (α = 0.), Tetapan pengendal vsbltas (β = 0.9), Tetapan penguapan jejak feromon local dan global dar semut (ρ = 0.9, dan δ = 0.7), banyak semut(m = 5), banyak teras (Ncmax = ), nla feromon awal ( ) dan gambarkan path-nya! 4. Dar No. 3, selesakan optmas parameter algortma SVR tersebut menggunakan algortma real-coded partcle swarm optmzaton (RCPSO)! 96
109 BAB 8 Project Plhan Swarm Intellgence 8. Optmas Penjadwalan Pengerjaan Software Schedulng atau penjadwalan merupakan pekerjaan untuk mengalokaskan sumber daya yang terbatas dar suatu pekerjaan untuk mengefsenskan waktu pengerjaan. Job Shop Problem merupakan suatu permasalahan dmana dbutuhkan suatu solus untuk menyelesakan suatu job/task dengan memnmalkan total cost yang dkeluarkan. Pada peneltan n, terdapat constrant yang perlu dperhatkan yatu ketdakpastan waktu proses penyelesaan suatu job. Ketdakpastan waktu proses penyelesaan tentunya berhubungan erat dengan bdang pekerjaan tertentu sepert software house, dsb. Untuk constrant pertama berupa masalah ketdakpastan dalam waktu pemrorsesan, dapat dselesakan menggunakan algorma kombnatoral Artfcal Bee Colony (ABC). Peneltan n mencoba menerapkan prnsp prnsp tersebut dengan merubah doman permasalahan menjad penjadwalan pengerjaan software. Peneltan n dber judul Optmas Penjadwalan Pengerjaan Software pada Software House dengan Flow-Shop Problem Menggunakan Artfcal Bee Colony, dharapkan peneltan n dapat dgunakan sebaga rujukan dalam peneltan-peneltan lan dengan topk yang berkatan. 8.. Formulas Permasalahan Terdapat sebuah stud kasus permasalahan kombnatoral yatu penjadwalan pengerjaan software dengan tpe flow-shop schedulng problem (FSP) menggunakan ABC. Dmana akan dlakukan optmas untuk mendapatkan nla makespan (waktu perngerjaan tercepat) dar keseluruhan projek dengan waktu tahap pengerjaan tertentu yang berbeda dengan satu sama lan. Proses optmas FSP dengan ABC adalah berkut:. Insalsas bee awal pada fase employeed bee 2. Evaluas nla ftness keseluruhan bee dalam populas 3. Melakukan mprovement terhadap employeed bee dengan neghborhood operator: a) Improvement dengan swap operator (SO) b) Improvement dengan swap sequence (SS) 97
110 4. Melakukan seleks roulette wheel selecton untuk membentuk bee fase onlooker bee 5. Melakukan mprovement terhadap onlooker bee dengan neghborhood operator: a) Improvement dengan nsert operator (IO) b) Improvement dengan nsert sequence (IS) 6. Melakukan evaluas fase scout bee untuk mendapatkan bee dengan ftness terbak (global best) 7. Melakukan pengecekan nla tral terhadap lmt guna membentuk bee baru untuk fase employeed bee pada teras selanjutnya Sebaga contoh dalam stud kasus n, dgunakan data pengerjaan projek yang dtunjukkan pada Tabel 2.3: Tabel 8. Data yang Dgunakan Projek Task Projek Projek Projek Projek Pada tabel 3.3, Task merupakan pekerjaan yang perlu dlakukan. Dengan keterangan task merupakan Analss, task 2 merupakan Perancangan, task 3 merupakan Implementas, dan task 4 merupakan Pengujan. Sedangkan untuk nla dar projek terhadap task merupakan nla waktu yang dbutuhkan untuk penyelesaan setap task. Untuk parameter yang dgunakan dalam perhtungan adalah jumlah bee dalam populas (colonysze) sebesar 3, maksmum teras sebesar, sze problem sebesar 4, lmt sebesar 5, dan number of sequence (Nse) sebesar 2 kal sze problem yatu 8. Berkut n perhtungan manualnya:. Insalsas bee awal pada fase employeed bee Mengnsalsas bee awal secara acak sebesar colonysze yang telah dtentukan. Dmana bee n merupakan representas solus dar permasalahan yatu urutan pengerjaan dar keseluruhan projek yang ada. Insalsas dapat dlhat pada Tabel 2.4: Tabel 8.2 Insalsas bee awal pada fase employeed bee Bee ke- Urutan x x x
111 2. Evaluas nla ftness keseluruhan bee dalam populas Melakukan perhtungan ftness dengan menghtung nla makespan dengan menggunakan gantt-chart. Dmana nla ftnees terbak adalah nla makespan dengan total waktu terendah. Gantt-chart untuk bee ke- sampa 3 dapat dlhat pada Tabel 2.5, 2.6, dan 2.7. Task Task 2 Task 3 Task 4 Tabel 8.3 Gantt-chart bee ke- Tme Tabel 8.4 Gantt-chart bee ke-2 Task Task 2 Task 3 Task 4 Tme Tabel 8.5 Gantt-chart bee ke-3 Task Task 2 Task 3 99
112 Task 4 Tme Melakukan mprovement terhadap employeed bee dengan neghborhood operator: a) Improvement dengan swap operator (SO) Melakukan SO terhadap setap bee dalam populas, dengan ndeks SO yang dtentukan secara random. Perlakuan SO dapat dlhat pada Tabel 2.8 dan gantt-chart bee dengan nla ftness terbak pada Tabel 2.9: Tabel 8.6 Improvement SO pada tahap employeed bee Bee ke- Urutan Swap Operator Urutan Makespan Task Task 2 Task 3 Task 4 x x x Tabel 8.7 Gantt-chart bee dengan ftness terbak Tme
113 Gantt-chart yang dtamplkan adalah mlk bee ke-. Dkarenakan terdapat makespan yang sama nlanya terhadap bee lannya, maka bee pertama yang dtamplkan. Maka ddapatkan hasl bee baru yang dapat dlhat pada Tabel 2.0: Tabel 8.8 Hasl mprovement SO pada tahap employeed bee Bee ke- Urutan Makespan Tral x x x Nla tral adalah nla percobaan untuk mendapatkan bee baru dengan nla ftness yang lebh bak, dmana jka ddapatkan nla ftness yang tdak lebh bak maka nla tral dtambahkan dengan, dan jka ddapatkan nla ftness yang lebh bak maka nla tral d-set dengan 0. b) Improvement dengan swap sequence (SS) Melakukan SS terhadap setap bee hasl mprovement SO, dengan ndeks SO yang dtentukan secara random. Perlakuan SS dapat dlhat pada Tabel 2., 2.3, 2.5 dan gantt-chart bee dengan nla ftness terbak pada Tabel 2.2, 2.4, 2.6: Tabel 8.9 Improvement SS pada tahap bee ke- Bee ke- Urutan Makespan Tral x SO Urutan Makespan Tral Terbak
114 Tabel 8.0 Gantt-chart SS bee ke- dengan ftness terbak Task Task 2 Task 3 Task 4 Tme Tabel 8. Improvement SS pada tahap bee ke-2 Bee ke- Urutan Makespan Tral x SO Urutan Makespan Tral Terbak Tabel 8.2 Gantt-chart SS bee ke-2 dengan ftness terbak Task Task 2 Task 3 Task 4 Tme
115 Tabel 8.3 Improvement SS pada tahap bee ke-3 Bee ke- Urutan Makespan Tral x SO Urutan Makespan Tral Terbak Tabel 8.4 Gantt-chart SS bee ke-3 dengan ftness terbak Task Task 2 Task 3 Task 4 Tme
116 Maka, ddapatkan bee baru hasl employeed bee yang dapat dlhat pada Tabel 2.7: Tabel 8.5 Hasl mprovement SS pada tahap employeed bee Bee ke- Urutan Makespan Tral x x x Melakukan seleks roulette wheel selecton (RWS) untuk membentuk bee fase onlooker bee Bee baru hasl SS dhtung nla probabltasnya dengan rumus: prob = ftness totalftness Hasl nla probabltas dapat dlhat pada Tabel 2.8: Tabel 8.6 Nla probabltas keseluruhan employeed bee hasl SS Bee ke- Urutan Makespan Tral Prob x x x Dengan contoh perhtungan probabltas untuk bee ke- adalah sebaga berkut: prob = = Kemudan menghtung nla probabltas kumulatf dengan rumus: probcum = = prob Lalu mengenerate nla r dengan batas r[0, ] untuk setap bee, dan memlh serta cek probcum dar bee ke hngga akhr, dengan konds jka memenuh r <= probcum maka bee ke tersebut terplh untuk masuk ke fase onlooker bee. Proses randomsas dan pengecekan n dlakukan hngga terbentuk bee baru sebanyak nsalsas colonysze. Hasl dar perhtungan probcum dan pengecekan konds r dapat dlhat pada Tabel 2.9: 04
117 Tabel 8.7 Nla probabltas kumulatf dan pengecekan konds r Bee ke- Urutan Makespan Prob ProbCum Rand Terplh x x x Contoh perhtungan probabltas kumulatf untuk bee ke-2: probcum 2 = = Dan bee baru hasl seleks RWS yang akan dgunakan pada fase onlooker bee dapat dlhat pada Tabel 2.20: Tabel 8.8 Bee baru hasl seleks RWS Bee ke- Urutan Makespan x x x Melakukan mprovement terhadap onlooker bee dengan neghborhood operator: a) Improvement dengan nsert operator (IO) Melakukan IO terhadap setap bee hasl seleks RWS, dengan ndeks IO yang dtentukan secara random. Perlakuan IO dapat dlhat pada Tabel 2.2 dan gantt-chart bee dengan nla ftness terbak pada Tabel 2.22: Tabel 8.9 Improvement IO pada tahap onlooker bee Bee ke- Urutan Insert Operator Urutan Makespan Task Task 2 Task 3 Task 4 x x x Tabel 8.20 Gantt-chart bee dengan ftness terbak Tme
118 Maka ddapatkan hasl bee baru yang dapat dlhat pada Tabel 2.23: Tabel 8.2 Hasl mprovement IO pada tahap onlooker bee Bee ke- Urutan Makespan Tral x x x b) Improvement dengan nsert sequence (IS) Melakukan IS terhadap setap bee hasl mprovement IO, dengan ndeks IO yang dtentukan secara random. Perlakuan IS dapat dlhat pada Tabel 2.24, 2.26, 2.28 dan gantt-chart bee dengan nla ftness terbak pada Tabel 2.25, 2.27, 2.29: Tabel 8.22 Improvement IS pada tahap bee ke- Bee ke- Urutan Makespan Tral x IO Urutan Makespan Tral Terbak
119 Tabel 8.23 Gantt-chart IS bee ke- dengan ftness terbak Task Task 2 Task 3 Task 4 Tme Tabel 8.24 Improvement IS pada tahap bee ke-2 Bee ke- Urutan Makespan Tral x IO Urutan Makespan Tral Terbak Tabel 8.25 Gantt-chart IS bee ke-2 dengan ftness terbak Task Task 2 Task 3 Task 4 Tme
120 Tabel 8.26 Improvement IS pada tahap bee ke-3 Bee ke- Urutan Makespan Tral x IO Urutan Makespan Tral Terbak Tabel 8.27 Gantt-chart IS bee ke-3 dengan ftness terbak Task Task 2 Task 3 Task 4 Tme
121 Maka, ddapatkan bee baru hasl onlooker bee yang dapat dlhat pada Tabel 2.30: Tabel 8.28 Hasl mprovement IS pada tahap onlooker bee Bee ke- Urutan Makespan Tral x x x Melakukan evaluas fase scout bee untuk mendapatkan bee dengan ftness terbak (global best) Evaluas dlakukan dengan memlh bee dar hasl onlooker bee yang memlk nla ftness terbak. Dmana ddapatkan global best yang dapat dlhat pada Tabel 2.3: Tabel 8.29 Global best terplh Bee ke- Urutan Makespan x Melakukan pengecekan nla tral terhadap lmt guna membentuk bee baru untuk fase employeed bee pada teras selanjutnya Dlakukan dengan membandngkan bee hasl nsalsas (Tabel 2.32) dengan bee hasl mprovement terakhr (Tabel 2.33) dan mengecek konds jka tral maksmum (M) pada populas bee palng akhr melebh lmt yang telah dtentukan (M > Lmt), maka bee yang tdak mengalam perbakan dhapus dan dgantkan dengan bee baru secara random sepert randomsas pada fase nsalsas, serta nla tral-nya d-reset sama dengan 0. Jka M > Lmt dan terdapat bee yang mengalam perbakan maka bee tersebut tdak perlu dgantkan dengan bee baru serta nla tral-nya d-reset sama dengan 0. Namun, jka M < Lmt maka keseluruhan bee tdak perlu dgant dan nla tral-nya tdak perlu d-reset. Dmana untuk stud kasus n hasl pengecekannya dapat dlhat pada Tabel 2.34: Tabel 8.30 Bee hasl nsalsas awal Bee ke- Urutan Makespan x x x
122 Tabel 8.3 Bee hasl mprovement terakhr Bee ke- Urutan Makespan Tral Perbakan x Tdak x Ada x Tdak Dmana nla M = 4, dan nla lmt yang telah dtentukan dawal adalah 5. Maka, M > Lmt serta terdapat bee yang mengalam perbakan dan terdapat juga bee yang tdak mengalam perbakan. Sehngga bee ke- dan 3 drandom ulang dan bee ke-2 dbarkan tetap, lalu ketga nla tral-nya d-reset menjad 0. Tabel 8.32 Bee baru untuk teras selanjutnya Bee ke- Urutan Tral x x x Dengan maksmum teras sama dengan sepert yang telah dtentukan d awal, maka perulangan dberhentkan Implementas Berkut n dberkan bagan kode program JAVA untuk mplementas Optmas Penjadwalan Pengerjaan Software pada Software House dengan Flow-Shop Problem Menggunakan Artfcal Bee Colony. Source Code 8. FSPABC Man.java package fspabc; mport java.o.fle; mport java.utl.arraylst; mport java.utl.arrays; mport java.utl.collectons; mport javax.swng.jflechooser; mport javax.swng.joptonpane; mport javax.swng.table.defaulttablemodel; mport jxl.sheet; 0
123 mport jxl.workbook; /** * * Thanks Daneswara Jauhar */ publc class Man extends javax.swng.jframe { prvate JFleChooser chooser = new JFleChooser(); prvate nt colonysze; prvate nt maksiteras; prvate nt szeproblem; prvate nt lmt; prvate nt nse; prvate nt project; prvate nt[][] beecolony; nt[] task = {0, 0, 0, 0; nt data[][]; /** * Creates new form Man */ publc Man() { ntcomponents(); /** * Ths method s called from wthn the constructor to ntalze the form. * WARNING: Do NOT modfy ths code. The content of ths method s always * regenerated by the Form Edtor. // <edtor-fold defaultstate="collapsed" desc="generated Code">//GEN-BEGIN:ntComponents prvate vod ntcomponents() { _colonysze = new javax.swng.jtextfeld(); _maksteras = new javax.swng.jtextfeld(); _lmt = new javax.swng.jtextfeld(); jlabel = new javax.swng.jlabel(); jlabel2 = new javax.swng.jlabel(); jlabel3 = new javax.swng.jlabel(); jscrollpane = new javax.swng.jscrollpane(); table = new javax.swng.jtable(); jbutton = new javax.swng.jbutton(); lokas = new javax.swng.jlabel(); jlabel5 = new javax.swng.jlabel(); jlabel6 = new javax.swng.jlabel(); jlabel7 = new javax.swng.jlabel(); jbutton2 = new javax.swng.jbutton(); setdefaultcloseoperaton(javax.swng.wndowconstants.exit_on_close); jlabel.settext("colony Sze"); jlabel2.settext("maks Iteras");
124 jlabel3.settext("lmt"); Model( table.setmodel(new javax.swng.table.defaulttable- new Object [][] {, new Strng [] { "Projek", "Mesn ", "Mesn 2", "Mesn 3", "Mesn 4" )); jscrollpane.setvewportvew(table); jbutton.settext("load Data"); jbutton.addactonlstener(new java.awt.event.actonlstener() { publc vod actonperformed(java.awt.event.actonevent evt) { jbuttonactonperformed(evt); ); jlabel5.setfont(new java.awt.font("tahoma",, 4)); // NOI8N jlabel5.settext("optmas Penjadwalan Pengerjaan Software pada Software House"); jlabel6.setfont(new java.awt.font("tahoma",, 4)); // NOI8N jlabel6.settext("dengan Flow-Shop Schedulng Problem Menggunakan Algortma Bee Colony "); jlabel7.setfont(new java.awt.font("tahoma",, 4)); // NOI8N jlabel7.settext(" "); jbutton2.settext("proses"); jbutton2.addactonlstener(new java.awt.event.actonlstener() { publc vod actonperformed(java.awt.event.actonevent evt) { jbutton2actonperformed(evt); ); javax.swng.grouplayout layout = new javax.swng.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorzontalgroup( layout.createparallelgroup(javax.swng.grouplayout.algnment.leading).addgroup(layout.createsequentalgroup().addgroup(layout.createparallelgroup(javax.swng.grouplayout.algnment.leading) 2
125 .addgroup(layout.createsequentalgroup().addgap(84, 84, 84).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.LEADING).addComponent(jLabel6, javax.swng.grouplayout.algnment.trailing).addgroup(javax.swng.grouplayout.algnment.trailing, layout.createsequentalgroup().addcomponent(jlabel5).addgap(40, 40, 40)))).addGroup(layout.createSequentalGroup().addGap(25, 25, 25).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.LEADING).addComponent(jLabel7).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.LEADING, false).addgroup(layout.createsequentalgroup().addcomponent(jbutton).addpreferredgap(javax.swng.layoutstyle.componentplacement.related).addcomponent(lokas, javax.swng.grouplayout.default_size, javax.swng.grouplayout.default_size, Short.MAX_VALUE)).addGroup(layout.createSequentalGroup().addComponent(jScroll- Pane, javax.swng.grouplayout.preferred_size, javax.swng.grouplayout.default_size, javax.swng.grouplayout.preferred_size).addgap(8, 8, 8).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.TRAILING, false).addgroup(layout.createsequentalgroup().addgroup(layout.createparallelgroup(javax.swng.grouplayout.algnment.leading).addcomponent(jlabel3).addcomponent(jlabel2)).addgap(3, 3, 3).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.TRAILING, false).addcomponent(_maksteras, javax.swng.grouplayout.default_size, 83, Short.MAX_VALUE).addComponent(_lmt))).addGroup(layout.createSequentalGroup() 3
126 .addcomponent(jlabel).addpreferredgap(javax.swng.layoutstyle.componentplacement.related, 34, Short.MAX_VALUE).addComponent(_colonysze, javax.swng.grouplayout.preferred_size, 83, javax.swng.grouplayout.preferred_size)).addcomponent(jbutton2, javax.swng.grouplayout.default_size, javax.swng.grouplayout.default_size, Short.MAX_VALUE))))))).addContanerGap(23, Short.MAX_VALUE)) ); layout.setvertcalgroup( layout.createparallelgroup(javax.swng.grouplayout.algnment.leading).addgroup(layout.createsequentalgroup().addgap(24, 24, 24).addComponent(jLabel5).addPreferredGap(javax.swng.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel6).addPreferredGap(javax.swng.LayoutStyle.ComponentPlacement.RELATED).addComponent(jLabel7).addGap(8, 8, 8).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.LEADING).addComponent(lokas, javax.swng.grouplayout.preferred_size, 23, javax.swng.grouplayout.preferred_size).addgroup(layout.createsequentalgroup().addcomponent(jbutton).addpreferredgap(javax.swng.layoutstyle.componentplacement.related).addgroup(layout.createparallelgroup(javax.swng.grouplayout.algnment.leading).addcomponent(jscrollpane, javax.swng.grouplayout.preferred_size, 228, javax.swng.grouplayout.preferred_size).addgroup(layout.createsequentalgroup().addgroup(layout.createparallelgroup(javax.swng.grouplayout.algnment.baseline).addcomponent(_colonysze, javax.swng.grouplayout.preferred_size, javax.swng.grouplayout.default_size, javax.swng.grouplayout.preferred_size).addcomponent(jlabel)).addgap(6, 6, 6).addGroup(layout.createParallelGroup(javax.swng.GroupLayout.Algnment.BASELINE).addComponent(_maksteras, javax.swng.grouplayout.preferred_size, javax.swng.grouplayout.default_size, javax.swng.grouplayout.preferred_size).addcomponent(jlabel2)).addgap(8, 8, 8) 4
127 .addgroup(layout.createparallelgroup(javax.swng.grouplayout.algnment.baseline).addcomponent(_lmt, javax.swng.grouplayout.preferred_size, javax.swng.grouplayout.default_size, javax.swng.grouplayout.preferred_size).addcomponent(jlabel3)).addgap(50, 50, 50).addComponent(jButton2, javax.swng.grouplayout.preferred_size, 44, javax.swng.grouplayout.preferred_size))))).addcontanergap(59, Short.MAX_VALUE)) ); pack(); // </edtor-fold>//gen-end:ntcomponents prvate vod jbuttonactonperformed(java.awt.event.actonevent evt) {//GEN-FIRST:event_jButtonActonPerformed // TODO add your handlng code here: nt jes = chooser.showopendalog(ths); f (jes == chooser.approve_option) { Fle f = chooser.getselectedfle(); lokas.settext(f.getpath()); muatdata(f.getpath()); //GEN-LAST:event_jButtonActonPerformed prvate vod jbutton2actonperformed(java.awt.event.actonevent evt) {//GEN-FIRST:event_jButton2ActonPerformed // TODO add your handlng code here: colonysze = Integer.parseInt(_colonysze.getText()); nse = colonysze * 2; beecolony = BeeColony(); maksiteras = Integer.parseInt(_maksteras.getText()); lmt = Integer.parseInt(_lmt.getText()); for (nt = 0; < maksiteras; ++) { System.out.prntln(""); System.out.prntln("***************Iteras Ke" + ( + ) + "***************"); beecolony = ABC(beeColony); System.out.prntln(""); ftness(beecolony); //GEN-LAST:event_jButton2ActonPerformed /** args the command lne arguments */ publc statc vod man(strng args[]) { /* Set the Nmbus look and feel */ //<edtor-fold defaultstate="collapsed" desc=" Look and feel settng code (optonal) "> /* If Nmbus (ntroduced n Java SE 6) s not avalable, stay wth the default look and feel. 5
128 * For detals see */ try { for (javax.swng.uimanager.lookandfeelinfo nfo : javax.swng.uimanager.getinstalledlookandfeels()) { f ("Nmbus".equals(nfo.getName())) { javax.swng.uimanager.setlookandfeel(nfo.getclassname()); break; catch (ClassNotFoundExcepton ex) { java.utl.loggng.logger.getlogger(man.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (InstantatonExcepton ex) { java.utl.loggng.logger.getlogger(man.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (IllegalAccessExcepton ex) { java.utl.loggng.logger.getlogger(man.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (javax.swng.unsupportedlookandfeelexcepton ex) { java.utl.loggng.logger.getlogger(man.class.getname()).log(java.utl.loggng.level.severe, null, ex); //</edtor-fold> /* Create and dsplay the form */ java.awt.eventqueue.nvokelater(new Runnable() { publc vod run() { new Man().setVsble(true); ); publc statc vod ftness(nt[][] bee) { nt ndexmakespanmn = 0; for (nt = 0; < bee.length; ++) { f (bee[ndexmakespanmn][0] < bee[][0]) { ndexmakespanmn = ; double ftness = (double) / bee[ndexmakespan- Mn][0]; System.out.prntf("ftness = %.7f", ftness); publc nt[][] BeeColony() { nt[][] ntbee = new nt[colonysze][szeproblem + 2]; System.out.prntln("[Employeed bee] Insalsas bee :"); for (nt = 0; < colonysze; ++) { 6
129 ArrayLst<Integer> random = new ArrayLst<Integer>(); for (nt r = ; r <= szeproblem; r++) { random.add(new Integer(r)); Collectons.shuffle(random); for (nt j = 0; j < szeproblem; j++) { ntbee[][j] = (nt) random.get(j); ntbee[][szeproblem] = htungmakespan(ntbee[]); tamplkanbeemakespan(ntbee); return ntbee; publc nt[][] ABC(nt[][] beecolony) { nt temp = 0; nt tmp[] = new nt[2]; nt[][] orgnalbee = new nt[beecolony.length][beecolony[0].length]; for (nt = 0; < orgnalbee.length; ++) { for (nt j = 0; j < orgnalbee[].length; j++) { orgnalbee[][j] = beecolony[][j]; // SO.. // SS.. // RWS.. // IO Onlooker Bee.. // IS Onlooker Bee.. // IS Onlooker Bee.. return beecolony; publc vod tamplkanbeeterbak(nt[][] bee) { nt terbak = 0; for (nt = 0; < bee.length; ++) { f (bee[terbak][0] > bee[][0]) { terbak = ; System.out.prntln(""); 7
130 for (nt = 0; < bee[terbak].length; ++) { System.out.prnt(bee[terbak][] + " "); publc vod tamplkanhaslrws(nt[][] bee, double[][] rws, nt[] choosen) { for (nt = 0; < bee.length; ++) { for (nt j = 0; j < bee[0].length; j++) { System.out.prnt(bee[][j] + " "); System.out.prntf("%.2f %.2f %.2f %d\n", rws[][0], rws[][], rws[][2], choosen[]); ]; publc vod tamplkanbeedengantral(nt[][] bee) { for (nt = 0; < bee.length; ++) { for (nt j = 0; j < bee[0].length; j++) { System.out.prnt(bee[][j] + " "); System.out.prntln(""); publc vod tamplkanbeemakespan(nt[][] bee) { for (nt = 0; < bee.length; ++) { for (nt j = 0; j < bee[0].length - ; j++) { System.out.prnt(bee[][j] + " "); System.out.prntln(""); publc nt htungmakespan(nt[] urutan) { nt hasl; for (nt = 0; < urutan.length - 2; ++) { for (nt j = ; j < data[0].length; j++) { f (j - == 0) { task[j - ] += data[urutan[] - ][j - ][j - ]; - ]; else { f (task[j - ] > task[j - 2]) { task[j - ] += data[urutan[] - else { task[j - ] = data[urutan[] - ][j hasl = task[3]; task[0] = 0; task[] = 0; task[2] = 0; task[3] = 0; task[j - ] += task[j - 2]; 8
131 return hasl; prvate vod muatdata(strng lokas) { Fle excelfle = new Fle(lokas); // buat model untuk fle excel f (excelfle.exsts()) { try { Workbook workbook = Workbook.getWorkbook(excelFle); Sheet sheet = workbook.getsheets()[0]; Strng header[] = {"Projek", "Mesn ", "Mesn 2", "Mesn 3", "Mesn 4"; DefaultTableModel model = new DefaultTable- Model(null, header); model.setcolumncount(sheet.getcolumns()); model.setrowcount(sheet.getrows()); data = new nt[sheet.getrows()][sheet.getcolumns()]; szeproblem = sheet.getrows(); for (nt row = 0; row < sheet.getrows(); row++) { for (nt column = 0; column < sheet.getcolumns(); column++) { Strng content = sheet.getcell(column, row).getcontents(); data[row][column] = Integer.parseInt(sheet.getCell(column, row).getcontents()); model.setvalueat(content, row, column); table.setmodel(model); catch (Excepton e) { JOptonPane.showMessageDalog(null, "Error: " + e); else { JOptonPane.showMessageDalog(null, "Fle does not exst"); // Varables declaraton - do not modfy//gen- BEGIN:varables prvate javax.swng.jtextfeld _colonysze; prvate javax.swng.jtextfeld _lmt; prvate javax.swng.jtextfeld _maksteras; prvate javax.swng.jbutton jbutton; prvate javax.swng.jbutton jbutton2; prvate javax.swng.jlabel jlabel; prvate javax.swng.jlabel jlabel2; prvate javax.swng.jlabel jlabel3; prvate javax.swng.jlabel jlabel5; prvate javax.swng.jlabel jlabel6; prvate javax.swng.jlabel jlabel7; prvate javax.swng.jscrollpane jscrollpane; 9
132 prvate javax.swng.jlabel lokas; prvate javax.swng.jtable table; // End of varables declaraton//gen-end:varables Man.form <?xml verson=".0" encodng="utf-8"?> <Form verson=".5" maxverson=".9" type="org.netbeans.modules.form.formnfo.jframeforminfo"> <Propertes> <Property name="defaultcloseoperaton" type="nt" value="3"/> </Propertes> <SynthetcPropertes> <SynthetcProperty name="formszepolcy" type="nt" value=""/> <SynthetcProperty name="generatecenter" type="boolean" value="false"/> </SynthetcPropertes> <AuxValues> <AuxValue name="formsettngs_autoresourcng" type="java.lang.integer" value="0"/> <AuxValue name="formsettngs_autosetcomponentname" type="java.lang.boolean" value="false"/> <AuxValue name="formsettngs_generatefqn" type="java.lang.boolean" value="true"/> <AuxValue name="formsettngs_generatemnemoncscode" type="java.lang.boolean" value="false"/> <AuxValue name="formsettngs_8nautomode" type="java.lang.boolean" value="false"/> <AuxValue name="formsettngs_layoutcodetarget" type="java.lang.integer" value=""/> <AuxValue name="formsettngs_lstenergeneratonstyle" type="java.lang.integer" value="0"/> <AuxValue name="formsettngs_varableslocal" type="java.lang.boolean" value="false"/> <AuxValue name="formsettngs_varablesmodfer" type="java.lang.integer" value="2"/> </AuxValues> <Layout> <DmensonLayout dm="0"> <Group type="03" groupalgnment="0" attrbutes="0"> <Group type="02" attrbutes="0"> <Group type="03" groupalgnment="0" attrbutes="0"> <Group type="02" algnment="0" attrbutes="0"> <EmptySpace mn="-2" pref="84" max="- 2" attrbutes="0"/> <Group type="03" groupalgnment="0" attrbutes="0"> 20
133 <Component d="jlabel6" algnment="" mn="-2" max="-2" attrbutes="0"/> <Group type="02" algnment="" attrbutes="0"> <Component d="jlabel5" mn="-2" max="-2" attrbutes="0"/> <EmptySpace mn="-2" pref="40" max="-2" attrbutes="0"/> </Group> </Group> </Group> <Group type="02" algnment="0" attrbutes="0"> <EmptySpace mn="-2" pref="25" max="- 2" attrbutes="0"/> <Group type="03" groupalgnment="0" attrbutes="0"> <Component d="jlabel7" mn="-2" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="0" max="-2" attrbutes="0"> <Group type="02" algnment="0" attrbutes="0"> <Component d="jbutton" mn="-2" max="-2" attrbutes="0"/> <EmptySpace max="-2" attrbutes="0"/> <Component d="lokas" max="32767" attrbutes="0"/> </Group> <Group type="02" algnment="0" attrbutes="0"> <Component d="jscroll- Pane" mn="-2" max="-2" attrbutes="0"/> <EmptySpace type="separate" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="" max="-2" attrbutes="0"> <Group type="02" algnment="" attrbutes="0"> <Group type="03" groupalgnment="0" attrbutes="0"> <Component d="jlabel3" mn="-2" max="-2" attrbutes="0"/> <Component d="jlabel2" mn="-2" max="-2" attrbutes="0"/> </Group> <EmptySpace mn="-2" pref="3" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="" max="-2" attrbutes="0"> <Component d="_maksteras" algnment="" pref="83" max="32767" attrbutes="0"/> <Component d="_lmt" max="32767" attrbutes="0"/> </Group> </Group> 2
134 <Group type="02" algnment="" attrbutes="0"> <Component d="jlabel" mn="-2" max="-2" attrbutes="0"/> <EmptySpace pref="34" max="32767" attrbutes="0"/> <Component d="_colonysze" mn="-2" pref="83" max="-2" attrbutes="0"/> </Group> <Component d="jbutton2" max="32767" attrbutes="0"/> </Group> </Group> </Group> </Group> </Group> </Group> <EmptySpace pref="23" max="32767" attrbutes="0"/> </Group> </Group> </DmensonLayout> <DmensonLayout dm=""> <Group type="03" groupalgnment="0" attrbutes="0"> <Group type="02" algnment="0" attrbutes="0"> <EmptySpace mn="-2" pref="24" max="-2" attrbutes="0"/> <Component d="jlabel5" mn="-2" max="-2" attrbutes="0"/> <EmptySpace max="-2" attrbutes="0"/> <Component d="jlabel6" mn="-2" max="-2" attrbutes="0"/> <EmptySpace max="-2" attrbutes="0"/> <Component d="jlabel7" mn="-2" max="-2" attrbutes="0"/> <EmptySpace type="separate" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="0" attrbutes="0"> <Component d="lokas" algnment="0" mn="-2" pref="23" max="-2" attrbutes="0"/> <Group type="02" algnment="0" attrbutes="0"> <Component d="jbutton" mn="-2" max="-2" attrbutes="0"/> <EmptySpace max="-2" attrbutes="0"/> <Group type="03" groupalgnment="0" attrbutes="0"> <Component d="jscrollpane" mn="-2" pref="228" max="-2" attrbutes="0"/> <Group type="02" algnment="0" attrbutes="0"> <Group type="03" groupalgnment="3" attrbutes="0"> <Component d="_colonysze" algnment="3" mn="-2" max="-2" attrbutes="0"/> <Component d="jlabel" algnment="3" mn="-2" max="-2" attrbutes="0"/> 22
135 </Group> <EmptySpace mn="-2" pref="6" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="3" attrbutes="0"> <Component d="_maksteras" algnment="3" mn="-2" max="-2" attrbutes="0"/> <Component d="jlabel2" algnment="3" mn="-2" max="-2" attrbutes="0"/> </Group> <EmptySpace type="separate" max="-2" attrbutes="0"/> <Group type="03" groupalgnment="3" attrbutes="0"> <Component d="_lmt" algnment="3" mn="-2" max="-2" attrbutes="0"/> <Component d="jlabel3" algnment="3" mn="-2" max="-2" attrbutes="0"/> </Group> <EmptySpace mn="-2" pref="50" max="-2" attrbutes="0"/> <Component d="jbutton2" mn="-2" pref="44" max="-2" attrbutes="0"/> </Group> </Group> </Group> </Group> <EmptySpace pref="59" max="32767" attrbutes="0"/> </Group> </Group> </DmensonLayout> </Layout> <SubComponents> <Component class="javax.swng.jtextfeld" name="_colonysze"> </Component> <Component class="javax.swng.jtextfeld" name="_maksteras"> </Component> <Component class="javax.swng.jtextfeld" name="_lmt"> </Component> <Component class="javax.swng.jlabel" name="jlabel"> <Propertes> <Property name="text" type="java.lang.strng" value="colony Sze"/> </Propertes> </Component> <Component class="javax.swng.jlabel" name="jlabel2"> <Propertes> <Property name="text" type="java.lang.strng" value="maks Iteras"/> </Propertes> </Component> <Component class="javax.swng.jlabel" name="jlabel3"> <Propertes> <Property name="text" type="java.lang.strng" value="lmt"/> 23
136 </Propertes> </Component> <Contaner class="javax.swng.jscrollpane" name="jscrollpane"> <AuxValues> <AuxValue name="autoscrollpane" type="java.lang.boolean" value="true"/> </AuxValues> <Layout class="org.netbeans.modules.form.compat2.layouts.support.jscrollpanesupportlayout"/> <SubComponents> <Component class="javax.swng.jtable" name="table"> <Propertes> <Property name="model" type="javax.swng.table.tablemodel" edtor="org.netbeans.modules.form.edtors2.tablemodeledtor"> <Table columncount="5" rowcount="0"> <Column edtable="true" ttle="projek" type="java.lang.object"/> <Column edtable="true" ttle="mesn " type="java.lang.object"/> <Column edtable="true" ttle="mesn 2" type="java.lang.object"/> <Column edtable="true" ttle="mesn 3" type="java.lang.object"/> <Column edtable="true" ttle="mesn 4" type="java.lang.object"/> </Table> </Property> <Property name="columnmodel" type="javax.swng.table.tablecolumnmodel" edtor="org.netbeans.modules.form.edtors2.tablecolumnmodeledtor"> <TableColumnModel selectonmodel="0"> <Column maxwdth="-" mnwdth="-" pref- Wdth="-" reszable="true"> <Ttle/> <Edtor/> <Renderer/> </Column> <Column maxwdth="-" mnwdth="-" pref- Wdth="-" reszable="true"> <Ttle/> <Edtor/> <Renderer/> </Column> <Column maxwdth="-" mnwdth="-" pref- Wdth="-" reszable="true"> <Ttle/> <Edtor/> <Renderer/> </Column> <Column maxwdth="-" mnwdth="-" pref- Wdth="-" reszable="true"> <Ttle/> <Edtor/> <Renderer/> </Column> 24
137 <Column maxwdth="-" mnwdth="-" pref- Wdth="-" reszable="true"> <Ttle/> <Edtor/> <Renderer/> </Column> </TableColumnModel> </Property> <Property name="tableheader" type="javax.swng.table.jtableheader" edtor="org.netbeans.modules.form.edtors2.jtableheaderedtor"> <TableHeader reorderngallowed="true" reszngallowed="true"/> </Property> </Propertes> </Component> </SubComponents> </Contaner> <Component class="javax.swng.jbutton" name="jbutton"> <Propertes> <Property name="text" type="java.lang.strng" value="load Data"/> </Propertes> <Events> <EventHandler event="actonperformed" lstener="java.awt.event.actonlstener" parameters="java.awt.event.actonevent" handler="jbuttonacton- Performed"/> </Events> </Component> <Component class="javax.swng.jlabel" name="lokas"> </Component> <Component class="javax.swng.jlabel" name="jlabel5"> <Propertes> <Property name="font" type="java.awt.font" edtor="org.netbeans.beannfo.edtors.fontedtor"> <Font name="tahoma" sze="4" style=""/> </Property> <Property name="text" type="java.lang.strng" value="optmas Penjadwalan Pengerjaan Software pada Software House"/> </Propertes> </Component> <Component class="javax.swng.jlabel" name="jlabel6"> <Propertes> <Property name="font" type="java.awt.font" edtor="org.netbeans.beannfo.edtors.fontedtor"> <Font name="tahoma" sze="4" style=""/> </Property> <Property name="text" type="java.lang.strng" value="dengan Flow-Shop Schedulng Problem Menggunakan Algortma Bee Colony "/> </Propertes> </Component> <Component class="javax.swng.jlabel" name="jlabel7"> <Propertes> <Property name="font" type="java.awt.font" edtor="org.netbeans.beannfo.edtors.fontedtor"> <Font name="tahoma" sze="4" style=""/> 25
138 </Property> <Property name="text" type="java.lang.strng" value=" "/> </Propertes> </Component> <Component class="javax.swng.jbutton" name="jbutton2"> <Propertes> <Property name="text" type="java.lang.strng" value="proses"/> </Propertes> <Events> <EventHandler event="actonperformed" lstener="java.awt.event.actonlstener" parameters="java.awt.event.actonevent" handler="jbutton2acton- Performed"/> </Events> </Component> </SubComponents> </Form> 8.2 Optmas Komposs Menu Makanan Perkembangan zaman yang semakn maju membuat segala hal menjad lebh cepat, bahkan hal n mempengaruh gaya hdup masyarakat masa kn dengan lebh serngnya mengkonsums makanan cepat saj yang menyebabkan berbaga macam penyakt salah satunya alah dabetes meltus. Indonesa sebaga negara yang berkembang, pola hdup masyarakatnya mash jauh dar pola hdup sehat. Hal n senada dengan hasl surve yang dkeluarkan oleh AIA Grup bahwa Indonesa hanya merah skor 55 dar batas skor 00 dalam AIA Healthy Lvng Index 203 (AIA Grup, 203). Untuk penderta dabetes melltus sendr, Indonesa menempat urutan ke-4 terbesar d duna dengan jumlah penderta sebesar 5,6% dan menurut WHO penderta dabetes melltus dperkrakan dapat mencapa 2,3 juta pada tahun Menurut Suryono dalam Mahmudy dan Ranawat (205) Dabetes melltus merupakan kumpulan gejala yang tmbul pada dr seseorang yang dsebabkan oleh adanya penngkatan glukosa darah akbat kekurangan nsuln bak absolut maupun relatf. Umumnya setap asupan yang dcerna manusa akan dubah menjad glukosa lalu d salurkan kesetap bagan sel tubuh dengan bantuan nsuln. Bag penderta dabetes meltus memlk kesultan dalam mencerna glukosa dkarenakan kurangnya kadar nsuln sehngga menmbulkan penumpukan glukosa dalam sel. Karena asupan bag penderta dabetes harus sangat dperhatkan dan dpantau untuk mendapatkan komposs menu 26
139 makanan yang tepat. Namun hal n terkadang mengalam kendala, maka dbutuhkan suatu metode untuk mengoptmalkan komposs yang tepat bag setap penderta. Salah satu metode optmas alah Partcle Swarm Optmzaton (PSO). PSO sendr cukup mudah untuk dmplementaskan dan menghaslkan solus yang cukup stabl. Oleh karena tu PSO sangat cocok dgunakan untuk penentuan komposs menu makanan bag penderta dabetes meltus Formulas Permasalahan Terdapat kasus yatu optmas penentuan komposs menu makanan penderta Dabetes Melltus. Optmas dlakukan dengan menggunakan PSO. Komposs menu makanan yang dhaslkan akan memlk nla ftness yang menunjukkan seberapa bagus solus yang dhaslkan. Tujuan utamanya adalah memaksmalkan nla ftness komposs menu makanan. Proses penentuan komposs menu makanan menggunakan PSO adalah sebaga berkut:. Menghtung kebutuhan kalor berdasarkan data penderta. 2. Insalsas parameter PSO. 3. Insalsas populas awal. 4. Proses PSO (dulang hngga konds berhent terpenuh) a. Update kecepatan masng-masng ndvdu. b. Update poss masng-masng ndvdu. c. Htung nla ftness masng-masng ndvdu. d. Plh global best dan local best untuk masng-masng ndvdu. 5. Dekode global best menjad komposs menu makanan. Pada Stud kasus n, dgunakan data makanan sebanyak 55 makanan yang dbag menjad 4 bagan (makanan pokok, makanan sumber proten nabat, hewan, sayuran, dan pelengkap). Sedangkan pada peneltan kam, data yang dgunakan sebanyak 8 data makanan untuk jens Makanan Pokok (MP), 20 data makanan untuk jens makanan Sumber Proten Nabat (SN), 33 data makanan untuk jens makanan Sumber Proten Hewan (SH), 35 data makanan untuk jens makanan Sayuran (SY), dan 35 data makanan untuk jens makanan Pelengkap (PLK). No Tabel Daftar Komposs Zat Gz Makanan per 00 gram Nama Bahan Makanan Energ (Kal) Makanan Pokok Karbohdrat (gr) Proten (gr) 27 Lemak (gr) Nas Puth
140 2 Nas Beras Merah Nas Tm Nas Ketan Puth Nas Ketan Htam Bhun Bskut Kentang rebus Makron rebus Mazena Nas Jagung Kunng Kembang Tahu Rebus Kacang Kedela Rebus Makanan Sumber Proten Nabat Tahu Goreng Tempe Goreng Tauco Kacang Tolo Rebus Oncom Kacang Tanah Rebus Kacang Hjau Rebus Kerpk Tempe Kerpk Oncom Makanan Sumber Proten Hewan Ayam Goreng Empal Goreng Bandeng Goreng Pempek Tengr Tums Bandeng Gurame Asam Mans Jambal Goreng Mujar Acar Kunng
141 9 Ikan Mas Pepes Belut Goreng Sop Dagng Sap Sayuran Brongkos Toge Goreng Botok Lamtoro Sayur Bunga Pepaya Sayur asem Cap ca Sayur Sop Tums Bayam Bersantan Semur Jengkol Ketmun Pelecng Kangkung Makanan Pelengkap Yoghurt Alpukat Anggur hutan Apel Arba Duku Jambu bj Jeruk Bal Jeruk Mans Mangga Kesemek Data penderta Dabetes Mlltus adalah adalah sebaga berkut : Umur Berat Badan Tngg Badan Jens Kelamn Pekerjaan L Bengkel. Menghtung kebutuhan kalor dar data penderta Dabetes Melltus 29
142 Perhtungan kalor dar pasen tersebut adalah sebaga berkut: - BBI = 0,9 x (75 00) = 67,5 - AMB Pra = 67,5 x 30 = 2025 Kkal - AMB Umur = -5% x 2025 = -0,25 Kkal - TEE Rngan = + 20% x 2025 = 405 Kkal - AMB Berat Badan = +20% x 2025 = 405 Kkal Sehngga dperoleh kebutuhan gz pada penderta tersebut adalah sebaga berkut: - Total Kalor = , = 2733,75 Kkal - Karbohdrat (Kkal) = 60% x 2733,75= 858,95 Kkal = gr - Proten (Kkal) = 2% x 2733,75 = 328,05 Kkal = gr - Lemak (Kkal) = 20% x 2733,75 = 546,75 Kkal = 60,75 gr Dar perhtungan yang telah dlakukan maka dperoleh kebutuhan karbohdrat sebesar 40,063 gr, proten sebesar 82,025 gr dan lemak sebesar 60,75gr. 2. Insalsas parameter PSO Sebelumnya, data makanan dkonvers ke agar memenuh kebutuhan asupan dengan menngkatkan jumlah berat tap makanan, untuk bahan makanan pokok dtngkatkan menjad 2 kal, sumber proten nabat menjad ½ kal, sumber proten hewan menjad 0.8 kal, sayuran menjad 2 kal dan pelengkap menjad ½ kal. No Tabel Hasl Konvers Komposs Gz Data Makanan Nama Bahan Makanan Energ (Kal) Makanan Pokok Karbohdrat (gr) Proten (gr) 30 Lemak (gr) Nas Puth Nas Beras Merah Nas Tm Nas Ketan Puth Nas Ketan Htam Bhun Bskut Kentang rebus Makron rebus Mazena Nas Jagung Kunng Makanan Sumber Proten Nabat
143 2 Kembang Tahu Rebus Kacang Kedela Rebus Tahu Goreng Tempe Goreng Tauco Kacang Tolo Rebus Oncom Kacang Tanah Rebus Kacang Hjau Rebus Kerpk Tempe Kerpk Oncom Makanan Sumber Proten Hewan Ayam Goreng Empal Goreng Bandeng Goreng Pempek Tengr Tums Bandeng Gurame Asam 6 Mans Jambal Goreng Mujar Acar Kunng Ikan Mas Pepes Belut Goreng Sop Dagng Sap Sayuran Brongkos Toge Goreng Botok Lamtoro Sayur Bunga 4 Pepaya Sayur asem Cap ca Sayur Sop
144 8 Tums Bayam Bersantan Semur Jengkol Ketmun Pelecng Kangkung Makanan Pelengkap Yoghurt Alpukat Anggur hutan Apel Arba Duku Jambu bj Jeruk Bal Jeruk Mans Mangga Kesemek Insalsas populas awal. Representas partkel dalam metode PSO untuk permasalahan n menggunakan representas real code. Dalam satu partkel terdapat 5 gen memuat blangan real code yang merupakan representas dar no ndex makanan. 5 gen menunjukkan jumlah makanan yang dkonsums oleh pasen dalam satu har terdr atas 3 waktu yatu pag, sang dan malam. Susunan makanan yang dkonsums setap waktu harus memenuh komposs makanan yang sudah dtentukan sehngga dperoleh kesembangan gz. Susunan makanan tersebut adalah Makanan Pokok (MP), Makanan yang mengandung Sumber Proten Nabat (SN), Makanan yang mengandung Sumber Proten Hewan (SH), Sayuran (SY), dan Makanan Pelengkap (PLK). Range angka untuk representas gen partkel dapat menggunakan range angka berapapun. Pada peneltan n, range nla yang dgunakan berada dantara - 00 dmaksudkan agar ruang pemlhan gen partkel tdak terlalu besar dan kompleks. N O PAGI SIANG MALAM MP SN SH SY PL K MP.. MP SN S H SY PL K P
145 P P Kemudan nla tersebut kemudan dkonvers (normalsas) menjad sebaga berkut. Nla dar tap populas menyatakan no ndex dar tap bahan makanan. NO PAGI SIANG MALAM MP SN SH SY PLK MP.. MP SN SH SY PLK P P P Keterangan : - MP : Makanan Pokok - SN : Makanan Sumber Proten Nabat - SH : Makanan Sumber Proten Hewan - SY : Sayuran - PLK : Makanan Pelengkap Dhtung nla ftness tap partkel menggunakan rumus berkut. Nla Ftness = 000 penalt Nla penalt merupakan nla yang dberkan jka nla total dar tap komponen gz tdak sesua dengan kebutuhan dar penderta. Nla Penalt = x x x prortas Kebutuhan penderta Prortas Karbohdrat Proten Lemak Tabel Ftnes tap partkel No Kebutuhan Pag Sang Malam Total Penalt 33
146 MP SN SH SY PLK P Karbohdrat Proten Lemak TOTAL PENALTI FITNESS P2 Karbohdrat Proten Lemak TOTAL PENALTI FITNESS P3 Karbohdrat Proten Lemak TOTAL PENALTI 58 FITNESS GBest P PBest NO PAGI SIANG MALAM MP SN SH SY PLK.... P P P Proses PSO (dulang hngga konds berhent terpenuh) Untuk teras pada kasus n dbatas hanya teras. a. Update kecepatan masng-masng ndvdu. Dengan r=0.3, r2=0.3, dan threshold = 50. NO PAGI SIANG MALAM 34
147 MP SN SH SY PLK P P P b. Update poss masng-masng ndvdu. PAGI SIANG MALAM NO MP SN SH SY PLK P P P c. Htung nla ftness masng-masng ndvdu. - Nla partkel yang dupdate dkonvers terlebh dahulu. NO PAGI SIANG MALAM MP SN SH SY PLK P P P Nla ftness tap partkel kemudan dhtung. No Kebutuhan Pag Sang Malam Total Penalt MP SN SH SY PLK P Karbohdrat Proten Lemak TOTAL PENALTI FITNESS P2 Karbohdrat Proten Lemak TOTAL PENALTI
148 FITNESS P3 Karbohdrat Proten Lemak TOTAL PENALTI FITNESS d. Plh global best dan local best untuk masng-masng ndvdu. - PBest NO PAGI SIANG MALAM MP SN SH SY PLK P P P GBest P Dekode global best menjad komposs menu makanan. Komposs Makanan yang dhaslkan adalah sebaga berkut: P Pag: - Makanan Pokok: Nas Tm - Proten Nabat: Kacang Kedela Rebus - Proten Hewan: Pempek Tengr - Sayuran: Tums Bayam Bersantan - Pelengkap: Ketmun Sang - Makanan Pokok: Kentang Rebus - Proten Nabat: Kerpk Tempe - Proten Hewan: Pempek Tengr - Sayuran: Toge Goreng - Pelengkap: Apel Malam 36
149 - Makanan Pokok: Nas Jagung Kunng - Proten Nabat: Tempe Goreng - Proten Hewan: Bandeng Goreng - Sayuran: sayur Sop - Pelengkap: Kesemek Implementas Berkut n dberkan bagan kode program PHP untuk mplementas Optmas Komposs Menu Makanan bag Penderta Dabetes Melltus Menggunakan Partcle Swarm Optmzaton. Source Code 8.2 Perhtungan Kalor Kalor.php prvate functon perhtungan_kalor($bb, $tb, $usa, $gender, $aktvtas) { f (($tb < 60 AND $gender == TRUE) OR ( $tb < 50 AND $gender == FALSE)) { $bb = $tb - 00; else { $bb = 0.9 * ($tb - 00); //AMB Gender f ($gender == true) { $ambgender = $bb * 30; else { $ambgender = $bb * 25; //AMB Umur f ($usa >= 40 and $usa <= 59) { $ambumur = -5 * $ambgender / 00; else f ($usa >= 60 and $usa <= 69) { $ambumur = -0 * $ambgender / 00; else f ($usa >= 70) { $ambumur = -20 * $ambgender / 00; //TEE Aktvtas f ($aktvtas == 'BR') { $tee = 0 * $ambgender / 00; else f ($aktvtas == 'R') { $tee = 20 * $ambgender / 00; else f ($aktvtas == 'S') { $tee = 30 * $ambgender / 00; else f ($aktvtas == 'B') { $tee = 40 * $ambgender / 00; else f ($aktvtas == 'SB') { 37
150 $tee = 50 * $ambgender / 00; //AMB Berat Badan $ambbb = 0; f ($bb <= (90 * $bb / 00)) { $ambbb = 20 * $ambgender / 00; else f ($bb >= (0 * $bb / 00) and $bb < (20 * $bb / 00)) { $ambbb = -20 * $ambgender / 00; else f ($bb >= (20 * $bb / 00)) { $ambbb = -20 * $ambgender / 00; return $ambumur + $ambgender + $tee + $ambbb; Source Code 8.3 Insalsas Partkel Bagan Partcle.php publc statc functon setup($mn, $max, Kalor &$kalor) { Partcle::$mn = $mn; Partcle::$max = $max; Partcle::$bound = (Partcle::$max - Partcle::$mn) * 0.6 / 2; Partcle::$kalor = $kalor; Partcle::$jumlah = [ count(partcle::$kalor->data["mp"]), count(partcle::$kalor->data["sn"]), count(partcle::$kalor->data["sh"]), count(partcle::$kalor->data["sy"]), count(partcle::$kalor->data["plk"]) ]; Source Code 8.4 Insalsas Partkel Bagan 2 Partcle.php publc functon construct($length) { for ($ = 0; $ < $length; $++) { $ths->x[] = rand(partcle::$mn, Partcle::$max); $ths->v[] = 0.0; $ths->pbest = $ths->x; 38
151 $ths->ftness = $ths->pbest_ftness = $ths->ftness(); Source Code 8.5 Update Kecepatan dan Poss Partkel Partcle.php publc functon update(array $gbest, $w, $n, $r, $n2, $r2) { for ($ = 0; $ < count($ths->x); $++) { $x = $ths->x[$]; $nerta = $ths->v[$] * $w; $local = $n * $r * ($ths->pbest[$] - $x); $global = $n2 * $r2 * ($gbest[$] - $x); $v = $nerta + $local + $global; $ths->v[$] = $v; $ths->v[$] = mn($ths->v[$], Partcle::$bound); $ths->v[$] = max($ths->v[$], -Partcle::$bound); $ths->x[$] += $ths->v[$]; $ths->x[$] = mn($ths->x[$], Partcle::$max); $ths->x[$] = max($ths->x[$], Partcle::$mn); $ths->ftness = $ths->ftness(); f ($ths->ftness > $ths->pbest_ftness) { $ths->pbest = $ths->x; $ths->pbest_ftness = $ths->ftness; Source Code 8.6 Perhtungan Penalt Kalor.php publc functon penalt(array $ndeks_makanan) { $jens = ["MP", "SN", "SH", "SY", "PLK"]; $penalt = 0.0; $karbohdrat = 0.0; $proten = 0.0; $lemak = 0.0; for ($ = 0; $ < count($ndeks_makanan); $++) { $j = $jens[$ % 5]; 39
152 $m = $ndeks_makanan[$]; $makanan = $ths->data[$j][$m]; $karbohdrat += $makanan["karbohdrat"]; $proten += $makanan["proten"]; $lemak += $makanan["lemak"]; $penalt += abs($karbohdrat - $ths->karbohdrat) * $ths->faktor_karbohdrat; $penalt += abs($proten - $ths->proten) * $ths- >faktor_proten; $penalt += abs($lemak - $ths->lemak) * $ths- >faktor_lemak; return $penalt; Source Code 8.7 Perhtungan Ftness Kalor.php publc functon ftness() { $kode = $ths->x; for ($ = 0; $ < count($kode); $++) { /* * Rumus konvers dtambahkan dengan - karena ndeks makanan * dmula dar, sedangkan array dmula dar 0. */ $jumlah = Partcle::$jumlah[$ % 5]; $kode[$] = cel($kode[$] / Partcle::$max * $jumlah) - ; return 000 / (Partcle::$kalor->penalt($kode) + ); 8.3 Optmas Penjadwalan Praktkum Masalah penjadwalan dalam unverstas merupakan salah satu masalah kompleks yang bsa dkatkan dengan masalah optmas. Dan kenyataannya proses pencaran solus pada permasalahan n memakan waktu komputas yang cukup lama. Terlebh lag harus memenuh tap komponen yang ada dan berbeda, sebaga contoh kebutuhan mahasswa dalam perkulahan sebsa mungkn jangan sampa terkendala hanya karena tdak bsa mengambl matakulah wajb dkarenakan jadwal yang bentrok dengan matakulah lan. Selan tu dar seg dosen, jangan sampa terjad bentrok dengan matakulah lan yang dajarkan (Puspanngrum et. al, 203). Salah satu 40
153 permasalahan penjadwalan yang kompleks adalah penjadwalan praktkum, dmana dalam permasalahan n memlk komponen yang harus dpenuh yatu waktu dosen pengampu, waktu assten, waktu mahasswa, jumlah ruang praktkum atau laboratorum (lab), dan mash banyak lag. Pada peneltan n, akan dbahas mengena penjadwalan praktkum matakulah Kecerdasan Buatan dengan menggunakan Modfed Real Code Partcle Swarm Optmzaton. Permasalahan yang akan dselesakan adalah pengelolaan komponen jadwal yang terdr dar data dosen, data assten, data mahasswa, data ruangan, dan waktu praktkum. Penjadawalan n tdak boleh bentrok dengan jadwal assten dan juga mahasswa, dmana ruangan dan dosen juga djadkan acuan dalam penyusunannya Formulas Permasalahan Terdapat sebuah stud kasus yatu melakukan Optmas Penjadwalan Praktkum Kecerdasan Buatan menggunakan Modfed Real Code Partcle Swarm Optmzaton. Representas partkel menggunakan representas blangan real yang telah dlakukan pembulatan menjad blangan nteger, dmana menyatakan assten praktkum tap kelas. Jumlah data dosen yang dgunakan yatu 7 dosen dengan jumlah assten 3 orang. Rncan data sebaga berkut:. Jumlah kelas yang mengkut praktkum sebanyak 0 kelas (Kelas A-J). Kelas A B C D E F G H I J 2. Ruangan yang dapat dgunakan untuk praktkum sebanyak 2 ruangan. Setap ruangan hanya dapat dgunakan oleh 5 kelas sepert yang djelaskan pada Tabel 2.2 karena jumlah kelas yang ada adalah 0 kelas. Tabel 8.36 Data Kelas Praktkum Kelas R A B C D E R2 F G H I J 3. Waktu praktkum dlaksanakan mula pukul dalam 5 ses. Detal jam untuk tap ses djelaskan pada Tabel 2.3. Tabel 8.37 Data Ses Praktkum Ses Jam 4
154 Jumlah dosen pengampu sebanyak 7 dosen. Dosen pertama mengampu 3 kelas, dosen kedua mengampu 2 kelas dan lannya masng-masng mengampu kelas. Detal dosen pengampu kelas djelaskan pada Tabel 2.4 berkut. Tabel 8.38 Data Dosen Pengampu Dosen Pengampu Satro Had Wjoyo Lall Muflkhah Ika Kusumanng Putr Mochammad Hannats Hanaf l. Kelas M. Al Fauz H Imam Cholssodn Nurzal Dw Prandan C I D E F J G B A 5. Jumlah assten praktkum untuk matakulah Kecerdasan Buatan adalah 3 assten sepert pada Tabel 2.5, dmana nantnya masng masng kelas akan dampu oleh 2 assten. Tabel 8.39 Data Assten Praktkum M. Syafq 2 M. Kadaf 3 Sabrna Nurfadlla 4 Dva Kurnanngtyas 5 Nanda Putr 42
155 6 Radta Noer Pratw 7 Daneswara 8 Andransyah Yusuf R. 9 Karna 0 Anandh Trstaratr Agung Nurjaya Megantara 2 Ardansyah S 3 Fathor Ros Dar data data tersebut akan dmodelkan secara matemats yang kemudan akan dhtung menggunakan Modfed RCPSO untuk mencar jadwal praktkum yang palng optmal. Pencaran jadwal yang optmal juga dlakukan dengan memperhatkan batasan batasan atau constrants (hard & soft) yang telah dtentukan. Hard Constrant merupakan batasan yang harus dpenuh sedangan Soft Constrant merupakan batasan yang tdak harus dpenuh namun tetap djadkan acuan dalam penyusunannya. Berkut djelaskan secara detal batasan tersebut:. Hard Constrants a) Assten hanya boleh mengajar maksmal 2 kelas (Berlebh). b) Assten tdak boleh mengampu kelas pada dosen yang sama (Bentrok Dosen). c) Dalam kelas tdak boleh dajar oleh assten (Berbeda). d) Semua assten harus mendapat jadwal praktkum (AssKosong). 2. Soft Constrants a) Pasangan assten harus berbeda tap kelasnya (Bentrok). Proses pencaran solus untuk penjadwalan praktkum Kecerdasan Buatan menggunakan Modfed RCPSO adalah sebaga berkut:. Melakukan nsalsas yang terdr dar jumlah populas, poss awal partkel (X(t)) dan kecepatan awal partkel (V(t)), yang dtunjukkan pada Tabel 2.6 dan Tabel 2.7. Pada stud kasus n, dgunakan 5 data jadwal praktkum Kecerdasan Buatan dengan nsalsas nla random. Dmana representas partkelnya dperlukan 2 assten dalam kelas, yang terdr dar 0 kelas. Ukuran partkel adalah 0 kelas * 2 assten. Tabel 8.40 Insalsas Poss Awal 43
156 Dosen Dosen 2 Partkel R x (0) 0, ,6237 3, , ,32767,95564, , ,479899,38948 x2 (0) 9, , ,9623 2,7555,3893 3, , ,5704 3, ,95498 x3 (0) 9, , , ,3629 8, ,5939 5, ,0757 4, , x4 (0),3250, ,2380, ,852 5,9575 9, , , , x5 (0) 6,7389 4, , , ,6562 6, , , ,598 7, Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R , ,53856,4938 9,379669,2085 5, , ,8808 6,8947 5, ,8960 2, , , ,4637 2, , , ,902 3, ,9727 3, , , ,8367 6, ,99986, , , , , ,6735,7606 4,444 3, ,09999, , , , , ,6048 8, ,2339 5, , , , ,0725 Keterangan: X = Partkel, terdapat 5 partkel R = Ruang, terdapat 2 ruang K = Kelas, terdapat 0 kelas A = Ftur, terdapat 20 ftur Tabel 8.4 Insalsas Kecepatan Awal Partkel V(t) x x2 x3 x4 x5 x6 x7 x8 x9 x0 v (0) v2 (0) v3 (0) v4 (0) v5 (0) x x2 x3 x4 x5 x6 x7 x8 x9 x Melakukan pembulatan dar blangan real menjad nteger terhadap representas partkel sepert pada Tabel 2.8. Tabel 8.42 Pembulatan Menjad Blangan Integer 44
157 Dosen Dosen 2 Partkel R x (0) x2 (0) x3 (0) x4 (0) x5 (0) Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Melakukan proses repar yatu dlakukan pengecekan terhadap asprak yang belum dapat jadwal/kelas (repar dlakukan setap nsalsas awal & update poss) dan akan menggantkan asprak yang mengajar lebh dar 2 kelas. Selanjutnya dlakukan pengecekan constrant untuk mengevaluas nla ftness (F(X)). Berdasarkan penjelasan constrant sebelumnya pada kasus n nla ftness dambl dar banyaknya batasan yang dlanggar sehngga semakn kecl jumlah pelanggaran yang dhaslkan maka solus yang dhaslkan akan semakn bak. Untuk tap pelanggaran yang terjad akan dberkan nla. Agar tdak terjad nla ftness yang tak terhngga maka jumlah total semua pelanggaran dtambahkan. Haslnya dtunjukkan pada Tabel 2.9 dan 2.0. Rumus ftness: F = +( Berlebh+ BentrokDosen+ Berbeda+ AssKosong) Tabel 8.43 Repar dan Cek Constrant 45
158 Dosen Dosen 2 Partkel R x (0) x2 (0) x3 (0) x4 (0) x5 (0) Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Tabel 8.44 Hasl Repar Dosen Dosen 2 Partkel R x (0) x2 (0) x3 (0) x4 (0) x5 (0) Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Hard Berlebh Bentrok Dosen Berbeda AssKosong Jumlah Ftness , , , , ,2 Keterangan: Berlebh Bentrok Dosen Berbeda AssKosong A A 4. Melakukan nsalsas Pbest awal tap partkel. Karena mash pada teras 0 sehngga nla Pbest akan sama dengan poss awal partkel yang dtunjukkan pada Tabel
159 Tabel 8.45 Pbest Partkel Dosen Dosen 2 Pbest(t) R Pbest (0) Pbest2 (0) Pbest3 (0) Pbest4 (0) Pbest5 (0) Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Hard Berlebh Bentrok Dosen Berbeda AssKosong Jumlah Ftness , , , , ,2 5. Mencar Gbest dengan mengevaluas keseluruhan ftness Pbest dan mengambl yang palng maksmum, haslnya dtunjukkan pada Tabel 2.2. Tabel 8.46 Gbest Partkel Gbest(0) = P Partkel ke Ftness ,5 6. Masuk pada teras pertama (t=), maka dlakukan update kecepatan partkel dtunjukkan pada Tabel 2.3 dengan rumus sepert pada 2.. Dmana nla λ dcar dengan rumus sepert pada 2.2 dan 2.3. Begtupula dengan nla ω dcar dengan rumus sepert pada 2.4. vmax, xmax 3 c r 0,4334 w 0,8995 vmn -,50773 xmn c2 r2 0, λ k 0,25289 C 2 tmax 000 t Tabel 8.47 Update Kecepatan 47
160 x x2 x3 x4 x5 x6 x7 x8 x9 x0 v () v2 () 0-2,6034, , , ,307-2,6034 0,650849, ,809 v3 () 0 3, ,85764, , , ,6034 3, ,55594 v4 () 5, ,307-5,85764, , ,6034-5,85764, , ,20679 v5 (), , , ,603396, ,6034-7, , ,55594 x x2 x3 x4 x5 x6 x7 x8 x9 x ,307 2, , , , , , , ,90509, , , , ,6034 -,307 3, ,8088-2, , , , , ,307 5, , , , , ,307 2, , , ,307 3, , , Lakukan perbakan terhadap hasl update kecepatan dengan memenuh konds d bawah n, haslnya dtunjukkan pada Tabel 2.4. v = { V max V max f v >V max f v > V max Tabel 8.48 Perbakan Kecepatan x x2 x3 x4 x5 x6 x7 x8 x9 x0 v () v2 () 0 -,50773, , , ,307 -, ,650849, ,50773 v3 () 0, ,50773, , , ,50773, ,50773 v4 (), ,307 -,50773, , , ,50773, , ,50773 v5 (),507734, ,50773,507734, , , , ,50773 x x2 x3 x4 x5 x6 x7 x8 x9 x ,307,507734,507734, , , ,50773, ,50773, ,650849,507734, , ,307, , , , ,65085, , ,307, , , , , ,307, ,507734, ,307, , , Keterangan: V,j = f(x) < f(pbestk), maka f(pbestk) = X. = 0 < 0 = 0 8. Melakukan update poss partkel dan haslnya dtunjukkan pada Tabel 2.5. Tabel 8.49 Update Poss 48
161 x () x2 () 0, , , , , , , ,30698,49227 x3 () 0 5, , , , , , , , x4 () 2, , , , ,3495 4, , , , , x5 () 8, , , , , , , , , , , , , , ,3495 6, ,50773, , , , ,507734,49227,6983 8, , , , ,3495 3, ,49227,6983 5, ,3495 2, , , , , , , , , , , Keterangan: X,= V, + (ω * X 0,) = 0 + ( * 0) = = 9 9. Melakukan kembal proses d atas dengan partkel baru sepert pada Tabel 2.6 hngga krtera berhent terpenuh (Iteras Maksmum). Proses repar kembal dlakukan sepert pada Tabel 2.7. Tabel 8.50 Representas Partkel Baru Dosen Dosen 2 Partkel R x () x2 () x3 () x4 () x5 () Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Tabel 8.5 Hasl Repar 49
162 Dosen Dosen 2 Partkel R x () x2 () x3 () x4 () x5 () Dosen 3 Dosen 4 Dosen 5 Dosen 6 Dosen 7 R Hard Berlebh Bentrok Dosen Berbeda AssKosong Jumlah Ftness , , , , ,5 0. Melakukan update Pbest dengan mencar nla ftness maksmum tap partkel sepert pada Tabel 2.8 dan menentukan Gbest pada teras pertama sepert pada Tabel 2.9. Tabel 8.52 Update Pbest Pbest () Pbest2 () Pbest3 () Pbest4 () Pbest5 () Ftness , , , , ,5 Tabel 8.53 Update Gbest 50
163 Gbest() = P Partkel ke Ftness , Implementas Berkut n dberkan bagan kode program PHP untuk mplementas Optmas Penjadwalan Praktkum menggunakan Modfed Real Code Partcle Swarm Optmzaton. Source Code 8.8 MRCPSO MRCPSO.php <?php.. //) nsalsas parameter.. //2) nsalsas poss awal do{ echo "========================================================== ===================================================<br>"; echo "ITERASI [".$teras."]"; f($teras == 0) { $tr4 = mysql_query("truncate table partkel"); $tr2 = mysql_query("truncate table gbest"); $tr3 = mysql_query("truncate table pbest"); kecepatanawal($jml_partkel, $teras); $pop = mysql_query("select * from partkel"); $pop2 = mysql_fetch_array($pop);.. //echo "<br/>"; cetakposs($teras); pbest($jml_partkel); cetakpbest($teras); gbest($teras); else { updatekecepatan($teras, $ter_max, $x_max, $x_mn, $c, $c2, $jml_partkel); updateposs($teras, $jml_partkel, $x_max, $x_mn, $dmens, $jml_dosen); updatepbest($teras, $jml_partkel); gbest($teras); $teras++; whle ($teras <= $ter_max); cetakgbest(); 5
164 //nsalsas kecepatan awal functon kecepatanawal($jml_partkel, $teras){ $kecepatanawal = mysql_query("select * from kecepatan"); $kecepatanawal2 = mysql_fetch_array($kecepatanawal); f(empty($kecepatanawal2)){ for($k = ; $k <= $jml_partkel; $k++){ $kecepatanawal3 = mysql_query("insert nto kecepatan (d) values('$k')"); else { $kcp = mysql_query("truncate table kecepatan"); for($k = ; $k <= $jml_partkel; $k++){ $kecepatanawal6 = mysql_query("insert nto kecepatan (d) values('$k')"); $kecepatanawal4 = mysql_query("select * from kecepatan"); echo '<table> <thead> <tr> <th>kecepatan</th>'; for($x=; $x<=20; $x++){ echo "<th>x".$x."</th>"; echo' </tr> </thead> <tbody>'; whle ($newarray = mysql_fetch_array($kecepatanawal4)){ echo "<tr class='gradea'>"; echo "<td><center>v".$newarray['d']."(".$teras.")</center></td>"; for($x2=; $x2<2; $x2++){ echo "<td><center>".$newarray['x'.$x2]."</center></td>"; echo "</tr>"; echo "</tbody>"; echo "</table>"; //echo "Kecepatan[$k]: "; /*for($l = ; $l <= $dmens; $l++){ $V[$k][$l] = 0; f(empty($kecepatanawal2)){ $kecepatanawal4 = mysql_query("insert nto kecepatan (x$l) values('$v[$k][$l]')"); echo $V[$k][$l]." "; */ //echo "<br/>"; // echo "<br/>"; 52
165 functon carkosong($, $as, $jml_partkel, $dmens){ $query3 = mysql_query("select x,x2,x3,x4,x5,x6,x7,x8,x9,x0,x,x2,x3,x4,x5,x6,x7, x8,x9,x20 from partkel where d = '$'"); $query4 = mysql_fetch_array($query3); for($l = ; $l <= 3; $l++){ for($m = 0; $m < $dmens; $m++){ //perulangan dmens x - x20 f($query4[$m] == $l){ $count[$l][$m] = ; else { $count[$l][$m] = 0; $berlebh[$l][$m] = $count[$l][$m]; $au = $l+; $jum_lebh[$][$l] = array_sum($berlebh[$l]); //echo "Jumlah jadwal assten ke- ".$l." [$][$l] = ".$jum_lebh[$][$l]."<br>"; //repar f($jum_lebh[$][$l] > 2){ $al = $l; for($b = 0; $b < $dmens; $b++){ f($query4[$b] == $al){ $query4[$b] = $as; $bb = $b + ; $upd =mysql_query("update partkel set x$bb = '$query4[$b]' where d = '$'") or de("gagal Repar".mysql_error()); break; //echo "<br>"; functon constrant($, $teras, $jml_partkel, $dmens, $jml_dosen){ $query3 = mysql_query("select x,x2,x3,x4,x5,x6,x7,x8,x9,x0,x,x2,x3,x4,x5,x6,x7, x8,x9,x20 from partkel where d = '$'"); $query4 = mysql_fetch_array($query3); for($l = ; $l <= 3; $l++){ for($m = 0; $m < $dmens; $m++){ //perulangan dmens x - x20 f($query4[$m] == $l){ $count[$l][$m] = ; else { $count[$l][$m] = 0; $berlebh[$l][$m] = $count[$l][$m]; $au = $l+; 53
166 $jum_lebh[$][$l] = array_sum($berlebh[$l]); //echo "Jumlah jadwal assten ke-".$l." [$][$l] = ".$jum_lebh[$][$l]."<br>"; f($jum_lebh[$][$l] == 0){ $count2[$][$l] = ; else { $count2[$][$l] = 0; $askosong[$][$l] = $count2[$][$l]; f($jum_lebh[$][$l] > 2){ $count3[$][$l] = $jum_lebh[$][$l]- 2; else { $count3[$][$l] = 0; $aslebh[$][$l] = $count3[$][$l]; $jum_askosong[$] = array_sum($askosong[$]); $jum_aslebh[$] = array_sum($aslebh[$]); echo "C) Assten yg belum dapat jadwal = ".$jum_askosong[$]; echo "<br>"; echo "C2) Assten yg kelebhan jadwal = ".$jum_aslebh[$]; echo "<br>"; $dosen = mysql_query("select x,x2,x3,x4,x5,x6 from partkel where d = '$'"); $dosen22 = mysql_query("select x7,x8,x9,x0 from partkel where d = '$'"); $dosen33 = mysql_query("select x,x2 from partkel where d = '$'"); $dosen44 = mysql_query("select x3,x4 from partkel where d = '$'"); $dosen55 = mysql_query("select x5,x6 from partkel where d = '$'"); $dosen66 = mysql_query("select x7,x8 from partkel where d = '$'"); $dosen77 = mysql_query("select x9,x20 from partkel where d = '$'"); $dosen = mysql_fetch_array($dosen); $dosen2 = mysql_fetch_array($dosen22); $dosen3 = mysql_fetch_array($dosen33); $dosen4 = mysql_fetch_array($dosen44); $dosen5 = mysql_fetch_array($dosen55); $dosen6 = mysql_fetch_array($dosen66); $dosen7 = mysql_fetch_array($dosen77); //echo "<br>"; for($g = ; $g <= $jml_dosen; $g++){ //perulangan jumlah dosen f($g == ){ $jum_arr = count($dosen)/2; for($h=0; $h<$jum_arr; $h++){ $ds[$h] = $dosen[$h]; //echo $ds[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds); 54
167 $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 2){ $jum_arr = count($dosen2)/2; for($h=0; $h<$jum_arr; $h++){ $ds22[$h] = $dosen2[$h]; //echo $ds22[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds22); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 3){ $jum_arr = count($dosen3)/2; for($h=0; $h<$jum_arr; $h++){ $ds33[$h] = $dosen3[$h]; //echo $ds33[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds33); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 4){ 55
168 $jum_arr = count($dosen4)/2; for($h=0; $h<$jum_arr; $h++){ $ds44[$h] = $dosen4[$h]; //echo $ds44[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds44); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 5){ $jum_arr = count($dosen5)/2; for($h=0; $h<$jum_arr; $h++){ $ds55[$h] = $dosen5[$h]; //echo $ds55[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds55); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 6){ $jum_arr = count($dosen6)/2; for($h=0; $h<$jum_arr; $h++){ $ds66[$h] = $dosen6[$h]; //echo $ds66[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds66); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { 56
169 $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else f($g == 7){ $jum_arr = count($dosen7)/2; for($h=0; $h<$jum_arr; $h++){ $ds77[$h] = $dosen7[$h]; //echo $ds77[$h]." "; //echo "<br>"; $ds2 = array_count_values($ds77); $count4[$][$g] = 0; foreach($ds2 as $key => $val){ //echo $key."=>".$val." "; f($val > ){ $ht = $val - ; $count4[$][$g] += $ht; else { $ht = 0; $count4[$][$g] += $ht; $bentrokdosen[$][$g] = $count4[$][$g]; //echo "<br>"; else { echo "SALAH"; $jum_bendos[$] = array_sum($bentrokdosen[$]); //echo "<br>"; echo "C3) Bentrok Dosen = ".$jum_bendos[$]; echo "<br>"; $count5 = 0; for($z = 0; $z < $dmens; $z++){ f($z%2==0){ f($query4[$z] == $query4[$z+] $query4[$z+] == $query4[$z]){ $count5 += ; else { $count5 += 0; $berbeda = $count5; else { contnue; $jum_berbeda[$] = $berbeda; echo "C4) Berbeda = ".$jum_berbeda[$]; echo "<br>"; $ftness[$] = /(+ ($jum_askosong[$] + $jum_aslebh[$] + $jum_bendos[$] + $jum_berbeda[$])); echo "Ftness P".$." = ".$ftness[$]; echo "<br>"; 57
170 $fx =mysql_query("update partkel set ftness = '$ftness[$]' where d = '$'") or de("gagal Tambah Data".mysql_error()); //smpan nla ftness ke database functon pbest($jml_partkel){ for($a = ; $a <= $jml_partkel; $a++){ $pbest = mysql_query("select * from pbest where d = '$a'"); $pbest2 = mysql_fetch_array($pbest); f(empty($pbest2)){ $pbest8 = mysql_query("select * from partkel where d = '$a'"); $pbest9 = mysql_fetch_array($pbest8); $ht = count($pbest9)/2; for($a2 = 0; $a2 < $ht; $a2++){ f($a2 == 0){ $pbest5 = mysql_query("nsert nto pbest (d) values ('$a')"); f ($a2 >= && $a2 < 2) { $pbest6 = mysql_query("update pbest set x$a2 = '$pbest9[$a2]' where d = '$a'"); f ($a2 == 2) { $pbest7 = mysql_query("update pbest set ftness = '$pbest9[$a2]' where d = '$a'"); else { //$pbest8 = mysql_query("truncate table pbest"); $pbest2 = mysql_query("select * from partkel where d = '$a'"); $pbest3 = mysql_fetch_array($pbest2); $ht = count($pbest3)/2; for($a3 = 0; $a3 < $ht; $a3++){ f($a3 == 0){ contnue; f ($a3 >= && $a3 < 2) { $pbest0 = mysql_query("update pbest set x$a3 = '$pbest3[$a3]' where d = '$a'"); f ($a3 == 2) { $pbest = mysql_query("update pbest set ftness = '$pbest3[$a3]' where d = '$a'"); functon cetakpbest($ter){ 58
171 $cpbest = mysql_query("select * from pbest"); echo '<table> <thead> <tr> <th>pbest</th>'; for($x=; $x<=20; $x++){ echo "<th>x".$x."</th>"; echo' <th>ftness</th> </tr> </thead> <tbody>'; whle ($newarray = mysql_fetch_array($cpbest)){ echo "<tr class='gradea'>"; echo "<td><center>pbest".$newarray['d']."(".$ter.")</center></td>"; for($x2=; $x2<2; $x2++){ echo "<td><center>".$newarray['x'.$x2]."</center></td>"; echo "<td><center>".$newarray['ftness']."</center></td>"; echo "</tr>"; //break; echo "</tbody>"; echo "</table>"; echo "<br>"; functon cetakposs($ter){ $pos3 = mysql_query("select * from partkel"); echo '<table> <thead> <tr> <th>poss</th>'; for($x=; $x<=20; $x++){ echo "<th>x".$x."</th>"; echo' <th>ftness</th> </tr> </thead> <tbody>'; whle ($newarray = mysql_fetch_array($pos3)){ echo "<tr class='gradea'>"; echo "<td><center>x".$newarray['d']."(".$ter.")</center></td>"; for($x2=; $x2<2; $x2++){ echo "<td><center>".$newarray['x'.$x2]."</center></td>"; echo "<td><center>".$newarray['ftness']."</center></td>"; echo "</tr>"; echo "</tbody>"; echo "</table>"; 59
172 echo "<br>"; functon cetakgbest(){ //cetak gbest dar seluruh teras echo "-----Gbest dar seluruh teras-----"; echo "<table class='' d=''>"; echo "<thead>"; echo "<tr>"; echo "<th>gbest</th>"; for($x=; $x<=20; $x++){ echo "<th>x".$x."</th>"; echo "<th>ftness</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; $gbest9 = mysql_query("select * from gbest"); whle ($newarray = mysql_fetch_array($gbest9)){ echo "<tr class='gradea'>"; echo "<td><center>gbest(".$newarray['teras'].")</center></td>"; for($x2=; $x2<2; $x2++){ echo "<td><center>".$newarray['x'.$x2]."</center></td>"; echo "<td><center>".$newarray['ftness']."</center></td>"; echo "</tr>"; echo "</tbody>"; echo "</table>"; echo "<br>"; functon gbest($teras){ $gbest = mysql_query("select MAX(ftness) as ftness from pbest"); $gbest2 = mysql_fetch_array($gbest); $gbest3 = mysql_query("select * from pbest where ftness = '$gbest2[0]'"); $gbest4 = mysql_fetch_array($gbest3); $count8 = (count($gbest4)/2) + ; for($a=0; $a<$count8; $a++){ f($a == 0){ $gbest5 = mysql_query("nsert nto gbest (teras) values ('$teras')"); else f($a == ){ $zl = $a - ; $gbest6 = mysql_query("update gbest set d = '$gbest4[$zl]' where teras = '$teras'"); else f ($a >= 2 && $a < 22) { $z = $a - ; $gbest7 = mysql_query("update gbest set x$z = '$gbest4[$z]' where teras = '$teras'"); else { $zz = $a - ; $gbest8 = mysql_query("update gbest set ftness = '$gbest4[$zz]' where teras = '$teras'"); 60
173 echo "<table class='' d=''>"; echo "<thead>"; echo "<tr>"; echo "<th>gbest(".$teras.")</th>"; for($x=; $x<=20; $x++){ echo "<th>x".$x."</th>"; echo "<th>ftness</th>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; $gbest9 = mysql_query("select * from gbest where teras = '$teras'"); whle ($newarray = mysql_fetch_array($gbest9)){ echo "<tr class='gradea'>"; echo "<td><center>p(".$newarray['d'].")</center></td>"; for($x2=; $x2<2; $x2++){ echo "<td><center>".$newarray['x'.$x2]."</center></td>"; echo "<td><center>".$newarray['ftness']."</center></td>"; echo "</tr>"; break; echo "</tbody>"; echo "</table>"; echo "<br>"; functon updatekecepatan($teras, $ter_max, $x_max, $x_mn, $c, $c2, $jml_partkel){.. functon updateposs($teras, $jml_partkel, $x_max, $x_mn, $dmens, $jml_dosen){.. functon updatepbest($teras, $jml_partkel){ for($a = ; $a <= $jml_partkel; $a++){ $pos = mysql_query("select * from partkel where d = '$a'"); $pos2 = mysql_fetch_array($pos); $pbest = mysql_query("select * from pbest where d = '$a'"); $pbest2 = mysql_fetch_array($pbest); $count = count($pbest2)/2; for($b = ; $b < $count; $b++){ f($pos2[2] > $pbest2[2]){ $updatepbest[$b] = $pos2[$b]; $upftness[$a] = $pos2[2]; else { $updatepbest[$b] = $pbest2[$b]; $upftness[$a] = $pbest2[2]; 6
174 $update = mysql_query("update pbest set x$b = '$updatepbest[$b]' where d = '$a'"); $update2 = mysql_query("update pbest set ftness = '$upftness[$a]' where d = '$a'"); cetakpbest($teras);?> 8.4 Optmas Naïve Bayes Classfer dengan PSO Klasfkas merupakan proses pengdentfkasan obyek ke dalam sebuah kelas, kelompok, atau kategor berdasarkan prosedur, karakterstk dan defns yang telah dtentukan sebelumnya (U.S Fsh and Wldlfe Servce, 203). Klasfkas bertujuan untuk membag objek yang dtugaskan hanya ke salah satu nomor kategor yang dsebut kelas (Bramer, 2007). Salah satu metode klasfkas yang basa dgunakan adalah Naïve Bayes. Klasfkas Naïve Bayes pertama kal dkemukakan oleh Thomas Bayes. Penggunaan metode Naïve Bayes sudah dkenalkan sejak tahun Naïve Bayes menurut Lews, Hand dan Yu (998) merupakan pendekatan yang sangat sederhana dan sangat efektf untuk classfcaton learnng (Hand and Yu, 200). Menurut Hamzah, Naïve Bayes memlk beberapa kelebhan, yatu algortma yang sederhana, lebh cepat dalam perhtungan dan berakuras tngg (Hamzah, 202). Akan tetap, pada metode Naïve Bayes juga memlk kelemahan dmana sebuah probabltas tdak bsa mengukur seberapa besar tngkat keakuratan sebuah predks. Maka dar tu, metode Naïve Bayes perlu doptmas dengan cara pemberan bobot menggunakan Partcle Swarm Optmzaton (PSO). Metode PSO yang akan dgunakan dsn dharapkan dapat menngkatkan akuras dar Naïve Bayes Classfer Formulas Permasalahan Data klasfkas yang dgunakan adalah dataset Irs yang bsa ddapatkan dar UCI Machne Learnng. Data n terdr dar 50 set data yang terbag menjad 3 kelas. Setap kelas memlk 4 atrbut, yatu sepal length, sepal wdth, petal length dan petal wdth. Stud kasus n menggunakan 3 data tranng class Irs-sentosa, 3 data tranng class Irs-verscolor dan 3 data tranng class Irs-vrgnca. Data tranng yang dgunakan djelaskan dalam tabel berkut: 62
175 No Sepal Sepal Petal Petal Length Wdth Length Wdth Class Irs-sentosa Irs-sentosa Irs-sentosa Irs-verscolor Irs-verscolor Irs-verscolor Irs-vrgnca Irs-vrgnca Irs-vrgnca Data testng yang dgunakan djelaskan dalam tabel berkut: Sepal Sepal Petal Petal No Class Length Wdth Length Wdth Irs-sentosa. Menentukan bobot atrbut secara random. Bobot setap partkel untuk atrbut dtentukan secara random dan djelaskan pada tabel berkut: Partkel Sepal Sepal Petal Length Wdth Length Petal Wdth Menghtung P(C) setap kelas. P(Irs sentosa) = 3 9 = 0.33 P(Irs verscolor) = 3 9 = 0.33 P(Irs vrgnca) = 3 = Menghtung µ setap atrbut pada setap kelas. Menghtung µ pada atrbut Sepal Length: μ(irs sentosa) = = Kemudan untuk nla µ selanjutnya djelaskan pada tabel berkut: Atrbut Class µ Sepal Length Irs-sentosa
176 Sepal Wdth Petal Length Petal Wdth Irs-verscolor 6.76 Irs-vrgnca 6.4 Irs-sentosa 3.23 Irs-verscolor 3.6 Irs-vrgnca 3.0 Irs-sentosa.36 Irs-verscolor 4.7 Irs-vrgnca 5.6 Irs-sentosa 0.2 Irs-verscolor.46 Irs-vrgnca Menghtung σ setap atrbut pada setap kelas. Menghtung σ pada atrbut Sepal Length: σ(irs sentosa) = (5. 4.9)2 +( ) 2 +( ) 2 = Kemudan untuk nla σ selanjutnya djelaskan pada tabel berkut : Atrbut Class σ Sepal Length Sepal Wdth Petal Length Petal Wdth Irs-sentosa 0.04 Irs-verscolor Irs-vrgnca 0.43 Irs-sentosa Irs-verscolor Irs-vrgnca 0.09 Irs-sentosa Irs-verscolor 0.04 Irs-vrgnca 0.25 Irs-sentosa 0 Irs-verscolor Irs-vrgnca Menghtung P(X C) setap atrbut pada setap kelas. Perhtungan untuk P(4.6 Irs-sentosa) adalah sebaga berkut: P(4.6 Irs sentosa) = exp 2 2πσ j (x μ j ) 2 2σ 2 j ( ) 2 = 2π(0.04) 2 exp 2(0.04) 2 = Kemudan untuk perhtungan selanjutnya djelaskan pada tabel berkut: 64
177 Atrbut Class P(X C) Sepal Length Sepal Wdth Petal Length Petal Wdth Irs-sentosa Irs-verscolor Irs-vrgnca Irs-sentosa Irs-verscolor Irs-vrgnca 2.39 Irs-sentosa 0 Irs-verscolor 0 Irs-vrgnca Irs-sentosa 0.99 Irs-verscolor 0 Irs-vrgnca Perhtungan Weghted Naïve Bayes setap partkel Perhtungan untuk probabltas Irs-sentosa pada partkel adalah sebaga berkut: P(X Irs sentosa) = 0.33 ( ) 0.2 (0.767) 0.5 (0) 0.8 (0.99) 0.2 = 0 Kemudan untuk perhtungan selanjutnya djelaskan pada tabel berkut: Partkel Class Atrbut Weght P(X C) Irs-sentosa Irs-verscolor Irs-vrgnca 2 Irs-sentosa Sepal Length 0.2 Sepal Wdth 0.5 Petal Length 0.8 Petal Wdth 0.2 Sepal Length 0.2 Sepal Wdth 0.5 Petal Length 0.8 Petal Wdth 0.2 Sepal Length 0.2 Sepal Wdth 0.5 Petal Length 0.8 Petal Wdth 0.2 Sepal Length 0.5 Sepal Wdth 0.5 Petal Length
178 3 4 5 Irs-sentosa Irs-sentosa Irs-sentosa Irs-verscolor Irs-vrgnca Irs-verscolor Irs-vrgnca Irs-verscolor Irs-vrgnca Irs-verscolor Petal Wdth 0.5 Sepal Length 0.5 Sepal Wdth 0.5 Petal Length 0.5 Petal Wdth 0.5 Sepal Length 0.5 Sepal Wdth 0.5 Petal Length 0.5 Petal Wdth 0.5 Sepal Length 0.6 Sepal Wdth 0.7 Petal Length 0.5 Petal Wdth 0.3 Sepal Length 0.6 Sepal Wdth 0.7 Petal Length 0.5 Petal Wdth 0.3 Sepal Length 0.6 Sepal Wdth 0.7 Petal Length 0.5 Petal Wdth 0.3 Sepal Length 0.9 Sepal Wdth 0. Petal Length 0.6 Petal Wdth 0.7 Sepal Length 0.9 Sepal Wdth 0. Petal Length 0.6 Petal Wdth 0.7 Sepal Length 0.9 Sepal Wdth 0. Petal Length 0.6 Petal Wdth 0.7 Sepal Length 0. Sepal Wdth 0.5 Petal Length 0.4 Petal Wdth 0.2 Sepal Length 0. Sepal Wdth 0.5 Petal Length
179 Irs-vrgnca Petal Wdth 0.2 Sepal Length 0. Sepal Wdth 0.5 Petal Length 0.4 Petal Wdth Implementas Berkut n dberkan bagan kode program JAVA untuk mplementas Optmas Naïve Bayes Classfer dengan Menggunakan Partcle Swarm Optmzaton pada Data Irs. Source Code 8.9 NBCPSO Home.java /* * To change ths lcense header, choose Lcense Headers n Project Propertes. * To change ths template fle, choose Tools Templates * and open the template n the edtor. */ package nbcpso; mport java.utl.loggng.level; mport java.utl.loggng.logger; /** * UC ASUS X550V */ publc class Home extends javax.swng.jframe { /** * Creates new form Home */ publc Home() { ntcomponents(); /** * Ths method s called from wthn the constructor to ntalze the form. * WARNING: Do NOT modfy ths code. The content of ths method s always * regenerated by the Form Edtor. // <edtor-fold defaultstate="collapsed" desc="generated Code">//GEN-BEGIN:ntComponents 67
180 prvate vod ntcomponents() { jlabel = new javax.swng.jlabel(); txtpopsze = new javax.swng.jtextfeld(); jlabel2 = new javax.swng.jlabel(); txtjmliteras = new javax.swng.jtextfeld(); jlabel3 = new javax.swng.jlabel(); txtinersa = new javax.swng.jtextfeld(); jlabel4 = new javax.swng.jlabel(); txtc = new javax.swng.jtextfeld(); jlabel5 = new javax.swng.jlabel(); txtc2 = new javax.swng.jtextfeld(); btnhtung = new javax.swng.jbutton(); jseparator = new javax.swng.jseparator(); jlabel6 = new javax.swng.jlabel(); jlabel7 = new javax.swng.jlabel(); jlabel8 = new javax.swng.jlabel(); jlabel9 = new javax.swng.jlabel(); txtsepallength = new javax.swng.jtextfeld(); txtsepalwdth = new javax.swng.jtextfeld(); txtpetallength = new javax.swng.jtextfeld(); txtpetalwdth = new javax.swng.jtextfeld(); setdefaultcloseoperaton(javax.swng.wndowconstants.exit_on_close); setttle("optmas NBCPSO"); jlabel.settext("popsze"); jlabel2.settext("jumlah Iteras"); jlabel3.settext("inersa"); jlabel4.settext("c"); jlabel5.settext("c2"); btnhtung.settext("htung"); btnhtung.addactonlstener(new java.awt.event.actonlstener() { publc vod actonperformed(java.awt.event.actonevent evt) { btnhtungactonperformed(evt); ); jseparator.setorentaton(javax.swng.swngconstants.vertical); jlabel6.settext("sepal Length"); jlabel7.settext("sepal Wdth"); jlabel8.settext("petal Length"); jlabel9.settext("petal Wdth"); txtsepallength.setedtable(false); 68
181 txtsepalwdth.setedtable(false); txtpetallength.setedtable(false); txtpetalwdth.setedtable(false); javax.swng.grouplayout layout = new javax.swng.grouplayout(getcontentpane()); getcontentpane().setlayout(layout);.... pack(); // </edtor-fold>//gen-end:ntcomponents prvate vod btnhtungactonperformed(java.awt.event.actonevent evt) {//GEN- FIRST:event_btnHtungActonPerformed.. //GEN-LAST:event_btnHtungActonPerformed /** args the command lne arguments */ publc statc vod man(strng args[]) { /* Set the Nmbus look and feel */ //<edtor-fold defaultstate="collapsed" desc=" Look and feel settng code (optonal) "> /* If Nmbus (ntroduced n Java SE 6) s not avalable, stay wth the default look and feel. * For detals see */ try { for (javax.swng.uimanager.lookandfeelinfo nfo : javax.swng.uimanager.getinstalledlookandfeels()) { f ("Nmbus".equals(nfo.getName())) { javax.swng.uimanager.setlookandfeel(nfo.getclassname()); break; catch (ClassNotFoundExcepton ex) { java.utl.loggng.logger.getlogger(home.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (InstantatonExcepton ex) { java.utl.loggng.logger.getlogger(home.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (IllegalAccessExcepton ex) { java.utl.loggng.logger.getlogger(home.class.getname()).log(java.utl.loggng.level.severe, null, ex); catch (javax.swng.unsupportedlookandfeelexcepton ex) { java.utl.loggng.logger.getlogger(home.class.getname()).log(java.utl.loggng.level.severe, null, ex); 69
182 //</edtor-fold> /* Create and dsplay the form */ java.awt.eventqueue.nvokelater(new Runnable() { publc vod run() { new Home().setVsble(true); ); // Varables declaraton - do not modfy//gen- BEGIN:varables.. // End of varables declaraton//gen-end:varables Bayes.java package nbcpso; mport java.sql.*; /** * UC ASUS X550V */ publc class Bayes { prvate double nputsepallength; prvate double nputsepalwdth; prvate double nputpetallength; prvate double nputpetalwdth; prvate double[] bobot; publc Bayes() { publc Bayes(double nputsl, double nputsw, double nputpl, double nputpw, double[] bobot) { ths.nputsepallength = nputsl; ths.nputsepalwdth = nputsw; ths.nputpetallength = nputpl; ths.nputpetalwdth = nputpw; ths.bobot = bobot; publc Bayes(double[] nput, double[] bobot) { ths.nputsepallength = nput[0]; ths.nputsepalwdth = nput[]; ths.nputpetallength = nput[2]; ths.nputpetalwdth = nput[3]; ths.bobot = bobot; 70
183 .. for(nt =0; <data.length; ++) { for(nt j=0; j<data[].length; j++) { datatran[][j] = data[][j] * ths.bobot[j]; publc vod setinput(double[] nput) { ths.nputsepallength = nput[0]; ths.nputsepalwdth = nput[]; ths.nputpetallength = nput[2]; ths.nputpetalwdth = nput[3]; publc vod setbobot(double[] bobot) { ths.bobot = bobot; prvate double[][] getdatatran(nt kelas) {.... f(kelas == ) { data = datasentosa; else f(kelas == 2) { data = dataverscolor; else f(kelas == 3) { data = datavrgnca; return datatran; publc double htpror(nt kelas) { double[][] data = getdatatran(kelas); double totaldata = getdatatran().length + get- DataTran(2).length + getdatatran(3).length; return data.length / totaldata; publc double htmean(nt atrbut, nt kelas) { /* atrbut = sepal_length atrbut 2 = sepal_wdth atrbut 3 = petal_length atrbut 4 = petal_wdth */ double[][] data = getdatatran(kelas); double jml = 0.0; for(nt =0; <data.length; ++) { jml = jml + data[][atrbut-]; return jml / data.length; 7
184 publc double htvaran(nt atrbut, nt kelas) { double[][] data = getdatatran(kelas); double mean = htmean(atrbut, kelas); double jml = 0.0; for(nt =0; <data.length; ++) { jml = jml + (Math.pow((data[][atrbut-] - mean),2)); return jml / (data.length - ); publc double htposteror(double nputatrbut, nt atrbut, nt kelas) {.. publc double kalposterorinput(nt kelas) {.. publc Strng haslklasfkas() { Strng hasl = ""; double sentosa = kalposterorinput(); double verscolor = kalposterorinput(2); double vrgnca = kalposterorinput(3); double max = Math.max(Math.max(sentosa, verscolor), vrgnca); f(max == sentosa) { hasl = "sentosa"; else f(max == verscolor) { hasl = "verscolor"; else f(max == vrgnca) { hasl = "vrgnca"; return hasl;.. for(nt =0; <datatest.length; ++) { for(nt j=0; j<datatest[].length; j++) { datatest[][j] = data[][j] * ths.bobot[j]; prvate double[][] getdatatest() {.. return datatest; 72
185 Partkel.java package nbcpso; mport java.utl.random; mport java.sql.*; mport java.utl.arrays; /** * UC ASUS X550V */ publc class Partkel {.. publc Partkel() {.. publc double[] getposs() { return poss; publc double[] getkecepatan() { return kecepatan; publc double getftness() { ths.htftness(); return ftness; publc double[][] getdatatest() {.. for(nt =0; <datatest.length; ++) { for(nt j=0; j<datatest[].length; j++) { datatest[][j] = data[][j] * ths.poss[j]; return datatest; publc vod htftness() { double[][] datatest = getdatatest(); Strng[] haslklasfkas = new Strng[dataTest.length]; for(nt =0; <haslklasfkas.length; ++) { haslklasfkas[] = new Bayes(dataTest[], poss).haslklasfkas(); nt ft = 0;.. ftness = ft; 73
186 publc vod updatekecepatan(double nersa, double konkecepatan, double konkecepatan2, double[] pbest, double[] gbest) {.. ths.cekbataskecepatan(); prvate vod cekbataskecepatan() { double posmax =.0; double posmn = 0.0; double k = 0.6; double vmax = k * 0.5; double vmn = -vmax; for(nt =0; <kecepatan.length; ++) { f(kecepatan[] > vmax) { kecepatan[] = vmax; else f(kecepatan[] < vmn) { kecepatan[] = vmn; publc vod updateposs() {.. ths.cekbatasposs(); prvate vod cekbatasposs() { double max =.0; double mn = 0.0; for(nt =0; <poss.length; ++) { f(poss[] > max) { poss[] = max; else f(poss[] < mn) { poss[] = mn; PSO.java package nbcpso; mport java.lang.math; mport java.utl.random; mport java.sql.*; /** * 74
187 UC ASUS X550V */ publc class PSO {.. publc PSO(nt jmlpartkel, nt teras) {.. publc nt getjumlahpartkel() { return jumlahpartkel; publc nt getjumlahiteras() { return jumlahiteras; publc Partkel getpartkel(nt p) { return swarm[p]; publc vod nsalsaspbest() { ths.pbest = ths.swarm; publc vod updatepbest() {.. publc vod htgbest() {.. publc Partkel[] getpbest() { return pbest; publc Partkel getgbest() { ths.htgbest(); return gbest; publc double Rand(){ double c = mn +(double)(math.random()*max); return c; publc statc vod man(strng[] args) { PSO pso = new PSO(..,..);.. pso.nsalsaspbest();.. nt jmliteras = pso.getjumlahiteras(); for(nt =0; <jmliteras; ++) { System.out.prntln("Iteras " + (+)); 75
188 System.out.prntln("============================="); System.out.prntln();.. pso.updatepbest();.. Daftar Pustaka Abramowtz, M. and Stegun, I. A. (Eds.). Handbook of Mathematcal Functons wth Formulas, Graphs, and Mathematcal Tables, 9th prntng. New York: Dover, p. 0, 972. Ahmed, Zakr H., 200. Genetc Algorthm for the Travelng Salesman Problem usng Sequental Constructve Crossover Operator dalam Internatonal Journal of Bometrcs & Bonformatcs (IJBB) Volume (3): Issue (6) halaman Amn, Mohsen and Majd Bazargan Two Objectve Optmzaton n Shell-and-Tube Heat Exchangers usng Genetc Algorthm. Department of Mechancal Engneerng, K. N. Toos Unversty of Technology, 5 Pards St., Mollasadra St., Tehran , Iran. Andr, S. W., 203. Aplkas Travelng Salesman Problem dengan Metode Algortma Bee Colony. Andres P. Engelbrecht Computatonal Intellgence, An Introducton. Second Edton. John Wley & Sons Ltd, The Atrum, Southern Gate, Chchester, West Sussex PO9 8SQ, England. Caesar C.A., Hanum L., Cholssodn I., 206. Perbandngan Metode ANN-PSO Dan ANN-GA Dalam Pemodelan Komposs Pakan Kambng Peranakan Etawa (PE) 76
189 Untuk Optmas Kandungan Gz. JTIIK, Vol.3, No.3, September 206, hlm Cheng, H.A.L., 203. Apply An Automatc Parameter Selecton Method To Generalzed Dscrmnant Analyss Wth RBF Kernel For Hyperspectral Image Classfcaton, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Cholssodn I., Farsuddn F., Santoso E., 206. Klasfkas Tngkat Resko Stroke Menggunakan Improved Partcle Swarm Optmzaton dan Support Vector Machne. Konferens Nasonal Sstem & Informas 206, At STT Ibnu Sna Batam, 3 Agustus 206. Cholssodn I., Khusna R.A., Whandka R.C., 206. Optmzaton Of Equtable Dstrbutons Of Teachers Based On Geographc Locaton Usng General Seres Tme Varant PSO. 2nd Internatonal Symposum on Geonformatcs (ISyG). Cholssodn I., Dew C., Surbakt E.E., 206. Integrated ANN And Bdrectonal Improved PSO For Optmzaton Of Fertlzer Dose On Palawja Plants. 2nd Internatonal Conference on Scence n Informaton Technology (ICSITech). D. Bratton, J. Kennedy, Defnng a standard for partcle swarm optmzaton, IEEE SwarmIntellgence Symposum, SIS 2007, 2007 Apr. 5, Honolulu, Hawa, New Jersey, pp Elantara F., Cholssodn I., Indrat, 206. Optmas Pemenuhan Kebutuhan Gz Keluarga Menggunakan Partcle Swarm Optmzaton. Prosdng Semnar Nasonal Rset Terapan (SNRT), Polteknk Neger Banjarmasn, 9-0 Nopember. E.P. & M., Z.Z. Kurnawan, 200, Fuzzy Membershp Functon Generaton Usng Partcle Swarm Optmzaton: Internatonal Journal Open Problems Computaton Math, No 3. 77
190 Fasal Amr, E. B., 202. Artfcal Bee Colony Algorthm untuk Travellng Salesman problem. Hahsler, Mchael dan Hornk, Kurt., Infrastructure for the Travelng Salesman Problem dalam Journal of Statstcal Software Volume (23) Issue (2). HL Chen, at all. 20, An Adaptve Fuzzy K-Nearest Neghbor Method Based on Parallel Partcle Swarm Optmaton for Bankruptcy Predcton, Part LNAI 6634 Page , Sprnger-Verlag Berln Hedelberg. Hong, W.C., 200. Electrc Load Forecastng by SVR wth Chaotc Ant Swarm Optmzaton, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. J. Blondn, 2009, Partcle Swarm Optmzaton : A Tutoral, pp. -5. Ja Z., Gong L., Mult-crtera Human Resource Allocaton for Optmzaton Problems Usng Multobjectve Partcle Swarm Optmzaton Algorthm. IEEE. Karaboga, D. B., A Powerful and Effcent Algothm for NumercalFuncton Optmzaton Artfcal Bee Colony Algorthm (Vol. 39). Turkey: J Glob Optm. Kennedy, J and Eberhart, R.C., 995. Partcle Swarm Optmzaton. In Proceedngs of the 995 IEEE Internatonal Conference on Neural Networks. IEEE Servce Center, Pscataway. Kun, L., 202. Rce Blast Predcton Based on Gray Ant Colony And RBF Neural Network Combnaton Model, [ejournal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Kuo, B.C., 204. A Kernel-Based Feature Selecton Method for SVM Wth RBF Kernel for Hyperspectral Image Classfcaton, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. 78
191 L, X., 203. Couplng Frefly Algorthm and Least Squares Support Vector Regresson for Crude Ol Prce Forecastng, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Lxng, D., 200. Support Vector Regresson and Ant Colony Optmzaton for HVAC Coolng Load Predcton, [ejournal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. M. Clerc, 'Dscrete Partcle Swarm Optmzaton Illustrated by the Travelng Salesman Problem', M. Hoffmann, et al., 20. Dscrete Partcle Swarm Optmzaton for TSP: Theoretcal Results and Expermental Evaluatons, n Bouchacha, A. (Ed.), Adaptve and Intellgent Systems: Second Internatonal Conference, ICAIS 20, Klagenfurt, Austra, September 6-8, 20. Proceedngs, Sprnger Berln Hedelberg, Berln, Hedelberg, pp Mahmudy, W.F., 203. Algortma Evolus.Program Teknolog Informas dan Ilmu Komputer, Unverstas Brawjaya, Malang. Mackel Tuegeh, Soeprjanto, and Maurdh H. Purnomo, 2009, Modfed Improved Partcle Swarm Optmzaton For Optmal, Semnar Nasonal Aplkas Teknolog Informas. Mara, A., Snaga, E. Y., & Helena, M., 202. Penyelesaan Masalah Travellng Salesman Problem Menggunakan Ant Colony Optmzaton (ACO). Marn, F., & Walczak, B., 205. Partcle swarm optmzaton (PSO). A tutoral. IEEE Chemometrcs and Intellgent Laboratory Systems, 3. Martn, A., 202. An Analyss on Qualtatve Bankruptcy Predcton Usng Fuzzy ID3 and Ant Colony Optmzaton Algorthm, [e-journal]. Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. 79
192 Meesad, P., 203. Predctng Stock Market Prce Usng Support Vector Regresson, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Mrza Clmkovc, Neural Networks and Back Propagaton Algorthm. Insttute of Technology Blanchardstown, Blanchardstown Road North Dubln 5, Ireland. Mohanthy, R., 204. Predctng Software Relablty Usng Ant Colony Optmzaton, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Mustafa Servet Kıran, H. I., 202. The Analyss of Dscrete Artfcal Bee Colony Algorthm. Sprnger. N., Boukadoum, M. & Proulx, R. Nouaoura, 203, Partcle Swarm Classfcaton: A Survey and Postonng: Pattern Recognton, Vol 46. Navalertporn, Thtpong, and Afzulpurkar, Ntn. 20. Optmzaton Of Tle Manufacturng Process Usng Partcle Swarm Optmzaton. Industral System Engneerng, School of Engneerng and Technology, Asan Insttute of Technology. Thaland. Novtasar D., Cholssodn I., Mahmudy W.F., 206, Hybrdzng PSO Wth SA for Optmzng SVR Appled to Software Effort Estmaton, TELKOMNIKA, Vol.4, No., March 206, pp Png, Y., 20. On-lne Adaptaton Algorthm for RBF Kernel Based FS-SVM, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Ratnaweera A., Halgamuge, SK., Watson HC., 2004.Self Organzng Herarchcal Partcle Swarm Optmzer Wth Tme-Varyng Acceleraton Coeffcents. IEEE. 80
193 Sadah, N. H., Er, M., & Soelaman, R., 204. Penyelesaan Masalah travellng Salesman Problem Menggunakan Ant Colony Optmzaton (ACO). Sameh Otr B.Eng., M., 20. Improvng The Bees Algorthm For Complex Optmsaton Problems. Unted Kngdom: Cardff Unversty. Soebroto A.A., Cholssodn I., Whandka R.C., Frestantya M.T., Aref Z.E., 205. Predks Tngg Muka Ar (TMA) Untuk Deteks Dn Bencana Banjr Menggunakan SVR- TVIWPSO. JTIIK, Vol. 2, No. 2, Oktober 205 hlm Sun, C., 200. Gas Bearng Capacty Forecastng Method Based on Ant Colony Optmzaton and Support Vector Regresson, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Syafq M., Kadaf A.J.A, Zakyyah R.H, Jauhar D., Luqyana W.A, Cholssodn I., Muflkhah L., 206. Aplkas Moble (Lde) Untuk Dagnoss Tngkat Resko Penyakt Stroke Menggunakan PTVPSO-SVM. JTIIK, Vol.3, No.2, Jun 206, hlm Tansh, L., 204. Improved Ant Colony Optmzaton for Interval Pumpng of Pumpng Unt, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Tyas, Y.S., 203. Aplkas Pencaran Rute Terbak dengan Metode Ant Colony Optmzaton (ACO), [e-journal] pp Terseda melalu : IPI Indonesan Publcaton Index < [Dakses September 205]. Vjayakumar, S., 999. Sequental Support Vector Classfers and Regresson. In Proceedngs of Internatonal Conference on Soft Computng (SOCO 99). pp Walprana, W.E., Ant Colony Optmzaton, [e-journal]. Terseda melalu : IPI Indonesan Publcaton Index 8
194 < [Dakses 2 September 205]. Wang, H., 203. Electrcty Consumpton Predcton Based on SVR wth Ant Colony Optmzaton, [e-journal] pp Terseda melalu : IPI Indonesan Publcaton Index < [Dakses September 205]. Wardhany B.A.K., Rachm I., Hasjdla N.F., Khaqqyah Z., Tratmaja I., Cholssodn I., 206. Optmas Penjadwalan Praktkum Menggunakan Modfed Real Code Partcle Swarm Optmzaton (Stud Kasus Fakultas Imu Komputer Unverstas Brawjaya). JTIIK, Vol.3, No.4, Desember 206, hlm Xng, H., 203. An New Strategy for Onlne Evaluaton of Analog Crcut Performance based Adaptve Least Squares Support Vector Regresson wth Double Kernel RBF, [e-journal] pp Terseda melalu: IEEE Xplore Dgtal Lbrary < [Dakses September 205]. Y Fukuyama, 2007, Fundamentals of Partcle Swarm Optmzaton Technques: K.Y. Lee & M.A. El-Sharkaw, John Wley & Sons, Inc, Hoboken, NJ, USA. Y, Zhang., S, Huang A Novel Multobjectve Partcle Swarm Optmzaton for Buoy-arrangement Desgn. Shenyang Insttute of Automaton the Graduate School of Chnese Academy of Scence. Senyang, Chna. Zou, Jfeng, Chenlong L, and Qao L, 205. Fault Predcton Method based on SVR of Improved PSO. School of Informaton Scence and Engneerng, Shenyang Lgong Unversty, Shenyang 059, Chna. 82
195 83
196 Indeks ABC,, v, 3, 28, 30, 33, 35, 44 acak, 7,, 3, 23, 5, 30, 32, 60, 7 ACO,, v, 3, 46, 56, 57, 58, 59, 60, 70, 73, 74 algortma,, v, v, 3, 4, 6, 7, 8, 9,, 6, 8, 9, 20, 27, 3, 33, 7, 26, 35, 46, 58, 59, 73, 74 Algortma,, v, v, v, 2, 5, 7, 8, 9, 0, 8, 9, 26, 33, 30, 46, 58, 59, 77, 83 Evolus, 2, 8, 77 Ant Colony Optmzaton, v, 46, 56, 57, 73 Artfcal Bee Colony, v, 28, 30, 3, 35 berhent, v, 6, 7, 8, 29, 3, 34, 47, 52, 6, 73 berkelompok,,, 2 Berkolon, 2 Bobot nersa, 8 buatan,, 2, 30, 58 contrant, 4 cost, 4, 6, 46, 47, 52 Data Lath, v, 64, 65, 67, 68, 69 Data Uj, v, 64, 67, 68, 69 Denormalsas, v, 68, 69 dmens,, 9, 20, 22, 34, 22 Employed Bee, 29 error, 6 Fase, v, v, 29, 30, 3, 33, 34, 35, 36, 39, 43, 44 feromon, 46, 47, 48, 52, 55, 57, 58, 60, 6, 7, 72, 74 ftness, 4, 6, 8, 3, 5, 6, 7, 2, 25, 26, 27, 3, 32, 6, 8, 2, 28, 29, 30, 3, 36, 40, 43, 45 ftur, v, 5, 63, 64, 65 Flexble Job-Shop, v, 24 Flow-Shop, v, 2, 22 FSP, v, 2, 22 fungs, 6, 0,, 7, 9, 20, 5, 6, 6, 67 Global Best, v, 8, 29 goal, 4 HDPSO, v, 33, 7 Hybrd, v, v, 33, 7, 59, 60, 73 ndvdu,,, 2, 4, 5, 7, 8,, 22, 29, 36, 39, 40, 43, 44 Insalsas,, v, v,, 2, 20, 2, 7, 8, 28, 30, 35, 46, 48, 60, 6, 70 nterval, 3, 22, 23, 3 teras, 8,, 2, 3, 5, 6, 7, 8, 20, 2, 24, 26, 27, 3, 32, 34, 7, 8, 20, 2, 3, 36, 44, 46, 47, 48, 57, 60, 6, 7, 74 jalur, 46, 47, 52, 56, 58, 60, 6, 7, 73 Jarak, v, 7, 8, 20, 2, 35, 36, 40, 47, 52, 53, 54, 55, 64, 65 Job-Shop, v, 23, 24 kecepatan, 7, 8, 9,, 3, 4, 20, 22, 3, 33, 35, 5, 7, 8, 26 kecerdasan,,, 2 Kecerdasan Alam, 2 Koefsen akseleras, 8 kolon,, 46, 58 kombnatoral, 33, 6, 7, 24, 26, 44 komplek, 2, 4, 6 komponen kogntf, 7 sosal, 7 konvergen, 4, 6, 7, 8, 26, 5, 2 konvers,, 2 Local best, 29, 32 lower, 3, 22 maksmum, 0, 3, 7, 9, 22, 26, 27, 60, 6, 62, 64, 70 MAPE, v, 59, 62, 69, 70, 72, 74 matrk, 4, 47, 52, 55, 65, 66 meta-heurstcs, 4 normalsas, 62, 63, 64 Onlooker Bee, v, 29, 30, 3, 32, 33, 34, 39, 44 optmas, 2, 4, 7, 8, 9, 26, 6, 26, 28, 44, 58, 70, 74 overfttng, 6 Partcle swarm optmzaton, 7, 78 partkel, 4, 7, 8,, 2, 3, 5, 20, 2, 22, 24, 27, 29, 30, 3, 32, 33, 34, 5, 7, 8, 20, 2, 22, 24, 26 84
197 Pengkodean real, 9 penjadwalan, 2 Peramalan, v, 59, 68, 70 persamaan, 4, 9, 3, 5, 2, 27, 29, 62, 64, 65, 66, 67, 69 Personal best, 8 populas, 2, 4, 5, 6, 8,, 2, 3, 2, 30, 28 poss, 4, 7, 8, 9, 2, 3, 5, 2, 22, 23, 29, 30, 33, 34, 35, 5, 8, 20, 26, 28, 29, 30 problem, 4, 6 PSO,,, v, v, 3, 7, 8, 9, 0, 6, 8, 9, 22, 26, 29, 30, 3, 32, 26, 59, 75, 78, 80 random njecton, v, 30, 3 RCPSO,, 9, 74 representas,, 4, 8,, 22, 33, 5, 26, 44 Rumus, v, 9, 29, 5, 20, 6 rute, 6, 58 Schedulng, v, 2, 22, 23, 24 Scout Bee, v, 29, 30, 3, 34, 43, 44 sederhana, 4, 6, 0, 9, 59 semut,, 3, 7, 46, 47, 48, 52, 55, 56, 57, 58, 60, 6, 7, 72, 73, 74 Smpul, v, 7 smulas, 3, 7 sstem cerdas,, 2, 5, 30, 3, 34 solus,, 4, 5, 6, 7, 8,, 6, 7, 9, 20, 22, 26, 27, 5, 23, 28, 3, 32, 33, 34, 43, 44, 46, 47, 52, 58, 72 strng, Support Vector Regresson, v, 6 SVR,, v, v, 59, 60, 6, 62, 70, 73, 74, 78, 79, 80 Swarm Intellgence,,, v, v,, 2, 3, 4, 5, 6, 8, 58, 73 testng, 62 tranng, 6, 62 TSP, v, v, v, 6, 22, 34, 46, 47, 57, 77 Tugas,, v, v, 5, 6, 8, 3, 26, 44, 56, 73 Two-Stage Assembly, v, 22 Update,, v, 5,, 3, 4, 5, 6, 20, 22, 23, 24, 26, 34, 5, 8, 20, 2, 29, 30, 47, 56, 6, 72, 73 upper, 3, 22 varabel, 7,, 9, 20, 3, 7 85
198 Bograf Penuls Imam Cholssodn, lahr d Lamongan pada tanggal 9 Jul 985, telah menyelesakan penddkan S2 d Teknk Informatka FTIF ITS Surabaya pada Tahun 20. Sejak Tahun 202 telah aktf sebaga dosen pengajar d jurusan Teknk Informatka Program Teknolog dan Ilmu Komputer (PTIIK) Unverstas Brawjaya (UB) Malang pada beberapa mata kulah, sepert Informaton Retreval, Pengolahan Ctra Dgtal, Probabltas dan Statatstka, Grafka Komputer, Decson Support System, Kecerdasan Buatan, Data Mnng dan Pengenalan Pola. Bdang Kemnatan yang dtekun penelt adalah Informaton Retreval, Artfcal Vson, Decson Support System, Image Processng, dan Cryptography. D sampng mengajar, penelt juga aktf dalam Rset Group Image Processng dan Vson (IMPROV) d dalam Laboratorum Komputas Cerdas dan Vsualsas. Selan tu penelt juga telah melakukan beberapa publkas pada jurnal nasonal dan nternasonal (IEEE). Rset pada tahun yang sedang dlakukan sekarang bersama dengan beberapa tm dosen dan mahasswa semester akhr adalah berfokus pada bdang Informaton Retreval untuk melakukan analss dokumen lembaga penddkan secara Real-tme, yatu dengan tema Groups Decson Sentment Analyss Untuk Klasfkas Dokumen E-Complant Kampus Menggunakan Addtve Kernel SVM yang merupakan kombnas dar dua lntas bdang kelmuan antara Decson Support System (DSS) dan Informaton Retreval (IR). Motto : We Are A Code, We Are The Best Code Of God. Ef Ryandan, lahr d Rau pada tanggal 20 Aprl 995. Pada tahun 206 berhasl menyelesakan stud S Teknk Informatka, Program Teknolog Informas dan Ilmu Komputer, Unverstas Brawjaya Malang dengan tugas akhr yang berjudul Optmas Komposs Pakan Sstem Polkultur Ikan dan Udang Menggunakan Algortma Genetka. 86
IV. PERANCANGAN DAN IMPLEMENTASI SISTEM
IV. PERANCANGAN DAN IMPLEMENTASI SISTEM Perancangan Sstem Sstem yang akan dkembangkan adalah berupa sstem yang dapat membantu keputusan pemodal untuk menentukan portofolo saham yang dperdagangkan d Bursa
Tinjauan Algoritma Genetika Pada Permasalahan Himpunan Hitting Minimal
157 Vol. 13, No. 2, 157-161, Januar 2017 Tnjauan Algortma Genetka Pada Permasalahan Hmpunan Httng Mnmal Jusmawat Massalesse, Bud Nurwahyu Abstrak Beberapa persoalan menark dapat dformulaskan sebaga permasalahan
BAB II TINJAUAN PUSTAKA
BAB II TINJAUAN PUSTAKA 2.1 Tnjauan Pustaka 2.1.1 Tmetable Tmetable merupakan alokas subjek yang memlk kendala untuk dtempatkan pada ruang waktu (Gan dkk, 2004). Permasalahan Tmetable cukup luas. Masalah
BAB VB PERSEPTRON & CONTOH
BAB VB PERSEPTRON & CONTOH Model JST perseptron dtemukan oleh Rosenblatt (1962) dan Mnsky Papert (1969). Model n merupakan model yang memlk aplkas dan pelathan yang lebh bak pada era tersebut. 5B.1 Arstektur
PENGEMBANGAN METODE ALGORITMA GENETIKA DAN DARWINIAN PARTICLE SWARM OPTIMIZATION UNTUK FUNGSI MULTIMODAL
Arad Retno TH, Pengembangan Metode Algortma Gen, Hal 93-0 PENGEMBANGAN METODE ALGORITMA GENETIKA DAN DARWINIAN PARTICLE SWARM OPTIMIZATION UNTUK FUNGSI MULTIMODAL Arad Retno Tr Hayat Abstrak Metode optmas
BAB VIB METODE BELAJAR Delta rule, ADALINE (WIDROW- HOFF), MADALINE
BAB VIB METODE BELAJAR Delta rule, ADALINE (WIDROW- HOFF), MADALINE 6B.1 Pelathan ADALINE Model ADALINE (Adaptve Lnear Neuron) dtemukan oleh Wdrow & Hoff (1960) Arstekturnya mrp dengan perseptron Perbedaan
BAB II LANDASAN TEORI
BAB II LANDASAN TEORI 2.1 Fuzzy Set Pada tahun 1965, Zadeh memodfkas teor hmpunan dmana setap anggotanya memlk derajat keanggotaan yang bernla kontnu antara 0 sampa 1. Hmpunan n dsebut dengan hmpunaan
BAB 1 PENDAHULUAN. Pertumbuhan dan kestabilan ekonomi, adalah dua syarat penting bagi kemakmuran
BAB 1 PENDAHULUAN 1.1. Latar Belakang Pertumbuhan dan kestablan ekonom, adalah dua syarat pentng bag kemakmuran dan kesejahteraan suatu bangsa. Dengan pertumbuhan yang cukup, negara dapat melanjutkan pembangunan
BAB III METODOLOGI PENELITIAN
BAB III METODOLOGI PENELITIAN 3.1. Hpotess Peneltan Berkatan dengan manusa masalah d atas maka penuls menyusun hpotess sebaga acuan dalam penulsan hpotess penuls yatu Terdapat hubungan postf antara penddkan
APLIKASI PENJADWALAN MATA KULIAH MENGGUNAKAN ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO)
APLIKASI PENJADWALAN MATA KULIAH MENGGUNAKAN ALGORITMA PARTICLE SWARM OPTIMIZATION (PSO) Irfrans Kusmarna, Luh Kesuma Wardhan 2, Muhammad Safrzal 3,3 Jurusan Teknk Informatka, Fakultas Sans dan Teknolog,
3 METODE HEURISTIK UNTUK VRPTW
12 3 METODE HEURISTIK UNTUK VRPTW 3.1 Metode Heurstk Metode heurstk merupakan salah satu metode penentuan solus optmal dar permasalahan optmas kombnatoral. Berbeda dengan solus eksak yang menentukan nla
BAB 2 LANDASAN TEORI. Universitas Sumatera Utara
BAB 2 LANDASAN TEORI 2.1 Pengertan Analsa Regres Dalam kehdupan sehar-har, serng kta jumpa hubungan antara satu varabel terhadap satu atau lebh varabel yang lan. Sebaga contoh, besarnya pendapatan seseorang
BAB 2 LANDASAN TEORI
BAB 2 LANDASAN TEORI 2.1 Pengertan Regres Regres pertama kal dpergunakan sebaga konsep statstka oleh Sr Francs Galton (1822 1911). Belau memperkenalkan model peramalan, penaksran, atau pendugaan, yang
BAB V PENGEMBANGAN MODEL FUZZY PROGRAM LINIER
BAB V PENGEMBANGAN MODEL FUZZY PROGRAM LINIER 5.1 Pembelajaran Dengan Fuzzy Program Lner. Salah satu model program lnear klask, adalah : Maksmumkan : T f ( x) = c x Dengan batasan : Ax b x 0 n m mxn Dengan
ANALISIS DATA KATEGORIK (STK351)
Suplemen Respons Pertemuan ANALISIS DATA KATEGORIK (STK351) 7 Departemen Statstka FMIPA IPB Pokok Bahasan Sub Pokok Bahasan Referens Waktu Korelas Perngkat (Rank Correlaton) Bag. 1 Koefsen Korelas Perngkat
BAB 1 PENDAHULUAN. Universitas Sumatera Utara
BAB 1 ENDAHULUAN 1.1 Latar Belakang Secara umum dapat dkatakan bahwa mengambl atau membuat keputusan berart memlh satu dantara sekan banyak alternatf. erumusan berbaga alternatf sesua dengan yang sedang
Bab 1 PENDAHULUAN Latar Belakang
11 Bab 1 PENDAHULUAN 1.1. Latar Belakang Perbankan adalah ndustr yang syarat dengan rsko. Mula dar pengumpulan dana sebaga sumber labltas, hngga penyaluran dana pada aktva produktf. Berbaga kegatan jasa
BAB III METODOLOGI PENELITIAN
BAB III METODOLOGI PENELITIAN Dalam pembuatan tugas akhr n, penulsan mendapat referens dar pustaka serta lteratur lan yang berhubungan dengan pokok masalah yang penuls ajukan. Langkah-langkah yang akan
Analisa dan Penerapan Metode Particle Swarm Optimization Pada Optimasi Penjadwalan Kuliah
Jurnal Teknk Informatka, Vol 1 September 2012 Analsa dan Penerapan Metode Partcle Swarm Optmzaton Pada Optmas Penjadwalan Kulah Rasha Ashla Rachman 1), Dadang Syarf 2), Rka Perdana Sar 3) 1) Program Stud
BAB I PENDAHULUAN. 1.1 Latar Belakang. Di dalam matematika mulai dari SD, SMP, SMA, dan Perguruan Tinggi
Daftar Is Daftar Is... Kata pengantar... BAB I...1 PENDAHULUAN...1 1.1 Latar Belakang...1 1.2 Rumusan Masalah...2 1.3 Tujuan...2 BAB II...3 TINJAUAN TEORITIS...3 2.1 Landasan Teor...4 BAB III...5 PEMBAHASAN...5
Didownload dari ririez.blog.uns.ac.id BAB I PENDAHULUAN
BAB I PENDAHULUAN Sebuah jarngan terdr dar sekelompok node yang dhubungkan oleh busur atau cabang. Suatu jens arus tertentu berkatan dengan setap busur. Notas standart untuk menggambarkan sebuah jarngan
PENYELESAIAN PERMASALAHAN OPTIMASI CONSTRAINED NONLINEAR DENGAN PARTICLE SWARM OPTIMIZATION
PENYELESAIAN PERMASALAHAN OPTIMASI CONSTRAINED NONLINEAR DENGAN PARTICLE SWARM OPTIMIZATION Yudh Purwananto Rully Soelaman dan Bambang Santoso. Fakultas Teknolog Informas Insttut Teknolog Sepuluh Nopember
Bab III Analisis Rantai Markov
Bab III Analss Ranta Markov Sstem Markov (atau proses Markov atau ranta Markov) merupakan suatu sstem dengan satu atau beberapa state atau keadaan, dan dapat berpndah dar satu state ke state yang lan pada
UJI NORMALITAS X 2. Z p i O i E i (p i x N) Interval SD
UJI F DAN UJI T Uj F dkenal dengan Uj serentak atau uj Model/Uj Anova, yatu uj untuk melhat bagamanakah pengaruh semua varabel bebasnya secara bersama-sama terhadap varabel terkatnya. Atau untuk menguj
Analitik Data Tingkat Lanjut (Regresi)
0 Oktober 206 Analtk Data Tngkat Lanut (Regres) Imam Cholssodn [email protected] Pokok Bahasan. Konsep Regres 2. Analss Teknkal dan Fundamental 3. Regres Lnear & Regres Logstc (Optonal) 4. Regres
PROPOSAL SKRIPSI JUDUL:
PROPOSAL SKRIPSI JUDUL: 1.1. Latar Belakang Masalah SDM kn makn berperan besar bag kesuksesan suatu organsas. Banyak organsas menyadar bahwa unsur manusa dalam suatu organsas dapat memberkan keunggulan
BAB II TEORI ALIRAN DAYA
BAB II TEORI ALIRAN DAYA 2.1 UMUM Perhtungan alran daya merupakan suatu alat bantu yang sangat pentng untuk mengetahu konds operas sstem. Perhtungan alran daya pada tegangan, arus dan faktor daya d berbaga
BAB 2 LANDASAN TEORI
2 LNDSN TEORI 2. Teor engamblan Keputusan Menurut Supranto 99 keputusan adalah hasl pemecahan masalah yang dhadapnya dengan tegas. Suatu keputusan merupakan jawaban yang past terhadap suatu pertanyaan.
BAB IV PEMBAHASAN MODEL
BAB IV PEMBAHASAN MODEL Pada bab IV n akan dlakukan pembuatan model dengan melakukan analss perhtungan untuk permasalahan proses pengadaan model persedaan mult tem dengan baya produks cekung dan jont setup
BAB V ANALISA PEMECAHAN MASALAH
BAB V ANALISA PEMECAHAN MASALAH 5.1 Analsa Pemlhan Model Tme Seres Forecastng Pemlhan model forecastng terbak dlakukan secara statstk, dmana alat statstk yang dgunakan adalah MAD, MAPE dan TS. Perbandngan
Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu
Bab 2 Tnjauan Pustaka 2.1 Peneltan Terdahulu Pemlhan stud pustaka tentang sstem nformas penlaan knerja karyawan n juga ddasar pada peneltan sebelumnya yang berjudul Penerapan Metode TOPSIS untuk Pemberan
BAB II DASAR TEORI. 2.1 Definisi Game Theory
BAB II DASAR TEORI Perkembangan zaman telah membuat hubungan manusa semakn kompleks. Interaks antar kelompok-kelompok yang mempunya kepentngan berbeda kemudan melahrkan konflk untuk mempertahankan kepentngan
IV. UKURAN SIMPANGAN, DISPERSI & VARIASI
IV. UKURAN SIMPANGAN, DISPERSI & VARIASI Pendahuluan o Ukuran dspers atau ukuran varas, yang menggambarkan derajat bagamana berpencarnya data kuanttatf, dntaranya: rentang, rentang antar kuartl, smpangan
SISTEM PENDUKUNG KEPUTUSAN PENILAIAN KINERJA DAN PEMILIHAN MITRA BADAN PUSAT STATISTIK (BPS) KABUPATEN GUNUNGKIDUL MENGGUNAKAN METODE SAW BERBASIS WEB
SISTEM PENDUKUNG KEPUTUSAN PENILAIAN KINERJA DAN PEMILIHAN MITRA BADAN PUSAT STATISTIK (BPS) KABUPATEN GUNUNGKIDUL MENGGUNAKAN METODE SAW BERBASIS WEB Putr Har Ikhtarn ), Bety Nurltasar 2), Hafdz Alda
BAB IV PERHITUNGAN DAN ANALISIS
BAB IV PERHITUNGAN DAN ANALISIS 4.1 Survey Parameter Survey parameter n dlakukan dengan mengubah satu jens parameter dengan membuat parameter lannya tetap. Pengamatan terhadap berbaga nla untuk satu parameter
BAB I PENDAHULUAN. Perkembangan matematika tidak hanya dalam tataran teoritis tetapi juga pada
BAB I PENDAHULUAN.. Latar Belakang Masalah Perkembangan matematka tdak hanya dalam tataran teorts tetap juga pada bdang aplkatf. Salah satu bdang lmu yang dkembangkan untuk tataran aplkatf dalam statstka
III. METODE PENELITIAN. Penelitian ini merupakan studi eksperimen yang telah dilaksanakan di SMA
III. METODE PENELITIAN A. Waktu dan Tempat Peneltan Peneltan n merupakan stud ekspermen yang telah dlaksanakan d SMA Neger 3 Bandar Lampung. Peneltan n dlaksanakan pada semester genap tahun ajaran 2012/2013.
BAB IV HASIL PENELITIAN DAN PEMBAHASAN
BAB IV HASIL PENELITIAN DAN PEMBAHASAN A. Deskrps Data Hasl Peneltan Satelah melakukan peneltan, penelt melakukan stud lapangan untuk memperoleh data nla post test dar hasl tes setelah dkena perlakuan.
BAB 1 PENDAHULUAN. 1.1 Latar Belakang
BAB 1 ENDAHULUAN 1.1 Latar Belakang Manusa dlahrkan ke duna dengan ms menjalankan kehdupannya sesua dengan kodrat Illah yakn tumbuh dan berkembang. Untuk tumbuh dan berkembang, berart setap nsan harus
BAB III METODE PENELITIAN. Penelitian ini merupakan penelitian yang bertujuan untuk mendeskripsikan
BAB III METODE PENELITIAN A. Jens Peneltan Peneltan n merupakan peneltan yang bertujuan untuk mendeskrpskan langkah-langkah pengembangan perangkat pembelajaran matematka berbass teor varas berupa Rencana
BAB 4 METODOLOGI PENELITIAN DAN ANALISIS
28 BAB 4 METODOLOGI PENELITIAN DAN ANALISIS 4.1 Kerangka Pemkran dan Hpotess Dalam proses peneltan n, akan duj beberapa varabel software yang telah dsebutkan pada bab sebelumnya. Sesua dengan tahapan-tahapan
BAB 1 PENDAHULUAN. 1.1 Latar Belakang
BAB PEDAHULUA. Latar Belakang Rsko ddentfkaskan dengan ketdakpastan. Dalam mengambl keputusan nvestas para nvestor mengharapkan hasl yang maksmal dengan rsko tertentu atau hasl tertentu dengan rsko yang
BAB IX. STATISTIKA. CONTOH : HASIL ULANGAN MATEMATIKA 5 SISWA SBB: PENGERTIAN STATISTIKA DAN STATISTIK:
BAB IX. STATISTIKA. CONTOH : HASIL ULANGAN MATEMATIKA 5 SISWA SBB: PENGERTIAN STATISTIKA DAN STATISTIK: BAB IX. STATISTIKA Contoh : hasl ulangan Matematka 5 sswa sbb: 6 8 7 6 9 Pengertan Statstka dan
PENERAPAN METODE FORGY PADA PERILAKU LEBAH PENJELAJAH DALAM ARTIFICIAL BEE COLONY
PENERAPAN METODE FORGY PADA PERILAKU LEBAH PENJELAJAH DALAM ARTIFICIAL BEE COLONY I Made Wdartha Program Stud Teknk Informatka Fakultas Matematka dan Ilmu Pengetahuan Alam Unverstas Udayana emal : [email protected]
BAB III METODE PENELITIAN
BAB III METODE PENELITIAN Bab n membahas tentang prosedur pengembangan pembelajaran dan mplementas model Problem Based Learnng dalam pembelajaran Konsep Dasar Matematka, Subjek Peneltan, Teknk dan Instrumen
OPTIMISASI PELETAKAN DAN SIZING DISTRIBUTED GENERATION (DG) MENGGUNAKAN TWO LAYER PARTICLE SWARM OPTIMIZATION (TLPSO)
OPTIMISASI PELETAKAN DAN SIZING DISTRIBUTED GENERATION (DG) MENGGUNAKAN TWO LAYER PARTICLE SWARM OPTIMIZATION (TLPSO) Efrta Arfah Z Jurusan Teknk Elektro, FTI-ITATS Surabaya Jl. Aref Rahman Hakm 100 Tlp
BAB 2 LANDASAN TEORI
BAB LANDASAN TEORI.1 Pengertan Regres Regres pertama kal dgunakan sebaga konsep statstka oleh Sr Francs Galton (18 1911).Belau memperkenalkan model peramalan, penaksran, atau pendugaan, yang selanjutnya
BAB III METODE PENELITIAN. Metode penelitian yang digunakan dalam penelitian ini adalah metode
BAB III METODE PENELITIAN Desan Peneltan Metode peneltan yang dgunakan dalam peneltan n adalah metode deskrptf analts dengan jens pendekatan stud kasus yatu dengan melhat fenomena permasalahan yang ada
PENDAHULUAN Latar Belakang
PENDAHULUAN Latar Belakang Menurut teor molekuler benda, satu unt volume makroskopk gas (msalkan cm ) merupakan suatu sstem yang terdr atas sejumlah besar molekul (kra-kra sebanyak 0 0 buah molekul) yang
BAB 3 PEMBAHASAN. 3.1 Prosedur Penyelesaian Masalah Program Linier Parametrik Prosedur Penyelesaian untuk perubahan kontinu parameter c
6 A PEMAHASA Pada bab sebelumnya telah dbahas teor-teor yang akan dgunakan untuk menyelesakan masalah program lner parametrk. Pada bab n akan dperlhatkan suatu prosedur yang lengkap untuk menyelesakan
BAB I PENDAHULUAN. 1.1 Latar Belakang
I ENDHULUN. Latar elakang Mengambl keputusan secara aktf memberkan suatu tngkat pengendalan atas kehdupan spengambl keputusan. lhan-plhan yang dambl sebenarnya membantu dalam penentuan masa depan. Namun
BAB 1 PENDAHULUAN. 1.1 Latar belakang
BAB 1 PENDAHULUAN 1.1 Latar belakang Dalam memlh sesuatu, mula yang memlh yang sederhana sampa ke hal yang sangat rumt yang dbutuhkan bukanlah berpkr yang rumt, tetap bagaman berpkr secara sederhana. AHP
BAB I PENDAHULUAN. Semakin tinggi penerimaan Pajak di Indonesia, semakin tinggi pula kualitas
BAB I PENDAHULUAN A. LATAR BELAKANG Pajak merupakan sumber penermaan terpentng d Indonesa. Oleh karena tu Pemerntah selalu mengupayakan bagamana cara menngkatkan penermaan Pajak. Semakn tngg penermaan
(1.1) maka matriks pembayaran tersebut dikatakan mempunyai titik pelana pada (r,s) dan elemen a
Lecture 2: Pure Strategy A. Strategy Optmum Hal pokok yang sesungguhnya menad nt dar teor permanan adalah menentukan solus optmum bag kedua phak yang salng bersang tersebut yang bersesuaan dengan strateg
MODIFIED IMPROVED PARTICLE SWARM OPTIMIZATION FOR OPTIMAL GENERATOR SCHEDULING
Semnar Nasonal Aplkas Teknolog Informas 009 (SNATI 009) ISSN: 1907-50 Yogyakarta, 0 Jun 009 MODIFIED IMPROVED PARTICLE SWARM OPTIMIZATION FOR OPTIMAL GENERATOR SCHEDULING Mackel Tuegeh 1, Soeprjanto, Maurdh
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tnjauan Pustaka Dar peneltan yang dlakukan Her Sulstyo (2010) telah dbuat suatu sstem perangkat lunak untuk mendukung dalam pengamblan keputusan menggunakan
BAB 2 LANDASAN TEORI. estimasi, uji keberartian regresi, analisa korelasi dan uji koefisien regresi.
BAB LANDASAN TEORI Pada bab n akan durakan beberapa metode yang dgunakan dalam penyelesaan tugas akhr n. Selan tu penuls juga mengurakan tentang pengertan regres, analss regres berganda, membentuk persamaan
BAB X RUANG HASIL KALI DALAM
BAB X RUANG HASIL KALI DALAM 0. Hasl Kal Dalam Defns. Hasl kal dalam adalah fungs yang mengatkan setap pasangan vektor d ruang vektor V (msalkan pasangan u dan v, dnotaskan dengan u, v ) dengan blangan
BAB IV PEMBAHASAN HASIL PENELITIAN
BAB IV PEMBAHASAN HASIL PENELITIAN A. Hasl Peneltan Pada peneltan yang telah dlakukan penelt selama 3 mnggu, maka hasl belajar matematka pada mater pokok pecahan d kelas V MI I anatussbyan Mangkang Kulon
SCHEMATICS 2009 National Programming Contest
SCHEMATICS 2009 Natonal Programmng Contest No Nama Problem 1 Berhtung 2 Gelang Cantk 3 Jalan 4 Kubangan Lumpur 5 Ayam dan Bebek 6 Schematcs09 7 Pagar Labrn JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI
BAB I PENDAHULUAN. 1.1 Latar Belakang
BAB I PENDAHULUAN. Latar Belakang Matematka sebaga bahasa smbol yang bersfat unversal memegang peranan pentng dalam perkembangan suatu teknolog. Matematka sangat erat hubungannya dengan kehdupan nyata.
P n e j n a j d a u d a u l a a l n a n O pt p im i a m l a l P e P m e b m a b n a g n k g i k t Oleh Z r u iman
OTIMISASI enjadualan Optmal embangkt Oleh : Zurman Anthony, ST. MT Optmas pengrman daya lstrk Dmaksudkan untuk memperkecl jumlah keseluruhan baya operas dengan memperhtungkan rug-rug daya nyata pada saluran
Optimasi Fungsi Keanggotaan Fuzzy
Optmas Fungs Keanggotaan Fuzzy Tsukamoto Dua Tahap Menggunakan Algortma Genetka Pada Pemlhan Calon Penerma Beasswa dan BBP-PPA (Stud Kasus: PTIIK Unverstas Brawjaya Malang) Bunga Amela Restuputr 1, Wayan
BAB III HIPOTESIS DAN METODOLOGI PENELITIAN
BAB III HIPOTESIS DAN METODOLOGI PENELITIAN III.1 Hpotess Berdasarkan kerangka pemkran sebelumnya, maka dapat drumuskan hpotess sebaga berkut : H1 : ada beda sgnfkan antara sebelum dan setelah penerbtan
PENERAPAN METODE MAMDANI DALAM MENGHITUNG TINGKAT INFLASI BERDASARKAN KELOMPOK KOMODITI (Studi Kasus pada Data Inflasi Indonesia)
PENERAPAN METODE MAMDANI DALAM MENGHITUNG TINGKAT INFLASI BERDASARKAN KELOMPOK KOMODITI (Stud Kasus pada Data Inflas Indonesa) Putr Noorwan Effendy, Amar Sumarsa, Embay Rohaet Program Stud Matematka Fakultas
BAB III METODOLOGI PENELITIAN. Penelitian ini dilaksanakan di SMA Negeri I Tibawa pada semester genap
5 BAB III METODOLOGI PENELITIAN 3. Lokas Dan Waktu Peneltan Peneltan n dlaksanakan d SMA Neger I Tbawa pada semester genap tahun ajaran 0/03. Peneltan n berlangsung selama ± bulan (Me,Jun) mula dar tahap
PEMAHAMAN METODE NUMERIK MENGGUNAKAN PEMPROGRMAN MATLAB (Studi Kasus : Metode Secant)
PEMAHAMAN METODE NUMERIK MENGGUNAKAN PEMPROGRMAN MATLAB (Stud Kasus : Metode Secant) Melda panjatan STMIK Bud Darma, Jln.SM.Raja No.338 Sp.Lmun, Medan Sumatera Utara Jurusan Teknk Informatka e-mal : [email protected]
Nama : Crishadi Juliantoro NPM :
ANALISIS INVESTASI PADA PERUSAHAAN YANG MASUK DALAM PERHITUNGAN INDEX LQ-45 MENGGUNAKAN PORTOFOLIO DENGAN METODE SINGLE INDEX MODEL. Nama : Crshad Julantoro NPM : 110630 Latar Belakang Pemlhan saham yang
RANGKAIAN SERI. 1. Pendahuluan
. Pendahuluan ANGKAIAN SEI Dua elemen dkatakan terhubung ser jka : a. Kedua elemen hanya mempunya satu termnal bersama. b. Ttk bersama antara elemen tdak terhubung ke elemen yang lan. Pada Gambar resstor
BAB III METODE PENELITIAN. menghasilkan Lembar Kegiatan Siswa (LKS) pada materi Geometri dengan
BAB III METODE PENELITIAN A. Jens Peneltan Peneltan n merupakan peneltan pengembangan yang bertujuan untuk menghaslkan Lembar Kegatan Sswa (LKS) pada mater Geometr dengan pendekatan pembelajaran berbass
BAB II TINJAUAN PUSTAKA
7 II TINJUN PUSTK 2.1 Manaemen Proyek 2.1.1 Pengertan Manaemen Proyek Sebelum mengemukakan apa art dar Manaemen Proyek, terlebh dahulu akan mengetahu art dar Manaemen dan Proyek tu. Menurut Hamng dan Nurnaamuddn
PENENTUAN LOKASI PEMANCAR TELEVISI MENGGUNAKAN FUZZY MULTI CRITERIA DECISION MAKING
Meda Informatka, Vol. 2, No. 2, Desember 2004, 57-64 ISSN: 0854-4743 PENENTUAN LOKASI PEMANCAR TELEVISI MENGGUNAKAN FUZZY MULTI CRITERIA DECISION MAKING Sr Kusumadew Jurusan Teknk Informatka, Fakultas
BAB I PENDAHULUAN 1.1 Latar Belakang
BAB I PENDAHULUAN. Latar Belakang Manova atau Multvarate of Varance merupakan pengujan dalam multvarate yang bertujuan untuk mengetahu pengaruh varabel respon dengan terhadap beberapa varabel predktor
SUMBER BELAJAR PENUNJANG PLPG 2016 MATA PELAJARAN/PAKET KEAHLIAN GURU KELAS SD
SUMBER BELAJAR PENUNJANG PLPG 0 MATA PELAJARAN/PAKET KEAHLIAN GURU KELAS SD BAB V STATISTIKA Dra.Hj.Rosdah Salam, M.Pd. Dra. Nurfazah, M.Hum. Drs. Latr S, S.Pd., M.Pd. Prof.Dr.H. Pattabundu, M.Ed. Wdya
SISTEM LINEAR MAX-PLUS KABUR WAKTU INVARIANT AUTONOMOUS
SISTEM LINEAR MAX-PLUS KABUR WAKTU INVARIANT AUTONOMOUS A8 M. Andy Rudhto 1 1 Program Stud Penddkan Matematka FKIP Unverstas Sanata Dharma Kampus III USD Pangan Maguwoharjo Yogyakarta 1 e-mal: [email protected]
MEREDUKSI SISTEM PERSAMAAN LINEAR FUZZY PENUH DENGAN BILANGAN FUZZY TRAPESIUM
MEREDUKSI SISTEM PERSAMAAN LINEAR FUZZY PENUH DENGAN BILANGAN FUZZY TRAPESIUM Tut Susant, Mashad, Sukamto Mahasswa Program S Matematka Dosen Jurusan Matematka Fakultas Matematka dan Ilmu Pengetahuan Alam
I PENDAHULUAN II LANDASAN TEORI
I PENDAHULUAN Latar elakang Sekolah merupakan salah satu bagan pentng dalam penddkan Oleh karena tu sekolah harus memperhatkan bagan-bagan yang ada d dalamnya Salah satu bagan pentng yang tdak dapat dpsahkan
2.1 Sistem Makroskopik dan Sistem Mikroskopik Fisika statistik berangkat dari pengamatan sebuah sistem mikroskopik, yakni sistem yang sangat kecil
.1 Sstem Makroskopk dan Sstem Mkroskopk Fska statstk berangkat dar pengamatan sebuah sstem mkroskopk, yakn sstem yang sangat kecl (ukurannya sangat kecl ukuran Angstrom, tdak dapat dukur secara langsung)
APLIKASI KOHONEN SELF ORGANIZING PADA TRAVELLING SALESMAN PROBLEM (TSP) DENGAN PROGRAM MATLAB
Volume 01, Nomor 01, Agustus 016 ISSN: 58-638 APLIKASI KOHONEN SELF ORGANIZING PADA TRAVELLING SALESMAN PROBLEM (TSP) DENGAN PROGRAM MATLAB Nurul Imamah Ah. 1) 1) Prod Penddkan Matematka, FKIP, Unverstas
Dalam sistem pengendalian berhirarki 2 level, maka optimasi dapat. dilakukan pada level pertama yaitu pengambil keputusan level pertama yang
LARGE SCALE SYSEM Course by Dr. Ars rwyatno, S, M Dept. of Electrcal Engneerng Dponegoro Unversty BAB V OPIMASI SISEM Dalam sstem pengendalan berhrark level, maka optmas dapat dlakukan pada level pertama
Alokasi kursi parlemen
Alokas kurs parlemen Dd Achdjat Untuk Sndkas Pemlu dan Demokras 1. Pendahuluan 1 Pelaksanaan pemlhan umum sebaga sarana mplementas demokras memerlukan suatu konsep yang kokoh dan taat azas. Konsep pelaksanaan
UKURAN LOKASI, VARIASI & BENTUK KURVA
UKURAN LOKASI, VARIASI & BENTUK KURVA MARULAM MT SIMARMATA, MS STATISTIK TERAPAN FAK HUKUM USI @4 ARTI UKURAN LOKASI DAN VARIASI Suatu Kelompok DATA berupa kumpulan nla VARIABEL [ vaabel ] Ms banyaknya
BAB III METODE PENELITIAN. hasil penelitian. Walaupun penelitian ini merupakan penelitian kuasi eksperimen,
BAB III METODE PENELITIAN A. Metode dan Desan Peneltan Metode peneltan n adalah quas ekspermen karena terdapat unsur manpulas, yatu mengubah keadaan basa secara sstemats ke keadaan tertentu serta tetap
BAB III METODE PENELITIAN. Sebelum dilakukan penelitian, langkah pertama yang harus dilakukan oleh
BAB III METODE PENELITIAN 3.1 Desan Peneltan Sebelum dlakukan peneltan, langkah pertama yang harus dlakukan oleh penelt adalah menentukan terlebh dahulu metode apa yang akan dgunakan dalam peneltan. Desan
BAB III METODOLOGI PENELITIAN. Metode yang digunakan dalam penelitian ini adalah metode eksperimen
3 BAB III METODOLOGI PENELITIAN A. Metode dan Desan Peneltan Metode yang dgunakan dalam peneltan n adalah metode ekspermen karena sesua dengan tujuan peneltan yatu melhat hubungan antara varabelvarabel
PENYELESAIAN SHORTEST PATH PROBLEM DENGAN JARINGAN SARAF TIRUAN HOPFIELD
Semnar Nasonal Sstem dan Informatka 2007; Bal, 6 November 2007 PENYELESAIAN SHORTEST PATH PROBLEM DENGAN JARINGAN SARAF TIRUAN HOPFIELD Nur Hasanah ) Istkhomah 2) Taufq Hdayat 3) Sr Kusumadew 4) Jurusan
PRAKTIKUM 6 Penyelesaian Persamaan Non Linier Metode Newton Raphson Dengan Modifikasi Tabel
PRAKTIKUM 6 Penyelesaan Persamaan Non Lner Metode Newton Raphson Dengan Modfkas Tabel Tujuan : Mempelajar metode Newton Raphson dengan modfkas tabel untuk penyelesaan persamaan non lner Dasar Teor : Permasalahan
III. METODE PENELITIAN. Penelitian ini dilakukan di MTs Negeri 2 Bandar Lampung dengan populasi siswa
III. METODE PENELITIAN A. Populas dan Sampel Peneltan n dlakukan d MTs Neger Bandar Lampung dengan populas sswa kelas VII yang terdr dar 0 kelas yatu kelas unggulan, unggulan, dan kelas A sampa dengan
BAB II METODOLOGI PENELITIAN. Jenis penelitian yang digunakan dalam penelitian ini adalah penelitian. variable independen dengan variabel dependen.
BAB II METODOLOGI PENELITIAN A. Bentuk Peneltan Jens peneltan yang dgunakan dalam peneltan n adalah peneltan deskrptf dengan analsa kuanttatf, dengan maksud untuk mencar pengaruh antara varable ndependen
BAB III METODOLOGI PENELITIAN
41 BAB III METODOLOGI PENELITIAN A. Metode Peneltan Berdasarkan masalah yang akan dtelt dengan melhat tujuan dan ruang lngkup dserta dengan pengolahan data, penafsran serta pengamblan kesmpulan, maka metode
BAB III METODE PENELITIAN. berjumlah empat kelas terdiri dari 131 siswa. Sampel penelitian ini terdiri dari satu kelas yang diambil dengan
7 BAB III METODE PENELITIAN A. Populas dan Sampel 1. Populas Populas dalam peneltan n adalah seluruh sswa kelas XI SMA Yadka Bandar Lampung semester genap tahun pelajaran 014/ 015 yang berjumlah empat
III. METODE PENELITIAN. Penelitian ini dilaksanakan di SMP Al-Azhar 3 Bandar Lampung yang terletak di
III. METODE PENELITIAN A. Populas dan Sampel Peneltan n dlaksanakan d SMP Al-Azhar 3 Bandar Lampung yang terletak d Jl. Gn. Tanggamus Raya Way Halm, kota Bandar Lampung. Populas dalam peneltan n adalah
