SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
0
Pemrograman Mobile
(Aplikasi Let’s Count)
Pengampu: I Putu Agus Eka Pratama S.T., M.T.
Disusun Oleh:
Joysun Agape Sianturi (1404505080)
Altry David Purba (1404505099)
JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2016
i
KATA PENANTAR
Puji syukur penulis panjatkan kehadirat Tuhan yang Mahakuasa karena
laporan pembuatan aplikasi ini telah dapat diselesaikan dengan baik dan tepat
pada waktunya. Laporan ini memuat bahasan “Implementasi Aplikasi Let’s
Count”
Dalam penyelesaian laporan pembuatan aplikasi ini tidak terlepas dari
bimbingan dosen pengampu mata kuliah Pemrograman Mobile yaitu bapak I Putu
Agus Eka Pratama S.T., M.T. dan bantuan dari berbagai pihak lainnya. Oleh
karena itu, penulis mengucapkan terima kasih atas bimbingan serta bantuannya
dalam penyelesaian penulisan laporan penelitian ini.
Penulis menyadari bahwa masih banyak kekurangan yang mendasar pada
penulisan laporan ini. Oleh karena itu, penulis berharap kepada para pembaca
sekalian untuk memberikan kritik serta saran yang membangun untuk
penyempurnaan laporan-laporan selanjutnya.
Akhir kata, semoga laporan ini dapat memberikan manfaat bagi kita
sekalian. Sekian dan terima kasih.
Bukit Jimbaran, Mei 2016
Penulis
ii
DAFTAR ISI
Kata Pengantar ............................................................................................. i
Daftar Isi ........................................................................................................ ii
Bab I PENDAHULUAN
1.1 Latar Belakang............................................................................ 1
1.2 Rumusan Masalah....................................................................... 1
1.3 Tujuan......................................................................................... 2
1.4 Solusi .......................................................................................... 2
Bab II TINJAUAN PUSTAKA
2.1 Pemrograman Mobile ................................................................. 3
2.2 Object Oriented Programing (OOP)........................................... 3
2.3 Unfied Modeling Language (UML) ........................................... 4
2.4 Android OS................................................................................. 6
2.5 Android Studio............................................................................ 9
2.6 Bahasa Pemrogman Java ............................................................ 10
2.7 Emulator ..................................................................................... 10
2.8 Penjumlahan dan Pengurangan................................................... 11
Bab III DESAIN DAN IMPLEMENTASI
3.1 Gambaran Umum Sistem............................................................ 12
3.2 Struktur Navigasi........................................................................ 12
3.3 Desain UML ............................................................................... 14
3.3.1 Sequence Diagram............................................................. 14
3.3.1 Usecase Diagram............................................................... 15
3.3.1 Class Diagram ................................................................... 16
3.4 Source Code Aplikasi Let’s Count ............................................. 16
3.5 Implementasi Perancangan Interface.......................................... 48
3.5.1 Rancangan Interface Halaman Utama............................... 48
3.5.2 Rancangan Interface Halaman Menu Penjumlahan .......... 49
3.5.3 Rancangan Interface Halaman Menu Pengurangan .......... 49
3.5.4 Rancangan Interface Halaman Hasil................................. 50
3.5.5 Rancangan Interface Halaman Menu About ..................... 51
iii
3.5.6 Rancangan Interface Keluar dari Aplikasi ........................ 52
BAB IV KESIMPULAN
4.1 Kesimpulan ..................................................................................... 54
4.1 Saran ............................................................................................... 54
DAFTAR PUSAKA ....................................................................................... 55
1
BAB I
PENDAHULAN
1.1 Latar Belakang
Ilmu pengetahuan dan teknologi selalu berkembang pesat sesuai dengan
perkembangan zaman dan perkembangan curah pikir manusia. Berbicara tentang
teknologi dan informasi, komputer merupakan salah satu bentuk teknologi yang
perkembangannya sangat maju dari zaman ke zaman sehingga merupakan suatu
media elektronik yang memegang peranan yang sangat penting pada
perkembangan teknologi saat ini.
Pada zaman sekarang perkembangan aplikasi-aplikasi edukasi semakin
meningkat pesat dan populer seiring dengan majunya perkembangan teknologi
informasi. Proses pembelajaran dapat dilakukan dengan cara apapun yaitu
melalui buku, suara, gambar, video bahkan sebuah game. Aplikasi edukasi
semakin canggih sehingga dapat dinikmati melalui berbagai macam media yaitu
seperti komputer desktop, website, handphone, dan juga smartphone.
Bagi beberapa orang tua memberikan pengajaran kepada anak-anak
berusia di bawah lima tahun, masih menjadi hal yang tabu. Meraka masih merasa
kesulitan untuk memberikan pengajaran khususnya dalam bidang hitung
menghitung.
Atas dasar hal tersebut penulis tertarik untuk mengembangkan sebuah
aplikasi sederhana yang dapat membantu anak-anak untuk dapat berhitung seperti
penjumlahan dan pengurangan. Aplikasi yang dikembangkan ini akan dirancang
dengan menarik yang dapat memacu niat anak-anak untuk menggunakan aplikasi
edukasi tersebut.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah di paparkan dapat dapat ditarik
beberara rumusan masalah yaitu :
1. Apa tujuan pembuatan sebuah aplikasi edukasi belajar berhitung bagi
anak-anak usis balita?
2
2. Bagaimana cara perancangan aplikasi Let’s Count dengan menggunakan
pemrograman mobile android?
1.3 Tujuan
Tujuan yang akan dicapai berdasarkan rumusan masalah yang telah di
identifikasi adalah untuk memnciptakan sebuah aplikasi edukasi yang membantu
anak-anak balita dalam belajar berhitung seperti penjumlahan dan pengurangan.
1.4 Solusi
Solusi yang dapat ditawarkan penulis adalah menciptakan sebuah aplikasi
edukasi berbasis android yang berguna untuk membantu anak-anak untuk belajar
berhitung. Kemudahan yang diberikan oleh aplikasi ini akan memberikan manfaat
yang sangat signifikan bagi user. Salah satunya adalah memberikan gambaran
atau pengetahuan kepada user cara berhitung yang mudah dengan menggunakan
pendekatan grafis seperti penggunaan gambar. Fitur yang disediakan aplikasi ini
adalah user dapat memilih menu yang diinginkan apakah ingin memilih latihan
penjumlahan dan pengurangan.
Cara penggunaan aplikasi ini adalah user terlebih dahulu membuka
aplikasi, kemudian dilanjutkan memilih menu perhitngan yang ingin dipelajari,
kemudian setelah user memilih diantara kedua menu tersebut maka aplikasi akan
menampilkan soal-soal latihan dengan betuk menghitung gambar yang disediakan
oleh sistem, untuk menjawabnya user cukup memilih pilihan jawaban yang terdiri
dari 2 pilihan yaitu A dan B. Setelah setiap soal telah terjawab maka user dapat
memilih button check untuk melihat hasil/skor dan jawaban yang benar. Jika ingin
mengulang kembali latihannya user dapat memilih button Try Again dan jika
ingin kembali kehalaman utama user dapat memeilih button Menu.
3
BAB II
TINJAUAN PUSTAKA
2.1 Pemrograman Mobile
Pemrograman Mobile adalah pemrograman yang ditujukan untuk
pembuatan aplikasi diperangkat mobile yang dapat dibuat dengan menggunakan
Java. Keterbatasan yang sangat umum dalam bahasa pemrograman untuk
peralatan mobile adalah kendala dalan segala dalam hal sumber daya, seperti
ukuran layar, memori, CPU, penyimpanan dan cara menginput data. Perbedaan
tampilan juga disebabkan adanya perbedaan hardware dan API yang di gunakan.
Berikut macam-macam Mobile Programming untuk ponsel yaitu J2ME, C++,
Objective C, C#., Javafx, PHP.
2.2 Object Oriented Programming (OOP)
Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada
objek atau kumpulan obyek yang berinteraksi satu sama lain. Program dalam
OOP membungkus (encapsulate) data dan fungsi (atau prosedur) dalam suatu
obyek yang umumnya diimplementasikan sebagai suatu kelas (class). Klasifikasi
obyek, pewarisan, dan message passing merupakan prinsip- prinsip dasar dalam
OOP. Karakteristik OOP adalah sebagai berikut.
1. Enkapsulasi (Pembungkusan). Enkapsulasi adalah pelindung program dan
data yang sedang diolah. Enkapsulasi mendefinisikan perilaku dan
melindungiprogram dan data agar tidak diakses secara sembarangan oleh
program lain. Dalam Java, dasar enkapsulasi adalah class.
2. Inheritansi. Inheritansi adalah objek-objek yang berada di sekitar kita
adalah objek-objek yang saling terhubung secara hirarkis.
3. Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas
namun terkait dalam pewarisan untuk merespon secara berbeda terhadap
suatu pesan yang sama. Polimorfisme juga dapat dikatakan kemampuan
sebuah objek untuk memutuskan method mana yang akan diterapkan
padanya, tergantung letak objek tersebut pada jenjang pewarisan
4
Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah
umum, yaitu:
1. Attribute
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas,
Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara
langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat
mengakses atribut ini secara langsung.
2. Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer
didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama
dengan fungsi atau prosedur pada pemrograman prosedural.
3. Class
Class merupakan model yang berisi kumpulan attribute dan method dalam
suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki
attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur.
Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class
tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam
pemrograman berorientasi object.
4. Object
Object merupakan perwujudan dari class, setiap object akan mempunyai
attribute dan method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani
merupakan object dari class manusia. Setiap object dapat berinteraksi dengan
object lainnya meskipun berasal dari class yang berbeda.
2.3 UML (Unified Modeling Language)
Menurut Booch (2005) UML adalah Bahasa standar untuk membuat
rancangan software. UML biasanya digunakan untuk menggambarkan dan
membangun, dokumen artifak dari software –intensive sistem.
Menurut Nugroho (2010), UML (Unified Modeling Language) adalah
‘bahasa’ pemodelan untuk sistem atau perangkat lunak yang berparadigma
‘berorientasi objek”. Pemodelan (modeling) sesungguhnya digunakan untuk
5
penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa
sehingga lebih mudah dipelajari dan dipahami.
Secara umum pengertian Unfied Modeling Language adalah UML adalah
suatu bahasa yang digunakan untuk menentukan, memvisualisasikan,
membangun, dan mendokumentasikan suatu sistem informasi. UML dapat
digunakan untuk memahami dan mendokumentasikan setiap sistem informasi.
Penggunaan UML merupakan standar terbuka yang menjadikannya sebagai
bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan
sistem.
1. Diagram kelas (Class Diagram). Diagram yang menggambarkan interaksi
antara sistem dan aktor juga dapat men-deskripsikan tipe interaksi antara si
pemakai sistem dengan sistemnya. kolaborasi, serta relasi-relasi. Diagram
ini umum dijumpai pada pemodelan sistem berorientasi objek.
2. Diagram paket (Package Diagram). Diagram ini memperlihatkan
kumpulan kelas-kelas, merupakan bagian dari diagram komponen.
3. Diagram use-case (Usecase Diagram). Diagram ini memperlihatkan
himpunan use-case dan aktor-aktor (suatu jenis khusus dari kelas).
4. Diagram interaksi dan sequence (Sequence Diagram). Diagram urutan
adalah interaksi yang menekankan pada pengiriman pesan dalam suatu
waktu tertentu.
5. Diagram komunikasi (Communication Diagram). Diagram ini
menekankan organisasi struktural dari objek-objek yang menerima serta
mengirim pesan.
6. Diagram statechart (Statechart Diagram). Diagram status
memperlihatkan keadaan-keadaan pada sistem, memuat status (state),
transisi, kejadian serta aktivitas.
7. Diagram aktivitas (Activity Diagram). Diagram aktivitas adalah tipe
khusus dari diagram status yang memperlihatkan aliran dari suatu suatu
aktivitas ke aktivitas lainnya dalam suatu sistem.
8. Diagram komponen (Component Diagram). Diagram komponen ini
memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak
pada komponen-komponen yang telah ada sebelumnya.
6
9. Diagram deployment (Deployment Diagram). Diagram
inimemperlihatkan konfigurasi saat aplikasi dijalankan (run-time).
2.4 Android OS
Android adalah sistem operasi untuk telepon seluler yang berbasis Linux.
Sistem operasi Android dimiliki oleh Google Inc selaku perusahaan raksasa.
Bersama dengan sekitar 34 perusahaan peranti keras, peranti lunak, dan
telekomunikasi seperti HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Google Inc akhirnya membentuk Open Handset Alliance, yang tujuannya
mengembangkan sistem operasi Android, hingga ia menjadi salah satu sistem
operasi paling populer saat ini mengalahkan iOS, Windows Phone, dan
BlackBerry.
Dalam membangun sebuah aplikasi yang berbasis android dibutuhkan
pemahaman terhadap Arsitektur sistem operasi Android yaitu sperti gambar
berikut.
Gambar 2.1 Arsitektur Android OS
Penjelasan dari arsitektur sistem operasi android diatas adalah bahwa alam
paket sistem operasi android tediri dari beberapa unsur seperti tampak pada
gambar di bawah. Secara sederhana arsitektur android merupakan sebuah kernel
7
Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang
menyediakan dan mengatur alur proses aplikasi. Berikut ini adalah bagian-bagian
arsitektur sistem operasi android.
1. Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan
android bukanlah linux, karena dalam android tidak terdapat paket standar yang
dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal
dalam manajemen memori dan proses. Oleh karenanya pada android hanya
terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori,
manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,
kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess
Communication) untuk mengatur aplikasi dan lubang keamanan.
2. Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada C/C++
dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang
aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:
1) Media Library untuk memutar dan merekam format audio dan video.
2) Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.
3) Graphic Library untuk tampilan 2D dan 3D.
4) SQLite untuk mengatur relasi database yang digunakan pada aplikasi.
2 Android Runtime
Android Runtime merupakan mesin virtual yang membuat aplikasi android
menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android
Runtime terdapat 2 bagian utama, diantaranya:
1 Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java.
Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada
pustaka Java serta beberapa pustaka khusus android.
2 Mesin Virtual Dalvik. Dalvik hanyalah interpreter mesin virtual yang
mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan
8
format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan
pengalamatan memori pada file yang dieksekusi.
3 Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk
mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik
untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber
daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai
berikut
1) Activity Manager berfungsi untuk mengontrol siklus hidup aplikasi dan
menjaga keadaan “Backstack” untuk navigasi penggunaan.
2) Content Providers berfungsi untuk merangkum data yang memungkinkan
digunakan oleh aplikasi lainnya, seperti daftar nama.
3) Resuource Manager untuk mengatur sumber daya yang ada dalam
program. Serta menyediakan akses sumber daya diluar kode program,
seperti karakter, grafik, dan file layout.
4) Location Manager berfungsi untuk memberikan informasi detail mengenai
lokasi perangkat android berada.
5) Notification Manager mencakup berbagai macam peringatan seperti, pesan
masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.
4 Application Layer
Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget.
Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika
menjalankan program. Pengguna hanya akan melihat program ketika digunakan
tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan
dalam Android runtime dengan menggunakan kelas dan service yang tersedia
pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan
dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti
(native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan
menggunakan pustaka API (Application Programming Interface) yang sama.
9
2.5 Android Studio
Android Studio adalah sebuah IDE untuk Android Development yang
diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan
pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu
IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan
aplikasi Android.
Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak
fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang
menggunakan Ant, Android Studio menggunakan Gradle sebagai build
environment. Fitur-fitur lainnya adalah Menggunakan Gradle-based build system
yang fleksibel, mem-build multiple APK, template support untuk Google
Services dan berbagai macam tipe perangkat, layout editor yang lebih bagus,
Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi
dengan Google Cloud Messaging dan App Engine, import library langsung dari
Maven repository.
2.6 Bahasa Pemrograman Java
Java adalah bahasa pemrograman yang multi platform dan multi device.
Sekali anda menuliskan sebuah program dengan menggunakan Java, anda dapat
menjalankannya hampir di semua komputer dan perangkat lain yang support Java,
dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya.
Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa
dijalankan dengan Java Virtual Machine.
Kelebihan Java yang pertama tentu saja multiplatform. Java dapat
dijalankan dalam beberapa platform komputer dan sistem operasi yang berbeda.
Yang kedua adalah OOP atau Object Oriented Programming. Java memiliki
library yang lengkap. Library disini adalah sebuah kumpulan dari program yang
disertakan dalam Java. Kekurangan yang dimiliki oleh Java adalah pada satu
slogannya, yakni “Tulis sekali dan jalankan dimana saja” ternyata tidak
sepenuhnya benar. Beberapa hal harus disesuaikan jika dijalankan pada platform
yang berbeda. Kekurangan Java yang lain adalah penggunaan memori yang cukup
banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java.
10
2.7 Emulator
Emulator atau lebih tepatnya piranti lunak emulator memungkinkan suatu
program atau piranti lunak yang dibuat pada awalnya oleh suatu sistem komputer
(arsitektur dan sistem operasi) dan untuk dijalankan dalam sistem itu (atau
dijalankan dalam suatu sistem yang didedikasikan), dapat dijalankan dalam sistem
komputer yang sama sekali berbeda. Sebagai contoh suatu program Windows
dapat dijalankan di sistem operasi Linux dengan menggunakan piranti lunak
emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam
komputer, misalnya VMware. Contoh lain adalah program-program emulator
untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada
konsolnya masing-masing, misalnya Nintendo, Atari, PlayStation, XBox dan lain-
lain. Emulator terdiri dari 2 jenis: single-system/dedicated emulator dan multi-
system emulator. Single-system/dedicated emulator hanya dapat meng-emulate 1
jenis sistem, sedangkan multi-system emulator dapat meng-emulate beberapa
jenis sistem sekaligus. Pada dasarnya kualitas single-system/dedicated emulator
lebih baik daripada multi-system emulator karena hanya didesain khusus untuk 1
jenis sistem sehingga kemungkinan untuk terjadi compatibility problem dapat
diminimalisasi. Selain itu kebutuhan resources untuk single-system/dedicated
emulator biasanya lebih kecil dibandingkan multi-system emulator.
Emulator adalah sebuah program yang membuat pengguna komputer bisa
merasakan sistem operasi tertentu seperti Android, iPhone atau atau program
lainnya yang tidak bisa dijalankan mandiri di komputer. Contoh real lainnya
adalah Emulator PS (play Station) dan penggunaan media sosial seperti
Whatsapp, Line, BBM atau aplikasi android lainnya tanpa harus membeli
perangkat android.
11
2.8 Penjumlahan dan Pengurangan
Penjumlahan adalah salah satu operasi aritmetika dasar. Perjumlahan
merupakan penambahan sekelompok bilangan atau lebih menjadi suatu bilangan
yang merupakan jumlah.
Penjumlahan juga dapat diartikan sebagai cara menemukan jumlah total
dua bilangan atau lebih. Tanda “+” dalam penjumlahan menunjukkan bahwa
bilangan-bilangan tersebut dijumlahkan”. Operasi penjumlahan dinyatakan
dengan rumus :
A + B = C
Pengurangan merupakan salah satu dari empat operasi dasar aritmetika,
dan pada prinsipnya merupakan kebalikan dari operasi perjumlahan. Operasi
perkurangan dinyatakan dengan tanda minus dalam notasi infix, dengan bentuk
rumus:
A – B = C
12
BAB III
DESAIN DAN IMPLEMENTASI
Pada bab ini akan dilakukan sedikit bahasan tentang desain serta
implementasi perancangan dari aplikasi menampilkan informasi profil negara,
kemudian akan diuraikan dengan menjelaskan sistem sehingga pengguna aplikasi
paham dan mengerti kegunaan aplikasi yang akan dibuat beserta gambaran untuk
menggambarkan rangkaian dari aktivitas yang terjadi dalam aplikasi.
3.1 Gambaran Umum Sistem
Aplikasi Let’s Count adalah aplikasi yang dikembangkan berbasis android
yang berfungsi untuk memberikan latihan penjumlahan bagi anak-anak dengan
menggunakan konsep gradfis, maksudnya angka yang dijumlahkan didesai dalam
bentuk gambar animasi. Tujuan dari mengembangkan aplikasi ini dengan
menggunakan pendekatan grafis yaitu agar user yang sasarannya adalah anak-
anak tertarik untuk menggunakan aplikasi Let’s Count. Berikut ini adalah
deskripsi umum aplikasi yang dikembangkan.
Gambar 3.1 Contoh Soal yang akan dibuat
Gambar 3.1 adalah contoh soal yang akan disajikan dalam aplikasi Let’s
Count. Untuk menjawab Pertanyaan tersebut akan disediakan jawaban berupa
pilihan a dan b yang ditampilkan langsung oleh aplikasi Let’s Count.
3.2 Struktur Navigasi
Dalam proses perancangan suatu aplikasi struktur navigasi merupakan hal
yang sangat penting, Struktur navigasi juga menjelaskan hubungan antar halaman
dan memberikan penjelasan mengenai alur cerita sebuah program atau aplikasi..
13
Pada aplikasi ini menggunakan struktur navigasi hirarki yaitu merupakan suatu
struktur yang mengandalkan percabangan untuk menampilkan data atau gambar
pada layer dengan kriteria tertentu. Berikut ini merupakan struktur navigasi dari
aplikasi Let’s Count.
Gambar 3.2 Struktur Navigasi Aplikasi Let’s Count
Pada Gambar 3.2 terdapat bentuk struktur hirarki yang menggambarkan
proses kerja dari aplikasi menampilkan Let’s Count. Dalam proses aplikasi ini
dimulai dari pengguna membuka aplikasi tersebut dan akan muncul halaman
utama, selanjutnya aplikasi ini akan menampilkan menu yaitu menu untuk
memlilih latihan penjumlahan atau pengurangan atau about. Setelah memilih
menunya maka akan ditampilkan soal latihan. Selanjutnya jika sudah selesai
menjawab soal latihan user memilih menu Check. Jika ingin keluar dari laman
hasil maka user dapat memilih button beck untuk kembali kehalam utama dan jika
ingin kembalingulang latihan dapat memilih button Try Again.
14
3.3 Desain UML
Dalam aplikasi untuk menampilkan profl sebuah negara terdapat
perancangan desain UML yaitu sequence diagram, use case diagram dan class
diagram. Berikut merupakan desain UML dari aplikasi Let’s Count.
3.3.1 Sequence Diagram
Sequence Diagram merupakan diagram yang menggambarkan interaksi
antar objek di dalam sebuah system atau aplikasi. Berikut merupakan sequence
diagram dari aplikasi menampilkan profil suatu negara.
Gambar 3.3 Sequence Diagram Aplikasi Lets Count
Gambar 3.3 merupakan sequence diagram aplikasi Let’s Count. Prosesnya
yaitu dimulai dari pengguna membuka aplikasi Let’s Count terdiri dari 3 menu
yaitu Penumlahan (+), Pengurangan (-) dan menu About. Setelah user masuk
kehalaman utama user dapat memilih ketiga menu tersebut. Jika memilih menu
penjumlahan maka soal latihan penjumlahan akan ditampilkan oleh sistem. Jika
memilih menu pengurangan maka soal latihan penguranagan akan ditampilkan
oleh sistem. Dan jika memilih menu about akan ditampilkan deskripsi aplikasi dan
nama yang membuat aplikasi tersebut. Selanjutnya pada bagian halaman Menu
penjumlahan dan penurangan dilengkapi button Check untuk melihat hasil
jawaban yang telah dipilih. Pada halaman Check Hasil terdapat 2 button yaitu Try
Again dan Beck. Button Try Again berguna untuk melakukan/mencoba kembali
15
latiha perhngannya dan button Beck berfungsi untuk kembali ke halaman utama
aplikasi
3.3.2 Use Case Diagram
Use case adalah rangkaian/uraian sekelompok yang saling terkait dan
membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor.
Use case digunaka untuk membentuk tingkah laku benda/thing dalam sebuah
mode serta direalisasikan oleh sebuah collaborato. Berikut merupakan use case
diagram dari aplikasi memampilkan informasi profil negara.
Gambar 3.4 Use Case Diagram Let’s Count
Pada Gambar 3.4 merupakan use case diagram aplikasi Let’Count. Dari
sisi user, user memiliki otoritas untuk masuk kehalaman utama aplikasi, kemudian
memilih yang terdapat pada bagian halaman utaman yang terdiri dari menu
Penjumlahan (+), Pengurangan (-) dan About. Dan juga keluardari aplikasi Let’s
Count
Sementara dari disisi sistem akan memberi respon/feedbeck atas
permintaan user sesuai menu yang di klik oleh user. Jika memilih menu
penjumlahan maka soal latihan penjumlahan akan ditampilkan oleh sistem. Jika
memilih menu pengurangan maka soal latihan penguranagan akan ditampilkan
oleh sistem. Dan jika memilih menu about akan ditampilkan deskripsi aplikasi dan
nama yang membuat aplikasi tersebut. Dan juga aplikasi akan menampilkan
halaman hasil yang bersarka latihan yang dilakukan oleh user
16
3.3.3 Class Diagram
Class diagram adalah sebuah class yang menggambarkan struktur dan
penjelasan class, paket, dan objek serta hubungan satu sama lain seperti
containment, pewarisan, asosiasi, dan lain-lain. Class diagram juga menjelaskan
hubungan antar class dalam sebuah sistem yang sedang dibuat dan bagaimana
caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan. Berikut
merupakan class diagram dari aplikasi Let’s Count :
Let’s Count
Penjumlahan
Pengurangan
About
display_hasil_penjumlahan()
display_hasil_pengurangan()
display_about()
Gambar 3.5 Class Diagram Let’s Count
Gambar 3.5 merupakan class diagraman aplikasi Let’s Count. Class Let’s
Count memiliki tiga attribute yaitu penjumlahan, pengurangan, dan about. Dalam
class diagram ini terdapat operasi yang dapat dilakukan oleh aplikasi seperti
menampilkan hasil_penjumlahan(), hasil_pengurangan(), dan display_about().
3.4 Source Code Aplikasi Let’s Count berbasis Android
3.4.1 About.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.pm.ActivityInfo;
public class About extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
;
}
}
17
3.4.2 Menu_utama.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.view.View;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.media.MediaPlayer;
public class Menu_utama extends Activity {
private MediaPlayer MPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu_utama);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
;
buka_file_suara();
}
@Override
public void onResume() {
super.onResume();
stop_intro();
play_intro();
}
private void play_intro() {
if (MPlayer != null && !MPlayer.isPlaying()) {
MPlayer.setLooping(true);
MPlayer.start();
} else {
MPlayer.setLooping(true);
}
}
private void stop() {
MPlayer.stop();
try {
MPlayer.prepare();
MPlayer.seekTo(0);
} catch (Throwable t) {
error_(t);
}
}
private void stop_intro() {
if (MPlayer.isPlaying()) {
stop();
}
}
private void buka_file_suara() {
18
try {
MPlayer = MediaPlayer.create(this, R.raw.intro);
} catch (Throwable t) {
error_(t);
}
}
private void error_(Throwable t) {
AlertDialog.Builder pesan_error = new
AlertDialog.Builder(this);
pesan_error.setTitle("Failed!").setMessage(t.toString())
.setPositiveButton("OK", null).show();
}
public void btn_plus_Clicked(View v) {
stop_intro();
Intent panggil_class = new Intent(this,
PlusActivity.class);
startActivity(panggil_class);
}
public void btn_minus_Clicked(View v) {
stop_intro();
Intent panggil_class = new Intent(this,
MinusActivity.class);
startActivity(panggil_class);
}
public void btn_about_Clicked(View v) {
Intent panggil_class = new Intent(this, About.class);
startActivity(panggil_class);
}
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new
AlertDialog.Builder(this);
builder.setMessage("Tutup Aplikasi Let's Count ?")
.setCancelable(false)
.setPositiveButton("Ya", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int
id) {
Intent keluar = new Intent(Intent.ACTION_MAIN);
keluar.addCategory(Intent.CATEGORY_HOME);
keluar.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
stop_intro();
finish();
startActivity(keluar);
}
})
.setNegativeButton("Tidak",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
19
}).show();
}
}
3.4.3 LetsCountActivity
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.MotionEvent;
import android.content.pm.ActivityInfo;
public class LetsCountActivity extends Activity {
protected boolean _aktif = true;
protected int splash_ = 5000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lets_count);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
;
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int delay_ = 0;
while (_aktif && (delay_ < splash_)) {
sleep(100);
if (_aktif) {
delay_ += 100;
}
}
} catch (InterruptedException e) {
} finally {
finish();
Intent panggil_class = new
Intent(LetsCountActivity.this,
Menu_utama.class);
startActivityForResult(panggil_class, 0);
}
}
};
splashTread.start();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
_aktif = false;
}
return true;
}
@Override
20
public void onBackPressed() {
finish();
System.exit(0);
}
}
3.4.5 PlusActivity.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.Spinner;
public class PlusActivity extends Activity {
public int nilai_01, nilai_02, nilai_03, nilai_04, nilai_05,
nilai_06,
nilai_07, nilai_08, nilai_09, nilai_10, jumlah_nilai;
public static int nilai = 0;
public Spinner menu_jawab_01, menu_jawab_02, menu_jawab_03,
menu_jawab_04,
menu_jawab_05, menu_jawab_06, menu_jawab_07,
menu_jawab_08,
menu_jawab_09, menu_jawab_10;
public ImageButton cek_nilai;
public static int nilai_total = 0;
public String jawaban, hasil_jawaban, isi_jawaban;
public static String data_jawaban = "";
int[] kunci = { 1, 2, 2, 1, 2, 2, 2, 1, 1, 2 };
int[] soal = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
String[] jawaban_01 = { " Pilih jawaban", "A. 5", "B. 6" };
String[] jawaban_02 = { " Pilih jawaban", "A. 8", "B. 9" };
String[] jawaban_03 = { " Pilih jawaban", "A. 9", "B. 10" };
String[] jawaban_04 = { " Pilih jawaban", "A. 7", "B. 6" };
String[] jawaban_05 = { " Pilih jawaban", "A. 4", "B. 3" };
String[] jawaban_06 = { " Pilih jawaban", "A. 9", "B. 8" };
String[] jawaban_07 = { " Pilih jawaban", "A. 1", "B. 2" };
String[] jawaban_08 = { " Pilih jawaban", "A. 4", "B. 5" };
String[] jawaban_09 = { " Pilih jawaban", "A. 6", "B. 5" };
String[] jawaban_10 = { " Pilih jawaban", "A. 0", "B. 1" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_plus);
menu_jawab_01 = (Spinner) findViewById(R.id.jwb_01);
menu_jawab_02 = (Spinner) findViewById(R.id.jwb_02);
menu_jawab_03 = (Spinner) findViewById(R.id.jwb_03);
menu_jawab_04 = (Spinner) findViewById(R.id.jwb_04);
menu_jawab_05 = (Spinner) findViewById(R.id.jwb_05);
menu_jawab_06 = (Spinner) findViewById(R.id.jwb_06);
menu_jawab_07 = (Spinner) findViewById(R.id.jwb_07);
21
menu_jawab_08 = (Spinner) findViewById(R.id.jwb_08);
menu_jawab_09 = (Spinner) findViewById(R.id.jwb_09);
menu_jawab_10 = (Spinner) findViewById(R.id.jwb_10);
cek_nilai = (ImageButton) findViewById(R.id.Btn_check);
ArrayAdapter<String> list_jawab_01 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_01);
list_jawab_01
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_01.setAdapter(list_jawab_01);
menu_jawab_01.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_01 = menu_jawab_01.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_02 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_02);
list_jawab_02
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_02.setAdapter(list_jawab_02);
menu_jawab_02.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_02 = menu_jawab_02.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_03 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_03);
list_jawab_03
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_03.setAdapter(list_jawab_03);
menu_jawab_03.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
22
int arg2, long arg3) {
nilai_03 = menu_jawab_03.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_04 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_04);
list_jawab_04
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_04.setAdapter(list_jawab_04);
menu_jawab_04.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_04 = menu_jawab_04.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_05 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_05);
list_jawab_05
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_05.setAdapter(list_jawab_05);
menu_jawab_05.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_05 = menu_jawab_05.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_06 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_06);
list_jawab_06
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_06.setAdapter(list_jawab_06);
menu_jawab_06.setOnItemSelectedListener(new
23
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_06 = menu_jawab_06.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_07 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_07);
list_jawab_07
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_07.setAdapter(list_jawab_07);
menu_jawab_07.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_07 = menu_jawab_07.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_08 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_08);
list_jawab_08
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_08.setAdapter(list_jawab_08);
menu_jawab_08.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_08 = menu_jawab_08.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_09 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_09);
list_jawab_09
24
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_09.setAdapter(list_jawab_09);
menu_jawab_09.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_09 = menu_jawab_09.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_10 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_10);
list_jawab_10
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_10.setAdapter(list_jawab_10);
menu_jawab_10.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_10 = menu_jawab_10.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
public void btn_check_Clicked(View v) {
int pilihan_jawaban[] = { nilai_01, nilai_02, nilai_03,
nilai_04,
nilai_05, nilai_06, nilai_07, nilai_08, nilai_09,
nilai_10 };
int nomor_pilihan;
for (int i = 0; i < kunci.length; i++) {
if (pilihan_jawaban[i] == 1) {
jawaban = " A ";
} else if (pilihan_jawaban[i] == 2) {
jawaban = " B ";
} else {
jawaban = " - ";
}
if (kunci[i] == 1) {
isi_jawaban = "A";
} else if (kunci[i] == 2) {
isi_jawaban = "B";
} else {
isi_jawaban = "Tidak dijawab";
25
}
if (pilihan_jawaban[i] == kunci[i]) {
nilai_total = nilai_total + 10;
hasil_jawaban = jawaban + " (Benar) = " + isi_jawaban
+ ", (Nilai = 10)n";
} else {
hasil_jawaban = jawaban + " (Salah) = " + isi_jawaban
+ ", (Nilai = 0)n";
}
nomor_pilihan = i + 1;
data_jawaban = data_jawaban +
Integer.toString(nomor_pilihan)
+ ". " + hasil_jawaban;
}
Intent panggil_class = new Intent(this,
HasilPlusActivity.class);
panggil_class.putExtra("nilai_hasil", nilai_total);
panggil_class.putExtra("rinci_jawaban", data_jawaban);
startActivity(panggil_class);
finish();
System.exit(0);
}
@Override
public void onBackPressed() {
finish();
System.exit(0);
}}
3.4.6 MinusActivity.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageButton;
import android.widget.Spinner;
public class MinusActivity extends Activity {
public int nilai_01, nilai_02, nilai_03, nilai_04, nilai_05,
nilai_06,
nilai_07, nilai_08, nilai_09, nilai_10, jumlah_nilai;
public static int nilai = 0;
public Spinner menu_jawab_01, menu_jawab_02, menu_jawab_03,
menu_jawab_04,
menu_jawab_05, menu_jawab_06, menu_jawab_07,
menu_jawab_08,
menu_jawab_09, menu_jawab_10;
public ImageButton cek_nilai;
public static int nilai_total = 0;
public String jawaban, hasil_jawaban, isi_jawaban;
public static String data_jawaban = "";
int[] kunci = { 2, 1, 1, 2, 2, 1, 1, 1, 1, 2 };
int[] soal = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
26
String[] jawaban_01 = { " Pilih jawaban", "A. 7", "B. 6" };
String[] jawaban_02 = { " Pilih jawaban", "A. 4", "B. 3" };
String[] jawaban_03 = { " Pilih jawaban", "A. 2", "B. 3" };
String[] jawaban_04 = { " Pilih jawaban", "A. 7", "B. 8" };
String[] jawaban_05 = { " Pilih jawaban", "A. 6", "B. 5" };
String[] jawaban_06 = { " Pilih jawaban", "A. 1", "B. 2" };
String[] jawaban_07 = { " Pilih jawaban", "A. 7", "B. 6" };
String[] jawaban_08 = { " Pilih jawaban", "A. 3", "B. 4" };
String[] jawaban_09 = { " Pilih jawaban", "A. 0", "B. 1" };
String[] jawaban_10 = { " Pilih jawaban", "A. 10", "B. 9" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_minus);
menu_jawab_01 = (Spinner) findViewById(R.id.jwb_01);
menu_jawab_02 = (Spinner) findViewById(R.id.jwb_02);
menu_jawab_03 = (Spinner) findViewById(R.id.jwb_03);
menu_jawab_04 = (Spinner) findViewById(R.id.jwb_04);
menu_jawab_05 = (Spinner) findViewById(R.id.jwb_05);
menu_jawab_06 = (Spinner) findViewById(R.id.jwb_06);
menu_jawab_07 = (Spinner) findViewById(R.id.jwb_07);
menu_jawab_08 = (Spinner) findViewById(R.id.jwb_08);
menu_jawab_09 = (Spinner) findViewById(R.id.jwb_09);
menu_jawab_10 = (Spinner) findViewById(R.id.jwb_10);
cek_nilai = (ImageButton) findViewById(R.id.Btn_check);
ArrayAdapter<String> list_jawab_01 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_01);
list_jawab_01
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_01.setAdapter(list_jawab_01);
menu_jawab_01.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_01 = menu_jawab_01.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_02 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_02);
list_jawab_02
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_02.setAdapter(list_jawab_02);
menu_jawab_02.setOnItemSelectedListener(new
27
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_02 = menu_jawab_02.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_03 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_03);
list_jawab_03
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_03.setAdapter(list_jawab_03);
menu_jawab_03.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_03 = menu_jawab_03.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_04 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_04);
list_jawab_04
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_04.setAdapter(list_jawab_04);
menu_jawab_04.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_04 = menu_jawab_04.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_05 = new
ArrayAdapter<String>(this,
28
android.R.layout.simple_spinner_item, jawaban_05);
list_jawab_05
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_05.setAdapter(list_jawab_05);
menu_jawab_05.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_05 = menu_jawab_05.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_06 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_06);
list_jawab_06
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_06.setAdapter(list_jawab_06);
menu_jawab_06.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_06 = menu_jawab_06.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_07 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_07);
list_jawab_07
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_07.setAdapter(list_jawab_07);
menu_jawab_07.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_07 = menu_jawab_07.getSelectedItemPosition();
}
@Override
29
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_08 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_08);
list_jawab_08
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_08.setAdapter(list_jawab_08);
menu_jawab_08.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_08 = menu_jawab_08.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_09 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_09);
list_jawab_09
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_09.setAdapter(list_jawab_09);
menu_jawab_09.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
nilai_09 = menu_jawab_09.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ArrayAdapter<String> list_jawab_10 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, jawaban_10);
list_jawab_10
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown
_item);
menu_jawab_10.setAdapter(list_jawab_10);
menu_jawab_10.setOnItemSelectedListener(new
OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View
arg1,
int arg2, long arg3) {
30
nilai_10 = menu_jawab_10.getSelectedItemPosition();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
public void btn_check_Clicked(View v) {
int pilihan_jawaban[] = { nilai_01, nilai_02, nilai_03,
nilai_04,
nilai_05, nilai_06, nilai_07, nilai_08, nilai_09,
nilai_10 };
int nomor_pilihan;
for (int i = 0; i < kunci.length; i++) {
if (pilihan_jawaban[i] == 1) {
jawaban = " A ";
} else if (pilihan_jawaban[i] == 2) {
jawaban = " B ";
} else {
jawaban = " - ";
}
if (kunci[i] == 1) {
isi_jawaban = "A";
} else if (kunci[i] == 2) {
isi_jawaban = "B";
} else {
isi_jawaban = "Tidak dijawab";
}
if (pilihan_jawaban[i] == kunci[i]) {
nilai_total = nilai_total + 10;
hasil_jawaban = jawaban + " (Benar) = " + isi_jawaban
+ ", (Nilai = 10)n";
} else {
hasil_jawaban = jawaban + " (Salah) = " + isi_jawaban
+ ", (Nilai = 0)n";
}
nomor_pilihan = i + 1;
data_jawaban = data_jawaban +
Integer.toString(nomor_pilihan)
+ ". " + hasil_jawaban;
}
Intent panggil_class = new Intent(this,
HasilMinusActivity.class);
panggil_class.putExtra("nilai_hasil", nilai_total);
panggil_class.putExtra("rinci_jawaban", data_jawaban);
startActivity(panggil_class);
finish();
System.exit(0);
}
@Override
public void onBackPressed() {
finish();
System.exit(0);
}
}
31
3.4.7 HasilPlusActivity.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.TextView;
public class HasilPlusActivity extends Activity {
int data_hasil;
String data_rinci, rincian;
TextView teks_skor, teks_rinci;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hasil_plus);
Intent panggil_class = getIntent();
data_hasil =
panggil_class.getExtras().getInt("nilai_hasil");
data_rinci =
panggil_class.getExtras().getString("rinci_jawaban");
teks_skor = (TextView) findViewById(R.id.skor);
teks_skor.setText(Integer.toString(data_hasil));
teks_rinci = (TextView) findViewById(R.id.rinci);
rincian = "Jawaban: nn" + data_rinci;
teks_rinci.setText(rincian);
}
public void btn_menu_Clicked(View v) {
Intent panggil_class = new Intent(this, Menu_utama.class);
startActivity(panggil_class);
finish();
}
public void btn_try_Clicked(View v) {
Intent panggil_class = new Intent(this,
PlusActivity.class);
startActivity(panggil_class);
finish();
}
@Override
public void onBackPressed() {
finish();
System.exit(0);
}
}
3.4.8 HasilMinusActivity.java
package com.example.letscount;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.TextView;
32
public class HasilMinusActivity extends Activity {
int data_hasil;
String data_rinci, rincian;
TextView teks_skor, teks_rinci;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hasil_minus);
Intent panggil_class = getIntent();
data_hasil =
panggil_class.getExtras().getInt("nilai_hasil");
data_rinci =
panggil_class.getExtras().getString("rinci_jawaban");
teks_skor = (TextView) findViewById(R.id.skor);
teks_skor.setText(Integer.toString(data_hasil));
teks_rinci = (TextView) findViewById(R.id.rinci);
rincian = "Jawaban: nn" + data_rinci;
teks_rinci.setText(rincian);
}
public void btn_menu_Clicked(View v) {
Intent panggil_class = new Intent(this, Menu_utama.class);
startActivity(panggil_class);
finish();
}
public void btn_try_Clicked(View v) {
Intent panggil_class = new Intent(this,
MinusActivity.class);
startActivity(panggil_class);
finish();
}
@Override
public void onBackPressed() {
finish();
System.exit(0);
}
}
3.3.9 Activity_lets_count.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/splash"
android:gravity="center|center_horizontal"
android:orientation="vertical"
tools:context=".LetsCountdActivity" >
</RelativeLayout>
33
3.3.10 Avtivity_menu_utama.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menu_utama"
android:gravity="bottom|center_horizontal"
android:keepScreenOn="true"
android:orientation="vertical"
tools:context=".Menu_utama" >
<ImageButton
android:id="@+id/Btn_plus"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_plus_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_plus" />
<ImageButton
android:id="@+id/Btn_minus"
android:layout_width="160dp"
android:layout_height="160dp"
android:layout_toRightOf="@id/Btn_plus"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_minus_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_minus" />
<ImageButton
android:id="@+id/Btn_about"
android:layout_width="320dp"
android:layout_height="160dp"
android:layout_below="@id/Btn_plus"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_about_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_about" />
</RelativeLayout>
3.3.11 Activity_plus.xml
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
34
android:background="@drawable/menu_soal"
android:keepScreenOn="true"
android:scrollbars="vertical"
tools:context=".PlusActivity" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 1:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_01" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 2:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_02" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
35
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_02"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 3:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_03" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_03"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 4:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_04" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
36
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_04"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 5:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_05" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_05"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 6:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_06" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
37
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_06"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 7:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_07" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_07"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 8:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_08" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
38
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_08"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 9:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_09" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_09"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 10:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/plus_10" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
39
<Spinner
android:id="@+id/jwb_10"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/Btn_check"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_check_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_check" />
</LinearLayout>
</ScrollView>
3.4.12 Activity_minus
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menu_soal"
android:keepScreenOn="true"
android:scrollbars="vertical"
tools:context=".MinusActivity" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 1:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_01" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
40
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 2:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_02" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_02"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 3:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
41
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_03" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_03"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 4:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_04" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_04"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 5:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
42
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_05" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_05"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 6:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_06" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_06"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
43
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 7:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_07" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_07"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 8:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_08" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
44
<Spinner
android:id="@+id/jwb_08"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 9:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_09" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_09"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Soal 10:"
android:textColor="#0000ff"
android:textSize="35sp"
android:textStyle="italic" />
<ImageView
android:id="@+id/soal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/minus_10" />
<TextView
45
android:id="@+id/teks"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Jawab:"
android:textColor="#ff0000"
android:textSize="35sp"
android:textStyle="italic" />
<Spinner
android:id="@+id/jwb_10"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<ImageButton
android:id="@+id/Btn_check"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_check_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_check" />
</LinearLayout>
</ScrollView>
3.4.13 Activity_hasil_plus.xml
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menu_hasil"
android:keepScreenOn="true"
android:scrollbars="vertical"
tools:context=".HasilPlusActivity" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/hasil"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:text="Nilai:"
android:textColor="#ff0000"
android:textSize="50sp"
android:textStyle="italic" />
<TextView
android:id="@+id/skor"
46
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_gravity="center_horizontal"
android:text="99"
android:textColor="#000000"
android:textSize="75sp" />
<TextView
android:id="@+id/rinci"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="99"
android:textColor="#0000ff"
android:textSize="20sp" />
<ImageButton
android:id="@+id/Btn_try"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_try_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_try" />
<ImageButton
android:id="@+id/Btn_menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_menu_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_menu" />
</LinearLayout>
</ScrollView>
3.4.14 Activity_hasil_minus.xml
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/menu_hasil"
android:keepScreenOn="true"
android:scrollbars="vertical"
tools:context=".HasilMinusActivity" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="fill_parent"
47
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/hasil"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_gravity="center_horizontal"
android:text="Nilai:"
android:textColor="#ff0000"
android:textSize="50sp"
android:textStyle="italic" />
<TextView
android:id="@+id/skor"
android:layout_width="wrap_content"
android:layout_height="90dp"
android:layout_gravity="center_horizontal"
android:text="99"
android:textColor="#000000"
android:textSize="75sp" />
<TextView
android:id="@+id/rinci"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:text="99"
android:textColor="#0000ff"
android:textSize="20sp" />
<ImageButton
android:id="@+id/Btn_try"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_try_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_try" />
<ImageButton
android:id="@+id/Btn_menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@null"
android:onClick="btn_menu_Clicked"
android:orientation="vertical"
android:scaleType="centerInside"
android:src="@drawable/tombol_menu" />
</LinearLayout>
</ScrollView>
48
3.5 Implementasi Perancangan Interface
Perancangan interface dibutuhkan dalam pembuatan suatu aplikasi karena
untuk mempermudah pembuatan desain interface dari aplikasi tersebut sehingga
tampilan atau interface yang dihasilkan akan lebih terstruktur dan menarik. Pada
tahap ini akan dijelaskan perancangan tampilan atau interface dari aplikasi
menampilkan profil negara pada perangkat berbasis Android. Rancangan interface
yang dijelaskan adalah halaman utama, tampilan halaman menu yang terdapat
pada halaman utama yaitu halaman penjumlahan, pengurangan dan about,
tampilan halaman hasil dan tampilan keluar aplikasi.
3.5.1 Rancangan Interface Halaman Utama
Rancangan interface untuk tampilan halaman utama aplikasi Let’s Count
adalah seperti gambar berikut ini.
Gambar 3.6 Tampilan Halaman Utama Let’s Count
Pada tampilan halaman utama aplikasi Let’s Count terdapat tiga menu
utama yaitu menu penjumlahan yang dibuat dengan simbol tambah (+), menu
pengurangan yang diberi simbol kurang (-) dan menu about.
49
3.5.2 Rancangan Interface Halaman Menu Penjumlahan
Rancangan interface untuk tampilan menu penjumlahan aplikasi Let’s
Count adalah seperti gambar berikut ini.
Gambar 3.7 Tampilan Halaman Menu Penjumlahan Let’s Count
Tampilan halaman penjumlahan akan ditampilkan apabila user memilih
menu penjumlahan (+) pada bagian halaman utama. Pada halaman penjumlahan
akan ditampilkan soal-soal latihan yang dibuat dalam bentuk gambar seperti
gambar pada gambar 3.7. Soal yang disajikan yaitu terdiri dari 10 soal
penjumlahan. Setelah user selesai menjawab soal latihan dibagian bawah
disediakan button Check untuk melihat hasil yang diperolah yang ditampilkan
pada halaman hasil.
3.5.3 Rancangan Interface Halaman Menu Pengurangan
Rancangan interface untuk tampilan menu pengurangan aplikasi Let’s
Count adalah seperti gambar berikut ini.
50
Gambar 3.8 Tampilan Halaman Menu Pengurangan Let’s Count
Tampilan halaman penjumlahan akan ditampilkan apabila user memilih
menu pengurangan (-) pada bagian halaman utama. Pada halaman penjumlahan
akan ditampilkan soal-soal latihan yang dibuat dalam bentuk gambar seperti
gambar pada gambar 3.8. Soal yang disajikan yaitu terdiri dari 10 soal
pengurangan. Setelah user selesai menjawab soal latihan dibagian bawah
disediakan button Check untuk melihat hasil yang diperolah yang ditampilkan
pada halaman hasil.
3.5.4 Rancangan Interface Halaman Hasil Latihan
Rancangan interface untuk tampilan halaman hasil aplikasi Let’s Count
adalah seperti gambar berikut ini.
51
Gambar 3.9 Tampilan Halaman Hasil Latihan Let’s Count
Tampilan halaman hasil latihan akan ditampilkan apabila user memilih
menu Check pada bagian halaman penjumlahan atau pengurangan. Pada halaman
hasil akan ditampilkan skor yang diperoleh oleh user serta kunci jawaban dari
setiap soal yang yang disajikan. Diabagian halaman hasil juga dilengkapi button
Try Again untuk mencoba kembali latihan penjumlahan/pengurangan dan button
Menu untuk kembali kehalaman utama aplikasi.
3.5.5 Rancangan Interface Halaman Menu About
Rancangan interface untuk tampilan halaman menu about aplikasi Let’s
Count adalah seperti gambar berikut ini.
52
Gambar 3.10 Tampilan Halaman Menu About Let’s Count
Tampilan halaman menu about akan ditampilkan apabila user memilih
menu about pada halaman utama aplikasi. Pada halaman about ini akan
ditampilkan deskripsi singkat tentang aplikasi dan nama-nama kelompok yang
yang membuat aplikasi ini.
3.5.6 Rancangan Interface Keluar Aplikasi
Rancangan interface untuk tampilan halaman keluar aplikasi Let’s Count
adalah seperti gambar berikut ini.
53
Gambar 3.11 Tampilan Keluar Aplikasi About Let’s Count
Tampilan interface keluar aplikasi akan ditampilkan apabila user memilih
tombol kembali pada perangkat mobile/emulator yang digunakana. Ketika user
menekana tombol tersebut maka akan pop-up berisi pesan “tutup aplikasi Let’s
Count?” maka akan tersedia pilihan ya atau tidak, jika memilih ya maka akan
keluar dari aplikasi dan jika memilik tidak maka aplikasi akan tetap dibuka. Untuk
tampilannya seperti gambar 3.11 diatas.
54
BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan implementasi perancangan aplikasi Let’s Count berbasis
android dapat ditarik kesimpulan bahwa kemajuan teknologi memiliki dampak
yang sangat besar dalam dunia pendidikan terkhusus dalam meninggkatkan
pengetahuan khususnya bagi anak-anak. Dengan diciptakan sebuah aplikasi
edukasi bagi anak-anak usia dini dapat memacu niat mereka untuk semakin mau
mengetahui hal-hal yang ada dilingkungan mereka. Aplikasi Let’s Count yang
telah dibuat dapat membantu orang tua untuk memberikan pendidikan khususnya
dalam penjumlahan dan pengurangan. Selain dari itu karena aplikasi Let’s Count
dirancang berbasis mobile maka untuk penggunaan dapat dilakukan dimana saja.
4.2 Saran
Saran yang diperoleh berdasarkan saran dari beberapa pengguna yaitu
untuk pengembangan apalikasi selanjutnya dibuat lebih menarik lagi sehingga
user pengguna yang sasarannya adalah anak-anak dapat tertarik untuk
menggunakan aplikasi Let’s Count.
55
DAFTAR PUSTAKA
[1] Unified Modeling Language dan Sequence Diagram
Informatika.web.id/pengertian-uml.htm. Diakses pada tanggal 12 Mei 2016.
[2] Model Use Case
Staf.cs.ui.ac.id/WebKuliah/IKI40972/materi/miggu4/model-use-case.htm.
Diakses pada tanggal 12 Mei 2016.
[3] Pemahaman Pemograman Mobile.
ilmukomputer.org/category/pemrograman-mobile/. Diakses pada tanggal 13
Mei 2016
[4] Pembahasan, Pengertian Dan Fungsi Java.
https://id.wikipedia.org/wiki/Java Diakses pada tanggal 12 Mei 2016.
[5] Pengertian Android.
www.berbagiinfo4u.com › Android Diakses pada tanggal 12 Mei 2016.
[5] Materi Android Studio.
https://en.wikipedia.org/wiki/Android_Studio. Diakses pada tanggal 12 Mei
2016.
[6] Emulator
https://id.wikipedia.org/wiki/Emulator. Diakses pada tanggal 12 Mei 2016
[7] Penjumlahan dan Pengurangan
eprints.ung.ac.id/bab2-28072013075542%281%29.pdf. Diakses pada
tanggal 14 Mei 2016.

