SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt? (12)

01 deteksi waktu windows
01 deteksi waktu windows01 deteksi waktu windows
01 deteksi waktu windows
 
Dasar Java Mobile
Dasar Java MobileDasar Java Mobile
Dasar Java Mobile
 
Laporan praktikum modul 7 pemrogrman mobile j2me
Laporan praktikum modul 7 pemrogrman mobile j2me Laporan praktikum modul 7 pemrogrman mobile j2me
Laporan praktikum modul 7 pemrogrman mobile j2me
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
 
Modul 3-p3-4
Modul 3-p3-4Modul 3-p3-4
Modul 3-p3-4
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visual
 
Materi java merancang aplikasi teks dan dekstop berbasis obyek
Materi java merancang aplikasi teks dan dekstop berbasis obyekMateri java merancang aplikasi teks dan dekstop berbasis obyek
Materi java merancang aplikasi teks dan dekstop berbasis obyek
 
Belajar Java dasar
Belajar Java dasarBelajar Java dasar
Belajar Java dasar
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
Modul iii dan iv algo
Modul iii dan iv algoModul iii dan iv algo
Modul iii dan iv algo
 

Andere mochten auch (9)

Jeni j2 me-bab08-web services
Jeni j2 me-bab08-web servicesJeni j2 me-bab08-web services
Jeni j2 me-bab08-web services
 
Jeni j2 me-cover
Jeni j2 me-coverJeni j2 me-cover
Jeni j2 me-cover
 
Jeni J2 Me Bab06 Jaringan
Jeni J2 Me Bab06 JaringanJeni J2 Me Bab06 Jaringan
Jeni J2 Me Bab06 Jaringan
 
Jeni j2 me-bab10-optional%20packages
Jeni j2 me-bab10-optional%20packagesJeni j2 me-bab10-optional%20packages
Jeni j2 me-bab10-optional%20packages
 
Jeni j2 me-bab03-high level user interface
Jeni j2 me-bab03-high level user interfaceJeni j2 me-bab03-high level user interface
Jeni j2 me-bab03-high level user interface
 
Jeni j2 me-bab07-security
Jeni j2 me-bab07-securityJeni j2 me-bab07-security
Jeni j2 me-bab07-security
 
Jeni j2 me-bab04-low level user interface
Jeni j2 me-bab04-low level user interfaceJeni j2 me-bab04-low level user interface
Jeni j2 me-bab04-low level user interface
 
Jeni j2 me-bab06-jaringan
Jeni j2 me-bab06-jaringanJeni j2 me-bab06-jaringan
Jeni j2 me-bab06-jaringan
 
Jeni j2 me-bab05-persistence
Jeni j2 me-bab05-persistenceJeni j2 me-bab05-persistence
Jeni j2 me-bab05-persistence
 

Ähnlich wie Jeni j2 me-bab11-topik-topik tambahan

JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdfJENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
Jurnal IT
 
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
UNIVERSITY Of LAMPUNG
 
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdfJENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
Jurnal IT
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_function
Polytechnic State Semarang
 
Aplinet 1100631006
Aplinet 1100631006Aplinet 1100631006
Aplinet 1100631006
yolandalala
 
Program chatting
Program chattingProgram chatting
Program chatting
Aisy Cuyy
 
Praktikum ii sistem tertanam
Praktikum ii sistem tertanamPraktikum ii sistem tertanam
Praktikum ii sistem tertanam
sulaiman yunus
 
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
yoyomay93
 

Ähnlich wie Jeni j2 me-bab11-topik-topik tambahan (20)

JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdfJENI-J2ME-Bab11-Topik-topik Tambahan.pdf
JENI-J2ME-Bab11-Topik-topik Tambahan.pdf
 
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
 
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdfJENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
 
Pemrograman Dasar Android
Pemrograman Dasar AndroidPemrograman Dasar Android
Pemrograman Dasar Android
 
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
Laporan praktikum modul 8 pemrogrman mobile j2me II devi-201208104
 
J2me
J2meJ2me
J2me
 
Praktikum 10
Praktikum 10Praktikum 10
Praktikum 10
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_function
 
Dasar java mobile
Dasar java mobileDasar java mobile
Dasar java mobile
 
Aplinet 1100631006
Aplinet 1100631006Aplinet 1100631006
Aplinet 1100631006
 
Java2 micro edition_Helmi MH_1100631026
Java2 micro edition_Helmi MH_1100631026Java2 micro edition_Helmi MH_1100631026
Java2 micro edition_Helmi MH_1100631026
 
