Post on 06-Mar-2019
6
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
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
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
Paket (Package) Paket-paket Opsional
Profil (Profile)
Konfigurasi (Configuration)
JMV
J2ME
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).
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
Sistem Operasi
KVM
CLDC
Kumpulan Library
MIDP
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.