SlideShare a Scribd company logo
J.E.N.I.
Bab 11
Topik-topik Tambahan
11.1 Tujuan
Setelah menyelesaikan bab ini, siswa diharapkan mampu:
• mengatur jadwal tugas menggunakan Timers
• meregister koneksi yang datang pada Push Registry
11.2 Timers
Timer dan TimerTasks berfungsi agar Anda bisa melakukan penjadwalan tugas pada
suatu waktu. Tugas dapat juga dijadwalkan untuk diulang-ulang sampai interval
tertentu.
Anda dapat membuat tugas dengan menurunkan (extending) TimerTask dan
mengimplement method run(). Method run() akan dieksekusi berdasarkan jadwal yang
ada pada Timer.
class CounterTask extends TimerTask {
int counter = 0;
public void run() {
System.out.println("Counter: " + counter++);
}
}
Untuk menjadwalkan sebuah tugas, buat sebuah Timer dan gunakan method schedule()
yang ada pada Timer untuk menjadwalkan jalannya tugas. Setiap Timer berjalan pada
bagian yang terpisah. Method schedule() memiliki beberapa bentuk. Anda dapat
mengatur waktu tugas untuk mulai dengan memberikan delay dalam mililiseconds atau
dengan memberikan waktu absolut (java.util.Date). Parameter ketiga pada method
schedule() adalah periode pengulangan dari tugas. Jika nilai pengulangan diberikan,
tugas akan dieksekusi dalam periode waktu tertentu.
Timer timer = new Timer();
TimerTask task = new CounterTask();
Pengembangan Perangkat Mobile 1
J.E.N.I.
// task akan dimulai dalam 8 detik dan diulangi setiap 1 detik
timer.schedule(task, 8000, 1000);
Anda dapat menghentikan timer dengan menggunakan method close(). Method ini dapat
menghentikan timer dan mengabaikan tugas yang dijadwalkan. Perlu Anda catat, bahwa
ketika Timer dihentikan, maka tidak dapat diulangi (direstart) kembali.
void schedule(TimerTask task, Long delay)
Melakukan penjadwalan tugas untuk dieksekusi sesudah menentukan delay yang
diinginkan (dalam milliseconds)
void schedule(TimerTask task, Long delay , long period)
Melakukan penjadwalan tugas untuk dieksekusi berulang-ulang, dimulai
sesudah delay yang ditentukan (dalam milliseconds)
void schedule(TimerTask task, Date time)
Melakukan penjadwalan tugas agar dapat dieksekusi pada waktu yang
ditentukan.
void schedule(TimerTask task, Date time, long period)
Melakukan penjadwalan tugas untuk dieksekusi berulang-ulang, dimulai pada
waktu yang ditentukan.
void cancel()
Menghentikan timer, mengabaikan tugas yang dijadwalkan.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TimerMidlet extends MIDlet implements CommandListener{
private Command exitCommand;
private Form form;
private StringItem textField;
private Display display;
Pengembangan Perangkat Mobile 2
J.E.N.I.
public TimerMidlet() {
exitCommand = new Command("Exit", Command.EXIT, 1);
textField = new StringItem("Counter", "");
Timer timer = new Timer();
TimerTask task = new CounterTask(this);
timer.schedule(task, 2000, 1000);
form = new Form("Timer Test");
form.addCommand(exitCommand);
form.append(textField);
}
public void startApp() {
display = Display.getDisplay(this);
form.setCommandListener(this);
display.setCurrent(form);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
timer.cancel();
}
public void commAndaction(Command c, Displayable d) {
if (c == exitCommand) {
destroyApp(true);
notifyDestroyed();
}
}
public void setText(String text){
textField.setText(text);
}
}
class CounterTask extends TimerTask {
Pengembangan Perangkat Mobile 3
J.E.N.I.
int counter = 0;
TimerMidlet midlet;
public CounterTask(TimerMidlet midlet){
this.midlet = midlet;
}
public void run() {
counter++;
midlet.setText("" + counter);
System.out.println("Counter: " + counter);
}
}
11.3 Push Functionality
Push Registry berfungsi agar MIDlet bisa meregister koneksi yang masuk dengan
Application Management Software (AMS). Jika program tidak berjalan, AMS akan
mendengarkan koneksi pada alamat yang telah diregister oleh aplikasi. Hampir semua
tipe koneksi didukung, termasuk ServerSocket dan MessageConnection.
Anda dapat meregister koneksi yang masuk dengan Push Registry menggunakan dua
cara: cara statis dengan menggunakan file application descriptor (JAD) atau dinamis
selama proses runtime menggunakan PushRegistry API.
Pada bab ini kita akan meregister secara statis push application kita pada application
descriptor (JAD) kita. NetBeans Mobility Pack membantu kita untuk memodifikasi
Application Descriptor dengan mudah termasuk pada Push Registry.
Klik kanan pada Project name, selanjutnya klik Properties untuk membuka Properties
Page pada project.
Pengembangan Perangkat Mobile 4
J.E.N.I.
Pilih bagian Push Registry:
Klik "Add" untuk meregister koneksi yang masuk:
Pengembangan Perangkat Mobile 5
J.E.N.I.
Ulangi proses sebelumnya hingga semua koneksi yang masuk sudah teregister. Dalam
kasus ini, kita melakukan koneksi sms pada port 8888 dan koneksi socket (socket
connection) pada port 1234:
Pengembangan Perangkat Mobile 6
J.E.N.I.
Pilih bagian "API Permissions":
Pilih "Add" untuk menambah ijin (permission) untuk aplikasi MIDlet. Kita harus
menambahkan API javax.microedition.io.PushRegistry untuk menginstall aplikasi. Kita
juga harus menambahkan semua API yang digunakan oleh aplikasi:
Pengembangan Perangkat Mobile 7
J.E.N.I.
Hilangkan tAnda pada bagian required untuk semua API:
Pengembangan Perangkat Mobile 8
J.E.N.I.
Pilih bagian "Signing" dan beri tAnda "Sign Distribution" untuk mendaftarkan aplikasi
MIDlet:
Pengembangan Perangkat Mobile 9
J.E.N.I.
Pilih bagian "Running" dan pilih "Execute through OTA (Over the Air Provisioning)". Hal
ini merupakan proses instalasi dan eksekusi aplikasi pada device.
Pengembangan Perangkat Mobile 10
J.E.N.I.
Langkah selanjutnya adalah menjalankan aplikasi MIDlet. Pastikan build berjalan dan
tidak ada error ketika melakukan instalasi device (via OTA provisioning).
Pengembangan Perangkat Mobile 11
J.E.N.I.
Untuk menjalankan aplikasi MIDlet, gunakan WMA console (Tools -> Java Platform
Manager -> J2ME Wireless Toolkit 2.2 -> Open Utilities -> WMA: Open Console -> Send
SMS...). Pilih nomor device, tentukan nomor port yang sudah ada pada PushRegistry,
masukkan pesan dan klik "Send":
Pengembangan Perangkat Mobile 12
J.E.N.I.
AMS akan menerima koneksi yang datang dan menanyakan konfirmasi selanjutnya
kepada user:
Pengembangan Perangkat Mobile 13
J.E.N.I.
Ini adalah aplikasi MIDlet, dijalankan melalui Push Registry (melalui pesan SMS masuk):
Pengembangan Perangkat Mobile 14
J.E.N.I.
Ini adalah aplikasi kita yang dijalankan melalui Push Registry (socket pada port 1234).
Untuk menjalankan aplikasi MIDlet dengan cara ini, layar console dan ketik "telnet
localhost 1234".
Pengembangan Perangkat Mobile 15
J.E.N.I.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import java.util.Timer;
import java.util.TimerTask;
import javax.microedition.io.*;
public class PushMidlet extends MIDlet implements CommandListener{
private Command exitCommand;
private Form form;
private StringItem textField;
private Display display;
private String[] connections;
public PushMidlet() {
exitCommand = new Command("Exit", Command.EXIT, 1);
textField = new StringItem("Status", "");
form = new Form("Push via sms message");
form.addCommand(exitCommand);
form.append(textField);
}
public void startApp() {
connections = PushRegistry.listConnections(true);
if (connections != null && connections.length > 0){
textField.setText(
"Launched via Push Registry: " + connections[0]);
}
display = Display.getDisplay(this);
form.setCommandListener(this);
Pengembangan Perangkat Mobile 16
J.E.N.I.
display.setCurrent(form);
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
public void commAndaction(Command c, Displayable d) {
if (c == exitCommand) {
notifyDestroyed();
}
}
public void setText(String text){
textField.setText(text);
}
}
Pengembangan Perangkat Mobile 17
J.E.N.I.
11.4 Latihan
11.4.1 Time Midlet
Buatlah sebuah aplikasi MIDlet yang menampilkan tanggal dan waktu hari ini dan
terupdate setiap detik. Gunakan Timer untuk melakukan update dan StringItem untuk
menampilkan tanggal dan waktu.
Pengembangan Perangkat Mobile 18

More Related Content

Similar to JENI-J2ME-Bab11-Topik-topik Tambahan.pdf

Jeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileJeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileUNIVERSITY Of LAMPUNG
 
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileJeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileIndividual Consultants
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
Akmal Fajar
 
Praktikum 10
Praktikum 10Praktikum 10
Praktikum 10
AwangHerlambang
 
Laporan p1
Laporan p1Laporan p1
Laporan p1
rahmi wahyuni
 
Tutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di Java
Hendy Irawan
 
Modul psb 1 j2 me
Modul psb 1 j2 meModul psb 1 j2 me
Modul psb 1 j2 me
Rido Budiman
 
Modul iii dan iv algo
Modul iii dan iv algoModul iii dan iv algo
Modul iii dan iv algo
STMIK AKAKOM
 
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal ReportInsert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal ReportRahmat Taufiq Sigit
 
Lucky anugerah 1100631020
Lucky anugerah 1100631020Lucky anugerah 1100631020
Lucky anugerah 1100631020Lucky AnugerahP
 
Program chatting
Program chattingProgram chatting
Program chattingAisy Cuyy
 
Jeni slides j2 me-11-topik-topik tambahan-v0.2
Jeni slides j2 me-11-topik-topik tambahan-v0.2Jeni slides j2 me-11-topik-topik tambahan-v0.2
Jeni slides j2 me-11-topik-topik tambahan-v0.2UNIVERSITY Of LAMPUNG
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Dimas Prawira
 
Membuat Aplikasi Chatting Client Server Dengan Pemrograman Java
Membuat Aplikasi Chatting Client Server Dengan Pemrograman JavaMembuat Aplikasi Chatting Client Server Dengan Pemrograman Java
Membuat Aplikasi Chatting Client Server Dengan Pemrograman Javayoyomay93
 
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
RizaJr
 
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
Muhammad Faozan Akbar
 
Aplikasi komunikasi serial mikrokontroller
Aplikasi komunikasi serial mikrokontrollerAplikasi komunikasi serial mikrokontroller
Aplikasi komunikasi serial mikrokontroller
Weldan Kusuf
 
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLERPemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
ramadhani170488
 

Similar to JENI-J2ME-Bab11-Topik-topik Tambahan.pdf (20)

Jeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileJeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobile
 
pemrograman mobile
pemrograman mobilepemrograman mobile
pemrograman mobile
 
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileJeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
 
J2me
J2meJ2me
J2me
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 
Praktikum 10
Praktikum 10Praktikum 10
Praktikum 10
 
Laporan p1
Laporan p1Laporan p1
Laporan p1
 
Tutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di Java
 
Modul psb 1 j2 me
Modul psb 1 j2 meModul psb 1 j2 me
Modul psb 1 j2 me
 
Modul iii dan iv algo
Modul iii dan iv algoModul iii dan iv algo
Modul iii dan iv algo
 
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal ReportInsert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
 
Lucky anugerah 1100631020
Lucky anugerah 1100631020Lucky anugerah 1100631020
Lucky anugerah 1100631020
 
Program chatting
Program chattingProgram chatting
Program chatting
 
Jeni slides j2 me-11-topik-topik tambahan-v0.2
Jeni slides j2 me-11-topik-topik tambahan-v0.2Jeni slides j2 me-11-topik-topik tambahan-v0.2
Jeni slides j2 me-11-topik-topik tambahan-v0.2
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
Membuat Aplikasi Chatting Client Server Dengan Pemrograman Java
Membuat Aplikasi Chatting Client Server Dengan Pemrograman JavaMembuat Aplikasi Chatting Client Server Dengan Pemrograman Java
Membuat Aplikasi Chatting Client Server Dengan Pemrograman Java
 
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
 
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
Agent untuk pemantau keamanan server pada jaringan internet menggunakan mobil...
 
Aplikasi komunikasi serial mikrokontroller
Aplikasi komunikasi serial mikrokontrollerAplikasi komunikasi serial mikrokontroller
Aplikasi komunikasi serial mikrokontroller
 
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLERPemograman Java Visual MATERI 2 tentang EVENT HANDLER
Pemograman Java Visual MATERI 2 tentang EVENT HANDLER
 

More from Jurnal IT

Belajar Java Dasar
Belajar Java DasarBelajar Java Dasar
Belajar Java Dasar
Jurnal IT
 
12_Sinkronisasi.pdf
12_Sinkronisasi.pdf12_Sinkronisasi.pdf
12_Sinkronisasi.pdf
Jurnal IT
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdf
Jurnal IT
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdf
Jurnal IT
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
Jurnal IT
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
Jurnal IT
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdf
Jurnal IT
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdf
Jurnal IT
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
Jurnal IT
 
3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf
Jurnal IT
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
Jurnal IT
 
1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf
Jurnal IT
 
delphi part 13.pdf
delphi part 13.pdfdelphi part 13.pdf
delphi part 13.pdf
Jurnal IT
 
delphi part 11.pdf
delphi part 11.pdfdelphi part 11.pdf
delphi part 11.pdf
Jurnal IT
 
delphi part 8 new.pdf
delphi part 8 new.pdfdelphi part 8 new.pdf
delphi part 8 new.pdf
Jurnal IT
 
delphi part 7 new.pdf
delphi part 7 new.pdfdelphi part 7 new.pdf
delphi part 7 new.pdf
Jurnal IT
 
delphi part 6.pdf
delphi part 6.pdfdelphi part 6.pdf
delphi part 6.pdf
Jurnal IT
 
delphi part 5.pdf
delphi part 5.pdfdelphi part 5.pdf
delphi part 5.pdf
Jurnal IT
 
delphi part 4.pdf
delphi part 4.pdfdelphi part 4.pdf
delphi part 4.pdf
Jurnal IT
 
delphi part 3.pdf
delphi part 3.pdfdelphi part 3.pdf
delphi part 3.pdf
Jurnal IT
 

More from Jurnal IT (20)

Belajar Java Dasar
Belajar Java DasarBelajar Java Dasar
Belajar Java Dasar
 
12_Sinkronisasi.pdf
12_Sinkronisasi.pdf12_Sinkronisasi.pdf
12_Sinkronisasi.pdf
 
11_GUI Pada Java.pdf
11_GUI Pada Java.pdf11_GUI Pada Java.pdf
11_GUI Pada Java.pdf
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdf
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
7_Packages.pdf
7_Packages.pdf7_Packages.pdf
7_Packages.pdf
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdf
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdf
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf3_Pengertian_Class_Object_Method.pdf
3_Pengertian_Class_Object_Method.pdf
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf1_Pengenalan_Java.pdf
1_Pengenalan_Java.pdf
 
delphi part 13.pdf
delphi part 13.pdfdelphi part 13.pdf
delphi part 13.pdf
 
delphi part 11.pdf
delphi part 11.pdfdelphi part 11.pdf
delphi part 11.pdf
 
delphi part 8 new.pdf
delphi part 8 new.pdfdelphi part 8 new.pdf
delphi part 8 new.pdf
 
delphi part 7 new.pdf
delphi part 7 new.pdfdelphi part 7 new.pdf
delphi part 7 new.pdf
 
delphi part 6.pdf
delphi part 6.pdfdelphi part 6.pdf
delphi part 6.pdf
 
delphi part 5.pdf
delphi part 5.pdfdelphi part 5.pdf
delphi part 5.pdf
 
delphi part 4.pdf
delphi part 4.pdfdelphi part 4.pdf
delphi part 4.pdf
 
delphi part 3.pdf
delphi part 3.pdfdelphi part 3.pdf
delphi part 3.pdf
 

Recently uploaded

Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Fathan Emran
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
UditGheozi2
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
agusmulyadi08
 
Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
irawan1978
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
ssuser289c2f1
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
AdePutraTunggali
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
widyakusuma99
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
DataSupriatna
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
ferrydmn1999
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
setiatinambunan
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
jodikurniawan341
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
TEDYHARTO1
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
ozijaya
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 

Recently uploaded (20)

Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum MerdekaModul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
Modul Ajar Bahasa Inggris Kelas 5 Fase C Kurikulum Merdeka
 
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdfLK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
LK 1 - 5T Keputusan Berdampak PERMATA BUNDA.pdf
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
 
Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdfMATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
MATERI SOSIALISASI PPDB JABAR- 4PAN052024.pdf
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi KomunikasiKarakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
Karakteristik Manusia Komunikan dalam Bingkai Psikologi Komunikasi
 
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
LAPORAN TUGAS TAMBAHAN PEMBINA PRAMUKA..
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
 
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-OndelSebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondel
 
ppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdfppt landasan pendidikan pai 9 revisi.pdf
ppt landasan pendidikan pai 9 revisi.pdf
 
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakatPPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
PPT LANDASAN PENDIDIKAN.pptx tentang hubungan sekolah dengan masyarakat
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 

JENI-J2ME-Bab11-Topik-topik Tambahan.pdf

