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