6 BAB 2 LANDASAN TEORI 2.1 Sistem Terminal Informasi Terminal

advertisement
BAB 2
LANDASAN TEORI
2.1
Sistem Terminal Informasi
Terminal informasi adalah suatu perangkat yang memperbolehkan
pengguna untuk mengakses ke suatu komputer, atau suatu tujuan akhir baik itu
berupa web server, database, dan lain-lain. Sama seperti terminal bus atau
terminal pada bandara udara, terminal merupakan suatu tempat persinggahan
atau perpindahan atau suatu penghubung antara sumber dengan tujuan. Terminal
informasi memberikan kemudahan bagi pengguna dalam melakukan komunikasi
data, sehingga sistem komunikasi data dapat lebih terstruktur dan fleksibel.
Sistem terminal informasi sudah banyak diterapkan di dalam kehidupan
sehari-hari dalam berbagai bentuk, seperti terminal informasi dengan kiosk /
touch screen, terminal informasi melalui teknologi Wireless Access Protocol
(WAP), Wi-Fi, dan lain-lain sebagainya. Adanya terminal informasi tersebut
memberikan kemudahan bagi pengguna dalam pengaksesan suatu sistem
informasi.
Contoh konkrit penerapan terminal informasi dengan kiosk adalah
terminal informasi dalam bentuk touch screen pada lingkungan Universitas Bina
Nusantara, yang digunakan untuk pengaksesan web server Binus Maya. Terminal
informasi dalam bentuk kiosk ini memiliki kelebihan antara lain:
• Pengguna tidak perlu memiliki perangkat tambahan untuk mengakses
suatu sistem informasi.
6
7
• Terminal informasi dengan kiosk cenderung lebih mudah digunakan
(user friendly).
Selain
kelebihan-kelebihan
tersebut,
juga
terdapat
kekurangan-
kekurangan seperti:
• Sebuah kiosk hanya mampu melayani satu orang dalam satu saat.
• Privasi kurang terjaga.
• Kehandalan sistem kurang.
• Jangkauan layanan sistem terbatas.
Terminal informasi dengan WAP lebih fleksibel dibanding dengan
terminal informasi melalui kiosk, karena terminal informasi dengan WAP
memanfaatkan
perangkat
telepon
seluler.
Kelebihan-kelebihan
terminal
informasi dengan WAP antara lain:
• Ketersediaan sistem.
• Dapat diakses oleh banyak pengguna dalam satu saat yang
bersamaan.
Sementara kekurangan dari sistem terminal informasi dengan WAP
antara lain adalah:
• Pengguna harus mengeluarkan biaya tambahan.
• Tidak semua web server memiliki WAP server.
• pengaturan yang cukup rumit pada perangkat telepon seluler.
• Memerlukan perangkat tambahan untuk mengakses informasi.
8
Sistem terminal informasi yang akan dirancang pada skripsi ini
merupakan pengembangan dari sistem terminal informasi dengan WAP.
Penggunaan teknologi Bluetooth untuk sistem terminal informasi ini memiliki
hampir semua fitur yang terdapat pada terminal informasi dengan WAP,
ditambah dengan beberapa fitur tambahan lainnya. Perbandingan ketiga jenis
terminal informasi ini dapat dilihat dari tabel 2.1.
Tabel 2.1. Perbandingan antara Terminal Informasi Kiosk, WAP, dan Bluetooth
No
Fitur
Kiosk
WAP
Bluetooth
1.
Ketersediaan sistem
Rendah
Tinggi
Tinggi
2.
Biaya akses
Gratis
Bayar
gratis
3.
Keamanan informasi
Kurang
Sedang
Sedang
4.
Perangkat tambahan
Tidak perlu
Perlu
Perlu
5.
Biaya pemeliharaan sistem
Mahal
Sedang
Sedang
6.
Jangkauan layanan
Kecil
Luas
Sedang
7.
Jumlah client yang dapat Satu client
Tergantung
Satu client
dilayani dalam satu saat
kapabilitas
WAP server
2.2
Bluetooth
2.2.1
Sejarah Bluetooth
Ide dasar dari teknologi komunikasi Bluetooth lahir dari para teknisi
yang
berasal
dari
Swedish
Telecommunications
Manufacturer
9
Telefonaktiebolaget
LM
Ericsson
(Hereafter,
Ericson)
yang
mencoba
menciptakan teknologi komunikasi dalam jarak pendek. Pada tahun 1994
Ericsson mencoba memulai mempelajari teknik komunikasi yang memerlukan
daya rendah serta biaya yang murah dengan menggunakan gelombang radio
untuk menghilangkan komunikasi kabel antara telepon selular dengan
aksesorisnya. Agar penelitian dapat lebih terarah maka pada tahun 1998,
beberapa perusahaan yang bergerak dalam bidang teknologi komunikasi seperti
Ericsson, Intel Corporation, International Business Machines Corporation
(IBM), Nokia Corporation dan Toshiba Corporation bekerja sama untuk
mendirikan sebuah lembaga yang difokuskan untuk pengembangan teknologi
Bluetooth yang dinamakan Bluetooth Special Interest Group (SIG). [2]
Bluetooth versi 1.0 merupakan Bluetooth versi pertama yang diluncurkan
secara resmi oleh Bluetooth SIG pada tahun 1999. Pada tahun 2001 diluncurkan
Bluetooth versi 1.1 secara khusus yang dikenal dengan nama Bluetooth SIG
2001b, kemudian pada tahun 2003 diluncurkan Bluetooth versi 1.2 yang dikenal
dengan nama Bluetooth SIG 2003a. Bluetooth versi 2.0 diluncurkan pada tahun
2004, kemudian dibuat standardnya oleh IEEE yang dikategorikan ke dalam
group Wireless Personal Area Network (WPAN) dengan standard 802.15.1[3].
2.2.2
Teknologi Bluetooth
•
Frekuensi operasi
Bluetooth beroperasi dari frekuensi 2400 – 2483,5 MHz yang terbagi dalam
79 channel dengan bandwith sebesar 1 MHz untuk setiap channel. Bluetooth
menggunakan frekuensi hopping di dalam melakukan komunikasi data dan
10
suara secara real time antara host-host bluetooth dengan jarak terbatas [1].
Frekuensi hopping adalah suatu teknik transmisi gelombang radio dengan
menggunakan pergantian frekuensi yang berbeda-beda dan terus menerus
untuk berkomunikasi supaya informasi yang dikirimkan tidak disadap oleh
pihak yang tidak berwenang [2].
•
Jangkauan layanan
Jangkauan layanan bluetooh bervariasi antara 1 m, 10 m dan 100 m. Besar
jangkauan layanan tergantung pada daya transmitter, semakin besar daya
semakin jauh jarak jangkauan transmisinya. Berdasarkan jangkauanya
Bluetooth dapat dikategorikan ke dalam tiga kelas[1][8]:
Tabel 2.2. Kelas Bluetooth
•
kelas
Daya (mW)
Jangkauan (meter)
1
100 mW
100 meter
2
10 mW
10 meter
3
1 mW
1 meter
Fasilitas Bluetooth
Bluetooth dapat mendukung komunikasi data dan suara. Komunikasi suara
pada Bluetooth menggunakan metode circuit-switching mode dengan jalur
komunikasi Synchronous Connection Oriented (SCO) sedangkan komunikasi
data menggunakan metode packet-switching mode dengan jalur komunikasi
Asynchronous Connection Less (ACL). [1]
11
•
Data rate
Bluetooth versi 1.0 dapat mencapai kecepatan hingga 723,1 Kbps, sementara
Bluetooth versi 2.0 memilik kecepatan hingga 2,1 Mbps. Teknologi
Enhanced Data Rate (EDR) dikembangkan untuk meningkatkan kecepatan
transmisi pada bluetooth versi 2.0. [1]
•
Topologi Jaringan
Topologi jaringan pada teknologi Bluetooth dibagi menjadi dua yaitu piconet
dan scatternet.
¾ Piconet
Di dalam melakukan komunikasi data, Bluetooth dibagi menjadi dua
bagian yaitu master dan slave. Komunikasi yang terbangun antara master
dan slave dinamakan dengan piconet. Piconet terdiri dari point-to-point
dan point-to-multipoint. Agar dapat berkomunikasi antara master dan
slave harus mempunyai frekuensi yang sama.
Komunikasi antara 1 master dan 1 slave
Master
Slave
12
Komunikasi antara 1 master dan beberapa slave
S
M
S
S
S
S
Gambar 2.1. Piconet
Slave harus menyesuaikan frekuensi yang dipancarkan oleh master
sehingga komunikasi data dapat dilaksanakan. [1]
¾ Scatternet
Scatternet adalah beberapa jaringan piconet yang saling berhubungan dan
berkomunikasi antara yang satu dengan yang lain [1]. Gambar berikut
merupakan contoh scatternet.
Gambar 2.2. Scatternet
13
2.2.3
Arsitektur Bluetooth
Perangkat bluetooth membutuhkan bluetooth protocol stack supaya dapat
melakukan komunikasi data. Bluetooth protocol stack dapat berupa hardware
maupun software. Bluetooth protocol stack dapat dilihat pada gambar 2.3.
Bluetooth protocol stack terbagi ke dalam dua bagian yaitu bluetooth host dan
bluetooth controller, Host Controller Interface (HCI) menyediakan layanan
untuk interaksi antara bluetooth host dengan bluetooth controller.
Gambar 2.3. Bluetooth Protocol Stack, warna hijau merepresentasikan protokol
yang dikontrol oleh JAVA API
Pada gambar 3 terdapat bagian yang ditandai dengan warnai hijau
merepresentasikan bahwa bagian tersebut dikontrol oleh paket API dari Java
(perangkat lunak).
Layer radio bertanggung jawab untuk melakukan modulasi dan
demodulasi data untuk transmisi gelombang radio. Baseband/Link Controller
berfungsi untuk mengontrol jalur komunikasi melalui gelombang radio, misalnya
14
pengaturan frekuensi hopping untuk komunikasi. Link Manager Protocol (LMP)
bertanggung jawab untuk keamanan transmisi data. RFCOMM merupakan
protokol yang digunakan untuk melakukan data secara serial.
Object Exchange (OBEX) merupakan protokol untuk melakukan
pertukaran objek, misalnya untuk pertukaran file. Telephony Control Protocol
Specification (TCS) menyediakan layanan telepon. Service Discovery Protocol
(SDP) merupakan protokol yang berfungsi untuk mencari layanan perangkat
bluetooth yang tersedia.
RFCOMM merupakan protokol yang berfungsi untuk mengubah data ke
dalam bentuk untaian bit sehingga siap untuk dikirimkan melalui medium
gelombang radio. Logical Link Control and Adaptation Protocol (L2CAP)
merupakan protokol yang berfungsi untuk melakukan konversi untaian bit dari
RFCOMM ke dalam bentuk paket data.[2]
2.2.4
Perbandingan teknologi Bluetooth dengan teknologi lain.
2.2.4.1 Bluetooth dengan IrDA
Infrared Data Association didirikan pada tahun 1993 dengan tujuan
melakukan komunikasi point to point dengan biaya yang murah. IR terdiri dari
dua yaitu Serial IR (SIR) yang dapat mendukung pertukaran data sampai dengan
115 Kbps dan Fast IR (FIR) yang dapat mendukung pertukaran data sampai
dengan 4 Mbps dalam radius jangkauan sejauh 1 meter. Kelemahan dari IR
adalah sinyal gelombang pada infrared tidak dapat digunakan untuk menembus
tembok penghalang, dan jarak transmisi yang relatif pendek.[1]
15
2.2.4.2 Bluetooth dengan HomeRF
Jangkauan dari HomeRF dapat mencapai 50 meter, dapat mencakup
sebanyak 127 perangkat dalam satu jaringan. Home RF beroperasi pada
frekuensi 2,4 GHz dengan daya transmit sebesar 100mW. Kecepatan transfer
data dapat mencapai 10 Mbps dengan menggunakan frekuensi hopping spread
spectrum dalam 50 hops per detik.[1]
2.2.4.3 Bluetooth dengan 802.11 Wireless LAN
Wireless LAN di kembangkan oleh IEEE dengan standar yang sudah di
tentukan yaitu 802.11 yang didukung oleh Wireless Ethernet Compatibility
Association (WECA). Wireless LAN 802.11 dapat mendukung penggunaan 10
sampai dengan 100 access point dengan data rate yang mencapai 11 Mbps,
dengan menggunakan medium access yaitu Direct Sequence Spread Spectrum
(DSSS).[1]
2.3
Pemrograman Java
2.3.1
Sejarah Perkembangan Java
Bill Joy, direktur utama Sun Microsystems, dipercaya sebagai orang yang
pertama kali mencetuskan ide mengenai sebuah bahasa pemrograman yang
kemudian dikenal dengan nama bahasa pemrograman Java. Pada akhir tahun
1970an, Joy ingin membangun sebuah bahasa yang dapat menggabungkan semua
fitur yang terdapat pada bahasa MESA dan C. Pada tahun 1980an, Joy mencoba
menulis ulang sistem operasi UNIX dan Joy menemukan bahwa C++ tidak cocok
16
untuk mendukung pekerjaannya tersebut. Sebuah perangkat yang lebih baik dari
C++ dibutuhkan untuk menulis program secara pendek dan lebih efektif [4][9].
Pada januari tahun 1991, Bill Joy, James Gosling, Mike Sheradin, Patrick
Naughton, dan beberapa orang pemrogram lainnya melakukan pertemuan untuk
pertama kalinya di Aspen, Colorado untuk berdiskusi mengenai sebuah proyek
rahasia. Tujuan dari proyek rahasia tersebut adalah untuk melakukan penelitian
mengenai penerapan aplikasi komputer ke dalam pasar barang-barang elektronik.
Visi dari proyek ini adalah untuk mengembangkan sebuah sistem perangkat
elektronik yang pintar, yang dapat dikontrol secara terpusat dan dapat diprogram
melalui sebuah perangkat yang menyerupai remote control. Dengan tujuan dan
keinginan yang kuat dalam pikiran mereka, tim proyek rahasia yang terakhir
dikenal dengan nama proyek The Green ini, mulai bekerja keras membangun
sistem tersebut.
Dalam pengembangan proyek The Green tersebut, James Gosling yang
merupakan salah satu programmer yang bergabung dengan Sun sejak tahun 1984,
melakukan modifikasi dan penambahan ke dalam bahasa C++ (atau dikenal juga
C++ ++ --). Hal ini merupakan langkah awal dari pengembangan bahasa program
yang diramalkan akan menjadi bahasa program yang cocok untuk pengembangan
proyek The Green. James Gosling memberi nama kepada bahasa program hasil
modifikasi tersebut dengan nama “Oak”, karena tempat kerja James Gosling
menghadap ke sebuah pohon Oak, dan setiap hari dia selalu berhadapan dengan
pohon Oak tersebut ketika bekerja.
Nama Oak tidak dipakai ketika bahasa
program ini diluncurkan pertama kalinya, karena sebelumnya sudah terdapat
sebuah perangkat lunak yang terdaftar dengan merek dagang tersebut, sehingga
17
diambil nama penggantinya yaitu “Java”. Nama ini diambil dari kopi murni yang
digiling langsung dari biji kopi kesukaan Gosling.
Kelebihan bahasa pemrogramman java dibandingkan dengan bahasa
lainnya antara lain adalah [4][7]:
•
Multiplatform, di mana program Java dapat dijalankan di beberapa
platform atau sistem operasi komputer, sesuai dengan prinsip write
once, run every where.
•
Java mengadopsi konsep pemrograman berorientasikan objek.
•
Library kelas sangat lengkap memudahkan para programmer untuk
membangun aplikasinya.
•
Java memiliki fasilitas pengaturan penggunaan memori sehingga
programmer tidak perlu melakukan pengaturan memori secara
langsung.
Kekurangan bahasa pemrograman Java antara lain [4]:
•
Ada beberapa hal yang tidak kompatibel antar platform sehingga
membutuhkan waktu debug yang cukup lama.
•
Mudah didekompilasi, yaitu suatu proses membalikkan dari
executable code menjadi source code.
•
Pemakaian resource memori yang cukup besar sehingga tidak efisien.
Integrated Development Environment (IDE) merupakan program yang
dibuat untuk membantu mempermudah pengguna dalam menulis sebuah bahasa
program. IDE yang dirancang untuk Java diantaranya yaitu NetBeans, Eclipse
18
JDT, IntelliJ IDEA, Oracle JDeveloper, Xinox JCreator, dan lain-lain sebagainya
[13].
2.3.2
Pengenalan Java
Java adalah bahasa pemrograman serbaguna yang tidak bergantung pada
platform; artinya, program yang ditulis dengan bahasa Java dapat dijalankan
pada sebarang komputer dan bahkan pada sebarang sistem operasi. Java
mengadopsi konsep pemrograman berorientasi objek.
Kode sumber (source code) di dalam bahasa pemrograman Java disimpan
dalam file dengan bentuk format .java. Di dalam bahasa pemrograman Java
disertakan paket Java Development Kit (JDK) yang berfungsi sebagai compiler
untuk melakukan kompilasi atau menterjemahkan kode sumber ke dalam bentuk
bytecode. Kode yang disebut bytecode dapat dijalankan pada berbagai sistem
operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat
bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua
platform yang telah dilengkapi dengan interpreter Java. Java Runtime
Environment (JRE) merupakan interpreter Java yang menterjemahkan bytecode
ke dalam bahasa mesin sehingga aplikasi Java dapat dijalankan di dalam
berbagai sistem operasi. [4]
19
.
Gambar 2.4. Tahap-tahap dalam Pemrograman Java
2.3.3
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek dimulai pertama kali dengan bahasa
Simula yang dikembangkan di Scandinavia di pertengahan tahun 60-an. Simula
digunakan untuk penulisan program simulasi, yaitu dengan cara memodelkan
suatu entitas eksternal / diluar sistem perangkat lunak dan kemudian memilih
istilah-istilah untuk entitas-entitas tersebut dan tingkah lakunya. Tugas utama
dari seorang perancang program dengan Simula adalah menentukan behaviour
dari entitas tersebut.[6]
Konsep pemrograman berorientasi objek menjadikan suatu objek sebagai
komponen utama dalam program. Objek terdiri dari data dan fungsi sebagai satu
kesatuan. Fungsi adalah subprogram atau sekumpulan kode yang diberi suatu
20
nama tersendiri untuk suatu tugas spesifik. Pendekatan pemrograman
berorientasi objek membuat pengembangan program dapat dilakukan dengan
lebih mudah, mengurangi duplikasi kode, dan mengurangi kesalahan. Pada
pemrograman berorientasi objek terdapat dua istilah yang sangat terkenal yaitu
kelas dan objek.
Perbedaan kelas dan objek dapat dianalogikan dengan cetakan kue dan
kue hasil cetakan. Kelas itu seperti cetakan kue, kelas adalah cetakan untuk
objek. Sementara sejumlah kue yang diciptakan dengan menggunakan sebuah
cetakan disebut sebagai objek. Ilustrasi di bawah ini menggambarkan kelas
sebagai sebuah cetakan kue dengan bentuk bintang, dan objek atau kue hasil
cetakan memiliki bentuk yang sama dengan bentuk cetakan kue atau kelas. [4]
Objek
Kelas
Objek
Objek
Gambar 2.5. Kelas dan Objek
Contoh sebuah kelas adalah mobil, sementara jika misalnya terdapat
mobil Liman, mobil Tony, atau mobil Albert, masing-masing mobil ini
berkedudukan sebagai objek. Objek berkelas mobil dapat memiliki data seperti
merk mobil, warna mobil, tipe mobil, dan atribut lain yang berhubungan dengan
21
mobil. Metode atau fungsi yang dimiliki objek berkelas mobil dapat berupa cara
menghidupkan mesin, mengerem, dan lain-lain sebagainya. [4]
Abstraksi adalah suatu cara melihat suatu objek dalam bentuk yang
sederhana. Sebagai contoh adalah sepeda motor, pengendara tidak perlu melihat
susunan komponen mesin dan dukungan elektriknya yang cukup kompleks dan
rumit, namun cukup melihat sepeda motor itu sebagai sebuah entitas / satuan
tunggal (single entity) yang merupakan sebuah objek yang mempunyai sifat dan
karakteristik tersendiri. Konsep abstraksi mempermudah programmer untuk
melihat suatu sistem yang kompleks menjadi sebuah paket sistem yang lebih
sederhana.
Ciri khas pemrograman berorientasi objek adalah [6]:
•
Enkapsulasi
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau
memproteksi
suatu
proses
dari
kemungkinan
interferensi
atau
penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan
sistem itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui
seperangkat interface.
•
Pewarisan (Inheritance)
Konsep pewarisan merupakan suatu proses di mana suatu kelas
diturunkan dari kelas lainnya sehingga kelas turunan mendapatkan ciri atau
sifat dari kelas induk. Dengan memanfaatkan konsep pewarisan ini dalam
pemrograman, maka hanya perlu mendefinisikan karakteristik tambahan
yang diinginkan dari karakteristik yang sudah ada pada kelas sebelumnya.
22
Gambar 2.6. Inheritance
Ilustrasi di atas menggambarkan contoh pewarisan. Kelas anjing,
kucing, dan monyet merupakan kelas turunan, dan telah memiliki
karakteristik dari kelas induknya yaitu mamalia, dan kelas mamalia telah
memiliki karakteristik dari kelas sebelumnya yaitu kelas binatang, sehingga
programmer tidak perlu mendefinisikan ulang setiap kali penulisan program
yang baru.
•
Polimorfisme
Polimorfisme berarti banyak bentuk. Di dalam pemrograman
berorientasi objek, konsep polimorfisme digunakan untuk memerintah objek
agar melakukan aksi atau tindakan yang mungkin secara prinsip adalah sama,
namun secara proses berbeda.
Contoh konkrit dari polimorfisme yaitu mobil. Mobil dengan tipe dan
merk yang berbeda-beda memiliki interface kemudi yang sama, seperti: stir,
tongkat transmisi, pedal gas dan rem. Interface yang sama tidak berarti cara
kerjanya juga sama. Seperti pedal gas, jika ditekan maka kecepatan mobil
akan meningkat, tetapi proses peningkatan kecepatan ini dapat berbeda-beda
untuk setiap jenis mobil.
23
Jika seseorang dapat mengemudikan salah satu jenis mobil, maka
orang itu akan dapat mengemudikan hampir semua jenis mobil, demikian
konsep polimorfisme diserap untuk diterapkan dalam penulisan program bagi
programmer.
2.3.4 Platform Java Standard Edition (Java SE)
2.3.4.1 Pengenalan Java SE
Java Platform, Standard Edition atau Java SE (dikenal juga dengan nama
Java 2 Platform, Standard Edition) adalah sebuah koleksi APIs (Application
Programming Interfaces) dalam bahasa pemrograman Java yang berguna untuk
menulis program Java dalam berbagai jenis platform atau sistem operasi. Java
Platform, Enterprise Edition memiliki semua jenis kelas yang terdapat di dalam
Java Platform, Standard Edition, ditambah lagi dengan sejumlah APIs yang
berguna untuk menjalankan program pada sebuah server[4].
Java SE biasanya dipakai untuk mengembangkan aplikasi atau program
yang berjalan pada sebuah workstation atau pun terminal. Beberapa hal yang
dapat dikerjakan oleh Java SE diantaranya yaitu untuk penulisan aplikasi
pengaksesan database, aplikasi penunjang sistem operasi, antar muka dengan
berbagai jenis media seperti misalnya Bluetooth, serta berbagai aplikasi
permainan, dan kontrol terhadap suatu perangkat keras.
24
2.3.4.2 Arsitektur Java SE
Paket API utama yang disediakan oleh Java SE dapat dikelompokkan atas
General purpose package dan Special Purpose Package. General purpose
package merupakan paket yang umum yang digunakan untuk antar muka dengan
sistem operasi, sementara special purpose package merupakan paket yang
dikhususkan untuk aplikasi-aplikasi tertentu seperti misalnya GUI (Graphical
User Interface), pengaksesan database, antar muka dengan media Bluetooth, dan
lain-lain sebagainya. [11]
Java Runtime Environment (JRE) yang digunakan untuk interpretasi
bytecode dari Java SE adalah Java Virtual Machine (JVM). Bagian Java SE
terdiri dari sekumpulan library penunjang perancangan aplikasi. Secara garis
besar, arsitektur dari Java SE dapat dilihat dari gambar berikut [4]:
Applet /
aplikasi J2SE
JVM
J2SE
Gambar 2.7. Arsitektur Java SE
25
2.3.5
Platform Java Microedition (Java ME)
2.3.5.1 Pengenalan Java ME
Java Micro Edition atau Java ME (dikenal juga dengan nama Java 2
Micro Edition atau J2ME) adalah lingkungan pengembangan yang didesain
untuk meletakkan perangkat lunak Java pada perangkat elektronik berserta
perangkat pendukungnya. Pada Java ME, jika perangkat lunak berfungsi baik
pada sebuah perangkat, maka belum tentu juga berfungsi dengan baik pada
perangkat yang lainnya. Java ME biasa digunakan untuk penulisan program pada
telepon seluler, pager, Personal Digital Assistants (PDAs) dan sejenisnya.
Teknik pemrograman pada Java ME menganut konsep pemrograman berorientasi
objek [4] yang sama dengan teknik pemrograman pada Java Platform, Standard
Edition (Java SE), tetapi pada Java ME memiliki arsitektur yang sedikit berbeda
dengan Java SE.
2.3.5.2 Arsitektur Java ME
Teknologi Java ME memiliki beberapa keterbatasan, terutama jika
diaplikasikan pada ponsel. Java ME sangat tergantung pada perangkat (device)
yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan
dukungannya terhadap teknologi Java ME. Misalnya, jika sebuah ponsel tidak
memiliki fasilitas kamera maka jelas program yang ditulis dengan Java ME
untuk ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya
adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas.
Sebagian besar ponsel tidak mengijinkan aplikasi Java ME menulis pada file
karena alasan keamanan.
26
Java ME adalah bagian dari Java SE, karena itu tidak semua library yang
ada pada Java SE dapat digunakan pada Java ME. Tetapi Java ME mempunyai
beberapa library khusus yang tidak dimiliki Java SE. Arsitektur Java ME dapat
dilihat pada gambar berikut [5]:
Profile
Kumpulan
Configuration
Library
JRE
Sistem Operasi
Gambar 2.8. Arsitektur Java ME
Configuration dan profile
Configuration merupakan Java library minimum dan kapabilitas yang
dipunya oleh para pengembang Java ME, configuration berisi library yang
digunakan untuk mendukung penulisan program yang berfungsi untuk mengatur
hal-hal yang sama pada setiap mobile devices, seperti misalnya layar LCD pada
mobile devices, sehingga dapat dijadikan sebagai acuan kesesuaian antar device.
Dalam Java ME telah didefinisikan dua buah configuration yaitu CLDC
(Connected Limited Device Configuration) untuk perangkat kecil dan CDC
(Connected Device Configuration) untuk perangkat yang lebih besar [5].
Profile berbeda dengan Configuration, profile berisi library untuk
membantu pengembangan aplikasi yang lebih spesifik untuk mobile device,
seperti misalnya pengembangan aplikasi pada mobile device yang terintegrasi
27
dengan kamera, blutooth, dan lain-lain sebagainya. Profile terdiri atas dua yaitu
MIDP (Mobile Information Device Profile) dan Foundation profile.
Java Runtime Environment (JRE) yang akan digunakan untuk interpretasi
bytecode pada Java ME tergantung pada jenis configuration yang digunakan,
untuk configuration CLDC digunakan KVM (Kilobyte Virtual Machine),
sementara untuk CDC digunakan CVM (C-Virtual Machine).
Perbandingan CLDC dengan CDC
Paket library dari configuration pada Java ME dapat dibedakan atas
CLDC dan CDC, perbandingan antar keduanya dapat dilihat dari tabel berikut
[5]:
Tabel 2.3. Perbandingan CLDC dengan CDC
CLDC
CDC
Mengimplementasikan sebagian dari Mengimplementasikan seluruh fitur
Java SE
Java SE
JRE yang digunakan adalah KVM
JRE yang digunakan adalah CVM
Digunakan pada perangkat genggam Digunakan pada perangkat dengan
(handphone, PDA, twoway pager) memori minimal 2 MB seperti
dengan memori terbatas (160-512 misalnya
Internet
TV,
KB)
Communicator, dan Car TV
Prosesor: 16 / 32 bit
Prosesor: 32 bit
Nokia
28
Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah salah satu
spesifikasi untuk profile Java ME. MIDP merupakan profile untuk configuration
CLDC, yang berupa API tambahan untuk kontrol aplikasi, antarmuka, jaringan,
dan penyimpanan data. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. Fitur
tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API untuk multimedia. Posisi
MIDP pada arsitektur Java ME dapat dilihat pada gambar 2.8. Perbandingan
antara MIDP 1.0 dengan MIDP 2.0 dapat dilihat dari tabel berikut [5]:
Tabel 2.4. Perbandingan MIDP 1.0 dengan MIDP 2.0
Spesifikasi
MIDP 1.0
MIDP 2.0
Display
96 x 54
96 x 54
Kedalaman
1-bit
1-bit
Bentuk piksel
Mendekati 1:1
Mendekati 1:1
Input
Keyboard
Display
dan
touch Keyboard dan touch screen
screen
Memori
128
KB
memori
non- 256 KB memori non-volatile
volatile untuk MIDP
untuk MIDP
8 KB memori untuk data 8 KB memori untuk data yang
yang dibuat oleh aplikasi
dibuat oleh aplikasi
32 KB memori volatile 128 KB memori untuk JRE
untuk JRE
29
Jaringan
Full duplex, wireless
Full duplex, wireless
Library Java Javax.microedition.lcdui
Javax.microedition.lcdui
ME
Javax.microedition.midlet
yang Javax.microedition.midlet
bukan
Javax.microedition.rms
Javax.microedition.rms
merupakan
Javax.microedition.lcdui.game
library
Javax.microedition.media
Java
SE
Javax.microedition.pki
Multimedia
Memiliki kemampuan untuk
memainkan
file
multimedia
(suara dan video)
MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah
bagian dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada
MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari
bentuk dasar aplikasi sehingga antarmuka antara aplikasi Java ME dan aplikasi
manajemen pada perangkat dapat terbentuk [5].
Record Management System (RMS)
MIDlet tidak menggunakan file sistem unutk menyimpan data, tetapi
menyimpan semua informasi dalam sebuah memori non-volatile (memori tetap)
yang disebut dengan Record Management System (RMS). Record Management
System (RMS) adalah kumpulan record yang disimpan sebagai array dari byte
dalam sebuah record store. RMS memiliki orientasi record basis data yang
30
sederhana sehingga MIDlet dapat menyimpan informasi dan mengaksesnya.
MIDlet yang berbeda dapat mengakses RMS yang sama. Keterkaitan MIDlet,
RMS dan record store dapat dilihat pada gambar dibawah ini:
MIDlet
Record
Store
RMS API
Gambar 2.9. Keterkaitan MIDlet dan Record Store
Java ME Wireless Toolkit
Java ME Wireless Toolkit adalah program yang menyediakan lingkungan
emulator, dokumentasi beserta contoh-contoh aplikasi Java untuk perangkat kecil
(small device). Java ME WTK berbasiskan pada CLDC dan MIDP. Java ME
WTK adalah program yang meniru kerja ponsel yang mendukung MIDP atau
yang biasa disebut emulator. Oleh karena itu, belum tentu MIDlet yang berjalan
di emulator juga berjalan pada ponsel yang sebenarnya, karena juga bergantung
pada kemampuan dan kapasitas ponsel yang digunakan [5].
31
2.3.6
Bluetooth dengan Java
Konsep dasar untuk membangun koneksi Bluetooth pada aplikasi java
terdiri atas inisialisasi stack protokol, pencarian perangkat Bluetooth, menajemen
perangkat Bluetooth, pencarian jenis layanan Bluetooth yang tersedia, dan
komunikasi data.
Stack Bluetooth adalah perangkat lunak yang mengendalikan perangkat
Bluetooth. Inisialisasi stack berfungsi untuk mempersiapkan perangkat Bluetooth
supaya dapat melakukan komunikasi data nirkabel.
Manajemen perangkat Bluetooth dilakukan dengan menggunakan dua
kelas pada java yaitu LocalDevice dan RemoteDevice. LocalDevice adalah kelas
yang akan memberikan informasi tentang perangkat Bluetooth yang akan
digunakan untuk melakukan komunikasi data. RemoteDevice adalah perangkat
Bluetooth yang berada di sekitar perangkat bluetooh yang digunakan untuk
melakukan komunikasi.
Pencarian perangkat Bluetooth dilakukan dengan tujuan agar program
Java dapat mendapatkan informasi mengenai perangkat Bluetooth yang berada
dalam jangkauan. DiscoveryAgent dan DiscoveryListener adalah kelas pada Java
yang digunakan untuk mencari perangkat Bluetooth.
Pencarian
layanan
pada
perangkat
Bluetooth
digunakan
untuk
mengidentifikasi layanan apa saja yang ditawarkan oleh perangkat Bluetooth.
Hal ini dilakukan dengan metode searchServices() pada DiscoveryAgent. Metode
serviceDiscovered()
ditemukan.[12]
akan
dipanggil
secara
otomatis
apabila
layanan
32
2.3.6.1 Java SE dengan Bluetooth
Koneksi Bluetooth pada Java SE dapat dilakukan dengan beberapa cara,
diantaranya adalah dengan menggunakan paket javax.com atau dengan
menggunakan Java Spesification Request – 82 (JSR-82) API. Aplikasi Bluetooth
dengan JSR-82 menggunakan pendekatan penggunaan Bluetooth pada Java ME.
JSR-82 dapat digunakan dengan cara menginstalasikan implementasi JSR-82
terlebih dahulu pada komputer. Bluecove adalah salah satu contoh implementasi
JSR-82 yang dapat digunakan pada sistem operasi Windows XP SP 2, dan
tersedia secara gratis. JSR-82 merupakan suatu spesifikasi komunikasi data
dengan bluetooth menggunakan bahasa pemrograman Java yang dikeluarkan
oleh Java Community Process (JCP). [9]
2.3.6.2 Java ME dengan Bluetooth
Koneksi Bluetooth dengan menggunakan aplikasi Java ME dilakukan
dengan menggunakan JSR-82, karena pada dasarnya Java ME tidak menyertakan
implementasi untuk koneksi Bluetooth. Perangkat elektronik yang memiliki
kemampuan komunikasi dengan Bluetooth pada umumnya sudah menyertakan
implementasi JSR-82 API. Keterbatasan perangkat elektronik yang memiliki
kemampuan komunikasi Bluetooth dapat menyebabkan adanya kemungkinan
tidak semua JSR-82 API dapat digunakan, sehingga pemrograman dengan
menggunakan JSR-82 API juga harus memperhatikan kemampuan perangkat
elektronik dimana program java akan ditempatkan. [10]
33
2.3.7
Browser
Web browser adalah suatu perangkat lunak yang membantu pengguna
untuk berinteraksi dengan tulisan, gambar, dan informasi lainnya yang terdapat
pada suatu halaman web yang berlokasi pada situs-situs yang terdapat di jaringan
internet dunia (world wide web) atau pada sebuah jaringan lokal. Pada web pages
biasanya terdapat hyperlinks yang berguna untuk mempermudah navigasi bagi
pengguna.
Beberapa jenis web browsers yang tersedia diantaranya Internet Explorer,
Mozilla Firefox, Safari, Opera, dan Netscape. Web browsers berkomunikasi
dengan suatu web server dengan menggunakan protokol HTTP (hypertext
transfer protocol), dan alamat lokasi web server yang akan dituju dilihat dari
URL (Uniform Resource Locator) yang biasanya terdapat pada setiap web
browser. Format file yang diterima oleh suatu web browsers dari suatu web page
biasanya berupa HTML (hyper-text markup language). Hampir setiap web
browsers pada dasarnya mendukung berbagai jenis format file tambahan pada
HTML, seperti JPEG, PNG, GIF, dan beberapa format file lainnya yang
membutuhkan suatu plugins supaya dapat dikenali oleh protokol HTTP pada web
browsers. [1]
Download