Analisis dan Perancangan Fast Channel Switching pada Mobile Live Multi-Channel TV Streaming [Bag. 2]

30 07 2007

Bagian ke – 2

dari Tugas Akhir program Sarjana Teknik Informatika – Departemen Teknik Informatika ITTELKOM: LAILI AIDI (113058039) – Analysis and Simulation Of Channel Switching In Mobile Live Multi-Channel TV Streaming

 

Daftar Pustaka dapat dilihat di sini 

*Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini dengan atau tanpa  ijin penulis dengan tetap menyajikan kredit penulis.

Advertisements




J2ME : Bright Generation Of Wireless Tech

5 06 2007

Adek Aidi

Mobile Communication Research Laboratory STTTelkom

Berkembangnya teknologi telekomunikasi hingga saat ini, telah mempengaruhi berbagai sendi kehidupan serata membuat aktivitas berkomunikasi masyarakat semakin maju. Pengaruh yang ditimbulkan antara lain mulai dari keinginan berkomunikasi dengan mudah, akses semua informasi yang ada dan lain-lain.

Salah satu teknologi telekomunikasi yang diharapkan mampu melayani semua kebutuhan tersebut adalah teknologi jaringan komunikasi internet. Namun kemudian, layanan ini diharapkan dapat juga diakses melalui teknologi selular sehingga muncul teknologi Mobile Internet. Mobile Internet dapat memberikan kebebasan bagi setiap individu untuk mengakses internet, kapanpun dan dimanapun.

Pemanfaatan teknologi Mobile Internet ini sudah merambah ke dunia bisnis commerce. Teknologi J2ME, dalam teknologi jaringan, berada pada konvergensi dari dua keterkaitan teknologi jaringan, yakni wireless dan internet. Berbagai faktor tersebut sebagai usaha untuk menciptakan suatu nilai tambah, dari fungsi handset, yang sebelumnya sebagai media komunikasi telephony, menjadi multifungsi.

Pada Java versi 1.2, Sun Microsystem membagi arsitektur Java dalam beberapa bagian yaitu [2]:

  • Java 2 Standard Edition (J2SE), kategori ini digunakan untuk aplikasi Java pada level PC (Personal Computer).
  • Java 2 Enterprise Edition (J2EE), kategori ini digunakan untuk aplikasi pada lingkungan Enterprise, dengan fungsionalitas tambahan java seperti EJB (enterprise Java Bead), Java CORBA, Servlet serta JSP dan XML (Extensible Markup Language).
  • Java 2 Micro Edition (J2ME), kategori ini digunakan untuk aplikasi pada embedded system dan handled devices seperti handphone, Palm, PDA, Pocket PC yang memiliki karakteristik berbeda dengan komputer biasa.
  • Java Card, kategori ini khusus untuk aplikasi pada smart card seperti SIM card.

KOMPONEN
J2ME memiliki komponen sebagai berikut [2] :

  • Java Virtual Machine (JVM). Komponen ini merupakan lingkungan tempat eksekusi program Java berlangsung dimana objek saling berinteraksi. Virtual Machine menyebabkan Java mempunyai kemampuan penanganan memori yang lebih baik, keamanan yang lebih tinggi serta portabilitas yang besar. Pada CLDC, ini disebut K Virtual Machine, menggambarkan singkatan kilo byte yang bahwa Virtual Machine ini berkerja pada lingkungan yang sangat kecil.
  • Java Application Programming Interface (Java API). Merupakan kumpulan library untuk menjalankan dan mengembangkan pada emulator atau handled devices.
  • Tools lain untuk pengembangan aplikasi Java, seperti emulator

