Pembahasan Umum JAVA Rapid Application Development RAD

12 berkewajiban membayar dam denda, sementara haji ifrad tidak ada kewajiban.

2.4 Mobile Device

Computing device berukuran relatif lebih kecil, dengan tipikal penggunaan layar display visual kecil sebagai output dan keyboard kecil sebagai input. Pada device tertentu, misalnya Personal Digital Assistant PDA, input dan output menjadi satu pada tampilan touch-screen http:en.wikipedia.orgwikiHandheld device.

2.5 Pembahasan Umum JAVA

JAVA menurut definisi dari SUN adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada komputer dalam lingkungan jaringan. JAVA 2 adalah generasi kedua dari JAVA platform generasi awalnya adalah Java Development Kit. Java berdiri diatas sebuah mesin interpreter yang diberi nama Java Virtual Machine JVM. JVM ini yang akan membaca byte code dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa JAVA disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM Shalahuddin, 2006:1. Platform JAVA memiliki tiga buah edisi yang berbeda yaitu J2EE Java 2 Enterprise Edition, J2SE Java 2 Standard Edition dan J2ME Java 2 Micro 13 Edition Shalahuddin, 2006:4. Hubungan antara J2EE, J2SE dan J2ME dapat dilihat pada Gambar 2.1 . Gambar 2.1 Hubungan antara J2EE, J2SE dan J2ME de Jode, 2004:4

2.6 JAVA2 Micro Edition J2ME

2.6.1 Sekilas tentang J2ME

Java 2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak JAVA pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi pada perangkat yang lainnya J2ME biasa digunakan pada telepon seluler, pager, Personal Digital Assistance PDA’s dan sejenisnya Shalahuddin, 2006:5. Arsitektur J2ME dapat dilihat pada Gambar 2.2 . 14 Profile Configuration Libraries JVM Host Operating System Gambar 2.2 Arsitektur J2ME Shalahuddin, 2006:5 Teknologi J2ME ditujukan untuk cakupan user yang luas sekali dari mulai handphone hingga set-top-box yang powerful seperti halnya sebuah komputer yang dilengkapi dengan J2SE atau J2EE. J2ME memiliki beberapa keunggulan yaitu http:j2me.winfaisal.info: 1. Sebagaimana kekhasan aplikasi yang ditulis dengan bahasa pemrograman JAVA maka aplikasi J2ME memiliki ciri running any where, any time, over any dvice. 2. Aplikasi dapat dijalankan secara on-line maupun off-line. 3. Memiliki kode yang portable. 4. Safe network delivery. 5. Aplikasi yang ditulis dengan J2ME akan memiliki kompatibilitas yang tinggi dengan platform J2SE dan J2EE. Tetapi selain memiliki beberapa keunggulan, teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel J2ME sangat bergantung pada perangkat device yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera maka J2ME pada ponsel tersebut tidak dapat mengakses kamera. 15 Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas. Shalahuddin, 2006:6.

2.6.2 Komponen-Komponen J2ME

Komponen user interface untuk aplikasi J2ME MIDlet sangat terbatas. Komponen-komponen yang disediakan bagi aplikasi MIDlet, secara garis besar dibagi menjadi dua kelompok, yaitu MIDP Screen dan MIDP UI Purnomo, 2006:200.

2.6.2.1 MIDP Screen

Berkaitan dengan kecilnya layar display dan keterbatasan memori perangkat mobile, MIDP menggunakan class khusus untuk menangani hal tersebut, sehingga bisa menyesuaikan dengan lebar layar perangkat mobile. Jika pada aplikasi desktop menggunakan frame, maka pada aplikasi mobile menggunakan Displayable. Displayable adalah suatu obyek yang dapat digunakan untuk menggambar atau meletakkan komponen yang dapat menyesuaikan ukuran dengan layar perangkat mobile. Class Displayable memiliki dua buah sub-class, yaitu Screen dan Canvas, dan terdapat empat turunan dari class Screen, yaitu Alert, Form, List, dan TextBox.

2.6.2.2 MIDP UI

