Anda di halaman 1dari 138

PRAKTIKUM

PEMROGRAMAN MOBILE

Oleh:
KELOMPOK IV
1. I Putu Gunawan

(1304505019)

2. Ni Nyoman Triana Anggra Emi

(1304505069)

3. Kadek Kun Yulyka

(1304505072)

4. I Gede Winaya Adnyana

(1304505082)

5. I Putu Edi Puspayasa

(1304505095)

JURUSAN TEKNOLOGI INFORMASI


FAKULTAS TEKNIK UNIVERSITAS UDAYANA
2016

KEMENTRIAN RISET TEKNOLOGI DAN PENDIDIKAN


TINGGI
UNIVERSITAS UDAYANA
FAKULTAS TEKNIK
JURUSAN TEKNOLOGI INFORMASI
Gedung Teknologi Informasi, Kampus Bukit Jimbaran Bali
Telpon: +6285102853533 email: it@it.unud.ac.id
laman: http://www.it.unud.ac.id

LEMBAR PENGESAHAN PRAKTIKUM PEMROGRAMAN MOBILE


JUDUL

KELOMPOK
JURUSAN
FAKULTAS
TANGGAL

:
:
:
:

LAPORAN PRAKTIKUM PEMROGRAMAN


MOBILE
IV
TEKNOLOGI INFORMASI
TEKNIK
7 JANUARI 2016
Menyetujui,

Ketua Asisten Dosen,

I Gede Agus Mahasadhu


NIM. 1204505017

Asisten Dosen,

Agus Setiawan
NIM. 1204505011

Mengetahui,
Dosen Pengampu,

A. A. Kt. Agung Cahyawan Wiranatha, S.T., M.T.


NIP. 197312132008011004

ABSTRAK

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. Para pengguna smartphone berasal dari berbagai kalangan
dan umur. Aplikasi yang disediakan Android juga bermacam-macam.
Penggunaannya bisa berupa browsing, e-mail, bermain game, dan sebagainya.
Penggunaan Android untuk game sangatlah digemari. Berbagai game dapat
dimainkan pada perangkat Android. Aplikasi yang akan dibuat merupakan aplikasi
game tebak gambar berbasis Android.
Kata Kunci : Smartphone, Android, Game

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

Latar Belakang ................................................................................


Rumusan Masalah ...........................................................................
Tujuan ..............................................................................................
Manfaat ...........................................................................................
Batasan Masalah ..............................................................................
Sistematika Penulisan ......................................................................

BAB II Tinjauan Pustaka


2.1
State of The Art ...............................................................................
2.2
Widget TextView, EditText, dan Button .........................................
2.2.1 TextView .........................................................................................
2.2.2 EditText ...........................................................................................
2.2.3 Button ..............................................................................................
2.3
SeekBar, CheckBox, dan RadioButton ...........................................
2.3.1 SeekBar ...........................................................................................
2.3.2 CheckBox ........................................................................................
2.3.3 RadioButton ....................................................................................
2.3.4 Toast ................................................................................................
2.4
Intent dan Activity Lifecycle ...........................................................
2.4.1 Intent ...............................................................................................
2.4.2 Activity Lifecycle ............................................................................
2.4.3 Manfaat Mengimplementasikan Android Lifecycle ........................
2.4.4 Fase Fase Android Lifecycle ........................................................
2.4.4.1 Start an Activity ...............................................................................
2.4.4.2 Pausing & Resuming an Activity ....................................................
2.4.4.3 Stoping and Restarting an Activity .................................................
2.4.4.4 Recreating Activity ..........................................................................
2.5
ListView ..........................................................................................
2.5.1 Widget Listview ..............................................................................
2.5.2 ListActivity .....................................................................................
2.5.3 ArrayAdapter ...................................................................................
2.6
Tinjauan Pustaka Pendukung ..........................................................

2.6.1 Android ...........................................................................................


2.6.1.1 Android Beta ...................................................................................
2.6.1.2 Android versi 1.x .............................................................................
2.6.1.3 Android versi 2.x .............................................................................
2.6.1.4 Android versi 3.x .............................................................................
2.6.1.5 Android versi 4.x .............................................................................
2.6.1.6 Android versi 5.x .............................................................................
2.6.2 Android Studio ................................................................................
2.6.3 Eclipse .............................................................................................
2.6.3.1 Multi-platform .................................................................................
2.6.3.2 Mulit-language ................................................................................
2.6.3.3 Multi-role ........................................................................................
2.6.4 Android SDK ..................................................................................
2.6.5 Android ADT ...................................................................................
2.6.6 JDK .................................................................................................
2.6.7 XML ................................................................................................
BAB III Metodologi Penelitian
3.1
3.2
3.3

Metodologi Penelitian .....................................................................


Gambaran Umum Aplikasi ..............................................................
Alur Aplikasi ...................................................................................

BAB IV Pembahasan dan Analisis Hasil


4.1
4.2
4.3
4.4
4.5
4.6
4.6.1
4.6.2

Penjelasan dan analisis Modul Pemrograman Mobile ....................


Pembahasan dan Analisis Modul 1 .................................................
Pembahasan dan Analisis Modul 2 .................................................
Pembahasan dan Analisis Modul 3 .................................................
Pembahasan dan Analisis Modul 4 .................................................
Pembahasan dan Analisis Aplikasi Tebak Gambar .........................
Kode Program Aplikasi Tebak Gambar ...........................................
Uji Coba Aplikasi Tebak Gambar ...................................................

BAB V Penutup
5.1
5.2

Simpulan .........................................................................................
Saran ................................................................................................

Daftar Pustaka ..................................................................................................

DAFTAR KODE PROGRAM


Kode Program 2.1 Sintaks Widget TextView ..................................................
Kode Program 2.2 Sintaks Layout Button .....................................................
Kode Program 4.1 activity_main.xml ............................................................
Kode Program 4.2 MainActivity.java ............................................................
Kode Program 4.3 Modul Satu.xml ...............................................................
Kode Program 4.4 Modul Satu.java ...............................................................
Kode Program 4.5 Modul Dua.xml ...............................................................
Kode Program 4.6 Modul Dua.java ...............................................................
Kode Program 4.7 Modul Tiga_a.xml ...........................................................
Kode Program 4.8 Modul Tiga_b.xml ...........................................................
Kode Program 4.9 Modul Tiga.java ...............................................................
Kode Program 4.10 Modul Empat.xml ..........................................................
Kode Program 4.11 Simple ListView.xml ......................................................
Kode Program 4.12 Custom ListView.xml .....................................................
Kode Program 4.13 Custom ListView1.xml ...................................................
Kode Program 4.14 Class Loading ................................................................
Kode Program 4.15 Class Main .....................................................................
Kode Program 4.16 Class Main_Activity ......................................................
Kode Program 4.17 Class Katagori ...............................................................
Kode Program 4.18 Class Soal1 ....................................................................
Kode Program 4.19 Class Soal2 ....................................................................
Kode Program 4.20 Class Soal3 ....................................................................
Kode Program 4.21 Class Hasil1 ...................................................................
Kode Program 4.22 Class Hasil2 ...................................................................
Kode Program 4.23 Class Hasil3 ...................................................................
Kode Program 4.24 Class Bantuan ................................................................
Kode Program 4.25 Class DB_Adapter .........................................................
Kode Program 4.26 Class Lihat .....................................................................
Kode Program 4.27 Loading.xml ..................................................................
Kode Program 4.28 Main.xml .......................................................................

Kode Program 4.29 Katagori.xml ..................................................................


Kode Program 4.30 Soal.xml .........................................................................
Kode Program 4.31 Hasil.xml .......................................................................
Kode Program 4.32 Tampil.xml .....................................................................
Kode Program 4.33 Isi Tampil.xml ................................................................
Kode Program 4.34 Bantuan.xml ..................................................................

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 ..

Gambar 4.20 Uji Coba Modul Dua ENG Landscape


