BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Setelah melakukan analisis dan perancangan terhadap pengembangan aplikasi 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 aplikasi.
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
2.
e. VGA
: Internal motherboard.
f. Monitor
: GTC 17 inchi
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 aplikasi 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) aplikasi pencarian rute terdekat. Kode sumber untuk program aplikasi 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
Command("Search",
final
Command
Command.ITEM,
CMD_SEARCH 1);
=
Program
new 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 aplikasi
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 telah 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 aplikasi 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 setelah program aplikasi 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 aplikasi jalur terpendek
Pada kolom lokasi asal dan lokasi tujuan telah 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 aplikasi siap dijalankan dengan menekan tombol “search”
Gambar 4.4 Tampilan pilihan list lokasi tujuan
Langkah kedua : Melakukan Proses Penentuan Rute Terdekat Setelah memilih lokasi asal dan lokasi tujuan dan program aplikasi siap dijalankan, maka proses selanjutnya adalah penentuan rute terdekat untuk menuju lokasi tujuan tersebut. Langkah yang dilakukan adalah dengan cara menekan menu/tombol search. Setelah menu/tombol search ditekan maka program aplikasi 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
Setelah proses loading selesai, maka aplikasi akan menampilkan hasil proses pencarian rute terdekat.
4.3.1.4 Jendela Hasil
Gambar 4.6 Tampilan hasil proses Setelah 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 aplikasi 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 aplikasi tersebut apakah sesuai dengan yang diharapkan. Tabel 4.1 Pengujian Black Box No. Antarmuka Bagian dari yang diuji
antarmuka
Status
Skenario
Hasil yang
aplikasi
pengujian
diharapkan
yang diuji 1.
Jendela
Tombol
Aplikasi
Klik untuk
aplikasi akan
aplikasi
untuk
belum
memulai
dimulai.
memulai
dimulai
aplikasi
aplikasi
aplikasi
Posisi akan
telah
menekan
berjalan sesuai
dimulai
tombol arah
arah yang ditekan.
aplikasi
aplikasi
Posisi akan
telah
menekan
berjalan ke arah
dimulai
tombol arah
kiri.
aplikasi 2.
Jendela
-
aplikasi
3.
Jendela
-
aplikasi
kiri 4.
Jendela
-
aplikasi
aplikasi
aplikasi
Posisi akan
telah
menekan
berjalan ke arah
dimulai
tombol arah
kanan.
kanan 5.
Jendela
-
aplikasi
aplikasi
aplikasi
Posisi akan
telah
menekan
berjalan ke arah
dimulai
tombol arah
atas.
atas 6.
Jendela
-
aplikasi
aplikasi
aplikasi
Posisi akan
telah
menekan
berjalan ke arah
dimulai
tombol arah
bawah.
bawah 8.
Jendela
-
aplikasi
Memilih
Menampilkan
Lanjutan... aplikasi
telah
alamat
asal alamat asal yang
dimulai
sesuai
yang terdapat pada list
terdapat pada alamat asal. list
alamat
asal 9.
Jendela
-
aplikasi
aplikasi
Memilih
Menampilkan
telah
alamat tujuan
alamat
dimulai
sesuai yang
yang
terdpat pada
pada list alamat
list alamat
tujuan.
tujuan terdapat
tujuan. 10.
Jendela
-
aplikasi
aplikasi
Menekan
Menuju
telah
tombol search
loading pencarian
dimulai 11.
Jendela
-
aplikasi
proses
rute terdekat
Aplikasi
Pengguna
Keluar dari
telah
menekan
Aplkasi.
dimulai
tombol Exit
4.4.1.1 Analisis Hasil Pengujian Black Box Setelah 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 telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah 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 aplikasi 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 telah 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.