• Tidak ada hasil yang ditemukan

Implementasi dan Simulasi Algoritma Kumpulan Semut (Ant Colony) Untuk Mencari Jalur Terpendek

N/A
N/A
Protected

Academic year: 2021

Membagikan "Implementasi dan Simulasi Algoritma Kumpulan Semut (Ant Colony) Untuk Mencari Jalur Terpendek"

Copied!
5
0
0

Teks penuh

(1)

240

Implementasi dan Simulasi Algoritma Kumpulan

Semut (Ant Colony) Untuk Mencari Jalur

Terpendek

Haryanto1, Ahmad Kodar2, Ida Nurhaida3

Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana Jl. Raya Meruya Selatan, Kembangan, Jakarta, 11650

E-mail : idariyan@yahoo.com3 Abstrak -- Dalam kehidupan sehari–hari seorang

pengendara sering melakukan perjalanan dari satu tempat atau kota ke tempat yang lain dengan mempertimbangkan efisiensi, waktu dan biaya, sehingga diperlukan ketepatan dalam menentukan jalur terpendek antar kota. Hasil penentuan jalur terpendek akan menjadi pertimbangan dalam pengambilan keputusan untuk menunjukkan jalur yang akan ditempuh. Masalah tersebut telah mengundang banyak solusi sedangkan solusi yang diharapkan adalah solusi dengan kompleksitas algoritma. Perancangan sistem ini bertujuan untuk membangun sebuah program aplikasi untuk menentukan jalur terpendek antar suatu kota menggunakan algoritma ant colony. Metode rekayasa perangkat lunak yang dipergunakan adalah waterfall model. Dari hasil pengujian terhadap perangkat lunak disimpulkan bahwa perangkat lunak telah berhasil menemukan jalur terpendek dengan algoritma ant colony.

Kata kunci : Pemilihan jalur terpendek, Ant Colony, rekayasa perangkat lunak, waterfall model.

I. PENDAHULUAN

Dalam kehidupan sehari-hari, sering dilakukan perjalanan dari satu tempat atau kota ke tempat yang lain dengan mempertimbangkan efisiensi, waktu dan biaya sehingga diperlukan ketepatan dalam menentukan jalur terpendek antar suatu kota. Hasil penentuan jalur terpendek akan menjadi pertimbangan dalam pengambilan keputusan untuk menunjukkan jalur-jalur yang akan ditempuh oleh seorang pengendara. Hasil yang didapatkan juga membutuhkan kecepatan dan keakuratan dengan bantuan komputer.

Secara umum, pencarian jalur terpendek dapat dibagi menjadi dua metode, yaitu metode konvensional dan metode heuristik [4]. Metode konvensional adalah metode yang menggunakan perhitungan matematis biasa. Ada beberapa metode konvensional biasa digunakan untuk melakukan pencarian jalur terpendek, diantaranya: algoritma Djikstra, algoritma Floyd-Warshall, dan algoritma Bellman- Ford.

Sedangkan Metode Heuristik adalah sub bidang dari kecerdasan buatan yang digunakan untuk melakukan pencarian dan optimasi. Ada beberapa algoritma pada metode heuristik yang biasa digunakan dalam permasalahan optimasi, diantaranya algoritma genetika, algoritma semut, logika fuzzy, jaringan syaraf tiruan, pencarian tabu, simulated annealing, dan lain-lain [4]. Pemanfaatan teknologi informasi pada pencarian jalur terpendek menghasilkan suatu hasil atau keluaran yang akurat dan tepat, untuk membantu perjalanan seseorang pengendara.

