• Tidak ada hasil yang ditemukan

BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III JAVA 2 MICROEDITION (J2ME) definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan"

Copied!
11
0
0

Teks penuh

(1)

BAB III

JAVA 2 MICROEDITION (J2ME)

3.3 Arsitektur Java

Bahasa Java merupakan salah satu bahasa tingkat tinggi. Java berdasarkan definisi dari sun adalah sekumpulan teknologi pemrograman yang digunakan untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada ligkungan jaringan. Java juga dapat digunakan untuk aplikasi-aplikasi pada perngakat elektronik portable atau yang disebut dengan

platform-independent (tidak tergantung pada platform)[5]. Itulah yang menyebabkan

adanya istilah ‘write once, run everywhere’, yang artinya kode program hanya ditulis sekali, namun dapat dijalankan di bawah platform manapun, tanpa harus melakukan perubahan kode program.

Java 2 merupakan generasi kedua dari Java platform (generasi awalnya adalah Java Development Kit). Java berdiri di atas sebuah mesin interpreter yang bernama Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin[6]. Dengan demikian program Java dapat dijalankan dalam berbagai sistem operasi asalkan pada sistem operasi tersebut terdapat JVM.

Platform java terdiri dari kumpulan library, JVM, kelas-kelas loader yang

dipaket dalam sebuah lingkungan rutin Java, sebuah compiler, debuger, dan elemen lain yang dipaket dalam Java Development Kit (JDK). Java 2 adalah generasi terbaru Java yang sedang dikembangkan dalam platform Java. Untuk

(2)

menjalankan sebuah program Java, maka diperlukan file dengan ekstensi .java

yang harus dikompilasi menjadi file bytecode. Suatu file bytecode dapat dijalankan jika terdapat JRE (Java Runtime Environtment). JRE ini berisikan JVM dan library Java yang digunakan dalam suatu program. Dalam aplikasinya, JRE hanya menjalankan program, tidak untuk membuat kode baru lagi[6]. Gambar 3.1 di bawah ini menunjukkan ruang lingkup keterhubungan optional packages dalam Java. Optional Packages Java 2 Platform, Enterprise Edition (J2EE) JVMTM Optional Packages Java 2 Platform, Enterprise Edition (J2EE) JVMTM Optional Packages Optional Packages Personal Profile Foundation Profile CDC JVMTM Personal Basis Profile MIDP CDLC KVM Java Card Card VM

Java Platform, Micro Edition (Java ME) Servers & enterprise computers Servers & personal computers Smart cards Mobile Phones& entry-level PDAs High-end PDAs TV set-top boxes Embeded device

Gambar 3.1 Ruang lingkup keterhubungan optional packages dalam Java[9]

Platform Java memiliki tiga buah edisi yang berbeda. Dalam hal ini, Sun

(3)

• Java 2 Standar Edition (J2SE), yang digunakan untuk mengembangkan aplikasi-aplikasi dekstop dan applet (aplikasi Java yang dapat dijalankan di dalam browser web).

• Java 2 Enterprise Edition (J2EE), merupakan superset dari J2SE yang memperbolehkan kita untuk mengembangkan aplikasi-aplikasi berskala besar (enterprise), yaitu dengan melakukan pembuatan aplikasi-aplikasi di sisi

server dengan menggunakan EJBs (Enterprise JavaBeans), aplikasi web

dengan menggunakan Servlet dan JSP (Java Server Pages) dan teknologi lainnya seperti COBRA (Common Object Request Broker Architecture) dan XML (Extensible Markup Language).

• Java 2 Micro Edition (J2ME), merupakan subset dari J2SE yang digunakan untuk menangani pemrograman di dalam perangkat kecil, yang tidak memungkinkan mendukung implementasi J2SE secara penuh.

3.4 Java 2 Microedition (J2ME)

Java 2 Micro Edition (J2ME) adalah lingkungan pengembangan yang dirancang untuk meletakkan perangkat lunak Java pada alat elektronik beserta perangkat pendukungnya[6]. J2ME terbentuk antara sekumpulan interface Java yang sering disebut dengan Java API (Application Programming Interface) dengan JVM (Java Virtual Machine). Kombinasi tersebut kemudian digunakan untuk melakukan pembuatan aplikasi-aplikasi yang dapat berjalan di atas alat (mobile devices) misalnya pada telepon selular, pager, Personal Digital Assistants (PDA) dan sejenisnya.

(4)

J2ME adalah bagian dari J2SE sehingga tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Demikian juga J2ME mempunyai library khusus yang tidak dimiliki J2SE. Arsitektur J2ME dapat dilihat pada Gambar 3.2 di bawah ini. Profile Kumpulan Library JVM Sistem Operasi Configuration

Gambar 3.2 Arsitektur J2ME[6]

