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 paketpaket 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 nilainilai 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 MJPEG 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-campuranmenggantikan; 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 "MJPGStreamer". 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: thirdgeneration 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 Aplikasi Desktop Edition J2EE – Java 2 Platform, Enterprise Aplikasi enterprise dengan fokus pada Edition
pengembangan
sisi
webserver,
termasuk servlet,JSP,EJB, dan XML J2ME – Java 2 Platform, Micro Perangkat Mobile Edition JavaCard
2.8.1
Smart Cards
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
configuration dan profile.
ialah
bagian
paket-paket
(package),
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 komponenkomponen 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 Kumpulan Library CLDC
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
Interface/UserInterface)
GUI/UI
atau
grafis,
(Graphical tetapi
tidak
User 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 Mendekati 1:1
Mendekati 1:1
(Rasio Aspek) Input
Keyboard
dan Keyboard dan Touch
Touch Screen Jaringan
Screen
Dua arah, tanpa Dua arah, tanpa kabel kabel (wireless)
(wireless)
Library
J2ME javax.microeditio
javax.microedition.lcd
yang
bukan n.lcdui,
ui,
Library J2SE
Javax.microeditio
javax.microedition.mi
n.midlet,
dlet,
Javax.microeditio
javax.microedition.em
n.rms
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
Mengimplementasikan seluruh
sebagian fitur dari J2SE
fitur J2SE
KVM sebagai JVM
CVM sebagai JVM
Digunakan untuk perangkat Digunakan Untuk Perangkat genggam (HP, PDA, two way genggam (internet TV, Nokia Pager)
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 Mobile
Media
(MMAPI)
Kegunaan API API
keperluan
pengaksesan multimedia
Wireless Messaging API API (WMAPI)
untuk
untuk
keperluan
pengiriman pesan
Web Service Access for Spesifikasi J2ME
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 Spesifikasi Exchange) for J2ME
yang
berhubungan Bluetooth, onjek,
dengan pengiriman
dan
Service
Discovery Protocol Mobile 3D Graphics for Spesifikasi J2ME
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
DefaultColor
Ukuran
Ukuran
Dukungan
Layar
Canvas
Warna
320 x 240
292 x
Mendukung
Phone DefaultGray
240 208 x 180
Phone MediaContro
208 x 180
lSkin QwertyDevic e
180 x
Tidak
178
mendukung
180 x
Mendukung
178 320 x 321
292 x
Tidak
320
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 langkahdemi-langkah alur kerja komponen dalam sebuah sistem. Diagram aktivitas keseluruhan menunjukkan aliran kontrol.