6 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
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.
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.
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
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.
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.
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.
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
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.
• 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.
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
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.
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.
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
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.
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
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
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.
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
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.
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
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
(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.
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.
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
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.
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
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
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
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.
• 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.
• 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.
• 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.
• 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
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.
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
• 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
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
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
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)
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.
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
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
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
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.
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.
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:
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
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
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.
• 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.
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.
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.
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.