Untuk kasus yang berbeda algoritma akan memberikan hasil yang berbeda, tidak dapat dipastikan bahwa algoritma semut atau genetik yang terbaik. Metode konvensional cenderung lebih mudah dipahami daripada metode heuristik, tetapi jika dibandingkan, hasil yang diperoleh dari metode heuristik lebih variatif dan waktu perhitungan yang diperlukan lebih singkat. Kelemahan metode konvesional pada keakuratan hasil yang didapatkan serta tingkat kesalahan yang dihasilkan pada perhitungan. Hal tersebut tidak akan menjadi masalah jika data yang dibutuhkan hanya sedikit, jika sebaliknya maka akan menyebabkan peningkatan tingkat kesalahan perhitungan dan penurunan keakuratan.

Penelitian ini bertujuan untuk :

1. Membuat suatu perangkat lunak yang dapat mensimulasikan Ant Colony dalam kasus pencarian jalur terpendek antar kota yang telah diketahui koordinatnya.

2. Memberikan alternatif pada pengendara untuk menetukan jalur atau rute mana saja yang akan dilalui untuk menuju suatu tempat (kota).

II. METODOLOGI PENELITIAN

Metodologi penelitian yang digunakan adalah sebagai berikut :

1. Metode pengembangan sistem.

Dalam metode pengembangan sistem yang digunakan meliputi analisis kebutuhan perangkat lunak, perancangan perangkat lunak, implementasi perangkat lunak dan analisis kinerja perangkat lunak.

(2)

241 Tahapan ini menghasilkan rancangan yang memenuhi kebutuhan yang ditentukan selama tahapan analisis dan definisi kebutuhan. Tujuannya adalah setelah data yang dibutuhkan selesai dikumpulkan dan sudah lengkap, maka desain kemudian akan dikerjakan.

3. Implementasi dan unit testing

Pada tahap ini, perancangan perangkat lunak di wujudkan sebagai satu set program yang ditulis dalam bentuk kode-kode dengan bahasa pemrograman yang telah ditentukan. Unit testing meliputi meliputi pemeriksaan pada setiap unit program untuk memenuhi spesifikasi tersebut.

Tes sistem

Unit dari setiap program disatukan dan dites secara keseluruhan untuk memastikan bahwa syarat dari perangkat lunak telah dipenuhi. Operasi dan perawatan

Secara umum, ini merupakan tahap yang paling lama. Sistem di-install dan digunakan pada lingkungannya dan proses perawatan meliputi perbaikan dari kesalahan yang tidak ditemukan pada tahap-tahap sebelumnya, perbaikan pengimplementasian unit sistem dan meningkatakan kemampuan sistem dari persyaratan baru yang diterima sehingga dapat beradaptasi sesuai situasi yang sebenarnya. 4. Metode pengumpulan data.

Pengumpulan data yang diperlukan menggunakan metode studi literatur yang menggunakan berbagai macam literatur yang berhubungan dengan Ant Colony dan permasalahan pencarian jalur terpendek baik pengumpulan data dilakukan dengan mengumpulkan data-data dari sumber atau buku yang relevan terhadap penelitian maupun media online.

III. HASIL DAN PEMBAHASAN 3.1 Metode Perancangan

Metode perancangan yang dikembangkan untuk membangun pencarian jalur terpendek adalah UML (Unified Modelling Language) yang kemudian diperjelas perancangan terstruktur (structure design

method) atau flow chart [1]. Flow chart pada dasarnya

merupakan konsep perancangan yang mudah dengan penekanan pada sistem modular (Top Down Design) dan pemrograman terstruktur (structured

programming).

Perancangan sistem ini akan dibagi menjadi beberapa subsistem yaitu :

1. Perancangan UML

Perancangan aplikasi yang dibangun menggunakan 4 ( tiga ) model diagram UML (Unified Modelling

Language) yaitu : use case diagram, class diagram, Activity Diagram dan sequence diagram.

2. Perancangan Antar Muka

3.1.1 Use Case Diagram

Pada aplikasi pencarian jalur terpendek antar kota menggunakan algoritma semut (Ant Colony), use

case menjelaskan tentang hubungan antara sistem

