7 BAB 2 LANDASAN TEORI 2.1. General Packet Radio Service (GPRS) 2.1.1 Definisi GPRS GPRS merupakan kependekan dari General Packet Radio Service. GPRS adalah servis non-voice (bukan suara) yang memungkinkan informasi dikirimkan dan diterima melalui jaringan telepon genggam. Servis ini melengkapi teknologi yang sudah ada sekarang, yaitu Circuit Switched Data dan Short Message Service (SMS) (Buckingham, 2000). GPRS yang termasuk dalam kelas 2.5 G adalah standar komunikasi data di jaringan GSM yang kecepatan transfernya mencapai 115 kbps. Dengan adanya GPRS ini jaringan GSM bisa memisah paket data kecepatan tinggi dengan suara. Dengan adanya GPRS ini pengguna bisa terus terkoneksi ke internet. Pengguna tidak perlu dial-up terus-menerus ketika akan melakukan koneksi ke internet. Tagihan internet tidak berdasarkan lama waktu penggunaan internet namun berdasar banyaknya data yang dikirim atau diterima (Lintaka, 2004). Sebelum ada pengembangan transmisi data lewat GPRS, transmisi data GSM sangat lambat, hal ini dikarenakan kanal radionya yang bersifat tunggal dan berkecepatan rendah, dan diperuntukkan khusus bagi setiap pengguna data selama durasi komunikasi (dedicated). Komunikasi yang bersifat dedicated ini 8 menyebabkan operator harus menyediakan sambungan yang banyak agar semua pemakai bisa melakukan komunikasi data. Hal ini membuat biaya perawatan dan penambahan sambungan bagi operator semakin mahal (Lintaka, 2004). GPRS menggunakan teknologi packet switching yang memungkinkan semua pengguna dalam sebuah sel dapat berbagi sumber-sumber yang sama; dengan kata lain para pelanggan menggunakan spektrum radio hanya ketika benarbenar mentransmisikan data. Efisiensi penggunaan spektrum pada akhirnya berarti kinerja yang lebih baik dan biaya yang lebih rendah. GPRS dapat menawarkan laju data sampai 115 kbps atau lebih (Lintaka, 2004). GPRS disebut teknologi 2.5 G karena merupakan langkah awal menuju teknologi transfer data kecepatan tinggi lewat jaringan nirkabel (3G). Sehingga sering disebut-sebut sebagai kunci teknologi untuk data bergerak. Secara rinci ada beberapa faktor yang menjadi pertimbangan bahwa GPRS merupakan teknologi kunci untuk data bergerak, yakni (Lintaka, 2004): a. mampu memanfaatkan kemampuan cakupan global yang dimiliki GSM (2G) b. memperkaya utilitas investasi untuk perangkat GSM yang sudah ada c. merupakan teknologi penghubung yang bagus menuju generasi ke 3 d. berbasis paket data yang lebih efisien dalam penggunaan sumber daya e. memiliki laju data sampai 115 kbps yang berarti dua kali lipat daripada koneksi dial up 56 kbps yang berlaku Dengan adanya GPRS ini, operator GSM dapat menambah layanan bagi para pengguna. Pengguna tidak hanya bisa melakukan komunikasi suara namun 9 juga bisa melakukan komunikasi data. Beberapa layanan yang berkembang dengan adanya jaringan GPRS ini antara lain (Lintaka, 2004): a. MMS (Multimedia Messaging System) Dengan MMS ini pengguna bisa mengirimkan pesan dalam bentuk multimedia (suara, klip video, gambar). b. Traffic Monitoring Dengan layanan ini pengguna bisa melihat keadaan lalu lintas di suatu tempat seacara real time, dengan maksud agar mengetahui daerah mana yang macet dan daerah mana yang lalu lintasnya sepi c. VOIP (Voice Over IP) Layanan ini biasanya digunakan antar pengguna PDA. Pemakai PDA pertama harus meng-install suatu program terlebih dahulu baru dapat menggunakan VOIP. Teknologi ini akan efektif bila tarif GPRS dihitung secara flat, sehingga walaupun banyak data yang ditransfer namun harga yang dibayarkan tetap sama. Teknik dalam transmisi data GSM yang dimiliki oleh GPRS adalah mengirim dan menerima data dalam paket – paket. Hal ini membuat penggunaan spektrum radio yang tersedia akan sangat efisien. Sistem GPRS mempunyai kecepatan lebih besar yaitu 115 kilobits per detik dibandingkan dengan GSM yang hanya 9,6 kilobits per detik. GPRS yang mendukung jangkauan bandwidth yang luas, adalah merupakan cara yang efisien untuk penggunaan bandwidth yang terbatas, dan sangat cocok untuk mengirim dan menerima kepingan data yang kecil seperti e-mail atau web, atau data – data berkapasitas besar (Buckingham, 2004). 10 GPRS merupakan perkembangan dari sistem mobile data pada GSM yang menggunakan banyak slot pada saluran radio untuk mendapatkan kecepatan transmisi yang tinggi. (Buckingham, 2000). GPRS memiliki beberapa fitur-fitur yang unik, yaitu (Buckingham, 2000): 1. Kecepatan (Speed) Secara teori, kecepatan maksimum yang dapat dicapai dengan menggunakan GPRS adalah 171,2 kilobit per detik, jika kedelapan timeslot dipakai pada waktu yang bersamaan untuk 1 user. Ini berarti 3 kali lebih cepat dibandingkan kecepatan transmisi data yang mungkin dilakukan pada jaringan telekomunikasi saat ini dan 10 kali lebih cepat dibandingkan kecepatan Circuit Switched Data Services pada jaringan GSM saat ini. Dengan mengizinkan informasi ditransmit lebih cepat, dengan sesegera mungkin, dan lebih efisien melalui jaringan mobile, GPRS memakan biaya mobile data service yang relatif lebih murah dibandingkan SMS dan Circuit Switched Data. Kita dapat melihat perbandingan kecepatan data pada berbagai jenis koneksi pada tabel berikut: Tabel 2.1. Perbandingan kecepatan data pada berbagai jenis koneksi (Buckingham, 2000) Jenis GPRS Uplink (Pengiriman) Downlink (Penerimaan) 14 kbps 28-64 kbps 9.6-14 kbps 9.6-14 kbps HSCSD 28 kbps 28 kbps Dial-UP 56 kbps 56 kbps ISDN Standard 64 kbps 64 kbps 256 kbps 512 kbps 2 Mbps 2 Mbps GSM CSD ADSL Broadband 11 2. Kesegeraan (Immediacy) GPRS memfasilitasi koneksi yang instant dimana informasi dapat dikirim atau diterima dengan segera, dimana hal ini sangat mendukung, seiring dengan berkembangnya kebutuhan akan jangkauan radio. GPRS Tidak memerlukan koneksi dial-up modem. Karena inilah mengapa pengguna GPRS seringkali disebut-sebut akan “selalu terhubung”. Penggunaan yang praktis merupakan keunggulan dari GPRS, dibandingkan dengan Circuit Switched Data. Immediacy yang tinggi merupakan fitur yang sangat penting untuk aplikasi yang membutuhkan kecepatan yang tinggi, contohnya pada otorisasi credit card secara remote, dimana membiarkan customer menunggu lebih lama hanya 30 detik saja, adalah sesuatu hal yang tidak bisa diterima. 3. Aplikasi Baru, dan Aplikasi yang Lebih Baik GPRS memfasilitasi beberapa aplikasi-aplikasi baru yang sebelumnya belum tersedia pada jaringan GSM, dikarenakan terbatasnya kecepatan pada Circuit Switched Data (9,6 kbps), dan kapasitas message pada Short Message Service (SMS). GPRS akan secara penuh memungkinkan aplikasi internet yang kita gunakan, mulai dari web browsing sampai pada melakukan chat melalui jaringan mobile. 4. Akses Layanan Untuk menggunakan GPRS, user secara spesifik membutuhkan : a. Mobile phone (telepon genggam) atau suatu terminal yang mendukung GPRS b. Berlangganan ke provider telepon seluler yang sudah mendukung GPRS 12 c. Pengetahuan tentang bagaimana cara untuk mengirim atau menerima informasi dari GPRS dengan menggunakan model yang spesifik dari sebuah telepon mobile, termasuk konfigurasi software dan hardware. d. Sebuah tujuan untuk mengirim atau menerima informasi melalui GPRS. Jika pada SMS, tujuannya seringkali adalah telepon seluler yang lain, maka pada GPRS tujuannya adalah sebuah internet address, karena pada dasarnya GPRS didesain untuk membuat internet dapat diakses oleh pengguna perangkat mobile. Dari awalnya, pengguna GPRS dapat mengakses web page atau aplikasi internet manapun. 2.1.2. Kunci Utama dalam Jaringan Komunikasi dalam GPRS 2.1.2.1 Packet Switching GPRS melibatkan proses dalam menghamparkan sebuah packet based air interface pada circuit switched jaringan GSM yang sudah ada. Ini memberikan pengguna pilihan untuk menggunakan servis data berbasis paket. Untuk melengkapi sebuah arsitektur jaringan circuit switched dengan packet switching, adalah sebuah perkembangan yang cukup besar. Bagaimanapun juga, standar GPRS dibuat dengan rapi, dengan operator jaringan yang hanya perlu menambahkan beberapa node-node infrastruktur baru dan membuat software upgrade untuk beberapa elemen jaringan yang telah ada. Dengan GPRS, informasi dipecah menjadi paket yang terpisah, tetapi berhubungan, sebelum ditransmisi dan digabungkan kembali pada sisi penerima. Packet switching mirip dengan puzzle gambar, dimana gambar dipecah-pecah 13 menjadi bagian-bagian kecil yang kemudian dibungkus dalam bungkus plastik. Selama pendistribusian bungkus plastik yang berisi puzzle gambar tersebut, dari pabrik ke pembeli, potongan-potongan gambar tersebut masih berantakan. Ketika pembeli mengeluarkan semua puzzle-nya dari bungkus plastik, semua puzzle disusun kembali menjadi gambar semula. Semua potongan-potongan berhubungan, tetapi cara mereka didistribusikan atau digabungkan ulang dapat bermacam-macam. Internet sendiri merupakan contoh lain dari jaringan paket data, merupakan yang paling populer diantara tipe jaringan yang lain (Buckingham, 2000). 2.1.2.2. Efisisensi Spektrum Packet switching berarti bahwa sumber daya radio GPRS digunakan hanya jika pengguna sedang mengirim atau menerima data. Dibandingkan dengan membuka sebuah saluran radio pada sebuah mobile data user untuk suatu periode waktu tertentu, sumber daya radio yang tersedia dapat secara bersamaan di-share diantara beberapa user. Penggunaan sumber daya radio yang langka secara efisien berarti bahwa sejumlah besar pengguna GPRS dapat secara potensial membagi bandwidth yang sama dan dilayani dari satu cell. Jumlah user yang disupport tergantung kepada aplikasi yang sedang digunakan dan seberapa besar data yang sedang ditransfer. Karena efisiensi spectrum dari GPRS, maka lebih kecil kepentingan untuk membangun kapasitas idle yang hanya digunakan pada waktu-waktu puncak (sedang sibuk). Oleh karena itu, GPRS membiarkan operator jaringan memaksimalkan penggunaan sumber daya jaringan mereka dengan cara yang 14 dinamis dan fleksibel, bersamaan juga dengan akses user ke resource yang ada (Buckingham, 2000). GPRS harus meningkatkan kapasitas waktu puncak pada jaringan GSM ketika (Buckingham, 2000): a. GPRS secara bersamaan mengalokasikan sumber daya radio yang langka secara lebih efisien dengan mendukung konektivitas virtual. b. Ketika memindahkan traffic dari yang sebelumnya dikirim dengan menggunakan circuit switched data ke GPRS c. memperkecil SMS center dan signaling channel loading dengan memindahkan beberapa traffic yang sebelumnya dikirim dengan menggunakan SMS menjadi GPRS. 2.1.2.3. Berbasis Internet Untuk pertama kalinya, GPRS memungkinkan fungsionalitas internet dengan mengizinkan internetworking antara internet yang sudah ada dan network GPRS yang baru. Semua layanan yang digunakan melalui internet, seperti : File Transfer Protocol (FTP), Web Browsing, chatting, e-mail, telnet, akan tersedia di jaringan mobile karena adanya GPRS. Kenyataannya, banyak operator jaringan yang mempertimbangkan peluang untuk menggunakan GPRS yang sangat membantu dalam tahap menuju Wireless Internet Service Provider. World Wide Web telah menjadi antar muka komunikasi primer. Seseorang mengakses internet untuk hiburan, dan pengumpulan informasi, intranet untuk mengakses informasi perusahaan dan menghubungkan diri dengan kolega, dan 15 extranet untuk mengakses pelanggan dan supplier. Semua ini adalah fasilitas pada World Wide Web yang menargetkan pada menghubungkan ketertarikan dari banyak komunitas. Ada sebuah tren diluar dari menyimpan informasi secara lokal pada paket software yang spesifik pada PC secara remote pada internet. Ketika Anda ingin memeriksa jadwal atau kontak Anda, kita menjelajah situs internet seperti portal. Web browsing adalah aplikasi yang sangat penting untuk GPRS. Karena menggunakan protokol yang sama, jaringan GPRS dapat dilihat sebagai sebuah sub-network atau bagian jaringan dari internet, dengan kemampuan GPRS, telepon seluler dilihat sebagai mobile host. Ini berarti, bahwa setiap terminal GPRS potensial memiliki alamat IP sendiri dan juga dialamatkan (Buckingham, 2000). 2.1.2.4. Mendukung TDMA dan GSM Perlu digaris bawahi, bahwa GPRS bukan hanya merupakan sebuah servis (layanan) yang dirancang untuk diimplementasikan pada jaringan mobile yang berbasis standar GSM digital mobile phone. Standar TDMA (Time Division Multiple Access) IS-136, yang populer di Amerika Selatan, juga mendukung GPRS. Ini sesuai dengan persetujuan untuk mengikuti jalur evolusi yang tepat menuju generasi ketiga jaringan mobile (Buckingham, 2000). 16 2.1.3. Arsitektur GPRS 2.1.3.1. Arsitektur Umum Gambar berikut adalah arsitektur jaringan GPRS secara umum (Lintaka, 2004). Gambar 2.1. Arsitektur Umum Jaringan GPRS Pada gambar di atas terlihat bahwa jaringan GPRS merupakan bagian dari jaringan GSM (beberapa bagian dalam jaringan GPRS dipakai untuk komunikasi suara). Berikut penjelasan bagian-bagian gambar tersebut (Lintaka, 2004): a. MS – Mobile Station MS dapat dikatakan perangkat selular yang terhubung langsung dengan jaringan GSM, yaitu SIM (Subscriber Identify Module) Card dan perangkat 17 keras seperti telepon selular, PDA, perangkat komputer yang terhubung menggunakan jaringan GPRS. MS dapat juga lebih mengarah kepada komputer yang terhubung ke jaringan GPRS dengan menggunakan GPRS modem (telepon selular). b. BSS – Base Station System BSS terdiri dari BTS (Base Transceiver Station) dan BSC (Base Station Controller). Di BSS sinyal radio dari BSS akan diterima oleh BTS dan selanjutnya diteruskan ke BSC. BSC menangani sinyal yang dikirimkan oleh beberapa BTS. c. HLR – Home Location Register HLR adalah database yang menyimpan data pengguna jaringan GPRS. Informasi yang disimpan dalam HLR misalnya APN (Access Point Name). d. VLR – Visitor Location Register VLR adalah database yang berisi informasi semua MS yang sedang terhubung dengan GPRS. e. SGSN – Serving GPRS Support Node SGSN adalah komponen utama jaringan GPRS. SGSN akan meneruskan paket data dari atau ke MS. f. GGSN – Gateway GPRS Support GGSN juga merupakan komponen utama jaringan GPRS. GGSN mengubah paket data GSM dari SGSN menjadi paket TCP/IP. GGSN dan SGSN digunakan sebagai penghitung pembayaran pemakaian internet. g. EIR – Equiptment Identity Register 18 EIR adalah database yang berisi data tentang perangkat bergerak. Dalam EIR bisa berisi data-data IMEI dari telepon selular yang diperbolehkan/tidak diperbolehkan memakai GPRS. h. AuC – Authentication Center AuC adalah database yang berisi informasi pengguna yang diperbolehkan memakai jaringan GPRS. AuC merupakan bagian dari HLR. i. GPRS backbone networks GPRS backbone network adalah intranet dari jaringan GPRS. GPRS backbone networks adalah IP based. 2.1.3.2. Aristektur Jaringan GPRS Backbone Bagian yang paling penting dari jaringan GPRS adalah SGSN dan GGSN. Walaupun dua bagian ini secara fisik bisa dijadikan dalam satu server, namun untuk menjaga keamanan dan kehandalan, biasanya oleh pihak operator didistribusikan dalam jaringan GPRS backbone. Dengan distribusi ini, usaha untuk mengimplementasikan server-server akan lebih fleksibel. Arsitektur bisa dirancang sedemikian rupa, dan disesuaikan dengan keadaan di masa depan, misalnya jika ada penambahan server baru, tidak akan merubah keseluruhan sistem. Di bawah ini adalah gambar dari GPRS backbone dimana pada gambar sebelumnya hanya digambarkan dalam 1 blok saja (Lintaka, 2004). 19 Gambar 2.2. Arsitektur Jaringan GPRS Backbone Berikut adalah penjelasan dari masing-masing blok (Lintaka, 2004): a. CG - Charging Gateway. Charging Gateway bertugas menghitung informasi banyaknya paket data yang lewat dan kemudian mentotal biaya pemakaian data. Total data ini dikirim ke sistem billing. Di sistem billing akan dihitung biaya pemakaian GPRS pengguna. b. BG - Border Gateway. Border Gateway menghubungkan jaringan GPRS antar operator sehingga komunikasi data antar operator berbeda bisa dilakukan. BG ini secara teori adalah bagian yang paling aman dan paling efisien, hal ini berguna agar transfer data antar jaringan operator yang berbeda terjadi secara cepat dan aman. c. DNS - Domain Name Sever 20 Server yang menyediakan layanan merubah logical name ke alamat IP atau sebaliknya. DNS selain mengubah alamat IP untuk jaringan internet, juga mengubah alamat IP untuk jaringan lokal GPRS sendiri. Untuk jaringan lokal biasanya digunakan mengubah alamat APN ke alamat IP. d. LIG - Lawful Interception Gateway Bagian ini berguna untuk menyimpan data traffic spesifik untuk tiap-tiap pengguna. LIG berisi informasi (log) traffic data yang ditransfer oleh pengguna. Hal ini berguna bila ada masalah keamanan (kejahatan internet) yang dilakukan melalui jaringan GPRS. Pihak operator bekerjasama dengan pihak berwajib bisa menganilisis log tersebut dan menentukan pengguna mana yang melakukan kejahatan lewat jaringan GPRS. e. IP routers dan switch Digunakan untuk menghubungkan segmen yang berbeda dari jaringan GPRS network. Digunakan untuk level aplikasi seperti SNMP, HTTP, Telnet. f. Firewall and Network Management Stations (FNMS & NMS) Firewall digunakan untuk mencegah jaringan GPRS dari serangan dari luar. 2.2. CDMA (Code Division Multiple Access) Code Division Multiple Access atau CDMA adalah sebuah metode multiple access yang membagi jalurnya berdasarkan waktu (seperti pada TDMA), atau frekuensi (seperti pada FDMA), tetapi dengan meng-encode data dengan kode- 21 kode tertentu yang dihubungkan dengan sebuah jalur dan menggunakan properti interferensi konstruktif dari medium sinyal untuk menjalankan multiplexing. CDMA juga mengacu pada sistem telepon seluler digital yang membuat kegunaan dari skema multiple access ini, seperti yang sudah dipelopori oleh Qualcomm, atau W-CDMA (Anonim, 2006). Gambar 2.3. Skema Multiple Access (http://www.umtsworld.com/technology/cdmabasics.htm) 2.2.1. Kode CDMA CDMA menggunakan penyebaran kode yang unik untuk menyebarkan data baseband sebelum transmisi. Sinyal ditransmisikan melalui sebuah jalur (channel) yang berada di bawah noise level. Penerimanya kemudian menggunakan korelator untuk mengumpulkan sinyal yang diinginkan, yang melalui sebuah filter bandpass. 22 Sinyal yang tidak diinginkan tidak akan dikumpulkan dan tidak akan melewati filter. Kode mengambil bentuk rancangan sequence nol/satu yang dihasilkan pada tingkat yang lebih tinggi dibandingkan yang ada pada data baseband. Tingkat spreading code dikatakan sebagai chip rate, bukan sebgai bit rate. Gambar 2.4. Penyebaran CDMA (http://www.umtsworld.com/technology/cdmabasics.htm) 23 2.2.2. Transmisi dan Penerimaan Data Pada CDMA, proses transmisi data adalah sebagai berikut (Hendry): a. Modulasi data b. Menggabungkan dan menambahkan beberapa channel Sedangkan pada proses penerimaan data, terjadi proses sebagai berikut (Hendry): a. Demodulasi b. Akuisisi dan penguncian kode c. Korelasi kode dengan sinyal d. Decoding data 2.3. Protokol HTTP HTTP (Hyper Text Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan pada berbagai macam tipe dokumen. HTTP adalah sebuah protokol meminta/menjawab antara client dan server. Sebuh client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu pada host yang jauh (biasanya port 80). Sebuah server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan (request), seperti "GET / HTTP/1.1" (yang akan meminta halaman yang sudah ditentukan), diikuti dengan pesan MIME yang memiliki beberapa informasi kode header yang menjelaskan aspek dari 24 permintaan tersebut, diikut dengan badan dari data tertentu. Beberapa kepala (header) juga bebas ditulis atau tidak, sementara lainnya (seperti host) diperlukan oleh protokol HTTP/1,1. Begitu menerima kode permintaan (dan pesan, bila ada), server mengirim kembali kode jawaban, seperti "200 OK", dan sebuah pesan yang diminta, atau sebuah pesan error atau pesan lainnya (Anonim, 2005). 2.3.1. Request Method HTTP mendefinisikan 8 (delapan) metode yang mengindikasikan aksi yang diinginkan untuk dijalankan pada resource yang teridentifikasi, yaitu : a. GET – Meminta sebuah representasi dari resource yang spesifik. Sejauh ini adalah method yang paling sering digunakan pada web sekarang ini. b. HEAD – Meminta respon identik ke sesuatu yang menanggapi permintaan GET, tetapi tanpa response body. Ini berguna untuk menerima metainformation yang ditulis pada header response, tanpa harus memindahkan keseluruhan content. c. POST – Mensubmit data (misalnya dari form HTML) ke resource yang teridentifikasi. Data tersebut dimasukkan ke dalam body dari request. d. PUT – Meng-upload representasi dari resource yang spesifik e. DELETE – Menghapus resource yang spesifik (jarang diimplementasikan) f. TRACE – Memantulkan kembali request yang diterima, sehingga client dapat melihat apa yang sedang ditambahkan atau diubah pada request oleh server. 25 g. OPTIONS – Mengembalikan method HTTP yang didukung oleh server. Ini dapat digunakan untuk memeriksa fungsionalitas dari sebuah server web. h. CONNECT – Untuk penggunaan dengan proxy yang dapat berubah menjadi SSL tunnel Method GET dan HEAD didefinisikan aman, contohnya digunakan hanya untuk penerimaan informasi. Method yang tidak aman (seperti POST, PUT, dan DELETE) harus ditampilkan ke user dengan cara khusus (contohnya dengan menggunakan button dibandingkan link), membuat user peka dengan kemungkinan efek samping dari aksi mereka (contohnya transaksi keuangan). Method GET, HEAD, PUT, dan DELETE didefinisikan sebagai idempotent, yang artinya request yang banyak dan identik mempunyai efek yang sama dengan request tunggal. Begitu juga dengan method OPTIONS dan TRACE tidak mempunyai efek samping. Server HTTP seharusnya dapat mengimplementasikan minimal untuk metode GET dan HEAD, dan jika memungkinkan, juga method OPTIONS (Anonim, 2005). 2.4. Arsitektur Client Server 2.4.1. Pendahuluan Istilah client/server pertama kali digunakan pada tahun 1980-an sebagai referensi pada PC (Personal Computer) pada sebuah network. Model client/server 26 yang sebenarnya, mulai diterima dan diterapkan pada akhir tahun 80-an. Aristektur piranti lunak client/server bersifat versatile, message-based dan infrastruktur modular yang dimaksudkan untuk meningkatkan kegunaan (usability), fleksibilitas, interoperabilitas, dan skalabilitas dibandingkan dengan sistem tersentralisasi (centralized), mainframe, atau time sharing computing (Sadoski, 1997). Client adalah sisi yang me-request servis dan server adalah sisi yang menyediakan servis. Sebuah komputer bisa menjadi client maupun server, tergantung dari konfigurasi software-nya (Sadoski, 1997). Gambar 2.5. Model Client Server (www.eecs.utoledo.edu) 2.4.2. Keunggulan Arsitektur Client Server Keunggulan dari arsitektur client-server dapat kita tinjau dengan melihat asal muasal mengapa arsitektur client-server merupakan pengembangan dari arsitektur-arsitektur software sebelumnya (Sadoski, 1997). 27 2.4.2.1. Arsitektur Mainframe Dengan arsitektur mainframe, semua pengetahuan berada pada host komputer pusat. User berinteraksi dengan host pusat tersebut melalui sebuah terminal yang menangkap penekanan tombol dan mengirimkan informasi tersebut ke host pusat. Arsitektur mainframe tidak terhubung pada sebuah perangkat keras. Interaksi user dapat dilakukan dengan menggunakan workstation PC atau UNIX. Keterbatasan dari arsitektur mainframe adalah bahwa arsitektur ini tidak mendukung GUI (Graphical User Interface) atau akses ke database yang banyak dan secara geografis situsnya terpisah. Pada beberapa tahun terakhir, mainframe telah menemukan kegunaan barunya yaitu sebagai server pada arsitektur client server yang terdistribusi (Sadoski, 1997). 28 Gambar 2.6. Arsitektur Mainframe (http://srmwww.gov.bc.ca) 2.4.2.2. Arsitektur File Sharing Jaringan komputer yang asli didasarkan pada arsitektur file sharing, dimana server mendownload file dari lokasi yang di share ke desktop. Task yang di-request oleh user kemudian berjalan di desktop. Arsitektur file sharing bekerja jika penggunaan share rendah, frekuensi update rendah, dan kapasitas data yang ditransfer rendah. Pada tahun 90-an, LAN (Local Area Network) computing berubah karena kapasitas dari file sharing dibatasi oleh jumlah dari online user yang meningkat, dan GUI menjadi semakin popouler. PC sekarang populer menggunakan arsitektur client server (Sadoski, 1997). 29 Gambar 2.7. Arsitektur File Sharing 2.4.2.3. Arsitektur Client Server Karena adanya batasan pada arsitektur file sharing, arsitektur client server mulai muncul. Pendekatan ini memperkenalkan database server sebagai pengganti dari file server. Dengan menggunakan DBMS (Database Management System) relasional, query dari user dapat ditampilkan secara langsung. Arsitektur client server menurunkan traffic jaringan dengan menyediakan respon query dibandingkan dengan transfer file total. Ini meningkatkan multi-user updating melalui GUI front end menuju ke database yang dishare. Pada arsitektur client server, statement Remote Procedure Calls (RPCs) atau Standard Query Language (SQL) biasanya digunakan untuk mengkomunikasikan antara client dan server. Arsitektur client server dimaksudkan untuk menyediakan arsitektur yang bisa diukur, untuk setiap komputer atau proses dalam jaringan, baik itu adalah sebuah client atau server. Piranti lunak pada server secara umum, berjalan pada 30 komputer yang powerful, yang ditujukan untuk penggunaan khusus untuk menjalankan aplikasi bisnis. Piranti lunak client di lain hal, pada umumnya berjalan pada PC atau workstation biasa. Client mendapatkan semua atau sebagian besar dari informasi dan mengandalkan pada aplikasi server untuk hal-hal seperti konfigurasi file, stock quote, program aplikasi bisnis, atau untuk memindahkan task load yang intensif dari sebuah PC kembali ke server, dengan tujuan untuk menjaga komputer client dan user-ya agar bebas untuk menjalankan task-task yang lain (Sadoski, 1997). Gambar 2.8. Arsitektur Client Server (www.cisco.com) 2.4.3. Properti Client Server Properti dari sebuah server adalah (Anonim, 2006): a. Passive (Slave) 31 b. Menunggu request (waiting) c. Merespon client dengan melayani client dan mengirim reply ke client untuk apa yang mereka minta Properti dari sebuah client adalah (Anonim, 2006) : a. Active (Master) b. Mengirim request c. Menunggu sampai reply datang Server dapat mempunyai status atau tidak mempunyai status sama sekali. Server yang tidak mempunyai status tidak menyimpan informasi apapun diantara request yang ada. Sebagai contoh : sebuah server HTTP untuk halaman HTML yang statik, Server yang mempunyai status dapat mengingat informasi antara request yang ada. Ruang lingkup informasi ini adalah global atau session. Contoh : Apache Tomcat. Jenis lain dari arstiektur jaringan yang lain dikenal sebagai arsitektur peerto-peer karena setiap node atau instance dari program yang dijalankan adalah keduanya bisa menjadi client dan sekaligus juga menjadi server, dan setiap komponen mempunyai tanggung jawab yang ekuivalen. Kedua arsitektur, client server dan peer-to-peer digunakan secara luas. Setiap arsitektur mempunyai keunggulan dan kelemahan (Anonim, 2006). 32 2.4.4. Architecture n-Tier Arsitektur client server mempunyai tingkatan-tingkatan. Tingkatantingkatan ini (tier) menentukan bagaimana arsitektur ini akan diterapkan dan apa saja yang diperlukan untuk memenuhi arsitektur client server ini (Sadoski, 1997). 2.4.4.1. Two Tier Architectures Dengan two tier arsitektur client server, system interface user biasanya terletak di desktop environment user dan database management service biasanya terletak pada server yang adalah sebuah komputer yang powerful untuk dapat melayani request dari banyak client. Processing mnagement dibagi antara system interface user dengan database management server environment. Database Management Server menyediakan stored procedure dan trigger. Banyak sekali vendor software yang menyediakan tools untuk menyederhanakan pengembangan aplikasi untuk two tier client server architecture. Two tier client server architecture adalah suatu solusi yang baik untuk distributed computing ketika workgroup didefinisikan berisi sekitar 12 sampai 100 orang yang berinteraksi pada sebuah LAN secara bersamaan. Memang ada sejumlah batasan. Ketika jumlah user mencapai lebih dari 100, performa akan mulai menurun. Batasan menjadi alasan bahwa server akan mempertahankan koneksi melalui “keep-alive“ message dengan setiap client, bahkan ketika tidak ada pekerjaan yang sedang dilakukan. 33 Batasan kedua dari two tier architecture adalah bahwa implementasi dari processing management service menggunakan prosedur database milik sebuah vendor, membatasi fleksibilitas dan pilihan dari DBMS untuk aplikasi. Akhirnya, implementasi two tier architecture menyediakan fleksibilitas yang terbatas dalam menggerakkan fungsionalitas program dari satu server ke server lain tanpa secara manual men-generate ulang procedural code (Sadoski, 1997). Gambar 2.9. Arsitektur Two Tier 2.4.4.2. Three tier architectures Three tier architecture (juga bisa disebut sebagai multi-tier architecture) muncul untuk menanggulangi batasan-batasan yang ada pada two tier architecture. Pada three tier architecture, sebuah middle tier ditambahkan diantara system 34 interface user dengan database management server environment. Ada berbagai macam cara untuk mengimplementasikan middle tier ini, seperti transaction processing monitor, message server, atau application server. Middle tier dapat menampilkan queuing, eksekusi aplikasi, dan database staging. Sebagai contoh, jika middle tier menyediakan queuing client dapat mengirim request-nya ke middle layer dan melepaskan diri, karena middle tier akan mengakses data dan mengembalikan jawabannya ke client. Sebagai tambahan, middle layer menambah scheduling dan prioritization untuk progress dalam kerja. Three tier client server architecture telah menunjukkan dalam meningkatkan performa untuk grup dengan jumlah user yang besar (dalam ribuan) dan meningkatkan fleksibilitas jika dibandingkan dengan pendekatan pada two tier. Fleksibilitas dalam melakukan partisi dapat menjadi sederhana, sesederhana men-drag dan drop modul application code ke komputer yang berbeda pada beberapa three tier architecture. Batasan dengan three tier adalah bahwa pengembangan environment dirasa lebih sulit untuk digunakan dibandingkan dengan pengembangan yang visuallyoriented dalam aplikasi two tier. Akhir-akhir ini, banyak mainframe telah digunakan sebagai server pada three tier architecture (Sadoski, 1997). 35 Gambar 2.10. Arsitektur Three Tier 2.4.4.3. Three Tier Architecture dengan Teknologi Transaction Processing Monitor Jenis yang paling dasar dari three tier architecture adalah yang mempunyai middle layer yang terdiri dari teknologi Transaction Processing (TP) monitor. Teknologi TP monitor adalah tipe dari message queuing, transaction scheduling, dan prioritization service dimana client terhubung ke TP monitor (middle tier), bukan ke database server. Transaksi diterima oleh monitor, yang meng-queue transaksi tersebut dan kemudian mengambil tanggung jawab untuk mengelola transaksi tersebut menuju penyelesaian, hingga membebaskan client tersebut. Ketika kapabilitas tersebut disediakan oleh pihak ketiga vendor middleware, yang disebut juga sebagai “TP Heavy” karena dapat melayani ribuan user. Ketika 36 ditanam dalam DBMS akan disebut sebagai “TP Lite” karena pengalaman telah menunjukkan penurunan performa ketika lebih dari 100 client terkoneksi. Teknologi TP monitor juga menyediakan : a. Kemampuan untuk meng-update berbagai macam DBMS yang berbeda dalam satu transaksi b. Konektivitas ke berbagai macam sumber data, termasuk flat file, nonrelational DBMS, dan mainframe. c. Kemampuan untuk menambahkan prioritas ke transaksi d. Keamanan yang kuat Menggunakan three tier client server architecture dengan teknologi TP monitor menghasilkan environment yang lebih dapat diukur dibandingkan two tier architecture dengan koneksi langsung dari client ke server. Untuk sistem dengan ribuan user, teknologi TP monitor telah dirasakan sebagai salah satu solusi efektif. Batasan yang ada pada teknologi TP monitor adalah bahwa implementation code biasanya ditulis pada low level language (seperti COBOL), dan belum secara luas tersedia pada toolset visual yang populer (Sadoski, 1997). 2.4.4.4. Three Tier dengan Message Server Messaging adalah cara lain untuk mengimplementasikan three tier architecture. Pesan atau message diprioritaskan dan diproses secara asynchronous. Pesan terdiri dari header yang mengandung informasi utama, dan alamat, serta nomor identifikasi. Message server terhubung ke DBMS relasional dan sumber data yang lain. 37 Perbedaan antara teknologi TP monitor dengan message server adalah bahwa arsitektur message server memfokuskan diri pada intelligent message, dimana pada TP monitor environment, intelligence ada pada monitor, dan memperlakukan transaksi sebagai dumb data packet. Sistem messaging adalah solusi baik untuk infrastruktur wireless (Sadoski, 1997). 2.4.4.5. Three Tier dengan Application Server Three tier application server architecture mengalokasi bagian utama dari sebuah aplikasi yang berjalan pada shared host, bukan pada system interface user client environment. Application server tidak mengendalikan GUI, tetapi men-share business logic, computation, dan engine untuk data retrieval. Keuntungannya adalah bahwa dengan lebih sedikit piranti lunak yang berada pada client, resiko keamanan yang harus dikhawatirkan juga lebih rendah, aplikasi lebih mudah diukur, dan dukungan serta biaya instalasi lebih rendah pada satu server dibandingkan memelihara pada tiap client desktop. Rancangan application server sebaiknya digunakan ketika keamanan, skalabilitas, dan biaya adalah pertimbangan utama (Sadoski, 1997). 2.5. Java 2 Micro Edition (J2ME) 2.5.1. Teknologi Java Java adalah teknologi dan bahasa pemrograman yang berjalan pada multiplatform sesuai dengan semboyannya yaitu “Write Once, Run Anywhere” 38 (Mic, 2003, p1). Pada site official Java dari Sun (http://java.sun.com) bisa ditemui tiga pembagian paket Java yaitu: a. Java 2 Enterprise Edition (J2EE) b. Java 2 Standard Editon (J2SE) c. Java 2 Micro Edition (J2ME) Penjelasan paling sederhana atas pembagian tersebut adalah berdasarkan atas perangkat keras yang digunakan (Steiner, 2000, p2): a. Paket J2EE digunakan pada perusahaan besar untuk melayani permintaan pelanggan, karyawan, supplier, dengan solusi internet business server, memerlukan perangkat keras yang mempunyai spesifikasi dan memori yang besar seperti pada komputer server b. Paket J2SE digunakan untuk pembuatan aplikasi desktop atau aplikasi intenet (applet), memerlukan perangkat keras seperti komputer desktop c. Paket J2ME digunakan untuk pembuatan aplikasi pada perangkat yang memiliki memori kecil seperti ponsel, pager atau PDA 39 Gambar 2.11. Pembagian paket pada Java 2 (Steiner, 2000, p3) 2.5.2. Pengenalan J2ME Java Micro Edition atau yang biasa disebut J2ME adalah sebuah koleksi Java API dan runtime untuk pengembangan software untuk perangkat mini (micro) seperti PDA, telepon genggam, dan lain-lain. Java Micro Edition dirancang oleh Sun Microsystem yang merupakan pengganti teknologi sebelumnya yaitu PersonalJava. Java ME banyak digunakan dalam pembuatan software pada perangkat mobile seperti permainan (game), dimana programnya dapat diemulasikan pada komputer untuk pengembangannya An_Introduction_to_J2ME). (http://en.wikipedia.org/wiki/ 40 2.5.3. Midlet : Aplikasi J2ME Aplikasi yang berjalan pada paket J2ME diberi nama Midlet (Mic, 2003, p1). Untuk menjalankan Midlet tentunya diperlukan perangkat keras yang mendukung Java artinya perangkat tersebut harus memiliki Java Virtual Machine untuk menjalankan Midlet. Sekarang tidak sulit lagi untuk menemukan perangkat yang bisa menjalankan Midlet terutama untuk jenis telepon seluler. Hampir setiap telepon seluler keluaran terbaru telah menyertakan dukungan akan teknologi Java (Mic, 2003, p1). 2.5.4. Emulator Ponsel Java Untuk menjalankan Midlet, programmer tidak perlu memiliki dan mencobanya pada telepon seluler. Cukup dengan emulator dari telepon seluler yang dapat dijalankan pada PC (Mic, 2003, p2). 41 Gambar 2.12. Emulator Telepon Seluler J2ME WTK (http://java.sun.com/j2me) 2.5.5. Konfigurasi J2ME Platform.J2ME menjangkau serangkaian jenis perangkat yang berbeda. Perangkat seperti Internet TV mempunyai user interface yang besar dan kapasitas memori yang berbeda antara 2 sampai 16 megabyte (Steiner, 2000, p4). Sedangkan pada perangkat lain, seperti telepon seluler, pager, dan lain-lain, mempunyai user interface yang rendah dan kapasitas memori yang kecil. Karena banyaknya jenis 42 perangkat yang berbeda dan mempunyai spesifikasi yang berbeda, maka Sun memisahkan konfigurasi J2ME menjadi 2, yaitu (Steiner, 2000, p5): 1. CLDC (Connected Limited Device Configuration) Spesifikasinya: a. User interface yang sangat sederhana (termasuk untuk yang tidak menggunakan user interface sama sekali) b. Kapasitas memori yang rendah (160 kB sampai 512 kB) c. Komunikasi nirkabel, memungkinkan bandwidth yang kecil d. Tenaga listrik yang terbatas, seringkali menggunakan batrei e. Contohnya adalah: telepon seluler, PDA, dan pager 2. CDC (Connected Device Configuration) Spesifikasinya: a. User interface yang lebih rumit b. Kapasitas memori dengan jangkauan antara 2 sampai 16 megabyte c. Prosesor 16 atau 32 bit d. Konektivitas untuk beberapa jaringan yang berbeda e. Contohnya: internet TV, dan komunikator high-end 43 Gambar 2.13. Kerangka J2ME (http://www.blueboard.com/j2me/intro.htm) 2.5.6. Mobile Information Device Profile (MIDP) MIDP adalah profil yang ada pada CLDC, dimana profil ini menyediakan platform dasar untuk perangkat yang kecil, memiliki resource yang terbatas, wireless connected, seperti telepon seluler dan pager (Steiner, 2000, p6). 2.6. Pemrograman Socket 2.6.1. Definisi Socket Socket adalah kombinasi antara alamat IP dan port (Veeramani, 2005). Socket juga dapat dikatakan sebagai bentuk komunikasi antar proses yang digunakan untuk membentuk koneksi dari komunikasi dua arah antar 2 aplikasi, biasanya melalui jaringan komputer, tetapi terkadang pada komputer yang sama. Ada 2 jenis socket yaitu internet socket dan local socket. Internet socket adalah socket yang mengikat port yang diberikan, kemudian menyerahkannya pada transport layer untuk mengidentifikasi aplikasi mana sebagai tujuan pengiriman data. Sedangkan local socket adalah socket yang 44 digunakan untuk komunikasi antar proses pada host yang sama, bukan pada host yang berbeda (http://en.wikipedia.org/wiki/Socket). 2.6.2. Java Networking Java menggunakan banyak mekanisme berbasis stream ke keseluruhan bahasa untuk menerima I/O. Sebagai contoh, semua file I/O dan memori I/O pada Java diterima dengan stream. Kebanyakan pengiriman data juga dibawa dengan menggunakan stream, walaupun implementasi datagram juga mendukung. Kelaskelas pada Java disediakan untuk internetworking antara client dan server (Golding, 1997). 2.7. Load Balancing Dalam komputasi, load balancing adalah sebuah teknik yang digunakan untuk membagi proses-proses antar prosesor, komputer, disk, atau resource lain (Anonim, 2006). Server harus mendukung banyak aplikasi dan service yang berjalan 24 jam sehari dan 7 hari seminggu. Oleh karena itu, aplikasi jaringan dan server harus mempunyai kemampuan untuk meng-handle sejumlah besar request client tanpa menimbulkan delay. Salah satu cara load balancing adalah dengan metode clustering (Anonim, 2006). Clustering memungkinkan untuk mengelola sekumpulan server-server independent sebagai sebuah sistem dengan skala yang lebih besar, ketersediaan yang meningkat, dan kemudahan dalam pengelolaan (Anonim, 2006). 45 Gambar 2.14. Load balancing dengan clustering (www.microsoft.com) 2.8. Diagram Alir (Flowchart) Diagram alir (flowchart) adalah representasi grafis dari serangkaian aktivitas operasi, pergerakan, inspeksi, delay, keputusan dan penyimpanan dari sebuah proses. Diagram alir menggunakan simbol-simbol untuk merepresentasikan jenis operasi atau proses yang sedang berjalan. Bentuk yang sudah distandarisasi menyediakan metode yang umum dipakai oleh banyak orang untuk memvisualisasikan masalah dengan cara yang sama dan lebih mudah (Hansen, 2005). Simbol-simbol yang digunakan dalam diagram alir adalah sebagai berikut: 1. Proses, dibagi menjadi 2 macam: a. Berupa proses / pengolahan b. Predefined process 46 2. Operasi input/output 3. Decision, berupa pertanyaan atau penentuan suatu keputusan 4. Terminal, untuk menandai awal dan akhir program 5. Preparation, untuk inisialisasi suatu nilai. 6. Panah, sebagai penghubung antar komponen dan penunjuk arah 7. Manual input, sebagai input dari pengguna 8. Penghubung: a. On page connector, sebagai penghubung dalam 1 halaman b. Off page connector, sebagai penghubung antar halaman yang berbeda 47 2.9. Diagram Kelas (Class Diagram) Tujuan dari diagram kelas adalah untuk menggambarkan kelas-kelas dalam sebuah model. Dalam aplikasi object oriented, sebuah kelas mempunyai atribut (variable), operasi (fungsi), dan relasi (hubungan) dengan kelas-kelas yang lain (Martin, 1997, pp1-2). Gambar 2.15. Sebuah komponen kelas Antar kelas yang satu dengan yang lain memiliki relasi satu sama lain. Berikut adalah simbol-simbol relasi dalam diagram kelas (Martin, 1997, pp3 – 7): 1. Asosiasi, menyatakan hubungan asosiasi antar 2 kelas 2. Agregasi, menyatakan bahwa suatu kelas adalah bagian (part of) dari kelas lain Inheritance, menyatakan bahwa suatu kelas 3. merupakan turunan dari kelas yang lain 4. Interface, menyatakan bahwa suatu kelas mengimplementasikan suatu interface (Anonim, 2002)