Terdapat beberapa komponen yang dapat digunakan untuk merancang tampilan aplikasi berbasis mobile. Adapun komponen- komponen tersebut diantaranya, yaitu: 16 1. ChoiceGroup Komponen yang digunakan untuk membuat pilihan, baik berupa pilihan tunggal maupun pilihan jamak. 2. DataField Komponen yang dapat digunakan untuk menampilkan waktu berupa tanggal atau jam atau kedua-duanya. 3. Gauge Komponen yang digunakan sebagai grafik bar untuk menunjukan suatu proses. 4. ImageItem Komponen untuk meletakkan gambar berformat PNG. 5. StringItem Komponen untuk meletakkan teks tetapi tidak dapat diubah. 6. TextField Komponen untuk meletakkan teks. Teks dapat diubah dan dibatasi jumlah maksimal karakter yang dimasukkan. 7. Ticker Komponen yang menjadikan sebuah teks dapat bergerak. 8. Spacer Komponen untuk membuat ruang kosong antara komponen satu dengan komponen yang lain. 17

2.6.3 J2ME Configuration

Configuration adalah sesutau spesifikasi yang menggambarkan lingkungan perangkat lunak untuk suatu device yang digambarkan oleh suatu kumpulan karakteristik yang bersandar pada suatu spesifikasi contohnya antara lain Topley, 2002:10: 1. Jenis dan jumlah ketersediaan memori 2. Jenis prosesor dan kecepatannya 3. Jenis koneksi jaringan yang tersedia pada suatu device Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu CLDC Connected Limited Device Configuration untuk perangkat kecil dan CDC Connected Device Configuration untuk perangkat yang lebih besar. Shalahuddin, 2006:6.

1. Connected Limited Device Configuration CLDC

Connected Limited Device Configuration CLDC adalah perangkat dasar dari J2ME profiles untuk perangkat kecil, seperti telepon seluler, pager, dan low-end PDAs Topley, 2002:16. Gambar 2.3 menjelaskan tentang posisi CLDC dalam arsitektur J2ME. MIDP CLDC Kumpulan Library KVM Sistem Operasi Gambar 2.3 Posisi CLDC dalam Arsitektur J2ME Shalahuddin, 2006:7. 18

2. Connected Device Configuration CDC

CDC ditujukan untuk memenuhi kebutuhan dari device yang terletak di antara device yang ditujukan untuk CLDC dan sistem desktop yang berjalan penuh menggunakan J2SE. CDC dapat ditemukan pada device seperti PDA yang lebih canggih, pada smart phones, web telephones, residential gateway, dan set- top boxes Topley, 2002:11. Berikut adalah perbandingan CLDC dan CDC Shalahuddin, 2006:8. Tabel 2.1 Tabel Perbandingan CLDC dan CDC Shalahuddin, 2006:8 CLDC CDC Mengimplementasikan sebagian dari J2SE Mengimplementasikan seluruh fitur J2SE JVM yang digunakan adalah KVM Kilo Virtual Machine. JVM yang digunakan adalah CVM C-Virtual Machine. Digunakan pada perangkat genggam handphone, PDA, twoway pager dengan memori terbatas 160-512 KB. Digunakan pada perangkat genggam Internet TV, Nokia Communicator, Car TV dengan memori minimal 2 MB. Prosesor : 1632 bit Prosesor : 32 bit

2.6.4 J2ME Profile

Profile melengkapi Configuration dengan menambahkan kelas- kelas tambahan yang menyediakan fitur-fitur yang lebih spesifik yang sesuai bagi jenis-jenis device tertentu Topley, 2002:12. Salah satu profile yang terdapat dalam arsitektur J2ME adalah MIDP atau Mobile Information Device Profile.

a. Mobile information device profile MIDP

19 MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah profile J2ME Shalahuddin, 2006:9. Profile ini menambah networking, user interface components, dan local storage pada CLDC. Profile ini ditujukan khususnya kepada mobile device yang memiliki keterbatasan pada display dan fasilitas penyimpanan, dan oleh karena itu MIDP menyediakan user interactif yang relatif sederhana dan networking dasar yang berbasis HTTP 1.1 Topley, 2002:12. Posisi MIDP pada arsitektur J2ME dapat dilihat pada Gambar 2.4 Shalahuddin, 2006:9. MIDP CLDC Libraries KVM Host Operating System Gambar 2.4. Posisi MIDP dalam arsitektur J2ME Shalahuddin, 2006:9

2.6.5 Kilo Virtual Machine KVM

KVM atau Kilo Virtual Machine adalah paket JVM yang didesain untuk perangkat yang kecil. Posisi KVM pada arsitektur J2ME dapat dilihat pada gambar 2.5 di bawah ini Shalahuddin, 2006:11. MIDP CLDC Kumpulan Library KVM Sistem Operasi Gambar 2.5. posisi KVM pada arsitektur J2ME Shalahuddin, 2006:11 20

2.6.6 MIDlets

