Laporan Praktikum Pemrograman Mobile IV
Laporan Praktikum Pemrograman Mobile IV
PEMROGRAMAN MOBILE
Oleh:
KELOMPOK IV
1. I Putu Gunawan
(1304505019)
(1304505069)
(1304505072)
(1304505082)
(1304505095)
KELOMPOK
JURUSAN
FAKULTAS
TANGGAL
:
:
:
:
Asisten Dosen,
Agus Setiawan
NIM. 1204505011
Mengetahui,
Dosen Pengampu,
ABSTRAK
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
memberikan rahmat serta karunia-Nya kepada penulis sehingga penulis berhasil
menyelesaikan Laporan Akhir Praktikum Pemrograman Mobile ini dengan tepat
pada waktunya. Laporan ini merupakan syarat untuk dapat mengikuti ujian
praktikum dan merupakan salah satu syarat dalam mata kuliah Praktikum
Pemrograman Mobile.
Penulis juga tidak lupa ucapkan terimakasih kepada dosen pengampu,
asisten dosen mata kuliah Praktikum Pemrograman Mobile serta teman-teman
mahasiswa yang membantu dan memperlancar jalannya mata kuliah Praktikum
Pemrograman Mobile serta selalu membimbing dan memberi masukan kepada
penulis jika mengalami kesulitan dalam melaksanakan praktikum dan penyusun
laporan ini maupun semua pihak yang membantu penulis dalam hal penyusunan
laporan ini.
Laporan ini masih sangat jauh dari kesempurnaan oleh karena itu kritik
serta saran yang membangun masih penulis harapkan untuk penyempurnaan
laporan akhir ini. Sebagai manusia biasa penulis merasa memiliki banyak
kesalahan, oleh karena itu kebesaran hati untuk dapat memaafkan penulis demi
kelancaran penyelesaian laporan ini.
Atas perhatian dari semua pihak yang membantu penulisan ini penulis
ucapkan terimakasih. Semoga laporan ini dapat dipergunakan seperlunya.
Bukit Jimbaran, 19 Desember 2015
Penulis
DAFTAR ISI
Lembar Pengesahan Praktikum Pemrograman Mobile ...................................
Abstrak .............................................................................................................
Kata Pengantar .................................................................................................
Daftar Isi ..........................................................................................................
Daftar Kode Program .......................................................................................
Daftar Gambar .................................................................................................
Daftar Tabel .....................................................................................................
BAB I Pendahuluan .........................................................................................
1.1
1.2
1.3
1.4
1.5
1.6
BAB V Penutup
5.1
5.2
Simpulan .........................................................................................
Saran ................................................................................................
DAFTAR GAMBAR
Gambar 2.1 Berbagai Jenis EditText pada Pallete
Gambar 2.2 Layout Button
Gambar 2.3 Siklus Hidup Android
Gambar 2.4 ArrayAdapter.
Gambar 3.1 Gambaran Umum Aplikasi Data Mahasiswa
Gambar 3.2 Gambaran Umum Aplikasi Tebak Gambar...
Gambar 3.3 Flowchart Modul Satu ..
Gambar 3.4 Flowchart Modul Dua
Gambar 3.5 Flowchart Modul Tiga ..
Gambar 3.6 Flowchart Modul Empat ...
Gambar 3.7 Flowchart Tebak Gambar..
Gambar 4.1 Tampilan Halaman Utama Portait1
Gambar 4.2 Tampilan Halaman Utama Portait2 ...
Gambar 4.3 Tampilan Halaman Utama Landscape1 .
Gambar 4.4 Tampilan Halaman Utama Landscape2 .
Gambar 4.4 Tampilan Halaman Utama Landscape2
Gambar 4.6 Tampilan Modul Satu ENG Portait
Gambar 4.7 Tampilan Modul Satu IND Landscape .
Gambar 4.8 Tampilan Modul Satu ENG Landscape
Gambar 4.9 Uji Coba Modul Satu IND Portait
Gambar 4.10 Uji Coba Modul Satu ENG Portait .
Gambar 4.11 Uji Coba Modul Satu IND Landscape
Gambar 4.12 Uji Coba Modul Satu ENG Landscape ...
Gambar 4.13 Tampilan Modul Dua IND Portait ..
Gambar 4.14 Tampilan Modul Dua ENG Portait .
Gambar 4.15 Tampilan Modul Dua IND Landscape
Gambar 4.16 Tampilan Modul Dua ENG Landscape ...
Gambar 4.17 Uji Coba Modul Dua IND Portait
Gambar 4.18 Uji Coba Modul Dua ENG Portait ...
Gambar 4.19 Uji Coba Modul Dua IND Landscape ..
BAB I
PENDAHULUAN
Latar Belakang
Perkembangan teknologi yang semakin pesat saat ini telah membuat
banyak perubahan dalam gaya hidup masyarakat. Salah satu perubahannya adalah
banyaknya penggunaan smartphone, terutama yang berbasis Android untuk
kehidupan sehari-hari. Pengguna smartphone berasal dari berbagai kalangan dan
umur. Penggunaannya bisa berupa browsing, e-mail, bermain game, dan
sebagainya, untuk memenuhi kebutuhan tersebut terdapat vendor yang mampu
menjadi penyedia OS dari smartphone yang ada mulai dari Microsoft dengan OS
Windows Phone, Apple dengan IOS-nya, dan yang paling banyak digunakan
Google dengan Android OS-nya.
Pengembang cenderung memilih untuk mengembangkan sebuah aplikasi
yang memiliki kriteria bahasa pemrograman yang mudah dipelajari, memiliki
dukungan komunitas yang tinggi, dan tentunya bersifat open source. Seluruh
kriteria tersebut terdapat pada Android yang menggunakan Bahasa Pemrograman
Java, memiliki banyak dukungan komunitas, open source, dan didukung oleh
perusahaan Google yang sudah memberikan IDE-nya yaitu Android Studio.
Seorang programmer mobile dituntut menguasai teknis pemrograman mobile yang
dalam kasus ini adalah pemrograman mobile berbasis Android untuk menghadapi
persaingan dan memenuhi kebutuhan individu baik yang berorientasi bisnis dan
bersifat menghibur.
Menghadapi berbagai perkembangan tersebut, Praktikum Pemrograman
Mobile ini akan membahas mengenai Android beserta dengan pembuatan
aplikasinya. Aplikasi yang dibuat ialah Aplikasi Data Mahasiswa dimana aplikasi
ini bertujuan untuk mengetahui data mahasiswa dan Aplikasi Kuis Gambar yang
merupakan sebuah aplikasi game tebak gambar.
1.2
Rumusan Masalah
Berdasarkan latar belakang di atas, dapat dirumuskan beberapa rumusan
3.
4.
Android?
Bagaimana pembuatan aplikasi tebak gambar?
1.3
Tujuan
Tujuan dari dilaksanakannya Praktikum Pemrograman Mobile adalah
sebagai berikut:
1.
2.
3.
Android.
Mengetahui dan dapat mengimplementasikan Intent dan Activity lifecycle
4.
1.4
Manfaat
Manfaat yang diharapkan dapat diperoleh dari hasil dilaksanakannya
2.
4.
1.5
Batasan Masalah
Batasan masalah yang terdapat pada laporan praktikum pemrograman
2.
3.
1.6
Sistematika Penulisan
Sistematika penulisan yang diterapkan untuk menyajikan gambaran
singkat mengenai permasalahan yang akan dibahas dalam penulisan laporan akhir
Praktikum Pemrograman Mobile sehingga akan memperoleh gambaran yang jelas
tentang isi dari penulisan ini terdiri dari lima bab diantaranya adalah sebagai
berikut:
BAB I PENDAHULUAN
Bab ini, penyusun akan membahas mengenai latar belakang, rumusan
masalah, tujuan, manfaat dan batasan masalah serta lingkup pembahasan yang
akan dilakukan pada Praktikum Pemrograman Mobile ini.
BAB II TINJAUAN PUSTAKA
Bab ini, penyusun akan menguraikan definisi dan membahas beberapa
hal dari setiap modul yang telah dilakukan dalam Praktikum Pemrograman
Mobile ini.
BAB III METODOLOGI PENELITIAN
BAB II
TINJAUAN PUSTAKA
Menurut Oxford Learners Pocket Dictionary, game adalah form of play or sport
with rules (bentuk permainan atau olah raga dengan aturan-aturan). Game adalah
setiap kontes antara pemain yang berinteraksi satu sama lain dengan mengikuti
aturan-aturan tertentu untuk mencapai tujuan-tujuan tertentu pula (Sadiman,
2011:75). Alat permainan edukasi adalah alat permainan yang dirancang khusus
untuk kepentingan pendidikan (Tedjasaputra, 2001: 81-82). Salah satu game
Android yang akan dibuat ialah aplikasi tebak gambar, dimana aplikasi ini
merupakan sebuah game yang akan mengasah otak penggunanya dengan menebak
kumpulan gambar yang disusun sedemikian rupa sehingga akan menghasilkan
jawaban yang berupa istilah sehari-hari, peristiwa, bahkan ungkapan yang
menarik.
Aplikasi Tebak Gambar Nama Artis (Ridwan, 2014), merupakan yang
memuat gambar-gambar artis maupun aktor Indonesia dengan gambar yang
disamarkan menggunakan pendukung yang ada tanpa bermaksud atau tujuan
apapun yang bersifat negatif. Aplikasi ini merupakan sebuah permainan tebakan
yang dapat dimainkan oleh siapa saja. Alur dari permainan ini yaitu melihat
gambar wajah artis yang tersamar, kemudian klik huruf-huruf yang ada dan secara
otomatis huruf yang diklik akan berpindah ke kotak-kotak yang telah tersedia.
Aplikasi Tebak Gambar Nama Artis berberda dengan aplikasi pada jurnal
(Mawan Eko Suwito, 2013) dengan judul Aplikasi Permainan Tebak Gambar
TextView
TextView digunakan untuk menampilkan label teks. Beberapa contoh
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/hello_world"
/>
Kode Program 2.1 Sintaks Widget TextView
Kode Program 2.1 merupakan sintaks layout untuk widget TextView yang
digunakan untuk menampilkan teks.
2.2.2
EditText
EditText digunakan untuk menerima input dari pengguna. EditText pada
palette telah disediakan berbagai jenis yang dapat dipakai sesuai keperluan.
Button
Button merupakan turunan dari TextView sehingga yang berlaku pada
textView juga akan berlaku pada button. Tambahan property yang penting pada
button adalah onClick.
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="60dp"
android:textStyle="italic"
android:onClick="bSapaClick"
android:text="Klik Saya"
/>
Kode Program 2.2 Sintaks Layout Button
Kode Program 2.2 merupakan sintaks untuk desain layout button dengan
output text berupa Klik Saya yang akan tampil seperti pada Gambar 2.2.
Gambar 2.2 merupakan tampilan hasil dari sintaks pada Kode Program
2.2. Button dapat diatur dalam sintaks pada Kode Program 2.2 seperti textStyle,
text yang akan ditampilkan misalnya Klik Saya, dan sebagainya.
2.3
SeekBar
Seekbar adalah komponen Android yang dipakai untuk menggeser nilai
dari nilai awal (biasanya 0) sampai nilai akhir (biasanya 100). Seekbar sering
dipakai untuk mengatur volume suara, kecerahan warna, quota bandwidth, ukuran
gambar dan sebagainya.
2.3.2
CheckBox
CheckBox adalah jenis tombol pilihan keadaan yang dapat di centang
atau tidak dicentang. Sebuah CheckBox adalah elemen kontrol grafis yang
memungkinkan pengguna untuk membuat pilihan biner, yaitu pilihan antara salah
satu opsi yang memungkinkan saling ekslusif. Misalnya, pengguna mungkin harus
menjawab ya (dicentang) atau tidak (tidak dicentang) pada pertanyaan
sederhana ya atau tidak.
CheckBox sering ditampilkan pada layar persegi yang dapat berisi spasi
(untuk false) atau tanda centang atau x (untuk true), seperti yang ditunjukkan (
atau , masing-masing). Sebuah keterangan yang menjelasakan arti dari
RadioButton
RadioButton adalah salah satu widget yang cocok digunakan suatu
kumpulan pilihan data atau item yang tidak banyak. Jika pilihan sangat banyak
maka lebih baik menggunakan spinner. Android memiliki framework data adapter
yang memberikan interface umum untuk pilihan baik berupa static array maupun
isi database.
2.3.4 Toast
Toast adalah pesan text yang ditampilkan pada android. Toast memiliki
fungsi untuk memberikan informasi dalam bentuk text. Toast merupakan sebuah
umpan balik sederhana dari sebuah operasi dalam sebuah pop-up. Toast hanya
mengisi sebagian ruang dari aplikasi. Contoh penggunaan Toast misalnya ketika
mengirim SMS, pada saat SMS terkirim biasanya akan muncul pemberitahuan
bahwa pesan telah terkirim. Toast akan otomatis hilang ketika durasi untuk
menampilkannya telah habis atau timeout.
2.4
Lifecycle.
2.4.1
Intent
Intent merupakan suatu pesan yang digunakan untuk mengaktifkan tiga
komponen dasar pada aplikasi Android yaitu Activity, Service, dan Broadcast
Receiver. Aktivasi pada komponen-komponen tersebut bisa terjadi pada aplikasi
yang sama atau berbeda, seperti menjalankan Activity, inisiasi Service, atau
pengiriman pesan kepada Broadcast Receiver. Saat terjadi komunikasi antar
2.
3.
dengan
mempassing
Context.sendBroadcast(),
object
Intent
pada
fungsi
Context.sendOrderedBroadcast(), atau
Context.sendStickyBroadcast().
2.4.2
Activity Lifecycle
Android memiliki siklus hidup Activity. Siklus hidup tersebut dimulai
pada saat aplikasi berjalan pada sistem, Android memiliki sebuah Activity
program yang terjadi dalam beberapa pernyataan program atau tahapan (state).
Programmer tidak dapat melakukan kontrol terhadap tahapan tersebut karena
semua sudah diatur oleh sistem. Tujuan dari siklus hidup ini adalah untuk
mengelola memori atau Activity processor secara mandiri. Sejauh ini sering
menjumpai method onCreate. Method tersebut merupakan salah satu dari siklus
hidup dari Android. Berikut adalah siklus hidup dari Android :
2.
3.
pengguna.
onResume adalah metode yang dipanggil ketika Activity di-resume
kembali atau ditampilkan kembali pada saat posisi Activity onPause.
Method ini dipanggil ketika Activity dinyatakan siap berinteraksi dengan
4.
user.
onPause adalah metode yang dipanggil ketika Activity dalam keadaan
pause tidak melakukan kegiatan apa-apa sehingga proses dari Activity
5.
6.
7.
2.4.3
aplikasi lain.
Tidak mengkonsumsi daya berlebih jika user sedang tidak menggunakan
3.
4.
aplikasi.
Tidak kehilangan progress dari aplikasi (biasanya diterapkan pada game).
Tidak crash saat layar dalam mode rotated.
2.4.4
fase-fase yaitu :
2.4.4.1 Start an Activity
Fase ini dimulai pada saat Activity mulai running. Activity akan
menjalankan beberapa method lifecycle yaitu onCreate, onStart, dan onResume.
2.4.4.2 Pausing & Resuming an Activity
Fase ini dimulai pada saat Activity dalam keadaan pause atau Activity
tidak melakukan kegiatan apa-apa dan resume atau Activity melanjutkan Activity
yang sebelummnya dalam keadaan pause. Activity akan menjalankan method
onPause dan onResume.
2.4.4.3 Stoping and Restarting an Activity
Fase Stoping and Restarting an Activity disaat aplikasi sedang dalam
keadaan:
1.
Pengguna membuka RecentApps dan beralih ke aplikasi lain. Kegiatan
2.
3.
4.
ListView
ListView adalah subclass dari AdapterView yang menampilkan daftar
Widget Listview
ListView adalah view group yang digunakan untuk menampilkan item
dengan tampilan secara vertical list. Listview memiliki property wajib yaitu
layout_height, layout_width, dan ID. Listview juga memiliki class ListActivity
yang khusus menangani ListView. Listview mempunyai action listener yang
digunakan ketika user memilih salah satu item yang ada di ListView. Adapun
beberapa macam action listener yang terdapat pada ListView antara lain:
1.
setOnItemClickListener merupakan action ketika user menekan atau tap
2.
3.
2.5.2
ListActivity
ListActivity adalah class Activity yang dikhususkan untuk ListView. Sama
seperti class Activity, ListActivity juga memiliki lifecycle. Perbedaan dari kedua
class ini tertera pada penggunaan ListActivity yang lebih spesifik untuk ListView
dibanding Activity yang memiliki lingkup global.
2.5.3
ArrayAdapter
Setiap kali ingin menampilkan daftar vertical item digulir maka akan
2.6
ketiga harus terus jatuh dibawah terms. Distribusi Android berada dibawah lisensi
Apache Software (ASL/Apache2), yang memungkin untuk distribusi kedua atau
seterusnya. Pengembang aplikasi Android diperbolehkan untuk mendistribusikan
aplikasi mereka di bawah skema lisensi apapun yang mereka inginkan.
Pengembang memiliki beberapa pilihan dalam membuat aplikasi yang
berbasis Android. Namun, kebanyakan pengembang menggunakan Eclipse
sebagai IDE untuk merancang aplikasi mereka. Hal ini diikarenakan Eclipse
mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan
aplikasi Android. Aplikasi Android dapat dikembangkan pada berbagai sistem
operasi, diantaranya adalah: Windows XP/Vista/7, Mac OS X (Mac OS X 10.48
atau yang lebih baru), dan Linux.
Sistem operasi dengan basis sistem operasi Linux ini pertama kali
dikembangkan oleh Android, Inc dengan dukungan dari pihak Google. Google
kemudian membeli sistem operasi tersebut pada tahun 2005 dan terus
mengembangkannya hingga resmi dirilis pada tahun 2007. Sistem operasi Android
tersebut dirilis bersamaan dengan pendirian Open Handset Alliance yang
merupakan sebuah konsorsium dari beberapa perusahaan yang bergerak di bidang
telekomunikasi, perangkat keras dan perangkat lunak untuk bersama-sama
mengembangkan perangkat seluler.
Telepon seluler pertama yang menggunakan sistem operasi Android yang
pertama dirilis secara resmi ke pasar pada Oktober 2008 adalah HTC Dream yang
diikuti oleh pengembang telepon seluler lain yang menggunakan sistem operasi
open source Android 1.0 Astro tersebut. Berikut ini sejarah perkembangan sistem
operasi Android sejak diperkenalkan ke publik pada tanggal 5 November 2007.
2.6.1.1 Android Beta
Android Beta merupakan versi pertama sistem operasi Android yang
dirilis oleh Google pada tanggal 5 November 2007. Ini merupakan versi resmi
yang diperkenalkan ke publik setelah Google mengaukuisisi Android, Inc pada
tahun 2005. Sesaat setelah diperkenalkannya sistem operasi Android Beta, Google
merilis Software Development Kit atau SDK dari sistem operasi Android pada 12
November. Sebagai sistem operasi open source, pihak Google merilis kode
pemrograman sistem operasi Android di bawah lisensi Apache dan dapat
versi 2.2.3. Android 2.3 Gingerbread pertama kali dirilis pada 6 Desember 2010.
Perkembangan pesat terjadi pada update kali ini dengan optimasi kemampuan
aplikasi serta game serta disertakannya Near Field Communication. Dukungan
untuk penggunaan layar WXVGA serta perkembangan hingga dirilisnya versi
2.3.7 membuat era Gingerbread menjadi era perkembangan pesat Android yang
disertai dengan jumlah pengguna terbanyak dibandingkan versi-versi sebelumnya.
2.6.1.4 Android versi 3.x
Sistem operasi Android 3.0 Honeycomb dan Android 3.1 Honeycomb
dirilis untuk pertama kali pada 22 Februari 2011. Sistem operasi Android ini
pertama kali dipasang pada Motorola Xoom. Tidak seperti sistem operasi Android
yang sebelumnya, Android 3.x Honeycomb dikembangkan secara khusus untuk
melakukan optimasi fungsi dan aplikasi pada PC tablet.
2.6.1.5 Android versi 4.x
Sistem operasi Android 4.0 Ice Cream Sandwich merupakan generasi
Android selanjutnya. Sistem operasi Android ini pertama kali diperkenalkan pada
19 Oktober 2011 dan Samsung Galaxy Nexus menjadi smartphone pertama yang
menggunakan sistem operasi ini. Sistem operasi ini dikembangkan untuk menjadi
versi update dari sistem operasi Android sebelumnya. Secara teori semua
perangkat telepon seluler yang menggunakan Android Gingerbread dapat diupgrade menjadi menggunakan sistem operasi Android Ice Cream Sandwich.
Sistem operasi Android 4.1 Jelly Bean merupakan lanjutan dari pengembangan
sistem operasi Android sebelumnya; sistem operasi ini memiliki beberapa
keunggulan yang tidak dimiliki oleh sistem operasi versi sebelumnya serta
menawarkan beberapa fitur baru. Pembaruan pada sistem input keyboard,
tampilan baru pada fitur pencarian dan Voice Search serta tampilan interface yang
lebih mudah dipahami dan digunakan.
Penambahan fitur Google Now menjadi sebuah lompatan besar pada
sistem operasi Android 4.1 Jelly Bean ini. Google Now dapat memberikan
berbagai macam informasi terkini seperti kondisi cuaca, kepadatan lalu lintas
hingga informasi populer seperti hasil pertandingan bola basket dan sepak bola.
Sistem operasi ini pertama kali digunakan pada tablet buatan Asus yaitu Google
Nexus7. Android 4.2 Jelly Bean merupakan versi update dari versi 4.1, terdapat
beberapa perbaikan dan penambahan fitur seperti adanya fitur photosphere untuk
Android Studio
Android Studio merupakan sebuah Integrated Development Environment
(IDE) untuk platform Android. Android Studio ini diumumkan pada tanggal 16
Mei 2013 pada Konferensi Google I/O oleh Produk Manajer Google, Ellie
Powers. Android studio bersifat free dibawah Apache License 2.0. Android Studio
awalnya dimulai dengan versi 0.1 pada bulan Mei 2013, kemudian dibuat versi
beta 0.8 yang dirilis pada bulan juni 2014. Versi paling stabil dirilis pada bulan
Desember 2014, dimulai dari versi 1.0. berbasiskan JetBrainns IntelliJ IDEA,
Android Studio didesain khusus untuk Android Development.
2.6.3
Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
Android SDK
Android-SDK merupakan tools bagi para programmer yang ingin
Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih
baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan
menggunakan plugin Android Development Tools (ADT), dengan ini pengembang
dapat menggunakan teks editor untuk mengedit file Java dan XML serta
menggunakan peralatan command line untuk menciptakan, membangun,
melakukan debug aplikasi Android dan pengendalian perangkat Android
(misalnya, reboot, menginstal paket perangkat lunak dengan jarak jauh).
Android SDK telah dirilis pada tanggal 12 November 2007. Tanggal 18
Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini menyediakan API yang
diperbarui dan diperluas, perbaikan pada alat-alat pengembangan dan desain
terbaru untuk layar awal. Petunjuk untuk meng-upgrade SDK sudah tersedia pada
rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK telah dirilis.
Pada tanggal 9 Maret 2009, Google merilis versi 1.1 untuk telepon seluler
Android. Rilis terbaru tersebut termasuk dukungan untuk pencarian dengan suara,
harga aplikasi, perbaikan jam alarm, perbaikan pengiriman gmail, perbaikan surat
pemberitahuan dan peta.
Pertengahan Mei 2009, Google merilis versi 1.5 (Cupcake) pada sistem
operasi Android dan SDK. Pembaruan ini termasuk banyak fitur baru seperti
perekaman video, dukungan untuk bluetooth, sistem keyboard pada layar dan
pengenalan suara. Rilis ini juga membuka AppWidget framework kepada para
pengembang yang memungkinkan orang untuk membuat widget sendiri pada
halaman home. Pada September 2009 versi 1.6 (Donut) dirilis yang menampilkan
hasil pencarian yang lebih baik dan penggunaan indikator baterai.
Aplikasi Android dipaketkan ke dalam format .apk dan disimpan pada
folder /data/app. Pengguna dapat menjalankan perintah adb root untuk mengakses
folder tersebut karena root memiliki izin untuk mengakses folder tersebut.
2.6.5
Android ADT
Android Development Tools (ADT) adalah plugin yang didesain untuk
JDK
JDK adalah perangkat lunak yang digunakan untuk melakukan proses
kompilasi dari kode java ke bytecode yang dapat dimengerti dan dapat dijalankan
oleh JRE (Java Runtime Envirotment). JDK wajib ter-install pada komputer yang
akan melakukan proses pembuatan aplikasi berbasis java, namun tidak wajib terinstall di komputer yang akan menjalankan aplikasi yang dibangun dengan java.
2.6.7
XML
XML singkatan dari eXtended Markup Language adalah bahasa Markup
yang digunakan untuk menyimpan data (tidak ada program) dan tidak tergantung
dengan tools tertentu (seperti editor, DBMS, dan compiler). XML merupakan
suatu bahasa Markup. Markup yaitu bahasa yang berisikan kode-kode berupa
tanda-tanda tertentu dengan aturan tertentu untuk memformat dokumen teks
dengan tag sendiri agar dapat dimengerti. Android XML digunakan untuk
merancang interface pada sebuah program yang akan dibuat.
BAB III
METODOLOGI PENELITIAN
Metodologi Penelitian
Langkah-langkah yang ditempuh dalam pembuatan dan penulisan
2.
3.
2.
pustaka,
internet
maupun
melakukan
wawancara
dengan
meliputi
perancangan
aliran data
antar aktivitas
dengan
4.
5.
3.2
Alur Aplikasi
Alur aplikasi dari aplikasi Android data mahasiswa dan aplikasi tebak
Gambar 3.4 Flowchart Modul Dua merupakan bagan alir aplikasi data
mahasiswa pada modul dua, dimana user dapat melakukan input berupa NIM,
nama, jenis kelamin dan mata kuliah. Kemudian, dilakukan proses untuk
mengambil input-an tersebut dan akhirnya data tersebut ditampilkan pada halaman
yang sama.
Gambar 3.5 Flowchart Modul Tiga merupakan bagan alir aplikasi data
mahasiswa pada modul tiga, dimana user dapat melakukan input berupa NIM,
nama, jenis kelamin, alamat dan mata kuliah. Kemudian, dilakukan proses untuk
mengambil input-an tersebut dan akhirnya data tersebut ditampilkan pada halaman
yang berbeda.
Gambar 3.6 Flowchart Modul Empat merupakan bagan alir aplikasi data
mahasiswa pada modul empat, dimana user dapat melakukan pilihan untuk
melihat Simple ListView atau Custom ListView.
BAB IV
PEMBAHASAN DAN ANALISIS HASIL
dimana user yang merupakan mahasiswa diwajibkan meng-input data yang telah
disediakan aplikasi. Aplikasi ini terdiri dari empat modul, yaitu modul satu, modul
dua, modul tiga, dan modul empat. Masing-masing modul memiliki perbedaan
pada fiturnya, dimana akan terdapat tambahan fitur dari modul satu hingga modul
empat.
Aplikasi pada modul satu membahas mengenai TextView, EditText dan
Button. Aplikasi modul dua mirip dengan aplikasi modul satu dimana
ditambahkan widget SeekBar, CheckBox, RadioButton ke dalam aplikasi yang
telah dibuat pada modul satu. Hasil masukan user ditampilkan pada TextView dan
menampilkan Toast pada event onStartTrackingTouch dan onStopTrackingTouch
pada SeekBar.
Aplikasi modul tiga mirip seperti aplikasi modul dua hanya saja hasil
masukan user ditampilkan ke dalam Activity baru dengan menggunakan Intent
berparameter. Aplikasi ini mengimplementasikan empat method dari Activity
Lifecycle ke dalam Activity baru tersebut. Aplikasi pada modul empat
mengimplementasikan Simple ListView dan Custom ListView ke dalam aplikasi
yang dibuat.
4.2
dan Button. EditText digunakan untuk input oleh user, Button digunakan untuk
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:background="#bc3535"
android:onClick="Modul1"
android:text="@string/m1"
android:textColor="#ffffff" />
<Button
android:id="@+id/button2"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="38dp"
android:background="#bc3535"
android:onClick="Modul2"
android:text="@string/m2"
android:textColor="#ffffff" />
<Button
android:id="@+id/button3"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/button2"
android:layout_marginTop="46dp"
android:background="#bc3535"
android:onClick="Modul3"
android:text="@string/m3"
android:textColor="#ffffff" />
<Button
android:id="@+id/button4"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/button3"
android:layout_below="@+id/button3"
android:layout_marginTop="43dp"
android:background="#bc3535"
android:onClick="Modul4"
android:text="@string/m4"
android:textColor="#ffffff" />
</RelativeLayout>
</ScrollView>
Kode Program 4.1 activity_main.xml
import
import
import
import
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="500dp" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:ems="10"
android:hint="@string/nim"
android:inputType="number" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="@string/nama"
android:inputType="textPersonName" />
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:background="#bc3535"
android:textColor="#ffffff"
android:layout_marginTop="90dp"
android:onClick="enter"
android:text="@string/enter" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="@string/alamat"
android:inputType="textPersonName" />
<TableLayout
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/kosong"
android:textSize="30sp"
android:textAppearance="?
android:attr/textAppearanceMedium" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="@string/kosong" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="@string/kosong" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="@string/kosong" />
</TableRow>
</TableLayout>
</RelativeLayout>
</ScrollView>
Kode Program 4.3 Modul Satu.xml
android.app.Activity;
android.os.Bundle;
android.text.Html;
android.view.View;
android.widget.EditText;
android.widget.TextView;
android.widget.Toast;
}
public boolean enter(View v){
String h1 = Nim.getText().toString();
String h2 = Nama.getText().toString();
String h3 = Alamat.getText().toString();
if (Nim.length() ==0){
Toast t =
Toast.makeText(getBaseContext(),R.string.Pn1,Toast.LENGTH_SHORT);
t.show();
Nim.setError(Html.fromHtml("<font color =
'red'>!!!</font>"));
}
if (Nama.length() ==0 ){
Toast t =
Toast.makeText(getBaseContext(),R.string.Pn,Toast.LENGTH_SHORT);
t.show();
Nama.setError(Html.fromHtml("<font color =
'red'> !!!</font>"));
}
if (Alamat.length() ==0 ){
Toast t =
Toast.makeText(getBaseContext(),R.string.Pa,Toast.LENGTH_SHORT);
t.show();
Alamat.setError(Html.fromHtml("<font color =
'red'> !!!</font>"));
return false;
}
else {
Bio.setText(R.string.bio);
HNim.setText("NIM :"+h1+"");
HNama.setText("NAMA :"+h2+"");
HAlamat.setText("Alamat :"+h3+"");
}
return true;
}
}
Kode Program 4.4 Modul Satu.java
Kode Program 4.4 Modul Satu.java merupakan kode program java dari
Kode Program 4.3 Modul Satu.xml. Kode program ini berfungsi untuk melakukan
dan menampilkan input-an.
Gambar 4.5 Tampilan Modul Satu IND Portait merupakan tampilan dari
modul satu dimana user dapat meng-input-kan NIM, Nama, dan Alamat dalam
versi Bahasa Indonesia dalam layar portait.
Gambar 4.6 Tampilan Modul Satu ENG Portait merupakan tampilan dari
modul satu dimana user dapat meng-input-kan NIM, Nama, dan Alamat dalam
versi Bahasa Inggris dalam layar portait.
Gambar 4.9 Uji Coba Modul Satu IND Portait merupakan uji coba
terhadap program modul satu dimana user meng-input-kan NIM = 1304045001
dengan Nama = Wayan, dan Alamat = Bali. Hasil input tersebut kemudian
ditampilkan pada halaman yang sama. Tampilan ini merupakan versi Bahasa
Indonesia dalam layar portait.
Gambar 4.10 Uji Coba Modul Satu ENG Portaitmerupakan uji coba
terhadap program modul satu dimana user meng-input-kan NIM = 1304045001
dengan Nama = Wayan, dan Alamat = Bali. Hasil input tersebut kemudian
ditampilkan pada halaman yang sama. Tampilan ini merupakan versi Bahasa
Inggris dalam layar portait.
Gambar 4.11 Uji Coba Modul Satu IND Landsacpe merupakan uji coba
terhadap program modul satu dimana user meng-input-kan NIM = 1304045001
dengan Nama = Wayan, dan Alamat = Bali. Hasil input tersebut kemudian
ditampilkan pada halaman yang sama. Tampilan ini merupakan versi Bahasa
Indonesia dalam layar Landscape.
Gambar 4.12 Uji Coba Modul Satu ENG Landsacpe merupakan uji coba
terhadap program modul satu dimana user meng-input-kan NIM = 1304045001
dengan Nama = Wayan, dan Alamat = Bali. Hasil input tersebut kemudian
ditampilkan pada halaman yang sama. Tampilan ini merupakan versi Bahasa
Inggris dalam layar Landscape.
4.3
android:text="MJS" />
<RadioGroup
android:id="@+id/radioG"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/checkBox3"
android:layout_below="@+id/textView1" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/L" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/P" />
</RadioGroup>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/radioG"
android:text="@string/Mk"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:text="DWH" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText1"
android:layout_below="@+id/editText1"
android:ems="10"
android:hint="@string/nama"
android:inputType="textPersonName" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText2"
android:layout_below="@+id/editText2"
android:text="@string/Jk"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:text="@string/kosong" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView5"
android:layout_below="@+id/textView5"
android:text="@string/kosong" />
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView6"
android:layout_below="@+id/textView6"
android:text="@string/kosong" />
<SeekBar
android:id="@+id/SeekBar1"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/checkBox3"
android:layout_centerHorizontal="true"
android:background="#bc3535"
android:textColor="#ffffff"
android:onClick="modul2"
android:text="@string/enter" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/checkBox4"
android:layout_alignLeft="@+id/checkBox4"
android:text="E-App" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/checkBox3"
android:layout_below="@+id/button1"
android:layout_marginTop="16dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView4"
android:layout_below="@+id/textView4"
android:text="@string/kosong" />
</RelativeLayout>
</ScrollView>
Kode Program 4.5 Modul Dua.xml
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.text.Html;
android.view.View;
android.widget.CheckBox;
android.widget.EditText;
android.widget.RadioGroup;
android.widget.SeekBar;
android.widget.TextView;
android.widget.Toast;
android.widget.SeekBar.OnSeekBarChangeListener;
Nama= (EditText)findViewById(R.id.editText2);
//checkbox
Check1=(CheckBox)findViewById(R.id.checkBox1);
Check2=(CheckBox)findViewById(R.id.checkBox3);
Check3=(CheckBox)findViewById(R.id.checkBox2);
Check4=(CheckBox)findViewById(R.id.checkBox4);
//Radiobutton
}
public void Utama(View v){
Intent U = new Intent (this,MainActivity.class);
startActivity(U);
}
public boolean modul2(View v){
String h1 = Nim.getText().toString();
String h2 = Nama.getText().toString();
RadioGroup JK = (RadioGroup) findViewById(R.id.radioG);
int id = JK.getCheckedRadioButtonId();
//Kode untuk EditText NIM dan Nama
if (Nim.length() ==0){
Toast t =
Toast.makeText(getBaseContext(),R.string.Pn1,Toast.LENGTH_SHORT);
t.show();
Nim.setError(Html.fromHtml("<font color = 'red'>
!!!</font>"));
}
if (Nama.length() ==0 ){
Toast t =
Toast.makeText(getBaseContext(),R.string.Pn,Toast.LENGTH_SHORT);
t.show();
Nama.setError(Html.fromHtml("<font color =
'red'> !!!</font>"));
}
else {
Bio.setText(R.string.bio);
HNim.setText("NIM :"+h1+"");
HNama.setText("NAMA :"+h2+"");
}
//Kode untuk RadioButton
String S="";
if (id == R.id.radioButton1){
S = "Laki-Laki";
}else if (id == R.id.radioButton2){
S = "Perempuan";
}else{
TextView Error = (TextView)
findViewById(R.id.textView1);
Error.setError(Html.fromHtml("<font
color = 'red'> !!!</font>"));
return false;
}
Hbutton.setText("Gender / Jenis Kelamin :"+S);
//Kode untuk CheckBox
String cb = "";
if (Check1.isChecked())
cb = ""+cb+ " " +
"DWH";
}
if (Check2.isChecked())
cb = ""+cb+" " +
"E-App";
}
if (Check3.isChecked()) {
cb = ""+cb+" " +
"IT-Forensic";
}
if (Check4.isChecked()) {
cb = ""+cb+" " +
"MJS";
}
//tampilkan di textview
Hcheck.setText("Favorite :"+cb+" ");
//Koding SeekBar
final SeekBar sb1=(SeekBar) findViewById(R.id.SeekBar1);
sb1.setProgress(start_position);
sb1.setOnSeekBarChangeListener(new
OnSeekBarChangeListener() {
int s=0;
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Size
="+String.valueOf(discrete)+"%", Toast.LENGTH_SHORT).show();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int
progress,boolean fromUser) {
// TODO Auto-generated method stub
s=progress;
Bio.setTextSize(s);
HNim.setTextSize(s);
HNama.setTextSize(s);
Hcheck.setTextSize(s);
Hbutton.setTextSize(s);
// To convert it as discrete value
float temp=progress;
float dis=end-start;
discrete=(start+((temp/100)*dis));
});
return true;
}
Kode Program 4.6 Modul Dua.java
Kode Program 4.6 Modul Dua.java merupakan kode program java dari
aplikasi modul dua. Kode program ini berfungsi untuk melakukan dan
menampilkan input-an.
Gambar 4.13 Tampilan Modul Dua IND Portait merupakan tampilan dari
modul dua dimana user dapat meng-input-kan NIM, Nama, Jenis Kelamin, dan
Mata Kuliah dalam versi Bahasa Indonesia dalam layar portait.
Gambar 4.17 Uji Coba Modul Dua IND Portait merupakan hasil uji coba
dari aplikasi data mahasiswa pada bagian modul dua dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
serta DWH dan E-APP sebagai pilihan mata kuliah. Hasil input-an tersebut
kemudian ditampilkan pada halaman yang sama. Tampilan ini merupakan versi
Bahasa Indonesia dalam layar portait.
Gambar 4.18 Uji Coba Modul Dua ENG Portait merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul dua dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
serta DWH dan E-APP sebagai pilihan mata kuliah. Hasil input-an tersebut
kemudian ditampilkan pada halaman yang sama. Tampilan ini merupakan versi
Bahasa Inggris dalam layar portait.
Gambar 4.19 Uji Coba Modul Dua ENG Landscape merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul dua dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
serta DWH dan E-APP sebagai pilihan mata kuliah. Hasil input-an tersebut
kemudian ditampilkan pada halaman yang sama. Tampilan ini merupakan versi
Bahasa Indonesia dalam layar landscape.
Gambar 4.20 Uji Coba Modul Dua ENG Landscape merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul dua dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
serta DWH dan E-APP sebagai pilihan mata kuliah. Hasil input-an tersebut
kemudian ditampilkan pada halaman yang sama. Tampilan ini merupakan versi
Bahasa Inggris dalam layar landscape.
4.4
pada modul dua ke dalam Activity baru dengan menggunakan Intent berparameter.
Aplikasi ini mengimplementasikan empat method dari Activity Lifecycle ke dalam
Activity baru tersebut.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="446dp" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="34dp"
android:ems="10"
android:hint="@string/nim"
android:inputType="phone" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:ems="10"
android:hint="@string/nama"
android:inputType="textPersonName" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText2"
android:layout_centerHorizontal="true"
android:ems="10"
android:hint="@string/alamat"
android:inputType="textPersonName" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editText3"
android:layout_below="@+id/editText3"
android:text="@string/Jk"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<RadioGroup
android:id="@+id/radioG"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/L" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/P" />
</RadioGroup>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radioG"
android:layout_below="@+id/radioG"
android:text="@string/Mk"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:text="DWH" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/checkBox1"
android:layout_below="@+id/checkBox1"
android:text="E-App" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox1"
android:layout_alignBottom="@+id/checkBox1"
android:layout_marginLeft="14dp"
android:layout_toRightOf="@+id/radioG"
android:text="IT-Forensic" />
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox2"
android:layout_alignBottom="@+id/checkBox2"
android:layout_alignLeft="@+id/checkBox3"
android:text="MJS" />
<Button
android:id="@+id/button1"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/checkBox2"
android:layout_centerHorizontal="true"
android:layout_marginTop="29dp"
android:background="#bc3535"
android:textColor="#ffffff"
android:onClick="go"
android:text="@string/enter" />
</RelativeLayout>
</ScrollView>
Kode Program 4.7 Modul Tiga_a.xml
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="15dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="18dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView4"
android:layout_centerHorizontal="true"
android:layout_marginTop="56dp"
android:background="#bc3535"
android:onClick="back"
android:text="@string/BC" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView4"
android:layout_below="@+id/textView4"
android:layout_marginTop="18dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="14dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button1"
android:layout_marginRight="33dp"
android:layout_marginTop="91dp"
android:text="@string/kosong"
android:textAppearance="?
android:attr/textAppearanceMedium" />
</RelativeLayout>
</ScrollView>
Kode Program 4.8 Modul Tiga_b.xml
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.text.Html;
android.view.View;
android.widget.CheckBox;
android.widget.EditText;import android.widget.RadioGroup;
android.widget.TextView;
android.widget.Toast;
}
Kode Program 4.9 Modul Tiga.java
Kode Program 4.9 Modul Tiga.java merupakan kode program java dari
aplikasi modul tiga. Kode program ini berfungsi untuk melakukan input dan
menampilkan input-an tersebut pada halaman baru.
Gambar 4.21 Tampilan Modul Tiga IND Portait merupakan tampilan dari
modul tiga dimana user dapat meng-input-kan NIM, Nama, Alamat, Jenis
Kelamin, dan Mata Kuliah dalam versi Bahasa Indonesia dalam layar portait.
Gambar 4.25 Uji Coba Modul Tiga IND Portait merupakan hasil uji coba
dari aplikasi data mahasiswa pada bagian modul tiga dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
Alamat = Bali serta DWH dan E-APP sebagai pilihan mata kuliah. Tampilan ini
merupakan versi Bahasa Indonesia dalam layar portait.
Gambar 4.26 Uji Coba Modul Tiga ENG Portait merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul tiga dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
Alamat = Bali serta DWH dan E-APP sebagai pilihan mata kuliah. Tampilan ini
merupakan versi Bahasa Inggris dalam layar portait.
Gambar 4.27 Uji Coba Modul Tiga IND Landscape merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul tiga dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
Alamat = Bali serta DWH dan E-APP sebagai pilihan mata kuliah. Tampilan ini
merupakan versi Bahasa Indonesia dalam layar landscape.
Gambar 4.28 Uji Coba Modul Tiga ENG Landscape merupakan hasil uji
coba dari aplikasi data mahasiswa pada bagian modul tiga dimana user melakukan
input berupa NIM = 1304505001, Nama = Wayan dengan jenis kelamin laki-laki,
Alamat = Bali serta DWH dan E-APP sebagai pilihan mata kuliah. Tampilan ini
merupakan versi Bahasa Inggris dalam layar landscape.
Gambar 4.29 Hasil Uji Coba Modul Tiga IND Portait merupakan hasil
uji coba dari aplikasi data mahasiswa pada bagian modul tiga dimana pada
halaman ini ditampilkan hasil input-an.Tampilan ini merupakan versi Bahasa
Indonesia dalam layar portait.
Gambar 4.30 Hasil Uji Coba Modul Dua ENG Portait merupakan hasil
uji coba dari aplikasi data mahasiswa pada bagian modul tiga dimana pada
halaman ini ditampilkan hasil input-an.Tampilan ini merupakan versi Bahasa
Inggris dalam layar portait.
Gambar 4.31 Hasil Uji Coba Modul Tiga IND Landscape merupakan
hasil uji coba dari aplikasi data mahasiswa pada bagian modul tiga dimana pada
halaman ini ditampilkan hasil input-an. Tampilan ini merupakan versi Bahasa
Indonesia dalam layar landscape.
Gambar 4.32 Hasil Uji Coba Modul Tiga ENG Landscape merupakan
hasil uji coba dari aplikasi data mahasiswa pada bagian modul tiga dimana pada
halaman ini ditampilkan hasil input-an. Tampilan ini merupakan versi Bahasa
Inggris dalam layar landscape.
4.5
android:layout_height="match_parent" >
<ListView
android:id="@+id/listView1"
android:layout_width="350dp"
android:layout_height="600dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#cb3535" >
</ListView>
</RelativeLayout>
Kode Program 4.11 Simple ListView.xml
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?
android:attr/textAppearanceMedium"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="2dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_marginLeft="10dp"/>
</LinearLayout>
</LinearLayout>
Kode Program 4.13 Custom ListView1.xml
Mobile ini sendiri merupakan game tebak gambar binatang yang terdiri dari tiga
katagori yaitu reptil, mamalia, dan unggas. Aplikasi akan menampilkan sebuah
gambar dari binatang sesuai dengan menu yang dipilih, kemudian user memilih
sesuai pilihan yang telah disediakan. Setelah selesai bermain maka akan
ditampilkan skor yang diperoleh. Skor tersebut dapat disimpan maupun tidak.
4.6.1
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
progressBar.setProgress(values[0]);
}
@Override
protected void onPostExecute(Integer result) {
super.onPostExecute(result);
finishedListener.onTaskFinished();
}
}
Kode Program 4.14 Class Loading
package com.example.gamekg;
import
import
import
import
import
com.example.gamekg.Loading.LoadingTaskFinishedListener;
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.widget.ProgressBar;
Kode Program 4.15 Class Main merupakan kode program yang berfungsi
sebagai Activity yang digunakan untuk memanggil class loading dan
memindahkan Activity ke Class Main_ Activity.
package com.example.gamekg;
import
import
import
import
import
import
android.net.Uri;
android.os.Bundle;
android.app.Activity;
android.app.AlertDialog;
android.content.Context;
android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
final Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar
if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void bantuan(View v){
Intent m1 = new Intent (this,Bantuan.class);
startActivity(m1);
finish();
}
public void Main(View v){
Intent m1 = new Intent (this,Kategory.class);
startActivity(m1);
finish();
}
public void Skor(View v){
Intent m1 = new Intent (this,Lihat.class);
startActivity(m1);
finish();
}
public void fb(View arg0){
Intent viewIntent =
new Intent("android.intent.action.VIEW",
Uri.parse("http://www.facebook.com/"));
startActivity(viewIntent);
}
public void ig(View arg0){
Intent viewIntent =
new Intent("android.intent.action.VIEW",
Uri.parse("http://www.instagram.com/"));
startActivity(viewIntent);
}
public void tw(View arg0){
Intent viewIntent =
new Intent("android.intent.action.VIEW",
Uri.parse("http://www.twitter.com/"));
startActivity(viewIntent);
}
@Override
public void
onBackPressed() {
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.app.Activity;
android.app.AlertDialog;
android.content.Context;
android.content.DialogInterface;
android.content.Intent;
android.graphics.Color;
android.media.MediaPlayer;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.ImageView;
import android.widget.TextView;
public class Soal extends Activity implements OnClickListener {
final Context context = this;
Button Img_A, Img_B, Img_C, Img_D;
ImageView layer;
TextView soal;
MediaPlayer mp = new MediaPlayer();
int [] Gambar
={R.drawable.cicak,R.drawable.derik,R.drawable.buaya,R.drawable.bu
nglon,R.drawable.iguana, R.drawable.kobra,
R.drawable.kura,R.drawable.piton,R.drawable.salamander,R.drawable.
tokek
};
String [] pertanyaan ={"1. Dari gambar Gambar merupakan
gambar?",
"2. Ular Jenis Apakah yang Ada
digambar diatas?",
"3. Hewan Apakah ini?",
"4. Hewan reptil apakah ini?",
"5. Hewan reptil apakah ini?",
"6. Hewan reptil apakah ini?",
"7. Hewan reptil apakah ini?",
"8. Hewan reptil apakah ini?",
"9. Hewan reptil apakah ini?",
"10. Hewan reptil apakah ini?",
};
benar = 0 , skor = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.soal);
layer=(ImageView)findViewById(R.id.layar);
layer.setImageResource( Gambar[0]);
soal=(TextView)findViewById(R.id.soal);
soal.setText(pertanyaan[0]);
Img_A=(
Button)findViewById(R.id.A);
Img_A.setText(pilihan_a[0]);
Img_A.setTextColor(Color.parseColor("#ffffff"));
Img_A.setOnClickListener(this);
Img_B=(
Button)findViewById(R.id.B);
Img_B.setText(pilihan_b[0]);
Img_B.setTextColor(Color.parseColor("#ffffff"));
Img_B.setOnClickListener(this);
Img_C=( Button)findViewById(R.id.C);
Img_C.setText(pilihan_c[0]);
Img_C.setTextColor(Color.parseColor("#ffffff"));
Img_C.setOnClickListener(this);
Img_D=( Button)findViewById(R.id.D);
Img_D.setText(pilihan_d[0]);
Img_D.setTextColor(Color.parseColor("#ffffff"));
Img_D.setOnClickListener(this);
}
@Override
public void
onBackPressed() {
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil1.class);
startActivity(i);
finish();
}
}
else if (v==Img_B)
{
if (jawaban[indeks].equals("B")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil1.class);
startActivity(i);
finish();
}
}
else if (v==Img_C)
{
if (jawaban[indeks].equals("C")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
soal.setText(pertanyaan[indeks]);
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil1.class);
startActivity(i);
finish();
}
}
else if (v==Img_D)
{
if (jawaban[indeks].equals("D")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil1.class);
startActivity(i);
finish();
}
}
}
}
Kode Program 4.18 Class Soal1
android.app.Activity;
android.app.AlertDialog;
android.content.Context;
android.content.DialogInterface;
android.content.Intent;
android.graphics.Color;
android.media.MediaPlayer;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class Soal2 extends Activity implements OnClickListener {
final Context context = this;
Button Img_A, Img_B, Img_C, Img_D;
ImageView layer;
TextView soal;
MediaPlayer mp = new MediaPlayer();
int [] Gambar
={R.drawable.llumba,R.drawable.domba,R.drawable.kangguru,R.drawabl
e.kucing,R.drawable.monyet, R.drawable.orangutan,
R.drawable.panda,R.drawable.platypus,R.drawable.singa,R.drawable.k
kelinci
};
String [] pertanyaan ={"1. Dari gambar Diatas merupakan
gambar?",
"2. Dari gambar Diatas merupakan
gambar?",
"3. Hewan Apakah ini?",
"4. Hewan Mamalia apakah ini?",
"5. Hewan Mamalia apakah ini?",
"6. Hewan Mamalia apakah ini?",
"7. Hewan Mamalia apakah ini?",
"8. Hewan Mamalia apakah ini?",
"9. Hewan Mamalia apakah ini?",
"10. Hewan Mamalia apakah ini?",
};
String [] pilihan_a
={"A.Paus","A.anjing","A.Kangguru","A.Anjing","A.Monyet","A.Monyet
","A.Monyet","A.Bebek","A.heina","A.Kelinci"};
String [] pilihan_b ={"B.Buaya","B.kucing","B.
Kapibara","B.Kucing","B.Gorila","B.Gorila","B.Gorila","B.Platypus"
,"B.Singa","B.Anjing"};
String [] pilihan_c ={"C.LumbaLumba","C.kambing","C.Singa","C.Kambing","C.Biawak","C.Panda","C.P
anda","C.angsa","C.Babi","C.Rusa"};
String [] pilihan_d
={"D.kudanil","D.sapi","D.Lemur","D.Sapi","D.Orangutan","D.Oranghu
tan","D.Orangutan","D.Ikan","D.Anjing","D.Kodok"};
String [] jawaban = {"C","C","A","B","A","D","C","B","B","A"};
int indeks=0;
static int
benar = 0 , skor = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.soal);
layer=(ImageView)findViewById(R.id.layar);
layer.setImageResource( Gambar[0]);
soal=(TextView)findViewById(R.id.soal);
soal.setText(pertanyaan[0]);
Img_A=(
Button)findViewById(R.id.A);
Img_A.setText(pilihan_a[0]);
Img_A.setTextColor(Color.parseColor("#ffffff"));
Img_A.setOnClickListener(this);
Img_B=(
Button)findViewById(R.id.B);
Img_B.setText(pilihan_b[0]);
Img_B.setTextColor(Color.parseColor("#ffffff"));
Img_B.setOnClickListener(this);
Img_C=( Button)findViewById(R.id.C);
Img_C.setText(pilihan_c[0]);
Img_C.setTextColor(Color.parseColor("#ffffff"));
Img_C.setOnClickListener(this);
Img_D=( Button)findViewById(R.id.D);
Img_D.setText(pilihan_d[0]);
Img_D.setTextColor(Color.parseColor("#ffffff"));
Img_D.setOnClickListener(this);
}
@Override
public void
onBackPressed() {
})
.setNegativeButton("No",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
dialog.cancel(); // Jika memilih no, hanya akan
menutup dialog saja
}
});
// Membuat alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
@Override
public void onClick(View v)
{
if (v==Img_A)//cek parsing
{
if (jawaban[indeks].equals("A")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil2.class);
startActivity(i);
finish();
}
}
else if (v==Img_B)
{
if (jawaban[indeks].equals("B")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil2.class);
startActivity(i);
finish();
}
}
else if (v==Img_C)
{
if (jawaban[indeks].equals("C")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
soal.setText(pertanyaan[indeks]);
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil2.class);
startActivity(i);
finish();
}
}
else if (v==Img_D)
{
if (jawaban[indeks].equals("D")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil2.class);
startActivity(i);
finish();
}
}
}
}
Kode Program 4.19 Class Soal2
android.app.Activity;
android.app.AlertDialog;
android.content.Context;
android.content.DialogInterface;
android.content.Intent;
android.graphics.Color;
android.media.MediaPlayer;
android.os.Bundle;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.ImageView;
android.widget.TextView;
benar = 0 , skor = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.soal);
layer=(ImageView)findViewById(R.id.layar);
layer.setImageResource( Gambar[0]);
soal=(TextView)findViewById(R.id.soal);
soal.setText(pertanyaan[0]);
Img_A=(
Button)findViewById(R.id.A);
Img_A.setText(pilihan_a[0]);
Img_A.setTextColor(Color.parseColor("#ffffff"));
Img_A.setOnClickListener(this);
Img_B=(
Button)findViewById(R.id.B);
Img_B.setText(pilihan_b[0]);
Img_B.setTextColor(Color.parseColor("#ffffff"));
Img_B.setOnClickListener(this);
Img_C=( Button)findViewById(R.id.C);
Img_C.setText(pilihan_c[0]);
Img_C.setTextColor(Color.parseColor("#ffffff"));
Img_C.setOnClickListener(this);
Img_D=( Button)findViewById(R.id.D);
Img_D.setText(pilihan_d[0]);
Img_D.setTextColor(Color.parseColor("#ffffff"));
Img_D.setOnClickListener(this);
}
@Override
public void
onBackPressed() {
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil3.class);
startActivity(i);
finish();
}
}
else if (v==Img_B)
{
if (jawaban[indeks].equals("B")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil3.class);
startActivity(i);
finish();
}
}
else if (v==Img_C)
{
if (jawaban[indeks].equals("C")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
soal.setText(pertanyaan[indeks]);
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil3.class);
startActivity(i);
finish();
}
}
else if (v==Img_D)
{
if (jawaban[indeks].equals("D")){
benar += 1;
}
if (indeks<jawaban.length-1)
{
indeks++;
layer.setImageResource(Gambar[indeks]);
soal.setText(pertanyaan[indeks]);
Img_A.setText(pilihan_a[indeks]);
Img_B.setText(pilihan_b[indeks]);
Img_C.setText(pilihan_c[indeks]);
Img_D.setText(pilihan_d[indeks]);
}
else
{
Intent i = new Intent (this, Hasil3.class);
startActivity(i);
finish();
}
}
}
}
Kode Program 4.20 Class Soal3
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
//import android.text.Html;
import android.widget.EditText;
import android.widget.TextView;
//import android.widget.Toast;
import android.widget.Toast;
public class Hasil1 extends Activity{
DBAdapter db = new DBAdapter(this);
final Context context = this;
TextView hasil;
EditText nama;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hasil);
hasil =(TextView) findViewById(R.id.textView1);
nama = (EditText) findViewById(R.id.editText1);
int benar = Soal.benar;
Soal.benar = 0;
hasil.setText("Jawaban benar : "+benar );
if (benar <=4) {
hasil.setTextColor(Color.parseColor("#ff0505"));
}else if(benar >=5 && benar <8){
hasil.setTextColor(Color.parseColor("#fdb404"));
}else if (benar>=8){
hasil.setTextColor(Color.parseColor("#10ff04"));
}
hasil.setText("" +benar*10);
}
public void simpan(View V){
if (nama.length() ==0){
Toast t =
Toast.makeText(getBaseContext(),"Masukan
nama",Toast.LENGTH_SHORT);
t.show();
nama.setError(Html.fromHtml("<font color =
'red'>Masukan Nama</font>"));
}
else{
db.open();
db.insertData(nama.getText().toString(),
hasil.getText().toString());
Toast.makeText(getApplicationContext(), "Data disimpan!",
Toast.LENGTH_SHORT).show();
db.close();
Intent m1 = new Intent (this,Lihat.class);
startActivity(m1);
finish();
}
}
public void tidak(View V){
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
public void onBackPressed() {
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
finish();
}
}
Kode Program 4.21 Class Hasil1
EditText nama;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hasil);
hasil =(TextView) findViewById(R.id.textView1);
nama = (EditText) findViewById(R.id.editText1);
int benar = Soal2.benar;
Soal.benar = 0;
hasil.setText("Jawaban benar : "+benar );
if (benar <=4) {
hasil.setTextColor(Color.parseColor("#ff0505"));
}else if(benar >=5 && benar <8){
hasil.setTextColor(Color.parseColor("#fdb404"));
}else if (benar>=8){
hasil.setTextColor(Color.parseColor("#10ff04"));
}
hasil.setText("" +benar*10);
}
public void simpan(View V){
if (nama.length() ==0){
Toast t =
Toast.makeText(getBaseContext(),"Masukan
nama",Toast.LENGTH_SHORT);
t.show();
nama.setError(Html.fromHtml("<font color =
'red'>Masukan Nama</font>"));
}
else{
db.open();
db.insertData(nama.getText().toString(),
hasil.getText().toString());
Toast.makeText(getApplicationContext(), "Data disimpan!",
Toast.LENGTH_SHORT).show();
db.close();
Intent m1 = new Intent (this,Lihat.class);
startActivity(m1);
finish();
}
}
public void tidak(View V){
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
public void onBackPressed() {
}else if (benar>=8){
hasil.setTextColor(Color.parseColor("#10ff04"));
}
hasil.setText("" +benar*10);
}
public void simpan(View V){
if (nama.length() ==0){
Toast t =
Toast.makeText(getBaseContext(),"Masukan
nama",Toast.LENGTH_SHORT);
t.show();
nama.setError(Html.fromHtml("<font color =
'red'>Masukan Nama</font>"));
}
else{
db.open();
db.insertData(nama.getText().toString(),
hasil.getText().toString());
Toast.makeText(getApplicationContext(), "Data disimpan!",
Toast.LENGTH_SHORT).show();
db.close();
Intent m1 = new Intent (this,Lihat.class);
startActivity(m1);
finish();
}
}
public void tidak(View V){
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
public void onBackPressed() {
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
finish();
}
}
Kode Program 4.23 Class Hasil3
package com.example.gamekg;
import
import
import
import
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;
android.annotation.SuppressLint;
android.content.ContentValues;
android.database.Cursor;
android.content.Context;
android.database.SQLException;
android.database.sqlite.SQLiteDatabase;
android.database.sqlite.SQLiteOpenHelper;
android.util.Log;
@SuppressLint("NewApi")
public class DBAdapter {
private static final String DB_NAME = "praktikum";
private static final int DB_VERSION = 1;
private static final String TABLE = "kelompok";
public static final String NILAI = "nilai";
public static final String NAMA = "nama";
initialValues.put(NILAI, nilai);
initialValues.put(NAMA, nama);
return db.insert(TABLE, null, initialValues);
}
public int deleteData(String title) {
return db.delete(TABLE, NILAI + "=?", new String[] { title
});
}
@SuppressLint("NewApi")
public Cursor selectData(String title) {
return db.query(false, TABLE, new String[] { NILAI, NAMA},
NILAI + "=?", new String[] { title }, null, null,
null, null, null);
}
public Cursor selectAllData() {
return db.query(false, TABLE, new String[] { NILAI, NAMA},
null, null, null, null, "NILAI ASC", null, null);
}
}
Kode Program 4.25 Class DB_Adapter
java.util.ArrayList;
java.util.HashMap;
android.app.Activity;
android.content.Intent;
android.database.Cursor;
android.os.Bundle;
android.view.View;
android.widget.ListView;
android.widget.SimpleAdapter;
db.open();
Cursor cursor = db.selectAllData();
while (cursor.moveToNext()) {
HashMap<String, String> item = new
HashMap<String, String>();
item.put("nama", cursor.getString(0));
item.put("skor", cursor.getString(1));
list.add(item);
db.close();
}
SimpleAdapter notes = new SimpleAdapter(this, list,
R.layout.file , new String[]{"nama", "skor"}, new
int[]{R.id.nama2, R.id.skor2});
lv.setAdapter(notes);
}
public void back(View V){
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
public void onBackPressed() {
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
}
Kode Program 4.26 Class Lihat
Kode Program 4.25 Class Lihat merupakan kode program yang berfungsi
untuk menampilkan skor yang disimpan dalam bentuk ListView.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/imageView1"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_above="@+id/imageView2"
android:src="@drawable/ic_launcher"
android:layout_centerHorizontal="true"
/>
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="133dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/progressBar2"
android:layout_centerHorizontal="true"
android:layout_marginTop="77dp"
android:text="Tunggu....." />
<ImageView
android:id="@+id/imageView2"
android:layout_width="250dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/kuis1" />
</RelativeLayout>
Kode Program 4.27 Loading.xml
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:background="@drawable/button1"
android:onClick="bantuan"
android:textColor="#ffffff"
android:text="Bantuan" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button2"
android:layout_below="@+id/button2"
android:background="@drawable/button1"
android:textColor="#ffffff"
android:onClick="keluar"
android:text="Keluar" />
<Button
android:id="@+id/button5"
android:layout_width="60dp"
android:layout_height="50dp"
android:layout_below="@+id/button3"
android:layout_marginTop="14dp"
android:layout_toLeftOf="@+id/imageView1"
android:onClick="fb"
android:background="@drawable/facebook" />
<Button
android:id="@+id/button6"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/button5"
android:layout_alignBottom="@+id/button5"
android:layout_centerHorizontal="true"
android:onClick="ig"
android:background="@drawable/twitter" />
<Button
android:id="@+id/button7"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBaseline="@+id/button6"
android:layout_alignBottom="@+id/button6"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/imageView1"
android:onClick="tw"
android:background="@drawable/ig" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageView2"
android:layout_below="@+id/imageView2"
android:layout_marginLeft="15dp"
android:background="@drawable/button1"
android:onClick="Main"
android:textColor="#ffffff"
android:text="Main" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="350dp"
android:layout_height="70dp"
android:layout_below="@+id/imageView1"
android:layout_centerHorizontal="true"
android:src="@drawable/kuis1" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="78dp"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
Kode Program 4.28 Main.xml
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageButton2"
android:layout_below="@+id/imageView1"
android:layout_marginTop="15dp"
android:background="@drawable/rep"
android:onClick="reptil" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="61dp"
android:layout_marginTop="13dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_alignTop="@+id/imageView2"
android:layout_toRightOf="@+id/imageView2"
android:src="@drawable/kuis1" />
</RelativeLayout>
Kode Program 4.29 Katagori.xml
android:textSize="15dp"
android:background="#000000"
android:textColor="#ffffff"
android:text="TextView" />
<Button
android:id="@+id/B"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/A"
android:layout_alignBottom="@+id/A"
android:layout_toRightOf="@+id/A"
android:background="@drawable/button1"
android:text="Button" />
<Button
android:id="@+id/C"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/A"
android:layout_below="@+id/A"
android:background="@drawable/button1"
android:text="Button" />
<Button
android:id="@+id/D"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/B"
android:layout_below="@+id/B"
android:background="@drawable/button1"
android:text="Button" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/layar"
android:layout_alignParentTop="true"
android:layout_marginTop="27dp"
android:src="@drawable/ic_launcher" />
<Button
android:id="@+id/A"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/soal"
android:layout_marginLeft="21dp"
android:layout_marginTop="18dp"
android:background="@drawable/button1"
android:text="Button" />
<ImageView
android:id="@+id/layar"
android:layout_width="250dp"
android:layout_height="200dp"
android:layout_below="@+id/imageView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:background="@drawable/layar" />
</RelativeLayout>
Kode Program 4.30 Soal.xml
/>
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView3"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="Masukan Nama"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/editText1"
android:layout_marginTop="34dp"
android:onClick="simpan"
android:background="@drawable/button1"
android:textColor="#ffffff"
android:text="Simpan" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_toRightOf="@+id/button1"
android:onClick="tidak"
android:textColor="#ffffff"
android:background="@drawable/button1"
android:text="Tidak" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="26dp"
android:text="Ingin Menyimpan Skor tekan Simpan"
android:textAppearance="?
android:attr/textAppearanceMedium" />
</RelativeLayout>
Kode Program 4.31 Hasil.xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/back">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="12dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_alignTop="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:src="@drawable/kuis1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView2"
android:layout_centerHorizontal="true"
android:text="CEK SKOR ANDA"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<ListView
android:id="@+id/listView"
android:layout_width="300dp"
android:layout_height="400dp"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="13dp"
android:background="@drawable/back2" >
</ListView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/listView"
android:layout_centerHorizontal="true"
android:layout_marginTop="11dp"
android:background="@drawable/button1"
android:onClick="back"
android:textColor="#ffffff"
android:text="kembali" />
</RelativeLayout>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/back" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="21dp"
android:text="CARA MAIN"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:layout_marginLeft="16dp"
android:layout_marginTop="20dp"
android:text="1. Pilih Kategorinya"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="18dp"
android:text="2. Ketika saat menjawab pertanyaan pilih lah
jawab menurut anda benar dengan memilih A, B, C, Atau D. "
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="15dp"
android:text="3. Jika sudah Menjawab semua soal Skor akan
diakumulasikan dengan jawaban yang benar."
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView4"
android:layout_below="@+id/textView4"
android:layout_marginTop="16dp"
android:text="4. Jika ingin menyimpan Skor yang didapat
Halaman pembuka ini akan muncul gambar seperti gambat 4.39 dan
menunggu sebentar progres bar sedang berlangsung jika sudah selesai maka akan
langsung menampilkan tampilan halaman menu utama.
Gambar 4.40 Menu utama merupakan tampilan utama dari aplikasi Kusi
Gambar terdapat beberapa pilihan Button yaitu Main untuk memainkan aplikasi,
Skor untuk melihat skor yang didapat, Bantuan untuk memandu pemula
untuk memulai game, dan Keluar untuk menutup aplikasi. Jika memilih menu
Main maka akan di arahkan ke menu kategor.
Gambar 4.41 Menu Soal merupakan halaman dari soal pada menu
Unggas yang terdiri dari sepuluh soal. Cara menjawab soal tersebut adalah
dengan memilih jawaban berdasarkan nama hewan yang benar dimana pilihan
jawaban terdiri dari empat button. Skor yang didapat dengan menjawab ke 10
soal tersebut diakumulasikan ke 10 soal per 100, nilai untuk menjawab satu soal
benar adalah sepuluh. Jika menjawab dengan benar seluruh soal maka akan
memperoleh nilai 100.
BAB V
PENUTUP
Bab penutup berisi simpulan tentang hal yang telah dibahas pada bab-bab
sebelumnya serta memberikan saran untuk pengembangan lebih lanjut.
5.1
Simpulan
Simpulan yang dapat diambil dalam laporan akhir Praktikum
2.
3.
Android Lifecycle atau siklus hidup Activity android memiliki methodmethod yang akan berjalan sesuai dengan fungsinya masing-masing
4.
5.
Destroying an Activity.
Listview adalah view group yang digunakan untuk menampilkan item
dengan tampilan secara vertical list. Listview memiliki property wajib
yaitu layout_height, layout_width, dan ID. Listview juga memiliki class
ListActivity yang khusus menangani ListView.
5.2
Saran
Saran yang dapat diberikan dalam laporan akhir Praktikum Pemrograman
Mobile ini ialah program yang data mahasiswa yang dibuat ini perlu
disempurnakan terutama dalam penggunaan Bahasa Indonesia dan Bahasa Inggris
dalam aplikasi.
DAFTAR PUSTAKA