Java 2 Standard Edition CDC JTWI

39

13. Jtapi Java telephony api

Java telephony API menyediakan sekumpulan api untuk memanfaatkan devices-devices telephony , sehingga akan cocok untuk aplikasi-apliaksi cti computer telephony intergration yang dibutuhkan seperti acd automatic call distribution , pc-pbx dan lainnya.

2.8. Java 2 Standard Edition

Aplikasi yang dibuat dan dikembangkan penulis dalam penulisan ini menggunakan bahasa pemrograman berbasis Java 2 Standard Editionlebih dikenal dengan J2SE. Pada bagian ini, penulis akan menjelaskan dasar-dasar J2SE, meliputi pengenalan J2SE dan komponen pada J2SE. Berikut adalah penjelasannya:

2.9. Gambaran J2SE

J2SE atau Java 2 Standard Edition merupakan bahasa pemrograman java untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE, terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat aplikasi tanpa tergantung dari platform yang digunakan, yaitu:

2.9.1. Java SE Runtime Environment JRE

Java Runtime Environment JRE menyediakan perpustakaan, Java Virtual Machine JVM, dan komponen lain untuk menjalankan applet dan aplikasi yang ditulis dengan bahasa pemrograman java. Selain itu, terdapat dua buah kunci teknologi yang merupakan bagian dari JRE, yaitu: Java Plug-in, yang Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 40 memungkinkan menjalankan applet di browser populer dan Java Web Start, yang menyebarkan aplikasi mandiri melalui jaringan. JRE tidak mengandung utilitas seperti compiler atau debugger untuk mengembangkan applet dan aplikasi.

2.9.2. Java Development Kit JDK

Java Development Kit JDK merupakan perangkat lunak yang digunakan untuk menajemen dan membangun berbagai aplikasi java. JDK merupakan superset dari JRE, berisikan segala sesuatu yang ada di JRE ditambahkan compiler dan debugger yang diperlukan untuk mengembangkan applet dan aplikasi. Pada JDK, terdapat berbagai tools yang digunakan untuk membangun aplikasi java. Tools tersebutdig ambarkan dengan diagram berikut Gambar 2.4 Tools Dasar JDK EDITOR TEXT Source code Java COMPILER javac GENERATOR DOKUMENTASI javadoc : .html Byte-Code .class GENERATOR ARCHIEVE jar INTERPRETER java APPLET VIEWER DISASSEMBLER javap DEBUGGER jdb GENERATOR HEADER javah Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 41

2.9.3. Java Class-Library

Bahasa pemrograman java menyediakan library-library standar yang telah di-compile dan dapat langsung digunakan dalam implementasi pembuatan sebuah aplikasi. Pada library, terdapat berbagai macam class yang dapat digunakan dan telah dikelompokkan ke dalam package. Package yang tersedia dalam J2SE akan dijabarkan pada tabel berikut: Tabel 2.5 Tabel Package pada J2SE Package Nama Package Keterangan Language java.lang Class-class utama yang merupakan inti dari bahasa java Utilities java.util Class-class yang mendukung utilitas struktur java IO java.io Classyang mendukung berbagai macam tipe input dan output Text java.text Class yang mendukung lokalisasi penanganan teks, tanggal, bilangan, dan message Math java.math Class untuk melakukan perhitungan aritmatik arbitrary-precesion, baikinteger atau floating point AWT java.awt Class untuk perancangan user- interface dan envent-handling Swing javax.swing Class untuk membuat berbagai komponen dalam java yang bertingkah laku sama dengan berbagai platform Javax javax Perluasan dari bahasa java Applet java.applet Class untuk membuat applet Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 42 Package Nama Package Keterangan Beans java.beans Class untuk membuat java Beans Reflection java.lang.reflect Class untuk memperoleh informasi runtime SQL java.sql Class untuk mendukung akses dan pengolahan data dalam database RMI java.rmi Class untuk mendukung distributed programming Networking java.net Class untuk medukung dalam membangun aplikasi jaringan

2.10 Java 2 Micro Edition J2ME

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 keperalatan-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 VM. Program-program tersebut dikompile ke dalam bytecode dan diterjemahkan denga Java Virtual MachineJVM.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 Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 43 J2ME terletak pada configuration dan profile-profile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan corelibrary, virtual machine, fitur keamanan dan jaringan. Gambar 2.5 Arsitektur J2ME Sebuah profile memberikan library tambahan untuk suatu kelas tertentu pada sebuah perangkat. profile-profile menyediakan user interfaceUI 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 built-in, sehingga Bluetooth API tidak disediakan dalam perangkat ini.

2.10.1 Configuration

Suatu configuration menggambarkan fitur minimal dari lingkungan lengkap Java runtime. Untuk menjamin kemampuan portabilitas dan Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 44 interoperabilitas optimal diantara berbagai macam perangkat yang dibatasi sumber dayanyamemory, 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: 1 Subset bahasa pemrograman JAVA 2 Kemampuan Java Virtual MachineJVM 3 Core platform libraries 4 Fitur sekuriti dan jaringan

