BAHASA PEMROGRAMAN JAVA LANDASAN TEORI

commit to user 9 Fasilitas yang ditawarkan HP pun beragam, dari SMS, MMS, email, bahkan sekarang sebuah aplikasi dapat dijalankan di HP. Aplikasi ini ada yang berdampak positif seperti aplikasi edukatif sebagai media pembelajaran dan ada pula yang berdampak negatif dan meracuni pola pikir generasi muda. Aplikasi yang telah berkembang saat ini sangat beragam, seperti aplikasi game, aplikasi promosi suatu daerah, aplikasi perkantoran, dan aplikasi pembelajaran, salah satunya adalah aplikasi ensiklopedia. Penggunaan perangkat HP ini dipilih karena media konvensional tidak lagi efektif untuk media pembelajaran dan kurang menarik minat masyarakat. Sebuah ensiklopedia biasanya diciptakan dalam bentuk buku yang tebal dan berat, ensiklopedia dalam bentuk buku ini sulit untuk dibawa, dibutuhkan kapan saja dan dimana saja dikarenakan ukuran dan beratnya, sehingga animo masyarakat untuk membaca semakin rendah. Banyak siswa ataupun masyarakat yang malas membaca buku dan media cetak lainnya sebagai gudang ilmu, dan disisi lain mereka selalu membawa HP kemana pun mereka pergi selama 24 jam. Oleh karena itu, seiring dengan perkembangan HP, maka media pembelajaran dialihkan ke perangkat mobile yang memungkinkan informasi langsung tersaji dan bisa digunakan dimana saja dan kapan saja. Tentu saja ini sangat memudahkan bagi dunia pendidikan untuk tetap mengembangkan dan menyalurkan ilmu pengetahuan kepada seluruh masyarakat Indonesia khususnya generasi muda.

2.4 BAHASA PEMROGRAMAN JAVA

M. Shalahuddin dan Rosa A. S 2008 menyebutkan bahwa Java menurut definisi dari Sun adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java platform generasi awalnya adalah Java Development Kit. Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine JVM. JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung commit to user 10 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. Platform Java memiliki tiga buah edisi yang berbeda, yaitu J2EE Java 2 Enterprise Edition, J2ME Java 2 Micro Edition, dan J2SE Java 2 Second Edition. J2EE adalah kelompok dari beberapa API dari Java dan teknologi selain Java. J2EE dibuat untuk membuat aplikasi yang kompleks. Salah satu teknologi Java adalah write once run everywhere, sehingga protabilitas Java merupakan suatu kekuatan yang dimiliki Java. Java dapat dijalankan pada sistem operasi apapun tanpa perlu kompilasi ulang program Java yang dibuat. Untuk komunikasi bergerak, Sun Microsystem mengenalkan Java 2 Micro Edition J2ME. J2ME merupakan salah satu bagian teknologi Java yang digunakan untuk aplikasi Java yang berjalan pada perangkat mobile device dan teknologi aplikasi wireless.

2.4.1 J2ME Java 2 Micro Edition

J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah. Dengan perkembangbiakan perangkat mobile konsumer dari telepon, PDA, kotak permainan ke peralatan-peralatan rumah, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada perangkat ini. Program J2ME, seperti semua program JAVA adalah diterjemahkan oleh JVM. 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 www.student.eepis-its.edu~onishuya. commit to user 11

2.4.2 JVM dan KVM