Sebuah MIDlets adalah aplikasi java yang didesain untuk dapat berjalan pada mobile device. Sebuah midlet terdiri dari satu atau lebih paket-paket midlet dan bersama-sama menggunakan suatu file JAVA archive JAR Muchow, 2001:20.

2.6.6.1 Daur Hidup MIDlet

Di setiap waktu, suatu midlet satu dari tiga status: Paused, Actived atau Destroyed. Gambar 2.6 di bawah ini menunjukan diagram status daur hidup dari sebuah midlet Topley, 2002:58. Gambar 2.6 Diagram status daur hidup dari sebuah Midlet Topley, 2002:58.

2.6.6.2 Emulator perangkat MIDlet

SUN Microsystem telah menyediakan J2ME Wireless Toolkit sering disingkat J2ME WTK untuk mengembangkan aplikasi dalam handphone Raharjo, 2007:8. 21 J2ME Wireless Toolkit dapat didownload di http:java.sun.comj2me secara gratis. J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator, dokumentasi berserta contoh-contoh aplikasi java untuk perangkat kecil small device Shalahuddin, 2006:15. Gambar 2.7 berikut ini adalah contoh J2ME Wireless Toolkit versi 2.5.2 Gambar 2.7. Contoh emulator J2ME Wireless Toolkit 2.5.2

2.6.7 Java Application Descriptor JAD

Digunakan untuk mendeskripsikan isi aplikasi untuk keperluaan pemetaan. File JAD berisi deskripsi file JAR Java Archieve dan pemetaan atribut Midlet, sedanglan file JAR berisi kumpulan kelas dan resource Shalahuddin, 2006:14.

2.7 Rapid Application Development RAD

RAD Rapid Application Development adalah istilah yang dibuat oleh James Martin, yaitu seorang konsultan komputer dan pengarang, untuk suatu siklus hidup pengembangan yang dimaksudkan untuk menghasilkan sistem secara cepat tanpa mengorbankan kualitas McLeod, 2004:153. 22 Menurut Kendall 2006:237, Pengembangan Aplikasi Cepat PAC Rapid Application Development adalah suatu pendekatan berorientasi obyek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak. Berikut ini adalah fase-fase RAD menurut James Martin Kendall, 2006:238, yang meliputi empat tahapan yaitu: 1 Fase Perencanaan Syarat-syarat Pada tahap ini dilakukan penentuan tujuan dan syarat-syarat informasi. 2 Fase Perancangan. Pada tahap ini dilakukan perancangan proses-proses yang akan terjadi dalam aplikasi dan perancangan antarmuka. 3 Fase Konstruksi Pada tahap ini dilakukan pengkodean terhadap rancangan-rancangan yang telah didefinisikan pada tahap sebelumnya. 4 Fase Pelaksanaan Pada tahap ini dilakukan pengujian terhadap aplikasi dan melakukan pengenalan terhadap aplikasi. Gambar 2.8 Fase RAD menurut James Martin Kendall, 2006:238 Dalam menggunakan RAD ada beberapa hal yang perlu diperhatikan terutama berkaitan dengan kelebihan dan kekurangan. 23 Berikut ini adalah beberapa poin kelebihan dan kekurangan menggunakan metode RAD, yaitu Noertjahyana, 2002:78: a. Kelebihan metode RAD Beberapa kelebihan dalam menggunakan metode RAD antara lain: 1 Proses pengiriman menjadi lebih mudah, hal ini dikarenakan proses pembuatan lebih banyak menggunakan potongan-potongan script. 2 Mudah untuk diamati, karena menggunakan model prototype, sehingga user lebih mengerti akan sistem yang dikembangkan. 3 Lebih fleksibel, karena pengembang dapat melakukan proses desain ulang pada saat yang bersamaan. 4 Keterlibatan user semakin meningkat, karena merupakan bagian dari tim secara keseluruhan. 5 Mampu meminimalkan kesalahan-kesalahan, dengan menggunakan alat-alat bantuan CASE tools. b. Kekurangan metode RAD Beberapa kekurangan dalam menggunakan metode RAD antara lain: 1 Kesulitan dalam melakukan pengukuran mengenai kemajuan proses. 2 Ketelitian menjadi berkurang, karena tidak menggunakan metode yang formal dalam melakukan pengkodean. 3 Lebih banyak terjadi kesalahan, apabila hanya mengutamakan kecepatan dibandingkan dengan biaya dan kualitas. 24 4 Fasilitas-fasilitas banyak yang dikurangi, karena terbatasnya waktu yang tersedia. 5 Sistem sulit diaplikasikan di tempat yang lain .

2.8 Unified Modelling Language UML