Pemanfaatan SQLite pada Aplikasi Konversi Mata Uang di Android

advertisement
Bab 3
Metode dan Perancangan Sistem
3.1 Metode Pengembangan Sistem
Pada bagian ini akan dijelaskan tentang metode penelitian
yang digunakan dalam pengembangan sistem. Metode penelitian
yang dipakai adalah metode Prototyping.
3.1.1 Pembahasan Metode Prototyping
Metode penelitian yang digunakan pada pembuatan aplikasi
ini yaitu model prototyping. Secara lengkap, alur model prototyping
akan digambarkan seperti pada Gambar 3.1.
Gambar 3.1 Prototyping Model
Keuntungan dari model prototyping ini yaitu perulangan
ketiga proses akan terus berlangsung hingga semua kebutuhan
terpenuhi, sehingga mendapatkan hasil yang maksimal. Berikut ini
merupakan tahapan metode Prototyping dalam penelitian ini:
­
Analisis Kebutuhan
21
22
Tahap analisis kebutuhan digunakan untuk mengetahui dan
menerjemahkan semua permasalahan serta kebutuhan perangkat
lunak dan kebutuhan sistem yang dibangun. Permasalahan yang
muncul diidentifikasi dan dievaluasi, sehingga sistem dapat
dibangun sesuai dengan kriteria yang diharapkan. Tahap melakukan
analisis kebutuhan pada sistem ini yaitu mempelajari website Yahoo
Finance mengenai fitur untuk konversi mata uang yang ada dalam
kedua website tersebut. Analisis yang dilakukan pada penelitian ini
terdiri dari analisis kebutuhan non fungsional, analisis kebutuhan
fungsional, analisis input, analisis alur kerja sistem, analisis output.
­
Perancangan sistem
Setelah melakukan analisis kebutuhan, tahap kedua adalah
melakukan perancangan sistem yang akan dibangun. Perancangan
sistem dibutuhkan untuk membantu proses pengembangan dan untuk
dokumentasi perangkat lunak sistem. Perancangan sistem dibuat
dengan menggunakan diagram-diagram UML yang terdiri dari use
case diagram, activity diagram, sequence diagram, dan class
diagram.
­
Pengujian prototipe
Tahap ketiga adalah pembuatan prototipe berdasarkan
rancangan sistem untuk selanjutnya dilakukan pengujian, apakah
benar-benar memberikan manfaat dalam segi efisiensi dan efektifitas
serta memudahkan pengguna dalam pemakaiannya sehingga bisa
menciptakan sebuah sistem yang terkomputerisasi dengan baik.
Aplikasi Android ini dibangun dengan menggunakan bahasa
pemrograman Java. Menerapkan SQLite, http connection, proses
fetching, dan MVC pada aplikasi. Melakukan pengujian aplikasi
23
pada emulator Android versi 2.1 Eclair. Membandingkan hasil
konversi aplikasi dengan hasil konversi Yahoo Finance. Di
implementasikan pada Android device dengan versi Android yang
berbeda.
Meminta
user
(beberapa
masyarakat)
untuk
menjalankan/testing aplikasi tersebut. Pada tahapan ini sistem akan
dievaluasi, jika sistem masih perlu penyempurnaan maka proses
akan diulangi dari tahap pertama sampai tahap ketiga. Pada tahap
pertama, hasil evaluasi terakhir akan menjadi analisa data dan
kebutuhan yang baru.
3.1.2 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional merupakan analisis
kebutuhan di luar fungsi daripada sistem, analisis ini terdiri dari
analisis hardware (perangkat keras), analisis software (perangkat
lunak), analisis web hosting, analisis user (pengguna).
Dalam perancangan aplikasi konversi mata uang ini tentunya
dibutuhkan hardware (perangkat keras) serta software (perangkat
lunak) pendukung. Kebutuhan minimum untuk hardware (perangkat
keras) serta software (perangkat lunak) tercantum pada Tabel 3.1
dan Tabel 3.2.
Tabel 3.1 Kebutuhan Hardware
Kebutuhan
Processor
RAM
Harddisk
Spesifikasi
Intel Pentium 4
1 Gb
80 Gb
24
Tabel 3.2 Kebutuhan Software
Kebutuhan
Spesifikasi
ECLIPSE GALILEO (3.5)
ADT-0.9.4
SDK Android (Android 2.1)
Notepad
IDE
Android Plugin
Android Emulator
Editor PHP
Daftar software pada Tabel 3.2 dapat dijelaskan sebagai
berikut.
-
IDE merupakan software yang digunakan untuk membuat
program, IDE yang support untuk pembuatan program berbasis
Android adalah Eclipse. Eclipse Galileo 3.5 merupakan versi
minimum Eclipse yang mendukung Android plugin sampai
versi ADT-14.0.0 yang merupakan versi terbaru saat tulisan ini
dibuat.
-
Android plugin dibutuhkan agar suatu IDE dapat digunakan
untuk
membuat
program
berbasis
Android,
ADT-0.9.4
merupakan versi minimum Android plugin untuk Eclipse
Galileo 3.5.
-
Android emulator merupakan software yang dibutuhkan oleh
IDE untuk proses compile aplikasi Android dan untuk
menjalankan aplikasi Android seolah – olah pada Android
device. Versi minimum Android emulator yang digunakan
adalah Android 2.1, karena aplikasi yang dibuat menggunakan
versi 2.1 dapat dijalankan pada Android versi 2.1 ke atas.
-
Editor PHP merupakan software yang digunakan untuk
membuat program berbasisi PHP, minimum software yang
dapat digunakan sebagai editor PHP adalah notepad.
25
Dalam
perancangan aplikasi
konversi
mata
uang
ini
membutuhkan web hosting untuk menyimpanan file php yang berisi
script untuk mengambil data kurs dari website Yahoo Finance. Web
Hosting yang digunakan adalah 1FreeHosting, yang merupakan web
hosting yang memiliki fitur ftp dan php yang dibutuhkan oleh
sistem.
Kemampuan umum yang dimiliki oleh pengguna yang akan
menggunakan aplikasi konversi mata uang ini adalah kemampuan
mengoperasikan sistem operasi Android menggunakan smartphone.
3.1.3 Analisis Kebutuhan Fungsional
Fungsi yang disediakan oleh aplikasi konversi mata uang ini
untuk user antara lain:
-
Pengelolaan data kurs, sehingga user dapat download data (
mengunduh data kurs dari Yahoo Finance ) untuk disimpan
pada database kurs Android device dan update data (
memperbaharui data yang ada pada database kurs Android
device dengan data kurs dari Yahoo Finance yang terbaru ).
-
Konversi mata uang, user dapat mengkonversi atau mengubaha
nilai dari suatu jenis mata uang suatu jenis mata uang lainnya.
-
Melihat data kurs, user dapat melihat setiap nilai kurs dari
berbagai jenis mata uang dalam rupiah.
3.1.4 Analisis Input
Merupakan penentuan masukan yang diperlukan sistem yang
dibuat. Dalam sistem yang dibuat diperlukan data kurs yang terdiri
dari tanggal kurs dan nilai kurs dari setiap jenis mata uang dalam
rupiah. Tanggal kurs berfungsi untuk mengetahui kapan nilai kurs
26
terakhir diperbaharui atau waktu berlakunya, sehingga dapat
ditentukan apakah data kurs perlu untuk diperbaharui atau tidak.
Nilai kurs berfungsi untuk proses perhitungan perubahan mata uang
dari suatu jenis mata uang ke jenis mata uang lainnya. Semua nilai
kurs dalam rupiah untuk mempermudah dalam proses perhitungan
dan pemahaman user ketika melihat data nilai kurs.
3.1.5 Analisis Alur Kerja Sistem
Berikut adalah alur kerja yang ditempuh dalam sistem yang
dibuat:
-
Data kurs yang dibutuhkan diambil oleh aplikasi dari Yahoo
Finance yang terdiri dari tanggal kurs dan nilai kurs beserta
jenis mata uangnya akan disimpan dalam database local phone.
-
Data tanggal kurs pada database local phone akan dibandingkan
dengan data tanggal kurs pada Yahoo Finance untuk proses
penentuan apakah data kurs perlu diperbaharui atau tidak.
-
User dapat melihat nilai kurs rupiah dari berbagai jenis mata
uang, data yang akan ditampilkan diakses dari database local
phone.
-
Data nilai kurs dari jenis mata uang asal dan tujuan yang telah
dipilih user, akan diakses dari database sehingga dapat
dilakukan proses konversi berdasarkan nominal yang telah
dimasukkan user.
3.1.6 Analisis Output
Sistem ini menampilkan informasi mengenai nilai kurs dari
beberapa jenis mata uang dan akan menampilkan hasil konversi dari
27
suatu jenis mata uang ke suatu jenis mata uang lainnya berdasarkan
nominal yang telah dimasukkan user.
3.2 Perancangan Sistem
Perancangan sistem dibuat dengan menggunakan diagramdiagram UML (Unified Modeling Language).
3.2.1 Use Case Diagram
Use case diagram menggambarkan interaksi antara actor
dengan sistem.
Gambar 3.2 User Use Case Diagram
Gambar 3.2 merupakan Use Case Diagram untuk user yang
menjelaskan tentang fungsi-fungsi yang dapat dilakukan oleh
seorang user. Adapun fungsi-fungsi tersebut antara lain :
28
1.
Pengelolaan data kurs yang terdiri dari download data (
mengunduh data kurs dari Yahoo Finance ) untuk disimpan
pada database kurs Android device dan update data (
memperbaharui data yang ada pada database kurs Android
device dengan data kurs dari Yahoo Finance yang terbaru ).
2.
Konversi mata uang yang terdiri dari melihat jenis mata uang
apa saja yang tersedia dan menghitung perubahan dari suatu
jenis mata uang ke mata uang lainnya berdasarkan nominal
tertentu.
3.
Melihat nilai kurs dari berbagai jenis mata uang yang tersedia
dalam rupiah.
3.2.2 Activity Diagram
Acitvity diagram menggambarkan alur proses kegiatan yang
dilakukan suatu actor atau user. Aplikasi konversi mata uang yang
akan dibangun terdiri dari satu tingkatan user, sehingga hanya akan
ada satu acitvity diagram.
29
Gambar 3.3 User Activity Diagram
Gambar 3.3 menggambarkan aktifitas-aktifitas yang dapat
terjadi oleh seorang user. Sistem akan memeriksa database local
phone apakah kosong atau tidak, jika kosong maka sistem akan
mengunduh data kurs dari Yahoo Finance. Jika database tidak
kosong atau proses download telah selesai maka user dapat
melakukan update data kurs, konversi mata uang, dan melihat data
kurs.
3.2.3 Sequence Diagram
Sequence
diagram
menggambar-kan
interaksi
antar objek di dalam suatu sistem. Untuk aplikasi konversi mata
uang ini akan dibuat empat buah sequence diagram yaitu untuk
download data, update data, lihat nilai kurs, dan konversi mata uang.
30
Gambar 3.4 Download Data Sequence Diagram
Gambar
3.4
merupakan
sequence
diagram
untuk
menggambarkan suatu interaksi yang terjadi antara user dengan
sistem konversi mata uang dalam hal download data. Berikut ini
merupakan penjelasan secara detail tentang interaksi tersebut :
-
Alert dialog untuk download akan muncul saat mengakses
aplikasi untuk pertama kalinya setelah aplikasi diinstal atau
database masih kosong, terdapat dua tombol yaitu OK dan
CANCEL
-
Klik OK untuk memulai proses download data, data akan
diambil dari website Yahoo Finance dengan cara fetching.
-
Proses fetching pada aplikasi dilakukan melalui file kurs.php
yang ada di web hosing untuk mengakses website Yahoo
Finance, file quotes.csv yang dihasilkan lalu diproses. File
31
quotes.csv berisi data kurs sesuai permintaan, permintaan dalam
hal ini adalah nilai kurs suatu jenis mata uang terhadap rupiah
(IDR).
-
Data dari Yahoo Finance tidak langsung dikirim ke aplikasi,
karena data masih tercampur. Data akan dikirim ke aplikasi
setelah dipisahkan menjadi data tanggal kurs, jenis mata uang
dan nilai kursnya.
-
Data yang diterima selanjutnya disimpan dalam database local
phone sesuai dengan tabel masing – masing. Jenis mata uang
dan nilai kursnya disimpan dalam tabel kurs, sedangkan tanggal
disimpan pada tabel tanggal.
32
Gambar 3.5 Update Data Sequence Diagram
Gambar
3.5
merupakan
sequence
diagram
untuk
menggambarkan suatu interaksi yang terjadi antara user dengan
sistem konversi mata uang dalam hal update data. Berikut ini
merupakan penjelasan secara detail tentang interaksi tersebut:
33
-
User memilih tombol update pada tampilan utama atau tampilan
datakurs, sehingga proses update akan dimulai.
-
Proses update pertama kali adalah membandingkan tanggal
pada database yaitu pada tabel tanggal dengan tanggal pada
Yahoo Finance yang diambil melalui proses fetching.
-
Jika tanggal dari database sama dengan tanggal dari Yahoo
Finance, maka proses update akan berhenti karena belum
tersedia kurs terbaru. Jika tanggal dari database sebelum
tanggal dari Yahoo Finance, maka proses update akan berlanjut.
-
Data kurs yang terdiri dari tanggal kurs, jenis mata uang dan
nilai kursnya akan diambil dari website Yahoo Finance melalui
proses fetching.
-
Data pada database akan diperbaharui sesuai dengan data yang
diambil dari website Yahoo Finance.
34
Gambar 3.6 Lihat Nilai Kurs Sequence Diagram
Gambar
3.6
merupakan
sequence
diagram
untuk
menggambarkan suatu interaksi yang terjadi antara user dengan
sistem konversi mata uang dalam hal lihat nilai kurs. Berikut ini
merupakan penjelasan secara detail tentang interaksi tersebut :
-
Aplikasi konversi akan memanggil semua jenis mata uang dan
nilai kursnya dari tabel kurs dan tanggal kurs dari tabel tanggal,
kemudian semua data yang dipanggil akan ditampilkan ke pada
user.
35
Gambar 3.7 Konversi Mata Uang Sequence Diagram
Gambar
3.7
merupakan
sequence
diagram
untuk
menggambarkan suatu interaksi yang terjadi antara user dengan
sistem konversi mata uang dalam hal konversi mata uang. Berikut
ini merupakan penjelasan secara detail tentang interaksi tersebut :
36
-
Semua data jenis mata uang pada tabel kurs akan dipanggil
sehingga dapat ditampilkan pada daftar jenis mata uang asal dan
tujuan yang ada di tampilan kalkulator.
-
User memilih jenis mata uang asal, mata uang tujuan, dan
nominal yang akan dikonversi.
-
Tombol konversi untuk memulai proses perhitungan konversi
dengan mencari nilai kurs jenis mata uang asal dan tujuan dari
tabel kurs, kemudian mulai proses perhitungan dengan rumus
(d/e)*c dengan keterangan sebagai berikut:
d = nilai kurs dari jenis mata uang asal
e = nilai kurs dari jenis mata uang tujuan
c = nilai nominal
Hasil dari perhitungan akan ditampilkan ke pada user.
3.2.4 Class Diagram
Aplikasi yang dibuat memiliki class diagram seperti yang
terlihat pada Gambar 3.8.
37
Gambar 3.8 Class Diagram Sistem
Tabel tanggal menyimpan informasi tentang data tanggal kurs
yang telah diunduh dari Yahoo Finance. Tabel kurs menyimpan
informasi tentang data nilai kurs sesuai dengan jenis mata uang yang
telah diunduh dari Yahoo Finance.
3.3 Perancangan Arsitektur MVC
Pada bagian ini akan dilakukan perancangan untuk Model
View Controller yang dibuat. Arsitektur MVC dibuat dengan
memilah bagian aplikasi yang tergolong komponen Model, View dan
Controller. Dalam sebuah aplikasi, perubahan pada suatu komponen
mungkin saja terjadi. Perubahan pada satu bagian memiliki potensi
keterkaitan
dengan
keseluruhan
aplikasi.
Namun
dengan
digunakannya arsitektur MVC, salah satu bagian dapat diubah tanpa
harus mengubah bagian yang lain. Masing-masing komponen yang
sudah memiliki fungsi sendiri dan saling terhubung, dapat
mengurangi penulisan kode program.
38
3.3.1 Perancangan Model
Model merupakan tempat penyimpanan data sementara yang
berasal dari controller atau view. Data yang ada di dalam model
dapat diakses oleh controller untuk diproses dan view untuk
ditampilkan pada user. Model dalam aplikasi ini direpresentasikan
dalam class data, yang berisi beberapa variabel sebagai berikut:
-
Variabel string jenis {get;set;} : untuk data jenis mata uang.
-
Variabel double nilai {get;set;} : untuk data nilai kurs dari jenis
mata uang.
-
Variabel integer id {get;set;} : untuk data id tanggal database
local phone.
-
Variabel string tanggal {get;set;} : untuk data tanggal dari
database local phone.
-
Variabel string pupi {get;set;} : untuk data tanggal dari Yahoo
Finance.
-
Variabel string semua {get;set;} : untuk data jenis mata uang
beserta nilai kursnya yang berasal dari database local phone.
-
Variabel string a1 {get;set;} : untuk data jenis mata uang asal
yang sudah dipilih user.
-
Variabel string a2 {get;set;} : untuk data jenis mata uang tujuan
yang sudah dipilih user.
-
Variabel double h3 {get;set;} : untuk data nominal yang diinput
user.
-
Variabel string akhir {get;set;} : untuk data hasil perhitungan
proses konversi.
39
3.3.2 Perancangan View
View merupakan bagian yang menangani presentation logic.
View berfungsi untuk menerima dan merepresentasikan data kepada
user. Bagian ini memiliki akses langsung terhadap bagian Model
yang berhubungan dengna data. Pada aplikasi ini bagian View berisi
user interface. Desain yang dilakukan pada bagian View
dikelompokkan dalam class-class untuk lebih memudahkan lagi
dalam pengembangan, yaitu:
-
Class dataKursUI: user interface data kurs yang merupakan
tampilan awal dari aplikasi. Rancangan user interface data kurs
terlihat pada Gambar 3.9.
Gambar 3.9 Rancangan User Interface Data Kurs
-
Class konversiUI: user interface konversi yang berfungsi untuk
konversi mata uang. Rancangan user interface konversi terlihat
pada Gambar 3.10.
40
Gambar 3.10 Rancangan User Interface Konversi
-
Class melihatKursUI: user interface melihat kurs yang
berfungsi untuk menampilkan nilai kurs sesuai jenis mata
uangnya. Rancangan user interface melihat kurs terlihat pada
Gambar 3.11.
41
Gambar 3.11 Rancangan User Interface Melihat Kurs
3.3.3 Perancangan Controller
Controller merupakan bagian yang mengatur hubungan antara
bagian model dan bagian view. Controller berfungsi untuk menerima
request dari user kemudian menentukan apa yang akan diproses oleh
aplikasi. Class controller yang dibuat dalam aplikasi ini yaitu :
-
PengelolaanDataKursController, berfungsi untuk mengatur
proses download dan update data kurs.
-
KonversiController, berfungsi untuk menampilkan seluruh jenis
mata uang dan menangani proses konversi.
-
MelihatKursController, berfungsi untuk menampilkan nilai kurs
rupiah pada berbagai jenis mata uang.
3.4 Metode Pengujian Sistem
Dalam penelitian ini, pengujian sistem dilakukan dengan
metode black box testing. Sistem dapat diidentifikasi berdasarkan
42
output yang dihasilkan apakah sesuai dengan input atau tidak,
sehingga dapat diketahui apakah sistem berfungsi dengan benar atau
tidak.
Black
box
testing
akan
menguji
aplikasi
untuk
mengidentifikasi kesalahan-kesalahan antara lain sebagai berikut:
-
Fungsi-fungsi yang salah atau hilang.
-
Kesalahan interface.
-
Kesalahan dalam struktur data atau akses database eksternal.
Download