Gambar 4.21 Tampilan Modul Tiga IND Portait ..
Gambar 4.22 Tampilan Modul Tiga ENG Portait .
Gambar 4.23 Tampilan Modul Tiga IND Landscape
Gambar 4.24 Tampilan Modul Tiga ENG Landscape ...
Gambar 4.25 Uji Coba Modul Tiga IND Portait ..
Gambar 4.26 Uji Coba Modul Tiga ENG Portait ..
Gambar 4.27 Uji Coba Modul Tiga IND Landscape
Gambar 4.28 Uji Coba Modul Tiga ENG Landscape
Gambar 4.29 Hasil Uji Coba Modul Tiga IND Portait ..
Gambar 4.30 Hasil Uji Coba Modul Tiga ENG Portait .
Gambar 4.31 Hasil Uji Coba Modul Tiga IND Landscape
Gambar 4.32 Hasil Uji Coba Modul Tiga ENG Landscape
Gambar 4.33 Tampilan Aplikasi Modul Empat Portait .
Gambar 4.34 Tampilan Aplikasi Modul Empat Landscape
Gambar 4.35 Tampilan Simple ListView Portait
Gambar 4.36 Tampilan Simple ListView Landscape ..
Gambar 4.37 Tampilan Custom ListView Portait ...
Gambar 4.38 Tampilan Custom ListView Landscape .
Gambar 4.39 Loading .
Gambar 4.40 Menu Utama ..
Gambar 4.41 Menu Soal .
Gambar 4.42 Menu Skor
Gambar 4.43 Tampilan Skor

BAB I
PENDAHULUAN

Bab pendahuluan ini akan membahas mengenai pendahuluan, dimana


pendahuluan akan membahas mengenai latar belakang, rumusan masalah, tujuan
praktikum, manfaat praktikum, batasan masalah dan sistematika penulisan.
1.1

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

masalah yang menjadi dasar pembuatan laporan Praktikum Pemrograman Mobile


yaitu sebagai berikut:
1.
Bagaimana penggunaan widget dasar seperti TextView, EditText, dan
2.

Button pada suatu aplikasi Android?


Bagaimana penggunaan widget seperti Seekbar, CheckBox, dan

3.

RadioButton dengan tambahan Toast pada suatu aplikasi Android?


Bagaimana penggunaan Intent dan Activity lifecycle pada suatu aplikasi

4.

Android?
Bagaimana pembuatan aplikasi tebak gambar?

1.3

Tujuan
Tujuan dari dilaksanakannya Praktikum Pemrograman Mobile adalah

sebagai berikut:
1.

Mengetahui dan dapat mengimplementasikan widget dasar seperti

2.

TextView, EditText, dan Button pada suatu aplikasi Android.


Mengetahui dan dapat mengimplementasikan widget seperti Seekbar,
CheckBox, dan RadioButton dengan tambahan Toast pada suatu aplikasi

3.

Android.
Mengetahui dan dapat mengimplementasikan Intent dan Activity lifecycle

4.

pada suatu aplikasi Android.


Mampu membuat suatu aplikasi tebak gambar Android.

1.4

Manfaat
Manfaat yang diharapkan dapat diperoleh dari hasil dilaksanakannya

Praktikum Pemrograman Mobile adalah sebagai berikut:


1.

Mahasiswa mampu memahami

dan dapat mengimplementasikan

penggunaan widget dasar seperti TextView, EditText, dan Button pada


suatu aplikasi Android.

2.

Mahasiswa mampu memahami

dan dapat mengimplementasikan

penggunaan widget seperti Seekbar, CheckBox, dan RadioButton dengan


3.

tambahan Toast pada suatu aplikasi Android.


Mahasiswa mampu memahami dan dapat mengimplementasikan

4.

penggunaan Intent dan Activity lifecycle pada suatu aplikasi Android.


Mahasiswa mampu mengimplementasikan dengan membuat suatu
aplikasi Android dengan tema aplikasi tebak gambar.

1.5

Batasan Masalah
Batasan masalah yang terdapat pada laporan praktikum pemrograman

mobile antara lain:


1.

Pemilihan IDE yang tepat untuk kepentingan teknis coding dalam

2.

pembuatan sebuah aplikasi mobile berbasis android.


Pembuatan user interface dari sebuah aplikasi yang minimal harus

3.

meliputi seluruh modul yang ada.


Penggunaan array sebagai pengganti database yang digunakan sebagai
obyek penyimpanan data.

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 ini, penyusun akan menguraikan metodologi penelitian yang


digunakan, gambaran umum aplikasi yang digunakan, dan alur aplikasi yang
dibuat sesuai dengan tema.
BAB IV PEMBAHASAN DAN ANALISIS HASIL
Bab ini, penyusun akan menguraikan mengenai penjelasan dan analisis
mengenai keseluruhan modul, pembahasan dan analisis modul satu, pembahasan
dan analisis modul dua, pembahasan dan analisis modul tiga, pembahasan dan
analisis modul empat, serta pembahasan dan analisis aplikasi yang dibuat sesuai
dengan tema.
BAB V PENUTUP
Bab ini, penyusun akan menyimpulkan apa yang telah dibahas pada babbab sebelumnya serta memberikan saran untuk pengembangan lebih lanjut.

BAB II
TINJAUAN PUSTAKA

Bab tinjauan pustaka akan membahas mengenai tinjauan pustaka yang


digunakan dalam lapororan akhir Praktikum Pemrograman Mobile, yang akan
diuraikan secara satu persatu tinjauan pustaka yang digunakan pada setiap
subsistem dalam Praktikum Pemrograman Mobile.
2.1

State of The Art


Game merupakan istilah dalam Bahasa Inggris yang berarti permainan.

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

Berbasis Android Menggunakan Eclipse Juno membahas tentang aplikasi tebak


gambar dimana aplikasi ini memiliki tiga kumpulan gambar dengan setiap
kumpulan terdiri dari 36 gambar. Masing-masing dari kumpulan gamabar
memiliki tema yang berbeda.
Berbeda dengan jurnal (Nugroho Arif Akbar, 2015) yang berjudul Game
Edukasi Tebak Gambar Bahasa Jawa Menggunakan Adobe Flash CS6
Berbasis Android dimana jurnal ini khusus membahas game tebak gambar
dalam Bahasa Jawa seta menggunakan tools Adobe Flash CS6.
Aplikasi tebak gambar yang akan dibuat pada Praktikum Pemrograman
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.
2.2

Widget TextView, EditText, dan Button


Widget merupakan komponen view Android yang digunakan untuk

memudahkan end user menggunakan aplikasi. Widget sendiri memiliki widget


properti yang digunakan untuk memodifikasi widget Android sesuai keinginan
yang dipasang di masing-masing layout Android. Beberapa widget dasar adalah
TextView, Button, Image, EditText, CheckBox, RadioButton, dan ListView. Setiap
widget memiliki property atau atribut yang mengatur bagaimana widget itu
ditampilkan, seperti tinggi dan lebar widget. Property ini dapat diset melalui xml
layout, property editor atau melalui program. Beberapa widget memiliki beberapa
event yang ter-trigger berdasarkan aksi dari pengguna, misalnya event click pada
button.
2.2.1

TextView
TextView digunakan untuk menampilkan label teks. Beberapa contoh

property dari TextView adalah android:textSize untuk mengatur ukuran,


android:textStyle untuk mengatur apakah font bold atau italic, android:textColor
dan sebagainya.

<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.

Gambar 2.3 Berbagai Jenis EditText pada Pallete

Gambar 2.1 menunjukkan berbagai jenis EditText, seperti EditText untuk


inputan tipe huruf, nomor, password, email, dan lain-lain.
2.2.3

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.4 Layout Button

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, CheckBox, dan RadioButton


Selain TextView, EditText, dan Button terdapat widget lain diantaranya

adalah sebagai berikut:


2.3.1

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

CheckBox biasanya ditampilkan berdekatan dengan kotak centang. Membalik


keadaan CheckBox dengan mengklik mouse pada kotak, atau keterangan, atau
dengan menggunakan shortcut keyboard, seperti spasi. Maka pengguna dapat
memilih beberapa pilihan dibandingkan dengan tombol RadioBox, dimana hanya
satu pilihan yang dapat dipilih beberapa pilihan yang terkait.
2.3.3

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

Intent dan Activity Lifecycle


Aplikasi modul tiga Android akan membahas tentang Intent dan Activity

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

komponen, Intent menyimpan paket informasi yang digunakan pada proses


tersebut. Berikut ini adalah beberapa contoh mekanisme pengiriman Intent pada
masing-masing jenis komponen :
1.

Object Intent untuk menjalankan Activity baru atau memerintahkan


