SISFO-Jurnal Sistem Informasi
PEMBUATAN APLIKASI CONTEXT CALL PADA JARINGAN GPRS MENGGUNAKAN J2ME Arif Wibisono1), Mudjahidin2), Faizal Johan3) Jurusan Sistem Informasi Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo, Surabaya, 60111 E-mail :
[email protected]),
[email protected]) ,
[email protected])
Abstrak Secara alami, manusia, jika hendak berkomunikasi secara verbal, akan memperhatikan lingkungan di sekitar partner komunikasinya. Ini dilakukan untuk memastikan apakah komunikasi yang akan dilakukan ini sopan dan tepat, sehingga komunikasi diharapkan berjalan lancar. Masalah akan muncul ketika dua orang yang akan berkomunikasi dipisahkan oleh jarak yang jauh. Caller (orang yang menginisasi komunikasi) hanya bisa mengira-ngira bagaimana kondisi lingkungan di sekitar Callee (orang yang dihubungi). Ketika pengamataan dari Caller keliru, maka komunikasi yang akan dilakukan terancam batal atau setidak-tidaknya menjadi kurang sopan Untuk mengatasi ini kemudian dikembangkan aplikasi context call yang mempertukarkan context information (kondisi di sekitar callee) melalui fasilitas ponsel. Ada lima context information yang dipertukarkan yaitu: lokasi, emosi, aktivitas, bagaimana klien dihubungi dan availabilitas. Aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman Java dengan DBMS postgresql. Pada akhir penelitian ini disimpulkan bahwa aplikasi ini dapat mempertukarkan context information yaitu: lokasi, emosi, aktivitas, bagaimana bisa dihubungi dan availabilitas. Kata Kunci: Context-Aware, Callee, Caller, Context-Call, GPRS, MIDlet
1.
PENDAHULUAN
Sebelum berkomunikasi orang sering memperhatikan kondisi di sekitar calon partner komunikasinya seperti apakah partner komunikasi bisa disela, sedang sibuk atau tidak, bagaimana kondisi emosi partner komunikasi, dsb. Ini dilakukan untuk memastikan bahwa komunikasi yang akan dilakukan diantara kedua belah pihak bisa berlangsung dengan baik. Hal seperti ini akan menjadi masalah ketika dua orang dipisahkan oleh tempat yang jauh. Katakan mereka berdua akan bertelepon. Dalan hal ini Caller, orang yang memanggil hanya bisa mengira-ngira kondisi di sekitar Callee, orang yang akan diajak berkomunikasi. Misalnya sekarang jam 12 siang, pada jam demikian orang biasanya makan siang, tetapi si Callee sedang meeting dengan atasannya. Tentu ketika Caller menghubungi Callee, maka akan terjadi penolakan oleh Callee. Oleh sebab itu dikembangkan konsep contextawareness dalam menyelesaikan masalah ini. Idenya adalah mempertukarkan kondisi lingkungan di sekitar Callee. Kondisi lingkungan disekitar Callee ini disebut context information atau juga disebut konteks saja.
Konteks inilah yang akan diakses oleh Caller sebelum menghubungi Callee. Dengan mengakses konteks diharapkan Caller mendapatkan gambaran lingkungan di sekitar Callee lebih jelas.
2.
TUJUAN
Masalah yang hendak diselesaikan dalam paper ini: Bagaimana membangun prototype aplikasi yang mampu mempertukarkan context information yang informatif dengan tetap mempertimbangkan aspek kemudahan user. 3.
PERUMUSAN MASALAH
Oleh sebab itu perlu kiranya didefinisikan klasifikasi context information tepat. Jika context information yang diberikan tidak lengkap, maka informasi yang di dapat menjadi minimal. Akan tetapi jika context information yang dipertukarkan terlalu banyak, maka pengguna
33
SISFO-Jurnal Sistem Informasi akan mengalami ketidaknyamanan pengisian context information. 4.
dalam
DEFINISI CONTEXT INFORMATION
Tetapi tantangan yang dihadapi masih luas. Bagaimana mendefinisikan variabel-variabel apa saja yang bisa dimasukkan ke dalam context information mengingat lingkungan disekitar manusia sendiri amat beragam dan luas. Ada beberapa klasifikasi yang dikembangkan dari sebuah “context”. Menurut artikel yang dikeluarkan oleh VTT Information Technology context dibagi menjadi dua yaitu environmental context dan personal context. Environmental context adalah context yang berhubungan dengan lingkungan di sekitar kita. Sementara personal context berkaitan dengan kondisi internal kita. Sebagai contoh, yang disebutkan Cheverst [CHE00], sebuah portable tourist guide system,dimana sebuah personal context dapat terdiri atas personal interest dari turis dan daftar kunjungan-kunjungan terdahulu dari turis. Menurut Kaenampornpan [KAE], pada baris pertama dari Tabel 1, Beneracetti telah mengklasifikasikan context menjadi dua: physical context dan cultural context. Physical context adalah sekumpulan fitur dari lingkungan. Sementara cultural context meliputi user information, lingkungan sosial user, dan kepercayaan yang dianut user. Schmidt selanjutnya mengembangkan konsep Beneracetti menjadi tiga dimensi. Physiscal Environment, human factor dan waktu (time). Human factor sebetulnya sama dengan cultural context.
Menurut Kaenampornpan [KAE], Hull, Lucas, Chalmers, dan Sloman mengatakan karakteristik dari device itu sendiri sebetulnya juga bergantung pada perferensi pengguna. Contohnya ukuran layar dan input device. Oleh sebab itu mereke berempat memasukkan karakteristik device sebagai bagian dari klasifikasi context. Chalmers, dan Sloman malah menambahkan user activity ke dalam klasifikasi context. Tetapi mereka melupakan waktu (time) sebagai bagian dari klasifikasi context. Schmidt dkk [SCH] mengajukan klasifikasi context berdasarkan dua kategori umum: •
Faktor Manusia (Human Factor)
•
Pengguna (user) – Kebiasaan individu, kondisi mental, dsb
•
Lingkungan sosial (social environment) – kerjasama, hubungan sosial
•
Tugas (task) – aktivitas yang memiliki tujuan tertentu
•
Lingkungan Fisik (Physical Environment)
•
Lokasi – absolut (misalkan dengan koordinat, alias diam) dan relatif, bergerak
•
Infrastruktur – lingkungan interaksi (biasanya berhubungan dengan device komputing)
•
Kondisi – Tingkat kebisingan, brightness, kondisi tetap (fixed) vs kondisi berubah (changeable)
Tabel 1. Pembagian Context Information di Masa Lalu
Variabel waktu (time) ditambahkan karena dianggap mempengaruhi perilaku (behaviour) manusia. Waktu juga memungkinkan context model merepresentasikan sejarah context (history of context). Kondisi ini juga memungkinkan kita memahami aktivitas user sekarang dan di masa mendatang. Menurut Kaenampornpan [KAE], Lieberman dan Selker tidak menganggap waktu sebagai bagian penting. Mereka berdua membagi variabelnya menjadi tiga: Physical Environment, user environment, dan computing environment. Yang dimaksud user environment antara lain: lokasi user, lingkungan komputasi (computing environment). Lieberman dan Selker memosisikan computing environment sebagai entitas yang terpisah, karena mereka berpikir computing environment seperti network availability bergantung pada preferensi user dan computing device yang tersedia.
34
Dey [DEY] melakukan kritisi pada definisi terdahulu bahwa context terlalu didefinisikan spesifik. Dia berpendapat bahwa konteks memerlukan semua informasi tentang situasi yang relevan tentang user. Dey mengusulkan sebuah definisi yang lebih luas tentang sebuah
SISFO-Jurnal Sistem Informasi
context-aware system: “A system is contextaware if it uses context to provide relevant information and or services to the user, where relevancy depends on the user task”. Menurut Juha dkk [KOL] Sifat-sifat dasar yang rumit dari sebuah konteks juga dijelaskan oleh Abowd dan Mynatt. Abowd menyebut konteks sebagai everyday computing. Everyday Computing dikarakteristikkan sebagai aktivitas sehari-hari bahkan bersifat informal, dimana: •
Jarang ada batas jelas antara awal kegiatan dan akhir kegiatan
•
Interupsi sering terjadi, sebuah aktivitas sering di-paused beberapa waktu untuk kemudian di-resume beberapa waktu kemudian. Selama fase penghentian tersebut sering dilakukan kegiatan berbeda.
•
Beberapa aktivitas dijalankan bersama-sama
•
Waktu adalah aspek penting dari everyday computing. Kejadian-kejadian masa lampau sering diperiksa di masa-masa mendatang.
•
Model asosiatif dari informasi dibutuhkan.
5.
KONTEKS YANG RELEVAN
Membuat aplikasi dengan mengimplementasikan semua konteks diatas tentu bukan solusi yang baik. Efeknya jelas, pengguna menjadi malas menggunakan aplikasi dan banyak fitur yang berpotensi tidak digunakan. Oleh sebab itu pendefinisian kembali konteks sesuai keadaan di masyarakat perlu diadakan. Ada empat macam konteks yang sekiranya relevan dalam masyarakat global yang bisa didefinisikan. Keempat hal tersebut adalah: emotion, howtocall, activity dan location. Emotion adalah kondisi emosi dari pengguna. Activity adalah aktivitas yang sedang dilakukan oleh pengguna saat ini, location adalah lokasi dimana pengguna saat ini berada. dan how to call adalah bagaimana seorang pengguna bisa dihubungi. Activity, location, dan emotion adalah tiga variabel yang pasti dimiliki manusia dimanapun dia berada. Sementara how to call ditambahkan karena adanya kebutuhan untuk mengetahui bagaimana kawan komunikasinya bisa dihubungi. 6.
KEBUTUHAN USER
Berikut ini diberikan use case menunjukkan kebutuhan pengguna.
yang
Spesifikasi tersebut antara lain (diurutkan berdasarkan aktor).
Configure Location
Configure HowToCall
Analyze Callee
Request Callee Availability Configure Emotion
Callee
Caller
Send Sms Callee
Configure Availability Call Callee
Configure Activity
Administrator
Configure User
Gambar 1. Use Case
Configure Location : Configure Location adalah aktivitas Callee untuk menambah atau menghapus Item location di dalam ponsel. Configure Location melibatkan dua hal dalam masing-masing item id location dan nama location. Configure Activities: Configure Activities adalah aktivitas Callee untuk menambah atau menghapus Item activity di dalam ponsel. Configure activities melibatkan juga dua hal yaitu Id activity dan nama activity. Configure HowToCall: Configure HowToCall adalah aktivitas Callee untuk menambah atau menghapus Item howToCall di dalam ponsel. Configure howToCall melibatan dua hal yaitu id howToCall dan nama HowToCall Configure Emotions: Configure emotion adalah aktivitas Callee untuk menambah atau menghapus Item emotion di dalam ponsel. Configure emotion juga melibatkan dua hal yaitu id emotion dan nama emotion. Analyze Callee: Analyze Callee adalah spesifikasi sistem yang memungkinkan Caller mendapatkan gambaran secara grafis apa-apa saja yang dilakukan oleh Callee dalam empat context (location, emotion, howToCall, dan activity) selama ini. Tujuan dibuat Analisis Callee ini adalah untuk meningkatkan kualitas perkiraan dari Caller tentang apa yang akan dilakukan dan dialami oleh Callee di masa yang akan datang. Call Callee: Spesifikasi ini memungkinkan caller menghubungi Callee tanpa keluar dari aplikasi. Request Notification: Request notification adalah spesifikasi yang memungkinkan caller meminta notfikasi ke server apabila ternyata
35
SISFO-Jurnal Sistem Informasi Callee mengubah ke-availabilitas-annya. Notifikasi yang dikirimkan oleh server nantinya berupa pesan sms.
membuat user baru, melakukan penghapusan pada item-item context information, menambah item-item pada context information, dsb.
Send Sms Callee: Send sms Callee adalah spesifikasi yang memungkinkan caller mengirimkan pesan sms kepada Callee tanpa keluar dari aplikasi.
Sementara pada database server dibuat aplikasi PL/PGSQL yang berguna menjaga agar data yang diinputkan tetap konsisten. Misalnya karena ada fasilitas analisis maka setiap ada user baru yang didaftarkan, maka sistem akan menambahkan kepadanya masing-masing sebuah item context information dan mendaftarkannya ke dalam tabel history (activity, location, howtocall dan emotion) sebagai “kegiatan” pertama dari user tersebut. Aplikasi PL/PGSQL ini juga bertanggungjawab memasukkan data ke tabel pengiriman sms jika ada Caller yang meminta notifikasi availability jika ada Callee yang statusnya berubah.
7.
STRUKTUR SISTEM
Sistem Context Call ini dibangun dengan menggunakan bahasa pemrograman Java yang berjalan di dalam ponsel atau yang lebih dikenal dengan J2ME (Java 2 Microedition). Database yang digunakan adalah postgresql. Secara kerja sistem ditunjukkan menurut diagram sebagai berikut:
Pada SMS Gateway diinstall aplikasi yang memonitoring kegiatan dari tabel pengiriman sms dalam database server. Jika ada data yang memiliki status OK untuk dikirim, maka SMS Gateway akan mengirimkannya kepada Caller.
Gambar 2. Struktur Sistem
Sementara spesifikasi perangkat keras dan perangkat lunak didefinisikan sebagai berikut: Tabel 2. Spesifikasi Perangkat Keras dan Perangkat Lunak Nama Perangkat Spesifikasi Object Lunak Web Server TomcatPentium IV 2,8 Ghz 5.5.12 Memory DDR 512 Mb JDK 1.5 Harddisk 80 Gb Windows OS Database Postgresql Pentium IV 3 Ghz Server 8.1 Memory DDR 1 Ghz Harddisk 80 Gb Linux Operating System Sms RXTX Pentium IV 2,8 Ghz Gateway JDK1.4.2_0 Memory DDR 512 Mb 7 Harddisk 80 Gb Windows OS Ponsel Siemens M75 Telepon J2ME MIDP Siemens M75 Selular 2.0
Pada Web Server diinstall aplikasi yang bertindak sebagai pengatur utama sistem, penyedia proses bisnis. Semua proses bisnis dilakukan disini. Proses tersebut antara lain:
36
Pada telepon seluler, diinstall aplikasi yang memudahkan pengguna untuk berinteraksi dengan server. Misalnya menambah item context information, menghapus item tersebut, melihat status callee, dan mensinkronisasi context information pribadi agar sesuai dengan server. Aplikasi di dalam ponsel ini juga dilengkapi fasilitas pengiriman sms, memanggil callee, dan menganalisis context information dari Callee. Ketiga aktivitas ini dilakukan tanpa didahului sinkronisasi dengan server. Ketiganya murni dilakukan oleh ponsel. 8.
EVALUASI DAN UJICOBA
Mayoritas ujicoba disini dilakukan dengan menggunakan emulator dan server dalam satu PC, sehingga secara teoritis semua hal ini bisa diaplikasikan dalam dunia nyata. Penggunaan GPRS sebagai sarana komunikasi data, sebagaimana direncanakan di awal, mengalami kegagalan. Ini diduga karena saat paper ini ditulis bertepatan dengan implementasi teknologi 3G di Indonesia yang mengganggu kinerja masing-masing operator GPRS. Skenario: Soleh adalah seseorang yang berprofesi sebagai salesman produk IT. Soleh hendak melakukan penawaran produk kepada Pandu. Agar komunikasi berjalan lebih sopan, Soleh memutuskan untuk bergabung dengan aplikasi context call yang juga diikuti oleh Pandu. Maka yang dilakukan oleh Soleh pertama kali adalah men-download context information dari semua Callee terdaftar.
SISFO-Jurnal Sistem Informasi
Gambar 3. Sinkronisasi Callee Gambar 5. Meminta Notifikasi SMS
Setelah itu Soleh mendapatkan bahwa status Pandu sekarang adalah not available karena sedang ada meeting. Maka Soleh melakukan langkah kedua yaitu menganalisis context information yang pernah terjadi pada pandu.
Gambar 6. Mengirim SMS kepada Callee
Lama tidak ditanggapi Pandu, maka akhirnya Soleh segera menelepon Pandu, dan pembicaraan bisnis segera dimulai.
Gambar 7. Memanggil Callee Gambar 4. Menganalisis Context Information
Dari data diatas, dapat diambil kesimpulan sementara bahwa Pandu adalah orang yang suka berolah raga (dari grafik aktivitas) dan sering berada di Surabaya dan Jakarta. Pandu juga memiliki emosi yang tinggi (karena pada grafik item marah muncul). Sementara menunggu status not available Pandu berubah menjadi available, maka Pandu meminta dikirimi notifikasi via sms kepada server jika status Pandu berubah. Hal ini ditunjukkan pada gambar 5. Beberapa saat kemudian Soleh mendapatkan notifikasi via sms bahwa status Pandu telah berubah menjadi available, maka Soleh segera mengirimkan sms kepada Pandu agar diberi kesempatan untuk menawarkan produk. Pengiriman sms dilakukan tanpa keluar dari aplikasi. Hal ini ditunjukkan pada gambar 6.
9.
SIMPULAN
Simpulan • Aplikasi Context Call yang dikembangkan ini dapat melakukan pertukaran context information utamanya yang berkaitan dengan: lokasi, aktivitas, bagaimana bisa dihubungi, emosi dan availability. •
Aplikasi Context Call yang dikembangkan ini, dapat membantu melakukan analisis sederhana tentang perubahan context information dengan ditampilkannya grafik sederhana dari masing-masing context information, yaitu pada: lokasi, aktivitas, bagaimana bisa dihubungi dan emosi
Rencana Pengembangan ke depan • User waktu mengeset profilenya otomatis mengupdate ponselnya. Misalkan ketika dia bilang nggak bisa dihubungi, maka
37
SISFO-Jurnal Sistem Informasi teleponnnya betul-betul tidak bisa dihubungi. Ini bisa terjadi jika ponsel sudah mengimplementasikan MIDP 3.0 •
Ada mekanisme push weather jika ternyata ada perubahan cuaca di lokasi dia sekarang
•
Disambungkan dengan aplikasi berbasis GPS sehingga pertukaran informasi bisa lebih luas, misalkan: kondisi cuaca disekitar, Lalu lintas, dsb
•
Menambahkan mobile material yang lebih interaktif, semisal foto atau video dalam aplikasi
•
Penggunaan GPRS sebagai media transfer data bisa ditinjau ulang karena pesatnya teknologi berbasis 3G.
10. DAFTAR PUSTAKA Cheverst, K., Davies, N., Mitchell,L. Friday, A and Efsratiou, C. Developing a context-aware electronic tourist guide: some issues and experiences. Available at : http: // portal.acm.org/citation.cfm?id=332047&coll=po rtal&dl=ACM Dey, Ak, 2001. Understanding and using context. Available at : http: //www.cc.gatech.edu/fce/ctk/pubs/PeTe5-1.pdf Kaenampornpan, Manasawee, Bringing Context Awareness Together. Available at : http: //www.cs.bath.ac.uk/~cspmk/File /ManasaweePervasive04DocColCamera.pdf > Kolari Juha., Loakko Time., Hiltunen Tapio., Ikonen Veikko., Kulju Minna., Suihkonen Raise., Toivonen Santtu., 2003. Context Aware Service for Mobile Users Schmidt, A., Beigl, M., Gellersen, H.W., 1998. There is more to context than location. Available at : http://www.comp.lancs.ac.uk/~albrecht/pubs/pdf /schmidt_cug_elsevier_12-1999-context-ismore-than-location.pdf
38