BAB I PENDAHULUAN 1.1 LATAR BELAKANG Saat ini kebutuhan terhadap aplikasi berbasis web menjadi suatu kebutuhan utama bagi banyak organisasi untuk menunjang semua kegiatan bisnis yang ada di dalam organisasi tersebut. Terkadang suatu aplikasi membutuhkan ketersediaan informasi yang berasal dari pihak lain di luar organisasi tersebut, kemudian informasi tersebut nantinya akan digunakan sebagai data untuk di proses lebih lanjut melalui perangkat lunak tersebut. Selain itu juga terdapat suatu kebutuhan untuk bertukar informasi antar aplikasi di suatu organisasi tertentu dengan aplikasi di organisasi lainnya, yang kemungkinan besar berada pada sistem yang berbeda dengan platform yang berbeda pula. Oleh karena itulah dibutuhkan suatu teknologi yang memungkinkan terjadinya komunikasi lintas platform melalui web. Salah satu teknologi yang dapat digunakan adalah teknologi layanan berbasis web atau sering dikenal dengan istilah web service. Teknologi ini memungkinkan terjadinya komunikasi lintas platform. Layanan berbasis web digunakan sebagai suatu penyedia layanan dalam bentuk informasi terhadap aplikasi lainnya, sehingga antar aplikasi yang berbeda dapat berinteraksi dan berkomunikasi melalui fungsi-fungsi yang disediakan oleh suatu aplikasi penyedia layanan. Teknologi ini memudahkan beberapa aplikasi untuk saling berhubungan dengan aplikasi lain dalam sebuah organisasi maupun di luar organisasi dengan menggunakan standar yang tidak terikat platform apapun dan tidak terikat dengan masalah bahasa pemrograman apa yang digunakan oleh setiap aplikasi, sehingga aplikasi yang satu dapat mengakses sub-rutin pada aplikasi lain, seperti layaknya aplikasi tersebut sedang mengakses sub-rutin yang berada di sistem lokal. Komunikasi lintas platform membutuhkan suatu standar komunikasi yang berjalan pada suatu protokol tertentu. Standar komunikasi yang paling banyak digunakan saat ini antara lain adalah SOAP (Simple Object Application Protocol), 2 CORBA (Common Object Request Broker Architecture), DCOM (Distributed Common Object Model), dan RPC (Remote Procedure Call). RPC merupakan salah satu protokol sederhana yang dapat digunakan untuk membangun suatu layanan berbasis web. RPC memperbolehkan suatu aplikasi melakukan pemanggilan terhadap sub-rutin yang disediakan oleh aplikasi lainnya yang berada pada sistem yang berbeda. RPC menggunakan format pertukaran data tertentu seperti XML atau JSON sebagai penghubung komunikasi antar sistem. XML merupakan format data yang paling sering digunakan dalam RPC, namun seiring perkembangan teknologi, muncul format data baru yang lebih baik dari XML yaitu JSON, yang mempunyai karakteristik antara lain adalah ukurannya yang ringan, mudah di baca oleh manusia, dan juga menghasilkan ukuran byte yang kecil pada datanya. Karakteristik ini sangat berguna pada masalah kecepatan pemrosesan data melalui web. Protokol RPC dengan format JSON sebagai format pertukaran datanya disebut dengan JSON-RPC. Pada tugas akhir ini penulis akan melakukan implementasi pembuatan layanan berbasis web dengan JSON-RPC menggunakan platform PHP untuk aplikasi client dan platform Java untuk aplikasi server penyedia layanan. 1.2 PERUMUSAN MASALAH Dari latar belakang yang telah diuraikan di atas, maka dapat dirumuskan permasalahan antara lain sebagai berikut : 1. Bagaimana memahami arsitektur JSON-RPC dan memahami alur komunikasi antara aplikasi client dan aplikasi server secara global 2. Bagaimana melakukan implementasi komunikasi layanan berbasis web dengan JSON-RPC antara aplikasi client pada platform PHP dan aplikasi server pada platform Java 3. Bagaimana melakukan pengujian komunikasi data pada layanan berbasis web dengan JSON-RPC 1.3 BATASAN MASALAH Batasan masalah pada penelitian ini adalah sebagai berikut : 3 1. Platform yang digunakan pada aplikasi server penyedia layanan berbasis web adalah Java, dengan Apache Tomcat sebagai servlet/JSP container. 2. Menggunakan platform PHP/Javascript disisi aplikasi client, dengan teknik pengaksesan sub-rutin yang ada di server penyedia layanan web menggunakan teknologi AJAX di bahasa pemrograman JavaScript. 3. Menggunakan JSON sebagai format pertukaran data antar aplikasi client dan server 4. Menggunakan protokol HTTP sebagai protokol untuk melakukan komunikasi antara aplikasi client dan server 5. Protokol JSON-RPC yang akan digunakan dalam penelitian ini yaitu JSON-RPC 2.0 6. Data yang digunakan dalam pengujian adalah data buatan yang di simpan dalam sebuah file bertipe .xls 1.4 TUJUAN PENELITIAN Tujuan yang ingin dicapai penulis melalui penelitian ini adalah untuk melakukan implementasi layanan berbasis web dengan teknologi JSON-RPC menggunakan platform Java pada aplikasi server dan platform PHP pada aplikasi client, serta dapat memberikan salah satu alternatif untuk melakukan komunikasi lintas platform antara dua buah sistem berbeda yang saling berdiri sendiri. 1.5 METODELOGI PENELITIAN Metode yang akan digunakan dalam penelitian ini adalah sebagai berikut : 1. Metode pengumpulan data dengan studi literatur Pengumpulan data dilakukan dengan cara mempelajari literatur-literatur yang ada (melalui buku referensi, internet, dll) tentang pembuatan layanan berbasis web menggunakan JSON-RPC, format pertukaran data dengan JSON, konsep RPC, serta mempelajari cara implementasi aplikasi server dengan platfom Java dan implementasi di aplikasi client dengan platform PHP. Informasi tersebut akan digunakan sebagai landasan teori dalam penelitian ini. 4 2. Metode analisis dan perancangan a. Menganalisa cara kerja protokol JSON-RPC 2.0 dalam pembuatan layanan berbasis web, untuk mengetahui bagaimana terjadinya komunikasi lintas platform, serta menganalisa format pertukaran data yang terjadi b. Merancang aplikasi client berbasis PHP dan server berbasis Java 3. Studi kasus implementasi layanan berbasis web dengan JSON-RPC Membuat suatu contoh implementasi penggunaan layanan berbasis web dengan JSON-RPC, dengan contoh kasus misalnya, terdapat sebuah website hiburan bernama ”www.hiburankita.com” yang akan menampilkan informasi mengenai jadwal bioskop yang tayang, serta jajak pendapat terhadap pengguna web untuk jenis film yang paling disukai masyarakat. Data informasi filmnya sendiri diperoleh dari sistem lain misalnya sebuah perusahaan bioskop bernama ”Theater21”, yang mempunyai sebuah server yang menyediakan sebuah aplikasi penyedia layanan berbasis web dengan sub-rutin yang dapat dipanggil dan di gunakan oleh client, dalam hal ini yang bertindak sebagai client misalnya ”www.hiburankita.com”. Implementasi yang akan dilakukan pada penelitian ini adalah implementasi untuk aplikasi server dan client. 4. Pengambilan Kesimpulan Pengambilan kesimpulan dilakukan dengan mempertimbangkan hasil analisa, dan menyimpulkan apa saja keuntungan dan kerugian pembuatan layanan berbasis web dengan JSON-RPC ini. 1.6 SISTEMATIKA PENULISAN Penyusunan dalam penelitian ini secara keseluruhan disajikan dalam lima bab yang masing-masing mempunyai urutan-urutan tertentu dalam bentuk satu pengertian yang utuh. Penyajiannya dilaksanakan dengan urutan sebagai berikut : BAB I PENDAHULUAN Bab ini membahas tentang latar belakang masalah terkait dengan judul penelitian, perumusan masalah, batasan masalah, tujuan penelitian, metodelogi penelitian, serta sistematika penulisan. 5 BAB II LANDASAN TEORI Bab ini membahas tentang teori-teori penunjang yang diperlukan dalam penelitian ini, seperti misalnya teori dasar tentang layanan berbasis web, format pertukaran data JSON, konsep dasar JSON-RPC, serta teori bahasa pemrograman Java, PHP dan JavaScript BAB III PERANCANGAN SISTEM Bab ini membahas tentang perancangan layanan berbasis web dengan JSON-RPC secara global, serta perancangan untuk aplikasi client menggunakan platform PHP dan perancangan aplikasi server menggunakan platform Java. Bab ini juga membahas tentang perancangan alur komunikasi data antara aplikasi client dan aplikasi server BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi hasil perancangan sistem pada aplikasi client dengan platform PHP dan aplikasi server pada platform Java, seperti yang di jelaskan pada bab perancangan sistem di BAB III. Bab ini juga menjelaskan tentang pengujian terhadap aplikasi client dan aplikasi server BAB V PENUTUP Bab ini berisi kesimpulan dan saran berkenaan dengan penelitian yang telah dilakukan. Pada bab ini penulis akan menguraikan kesimpulan yang dapat diperoleh dari hasil penelitian yang telah dilakukan, antara lain adalah kelebihan dari teknologi layanan berbasis web dengan JSON-RPC. Berdasarkan kesimpulan tersebut, penulis akan mencoba memberikan saran-saran untuk perbaikan dan pengembangan aplikasi selanjutnya