Activity melakukan sesuatu dengan mempassing object Intent pada fungsi
Context.startActivity() atau Acvity.startActivityForResult().

2.

Object Intent untuk menginisiasi sebuah Service baru atau melakukan


sesuatu pada Service yang sedang berjalan dengan mempassing object
Intent pada fungsi Context.startService().

3.

Object Intent untuk mengirimkan pesan kepada seluruh Broadcast


Receiver

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 :

Gambar 2.3 Siklus Hidup Android

Gambar 2.3 merupakan gambaran siklus hidup aplikasi Android. Siklus


hidup Android terdiri dari beberapa bagian diantaranya yaitu :
1.

onCreate adalah metode yang dipanggil ketika Activity pertama dibuat.

2.

Metode ini dapat di deklarasikan berbagai variable yang akan digunakan.


onStart adalah metode yang dipangil ketika Activity di tampilkan ke user

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.

tersebut dapat dijalankan di background proses.


onStop adalah metode yang dipanggil ketika Activity dalam keadaan stop

6.

atau dalam keadaan lama tidak ditampilkan ke user.


onRestart adalah metode ini dipanggil ketika Activity yang telah di-pause

7.

dijalankan kembali. Method ini dijalankan sebelum method onStart.


onDestroy adalah metode yang dipanggil sebelum Activity di-destroy.

2.4.3

Manfaat Mengimplementasikan Android Lifecycle


Android sebenarnya secara default sudah melakukan management

terhadap siklus hidupnya sendiri, namun untuk meningkatkan performa dari

aplikasi, maka dapat diimplementasikan method-method lifecycle Android.


Beberapa manfaat dari implementasi method-method lifecycle.
1.
Aplikasi tidak crash jika menerima panggilan telepon atau berpindah ke
2.

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 Android Lifecycle


Android Lifecycle dalam penerapannya memiliki tahapan-tahapan atau

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.

aplikasi akan dihentikan sampai aplikasi dibuka kembali.


Pengguna membuka Activity lain dan akan kembali ke Activity

3.

sebelumnya dengan menekan tombol back.


Pengguna menerima telepon ketika aplikasi sedang digunakan dan
pengguna menggunakan telepon sementara waktu dan aplikasi akan
kembali dijalankan setelah selesai menerima telepon.

4.

Fase ini aplikasi akan menjalankan method onStop, onRestart, onStart,


onResume.

2.4.4.4 Recreating Activity


Fase ini digunakan ketika aplikasi di-destroy secara normal seperti
menggunakan tombol back. Aplikasi akan menghapus semua memory yang

terpakai di aplikasi. Aplikasi akan recreating Activity ketika aplikasi di buka


kembali. Android menyediakan method onSaveInstanceState (Bundle outState)
dan onRestoreInstanceState (Bundle savedInstanceState) untuk menyimpan data
sementara. Tujuannya agar data yang sebelumnya yang tidak tersimpan di aplikasi
dapat dibuka kembali. Contoh kasus fase ini biasanya digunakan pada game untuk
menyimpan score.
2.5

ListView
ListView adalah subclass dari AdapterView yang menampilkan daftar

item scroll. Daftar item otomatis dimasukkan ke dalam daftar menggunakan


Adapter yang menarik konten dari sumber seperti array atau database query dan
mengubah setiap item mengakibatkan menjadi view yang ditempatkan ke dalam
daftar. ListView merupakan salah satu widget terpenting dan paling sering
digunakan untuk menampilkan kelompok informasi karena ukuran layar
smartphone terbatas.
2.5.1

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.

salah satu item.


setOnItemLongClickListener merupakan action ketika user menekan atau

3.

tap salah satu item dalam waktu yang lama.


setOnItemSelectedListener merupakan action ketika user memilih item.

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

menggunakan ListView yang memiliki data yang penduduknya menggunakan


Adapter. Adaptor sederhana untuk menggunakannya disebut ArrayAdapter karena
adaptor mengubah ArrayList objek ke View item dimuat ke dalam container
ListView.

Gambar 2.4 ArrayAdapter

ArrayAdapter yang cocok antara ArrayList (source) dan ListView


(representasi visual) dan mengkonfigurasi dua aspek:
1.
2.

Array yang digunakan sebagai sumber data untuk daftar.


Cara mengkonversi item tertentu dalam array ke dalam View objek yang
sesuai.

2.6

Tinjauan Pustaka Pendukung


Tinjauan pustaka dan referensi secara umum yang digunakan dalam

menyelesaikan tugas tambahan Praktikum Pemrograman Mobile adalah sebagai


berikut:
2.6.1
Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis
Linux yang mencakup sistem operasi, middleware dan aplikasi. Android
merupakan generasi baru platform mobile yang memberikan kesempatan kepada
pengembang untuk melakukan pengembangan sesuai dengan yang diharapkan.
Sistem operasi yang mendasari Android merupakan lisensi dibawah naungan
General Public License Versi 2 (GPLv2), yang biasa dikenal dengan istilah
Copyleft. Istilah Copyleft ini merupakan lisensi yang setiap perbaikan oleh pihak

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

digunakan oleh siapapun untuk mengembangkan sistem operasi serta aplikasi


yang dijalankan pada sistem operasi tersebut.
2.6.1.2 Android versi 1.x
Sistem operasi Android resmi yang digunakan pada perangkat telepon
seluler berbasis Android pertama adalah Android 1.0 Astro. Android 1.0 Astro
pertama kali dipasang pada telepon seluler HTC Dream. Sistem operasi ini
pertama kali diperkenalkan pada 23 September 2008. Nama Astro kemudian
dihilangkan karena masalah hak cipta. Android 1.1 Bender merupakan versi
update yang dirilis pada 9 Maret 2009. Nama Bender kemudian juga dihilangkan
karena masalah hak cipta. Ponsel T-Mobile G1 merupakan perangkat yang
menggunakan sistem operasi ini. Android 1.5 Cupcake merupakan versi
selanjutnya dari sistem operasi Android. Ini merupakan awal dari era penamaan
sistem operasi Android dengan menggunakan nama dessert atau makanan pencuci
mulut. Sebagai versi resmi yang ketiga, dipilih nama Cupcake yang menggunakan
abjad awalan C. Sistem operasi Android ini dibuat berdasarkan kernel Linux
2.6.27 dan pertama kali dirilis pada 30 April 2009. Terdapat beberapa fitur baru
termasuk widget yang dapat diubah ukurannya serta kemampuan mengunggah
video dan gambar ke Youtube dan Picasa.
Android 1.6 Donut dirilis pada 15 September 2009. Fitur pencarian
ditambahkan pada update sistem operasi ini serta desain interface yang lebih
mudah dipahami. Versi ini juga merupakan sistem operasi Android pertama yang
dapat dikombinasikan dengan teknologi CDMA/EVDO, 802.1x, VPNs dan juga
layar WVGA.
2.6.1.3 Android versi 2.x
Android 2.0/2.1 Eclair pertama kali dirilis pada 9 Desember 2009;
terdapat peningkatan pada optimasi perangkat keras serta adanya Google Maps
3.1.2 serta penambahan browser dengan basis HTML5. Fitur lampu kilat untuk
kamera hingga 3,2 MP serta digital zoom dan juga koneksi Bluetooth 2.1 telah
ditambahkan pada versi ini. Android 2.2 Froyo atau Frozen Yoghurt dirilis pada
tanggal 20 Mei 2012 dan terpasang pada smartphone Google Nexus One. Versi ini
dapat menjalankan aplikasi Adobe Flash Player 10.1 serta menyertakan
kemampuan menggunakan kartu memori SD untuk menyimpan aplikasi. Versi ini
sempat mengalami dua kali update dengan dirilisnya Android versi 2.2.1 hingga

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

menangkap gambar panorama serta screensaver Daydream. Beberapa fitur