  • 1. J.E.N.I. Bab 11 Topik-topik Tambahan 11.1 Tujuan Setelah menyelesaikan bab ini, siswa diharapkan mampu: • mengatur jadwal tugas menggunakan Timers • meregister koneksi yang datang pada Push Registry 11.2 Timers Timer dan TimerTasks berfungsi agar Anda bisa melakukan penjadwalan tugas pada suatu waktu. Tugas dapat juga dijadwalkan untuk diulang-ulang sampai interval tertentu. Anda dapat membuat tugas dengan menurunkan (extending) TimerTask dan mengimplement method run(). Method run() akan dieksekusi berdasarkan jadwal yang ada pada Timer. class CounterTask extends TimerTask { int counter = 0; public void run() { System.out.println("Counter: " + counter++); } } Untuk menjadwalkan sebuah tugas, buat sebuah Timer dan gunakan method schedule() yang ada pada Timer untuk menjadwalkan jalannya tugas. Setiap Timer berjalan pada bagian yang terpisah. Method schedule() memiliki beberapa bentuk. Anda dapat mengatur waktu tugas untuk mulai dengan memberikan delay dalam mililiseconds atau dengan memberikan waktu absolut (java.util.Date). Parameter ketiga pada method schedule() adalah periode pengulangan dari tugas. Jika nilai pengulangan diberikan, tugas akan dieksekusi dalam periode waktu tertentu. Timer timer = new Timer(); TimerTask task = new CounterTask(); Pengembangan Perangkat Mobile 1
  • 2. J.E.N.I. // task akan dimulai dalam 8 detik dan diulangi setiap 1 detik timer.schedule(task, 8000, 1000); Anda dapat menghentikan timer dengan menggunakan method close(). Method ini dapat menghentikan timer dan mengabaikan tugas yang dijadwalkan. Perlu Anda catat, bahwa ketika Timer dihentikan, maka tidak dapat diulangi (direstart) kembali. void schedule(TimerTask task, Long delay) Melakukan penjadwalan tugas untuk dieksekusi sesudah menentukan delay yang diinginkan (dalam milliseconds) void schedule(TimerTask task, Long delay , long period) Melakukan penjadwalan tugas untuk dieksekusi berulang-ulang, dimulai sesudah delay yang ditentukan (dalam milliseconds) void schedule(TimerTask task, Date time) Melakukan penjadwalan tugas agar dapat dieksekusi pada waktu yang ditentukan. void schedule(TimerTask task, Date time, long period) Melakukan penjadwalan tugas untuk dieksekusi berulang-ulang, dimulai pada waktu yang ditentukan. void cancel() Menghentikan timer, mengabaikan tugas yang dijadwalkan. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*; import java.util.Timer; import java.util.TimerTask; import java.util.Date; public class TimerMidlet extends MIDlet implements CommandListener{ private Command exitCommand; private Form form; private StringItem textField; private Display display; Pengembangan Perangkat Mobile 2
  • 3. J.E.N.I. public TimerMidlet() { exitCommand = new Command("Exit", Command.EXIT, 1); textField = new StringItem("Counter", ""); Timer timer = new Timer(); TimerTask task = new CounterTask(this); timer.schedule(task, 2000, 1000); form = new Form("Timer Test"); form.addCommand(exitCommand); form.append(textField); } public void startApp() { display = Display.getDisplay(this); form.setCommandListener(this); display.setCurrent(form); } public void pauseApp() {} public void destroyApp(boolean unconditional) { timer.cancel(); } public void commAndaction(Command c, Displayable d) { if (c == exitCommand) { destroyApp(true); notifyDestroyed(); } } public void setText(String text){ textField.setText(text); } } class CounterTask extends TimerTask { Pengembangan Perangkat Mobile 3
  • 4. J.E.N.I. int counter = 0; TimerMidlet midlet; public CounterTask(TimerMidlet midlet){ this.midlet = midlet; } public void run() { counter++; midlet.setText("" + counter); System.out.println("Counter: " + counter); } } 11.3 Push Functionality Push Registry berfungsi agar MIDlet bisa meregister koneksi yang masuk dengan Application Management Software (AMS). Jika program tidak berjalan, AMS akan mendengarkan koneksi pada alamat yang telah diregister oleh aplikasi. Hampir semua tipe koneksi didukung, termasuk ServerSocket dan MessageConnection. Anda dapat meregister koneksi yang masuk dengan Push Registry menggunakan dua cara: cara statis dengan menggunakan file application descriptor (JAD) atau dinamis selama proses runtime menggunakan PushRegistry API. Pada bab ini kita akan meregister secara statis push application kita pada application descriptor (JAD) kita. NetBeans Mobility Pack membantu kita untuk memodifikasi Application Descriptor dengan mudah termasuk pada Push Registry. Klik kanan pada Project name, selanjutnya klik Properties untuk membuka Properties Page pada project. Pengembangan Perangkat Mobile 4
  • 5. J.E.N.I. Pilih bagian Push Registry: Klik "Add" untuk meregister koneksi yang masuk: Pengembangan Perangkat Mobile 5
  • 6. J.E.N.I. Ulangi proses sebelumnya hingga semua koneksi yang masuk sudah teregister. Dalam kasus ini, kita melakukan koneksi sms pada port 8888 dan koneksi socket (socket connection) pada port 1234: Pengembangan Perangkat Mobile 6
  • 7. J.E.N.I. Pilih bagian "API Permissions": Pilih "Add" untuk menambah ijin (permission) untuk aplikasi MIDlet. Kita harus menambahkan API javax.microedition.io.PushRegistry untuk menginstall aplikasi. Kita juga harus menambahkan semua API yang digunakan oleh aplikasi: Pengembangan Perangkat Mobile 7
  • 8. J.E.N.I. Hilangkan tAnda pada bagian required untuk semua API: Pengembangan Perangkat Mobile 8
  • 9. J.E.N.I. Pilih bagian "Signing" dan beri tAnda "Sign Distribution" untuk mendaftarkan aplikasi MIDlet: Pengembangan Perangkat Mobile 9
  • 10. J.E.N.I. Pilih bagian "Running" dan pilih "Execute through OTA (Over the Air Provisioning)". Hal ini merupakan proses instalasi dan eksekusi aplikasi pada device. Pengembangan Perangkat Mobile 10
  • 11. J.E.N.I. Langkah selanjutnya adalah menjalankan aplikasi MIDlet. Pastikan build berjalan dan tidak ada error ketika melakukan instalasi device (via OTA provisioning). Pengembangan Perangkat Mobile 11
  • 12. J.E.N.I. Untuk menjalankan aplikasi MIDlet, gunakan WMA console (Tools -> Java Platform Manager -> J2ME Wireless Toolkit 2.2 -> Open Utilities -> WMA: Open Console -> Send SMS...). Pilih nomor device, tentukan nomor port yang sudah ada pada PushRegistry, masukkan pesan dan klik "Send": Pengembangan Perangkat Mobile 12
  • 13. J.E.N.I. AMS akan menerima koneksi yang datang dan menanyakan konfirmasi selanjutnya kepada user: Pengembangan Perangkat Mobile 13
  • 14. J.E.N.I. Ini adalah aplikasi MIDlet, dijalankan melalui Push Registry (melalui pesan SMS masuk): Pengembangan Perangkat Mobile 14
  • 15. J.E.N.I. Ini adalah aplikasi kita yang dijalankan melalui Push Registry (socket pada port 1234). Untuk menjalankan aplikasi MIDlet dengan cara ini, layar console dan ketik "telnet localhost 1234". Pengembangan Perangkat Mobile 15
  • 16. J.E.N.I. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*; import java.util.Timer; import java.util.TimerTask; import javax.microedition.io.*; public class PushMidlet extends MIDlet implements CommandListener{ private Command exitCommand; private Form form; private StringItem textField; private Display display; private String[] connections; public PushMidlet() { exitCommand = new Command("Exit", Command.EXIT, 1); textField = new StringItem("Status", ""); form = new Form("Push via sms message"); form.addCommand(exitCommand); form.append(textField); } public void startApp() { connections = PushRegistry.listConnections(true); if (connections != null && connections.length > 0){ textField.setText( "Launched via Push Registry: " + connections[0]); } display = Display.getDisplay(this); form.setCommandListener(this); Pengembangan Perangkat Mobile 16
  • 17. J.E.N.I. display.setCurrent(form); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commAndaction(Command c, Displayable d) { if (c == exitCommand) { notifyDestroyed(); } } public void setText(String text){ textField.setText(text); } } Pengembangan Perangkat Mobile 17
  • 18. J.E.N.I. 11.4 Latihan 11.4.1 Time Midlet Buatlah sebuah aplikasi MIDlet yang menampilkan tanggal dan waktu hari ini dan terupdate setiap detik. Gunakan Timer untuk melakukan update dan StringItem untuk menampilkan tanggal dan waktu. Pengembangan Perangkat Mobile 18