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