Weitere ähnliche Inhalte

Was ist angesagt?

Modul media pmbelajaran
Modul media pmbelajaranModul media pmbelajaran
Modul media pmbelajarantuthy hastuthy
 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2ArdianDwiPraba
 
Makalah Progmob Informasi Pariwisata
Makalah Progmob Informasi PariwisataMakalah Progmob Informasi Pariwisata
Makalah Progmob Informasi Pariwisataarya purwadana
 
5 ta-2021-05-business-understanding-modul-ariw-2021-07-17
5 ta-2021-05-business-understanding-modul-ariw-2021-07-175 ta-2021-05-business-understanding-modul-ariw-2021-07-17
5 ta-2021-05-business-understanding-modul-ariw-2021-07-17ArdianDwiPraba
 
Tugas modul media pembelajaran
Tugas modul media pembelajaranTugas modul media pembelajaran
Tugas modul media pembelajaranfitrahfahruddin
 
Model pembelajaran tutoria pdf
Model pembelajaran tutoria pdfModel pembelajaran tutoria pdf
Model pembelajaran tutoria pdfHasrunjhy
 
Modul Pembuatan Bahan Ajar Berbasis TIK
Modul Pembuatan Bahan Ajar Berbasis TIKModul Pembuatan Bahan Ajar Berbasis TIK
Modul Pembuatan Bahan Ajar Berbasis TIKAryadi Gunawan
 