fungsional seperti power control, mengunci layar widget serta menjalankan
beberapa user pada PC tablet menjadi beberapa penambahan pada update sistem
operasi Android ini. Android 4.2 Jelly Bean pertama kali dipasang pada LG
Google Nexus 4. Android 4.3 Jelly Bean pertama kali dirilis pada 24 Juli 2013 dan
pertama kali dipasang pada tablet Nexus 7. Versi update dengan perbaikan pada
beberapa bug kemudian dirilis pada 22 Agustus. Android 4.4 KitKat pertama kali
dirilis pada 3 September 2013. Sebelumnya sistem operasi Android ini diberi
nama Key Lime Pie dan kemudian diubah karena nama tersebut kurang populer.
Sistem operasi ini sempat dikabarkan menjadi Android versi 5.0 namun ternyata
hanya menggunakan nama baru KitKat. sistem operasi Android ini pertama kali
digunakan pada Nexus 5.
2.6.1.6 Android versi 5.x
Sistem operasi Android 5.0 Lollipop pertama kali dirilis pada 25 Juni
2014. Sebelumnya, sistem operasi ini diperkenalkan dengan kode Android L.
Update penggunaan sistem operasi Android dari versi sebelumnya ke versi 5.0
pertama kali dibuka pada 12 November 2014. Interface baru digunakan serta
beberapa perbaikan pada akses notifikasi yang lebih mudah. Perubahan paltform
dengan Android Runtime menggantikan Dalvik dilakukan guna meningkatkan
performa aplikasi dan juga mengoptimalkan konsumsi energi dari baterai.
2.6.2

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

mengembangkan perangkat lunak dan dapat dijalankan di semua platform

(platform-independent). Eclipse awalnya dikembangkan oleh IBM untuk


menggantikan perangkat lunak pengembangan IBM Visual Age for Java 4.0.
Produk Eclipse ini diluncurkan oleh IBM pada tanggal 5 November 2001. IBM
menginvestasikan US$ 40 juta untuk pengembangannya. Sejak 5 November 2001,
konsorsium Eclipse Foundation mengambil alih pengembangan Eclipse lebih
lanjut. Sifat dari Eclipse adalah sebagai berikut:
2.6.3.1 Multi-platform
Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris,
AIX, HP-UX dan Mac OS X.
2.6.3.2 Mulit-language
Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi
Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lain
seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
2.6.3.3 Multi-role
Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak seperti
dokumentasi, pengujian perangkat lunak, pengembangan web, dan lain
sebagainya.
Saat ini, Eclipse merupakan salah satu IDE favorit karena gratis dan
open source. Open source berarti setiap orang boleh melihat kode pemrograman
perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer
adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan
membuat komponen yang disebut plug-in.
2.6.4

Android SDK
Android-SDK merupakan tools bagi para programmer yang ingin

mengembangkan aplikasi berbasis Google Android. Android SDK mencakup


seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari
debugger, libraries, handset emulator, dokumentasi, contoh kode, dan tutorial.
Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux
apapun untuk desktop modern), Mac OS X 10.4.8 atau lebih, Windows XP atau

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

IDE Eclipse yang memberikan kemudahan dalam mengembangkan aplikasi


Android dengan menggunakan IDE Eclipse. Menggunakan ADT untuk Eclipse
akan memudahkan dalam membuat aplikasi project Android, membuat GUI
aplikasi, dan menambakan komponen-kompenen yang lainnya, begitu juga dapat
melakukan running aplikasi menggunakan Android SDK melalui Eclipse. ADT

dapat melakukan pembuatan package Android (.apk) yang digunakan untuk


distribusi aplikasi Android yang dirancang. Mengembangkan aplikasi Android
dengan menggunakan ADT di Eclipse sangat dianjurkan dan sangat mudah untuk
memulai mengembangkan aplikasi Android.
2.6.6

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

Bab metodologi penelitian akan membahas metodologi penelitian yang


digunakan, gambaran umum aplikasi yang digunakan, dan alur aplikasi yang
dibuat sesuai dengan tema.
3.1

Metodologi Penelitian
Langkah-langkah yang ditempuh dalam pembuatan dan penulisan

laporan akhir Praktikum Pemrograman Mobile adalah :


1.

Mendefinisikan masalah dan menentukan solusi yang diinginkan, lalu

2.

menyusun hierarki dari permasalahan yang dihadapi.


Analisa kebutuhan dimana pada tahap ini menganalisa kebutuhan umum

3.

yang diperlukan oleh sistem yang akan dikembangkan.


Pengumpulan data dimana pengumpulan data dilakukan dengan
mengumpulkan semua informasi dan data yang berhubungan dengan
sistem yang dikembangkan, juga teknologi pertukaran data baik melalui
studi

2.

pustaka,

internet

maupun

melakukan

wawancara

dengan

narasumber yang terkait dengan sistem yang dibangun.


Perancangan sistem dimana pada tahap ini dilakukan perancangan sistem
yang

meliputi

perancangan

aliran data

antar aktivitas

dengan

implementasi pertukaran data dengan API, perancangan struktur basis


3.

data, pengkodean, struktur menu dan tampilan.


Implementasi dimana pada tahap ini dilakukan pengembangan aplikasi

4.

pada dua sistem yang berbeda server.


Pengujian dan menganalisa hasil pengujian dimana pada tahap ini
dilakukan pengujian program serta melakukan evaluasi terhadap kinerja
dan kegunaan program yang telah dibangun dan melakukan perbaikan-

5.

perbaikan yang diperlukan.


Kesimpulan dimana pada tahap akhir dapat ditarik kesimpulan tentang
kesesuaian teori dan aplikasi praktisnya.

3.2

Gambaran Umum Aplikasi

Aplikasi Android yang dibuat merupakan aplikasi berupa form input


mahasiswa dan aplikasi tebak gambar.

Gambar 3.1 Gambaran Umum Aplikasi Data Mahasiswa

Gambar 3.1 Gambaran Umum Aplikasi Data Mahasiswa merupakan


gambaran umum dari aplikasi dimana user yang adalah mahasiswa dapat menginput-kan data pada aplikasi dan dari aplikasi akan menampilkan data yang telah
di-input-kan tersebut untuk dilihat user. Aplikasi Data Mahasiswa ini terdiri dari
empat modul yaitu modul satu, modul dua, modul tiga, dan modul empat.
Aplikasi pada modul satu ialah berupa form dimana user dapat menginput-kan nim, nama, dan alamat. Setelah menekan tombol Go pada aplikasi
maka akan muncul nim, nama, alamat user tersebut. Aplikasi pada modul dua
berupa form dimana user dapat meng-input-kan nama, jenis kelamin, serta mata
kuliah. Field jenis kelamin terdapat pilihan berupa RadioButton, dan untuk
memilih mata kuliah yang disukai digunakan CheckBox karena ada kemungkinan
pilihan user lebih dari satu.
Aplikasi pada modul tiga berupa form dimana user dapat meng-input-kan
nim, nama, alamat, jenis kelamin, serta mata kuliah seperti pada modul satu dan
dua. Jenis kelamin terdapat pilihan berupa RadioButton, dan untuk memilih mata
kuliah yang disukai digunakan CheckBox karena ada kemungkinan pilihan user
lebih dari satu. Perbedaan modul dua dan modul tiga ialah hasil dari nim, nama,
jenis kelamin, serta mata kuliah akan ditampilkan pada halaman baru. Aplikasi
pada modul empat terdiri dari ListView, dimana terdapat dua pilihan ListView yaitu
Simple ListView dan Custom ListView.

Aplikasi tebak gambar merupakan aplikasi berupa game dengan pilihan


gambar berupa binatang dengan tiga sub menu yaitu mamalia, reptil, dan unggas.

Gambar 3.2 Gambaran Umum Aplikasi Tebak Gambar

Gambar 3.2 Gambaran Umum Aplikasi Tebak Gambar merupakan


diagram konteks dari aplikasi tebak gambar dimana aplikasi akan menampilkan
gambar kemudian user dapat memilih gambar pada aplikasi. Setelah bermain
maka aplikasi akan menampilkan skor kemudian dari user dapat menyimpan skor
tersebut.
3.3

Alur Aplikasi
Alur aplikasi dari aplikasi Android data mahasiswa dan aplikasi tebak

gambar adalah sebagai berikut :

Gambar 3.3 Flowchart Modul Satu

Gambar 3.3 Flowchart Aplikasi Data Mahasiswa Modul Satu merupakan


bagan alir dari aplikasi data mahasiswa pada modul satu, dimana user dapat
melakukan input berupa NIM, nama, dan alamat. Kemudian, akan dilakukan
proses untuk mengambil input-an tersebut dan kemudian ditampilkan kembali.