dengan aktor ( pengendara ). Hubungan ini dapat berupa input aktor (pengendara) ke sistem ataupun

output ke aktor (pengendara). Use-case merupakan

dokumen naratif yang mendeskripsikan kasus-kasus atau kejadian-kejadian daripada aktor dalam menggunakan system untuk menyelesaikan sebuah proses. Gambar 2 menjelaskan aplikasi pencarian jalur terpendek antar kota menggunakan algoritma semut (Ant Colony) dalam model use-case diagram :

Gambar 2. Use Case Diagram Aplikasi Implementasi

dan Simulasi Algoritma Kumpulan Semut untuk Pengendara.

3.1.2 Class Diagram

Class adalah sebuah spesifikasi yang jika

diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain. Selama proses desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat.

Gambar 3. Class Diagram Aplikasi Implementasi dan

simulasi algoritma kumpulan semut (ant colony) untuk pengendara

(3)

242 3.1.3 Activity Diagram

Activity diagram menggambarkan berbagai

aliran aktivitas dalam system yang sedang di rancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi. Berikut ini adalah Activity

Diagram dari aplikasi pencarian jalur terpendek

menggunakan algoritma semut. 3.1.4 Algoritma Ant Colony

Begin

Initialize Pheromone matrix Read and initialize distance matrix

i := 1 (number of ants completed their tours) Do while I < MaxIteration

If current node is node last node, choose next feasible node on the basis of pheromone density, at equal situation, choose it randomly.

Increase the amount of pheromone on chosen arc by α.

If current node is the last node, the ant’s tour is finished, evaporate pheromone on every arc by β percent.

I := I + 1

Analyze the pheromone matrix to identifity the shortes path

End

3.2 Perancangan Antar Muka

Rancangan antar muka dari Aplikasi terdiri dari satu menu utama yang terdiri dari header, Input Alamat Asal, Input Alamat Tujuan, Start, Close, dan gambar graph nama kota yang selain sebagai

masukan, juga digunakan untuk menampilkan hasil keluaran. Perangkat lunak memberikan instruksi-instruksi kepada perangkat keras untuk melakukan suatu tugas tertentu. Perangkat keras komputer yang digunakan adalah perangkat keras yang dapat mendukung perangkat lunak yang memiliki kemampuan atau tampilan grafis yang cukup baik. 3.3 Pengkodean dan Antar Muka

Pada bagian ini akan dijelaskan potongan-potongan dari kode sumber (source code) aplikasi implementasi dan simulasi pencarian jalur terpendek. Kode sumber untuk aplikasi implementasi dan simulasi pencarian jalur terpendek tersebut dikembangkan dengan menggunakan bahasa pemrograman Java versi Java 2 Standard Edition (J2SE).

3.3.1 HaryAnt.java

File ini berisi kode program HaryAnt sebagai

Superclass untuk penggambaran tampilan aplikasi. :

