• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI. 2.1 Java 2 Micro Edition (J2ME) Pengertian J2ME CLDC 1.1 dan MIDP 2.0

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI. 2.1 Java 2 Micro Edition (J2ME) Pengertian J2ME CLDC 1.1 dan MIDP 2.0"

Copied!
15
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

Dasar teori yang diuraikan pada bab ini meliputi penjelasan Yahoo Messenger dan protokolnya sebagai basis pengembangan aplikasi. Selain itu akan dijelaskan tentang platform J2ME. Bab ini juga akan memaparkan library yang digunakan untuk penanganan protokol Yahoo Messenger dalam platform J2ME.

2.1 Java 2 Micro Edition (J2ME)

Bahasan tentang J2ME meliputi pengertian J2ME, spesifikasi CLDC 1.0 dan MIDP 2.0 dan penjelasan beberapa komponen J2ME yang digunakan dalam pengerjaan tugas akhir.

2.1.1 Pengertian J2ME

Java 2 Micro Edition (J2ME) merupakan varian teknologi java yang digunakan untuk pengembangan aplikasi pada suatu perangkat yang memiliki keterbatasan sumberdaya dibandingkan dengan komputer seperti handphone dan PDA. Oleh karena keterbatasan itu maka Application Programming Interface (API) dan kemampuan virtual machine J2ME pun dibuat seringkas mungkin disesuaikan dengan kemampuan perangkat yang digunakan.

2.1.2 CLDC 1.1 dan MIDP 2.0

J2ME memiliki istilah konfigurasi yang disebut Connected Limited Device Configuration (CLDC). Konfigurasi menggambarkan kemampuan yang dimiliki suatu perangkat dimana CLDC merupakan konfigurasi yang memang diperuntukkan untuk perangkat keras yang memiliki sumberdaya terbatas. CLDC merupakan kombinasi dari virtual machine dan API. Virtual machine pada CLDC disebut K Virtual Machine (KVM).

Selain konfigurasi, dalam J2ME terdapat istilah profile yang disebut Mobile Information Device Profile (MIDP) yaitu sekumpulan API Java yang menambahkan konfigurasi berupa kemampuan ataupun fungsi lebih yang dapat dilakukan perangkat tersebut. Profil menggambarkan fungsi yang dimiliki suatu perangkat. Adapun konfigurasi dan profil yang akan digunakan pada Tugas Akhir ini adalah CLDC versi 1.1 dan MIDP versi 2.0. Kini, MIDP profile 2.1 telah tersedia dan mendukung banyak API tambahan, dan baru beberapa mobile-devices yang sudah mendukung MIDP 2.1

(2)

Aplikasi yang compliant dengan J2ME selain dapat berdiri di atas MIDP dan CLDC juga dapat berdiri di atas Original Equipment Manufacturer (OEM) Extensions dari perangkat itu sendiri. Untuk lebih jelasnya mengenai arsitektur J2ME diilustrasikan pada Gambar II-1.

Gambar II-1 Arsitektur J2ME [OSB03]

Kumpulan paket yang terdapat pada CLDC 1.0/MIDP 2.0 antara lain adalah: 1. Paket java.io

Paket ini tergabung dalam CLDC 1.0 dimana paket ini menyediakan sejumlah kelas yang menangani input/output stream data. Dalam aplikasi ini stream digunakan sebagai primitif masukan dan keluaran data.

2. Paket java.lang

Paket ini tergabung dalam CLDC 1.0 dimana paket ini menyediakan kelas-kelas fundamental yang diperlukan bahasa pemrograman java, seperti kelas String, Integer, System, dll.

3. Paket java.util

Paket ini juga tergabung dalam CLDC 1.0 dimana paket ini menyediakan kelas-kelas fundamental terutama yang berkaitan dengan time dan date.

4. Paket javax.microedition.io

Paket ini tergabung dalam CLDC 1.0 dan MIDP 2.0 dimana paket ini menyediakan kelas-kelas umum yang berkaitan dengan koneksi jaringan.

5. Paket javax.microedition.midlet

Paket ini tergabung dalam MIDP 2.0 dimana paket ini berfungsi untuk mengatur siklus hidup aplikasi dan interaksi antara aplikasi dengan lingkungan tempat aplikasi dijalankan. 6. Paket javax.microedition.lcdui