ARSITEKTUR
J2ME terbagi dalam 2 bagian yaitu [2]:
a. J2ME Configuration adalah spesifikasi yang mendefenisikan lingkungan kerja J2ME (dapat berupa JVM lengkap atau bagian tertentu) dan kumpulan API dasar yang mengimplementasikan fitur standar handled devices. Terdapat 2 kategori J2ME Configuration :
1. Connected Limited Devices Configuration (CLDC)
Konfigurasi untuk perangkat wireless (handphone, organizer / PDA, two way pages ) dengan memori kecil (160 – 512 KBites ) dengan koneksi jaringan yang tetap / tidak. Keterbatasan pada CLDC menyebabkan beberapa fitur pada J2SE tidak disertakan. Fitur – fitur yang tidak disertakan tersebut seperti :

  • Floating Point yang terdapat dalam kelas java.lang.Double dan java.lang.float
  • Finalisasi Objek yang terdapat dalam kelas java.lang.object
  • JNI yang memungkinkan untuk mengakses library yang dibuat tidak dengan bahasa java
  • Error Exception yang terdapat dalam kelas java.lang.error , java.lang.OutMemory dan java.lang.VirtualMachineError

Pada CLDC juga ditambahakan fitur yang tidak terdapat pada J2SE. Fitur – fitur khusus ini seperti :

  • Generic Connection Framework, merupakan kelas yang digunakan sebagai framework koneksi secara umum. Ini dilakukan dengan memperlakukan koneksi seperti Uniform Resource Locator (URL). Kelas ini digunakan untuk melakukan koneksi ke file, protokol HTTP, socket atau port.
  • Kelas javax.microedition yang merupakan API untuk implementasi pada wireless programming.
  • Mendefenisikan hierarki tipe kooneksi dasar untuk koneksi jaringan, sedangkan defenisi protokol jaringan dilakukan oleh CDC.

2. Conected Device Configuration (CDC)
Konfigurasi untuk perangkat wireless dengan memori 2 MBites lebih (Set Tob Box, Internet Enabled Screen Phones, Internet TV, High – End Communicator, Car Televition, Auto Mobile Entertainment / Navigation System) dengan koneksi jaringan yang lebih kokoh / dapat kebeberapa tipe jaringan.

b. J2ME Profile adalah spesifikasi yang mendefenisikan implementasi tambahan yang sangat spesifik dari Handled Devices. Terdapat 5 kategori J2ME Profile :

  • Mobile Information Device Profile (MIDP). Profil yang menyediakan library Java untuk implementasi dasar antarmuka (GUI), jaringan (Networking), basisdata (database), penyimpanan tetap (persistant strage), daur hidup aplikasi (Application life cicle), dan timer (Personal Information Management). MIDP dirancang khusus untuk wireless phone dan pager serta dibangun berdasarkan CLDC.
  • Foundation Profile (FP). Profil dasar untuk non – GUI network devices pada CLDC dengan ROM 1024 k dan RAM 512 k.
  • Personal Profile. Profil dengan GUI yang memiliki tingkat keakuratan web tinggi dan mampu menjalankan applet
  • RMI Profile
  • PDA Profile

Selain itu, beberapa perusahaan juga mengembangkan Profile sendiri yang spesifik digunakan untuk Handled Devices produksinya seperti NTT DoCoMo Jepang.

MIDLET
Aplikasi yang berjalan diatas MIDP disebut MIDLet [1]. Aplikasi ini tidak berinteraksi langsung dengan hardware tapi melalui program khusus yang disebut Application Management Software (AMS).

Pengaplikasian API ditentukan oleh interaksi antara Aplikasi dengan MIDLet serta bagaiman MIDLet dikontrol. MIDLet terdiri atas:
a. MIDLet Suite dan Descriptor.
Aplikasi dalam J2ME dikemas dalam file *.JAR dan selanjutnya terdapat Descriptor yang disebut application describtor berupa file*.JAD untuk mendeskripsikan file JAR tersebut.
b. Java Class
c. Resource

Siklus hidup (LifeCycle) dari sebuah MIDLet ditangani oleh AMS. AMS adalah program bawaan (built in) yang melakukan penanganan eksekusi aplikasi atau sebagai lingkungan tempat MIDlet diciptakan, dijalankan, dihentikan dan dihancurkan. AMS disebut juga dengan Java Application Manager (JAM). MIDLet memiliki beberapa state (MIDLet State) yaitu Pause, Active, Destroy [1].

