TUGAS MANDIRI
MAKALAH
Pemrograman Mobile Praktek
Oleh:
CHARLES HARIANTO BANCIN
120310033
MATA KULIAH
:
Pemrograman Mobile Praktek
DOSEN
: Tukino, S.Kom., M.SI..
PROGRAM STUDI SISTEM INFORMASI
UNIVERSITAS PUTERA BATAM
KATA PENGANTAR
Puji dan syukur kami sampaikan kepada Tuhan Yang Maha Esa yang telah
melimpahkan segala rahmat dan karuniaNya, sehingga penulis dapat menyelesaikan
laporan tugas mandiri mata kuliah Pemrograman Mobile Praktek. Penulis menyadari
bahwa laporan tugas mandiri ini masih jauh dari sempurna. Karena itu, kritik dan
saran akan senantiasa penulis terima dengan senang hati.
Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas mandiri ini
takkan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai pihak. Untuk
itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terima kasih
kepada:
1. Bapak
Tukino, S.Kom., M.SI..
selaku dosen mata kuliah PemrogramanMobile Praktek
2. Dosen dan Staff Universitas Putera Batam.
3. Teman teman saya yang telah medukung saya
4. Keluarga saya yang selalu mendukung saya
Semoga Tuhan Yang Maha Esa membalas kebaikan dan selalu mencurahkan hidayah
serta taufikNya, Amin.
Batam, 05 januari 2015
DAFTAR ISI
KATA PENGANTAR ... 2
DAFTAR ISI ... 3
BAB I PENDAHULUAN ... 4
BAB I Latar Belakang Masalah ... 4
BAB II LANDASAN TEORI ... 8
BAB III PEMBAHASAN ... 11
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan industri komunikasi tanpa kabel secara global telah tumbuh
begitu pesat sejak beberapa tahun belakangan ini sehingga menyebabkan komunikasi
tanpa kabel menjadi salah satu teknologi yang paling popular dan cepat berkembang
di seluruh dunia. Teknologi JavaTM Micro Editon (J2ME) merupakan standar
aplikasi bagi peralatan wireless seperti telepon seluler dan PDA, teknologi ini
membuat suatu ponsel dapat diisi program aplikasi dan permainan yang ada. Jika
penggantian kover (casing) dapat mengubah fisik ponsel, pengubahan program
aplikasi / permainan dapat mengubah performa ponsel tersebut. Dengan adanya
Teknologi JavaTM pemakai dapat menghapus program aplikasi / game lama
dan menambahkan suatu program aplikasi / game baru. Dengan cara seperti itu,
pemakai menjadi tidak bosan dengan standar fasilitas yang ada dan dapat pula
mengembangkan kemampuan ponsel miliknya. Teknologi J2ME ini mendukung
Mobile Information Devices Profile (MIDP), dimana profile ini dibagi menjadi 2
versi yaitu : MIDP 1.0 yang mendukung fitur Mobile Media API yang berfungsi
untuk audio dan video pada ponsel. Kemudian muncul versi baru yaitu MIDP 2.0
yang mendukung fitur Audio Building BlockAPIs untuk memainkan Audio Tones,
gaming API, sesuai untuk membuat komponen yang sederhana pada form, sesuai
untuk integer array yang sederhana dalam memanipulasi gambar, secure networking
dan multimedia.2
Seiring dengan semakin berkembangnya teknologi, banyak orang yang
telepon genggam. Namun dalam pembuatan sistem ini organizer disimpan pada
server sehingga pengguna dapat menyimpan data yang lebih banyak. Selain itu,
organizer ini sangat bermanfaat bagi pengguna yang memiliki telepon genggam yang
support java tetapi belum memiliki organizer. Sistem ini berbasis J2ME (Java 2
Micro Edition) yaitu bahasa pemrograman yang digunakan untuk menjalankan dan
mengembangkan aplikasi-aplikasi Java pada peralatan semacam telepon genggam
secara wireless.
Sistem organizer dapat diakses dengan menggunakan telepon genggam
berbasis Java dan GPRS. Sehingga kualitas aksesnya tergantung dari provider yang
digunakan serta waktu pengaksesan.
Sistem organizer ini dapat digunakan untuk menyimpan atau mengakses data
dari dan ke database server. Pembuatan sistem ini diawali dengan pembuatan
program pada PC (Personal Computer) menggunakan software j2mewtk dan PHP
script, kemudian integrasi dengan memanfaatkan emulator pada j2mewtk.Lalupada
server dilakukan pembuatan database dengan menggunakan MySQL yangberisi
data-data user. Setelah itu dilakukan download program J2ME menuju telepon genggam
dan upload data PHP script pada server.
1.2. Identifikasi Masalah
Pada pembuatan sistem ini digunakan database MySQL sebagai penyimpan
data-data dari organizer tiap pengguna, PHP sebagai bahasa script di sisi server untuk
koneksi database dengan pemrograman J2ME, dan dibuat pada sistem operasi
1.3. Maksud dan Tujuan
Maksud dari pembuatan laporan ini adalah untuk membangun system
organizer pribadi pada telepon genggam berbasis J2ME
Adapun tujuan dari pembuatan sistem organizer pribadi ini adalah :
1. Untuk menyimpan data lebih banyak,aman dan praktis.
1.4 Batasan Masalah
1. Dengan menggunakan program J2ME pada telepon genggam untuk
mengaksesorganizer pribadi.
1.5. Metodologi Penelitian
Metodologi penelitian merupakan tahapan-tahapan yang dilalui oleh peneliti
mulai dari perumusan masalah hingga pada kesimpulan. Metodologi penelitian ini
digunakan sebagai pedoman agar hasil yang dicapai sesuai dengan yang telah
ditentukan sebelumnya.Metode penelitian yang digunakan dalam penelitian ini antara
lain :
Studi Literatur
Dalam pembuatan proyek akhir ini harus terlebih dahulu mempelajari tentang bahasa
pemrograman J2ME, MySQL, dan PHP. Untuk pembuatan tampilan, database, serta
koneksi telepon genggam dengan server.
Perencanaan sistem
Prinsip kerja sistem ini adalah pengguna dapat mengakses organizer atau pengingat
pesan dengan masuk menu-menu utama pada telepon genggam. Jika memilih
organizer, maka pengguna harus memasukkan username dan password agar
terhubung dengan server melalui jaringan internet hingga dapat masuk ke menu-menu
ini, setiap pengguna memiliki batas pemakaian untuk setiap organizer-nya. Sehingga
jika seorang pengguna mengisi organizer-5 nya melebihi kapasitas, maka pengguna
tersebut akan mendapat pesan bahwa telah melebihi kapasitas yang telah disediakan.
1.Pembuatan Tampilan Pada Telepon Genggam
Terlebih dahulu dibuat tampilan pada telepon genggam berupa menu-menu untuk
mengakses organizer melalui jaringan internet, atau mengakses menu pengingat
pesan. Pembuatan tampilan ini, menggunakan bahasa pemrograman J2ME. Program
ini akan dibuat dengan melihat emulator, dan di-download ke telepon genggam
setelah didapat hasil sesuai yang diharapkan.
2.Pembuatan Database
Pembuatan database untuk menu-menu organizer, yang terdiri dari jadwal
kegiatan sehari-hari, catatan penting, dan diary. Pada pembuatan database ini
digunakan program database MySQL, yang nantinya database ini dapat ter-update
secara otomatis jika pengguna menambah atau mengurangi data melalui telepon
genggam.
3 Pengaturan koneksi
Setelah dibuat tampilan pada telepon genggam, dan pembuatan database pada
server, selanjutnya dibuat program untuk koneksi antara telepon genggam dengan
server dengan menggunakan bahasa pemrograman J2ME dan PHP.6
2. Analisa dan Kesimpulan
Dari hasil pengujian sitem secara keseluruhan dilakukan analisa dan memberikan
BAB II
LANDASAN TEORI
2.1 JAVA
Java merupakan bahasa pemrograman yang disusun oleh James Gosling
yangdibantu oleh rekan-rekannya di suatu perusahaan perangkat lunak yang bernama
Sun Microsystems, pada tahun 1991. Bahasa pemrograman ini mula-mula
diinisialisasi dengan nama “Oak”, namun pada tahun 1995 diganti namanya menjadi “Java”.
2.1.1 Pengertian Java
Menurut definisi Sun Microsystem, di dalam buku M. Shalahuddin dan
RosaA.S. (2010 : 1) Java adalah nama sekumpulan teknologi untuk membuat dan
menjalankan perangkat lunak pada komputer yang berdiri sendiri (standalone)
ataupun pada lingkungan jaringan. Java berdiri di atas sebuah mesin penterjemah
(interpreter) yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan
membaca kode bit (bytecode)dalam file .class dari suatu program sebagai representasi
langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut
sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai
system operasi, asalkan pada system operasi tersebut terdapat JVM. Alasan utama
pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat
diletakkan di berbagai macam perangkat elektronik, sehingga Java harus bersifat
tidak bergantung pada platform (platform independent). Itulah yang menyebabkan
dalam dunia pemrograman Java dikenal adanya istilah „write once, run everywhere‟,
yang berarti kode program hanya ditulis sekali, namun dapat 9 dijalankan di bawah
kumpulan pustaka (platform) manapun, tanpa harus melakukan perubahan kode
Java adalah suatu teknologi di dunia software komputer, yang merupakan
suatubahasa pemrograman, dan sekaligus suatu platform. Sebagai bahasa
pemrograman,Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah
dipelajari,terutama bagi programmer yang telah mengenal C/C++. Java merupakan
bahasapemrograman berorientasi objek yang merupakan paradigma pemrograman
masadepan. Sebagai bahasa pemrograman Java dirancang menjadi handal dan aman.
Javajuga dirancang agar dapat dijalankan di semua platform, dan juga dirancang
untukmenghasilkan aplikasi-aplikasi dengan performansi yang terbaik, seperti
aplikasidatabase Oracle 8i/9i yang core-nya dibangun menggunakan bahasa
pemrogramanJava. Sedangkan Java bersifat neutral architecture, karena Java
Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk
menghasilkankode yang netral terhadap semua arsitektur perangkat keras. Sebagai
sebuah platform, Java terdiri atas dua bagian utama, yaitu:
Java Virtual Machine (JVM)
Java Application Programming Interface (Java API)
Sun membagi arsitektur Java membagi tiga bagian, yaitu:
1. J2EE (Java 2 Enterprise Edition)
2. J2SE (Java 2 Second Edition)
2.1.2.Arsitektur Java
Secara arsitektur, Java tidak berubah sedikitpun sejak awal mula bahasatersebut
dirilis. Compiler Java (yang disebut dengan javac atau Java Compiler) akan
mentransformasikan kode-kode dalam bahasa Java ke dalam suatu kode bit. Dimana
bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat
dieksekusi melalui sebuah mesin komputer abstrak, yang disebut dengan JVM (Java
Virtual Machine). JVM juga sering dinamakan sebagai interpreter, karena sifatnya
yang selalu menerjemahkan kode-kode yang tersimpan dalam kode bit dengan cara
baris demi baris. Untuk menjalankan program Java, maka file dengan ekstensi .java
harus dikompilasi menjadi file kode bit. Dimana untuk menjalankan kode bit tersebut
dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pemakai untuk
menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi.
BAB III PEMBAHASAN
3.1 Java 2 Micro Edition (J2ME)
3.1.1 Pengertian J2ME
Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan
pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang
elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak
berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada
perangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan
perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil
dibandingkan perangkat komputer desktop.
J2ME biasa digunakan pada telepon selular, pager, Personal Digital
Assistants (PDA) dan sejenisnya. J2ME adalah bagian dari J2SE, karena itu tidak
semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME
mempunya beberapa library khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat
Teknologi J2ME juga memiliki beberapa keterbatasan, terutama
jikadiaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang
digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel dan dukungannya
terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera, maka
jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya
adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas. Sebagian
besar ponsel tidak mengijinkan aplikasi J2ME menulis pada file karena alas an
keamanan. Configuration merupakan Java library minimum dan kapabilitas yang
dipunya oleh para pengembang J2ME, yang maksudnya sebuah mobile device dengan
kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration hanyalah
mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar
device. Misalnya sebuah lampu sepeda dirancang sedemikian sehingga dapat
digunakan oleh berjenis-jenis sepeda. Dalam J2ME telah didefinisikan dua buah
konfigurasi yaitu CLDC (Connected Limites Device 11 Configuration) untuk
perangkat kecil dan CDC (Connected Device Configuration) untuk perangkat yang
lebih besar. Lingkup CLDC dan CDC dapat dilihat pada
Profile berbeda dengan configuration, profile membahas sesuatu yangspesifik
untuk sebuah perangkat. Sebagai contoh misalnya, sebuah sepeda dengan merk
tertentu, tentunya mempunyai ciri spesifik dengan sepeda lain.
Dalam gambar J2ME terdapat dua buah profile yaitu MIDP danFoundation
Profile. Keterhubungan antara configuration dan profile yang ada pada J2ME beserta
jenis mesin virtualnya dapat dilihat pada gambar berikut :
CLDC atau Connected Limited Device Configuration adalah perangkat dasar
dari J2ME, spesifikasi dasar yang berupa library dan API yang diimplemetasikan
pada J2ME, seperti yang digunakan pada telepon selular, pager dan PDA. Perangkat
tersebut dibatasi dengan keterbatasan memori, sumber daya dan kemampuan
memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package,
kelas dan sebagian fungsi Java Virtual Machine yang dikurangi agar dapat
diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut, JVM
yang digunakan disebut KVM (Kilobyte Virtual Machine). Posisi CLDC pada
arsitektur J2ME dapat dilihat pada gambar di atas.
2.1.3 Connected Device Configuration (CDC)
CDC atau Connected Device Configuration adalah spesifikasi dari konfigurasi
J2ME. CDC merupakan komunitas proses pada Java yang mempunyai standardisasi.
CDC terdiri dari virtual machine dan kumpulan librarydasar untuk dipergunakan pada
profile industri. Implementasi CDC pada J2ME13 adalah source code yang
menyediakan sambungan dengan macam-macam platform.
3.2 PROFIL
Profil merupakan bagian perluasan dari konfigurasi, yaitu sekumpulan kelas
yang terdapat pada konfigurasi, terdapat juga kelas-kelas spesifik yang didefinisikan
lagi di dalam profil. Dengan kata lain, profil akan membantu secarafungsional yaitu
dengan menyediakan kelas-kelas yang tidak terdapat di level konfigurasi. Berikut ini
adalah profil J2ME yang tersedia saat ini yaitu :
1) MIDP (Mobile Information Device Profile)
MIDP adalah profil yang disediakan oleh Sun Microsystems. MIDP
menyediakan librari-librari Java untuk implementasi dasar antarmuka (GUI),
implementasi jaringan (networking), database, dan timer. MIDP dirancang
khususnya untuk wireless phone dan pager. 14
2) PDAP (Personal Digital Assistant Profile)
Yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi
CLDC dan digunakan khusus untuk menambahkan kemampuan-kemampuan
3) Foundation Profile
Yaitu profil yang digunakan untuk konfigurasi CDC. Profil ini menambahkan
beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga
sebagai pondasi untuk membentuk profil baru lainnya.
4) Personal Profile
Yaitu profil yang mendefinisikan ulang PersonalJava sebagai profil yang
dapat digunakan sebagai profil dalam J2ME. Profil ini merupakan hasil
perluasan dari Foundation Profile.
5) RMI Profile
Yaitu profil yang menambahkan dukungan RMI (Remote Method Invocation)
ke dalam konfigurasi CDC.
3.2.1 Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profil
J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup
aplikasi, antarmuka, jaringan dan penyimpanan persisten. Pada saat ini terdapat
MIDP 1.0 dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibandingMIDP 1.0 adalah API
untuk multimedia. Pada MIDP 2,0 terdapat dukungan memainkan tone, tone
sequence dan file WAV walaupun tanpa adanya Mobile 15 Media API (MMAPI).
Posisi MIDP pada arsitektur J2ME dapat dilihat pada gambar di atas.
MIDP User Interface API memiliki API level tinggi dan level rendah. API
level rendah berbasiskan penggunaan dari kelas abstrak Canvas, sedangkan kelas API
level tinggi antara lain Alert, Form, List dan TextBox yang merupakan eksistensi dari
kelas abstrak Screen. API level rendah lebih memberikan kemudahan kepada
pengembang untuk memodifikasi sesuatu dengan kehendaknya, sedangkan API level
tinggi biasanya hanya memberikan pengaksesan yang terbatas. Arsitektur antarmuka
MIDP dapat dilihat pada gambar di bawah ini:
3.3 MIDLET
MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang
kelas dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2MEdan aplikasi
manajemen pada perangkat dapat terbentuk.
3.3.1 Daur Hidup Midlet
MIDlet terdiri dari beberapa metode yang harus ada, yaitu
construktor()protected void startApp() throws MIDletStateChangeException,
protected void pauseApp(), protectedvoid destroyApp(boolean unconditional) throws
MIDletStateChangeException. Alur hidup MIDlet dapat dilihat pada gambar 2.6.
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan
dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan,yaitu
pada startApp(). Metode tersebut diimplementasikan sebagai protected dengan
maksud agar MIDlet lain tidak dapat memanggil metode tersebut.Ketika keluar dari
MIDlet, maka metode destroyApp() akan dijalankansebelum MIDlet benar-benar
tidak berjalan lagi. DestroyApp() akan memanggil notifyDestroyed(), dan
notifyDestroyed() akan memberitahu platform untuk menterminasi MIDlet dan
membersihkan semua sumber daya yang mengacu padaMIDlet.Dalam
implementasinya, MIDlet memiliki struktur direktori antara lain sebagai berikut :
2) res
Menyimpan sumber daya yang dibutuhkan oleh MIDlet, sepertimisalnya
gambar icon.
3) lib
menyimpan file JAR atau ZIP yang berisi library tambahan yangdibutuhkan
MIDlet.
Menuurt definisinyan kelas command adalah sebuah kontruksi yang
membungkus semua hal-hal atau informasi yang berkaitan dengan aksi .Perilaku
tersebut tidak dibungkus di dalam objek command ,melainkan harus didefinisikan
secara eksplisit melalui method commandAction() ,yaiutu method yang harus
didefinisikan pada saat kita mengimplementasikan interface commandlistener .Ini
artinya objek command hanya berisi informasi tentang perintah ,bukan sebuah aksi
actual yang terjadi pada objek command diaktifasi .Aksi-aksi yang telah didefinisikan
pada interface commandlistener kemudian diasosiasikan dengan layar aktif sehingga
objek-objek command yang terdapat pada layar tersebut dapatdiaktivasi sesuai
dengan kebutuhan .
Command adalah sebuah obyek yang digunakan untuk merespon user pada sebuah
aplikasi. Sering diasosiasikan sebagai softkey, tombol ataupun area pada touchscreen.
Pada penggunaanya, Command didefinisikan dengan mengimplementasikan
CommandListener. Command(String label, int commandType, int priority).
Command memiliki 3 atribut, yaitu :
label yaitu menampilkan nama pada tombol Command
type yaitu menentukan fungsi dari Command. Jenis type Command antara lain
BACK, EXIT, OK, HELP, CANCEL, SCREEN, ITEM, dan STOP.
priority yaitu menentukan urutan prioritas dalam menampilkan Command
pada layar
3.4.2 CommandListener
berfungsi untuk menangani jika user memilih Command tertentu sedangkan
ItemListener berfungsi untuk menangani jika user mengubah nilai sepert misalnya
mengubah pilihan pada ChoiceGroup ,sedangkan ItemListener berfungsi untuk
menangani jika user mengubah nilai.
3.5. User Interface
GUI ( Graphical User Interface ) merupakan sebutan untuk antarmuka
penguna, kebutuhan user interface untuk aplikasi yang berada dalam peralatan –
peralatan kecil seperti telepon selular ,PDA, maupun pager tentu akan berbeda
kebutuhan dengan kita pada saat membuat aplikasi desktop.
dalam Pllaform J2ME tersebut dikembangkan oleh sebuah komunitas yang
dinamakan JCP ( Java Community Process )
3.5.1 Struktur GUI Dalam MIDP
Model High – Level API
Model ini untuk mendukung adanya pengembangan aplikasi yang dapat bersifat
portebel atau dapat dijalankan diatas alat yang berbeda. Model ini menyediakan kelas
-kelas standart untuk keperluan UI seperti komponen form, textbox, list, alert.
Model Low – Level API
Model ini memberikan akse penuh kepada programmer untuk melakukan control
terhadap semua tampilan layar, termasuk penggambaran dalam pixel dan pembuatan
bentuk geometri.
Arsitektur LCDUI
1.Kelas Display
sebagai penyedia akses ke layar fisik yang memiliki tingkat akses private
2.Kelas Displayable
Merupakan kelas moyang dari kelas scream dan canvas. kelas scream dan canvas
yaitu suatu kelas yang menyediakan pondasi untuk user interface yang terdapat
didalam aplikasi MIDP.
3.5.2 Kelas – Kelas Dalam High – Level API
Kelas Screen
Merupakan kelas abstrak yang diturunkan langsung dari kelas displayable dan
mempresentasikan komponen – komponen high – level untuk membuat user interface
di dalam aplikasi MIDP.
Kelas Alert
Kelas turunan dari kelas screen yang mempresentasikan layar informasi pada saat
kondisi – kondisi tertentu selama aplikasi MIDP dieksekusi.
Kelas List
Kelas turunan dari kelas screen yang menampilkan daftar item pilihan yakni kita
dapat melakukan scroll terhadap item – it.em tersebut. Namjun perlu dipahami,
bahwa kelas scroll tidak akan menimbulkan event aplikasi. Artinya pada saat kita
melakuakn scroll terhadap item – item tertentu, maka kita dianggap belum memilih
item tersebut.
Kelas TextBox
Kelas turunan dari kelas screen yang mempresentasikan sebuah kotak yang dapat
digunakan untuk mengisikan tesk.
Kelas Form
Kelas form merupakan kelas yang paling serba guna, pasalnya kita dapat
menempatkan beraneka ragam control ( turunan dari kelas item ) kedalam objek
form, seperti objek TextField, DateField, StringItem, ImageItem dll.
Kelas Item
Kelas – kelas turunan dari kelas item merupakan komponen – komponen visual yang
dapat ditambahkan kedalam form. Kelas Item itu sendiri berupa kelas abstrak
Berikut ini kerlas turunan dari kelas item antara lain :
StringItem dan ImageItamMasing – masing untuk mempresentasikan objek teks dan
gambar yang dapat ditempatkan dihalaman form
1. Textfield dan DateField
Digunakan untuk melakukan input teks didalam sebuah form.
2. ChoiceGroup
Mirip dengan List, kedua kelas tersebut sama – sama mengimplementasikan interface choice yamg memiliki banyak method esensail untuk proses pemilihan item dari
suatu daftar tertentu.
3. Gauge
Adalah sebuah item yang merupakan representasi grafik untuk menampilkan sebuah
progress bar dengan nilai berupa integer.
3.5.3Kelas – Kelas Dalam Low – Level API
Kelas Canvas
Adalah kelas dasar ( base bar ) untuk semua kelas yang membutuhkan control tingkat
rendah ( low level ) dan proses penggambaran. Canvas adalah sebuah kelas abstrak
sehingga perlu untuk diperluas ,ini artinya kelas – kelas turunan canvas harus
mengimplementasikan method paint()
Kelas Graphic
Kelas yang menyediakan method – method untuk penggambaran actual di dalam
objek canvas. Objek dalam kelas graphic biasanya dilewatkan pada method paint()
3.6BEKERJA DENGAN TICKER
Untuk melengkapi pembuatan user interface didalam layar ponsel, terkadang
kita ingin menampilkan sebuah teks yang berjalan secara berulang-ulang diatas layar.
Teks tersebut disebut dengan ticker dan biasa digunakan untuk menampilkan
informasi-informasi penting. Ini sering kita jumpai pada layar televise yang sering
memunculkan informasi singkat atau mini-headline yang biasanya ditampilkan pada
bagian bawah layar dan bergerak dari arah kanan ke kiri. Dalam MIDP, ticker dapat
dibuat dengan menggunakan kelas Ticker yang tersimpan dalam paket
java.xmicroedition.lcdui.
3.6.1 Lebih jauh tentang Ticker
Perlu kita ketahui bahwa objek Ticker hanya terkait dengan layar, bukan
dengan aplikasi. Ini artinya apabila kita memiliki sebuah aplikasi yang terdiri dari
beberapa layar, kita dapat mengeset Ticker pada layar tertentu saja. Sedamgkan layar
yang lainnya tidak memiliki ticker. Anda jangan beranggapan bahwa apabila
salahsatu layar dalam aplikasi kita menjadi ticker, maka layar yang lainpun secara
otomatis menampilkan ticker tersebut
3.6.2 Model Ticker yang dapat di Share
Sebuah program dapat digunakan bersama-samaoleh dua atau lebih layar yang
terdapat dalam satu aplikasi. Pada aplikasi sebelumnya kita memiliki dua buah layar
yaitu formmenu dan forminfo. Pesan atau informasi yang digunakan sebagai ticker
isinya dapat diubah pada saat runtime. Ini artinya ticker bersifat dinamis. Terkadang
hal ini sangat dibutuhkan dalam aplikasi. Misalnya kita ingin menampilkan ticker
yang isisnya diperoleh dari item pilihan yang disorot atau untuk menampilkan dua
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
//library yang digunakan
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Calculator extends MIDlet implements CommandListener{
//pendeklarasian object
Display display; // deklarasi display
Form mainForm; // deklarasi form
int N1, N2, NH;// deklarasi variabel
TextField bil1, bil2, result; //deklarasi textfiled
//membuat tombol tambah, kurang, bagi, kali dan keluar
bil1 = new TextField("Bilangan 1", "", 64, TextField.NUMERIC);
bil2 = new TextField("Bilangan 2", "", 64, TextField.NUMERIC);
result = new TextField("Hasil", "", 64, TextField.UNEDITABLE);
mainForm.addCommand(keluar); // meletakkan tombol keluar
display.setCurrent(mainForm);// menampilkan form
}
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
//jika tombol di klik
if(c==keluar){
result.setString(String.valueOf(NH));//Menampilkan hasil dari variabel hasil
ke txtHasil
}
}
}
Program 1
/*
* To change this template, choose Tools | Templates
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author bancin
*/
public class datamahasiswa extends MIDlet implements CommandListener {
Display layar;
Form form;
Command cmdkeluar,cmdok;
TextField tfnpm,tfnama,tfuas,tfuts,tfnh,tftm,tfts,tfrt2,tfgrade;
Ticker tick;
public datamahasiswa(){
form= new Form("data nilai mahasiswa");
tfnpm= new TextField("NPM","",50,1);
tfnama= new TextField("NAMA","",50,1);
tfuas= new TextField("UAS","",50,1);
tfuts= new TextField("UTS","",50,1);
tfnh= new TextField("NILAI KEHADIRAN","",50,1);
tfrt2= new TextField("NILAI RATA RATA","",50,1);
tfgrade= new TextField("NILAI GRADE","",50,1);
cmdkeluar = new Command("KELUAR",Command.SCREEN,0);
cmdok = new Command("SELESAI",Command.SCREEN,1);
tick = new Ticker("Data Nilai Mahasiswa");
form.append(tfnpm);
form.append(tfnama);
form.append(tfuas);
form.append(tfuts);
form.append(tfnh);
form.append(tftm);
form.append(tfts);
form.append(tfrt2);
form.append(tfgrade);
form.addCommand(cmdok);
form.addCommand(cmdkeluar);
form.setTicker(tick);
}
public void startApp() {
layar = Display.getDisplay(this);
layar.setCurrent(form);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) {
if (c==cmdkeluar){
notifyDestroyed();//exit.keluar
} else if (c==cmdok) {
double nh,uas,uts,tm,ts,rt2,nama,npm,grade=0;
nh = Integer.parseInt(tfnh.getString());
uts =Integer.parseInt(tfuts.getString());
tm = Integer.parseInt(tftm.getString());
ts = Integer.parseInt(tfts.getString());
uas = Integer.parseInt(tfuas.getString());
rt2 = (0.1*nh)+(0.3*uts)+(0.35*uas)+(0.1*ts)+(0.15*tm);
tfrt2.setString(String.valueOf(rt2));
if (rt2>=80 ){
grade = 'A';
} else if (rt2>=70 && rt2<80){
grade ='B';
} else if (rt2>=50 && rt2<60){
grade = 'D';
} else
{
grade = 'E';
}
tfgrade.setString(String.valueOf(grade));
tick = new Ticker("NILAI GRADE ANDA : "+String.valueOf(grade));
form.setTicker(tick);
}
}
}
\
2.program 3
/*
* To change this template, choose Tools | Templates
*/
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
/**
* @author Charles Harianto bancin
*/
public class quiz1 extends MIDlet implements CommandListener {
//Defenisi Variabel
Display layar;
TextField tfalas;
TextField tftinggi;
TextField tfluas;
Form form;
Command cmdExit;
Command cmdok;
Command Proses;
Command AboutMe;
Ticker pesan;
form = new Form("Aplikasi menghitung luas segitiga");
tfalas = new TextField("alas :","",50,1);
tftinggi = new TextField("Tinggi :","",50,1);
tfluas = new TextField("luas :","",50,1);
cmdExit = new Command("Keluar",null,Command.EXIT,0);
Proses = new Command("Proses",null,Command.SCREEN,1);
AboutMe = new Command("Tentang saya : ",null,Command.SCREEN,2);
pesan = new Ticker("**Aplikasi menghitung Luas segitiga**");
layar.setCurrent(form);
form.setCommandListener(this);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) {
if (c==cmdExit){
notifyDestroyed(); //Exit
}
else if (c==Proses){
hluas();
}
double vluas, va,vt;
va =Integer.parseInt(tfalas.getString());
vt =Integer.parseInt(tftinggi.getString());
vluas = (va * vt)/ 2;
tfluas.setString(String.valueOf(vluas));
}
}
Program 3 /*
* To change this template, choose Tools | Templates * and open the template in the editor.
*/
importjavax.microedition.midlet.*; importjavax.microedition.lcdui.*;
* @author User */
public class MidletaAritmatika extends MIDlet implements CommandListener { Display layar;
Form form;
Command cmdExit,cmdTambah,cmdKurang,cmdKali,cmdBagi; TextField tfBil1,tfBil2,tfHasil;
Ticker pesan;
publicMidletaAritmatika () {
form = new Form("Kalkulator Mini");
tfBil1= new TextField("Bilangan Pertama","",50,1); tfBil2= new TextField("Bilangan Kedua","",50,1); tfHasil= new TextField("Hasilnya adalah","",50,1);
pesan= new Ticker("Kalkulator Mini DibuatOleh: Veronika, Okt 2014"); form.setTicker(pesan);
public void destroyApp(boolean unconditional) {}
public void commandAction(Command c, Displayable d) { if (c==cmdExit){ notifyDestroyed();}
BAB IV
PENUTUP
4.1 Kesimpulan
1) Java dikenal sebagai bahasa pemrograman yang bersifat strongly, yang berarti
diharuskan mendeklarasikan tipe data dari semua variable yang apabila lupa
atau salah dalam mengikuti aturan pendeklarasian variable, maka akan terjadi
error pada saat proses kompilasi.
2) Tipe data yang terdapat pada bahasa pemrograman Java pada umumnya tidak
jauh berbeda dengan bahasa pemrograman lain seperti C, C++, Pascal, Basic,
dan lainnya, yakni terdiri dari integer, floating point, char, dan Boolean
3) Program kulkulator sederhana menggunakan java netbeans ini mungkin
tampilannya kurang bagus dikarenakan keterbatasan kemampuan penulis.
4.2SARAN
1) Bagi pengembang aplikasi ini penulis menyarankan pada penyajian
hasilkalkulasi mendukung teknologi accelerometer agar tampilan lebih
flexible dan
2) Tambahkan juga beberapa fitur yang mungkin diperlukan dalam
proseskalkulasi, seperti metode subnetting.
3) Tambahkan fasilitas seperti hasil kalkulasi dapat disimpan ke dalam
memoritelepon dalam format jpg ataupun tabel.2
4) Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin
banyaknya pesaing yang berkompetisi di bidang pemrograman Java, maka
Penulis menyarankan kepada pembaca (khususnya pemula), untuk sejak dini