Paket ini tergabung dalam MIDP 2.0 dimana paket ini menyediakan kelas-kelas yang menangani user interface aplikasi. Dalam MIDP 2.0 juga terdapat paket baru yakni paket

(3)

javax.microedition.lcdui.game yang menyediakan kelas-kelas yang berkaitan dengan pengembangan aplikasi game.

7. Paket javax.microedition.rms

Paket ini tergabung dalam MIDP 2.0 dimana paket ini menyediakan mekanisme untuk menyimpan data secara permanen untuk kemudian diambil kembali. Data disimpan dalam bentuk record yang dapat di-list ataupun dienumerasi.

2.1.3 Komponen J2ME

J2ME memiliki banyak kelas yang digunakan untuk membuat aplikasi pada mobile phone. Kelas-kelas tersebut tersebut digunakan untuk membuat tampilan layar, menu, grafik pada game, dan sebagainya. Berikut ini dijelaskan beberapa kelas yang akan digunakan dalam pengembangan aplikasi Yahoo Messenger mobile client.

2.1.3.1

Display

Objek Display merupakan objek yang bertindak sebagai manajer dari layar tampilan pada aplikasi MIDlet. Pada setiap MIDlet hanya terdapat satu buah objek Display. Objek Display menyediakan method untuk menggambar dan menampilkan elemen user interface pada layar.

2.1.3.2

Displayable

Kelas Displayable merupakan kelas abstrak dari semua kelas user interface. Kelas Displayable beserta kelas-kelas turunannya dapat dilihat pada Gambar II-2. Kelas Screen dan semua kelas turunannya merupakan kelas user interface level tinggi sedangkan kelas Canvas merupakan kelas user interface level rendah. Pada suatu waktu, hanya ada satu objek Displayable yang ditampilkan. Objek Displayable yang sedang ditampilkan disebut current. Objek Display memiliki method untuk mengambil objek Displayable yang sedang ditampilkan yaitu method getCurrent(). Objek Display juga memiliki method untuk menetapkan objek Displayable yang akan ditampilkan yaitu method

setCurrent(Displayable D).

(4)

2.1.3.3

Screen

Screen adalah kelas abstrak yang merupakan kelas super dari semua kelas user interface level tinggi. Kelas turunan dari kelas abstrak Screen adalah Alert, Form, List, dan TextBox.

2.1.3.4

Canvas

Canvas merupakan kelas turunan dari kelas abstrak Displayable yang menggunakan antarmuka grafis level rendah. Semua objek yang akan ditampilkan pada layar harus digambar pada Canvas dengan menggunakan objek Graphics. Kelas Canvas memiliki method paint()yang diimplementasi pada saat menggambar objek Graphics. Kelas Canvas

juga memiliki method repaint()untuk me-refreshCanvas.

2.1.3.5

Graphics

Objek Graphics ini menyediakan kemampuan menggambar bangun dua dimensi sederhana. Primitif yang tersedia diantaranya untuk menggambar teks, gambar (image), garis, persegi panjang dan panah. Objek Graphics ini tidak perlu dibentuk (create) karena objek ini akan dibangkitkan otomatis ketika objek Canvas terbentuk. Prinsip kerja objek Graphics adalah mengganti pixels (elemen titik) pada layar dengan titik-titik gambar yang baru.

2.1.3.6

Font

Kelas Font digunakan untuk menetapkan font dari teks yang akan ditampilkan pada layar perangkat. Font memiliki atribut style, size, dan face. Aplikasi tidak memiliki kontrol terhadap font. Aplikasi juga tidak dapat membuat font. Aplikasi hanya mengirim query kepada sistem untuk meminta font dengan atribut tertentu.

2.1.3.7

Command

Command adalah objek yang memungkinkan pengguna melakukan aksi. Fungsi objek Command sama dengan tombol (button) pada aplikasi desktop pada komputer. Command membutuhkan interface CommandListener untuk menangkap kejadian (event) dari Command. Pada saat membuat aplikasi J2ME pengembang harus membuat sebuah Command untuk keluar dari aplikasi tersebut karena J2ME tidak mendukung keluar aplikasi secara otomatis.

2.1.3.8

Alert