Java Virtual Machine adalah software yang berfungsi untuk menjalankan program Java supaya dapat dimengerti oleh komputer. Kode program Java ditulis menggunakan editor teks seperti Notepad, Textpad, Editplus, Jcreator dan lainnya. Java Compiler yang digunakan untuk mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral terhadap semua arsitektur perangkat keras hardware yang disebut sebagai Java Bytecode .class Agung Budi Prasetijo, dkk, 2005. Menurut Shalahuddin dan Rosa 2008, KVM Kilobyte Virtual Machine adalah paket JVM yang didesain untuk perangkat kecil. KVM mendukung sebagian dari fitur-fitur JVM, misalnya KVM tidak mendukung operasi floating- point dan finalisasi projek. KVM diimplementasikan dengan menggunakan C sehingga sangat mudah beradaptasi pada tipe platform yang berbeda. J2ME mempunyai dua konfigurasi yaitu Connected Limited Device Configuration CLDC dan Connected Device Configuration CDC. Untuk lebih jelasnya dapat dilihat pada Gambar 2.1 berikut ini : Gambar 2.1 Java 2 Micro Edition Dilihat dari Gambar 2.1 J2ME mempunyai lapisan konfigurasi CLDC dan CDC dan profile MIDP, PDA Profile, Personal Profile, Foundation Profile yang didukung oleh Java Virtual Machine CVirtual Machine dan K-Virtual Machine. Java Virtual Machine CVM KVM Card VM CLDC CDC Java 2 Enter prise Edition J2EE Java 2 Standar d Edition J2ME CVM CVM Foundation Profile MID Profile PDA Profile Java Card APIs Personal Profile Java 2 Platform, Micro Edition commit to user 12

2.4.3 Connected Limited Device Configuration CLDC

Connected Limited Device Configuration CLDC merupakan perangkat dasar J2ME, spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager, dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya dan kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimum dari package, kelas, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat-alat tersebut Rindengan, 2009. Spesifikasi CLDC adalah sebagai berikut : 1. Mengimplementasikan subset dari J2SE 2. JVM yang digunakan dikenal dengan nama KVirtual Machine KVM 3. Digunakan pada perangkat handheld dengan ukuran memori terbatas 160 - 512 Kbytes 4. Prosesor : 16 Bit atau 32 Bit 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. Fitur-fitur yang dibuang antara lain : 1. Tidak ada dukungan untuk floating point Class-class untuk perhitungan floating point yakni java.lang.Float dan java.lang.Double dibuang dari CLDC. 2. Tidak ada dukungan untuk finalisasi objek Garbage collector yang secara sederhananya digunakan untuk ”bersih-bersih memori” membuang fungsi finalize pada class java.lang.Object, sekalipun fungsi ini sangat penting pada Java 2. commit to user 13 3. Tidak ada dukungan untuk JN Class JNI yang memungkinkan Java mengakses librari yang dibuat dengan bahasa selain Java, tidak didukung CLDC.I 4. Penanganan kesalahanexception yang terbatas CLDC hanya mendefinisikan tiga class berikut untuk penanganan kesalahan exception: a. class java.lang.Error b. class java.lang.OutOfMemory c. class java.lang.VirtualMachineError www.student.eepis-its.edu~onishuya

2.4.4 J2ME Profile

J2ME configuration menyediakan librari-librari Java untuk implementasi fitur-fitur standar dari sebuah handled devices, sedangkan J2ME profile menyediakan implementasi-implementasi tambahan yang sangat spesifik dari sebuah handled devices. Kemampuan standar itulah yang diimplementasikan oleh J2ME configuration, sedangkan kemampuan fitur lain sangat bergantung pada jenis perangkat handled yang digunakan akan diimplementasikan oleh J2ME profile. Menurut Agung Budi Prasetijo 2005 dalam Simulasi Aplikasi Java 2 Platform Micro Edition J2ME- Java Midlet Pada Jadwal Ujian, ada 4 kategori J2ME profile , yaitu : 1. Mobile Information Device Profile MIDP 2. Foundation Profile FP 3. Personal Profile 4. Personal Digital Assitance Profile MIDP dan Personal Digital Assistant Profile digunakan pada perangkat perangkat CLDC sedangkan Foundation Profile dan Personal Profile digunakan pada perangkat CDC. commit to user 14

2.4.5 Mobile Information Device Profile MIDP