Gambar 3.4 Flowchart Modul Dua

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

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

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.

Gambar 3.7 Flowchart Tebak Gambar

Gambar 3.7 Flowchart Tebak Gambar merupakan bagan alir aplikasi


tebak gambar dimana user dapat memilih menu permain yang akan dipilih dimana
terdapat menu mamalia, reptil, dan unggas. Kemudian, ketika bermain user
melakukan input berupa memilih jawaban dari gambar yang ditampilkan. Aplikasi
akan memproses input-an tersebut apakah sesuai atau tidak kemudian aplikasi
akan menghitung skor dan menampilkannya.

BAB IV
PEMBAHASAN DAN ANALISIS HASIL

Bab pembahasan dan analisis hasil akan membahas mengenai penjelasan


dan analisis mengenai keseluruhan modul, pembahasan dan analisis modul satu,
pembahasan dan analisis modul dua, pembahasan dan analisis modul tiga,
pembahasan dan analisis modul empat, serta pembahasan dan analisis aplikasi
yang dibuat sesuai dengan tema.
4.1

Penjelasan dan analisis Modul Pemrograman Mobile


Aplikasi Data Mahasiswa ini merupakan aplikasi berupa form input

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

Pembahasan dan Analisis Modul 1


Aplikasi bebentuk form pendaftaran dengan widget TextView, EditText,

dan Button. EditText digunakan untuk input oleh user, Button digunakan untuk

submit data dengan menggunakan method onClickListener dan menampilkan


masukan user pada TextView.
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ScrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/Activity_vertical_margin"
android:paddingLeft="@dimen/Activity_horizontal_margin"
android:paddingRight="@dimen/Activity_horizontal_margin"
android:paddingTop="@dimen/Activity_vertical_margin"
tools:context=".MainActivity" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="521dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="21dp"
android:text="@string/Judul"
android:textAppearance="?
android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:text="@string/kelompok"
android:textAppearance="?
android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="37dp"
android:text="@string/Jurusan"
android:textAppearance="?
android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="250dp"
android:layout_height="50dp"
android:layout_below="@+id/textView2"

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

Kode Program 4.1 activity_main.xml merupakan kode program untuk


tampilan utama dari aplikasi data mahasiswa dimana menggunakan widget
TextView dan Button.
package com.example.prakpromob;

import
import
import
import

android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void Modul1(View v){
Intent next = new Intent (this,Modul1.class);
startActivity(next);
}
public void Modul2(View v){
Intent next = new Intent (this,Modul2.class);
startActivity(next);
}
public void Modul3(View v){
Intent next = new Intent (this,Modul3.class);
startActivity(next);
}
public void Modul4(View v){
Intent next = new Intent (this,Modul4.class);
startActivity(next);
}
}package com.example.prakpromob;
Kode Program 4.2 MainActivity.java

Kode Program 4.2 MainActivity.java merupakan kode program java dari


halaman utama, dimana pada kode program ini terdapat Intent yang akan
menghubungkan halaman utama menuju aplikasi modul satu, modul dua, modul
tiga, dan modul empat.

Gambar 4.1 Tampilan Halaman Utama Portait1

Gambar 4.1 Tampilan Halaman Utama Portait1 merupakan tampilan


awal dari aplikasi data mahasiswa dimana terdapat empat pilihan modul dalam
posisi portrait dalam Bahasa Indonesia.

Gambar 4.2 Tampilan Halaman Utama Portait2

Gambar 4.2 Tampilan Halaman Utama Portait2 merupakan tampilan


awal dari aplikasi data mahasiswa dimana terdapat empat pilihan modul dalam
posisi portrait dalam Bahasa Inggris.

Gambar 4.3 Tampilan Halaman Utama Landscape1

Gambar 4.3 Tampilan Halaman Utama Landscape1 merupakan tampilan


awal dari aplikasi data mahasiswa dimana terdapat empat pilihan modul dalam
posisi landscape dalam Bahasa Indonesia.

Gambar 4.4 Tampilan Halaman Utama Landscape2

Gambar 4.4 Tampilan Halaman Utama Landscape2 merupakan tampilan


awal dari aplikasi data mahasiswa dimana terdapat empat pilihan modul dalam
posisi landscape dalam Bahasa Indonesia.
<?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="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

Kode Program 4.3 Modul Satu.xml merupakan kode program untuk


tampilan aplikasi modul satu. Widget aplikasi modul satu terdiri dari TextView,
Edit Text, dan Button.
package com.example.prakpromob;
import
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.text.Html;
android.view.View;
android.widget.EditText;
android.widget.TextView;
android.widget.Toast;

public class Modul1 extends Activity {


TextView HNim, HNama, HAlamat, Bio;
EditText Nim, Nama, Alamat;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modul1);
HNim = (TextView) findViewById(R.id.textView2);
HNama = (TextView) findViewById(R.id.textView3);
HAlamat = (TextView) findViewById(R.id.textView4);
Nim = (EditText) findViewById(R.id.editText1);
Nama = (EditText) findViewById(R.id.editText2);
Alamat = (EditText) findViewById(R.id.editText3);
Bio = (TextView) findViewById(R.id.textView);

}
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

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

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.7 Tampilan Modul Satu IND Landscape

Gambar 4.7 Tampilan Modul Satu IND Landscape merupakan tampilan


dari modul satu dimana user dapat meng-input-kan NIM, Nama, dan Alamat
dalam versi Bahasa Indonesia dalam layar landscape.

Gambar 4.8 Tampilan Modul Satu ENG Landscape

Gambar 4.8 Tampilan Modul Satu ENG Landscape merupakan tampilan


dari modul satu dimana user dapat meng-input-kan NIM, Nama, dan Alamat
dalam versi Bahasa Inggris dalam layar landscape.

Gambar 4.9 Uji Coba Modul Satu IND 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 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 Landscape

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 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

Pembahasan dan Analisis Modul 2


Aplikasi modul dua merupakan tambahan dari 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.
<?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="507dp" >
<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="20dp"
android:ems="10"
android:hint="@string/nim"
android:inputType="number" >
<requestFocus />
</EditText>
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/checkBox1"
android:text="IT-Fornesic" />
<CheckBox
android:id="@+id/checkBox4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox3"
android:layout_alignBottom="@+id/checkBox3"
android:layout_toRightOf="@+id/checkBox3"

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

Kode Program 4.5 Modul Dua.xml merupakan kode program untuk


tampilan aplikasi modul dua. Widget aplikasi modul dua terdiri dari TextView,
EditText, CheckBox, RadioButton, dan Button.
package com.example.prakpromob;
import
import
import
import
import
import
import
import
import
import
import
import

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;

public class Modul2 extends Activity {


TextView HNim, HNama, Hcheck, Hbutton ,Bio;
EditText Nim, Nama;
CheckBox Check1, Check2, Check3, Check4;
float discrete=0, start=0, end=100, start_pos=0;
int start_position=0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modul2);
Bio = (TextView)findViewById(R.id.textView3);
HNim=(TextView)findViewById(R.id.textView4);
HNama=(TextView)findViewById(R.id.textView5);
Hcheck=(TextView)findViewById(R.id.textView6);
Hbutton=(TextView)findViewById(R.id.textView7);
//EditText
Nim= (EditText)findViewById(R.id.editText1);

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

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.14 Tampilan Modul Dua ENG Portait

Gambar 4.13 Tampilan Modul Dua ENG Portait merupakan tampilan


dari modul dua dimana user dapat meng-input-kan NIM, Nama, Jenis Kelamin,
dan Mata Kuliah dalam versi Bahasa Inggris dalam layar portait.

Gambar 4.15 Tampilan Modul Dua IND Landscape

Gambar 4.15 Tampilan Modul Dua IND Landscape merupakan tampilan


dari modul dua dimana user dapat meng-input-kan NIM, Nama, Jenis Kelamin,
dan Mata Kuliah dalam versi Bahasa Indonesia dalam layar landscape.

Gambar 4.16 Tampilan Modul Dua ENG Landscape

Gambar 4.16 Tampilan Modul Dua ENG Landscape merupakan tampilan


dari modul dua dimana user dapat meng-input-kan NIM, Nama, Jenis Kelamin,
dan Mata Kuliah dalam versi Bahasa Inggris dalam layar landscape.