public class HaryAnt extends Jframe { private String Asal[] = {"","Cengkareng","Duri Kosambi","Green Garden","Kedoya","Jalan Panjang","Keb.Jeruk","Puri Indah", "Kembangan","Mercu Buana","Joglo"};

private String Tujuan[] = {"","Cengkareng","Duri Kosambi","Green Garden","Kedoya","Jalan Panjang","Keb.Jeruk","Puri Indah", "Kembangan", "Mercu Buana", "Joglo"}; public HaryAnt() {

super("Implementasi dan Simulasi Pencarian Jalur Terpendek dengan Algoritma Semut ( Ant Colony )");

JMenuBar menubar = new JMenuBar();

Gambar 4. Activity Diagram Aplikasi Implementasi dan Simulasi Algoritma Kumpulan Semut untuk

(4)

243 Keterangan kode program 4.2 :

a. Class HaryAnt menggunakan klausa extend yang mengidentifikasi bahwa class tersebut merupakan super kelas dari kelas itu sendiri.

b. Private string asal digunakan untuk pendeklarasian kota-kota asal yang bertipe string.

c. Private string tujuan digunakan untuk pendeklarasian kota-kota tujuan yang bertipe string.

3.3.2 HaryAntTest.java public class Hary extends Jpanel { protected Point2D[] mPoints; protected Point2D mSelectedPoint; public Hary() {

protected Point2D mSelectedPoint; public Hary() {

mPoints = new Point2D[13]; // Cubic curve.

mPoints[0] = new Point2D.Double(20, 150);//Cengkareng

mPoints[1] = new Point2D.Double(200, 50);//Green Garden

mPoints[2] = new Point2D.Double(400, 30);//Jalan panjang

mPoints[3] = new Point2D.Double(600, 40);//pos Pengumben

mPoints[4] = new Point2D.Double(700, 90);//Joglo mPoints[5] = new Point2D.Double(500,

120);//Keb.Jeruk

mPoints[6] = new Point2D.Double(80, 250);//Duri Kosambi

mPoints[7] = new Point2D.Double(400, 200);//Puri Indah

mPoints[8] = new Point2D.Double(600, 150);//kembangan

mPoints[9] = new Point2D.Double(650, 125);//Mercu Buana

mPoints[10] = new Point2D.Double(850, 140);//Ciledug

mPoints[11] = new Point2D.Double(350, 150);//Pasar Puri

mPoints[12] = new Point2D.Double(300, 50);//kedoya }

public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g.create(); g2.setColor(Color.GREEN);

Keterangan kode program 4.3 :

a. Program diatas digunakan untuk membuat titik-titik/ node-node pada tampilan program untuk pendefinisian tata letak kota.

b. Public void paintComponent (Graphics g) digunakan untuk menset warna titik/ node.

3.4 Pengujian Sistem 3.4.1 Pengujian Black Box

Pada pengujian ini diterapkan Metode Black Box yaitu pengujian untuk menemukan kesalahan dalam lingkup kategori sebagai berikut :

(1) fungsi-fungsi yang tidak benar atau hilang,

(2) kesalahan antarmuka,

(3) kesalahan dalam struktur data atau akses basis data, dan

(4) kesalahan kinerja (Pressman, 2002:551).

Pengujian dilakukan dengan menjalankan aplikasi implementasi dan simulasi pencarian jalur terpendek dengan menggunakan algoritm semut (Ant Colony) terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendela-jendela dari aplikasi tersebut apakah sesuai dengan yang diharapkan.

Setelah dilakukan pengujian, tombol-tombol yang terdapat pada jendela utama program, tombo-tombol dapat berfungsi seperti yang telah diharapkan. Dan setelah dilakukan pengujian secara menyeluruh maka didapatkan keterbatasan yaitu :

1. Aplikasi hanya menampilkan jarak terpendek hanya berdasarkan jarak terpendek.

2. Aplikasi pencarian jalur terpendek ini dapat dijalankan pada system operasi windows dan linux.

3.4.2 Pengujian White Box

Pengujian White Box merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case [3]. Pengujian white box berfokus pada struktur control program. Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak.

Dengan menggunakan metode pengujian White

Box maka analisis sistem aplikasi akan memperoleh test case sebagai berikut:

1. Menjamin seluruh independent path didalam modul akan dikerjakan sekurang-kurangnya satu kali.

2. Mengerjakan seluruh keputusan logikal.

3. Mengerjakan seluruh loop yang sesuai dengan batasannya.

Diagram alir dan flow graf untuk menu pencarian jalur terpendek di gambarkan pada Gambar 6. Kompleksitas siklomatis V(G) berdasarkan jumlah

node dan edge yang terdapat pada gambar 5 didapat

V(G) = 13 edge – 7 node + 2 = 8. Artinya terdapat 8 jalur eksekusi yang dilewati paling tidak satu kali selama pengujian.

Dari pengujian menggunakan white box maka didapatkan analisis hasil pengujian sebagai berikut: 1. Proses setiap menu berjalan dengan baik.

2. Tombol-tombol menu dapat digunakan sesuai dengan fungsinya.

3. Pengendara dapat melihat setiap menu yang ditampilkan dengan baik.

4. Berdasarkan pengujian white box terdapat kesesuaian antara diagram alir dan kompleksitas siklomatik.

(5)

244

Gambar 6. Diagram alir pencarian jalur terpendek Secara fungsionalitas program tidak ditemukan

kesalahan dan sudah sesuai dengan proses yang ada pada sistem.

IV. KESIMPULAN

1. Pada tahap pengujian simulasi pencarian jalur terpendek menggunakan algoritma semut (Ant Colony) ini dapat digunakan seperti yang diharapkan.

2. Pada tahap pengujian menunjukkan bahwa simulasi pencarian jalur terpendek menggunakan algoritma semut (Ant Colony) ini secara fungsional bekerja dengan baik sesuai kebutuhan yang telah didefinisikan pada tahap analisis sampai perancangan. Metode pengujian yang digunakan oleh penulis adalah metode black box dan White Box.

3. Aplikasi ini diharapkan dapat membantu pengendara, khususnya bagi pengguna jalan sekitar Jakarta Barat untuk mempercepat dalam pemilihan jalur.

DAFTAR PUSTAKA

[1] Dharwiyanti, Sri dan Wahono, Romi Satria.

Pengantar Unified Modeling Language (UML). http://www.ilmukomputer.com, 2003.

[2] Haryanto, Bambang. Esensi-esensi Bahasa

Pemograman Java. Bandung : Informatika,

2005.

[3] Juwaeni, Ahmad. Unified Modeling Language (UML). http://www.enciety.com , 2009.

[4] Darigo M.,Gi. Dcaro. “The ant colony

optimization meta-heuristic”. New York :

Gambar

Gambar 3.  Class Diagram Aplikasi Implementasi dan  simulasi algoritma kumpulan semut (ant colony)
Gambar 4. Activity Diagram Aplikasi Implementasi dan Simulasi Algoritma Kumpulan Semut untuk  Pengendara
Gambar 6.  Diagram alir pencarian jalur terpendek  Secara  fungsionalitas  program  tidak  ditemukan

Referensi

Dokumen terkait

bahwa sesuai Ketentuan Pasal 41 ayat (5) Peraturan Menteri Dalam Negeri Nomor 13 Tahun 2006 tentang Pedoman Pengelolaan Keuangan Daerah sebagaimana telah diubah

Konflik kadang-kadang diperlukan dalam suatu kelompok atau organisasi sosial. Adanya pertentangan dalam suatu kelompok atau organisasi sosial merupakan hal

Puji dan syukur dipanjatkan kepada Tuhan Yang Maha Esa karena atas berkat dan penyertaan-Nya penulis dapat menyelesaikan skripsi yang berjudul “PEMBELAJARAN AKSARA

b) Pembentukan ikatan peptida : molekul rRNA dari subunit ribosom besar, berfungsi sebagai ribozim, mengkatalis pembentukan ikatan peptide

Dalam keadaan pasar modal yang efisien akan terjadi hubungan positif antara risiko dan tingkat keuntungan yang diharapkan, keputusan tentang investasi yang akan

Berdasarkan bentuk-bentuk kritik sosial yang telah dikemukan oleh Soekanto tersebut, maka masalah sosial yang terdapat dalam kumpulan puisi Malu (Aku) Jadi Orang

Melalui upaya dakwah bilisan hal pembinaan dan penyuluhan masyarakat desa melalui program Desa binaan keluarga sakinah (DBKS) kemudian dapat menfokuskan diri pada

Zoning dilakukan dengan cara melakukan survei lapangan secara langsung untuk melihat kondisi pembuangan lumpur Lapindo di Sungai Porong. Setelah dilakukan