Arsitektur aplikasi MIDP dapat dilihat pada Gambar 2.2. Gambar 2.2 Arsitektur Aplikasi MIDP Menurut Nugroho 2003, The Mobile Information Device Profile MIDP berada di atas dari CLDC. Aplikasi mobile tidak dapat ditulis hanya dengan menggunakan CLDC API, pemanfaatan MIDP yang mendefinisikan UI harus tetap digunakan. Spesifikasi MIDP, mayoritas seperti CLDC dan API lainnya sudah digambarkan melalui Java Community Process JCP. JCP melibatkan sebuah kelompok ahli berasal dari lebih dari 50 perusahaan, yang terdiri atas pabrik perangkat mobile, pengembang software. MIDP terus berkembang, dengan versi-versi masa depan yang telah lulus dari proses ketat JCP. Spesifikasi MIDP menggambarkan suatu perangkat MID yang memiliki karakteristik-karateristik ini sebagai batas minimum: 1. Tampilan: a. Ukuran Layar: 96x54 b. Kedalaman tampilan: 1-bit c. Ketajaman pixel: sekitar 1:1 d. Masukan: satu atau lebih mekanisme user-input: satu keybboard, dua keyboard, atau touch screen MID CLDC Native Application Aplikasi MIDP Class Khusus OEM MIDP MID Native Software commit to user 15 2. Memori: a. 256 kilobytes of non-volatile memory untuk implementasi MIDP. b. 8 kilobytes of non-volatile memory for application-created persistent data. c. 128 kilobytes of volatile memory for the Java runtime e.g., the Java heap. 3. Jaringan: Dua jalur, wireless, bandwidth terbatas. 4. Sound: Kemampuan untuk memainkan nada-nada. MIDP menggambarkan model aplikasi, UI API, penyimpanan dan jaringan yang kuat, permainan dan media API, kebijakan keamanan, penyebaran aplikasi dan ketetapan over-theair. Secara singkat MIDP 2.0 adalah MIDP 1.0 + API untuk multimedia dengan kriteria seperti berikut : akses ke kamera dan perekaman video, mendukung aneka format audio dan video, memiliki batasan minimum hardware yang lebih tinggi. Device MIDP 2.0 saat ini masih relatif mahal lebih mahal dari Device MIDP 1.0.

2.4.6 MIDlet

Suatu aplikasi MIDP disebut MIDlet. MIDlet adalah bagian dari package javax.microedition.midlet. Sebuah MIDlet harus di-extend dengan class MIDlet dan dapat meminta parameter dari Application Management Software AMS seperti dirumuskan dalam application descriptor JAD. Suatu MIDlet tidak harus memiliki dan memang harus tidak mempunyai sebuah method public static void mainString [] argv. Method tersebut tidak akan dikenal lagi oleh AMS sebagai titik awal sebuah program. Lifecycle dari sebuah MIDlet ditangani oleh AMS. Kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. AMS adalah sebuah lingkungan tempat siklus dari sebuah MIDlet, mampu untuk diciptakan, dijalankan, dihentikan maupun dihilangkan. Lifecycle dari sebuah midlet dapat dilihat pada Gambar 2.3. commit to user 16 Gambar 2.3 LifeCycle dan Perubahan Status MIDlet Umumnya urutan eksekusi sebuah MIDlet adalah sebagai berikut: a. AMS menginisialisasi sebuah objek MIDlet, sehingga MIDlet berada pada status Paused. b. Ketika AMS memutuskan bahwa MIDlet sudah waktunya dijalankan, maka AMS memanggil fungsi MIDlet.startApp sehingga MIDlet akan mulai aktif berfungsi. c. Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan sementara, maka AMS akan memanggil fungsi MIDlet.pauseApp sehingga MIDlet akan berhenti bekerja. d. Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan selamanya, maka AMS akan memanggil fungsi MIDlet.destroyApp sehingga alokasi memori yang digunakan oleh MIDlet yang bersangkutan akan dibersihkan. Status ini juga kembali diakses ketika method notifyDestroyed kembali dengan sukses kepada aplikasi. Dengan catatan bahwa MIDlet hanya bisa memasuki status “Destroyed” sekali dalam masa hidupnya, www.student.eepis-its.edu~onishuya. commit to user 17

2.5 PEMODELAN UNIFIED MODELLING LANGUAGE UML