Gambar 4.17 Uji Coba Modul Dua IND 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

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 IND Landscape

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

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

Pembahasan dan Analisis Modul 3


Aplikasi modul tiga akan menampilkan hasil masukan user dari tugas

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

Kode Program 4.7 Modul Tiga_a.xml merupakan kode program dari


tampilan aplikasi data mahasiswa modul tiga pada halaman input.
<?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="445dp" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

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

Kode Program 4.8 Modul Tiga_b.xml merupakan tampilan aplikasi data


mahasiswa modul tiga pada halaman hasil input.
package com.example.prakpromob;
import
import
import
import
import
import
import
import
import

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;

public class Modul3 extends Activity {


EditText Nim, Nama, Alamat;
CheckBox Check1, Check4, Check2, Check3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.modul3);
//EditText
Nim= (EditText)findViewById(R.id.editText1);
Nama= (EditText)findViewById(R.id.editText2);
Alamat=(EditText)findViewById(R.id.editText3);
//checkbox
Check1=(CheckBox)findViewById(R.id.checkBox1);
Check2=(CheckBox)findViewById(R.id.checkBox2);
Check3=(CheckBox)findViewById(R.id.checkBox3);
Check4=(CheckBox)findViewById(R.id.checkBox4);
//Radiobutton
}
public void Utama(View v){
Intent U = new Intent (this,MainActivity.class);
startActivity(U);
}
public boolean go(View v){
String h1 = Nim.getText().toString();
String h2 = Nama.getText().toString();
String h3 = Alamat.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>"));
}
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>"));
}
//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;
}
//CheckBox koding
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"+" ";

Intent Kirim = new Intent (this,LanModul3.class);


Kirim.putExtra("KirimNIM",h1);
Kirim.putExtra("KirimNama",h2);
Kirim.putExtra("KirimAlamat",h3);
Kirim.putExtra("RadioButton",S);
Kirim.putExtra("CheckBox",cb);
startActivity(Kirim);
return true;
}

}
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

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.22 Tampilan Modul Tiga ENG Portait

Gambar 4.22 Tampilan Modul Tiga ENG Portait merupakan tampilan


dari modul tiga dimana user dapat meng-input-kan NIM, Nama, Alamat, Jenis
Kelamin, dan Mata Kuliah dalam versi Bahasa Inggris dalam layar portait.

Gambar 4.23 Tampilan Modul Tiga IND Landscape

Gambar 4.23 Tampilan Modul Tiga IND Landscape 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 landscape.

Gambar 4.24 Tampilan Modul Tiga ENG Landscape

Gambar 4.24 Tampilan Modul Tiga ENG Landscape merupakan tampilan


dari modul tiga dimana user dapat meng-input-kan NIM, Nama, Jenis Kelamin,
Alamat, dan Mata Kuliah dalam versi Bahasa Inggris dalam layar landscape.

Gambar 4.25 Uji Coba Modul Tiga IND 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

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

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

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

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 Tiga ENG 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

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

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

Pembahasan dan Analisis Modul 4


Aplikasi pada modul empat mengimplementasikan Simple ListView dan

Custom ListView ke dalam aplikasi yang dibuat.


<?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" >
<Button
android:id="@+id/button2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:textColor="#ffffff"
android:background="#bc3535"
android:layout_marginTop="16dp"
android:onClick="Custome"
android:text="LISTVIEW CUSTOME" />
<Button
android:id="@+id/button1"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="182dp"
android:background="#bc3535"
android:text="LISTVIEW"
android:onClick="list"
android:textColor="#ffffff" />
</RelativeLayout>
</ScrollView>
Kode Program 4.10 Modul Empat.xml

Kode Program 4.10 Modul Empat.xml merupakan kode program untuk


tampilan modul empat, dimana pada modul ini terdapat dua button pilihan.
<?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" >
<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

Kode Program 4.11 Simple ListView.xml merupakan kode program untuk


tampilan Simple ListView.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</ListView>
</RelativeLayout>
Kode Program 4.12 Custom ListView.xml

Kode Program 4.12 Custom ListView.xml merupakan kode program


untuk tampilan Custom ListView.
<?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="horizontal" >
<ImageView
android:id="@+id/icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:padding="5dp" />
<LinearLayout android:layout_width="wrap_content"

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

Kode Program 4.13 Custom ListView1.xml merupakan kode program


untuk tampilan Custom ListView untuk isi dari ListView tersebut.

Gambar 4.33 Tampilan Aplikasi Modul Empat Portait

Gambar 4.33 Tampilan Aplikasi Modul Empat Portait merupakan


tampilan dari aplikasi data mahasiswa pada modul empat. Halaman ini berisi dua
pilihan button yaitu ListView untuk Simple ListView dan ListView Custome untuk
Custom ListView. Halaman ini merupakan tampilan layar dalam versi portrait.

Gambar 4.34 Tampilan Aplikasi Modul Empat Landscape

Gambar 4.34 Tampilan Aplikasi Modul Empat Landscape merupakan


tampilan dari aplikasi data mahasiswa pada modul empat. Halaman ini berisi dua
pilihan button yaitu ListView untuk Simple ListView dan ListView Custome untuk
Custom ListView. Halaman ini merupakan tampilan layar dalam versi landscape.

Gambar 4.35 Tampilan Simple ListView Portait

Gambar 4.35 Tampilan Simple ListView Portait merupakan tampilan dari


aplikasi data mahasiswa pada modul empat pada menu Simple ListView. Halaman
ini merupakan tampilan layar dalam versi portrait.

Gambar 4.36 Tampilan Simple ListView Landscape

Gambar 4.36 Tampilan Simple ListView Landscape merupakan tampilan


dari aplikasi data mahasiswa pada modul empat pada menu Simple ListView.
Halaman ini merupakan tampilan layar dalam versi landscape.

Gambar 4.37 Tampilan Custom ListView Portait

Gambar 4.37 Tampilan Custom ListView Portait merupakan tampilan dari


aplikasi data mahasiswa pada modul empat pada menu ListView Custome.
Halaman ini merupakan tampilan layar dalam versi portait.

Gambar 4.38 Tampilan Custom ListView Landscape

Gambar 4.38 Tampilan Custom ListView Landscape merupakan tampilan


dari aplikasi data mahasiswa pada modul empat pada menu ListView Custome.
Halaman ini merupakan tampilan layar dalam versi landscape.
4.6

Pembahasan dan Analisis Aplikasi Tebak Gambar


Aplikasi tebak gambar yang akan dibuat pada Praktikum Pemrograman

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

Kode Program Aplikasi Tebak Gambar


Berikut merupakan kode program dari pembuatan aplikasi tebak gambar

baik kode program xml maupun kode program Java.


package com.example.gamekg;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.ProgressBar;
public class Loading extends AsyncTask<String, Integer, Integer> {
public interface LoadingTaskFinishedListener {
void onTaskFinished();
}

private final ProgressBar progressBar;


private final LoadingTaskFinishedListener finishedListener;
public Loading(ProgressBar progressBar,
LoadingTaskFinishedListener finishedListener) {
this.progressBar = progressBar;
this.finishedListener = finishedListener;
}
@Override
protected Integer doInBackground(String... params) {
Log.i("Tutorial", "Starting task with url: " + params[0]);
if (resourcesDontAlreadyExist()) {
downloadResources();
}
return 1234;
}
private boolean resourcesDontAlreadyExist() {
return true;
}
private void downloadResources() {
int count = 50;
for (int i = 0; i < count; i++) {
int progress = (int) ((i / (float) count) * 100);
publishProgress(progress);
try {
Thread.sleep(100);
} catch (InterruptedException ignore) {
}
}

@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

Kode Program 4.14 Class Loading merupakan kode program yang


berfungsi untuk membuat widget progress loading saat program mulai dijalankan.

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;

public class Main extends Activity implements


LoadingTaskFinishedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ProgressBar progressBar = (ProgressBar)
findViewById(R.id.progressBar2);
new Loading(progressBar, this).execute("");
}
@Override
public void onTaskFinished() {
completeSplash();
}
private void completeSplash(){
startApp();
finish();
}
private void startApp() {
Intent intent = new Intent(Main.this, MainActivity.class);
startActivity(intent);
}
}
Kode Program 4.15 Class Main

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() {

AlertDialog.Builder alertDialogBuilder = new


AlertDialog.Builder(context);
alertDialogBuilder.setTitle("kuis Tebak Gambar");
alertDialogBuilder
.setMessage("Anda yakin akan menutup Aplikasi?")
.setCancelable(false)
.setPositiveButton("Yes",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
finish();
}
})
.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();
}
public void keluar(View v){
AlertDialog.Builder alertDialogBuilder = new
AlertDialog.Builder(context);
alertDialogBuilder.setTitle("kuis Tebak Gambar");
alertDialogBuilder
.setMessage("Anda yakin akan menutup Aplikasi?")
.setCancelable(false)
.setPositiveButton("Yes",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
finish();
}
})
.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();
}
}
Kode Program 4.16 Class Main_Activity

