Implementasi Yahoo Messenger Mobile Client dengan menggunakan J2ME
LAPORAN TUGAS AKHIR
Disusun Sebagai Syarat Kelulusan Tingkat Sarjana
oleh: Febrian Setiadi/ NIM. 13503028
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2007
LEMBAR PENGESAHAN
Program Studi Sarjana Teknik Informatika Implementasi Yahoo Messenger Mobile Client Dengan Menggunakan J2ME
Tugas Akhir Program Studi Sarjana Teknik Informatika ITB
Oleh Febrian Setiadi / 13503028
Telah disetujui dan disahkan sebagai laporan Tugas Akhir di Bandung, pada tanggal 17 September 2007
Pembimbing
Henny Yusnita Zubir, B.S.,M.T. NIP : 132208711
ii
ABSTRAK Instant Messaging adalah suatu mekanisme pengiriman pesan dari pengirim ke penerima, yang langsung sampai ke penerima, dan terlihat sampai dengan segera dan bisa disebut real-time Messaging. Cara komunikasi Instant Messaging dua arah, artinya dalam satu waktu kedua pihak (pengirim dan penerima) dapat mengirimkan pesan. Pada tugas akhir ini dilakukan pengembangan perangkat lunak Instant Messaging pada mobile device pada sisi client, yaitu sebuah Yahoo Messenger mobile client. Secara umum aplikasi ini akan menyesuaikan library JYMSG, dan menggunakan protokol Yahoo agar dapat berkomunikasi dengan server Yahoo. Perangkat lunak ini dikembangkan di platform J2ME dengan profile MIDP 2.0 dan konfigurasi CLDC 1.1. Pengembangan perangkat lunak ini dilakukan melalui beberapa tahapan yaitu studi literatur, analisis, perancangan, implementasi perangkat lunak, dan pengujian perangkat lunak. Tahap analisis menggunakan metode berorientasi objek dan menggunakan UML untuk melakukan pemodelan. Tahap pengujian dilakukan dengan menguji aplikasi di emulator dan di mobile device, dari tahap ini didapatkan hasil pengujian dan perbandingan kinerja di kedua platform. Pengembangan aplikasi Yahoo Messenger mobile client berhasil dilaksanakan namun dengan berbagai keterbatasan diantaranya keterbatasan device, seperti hanya mendukung MIDP 2.0 dan CLDC 1.1. Selain itu juga ada keterbatasan penanganan protokol Yahoo oleh library, karena protokol Yahoo adalah proprietary protocol dan Yahoo tidak pernah mempublikasikan dan mendokumentasikan protokolnya. Hasil dari pengujian menunjukkan adanya perbedaan hasil pada kedua platform, hal ini disebabkan karena perbedaan koneksi Internet. Kondisi ideal didapatkan ketika menggunakan cable Internet di emulator.
Kata kunci : Instant Mesaging, mobile device, Yahoo Messenger Protocol, JYMSG, Yahoo Messenger mobile client.
iii
ABSTRACT The term Instant Messaging refers to the way in which messages are transmitted. To the user it seems as messages are transmitted instantly or in what also could be called ”real time“. Instant Messaging is a two-ways (duplex) communications, it means at the same time both of side can send and receive message simultaneously. In This Final Assignment, Instant Messaging software at the client side, a Yahoo Messenger Mobile Client is Developed. Generally, this application will use and modify the JYMG library for J2SE. This software is developed on J2ME platform using MIDP 2.0 profile and CLDC 1.1 configuration. Yahoo Messenger Mobile Client development done in a few phase, start with literature exploration, then system description (global and detail) and following by Object oriented analysis and design. At the final phase, Software Implementation and Testing. All Development process using UML Modelling to model the software. Testing and Implementation phase yields benchmark result and comparison between implemented platforms. And Finally, Yahoo Messenger mobile client development is succesfully done in many limitations such as device configurations and profiles (MIDP 2.0 and CLDC 1.1). Also the limitation on handling Yahoo Protocol by the library. Indeed, Yahoo Protocol is a proprietary protocol and Yahoo never publish and document their Protocol. Implementation and Testing result show a difference between platforms, because difference in Internet connection. Application will run perfectly when using cable Internet as connection and using emulator device.
Keywords : Instant Mesaging, mobile device, Yahoo Messenger Protocol, JYMSG, Yahoo Messenger mobile client.
iv
KATA PENGANTAR Bismillahirrahmaaninirrahiim.
Alhamdulillahi rabbil ’aalamin, segala puji bagi Allah atas segala rahmat dan karuniaNya sehingga Penulis dapat menyelesaikan Tugas Akhir yang berjudul Implementasi Yahoo Messenger Mobile Client dengan menggunakan J2ME.
Tugas Akhir ini disusun untuk memenuhi persyaratan akademis mata kuliah Tugas Akhir sebagai salah satu syarat kelulusan sarjana strata-1 di Program Studi Teknik Informatika Institut Teknologi Bandung. Dengan selesainya Tugas Akhir ini, penulis ingin mengucapkan terimakasih kepada semua pihak yang secara langsung maupun tidak langsung turut memberikan bantuan kepada penulis selama pelaksanaan Tugas Akhir ini, yaitu: 1. Ibu Henny Yusnita Zubir, B.S., M.T. selaku pembimbing Tugas Akhir yang telah dengan sabar memberikan bimbingan dan pengarahan selama pelaksanaan Tugas Akhir ini 2. Bapak Achmad Imam Kistijantoro, S.T., M.T. selaku penguji review proposal, seminar, dan sidang Tugas Akhir. 3. Bapak Bugi Wibowo, S.T., M.T. selaku penguji prasidang dan sidang Tugas Akhir. 4. Ibu Nur Ulfa Maulidevi, S.T., M.Sc selaku Dosen Wali, atas bimbingan dan arahannya selama penulis menjalani pendidikan S1 di Teknik Informatika ITB 5. Ayahanda dan Ibunda yang telah membesarkan dan mendidik penulis dengan kasih sayang yang tulus dan doa serta kesabarannya yang selalu membantu penulis dalam mengarungi hidup selama ini. 6. Damar Rastri Adhika, sahabat yang selalu memberikan dukungan moril dan semangat kepada penulis. 7. Seluruh dosen yang telah memberikan perkuliahan bagi penulis selama pelaksanaan kuliah di Program Studi Teknik Informatika ITB. 8. Seluruh staf Tata Usaha dan Dukungan Teknis Program Studi Teknik Informatika ITB yang telah membantu kelancaran administrasi dan teknis hingga terselesaikannya Tugas Akhir ini. v
9. Bapak S.E Morris selaku pengembang JYMSG API yang telah penulis modifikasi dan sesuaikan API nya agar bisa diimplementasikan. 10. Teman-teman CikapCayang 5, KMGJ, KMPA, GRBT, Keluarga Bolang, Diko, Andres, Phillip, Tangju, Bobo, Angga, Riza, Def, Teguh, Rian, Boyke, Ihsan, Reinhard, Unggul, Yavta, Fajar, Dicky, Rocky, Gan, Dean dan lain lain. Terimakasih atas persahabatan, perhatian, saran, kritik, bantuan selama 4 tahun kebelakang. Terimakasih karena memberikan warna tersendiri di kehidupan penulis. 11. Teman-teman yang pernah hadir di pelaksanaan review Tugas Akhir penulis, Dibon, Neni, Anggia, Eriek, Arie, Supra, Satria, Jaya, Simon, Andoko, Eko. Terimakasih atas dukungannya. 12. Gahayu Handari Ekaputri, atas semua Informasi dan bantuannya tentang kehadiran dosen pembimbing dan penguji. 13. Rekan-rekan angkatan ceria Teknik Infomatika 2003. 14. Pihak-pihak lain yang telah berkontribusi terhadap Tugas Akhir ini yang tidak dapat penulis sebutkan satu per satu. Penulis berharap agar Tugas Akhir ini dapat bermanfaat bagi pihak-pihak yang tertarik dalam mengembangkan Instant Messaging mobile client, khususnya yang menggunakan protokol Yahoo Messenger. Penulis juga meminta maaf atas segala kekurangan yang ada dalam Tugas Akhir ini. Akhir kata, penulis mengharapkan adanya kritik dan saran yang dapat membantu meningkatkan kualitas Tugas Akhir ini. Bandung, 20 September 2007
Febrian Setiadi
vi
DAFTAR ISI LEMBAR PENGESAHAN ................................................................................................ ii ABSTRAK ......................................................................................................................... iii ABSTRACT....................................................................................................................... iv KATA PENGANTAR ........................................................................................................ v DAFTAR ISI..................................................................................................................... vii DAFTAR GAMBAR ......................................................................................................... ix DAFTAR TABEL ............................................................................................................... x BAB I PENDAHULUAN ................................................................................................. I-1 1.1 Latar Belakang ............................................................................................. I-1 1.2 Rumusan Masalah ........................................................................................ I-2 1.3 Tujuan........................................................................................................... I-2 1.4 Batasan Masalah........................................................................................... I-3 1.5 Metodologi ................................................................................................... I-3 BAB II DASAR TEORI ................................................................................................. II-1 2.1 Java 2 Micro Edition (J2ME) ...................................................................... II-1 2.1.1 Pengertian J2ME .................................................................................. II-1 2.1.2 CLDC 1.1 dan MIDP 2.0 ..................................................................... II-1 2.1.3 Komponen J2ME ................................................................................. II-3 2.2 Yahoo Messenger ........................................................................................ II-7 2.2.1 Protokol Yahoo Messenger .................................................................. II-7 2.2.2 Struktur Paket Data Yahoo Messenger ................................................ II-8 2.2.3 Mekanisme Login ke Yahoo Server ................................................... II-10 2.3 Yahoo Messenger Library ......................................................................... II-13 2.3.1 Kelas-kelas Utama ............................................................................. II-14 2.3.2 Batasan Library.................................................................................. II-15 BAB III ANALISIS DAN PERANCANGAN .............................................................. III-1 3.1 Arsitektur Perangkat Lunak .......................................................................III-1 3.2 Analisis Kebutuhan Perangkat Lunak ........................................................III-2 3.2.1 Kebutuhan Fungsional ........................................................................III-2 3.2.2 Kebutuhan Non-Fungsional ................................................................III-3 3.3 Analisis Yahoo Messenger Client untuk Lingkungan Mobile ..................III-3 3.3.1 Deskripsi Global dan Aspek Umum ...................................................III-3 3.3.2 Penyesuaian Library dan Service ........................................................III-4 3.3.3 Diagram Use Case dan Skenario ........................................................III-6 Definisi Aktor ...................................................................................................III-6 Definisi Use Case .............................................................................................III-7 3.3.4 Diagram Kelas Analisis ......................................................................III-7 3.3.5 Diagram Sequence ..............................................................................III-9 3.3.6 Kelas Tahap Perancangan .................................................................III-12 3.4 Mekanisme Komunikasi dengan Yahoo Server .......................................III-13 3.4.1 Proses Login......................................................................................III-13 3.4.2 Proses kirim dan terima pesan ..........................................................III-14 vii
3.4.3 Proses Logout....................................................................................III-15 3.5 Perancangan Antarmuka ..........................................................................III-15 3.5.1 Masukan User ...................................................................................III-16 3.5.2 Antarmuka Login Screen ..................................................................III-16 3.5.3 Antarmuka Signing Screen ...............................................................III-17 3.5.4 Antarmuka Contact Screen ...............................................................III-18 3.5.5 Antarmuka Message Screen..............................................................III-19 3.6 Batasan Perangkat Lunak .........................................................................III-20 BAB IV IMPLEMENTASI DAN PENGUJIAN ........................................................... IV-1 4.1 Implementasi ............................................................................................. IV-1 4.1.1 Lingkungan Pengembangan ............................................................... IV-1 4.1.2 Batasan Implementasi ........................................................................ IV-1 4.1.3 Proses dan Hasil Implementasi .......................................................... IV-1 4.2 Pengujian ................................................................................................... IV-3 4.2.1 Rencana Pengujian ............................................................................. IV-4 4.2.2 Prosedur Pengujian ............................................................................ IV-4 4.2.3 Kasus Pengujian ................................................................................. IV-5 4.2.4 Pengujian Aplikasi Terkait Penggunaan resource dan Kualitas Jaringan IV-6 4.2.5 Analisis Hasil Pengujian .................................................................... IV-7 BAB V KESIMPULAN DAN SARAN ......................................................................... V-1 5.1 5.2
Kesimpulan..................................................................................................V-1 Saran ............................................................................................................V-2
viii
DAFTAR GAMBAR Gambar II-1 Arsitektur J2ME [OSB03] .................................................................... II-2 Gambar II-2 Hubungan antar kelas Diplayable dalam MIDP [OSB03] .................... II-3 Gambar II-3 Gambaran antar status di Yahoo Messenger ......................................... II-8 Gambar II-4 Struktur paket data Yahoo Messenger [YAH05] ................................. II-9 Gambar II-5 Rangkaian kejadian ketika proses login .............................................. II-11 Gambar II-6 Struktur Yahoo Verify Packet dari client ke server ............................ II-11 Gambar II-7 Struktur Yahoo Verify Packet dari server ke client ............................ II-11 Gambar II-8 Yahoo Auth Packet dari client ke server ............................................ II-12 Gambar II-9 Yahoo Auth Packet dari server ke client ............................................ II-12 Gambar II-10 Yahoo Auth Resp dari client ke server ............................................. II-12 Gambar II-11 Yahoo List Packet dari server ke client ............................................ II-13 Gambar II-12 Yahoo List Packet dari server ke client (lanjutan) ............................ II-13 Gambar II-13 Yahoo List Packet dari server ke client (akhir) ................................ II-13 Gambar II-14 Keterhubungan kelas-kelas utama dalam library.............................. II-14 Gambar III-1 Arsitektur Client Yahoo ......................................................................III-1 Gambar III-2 Arsitektur Sistem ................................................................................III-3 Gambar III-3 Diagram use case ................................................................................III-6 Gambar III-4 Desain diagram kelas ..........................................................................III-8 Gambar III-5 Diagram sequence login .....................................................................III-9 Gambar III-6 Diagram sequence send message ........................................................III-9 Gambar III-7 Diagram sequence receive message..................................................III-10 Gambar III-8 Diagram sequence add new contact ..................................................III-10 Gambar III-9 Diagram sequence set status .............................................................III-11 Gambar III-10 Diagram sequence remove contact .................................................III-11 Gambar III-11 Diagram sequence logout ...............................................................III-12 Gambar III-12 Login Screen ...................................................................................III-17 Gambar III-13 Menu Login Screen.........................................................................III-17 Gambar III-14 Signing Screen ................................................................................III-17 Gambar III-15 Contact Screen ................................................................................III-18 Gambar III-16 Menu Contact Screen......................................................................III-18 Gambar III-17 Input pada Contact Screen ..............................................................III-19 Gambar III-18 Message Screen ..............................................................................III-19 Gambar III-19 Menu Message Screen ....................................................................III-20
ix
DAFTAR TABEL Tabel II-1 Kelas utama yang ada dalam library ....................................................... II-14 Tabel III-1 Kebutuhan Fungsional ............................................................................III-2 Tabel III-2 Perubahan kelas utama ...........................................................................III-4 Tabel III-3 Service yang digunakan..........................................................................III-5 Tabel III-4 Definisi Aktor .........................................................................................III-6 Tabel III-5 Definisi use case .....................................................................................III-7 Tabel III-6 Desain Kelas dan Deskripsinya ..............................................................III-7 Tabel III-7 Traceability Kelas Analisis dan Perancangan ......................................III-13 Tabel III-8 Konfigurasi Penggunaan Tombol Mobile Phone .................................III-16 Tabel IV-1 Daftar Implementasi Kelas .................................................................... IV-2 Tabel IV-2 Rencana Pengujian ................................................................................ IV-4 Tabel IV-3 Perbandingan Pengujian Memori .......................................................... IV-7 Tabel IV-4 Perbandingan Pengujian Kecepatan ...................................................... IV-7 Tabel IV-5 Skema pengujian dan pengujian use case ............................................. IV-9
x