• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Pemanfaatan SQLite pada Aplikasi Konversi Mata Uang di Android T1 672007047 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Pemanfaatan SQLite pada Aplikasi Konversi Mata Uang di Android T1 672007047 BAB IV"

Copied!
17
0
0

Teks penuh

(1)

43

Pada bab ini memuat hasil dan pembahasan yang meliputi implementasi dari perancangan, pengujian dan hasil analisa. Implementasi tersebut meliputi pengaturan pada eclipse agar dapat digunakan untuk membuat aplikasi Android, pengaturan aplikasi dalam hal manajemen database kurs, dan pengaturan PHP file pada

web hosting untuk mengambil data kurs dari Yahoo Finance.

4.1 Implementasi

4.1.1 Implementasi MVC

Data kurs dari Yahoo Finance akan disimpan dalam database local phone, sehingga dapat diakses langsung oleh aplikasi. Dalam hal mengelola database tersebut, aplikasi ini menggunakan konsep MVC( Model View Controller ).

Cara kerja arsitektur MVC pada aplikasi yang telah dibuat dapat dijelaskan menggunakan Gambar 4.1.

(2)

Gambar 4.1 menggambarkan mekanisme kinerja MVC, jika aksi yang akan dipanggil memerlukan data dari user maka data yang telah dimasukkan oleh user melalui view akan dikirim ke variabel yang ada dalam model (class data) yang berhubungan dengan aksi yang akan dipanggil nantinya. View kemudian mengirim request

berupa aksi mana yang akan dijalankan pada controller. Semua data yang dibutuhkan dalam proses akan diambil dari model atau sqlite (database). Hasil proses kemudian akan disimpan pada model untuk sementara atau disimpan di sqlite jika data tersebut diperlukan lagi nantinya. Data hasil proses yang telah disimpan kemudian dipanggil oleh view untuk ditampilkan pada user.

4.1.2 Implementasi Fetching

Fetching adalah mengambil data dari suatu website, pada aplikasi ini fetching digunakan untuk mengambil data kurs dari

website Yahoo Finance.

Kode Program 4.1 Kode Program Fetching

Kode Program 4.1 yang berfungsi untuk mengambil data kurs dari Yahoo Finance. Pertama kali yang dilakukan adalah membuka

file csv dari Yahoo Finance dengan @fopen, dapat dicontohkan isi

(3)

Gambar 4.2File Csv

Isi file csv dari Yahoo Finance pada Gambar 4.2 dapat dijelaskan sebagai berikut.

- Kolom A1 berisi jenis mata uang yang ingin diubah dalam hal ini USD ke IDR.

- Kolom B1 berisi nilai kurs.

- Kolom C1 berisi tanggal kapan kurs diupdate. - Kolom D1 berisi waktu kapan kursdiupdate.

Fgets digunakan untuk mengubah data dari tabel menjadi

(4)

4.1.3 Implementasi HTTP Connection

Kode Program 4. 2 Http Connection

Kode Program 4.2 merupakan Http Connection yang digunakan aplikasi untuk terhubung ke file kurs.php yang ada di web hosting, sehingga dapat menerima data hasil fetching berupa string

pada variabel response. Data yang diterima dapat berupa tanggal atau nilai kurs tergantung request yang dikirim.

4.1.4 Implementasi SQLite

Pengimplementasian SQLite pada aplikasi konversi mata uang ini, berfungsi untuk menyimpan data kurs dari Yahoo Finance.

String url =

"http://alfyan.goodluckwith.us/kurs.php?usd="+aw+"&ct="+awi; HttpClient httpclient = new DefaultHttpClient();

HttpRequestBase httpRequest = null; HttpResponse httpResponse = null; InputStream inputStream = null; String response1 = "";

String response = "";

StringBuffer buffer = new StringBuffer(); httpRequest = new HttpGet(url);

try{httpResponse = httpclient.execute(httpRequest);}

catch (ClientProtocolException e1){e1.printStackTrace();}

catch (IOException e1){e1.printStackTrace();}

try{inputStream = httpResponse.getEntity().getContent();}

catch (IllegalStateException e){e.printStackTrace();}

catch (IOException e){e.printStackTrace();}

byte[] data = new byte[512];

int len = 0;

try{while (-1 != (len = inputStream.read(data)) ){buffer.append(new String(data, 0, len));}}

catch (IOException e){e.printStackTrace();}

try{inputStream.close();}

(5)

Kode Program 4.3 Koneksi Sqlite

Kode Program 4.3 meng-extendclass SQLiteOpenHelper yang berfungsi untuk mengatur pembuatan database (onCreate) dan manajemen versi (onUpdate).

