27
BAB II DASAR TEORI
2.1. Sistem Transmisi Microwave Sistem transmisi microwave adalah suatu sistem transmisi dengan menggunakan gelombang radio di atas frekuensi 1 GHz. Suatu sistem transmisi microwave dapat berupa sebuah hop dengan jarak maksimum 50 km atau sebuah backbone yang berupa multiple hop, dengan jarak sampai ratusan atau ribuan kilometer. Secara garis besar, tujuan dari sistem komunikasi radio adalah untuk mentransmisikan informasi dari satu tempat ke tempat lain tanpa gangguan. Untuk mendapatkan hasil yang baik, diperlukan suatu kondisi dimana antena pengirim dan penerima dapat saling melihat tanpa ada halangan Line Of Sight (LOS) dalam batas-batas tertentu.
Gambar 2.1. Hubungan komunikasi Line of Sight
27
2.1.1. Daerah Fresnel Daerah fresnel atau fresnel zone adalah tempat kedudukan titik sinyal tidak langsung yang berbentuk ellips dalam lintasan propagasi gelombang radio dimana daerah tersebut dibatasi oleh gelombang tak langsung (indirect signal) dan mempunyai beda panjang lintasan dengan sinyal langsung sebesar kelipatan ½λ atau 2 kali ½λ. Jika sinyal langsung dan tak langsung berbeda panjang lintasan sebesar ½λ, maka kedua sinyal tersebut akan berbeda fasa 180º, artinya kedua sinyal tersebut akan saling melemahkan. Secara matematis daerah Fresnel didekati dengan rumus sebagai berikut :
……………………………...(2.1) Dimana : Fn = jarak lintasan tertentu terhadap lintasan LOS (m) n = daerah fresnel ke n d1 = jarak pemancar ke penghalang (km) d2 = jarak penerima ke penghalang (km) D = d1 + d2 = jarak pemancar ke penerima (km) f = frekuensi (Ghz)
27
Gambar 2.2. Ilustrasi Zona Fresnel Medan magnet yang berada pada jarak konstan, misal r1 yang membentuk spherical surface akan memiliki kecepatan phasa yang konstan pada semua arah dalam ruang bebas. Permukaan phase yang konstan ini disebut sebagai wave front. Sedangkan fresnel pertama merupakan daerah yang mempunyai fading multipath terbesar, sehingga diusahakan untuk daerah fresnel pertama dijaga agar tidak dihalangi oleh obstacle. 2.1.2. Faktor Koreksi Kelengkungan Bumi Pada analisa daerah fresnel, jari-jari dihitung pada kondisi bumi datar, oleh sebab itu untuk analisa bumi bulat (kondisi nyata/riil) perlu ditambahkan perhitungan faktor koreksi terhadap kelengkungan bumi pada titik obstacle. Hal ini dikarenakan kondisi atmosfer tertentu kurva sinyal dapat mengalami refraksi melengkung menjauhi atau mendekati permukaan bumi, maka perlu diantisipasi dengan mengunakan suatu faktor pengali jari-jari bumi yang disebut faktor k. Untuk kondisi atmosfer seperti di Indonesia, digunakan faktor k sebesar 4/3 atau 1.33. Dengan menyatakan perbedaan tinggi permukaan bumi pada kurva permukaan datar dan kurva permukaan bumi melengkung pada titik obstacle maka dapat dituliskan persamaan tersebut :
…………………………………(2.2) Dimana : hcorrection = faktor koreksi kelengkungan bumi (
)
27
d1 = jarak ujung lintasan (Tx/Rx) ke penghalang (km) d2 = jarak ujung lintasan lain (Tx/Rx) ke penghalang (km) k = faktor kelengkungan bumi 2.2. Antena Antena (antenna) adalah perangkat yang berfungsi untuk memindahkan energi gelombang elektromagnetik dari media kabel ke udara atau sebaliknya dari udara ke media kabel. Karena merupakan perangkat perantara antara media kabel dan udara, maka antena harus mempunyai sifat yang sesuai (match) dengan media kabel pencatunya. Dalam perancangan suatu antena, beberapa hal yang harus diperhatikan adalah : - Bentuk dan arah radiasi yang diinginkan - Polarisasi yang dimiliki - Frekuensi kerja - Lebar band (bandwidth) dan Impedansi input yang dimiliki. Untuk antena yang bekerja pada band VLF, LF, HF, VHF dan UHF bawah, jenis antena kawat (wire antenna) dalam prakteknya sering digunakan, seperti halnya antena dipole 1/2, antena monopole dengan ground plane, antena loop, antena Yagi-Uda array, antena log periodik dan sebagainya. Antena-antena jenis ini, dimensi fisiknya disesuaikan dengan panjang gelombang dimana sistem bekerja. Semakin tinggi frekuensi kerja maka semakin pendek panjang gelombangnya, sehingga semakin pendek panjang fisik suatu antena. Untuk antena gelombang mikro (microwave), terutama SHF ke atas, penggunaan antena luasan (aperture antena) seperti antena horn, antena parabola, akan lebih efektif dibanding dengan antena kawat pada umumnya.
27
Karena antena yang demikian mempunyai sifat pengarahan yang baik untuk memancarkan gelombang elektromagnetik. 2.2.1. Pola Radiasi Pola radiasi (radiation pattern) suatu antena adalah pernyataan grafis yang menggambarkan sifat radiasi suatu antena pada medan jauh sebagai fungsi arah. Dalam pengukuran pola radiasi, faktor jarak adalah faktor yang amat penting guna memperoleh hasil pengukuran yang baik dan teliti. Semakin jauh jarak pengukuran pola radiasi yang digunakan tentu semakin baik hasil yang akan diperoleh. Namun untuk melakukan pengukuran pola radiasi pada jarak yang benar-benar tak terhingga adalah suatu hal yang tak mungkin. Untuk keperluan pengukuran ini, ada suatu daerah di mana medan yang diradiasikan oleh antena sudah dapat dianggap sebagai tempat medan jauh apabila jarak antara sumber radiasi dengan antena yang diukur memenuhi ketentuan berikut : 2D 2 r > ,
r >> D dan r >> …………………………(2.3)
Dimana : r = jarak pengukuran (m) D = dimensi antena yang terpanjang (m) = panjang gelombang yang dipancarkan sumber (m) Di dalam pola radiasi seringkali dibutuhkan antena yang mempunyai pola radiasi broad side atau end fire. Suatu antena broad side adalah antena dimana pancaran utama maksimum dalam arah normal terhadap bidang dimana antena berada. Sedangkan antena end fire adalah antena yang pancaran utama
27
maksimum dalam arah paralel terhadap bidang utama dimana antena berada. Namun demikian ada juga antena yang mempunyai pola radiasi di mana arah maksimum main lobe berada diantara bentuk broad side dan end fire yang disebut dengan intermediate.
Gambar 2.3. Model Pola Radiasi 2.2.2. Bandwidth Pemakaian sebuah antena dalam sistem pemancar atau penerima selalu dibatasi oleh daerah frekuensi kerjanya. Pada range frekuensi kerja tersebut antena dituntut harus dapat bekerja dengan efektif agar dapat menerima atau memancarkan gelombang pada band frekuensi tertentu. Daerah frekuensi kerja dimana antena masih dapat bekerja dengan baik tersebut dinamakan bandwidth. Misalnya sebuah antena bekerja pada frekuensi tengah sebesar fC, namun masih juga dapat bekerja dengan baik pada frekuensi fL (di bawah fC) sampai dengan fU (di atas fC), maka lebar bandwidth dari antena tersebut adalah : BW = fU – fL …………………………………………...(2.4) Suatu antena digolongkan sebagai antena broad band apabila impedansi dan pola radiasi dari antena itu tidak mengalami perubahan yang berarti untuk
27
fU/ fL > 1. Bandwidth dari antena sangat dipengaruhi oleh luas penampang konduktor yang digunakan serta susunan fisiknya (bentuk geometrinya). Misalnya pada antena dipole akan mempunyai bandwidth yang semakin lebar apabila penampang konduktor yang digunakannya semakin besar. Demikian pula pada antena yang mempunyai susunan fisik yang berubah secara smoth, biasanya akan menghasilkan pola radiasi dan impedansi input yang berubah secara smoth terhadap perubahan frekuensi (misalnya pada antena biconical, log periodic, dan sebagainya). Tabel 2.1 Contoh bandwidth
2.3. Karakteristik Lintasan Propagasi Dalam mendisain sistem komunikasi radio, sangat penting untuk memahami karakteristik kondisi lintasan propagasi sinyal. Rugi-rugi lintasan dapat sangat besar dikarenakan adanya pengaruh dari tinggi antena terminal yang rendah, banyaknya halangan pada kondisi lingkungan sekitar yang banyak pepohonan atau bangunan-bangunan seperti di kota besar. Oleh karena itu kondisi Line of Sight (LOS) sangat kecil atau jarang sekali kemungkinannya untuk terjadi. Sinyal informasi dipancarkan oleh antena pada stasiun radio. Pemancar ke
27
udara berupa gelombang elektromagnetik, kemudian di stasiun radio penerima diterima oleh antena penerima. Pada pemodelan Friis semua kondisi di stasiun pemancar, stasiun penerima dan kanal radio di udara diasumsikan berada pada kondisi ideal. Sehingga diperlukan formula untuk menentukan besarnya pengaruh ruang bebas terhadap propagasi gelombang, redaman ruang bebas merupakan redaman sinyal yang terjadi akibat dari media udara yang dilalui oleh gelombang radio antara pemancar dan penerima. Perambatan gelombang radio di ruang bebas akan menghalangi penyebaran energi di sepanjang lintasannya sehingga terjadi kehilangan energi. Untuk mengetahui kondisi point to point dengan saluran transmisi, maka perhitungan redaman ruang bebas menggunakan
rumus Free Space Loss (FSL) sebagai berikut : …………………………..(2.5)
Dengan
adalah panjang gelombang dirumuskan dengan :
……………………………………………………(2.6) Dimana : f = frekuensi gelombang (Hz) c = kecepatan cahaya =
m/s
Mula-mula diasumsikan antena di stasiun pemancar dan stasiun penerima
27
berupa antena isotropis, dimana pola radiasinya berupa bola. Pada model sistem transmisi radio ideal di atas, rapat daya (power density) yang diterima di antena isotropis penerima : (watt/ ................................................................(2.7) Dimana : Pt = daya pancar (watt) r = jarak antena (m) Jika antena di stasiun pemancar dan stasiun penerima diganti dengan antena real, misalnya antena dipole, antena yagi atau antena lainnya. Sehingga dapat didefinisikan Effective Isotropic Radiated Power (EIRP) yang menunjukkan besarnya daya pancar efektif yaitu besarnya daya pada output antena pemancar dengan saluran transmisi diasumsikan lossless : EIRP = Pt.Gt (watt) ……………………………………………….....(2.8) Maka rapat daya di antena penerima dapat dirumuskan sebagai berikut : (watt/m2) ..............................................................................(2.9) Berdasarkan persamaan diatas dapat dihitung besarnya daya terima yang dihasilkan dengan persamaan sebagai berikut : Pr = PD . Aeff ………………………………………………………...(2.10) Aeff = η . AGeometri ……………………………………………..……(2.11) Dimana : Aeff = luas efektif antena
27
AGeometri = luas geometri dari antena Sedangkan hubungan antara gain antena dan luas efektif antena Aeff adalah sebagai berikut :
………………………………………………………..(2.12)
……………………………………………………….(2.13) Sehingga daya terima yang dihasilkan atau yang sering disebut dengan Receive Signal Level (RSL) dapat dirumuskan sebagai berikut :
……………………………………………………….(2.14)
……………………………………………………..(2.15)
……………………………………………………….(2.16) Persamaan yang telah akurat di atas masih sementara. Penguatan dan redaman yang biasanya dinyatakan dalam desibel sehingga paramater seperti rasio daya, jarak antara pemancar dan penerima dan frekuensi dari sinyal dalam megahertz akan dilakukan konversi dalam satuan desibel yang diperlukan untuk mencapai persamaan yang lebih bermanfaat, persamaannya dapat dirumuskan sebagai berikut : Pr = Pt + Gt + Gr – ( 32,44 + 20 log d + 20 log f ) ………………….(2.17)
27
Pr = Pt + Gt + Gr – Lfs ……………………………………………….(2.18) Dimana : Pr = daya terima (dBm) Pt = daya pancar (dBm) Gt = gain antena pancar (dBi) Gr = gain antena terima (dBi) d
= jarak antara pemancar dan penerima (km)
f
= frekuensi (MHz)
2.4. Broadband Wireless Access (BWA) Broadband Wireless Access (BWA) merupakan salah satu media akses berbasis Radio Frekuensi yang dapat menawarkan akses data/internet berkecepatan tinggi dan berkemampuan menyediakan layanan kapan dan dimanapun dengan menggunakan media nirkabel. BWA mentransmisikan informasi dengan menggunakan gelombang radio antara pelanggan dengan perusahaan penyedia jasa layanan BWA, yang memiliki kecepatan data mencapai diatas 64 Kbps. Terdapat beberapa layanan yang ditawarkan oleh perusahaan penyedia jasa layanan BWA antara lain akses internet broadband, VoIP, Multimedia, dan layanan on demand yang dapat diakses melalui satu perangkat saja secara bersamaan (Multiservice). 2.4.1. Teknologi BWA Istilah BWA biasanya dianggap sebagai sebuah Base Station (Sentral) dan Terminal Station (Pelanggan) yang digunakan untuk konektivitasnya. Pada umumnya teknologi BWA muncul disebabkan oleh :
27
Keterbatasan jaringan terrestrial
Kecepatan pemenuhan kebutuhan jaringan pelanggan
Kebutuhan perluasan coverage dan backup jaringan dengan media lain Konfigurasi jaringannya dapat berupa point-to-multipoint (seperti layanan
E1/T1 untuk kebutuhan bisnis) dan point-to-point (untuk koneksi internet backbone) yang memiliki cakupan area (coverage) sampai 10 km dengan menggunakan teknologi Time Division Multiple Access (TDMA) yang merupakan sistem pembagian frekuensi menjadi bagian-bagian yang sempit per kanal frekuensi sesuai dengan pembagian waktunya. Untuk memenuhi kebutuhan layanan akses data dan internet, maka pita-pita frekuensi BWA dialokasikan dalam range-range (jangkauan) tertentu. Jangkauan ini dapat berbeda disetiap negara, sesuai dengan pelayanan yang diberikan oleh pemerintah. Pita frekuensi BWA di Indonesia dibagi menjadi dua dengan mengalokasikan sebagai berikut :
Pita Eksklusif o Frekuensi 300 MHz (287 – 294 MHz dan 310 – 324 MHz) o Frekuensi 1.5 GHz (1428 – 1452 MHz dan 1498 – 1522 MHz) o Frekuensi 1.9 GHz o Frekuensi 2 GHz (2053 – 2083 MHz) o Frekuensi 2.5 GHz (2500 – 2520 MHz dan 2670 – 2690 MHz) o Frekuensi 3.3 GHz (3300 – 3400 MHz) o Frekuensi 3.5 GHz (3400 – 3600 MHz) o Frekuensi 10.5 GHz (10150 – 10300 MHz dan 10500 – 10650 MHz)
27
Pita Non-Eksklusif o Frekuensi 2.4 GHz o Frekuensi 5.2 GHz o Frekuensi 5.8 GHz
2.4.2. Pensinyalan BWA Suatu sektor pada sebuah Base Station dapat memancarkan lebih dari satu frekuensi sinyal carrier dengan menggunakan satu Base Radio Unit (BRU) untuk masing-masing frekuensi sinyal carrier. Dalam hal ini setiap sinyal carrier dimultiplex menggunakan prinsip Frequency Division Multiplexing (FDM). Setiap carrier yang dipancarkan bersifat broadcast dan dapat melayani beberapa Terminal Station dengan prinsip Time Division Multiplexing (TDM), dengan satu Terminal Station menempati satu slot waktu. Penempatan setiap pelanggan ke suatu slot dialokasikan secara dinamis.
Gambar 2.4. Proses Sinyal Downlink Sejumlah Terminal Station yang berada pada satu sektor dapat mengakses Base Station secara bersamaan menggunakan prinsip Time Division Multiple Access (TDMA). Dengan teknologi ini, setiap pelanggan dapat berbagi bandwith yang sama. Sebuah Terminal Station hanya dapat mengirimkan
27
sinyal bila telah mendapat izin dari Base Station.
Gambar 2.5. Proses Sinyal Uplink
2.4.3. Power BWA Power BWA diperlukan untuk menghitung daerah cakupan (coverage area) sel dengan berdasar pada :
Daya pancar transmitter (PTX)
Gain antena pemancar dan penerima (GTX dan GRX)
Rugi-rugi propagasi (LP)
Rugi-rugi saluran transmisi (LTX dan LRX)
Sensitivitas perangkat penerima (Pth)
27
Gambar 2.6. Model Analisis Link Radio Sehingga power BWA dapat dihitung menggunakan persamaan seperti berikut ini : ….....(2.19) Dengan Eqivalent Isotropic Radiated Power (EIRP) adalah daya pancar efektif yaitu besarnya daya pada output antena pemancar dan dirumuskan sebagai berikut : ………………………(2.20) Berdasarkan persamaan diatas dapat dihitung besarnya power BWA atau Receive Signal Level (RSL) sebagai berikut :
………………………….(2.21) 2.5. Java Java menurut definisi dari Sun adalah nama untuk 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
27
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 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 terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah kompiler, debuger dan kakas lain yang dipaket dalam Java Development Kit (JDK). Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi .java harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan Java Runtime Environment (JRE) yang berisi JVM dan library Java yang digunakan dan memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi. Sun Microsystem telah mendefinisikan tiga buah edisi dari Java 2, yaitu :
Java 2 Standard Edition (J2SE) Digunakan untuk mengembangkan aplikasi-aplikasi dekstop dan applet (aplikasi Java yang dapat berjalan di dalam browser web).
Java 2 Enterprise Edition (J2EE) Merupakan
superset
dari
J2SE
yang
memperbolehkan
programmer untuk mengembangkan aplikasi-aplikasi berskala besar (enterprise), yaitu dengan menggunakan enterprise JavaBeans (EJBs), dan teknologi lainnya.
Java 2 Micro Edition (J2ME)
27
Merupakan subset dari J2SE yang digunakan untuk menangani pemrograman di dalam perangkat kecil, yang tidak memungkinkan untuk mendukung implementasi J2SE secara penuh. 2.5.1. 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 batere, layar yang kecil dan bandwith jaringan yang rendah. Dengan perkembangbiakan perangkat mobile konsumen dari telepon dan PDA, Java menyediakan suatu lingkungan yang portable untuk mengembangkan dan menjalankan aplikasi pada perangkat ini. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME, configuration tersebut menggambarkan core library, virtual machine, fitur keamanan dan jaringan. Profile Kumpulan Library Configuration JVM Sistem Operasi
Gambar 2.7. Arsitektur J2ME
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
27
configuration J2ME menggambarkan suatu komplemen yang minimum dari teknologi Java. Yang berati merupakan tugas profile-profile untuk menggambarkan tambahan library untuk suatu kategori perangkat tertentu. Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu Connected Limited Device Configuration (CLDC) untuk perangkat kecil dan Connected Device Configuration (CDC) untuk perangkat yang lebih besar. Profile
Suatu profile menggambarkan set-set tambahan dari Application Programmable Interface (API) dan fitur untuk pasar tertentu, kategori perangkat atau industri. Sementara configuration menggambarkan library dasar, profile menggambarkan library yang penting untuk membuat aplikasi-aplikasi efektif. Library ini memasukkan user interface, jaringan dan penyimpanan API. Dalam J2ME terdapat dua buah profile yaitu Mobile Information Device Profile (MIDP) dan Foundation Profile. Keterhubungan antara configuration dan profile dapat dilihat pada gambar berikut :
MIDP Kumpulan Library CLDC KVM Sistem Operasi
Gambar 2.8. Aplikasi J2ME (MIDlet)
27
o
Connected Limited Device Configuration (CLDC) CLDC adalah spesifikasi dasar yang berupa library dan API yang diimplementasikan pada J2ME seperti yang digunakan pada handphone, pager, dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memori, sumber daya, dan kemampuan memproses. Spesifikasi CLDC adalah spesifikasi minimal dari package, kelas, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dapat diimplementasikan dengan keterbatasan sumber daya pada alat tersebut.
o
Mobile Information Device Profile (MIDP) MIDP merupakan spesifikasi untuk sebuah profil J2ME. MIDP memiliki lapisan di atas CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan, dan penyimpanan persisten.
2.5.2. MIDlet MIDlet adalah aplikasi yang ditulis untuk MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar aplikasi sehingga antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk. Siklus MIDlet dapat dilihat pada gambar 2.9. berikut :
Gambar 2.9. Siklus MIDlet Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause
27
dan dijalankan pauseApp(), kondisi berikutnya adalah fungsi MIDlet dijalankan,
yaitu
pada
startApp().
Metode
yang
ada
tersebut
diimplementasikan sebagai protected, hal ini dimaksudkan agar MIDlet lain tidak dapat memanggil metode tersebut. Pada saat pemakai keluar dari MIDlet, maka metode destroyApp() akan dijalankan sebelum MIDlet benar-benar tidak berjalan lagi. Metode notifyDestroyed() akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, destroyApp() akan memanggil notifyDestroyed(), dan notifyDestroyed() akan memberitahu platform untuk menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet. Aplikasi MIDlet dipaket kedalam perangkat sebagai MIDlet suites. Sebuah MIDlet suites terdiri dari Java Archive (JAR) dan sebuah tambahan Java Application Descriptor (JAD). File JAD berisi deskripsi file JAR dan pemetaan atribut MIDlet, sedangkan file JAR berisi kumpulan kelas dan resource. 2.5.3. Kode Program Java 2 Micro Edition (J2ME) Setiap aplikasi MIDlet harus merupakan turunan dari kelas MIDlet atau subclass dari MIDlet class, yaitu kelas abstrak yang didefinisikan di dalam paket javax.microedition.midlet. Kelas abstrak ini memiliki tiga buah method yang harus di-override oleh kelas-kelas turunannya yaitu method: startApp(), destroyApp() dan pauseApp(). Method-method tersebut adalah method yang diperlukan untuk menjalankan dan mengkontrol MIDlet. Berikut ini adalah contoh dari kode program MIDP : import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
27
public class HelloMidlet extends MIDlet implements CommandListener { Display display; Command exitCommand = new Command("Exit", Command.EXIT, 1); Alert helloAlert; public HelloMidlet(){ helloAlert = new Alert("Hello MIDlet","Hello, world!", null,AlertType.INFO); helloAlert.setTimeout(Alert.FOREVER); helloAlert.addCommand(exitCommand); helloAlert.setCommandListener(this); } public void startApp() { if (display == null){display = Display.getDisplay(this);} display.setCurrent(helloAlert); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable d){ if (c == exitCommand){ destroyApp(true); notifyDestroyed(); // Exit } } }
Selanjutnya akan dipelajari MIDlet tersebut, difokuskan pada line yang penting dari kode di atas : import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
Line di atas ini adalah library yang dibutuhkan sebuah program MIDP. Dengan mengimpor paket javax.microedition.midlet.*; maka menyatakan akan dibuat sebuah program MIDlet, sedangkan dengan mengimpor kelas-kelas yang terdapat pada paket javax.microedition.lcdui.*; maka menyatakan aplikasi ini merupakan aplikasi Graphical User Interface (GUI). public class HelloMidlet extends MIDlet implements CommandListener {
Seperti yang sudah dikatakan sebelumnya, maka diharuskan membuat subclass dari MIDlet untuk membuat MIDP program. Pada line ini, sudah
27
dibuat subclass dari MIDlet dengan memberikan turunan kelas induk dan menamakannya HelloMidlet. Kode "implements CommandListener" adalah untuk command/key presses, sehingga program akan mampu menghandle "command" events. Jika akan melakukan implement CommandListener, maka harus membuat method commandAction(). Display display; Command exitCommand = new Command("Exit", Command.EXIT, 1); Alert helloAlert;
Line di atas ini adalah variabel properties dari MIDlet. Maka dibutuhkan object Display (hanya ada satu display per MIDlet) untuk melakukan fungsi menggambar pada layar. ExitCommand adalah perintah yang akan diletakkan pada layar agar dapat keluar dari program. Jika tidak memiliki perintah keluar, maka program ini tidak memiliki cara untuk keluar dari MIDlet dengan benar. public HelloMidlet(){ helloAlert = new Alert("Hello MIDlet","Hello, world!", null,AlertType.INFO); helloAlert.setTimeout(Alert.FOREVER); helloAlert.addCommand(exitCommand); helloAlert.setCommandListener(this); }
Line ini merupakan Constructor yang melakukan inisialisasi dari object Alert. Method addCommand() pada object Alert memberikan perintah "Exit" pada layar. Method setCommandListener() memberikan informasi kepada sistem untuk memberikan semua command events ke MIDlet. public void startApp() { if (display == null){display = Display.getDisplay(this);} display.setCurrent(helloAlert); }
Kode di atas adalah bagian awal dari program ketika program sudah siap untuk ditampilkan. Jika MIDlet berhenti atau dihentikan, seperti bila ada telepon masuk, program akan masuk ke state berhenti (pauseApp). Jika panggilan sudah selesai maka akan kembali ke program dan memanggil
27
method startApp() lagi. Method display.setCurrent() memberikan informasi ke sistem bahwa menginginkan object Alert untuk dimunculkan ke layar. Maka object
dapat
menampilkan
dengan
memanggil
method
statis
Display.getDisplay(). public void commandAction(Command c, Displayable d){ if (c == exitCommand){ destroyApp(true); notifyDestroyed(); // Exit } }
Kode commandAction() di atas hanya akan menghandle request untuk perintah "Exit". Method di atas akan menghentikan program menggunakan notifyDestroyed() jika perintah "Exit" dijalankan atau ditekan.