Teknologi J2ME memiliki beberapa keterbatasan terutama jika diaplikasikan pada perangkat (device) yang memiliki keterbatasan pula. Contohnya, jika J2ME akan diaplikasikan pada sebuah ponsel, maka jalan atau tidaknya program tersebut tergantung kemampuan ponsel dalam mendukung fitur-fitur yang ada pada J2ME. Keterbatasan besar memori pada ponsel juga sangat mempengaruhi aplikasi J2ME pada ponsel karena setiap program memiliki ukuran aplikasi tertentu.

3.4.1 Konfigurasi

Konfigurasi merupakan bagian yang berisi JVM dan beberapa library. Konfigurasi hanya mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar device. Terdapat dua buah konfigurasi pada J2ME yaitu

(5)

CDC (Connected Device Configuration) dan CLDC (Connected Limited Device

Configuration). CDC merupakan superset dari CLDC sehingga semua kelas yang

didefinisikan di dalam CLDC akan terdapat pada CDC. Tabel 3.1 di bawah ini menjelaskan perbandingan CDC dengan CLDC.

Tabel 3.1 Perbandingan CDC dengan CLDC[6]

CDC CLDC

Mengimplementasikan seluruh fitur J2SE Mengimplementasikan sebagian fitur J2SE JVM yang digunakan adalah CVM JVM yang digunakan adalah KVM

Digunakan pada perangkat genggam Digunakan pada perangkat genggam (internet TV, Nokia Communicator, car TV) (handphone, PDA, pager) dengan memori dengan memori minimal 2 MB terbatas (160 - 512 KB)

Prosesor: 32 bit Prosesor : 16/32 bit

3.4.2 Profil

Profil merupakan bagian perluasan dari konfigurasi. Berbeda dengan konfigurasi, profil membahas sesuatu yang spesifik untuk sebuah perangkat. Selain sekumpulan kelas yang terdapat pada konfigurasi, terdapat juga kelas spesifik yang didefinisikan lagi di dalam profil. Dengan kata lain, profil akan membantu secara fungsional yaitu dengan menyediakan kelas-kelas yang tidak terdapat di level konfigurasi.

Dalam J2ME terdapat dua buah profil yaitu MIDP dan Foundation profile.

Foundation Profile merupakan profil yang digunakan untuk konfigurasi CDC.

Profil ini menambahkan beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga sebagai pondasi untuk membentuk profil baru lainnya. MIDP (Mobile Information Device Profil) 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

(6)

dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 yaitu API untuk multimedia. MIDP Kumpulan Library KVM Sistem Operasi CLDC

Gambar 3.3 MIDP dalam arsitektur J2ME[6]

Tabel 3.2 Perbandingan MIDP 1.0 dengan MIDP 2.0[6]

Spesifikasi MIDP 1.0 MIDP 2.0

Display 96x54 96x54

Kedalaman 1-bit 1-bit

Display

Bentuk piksel Mendekati 1:1 Mendekati 1:1

(rasio aspek)

Input Keyboard dan touch screen Keyboard dan touch screen

Memori 128 KB memori non-volatile untuk 256 KB memori non-volatile untuk

komponen MIDP 8 KB memori non- komponen MIDP 8 KB memori non-

volatile untuk data persistence yang volatile untuk data persistence yang

dibuat oleh aplikasi 32 KB memori dibuat oleh aplikasi 128 KB memori

volatile untuk JRE volatile untuk JRE

Jaringan Dua arah, tanpa kabel (wireless) Dua arah, tanpa kabel (wireless)

Library javax.microedition.lcdui, javax.microedition.lcdui,

J2ME yang javax.microedition.midlet, javax.microedition.midlet,

bukan javax.microedition.rms, javax.microedition.rms,

merupakan javax.microedition.lcdui.game,

library J2SE javax.microedition.media,

javax.microedition.pki,

Multimedia - Memiliki kemampuan untuk memainkan

(7)

3.4.3 MIDlet

MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. Dalam mengaplikasikan MIDlet terdapat beberapa metode yang harus ada, yaitu constructor(), protected void startApp()throws MIDletStateChangeException, protected void pauseApp(), protected void destroyApp (bolean unconditional) throws MIDletStateChangeException. Alur hidup MIDlet dapat dilihat pada Gambar 3.4 di bawah ini.

Konstruktor Jedah Aktif Terminasi MIDlet memanggil pauseApp() MIDlet memanggil startApp() MIDlet memanggil destroyApp() untuk terminasi

Gambar 3.4 Daur hidup MIDlet[6]

Pertama kali ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu dengan startApp(). Metode yang ada tersebut diimplementasikan sebagai protected, hal ini dimaksudkan agar MIDlet lain

(8)

