BAB II LANDASAN
TEORI
2.1
Pengertian Jaringan Komputer
Jaringan komputer merupakan gabungan dari
sekumpulan komputer
berjumlah
banyak
pada
suatu
ruang
yang terpisah-pisah
akan
tetapi
saling
berhubungan dalam melaksanakan tugasnya.
Dua buah komputer misalnya
dikatakan
terkoneksi
bila keduanya
dapat
saling bertukar
informasi.
Bentuk
koneksi
dapat
melalui:
kawat
tembaga,
serat
optik,
gelombang mikro,
satelit
komunikasi. (Tanenbaum, 2003, p2).
2.2
Jenis-Jenis Jaringan
Macam - macam jenis Jaringan/Network yaitu :
2.2.1
Local Area Network (LAN) /Jaringan Area Lokal.
Menghubungkan
komputer-komputer
pribadi
dalam workstation
pada kantor perpusahaan, pabrik atau kampus: LAN dapat dibedakan dari
jenis jaringan lainnya
berdasarkan
3
karakteristik:
ukuran,
teknologi
transmisi dan topologi jaringan (Tanenbaum, 2003, p16).
2.2.2
Metropolitan Area Network (MAN) / Jaringan area Metropolitan
Merupakan
versi LAN ukuran lebih besar dan biasanya
memakai
teknologi
yang sama dengan
LAN.
MAN
mampu
menunjang
data dan
6
|
7
suara,
dan
bahkan
dapat
berhubungan dengan
jaringan
televisi
kabel.
MAN hanya memiliki sebuah atau dua buah kabel dan tidak mempunyai
elemen switching, yang berfungsi untuk mengatur paket melalui beberapa
kabel output (Tanenbaum, 2003, p18).
2.2.3
Wide Area Network (WAN) / Jaringan area Skala Besar
Mencakup
daerah
geografis
yang
luas,
seringkali
mencakup
negara
atau
benua. WAN terdiri dari kumpulan
mesin
yang bertujuan
untuk
menjalankan
program-program (aplikasi) pemakai.
Mesin
ini
disebut HOST. HOST dihubungkan oleh sebuah subnet komunikasi atau
cukup disebut SUBNET.
Tugas subnet adalah membawa pesan dari satu
host
ke
host lainnya.
Pada
sebagian
besar
WAN
subnet
terdiri
dari
2
komponen:
kabel
transmisi
dan
elemen switching
(Tanenbaum,
2003,
p19).
2.2.4
Internet
Terdapat banyak jaringan di dunia ini, seringkali dengan
perangkat
keras dan perangkat lunak
yang
berbeda-beda.
Orang
yang
terhubung ke jaringan sering berharap
untuk
dapat
komunikasi dengan
orang lain
yang terhubung ke
jaringan
lainnya.
Keinginan
seperti
ini
memerlukan
hubungan
antar
jaringan
yang
seringkali
tidak
kompatibel
dan
berbeda.
Kadang
menggunakan
mesin
yang disebut
GATEWAY
sebagai
penerjemah
antar
jaringan
yang tidak
kompatibel.
Kumpulan
jaringan yang terkoneksi disebut INTERNETWORK atau INTERNET.
|
8
Bentuk
INTERNET
yang
umum
adalah
kumpulan dari
LAN yang
dihubungkan oleh WAN. (Tanenbaum, 2003, p21)
2.3
Susunan Protokol Jaringan Komputer
2.3.1
Model Referensi OSI (Open Systems Interconnection)
Menururut William Stallings (1997, p50), setiap lapisan memiliki
tugas
yang
berbeda
satu
sama
lain.
Berikut
masing-
masing tugas dari
tiap lapisan:
7)
Application
Layer
:
menyediakan
layanan
untuk
aplikasi
misalnya transfer file, email, akses suatu komputer atau layanan.
6)
Presentation
Layer
:
bertanggung
jawab
untuk
menyandikan
informasi. Lapisan ini membuat dua host dapat berkomunikasi.
5) Session Layer : membuat sesi untuk proses dan mengakhiri sesi
tersebut.
Contohnya jika
ada
login
secara interaktif
maka sesi
dimulai
dan
kemudian jika
ada
permintaan
log
off
maka
sesi
berakhir.
Lapisan
ini
juga menghubungkan
lagi
jika
sesi
login
terganggu sehingga terputus.
4)
Transport
Layer
:
lapisan
ini
mengatur
pengiriman pesan dari
hos-host di jaringan. Pertama data dibagi-bagi
menjadi paket-
paket sebelum pengiriman dan kemudian
penerima
akan
menggabungkan paket-paket tersebut menjadi data utuh kembali.
|
9
Lapisan
ini
juga
memastikan bahwa
pengiriman
data
bebas
kesalahan dan kehilangan paket data.
3) Network Layer : lapisan bertanggung jawab untuk
menerjemahkan alamat
logis jaringan ke
alamat
fisik jaringan.
Lapisan
ini
juga memberi
identitas
alamat,
jalur perjalanan
pengiriman
data,
dan
mengatur masalah
jaringan
misalnya
pengiriman paket-paket data.
2)
Data
Link Layer
:lapisan
data
link
mengendalikan
kesalahan
antara dua komputer
yang berkomunikasi
lewat
lapisan physical.
Data link biasanya digunakan oleh hub dan switch.
1)
Physical
Layer
:
lapisan
physical
mengatur
pengiriman
data
berupa
bit
lewat
kabel.
Lapisan
ini
berkaitan
langsung dengan
perangkat keras seperti kabel, dan kartu jaringan (LAN CARD).
2.3.2
TCP/IP (Transfer Control Protokol/Internet Protocol).
Arsitektur
TCP/IP lebih sederhana dari pada tumpukan protokol
OSI, yaitu berjumlah 5 lapisan protokol. (Stallings, 1997, p55)
Berikut penjelasan lapisan layanan pada TCP/IP:
Lapisan Application,
menyediakan komunikasi
antar proses
atau
aplikasi pada host yang berjauhan namun terhubung pada
jaringan.
Lapisan
Transport
(End-to-End),
menyediakan
layanan
transfer
end-to- end. Lapisan ini juga termasuk mekanisme untuk
menjamin
kehandalan
transmisi datanya.
Layanan
ini
tentu
saja
|
10
akan menyembunyikan segala hal yang terlalu detail untuk lapisan
di atasnya.
Lapisan
Internetwork,
fokus
pada
pemilihan
jalur
(routing)
data
dari
host
sumber
ke
host
tujuan
yang melewati
satu
atau
lebih
jaringan yang berbeda dengan menggunakan router.
Layanan Network Access/Data link, mendefinisikan antarmuka
logika antara sistem dan jaringan.
Lapisan Physical,
mendefinisikan karakteristik dari media
transmisi, pensinyalan dan skema pengkodean sinyal
2.4
IP Camera
2.4.1
Pengertian IP Camera
IP Camera merupakan
perkembangan dari CCTV.
Yang
membedakannya dengan CCTV biasa adalah setiap kamera memiliki IP
sendiri
sehingga kita
bisa
memilih
kamera
mana
yang mau
dilihat. IP
Camera memungkinkan pemilik rumah dan bisnis untuk melihat kamera
mereka
melalui
koneksi
internet
yang tersedia
baik
melalui
komputer
maupun mobile phone yang mendukung 3G (Innes, 2009).
Internet
Protokol
adalah
protokol
yang digunakan
untuk
komunikasi data , pertukaran paket- paket data yang lebih dikenal dengan
TCP/IP.
|
![]() 11
2.4.2
Fitur-fitur dari IP Camera:
2
way audio
:
hal
ini
memungkinkan
pengguna
untuk
berkomunikasi dengan apa yang dilihat.
LED lightning : digunakan untuk night vison. Fitur ini
memungkinkan
pengguna
untuk
melihat
daerah
yang kurang
cahaya atau gelap.
Streaming : Dapat dilihat dengan streaming, beberapa IP Camera
mempunyai
resolusi
640x480
dan
dapat
merekam
30 frame
per
detik.
Wireless
Network
:
Konfigurasi awal
dilakukan
melalui
router ,
akan tetapi setelah IP Camera terinstall, dapat digunakan
menggunakan wireless network.
Gambar 2.1 : Struktur IP Camera
|
12
2.5
Tipe protokol Streaming
2.5.1
HTTP
HTTP protokol
digunakan
dalam streaming
karena
protokol
ini
lebih mudah diakses dari manapun. Menyediakan movie dari standart web
server
dengan nama lain pseudo
streaming
atau progressive
download
dikenal juga dengan fast start.
Jika file telah
di
download
oleh
pengguna
tetapi
bisa
di
play
sebelum download selesai. Terlihat seperti true streaming. Bisa memiliki
data rate yang lebih tinggi, sehingga memungkinkan kualitas lebih tinggi
juga, file yang
telah didownload mudah untuk diplay berulang
ulang.
HTTP tidak bisa live tetapi bisa streaming semua jenis data quicktime.
2.5.2
RTSP
Real Time Streaming Protocol (RTSP) adalah
kontrol jaringan
protokol untuk digunakan dalam sistem hiburan
dan komunikasi untuk
mengontrol
media streaming
server.
Protokol
yang
digunakan
untuk
membangun dan mengontrol media antara titik akhir sesi. Pengguna
server media
VCR
seperti
perintah,
seperti play dan pause,
untuk
memfasilitasi real-time kontrol pemutaran file media dari server.
Transmisi data streaming
itu sendiri bukan
merupakan
tugas dari
protokol RTSP. Kebanyakan RTSP server menggunakan
Real-time
Transport
Protocol
(RTP)
untuk
streaming
media pengiriman,
namun
beberapa vendor mengimplementasikan protokol transportasi berpemilik.
|
13
Pengguna tidak perlu mendownload file karena movie bisa di play
secara real time sehingga memungkinkan live broadcast, lebih baik untuk
movie yang panjang.
Tetapi tidak bisa streaming semua
tipe data,
Data
rate movie harus lebih panjang daripada koneksi yang diijinkan.
2.6
MJPEG
Motion Joint Photographic Expert Group Format Video ini memikiki
kualitas gambar atau image yang dihasilkan suatu kamera sangat baik
dikarenakan pixel gambar lebih rapat dan lebih banyak.
Motion
JPEG
(M-JPEG) adalah
nama
informal
untuk
kelas
di
mana
masing-masing format
video
yang berhubungan
dalam
sebuah
video
digital
urutan, secara terpisah dikompresi sebagai JPEG image. Awalnya dikembangkan
untuk
aplikasi PC
multimedia,
M-JPEG
sekarang
digunakan
oleh
banyak
perangkat portable dengan kemampuan video capture, seperti kamera digital.
Motion JPEG menggunakan bentuk kompresi lossy intraframe didasarkan
pada transformasi kosinus diskret (DCT). Operasi
matematika ini
mengkonversi
setiap
frame
/
bidang sumber
video
dari
domain
waktu
ke
domain
frekuensi
(alias mengubah domain.) Sebuah model yang didasarkan persepsi longgar pada
sistem psychovisual manusia membuang informasi frekuensi tinggi, yaitu transisi
tajam
dalam
intensitas,
dan
warna rona.
Dalam
mengubah
domain,
proses
informasi
mengurangi disebut kuantisasi. Dalam
istilah awam, kuantisasi adalah
metode
untuk
mengurangi
secara
dikalkulasi
secara optimal
(dengan
kejadian
|
14
yang berbeda
setiap
angka) menjadi lebih kecil, dan mengubah-domain
yang
nyaman representasi
dari
gambar karena koefisien frekuensi tinggi,
yang
berkontribusi kurang untuk di atas gambar daripada koefisien
lain, adalah
nilai-
nilai
yang kecil
khas
dengan
tekanan
tinggi.
Dikuantisasi
koefisien
yang
kemudian diurutkan dan losslessly dikemas ke dalam bitstream output. Hampir
semua perangkat
lunak
implementasi
dari
M-JPEG
mengizinkan
pengguna
kendali
atas-rasio
kompresi
(dan
juga
parameter optional
lainnya),
yang
memungkinkan pengguna untuk menjaga kualitas gambar-filesize
yang lebih
kecil.
Salah satu cara untuk
melihat M-JPEG, adalah bahwa hal itu adalah
bentuk
lainnya
untuk
I-frame
hanya
MPEG-1
dan
MPEG-2,
yang juga
hanya
intraframe-skema kompresi. Motion JPEG (M-JPEG) adalah sebuah video codec
dimana setiap
masing
-
masing video
field
(frame)
dikompres
secara pisah ke
dalam
sebuah
gambar JPEG.
Kualitas
hasil
kompresi
video
independen
dari
gerakan
dalam
gambar
(yang berbeda
dari MJPEG
video kualitas yang
sering
menurun ketika rekaman berisi banyak gerakan).
Karakteristik MJPEG :
Pada
bandwidth
yang
rendah, prioritas diberikan
untuk resolusi
gambar
(gambar
yang ditransmisi
akan
mempertahankan
kualitas
gambarnya,
walaupun beberapa gambar akan rendah kualitasnya).
Latency minimum dalam pemrosesan gambar.
Gambar memiliki ukuran file yang konsisten.
|
![]() 15
Merupakan format kompresi yang paling banyak digunakan sekarang ini.
Serupa dengan
gambar pada kamera digital, IP camera menangkap gambar
kemudian mengompresi kedalam format JPEG. IP camera dapat menangkap dan
mengompres kira-kira 30fps dan membuatnya
menjadi sebuah urutan gambar
yang berlanjut terus menerus melalui jaringan untuk dilihat oleh pengguna.
Pada
frame rate sebesar
16fps atau
diatasnya,
pengguna
dapat
melihat
motion video penuh. Gambar adalah sebuah JPEG yang komplit yang dikompres
oleh
gambar, JPEG akan
memiliki kualitas yang sama, ditentukan oleh
tingkat
kompresi untuk IP Camera.
Gambar 2.2 : Contoh dari tiga gambar komplit JPEG yang berurutan
Keuntungan dari MJPEG
Frame demi frame
menawarkan
lebih banyak frame untuk dilihat pada
saat pemutaran.
Teknologi sederhana.
Mengurangi waktu delay ketika digunakan bersamaan dengan audio.
Pada bandwidth yang rendah, prioritas ditujukan pada resolusi gambar.
Lebih mudah digunakan jika menggunakan photo editing.
|
16
2.6.1
MJPEG Pada IP Camera
Banyak
IP Camera diaktifkan
menyediakan
M-JPEG
aliran
jaringan
yang dapat
terhubung ke pengguna.
Mozilla browser
berbasis
memiliki dukungan asli untuk melihat M-JPEG.
Beberapa jaringan-kamera diaktifkan
menyediakan
sendiri
M-
JPEG interface sebagai bagian dari set
fitur normal.
Untuk kamera yang
tidak
menyediakan
fitur ini
secara native, server dapat digunakan untuk
melakukan transkode kamera
foto
menjadi
sebuah M-JPEG stream dan
kemudian menyatakan bahwa pengguna berada jaringan lain.
M-JPEG melalui HTTP
HTTP streaming memisahkan setiap gambar ke
HTTP individu
balasan pada penanda tertentu.
RTP streaming
menciptakan paket dari
urutan
gambar
JPEG
yang
dapat diterima
oleh
Pengguna
seperti
QuickTime atau VLC.
Perangkat
lunak
server
yang disebutkan
di
atas
aliran
urutan
JPEGs atas HTTP. Mime khusus tipe-tipe konten multipart / x-campuran-
menggantikan; boundary =
menginformasikan
kepada
browser
untuk
mengharapkan beberapa
bagian
sebagai jawaban dipisahkan oleh
batas
khusus. Batas ini didefinisikan dalam tipe MIME nya. Untuk
M-JPEG
JPEG aliran data yang dikirim ke pengguna dengan benar HTTP-header.
Koneksi
TCP
tidak
tertutup
selama
Pengguna
ingin
menerima
bingkai
baru dan server ingin menyediakan frame baru. Dua implementasi dasar
|
17
seperti tes
server-server
"cambozola"
dan
webcam
server
"MJPG-
Streamer".
Semakin besar file size
dari
sebuah
file atau semakin kecil
daya
kompresinya
maka
akan
memberikan konsekuensi
yang sangat
besar
di
media penyimpanan file
( Keep Recording )
dan
jalur bandwidth
yang
dibutuhkan.
IP Camera menggunakan
Jenis
kompresi
ini
dapat
menangkap
gambar di
rate hingga
maksimum
30
frame per
detik. Dalam
rekaman
MJPEG, setiap frame terdiri dari gambar JPEG yang lengkap. Ini disebut
sebagai Motion JPEG. Oleh mengompresi setiap frame sebagai suatu citra
individu,
hal
ini
menghasilkan
kualitas
gambar yang tinggi, tetapi
bila
dibandingkan dengan
MPEG4,
maka bandwidth
yang diperlukan
untuk
pengiriman dan ruang penyimpanan yang diperlukan untuk penyimpanan
keduanya lebih tinggi.
2.7
Koneksi Internet Pada Mobile Phone
Kecepatan
internet
merupakan
masalah
klasik
yang dialami
operator.
Setiap wilayah dan waktu akan berbeda hasilnya. Pasti akan ada masa lambat dan
kencangnya. Tidak bisa selalu stabil. Memang relatif apabila berbicara mengenai
kecepatan internet. Yang paling umum digunakan masyarakat di Indonesia
adalah koneksi GPRS dan 3G.
|
18
2.7.1
GPRS
GPRS (General Packet Radio Service) adalah suatu teknologi
yang
memungkinkan
pengiriman
dan
penerimaan data lebih
cepat
dibandingkan dengan penggunaan teknologi Circuit Switch Data atau
CSD. Penggabungan layanan telepon seluler dengan GPRS (General
Packet
Radio
Service)
menghasilkan
generasi
baru
yang
disebut 2.5G.
Sistem GPRS dapat digunakan untuk transfer data (dalam bentuk paket
data) yang
berkaitan dengan e-mail,
data
gambar
(MMS), Wireless
Application Protocol (WAP), dan World Wide Web (WWW).
GPRS merupakan sistem transmisi berbasis paket untuk GSM
yang menggunakan
prinsip
'tunnelling'.
Ia
menawarkan
laju
data
yang
lebih tinggi.
Laju datanya
secara kasar sampai 160 kbps dibandingkan
dengan 9,6 kbps yang
dapat disediakan oleh rangkaian tersakelar
GSM.
Kanal-kanal radio ganda dapat dialokasikan bagi seorang pengguna
dan kanal yang sama dapat pula digunakan dengan berbagi antar
pengguna sehingga
menjadi sangat efisien. Dari segi biaya, harga
mengacu pada volume penggunaan. Penggunanya ditarik biaya dalam
kaitannya dengan
banyaknya byte yang
dikirim
atau
diterima,
tanpa
memperdulikan panggilan, dengan demikian dimungkinkan GPRS akan
menjadi
lebih
cenderung
dipilih
oleh pelangganuntuk
mengaksesnya
daripada layanan-layanan IP.
|
19
GPRS
merupakan
teknologi
baru
yang memungkinkan
para
operator jaringan komunikasi bergerak menawarkan layanan data dengan
laju bit yang lebih tinggi dengan tarif rendah ,sehingga membuat layanan
data menjadi
menarik
bagi
pasar massal. Para operator jaringan
komunikasi
bergerak
di
luar
negeri
kini
melihat
GPRS
sebagai
kunci
untuk mengembangkan pasar komunikasi bergerak menjadi pesaing baru
di lahan
yang pernah
menjadi
milik jaringan kabel,
yakni layanan
internet. Kondisi ini dimungkinkan karena ledakan penggunaan internet
melalui jaringan kabel (telepon) dapat pula dilakukan melalui jaringan
bergerak.
Layanan
bergerak yang kini
sukses
di
pasar
adalah,
laporan
cuaca, pemesanan
makanan, berita olah
raga
sampai
ke
berita-berita
penting harian. Dari perkembangan tersebut, dapat dirasakan dampaknya
pada
kemunculan
berbagai
provider handphone
yang
bersaing
menawarkan tarif GPRS yang semakin terjangkau.
Dalam
teorinya GPRS menjanjikan kecepatan
mulai dari 56 kbps
sampai
115
kbps,
sehingga
memungkinkan
akses
internet,
pengiriman
data multimedia ke komputer, notebook dan handheld computer. Namun,
dalam implementasinya,
hal tersebut sangat tergantung faktor-faktor
sebagai berikut:
Konfigurasi dan alokasi time slot pada level BTS
Software yang dipergunakan
Dukungan fitur dan aplikasi mobile device yang digunakan
|
20
Jika mengunakan
koneksi GPRS terdapat beberapa
alasan
yang
menyebabkan
koneksi
yang lambat
tergantung
dengan
karakterstiknya.
Berikut adalah karakteristik GPRS :
Koneksi
GPRS sangat
dipengaruhi oleh
penggunaan komunikasi
suara
yang dilakukan pada
suatu
BTS. Komunikasi data (GPRS)
dilakukan
dengan
kanal
yang sama
dengan
komunikasi
suara
(telepon) akibatnya akan terjadi tumpang tindih.
Komunikasi suara mendapatkan prioritas utama dalam sebuah
koneksi data. Jadi jika komunikasi suara sudah mencapai ambang
batas
maksimum
BTS
maka
akses
internet
yang sedang
berlangsung akan
diputus
atau
tidak
mendapat
pasokan
data
sampai jumlah sambungan suara turun lagi.
|
![]() 21
Gambar 2.3 : BTS 1
Jumlah pemakai komunikasi suara di BTS masih di bawah jumlah
kapasitas maksimumnya sehingga kanal data
untuk akses internet masih
tersedia.
Gambar 2.4 : BTS 2
Jumlah pemakai komunikasi suara di BTS
meningkat mencapai
jumlah kapasitas
maksimum, akibatnya kanal data
untuk akses
internet
|
22
menjadi tidak tersedia. Koneksi akses internet akan terputus atau pasokan
data dihentikan (0 Kbps) untuk sementara.
Jika jumlah pemakai komunikasi suara di BTS menurun sampai di
bawah batas kapasitas
maksimum
maka kanal data
untuk akses internet
kembali tersedia.
Dari
penjelasan
itu
kiranya cukup
jelas
mengapa koneksi
GPRS
itu sering mengalamai masalah. Solusi terbaik untuk
mengatasi
masalah
tersebut
adalah
pintar-pintar
memilih
operator
yang tidak
hanya
menjanjikan harga yang murah tapi dengan koneksi yang sangat lambat.
Tiap daerah mungkin tidak akan sama, ada kalanya operator A lambat di
daerah yang satu tetapi tidak lemot di daerah yang lain.
2.7.2
3G
3G adalah
singkatan
dari
istilah
dalam bahasa
Inggris: third-
generation technology.
Istilah ini
umumnya digunakan
mengacu kepada
perkembangan teknologi telepon nirkabel (wireless).
3G
juga berguna
untuk menelepon, tetapi dengan 3G, penelepon dan penerima bisa saling
bertatap muka.
Sama dengan
GPRS, koneksi dengan
menggunakan 3G
juga
memiliki masalah masalah yang menyebabkan koneksi menjadi lambat
tergantung dengan karakteristiknya :
Salah satu masalah dalam kestabilan operasional koneksi 3G
berbasis
UMTS/WCDMA
adalah
mengembang
dan
menciutnya
|
![]() 23
jangkauan BTS Node-B karena naik/turunnya jumlah pemakai dalam
suatu BTS yang dikenal sebagai Cell Breathing.
Gambar 2.5 : BTS 3
Dalam
kondisi
normal
di
mana
jumlah
pemakai
masih
sesuai
dengan
kapasitas BTS maka tidak ada blank spot dan semua pemakai dapat sinyal
3G yang baik dengan akses internet yang baik pula.
Gambar 2.6 : BTS 4
|
24
Apabila jumlah
pemakai
meningkat
sampai
melebihi
kapasitas
BTS,
maka
jangkauan
sinyal
3G dari
BTS
secara
otomatis akan
menyusut. Akibatnya akan terjadi blank spot di tempat yang sebelumnya
terjangkau oleh sinyal 3G tetapi letaknya paling jauh dari BTS.
Apabila jumlah
pemakai
menurun
lagi
menjadi
sesuai
dengan
kapasitas BTS, maka jangkauan sinyal 3G dari BTS secara otomatis akan
kembali mengembang dan kembali menjangkau wilayah yang lebih luas.
Solusi:
Supaya
mendapatkan
sinyal
3G
yang
stabil
maka
ada
beberapa
upaya
yang bisa dilakukan:
Lakukan akses internet dengan berada selalu dekat BTS.
Gunakan antena penguat atau booster sinyal supaya terlihat
dekat oleh BTS.
2.8
JAVA
Java
merupakan
bahasa pemrograman
yang
dikembangkan
dengan
menggunakan
bahasa
C,
sehingga
pengembang
dalam
hal
ini
programmer
C
tidak mengalami kesulitan beralih ke Java.
Java diciptakan oleh James
Gosling dan Patrick Naughton dalam suatu
projek dari Sun Microsystems sekitar tahun 1991. Pada mulanya Java ingin
diberi
nama
OAK
(berasal dari
nama
pohon
yang terdapat
pada
kantor
James
|
25
Gosling), tetapi karena kata OAK telah ada pada Sun Microsystems, maka diberi
nama Java (dari inspirasi minum kopi).
Browser
pertama
yang
dapat membaca script
Java
adalah Hot
Java.
Setelah
Browser
Netscape
dari
perusahaan
Netscape
Navigator
dan internet
Explorer dari perusahaan Microsoft Inc. dapat membaca script Java, bahasa Java
makin
populer.
Vendor-vendor lain
seperti
IBM,
Oracle,
Symantec,
Inprise
(dahulu Borland Inc.), dan perusahaan-perusahaan mobile seperti Nokia, Siemens
(BenQ), SonyEricsson, Motorola, dan Samsung juga mengadopsi teknologi Java.
Motivasi sesungguhnya dari Java adalah kebutuhan akan
sebuah bahasa
yang bisa digunakan
pada berbagai
platform
yang bisa
dimasukkan
ke
dalam
berbagai produk elektronik seperti pemanggang roti dan lemari es.
Bahasa
Java
meliputi
pemrograman
Desktop, pemrograman
database,
bahasa pemrograman
mobile,
dan
lain-lain.
Salah
satu
dari
proyek
pertama
yang dikembangkan
menggunakan Java sebuah remote kontrol yang diberi nama Star 7. Bahasa Java
juga portable, karena semua sistem operasi (Window, Linux, Unix, dan lain-lain)
dapat menjalankan Java.
Java adalah bahasa pemrograman yang dapat berjalan di semua platform
tanpa
harus
mengubah
kode
sedikitpun
dengan
syarat
pada
sistem yang
digunakan sudah terdapat JRE (Java Runtime Environment). Pada saat yang
sama,
World
Wide
Web
dan
Internet
berkembang
sangat
cepat.
Gosling
menyadari bahwa Java dapat digunakan untuk pemrograman internet. Hal inilah
yang menjadi kekuatan Java sebagai bahasa pemrograman multiplatform.
|
26
Pertama kali
Java
dirilis (dikeluarkan) disebut
JDK (Java Development
Kit),
hingga
versi
Java
1.1.
Mulai
Java
1.2
Sun
Microsystems
menyebutnya
JDSK
(Java
Software Development
Kit)
atau
Java2.
Mulai
Java2
ini
juga
lingkungan eksekusi dipisahkan dengan nama JRE (Java Runtime Environment).
JRE
termasuk
dalam
JVM
(Java Virtual Machine).
JVM
merupakan
inti
dari
teknologi Java, sehingga bahasa Java dapat dibaca pada mesin komputer
tertentu.
Aplikasi
menggunakan
Java sangatlah
luas dan dibagi
menjadi
tiga
sub
bagian yaitu J2EE (Java 2 Enterprise Edition), J2SE (Java 2 Standard Edition),
dan J2ME (Java 2
Micro
Edition). Dari ketiga
sub bagian
tersebut
yang
membedakan adalah cakupan aplikasi yang ingin dibuat. J2EE digunakan untuk
aplikasi
yang
bersifat
enterprise
dan
dalam
sekala
yang besar
seperti
sistem
terdistribusi,
J2SE
digunakan
untuk
aplikasi standard
pada desktop
sedangkan
J2ME
lebih
dikonsentrasikan
untuk
aplikasi
yang bersifat
embedded
seperti
mobile device. Dari ketiga sub bagian yaitu J2EE, J2SE, dan J2ME masih dibagi
lagi
menjadi
bagian-bagian
yang spesifik
dan
disesuaikan
dengan
kebutuhan.
J2SE adalah
framework
yang sering digunakan,
karena
semua
platform
Java
menggunakan J2SE sebagai base development. (Shalahudin, 2008, p2)
JMF API (Java
Media
Framework Application
Programming Interface)
adalah
extension
dari
J2SE
yang dikonsentrasikan
untuk
pemrograman
pada
multimedia
streaming
(JMF
version
2.1.1e).
JMF version
2.1.1e
sudah
mendukung RTP (Realtime Protocol)
yang digunakan sebagai protokol aplikasi
yang realtime seperti audio/video streaming. Dengan menggunakan API ini akan
|
![]() 27
mempermudah dalam meng-implementasikan realtime protocol pada multimedia
streaming.
Tabel 2.1 : Pembagian Java
J2SE
Java
2
Platform,
Standard
Edition
Aplikasi Desktop
J2EE Java 2 Platform, Enterprise
Edition
Aplikasi enterprise dengan fokus pada
pengembangan
sisi
webserver,
termasuk
servlet,JSP,EJB, dan XML
J2ME
Java
2
Platform,
Micro
Edition
Perangkat Mobile
JavaCard
Smart Cards
2.8.1
J2SE
J2SE merupakan
edisi
standar
(basis)
dari
Java2.
J2SE
lebih
difokuskan pada pemrograman
Desktop dan Applet (aplikasi
yang dapat
dijalankan
di web
browser).
Contoh
web browser
adalah Internet
Explorer, Firefox Mozila, Opera, dan lain-lain.
J2EE
merupakan edisi perluasan dari J2SE
(Superset dari
J2SE),
aplikasi yang dibuat dengan edisi
ini untuk aplikasi berskala besar
|
28
(Enterprise),
seperti pemrograman memakai database dan diatur di
server.
Teknologi
yang masuk
dalam edisi
ini
adalah
EJBs
(Enterprise
Java Beans), XML (Extensible
Markup Language), Servlet, JSP (Java
server Pages), COBRA (Common Object Request Broker Architecture),
dan lain-lain.
2.8.2
J2ME (Java 2 Platform Micro Edition)
Pada penulisan skripsi ini penulis akan memfokuskan pada
penggunaan
edisi
J2ME,
maka sebelum
menggunakan
bahasa
pemrograman
Java
ini,
harus
mengetahui
apa
saja
yang masuk
dari
kelompok
J2ME dan perangkat
lunak Emulator
(mensimulasikan)
kerja
mobile phone J2ME WTK.
Sun
Microsystems mendefinisikan
J2ME sebagai
Java
run-time
environment
yang sangat
optimal
dalam
penargetan
berbagai
macam
produk konsumen, termasuk pager, telepon selular, screen-phones, digital
set-top boxes dan sistem navigasi pada mobil. J2ME diperkenalkan pada
juni
1999
pada
konfrensi JavaOne Developer.
J2ME
membawa
fungsionalitas
dari
Java
Language
ke perangkat
yang
lebih
kecil,
sehingga
memungkinkan
mobile device
untuk berbagi
aplikasi.
Dengan
J2ME,
Sun telah beradaptasi
untuk platform Java pada produknya yang
didasari pada perangkat penghitung yang lebih kecil.
|
29
J2ME digunakan
untuk
menjalankan
dan
mengembangkan
aplikasi
aplikasi Java
pada perangkat seperti telepon genggam, PDA
(Personal Digital Assistance) Palm, dan pocket PC. Karena adanya
J2ME,
yang memungkinkan bagi para pengembang untuk bisa
membuat
aplikasi wireless yang multi platform, yang dapat diimplementasikan
pada
berbagai
merek telepon
genggam,
yang
mendukung
aplikasi Java.
(Shalahudin, 2008, p4)
Komponen komponen J2ME terdiri dari Java Virtual Machine
(JVM)
yang
digunakan
untuk menjalankan aplikasi
Java
pada emulator
atau
handheld
device,
Java
API
(Application
Programming
Interface)
dan tools lain untuk pengembangan aplikasi Java semacam emulator Java
Phone, emulator Motorola dari J2ME wireless toolkit. Dalam
pengembangan aplikasi wireless dengan Java, J2ME dibagi
menjadi tiga
buah bagian diantaranya
ialah bagian paket-paket (package),
configuration dan profile.
|
![]() 30
Paket (Package)
Paket-paket Opsional
Profil (Profile)
Konfigurasi
(Configuration)
JMV
J2ME
Gambar 2.7 : Bagian J2ME
1.
Paket (Package)
Paket
merupakan
program tambahan
yang
harus
disertakan
pada
waktu
distribusi
program
aplikasi
yang dibuat
(Deployment). Paket ini bukan merupakan paket yang dibuat oleh
perusahaan
alat
yang digunakan.
Terdapat tiga buah paket dari
J2SE yang didukung oleh CLDC.
2.
Lapisan Konfigurasi (Configuration Layer)
Konfigurasi
merupakan
bagian
yang berisi
JVM
dan
beberapa library kelas
lainnya. JVM disini
jangan diartikan sama
dengan
JVM
pada
edisi
J2SE.
Sun
Microsystems
menyediakan
dua
konfigurasi,
yaitu
CLDC
(Connected Device
Configuration/untuk alat-alat kecil) dan CDC (Connected Device
|
31
Configuration/superset dari CLDC). Alat-alat
kecil
pada CLDC,
maksudnya
memiliki memori (RAM) di
bawah 512KB,
bandwidth kecil, dan memakai baterai.
J2ME mempunyai dua konfigurasi
yaitu
CLDC
(Connected Limited Device Configuration) dan CDC (Connected
Device Configuration).
3.
Lapisan Profil (Profile Layer)
Profil merupakan bagian perluasan dari konfigurasi, jadi
profil
menyediakan kelas-kelas
yang tidak
terdapat
pada
bagian
konfigurasi.
Contoh
profile
adalah
MIDP
(Mobile Information
Device Profile),
Fondation
profile (untuk
konfigurasi
CDC/Connected Device Configuration), PDAP (Personal Digital
Assistant
Profile/profil untuk PDA),
Personal
profile
(Profil
perluasan dari
Fondation
profile),
RMI Profile
(Remote
Method
Invocation/RMI ke dalam konfigurasi CDC).
J2ME mempunyai beberapa profil antara lain :
1. Mobile Information Device Profile (MIDP).
2. Foundation Profile (FP).
3. Personal Profile.
4. Personal Digital Assistance (PDA) Profile.
|
![]() 32
Gambar 2.8 : Java 2 Micro Editon (J2ME)
Dilihat dari gambar diatas maka J2ME mempunyai lapisan
konfigurasi dan profil
yang didukung oleh Java Virtual Machine
(C-Virtual Machine dan K-Virtual Machine)
J2ME adalah satu set spesifikasi dan teknologi yang fokus
kepada
perangkat
konsumen. Perangkat
ini
memiliki
jumlah
memori
yang terbatas,
menghabiskan
sedikit
daya
dari
baterai,
layar yang kecil dan bandwith jaringan yang rendah.
Dengan
perkembangbiakan
perangkat mobile konsumen
dari telepon, PDA, alat elektronik lainnya, Java menyediakan
suatu
lingkungana
yang
portable untuk
mengembangkan
dan
menjalankan aplikasi pada perangkat ini.
Program
J2ME,
seperti
semua program Java
adalah
diterjemahkan oleh VM.
Program program tersebut dikompile
|
![]() 33
ke
dalam
bytecode dan
diterjemahkan
dengan
Java
Virtual
Machine (JVM).
Ini
berarti
bahwa
program
program
tersebut
tidak
berhubungan
langsung dengan
perangkat.
J2ME
menyediakan
suatu
interface
yang sesuai
dengan
perangkat.
Aplikasi
aplikasi
tersebut
tidak
harus
dikompile
ulang supaya
mampu dijalankan pada mesin yang berbeda.
Inti dari
J2ME
terletak
pada configuration
dan
profile
profile. Suatu configuration menggambarkan lingkungan runtime
dasar
dari
suatu
sistem
J2ME.
Ia
menggambarkan
core
library,
virtual machine, fitur keamanan dan jaringan.
Gambar 2.9 : Arsitektur J2ME
Sebuah profile memberikan library tambahan untuk suatu
kelas
tertentu
pada
sebuah
perangkat.
Profile
profile
|
34
menyediakan user interface (UI) API, persistence, messaging
library, dan sebagainya.
Satu
set
library tambahan atau package
tambahan
menyediakan
kemampuan program tambahan. Pemasukan
package ini
ke
dalam
perangkat
J2ME
dapat
berubah
ubah
karena
tergantung pada
kemampuan
sebuah
perangkat.
Sebagai
contoh,
beberapa
perangkat MIDP
tidak
memiliki
Bluetooth
build-in,
sehingga
Bluetooth
API tidak
disediakan
dalam
perangkat ini.
2.8.2.1 Komponen- Komponen J2ME
Display:
Merupakan
Objek
yang berfungsi untuk
megatur
layar. Pada sebuah MIDlet hanya terdapat satu buah objek
Display.
Display menyediakan
fitur-fitur
untuk
menggambar
dan
menampilkan elemen
grafis
kepada
pengguna
pada layar.
Objek Display juga menyediakan
suatu metode untuk mengetahui properti layar
perangkat
seperti apakah layar perangkat mendukung layar berwarna
atau tidak.
Displayable:
Displayable adalah
kelas
abstrak
dari user
interface. Displayable
memiliki dua buah sub kelas yaitu
|
35
Canvas
sebagai user
interface level
rendah
dan Screen
sebagai user
interface
level
tinggi.
Objek
Displayable
hanya
bisa
dimunculkan
pada
satu
waktu
yang disebut
dengan current
Displayable. Perbedaan
Displayable
dengan Display adalah apabila dalam suatu MIDlet hanya
boleh terdapat satu objek Display, sedangkan Displayable
boleh lebih dari satu. Tetapi pada suatu waktu hanya dapat
ditampilkan satu Displayable oleh objek Display misalnya
dalam satu MIDlet diperbolehkan ada banyak Canvas
yang ditampilkan bergantian oleh Display.
Screen:
Screen
adalah kelas diatas semua user
interface
level
tingi
atau
disebut
juga superclass.
Sebagian
besar
komponen Screen
tidak mengijinkan
penambahan
komponen
lain
dan penghapusan
komponen
screen
tersebut.
Komponen
itu
antara
lain: List,
TextBox,
dan
Alert.
Canvas:
Canvas
merupakan
sub
kelas
dari Displayable
yang menggunakan user
interface level rendah
. Semua
elemen
yang akan
ditampilkan
pada
layar
mobile
device
harus digambar sendiri pada Canvas dengan menggunakan
objek grafik.
|
36
Graphics:
Graphics
adalah
objek
yang digunakan
untuk
menggambarkan gambar, maupun string pada layar. Objek
Graphics
tidak perlu dibuat karena
otomatis akan
dipanggil pada saat Canvas terbentuk.
Font:
Font digunakan
pada user
interface level
rendah.
Font
digunakan untuk
mendefinisikan mode
sebuah
karakter atau string ke layar.
Command:
Command
adalah
objek
yang memungkinkan
pemakai
melakukan
aksi.
Objek
fungsi command
sama
dengan
button
pada aplikasi-aplikasi
yang ad
di desktop.
Command
membutuhkan
interface CommandLIstener
untuk menangkap event dari Command.
List:
List menyediakan fungsi memilih elemen dalam
List kepada pengguna. Elemen tersebut dapat berupa teks,
string, maupun gambar.
|
37
Alert:
Alert adalah sejenis pesan yang tampil di layar
yang menampilkan
teks
maupun
gambar
ke
layar
yang
berguna untuk memberikan suatu informasi ke pengguna.
Ticker:
Objek Ticker dapat berasosiasi dengan objek sub
kelas
dari
Screen.
Ticker
merupakan
objek
yang berupa
tulisan berjalan. Arah dan kecepatan dari ticker tidak dapat
diatur secara manual, karena telah diatur oleh sistem dan
Ticker yang sedang berjalan tidak dapat dihentikan oleh
aplikasi.
TextBox:
TextBox adalah
sebuah objek
yang ditujukan
agar
pemakai dapat menuliskan teks dan mengeditnya.
Form:
Form dapat dianggap
sebagai
halaman
untuk
memasukkan
data. Form
dapat
terdiri
dari
komponen-
komponen yang biasa disebut dengan item. Kumpulan
Item yang ada pada sebuah Form pada konsepnya
disimpan di dalam array, sehingga pengaksesannya dapat
dilakukan dengan menggunakan indeks.
|
38
Item:
Item adalah kelompok besar dari elemen grafis
yang dapat ditambahkan ke dalam objek
Form. Item
merupakan
kelompok
yang
lebih
besar
dibandingkan
semua
komponen
yang
dapat
ditambahkan
pada Form.
Komponen-komponen
yang termasuk
dalam
item
antara
lain:
ImageItem,
StringItem, TextField, DateField,
ChoiceGroup, dan Gauge.
TextField:
TextField adalah sebuah objek untuk memasukkan
berupa
text
ke
dalam
suatu
form.
Yang membedakan
TextBox
dan
TextField
adalah
TextBox merupakan
sub
kelas dari Screen sedangkan TextField merupakan sub
kelas dari Item. Dan juga pada saat ditampilkan TextField
bisa
bersama
Item
yang
laen
sedangkan
TextBox hanya
dapat ditampilkan sendiri.
ChoiceGroup:
ChoiceGroup
adalah
kelompok
yang
dapat
dipilih
dengan
menyeleksi
pilihan
yang ada
dalam
kelompok
tersebut.
|
39
DateField:
DateField merupakan elemen untuk
menampilkan
tanggal dan informasi waktu dalam sebuah objek Form
Image:
Sebuah
Image menyimpan
data grafis
gambar.
Image dapat ditambahkan pada user
interface level tinggi
seperti
Form,
akan
tetapi
Image tersebut
bersifat
immutable
artinya
image
tidak
dapat
dimodifikasi setelah
dibuat.
ImageItem:
Merupakan
Objek
untuk menampilkan
gambar
seperti objek Image, hanya saja ImageItem
dilengkapi
dengan adanya fasilitas pengaturan layout.
StringItem:
StringItem menampilkan
sebuah
label
statis
dan
sebuah pesan yang berupa teks.
CustomItem:
CustomItem
adalah
bagian
dari
Item
yang dapat
dibuat
sendiri, jadi CustomItem bukan
merupakan library
standar dari J2ME
|
40
2.8.2.2 Configuration
Suatu
configuration
menggambarkan
fitur minimal
dari
lingkungan
lengkap Java runtime.
Untuk
menjamin
kemampuan
portabilitas dan interoperabilitas optimal diantara berbagai macam
perangkat
yang dibatasi
sumber dayanya
(memory, prosesor,
koneksi yang dibatasi),
configuration tidak
menggambarkan fitur
tambahan. Suatu
configuration
J2ME
menggambarkan
suatu
komplemen
yang minimum
dari
teknologi
Java.
Adalah
merupakan tugas profile-profile
untuk menggambarkan
tambahan
library untuk suatu kategori perangkat tertentu.
Configuration menggambarkan :
Subset bahasa pemograman JAVA
Kemampuan Java Virtual Machine (JVM)
Core Platform Libraries
Fitur sekuriti dan jaringan
2.8.2.3 Profile
Suatu
profile menggambarkan
set-set
tambahan
dari API
dan fitur untuk pasar tertentu, kategori perangkat atau industri.
Sementara configuration
menggambarkan
library dasar,
profil
profil menggambarkan
library
yang penting untuk membuat
aplikasi aplikasi efektif. Library ini memasukkan user interface,
jaringan dan penyimpanan API.
|
![]() 41
2.8.2.4 CLDC (Connected Limited Device Configuration)
CLDC merupakan perangkat
atau konfigurasi dasar dari
J2ME.
CLDC
sebenarnya
berupa
library
dan
API (Application
Programming
Interface)
yang diimplementasikan
pada
J2ME.
Konfigurasi ini biasanya untuk alat-alat kecil seperti telepon
seluler (mobile
phone),
pager, dan PDA. Peralatan tersebut
biasanya
mempunyai keterbatasan
memori (RAM), sumber daya,
dan kemampuan memproses. Spesifikasi CLDC
dan sebagian
fungsi
Java
Virtual
Machine
yang dikurangi
(KVM/Kilobyte
Virtual Machine).
MIDP
CLDC
Kumpulan
Library
KVM
Sistem Operasi
Gambar 2.10 : KVM
The Connected Limited Device Configuration (CLDC)
menggambarkan dan menunjuk pada area berikut ini :
Fitur Bahasa Java dan Virtual Machine (VM)
Library dasar (java.lang.*,java.util.*)
Input/Output (java.io.*)
Keamanan
|
42
Jaringan
Internationalization
Fitur tertentu dari J2SE yang dipindahkan dari CLDC adalah :
Finalization of class instance
Asynchronous exceptions
Beberapa error classes
User-defined class loader
Reflection
Java Native Interface (JNI)
Thread groups dan daemon threads
Reflection,
Java
Native
Interface (JNI)
dan
user-defined
class
loaders
potensial
menjadi
lubang
keamanan.
JNI juga
membutuhkan
memory
yang
intensif
sehingga
dimungkinkan
untuk
tidak
mendapatkan dukungan dari memory rendah sebuah
perangkat mobile.
Pada bagian ini
secara
detail
CLDC
diperlukan untuk
pengembangan aplikasi
wireless dengan MIDP implementasinya
CLDC
digunakan
untuk
program Java
pada
perangkat
keras
dengan
ukuran
memori
yang
terbatas,
pada 160
sampai
dengan
512
Kilobyte. Akibatnya,
fitur
fitur
yang
kurang penting
untuk
|
43
diimplementasikan dalam handheld device yang bersangkutan
dari Java 2 harus dibuang.
Karakteristik Perangkat CLDC
Perangkat
yang diincar oleh CLDC
mempunyai karakteristik
sebagai berikut :
Memory minimal 192kb untuk platform Java.
Prosesor dengan 16 atau 32bit.
Mengkonsumsi sedikit daya.
Terbatas,
koneksi
jaringan
yang
sementara
dengan
pembatasan bandwith (biasanya wireless).
CLDC tidak menggambarkan instalasi dan daur hidup
sebuah aplikasi, antarmuka (User
Interface) dan penanganan
peristiwa (event handling). Adalah merupakan
tugas profile
yang
berada di bawah CLDC untuk menggambarkan area ini. Secara
khusus, spesifikasi MIDP
menggambarkan daur
hidup aplikasi
MIDP
(MIDlet),
library
UI dan
event
handling
(javax.microedition.lcdui.*).
2.8.2.5 MIDP
MIDP
merupakan
profil
yang
banyak
digunakan dan
populer dari J2ME. Jika Anda membeli mobile phone, perhatikan
ada
yang MIDP
1.0
(atau
banyak
yang
menyebutnya
Java)
dan
|
![]() 44
MIDP 2.0 (Java 2.0). Perlu diperhatikan MIDP 1.0 untuk
pemrograman teks, sedangkan MIDP 2.0 untuk Multimedia (teks,
foto, video, animasi, dan lain-lain). Untuk lebih jelasnya lihat
tabel 2.2 Perbandingan MIDP 1.0 dengan MIDP 2.0.
Pemrograman mobile phone Java dengan J2ME WTK 2.2
tampilannya juga
berupa GUI/UI (Graphical
User
Interface/UserInterface)
atau grafis,
tetapi
tidak seperti
pemrograman J2SE memakai komponen AWT (Abstract Window
Toolkit) dan Swing.
Pada pemrograman
J2ME
WTK
tampilan
grafis
dikendalikan oleh paket lcdui (javax.microedition.lcdui), paket ini
dikembangkan
oleh
JCP (Java
Community
Process).
MIDPEG
(MIDP
Expert Group) memakai paket lcdui
tidak memakain
komponen AWT dan Swing karena AWT kaya akan fitur sehingga
membutuhkan
memori yang
besar
dan
AWT
memang
dirancang
untuk pemrograman desktop (J2SE).
Tabel 2.2 Perbandingan MIDP 1.0 dengan MIDP 2.0
Spesifikasi
MIDP 1.0
MIDP 2.0
Display (Layar)
Ukuran 96x54
Ukuran 96x54
Ke dalam Display
1-bit
1-bit
|
![]() 45
Bentuk
Pixel
(Rasio Aspek)
Mendekati 1:1
Mendekati 1:1
Input
Keyboard
dan
Touch Screen
Keyboard dan Touch
Screen
Jaringan
Dua arah, tanpa
kabel (wireless)
Dua arah, tanpa kabel
(wireless)
Library
J2ME
yang
bukan
Library J2SE
javax.microeditio
n.lcdui,
Javax.microeditio
n.midlet,
Javax.microeditio
n.rms
javax.microedition.lcd
ui,
javax.microedition.mi
dlet,
javax.microedition.em
s,
javax.microedition.lcd
ui.game,
javax.microedition.me
dia,
javax.microedition.pki
Multimedia
-
Memiliki kemampuan
memainkan file-file
multimedia (suara
dan
video)
|
![]() 46
2.8.2.6 MIDlets
Aplikasi
yang berjalan
pada
sebuah
perangkat
yang
mendukung MIDP disebut dengan MIDlets, atau lebih singkatnya
MIDlet merupakan aplikasi yang dibuat menggunakan Java 2
Micro Edition dengan profile Mobile Information Device Profile
(MIDP).
MIDP
dikhususkan
untuk
digunakan
pada handset
dengan kemampuan CPU,
memori, keyboard dan layer yang
terbatas, seperti mobile phone, pager, PDA dan sebagainya.
Gambar 2.11 : Arsitektur aplikasi MIDP
Pada
Gambar Menunjukkan
bahwa
aplikasi
yang
mendukung perangkat
MIDP
adalah
aplikasi
MIDlet
yang juga
termasuk bagian dari Java 2 Micro Edition.
|
![]() 47
Daur Hidup (LifeCycle) MIDlet
Lifecycle dari
sebuah
MIDlet
ditangani
oleh
Application
Management
Software (AMS).
AMS
adalah
sebuah
lingkungan
tempat siklus dari sebuah MIDlet,
mampu untuk diciptakan,
dijalankan,
dihentikan
maupun
dihilangkan.
AMS
sering pula
disebut
dengan
Java
Application
Manager
(JAM). MIDlet
memiliki beberapa state, yaitu Pause, Active dan Destroy. Ketika
masing -
masing state
dipanggil,
beberapa
method
yang
bersesuaian
dipanggil.
Method-method tersebut merupakan
bawaan dari J2ME. Untuk menjelaskan proses MIDlet dalam Java
Aplication Manager (JAM) adalah pada Gambar
Gambar 2.12 : LifeCycle dan perubahan status MIDlet
|
![]() 48
2.8.2.7 CDC (Connected Device Configuration)
CDC termasuk spesifikasi
dan konfigurasi J2ME. CDC
merupakan perangkat atau konfigurasi superset dari CDC.
Tabel 2.3 : Perbandingan CLDC dengan CDC
CLDC
CDC
Mengimplementasikan
sebagian fitur dari J2SE
Mengimplementasikan seluruh
fitur J2SE
KVM sebagai JVM
CVM sebagai JVM
Digunakan
untuk
perangkat
genggam
(HP, PDA,
two
way
Pager)
Digunakan
Untuk Perangkat
genggam (internet TV, Nokia
Communicator, Car TV)
Memori terbatas (160-512 KB)
Memori Minimal 2MB
Processor: 16/32 bit
Processor: 32 bit
2.8.2.8 Wireless Toolkit
J2ME
Wireless
Toolkit
adalah
alat
yang menyediakan
lingkungan emulator, dokumentasi beserta contoh-contoh aplikasi
Java
untuk
perangkat
kecil
(small
device)
J2ME WTK
berbasiskan pada CLDC dan MIDP. J2ME WTK adalah program
yang meniru
kerja
mobile
device
yang mendukung MIDP
atau
yang biasa disebut emulator. Oleh karena itu, belum tentu MIDlet
|
![]() 49
yang berjalan
di
emulator
juga
berjalan
pada
mobile
device
sebenarnya,
karena
juga
bergantung pada
kemampuan
dan
kapasitas mobile device yang digunakan.
1. Membuat dan Membuka Aplikasi
Untuk
membuat
sebuah
aplikasi
J2ME, terlebih
dahulu
harus
mengistall
JDK
(Java development kit) dan
Java Wireless Toolkit pada komputer. Kemudian buka All
Program ->
Wireless
Toolkit for CLDC ->
Wireless
Toolkit.
Gambar 2.13 : Jendela Wireless Toolkit
Untuk membuat proyek aplikasi J2ME klik tombol
New Project. Isikan nama proyek dan nama kelas MIDlet
lali klik Create Project, nama kelas di sini harus
merupakan nama dari kelas yang merupakan turunan dari
MIDlet (extend MIDlet), setelah
itu akan
muncul jendela
|
50
setting. Setelah proses membuat ptoyek selesai maka pada
direktori
install/apps atai
C:/Documents
and
Settings/[user]/j2mewtk/[versi]/apps (untuk
versi
WTK
2.2
direktori
apps
ada
di C:/WTK/apps)
akan
terbentuk
sebuah
direktori
dengan
nama sesuai
nama proyek
yang
baru saja di buat. Dalam direktori tersebut akan terdapat
banyak direktori-direktori sebagai berikut:
Direktori bin yang merupakan tempat file
MANIFEST.MF, file JAD, file JAR.
Direktori lib
untuk
meletakkan file-file
library
(biasanya berupa file JAR).
Direktori
res untuk meletakkan
file-file
resource
seperti file gambar maupun suara.
Direktori src untuk
meletakkan file-file
source
code.
File project.properties
yang
menyimpan setting
MIDlet.
|
![]() 51
Gambar 2.14 : Jendela New Project.
Untuk membuka sebuah proyek, klik Open Project
Wireless
pada
Toolkit.
Pilih
proyek
yang akan
di
buka,
kemudian klik Open Project.
Gambar 2.15 : Jendela Open Project
|
52
2.
Setting
Setting proyek aplikasi
J2ME dapat di set pada
Wireless toolkit, Jendela Setting biasanya dapat dibuka
pada saat membuat proyek maupun ketika
sedang
mengerjakan proyek.
Klik tombol Setting, jika ingin
menggunakan Setting standar maka jendela Setting muncul
langsung saja klik tombol OK. Setting standar pada WTK
2.5.2 adalah MIDP 2.1, versi ini akan memunculkan pesan
gagal
saat
diinstal
pada
telepon
selular
yang hanya
mendukung MIDP 2.0.
Jika ingin menyesuaikan Setting dengan kebutuhan
aplikasi,
maka
Setting
jiga
dapat
diset
sendiri.
Pada
tab
API
Selection
pilih
pelayanan
yang dibutuhkan
untuk
MIDlet
yang dibuat
seperti
untuk
target
platform
pilih
JTWI (Java
Technology
for
the
Wireless
Industry
Specification), untuk configuration pilih CLDC 1.0,
banyak
mobile
device
yang
telah
mendukung
CLDC
1.0,
sebaliknya
hanya mobile device tertentu yang mendukung
CLDC 1.1,
perbedaan
CLDC 1.0
dan
CLDC
1.1 adalag
pada penanganan floating
point,
pada
CLDC
1.0
belum
ada.Berikut
adalah keterangan mengenai
optional
dan
additional API atau spesifikasi:
|
![]() 53
Tabel 2.4 : Optional dan Additional API
API / Spesifikasi
Kegunaan
Mobile
Media
API
(MMAPI)
API
untuk
keperluan
pengaksesan multimedia
Wireless
Messaging
API
(WMAPI)
API
untuk
keperluan
pengiriman pesan
Web
Service
Access for
J2ME
Spesifikasi
yang
menyediakan akses standar
dari J2ME ke web service
PDA Profile for J2ME
Spesifikasi yang
mendefinisikan profile
dengan
API standar
untuk
perangkat jenis PDA
Bluetooth / OBEX (Object
Exchange) for J2ME
Spesifikasi yang
berhubungan dengan
Bluetooth, pengiriman
onjek,
dan Service
Discovery Protocol
Mobile 3D Graphics for
J2ME
Spesifikasi
yang
berhubungan dengan grafik
tiga dimensi
|
![]() 54
3.
Cara Menjalankan Aplikasi
Pada J2ME Wireless Toolkit terdapat beberapa skin
emulator. Skin dapat dipilih dengan
memilih
device pada
Wireless
Toolkit,
pilih skin
sesuai
kebutuhan,
jika
dibutuhkan
skin
yang mendukung warna,
maka
gunakan
skin yang memang mendukung warna berserta ukuran
layar yang
sekiranya
mendekati perangkat tujuan
aplikasi
dibuat. Berikut adalah ukuran layar dari skin yang ada:
Tabel 2.5 : Ukuran layar
Nama Skin
Ukuran
Layar
Ukuran
Canvas
Dukungan
Warna
DefaultColor
Phone
320 x 240
292 x
240
Mendukung
DefaultGray
Phone
208 x 180
180 x
178
Tidak
mendukung
MediaContro
lSkin
208 x 180
180 x
178
Mendukung
QwertyDevic
e
320 x 321
292 x
320
Tidak
mendukung
|
55
Jika semua source code, resource, beserta library
telah
diletakkan
pada
tempatnya dan
telah
selesai
dikerjakan, tindakan
selanjutnya
adalah bagaimana
menjalankan pada
emulator. Untuk menjalankan pada
emulator,
yang harus
di
lakukan
adalah
mengkompilasi
source code, klik tombol Build pada Wireless Toolkit, jika
source code lolos kompilasi makan akan muncul hasil
pada layar Wireless Toolkit berupa tulisan Build Complete,
jika source code gagal dikompilasi maka yang keluar pada
layar Wireless Toolkit adalah pesan-pesan kesalahan, jika
hal
ini
terjadi,
perbaiki
kesalahan
pada source
code dan
lakukan kompilasi kembali hingga source
code lulus
kompilasi. Selesai melakukan kompilasi maka pada
direktori proyek
yang dibuat akan muncul beberapa
direktori antara lain:
classes
Berisi kumpulan file .class hasil dari kompilasi
yang telah dipreverifikasi.
tcmpclasses
Digunakan
untuk menyimpan kumpulan file .class
sebelum dipreverifikasi dan dikopikan ke direktori
classes.
|
56
tmplib
Digunakan untuk menyimpan kopi file dari file
JAR
dan
ZIP yang telah ada pada
direktori
lib
di
mana kelas-kelas di dalamnya telah dikonversikan
menjadi bentuk yang telah dipreverifikasikan.
Setelah melakukan kompilasi, klik tombol Run
pada
Wireless Toolkit maka akan muncul skin
emulator
yang pada menunya
terdapat
tulisan
launch,
klik
tombol
pada emulator
yang mengacu pada menu tersebut, maka
aplikasi akan dijalankan pada emulator.
Untuk
membuat file JAR
pilih
menu
Project
->
Package -> Create Package, maka file JAR akan
terbentuk pada direktori bin. Untuk memindahkan MIDlet
ke
mobile
device
yang
sesungguhnya dapat
dilakukan
koneksi
bluetooth, GPRS, kabel
data ataupin
inframerah.
Dalam
praktiknya,
ada
beberapa mobile device
yang
membutuhkan
file JAD
dan
JAR
dalam
proses
instalasi
aplikasi pada mobile device.
Untuk menjalankan aplikasi J2ME pada komputer
dengan
tanpa
Wireless Toolkit,
cukup
jalankan file JAD,
namun file JAD
ini hanya dapat
dieksekusi jika
file
JAR
juga telah terbentuk.
|
57
Aplikasi J2ME dalam praktiknya, jika sebuah
aplikasi
berjalan
di
simulator
dengan
benar,
maka belum
tentu dapat di jalankan pada mobile device dengan benar
karena bagaimanapun simulator bukanlah perangkat yang
sebenarnya. Untuk memastikan aplikasi berjalan pada
mobile device sebaiknya memang diujicobakan pada
mobile device.
Aplikasi
J2ME juga sebagian besar
untuk
alasan keamanan tidak dapat mengakses file sistem mobile
device, aplikasi biasanya hanya dapat mengakses file yang
ada
pada
paket
JAR-nya, serta
tidak
dapat
melakukan
penulisan pada file tersebut.
2.9
Object-Oriented Analysis and Design (OOAD)
Menggunakan
OOAD
sebagai
metode pengembangan
perangkat
lunak.
Menurut Grady Booch
(2007, p42), object-oriented design adalah
metode
yang
meliputi desain proses berorientasi objek dalam pemecahan masalah piranti
lunak. Dan object-oriented analysis adalah suatu metode analisis yang
memeriksa persyaratan
dari
perspektif
kelas
dan objek
yang
ada
pada
permasalahan.
OOAD adalah
metode analisis yang
memeriksa requirements dari sudut
pandang
objek dan kelas dalam permasalahan,
metode
ini
memecah objek dan
kelas menjadi bagian kecil kemudian diproses atau dikerjakan.
|
58
2.10
UML
Unified
Modeling
Language (UML)
adalah
bahasa
spesifikasi
standar
untuk
mendokumentasikan,
menspesifikasikan,
dan
membangun
sistem perangkat lunak. UML tidak berdasarkan pada bahasa pemrograman
tertentu. Standar spesifikasi
UML dijadikan standar defacto oleh OMG (Object
Management
Group)
pada
tahun
1997.
UML
yang berorientasikan
object
mempunyai beberapa
notasi
standar.
Satu kumpulan konversi
permodelan yang
digunakan untuk menentukan atau menggambarkan sebuah sistem software yang
terkait dengan objek (Whitten, 2004, p406).
Spesifikasi ini menjadi populer dan standar karena sebelum adanya UML,
telah ada berbagai macam spesifikasi
yang berbeda. Hal ini menyulitkan
komunikasi antar pengembang perangkat lunak. Untuk itu beberapa pengembang
spesifikasi
yang sangat
berpengaruh
berkumpul
untuk
membuat
standar
baru.
UML dirintis
oleh
Grady
Booch,
James
Rumbaugh
pada
tahun
1994
dan
kemudian Ivar Jacobson.
UML
mendeskripsikan OOP (Object
Oriented
Programming) dengan
beberapa diagram, diantaranya:
Diagram struktur:
1.
Diagram kelas :
menggambarkan struktur sebuah sistem dengan
menunjukkan sistem kelas, atribut mereka, dan hubungan di antara kelas.
|
59
Diagram perilaku:
1.
Diagram
use-case
:
menunjukkan
fungsionalitas yang
disediakan
oleh
sistem
dari
segi
aktor,
tujuan
mereka digambarkan
sebagai
kasus
penggunaan, dan setiap ketergantungan di
antara mereka
yang
menggunakan kasus.
2.
Diagram
urutan/sekuen
:
memperlihatkan bagaimana objek
berkomunikasi
satu
sama
lain
dalam
suatu
urutan
pesan. Juga
menunjukkan benda lifespans relatif terhadap pesan-pesan tersebut.
3.
Diagram
aktivitas
:
merepresentasikan
bisnis
dan
operasional
langkah-
demi-langkah alur kerja komponen dalam sebuah sistem. Diagram
aktivitas keseluruhan menunjukkan aliran kontrol.
|