4.1.5 Implementasi Aplikasi Konversi Mata Uang

Dalam aplikasi konversi mata uang, saat pertama kali diakses aplikasi akan memeriksa data di dalam database local phone

menggunakan Kode Program 4.4.

Kode Program 4.4 Periksa Data

private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION); }

@Override

public void onCreate(SQLiteDatabase db) { db.execSQL(DATABASE_CREATE); db.execSQL(DATABASE_CREATE2); }

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int

newVersion) {

Log.w(TAG, "Upgrading database from version " + oldVersion + " to "+ newVersion + ", which will destroy all old data");

db.execSQL("DROP TABLE IF EXISTS notes"); onCreate(db);

List<data> list = new ArrayList<data>();

Cursor cursor = this.mDb.query(DATABASE_TABLE, new String[] {KEY_TITLE}, null, null, null, null, null);

(6)

Kode Program 4.4 memeriksa jumlah baris yang ada di dalam tabel tanggal, jika tidak ada baris atau baris sama dengan nol berarti

database masih kosong. Apabila jumlah baris tidak sama dengan nol, maka data tanggal akan dimasukkan ke model untuk proses selanjutnya. Jika data di dalam database masih kosong (pengguna aplikasi pertama kali setelah diinstall), maka user harus download

data kurs terlebih dahulu. Jika database tidak kosong, maka tanggal pada database akan diperiksa untuk menentukan apakah data perlu diperbaharui atau tidak.

Gambar 4.3 merupakan alert dialog untuk download data karena data di dalam database local phone masih kosong.

Gambar 4.3Alert Dialog Download

Kode Program 4.5 Insert Data Kurs

ContentValues initialValues = new ContentValues(); initialValues.put(KEY_JENIS, dt.getJenis()); initialValues.put(KEY_NILAI, dt.getNilai());

(7)

Kode Program 4.5 merupakan kode program yang berfungsi untuk menyimpan data hasil fetching yang berupa nilai kurs dan jenis mata uangnya ke tabel kurs.

Kode Program 4.6 Insert Data Tanggal

Kode Program 4.6 merupakan kode program yang berfungsi untuk menyimpan data hasil fetching yang berupa tanggal kurs ke tabel tanggal.

Gambar 4.4 merupakan alert dialog untuk update, karena data tanggal pada database local phone tidak sesuai dengan tanggal yang sedang berlaku pada saat menjalankan aplikasi konversi.

Gambar 4.4Alert Dialog Pilihan Update

ContentValues initialValues = new ContentValues(); initialValues.put(KEY_ROWID, dt.getId());

initialValues.put(KEY_TITLE, dt.getTanggal());

(8)

Kode Program 4.7 Banding Tanggal 1

Kode Program 4.7 berfungsi untuk membandingkan tanggal yang sedang berlaku dengan tanggal dari tabel tanggal. Kedua data tanggal diubah formatnya terlebih dahulu ke date (“dd-MM-yyyy”), jika tanggal dari tabel tanggal nilainya sebelum tanggal sekarang maka muncul alert dialog untuk update.

Proses membandingkan data tanggal pada database local phone dengan data tanggal Yahoo Finance yang menggunakan Kode Program 4.8 akan berjalan ketika memilih tombol yes pada alert dialog update atau saat memilih menu update. Jika data tanggal pada

database local phone adalah sebelum data tanggal Yahoo Finance maka proses update akan berlanjut sampai selesai.

Kode Program 4.8 Banding Tanggal 2

DateFormat df = new SimpleDateFormat ("dd-MM-yyyy"); Date date = new Date();

int tahun = date.getYear() + 1900;

int bulan = date.getMonth() + 1;

int tanggal = date.getDate(); try {

Date d1 = df.parse(String.valueOf(tanggal).toString() + "-" + String.valueOf(bulan).toString() + "-" +

DateFormat dg = new SimpleDateFormat ("dd-MM-yyyy");

(9)

Jika nilai dari variabel zz2(data tanggal Yahoo Finance) setelah varibel zz1(data tanggal pada database local phone), maka proses update akan lanjut.

Kode Program 4.9 Update Data Kurs

Kode Program 4.9 merupakan kode program yang berfungsi untuk mengubah nilai kurs yang ada di tabel kurs dengan data hasil

fetching yang sesuai dengan jenis mata uangnya.

Kode Program 4.10 Update Data Tanggal

Kode Program 4.10 merupakan kode program yang berfungsi untuk mengubah nilai tanggal yang ada di tabel tanggal dengan data hasil fetching.

Gambar 4.5 merupakan menu utama yang akan langsung tampil jika tanggal pada databaseup to date.

ContentValues initialValues = new ContentValues(); initialValues.put(KEY_NILAI, dt.getNilai());

return mDb.update(DATABASE_TABLE2, initialValues, KEY_JENIS + "=?", new String[]{dt.getJenis()}) > 0;

ContentValues args = new ContentValues(); args.put(KEY_TITLE, dt.getTanggal());

(10)

Gambar 4.5 Menu Utama

Tampilan yang akan keluar saat memilih menu nilai kurs terlihat pada Gambar 4.6.

.

(11)

Kode Program 4.11 Menu Nilai Kurs

Kode Program 4.11 berfungsi untuk memanggil semua data nilai kurs beserta jenis mata uangnya dari tabel kurs, dengan format (jenis mata uang=nilai kursnya).

4.2 Pengujian Aplikasi

Pada bagian ini dilakukan pengujian aplikasi yang telah dibuat, pengujian dilakukan dengan menggunakan data yang disimulasikan.

4.2.1 Kalkulator Kurs

Sebagai contoh penggunaan kalkulator kurs dapat diambil contoh sebagai berikut, mencari nilai dari satu US Dollar dalam Rupiah seperti terlihat pada Gambar 4.7.

List<data> list = new ArrayList<data>();

Cursor cursor = this.mDb.query(true,DATABASE_TABLE2, new

String[] {KEY_JENIS,KEY_NILAI}, KEY_NILAI +"!=1",null, null,

null, null, null);

if (cursor.moveToFirst()) { do {

data dt = new data();

dt.setSemua(cursor.getString(0)+" = "+cursor.getString(1)); list.add(dt);

(12)

Gambar 4.7 Contoh Penggunaan Kalkulator Kurs

Pada spinner atau yang lebih dikenal dengan nama combo box

akan berisi jenis mata uang apa saja yang ada di dalam database. Dengan menekan tombol konversi maka proses perhitungan akan dimulai. Cara kerja arsitektur MVC pada proses perhitungan dapat dijelaskan menggunakan Gambar 4.8.

Gambar 4.8 Arsitektur MVC Proses Perhitungan

(13)

1. Data yang user masukkan saat memilih jenis mata uang asal dan tujuan dari spinner, dan nilai(1) dari edit text akan disimpan ke dalam model oleh view.

2. View memanggil method Hitung yang ada pada controller. 3. Controller menjalankan method Hitung dan data yang user

masukkan seperti jenis mata uang asal, tujuan, nominal yang disimpan pada model akan dipanggil oleh controller.

4. Controller mencari nilai kurs mata uang asal dan tujuan dari tabel kurs pada database konversi sesuai dengan jenis mata uangnya menggunakan Kode Program 4.12.

Kode Program 4.12 Cari Nilai Kurs

5. Proses perhitungan method Hitung yang menggunakan rumus ( h1 / h2 ) * h3, dengan penjelasan sebagai berikut.

- h1 = Nilai kursmata uang asal - h2 = Nilai kursmata uang tujuan

- h3 = Nominal atau Nilai yang akan diubah ( satu ) Hasil yang diperoleh akan disimpan ke model.

Kode Program 4.13 Menghitung Konversi

Cursor cursor = this.mDb.query(true,DATABASE_TABLE2,

new String[] {KEY_NILAI}, KEY_JENIS + "=?",

new String[]{dt.getJenis()}, null, null, null, null);

if (cursor.moveToFirst()) { do {

dt.setNilai(cursor.getDouble(0)); } while (cursor.moveToNext()); }

Double total = (h1/h2)*h3;

(14)

6. View memanggil hasil dari method Hitung yang disimpan pada model untuk ditampilkan pada edit text.

Hasil dari proses konversi yang dihasilkan oleh aplikasi, dibandingkan dengan hasil dari proses konversi website Yahoo Finance pada tanggal yang sama. Hal ini dilakukan untuk mengetahui apakah output yang dihasilkan oleh aplikasi sudah benar atau belum. Hasil perhitungan konversi pada website Yahoo Finance dapat dilihat pada gambar 4.9.

Gambar 4.9 Hasil Konversi Website Yahoo Finance

Hasil perhitungan pada website Yahoo Finance yang menggunakan data input yang sama dengan aplikasi, menunjukkan bahwa hasil perhitungan dari aplikasi sama dengan hasil perhitungan dari website Yahoo Finance yaitu 8865.

4.3 Hasil Analisa

4.3.1 Analisa Penggunaan MVC

Penggunaan MVC dalam aplikasi yang dibangun dapat menangani pengelolaan data kurs dan proses perhitungan. Controller

(15)

4.3.2 Analisa Penggunaan Fetching

Data kurs yang dibutuhkan untuk aplikasi konversi mata uang ini sudah tersedia di website Yahoo Finance , sehingga sumber data dapat diambil dengan proses fetching atau pengambilan data dari

website Yahoo Finance. Website Yahoo Finance yang mengalami perubahan source code, mengakibatkan source code untuk fetching

harus diubah sesuai dengan source code website Yahoo Finance yang baru.

4.3.3 Analisa Penggunaan Kurs Yahoo Finance

Kurs yang didapat dari Yahoo Finance merupakan kurs tengah dari kurs jual dan kurs beli.

Gambar 4.10 Kurs Yahoo Finance

Gambar 4.10 merupakan nilai kurs Euro (EUR) dalam Rupiah (IDR) pada website Yahoo Finance dengan nilai 11,733 yang merupakan kurs tengah dari kurs jual (Ask) = 11,741 dan kurs beli (Bid) = 11,725.

4.3.4 Analisa Penggunaan Database Local

(16)

update data. Proses konversi dan melihat nilai kurs menggunakan data yang ada di database local phone. Database (sqlite) yang digunakan, menjadi satu dengan aplikasi. Apabila aplikasi dihapus maka database yang digunakan juga ikut terhapus dan database

hanya bisa diakses oleh aplikasi yang bersangkutan.

4.3.5 Kuisioner

Pengujian dengan kuisioner ini dilakukan kepada 20 responden yang berasal dari golongan pelajar, mahasiswa, dan pekerja yang telah menggunakan aplikasi konversi ini sebelumnya. Hasil kusioner dari setiap pertanyaan adalah :

1. Apakah sistem ini membantu dalam memberikan informasi mengenai nilai kurs terbaru dan nilai perubahan dari suatu mata uang ke mata uang yang lain? (85% responden menjawab membantu)

2. Apakah informasi yang diberikan oleh sistem ini sudah memenuhi kebutuhan informasi yang dibutuhkan? (50% responden menjawab sudah)

3. Apakah dengan menggunakan database local phone pada sistem ini mempercepat dalam proses mendapatkan informasi? (70% responden menjawab iya)

4. Apakah anda setuju bahwa tampilan aplikasi ini user friendly? (93% responden menjawab setuju)

(17)

4.3.6 Pengujian pada Device

Sistem Operasi Android memiliki beberapa versi, aplikasi yang dapat dioperasikan pada suatu versi android belum tentu dalam dioperasikan pada versi android yang lain. Aplikasi yang telah dibuat diuji pada perangkat android dengan versi android yang berbeda, untuk memastikan apakah aplikasi dapat dioperasikan pada versi android yang berbeda. Hasil pengujian dapat dilihat pada Tabel 4.1.

Tabel 4.1 Pengujian Aplikasi pada Device

Gambar

Gambar 4.1 Cara Kerja MVC pada Aplikasi
Gambar 4.1 menggambarkan mekanisme kinerja MVC, jika
Gambar 4.2 File Csv
Gambar 4.3 merupakan alert dialog untuk download data
+7

Referensi

Dokumen terkait

3 Pimpinan Perusahan dapat mewakilkan kehadiran selama proses pembuktian kualifikasi kepada pengurus yang namanya tercantum dalam Akte

35Menurut Murtadha Muthahhari, seorang mujtahid yang hanya mempunyai kecakapan, keahlian, jujur, tidak pernah berbohong akan tetapi dia tidak mampu menahan dirinya

The purpose of this paper is to define the � − Stieltjes integral as a generalization of the � integral and investigate some of its basic properties such as uniqueness

Pada SI Lokal, form akan di picu menggunakan ajax – JSON untuk melakukan request data ke SI UNSMP dengan mengirimkan parameter berisi (NISN, Nama dan Asal SMP),

Nilai pH perairan di kedua lo kasi budidaya st abil dan masih dalam kisaran no rmal sehingga t idak menjadi fakt o r pembat as pert umbuhan rumput laut Sargassum

Hasil dari penelitian ini menunjukan bahwa Pemerintah Kota Salatiga dalam tata kelola manajemen layanan teknologi informasi berada pada level 1 yaitu kondisi

Praktik Pengalaman Lapangan (PPL) adalah semua kegiatan kurikuler yang harus dilakukan oleh mahasiswa praktikan, sebagai pelatihan untuk menerapkan teori yang

Elite Muhammadiyah dan Kekuasaan Politik (Studi tentang tingkah laku politik elite Lokal Muhammadiyah Sesudah Orde Baru).. Yogyakarta: Gadjah Mada