Cara Membuat Aplikasi Calculator Untuk A

TUTORIAL ANDROID
Membangun Aplikasi Calculator Untuk Andr oid
Indra W idiatmojo
25 M ei 2014

Pembuka
Kali ini penulis akan berbagi pengalaman tentang bagaimana cara membuat aplikasi
sederhanan didalam android (smart phone Android) bagi pemula. Disini penulis akan menggunakan
ADT (Android Developer Tools) Eclipse dan SDK Android untuk digunakan membuat aplikasi Android.
Saya harap kalian semua sudah mengerti tentang Eclipse atau fitur-fitur didalamnya dan cara
memakainya.
Sebagai contoh kali ini penulis akan berbagi cara bagaimana membuat aplikasi Calculator
didalam Android. Untuk membuat aplikasi Calculator tersebut saya akan membagi 2 cara
pengerjaannya yaitu pertama desain interface, dan yang kedua pengkodingan.

D esain I nterface
Rencana desain calculator yang akan kita buat adalah sebagai berikut :

Untuk mendesain aplikasi diatas pertama buka Eclipse lalu klik file  New  pilih Android
Aplication Project sehingga akan muncul sebagai berikut :


2

Isikan Aplication Name, Project Name, dan Package Name setelah diisikan semua kemudian klik next
sampai muncul kotak dialog sebagai berikut :

Fungsi dari kotak dialog tersebut adalah untuk memasukan icon sistem yang akan kita buat ini. Kita
cukup klik browse dan pilih icon dari drive komputer kalian yang kalian suka. Setelah klik finish
sehingga project yang yang kita buat akan muncul di bagian explorer Eclipse.

3

Buka AndroidManifest.xml dan gantikan source code yang diblok dengan @android:style/theme.black
seperti pada gambar dibawah ini

Selanjutnya kita akan membuat gradasi warna untuk memperindah interface calculator yang
kita buat nantinya. Untuk membuat gradasi kita mulai dari folder projeck Calculator Of Math, pilih res 
drawable_hdpi. Pada drawable_hdpi klik kanan pilih New  Other  Android  Android XML File
sehingga akan muncul kotak dialog sebagai berikut

4


Pada file isikan dengan “bg_button” dan pada root Elementnya pilih selector setelah itu finish.

Isikan kode XML dibawah ini ke dalam yang ditunjukan oleh anak panah diatas












5






Tambahkan XML file kedalam folder drawable_hdpi dengan cara yang sama seperti sebelumnya
dengan nama “bg_latar” dan pada root Elementnya pilih selector setelah itu finish. Isikan kode XML
dibawah ini ke dalam yang ditunjukan oleh anak panah pada gambar yang ditunjukan sebelumnya









Tambahkan XML file kedalam folder drawable_hdpi dengan cara yang sama seperti sebelumnya
dengan nama “bg_latarsoal” dan pada root Elementnya pilih selector setelah itu finish. Isikan kode
XML dibawah ini ke dalam yang ditunjukan oleh anak panah pada gambar yang ditunjukan sebelumnya








6




Tambahkan XML file kedalam folder drawable_hdpi dengan cara yang sama seperti sebelumnya
dengan nama “bg_text” dan pada root Elementnya pilih selector setelah itu finish. Isikan kode XML
dibawah ini ke dalam yang ditunjukan oleh anak panah pada gambar yang ditunjukan sebelumnya










Referensi kode warna :
- http://www.sambidoplang.mobie.in/Warna
- http://www.infoindong.com/2013/01/kode-warna-html.html

Setelah selesai selanjutnya masuk ke res  values  pilih string.xml yang ada dalam projeck
Calculator Of Math.

7

Tambahkah code XML dibawah ini di tempat yang ditunjukan oleh anak panah di atas.
Exp


#f f f f f f
30sp
bol d
#000000
3
3

2


Kode-kode XML diatas nantinya akan dipanggil di setiap komponen-komponen (button,
textView, textEdit, dll) pada desain interface calclulator.
Selanjutnya kita akan membuat interface calculator tersebut dengan cara buka folder res 
layout  pilih activity_main.xml. Kemudian ganti kode yang ada di dalam activity_main.xml dengan
kode XML dibawah ini.
















































11




Kode diatas bisa dilihat dalam bentuk navigator seperti pada gambar dibawah ini


Hasil dari koding XML diatas dapat kita liat hasil sementaranya dengan cara membuka Graphical
Layout pada activity_main.xml seperti yang ditandai dengan lingkaran merah pada gambar dibawah ini

12

Pengkodingan
Dalam pembuat aplikasi Android bahasa pemrograman yang digunakan adalah bahasa
pemrograman JAVA. Untuk memulainya kita harus membuka folder yang ada didalam project
Calculation Of Math. Buka rsc  com.indra.calculationofmath  MainActivty.java kemudian tulis
semua source code di bawah ini.
package com. i ndr a. cal cul at i onof mat h;
i
i
i
i
i

mpor t
mpor t

mpor t
mpor t
mpor t

andr oi
andr oi
andr oi
andr oi
andr oi

d. app. Act i vi t y;
d. os. Bundl e;
d. vi ew. Vi ew;
d. wi dget . Edi t Text ;
d. wi dget . Text Vi ew;

