Sebelum memulai dengan tutorial ini, bagi yang belum menyiapkan software untuk development aplikasi android, bisa menyiapkannya terlebih dahulu, untuk petunjuknya bisa lihat di Persiapan Membuat Aplikasi Android
Android sedang naik daun, membuat banyak orang ingin lebih tahu tentang android, khususnya dalam cara pembuatan aplikasinya. Penasaran dengan android akhirnya saya mencoba mempelajarinya.
Pada awal-awal mulai mempelajarinya tentunya ada beberapa kendala yang dihadapi, dari bagaiman cara installnya dieclipse, bagaimana cara menjalankannya dan bagaimana arsitektur applikasi android.
Sempat juga mengalami pada saat run applikasi muncul error sehingga muncul message “Force To Close”.
Pusing juga yah, tapi kita harus tetap berusaha dan jangan mudah menyerah.
Alhamdulillah akhirnya jadi juga aplikasi android pertama saya, aplikasi android yang sederhana. yang fungsinya untuk menghitung luas persegi panjang. dan saya coba buat langkah-langkahnya menjadi sebuah tutorial.
Bagi yang ingin mengetahui cara pembuatannya, berikut langkah-langkah yang dilakukan :
1. Jalankan Eclipse (sebaiknya gunakan versi 3.5 Galileo)
2. Buat new Project, lalau Pilih Android Project
3. Isi Keterangan-keterangan Project Seperti dibawah ini
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu
- main.xml
- string.xml
- HitungPersegiPanjang.java
Pada saat project pertama kali dibuat ada 3 file penting yang langsung dibuat, yaitu
- main.xml
- string.xml
- HitungPersegiPanjang.java
4. edit file main.xml
main.xml adalah digunakan untuk menggambar layout dan user interface di android, dengan menggunakan format bahasa xml
Pada file main.xml ketikkan script dibawah ini
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:text="Panjang :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtPanjang" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText> <TextView android:text="Lebar :" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtLebar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="numberSigned|numberDecimal"></EditText> <Button android:text="Hitung Luas" android:id="@+id/btnHitung" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button> <TextView android:text="Luas :" android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" ></TextView> <EditText android:text="" android:id="@+id/txtLuas" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText> </LinearLayout>
Pada aplikasi ini kita menggunankan LinearLayout dengan orientasi vertical, yang berarti setiap object yang kita gambar akan disusun secara vertical (satu object satu baris).
Perhatikan bagian ini
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" />
Ini artinya TextView ini isi textnya diambil dari variable hello pada file string.xml
5. edit file string.xml
string.xml adalah sebagai pembantu dari main.xml, agar main.xml kita terlihat rapih dan tidak terlalu panjang dan memudahkan kita dalam membacanya maka kita bisa mebuat string object pada string.xml, dari main.xml tinggal panggil name nya saja.
Sekarang mari kita buka file string.xml. lalu ketikan kode dibawah ini
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Isi Nilai Panjang dan Lebar lalu klik Hitung Luas !</string> <string name="app_name">Persegi Panjang</string> </resources>
Coba perhatikan, disitu terlihat hello, jadi apa bila dijalankan TextView pada main.xml diatas akan menampilkan tulisan “Isi Nilai Panjang dan Lebar lalu klik Hitung Luas !”.
Pada aplikasi ini kita menggunakan 3 object untuk user interfacenya yaitu TextView, EditText dan Button.
Object | Fungsi |
TextView | sama seperti label pada SWING, yaitu untuk menampilkan tulisan dilayar. |
EditLabel | sama seperti TextBox pada SWING, yaitu untuk user menginputkan data |
Button | Sama seperti Button pada SWING yaiu sebagai Trigger untuk menjalankan suatu Fungsi |
6. Edit file HitungPersegiPanjang.java
HitungPersegiPanjang.java adalah pemain utama, yang akan djalankan pada saat applikasi dijalankan. Pada class ini, kita buat untuk dapat membaca data yang diinputkan user dalam hal ini inputan panjang dan lebar, kemudan menghitunngnya dan menampilkan hasilnya.
Sekarang Buka file HitungPersegiPanjang.java dan ketikkan kode dibawah ini
package com.agus; /** * Class HitungPersegiPanjang * @version 1.0 Oct 03, 2010 * @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net */ import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class HitungPersegiPanjang extends Activity { private EditText txtPanjang; private EditText txtLebar; private EditText txtLuas; private Button btnHitung; /** * Method yang dipanggil pada saat applikaasi dijalankan * */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtPanjang = (EditText) findViewById(R.id.txtPanjang); txtLebar = (EditText) findViewById(R.id.txtLebar); txtLuas = (EditText) findViewById(R.id.txtLuas); btnHitung = (Button) findViewById(R.id.btnHitung); } /** * Method untuk Menghitung Luas Persegi panjang dipanggil pada saat button * Hitung Luas diklik * * @param view */ public void hitungLuas(View view) { try { int panjang = Integer.parseInt(txtPanjang.getText().toString()); int lebar = Integer.parseInt(txtLebar.getText().toString()); int luas = panjang * lebar; txtLuas.setText(String.valueOf(luas)); } catch (Exception e) { e.printStackTrace(); } } }
Pada saat applikasi dijalankan, maka method yang pertamakali dipanggil adalah method onCreate
Perhatikan kode ini
txtPanjang = (EditText) findViewById(R.id.txtPanjang);
kode diatas digunakan agar kita bisa melakukan manipulasi terhadap object txtPanjang yang kita gambar pada main. Xml
buka file main.xml perhatikan kode ini
<Button android:text="Hitung Luas" android:id="@+id/btnHitung" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="hitungLuas"></Button>
Ini menandakan bahwa apabila kita mengklik tombol Hitung Luas maka akan memanggil method hitungLuas
8. Run Project, Caranya klik kanan project PersegiPanjang, pilih Run As lalu pilih Run Configration. Isikan keterangan-keteranagnnya seperti dibawah ini. Lalu klik tombol Run
Tujuannya agar applikasi kita langsung dijalankan pada emulator android.
Perhatinkan Log yang ada pada jendela console
Menjelaskan proses-proses yang terjadi pada emulator android.
Emulator sedang melakukan start up
Emulator siap menjalankan program
Klik tombol Menu, maka akan langsung menjalankan Project PersegiPanjang
Isi Nilai Panjang dan lebar
Klik Tombol Hitung
Untuk Menutup applikasi, karena kita belum buat button Closenya kita tombol escape saja pada keyboard.
Untuk menjalankan Applikasi Persigi Panjang lagi, klik tombol Menu dan Klik Icon Persegi Panjang
9. Sampai bertemu pada tutorial android selanjutnya
Jika ada yang kurang jelas silahkan ditanyakan.
untuk source codenya bisa didownlaod disini {filelink=3}
Salam Hangat
Agus Haryanto
Klik tombol Menu, maka akan langsung menjalankan Project PersegiPanjang
Mas agus, emulator ini ko jalanya lambat ya… berat gtu, apa ada solusi lain? 😀
thx…
pas bagian private Button btnHitung;
muncul pesan di eclipse
the field HitungPersegiPanjang.btnHitung is never read locally
kira-kira kesalahannya dmn?
tapi aplikasi bisa jalan
@Muhammad Iril, itu bukan error hanya warning saja. Aplikasi tetap bisa jalan. warning itu memberitahu kita bahwa variable yang kita deklarasikan tidak ada yang baca atau menggunakan
Mas Agus;
terima kasih atas informasi yang sangat membantu ini, saya newbie masalah android, dan mencoba petunjuk mas agus, tapi ketika membuat class HitungPersegiPanjang ( public class HitungPersegiPanjang extends Activity )
disisi sebelah kiri ada tanda error merah dengan lampu, ketika di klik message errornya adalah:
the puclic type HitungPersegiPanjang must be defined in its own file.
bagaimana caranya ya mengoreksi error tersebut? saya menggunakan eclipse IDE for java Developers Version: Helios Service Release 2
terima kasih atas bantuannya;
salam
Opik
terima kasih mas Agus,
Saya mau buat program sederhana, namun rumusnya gak mau jalan.
Mohon pencerahan
Rumus yang ingin saya pakai:
Fe = Fv : 1 – ( d x Fv )
= -5.00 : 1 – ( 0.012 x – 5.00 ) >>> angka 0.012 = d adalah konstanta
= -5.00 : 1 – ( -0.07)
= -5.00 : 1.07
= -4.67
Saya coba dengan :
ppublic void hitungKonversi(View view) {
try {
float kacamata = Float.parseFloat(txtKacamata.getText().toString());
float x = (float)( 0.012 * kacamata);
float y = 1 – x;
float konversi = kacamata/y;
txtKonversi.setText(String.valueOf(konversi));
} catch (Exception e) {
e.printStackTrace();
}
}
=====
bagaimana tambahin kodenya agar hasilnya itu hanya 2 angka di belakang koma.
Karena saat ini contoh hasilnya untuk kacamata -5.00 maka pakai lensa kontaknya : -4.7169814
Output yang di inginkan adalah : -4.72 (2 digit di belakang koma dan jika angka terakhir di bawah 5 menjadi 0 dan jika 5 keatas menjadi 10 atau angka depannya naik).
Tks
mas, biar bisa input angka pecahan gmn ya?
saya ingin sekali mempelajari android, tapi saya hanya memiliki sedikit sekali pengetahuan ttg java
dan blum pernah belajar J2ME
apakah kira-kira saya bisa belajar android?
@opik : gw bantu.. itu maksudnya klo class public harus di dalam file java yang namanya sama persis
misal class HitungPersegiPanjang harus ada di HitungPersegiPanjang.java
@kastam : coba pake cara begini
double d = 3.1537;
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
NB: harus pake import.java.Math;
mas bagaimana cara hapus aplikasi yang sudah bisa kita jalankan diandroid?
Assalamu’alaikum mas mau tanya bedanya numbersgned ama numberdecimal apaan? pas saya coba ketik tombol selain angka sama plikasi dibaca angka juga… tapi jadi error pas dihitung. mau tany juga setiap aplikasi yg ki running diemulator akan tersimpan di desktp hp nya. gimana cara hapusnya mas biar jangan semak. terimakasih 😉
mas disitu kan ada metod hitungluas(View view){}
mau tany view view distu buat apa dan mengacu ke variabel apa didalam metod tersebut
@khazar: mas metod hitungluas(View view){}
maksudnya itu: View -> yang pertama, itu bawaan kelas dari library si android
view -> yang kedua, itu untuk variabel yang akan kita gunakan untuk sintaks selanjutnya, maksudnya sebagai inisialisasi dari View (yang pertama). tapi contoh diatas variabel view gak dipakai mas..
Bapak, saya mau tanya koq pas di running UI nya muncul setelah saya isikan di panjang : 5 dan lebar:4 saya klik tombol Hitung Luas..
Nah disini ada error The application MainActivity (process com.agus)has stopped unexpectedly. Please try again.
Kira- kira kenapa yach itu?
maap pak. ternyata ada yg kurang (ga teliti) ..
thx banged tutorial nya.. looking forward to your next tutorial..
😀 Mantap tutorialnya..
@khazar: untuk menghapus aplikasi yang ada di android..
pada bagian emulator ke menu setting — application — manage application — (nama aplikasi) lalu pilih uninstall
Thanks Pak Agus
Artikelnya bermanfaat banget dan hampir semua aplikasi yang pak agus contohkan sudah bisa jalan… semoga sukses terus
Mas, saya sudah ikuti smuanya… tp kok pas di emulator selalu muncul force close ya? ini yg salah emulatornya apa dieclipse nya mas?
Pak Agus, newbie mau tanya..
saya coba menghilangkan kode:
>> import android.widget.Button;
>> private Button btnHitung;
>> btnHitung = (Button) findViewById(R.id.btnHitung);
ternyata aplikasi tetap berjalan normal seperti sebelum kode dihilangkan.
apa ada pengaruhnya jka kode di atas dihilangkan/sebaliknya??
terima kasih
Terimakasih Mas Agus.
Saya udah ikutin semua dan jalan !
Hore …
Aplikasi Android saya yang pertama.
Mirip-mirip .Net yah?
Memang saya familiar dulu dengan .Net
Kenapa variabel id ngga ke kebaca pada (R.id.txtPanjang); dan seterusnya,ane pake eclipse indigo dan ane running pd android 1.5, maklum gan masih newbe banget…
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtPanjang = (EditText) findViewById(R.id.txtPanjang);
txtLebar = (EditText) findViewById(R.id.txtLebar);
txtLuas = (EditText) findViewById(R.id.txtLuas);
btnHitung = (Button) findViewById(R.id.btnHitung);
pa agus maaf neh aku newbi neh…. mao nanya solusinya error di console saya begini
[2011-09-26 05:09:33 – LoyoutLinier] res\layout\main.xml:0: error: Resource entry main is already defined.
[2011-09-26 05:09:33 – LoyoutLinier] res\layout\main.out.xml:0: Originally defined here.
[2011-09-26 05:09:33 – LoyoutLinier] C:\Users\arif_uki\workspace\LoyoutLinier\res\layout\main.out.xml:1: error: Error parsing XML: no element found
[2011-09-26 05:09:33 – LoyoutLinier] C:\Users\arif_uki\workspace\LoyoutLinier\res\layout\main.xml:7: error: Error parsing XML: not well-formed (invalid token)
[2011-09-26 05:09:33 – PersegiPanjang1] res\layout\main.xml:0: error: Resource entry main is already defined.
[2011-09-26 05:09:33 – PersegiPanjang1] res\layout\main.out.xml:0: Originally defined here.
[2011-09-26 05:09:33 – PersegiPanjang1] C:\Users\arif_uki\workspace\PersegiPanjang1\res\layout\main.out.xml:1: error: Error parsing XML: no element found
[2011-09-26 05:24:52 – PersegiPanjang1] Error in an XML file: aborting build.
tolong ya pa agus kasih solusinya plzzz….
mas tau cara nya buat skoring kaya game pada android???
@red, coba save dulu main.xml nya
mas,, pas tombol hitung luas di tekan, keluar pesan force close. itu kenapa y ?
mohon bantuan nya mas
pak mau tanya,
kalo hasil dari pembagian kok gak bisa koma koma ya,
hasilnya 0.0
misal : 12/40 hasilnya 0.0
itu solusinya gimana ya??
makasih
knpa ga bisa masukin inputan yang ada “,” kyak 2.3 gitu?
@doni, tidak bisa di input koma(,) karena memang inputannya dibatasi hanya number dan titik(.) karena dalam dunia programing java pemisah nilai desimal adalah titik
master ..
mau nanya nii,,
aku kan biikin aplikasi pke emuator sama eclipse,,
pas bkin aplikasii “helloWord” gtu,,
ga mau nampil “Hello,,” di emulatornya,,
trus pas aku close emulatornya ,,
ada warning “not found dns server”
mohon pencerahannya master,,
maaf pertanyaan saya yg sebelumnya kurang jelas, tpi maksudnya,klo inputan yang saya masukin desimal
mis:
panjang = 8.5
lebar = 7.5
pas klik luas programnya kok ga bisa eksekusi luas?
klo yang diinput bilangan bulat luasnya bisa di eksekusi, udah saya coba ganti jadi double luas = (double)panjang * lebar;
itu salahnya dimana ya mas?
salam kenal pak, tutorialnya bagus sekali. saya ingin bertanya sesudah kita mengeksekusi aplikasi pada saat mengitung luas, kemudian muncul hasilnya. yang saya ingin tanyakan yaitu adakah fungsi di android untuk membersihkan inputan maupun keluaran edittext yang telah di input sebelumnya? fungsinya seperti tombol reset begitu pak. terimakasih sebelumnya. 🙂
keren gan ane jadi mau belajar android nie buat Skripsi
@putiabuabu , mencoba bantu jawab ya, waktu coba buat hello world memang tidak langsung muncul teks tersebut, tapi muncul screen HOME dari Emulator. kalau screen HOME emulator sudah muncul tekan MENU, terus cari deh di MEnu. soal not found DNS Server itu karena Anda tidak online.
mas klo object untuk user interfacenya di android itu ada apa aja ya maaf saya belum terbiasa dengan java dan masih empty bgt tntang android
mas kalau mau menampilkan website di localhost perintahnya apa ya……?
mas saya tertarik dengan tulisan anda…kalo bikin app chat kek ym ato fb yg bisa chat itu bisa menggukan program ini juga?
source codenya kog ngak bisa saya download mas? mohon bantuannya buat dikirm ke email saya yach!
@Pulung, dicoba lagi mas
ko ga bisa d donlot ya mas ???
ada alternatif donlotnya ga ya !!!
Wah mas terimakasih info yang sangat bermanfaat mas, banyak membangun terimakasih.
mas agus, mau nanya.
kenapa ya kalo kita udah running emulatornya, kemudian kita ngedit lagi di eclipse, gak langsung berefek di aplikasi yg kita buat di emulator.
kalo diclose emulatornya, dari eclipse gak bisa dirunning/debug lagi emulatornya (via menu Run As android application)
harus di close eclipsenya, kemudian dihidupkan lagi, baru bisa running.
jadi gak praktis. apakah ada solusinya?
Thanks.
mas lebih baik pakai Eclipse IDE for java developer atau pake Eclipse classic? makasih ya mas tolong di jawab..
kok R.java nya nda jalan ya mas…jadi R.layout nya juga malah eror 🙁
tolong pencerahannya..uda smua dicheck uda bener kok..main.xml nya uda disave..
@altup, R.java nya biasanya ada file xmlnya yang salah. jika file xmlnya sudah benar otomatis R.javanya juga jalan. coba juga di clean projectnya.
@fachmiichsan, kalau saya pilih Eclipse IDE for java developer
mas,,
sya udh berhasil buat aplikasi menghitung luas persegi panjang sprti yang d ajarkan d ats,,
kalau mw d coba d hp android’y lgsg gmn mas cara’y…
mas saya mau tanya bagaimana rumus pengurangan tanggal,bulan,tahun?
tolong bls ya
@ahdadhaja. kalau hanya buat pribadi, copy aja apk yang ada directory bin ke hp. nanti di hp tinggal open file itu (akan langsung install).
kalau mau di upload ke android market harus di sign caranya ada di http://agusharyanto.net/wordpress/?p=355
@firman, coba search digoogle java date subtraction atau java date addition
mas agus, saya harry mhs ilmu komputer mau belajar tentang android juga, masih newbie tentang android, kok sourcodenya tidak bisa download ya..
salam kenal mas hari..
program saya bisa d run di emulator, tp pas di install apk nya di HP ko gabisa ngerun ya mas??
terimakasih sebelumnya..
sore mas,wah,bahasan 1 th lalu tapi br baca 🙂 …..
mau tanya mas,apa memungkinkan bikin aplikasi android, qt masukin input terus outputnya bs dalam bentuk pdf,macam pertanyaan tentang pajak misalnya,qt inputin datanya,terus outputnya bntk laporan pdf gt..,.
makasih mas,salam kenal
dhany