2.10.2 Profile

Suatu profile menggambarkan set-set tambahan dari API dan fitur untuk pasar tertentu, kategori perangkat atau industri. Sementara configuration menggambarkan library dasar, profile-profile menggambarkan library yang penting untuk membuat aplikasi-aplikasi efektif. Library ini memasukkan user interface, jaringan dan penyimpanan API.

2.11 CLDC

The Connected Limited Device Configuration CLDC menggambarkan dan menunjuk pada area berikut ini: 1 Fitur Bahasa Java dan Virtual MachineVM 2 Library dasarjava.lang.,java.util. 3 InputOutputjava.io. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 45 4 Kemanan 5 Jaringan 6 Internationalization

2.11.1 Fitur yang hilang

Fitur tertentu dari J2SE yang dipindahkan dari CLDC adalah : 1 Finalization of class instances 2 Asynchronous exceptions 3 Beberapa error classes 4 User-defined class loaders 5 Reflection 6 Java Native Interface JNI 7 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 mendapat dukungan dari memory rendah sebuah perangkat mobile.

2.11.2 Karakteristik perangkat CLDC

Perangkat yang diincar oleh CLDC mempunyai karateristik sebagai berikut: 1 Memory minimal 192kb untuk platform Java. 2 Prosesor dengan 16 atau 32 bit. 3 Mengkonsumsi sedikit daya. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 46 4. Terbatas, koneksi jaringan yang sementara dengan pembatasan bandwithbiasanya wireless. CLDC tidak menggambarkan instalasi dan daur hidup sebuah aplikasi, antarmuka UI dan penanganan peristiwaevent 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 handlingjavax.microedition.lcdui..

2.11.3 Verifikasi Class

Spesifikasi CLDC memerlukan semua class untuk melewati proses verifikasi dua tingkat. Verifikasi pertama dilaksanakan diluar perangkat sebelum instalasi pada perangkat. Verifikasi kedua terjadi pada perangkat selama runtime dan dilaksanakan oleh KVM. Gambar 2.6 Proses Verifikasi dua tingkat Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 47

2.11.4 Generic Connection Framework

The Generic Connection Framework menyediakan API dasar untuk koneksi dalam CLDC. Framework ini menyediakan suatu pondasi umum untuk koneksi seperti HTTP, Socket, dan Datagrams.GCF menyediakan suatu set API yang umum dan biasa yang memisahkan semua jenis koneksi. Perlu dicatat bahwa tidak semua jenis koneksi dibutuhkan untuk diterapkan oleh perangkat MIDP. Hirarki interface yang dapat diperluas dari GFC membuat proses penyamarataan menjadi mungkin. Jenis koneksi baru mungkin bisa ditambahkan ke dalam framework ini dengan memperluas hirarki ini. Gambar 2.7 Hirarki koneksi GCF Connection StreamConnectionNotifi er DatagramConnection InputConnection OutputConnection StreamConnection ContentConnection Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 48

2.12 CDC

Connected Device Configuration CDC adalah super set dari CLDC. CDC menyediakan lingkungan Java runtime yang lebih luas dibandingkan CLDC dan lebih dekat kepada lingkungan J2SE. CDC Java Virtual Machine CVM mendukung penuh Java Virtual Machine JVM. CDC berisi semua API dari CLDC. CDC menyediakan suatu subset yang lebih besar dari semua class J2SE. Seperti CLDC, CDC tidak menggambarkan setiap class UI. Library UI digambarkan oleh profile - profile di bawah configuration ini. Semua class yang terdapat dalam CDC datang dari package ini: 1 java.io 2 java.lang 3 java.lang.ref 4 java.lang.math 5 java.net 6 java.security 7 java.security.cert 8 java.text 9 java.util 10 java.util.jar 11 java.util.zip CDC juga memasukkan di dalamnya GCF. CDC memerlukan jenis koneksi tambahan seperti file dan dukungan datagram. Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 49

2.13 JTWI

The Java Technology for the Wireless Industry JTWI menetapkan satu set jasa dan spesifikasi standar. Berdasar spesifikasi JTWI, kata kuncinya adalah “untuk memperkecil fragmentasi API di dalam pasar telepon mobile, dan untuk mengirim spesifikasi yang dapat diprediksi,spesifikasi yang jelas untuk perangkat pabrik, operator, dan pengembang aplikasi”. Dengan penyesuaian kepada JTWI, banyak aplikasi akan berjalan di suatu set yang lebih luas pada perangkat. Perangkat pabrik juga akan beruntung karena sebuah aplikasi yang besar akan tersedia untuk perangkat mereka. Gambar 2.8 Komponen JTWI Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber. 50

2.14 MIDP