Modul pembelajaran simulasidgx
Modul pembelajaran simulasidgxModul pembelajaran simulasidgx
Modul pembelajaran simulasidgxramla_paic
 
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Fahruly Asyidiq
 
9 dts-transformasi data-univ-gunadarma
9 dts-transformasi data-univ-gunadarma9 dts-transformasi data-univ-gunadarma
9 dts-transformasi data-univ-gunadarmaArdianDwiPraba
 
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsi
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsiAplikom_FKIPUnsri_TgsIndividu_MiniSkripsi
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsiQonitha Amalia
 
1 pbk lanjutan
1 pbk lanjutan1 pbk lanjutan
1 pbk lanjutanwahyuarfan
 

Was ist angesagt? (17)

Bab ii
Bab iiBab ii
Bab ii
 
Modul Gambar Vektor
Modul Gambar VektorModul Gambar Vektor
Modul Gambar Vektor
 
Bahan ajar TIK
Bahan ajar TIKBahan ajar TIK
Bahan ajar TIK
 
Modul media pmbelajaran
Modul media pmbelajaranModul media pmbelajaran
Modul media pmbelajaran
 
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v27. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
 
Makalah Progmob Informasi Pariwisata
Makalah Progmob Informasi PariwisataMakalah Progmob Informasi Pariwisata
Makalah Progmob Informasi Pariwisata
 