publ i c cl ass Mai nAct i vi t y ext ends Act i vi t y {

Edi t Text t xt Number 1, t xt Number 2;
Text Vi ew l bl Hasi l ;

doubl e number 1, number 2, hasi l ;

St r i ng oper at or ;
@Over r i de
pr ot ect ed voi d onCr eat e( Bundl e savedI nst anceSt at e) {
super . onCr eat e( savedI nst anceSt at e) ;
set Cont ent Vi ew( R. l ayout . act i vi t y_mai n) ;
t xt Number 1=( Edi t Text ) f i ndVi ewByI d( R. i d. edi t Text 1) ;
t xt Number 2=( Edi t Text ) f i ndVi ewByI d( R. i d. edi t Text 2) ;
l bl Hasi l =( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew1) ;
t xt Number 2. set Vi si bi l i t y( Vi ew. GONE) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( " 0" ) ) ;

13

}
publ i c voi d But t onC( Vi ew e) {

oper at or =" " ;
l bl Hasi l . set Text ( St r i
t xt Number 1. set Text ( St
t xt Number 2. set Text ( St
t xt Number 1. set Vi si bi l
t xt Number 2. set Vi si bi l

ng. val ueOf ( " 0" ) ) ;
r i ng. val ueOf ( " " ) ) ;
r i ng. val ueOf ( " " ) ) ;
i t y( Vi ew. VI SI BLE) ;
i t y( Vi ew. GONE) ;

}
publ i c voi d but t onKal i ( Vi ew e) {

oper at or =" kal i " ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d but t onBagi ( Vi ew e) {

oper at or =" bagi " ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d But t onPl us( Vi ew e) {

oper at or =" pl us" ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d but t onMi n( Vi ew e) {

oper at or =" mi n" ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d but t onQuadr at ( Vi ew e) {

oper at or =" quadr at " ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d but t onMOD( Vi ew e) {

oper at or =" Mod" ;
t xt Number 2. set Vi si bi l i t y( Vi ew. VI SI BLE) ;
t xt Number 1. set Vi si bi l i t y( Vi ew. GONE) ;
t xt Number 2. r equest Focus( ) ;
}
publ i c voi d But t onSamaDengan( Vi ew e) {
try {

hasi l _pr oses( ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " Er r or " ) ) ;
}
}

14

publ i c voi d But t onSi n( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. si n( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d But t onCos( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. cos( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d But t onTan( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. t an( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d but t onSQRT( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. sqr t ( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d but t onLog( Vi ew e) {
t r y{

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. l og( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

15

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d but t onPHI ( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. PI * ( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d but t onAt an( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. at an( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
publ i c voi d but t onExp( Vi ew e) {
try {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
hasi l =Mat h. exp( number 1) ;
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
cat ch( Except i on er r ) {

l bl Hasi l . set Text ( St r i ng. val ueOf ( " I nval i d I nput " ) ) ;
}
}
pr i vat e voi d hasi l _pr oses( ) {

number 1=Doubl e. par seDoubl e( t xt Number 1. get Text ( ) . t oSt r i ng( ) ) ;
number 2=Doubl e. par seDoubl e( t xt Number 2. get Text ( ) . t oSt r i ng( ) ) ;
i f ( oper at or ==" kal i " ) {

hasi l =number 1* number 2;
}
el se i f ( oper at or ==" bagi " ) {

hasi l =number 1/ number 2;
}
el se i f ( oper at or ==" pl us" ) {

hasi l =number 1+number 2;
}
el se i f ( oper at or ==" mi n" ) {

hasi l =number 1- number 2;
}

16

el se i f ( oper at or ==" quadr at " ) {

hasi l =Mat h. pow( number 1, number 2) ;
}
el se i f ( oper at or ==" Mod" ) {

hasi l =number 1 % number 2;
}
l bl Hasi l . set Text ( St r i ng. val ueOf ( hasi l ) ) ;
}
}

Setelah source code diatas ditulis secara lengkap dan benar untuk menjalankannya adalah
yang ada pada toolbar Eclipse, disamping itu saya juga sarankan bersamaan program
klik tanda
tersebut dijalankan juga harus memperhatikan console pada Eclipse untuk mengetahui apakah
program itu berjalan secara benar atau tidak. Untuk melihat console adalah dengan cara klik Window
 Show View  Console. Perhatikan gambar console dibawah ini.

1

2
3

Keterangan :
1. Proses berjalannya SDK / menjalankan SDK
2. Proses instalasi APK
3. Proses instalasi APK selesai
Proses diatas akan memakan waktu sedikit lama, tergantung spesifikasi komputernya.
Setelah proses compile program setelah dan sukses akan tampil hasilnya sebagai berikut seperti
gambar dibawah ini.

17

Setelah SDK berjalan, buka aplikasi menunya dan cari aplikasi calculatornya seperti pada gambar
dibawah ini

18

Jalankan programnya dan hasilnya akan seperti dibawah ini

Cara instalasi di smart phone :
Cari direktori penyimpan project Calculation Of Math pada drive komputer, setelah itu buka folder
CalculationOfMath  bin  CalculationOfMath.apk, kemudian copy-paste 
CalculationOfMath.apk tersebut kedalam memory smart phone dan selanjutnya jalankan, secara
otomatis APK tersebut akan terinstal di smart phone.

Penutup
Semoga tutorial ini dapat bermanfaat dan dipakai sebagai bahan referensi yang dapat
memberikan wawasan luas dalam bidang IT pada khususya dan diharapkan dapat digunakan oleh para
pemula, mahasiswa baru ataupun siapa saja yang meminati bidang IT.

19