BAB IV IMPLEMENTASI DAN PENGUJIAN

dokumen-dokumen yang mirip
Membuat Simple List Transaksi

Membuat Interface Dinamis Menggunakan FrameLayout

BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

[Pelatihan Pemrograman Android]

XAMARIN ANDROID : Bekerja

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0

BAB IV TESTING DAN IMPLEMENTASI SISTEM

Membuat preferensi atau pengaturan pada aplikasi android

Bab 4 Hasil dan Pembahasan

LAYOUT MENU UTAMA. <Button android:text="zakat Profesi" android:layout_width="wrap_content"

Pertemuan 7. Create, Read, Update, Delete Pada SQL Lite (Tampilan)

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Praktikum VI Activity dan Intent

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android

main activity resource layout

DAFTAR PUSTAKA. Adisasmita, Rahardjo Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu.

UNIVERSITAS KOMPUTER INDONESIA

Bab 4 Hasil dan Pembahasan

UNIVERSITAS KOMPUTER INDONESIA

Pertemuan 7. Create, Read, Update, Delete Pada SQL Lite (Tampilan)

UNIVERSITAS KOMPUTER INDONESIA

BAB III ANALISA DAN PERANCANGAN

Struktur & Pemakaian Teknologi Game Pembuatan Activity

Praktikum 9 Pemprograman Android GUI 2 Layar

Membuat Aplikasi Android Login Screen Menggunakan SQLITE dan XAMARIN

Cara Membuat Background Dinamis di Android

BAB IV IMPLEMENTASI DAN PENGUJIAN

Membuat list dengan RecylerView dan dependency injection ButterKniffe

Latihan 1 Menghitung Luas Persegi Panjang

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul Aplikasi Mobile. Pertemuan ke-2. Pengenalan environment android pada eclipse

Tutorial Aplikasi Android Sederhana dengan Action Button

DAFTAR PUSTAKA. A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika.

BAB IV HASIL DAN PEMBAHASAN

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

BAB 5 Android Event Handling Mahardeka Tri Ananta

Penggunaan Button di Android

Lecture Notes

BAB IV IMPLEMENTASI DAN UJI COBA

PERTEMUAN KE 7 Broadcast Receiver dan Services

Aplikasi Pembelajaran Tenses dan Passive Voice berbasis Android

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET

Dapat memahami mekanisme kerja component dalam sistem operasi android. Dapat menggunakan component secara efektif dalam membuat aplikasi android

LAMPIRAN A. Universitas Sumatera Utara

RANCANG BANGUN APLIKASI SISTEM INFORMASI GEOGRAFIS (SIG) FASILITAS UMUM BERBASIS ANDROID KECAMATAN SUKAMAKMUR KABUPATEN ACEH BESAR.

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A

APLIKASI KAMUS ISTILAH KOMPUTER PADA PERANGKAT MOBILE BERBASIS ANDROID

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN

Memiih Penyimpanan Internal atau External

Praktikum IV Komponen UI (Radio Button, CheckBox dll)

DAFTAR ISI. Halaman HALAMAN JUDUL LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERSEMBAHAN MOTTO ABSTRAK ABSTRACK

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

DAFTAR PUSTAKA. Binanto, I., multimedia digital-dasar teori dan pengembangannya, yogyakarta.

KEAHLIAN PEMROGAMAN JAVA

PRAKTIKUM IX:TUTORIAL PEMBUATAN

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

BAB III. Metodologi Penelitian

BAB IV ANALISA DAN PERANCANGAN

Membuat Aplikasi Toko Buku Online

BAB IV HASIL DAN UJI COBA

Call Phone Permission pada Android

Percobaan 9 Basic Widget

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse

ANDROID FOR BEGINNER MODUL 2

BAB IV HASIL DAN UJI COBA

BAB IV PEMBUATAN DAN PENGUJIAN

BAB V IMPLEMENTASI DAN PEMBAHASAN

PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR EKO JULIO MISRA

Class yang dipakai Untuk membuat tampilan map pada Android, kita bisa memanfaatkan MapView sebagai berikut:

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID

BAB 3 METODOLOGI. Gambar 3.1 Diagram Kerangka Pikir

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup();

BAB III ANALISIS DAN DESAIN SISTEM

