BAB I PENDAHULUAN 1.1 Latar Belakang Instant Messaging (IM) didefinisikan sebagai pertukaran konten diantara beberapa partisipan secara hampir real time [CAM02]. Pada umumnya, konten tersebut adalah pesan singkat, meskipun hal tersebut tidak mutlak. Pesan tersebut juga umumnya dipertukarkan tetapi tidak disimpan, hal ini pula bukan merupakan sesuatu yang mutlak. IM berbeda dengan email dari cara penggunaannya, IM bisa dikelompokkan sebagai pembicaraan langsung, terdiri dari beberapa pesan singkat yang dikirimkan dan diterima. Sejarah perkembangan instant messaging sebagai sebuah layanan telah ada sejak lama pada intranet dan IP network. Implementasi awal adalah program Zephyr, aplikasi UNIX Talk, dan IRC. Awalnya dikembangkan pada sistem operasi multi-user seperti CTSS dan MULTICS pada tahun 1960 [VLE04]. Mulanya aplikasi tersebut dimanfaatkan untuk notifikasi layanan sistem, tetapi dengan cepat berkembang untuk memfasilitasi komunikasi antar user yang logged on ke dalam mesin yang sama. Yahoo! Messenger (YM) adalah sebuah protokol dan messaging client yang dikembangkan oleh Yahoo! Inc., sebuah perusahaan publik di Amerika yang menyediakan berbagai layanan internet. YM menyediakan layanan komunikasi gratis bagi penggunanya dengan menggunakan Yahoo! Id yang sama untuk semua layanan yang disediakannya. YM menawarkan banyak fitur. Selain bertukar pesan, terdapat pula fitur Yahoo! Voice yang mirip layanan VoIP, voice mail, conference, offline messaging, status, transfer file dan masih banyak lagi. Di era informasi ini, kebutuhan masyarakat terhadap komunikasi menjadi semakin besar. Mobilitas masyarakat yang tinggi membutuhkan support dari teknologi 1
2 informasi. Perkembangan teknologi embedded device memungkinkan kebutuhan akan informasi tadi terpenuhi. Semakin kayanya fitur dan semakin terjangkaunya harga jual produk embedded device, memungkinkan embedded device menjadi sebuah solusi yang tepat guna bagi kebutuhan komunikasi masyarakat [SEA00]. Android merupakan platform mobile open source pertama yang dikembangkan oleh Open Handset Alliance, sebuah grup yang terdiri dari 30 perusahaan yang bergerak di bidang operator (NTT DoCoMo Inc.), manufaktur handset (Motorola, Samsung, LG, dll), perusahaan semikonduktor (intel, dll) dan beberapa perusahaan software terutama Google Inc. [OHA07]. Android sendiri lebih merupakan sistem operasi dibandingkan device seperti iphone milik Apple. Android merupakan software stack untuk mobile device yang berisi sistem operasi dengan kernel Linux, middleware dan key applications. Di dalamnya juga terdapat Dalvik virtual machine yang dapat menjalankan beberapa Virtual Machine (VM) secara efisien. VM tersebut berbasis register dan dapat menjalankan kelas-kelas yang dibuat dengan bahasa pemrograman java. Sampai saat ini belum terdapat versi release dari Android, Google hanya menyediakan SDK dan emulator saja yang digunakan untuk mengembangkan aplikasi untuk Android. Tugas Akhir ini akan berfokus pada pembuatan library Yahoo! Messenger pada platform Android. Alasannya adalah Tugas Akhir ini lebih menganalisis cara kerja protokol Yahoo! Messenger tersebut dibandingkan dengan membuat suatu aplikasi Yahoo! Messenger client pada platform Android. Diharapkan dengan memanfaatkan library ini, developer lain dapat mengembangkan aplikasi multi protokol pada platform Android seperti aplikasi Pidgin pada desktop PC.
3 1.2 Rumusan Masalah Alasan mengapa dipilih Yahoo! Messenger adalah karena platform Android didukung penuh oleh Google, maka dapat dipastikan platform tersebut akan mendukung protokol Jabber/Gtalk milik Google sendiri. Tujuan untuk mengembangkan library adalah harapan bahwa library ini dapat digunakan oleh orang lain dengan mudah sehingga nantinya dapat digunakan untuk membangun client multi-protokol yang mendukung berbagai macam protokol messaging. Sedangkan Android dipilih karena merupakan salah satu platform open source berbasis Linux yang memiliki tools SDK yang lengkap. Platform ini berpotensi untuk digunakan secara umum pada masa yang akan datang. Berdasarkan latar belakang tersebut, rumusan masalah yang dikaji dalam Tugas Akhir ini adalah: 1. Bagaimana cara kerja protokol messenger untuk melakukan komunikasi. 2. Bagaimana pengembangan library pada platform Android sehingga library tersebut dapat digunakan oleh aplikasi lain. 3. Bagaimana mengimplementasikan protokol Yahoo! Messenger pada platform embedded device. Pada kasus ini adalah Android. 1.3 Tujuan Tujuan yang ingin dicapai pada Tugas Akhir ini adalah merancang dan mengembangkan library Yahoo! Messenger pada platform Android. Serta akan dibuat sebuah aplikasi messenger sederhana yang menggunakan library ini. Aplikasi tersebut dibuat dengan tujuan untuk melakukan pengujian pada semua fungsi yang terdapat dalam library tersebut. 1.4 Batasan Masalah Batasan masalah pada pelaksanaan Tugas Akhir ini adalah:
4 Aplikasi ini hanya akan dikembangkan dalam emulator, tidak diuji pada device yang sebenarnya. Library ini menangani fungsi utama pada protokol Yahoo! Messenger seperti: Login, pertukaran pesan, status, manajemen contact, manajemen grup dan conference. Di luar fungsi tersebut merupakan fungsi tambahan yang tidak wajib untuk diimplementasi. Apabila memungkinkan, library ini akan dikembangkan melebihi fungsi yang telah ditetapkan sebelumnya. Sebisa mungkin memanfaatkan library yang telah tersedia bila dibutuhkan. Tidak menggunakan protokol library yang telah ada seperti: libyahoo2 dan jymsg. Aplikasi messenger client yang dibuat hanya untuk tujuan pengujian fungsi pada library saja, tampilan aplikasi tersebut dibuat sekedarnya. 1.5 Metodologi Metodologi yang akan digunakan selama pengerjaan Tugas Akhir ini adalah: 1. Studi literatur Tahapan ini berupa studi literatur mengenai protokol messaging terutama Yahoo! Messenger, mengenai pengembangan aplikasi pada platform Android. 2. Analisis kebutuhan perangkat lunak Kegiatan analisis perangkat lunak meliputi analisis spesifikasi perangkat lunak. 3. Perancangan perangkat lunak Perancangan perangkat lunak meliputi perancangan kelas dan perancangan antarmuka dari hasil analisis. 4. Implementasi dan pengujian perangkat lunak Implementasi dari hasil perancangan perangkat lunak dan pengujian terhadap hasil
5 implementasi perangkat lunak. 5. Perbaikan Perbaikan dilakukan terhadap kesalahan-kesalahan yang mungkin terjadi pada program dan buku Tugas Akhir.