Program chatting
Program chattingProgram chatting
Program chatting
 
Modul psb 2 j2me
Modul psb 2 j2meModul psb 2 j2me
Modul psb 2 j2me
 
Praktikum ii sistem tertanam
Praktikum ii sistem tertanamPraktikum ii sistem tertanam
Praktikum ii sistem tertanam
 
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
 
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
 
Modul psb 1 j2 me
Modul psb 1 j2 meModul psb 1 j2 me
Modul psb 1 j2 me
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Modularisasi – function dalam c++
Modularisasi – function dalam c++Modularisasi – function dalam c++
Modularisasi – function dalam c++
 

Mehr von UNIVERSITY Of LAMPUNG

Jeni j2 me-bab01-pengembangan aplikasi mobile
Jeni j2 me-bab01-pengembangan aplikasi mobileJeni j2 me-bab01-pengembangan aplikasi mobile
Jeni j2 me-bab01-pengembangan aplikasi mobile
UNIVERSITY Of LAMPUNG
 
Jeni slides j2 me-10- optional package
Jeni slides j2 me-10- optional packageJeni slides j2 me-10- optional package
Jeni slides j2 me-10- optional package
UNIVERSITY Of LAMPUNG
 
Jeni slides j2 me-04 low level user interface-v 0.2
Jeni slides j2 me-04 low level user interface-v 0.2Jeni slides j2 me-04 low level user interface-v 0.2
Jeni slides j2 me-04 low level user interface-v 0.2
UNIVERSITY Of LAMPUNG
 
Jeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interfaceJeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interface
UNIVERSITY Of LAMPUNG
 
Jeni slides j2 me-02-memulai pemrograman mobile
Jeni slides j2 me-02-memulai pemrograman mobileJeni slides j2 me-02-memulai pemrograman mobile
Jeni slides j2 me-02-memulai pemrograman mobile
UNIVERSITY Of LAMPUNG
 
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobileJeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
UNIVERSITY Of LAMPUNG
 
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
UNIVERSITY Of LAMPUNG
 

Mehr von UNIVERSITY Of LAMPUNG (12)

Jeni j2 me-bab01-pengembangan aplikasi mobile
Jeni j2 me-bab01-pengembangan aplikasi mobileJeni j2 me-bab01-pengembangan aplikasi mobile
Jeni j2 me-bab01-pengembangan aplikasi mobile
 
Jeni j2 me-bab09-optimisasi
Jeni j2 me-bab09-optimisasiJeni j2 me-bab09-optimisasi
Jeni j2 me-bab09-optimisasi
 
Jeni slides j2 me-10- optional package
Jeni slides j2 me-10- optional packageJeni slides j2 me-10- optional package
Jeni slides j2 me-10- optional package
 
Jeni slides j2 me-07-security
Jeni slides j2 me-07-securityJeni slides j2 me-07-security
Jeni slides j2 me-07-security
 
Jeni slides j2 me-06-networking
Jeni slides j2 me-06-networkingJeni slides j2 me-06-networking
Jeni slides j2 me-06-networking
 
Jeni slides j2 me-05-persistence
Jeni slides j2 me-05-persistenceJeni slides j2 me-05-persistence
Jeni slides j2 me-05-persistence
 
Jeni slides j2 me-04 low level user interface-v 0.2
Jeni slides j2 me-04 low level user interface-v 0.2Jeni slides j2 me-04 low level user interface-v 0.2
Jeni slides j2 me-04 low level user interface-v 0.2
 
Jeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interfaceJeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interface
 
Jeni slides j2 me-02-memulai pemrograman mobile
Jeni slides j2 me-02-memulai pemrograman mobileJeni slides j2 me-02-memulai pemrograman mobile
Jeni slides j2 me-02-memulai pemrograman mobile
 
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobileJeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
Jeni slides j2 me-01-pengenalan thdp pembangunan apl mobile
 
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
 
Jeni slides j2 me-09-optimisasi
Jeni slides j2 me-09-optimisasiJeni slides j2 me-09-optimisasi
Jeni slides j2 me-09-optimisasi
 

Kürzlich hochgeladen

Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
AtiAnggiSupriyati
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
NurindahSetyawati1
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
HafidRanggasi
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
AgusRahmat39
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
dpp11tya
 

Kürzlich hochgeladen (20)

PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 

Jeni j2 me-bab11-topik-topik tambahan

  • 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