PENGEMBANGAN ALARM KERETA COMMUTER LINE BERBASIS ANDROID

Tutorial Membuat Aplikasi Web View Android pada Eclipse

BAB IV IMPLEMENTASI DAN PENGUJIAN

Praktikum 1 - Getting Started with Android

BAB III PEMBAHASAN 3.1 Analisa Sistem

Menggunakan Database di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

Aplikasi Kamus Bahasa Inggris Indonesia Menggunakan Android. Zuli Santoso Pembimbing: Deasy Indayanti, S.Kom, MMSI

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.dentalexsys;

APLIKASI ALARM WEKER BERBASIS ANDROID DENGAN ALGORITMA FISHER YATES SHUFFLE UNTUK MENGACAK PERTANYAAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

PERANCANGAN. Android (mendeteksi perintah ) Arduino Uno (menerima Perintah) Motor Shield (dapat Perintah ) Motor DC 1 kiri

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Membuat Alert Dialog Pada Android

Transkripsi:

BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah sistem dianalisis dan didesain secara rinci, tahap selanjutnya adalah implementasi. Implementasi sistem merupakan tahap meletakkan sistem sehingga siap untuk dioperasikan. Implementasi bertujuan untuk mengkonfirmasi modulmodul perancangan, sehingga pengguna dapat memberi masukan kepada pengembangan sistem. 4.1.1 Implementasi Basis Data Database terdapat pada perangkat berbasis Android, sistem operasi Android mempunyai library database sendiri yang bernama SQLite. Database yang bernama DB ini mempunyai 1 table, yaitu table alarm. Berikut beberapa pernyataan SQL yang terdapat pada kelas Database.java. public void oncreate(sqlitedatabase db) { // TODO Auto-generated method stub db.execsql("create TABLE IF NOT EXISTS " + ALARM_TABLE + " ( " + COLUMN_ALARM_ID + " INTEGER primary key autoincrement, " + COLUMN_ALARM_ACTIVE + " INTEGER NOT NULL, " + COLUMN_ALARM_TIME + " TEXT NOT NULL, " + COLUMN_ALARM_DAYS + " BLOB NOT NULL, " + COLUMN_ALARM_DIFFICULTY + " INTEGER NOT NULL, " + COLUMN_ALARM_TONE + " TEXT NOT NULL, " + COLUMN_ALARM_VIBRATE + " INTEGER NOT NULL, " + COLUMN_ALARM_NAME + " TEXT NOT NULL)"); } 4.1.2 Implementasi Penulisan Kode Penulisan kode atau biasa disebut dalam bahasa inggris source code/coding merupakan bagian utama dalam pembuatan aplikasi ini. Penulisan kode pada aplikasi ini menggunakan bahasa Java sebagai penggunaan bahasa utamanya dengan editor Android Studio dan di running dengan menggunakan smartphone android atau AVD Manager (Android 53

54 Virtual Device), sedangkan untuk database menggunakan SQLite acuannya adalah apakah aplikasi yang dibuat telah berjalan dengan baik yang sebagaimana mestinya. Bila belum maka kode atau source code akan diperbaiki sampai didapatkan aplikasi yang berjalan dan berfungsi dengan baik. Pada bagian ini akan dijabarkan penulisan kode dari aplikasi ini. 4.1.2.1 Penulisan Kode Pada Daftar Jadwal Alarm Kode pada halaman daftar jadwal alarm merupakan tampilan awal setelah user membuka aplikasi. Pada halaman ini terdapat gambar logo, nama aplikasi, menu tambah, menu follow me dan daftar (list) jadwal alarm. Berikut kode untuk layout alarm_list_element.xml. <CheckBox android:id="@+id/checkbox_alarm_active" android:focusable="false" android:padding="5dp" /> <View android:id="@+id/view1" android:layout_width="1dp" android:layout_height="match_parent" android:layout_marginright="10dp" android:background="#ff0099cc" android:paddingright="10dp" /> <LinearLayout android:orientation="vertical" android:paddingbottom="5dp" android:paddingtop="5dp" > <TextView android:id="@+id/textview_alarm_time" android:textappearance="?android:attr/textappearancemedium" /> <TextView android:id="@+id/textview_alarm_days" android:textappearance="?android:attr/textappearancesmall" /> </LinearLayout>