5 ta-2021-05-business-understanding-modul-ariw-2021-07-17
5 ta-2021-05-business-understanding-modul-ariw-2021-07-175 ta-2021-05-business-understanding-modul-ariw-2021-07-17
5 ta-2021-05-business-understanding-modul-ariw-2021-07-17
 
Tugas modul media pembelajaran
Tugas modul media pembelajaranTugas modul media pembelajaran
Tugas modul media pembelajaran
 
Model pembelajaran tutoria pdf
Model pembelajaran tutoria pdfModel pembelajaran tutoria pdf
Model pembelajaran tutoria pdf
 
1 modul 1
1 modul 11 modul 1
1 modul 1
 
Modul Pembuatan Bahan Ajar Berbasis TIK
Modul Pembuatan Bahan Ajar Berbasis TIKModul Pembuatan Bahan Ajar Berbasis TIK
Modul Pembuatan Bahan Ajar Berbasis TIK
 
Modul pembelajaran simulasidgx
Modul pembelajaran simulasidgxModul pembelajaran simulasidgx
Modul pembelajaran simulasidgx
 
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
Aplikasi sistem informasi sejarah vespa_fahrulynur asyidiq (421211012)
 
9 dts-transformasi data-univ-gunadarma
9 dts-transformasi data-univ-gunadarma9 dts-transformasi data-univ-gunadarma
9 dts-transformasi data-univ-gunadarma
 
