BAB IV PEMOGRAMAN GRAFIK DAN SMS DENGAN J2ME - BAB IV Aplikasi Grafik dan SMS
BAB IV PEMOGRAMAN GRAFIK DAN SMS DENGAN J2ME PEMBAHASAN MATERI : Java mobile yang dipelajari adalah J2ME.
Pembuatan Program Grafik dengan Sun Java Wireless Toolkit 2.5.2. Membuat Aplikasi SMS
TUJUAN BELAJAR :
Mahasiswa dapat mengetahui dan memahami pembuatan program kalkulator ( kali,
bagi, tambah dan kurang ) menggunakan java mobile J2ME dan menampilkannya ke Ponsel.A. JAVA MOBILE
Java Mobile biasa dikenal dengan istilah J2ME (Java 2 MicroEdition) merupakan
salah satu bagian dari paket pemrograman Java. Paket pemrograman Java untuk saat ini pada
umumnya terbagi tiga, yaitu :a) Java 2 Enterprise Edition (J2EE).
Paket ini digunakan pada hardware yang mempunyai spesifikasi dan memori yang besar seperti pada komputer server.
b) Java 2 Standard Edition (J2SE).
Paket J2SE digunakan pada komputer desktop.
c) Java 2 MicroEdition (J2ME).
Paket J2ME digunakan pada perangkat keras yang memiliki memori kecil seperti ponsel, PDA dan sebagainya.
J2ME merupakan superset dari J2SE, yang artinya Java API yang ada di J2ME
sebagian diadopsi dari Java API J2SE. Jika pada J2SE menggunakan JVM (Java Virtual
Machine) sebagai Interprenternya, lain halnya pada J2ME yang menggunakan Kilo Virtual
Machine (KVM) sebagai interprenternya. Berdasarkan spesifikasi perangkat kerasnya J2ME
memiliki 2 macam konfigurasi yaitu CLDC (Connected Limited Device Configuration) dan
CDC (Connected Device Configurations). Untuk aplikasi pada paket J2ME diberi nama
MIDlet.Perbedaannya CLDC dan CDC dapat dilihat pada Tabel 1.
CLDC CDC
Mengimplementasikan seluruh fitur dari Mengimplementasikan sebagian fitur dari J2SE J2SE Menggunakan KVM (Kilo Virtual Machine) Menggunakan CVM Digunakan pada perangkat internet Digunakan pada Handphone, PDA, Pager yang Televisi, Nokia communicator yang memiliki memori terbatas (160-512)kb memiliki memori minimal 2 Mb Processor 16 / 32 bit Processor 32 bit
B. Membuat Aplikasi Sederhana dengan J2ME 1. Membuat Aplikasi Grafik
Ketik kode berikut :
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.util.Random; public class Grafik extends MIDlet { private Command Keluar; private Display Layar; public Grafik() { Layar = Display.getDisplay(this); } public void startApp() { Acak TampilLayar=new Acak(this); Layar.setCurrent(TampilLayar); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } } class Acak extends Canvas implements Runnable { public int Lebar=this.getWidth(); public int Tinggi=this.getHeight(); public MIDlet Tampilan; public Image Gambar; public Random ProsesAcak; int Jumlah=0; public Acak(MIDlet mid) { this.Tampilan=Tampilan; ProsesAcak=new Random(255); Gambar=Image.createImage(Lebar,Tinggi); Thread Proses=new Thread(this); Proses.start(); } public void createpic(){ int red,green,blue; Graphics Garis=Gambar.getGraphics(); for (int i=0;i<500;i++){ red=Math.abs(ProsesAcak.nextInt() % (255)); green=Math.abs(ProsesAcak.nextInt() % 255); blue=Math.abs(ProsesAcak.nextInt() % 255); Garis.setColor(red,green,blue); Garis.drawLine(Math.abs(ProsesAcak. nextInt()%Lebar), Math.abs(ProsesAcak.nextInt() %Tinggi), Math.abs(ProsesAcak.nextInt() %Lebar), Math.abs(ProsesAcak.nextInt() %Tinggi)); }; } public void run(){ while (true){ createpic();
this.repaint(); try{ Thread.sleep(500); }catch(Exception e){ } } } public void paint (Graphics g){ g.drawImage(Gambar,0,0,0); } public void ClearScreen(Graphics g){ g.setColor(0,0,0); g.fillRect(0,0,Lebar,Tinggi); };}
Keterangan pada aplikasi Grafik:
Baris 1-3 merupakan fungsi Java API yang akan kita gunakan untuk memanggil
kompenen-komponen J2ME. dalam class MidletGrafik.
Baris 4-18 mendeklarasikan class MidletGrafik dan mendefinisikan Method- Method
mendefiniskan Variabel-Variabel dalam class Acak untuk tampilan aplikasi.
Baris 19-25 mendeklarasikan class Acak dalam class MidletGrafik kemudian
acak.
Baris 26-32 kode-kode Constructor pada class Acak untuk menampilkan grafik secara
secara acak dan berulang-ulang.
Baris 33-53 kode-kode yang berfungsi membuat logika grafik dalam format warna RGB
Baris 67-70 kode-kode yang berfungsi untuk membersihkan layar.
Baris 54-66 kode-kode yang berfungsi untuk menampilkan grafik.
Baris 71 akhir dari blok kode class Acak.
2.
Membuat Aplikasi Listp Ketik kode berikut : import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Listp extendes MIDlet implements CommandListener { Display display; list list; TextBox texbox; Command exitCommand = new Command("Exit", Command.EXIT, 1); Command addCommand = new Command("Add Item", Command.OK, 1); Command removeCommand = new Command("Remove Item", Command.OK,1); Command okCommand = new Command("OK",Command.OK, 1); Command cancelCommand = new Command("Cancel",Command.EXIT,1); Ticker ticker = new Ticker("selamat Datang DI budidarma"); public Listp(){ list = new list ("Komputasinirkabel",List.IMPLICIT); list.setTicker(ticker); list.addCommand(exitCommand); list.addCommand(addCommand); list.addCommand(removeCommand); list.setCommandListener(this); textbox = new TextBok("Add list Item","",64, TextField.ANY); textbox.addCommand(okCommand); textbox.setCommandListener(this); } public void starApp() { if (display ==null) { display = Display.getDisplay(this); display.setCurrent(list); } } public void pauseApp() { }
public void destroyApp(boolean uncoditional) { } public void commandAction(Command c, Displayable d){ if (c == exitCommand){ notifyDestroyed(); } if (c == addCommand){ textbox.setString(""); display.setCurrent(textbox); } if (c == removeCommand){ iny index = list.getselectedIndex(); if (index != -1){ list.insert(index, textbox.getString(),null); } else{ // list might be empty list.append(textbox.getString(),null;} display.setCurrent(list); } if (c==cancelcommand){ display.setCurrent(list);} } }3. Membuat Aplikasi MidletSMS
Ketik kode berikut :
import javax.microedition.midlet.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; public class MidletSMS extends MIDlet implements CommandListener { Command exitCommand = new Command( "Keluar", Command.EXIT, 2); Command okCommand = new Command( "OK", Command.OK, 1); Display display; String smsPort; TextBox destinationAddressBox; Alert errorMessageAlert; Alert sendingMessageAlert; KirimPesan sender; Displayable resumeScreen = null; public MidletSMS() { smsPort = getAppProperty("PortSMS"); display = Display.getDisplay(this); destinationAddressBox = new TextBox ("Masukkan Nomor HP Tujuan ?", null, 256, TextField.PHONENUMBER); destinationAddressBox.addCommand( exitCommand); destinationAddressBox.addCommand( okCommand); destinationAddressBox. setCommandListener(this); errorMessageAlert = new Alert( "SMS", null, null, AlertType.ERROR); errorMessageAlert.setTimeout(5000); sendingMessageAlert = new Alert( "SMS", null, null, AlertType.INFO); sendingMessageAlert.setTimeout(5000); sendingMessageAlert. setCommandListener(this);
sender = new KirimPesan( smsPort, display, destinationAddressBox, sendingMessageAlert); resumeScreen = destinationAddressBox; } public void startApp() { display.setCurrent(resumeScreen); } public void pauseApp() { resumeScreen = display.getCurrent(); } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { try { if (c == exitCommand || c == Alert.DISMISS_COMMAND) { destroyApp(false); notifyDestroyed(); } else if (c == okCommand) { promptAndSend(); } } catch (Exception ex) { ex.printStackTrace(); } } private void promptAndSend() { String address = destinationAddressBox.getString(); if (!MidletSMS.isValidPhoneNumber(address)) { errorMessageAlert.setString( "Nomor Telepon Tdak DiKenal"); display.setCurrent(errorMessageAlert, destinationAddressBox); return; } String statusMessage = "Mengirim Pesan Ke : "- address + "...";
}
Keterangan : Baris 1-5 merupakan fungsi Java API yang akan kita gunakan untuk memanggil
kompenen-komponen J2ME.
Variabel-Variabelnya.
Baris 6-18 mendeklarasikan class MIDletSMS sebagai MIDlet, beserta Command dan
akan dipakai pada program.
Baris 19-43 kode-kode Constructor MidletSMS yang berisikan logika-logika yang
Baris 44-63 kode-kode Method yang berisikan pengaturan fungsi-fungsi dan Variabel-Variabel yang akan dipanggil ketika berinteraksi dengan menu dalam program.
dalam menu program.
Baris 64-77 kode-kode yang berisikan logika program untuk menampilkan dialog
nomor telepon yang dimasukkan.
Baris 78-96 kode-kode yang berisikan logika program untuk memeriksa jumlah digit
Baris 97-108 membuat dan mendeklarasikan class KirimPesan beserta Variabe- Variabel dan Commandnya di dalam MIDletSMS. Class KirimPesan nantinya akan berisi logika-logika yang berfungsi untuk melakukan pengiriman pesan.
Baris 109-121 merupakan Constructor class.KirimPesan yang mendeklarasikan Variabel dan Command. yang akan digunakan.
Baris 122-161 kode-kode logika yang terdapat pada Method-Method Class kirim pesan yang berfungsi untuk melakukan pengiriman pesan.
Baris 162-165 akhir dari class dan blok kode.
Catatan:
Anda bisa mencoba aplikasi ini pada ponsel anda. Transfer File yang ada di “Folder
Project”\dist\”Nama Project”.jar ke Ponsel, kemudian Install aplikasi tersebut.
Kedua aplikasi ini hanya pernah di coba pada Ponsel merk Nokia, belum pernah di coba pada Ponsel merk lain.
Aplikasi ini pernah dicoba pada Ponsel Nokia seri 6600, hasilnya aplikasi bisa berjalan tanpa ada masalah.
Aplikasi ini tidak cocok dengan Ponsel nokia seri N-Gage, muncul pesan Error pada saat instalasi.
DAFTAR PUSTAKA 1.
Irawan, Java Mobile, maxiko, Palembang, ______
- Hak Cipta © 2013 pada penulis,
Hak Cipta dilindungi undang-undang. Seluruh dokumen ini dapat digunakan dan disebarkan
secara bebas untuk tujuan belajar bukan komersial (non-profit), dengan syarat tidak
menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan izin tertulis
terlebih dahulu dari Penulis.
TENTANG PENULIS,
Ferlianus Gulo Lahir di Pulau Nias, 1990, anak pertama dari 5 bersaudara, pada tahun 2010 kuliah di salah satu sekolah tinggi swasta di Medan, Sumatera Utara, Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Budidarma Medan dengan Jurusan Teknik Informatika Angkatan 2010. Penulis sudah lama aktif menulis di internet dan sebagian besar tulisannya ditujukan untuk berbagi pengalaman dan membantu para pemula dalam
mempelajari cara membuat website ( HTML, CSS, XML, PHP, SQL, PYTHON, JSP, ASP),
Pemrograman ( VB, Java, dll), Jaringan dan internet marketing. Penulis yang juga merupakan
pengelola sekaligus kontributor utama website : http://lengkapskripsi.blogspot.com yang
merupakan salah satu website populer untuk belajar membuat Kerja Praktek atau Skripsi.
Penulis dapat dihubungi di