Tabel 1.2 MIDlet State

Nama Status

Keterangan

Paused

Status ini terjadi ketika MIDLet selesai diinisialisasi dan tidak melakukan aksi apapun atau terjadi kesalahan ketika akan melakukan start.

Pada status ini, MIDLet tidak boleh sedang mengunci sumber daya karena akan mengakibatkan proses lain tidak dapat menggunakan sumber daya tersebut.

Active

Status ini terjadi ketika MIDLet sedang aktiv / berjalan dengan normal

Destryed

Statrus ini terjadi ketika MIDLet berhenti berjalan, sehingga sumber daya yang digunakan dibebaskan.

2.4 Jenis Aplikasi J2ME

Terdapat 2 kategori dalam aplikasi J2ME [AAH03] yaitu :

a. Walled Garden Application (Local Application)

Pada Local Application, J2ME menggunakan Database RMS yang merupakan persistant storage yang embedded pada handled device. RMS bersifat non-volatile yang tidak membutuhkan akses ke server setiap mengambil data. Namun, RMS banyak menggunakan memori dari handled device dan suatu saat dapat menyebabkan overload tergantung kepada besar String Buffer dalam perangkat tersebut. Karena banyak menggunakan memori, menyebabkan akese MIDlet lebih lambat

b. Network Aware Application (Network Application).

Network Application menggunakan database server, sehingga setiap mengambil data harus terkoneksi ke server (connection oriented). Namun, ia tidak banyak menggunakan memori handled device, sehingga akses data akan lebih cepat, tetapi kecepatan akses ini pun rentan kepada kondisi I/O pada jaringan. Disamping itu, dari segi cost value akan membutuhkan biaya yang lebih mahal jika dibandingkan dengan RMS karena harus selalu terkoneksi jaringan.

Berikut Arsitektur sistem jika menggunakan Database Server dan RMS:

Gambar 1.3 Arsitektur Sistem menggunakan Database RMS

Gambar 1.4 Arsitektur Sistem menggunakan Database Server

MIDP Client request aplikasi melalui HTTP Server. Request tersebut dibaca dan dikembalikan nilai nya oleh JAM (Java Aplication Manager) yang kemudian dikirim ke server. Server kemudian mengirim file .jad dan .jar dari aplikasi ke MIDP Client yang diterima oleh JAM. JAM menyimpan JAR file tersebut pada memori telepon seluler. Setelah itu aplikasi dapat di launch melalui KVM (Kilo Vitrual Machine) agar dapat digunakan oleh user. Untuk request ke Database server dikirmkan oleh servlet ke database melalui JDBC
Driver. Untuk request ke Database RMS dikirmkan oleh JAM ke RecordStore yang berada dalam direktori NOJAM pada memori device.

2.5 Instalasi J2ME

Software maupun Hardware yang dibutuhkan untuk membuat aplikasi berbasis J2ME adalah :

a. Sistem Operasi Windows 98 SE, NT 4.0, 2000, XP