Bab i
Bab iBab i
Bab i
 
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsi
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsiAplikom_FKIPUnsri_TgsIndividu_MiniSkripsi
Aplikom_FKIPUnsri_TgsIndividu_MiniSkripsi
 
1 pbk lanjutan
1 pbk lanjutan1 pbk lanjutan
1 pbk lanjutan
 

Ähnlich wie MOBILE_APLIKASI

Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
Proposal Tugas Akhir Implementasi .NET
Proposal Tugas Akhir Implementasi .NETProposal Tugas Akhir Implementasi .NET
Proposal Tugas Akhir Implementasi .NETGameloft
 
Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Fransiska Cika
 
Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Fransiska Cika
 
Laporan artificial inteligence rudy kurniawan 134060024
Laporan artificial inteligence rudy kurniawan 134060024Laporan artificial inteligence rudy kurniawan 134060024
Laporan artificial inteligence rudy kurniawan 134060024Rudy Kurniawan
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktopdwireksapermana
 
Kerangka Acuan Kerja - MPPL
Kerangka Acuan Kerja - MPPLKerangka Acuan Kerja - MPPL
Kerangka Acuan Kerja - MPPLYoshima Putri
 
Modul media pembelajaran
Modul media pembelajaranModul media pembelajaran
Modul media pembelajaranSatria Nurtirta
 
Design interface dalam_interaksi_manusia
Design interface dalam_interaksi_manusiaDesign interface dalam_interaksi_manusia
Design interface dalam_interaksi_manusiapt.ccc
 
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...Richardo Budiman
 
PPT Desain Antar Muka.pptx
PPT Desain Antar Muka.pptxPPT Desain Antar Muka.pptx
PPT Desain Antar Muka.pptxMirnaNia
 
Aplikasi penjualan pulsa
Aplikasi penjualan pulsaAplikasi penjualan pulsa
Aplikasi penjualan pulsahelvypricilia
 
Aplikasi penghitung luas dan keliling pada bangun datar
Aplikasi penghitung luas dan keliling pada bangun datarAplikasi penghitung luas dan keliling pada bangun datar
Aplikasi penghitung luas dan keliling pada bangun datarasalhunter
 
Merapat lanjutan 2
Merapat lanjutan 2Merapat lanjutan 2
Merapat lanjutan 2Fajar Rizki
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadiAris Suryadi
 

Ähnlich wie MOBILE_APLIKASI (20)

Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Proposal Tugas Akhir Implementasi .NET
Proposal Tugas Akhir Implementasi .NETProposal Tugas Akhir Implementasi .NET
Proposal Tugas Akhir Implementasi .NET
 
Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1
 
Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1Makalah imk kelompok 5 revisi 1
Makalah imk kelompok 5 revisi 1
 
Laporan artificial inteligence rudy kurniawan 134060024
Laporan artificial inteligence rudy kurniawan 134060024Laporan artificial inteligence rudy kurniawan 134060024
Laporan artificial inteligence rudy kurniawan 134060024
 
Aplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis DesktopAplikasi Pemesanan Bus Berbasis Desktop
Aplikasi Pemesanan Bus Berbasis Desktop
 
Modulkkpimsql
ModulkkpimsqlModulkkpimsql
Modulkkpimsql
 
Kerangka Acuan Kerja - MPPL
Kerangka Acuan Kerja - MPPLKerangka Acuan Kerja - MPPL
Kerangka Acuan Kerja - MPPL
 
Jurnal
JurnalJurnal
Jurnal
 
Modul media pembelajaran
Modul media pembelajaranModul media pembelajaran
Modul media pembelajaran
 
modul2
modul2modul2
modul2
 
Design interface dalam_interaksi_manusia
Design interface dalam_interaksi_manusiaDesign interface dalam_interaksi_manusia
Design interface dalam_interaksi_manusia
 
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...
Laporan Tugas Akhir Programming For Business (PFB) - Pembuatan aplikasi siste...
 
Jadi
JadiJadi
Jadi
 
1108014
11080141108014
1108014
 
PPT Desain Antar Muka.pptx
PPT Desain Antar Muka.pptxPPT Desain Antar Muka.pptx
PPT Desain Antar Muka.pptx
 
Aplikasi penjualan pulsa
Aplikasi penjualan pulsaAplikasi penjualan pulsa
Aplikasi penjualan pulsa
 
Aplikasi penghitung luas dan keliling pada bangun datar
Aplikasi penghitung luas dan keliling pada bangun datarAplikasi penghitung luas dan keliling pada bangun datar
Aplikasi penghitung luas dan keliling pada bangun datar
 
Merapat lanjutan 2
Merapat lanjutan 2Merapat lanjutan 2
Merapat lanjutan 2
 
Java control parallel port aris suryadi
Java control parallel port   aris suryadiJava control parallel port   aris suryadi
Java control parallel port aris suryadi
 

Kürzlich hochgeladen

PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxSaefAhmad
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxPurmiasih
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...Kanaidi ken
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Dasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikDasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikThomasAntonWibowo
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidupfamela161
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfHendroGunawan8
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 

Kürzlich hochgeladen (20)

PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptxPPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
PPT PENELITIAN TINDAKAN KELAS MODUL 5.pptx
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docxLK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
LK.01._LK_Peta_Pikir modul 1.3_Kel1_NURYANTI_101.docx
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Dasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolikDasar-Dasar Sakramen dalam gereja katolik
Dasar-Dasar Sakramen dalam gereja katolik
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdfDiskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 

