BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Se melakukan analisis dan perancangan terhadap pengembangan pencarian rute terdekat antar kecamatan kota Tangerang, tahapan selanjutnya adalah implementasi dan pengujian. Pada subbab berikut akan dijelaskan implementasi dan simulasi pencarian jalur terpendek yang dikembangkan penulis dengan menggunakan bahasa pemrograman Java 2 Micro Edition (J2ME) yang terdiri dari lingkungan implementasi, pengkodean dan antarmuka, serta hal-hal yang berhubungan dengan pengujian. 4.1 Lingkungan Implementasi 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. Aplikasi pencarian rute terdekat dibangun dan diimplementasikan pada emulator J2ME dan telepon genggam : 1. Perangkat Keras yang digunakan : a. Procesor : Intel (R) pentium (R) D CPU 2.80 GHz (2 CPUs) b. Motherboard : Asus P5GC-MX SERIES c. Memori : 1 GB d. Hardisk : 1 GB
e. VGA : Internal motherboard. f. Monitor : GTC 17 inchi 2. Perangkat Lunak yang digunakan : a. Sun Microsystem Java 2 Standard Edition SDK (J2SDK 1.6) JDK (1.5.0.07) b. Java Development Kit (JDK) 1.5.0.07 dan Java Runtime Environment 1.5.0.07 (java virtua machine) c. Kakas pemrograman menggunakan Notepad++ d. Windows XP Professional (5.1, Build 2600) Service Pack 2 e. Java 2 Micro Edition Sun Java (TM) Wireless Toolkit 2.5.2 sebagai emulator atau simulasi untuk menjalankan pencarian rute/jalur terdekat. 3. Telepon Genggam (hardware) : a. Merk LG b. Type KG 200 (resolusi layar 128x160) 4.2 Pengkodean Pada subbab ini penulis akan menjelaskan potongan-potongan dari kode sumber (source code) pencarian rute terdekat. Kode sumber untuk program pencarian rute terdekat tersebut dikembangkan dengan menggunakan bahasa pemrograman Java 2 Micro Edition (J2ME), tampilan source code programnya sebagai berikut: 4.2.1 Ant.java
Class ini menjadi class utama (super kelas) dalam menciptakan keluaran berupa tampilan pilihan menu pada jendela menu utama. Pada saat di eksekusi, class ini merupakan class yang akan mengendalikan setiap aksi dari jendela utama. Potongan kode program 4.1 pada file Ant.java adalah sebagai berikut : public class Ant extends MIDlet implements CommandListener, ItemCommandListener, ItemStateListener { private static final Command CMD_EXIT = new Command("Exit", Command.EXIT, 1); private static final Command CMD_BACK = new Command("Back", Command.BACK, 1); private static final Command CMD_ONCHANGE = new Command("onChange", Command.ITEM, 1); private static final Command CMD_SEARCH = new Command("Search", Command.ITEM, 1); private Display display; private Form mainform, loadingform, resultform; private ChoiceGroup lokasiasal, lokasitujuan; public StringItem SIAsal, SITujuan, buttonsearch, SIResultJarak, SIResultWaktu, SIResultKeterangan; private NonInteractiveGaugeRunnable loading; Keterangan kode program 4.1 : a. private static final Command CMD_EXIT = new Command("Exit", Command.EXIT, 1); Program di atas digunakan untuk memberikan perintah keluar pada tombol Exit. b. private static final Command CMD_BACK = new Command("Back", Command.BACK, 1); Program di atas digunakan untuk memberikan perintah kembali pada tombol Back. c. private static final Command CMD_SEARCH = new Command("Search", Command.ITEM, 1); Program diatas digunakan untuk memberikan perintah proses searching pada tombol Search. Potongan kode program 4.2 pada file Ant.java adalah sebagai berikut :
//tambah komponen2 ke mainform (instance of Form class) mainform = new Form("Ant Colony Algorithm"); mainform.append(new StringItem("Lokasi Dan Tujuan","")); mainform.append("\n"); mainform.append("lokasi Asal"); mainform.append(lokasiasal); mainform.append(siasal); mainform.append("\n"); mainform.append("lokasi Tujuan"); mainform.append(lokasitujuan); mainform.append(situjuan); mainform.append("\n"); mainform.append(buttonsearch); Keterangan kode program 4.2 : Potongan program diatas digunakan untuk menambahkan komponen-komponen yang bertipe data string pada form utama (instance of form class). Potongan kode program 4.3 pada file Ant.java adalah sebagai berikut : // Pengisian Parameter dengan baca file.txt public void readtextfile(string namafile) { Keterangan kode program 4.3 : Potongan program diatas digunakan untuk pengisian yang dilakukan dengan membaca file.txt, dimana file.txt tersebut sudah berisi parameter-parameter dan tinggal memanggilnya.
Potongan kode program 4.4 pada file Ant.java adalah sebagai berikut : // ketika tombol/menu SEARCH ditekan public void commandaction(command c, Item item) { String label = c.getlabel(); if (label == "Search") { loading.setcurrvalue(0); display.setcurrent(loadingform);// maka masuk ke form tampilan loading } } Keterangan kode program 4.4 : Potongan program diatas berfungsi untuk, ketika tombol/menu SEARCH ditekan akan berganti tampilan dengan tampilan loading. 4.2.2 AntAlgorithm.java Ant Algorithm class yang berfungsi untuk keperluan algoritma semut yang digunakan pada Ant class sebagai main class. Potongan kode program 4.5 pada file AntAlgorithm.java adalah sebagai berikut : public class AntAlgorithm { private double Tij; private double Q; private double alfa; private double beta; private String kotaasal; private String kotatujuan; private String[] namakota = new String[100]; private double[][] distance = new double[100][100]; private double[][] prob = new double[100][100]; private String path; private double shortestdist; private int citycount; private String status = "failed"; Keterangan kode program 4.5 : Potongan program diatas berfungsi untuk mendeklarasikan parameter-parameter yang diperlukan dalam perhitungan algoritma semut (ant algorithm).
4.3 Implementasi Program Penentuan Rute Terdekat Menggunakan Algoritma Semut (Ant Algorithm) Aplikasi penentuan rute terdekat menggunakan algoritma semut (Ant Algorithm) untuk pengguna/pengendara cara kerjanya sebagai berikut : 4.3.1 Tampilan Antarmuka Pada subbab berikut akan dijelaskan implementasi antarmuka pencarian rute terdekat antar kecamatan kota Tangerang menggunakan algoritma semut dengan menggunakan emulator J2ME. 4.3.1.1 Jendela Inisialisasi Ketika user akan menjalankan program penentuan rute terdekat yang dibangun, yang pertama kali ditampilkan kepada user adalah jendela inisialisasi. Pada jendela tersebut user dapat memulai penentuan jalur terpendek untuk menuju suatu tempat, dengan terlebih dahulu menekan tombol bertuliskan Launch seperti pada gambar berikut Gambar 4.1 Jendela inisialisasi
Langkah Pertama : Penentuan Lokasi Asal dan Lokasi Tujuan Program penentuan rute terdekat ini tujuannya yaitu memberikan alternatif pada pengendara untuk menentukan berapa lama jarak dan waktu yang diperlukan si pengendara untuk menempuh lokasi tujuan atau rute mana saja yang akan dilalui untuk menuju suatu tempat (kota) dengan jarak yang terpendek. Maka langkah selanjutnya yaitu se program dijalankan dan siap digunakan dengan cara memilih lokasi asal dan lokasi tujuan. 4.3.1.2 Jendela Pemilihan Lokasi Asal dan Tujuan Gambar 4.2 Tampilan jalur terpendek Pada kolom lokasi asal dan lokasi tujuan dirancang menggunakan list pilihan sehingga pengguna atau pengendara tinggal pilih dengan cara klik kolom lokasi asal dan lokasi tujuan.
Gambar 4.3 Tampilan pilihan list lokasi asal Misalkan, jika si pengendara berasal dari kota Ciledug dan ingin ke tempat tujuan ke kota Jatiuwung, maka siap dijalankan dengan menekan tombol search Gambar 4.4 Tampilan pilihan list lokasi tujuan
Langkah kedua : Melakukan Proses Penentuan Rute Terdekat Se memilih lokasi asal dan lokasi tujuan dan program siap dijalankan, maka proses selanjutnya adalah penentuan rute terdekat untuk menuju lokasi tujuan tersebut. Langkah yang dilakukan adalah dengan cara menekan menu/tombol search. Se menu/tombol search ditekan maka program akan menampilkan proses loading. Pada proses loading tersebut sedang dilakukan proses pencarian rute terdekat. 4.3.1.3 Jendela Proses Loading Gambar 4.5 Tampilan proses loading Se proses loading selesai, maka akan menampilkan hasil proses pencarian rute terdekat.
4.3.1.4 Jendela Hasil Gambar 4.6 Tampilan hasil proses Se proses loading selesai, maka secara otomatis informasi jarak, waktu dan rute terdekat dari kota ciledug ke kota jatiuwung akan ditampilkan. Sehingga mempermudah pengendara dalam mencari rute terdekat menuju lokasi tujuan tersebut. 4.4 Pengujian Sistem 4.4.1 Pengujian Black Box 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 implementasi dan simulasi pencarian jalur terpendek dengan menggunakan algoritm semut (Ant-
Algorithm) terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendela-jendela dari tersebut apakah sesuai dengan yang diharapkan. Tabel 4.1 Pengujian Black Box No. Antarmuka yang diuji Bagian dari antarmuka yang diuji Status Skenario pengujian Hasil yang diharapkan 1. Jendela Tombol untuk Aplikasi belum Klik untuk memulai akan. memulai 2. Jendela - menekan tombol arah Posisi akan berjalan sesuai arah yang ditekan. 3. Jendela - menekan tombol arah Posisi akan berjalan ke arah kiri. kiri 4. Jendela - menekan tombol arah Posisi akan berjalan ke arah kanan. kanan 5. Jendela - menekan tombol arah Posisi akan berjalan ke arah atas. atas 6. Jendela - menekan tombol arah Posisi akan berjalan ke arah bawah. bawah 8. Jendela - Memilih Menampilkan
Lanjutan... alamat asal alamat asal yang sesuai yang terdapat pada list terdapat pada alamat asal. list alamat asal 9. Jendela - Memilih Menampilkan alamat tujuan alamat tujuan sesuai yang yang terdapat terdpat pada pada list alamat list alamat tujuan. tujuan. 10. Jendela - Menekan Menuju proses tombol search loading pencarian rute terdekat 11. Jendela - Aplikasi Pengguna Keluar dari menekan Aplkasi. tombol Exit 4.4.1.1 Analisis Hasil Pengujian Black Box Se tahap pengujian maka dapat dianalisa bahwa: 1. Pemasukan Kota Asal (Star) Dan Kota Tujuan (finsh) harus diisi terlebih dahulu jika tidak sistem akan error. 2. Sistem melakukan pencarian rute terdekat berdasarkan node atau jalur yang ada dikarenakan sistem membatasi jumlah nodenya, node yang digunakan dalam sistem sebanyak 5 node atau jalur karena sudah mewakili secara keseluruhan. 3. Aplikasi pencarian jalur terpendek ini dapat dijalankan pada system operasi windows dan linux.
4.4.2 Pengujian White Box Pengujian White Box Merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Pengujian white box berfokus pada struktur kontrol program. Test case dilakukan untuk memastikan bahwa semua statemen pada program dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis diuji. Pengujian white box meliputi pengujian basic path yang pertama kali diusulkan oleh Tom McCabe, tehnik pengujian white box, dan juga menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan (http://gunadarma.ac.id/, 2009). 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 akan memperoleh test case sebagai berikut: 1. Menjamin seluruh independent path didalam modul akan dikerjakan sekurangkurangnya satu kali. 2. Mengerjakan seluruh keputusan logikal. 3. Mengerjakan seluruh loop yang sesuai dengan batasannya. 4.4.2.1 Pengujian White Box Pencarian Rute Terdekat 1. Notasi diagram alir Diagram alir dan flow graf untuk menu pencarian rute terdekat digambarkan pada Gambar 4.7.
Gambar 4.7 Diagram alir pencarian rute terdekat 2. Kompleksitas Siklomatik Kompleksitas siklomatis V(G) berdasarkan jumlah node dan edge yang terdapat pada gambar 4.7 didapat V(G) = 13 edge 7 node + 2 = 8. Artinya terdapat 8 jalur eksekusi yang dilewati paling tidak satu kali selama pengujian. Jalur pengujian dapat dilihat pada Tabel 4.2 dan matrix dapat dilihat pada gambar 4.8. Tabel 4.2 Jalur pengujian white box
Gambar 4.8 Graf matrix pada grafik alir pencarian rute terdekat. Pada gambar 4.8 dapat dijelaskan bahwa masing-masing simpul pada grafik alir diidentifikasi dengan angka 1 yang menunjukkan adanya hubungan (angka 0 dihilangkan supaya terlihat jelas hubungan masing-masing edge). Dengan demikian dapat dibuatkan aritmatika untuk kompleksitas siklomatis : V(G) = P + 1 Dimana P = jumlah predicate node pada grafik alir 1-1 = 0 4-1 = 3 2-1 = 1 2-1 = 1 2-1 = 1 2-1 = 1 7 + 1 = 8
4.4.2.2 Analisis Hasil Pengujian White Box 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. pengguna dapat melihat setiap menu yang ditampilkan dengan baik. 4. berdasarkan pengujian white box terdapat kesesuaian antara diagram alir dan kompleksitas siklomatik. Secara fungsionalitas program tidak ditemukan kesalahan dan sudah sesuai dengan proses yang ada pada sistem.