BAB IV IMPLEMENTASI DAN PENGUJIAN
Langkah selanjutnya setelah melakukan analisa dan perancangan adalah pengkodean (implementasi) dan pengujian, implementasi merupakan perancangan aplikasi yang dapat dimengerti oleh mesin dengan spesifikasi perangkat lunak dan perangkat keras yang digunakan. Tahap pengujian terfokus pada logika internal perangkat lunak yang memastikan bahwa seluruh pernyataan telah disetujui. Fungsi eksternal yaitu pengujian yang dilakukan untuk kesalahan-kesalahan dan memastikan bahwa masukan yang didefinisikan menghasilkan keluaran yang diinginkan.
4.1
Implementasi Tampilan pertama kali yang muncul ketika aplikasi dijalankan adalah
layar splash. Layar splash ini memiliki gambar latar belakang logo aplikasi Nondhi dan menampilkan pesan bahwa asplikasi sedang mencoba mendapatkan posisi perangkat bergerak. Lalu layar splash akan menghilang dan digantikan dengan layat menu utama. Menu utama aplikasi terdapat menu Top 10 yang akan menampilkan sepuluh jadwal menonton terbaik. Menu berikutnya adalah List Film yang menampilkan daftar film beserta sinopsis, rating dan daftar bioskop-bioskop yang menayangkan film tersebut. Untuk melihat daftar bioskop, terdapat menu List Bioskop yang berisi alamat bioskop, harga tiket, nomor telepon dan jadwal film yang sedang diputar.
4.1.1
Kebutuhan Sistem Sistem akan diimplementasikan pada perangkat bergerak, namun
sebelumnya dilakukan pengembangan aplikasi pada komputer dengan bantuan emulator sebagai pengganti perangkat bergerak di komputer. Spesifikasi lengkapnya sebagai berikut: 1. Kebutuhan perangkat keras :
44
45
•
Prosesor Pentium IV 3.20 GHz
•
Memori 1 GB
•
Cakram keras (Harddisk) 32 GB
•
Papan ketik (keyboard) dan tetikus (mouse)
•
Monitor dengan resolusi 1024 x 768 pixel
2. Kebutuhan perangkat lunak : •
Sistem operasi Windows 7
•
Java Development Kit 6
•
IDE Eclipse galileo
•
Android SDK Windows
•
sqliteadmin 0.8.3.2
4.1.2
Implementasi Program Implementasi dari keseluruhan sistem ini merupakan integrasi dari sistem
yang terdiri dari : 1. Modul sinkronisasi data pada perangkat bergerak, 2. Modul-modul untuk menampilkan data yang telah sinkron yaitu data film, bioskop dan jadwal tayang, 3. Modul pencarian lokasi menggunakan GPS, 4. Modul perhitungan jadwal terbaik Implementasi sistem di atas menggunakan bahasa pemrograman Java yang dikoneksikan ke dalam basis data sqlite. Untuk melakukan konversi dari data yang didapat GPS berupa latitude dan longitude ke nama lokasi, digunakan API GeoCoder yang disediakan oleh Google. Bab ini akan membahas tentang beberapa proses utama yang ada di sistem yang menjadi titik berat penulisan tugas akhir ini, antara lain : •
Progam deteksi lokasi
•
Program sinkronisasi
•
Program menampilkan data film
•
Program menentukan prioritas kriteria
•
Program menampilkan jadwal nonton terbaik
46
4.1.2.1 Program Deteksi Lokasi Program ini akan memanfaatkan fasilitas GPS pada perangkat bergerak untuk meminta data lokasi ke satelite berupa latitude dan longitude dengan timeout selama 20 detik. Setelah mendapatkan latitude dan longitude perangkat, sistem akan melakukan perhitungan jarak dalam kilometer dengan latitude dan longitude milik bioskop yang terdapat pada tabel cinema. Kemudian nilai jarak yang didapat akan melakukan update ke field distance. Jika lokasi tidak berhasil terdeteksi, maka sistem akan menampilkan dialog untuk mengulangi pendeteksian lokasi atau tidak. Jika tidak mengulangi pendeteksian ulang lokasi, maka tidak terjadi proses update data pada field distance dan akan langsung masuk ke menu utama.
Gambar 4.1 Potongan Program Deteksi Lokasi
47
Gambar 4.2 Potongan Program Konversi Lokasi ke Jarak
48
Gambar 4.3 Potongan Program Menampilkan Dialog
4.1.2.2 Program Sinkronisasi Program ini akan melakukan sinkronisasi data dengan server. Sistem pertama kali akan mengecek ketersediaan data yang baru ke server. Jika tidak ada maka tidak terjadi proses sinkronisasi. Namun jika ada, akan meminta server memberikan data untuk diproses dengan format JSON. Data ini dapat berupa data tambahan, data untuk dihapus ataupun data untuk dilakukan update. Server mengetahui
data
yang
dibutuhkan
perangkat
bergerak
dengan
membandingkan versi data perangkat bergerak dengan versi milik server.
cara
49
Gambar 4.4 Potongan Program Mengecek ketersediaan data baru
50
Gambar 4.5 Potongan Program Menambahkan Data dari Server
4.1.2.3 Program Menampilkan Data Film Program ini akan mengambil seluruh data film dari tabel film dan menampilkannya dalam bentuk list. Field yang diambil adalah film_id, film_name, film_synopsis, critics_rating, critics_score. Khusus untuk field critics_rating dan field critics_score merupakan data yang diambil oleh server dari API rottentomatoes dengan cara memanggil url berikut :
51
http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=YourApiKey& q=JudulFilm&page_limit=1. Kemudian akan mendapatkan balikan berupa data yang berformat JSON.
Gambar 4.6 Potongan Program Menampilkan list Film
4.1.2.4 Program Menentukan Prioritas Kriteria Program ini
bertujuan untuk
mengubah prioritas kriteria
untuk
penghitungan jadwal terbaik. Kriteria yang tersedia adalah jarak, rating, jam tayang dan harga tiket. Untuk membuat pilihan berupa list pada android digunakan ListPreference yang dideklarasikan pada file preference.xml. Lalu untuk menambahkan nilai pada list ini, dilakukan pada file arrays.xml.
52
Gambar 4.7 Potongan Program Menentukan Prioritas Kriteria
4.1.2.5 Program Menampilkan Jadwal Nonton Terbaik Program ini akan mengambil data pada tabel schedule, digabung dengan tabel film dan tabel cinema dan dilakukan pengurutan hasil berdasarkan kriteria penhitungan untuk menghasilkan data menonton terbaik. Nilai prioritas kriteria ini diambil dari program menentukan prioritas kriteria dengan prioritas default Jarak (urut menaik), rating (urut menurun), jam (urut menaik), dan harga tiket (urut menaik). Kemudia data akan difilter, yaitu hanya mengambil jadwal dengan jam tayang lebih dari jam sekarang dan rating film di atas nilai default, yaitu 55.
53
Gambar 4.8 Potongan Program Menampilkan Jadwal Terbaik
4.1.3 Implementasi Basis Data Implementasi ini menunjukkan cara membuat basis data dan tabel beserta fiel-field yang dibutuhkan pada aplikasi Nondhi. Basis data yang digunakan pada perangkat bergerak berbasis Android adalah sqlite yang tergolong ringan dan powerfull. Untuk memudahkan dalam mengelola basis data, penulis menggunakan aplikasi SQLite Administrator. Langkah-langkah untuk membuatnya adalah : 1. Siapkan
aplikasi
SQLite
adminsitrator
yang
dapat
diunduh
di
http://sqliteadmin.orbmu2k.de/ 2. Klik menu Database > Menu 3. Masukkan nama database yang akan dibuat lalu klik save. 4. Pada kolom sebelah kanan di tab SQL Query ketikkan script seperti pada gambar 4.9
54
Gambar 4.9 Tampilan program SQLite Administrator
4.1.4 Implementasi Antar Muka 4.1.4.1 Tampilan Layar Splash Saat pertama kali aplikasi Nondhi dijalankan, akan menampilkan layar splash yang berisi logo aplikasi dan layar siaga yang memberitahu bahwa aplikasi sedang mencoba mendapatkan posisi GPS. Jika posisi dapat diketahui maka aplikasi akan menghitung semua jarak ke bioskop dan melakukan pemutakhiran ke basis data. Jika aplikasi tidak berhasil mendapat posisi GPS, maka akan langsung masuk ke menu utama.
55
Gambar 4.1 Tampilan Layar Splash
Tampilan diatas menunjukkan bahwa aplikasi sedang mencari lokasi GPS. Untuk membatasi pendeteksian lokasi, terdapat timeout selama 20 detik, jika melampaui waktu tersebut dan lokasi tidak dapat terdeteksi, maka pesan akan menghilang.
4.1.4.2 Tampilan Layar Menu Utama Layar menu utama ini merupakan layar yang memuat menu-menu dengan fungsi utama pada aplikasi nondhi, yaitu Top 10, List Film dan List Bioskop. Tampilan awal akan menampilkan menu dengan fungsi utama yaitu Top 10 yang menampilkan sepuluh jadwal menonton terbaik.
Gambar 4.2 Tampilan layar menu utama
56
Menu Top 10 berisi list dengan informasi nama bioskop, jarak ke bioskop dalam satuan kilometer, judul film, rating film, harga tiket dan jam tayang. Pada bagian atas terdapat bagian untuk menampilkan nama jalan yang didapat dari API Geolocation Google dengan memberi parameter latitude dan longitude.
4.1.4.3 Tampilan Layar List Film Layar ini menampilkan daftar film-film hasil sinkronisasi dengan server berupa judul film dan rating film. Untuk rating film mengambil dari API rottentomatoes.com, jika tidak terdapat rating pada API tersebut, maka akan ditampilkan rating default yaitu 55.
Gambar 4.2 Tampilan layar menu List Film
Jika pengguna memilih salah satu dari daftar film, maka akan membuka layar baru yaitu Detail Film yang berisi mengenai detail film yang dipilih, yaitu judul film, sinopsis film, gambar depan film dan bioskop-bioskop yang memutar film tersebut beserta jam tayangnya.
57
Gambar 4.3 Tampilan Detail Film
4.1.4.4 Tampilan Layar Sync Sinkronisasi merupakan salah satu fitur andalan aplikasi Nondhi, sehingga pengguna dapat memakai aplikasi ini walaupun jaringan dalam keadaan terputus. Namun untuk melakukan sinkronisasi dengan server, jaringan tetap harus dalam keadaan tersambung.
Gambar 4.5 Tampilan Layar Pop-Up Cara mengakses menu ini dengan menekan tombol ”menu” pada perangkat bergerak sehingga akan muncul jendela pop-up seperti gambar 4.5. Layar popup akan memiliki dua menu yang dapat diakses, yaitu menu kriteria untuk memilih prioritas perhitungan jadwal terbaik, dan menu sync untuk
58
melakukan sinkronisasi. Pilih menu sync untuk menampilkan layar menu sinkronisasi seperti gambar 4.6
Gambar 4.6 Layar Menu Sync
Menu ini pada bagian atas akan terdapat informasi waktu sinkronisasi terakhir terjadi. Lalu terdapat tombol ”Do Sync” untuk memulai proses sinkronisasi dengan server. Ketika tombol ditekan, maka akan muncul pesan bahwa aplikasi sedang melakukan proses sinkronisasi. Setelah selesai, aplikasi akan menampilkan pesan bahwa sinkronisasi telah berakhir. Jika tidak ada update terbaru, maka aplikasi akan menampilkan pesan bahwa tidak ada update terbaru dari server.
4.1.4.5 Tampilan Layar Kriteria Fungsi dari menu ini adalah mengubah cara perhitungan penentuan jadwal terbaik berdasarkan empat kriteria, yaitu jarak ke bioskop, rating film, jam tayang terdekat, dan harga tiket yang termurah. Untuk mengakses menu ini, pengguna memilih Kriteria pada menu pop-up.
59
Gambar 4.7 Tampilan List Kriteria
Tampilan pilihan kriteria pada gambar 4.7 menunjukkan urutan kriteria yang dapat dipilih oleh pengguna. Untuk memilih urutan kriteria, user dapat menggulung layar ke atas atau ke bawah sampai ditemukan kriteria yang diinginkan.
4.2 Pengujian Program Pengujian pada aplikasi dilakukan dengan menggunakan metode black box testing. Pengujian dengan metode black box testing dilakukan dengan cara memilih semua menu dan memberikan sejumlah masukan pada aplikasi yang selanjutnya
akan
diproses
sesuai
dengan
kebutuhan,
apakah
program
menghasilkan keluaran yang sesuai dengan fungsi dari aplikasi.
4.2.1 Lingkungan pengujian Pada pengujian ini akan dilakukan dengan dua perangkat bergerak. Kondisi tempat pengujian juga dilakukan pada tempat yang berbeda-beda untuk mengetahui lokasi yang baik untuk mendapatkan posisi GPS. Perangkat bergerak yang digunakan untuk melakukan pengujian sistem adalah sebagai berikut : 1. Ponsel Samsung Galaxy Spica dengan spesifikasi : a. Screen size 320 x 480 pixel b. CPU Processor 800 MHz c. Memory 32 M d. Wi-fi connection
60
2. Ponsel Samsung Galaxy Gio dengan spesifikasi : a. Screen size 320 x 480 pixel b. CPU Processor 800 MHz c. Memory 32 M d. Wi-fi connection Kedua perangkat bergerak memiliki versi sistem operasi Android yang sama, yaitu Android 2.1 atau disebut Froyo.
4.2.1
Pengujian Tampilan pada Menu-Menu Utama Pengujian ini dilakukan terhadap menu-menu yang terdapat pada aplikasi,
pada skenario ini penulis menggunakan ”Blackbox Testing”. Pengujian dengan metode ini dilakukan dengan menjalankan ”Aplikasi penentuan jadwal nonton terbaik” terlebih dahulu. Kemudian dilakukan pengujian dengan menyentuh menu-menu yang terdapat pada aplikasi Nondhi apakah sesuai dengan yang diharapkan. Selanjutnya pengujian dilakukan ketika aplikasi sedang berjalan.
Antarmuka yang diuji Layar splash
Menu Utama
Menu Sync
Menu Kriteria
Tabel 4.1 Hasil pengujian aplikasi Nondhi Bagian Status aplikasi antarmuka yang diuji Logo aplikasi Menampilkan layar splash Nondhi dan pesan dengan gambar logo aplikasi kesalahan Nondhi dan pesan pendeteksian lokasi pendeteksian lokasi, jika lokasi terdeteksi akan langsung masuk ke menu utama, jika tidak akan ada pilihan untuk mencoba lagi atau tidak Menu-menu yang Memunculkan semua menuterdapat pada menu pada aplikasi Nondhi aplikasi Nondhi Tombol ”Do Sync” Aplikasi memulai proses berfungsi untuk sinkronisasi ketika tombol ”Do memulai Sync” ditekan, dan akan sinkronisasi menampilkan pesan jika proses sinkronisasi telah selesai Pilihan kriteria Memunculkan list kombinasi untuk urutan kriteria perhitungan perhitungan jadwal terbaik
Hasil Pengujian OK
OK
OK
OK
61
Tabel 4.1 Hasil pengujian aplikasi Nondhi (lanjutan) Menu Top 10 Daftar berisi Memunculkan sepuluh data OK sepuluh jadwal jadwal nonton terbaik nonton terbaik berdasarkan kriteria yang dipilih Menu List Daftar berisi film Memunculkan data film-film OK Film hasil dari sinkronisasi dan menampilkan detail film yang dipilih Menu List Daftar berisi Memunculkan data bioskop OK Bioskop bioskop dan menampilkan detail bioskop yang dipilih 4.2.2
Pengujian Pendeteksian Lokasi dengan GPS Keadaan lokasi sangat menentukan dalam melakukan pendeteksian lokasi
oleh satelit.
Oleh karena itu, pengujian ini bertujuan untuk mendapatkan
gambaran mengenai keadaan lokasi yang ideal untuk mendapatkan sinyal GPS yang diterima dari satelit.
Keadaan Lokasi Lapangan terbuka Rumah tidak bertingkat Rumah bertingkat Basement Lantai 1 pada gedung berlantai 5 Lantai 4 pada gedung berlantai 5
Tabel 4.2 Hasil pengujian aplikasi Nondhi Lokasi GPS dapat Waktu pendeteksian terdeteksi Ya 5 detik
Hasil Pengujian OK
Ya
8 detik
OK
Ya
8 detik
OK
Tidak Ya, dalam 8 frekuensi 2 dari 5 kali percobaan Ya, dalam frekuensi 4 dari 5 kali percobaan
Not OK Not OK
OK
4.2.3 Pengujian Sinkronisasi Sinkronisasi dengan server memastikan data pada perangkat bergerak mempunyai nilai yang sama dengan data pada server. Proses ini akan melakukan penyalinan data server ke perangkat bergerak. Untuk efisiensi penyalinan data,
62
yaitu hanya menyalin data yang memang tidak ada pada aplikasi bergerak, namun terdapat pada server, penulis menggunakan teknik replikasi data Two Tier. Gambar 4.8 menunjukkan kondisi tabel film pada tanggal 5 Agustus 2011 yaitu terdapat 13 record dan gambar 4.9 kondisi 7 Agustus 2011. Pada kedua gambar terlihat perbedaan jumlah record, yaitu 13 dan 10 record. Film yang ada pada
tabel
film
sesuai dengan
film
yang
ditampilkan
pada
m.21cineplex.com (gambar4.9)
Gambar 4.8 Tabel film sebelum versi 5 Agustus 2011
website
63
Gambar 4.8 Tabel film sebelum versi 7 Agustus 2011
Gambar 4.9 Tampilan m.21cineplex.com pada 7 Agustsus 2011
4.2.4
Pengujian Sewaktu Jaringan Terputus
Untuk memastikan aplikasi dapat dijalankan sewaktu ketika jaringan sedang terputus, perangkat bergerak diset dalam kondisi Airplane Mode yaitu dengan cara sebagai berikut : 1. Tekan tombol Menu pada layar Home Android 2. Pilih settings > Wireless controls 3. Centang pada pilihan Airplane mode
64
Setelah perangkat dalam keadaan Airplane Mode, jalankan aplikasi Nondhi. Menu List Film, List Bioskop dapat berjalan normal dan menampilkan data seperti ketika perangkat dalam keadaan terkoneksi pada jaringan.
4.3 Kesimpulan Pengujian Setelah melakukan pengujian terhadap semua tampilan aplikasi ini, maka terdapat kelebihan dan kekurangan yang dapat penulis ketahui dari program aplikasi pemesanan ini. 1.
Untuk mendapatkan posisi lokasi perangkat bergerak menggunakan GPS tergantung dari beberapa hal dan tergantung juga pada kemampuan GPS yang dimiliki oleh tiap-tiap perangkat bergerak, sehingga hasil yang didapat bervariasi.
2.
Pesan notifikasi dapat berjalan jika terjadi kesalahan sewaktu pendeteksian lokasi
3.
Menu-menu utama aplikasi dapat muncul dan menampilkan informasi yang dibutuhkan.
4.
Proses sinkronisasi dapat berlangsung dengan baik terhadap server.
5.
Jadwal film dan bioskop dapat diakses ketika jaringan sedang terputus. .