MOBILE_APLIKASI

  • 1. 0 Pemrograman Mobile (Aplikasi Let’s Count) Pengampu: I Putu Agus Eka Pratama S.T., M.T. Disusun Oleh: Joysun Agape Sianturi (1404505080) Altry David Purba (1404505099) JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2016
  • 2. i KATA PENANTAR Puji syukur penulis panjatkan kehadirat Tuhan yang Mahakuasa karena laporan pembuatan aplikasi ini telah dapat diselesaikan dengan baik dan tepat pada waktunya. Laporan ini memuat bahasan “Implementasi Aplikasi Let’s Count” Dalam penyelesaian laporan pembuatan aplikasi ini tidak terlepas dari bimbingan dosen pengampu mata kuliah Pemrograman Mobile yaitu bapak I Putu Agus Eka Pratama S.T., M.T. dan bantuan dari berbagai pihak lainnya. Oleh karena itu, penulis mengucapkan terima kasih atas bimbingan serta bantuannya dalam penyelesaian penulisan laporan penelitian ini. Penulis menyadari bahwa masih banyak kekurangan yang mendasar pada penulisan laporan ini. Oleh karena itu, penulis berharap kepada para pembaca sekalian untuk memberikan kritik serta saran yang membangun untuk penyempurnaan laporan-laporan selanjutnya. Akhir kata, semoga laporan ini dapat memberikan manfaat bagi kita sekalian. Sekian dan terima kasih. Bukit Jimbaran, Mei 2016 Penulis
  • 3. ii DAFTAR ISI Kata Pengantar ............................................................................................. i Daftar Isi ........................................................................................................ ii Bab I PENDAHULUAN 1.1 Latar Belakang............................................................................ 1 1.2 Rumusan Masalah....................................................................... 1 1.3 Tujuan......................................................................................... 2 1.4 Solusi .......................................................................................... 2 Bab II TINJAUAN PUSTAKA 2.1 Pemrograman Mobile ................................................................. 3 2.2 Object Oriented Programing (OOP)........................................... 3 2.3 Unfied Modeling Language (UML) ........................................... 4 2.4 Android OS................................................................................. 6 2.5 Android Studio............................................................................ 9 2.6 Bahasa Pemrogman Java ............................................................ 10 2.7 Emulator ..................................................................................... 10 2.8 Penjumlahan dan Pengurangan................................................... 11 Bab III DESAIN DAN IMPLEMENTASI 3.1 Gambaran Umum Sistem............................................................ 12 3.2 Struktur Navigasi........................................................................ 12 3.3 Desain UML ............................................................................... 14 3.3.1 Sequence Diagram............................................................. 14 3.3.1 Usecase Diagram............................................................... 15 3.3.1 Class Diagram ................................................................... 16 3.4 Source Code Aplikasi Let’s Count ............................................. 16 3.5 Implementasi Perancangan Interface.......................................... 48 3.5.1 Rancangan Interface Halaman Utama............................... 48 3.5.2 Rancangan Interface Halaman Menu Penjumlahan .......... 49 3.5.3 Rancangan Interface Halaman Menu Pengurangan .......... 49 3.5.4 Rancangan Interface Halaman Hasil................................. 50 3.5.5 Rancangan Interface Halaman Menu About ..................... 51
  • 4. iii 3.5.6 Rancangan Interface Keluar dari Aplikasi ........................ 52 BAB IV KESIMPULAN 4.1 Kesimpulan ..................................................................................... 54 4.1 Saran ............................................................................................... 54 DAFTAR PUSAKA ....................................................................................... 55
  • 5. 1 BAB I PENDAHULAN 1.1 Latar Belakang Ilmu pengetahuan dan teknologi selalu berkembang pesat sesuai dengan perkembangan zaman dan perkembangan curah pikir manusia. Berbicara tentang teknologi dan informasi, komputer merupakan salah satu bentuk teknologi yang perkembangannya sangat maju dari zaman ke zaman sehingga merupakan suatu media elektronik yang memegang peranan yang sangat penting pada perkembangan teknologi saat ini. Pada zaman sekarang perkembangan aplikasi-aplikasi edukasi semakin meningkat pesat dan populer seiring dengan majunya perkembangan teknologi informasi. Proses pembelajaran dapat dilakukan dengan cara apapun yaitu melalui buku, suara, gambar, video bahkan sebuah game. Aplikasi edukasi semakin canggih sehingga dapat dinikmati melalui berbagai macam media yaitu seperti komputer desktop, website, handphone, dan juga smartphone. Bagi beberapa orang tua memberikan pengajaran kepada anak-anak berusia di bawah lima tahun, masih menjadi hal yang tabu. Meraka masih merasa kesulitan untuk memberikan pengajaran khususnya dalam bidang hitung menghitung. Atas dasar hal tersebut penulis tertarik untuk mengembangkan sebuah aplikasi sederhana yang dapat membantu anak-anak untuk dapat berhitung seperti penjumlahan dan pengurangan. Aplikasi yang dikembangkan ini akan dirancang dengan menarik yang dapat memacu niat anak-anak untuk menggunakan aplikasi edukasi tersebut. 1.2 Rumusan Masalah Berdasarkan latar belakang yang telah di paparkan dapat dapat ditarik beberara rumusan masalah yaitu : 1. Apa tujuan pembuatan sebuah aplikasi edukasi belajar berhitung bagi anak-anak usis balita?
  • 6. 2 2. Bagaimana cara perancangan aplikasi Let’s Count dengan menggunakan pemrograman mobile android? 1.3 Tujuan Tujuan yang akan dicapai berdasarkan rumusan masalah yang telah di identifikasi adalah untuk memnciptakan sebuah aplikasi edukasi yang membantu anak-anak balita dalam belajar berhitung seperti penjumlahan dan pengurangan. 1.4 Solusi Solusi yang dapat ditawarkan penulis adalah menciptakan sebuah aplikasi edukasi berbasis android yang berguna untuk membantu anak-anak untuk belajar berhitung. Kemudahan yang diberikan oleh aplikasi ini akan memberikan manfaat yang sangat signifikan bagi user. Salah satunya adalah memberikan gambaran atau pengetahuan kepada user cara berhitung yang mudah dengan menggunakan pendekatan grafis seperti penggunaan gambar. Fitur yang disediakan aplikasi ini adalah user dapat memilih menu yang diinginkan apakah ingin memilih latihan penjumlahan dan pengurangan. Cara penggunaan aplikasi ini adalah user terlebih dahulu membuka aplikasi, kemudian dilanjutkan memilih menu perhitngan yang ingin dipelajari, kemudian setelah user memilih diantara kedua menu tersebut maka aplikasi akan menampilkan soal-soal latihan dengan betuk menghitung gambar yang disediakan oleh sistem, untuk menjawabnya user cukup memilih pilihan jawaban yang terdiri dari 2 pilihan yaitu A dan B. Setelah setiap soal telah terjawab maka user dapat memilih button check untuk melihat hasil/skor dan jawaban yang benar. Jika ingin mengulang kembali latihannya user dapat memilih button Try Again dan jika ingin kembali kehalaman utama user dapat memeilih button Menu.
  • 7. 3 BAB II TINJAUAN PUSTAKA 2.1 Pemrograman Mobile Pemrograman Mobile adalah pemrograman yang ditujukan untuk pembuatan aplikasi diperangkat mobile yang dapat dibuat dengan menggunakan Java. Keterbatasan yang sangat umum dalam bahasa pemrograman untuk peralatan mobile adalah kendala dalan segala dalam hal sumber daya, seperti ukuran layar, memori, CPU, penyimpanan dan cara menginput data. Perbedaan tampilan juga disebabkan adanya perbedaan hardware dan API yang di gunakan. Berikut macam-macam Mobile Programming untuk ponsel yaitu J2ME, C++, Objective C, C#., Javafx, PHP. 2.2 Object Oriented Programming (OOP) Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek atau kumpulan obyek yang berinteraksi satu sama lain. Program dalam OOP membungkus (encapsulate) data dan fungsi (atau prosedur) dalam suatu obyek yang umumnya diimplementasikan sebagai suatu kelas (class). Klasifikasi obyek, pewarisan, dan message passing merupakan prinsip- prinsip dasar dalam OOP. Karakteristik OOP adalah sebagai berikut. 1. Enkapsulasi (Pembungkusan). Enkapsulasi adalah pelindung program dan data yang sedang diolah. Enkapsulasi mendefinisikan perilaku dan melindungiprogram dan data agar tidak diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class. 2. Inheritansi. Inheritansi adalah objek-objek yang berada di sekitar kita adalah objek-objek yang saling terhubung secara hirarkis. 3. Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama. Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan
  • 8. 4 Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah umum, yaitu: 1. Attribute Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki hak akses private, public maupun protected. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara langsung. 2. Method Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. 3. Class Class merupakan model yang berisi kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas dan struktur dalam pemrograman berorientasi object. 4. Object Object merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya, contohnya: amir, ahmad, yani merupakan object dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda. 2.3 UML (Unified Modeling Language) Menurut Booch (2005) UML adalah Bahasa standar untuk membuat rancangan software. UML biasanya digunakan untuk menggambarkan dan membangun, dokumen artifak dari software –intensive sistem. Menurut Nugroho (2010), UML (Unified Modeling Language) adalah ‘bahasa’ pemodelan untuk sistem atau perangkat lunak yang berparadigma ‘berorientasi objek”. Pemodelan (modeling) sesungguhnya digunakan untuk
  • 9. 5 penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Secara umum pengertian Unfied Modeling Language adalah UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. 1. Diagram kelas (Class Diagram). Diagram yang menggambarkan interaksi antara sistem dan aktor juga dapat men-deskripsikan tipe interaksi antara si pemakai sistem dengan sistemnya. kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. 2. Diagram paket (Package Diagram). Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen. 3. Diagram use-case (Usecase Diagram). Diagram ini memperlihatkan himpunan use-case dan aktor-aktor (suatu jenis khusus dari kelas). 4. Diagram interaksi dan sequence (Sequence Diagram). Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. 5. Diagram komunikasi (Communication Diagram). Diagram ini menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. 6. Diagram statechart (Statechart Diagram). Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian serta aktivitas. 7. Diagram aktivitas (Activity Diagram). Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. 8. Diagram komponen (Component Diagram). Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya.
  • 10. 6 9. Diagram deployment (Deployment Diagram). Diagram inimemperlihatkan konfigurasi saat aplikasi dijalankan (run-time). 2.4 Android OS Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Sistem operasi Android dimiliki oleh Google Inc selaku perusahaan raksasa. Bersama dengan sekitar 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi seperti HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Google Inc akhirnya membentuk Open Handset Alliance, yang tujuannya mengembangkan sistem operasi Android, hingga ia menjadi salah satu sistem operasi paling populer saat ini mengalahkan iOS, Windows Phone, dan BlackBerry. Dalam membangun sebuah aplikasi yang berbasis android dibutuhkan pemahaman terhadap Arsitektur sistem operasi Android yaitu sperti gambar berikut. Gambar 2.1 Arsitektur Android OS Penjelasan dari arsitektur sistem operasi android diatas adalah bahwa alam paket sistem operasi android tediri dari beberapa unsur seperti tampak pada gambar di bawah. Secara sederhana arsitektur android merupakan sebuah kernel
  • 11. 7 Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang menyediakan dan mengatur alur proses aplikasi. Berikut ini adalah bagian-bagian arsitektur sistem operasi android. 1. Linux Kernel Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan. 2. Libraries Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya: 1) Media Library untuk memutar dan merekam format audio dan video. 2) Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi. 3) Graphic Library untuk tampilan 2D dan 3D. 4) SQLite untuk mengatur relasi database yang digunakan pada aplikasi. 2 Android Runtime Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya: 1 Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android. 2 Mesin Virtual Dalvik. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan
  • 12. 8 format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. 3 Application Framework Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut 1) Activity Manager berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan “Backstack” untuk navigasi penggunaan. 2) Content Providers berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama. 3) Resuource Manager untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout. 4) Location Manager berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada. 5) Notification Manager mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar. 4 Application Layer Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.
  • 13. 9 2.5 Android Studio Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur-fitur lainnya adalah Menggunakan Gradle-based build system yang fleksibel, mem-build multiple APK, template support untuk Google Services dan berbagai macam tipe perangkat, layout editor yang lebih bagus, Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi dengan Google Cloud Messaging dan App Engine, import library langsung dari Maven repository. 2.6 Bahasa Pemrograman Java Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali anda menuliskan sebuah program dengan menggunakan Java, anda dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Kelebihan Java yang pertama tentu saja multiplatform. Java dapat dijalankan dalam beberapa platform komputer dan sistem operasi yang berbeda. Yang kedua adalah OOP atau Object Oriented Programming. Java memiliki library yang lengkap. Library disini adalah sebuah kumpulan dari program yang disertakan dalam Java. Kekurangan yang dimiliki oleh Java adalah pada satu slogannya, yakni “Tulis sekali dan jalankan dimana saja” ternyata tidak sepenuhnya benar. Beberapa hal harus disesuaikan jika dijalankan pada platform yang berbeda. Kekurangan Java yang lain adalah penggunaan memori yang cukup banyak, lebih besar daripada bahasa tingkat tinggi sebelum generasi Java.
  • 14. 10 2.7 Emulator Emulator atau lebih tepatnya piranti lunak emulator memungkinkan suatu program atau piranti lunak yang dibuat pada awalnya oleh suatu sistem komputer (arsitektur dan sistem operasi) dan untuk dijalankan dalam sistem itu (atau dijalankan dalam suatu sistem yang didedikasikan), dapat dijalankan dalam sistem komputer yang sama sekali berbeda. Sebagai contoh suatu program Windows dapat dijalankan di sistem operasi Linux dengan menggunakan piranti lunak emulator Wine. Ada pula program yang mengemulasikan suatu komputer dalam komputer, misalnya VMware. Contoh lain adalah program-program emulator untuk menjalankan permainan komputer yang awalnya hanya bisa dijalankan pada konsolnya masing-masing, misalnya Nintendo, Atari, PlayStation, XBox dan lain- lain. Emulator terdiri dari 2 jenis: single-system/dedicated emulator dan multi- system emulator. Single-system/dedicated emulator hanya dapat meng-emulate 1 jenis sistem, sedangkan multi-system emulator dapat meng-emulate beberapa jenis sistem sekaligus. Pada dasarnya kualitas single-system/dedicated emulator lebih baik daripada multi-system emulator karena hanya didesain khusus untuk 1 jenis sistem sehingga kemungkinan untuk terjadi compatibility problem dapat diminimalisasi. Selain itu kebutuhan resources untuk single-system/dedicated emulator biasanya lebih kecil dibandingkan multi-system emulator. Emulator adalah sebuah program yang membuat pengguna komputer bisa merasakan sistem operasi tertentu seperti Android, iPhone atau atau program lainnya yang tidak bisa dijalankan mandiri di komputer. Contoh real lainnya adalah Emulator PS (play Station) dan penggunaan media sosial seperti Whatsapp, Line, BBM atau aplikasi android lainnya tanpa harus membeli perangkat android.
  • 15. 11 2.8 Penjumlahan dan Pengurangan Penjumlahan adalah salah satu operasi aritmetika dasar. Perjumlahan merupakan penambahan sekelompok bilangan atau lebih menjadi suatu bilangan yang merupakan jumlah. Penjumlahan juga dapat diartikan sebagai cara menemukan jumlah total dua bilangan atau lebih. Tanda “+” dalam penjumlahan menunjukkan bahwa bilangan-bilangan tersebut dijumlahkan”. Operasi penjumlahan dinyatakan dengan rumus : A + B = C Pengurangan merupakan salah satu dari empat operasi dasar aritmetika, dan pada prinsipnya merupakan kebalikan dari operasi perjumlahan. Operasi perkurangan dinyatakan dengan tanda minus dalam notasi infix, dengan bentuk rumus: A – B = C
  • 16. 12 BAB III DESAIN DAN IMPLEMENTASI Pada bab ini akan dilakukan sedikit bahasan tentang desain serta implementasi perancangan dari aplikasi menampilkan informasi profil negara, kemudian akan diuraikan dengan menjelaskan sistem sehingga pengguna aplikasi paham dan mengerti kegunaan aplikasi yang akan dibuat beserta gambaran untuk menggambarkan rangkaian dari aktivitas yang terjadi dalam aplikasi. 3.1 Gambaran Umum Sistem Aplikasi Let’s Count adalah aplikasi yang dikembangkan berbasis android yang berfungsi untuk memberikan latihan penjumlahan bagi anak-anak dengan menggunakan konsep gradfis, maksudnya angka yang dijumlahkan didesai dalam bentuk gambar animasi. Tujuan dari mengembangkan aplikasi ini dengan menggunakan pendekatan grafis yaitu agar user yang sasarannya adalah anak- anak tertarik untuk menggunakan aplikasi Let’s Count. Berikut ini adalah deskripsi umum aplikasi yang dikembangkan. Gambar 3.1 Contoh Soal yang akan dibuat Gambar 3.1 adalah contoh soal yang akan disajikan dalam aplikasi Let’s Count. Untuk menjawab Pertanyaan tersebut akan disediakan jawaban berupa pilihan a dan b yang ditampilkan langsung oleh aplikasi Let’s Count. 3.2 Struktur Navigasi Dalam proses perancangan suatu aplikasi struktur navigasi merupakan hal yang sangat penting, Struktur navigasi juga menjelaskan hubungan antar halaman dan memberikan penjelasan mengenai alur cerita sebuah program atau aplikasi..
  • 17. 13 Pada aplikasi ini menggunakan struktur navigasi hirarki yaitu merupakan suatu struktur yang mengandalkan percabangan untuk menampilkan data atau gambar pada layer dengan kriteria tertentu. Berikut ini merupakan struktur navigasi dari aplikasi Let’s Count. Gambar 3.2 Struktur Navigasi Aplikasi Let’s Count Pada Gambar 3.2 terdapat bentuk struktur hirarki yang menggambarkan proses kerja dari aplikasi menampilkan Let’s Count. Dalam proses aplikasi ini dimulai dari pengguna membuka aplikasi tersebut dan akan muncul halaman utama, selanjutnya aplikasi ini akan menampilkan menu yaitu menu untuk memlilih latihan penjumlahan atau pengurangan atau about. Setelah memilih menunya maka akan ditampilkan soal latihan. Selanjutnya jika sudah selesai menjawab soal latihan user memilih menu Check. Jika ingin keluar dari laman hasil maka user dapat memilih button beck untuk kembali kehalam utama dan jika ingin kembalingulang latihan dapat memilih button Try Again.
  • 18. 14 3.3 Desain UML Dalam aplikasi untuk menampilkan profl sebuah negara terdapat perancangan desain UML yaitu sequence diagram, use case diagram dan class diagram. Berikut merupakan desain UML dari aplikasi Let’s Count. 3.3.1 Sequence Diagram Sequence Diagram merupakan diagram yang menggambarkan interaksi antar objek di dalam sebuah system atau aplikasi. Berikut merupakan sequence diagram dari aplikasi menampilkan profil suatu negara. Gambar 3.3 Sequence Diagram Aplikasi Lets Count Gambar 3.3 merupakan sequence diagram aplikasi Let’s Count. Prosesnya yaitu dimulai dari pengguna membuka aplikasi Let’s Count terdiri dari 3 menu yaitu Penumlahan (+), Pengurangan (-) dan menu About. Setelah user masuk kehalaman utama user dapat memilih ketiga menu tersebut. Jika memilih menu penjumlahan maka soal latihan penjumlahan akan ditampilkan oleh sistem. Jika memilih menu pengurangan maka soal latihan penguranagan akan ditampilkan oleh sistem. Dan jika memilih menu about akan ditampilkan deskripsi aplikasi dan nama yang membuat aplikasi tersebut. Selanjutnya pada bagian halaman Menu penjumlahan dan penurangan dilengkapi button Check untuk melihat hasil jawaban yang telah dipilih. Pada halaman Check Hasil terdapat 2 button yaitu Try Again dan Beck. Button Try Again berguna untuk melakukan/mencoba kembali
  • 19. 15 latiha perhngannya dan button Beck berfungsi untuk kembali ke halaman utama aplikasi 3.3.2 Use Case Diagram Use case adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case digunaka untuk membentuk tingkah laku benda/thing dalam sebuah mode serta direalisasikan oleh sebuah collaborato. Berikut merupakan use case diagram dari aplikasi memampilkan informasi profil negara. Gambar 3.4 Use Case Diagram Let’s Count Pada Gambar 3.4 merupakan use case diagram aplikasi Let’Count. Dari sisi user, user memiliki otoritas untuk masuk kehalaman utama aplikasi, kemudian memilih yang terdapat pada bagian halaman utaman yang terdiri dari menu Penjumlahan (+), Pengurangan (-) dan About. Dan juga keluardari aplikasi Let’s Count Sementara dari disisi sistem akan memberi respon/feedbeck atas permintaan user sesuai menu yang di klik oleh user. Jika memilih menu penjumlahan maka soal latihan penjumlahan akan ditampilkan oleh sistem. Jika memilih menu pengurangan maka soal latihan penguranagan akan ditampilkan oleh sistem. Dan jika memilih menu about akan ditampilkan deskripsi aplikasi dan nama yang membuat aplikasi tersebut. Dan juga aplikasi akan menampilkan halaman hasil yang bersarka latihan yang dilakukan oleh user
  • 20. 16 3.3.3 Class Diagram Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class, paket, dan objek serta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class diagram juga menjelaskan hubungan antar class dalam sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan. Berikut merupakan class diagram dari aplikasi Let’s Count : Let’s Count Penjumlahan Pengurangan About display_hasil_penjumlahan() display_hasil_pengurangan() display_about() Gambar 3.5 Class Diagram Let’s Count Gambar 3.5 merupakan class diagraman aplikasi Let’s Count. Class Let’s Count memiliki tiga attribute yaitu penjumlahan, pengurangan, dan about. Dalam class diagram ini terdapat operasi yang dapat dilakukan oleh aplikasi seperti menampilkan hasil_penjumlahan(), hasil_pengurangan(), dan display_about(). 3.4 Source Code Aplikasi Let’s Count berbasis Android 3.4.1 About.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.pm.ActivityInfo; public class About extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_about); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ; } }
  • 21. 17 3.4.2 Menu_utama.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.view.View; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; import android.media.MediaPlayer; public class Menu_utama extends Activity { private MediaPlayer MPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu_utama); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ; buka_file_suara(); } @Override public void onResume() { super.onResume(); stop_intro(); play_intro(); } private void play_intro() { if (MPlayer != null && !MPlayer.isPlaying()) { MPlayer.setLooping(true); MPlayer.start(); } else { MPlayer.setLooping(true); } } private void stop() { MPlayer.stop(); try { MPlayer.prepare(); MPlayer.seekTo(0); } catch (Throwable t) { error_(t); } } private void stop_intro() { if (MPlayer.isPlaying()) { stop(); } } private void buka_file_suara() {
  • 22. 18 try { MPlayer = MediaPlayer.create(this, R.raw.intro); } catch (Throwable t) { error_(t); } } private void error_(Throwable t) { AlertDialog.Builder pesan_error = new AlertDialog.Builder(this); pesan_error.setTitle("Failed!").setMessage(t.toString()) .setPositiveButton("OK", null).show(); } public void btn_plus_Clicked(View v) { stop_intro(); Intent panggil_class = new Intent(this, PlusActivity.class); startActivity(panggil_class); } public void btn_minus_Clicked(View v) { stop_intro(); Intent panggil_class = new Intent(this, MinusActivity.class); startActivity(panggil_class); } public void btn_about_Clicked(View v) { Intent panggil_class = new Intent(this, About.class); startActivity(panggil_class); } @Override public void onBackPressed() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Tutup Aplikasi Let's Count ?") .setCancelable(false) .setPositiveButton("Ya", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { Intent keluar = new Intent(Intent.ACTION_MAIN); keluar.addCategory(Intent.CATEGORY_HOME); keluar.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); stop_intro(); finish(); startActivity(keluar); } }) .setNegativeButton("Tidak", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { dialog.cancel(); }
  • 23. 19 }).show(); } } 3.4.3 LetsCountActivity package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.MotionEvent; import android.content.pm.ActivityInfo; public class LetsCountActivity extends Activity { protected boolean _aktif = true; protected int splash_ = 5000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lets_count); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) ; Thread splashTread = new Thread() { @Override public void run() { try { int delay_ = 0; while (_aktif && (delay_ < splash_)) { sleep(100); if (_aktif) { delay_ += 100; } } } catch (InterruptedException e) { } finally { finish(); Intent panggil_class = new Intent(LetsCountActivity.this, Menu_utama.class); startActivityForResult(panggil_class, 0); } } }; splashTread.start(); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { _aktif = false; } return true; } @Override
  • 24. 20 public void onBackPressed() { finish(); System.exit(0); } } 3.4.5 PlusActivity.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.Spinner; public class PlusActivity extends Activity { public int nilai_01, nilai_02, nilai_03, nilai_04, nilai_05, nilai_06, nilai_07, nilai_08, nilai_09, nilai_10, jumlah_nilai; public static int nilai = 0; public Spinner menu_jawab_01, menu_jawab_02, menu_jawab_03, menu_jawab_04, menu_jawab_05, menu_jawab_06, menu_jawab_07, menu_jawab_08, menu_jawab_09, menu_jawab_10; public ImageButton cek_nilai; public static int nilai_total = 0; public String jawaban, hasil_jawaban, isi_jawaban; public static String data_jawaban = ""; int[] kunci = { 1, 2, 2, 1, 2, 2, 2, 1, 1, 2 }; int[] soal = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; String[] jawaban_01 = { " Pilih jawaban", "A. 5", "B. 6" }; String[] jawaban_02 = { " Pilih jawaban", "A. 8", "B. 9" }; String[] jawaban_03 = { " Pilih jawaban", "A. 9", "B. 10" }; String[] jawaban_04 = { " Pilih jawaban", "A. 7", "B. 6" }; String[] jawaban_05 = { " Pilih jawaban", "A. 4", "B. 3" }; String[] jawaban_06 = { " Pilih jawaban", "A. 9", "B. 8" }; String[] jawaban_07 = { " Pilih jawaban", "A. 1", "B. 2" }; String[] jawaban_08 = { " Pilih jawaban", "A. 4", "B. 5" }; String[] jawaban_09 = { " Pilih jawaban", "A. 6", "B. 5" }; String[] jawaban_10 = { " Pilih jawaban", "A. 0", "B. 1" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_plus); menu_jawab_01 = (Spinner) findViewById(R.id.jwb_01); menu_jawab_02 = (Spinner) findViewById(R.id.jwb_02); menu_jawab_03 = (Spinner) findViewById(R.id.jwb_03); menu_jawab_04 = (Spinner) findViewById(R.id.jwb_04); menu_jawab_05 = (Spinner) findViewById(R.id.jwb_05); menu_jawab_06 = (Spinner) findViewById(R.id.jwb_06); menu_jawab_07 = (Spinner) findViewById(R.id.jwb_07);
  • 25. 21 menu_jawab_08 = (Spinner) findViewById(R.id.jwb_08); menu_jawab_09 = (Spinner) findViewById(R.id.jwb_09); menu_jawab_10 = (Spinner) findViewById(R.id.jwb_10); cek_nilai = (ImageButton) findViewById(R.id.Btn_check); ArrayAdapter<String> list_jawab_01 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_01); list_jawab_01 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_01.setAdapter(list_jawab_01); menu_jawab_01.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_01 = menu_jawab_01.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_02 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_02); list_jawab_02 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_02.setAdapter(list_jawab_02); menu_jawab_02.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_02 = menu_jawab_02.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_03 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_03); list_jawab_03 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_03.setAdapter(list_jawab_03); menu_jawab_03.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1,
  • 26. 22 int arg2, long arg3) { nilai_03 = menu_jawab_03.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_04 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_04); list_jawab_04 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_04.setAdapter(list_jawab_04); menu_jawab_04.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_04 = menu_jawab_04.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_05 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_05); list_jawab_05 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_05.setAdapter(list_jawab_05); menu_jawab_05.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_05 = menu_jawab_05.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_06 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_06); list_jawab_06 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_06.setAdapter(list_jawab_06); menu_jawab_06.setOnItemSelectedListener(new
  • 27. 23 OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_06 = menu_jawab_06.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_07 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_07); list_jawab_07 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_07.setAdapter(list_jawab_07); menu_jawab_07.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_07 = menu_jawab_07.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_08 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_08); list_jawab_08 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_08.setAdapter(list_jawab_08); menu_jawab_08.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_08 = menu_jawab_08.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_09 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_09); list_jawab_09
  • 28. 24 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_09.setAdapter(list_jawab_09); menu_jawab_09.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_09 = menu_jawab_09.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_10 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_10); list_jawab_10 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_10.setAdapter(list_jawab_10); menu_jawab_10.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_10 = menu_jawab_10.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } public void btn_check_Clicked(View v) { int pilihan_jawaban[] = { nilai_01, nilai_02, nilai_03, nilai_04, nilai_05, nilai_06, nilai_07, nilai_08, nilai_09, nilai_10 }; int nomor_pilihan; for (int i = 0; i < kunci.length; i++) { if (pilihan_jawaban[i] == 1) { jawaban = " A "; } else if (pilihan_jawaban[i] == 2) { jawaban = " B "; } else { jawaban = " - "; } if (kunci[i] == 1) { isi_jawaban = "A"; } else if (kunci[i] == 2) { isi_jawaban = "B"; } else { isi_jawaban = "Tidak dijawab";
  • 29. 25 } if (pilihan_jawaban[i] == kunci[i]) { nilai_total = nilai_total + 10; hasil_jawaban = jawaban + " (Benar) = " + isi_jawaban + ", (Nilai = 10)n"; } else { hasil_jawaban = jawaban + " (Salah) = " + isi_jawaban + ", (Nilai = 0)n"; } nomor_pilihan = i + 1; data_jawaban = data_jawaban + Integer.toString(nomor_pilihan) + ". " + hasil_jawaban; } Intent panggil_class = new Intent(this, HasilPlusActivity.class); panggil_class.putExtra("nilai_hasil", nilai_total); panggil_class.putExtra("rinci_jawaban", data_jawaban); startActivity(panggil_class); finish(); System.exit(0); } @Override public void onBackPressed() { finish(); System.exit(0); }} 3.4.6 MinusActivity.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.ImageButton; import android.widget.Spinner; public class MinusActivity extends Activity { public int nilai_01, nilai_02, nilai_03, nilai_04, nilai_05, nilai_06, nilai_07, nilai_08, nilai_09, nilai_10, jumlah_nilai; public static int nilai = 0; public Spinner menu_jawab_01, menu_jawab_02, menu_jawab_03, menu_jawab_04, menu_jawab_05, menu_jawab_06, menu_jawab_07, menu_jawab_08, menu_jawab_09, menu_jawab_10; public ImageButton cek_nilai; public static int nilai_total = 0; public String jawaban, hasil_jawaban, isi_jawaban; public static String data_jawaban = ""; int[] kunci = { 2, 1, 1, 2, 2, 1, 1, 1, 1, 2 }; int[] soal = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  • 30. 26 String[] jawaban_01 = { " Pilih jawaban", "A. 7", "B. 6" }; String[] jawaban_02 = { " Pilih jawaban", "A. 4", "B. 3" }; String[] jawaban_03 = { " Pilih jawaban", "A. 2", "B. 3" }; String[] jawaban_04 = { " Pilih jawaban", "A. 7", "B. 8" }; String[] jawaban_05 = { " Pilih jawaban", "A. 6", "B. 5" }; String[] jawaban_06 = { " Pilih jawaban", "A. 1", "B. 2" }; String[] jawaban_07 = { " Pilih jawaban", "A. 7", "B. 6" }; String[] jawaban_08 = { " Pilih jawaban", "A. 3", "B. 4" }; String[] jawaban_09 = { " Pilih jawaban", "A. 0", "B. 1" }; String[] jawaban_10 = { " Pilih jawaban", "A. 10", "B. 9" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_minus); menu_jawab_01 = (Spinner) findViewById(R.id.jwb_01); menu_jawab_02 = (Spinner) findViewById(R.id.jwb_02); menu_jawab_03 = (Spinner) findViewById(R.id.jwb_03); menu_jawab_04 = (Spinner) findViewById(R.id.jwb_04); menu_jawab_05 = (Spinner) findViewById(R.id.jwb_05); menu_jawab_06 = (Spinner) findViewById(R.id.jwb_06); menu_jawab_07 = (Spinner) findViewById(R.id.jwb_07); menu_jawab_08 = (Spinner) findViewById(R.id.jwb_08); menu_jawab_09 = (Spinner) findViewById(R.id.jwb_09); menu_jawab_10 = (Spinner) findViewById(R.id.jwb_10); cek_nilai = (ImageButton) findViewById(R.id.Btn_check); ArrayAdapter<String> list_jawab_01 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_01); list_jawab_01 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_01.setAdapter(list_jawab_01); menu_jawab_01.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_01 = menu_jawab_01.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_02 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_02); list_jawab_02 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_02.setAdapter(list_jawab_02); menu_jawab_02.setOnItemSelectedListener(new
  • 31. 27 OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_02 = menu_jawab_02.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_03 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_03); list_jawab_03 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_03.setAdapter(list_jawab_03); menu_jawab_03.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_03 = menu_jawab_03.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_04 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_04); list_jawab_04 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_04.setAdapter(list_jawab_04); menu_jawab_04.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_04 = menu_jawab_04.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_05 = new ArrayAdapter<String>(this,
  • 32. 28 android.R.layout.simple_spinner_item, jawaban_05); list_jawab_05 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_05.setAdapter(list_jawab_05); menu_jawab_05.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_05 = menu_jawab_05.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_06 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_06); list_jawab_06 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_06.setAdapter(list_jawab_06); menu_jawab_06.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_06 = menu_jawab_06.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_07 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_07); list_jawab_07 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_07.setAdapter(list_jawab_07); menu_jawab_07.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_07 = menu_jawab_07.getSelectedItemPosition(); } @Override
  • 33. 29 public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_08 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_08); list_jawab_08 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_08.setAdapter(list_jawab_08); menu_jawab_08.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_08 = menu_jawab_08.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_09 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_09); list_jawab_09 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_09.setAdapter(list_jawab_09); menu_jawab_09.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { nilai_09 = menu_jawab_09.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); ArrayAdapter<String> list_jawab_10 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, jawaban_10); list_jawab_10 .setDropDownViewResource(android.R.layout.simple_spinner_dropdown _item); menu_jawab_10.setAdapter(list_jawab_10); menu_jawab_10.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
  • 34. 30 nilai_10 = menu_jawab_10.getSelectedItemPosition(); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } public void btn_check_Clicked(View v) { int pilihan_jawaban[] = { nilai_01, nilai_02, nilai_03, nilai_04, nilai_05, nilai_06, nilai_07, nilai_08, nilai_09, nilai_10 }; int nomor_pilihan; for (int i = 0; i < kunci.length; i++) { if (pilihan_jawaban[i] == 1) { jawaban = " A "; } else if (pilihan_jawaban[i] == 2) { jawaban = " B "; } else { jawaban = " - "; } if (kunci[i] == 1) { isi_jawaban = "A"; } else if (kunci[i] == 2) { isi_jawaban = "B"; } else { isi_jawaban = "Tidak dijawab"; } if (pilihan_jawaban[i] == kunci[i]) { nilai_total = nilai_total + 10; hasil_jawaban = jawaban + " (Benar) = " + isi_jawaban + ", (Nilai = 10)n"; } else { hasil_jawaban = jawaban + " (Salah) = " + isi_jawaban + ", (Nilai = 0)n"; } nomor_pilihan = i + 1; data_jawaban = data_jawaban + Integer.toString(nomor_pilihan) + ". " + hasil_jawaban; } Intent panggil_class = new Intent(this, HasilMinusActivity.class); panggil_class.putExtra("nilai_hasil", nilai_total); panggil_class.putExtra("rinci_jawaban", data_jawaban); startActivity(panggil_class); finish(); System.exit(0); } @Override public void onBackPressed() { finish(); System.exit(0); } }
  • 35. 31 3.4.7 HasilPlusActivity.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.TextView; public class HasilPlusActivity extends Activity { int data_hasil; String data_rinci, rincian; TextView teks_skor, teks_rinci; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hasil_plus); Intent panggil_class = getIntent(); data_hasil = panggil_class.getExtras().getInt("nilai_hasil"); data_rinci = panggil_class.getExtras().getString("rinci_jawaban"); teks_skor = (TextView) findViewById(R.id.skor); teks_skor.setText(Integer.toString(data_hasil)); teks_rinci = (TextView) findViewById(R.id.rinci); rincian = "Jawaban: nn" + data_rinci; teks_rinci.setText(rincian); } public void btn_menu_Clicked(View v) { Intent panggil_class = new Intent(this, Menu_utama.class); startActivity(panggil_class); finish(); } public void btn_try_Clicked(View v) { Intent panggil_class = new Intent(this, PlusActivity.class); startActivity(panggil_class); finish(); } @Override public void onBackPressed() { finish(); System.exit(0); } } 3.4.8 HasilMinusActivity.java package com.example.letscount; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.TextView;
  • 36. 32 public class HasilMinusActivity extends Activity { int data_hasil; String data_rinci, rincian; TextView teks_skor, teks_rinci; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hasil_minus); Intent panggil_class = getIntent(); data_hasil = panggil_class.getExtras().getInt("nilai_hasil"); data_rinci = panggil_class.getExtras().getString("rinci_jawaban"); teks_skor = (TextView) findViewById(R.id.skor); teks_skor.setText(Integer.toString(data_hasil)); teks_rinci = (TextView) findViewById(R.id.rinci); rincian = "Jawaban: nn" + data_rinci; teks_rinci.setText(rincian); } public void btn_menu_Clicked(View v) { Intent panggil_class = new Intent(this, Menu_utama.class); startActivity(panggil_class); finish(); } public void btn_try_Clicked(View v) { Intent panggil_class = new Intent(this, MinusActivity.class); startActivity(panggil_class); finish(); } @Override public void onBackPressed() { finish(); System.exit(0); } } 3.3.9 Activity_lets_count.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/splash" android:gravity="center|center_horizontal" android:orientation="vertical" tools:context=".LetsCountdActivity" > </RelativeLayout>
  • 37. 33 3.3.10 Avtivity_menu_utama.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/menu_utama" android:gravity="bottom|center_horizontal" android:keepScreenOn="true" android:orientation="vertical" tools:context=".Menu_utama" > <ImageButton android:id="@+id/Btn_plus" android:layout_width="160dp" android:layout_height="160dp" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_plus_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_plus" /> <ImageButton android:id="@+id/Btn_minus" android:layout_width="160dp" android:layout_height="160dp" android:layout_toRightOf="@id/Btn_plus" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_minus_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_minus" /> <ImageButton android:id="@+id/Btn_about" android:layout_width="320dp" android:layout_height="160dp" android:layout_below="@id/Btn_plus" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_about_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_about" /> </RelativeLayout> 3.3.11 Activity_plus.xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent"
  • 38. 34 android:background="@drawable/menu_soal" android:keepScreenOn="true" android:scrollbars="vertical" tools:context=".PlusActivity" > <LinearLayout android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 1:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_01" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_01" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 2:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_02" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content"
  • 39. 35 android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_02" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 3:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_03" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_03" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 4:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_04" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:"
  • 40. 36 android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_04" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 5:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_05" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_05" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 6:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_06" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000"
  • 41. 37 android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_06" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 7:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_07" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_07" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 8:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_08" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp"
  • 42. 38 android:textStyle="italic" /> <Spinner android:id="@+id/jwb_08" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 9:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_09" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_09" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 10:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/plus_10" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" />
  • 43. 39 <Spinner android:id="@+id/jwb_10" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ImageButton android:id="@+id/Btn_check" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_check_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_check" /> </LinearLayout> </ScrollView> 3.4.12 Activity_minus <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/menu_soal" android:keepScreenOn="true" android:scrollbars="vertical" tools:context=".MinusActivity" > <LinearLayout android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 1:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_01" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent"
  • 44. 40 android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_01" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 2:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_02" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_02" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 3:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true"
  • 45. 41 android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_03" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_03" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 4:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_04" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_04" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 5:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" />
  • 46. 42 <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_05" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_05" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 6:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_06" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_06" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView
  • 47. 43 android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 7:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_07" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_07" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 8:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_08" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" />
  • 48. 44 <Spinner android:id="@+id/jwb_08" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 9:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_09" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_09" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Soal 10:" android:textColor="#0000ff" android:textSize="35sp" android:textStyle="italic" /> <ImageView android:id="@+id/soal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/minus_10" /> <TextView
  • 49. 45 android:id="@+id/teks" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Jawab:" android:textColor="#ff0000" android:textSize="35sp" android:textStyle="italic" /> <Spinner android:id="@+id/jwb_10" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <ImageButton android:id="@+id/Btn_check" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_check_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_check" /> </LinearLayout> </ScrollView> 3.4.13 Activity_hasil_plus.xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/menu_hasil" android:keepScreenOn="true" android:scrollbars="vertical" tools:context=".HasilPlusActivity" > <LinearLayout android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/hasil" android:layout_width="wrap_content" android:layout_height="60dp" android:layout_gravity="center_horizontal" android:text="Nilai:" android:textColor="#ff0000" android:textSize="50sp" android:textStyle="italic" /> <TextView android:id="@+id/skor"
  • 50. 46 android:layout_width="wrap_content" android:layout_height="90dp" android:layout_gravity="center_horizontal" android:text="99" android:textColor="#000000" android:textSize="75sp" /> <TextView android:id="@+id/rinci" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal" android:text="99" android:textColor="#0000ff" android:textSize="20sp" /> <ImageButton android:id="@+id/Btn_try" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_try_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_try" /> <ImageButton android:id="@+id/Btn_menu" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_menu_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_menu" /> </LinearLayout> </ScrollView> 3.4.14 Activity_hasil_minus.xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/menu_hasil" android:keepScreenOn="true" android:scrollbars="vertical" tools:context=".HasilMinusActivity" > <LinearLayout android:id="@+id/layout" android:layout_width="fill_parent"
  • 51. 47 android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/hasil" android:layout_width="wrap_content" android:layout_height="60dp" android:layout_gravity="center_horizontal" android:text="Nilai:" android:textColor="#ff0000" android:textSize="50sp" android:textStyle="italic" /> <TextView android:id="@+id/skor" android:layout_width="wrap_content" android:layout_height="90dp" android:layout_gravity="center_horizontal" android:text="99" android:textColor="#000000" android:textSize="75sp" /> <TextView android:id="@+id/rinci" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_horizontal" android:text="99" android:textColor="#0000ff" android:textSize="20sp" /> <ImageButton android:id="@+id/Btn_try" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_try_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_try" /> <ImageButton android:id="@+id/Btn_menu" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:adjustViewBounds="true" android:background="@null" android:onClick="btn_menu_Clicked" android:orientation="vertical" android:scaleType="centerInside" android:src="@drawable/tombol_menu" /> </LinearLayout> </ScrollView>
  • 52. 48 3.5 Implementasi Perancangan Interface Perancangan interface dibutuhkan dalam pembuatan suatu aplikasi karena untuk mempermudah pembuatan desain interface dari aplikasi tersebut sehingga tampilan atau interface yang dihasilkan akan lebih terstruktur dan menarik. Pada tahap ini akan dijelaskan perancangan tampilan atau interface dari aplikasi menampilkan profil negara pada perangkat berbasis Android. Rancangan interface yang dijelaskan adalah halaman utama, tampilan halaman menu yang terdapat pada halaman utama yaitu halaman penjumlahan, pengurangan dan about, tampilan halaman hasil dan tampilan keluar aplikasi. 3.5.1 Rancangan Interface Halaman Utama Rancangan interface untuk tampilan halaman utama aplikasi Let’s Count adalah seperti gambar berikut ini. Gambar 3.6 Tampilan Halaman Utama Let’s Count Pada tampilan halaman utama aplikasi Let’s Count terdapat tiga menu utama yaitu menu penjumlahan yang dibuat dengan simbol tambah (+), menu pengurangan yang diberi simbol kurang (-) dan menu about.
  • 53. 49 3.5.2 Rancangan Interface Halaman Menu Penjumlahan Rancangan interface untuk tampilan menu penjumlahan aplikasi Let’s Count adalah seperti gambar berikut ini. Gambar 3.7 Tampilan Halaman Menu Penjumlahan Let’s Count Tampilan halaman penjumlahan akan ditampilkan apabila user memilih menu penjumlahan (+) pada bagian halaman utama. Pada halaman penjumlahan akan ditampilkan soal-soal latihan yang dibuat dalam bentuk gambar seperti gambar pada gambar 3.7. Soal yang disajikan yaitu terdiri dari 10 soal penjumlahan. Setelah user selesai menjawab soal latihan dibagian bawah disediakan button Check untuk melihat hasil yang diperolah yang ditampilkan pada halaman hasil. 3.5.3 Rancangan Interface Halaman Menu Pengurangan Rancangan interface untuk tampilan menu pengurangan aplikasi Let’s Count adalah seperti gambar berikut ini.
  • 54. 50 Gambar 3.8 Tampilan Halaman Menu Pengurangan Let’s Count Tampilan halaman penjumlahan akan ditampilkan apabila user memilih menu pengurangan (-) pada bagian halaman utama. Pada halaman penjumlahan akan ditampilkan soal-soal latihan yang dibuat dalam bentuk gambar seperti gambar pada gambar 3.8. Soal yang disajikan yaitu terdiri dari 10 soal pengurangan. Setelah user selesai menjawab soal latihan dibagian bawah disediakan button Check untuk melihat hasil yang diperolah yang ditampilkan pada halaman hasil. 3.5.4 Rancangan Interface Halaman Hasil Latihan Rancangan interface untuk tampilan halaman hasil aplikasi Let’s Count adalah seperti gambar berikut ini.
  • 55. 51 Gambar 3.9 Tampilan Halaman Hasil Latihan Let’s Count Tampilan halaman hasil latihan akan ditampilkan apabila user memilih menu Check pada bagian halaman penjumlahan atau pengurangan. Pada halaman hasil akan ditampilkan skor yang diperoleh oleh user serta kunci jawaban dari setiap soal yang yang disajikan. Diabagian halaman hasil juga dilengkapi button Try Again untuk mencoba kembali latihan penjumlahan/pengurangan dan button Menu untuk kembali kehalaman utama aplikasi. 3.5.5 Rancangan Interface Halaman Menu About Rancangan interface untuk tampilan halaman menu about aplikasi Let’s Count adalah seperti gambar berikut ini.
  • 56. 52 Gambar 3.10 Tampilan Halaman Menu About Let’s Count Tampilan halaman menu about akan ditampilkan apabila user memilih menu about pada halaman utama aplikasi. Pada halaman about ini akan ditampilkan deskripsi singkat tentang aplikasi dan nama-nama kelompok yang yang membuat aplikasi ini. 3.5.6 Rancangan Interface Keluar Aplikasi Rancangan interface untuk tampilan halaman keluar aplikasi Let’s Count adalah seperti gambar berikut ini.
  • 57. 53 Gambar 3.11 Tampilan Keluar Aplikasi About Let’s Count Tampilan interface keluar aplikasi akan ditampilkan apabila user memilih tombol kembali pada perangkat mobile/emulator yang digunakana. Ketika user menekana tombol tersebut maka akan pop-up berisi pesan “tutup aplikasi Let’s Count?” maka akan tersedia pilihan ya atau tidak, jika memilih ya maka akan keluar dari aplikasi dan jika memilik tidak maka aplikasi akan tetap dibuka. Untuk tampilannya seperti gambar 3.11 diatas.
  • 58. 54 BAB IV PENUTUP 4.1 Kesimpulan Berdasarkan implementasi perancangan aplikasi Let’s Count berbasis android dapat ditarik kesimpulan bahwa kemajuan teknologi memiliki dampak yang sangat besar dalam dunia pendidikan terkhusus dalam meninggkatkan pengetahuan khususnya bagi anak-anak. Dengan diciptakan sebuah aplikasi edukasi bagi anak-anak usia dini dapat memacu niat mereka untuk semakin mau mengetahui hal-hal yang ada dilingkungan mereka. Aplikasi Let’s Count yang telah dibuat dapat membantu orang tua untuk memberikan pendidikan khususnya dalam penjumlahan dan pengurangan. Selain dari itu karena aplikasi Let’s Count dirancang berbasis mobile maka untuk penggunaan dapat dilakukan dimana saja. 4.2 Saran Saran yang diperoleh berdasarkan saran dari beberapa pengguna yaitu untuk pengembangan apalikasi selanjutnya dibuat lebih menarik lagi sehingga user pengguna yang sasarannya adalah anak-anak dapat tertarik untuk menggunakan aplikasi Let’s Count.
  • 59. 55 DAFTAR PUSTAKA [1] Unified Modeling Language dan Sequence Diagram Informatika.web.id/pengertian-uml.htm. Diakses pada tanggal 12 Mei 2016. [2] Model Use Case Staf.cs.ui.ac.id/WebKuliah/IKI40972/materi/miggu4/model-use-case.htm. Diakses pada tanggal 12 Mei 2016. [3] Pemahaman Pemograman Mobile. ilmukomputer.org/category/pemrograman-mobile/. Diakses pada tanggal 13 Mei 2016 [4] Pembahasan, Pengertian Dan Fungsi Java. https://id.wikipedia.org/wiki/Java Diakses pada tanggal 12 Mei 2016. [5] Pengertian Android. www.berbagiinfo4u.com › Android Diakses pada tanggal 12 Mei 2016. [5] Materi Android Studio. https://en.wikipedia.org/wiki/Android_Studio. Diakses pada tanggal 12 Mei 2016. [6] Emulator https://id.wikipedia.org/wiki/Emulator. Diakses pada tanggal 12 Mei 2016 [7] Penjumlahan dan Pengurangan eprints.ung.ac.id/bab2-28072013075542%281%29.pdf. Diakses pada tanggal 14 Mei 2016.