Anda di halaman 1dari 27

BAB III

MEMULAI PEMROGRAMAN MOBILE J2ME


Dalam bab ini akan dibahas mengenai tentang bagaimana memulai
pemograman Java 2 Micro Edition(J2ME) dan pembahasan tentang program
kalkulator aplikasi sederhana dan cara instalasi Java ME dan Netbeans
3.1 Tujuan
Adapun tujuan dari praktikum pemograman mobile Memulai Pemrograman
Mobile J2ME adalah sebagai berikut
!" Membuat M#Dlet sederhana
2" Membuat sebuah project di Net$eans
%" Membuat sebuah M#Dlet menggunakan Net$eans Mobilit& Pack
'" Menjalankan M#Dlet di emulator
(" Mengetahui tipe data dalam bahasa pemograman java
3.2 Tinjauan Pustaka
Integrated Development Environment(IDE) merupakan sebuah lingkungan
pemrograman (programming environment) &ang memiliki )*# builder+ te,t atau code
editor+ compiler dan-atau interpreter dan debugger" Dalam hal ini+ Net$eans Mobilit&
Pack juga memiliki device emulator" .asilitas ini bisa membuat kita melihat program
kita pada device &ang sesungguhn&a"
3.2.1 Definisi Java2 Mi!" E#iti"n$J2ME%
Java2 Micro Edition atau &ang biasa disebut J2ME adalah lingkungan
pengembangan &ang didesain untuk meletakkan perangkat lunak Java pada barang
elektronik beserta perangkat pendukungn&a" Pada J2ME+ jika perangkat lunak
ber/ungsi baik pada sebuah perangkat maka belum tentu juga ber/ungsi baik pada
perangkat &ang lainn&a" J2ME memba0a Java ke dunia in/ormasi+ komunikasi+ dan
perangkat komputasi selain perangkat komputer desktop &ang biasan&a lebih kecil
dibandingkan perangkat komputer desktop" J2ME biasa digunakan pada telepon
selular+ pager+ Personal Digital Assistants (PDA) dan sejenisn&a" J2ME adalah
bagian dari J21E+ karena itu tidak semua librar& &ang ada pada J21E dapat
digunakan pada J2ME" 2etapi J2ME mempun&a beberapa librar& khusus &ang tidak
dimiliki J21E" Arsitektur J2ME dapat dilihat pada gambar %"!
Ga&'a! 3.1 Arsitektur J2ME
2eknologi J2ME juga memiliki beberapa keterbatasan+ terutama jika
diaplikasikan pada ponsel" J2ME sangat tergantung pada perangkat (device) &ang
digunakan+ bisa dari segi merk ponsel+ maupun kemampuan ponsel dan dukungann&a
terhadap teknologi J2ME" Misaln&a+ jika sebuah ponsel tidak memiliki kamera+ maka
jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera" 3eterbatasan
lainn&a adalah pada ukuran aplikasi+ karena memori pada ponsel sangat terbatas"
1ebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada /ile karena
alasan keamanan"
3.2.2 MID(et
M#Dlet adalah aplikasi &ang dibuat menggunakan J2ME dengan pro/il Mobile
Information Device Profil (M#DP)" Aplikasi M#Dlet adalah bagian dari
kelas Javax.microedition.midlet. M#Dlet berupa sebuah kelas abstrak &ang
merupakan sub kelas dari berntuk dasar aplikasi sehingga antara aplikasi J2ME dan
aplikasi management pada perangkat dapat terbentuk"
Paket &ang digunakan pada aplikasi MIDlet adalah Java,"microedition"midlet
&ang memiliki kelas M#Dlet &ang mende/inisikan M#DP dan interaksin&a dengan
perangkat handheld &ang bersangkutan" 3elas ini adalah kelas utama dari sebuah
M#Dlet artin&a semua aplikasi M#Dlet harus merupakan turunan dari kelas ini"
1ehingga turunann&a harus mengimplementasi /ungsi4/ungsi abstrak didalamn&a"
Pengembangan aplikasi M#Dlet setidakn&a membutuhkan ( tahapan antara lain
!" Membuat kode sumber (sorce code) Java pada teks editor (edit pls!
notepad! Microsoft "ord)"
2" 3ompilasi (membuat file.class) dan preveri/ikasi (pemeriksaan)
%" #nning dan test aplikasi"
'" Pemaketan (Packaging) untuk membuat /ile"
(" 2es hasil pemakaian"
$erikut gambar dan pnjelasan siklus hidup M#Dlet dalam pemrograman mobile
J2ME
Ga&'a! 3.2 1iklus 5idup M#Dlet
Pada )ambar %"2 3etika M#Dlet dijalankan maka akan diinisialisasi dengan
kondisi pase dan dijalankan paseApp()+ kondisi berikutn&a adalah /ungsi M#Dlet
dijalankan+ &aitu pada startApp(). Metode tersebut diimplementasikan sebagai
protected dengan maksud agar M#Dlet lain tidak dapat memanggil metode tersebut"
3etika keluar dari M#Dlet+ maka metode destro$App() akan dijalankan
sebelum M#Dlet benar4benar tidak berjalan lagi" Destro$App() akan memanggil
notif$Destro$ed()! dan notif$Destro$ed() akan memberitahu platform untuk
menterminasi M#Dlet dan membersihkan semua sumber da&a &ang mengacu pada
M#Dlet"
Dalam implementasin&a+ M#Dlet memiliki struktur direktori antara lain
sebagai berikut
!" src
$er/ungsi untuk men&impan sorce code untuk M#Dlet dan kelas lain &ang
diperlukan"
2" res
$er/ungsi untuk Men&impan sumber da&a &ang dibutuhkan oleh M#Dlet+
seperti misaln&a gambar icon"
%" lib
$er/ungsi untuk men&impan file JA6 atau 7#P &ang berisi librar$ tambahan
&ang dibutuhkan M#Dlet"
'" bin
$er/ungsi untuk men&impan file JA6+ JAD dan file manifest &ang berisi
muatan komponen M#Dlet"
3.2.1 Java NetBeans
Net$eans adalah suatu tool untuk membuat program dengan menggunakan
bahasa pemrograman Java berbasis gra/is" 8ara membuat program dengan merancang
tampilan menggunakan komponent visal dan proses diletakan pada event driven"
Net$eans men&ediakan sekumpulan perangkat lunak modular &ang disebut modul
&ang dipakai untuk membangun suatu aplikasi" 1ebuah modul adalah merupakan
arsip Java (Java Archive) &ang memuat kelas4kelas Java &ang berinteraksi dengan
Net$eans 9pen AP# " 3emudian rancangan tampilan &ang dibuat menggunakan
Net$ens programn&a secara otomatis akan di4generate menjadi kode"
3.2.2 NetBeans IDE
Net$eans adalah salah satu aplikasi #DE &ang digunakan programmer untuk
menulis+ meng4compile+ mencari kesalahan dan men&ebarkan program" Net$eans
ditulis dalam bahasa Java namun dapat juga mendukung bahasa pemrograman lain"
Net$eans berbasis visual dan event4driven" 1ama seperti #DE lainn&a+ misal
$orland Delphi dan Microso/t :isual 1tudio" Net$eans mencakup compiler+ bilder
dan debgger internal" 5al ini memudahkan proses pasca perancangan program"
Proses deplo$ment atau tes dapat dilakukan dengan Net$eans J21E+ J2EE+ J2ME
pada Net$eans"
Ga&'a! 3.3 #con Net$eans #DE
Netbeans #DE memiliki /itur4/itur tersendiri+ /itur4/itur &ang dita0arkan oleh
Netbeans #DE adalah sebagai berikut
!" 1mart 8ode 8ompletion
Mengusulkan nama variable dari suatu tipe+ melengkapi ke&0ord+ dan
mengusulkan tipe parameter dari method"
2" Menggunakan 8ode )enerator
Dengan menggunakan /itur ini kita dapat meng4generate constructor+ setter
and getter method+ dll"
%" Error 1tripe
.itur &ang menandai baris &ang error dengan meng4higlight merah"
'" $ookmarking
.itur &ang digunakan untuk menandai baris &ang suatu saat hendak kita
modi/ikasi
(" )o 2o 8ommands
.itur &ang digunakan untuk jump ke deklarasi variable+ source code atau /ile
&ang ada pada project &ang sama"
Net$eans seperti juga konsep Java sangat /leksibel" 1epanjang librar& Java
tersedia+ maka dapat dilakukan pemrograman untuk jenis aplikasi apapun" Net$eans
dapat membuat aplikasi dekstop (J21E)" Pemrograman 0eb dan enterprise (J2EE)
juga dapat dilakukan secara visual+ &akni
!" 3oneksi server database melalui JD$8 dapat dilakukan dari Net$eans+ baik
pada saat perancangan maupun deplo$ment program"
2" Pembuatan komponen beans"
%" Pembuatan Java %erver Pages (J1P)+ "eb modle (servicelocator dan servlet)+
"eb services dengan menggunakan "i&ard &ang telah disediakan"
3.3 Pe!"'aan
Percobaan &ang dilakukan untuk memulai pemograman mobile J2M
diantaran&a adalah sebagai berikut
!" #nstallasi Netbean dan JA:A ME 1D3"
2" $uatlah sebuah program sederhana untuk menuliskan ungkapan ;5ello
<orld; dan ;5ello Java 4 3ami dari 3elompok =="
%" $uatlah Program 8alculator 1ederhana untuk melakukan perhitungan pada '
variabel (bebas)"
3.) Pe&'a*asan #an Ana(isa
Disini merupakan pembahasan dan analisa dari J2ME" Adapun pembahasan
dalam praktikum pemrograman mobile ini &ang membahasa mengenai Memulai
Pemrograman Mobile J2ME &aitu sebagai berikut"
3.).1 P!"ses Insta(asi Net'eans #an Java ME
$erikut adalah merupakan tahapan dalam menginstalasi Netbeans dan Java
ME pada computer"
%"'"!"! #nstalasi Netbeans
Aplikasi &ang digunakan dalam praktikum ini adalah Java Development 'it!
Net$eans >"%+ dan Java ME 1D3" 1ebelum instalasi Net$eans lakukan instalasi Java
Development 'it" #nstalasi Net$eans dilakukan dengan doble klik pada ikon
installer Net$eans >"% kemudian klik ne,t"
Ga&'a! 3.) 2ampilan A0al #nstalasi Netbeans
Proses instalasi selanjutn&a dilakukan dengan menandai (icense Agreement
kemudian next"
Ga&'a! 3.+ 2ampilan 3edua #nstalasi Netbeans
Muncul kotak dialog *nit (icense Agreement+ tandai pada pilihan accept
kemudian next lagi"
Ga&'a! 3., 2ampilan Memilih 2empat #nstall Netbeans
Pilih lokasi folder Net$eans dan Java Development 'it seperti pada gambar
%"? kemudian next lagi
"
Ga&'a! 3.- 3emudia 3lik #nstall
Pada )ambar %"> pilih install pada kotak dialog smmar$! sebelumn&a pada
pilihan chec) for pdate dapat dicentang maupun tidak"
Ga&'a! 3.. 2ampilan 1etelah 3lik #nstall
)ambar %"@ proses instalasi telah berjalan+ tunggu hingga proses instalasi
complete lalu pilih finish.
Ga&'a! 3./ 2ampilan #nstalasi Netbeans 1ukses
)ambar %"A merupakan tampilan a0al aplikasi Net$eans &ang sudah terinstal
pada computer
%"'"!"2 #nstalasi Java ME
#nstalasi Java Micro Edition %oft"are Development 'it dilakukan pada proses
berikutn&a setelah proses instalasi Net$eans berhasil" Bangkah4langkahn&a adalah
sebagai berikut
Ga&'a! 3.10 2ampilan A0al #nstalasi Java ME
)ambar %"!C menunjukkan proses instalasi dimana pada proses ini terdapat
pemilihan folder tempat Java ME %D' akan diinstal" Apabila folder telah dipilih
maka proses bisa dilanjutkan dengan memilih *ext maka proses instalasi selesai"
Ga&'a! 3.11 2ampilan #nstalasi Java ME 2elah $erjalan
)ambar %"!! proses instalasi telah berjalan+ tunggu hingga proses instalasi
complete lalu pilih finish.
Ga&'a! 3.12 2ampilan #nstalasi Java ME 1ukses
)ambar %"!2 proses instalasi Java ME 1D3 sudah selesai dan berhasil serta
dapat digunakan dalam menjalankan pemrograman mobile"
3.).2 Mena&1i(kan 2e((" 3"!(#
Pada pembahasan ini akan membahas mengenai kode proram &ang digunakan
untuk menampilkan kalimat D5ello0 <orld+ 3elompok 2CE" %$ntax &ang digunakan
dapat dilihat pada kode program %"!"
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.*;
/**
* author putri
*/
public class !ello"idlet
extends "#Dlet implements javax.microedition.lcdui.Command$istener
%
private void initiali&e'( %

javax.microedition.lcdui.Display.getDisplay'this(.setCurrent'get)hel
loText*ox'((;
+
public void command,ction'javax.microedition.lcdui.Command
command, javax.microedition.lcdui.Displayable displayable( %
i- 'displayable .. helloText*ox( %
i- 'command .. exitCommand( %

javax.microedition.lcdui.Display.getDisplay'this(.setCurrent'null(;
destroy,pp'true(;
noti-yDestroyed'(;
+
+
+
private javax.microedition.lcdui.Text*ox get)helloText*ox'( %
i- 'helloText*ox .. null( %
helloText*ox . ne/
javax.microedition.lcdui.Text*ox'null, 0!ello 1orld, 2elompo3 450,
645, 5x5(;
helloText*ox.addCommand'get)exitCommand'((;
helloText*ox.setCommand$istener'this(;
+
return helloText*ox;
+
private javax.microedition.lcdui.Command get)exitCommand'( %
i- 'exitCommand .. null( %
exitCommand . ne/
javax.microedition.lcdui.Command'07xit0,
javax.microedition.lcdui.Command.78#T,
6(;
+
return exitCommand;
+
javax.microedition.lcdui.Text*ox helloText*ox;
javax.microedition.lcdui.Command exitCommand;
public void start,pp'( %
initiali&e'(;
+
public void pause,pp'( %
+
public void destroy,pp'boolean unconditional( %
+
/**
*
* param c
4"#e P!"5!a& 3.1 1&nta, 5ello <orld
3ode program %"! adalah merupakan s$ntax &ang digunakan untuk
menampilkan kalimat 5ello <orld +3elompok 2C pada emulator &ang terdapat pada
netbeans" 1etelah s$ntax tersebut dijalankann maka akan muncul tampilan seperti
gambar %"!% Fang menampilkan kalimat D5ello <orld +3elompok 2CE"
Ga&'a! 3.13 2ampilan 5ello Java G 3ami 3elompok 2C
)ambar %"!% adalah merupakan tampilan &ang dihasilkan setelah kode
program %"! atau s$ntax &ang tertera disana apabila dijalankan"
3.).3 A1(ikasi 4a(ku(at"! #en5an ) 6a!ia'(e
$erikut ini adalah merukan pembahasan &ang akan membahas mengenai kode
proram &ang digunakan untuk menampilkan aplikasi kalkulator dengan ' variabel
&aitu Dtambah+ kurang+ bagi dan kaliE" %$ntax &ang digunakan dapat dilihat pada kode
program %"%"
pac3age modul6;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Calculator extends "#Dlet implements
Command$istener%
Display display;
9orm -rm"ain;
,lert d,lert;

//Choice:roup cg;perator;
Text9ield cg;perator;
Text9ield ;utput;
<tring oper;
Text9ield nilai6; short a;
Text9ield nilai4; int b;
Text9ield nilai=; long c;
Text9ield nilai>; -loat d;
Command exitCommand . ne/ Command '07xit0,
Command.78#T,6(;
Command hitungCommand . ne/ Command '0!itung0,
Command.;2,6(;

public void create;utputDialog'(%
<tring output.00;
a. <hort.parse<hort'nilai6.get<tring'((;
b. #nteger.parse#nt'nilai4.get<tring'((;
c. $ong.parse$ong'nilai=.get<tring'((;
d. 9loat.parse9loat'nilai>.get<tring'((;
oper . cg;perator.get<tring'(;
i-'0?0.e@uals'cg;perator.get<tring'(((%
output.00?'a?b?c?d(;
+else i-'0A0.e@uals'cg;perator.get<tring'(((%
output.00?'aAbAcAd(;
+else i-'0x0.e@uals'cg;perator.get<tring'(((%
output.00?'a*b*c*d(;
+else i-'0B0.e@uals'cg;perator.get<tring'(((%
output.00?'a/b/c/d(;
+
//<tring hasilC . 0!asil CerhitunganB 0?output;
;utput.set<tring'00?output(;
+

public Calculator'(%
-rm"ain.ne/ 9orm'02al3ulator <ederhana0(;
-rm"ain.addCommand'exitCommand(;
-rm"ain.addCommand'hitungCommand(;
-rm"ain.setCommand$istener'this(;

//cg;perator . ne/
Choice:roup'0;perasi0,Choice:roup.C;CDC,ne/ <tringEF
%0?0,0A0,0x0,0B0+,null(;
nilai6 . ne/ Text9ield'0Gilai 60,050,H,Text9ield.GD"7I#C(;
-rm"ain.append'nilai6(;
nilai4 . ne/ Text9ield'0Gilai 40,050,H,Text9ield.GD"7I#C(;
-rm"ain.append'nilai4(;
nilai= . ne/ Text9ield'0Gilai =0,050,H,Text9ield.GD"7I#C(;
-rm"ain.append'nilai=(;
nilai> . ne/ Text9ield'0Gilai >0,050,H,Text9ield.D7C#",$(;
-rm"ain.append'nilai>(;
cg;perator . ne/ Text9ield'0;perator ?/ A/ */ B0, 0?0,
6,Text9ield.C$,#G(;
-rm"ain.append'cg;perator(;
;utput . ne/ Text9ield'0;utput 0, 050, H,Text9ield.C$,#G(;
-rm"ain.append';utput(;
+
public void start,pp'( %
i- 'display..null(%
display . Display.getDisplay'this(;
+
display.setCurrent'-rm"ain(;
+
public void pause,pp'(%
+
public void destroy,pp'boolean unconditional( %
+
public void command,ction'Command c, Displayable d( %
i- 'c .. exitCommand(%
destroy,pp'true(;
noti-yDestroyed'(; // 7xit
+else i- 'c .. hitungCommand(%
create;utputDialog'(;
+
+

+
4"#e P!"5!a& 3.2 1&nta, 3alkulator 1ederhana
Pada kode program %"2 membahas mengenai s$ntax &ang digunakan dalam
membuat aplikasi kalkulator+ &ang dimana pada s$ntax tersebut terdapat pilihan
menu hitung dan dalam menginputkan operator secara manual"
Ga&'a! 3.1) 2ampilan A0al Program 3alkulator
)ambar %"!' merupakan tampilan a0al dari aplikasi &ang setelah dijalankan"
Jadi pada tampilan diatas user disuruh untuk menginputkan nilai pada kolom textbox
&ang telah tersedia pada emulator tesebut
Ga&'a! 3.1+ 2ampilan 1etelah Menginput Nilai dan Memilih 9perator
)ambar %"!( adalah merupakan tampilan setelah user menginputkan nilai ke
dalam te,bo, &ang telah tersedia disana" Pada gambar %",, user menginputkan nilai
nilai ' pada textbox !+ nilai % pada textbox 2+ nilai ( pada te,tbo, %+ nilai C"( pada
te,bo, ' serta operator H-4--I &ang dipilih dan sekarang user tinggal melanjutkan
eksekusi"
Ga&'a! 3.1, 2ampilan Menu 5itung
Pada tampilan atau gambar %"!? user han&a diberikan pilihan hitung+ sebagai
langkah selanjutn&a+ maka pada tampilan ini aplikasi akan secara otomatis
menghitung inputan pada textbox ! +textbox 2+ textbox %+ textbox +! serta operator
&ang telah digunakan"
Ga&'a! 3.1- 2ampilan 5asil Penjumlahan dari Aplikasi tersebut
Pada tampilan gambar %"!> terlihat bah0a hasil penjumlahan pada textbox !+
texbox 2+ textbox %+ textbox '+ operator (
H)
&ang di gunakan adalah !2"( ini
didapatkan dari s$ntax &ang memerintahkan apabila maka operator (H) aplikasi akan
menambahkan nilai inputan &ang pertama dengan nilai inputan &ang lainn&a"
3.+ 7i&1u(an
$erdasarkan pembahasan dan analisa didapatkan beberapa kesimpulan
sebagai berikut
!" Pemrograman Java Mobile pada Net$ean memerlukan tambahan dari instalasi
JA:A ME 1D3 sebagai platform mobile J2ME"
2" *et,eans Mobilit$ Pac) dapat digunakan untuk menulis+ menguji+ dan
debgging aplikasi untuk perangkat bergerak &ang menggunakan teknologi
ber4platform Java Micro Edition (platform Java ME)" Java mempun&ai !!
macam tipe data &ang terdiri atas tipe data sederhana dan referensi-komposit"
2ipe sederhana meliputi b$te! short! int! long! char! float! doble dan boolean
&ang terbagi menjadi % tipe" 1edangkan tipe data re/erensi meliputi
class!arra$ dan interface"
%" Proses perhitungan seperti penjumlahan+ pengurangan+ pembagian+ dan
pengalian dapat dilakukan pada variabel dengan tipe data #nteger dan
.loating4Point"

Anda mungkin juga menyukai