b. JSDK versi berapa pun (http://java.sun.com/j2se/ ).

c. J2ME WTK versi berapa pun

d. Bila ingin menjalankan program emulator dengan PALM OS sebagai emulator, maka diperlukan palm OS emulator ( http://www.palmos.com/dev/tech/tools/emulator/.)

e. Ruang Hardisk minimal 30 MB dan memori minimal 64 MB

Sebelum menginstall J2ME Wireless Toolkit harus terlebih dahulu meng-uninstall J2ME WTK versi terdahulu. Untuk meng-install J2ME jalankan program installer, J2ME_wireless_toolkit-1_0_3.exe. (Proses ini dilakukan jika anda memilih men-download atau mempergunakan CD, bukan menginstall langsung dari situs internet).

2 Tipe instalasi dalam J2Me WTK yaitu :

a. Integrated

J2ME WTK mengintegrasikan dengan Forte for Java (IDE)

b. Stand Alone

Gambar 1.5 Memilih Tipe Setup Program

Selama proses instalasi, akan terdapat konfirmasi mengenai direktori yang akan dipergunakan meletakan program J2ME WTK ini. Nama direktori ini tidak boleh mengandung spasi, jika tidak, maka kemungkinan bahwa beberapa proses perangkat tidak dapat berjalan semestinya. Tabel berikut ini menunjukan isi dari direktori yang akan di install, yang akan disimpan sebagai sebuah file

Tabel 1.3 J2ME Wireless Toolkit Directory Contents

Proses instalasi ini juga secara otomatis akan membuat grup program pada start-up menu sistem operasi pada computer dalam direktori J2ME Wireless Toolkit.

Gambar 1.6 J2ME Wireless Toolkit Program Group

3. Mengapa J2ME ?

Mobile Internet merupakan potensi besar yang belum banyak tergarap. Mobile Internet atau jika dipandang dari sisi bisnis dikenal sebagai Mobile Bussines yang menurut Siemens terbagi dalam 6 kategori :

a. m–Commerse (perbankan, perdagangan, pembelian, tiketing, pelelangan, travel management )

b. m–Info Service (Info cuaca, pasar modal, berita, jasa penetapan lokasi)

c. m Service ( jasa perbaikan, emergency, pengontrolan , jasa telematika lain)

d. m–Comunication (komunikasi suara, pesan , SMS, Mobile Multimedia)

e. m Entertainment (musik, video, games, lotere)

f. m-Office (email,, penjadwalan, direktori)

Di Indonesia, terdapat 12 bidang yang telah menggunakan m–Commerse, 6 diantaranya diprediksikan memiliki prospek yang baik untuk terus dikembangkan. Saat ini untuk membuat aplikasi berbasis Wireless terdapat beberapa pilihan teknologi, antara lain WAP dan J2ME. WAP dengan bahasa WML bekerja baik pada Aplikasi berbasis server, text centric application seperti weather report, stock quotes, dll. Namun terdapat kekurangan lain seperti :

a. Small display dan Limited User Input Fasility. Keterbatasan dalam tampilan (seperti animasi)

b. Tidak efektif untuk komputasi lokal dan penyimpanan dengan koneksi ke jaringan

c. Security Issue yang menimpa WAP Gateway. Dalam WAP, device meretrieve dan men-display data dengan microbrowser dan dibutuhkan suatu gateway untuk jembatan antara jaringan internet dan wireless. Hal ini merupakan hal potensial dalam ganguan keamanan data (konversi protokol dari protokol internet menjadi protokol wireles)

d. Must Always Connected. Aplikasi berbasis browser tidak mampu bekerja pada kondisi yang tidak terjangkau baik oleh sinyal provide

Teknologi Java dengan J2ME nya memiliki kelebihan antara lain :

a. Enhances User Experiences. Mendukung grafis yang rumit dan handal dalam koputasi lokal

b. Running Every Where, Any Where, Over Any Device. J2ME ditujukan untuk cakupan user dan device yang luas, dibangun diatas JVM yang menghasilkan kode portabel (Cross Platform Compatibilty)

c. Save Nerwork Delivery dan End to End Security HTTP. J2ME menyediakan SSL untuk melakukan enkripsi terhadap data yang dikirimkan ke dalam jaringan melalui HTTP Connection

d. Disconected Acces dan Synchronization. Device tetap dapat menjalankan aplikasi walaupun sudah berada out of coverage area atau ter diconnection

e. Dinamic Delivery of Application and Services. Dapat di download secara OTA (Over The Air) dan running dalam berbagai device (karena memiliki JVM)

f. Scalabiliry and Performance. Berkurangnya latensi koneksi device ke server karena aplikasi berbasis dapat dijalankan off line (stand alone) maupun on line.

Namun, J2ME dan WAP merupakan teknologi yang berbeda walaupun sama – sama berjalan diatas teknologi wireless [FSW]. WAP menyediakan pilihan teknologi browser yang dapat digunakan untuk surfing mencari aplikasi J2ME. Selain itu, Openwave dan Sun Microsystem merupakan major partenership untuk mengintegrasikan J2ME dan WAP.

Saat ini banyak device yang mendukung teknologi J2ME, ditambah lagi dengan resource toolkit dan documetation yang disediakan secara gratis oleh Sun Microsystem serta banyak nya IDE yang dapat digunakan untuk membantu membuat aplikasi J2ME (J Builder dari Borland, Forte CE / ME dan Neatbeans dari Sun)

4. Tips Membuat Aplikasi pada memori terbatas

Untuk Membuat sebuah aplikasi yang baik bagi peralatan dengan kapasitas memori yang kecil memerlukan perhatian khusus pada hal-hal tertentu,terutama pada saat perancangan progam sebelum menuliskan source program. Antara lain :

a. Buatlah aplikasi yang sederhana. Dengan menghindari fitur-fitur yang tidak perlu, memungkinkan kita menjadikan fitur tersebut sebagai aplikasi yang terpisah, atau aplikasi sekunder.

b. Semakin kecil program, maka akan semakin baik. Hal yang patut diperhatikan, bahwa semakin kecil program yang kita buat, maka akan semakin memperpendek proses instalasi program tersebut pada perangkat kita.

c. Memimalkan jumlah memori yang digunakan saat program dipergunakan. Untuk me inimalkan jumlah memori yang digunakan, penggunaan tipe scalar pada objek sangat disarankan. Jangan pula bergantung pada garbage collector. Atur memori secara effisien, jangan lupa mengeset referensi objek menjadi null saat aplikasi selesai dijalankan dan alokasikan objek sesuai kebutuhan.

5. Singel MIDLet Example

=== Listing program HelloMidlet.java ====

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

public class HelloMIDlet extends MIDlet implements CommandListener{

private Form mMainForm;

// Bagian ini untuk menampilkan aplikasi kita pada layar

public HelloMIDlet(){

mMainForm =new Form(“halo teman-teman”);

mMainForm.append (new StringItem(null, “Hallo teman 2”));

mMainForm.addCommand (new Command(“exit”,Command.EXIT,0));

mMainForm.setCommandListener(this);

}

public void startApp(){

Display.getDisplay(this).setCurrent(mMainForm);

}

// Saat Aplikasi kita hentikan sementara

public void pauseApp(){}

// Dekonstruktor

public void destroyApp(boolean unconditional){}

//Jika kita ingin keluar dari aplikasi

public void commandAction(Command c,Displayable s){

notifyDestroyed();

}

}

DAFTAR PUSTAKA

[AAH03] Aditya Hartanto, Antonius. 2003. Tips dan Trik Java 2 Micro Edition. PT. Elex Media Komputindo : Jakarta.

[ADW02] Wicaksono, Adi. 2002. Pemrograman Aplikasi Wireless dengan Java. PT. Elex Media Komputindo : Jakarta.

[FSW] Wiryasantika, Faisal. faisal@winwinfaisal.info





Analysis and Simulation Of Channel Switching In Mobile Live Multi-Channel TV Streaming [Bag. 1]

4 06 2007

Bagian pertama dari Tugas Akhir program Sarjana Teknik Informatika – Departemen Teknik Informatika ITTELKOM: LAILI AIDI (113058039) – Analysis and Simulation Of Channel Switching In Mobile Live Multi-Channel TV Streaming
Daftar Pustaka dapat dilihat di sini 

*Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini dengan atau tanpa  ijin penulis dengan tetap menyajikan kredit penulis.





GLOBAL POSITIONING SYSTEM (GPS)

30 05 2007
*Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini dengan atau tanpa  ijin penulis dengan tetap menyajikan kredit penulis.