tidak dapat memanggil metode tersebut. Pada saat pemakai keluar dari MIDlet, maka dijalankan metode destroyApp(). Metode notifyDestroyed() akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi. Metode

destroyApp() akan memanggil notifyDestroyed(), dan

notifyDestroyed() akan memberitahu platform untuk menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet.

Dalam implementasinya, MIDlet memiliki struktur direktori sebagai berikut:

• src

Menyimpan source code untuk MIDlet dan kelas lain yang diperlukan. • res

Menyimpan sumber daya yang dibutuhkan oleh MIDlet, seperti misalnya gambar icon.

• lib

Menyimpan file JAR atau ZIP yang berisi library tambahan yang dibutuhkan MIDlet.

• bin

Menyimpan file JAR, JAD, dan file manifest yang berisi muatan komponen MIDlet.

(9)

3.4.4 JAD (Java Application Descriptor)

Digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File JAD berisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet. File JAR berisi kumpulan kelas dan resource.

3.5 Aplikasi J2ME dalam Perancangan Sistem Telemetri 3.5.1 Pengiriman dan Penerimaan Pesan Singkat

Pada J2ME diizinkan aplikasi untuk mengirim dan menerima SMS, namun dengan alasan keamanan sebuah MIDlet hanya dapat memproses pesan SMS yang dikirimkan pada port yang terdaftar sebagai listener. MIDlet tidak dapat mengakses pesan SMS dari aplikasi lain ataupun yang dikirimkan pada port standar (default). Hal ini sangat berdampak pada penerimaan SMS melalui MIDlet karena dengan demikian kita tidak dapat mengakses inbox ponsel, namun sebaliknya kita dapat membuat aplikasi MIDlet untuki mengirimkan pesan yang masuk ke inbox ponsel.

Paket interface yang menyediakan fasilitas pengiriman dan penerimaan pesan dalam J2ME ini terdapat pada paket WMA (Wireless Messaging API). Kelas-kelas dalam paket ini tersimpan dalam paket

javax.microedition.wireless. messaging. Dalam kelas ini terdapat tiga buah interface, yaitu TextMessage, BinaryMessage, dan

MessageConnection. Hubungan antara ketiga interface ini ditunjukkan pada Gambar 3.5 di bawah ini.

(10)

Gambar 3.5 Interface paket WMA dalam J2ME untuk pengiriman dan penerimaan pesan[7]

3.5.2 Aplikasi Record Management System (RMS)

Dalam J2ME, MIDlet tidak menggunakan file sistem untuk menyimpan data, tetapi menyimpan semua informasi dalam sebuah memori non-volatile (memori tetap) yang disebut dengan Record Management System (RMS)[4]. RMS merupakan kumpulan record yang disimpan sebagai array dari byte dalam sebuah

record store. RMS memiliki orientasi record basis data yang sederhana sehingga MIDlet dapat menyimpan informasi dan mengaksesnya.

(11)

Pada konsepnya, record yang disimpan dalam record store diakses berdasarkan recordID yang berupa interger. RecordID ini biasanya digunakan untuk mengakses record seperti fungsi indeks pada pengaksesan array.

Gambar

Gambar 3.1 Ruang lingkup keterhubungan optional packages dalam Java[9]
Gambar 3.4 Daur hidup MIDlet[6]
Gambar 3.5 Interface paket WMA dalam J2ME untuk pengiriman dan penerimaan  pesan[7]
Gambar 3.6 Penyimpanan record dalam record store [6]

Referensi

Dokumen terkait

Pertunjukan dapat berupa pemain solo yang menggunakan improvisasi untuk kesenangan pribadi sampai yang sangat terencana dan teratur seperti pada musik klasik modern,

Sehubungan dengan hasil analisa validitas yang telah dilakukan dimana nilai validitas dari credit scoring yang terdahulu masih cukup rendah, maka dari hasil

Makna leksikal (jishoteki-imi / goiteki-imi) adalah makna kata yang sesungguhnya sesuai dengan referensinya sebagai hasil pengamatan indra dan terlepas dari unsur

bahwa dalam rangka lebih meningkat kan ef isiensi dan ef ekt ivit as usaha, maka Perusahaan Umum (PERUM) Pelabuhan IV yang didirikan dengan Perat uran Pemerint ah Nomor 7 Tahun

kejadian gingival lead line pada pekerja bengkel kendaraan bermotor di kota Semarang dan Oktaria C yang meneliti pengaruh masa kerja dengan

PT Mintec Abadi • Overburden production in August 2017 is higher compare with the productions in August 2016 due to the reduction in mud loading activity and

The escalating volumes were made possible due to rising Fresh Fruit Bunches (FFB) production from the palm oil estates under management that reached 1.52 million tons, or 12%

[r]