MAKALAH
Pemograman Mobile
Nim : 18040093
Kelas : 4C
KOTA TEGAL
2020
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:
Semoga Tuhan Yang Maha Esa membalas kebaikan dan selalu mencurahkan
hidayah serta taufikNya, Amin.
DAFTAR ISI
KATA PENGANTAR
DAFTAR ISI
BAB I PENDAHULUAN
11
40
3
BAB I
PENDAHULUAN
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.
1.3. Maksud dan Tujuan
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 dalam organizer. Namun jika memilih pengingat pesan maka
pengguna akan langsung masuk menu-menu dalam pengingat pesan, seperti pada
gambar. Dalam hal
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.
2.Pembuatan Database
3 Pengaturan koneksi
Dari hasil pengujian sitem secara keseluruhan dilakukan analisa dan memberikan
kesimpulan dari analisa tersebut.
7
BAB II
LANDASAN TEORI
2.1 JAVA
“Java”.
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)
2.1.2.Arsitektur Java
BAB III
PEMBAHASAN
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.
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
12
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.
13
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.
Perbedaan antara CDC dan CLDC dapat dilihat dari tabel dibawah ini :
14
3.2 PROFIL
15
1) Foundation Profile
2) Personal Profile
3) RMI Profile
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
17
kelas dari bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2MEdan
aplikasi manajemen pada perangkat dapat terbentuk.
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 :
1) src
menyimpan source code untuk MIDlet dan kelas lain yang diperlukan.
18
1) res
2) lib
3) bin
menyimpan file JAR, JAD dan file manifest yang berisi muatankomponen
MIDlet
Command adalah sebuah obyek yang digunakan untuk merespon user pada
sebuah aplikasi. Sering diasosiasikan sebagai softkey, tombol ataupun area pada
touchscreen. Sangat berperan penting dalam event handling pada J2ME.
19
Pada penggunaanya, Command didefinisikan dengan mengimplementasikan
CommandListener. Command(String label, int commandType, int priority).
3.4.2 CommandListener
20
dalam Pllaform J2ME tersebut dikembangkan oleh sebuah komunitas yang
dinamakan JCP ( Java Community Process )
Model High –Level API
Model Low –Level API
Arsitektur LCDUI
1.Kelas Display
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.
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.
21
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 sehingga tidak dapat diinstansiasi. Untuk menambahkan item kedalam
form mau tidak mau kita harus menggunakan kelas turunan dari kelas item.
22
Berikut ini kerlas turunan dari kelas item antara lain :
3. Gauge
∙ 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() dari kelas canvas.
23
3.6BEKERJA DENGAN 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
/*
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
//konstruktor public
Calculator(){
}
public void startApp() {
if(display==null){
25
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
if(c==keluar){
destroyApp(true);// menghentikan aplikasi notifyDestroyed();//
pemberitahuan aplikasi telah berhenti
26
if(c==kali){
if(c==tambah){
if(c==kurang){
if(c==bagi){
27
result.setString(String.valueOf(NH));//Menampilkan hasil dari variabel
hasil ke txtHasil
Program 1
/*
29
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author bancin */
Form form;
Command cmdkeluar,cmdok;
TextField tfnpm,tfnama,tfuas,tfuts,tfnh,tftm,tfts,tfrt2,tfgrade;
Ticker tick;
public datamahasiswa(){
new TextField("UTS","",50,1);
30
tfrt2= new TextField("NILAI RATA RATA","",50,1); tfgrade= new
TextField("NILAI GRADE","",50,1);
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);
layar = Display.getDisplay(this);
layar.setCurrent(form);
form.setCommandListener(this);
31
}
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));
} else if (rt2>=50 && rt2<60){
grade = 'D';
} else
grade = 'E';
tfgrade.setString(String.valueOf(grade));
2.program 3 /*
* To change this template, choose Tools | Templates
33
*/
javax.microedition.midlet.MIDlet; /**
Command AboutMe;
Ticker pesan;
34
form = new Form("Aplikasi menghitung luas segitiga");
tfalas = new TextField("alas :","",50,1);
form.setTicker(pesan);
form.append(tfalas);
form.append(tftinggi);
form.append(tfluas);
form.addCommand(cmdExit);
form.addCommand(Proses);
form.addCommand(AboutMe);
}
public void startApp(){
layar = Display.getDisplay(this);
35
layar.setCurrent(form);
form.setCommandListener(this);
notifyDestroyed(); //Exit
}
private void hluas() {
36
double vluas, va,vt;
va =Integer.parseInt(tfalas.getString()); vt
tfluas.setString(String.valueOf(vluas));
Program 3 /*
/**
37
* @author User
*/
Form form;
Command cmdExit,cmdTambah,cmdKurang,cmdKali,cmdBagi;
TextField tfBil1,tfBil2,tfHasil;
Ticker pesan;
publicMidletaAritmatika () {
form.append(tfBil1);
form.append(tfBil2);
form.append(tfHasil);
form.addCommand(cmdExit);
form.addCommand(cmdTambah);
form.addCommand(cmdKurang);
form.addCommand(cmdKali);
form.addCommand(cmdBagi);
}
public void startApp() {
layar= Display.getDisplay(this);
layar.setCurrent(form);
form.setCommandListener(this);
}
38
}
}
39
BAB IV
PENUTUP
4.1 Kesimpulan
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
4.2 SARAN
1) Bagi pengembang aplikasi ini penulis menyarankan pada penyajian
hasilkalkulasi mendukung teknologi accelerometer agar tampilan lebih
flexible dan
tertata rapih.
40
1) Tambahkan juga beberapa fitur yang mungkin diperlukan dalam
proseskalkulasi, seperti metode subnetting.