40
BAB IV
IMPLEMENTASI DAN PENGUJIAN
Berdasarkan perancangan dan desain yang dilakukan pada tahap sebelumnya. Berikut ini adalah pengimplementasian sistem aplikasi pencarian menggunakan metode Random Controlled Search. Tahap Implementasi membutuhkan proses dan waktu yang paling lama dibanding tahap – tahap lainnya. Hal ini disebabkan dibutuhkan banyak penyesuaian kondisi antar pemrograman Java, pemrograman grafis Android kemudian penyesuaian terhadap Class – Class warisan Android beserta metode - metodenya yang terakhir penyesuaian terhadap beragam Application Program Interface (API) Android. Di samping kesulitan di atas, kebutuhan terhadap tampilan antarmuka pengguna (User Interface) yang sederhana, intuitif sekaligus menarik juga merupakan tantangan tersendiri yang membutuhkan kreativitas penulis.
Aplikasi ini dibangun dengan menggunakan environment Eclipse (Eclipse Java EE IDE for Web Developers). Eclipse merupakan IDE yang handal untuk berbagai pemrograman Java based untuk berbagai macam perangkat. Eclipse menyediakan berbagai Virtual Device sehingga pengembang aplikasi dapat menguji aplikasi layaknya pada perangkat aslinya.
Selanjutnya akan dijelaskan tampilan aplikasi yang telah dibuat.
4.1. Implementasi 4.1.1. Splash Screen
Splash Screen merupakan tampilan pembuka dari sebuah aplikasi, tujuannya untuk meberikan notifikasi terhadap pengguna bahwa aplikasi baru saja dipanggil, sehingga bila aplikasi dipanggil secara tidak sengaja user akan paham dan bisa memilih untuk keluar. Tujuan lain splash screen yang lebih penting adalah untuk melakukan loading parameter – parameter dan sumber daya yang dibutuhkan aplikasi.
Pada aplikasi ini splash screen hanya berfungsi sebagai penyapa user dan memberikan keterangan singkat tentang aplikasi Pencarian CRS. Splash screen akan ditampilkan selama 5 detik.
41
GAMBAR 16 – TAMPILAN SPLASH SCREEN
4.1.2. Menu Utama
Setelah Splash Screen selesai ditampilkan, maka Menu Utama akan ditampilkan secara otomatis. Pada menu utama terdapat tampilan judul aplikasi dan beberapa tombol sebagai berikut :
Pencarian : Untuk menuju menu Pencarian
Simulasi : Untuk menuju menu Simulasi
Petunjuk : Untuk menuju menu Petunjuk
Keluar : Keluar dari aplikasi
42
GAMBAR 17 – TAMPILAN MENU UTAMA
4.1.3. Menu Pencarian
Menu Pencarian dipanggil dari menu utama, menu ini adalah esensi dari aplikasi ini. Berikut adalah tampilan dari Menu Pencarian :
GAMBAR 18 – TAMPILAN MENU PENCARIAN
43
Pada menu pencarian terdapat beberapa objek sebagai berikut :
InputBox Keyword : Untuk memasukan kata kunci (keyword) pencarian
Tombol Cari : Untuk melakukan pencarian data kontak
TextView detik : Untuk mengetahui lamanya pencarian data
TextView iterasi : Untuk mengetahui berapa banyak iterasi dilakukan
Tombol Keluar : Untuk keluar dari Aplikasi
InputBox N data : Untuk menentukan banyaknya N data pada subset
TextView Hasil : Untuk menampilkan hasil pencarian
Tombol Menu utama : Kembali ke Menu Utama
4.1.4. Menu Simulasi
Menu Simulasi dipanggil dari menu utama, menu ini adalah inti dari algoritma Controlled Random Search yang digunakan pada saat pencarian data. Tujuan dibuatnya menu ini adalah untuk membantu user untuk memahami bagaimana proses – proses pada algoritma CRS bekerja, proses – proses ini meliputu :
Pengambilan Populasi data
Pembagian Subset sejumlah N data
Pemilihan Subset secara Acak
Pemilihan Data pada Random Subset secara Acak
44
GAMBAR 19 – TAMPILAN MENU SIMULASI
4.1.5. Menu Petunjuk
Menu Petunjuk dipanggil dari menu utama, menu ini bertujuan untuk memberikan informasi detail pada pengguna tentang penggunaan aplikasi Pencarian CRS. Setelah pengguna selesai dengan menu petunjuk, pengguna dapat kembali ke Menu Utama kembali.
45
GAMBAR 20 – TAMPILAN MENU PETUNJUK
4.1.6. Menu Pencarian
Pencarian data kontak merupakan jenis pencarian yang hasilnya bisa berupa pencarian yang hasilnya berhasil ditemukan, atau pencarian yang tidak berhasil menemukan data sesuai kriteria.
Untuk kedua jenis hasil pencarian akan diberikan tampilan yang berbeda. Berikut ini adalah tampilan hasil pencarian yang berhasil :
46
GAMBAR 21 – TAMPILAN HASIL PENCARIAN BERHASIL
l
Pada suatu pencarian yang berhasil menemukan hasil ada beberapa variable yang akan ditampilkan dan berbeda dibandingkan dengan pencarian yang tidak menemukan hasil, yaitu :
Indeks penemuan data
Jumlah data diproses
Jumlah subset diproses
Sementara itu untuk pencarian yang tidak menemukan hasil maka tampilan menu pencarian akan memberikan tampilan sebagai berikut :
47 4.1.7. Melakukan Simulasi
Menu Simulasi ditujukan untuk mempelajari proses pencarian data pada skenario kondisi terburuk (worst case scenario) , disamping itu juga untuk memberikan gambaran keandalan aplikasi dan algoritma bila menangani pencarian data kontak dengan jumlah yang besar (ratusan / ribuan).
Menu Simulasi juga merupakan salah satu metode pengujian aplikasi pencarian ini. Dengan Menu simulasi kita dapat mendapatkan hasil pengujian aplikasi dengan berbagai macam konfigurasi parameter Jumlah Data, Jumlah Subset, Jumlah Data per Subset yang berbeda – beda.
48
GAMBAR 22 – TAMPILAN MENU SIMULASI
4.2. Pengujian
4.2.1. Pengujian Black Box
Pengujian dilakukan untuk memastikan respons atas suatu event atau masukan akan menjalankan proses yang tepat dan menghasilkan output dengan hasil sebagai berikut :
49
TABEL 6 – PENGUJIAN BLACK BOX
Item Input / event Output / Next
State Hasil Uji
Menu
Utama Klik tombol Menu Pencarian
Menampilkan halaman Menu Pencarian
Sesuai
Klik tombol Menu Simulasi
Menampilkan halaman Menu Simulasi
Sesuai
Klik tombol Menu Petunjuk
Menampilkan halaman Menu Petunjuk
Sesuai
Klik tombol Menu Keluar Menutup atau mengakhiri aplikasi
Sesuai
Menu Pencarian
Memasukan keyword pencarian Keyword pencarian diterima
Sesuai
Memasukan input Jumlah Subset Harga N data subset diterima
Sesuai
Klik tombol Cari Menampilkan hasil
pencarian
Sesuai
Klik tombol Keluar Menutup atau
mengakhiri aplikasi
Sesuai
Klik tombol Menu Utama Kembali ke Menu Utama
Sesuai
Menu Simulasi
Memasukan Jumlah Data Harga Jumlah data diterima
Sesuai
Memasukan input Jumlah Subset Harga N data subset diterima
Sesuai
Klik tombol Cari Menampilkan hasil
pencarian
Sesuai
Klik tombol Keluar Kembali ke Menu
Utama
Sesuai
Menu Petunjuk
Klik tombol Menu Utama Kembali ke Menu Utama
Sesuai
4.2.2. Spesifikasi Perangkat Pengujian Aplikasi
Untuk mendapatkan hasil pengujian yang komprehensif, pengujian dilakukan pada beberapa perangkat Android. Berikut gambaran spesifikasi perangkat yang digunakan untuk pengujian Aplikasi :
50
TABEL 7 – SPESIFIKASI PERANGKAT PENGUJIAN
Android Device RAM Versi OS CPU Merk
AVD (Eclipse) 256 MB 2.3.3 ARM 300
Mhz Virtual Device Blade N880 512 MB 2.2.2 ARM 600
MHz ZTE
SPH D700 1 GB 2.3.3 ARM 1 GHz Samsung
Galaxy Y 180 MB 2.3.3 ARM 830
MHz Samsung
4.2.3. Eksperimen Unjuk Kerja Pencarian Aplikasi Standar dan Pencarian Aplikasi CRS
Aplikasi pencarian standar Android memiliki algortitma tersendiri dan perbedaan mode operasi dibandingkan dengan aplikasi Pencarian CRS ini. Ada beberapa perbedaan mendasar antara kedua aplikasi ini, pertama, aplikasi pencarian standar akan mulai bekerja segera setelah karakter pertama diketikkan sementara aplikasi pencarian CRS akan mulai bekerja segera setelah tombol cari ditap. Dari sisi algoritma aplikasi pencarian CRS dirancang untuk mencari satu nilai yang benar sementara aplikasi pencarian standar dirancang untuk memberikan semua kemungkinan nilai benar dari seluruh populasi.
GAMBAR 23 – MODE APLIKASI PENCARIAN STANDAR
51
Karena itu perbandingan yang mungkin dilakukan antara aplikasi pencarian standar dengan aplikasi pencarian CRS adalah dari berapa lama wantu yang dibutuhkan untuk mencari data yang ada pada kontak.
TABEL 8 – PERBANDINGAN WAKTU PENCARIAN STANDAR DAN CRS
Jumlah
Data Standar
CRS CRS CRS
Catatan Terbaik Average Terburuk
35 1 1 1 1 CRS 10 kali
60 1 1 1 1
75 1 1 1 1
90 1 1 1 1
110 1 1 1 1
130 1 1 1 1
155 1 1 1 1
175 1 1 1 1
200 1 1 1 1
230 1 1 1 2
275 1 1 1 2
290 1 1 1 2
300 1 1 1 2
310 1 1 1 2
340 1 1 2 2
370 1 1 2 2
400 1 1 2 2
Hasil eksperimen menunjukan untuk jumlah data <= 400, dengan jumlah percobaan 10 kali pada tiga perangkat Smartphone android dan satu Virtual Device, didapatkan hasil pengukuran yang kurang lebih mendekati waktu yang dibutuhkan oleh hasil pencarian standard. Hasil pengukuran aplikasi terburuk dicatatkan oleh perangkat Virtual Device dan ZTE Blade N880.
4.2.4. Eksperimen Cost Iterasi Algoritma CRS dan Algoritma Serial Satu hal yang menjadi ciri Algoritma CRS adalah harga iterasi/ trial.
Pada versi algoritma asli penentuan kriteria berhentinya proses pencarian tidak ditentukan, hal ini karena semesta populasi data pada persamaan matematika bisa sangat besar jumlahnya bahkan mungkin tidak terbatas. Pada suatu pencarian data
52
kontak tentu saja salah satu kriteria berhentinya pencarian adalah bila data ditemukan.
Berikut harga iterasi hasil test pada aplikasi pencarian CRS dibandingakan dengan jumlah iterasi pada pencarian dengan algoritma serial untuk data yang ditemukan, data yang dicari adalah data dengan indeks terakhir.
TABEL 9 – PERBANDINGAN COST ITERASI ALGORITMA SERIAL DAN CRS
Jumlah Data = Indeks Data
Yang Dicari Serial
CRS CRS CRS
Catatan Terbaik Average Terburuk
35 35 13 37 101 CRS 10 kali
60 60 23 55 132
75 75 4 80 122
90 90 23 88 243
110 110 11 115 201
130 130 12 90 178
155 155 3 163 231
175 175 23 176 198
200 200 15 134 223
230 230 23 167 304
275 275 60 298 498
290 290 34 259 410
300 300 3 206 326
310 310 25 389 501
340 340 34 205 351
370 370 44 398 674
400 400 79 462 640
Hasil eksperimen dengan berbagai kombinasi indeks data terakhr, dengan jumlah percobaan 10 kali pada tiga perangkat Smartphone android dan satu Virtual Device, didapatkan hasil pengukuran sebagai berikut :
Cost Iterasi CRS Terbaik selalu lebih baik dibanding Cost Iterasi Serial.
Nilai perbaikan bervariasi antara 40% sampai dengan 99%.
Cost Iterasi CRS Terburuk selalu lebih buruk dibanding Cost Iterasi Serial. Nilai penurunan bervariasi antara 110% sampai dengan 290%, atau hampir menjadi 3 kali lebih buruk.
53
Hasil perbandingan Cost Iterasi CRS Average dan Cost Iterasi Serial didapatkan hasil 53% membaik, dan 47% menjadi lebih buruk. Nilai ini dihitung berdasarkan berapa kali hasil membaik dan memburuk muncul dan bukan pada kualitas perbaikan dan penurunannya.
4.2.5. Eksperimen Algoritma CRS Pada Worst Case Scenario Kondisi Terburuk
Pengujian performansi dilakukan untuk menguji keandalan controlled random search untuk mencari data dengan jumlah tertentu dengan setting jumlah subset atau jumlah data dalam subset yang berbeda beda. Pada aplikasi ini algoritma CRS digunakan untuk mencari data kontak pada smartphone android. Umumnya jumlah kontak hanya sedikit kurang lebih 200 kontak. Dengan menggunakan menu simulasi kita dapat mengetahui keandalan algoritma CRS pada kondisi terburuk dengan jumlah data yang lebih banyak maupun lebih sedikit.
Berikut hasil pengujian yang dilakukan :
TABEL 10 – HASIL PENGUJIAN WORST CASE
Jumlah Data
Jumlah Subset
Data Per Subset
Rata Detik
Rata Iterasi
Jumlah
Percobaan Catatan
35 4 10 0 103 5
75 8 10 0 168 5
150 15 10 0 522 5
230 23 10 0 768 5
450 45 10 1 1595 5
750 75 10 2 2574 5 X
1000 100 10 3 3666 5 X
1500 150 10 5 5208 5 X
2000 200 10 9 7032 5 X
750 25 30 2 3102 5 Y
1000 29 35 3 4293 5 Y
1500 41 37 5 6186 5 Y
2000 47 43 10 8905 5 Y
750 8 100 2 3388 5 Z
1000 10 100 4 5225 5 Z
1500 15 100 7 8306 5 Z
2000 20 100 13 11200 5 Z
54
Dari hasil pengujian dapat disimpulkan bahwa “Aplikasi Pencarian Dengan Controlled Random Search” untuk pengujian blackbox yang meliputi uji input proses dan output dengan acuan rancangan perangkat lunak telah terpenuhi dengan hasil sesuai dengan rancang.
Di samping itu pengujian Worst Case Scenario (Kondisi Terburuk) terhadap algoritma Controlled Random Search menunjukan bahwa algoritma ini bukanlah pilihan terbaik untuk diterapkan untuk jenis pencarian yang memiliki kemungkinan gagal. Algoritma ini sangat cocok untuk diterapkan untuk pencarian yang hanya memiliki kemungkinan berhasil dan pencarian hanya ditujukan untuk meningkatkan kualitas hasil pencarian yang paling optimum.
4.3. Distribusi dan Instalasi Pada Perangkat Android
Aplikasi Pencarian dengan Controlled Random Search didistibusikan dengan cara mengkopi file berekstensi .apk hasil kompilasi Eclipse. Selanjutnya file ini ditempatkan pada perangkat android untuk diintal.
Karena aplikasi ini tidak diambil dari Android Market (Google Play Store), maka untuk menginstal aplikasi ini pada perangkat android, Application Settings Unknown sources perlu di allow terlebih dahulu.
GAMBAR 24 – SETTING UNKNOWN SOURCE