Kode Program 4.16 Class Main_Activity merupakan kode program yang


berfungsi sebagai Main_Activity dimana terdapat fungsi-fungsi menuju ke
halaman lainnya.
package com.example.gamekg;
import
import
import
import

android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;

public class Kategory extends Activity {


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.kategory);
}
public void reptil(View v){
Intent m1 = new Intent (this,Soal.class);
startActivity(m1);
finish();
}
public void mamalia(View v){
Intent m1 = new Intent (this,Soal2.class);
startActivity(m1);
finish();
}
public void Unggas(View v){
Intent m1 = new Intent (this,Soal3.class);
startActivity(m1);
finish();
}
public void onBackPressed() {
Intent m1 = new Intent
(this,MainActivity.class);
startActivity(m1);
finish();
}
}
Kode Program 4.17 Class Katagori

Kode Program 4.17 Class Katagori merupakan kode program yang


berfungsi untuk menunjukkan katagori yang akan dimainkan baik reptil, mamalia,
maupun unggas.
package com.example.gamekg;
import
import
import
import
import
import
import
import
import
import
import
import

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?",
};

String [] pilihan_a ={"A. Cicak","A. Cobra","A. Buaya","A.


Cicak","A. Gecko","A. Cobra","A. Penyu","A. Cobra","A.
Gecko","A.Tokek"};
String [] pilihan_b ={"B. Tokek","B. Derik","B. Kapibara","B.
Tokek","B. Salamender","B.Derik","B. Kura-Kura","B.
Derik","B.Salamender","B.Cicak"};
String [] pilihan_c ={"C. Iguana","C. Piton","C. Piton","C.
Iguana","C. Iguana","C. Piton","C. Komodo","C.
Piton","C.Iguana","C.Bunglon"};
String [] pilihan_d ={"D. Bunglon","D.Ular Hijau","D.
Ikan","D. Bunglon","D. Bunglon","D.UlarHijau","D. Biawak","D.Ular
Hijau","D.Bunglon","D.Biawak"};
String [] jawaban = {"A","B","A","D","C","A","B","C","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() {

AlertDialog.Builder alertDialogBuilder = new


AlertDialog.Builder(context);
alertDialogBuilder.setTitle("kuis Tebak Gambar");
alertDialogBuilder
.setMessage("Anda belum menyelesaikan soal, apakah
anda yakin akan menutupnya?")
.setCancelable(false)
.setPositiveButton("Yes",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
Intent i = new Intent (Soal.this,
MainActivity.class);
startActivity(i);
finish();
}
})
.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, 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

Kode Program 4.18 Class Soal1 merupakan kode program yang


berfungsi untuk membuat soal reptil.
package com.example.gamekg;
import
import
import
import
import
import
import
import
import
import
import

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() {

AlertDialog.Builder alertDialogBuilder = new


AlertDialog.Builder(context);
alertDialogBuilder.setTitle("kuis Tebak Gambar");
alertDialogBuilder
.setMessage("Anda belum menyelesaikan soal, apakah
anda yakin akan menutupnya?")
.setCancelable(false)
.setPositiveButton("Yes",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
Intent i = new Intent (Soal2.this,
MainActivity.class);
startActivity(i);
finish();
}

})
.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

Kode Program 4.19 Class Soal2 merupakan kode program yang


berfungsi untuk membuat soal mamalia.
package com.example.gamekg;
import
import
import
import
import
import
import
import
import
import
import
import
import

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;

public class Soal3 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.angsa,R.drawable.ayamhutan,R.drawable.bebek,R.drawabl
e.camar,R.drawable.elang, R.drawable.flamingo,
R.drawable.kalkun,R.drawable.merak,R.drawable.pelikan,R.drawable.u
nta
};
String [] pertanyaan ={"1. Dari gambar Diatas merupakan
gambar?",
"2. Dari gambar Diatas merupakan
gambar?",

"3. Hewan Apakah ini?",


"4. Hewan Unggas apakah ini?",
"5. Hewan Unggas apakah ini?",
"6. Hewan Unggas apakah ini?",
"7. Hewan Unggas apakah ini?",
"8. Hewan Unggas apakah ini?",
"9. Hewan Unggas apakah ini?",
"10. Hewan Unggas apakah ini?",
};
String [] pilihan_a
={"A.Ayam","A.ayam","A.Angsa","A.Angsa","A.Angsa","A.Flaminggo","A
.Flaminggo","A.Pelikan","A.Angsa","A.Kalkun"};
String [] pilihan_b ={"B.Elang","B.camar","B.
Camar","B.Camar","B.Camar","B.Pelikan","B.Merak","B.Merak","B.Peli
kan","B.Pelikan"};
String [] pilihan_c
={"C.Bebek","C.bebek","C.bebek","C.Ayam","C.Ayam","C.Angsa","C.Ang
sa","C.angsa","C.Flaminggo","C.merak"};
String [] pilihan_d
={"D.Angsa","D.Angsa","D.Elang","D.Elang","D.Elang","D.Kalkun","D.
Kalkun","D.Kalkun","D.Bebek","D.Burung Unta"};
String [] jawaban = {"D","A","C","B","D","A","D","B","B","D"};
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() {

AlertDialog.Builder alertDialogBuilder = new


AlertDialog.Builder(context);
alertDialogBuilder.setTitle("kuis Tebak Gambar");
alertDialogBuilder
.setMessage("Anda belum menyelesaikan soal, apakah
anda yakin akan menutupnya?")
.setCancelable(false)
.setPositiveButton("Yes",new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
Intent i = new Intent (Soal3.this,
MainActivity.class);
startActivity(i);
finish();
}
})
.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, 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

Kode Program 4.20 Class Soal3 merupakan kode program yang


berfungsi untuk membuat soal unggas.
package com.example.gamekg;
import android.app.Activity;
import android.content.Context;

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

Kode Program 4.21 Class Hasil1 merupakan kode program yang


berfungsi untuk menampilkan hasil skor serta menyimpannya ke dalam database.
package com.example.gamekg;
import android.app.Activity;
import android.content.Context;
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 = 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() {

Intent m1 = new Intent


(this,MainActivity.class);
startActivity(m1);
finish();
finish();
}
}
Kode Program 4.22 Class Hasil2

Kode Program 4.22 Class Hasil2 merupakan kode program yang


berfungsi untuk menyimpan skor ke dalam database.
package com.example.gamekg;
import android.app.Activity;
import android.content.Context;
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 = Soal3.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.23 Class Hasil3

Kode Program 4.23 Class Hasil3 merupakan kode program yang


berfungsi untuk menyimpan skor ke dalam database sesuai dengan nama yang
diinginkan.

package com.example.gamekg;
import
import
import
import

android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.view.View;

public class Bantuan extends Activity {


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bantuan);
}
public void kembali(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.24 Class Bantuan

Kode Program 4.23 Class Bantuan merupakan kode program yang


berfungsi untuk membuat bantuan.
package com.example.gamekg;
import
import
import
import
import
import
import
import

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";

private static final String TABLE_CREATE = "create table " +


TABLE + " ("
+ NILAI + " int primary key, " + NAMA + " char)";
private final Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public DBAdapter(Context ctx) {
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
public DBAdapter open() throws SQLException {
db = DBHelper.getWritableDatabase();
return this;
}
public void close() {
DBHelper.close();
}
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(TABLE_CREATE);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion) {
Log.w("Upgrade", "Proses akan drop dan buat ulang
tabel.");
db.execSQL("DROP TABLE IF EXISTS " + TABLE);
onCreate(db);
}
}
public long insertData(String nilai, String nama) {
ContentValues initialValues = new ContentValues();

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

Kode Program 4.24 Class DB_Adapter merupakan kode program yang


berfungsi untuk membuat database dan membuat tabel.
package com.example.gamekg;
import
import
import
import
import
import
import
import
import

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;

public class Lihat extends Activity {


DBAdapter db = new DBAdapter(this);
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tampil);
ListView lv = (ListView)
findViewById(R.id.listView);
ArrayList<HashMap<String, String>> list = new
ArrayList<HashMap<String, String>>();

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

Kode Program 4.26 Loading.xml merupakan kode program yang


berfungsi untuk membuat tampilan halaman loading dari aplikasi tebak gambar.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@drawable/back" >
<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:background="@drawable/button1"
android:textColor="#ffffff"
android:onClick="Skor"
android:text="Skor" />
<Button

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

Kode Program 4.27 Main.xml merupakan kode program yang berfungsi


untuk membuat tampilan halaman utama dari aplikasi tebak gambar.
<?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"
android:background="@drawable/back" >
<ImageButton
android:id="@+id/imageButton3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageButton2"
android:layout_centerHorizontal="true"
android:onClick="Unggas"
android:layout_marginTop="26dp"
android:background="@drawable/unggass" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageButton3"
android:layout_below="@+id/imageButton1"
android:layout_marginTop="28dp"
android:onClick="mamalia"
android:background="@drawable/mamalia" />
<ImageButton

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

Kode Program 4.28 Katagori.xml merupakan kode program yang


berfungsi untuk membuat tampilan katagori dari aplikasi tebak gambar yang berisi
tiga buah ImageButton yang menampilkan katagori reptil, mamalia, dan unggas.
<?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"
android:background="@drawable/back" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:src="@drawable/kuis1" />
<TextView
android:id="@+id/soal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/layar"
android:layout_centerHorizontal="true"
android:layout_marginTop="17dp"

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

Kode Program 4.29 Soal.xml merupakan kode program yang berfungsi


untuk membuat tampilan halaman soal yang menampilkan gambar dengan
menggunakan ImageView serta pilihan jawaban dengan empat buah Button.
<?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"
android:background="@drawable/back" >
<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" />
<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="17dp"
android:layout_marginTop="37dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView2"
android:layout_centerHorizontal="true"
android:text="Skor Anda"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:textSize="70dp"
android:text="100"
android:textAppearance="?android:attr/textAppearanceLarge"

/>
<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

Kode Program 4.30 Hasil.xml merupakan kode program yang berfungsi


untuk membuat tampilan halaman hasil dari skor yang diperoleh. Selain itu, pada
halaman ini juga terdapat EditText untuk meng-input-kan nama jika skor ingin
disimpan.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout

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>

Kode Program 4.32 Tampil.xml

Kode Program 4.31 Tampil.xml merupakan kode program yang berfungsi


untuk membuat tampilan halaman skor yang menampilkan skor yang telah
disimpan dalam bentuk ListView.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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" >
<TextView
android:id="@+id/skor2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/nama2"
android:layout_below="@+id/nama2"
android:text="Medium Text"
android:textAppearance="?
android:attr/textAppearanceMedium"
android:textColor="#304500" />
<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="23dp"
android:src="@android:drawable/ic_menu_my_calendar" />
<TextView
android:id="@+id/nama2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView1"
android:layout_toRightOf="@+id/imageView1"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000" />
</RelativeLayout>
Kode Program 4.33 Isi Tampil.xml

Kode Program 4.32 Isi Tampil.xml merupakan kode program yang


berfungsi untuk membuat isi tampilan halaman skor yang menampilkan skor yang
telah 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"
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

Masukan Nama terlebih dahulu kemudian tekan tombol simpan."


android:textAppearance="?
android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView5"
android:layout_centerHorizontal="true"
android:layout_marginTop="23dp"
android:onClick="kembali"
android:background="@drawable/button1"
android:textColor="#ffffff"
android:text="Kembali" />
</RelativeLayout>
Kode Program 4.34 Bantuan.xml

Kode Program 4.33 Bantuan.xml merupakan kode program yang


berfungsi untuk membuat tampilan halaman bantuan yang berupa TextView.
4.6.2

Uji Coba Aplikasi Tebak Gambar


Tampilan pertama setelah membuka aplikasi Kuis Gambar dapat dilihat

pada Gambar 4.39.

Gambar 4.39 Loading

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

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.40 Menu Katagori

Gambar 4.40 Menu katagori merupakan menu selanjutnya setelah


memilih menu Main. Menu untuk memilih katagori game yang ingin
dimainkan, dalam menu ini terdapat tiga kategori yaitu reptil, mamalia, dan
unggas. Setelah memilih katagori maka akan diarahkan menuju halaman soal.

Gambar 4.41 Menu Soal

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.

Gambar 4.42 Menu Skor

Gambar 4.42 Menu Skor merupakan tampilan setelah selesai bermain


dimana akan ditampilkan akumulasi skor yang didapatkan. Terdapat fitur
menyimpan skor dengan cara melakukan input nama pada EditText yang telah
diberi hint Masukan Nama. Jika tidak memasukan nama maka tidak dapat
menyimpan skor dan akan muncul pesan anda harus memasukan nama. Jika
sudah mengisi nama dan memilih tombol Simpan maka akan di arahkan ke
tampilan skor pada Gambar 4.43 Tampilan Skor.

Gambar 4.43 Tampilan Skor

Gambar 4.43 Tampilan Skor merupakan tampilan dari skor yang


telah disimpan dimana data yang ditampilkan berasal dari data dalam database
yaitu yang terdapat dalam Class DBAdapter dengan tabel dan atribut Nama dan
nilai.

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

Pemrograman Mobile ini ialah:


1.

Penguasaan dalam penggunaan widget sangat berguna dalam pembuatan

2.

sebuah formulir atau form dalam sebuah aplikasi android.


Seluruh widget dapat disisipi listener untuk memberikan action tertentu
sesuai dengan keinginan programmer.

3.

Android Lifecycle atau siklus hidup Activity android memiliki methodmethod yang akan berjalan sesuai dengan fungsinya masing-masing

4.

ketika program Android dijalankan.


Siklus Hidup Activity pada Android dijalankan secara bertahap yang
dibagi dalam empat fase yaitu fase Start an Activity, Pausing and
Resuming an Activity, Stopping and Restarting an Activity, dan

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

Anonim. 2014. How to start an intent by passing some parameters to it dilihat 19


Desember 2015, <http://stackoverflow.com/questions/2405120/how-tostart-an-intent-by-passing-some-parameters-to-it>.
Anonim. 2012. Android Lifecycle
dilihat 19 Desember 2015,
<http://sudutpandangpupil.blogspot.com/2012/02/activity-mengatursiklushidup-activity.html>.
Anonim. 2011. Daur Hidup (Life Cycles) Activity Class Pada Android dilihat 19
Desember 2015, <http://dev.xbata.com/smartphone/daur-hidup-life-cyclesactivity-class-pada-android>.
Android Developer. 2014. App Widget dilihat 19 Desember 2015,
<http://developer.android.com/guide/topics/appwidgets/index.html>.
Anonim.
2010.
Intent
Parameter
dilihat
19
Desember
2015.
<http://stackoverflow.com/questions/2405120/how-to-start-an-intent-bypassing-some-parameters-to-it>.
Esti Setianingsih, Sri. 2013. Game Tebak Gambar Bahasa Inggris Untuk Siswa
Sekolah Dasar Kelas Iv Menggunakan Macromedia Flash 8.
Iqbal Hanafri, Muhammad. 2015. Game Edukasi Tebak Gambar Bahasa Jawa
Menggunakan Adobe Flash CS6 Berbasis Android
Komputer, Wahana. 2013. Android Programming with Eclipse. Penerbit Andi:
Yogyakarta.
Praktikum 4 CheckBox dan ListView dilihat 19 Desember 2015,
<https://www.scribd.com/doc/182493965/Praktikum4-CheckBoxdanListView-pdf>.
Wibisono, Yudi. 2013. Pengantar Mobile Programming dengan Android versi 22
Mei 2013
Wibisono, Yudi. 2014. Pengantar Mobile Programming dengan Android versi 6
April 2014

Anda mungkin juga menyukai