Alert adalah pesan pada layar yang dapat menampilkan teks dan gambar pada pengguna. Alert ditujukan untuk menginformasikan pesan kesalahan atau exception kepada pengguna.

(5)

Alert juga digunakan untuk menampilkan data dan menunggu selama beberapa waktu tertentu untuk memproses kelas Displayable berikutnya.

2.1.3.9

Form

Form adalah kelas turunan dari kelas abstrak Screen yang dapat mengandung elemen-elemen gambar, text field, choice group, dan elemen lainnya yang merupakan turunan dari kelas Item. Form memiliki method append(Item i)untuk meletakkan sebuah elemen ke dalam Form. Parameter Item dapat diganti dengan Image atau String untuk meletakkan elemen gambar atau string ke dalam Form.

2.1.3.10

List

List menampilkan himpunan pilihan pada layar. Pengguna dapat memilih diantara pilihan tersebut. Setiap pilihan (elemen dari list) mengandung string dan gambar. Elemen gambar bersifat opsional artinya setiap elemen list bisa hanya mengandung string dan tidak mengandung gambar. List dapat memungkinkan pilihan bersifat eksklusif (satu pilihan) maupun multiple (lebih dari satu pilihan).

2.1.3.11

Textbox

TextBox adalah sebuah objek yang ditujukan agar pemakai dapat menuliskan teks dan mengeditnya. Jumlah teks yang dapat dimasukkan serta tipe teks yang dimasukkan dapat ditetapkan dan dibatasi oleh aplikasi.

2.1.3.12

Image

Sebuah Image menyimpan sebuah data grafis gambar. Image dapat ditambahkan pada antarmuka level tinggi seperti Form dengan menggunakan method add(), sedangkan pada antarmuka level rendah seperti Canvas dengan menggunakan method drawImage(). Antarmuka level tinggi hanya dapat menggunakan gambar yang bersifat immutable yaitu gambar yang tidak dapat dimodifikasi setelah dibuat. Antarmuka level rendah dapat menggunakan gambar yang bersifat mutable yang biasanya disimpan dalam memori.

2.1.3.13

Stream

Selain kelas yang berhubungan dengan aspek grafis dari aplikasi, juga digunakan kelas untuk komunikasi data, salah satunya adalah stream. Stream adalah kelas di J2ME yang mendefinisikan masukan dan keluaran data. Stream adalah urutan data yang panjangnya tidak diketahui sebelumnya, seperti aliran air yang terus mengalir. Stream menerima urutan karakter dari dan atau kepada sebuah proses komunikasi data. Pada J2ME, stream menerima

(6)

ataupun mengirimkan byte secara diskrit dimana byte dapat merepresentasikan karakter ataupun data lainnya. Beberapa kelas stream yang akan digunakan dalam pengembangan aplikasi mobile client Yahoo Messenger adalah :

1. ByteArrayInput/OutputStream

Berisi tempat penyimpanan byte yang dapat menulis atau membaca ke ataupun dari stream.

2. DataInput/OutputStream

Menyediakan aplikasi untuk menulis atau membaca tipe data dari sebuah input atau output stream.

3. PrintStream

Merupakan ekstensi OutputStream dan menyediakan prosedur untuk mencetak atau menampilkan beberapa variasi objek dan nilai data.

2.1.3.14

Socket

Socket adalah salah satu komunikasi jaringan level rendah. Merupakan suatu endpoint untuk komunikasi didalam jaringan. Socket dibentuk dengan menyambungkan dua buah alamat Internet Protocol (IP) melalui sebuah port tertentu. Secara umum socket digunakan untuk komunikasi client-server, dimana sebuah server akan menunggu client pada port tertentu. Begitu ada client yang mengontak server, maka server akan menyetujui komunikasi dengan client.

Untuk melakukan komunikasi, hal yang haru dilakukan server adalah membuka koneksi socket terlebih dahulu, kemudian menunggu client yang akan melakukan koneksi dengan server. Misalnya :

ServerConnection scn