55 Berikut kode untuk layout alarm_activity.xml. <ListView android:id="@android:id/list" android:layout_width="match_parent" android:longclickable="true" android:background="@drawable/main_background"> </ListView> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:padding="10dp" android:text="no alarms have been set (Tidak ada alarm yang diatur)" /> Gambar 4.1 : Daftar Jadwal Alarm 4.1.2.2 Penulisan Kode Pada Tambah Jadwal Alarm Kode pada halaman tambah jadwal alarm merupakan tampilan sebuah button add, setelah user menekan tanda add pada daftar jadwal alarm. Pada halaman ini terdapat gambar logo, nama

56 aplikasi, button simpan, button hapus, dan menu follow me. Berikut beberapa kode untuk kelas AlarmPreferencesActivity.java. ImageButton deletebutton; TextView okbutton; TextView cancelbutton; ------------------------------------------------------------------ case BOOLEAN: CheckedTextView checkedtextview = (CheckedTextView) v; boolean checked =!checkedtextview.ischecked(); ((CheckedTextView) v).setchecked(checked); switch (alarmpreference.getkey()) { case ALARM_ACTIVE: alarm.setalarmactive(checked); break; case ALARM_VIBRATE: alarm.setvibrate(checked); if (checked) { Vibrator vibrator = (Vibrator) getsystemservice(vibrator_service); vibrator.vibrate(1000); } break; } alarmpreference.setvalue(checked); ------------------------------------------------------------------ public void onclick(dialoginterface dialog, int which) { switch (alarmpreference.getkey()) { case ALARM_DIFFICULTY: Alarm.Difficulty d = Alarm.Difficulty.values()[which]; alarm.setdifficulty(d); break; case ALARM_TONE: alarm.setalarmtonepath(alarmpreferencelistadapter.getalarmtonepath s()[which]); if (alarm.getalarmtonepath()!= null) { if (mediaplayer == null) { mediaplayer = new MediaPlayer(); } else { if (mediaplayer.isplaying()) mediaplayer.stop(); mediaplayer.reset();} ------------------------------------------------------------------ public void onclick(final DialogInterface dialog, int which, boolean ischecked) { Alarm.Day thisday = Alarm.Day.values()[which]; if (ischecked) { alarm.addday(thisday); } else { if (alarm.getdays().length > 1) { alarm.removeday(thisday); } else { ((AlertDialog) dialog).getlistview().setitemchecked(which, true);} }} ------------------------------------------------------------------ public void ontimeset(timepicker timepicker, int hours, int minutes) { Calendar newalarmtime = Calendar.getInstance(); newalarmtime.set(calendar.hour_of_day, hours); newalarmtime.set(calendar.minute, minutes); newalarmtime.set(calendar.second, 0);

57 alarm.setalarmtime(newalarmtime); alarmpreferencelistadapter.setmathalarm(getmathalarm()); alarmpreferencelistadapter.notifydatasetchanged(); } ------------------------------------------------------------------ public boolean onoptionsitemselected(menuitem item) { switch (item.getitemid()) { case R.id.menu_item_save: Database.init(getApplicationContext()); if (getmathalarm().getid() < 1) { Database.create(getMathAlarm()); } else { Database.update(getMathAlarm());} ------------------------------------------------------------------ break; case R.id.menu_item_delete: AlertDialog.Builder dialog = new AlertDialog.Builder(AlarmPreferencesActivity.this); dialog.settitle("delete"); dialog.setmessage("delete this alarm?"); dialog.setpositivebutton("ok", new OnClickListener() { public void onclick(dialoginterface dialog, int which) { Database.init(getApplicationContext()); if (getmathalarm().getid() < 1) { } else { Database.deleteEntry(alarm); callmathalarmscheduleservice();} finish();} }); dialog.setnegativebutton("cancel", new OnClickListener() { public void onclick(dialoginterface dialog, int which) { dialog.dismiss();} }); dialog.show(); Berikut kode untuk layout alarm_preferences.xml. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="0dp" android:drawselectorontop="false" android:background="@drawable/main_background" /> </LinearLayout>

58 Gambar 4.2 : Tambah Jadwal Alarm 4.1.2.3 Penulisan Kode Pada Jawab Pertanyaan Kode pada halaman jawab pertanyaan merupakan tampilan sebuah pertanyaan matematika yang diiringi bunyi alarm, setelah user menetapkan waktu dan hari yang telah ditentukan sebelumnya. Pada halaman ini terdapat textview1 untuk pertanyaan matematika, dan textview2 untuk menjawab pertanyaan tersebut, terdapat button angka 0 sampai angka 9, button tanda koma (,), button tanda minus (-), dan button untuk menghapus karakter dari jawaban pertanyaan. Berikut kode untuk layout alarm_alert.xml.

59 <TableRow android:id="@+id/tablerow0" > <TextView android:id="@+id/textview1" android:textappearance="?android:attr/textappearancelarge" android:textsize="24dp" android:textcolor="#000ec8" /> </TableRow> <TableRow android:id="@+id/tablerow1" android:layout_height="0dp" > <TextView android:id="@+id/textview2" android:textappearance="?android:attr/textappearancelarge" android:textcolor="@android:color/black" </TableRow> <TableRow android:id="@+id/tablerow2" android:layout_height="0dp" > android:id="@+id/button1" android:tag="1" android:text="@string/_1" android:id="@+id/button2" android:tag="2" android:text="@string/_2" android:id="@+id/button3" android:tag="3" android:text="@string/_3" </TableRow>

60 <TableRow android:id="@+id/tablerow3" android:layout_height="0dp" > android:id="@+id/button4" android:tag="4" android:text="@string/_4" android:id="@+id/button5" android:tag="5" android:text="@string/_5" android:id="@+id/button6" android:tag="6" android:text="@string/_6" </TableRow> <TableRow android:id="@+id/tablerow4" android:layout_height="0dp" > android:id="@+id/button7" android:tag="7" android:text="@string/_7" android:id="@+id/button8" android:tag="8" android:text="@string/_8"

61 android:id="@+id/button9" android:tag="9" android:text="@string/_9" </TableRow> <TableRow android:id="@+id/tablerow5" android:layout_height="0dp" > android:id="@+id/button_decimal" android:tag="." android:text="@string/decimal_button_text" android:textsize="32dp" /> android:id="@+id/button0" android:tag="0" android:text="@string/_0" android:id="@+id/button_minus" android:tag="-" android:text="@string/minus_button_text" android:textsize="32dp" /> </TableRow> <TableRow android:id="@+id/tablerow6" > android:id="@+id/button_clear" android:tag="clear" android:text="@string/clear_button_text" </TableRow>

62 Gambar 4.3 : Jawab Pertanyaan 4.1.2.4 Penulisan Kode Pada Follow Me Kode pada menu Follow Me merupakan tampilan info pembuat aplikasi yang menuju ke alamat profil twitter, setelah user menekan menu follow me. Berikut beberapa kode untuk menu.xml. <item android:id="@+id/menu_item_website" android:icon="@drawable/glyphicons_340_globe" android:title="follow Me"> </item>

63 Berikut beberapa kode untuk kelas BaseActivity.java. @Override public boolean onoptionsitemselected(menuitem item) { String url = null; Intent intent = null; switch (item.getitemid()) { case R.id.menu_item_new: Intent newalarmintent = new Intent(this, AlarmPreferencesActivity.class); startactivity(newalarmintent); break; case R.id.menu_item_website: url = "https://twitter.com/ihyabanyumanis"; intent = new Intent(Intent.ACTION_VIEW); intent.setdata(uri.parse(url)); try { startactivity(intent); } catch (ActivityNotFoundException e) { Toast.makeText(this, "Couldn't launch the website", Toast.LENGTH_LONG).show(); } break; } return super.onoptionsitemselected(item); } Gambar 4.4 : Follow Me

64 4.2 Pengujian Fungsionalitas Proses pengujian ini dilakukan dengan cara install aplikasi pada device. Dalam hal ini penulis akan menggunakan metode pengujian aplikasi black box. Untuk melihat apakah fungsi-fungsi pada aplikasi berjalan dengan baik atau tidak dan juga mengetahui dibagian mana saja terdapat kesalahan pada aplikasi ini untuk segera dapat diperbaiki oleh penulis. 4.2.1 Skenario Pengujian Pengujian aplikasi ini dilakukan menggunakan smartphone Xiaomi Redmi 2. Item yang diuji antara lain : Tabel 4.1 : Skenario Pengujian Aplikasi No. Nama Tes Sifat Kegiatan Masuk halaman 1. daftar jadwal alarm 2. Memilih tambah jadwal alarm Memilih hapus 3. daftar jadwal alarm Memilih edit 4. daftar jadwal alarm 5. Alarm berbunyi Menekan button 6. angka 0 sampai 9, koma dan minus Hasil yang diharapkan Menampilkan halaman daftar jadwal alarm Menampilkan halaman tambah jadwal alarm Menghapus daftar jadwal alarm Menampilkan halaman tambah jadwal alarm dan meng-update daftar jadwal alarm Menampilkan halaman pertanyaan matematika yang sudah diacak (random) Mencetak angka 0 sampai 9, koma dan minus di halaman jawab pertanyaan

65 7. Menekan button clear Membersihkan karakter pada jawaban di halaman jawab pertanyaan 8. Menjawab pertanyaan dengan jawaban yang salah Menampilkan halaman pertanyaan matematika yang sudah diacak (random) disertai tanda merah pada baris jawaban 9. Menjawab pertanyaan dengan jawaban yang benar Keluar aplikasi dan alarm berhenti berbunyi 10. Memilih follow me Menampilkan info pembuat aplikasi ke halaman profil twitter 11. Kembali ke halaman sebelumnya Menampilkan halaman sebelumnya 12. Memilih keluar aplikasi Keluar aplikasi 4.2.2 Hasil Pengujian Tabel 4.2 : Hasil Pengujian Aplikasi No. Nama Tes Sifat Kegiatan Hasil yang diharapkan Hasil Pengujian 1. Masuk halaman daftar jadwal alarm Menampilkan halaman daftar jadwal alarm 2. Memilih tambah jadwal alarm Menampilkan halaman tambah jadwal alarm 3. Memilih hapus daftar jadwal alarm Menghapus daftar jadwal alarm

66 4. Memilih edit daftar jadwal alarm 5. Alarm berbunyi 6. 7. 8. Menekan button angka 0 sampai 9, koma dan minus Menekan button clear Menjawab pertanyaan dengan jawaban yang salah Menampilkan halaman tambah jadwal alarm dan meng-update daftar jadwal alarm Menampilkan halaman pertanyaan matematika yang sudah diacak (random) Mencetak angka 0 sampai 9, koma dan minus di halaman jawab pertanyaan Membersihkan karakter pada jawaban di halaman jawab pertanyaan Menampilkan halaman pertanyaan matematika yang sudah diacak (random) disertai tanda merah pada baris jawaban 9. Menjawab pertanyaan dengan jawaban yang benar Keluar aplikasi dan alarm berhenti berbunyi

67 10. Memilih follow me Menampilkan info pembuat aplikasi ke halaman profil twitter 11. Kembali ke halaman sebelumnya Menampilkan halaman sebelumnya 12. Memilih keluar aplikasi Keluar aplikasi 4.3 Analisis Hasil Pengujian Setelah tahap pengujian black box diatas terhadap semua fungsi pada Aplikasi alarm weker dengan pertanyaan menggunakan algoritma Fisher Yates Shuffle berbasis android yang sudah dijalankan, maka dapat disimpulkan : 1. Pada saat pembuatan aplikasi penulis menggunakan smartphone android dan AVD Manager (Android Virtual Device) untuk mengetahui Error dan yang lainnya, sehingga aplikasi dapat berjalan dengan baik pada android. 2. Fungsi-fungsi pada aplikasi berjalan dengan baik seperti, pengacakan angka dan operator pada pertanyaan matematika, menampilkan pertanyaan matematika dengan tingkat kesulitan yang dipilih oleh pengguna, menampilkan pertanyaan matematika yang diiringi dengan bunyi alarm, dan menampilkan pertanyaan matematika yang diiringi dengan bunyi alarm secara terus-menerus apabila pengguna salah menjawab pertanyaan matematika. 3. Aplikasi membutuhkan koneksi internet untuk membuka info pembuat aplikasi.