=(ServerSocketConnection)Connector.open(“socket://:5000”)

Hal itu akan membuka socket protocol dengan port 5000 dan dapat menerima semua address client. Setelah itu koneksi akan diacu oleh client dengan kode :

SocketConnection sc = (SocketConnection)

(7)

Kemudian stream masukan dibuka dengan kode :

InputStream is = sc.openInputStream() jika koneksi telah diterima dari klien maka server akan membuka stream untuk mengirim pesan ke klien dengan kode :

OutputStream os = sc.openOutputStream

2.2 Yahoo Messenger

Penjelasan Yahoo Messenger meliputi protokol Yahoo Messenger, struktur paket data Yahoo Messenger dan daftar layanan dan status yang digunakan dalam protokol Yahoo Messenger. 2.2.1 Protokol Yahoo Messenger

Sebuah aplikasi Yahoo Messenger client yang terhubung ke Yahoo Messenger server akan diberikan sebuah session id yang akan digunakan dalam pertukaran data selanjutnya hingga aplikasi client tersebut meminta service logout dari server. Aplikasi client Yahoo Messenger mempunyai dua status yang berbeda untuk sebuah sesi, yaitu status authentication dan status messaging. Sebuah sesi dimulai dengan status authentication setelah user melakukan login. Setelah server melakukan otentikasi data YahooID dan password, bila otentikasi berhasil maka sesi akan berpindah status menjadi messaging, bila otentikasi gagal maka respon error akan diberikan oleh server ke client.

Setelah sesi memasuki status messaging, server mengirimkan daftar friend dan beberapa cookies ke client. Daftar friend yang sedang online beserta statusnya dikirim berikutnya. Kemudian offline message juga dikirim ke client. Pada status messaging, aplikasi client dapat mengirim atau menerima pesan, mengikuti konferensi, mengirim atau menerima file, mengganti statusnya, dan lain-lain. Status messaging berakhir ketika user melakukan logout. Gambaran antar statusnya dapat dilihat pada Gambar II-3.

Data yang dipertukarkan antara client dan server pada protokol Yahoo Messenger berupa paket data yang mempunyai struktur tersendiri (akan dibahas pada sub-bab 2.2.2 berikutnya). Pada saat status sesi authentication, paket pertama yang dikirim dari client akan berupa paket permintaan otentikasi. Server akan meresponnya dengan sebuah paket yang berisi string untuk di-hash dengan YahooID dan password user.

(8)

Gambar II-3 Gambaran antar status di Yahoo Messenger

Kedua data tersebut kemudian di-hash-kan dengan string dari server, kemudian dikirimkan kembali oleh client. Setelah otentikasi berhasil, di saat status sesi messaging, semua kegiatan user termasuk logout dilakukan dengan pertukaran paket data.

2.2.2 Struktur Paket Data Yahoo Messenger

Penjelasan dari paket data yang strukturnya dapat dilihat pada Gambar II-4 di atas adalah sebagai berikut. Bagian pertama dari paket adalah string “YMSG” yang berukuran 4 Byte. Bagian kedua menunjukkan versi protokol, contohnya untuk versi protokol 10 bagian ini berisi 0x0a 0x00 0x00 0x00. 3 byte terakhir untuk sementara ini hanyalah berguna sebagai padding byte saja. Bagian pkt_len menunjukkan jumlah byte pada bagian data di paket ini.

(9)

Gambar II-4 Struktur paket data Yahoo Messenger [YAH05]

Bagian berikutnya mengandung kode yang menentukan layanan apa yang diminta client juga yang diberikan server sebagai responnya. Beberapa contoh layanan yang dapat digunakan pada jaringan Yahoo Messenger selain layanan pengiriman/penerimaan pesan adalah layanan buddies dan address book, pengubahan status, conferencing, file transfer, layanan webcam, serta chatting. Bagian ini berukuran 2 byte. Daftar layanan berikut nilainya bisa dilihat di bagian 0.

Bagian paket data berikutnya adalah bagian status sebesar 4 byte yang digunakan untuk menunjukkan status user tersebut. Bagian ini juga yang menunjukkan sebuah user sedang mengetikkan pesan ke user lain serta menunjukkan apabila user tersebut sedang idle. Sebagai status awal ketika seorang user login dapat dipilih nilainya antara YAHOO_STATUS_AVAILABLE atau YAHOO_STATUS_OFFLINE. Masing-masing status tersebut bernilai (0 dan 0x5a55aa56). Daftar pemetaan nilai dan defined variable untuk status dan layanan yang diketahui dapat dilihat pada 0.

Bagian session_id digunakan ketika client terkoneksi melalui sebuah HTTP proxy, dan tidak memiliki kegunaan pada koneksi langsung. Ketika client mengirim paket data pertama kali bagian ini diisi dengan nilai 0, namun server merespon paket tersebut dengan mengirimkan sebuah session id yang akan digunakan oleh client dan server selanjutnya. Pada tengah sesi server dapat mengganti nilai ini dan kemudian mengirim paket dengan nilai session_id yang baru untuk digunakan.

(10)

Bagian terakhir pada paket adalah bagian data, dengan besar maksimum 65536 byte. Nilai ini adalah nilai teorinya karena bagian pkt_len berukuran 2 byte, namun pada prakteknya umumnya ukuran bagian data tidak melebihi nilai 1000 byte. Bagian ini terdiri dari pasangan indeks dan nilai dalam bentuk string ASCII-nya dengan string pemisah berupa nilai 0xc080. Contohnya untuk mengirim sebuah pesan maka bagian ini akan bernilai seperti ini:

0x30 0xc080 [yahooID pengirim] 0xc080

0x31 0xc080 [identitas/nama alias yang digunakan] 0xc080 0x35 0xc080 [yahooID penerima] 0xc080

0x3134 0xc080 [teks pesan] 0xc080

Seksi data pertama sebelum string 0xc080 merupakan angka 0 dalam bentuk ASCII. Seksi data kedua setelah [yahooID pengirim] dan string pemisah berikutnya adalah angka 1, ketiga dengan urutan yang sama adalah 5 dan terakhir adalah 14. angka 14 didapat dengan memisahkan byte pertama dan kedua (0x31 dan 0x34).

Bentuk seperti di atas merupakan ketentuan dalam layanan pengiriman pesan, selain bagian service diisi dengan nilai YAHOO_SERVICE_MESSAGE dan bagian status diisi dengan nilai status pengirim.

2.2.3 Mekanisme Login ke Yahoo Server

Sebelum bisa menggunakan layanan Yahoo Messenger, sebuah client Yahoo Messenger harus bisa melakukan login ke server Yahoo, berikut ini akan dijelaskan mekanisme dan rangkaian kejadian ketika sebuah client melakukan login ke server Yahoo. Gambar II-5 merepresentasikan rangkaian kejadian ketika proses login ke Yahoo Server berlangsung.

Langkah pertama kali yang yang dilakukan adalah client mengirim paket data yang disebut Verify Packet ke server Yahoo untuk memeriksa apakah network path menuju server Yahoo ada dan bisa digunakan. Jika koneksi bisa diadakan maka server Yahoo Mengirimkan paket data yang disebut Yahoo Verify Packet. Struktur paket yang dikirimkan client Yahoo dan server Yahoo dapat dilihat pada Gambar II-6 dan Gambar II-7, paket yang dikirmkan panjangnya 0 dan hanya paket TCP ping biasa.

(11)

Yahoo Client Yahoo Server Verify*

Verify Ack *

Auth (Username)

Auth_Ack(Session ID, MD5 Challenge)

Auth_Resp(Password hash, system settings)

Buddy List

Buddy List

Ping*(who’s online)

Client skin and other system settings 1 2 3 4 5 6 7 8

Gambar II-5 Rangkaian kejadian ketika proses login

Gambar II-6 Struktur Yahoo Verify Packet dari client ke server

Gambar II-7 Struktur Yahoo Verify Packet dari server ke client

Setelah jalur komunikasi telah diverifikasi, selanjutnya client akan mengirim paket Yahoo Auth. Paket ini akan berisi username yang telah terdaftar di Yahoo yang meminta layanan ke server Yahoo. Selanjutnya server merespon permintaan dari client tadi dengan sebuah challenge string dan sebuah session ID. Session ID inilah akan digunakan sebagai penanda komunikasi utam hingga koneksi berakhir atau server mengirimkan session ID yang baru. Challenge string berupa sederetan karakter acak yang harus di hash dengan fungsi MD5 yang

(12)

ada di client. Struktur paket data yang dipertukarkan selama tahap authorisasi dapat dilihat pada gambar Gambar II-8 dan Gambar II-9.

Gambar II-8 Yahoo Auth Packet dari client ke server

Gambar II-9 Yahoo Auth Packet dari server ke client

Setelah client menerima challenge string, kemudian client akan menggabungkannya dengan password untuk kemudian dihitung nilai hash nya dengan MD5. Hasil fungsi hash tadi akan dipecah menjadi dua field data, dengan key 6 dan key 96, dan dikirimkan ke server. Selain itu, bersamaan dengan nilai hash password tadi, dikirimkan juga data client lain seperti versi client, keduanya tadi akan dikirimkan melalui satu paket data yang disebut Yahoo Auth Resp Packet, struktur dari paket Auth Resp dapat dilihat pada Gambar II-10.

Gambar II-10 Yahoo Auth Resp dari client ke server

Setelah password yang valid telah diterima dari client, username akan diperbolehkan login, dan tidak ada informasi lain yang dibutuhkan dari client sampai saat ini. Akhirnya, setelah packet Auth Resp diterima server, dan server mengirim paket yang berisi buddy list untuk username yang login tadi. Paket yang berisi buddy list tadi disebut Yahoo List Packet. Paket ini adalah paket yang berisi banyak header YMSG dan bisa dikirim dalam beberapa paket

(13)

berurutan. Tentunya, ukuran packet yang berisi friendlist ini tergantung dari jumlah contact dan jumlah ignore contact yang dimiliki user tersebut, key untuk buddy list adalah 87 dan 88 untuk ignore list, struktur paketnya bisa dilihat dalam Gambar II-11, Gambar II-12 dan Gambar II-13

Gambar II-11 Yahoo List Packet dari server ke client

Gambar II-12 Yahoo List Packet dari server ke client (lanjutan)

Gambar II-13 Yahoo List Packet dari server ke client (akhir)

Setelah paket buddy diterima client, paket yang lain menyusul, paket ini disebut Yahoo Ping dan mengandung informasi contact yang sedang online. Seperti informasi Yahoo List tadi, paket Yahoo ping ini bisa berupa beberapa paket beruntun tergantung banyaknya buddies yang dimiliki username tersebut. Diakhir proses login, server mengirimkan pesan tidak penting, misalnya pesan updates to LaunchCast Radio, stock quotes, weather, dan Yahoo Insider, dan simpanan konfigurasi client sebelumnya.

2.3 Yahoo Messenger Library

Library yang digunakan untuk menangani protokol Yahoo Messenger adalah JYMSG versi 0.61 yang dirilis oleh S.E.Morris pada tahun 2005 di http://jymsg9.sourceforge.net/. API ini menyediakan suatu cara bagi aplikasi yang dibuat dengan java untuk tersambung dan menggunakan protokol Yahoo Messenger. Versi protokol yang didukung adalah versi 9,10,11 dan 12. Library ini dikembangkan dengan J2SE 1.4. Setiap kelas didalam API ini bisa

(14)

digunakan untuk membuat sebuah aplikasi Yahoo Messenger. Lisensi dari API ini adalah GPL dan sudah banyak client Yahoo Messenger yang menggunakan API ini.

Penjelasan library ini hanya seputar kelas-kelas utama yang akan disesuaikan dengan pengembangan aplikasi. Gambar II-14 Berikut adalah keterhubungan kelas-kelas utama dalam library yang digunakan untuk menangani protokol Yahoo Messenger.

Gambar II-14 Keterhubungan kelas-kelas utama dalam library

2.3.1 Kelas-kelas Utama

Berikut ini akan dijelaskan kelas-kelas utama dalam JYMSG. Kelas-kelas ini akan dimodifikasi agar bisa berjalan di J2ME, agar bisa digunakan dalam pengembangan aplikasi mobile client Yahoo Messenger. Fungsi–fungsi utama yang ada di setiap kelas-kelas utama bisa dilihat di 0.

Tabel II-1 Kelas utama yang ada dalam library

No Nama Kelas Deskripsi

1.

YahooUser Kelas ini merepresentasikan sebuah Yahoo User

yang diketahui, apakah sudah ada dalam friend list atau belum. Atribut kelas ini berupa status login user, status user dan apakah user tersebut sudah menjadi friend.

2.

YahooGroup Kelas ini merepresentasikan sebuah group user dari

friend list, group berisi YahooUser yang sudah ada dalam friend list.

3.

YMSGPacket Kelas yang berisi struktur data untuk menyimpan

informasi dari sebuah paket data message Yahoo Messenger.

4.

YMSGInputStream Turunan dari kelas BufferedInputStream untuk

memproses paket data yang didefinisikan kelas YMSGPacket

5. PacketBodyBuffer Kelas yang menangani paket data, agar paket data

yang dikirim selalu setiap 1024byte

6. ConnectionHandler Superclass dari kelas Connection lainnya yang

(15)

7.

DirectConnectionHandler Turunan dari kelas Connection yang menspesifikasikan koneksi langsung dengan menggunakan socket, kelas inilah yang akan dimodifikasi sebagai kelas utama koneksi dalam

pengembangan aplikasi mobile client Yahoo

Messenger. 8.

Session Merepresentasikan sebuah session dalam Yahoo

Messenger. Ini adalah kelas utama yang menangani keseluruhan proses yang terjadi di Yahoo Messenger.

9.

SessionEvent Kelas ini merepresentasikan event dari sebuah

message yang diterima, merupakan superclass dari kelas-kelas event lain. Message bisa berupa notifikasi pesan baru, error, exception, ataupun notifikasi yang lain (contoh : email baru diterima). Selain itu JYMSG juga menyediakan defined variable yang berupa konstanta terdefinisi yang akan digunakan di kelas-kelas utama. Defined variable ini bisa dilihat di 0.

2.3.2 Batasan Library

Library JYMSG belum mendukung beberapa fitur Yahoo Messengerlainnya, seperti :

1. P2P file transfer : Belum diimplementasikan pengiriman dan penerimaan file langsung tanpa melalui server internal Yahoo.

2. Avatar : Tidak mendukung penampilan avatar dari user.

3. Stealth : Belum mendukung Stealth setting untuk contact yang ada di friend list.

4. Webcam : Fungsi web camera di Yahoo Messenger yang belum ada

5. Voice Chat : Belum bisa mengadakan percakapan dengan menggunakan voice (suara)

6. Games : Games yang menggunakan username yahoo sebagai player. 7. Imvironments: Fungsi Imvironments

8. Mobile/cell phone chat via SMS: Fitur ini tidak diimplementasikan karena bukan bagian dari protokol Yahoo Messenger

9. Tools Yahoo lain: Seperti calendar dan plugin lain seperti Yahoo widget, dan sebagainya.

Gambar

Gambar II-1 Arsitektur J2ME [OSB03]
Gambar II-3 Gambaran antar status di Yahoo Messenger
Gambar II-4  Struktur paket data Yahoo Messenger [YAH05]
Gambar II-5 Rangkaian kejadian ketika proses login
+4

Referensi

Dokumen terkait

 Hidrogeologi Daerah Kubah Kulonprogo disusun oleh sistem akifer retakan yang dibangun oleh batuan vulkanik terdiri dari tubuh intrusi, endapan lava, dan breksi

GreatLink Premier Bond Fund merupakan pilihan dana investasi bagi nasabah yang memberikan tingkat hasil stabil dengan tingkat risiko rendah - menengah untuk investasi jangka

kejadian gingival lead line pada pekerja bengkel kendaraan bermotor di kota Semarang dan Oktaria C yang meneliti pengaruh masa kerja dengan

Wilayah Propinsi Daerah Tingkat I Jawa Barat pada umumnya dan. Wilayah Kabupaten Daerah Tingkat II Bekasi

PT Mintec Abadi • Overburden production in August 2017 is higher compare with the productions in August 2016 due to the reduction in mud loading activity and

The escalating volumes were made possible due to rising Fresh Fruit Bunches (FFB) production from the palm oil estates under management that reached 1.52 million tons, or 12%

Bahwa benar antara Tergugat / Pembanding dengan Penggugat / Terbanding telah pisah tempat tinggal bersama karena Penggugat / Terbanding yang keluar dari rumah tempat

Dalam kegiatan ini, supervisor dan guru melaksanakan pembicaraan tentang hasil supervisi penyusunan RPP yang pada mengacu kepada Permendiknas Nomor 41 Tahun 2007