• Tidak ada hasil yang ditemukan

Perancangan dan Implementasi Aplikasi Pemesanan Ruang Menggunakan Web Socket pada Platform Android (Studi Kasus: Fakultas Teknologi Informasi)

N/A
N/A
Protected

Academic year: 2022

Membagikan "Perancangan dan Implementasi Aplikasi Pemesanan Ruang Menggunakan Web Socket pada Platform Android (Studi Kasus: Fakultas Teknologi Informasi)"

Copied!
19
0
0

Teks penuh

(1)

Perancangan dan Implementasi

Aplikasi Pemesanan Ruang Menggunakan Web Socket pada Platform Android

(Studi Kasus: Fakultas Teknologi Informasi)

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

Untuk memperoleh Gelar Sarjana Komputer

Peneliti : William (672009038) Yos Richard Beeh, S.T., M.Cs.

Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

Salatiga Oktober 2013

(2)
(3)
(4)
(5)

Perancangan dan Implementasi

Aplikasi Pemesanan Ruang Menggunakan Web Socket pada Platform Android

(Studi Kasus: Fakultas Teknologi Informasi)

1)William, 2)Yos Richard Beeh Fakultas Teknologi Informasi Universitas Krsiten Satya Wacana

Jl. Diponegoro 52 – 60, Salatiga, 50711, Indonesia

Email: 1)vinsensius.william@gmail.com, 2)yos.fti.uksw@gmail.com

Abstract

The Facilities and Infrastucture Unit at FTI has a web-based room management system which is integrated with Google Calendar. Mobile data processing can be done using Google Calendar on Android device. The use two different application resulting data of room reservation is saved in two different places, FTI server and Google Calendar.

Periodically, synchronization process is needed to prevent differenceces in data between them. Solution from this issue is a mobile application that can perform data manipulation on FTI server. Communication between application and server is created over HTPP which is upgrade to web socket connection. The result of this research is an Android application for room reservations at FTI.

Keyword: Room Reservations, Web Socket

Abstrak

Bagian Sarana dan Prasarana FTI memiliki sistem pencatatan pemesanan ruang berbasis web yang berintegrasi dengan Google Calendar. Pengubahan data secara mobile dapat dilakukan dengan menggunakan Google Calendar pada perangkat mobile. Penggunaan dua aplikasi yang berbeda mengakibatkan data pemesanan ruang berada pada dua tempat yang berbeda, yaitu server FTI dan Google Calendar. Proses sinkronisasi secara berkala perlu dilakukan pada sistem pemesanan ruang untuk mencegah perbedaan data. Solusi dari permasalahan ini adalah sebuah aplikasi mobile yang dapat melakukan perubahan data pada server FTI. Komunikasi antara aplikasi dengan server FTI dibuat melalui koneksi HTTP yang diperbaharui menjadi koneksi web socket. Hasil dari penelitian ini adalah aplikasi yang berjalan pada platform Android untuk pemesanan ruang di FTI.

Kata Kunci: Pemesanan Ruang, Web Socket

1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya Wacana

2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana

(6)

1 1. Pendahuluan

Pencatatan pemesanan ruang di Fakultas Teknologi Informasi saat ini telah memiliki sebuah sistem yang berbasis web [1]. Sistem yang telah ada terhubung dengan server di FTI dan terintegrasi dengan Google Calendar sehingga pemesanan ruang pun dapat diakses melalui web browser melalui jaringan internal FTI. Meskipun sudah terhubung dengan server di FTI, pemakaian Google Calendar untuk pencatatan pemesanan ruang seperti pencatatan sebelumnya tetap digunakan karena sistem yang sudah ada untuk sekarang ini hanya tersedia dalam bentuk web. Penggunaan Google Calendar ini dengan tujuan pemesanan dapat dilakukan melalui perangkat mobile yang memiliki aplikasi Google Calendar.

Oleh sebab itu, sistem penjadwalan ruang yang sudah ada ini memiliki fitur untuk melakukan sinkronisasi data antara database sistem dengan Google Calendar.

Penggunaan dua sistem yang berbeda mengakibatkan data pemesanan ruang berada di dua tempat yang berbeda, yaitu server FTI dan Google Calendar. Hal ini membutuhkan proses sinkronisasi data secara berkala agar data di server dan Google Calendar tidak berbeda. Proses sinkronisasi data pada sistem pemesanan ruang dilakukan oleh admin sistem yang secara manual harus melakukan sinkronisasi dengan mengirimkan request ke Google Calendar.

Supervisor bagian Sarana dan Prasarana FTI dan laboran membutuhkan sebuah aplikasi mobile yang dapat mengubah data secara langsung pada server FTI, sehingga proses sinkronisasi data antara Google Calendar dan sistem pemesanan ruang tidak perlu dilakukan lagi. Berdasarkan data penggunaan mobile device pada bagian Sarana dan Prasarana FTI tahun 2013, 10 dari 14 orang menggunakan Android, sehingga aplikasi mobile yang dibutuhkan adalah aplikasi Android.

Komunikasi antara aplikasi dengan server di FTI dapat dilakukan melalui koneksi HTTP. Koneksi HTTP saat ini dapat diperbaharui menjadi koneksi web socket yang menyediakan komunikasi dua arah (full-duplex) sehingga komunikasi antara server dengan aplikasi menjadi real-time. Kelebihan daripada web socket selain komunikasi dua arah juga dapat mengurangi latency dan bandwith [2].

Berdasarkan permasalahan yang ada pada Bagian Sarana dan Prasarana FTI dalam pencatatan pemesanan ruangan, perumusan masalah dari penelitian ini adalah bagaimana cara membuat aplikasi pada perangkat mobile untuk pemesanan ruang yang terhubung dengan server di FTI. Hasil dari penelitian ini adalah sebuah aplikasi mobile pada platform Android yang dapat mengubah data pada server FTI.

2. Tinjauan Pustaka

Penelitian yang berjudul Sistem Pencatatan Penggunaan Ruang yang Terintegrasi dengan Google Calendar (Studi Kasus: Sarana dan Prasarana Fakultas Teknologi Informasi) telah menyediakan sistem pemesanan ruang yang terintegrasi dengan Google Calendar dan memiliki fitur – fitur yang dapat digunakan untuk melakukan pencatatan pemesanan ruangan serta laporan berkala mengenai pemakaian ruangan [1].

(7)

2

Penelitian lain yang berjudul Research of Web Real Time Communication Based on Web Socket membahas keunggulan dari web socket sebagai solusi untuk menyediakan komunikasi real time dibandingkan dengan teknologi sebelumnya seperti polling, long – polling dan streaming. Penelitian ini membuktikan keunggulan web socket sebagai solusi untuk komunikasi real-time dengan dilakukan percobaan untuk membandingkan performa dari web socket terhadap HTTP request yang menghasilkan kesimpulan bahwa web socket memiliki 10 kali performa lebih baik dari HTTP request [3].

Berdasarkan penelitian sebelumnya mengenai pembuatan sistem pemesanan ruang di FTI, sistem telah memiliki integrasi dengan Google Calendar sehingga FTI memiliki sistem pemesanan ruang dan dapat menggunakan aplikasi Google Calendar pada perangkat mobile untuk memasukkan data. Penelitian lain yang membahas tentang komunikasi real-time menggunakan web socket, ditemukan bahwa koneksi web socket dapat menyediakan komunikasi real-time dibandingkan dengan koneksi HTTP. Berdasarkan penelitian sebelumnya, maka dilakukan penelitian untuk pembuatan aplikasi mobile pada platform Android untuk melakukan pemesanan ruang di FTI yang dapat melakukan perubahan data pada server FTI. Komunikasi dengan server dilakukan menggunakan koneksi web socket agar pencatatan pemesanan ruangan yang dilakukan oleh beberapa orang dapat segera diinformasikan untuk mengurangi kesalahan pemesanan ruangan.

Web socket adalah protocol yang menyediakan komunikasi dua arah (full duplex) antara client dengan server dan telah distandarisasikan oleh IETF (Internet Engineering Task Force) pada RFC 6455. Protocol ini disertai dengan handshake dari client dengan mengirim pesan melalui layer TCP. Sebelum ada web socket, komunikasi dua arah dilakukan dengan beberapa alternatif seperti polling, long-polling dan streaming. Namun, alternatif tersebut tidak menciptakan komunikasi dua arah (full – duplex), melainkan hanya mendekati komunikasi dua arah. Akibatnya, latency data dan network traffic akan meningkat dan biaya yang dikeluarkan akan semakin tinggi [4].

Beberapa bagian yang menjadi struktur pada web socket adalah sebagai berikut [4]:

 Handshake, merupakan request pertama dari client ke server untuk membuka koneksi web socket. Bagian ini terdiri dari handshake opening dan closing antara client dan server. Handshake dari client merupakan HTTP upgrade request yang dikirim ke server dan handshake dari server merupakan HTTP upgrade response untuk client.

 Data Framing, merupakan aturan dalam penyusunan struktur data yang digunakan dalam pengiriman data di web socket.

(8)

3

Gambar 1 Base Framing Protocol Web Socket [4]

Gambar 1 menggambarkan struktur data yang digunakan dalam pengiriman data pada protocol web socket RFC 6455. Struktur data pada protocol web socket terdiri dari opcode, payload length, payload data, dan beberapa bit yang digunakan untuk perkembangan protocol web socket selanjutnya.

Setiap data yang dikirim pada web socket merupakan rangkaian frame (fragmentation) dengan setiap bitnya memiliki fungsi tersendiri. Tujuan utama dari fragmentation adalah untuk mengirim pesan yang memiliki ukuran tidak diketahui.

 Closing Connections, merupakan proses penutupuan koneksi web socket.

Penutupan koneksi web socket dilakukan dengan mengirimkan closing handshake dari client berupa close frame disertai dengan kode status dan alasan penutupan koneksi.

3. Metode dan Perancangan Sistem

Penelitian dilakukan melalui lima tahapan penelitian, (1) analisis kebutuhan dan pengumpulan data, (2) perancangan sistem, (3) perancangan aplikasi, (4) implementasi dan pengujian sistem, dan (5) penulisan laporan

Gambar 2 Tahapan Metode Penelitian [5]

Gambar 2 menunjukkan tahapan metode penelitian. Pada tahap penelitian pertama dilakukan analisis kebutuhan dan pengumpulan data di bagian Sarana dan

Analisis Kebutuhan dan Pengumpulan Data

Perancangan Sistem meliputi Perancangan Proses (UML), Perancangan Arsitektur, Perancangan Database, Perancangan Antarmuka

Perancangan Aplikasi/ Program

Implementasi dan Pengujian Sistem, serta Analisis Hasil Pengujian

Penulisan Laporan Hasil Penelitian

(9)

4

Prasarana FTI, pengumpulan data juga termasuk studi literatur atau studi pustaka mengenai sistem yang akan dibuat.

Tahap perancangan sistem sampai dengan tahap pengimplementasian menggunakan metode prototyping model. Prototyping model adalah metode yang digunakan untuk mendefinisikan serangkaian sasaran umum bagi perangkat lunak serta mengidentifikasikan kebutuhan input, pemrosesan, ataupun output detail [6].

Gambar 3 Prototyping Model [6]

Gambar 3 menunjukkan tahapan yang dilakukan pada prototyping model, yaitu (1) listen to customer, (2) build/ revise mock-up, dan (3) customer test-drives mock-up. Pada tahap pertama, dilakukan wawancara dengan supervisor Sarana dan Prasarana Fakultas Teknologi Informasi dan laboran mahasiswa untuk mengumpulkan data serta analisis proses pada sistem pencatatan ruang yang sudah ada. Tahap kedua, penelitian dilanjutkan dengan merancang sistem yang meliputi perancangan Unified Modelling Language (UML).

Perancangan sistem juga meliputi perancangan antarmuka aplikasi untuk sisi client dan dilanjutkan dengan pembuatan aplikasi. Tahap terakhir, dilakukan pengujian aplikasi di bagian Sarana dan Prasarana Fakultas Teknologi Informasi bersama dengan supervisor dan laboran untuk menguji kelayakan dan kesesuaian aplikasi. Pada tahap ini akan dilakukan evaluasi secara keseluruhan dan apabila terdapat kekurangan maka tahap penelitian kembali lagi ke tahap pertama dan akan dilakukan evaluasi lagi.

Berdasarkan hasil pengujian evaluasi pertama, aplikasi yang dibuat sudah sesuai dengan kebutuhan supervisor dan laboran bahwa aplikasi pada perangkat perangkat Android cukup dengan fitur – fitur melihat jadwal pemakaian ruangan, pencatatan, penghapusan peminjaman ruang dan penambahan, penghapusan ruang. Namun, aplikasi yang dibuat masih menggunakan database dummy sehingga untuk menyesuaikan sistem yang sudah ada, dilakukan perubahan pada aplikasi yang sebelumnya menggunakan database dummy diganti menggunakan database pada sistem yang ada.

Pada evaluasi kedua, setelah database yang digunakan pada aplikasi sesuai dengan database sistem yang sudah ada, dilakukan perubahan tampilan antarmuka yang sebelumnya hanya menampilkan data penggunaan ruang dalam bentuk daftar menjadi tampilan calendar sehingga data penggunaan ruang dapat dilihat untuk setiap bulan atau setiap hari. Pada evaluasi kedua ini, platform Android minimum yang digunakan sebelumnya adalah 4.1.2 dan diturunkan agar mendukung platform Android 2.2.

(10)

5

Evaluasi terakhir adalah melakukan pengujian aplikasi menggunakan server yang ada di Fakultas Teknologi Informasi. Hasilnya, port yang digunakan untuk server aplikasi yaitu 8081 harus diganti dikarenakan port tersebut telah digunakan untuk server Apache. Port untuk server aplikasi diganti menjadi 8082. Pada Evaluasi terakhir juga dilakukan pengujian dengan melakukan pencatatan pemesanan ruangan oleh supervisor dan beberapa orang laboran untuk melihat proses pengiriman data ke server dan ke pengguna lain.

Perancangan Sistem

Sistem pencatatan peminjaman ruang memiliki digunakan oleh supervisor Sarana dan Prasarana FTI atau laboran. Sistem ini memiliki dua pengguna yang memiliki hak akses yang sama pada apliksi untuk melakukan pencatatan dan melihat jadwal peminjaman ruang.

Gambar 4 Rancangan Arsitektur Sistem

Gambar 4 adalah rancangan arsitektur sistem yang terdiri dari tiga bagian, yaitu client pada platform Android, server web socket, dan database server. Client merupakan aplikasi Android dengan modul web socket client Autobahn[7] untuk menyediakan koneksi web socket dan pada server merupakan aplikasi server dengan modul web socket menggunakan Web Socket SDK [9] untuk mengolah data di database server. Antara client dengan server dihubungkan dengan Internet pada koneksi HTTP yang di-upgrade menjadi koneksi web socket melalui handshake dari client.

(11)

6

Aplikasi pencatatan pemakaian ruang secara umum memiliki fitur – fitur yang diilustrasikan pada use case diagram pada gambar 5.

Gambar 5 Use Case Diagram Sistem

Gambar 5 adalah use case diagram sistem yang memiliki satu aktor yaitu supervisor Sarana dan Prasarana FTI atau laboran. Fitur – fitur yang dapat dilakukan aktor adalah (1) melihat jadwal pemakaian ruangan, (2) manajemen ruangan yang terdiri dari menambah ruang dan menghapus ruang, (3) manajemen kegiatan yang terdiri dari menambah kegiatan dan menghapus kegiatan.

Gambar 6 Class Diagram Aplikasi

Gambar 6 adalah class diagram pada rancangan aplikasi pencatatan penggunaan ruang. Pada class diagram terdapat tiga class yang menjadi view pada aplikasi (RoomView, CalendarView, dan EventView) yang terhubung dengan controller class (RoomController dan EventController) dan controller class akan mengakses model class sebagai model dari sistem pemesanan ruang.

(12)

7 4. Hasil dan Pembahasan

Aplikasi pemesanan ruang di FTI pada platform Android telah sesuai dengan kebutuhan supervisor Bagian Sarana dan Prasarana FTI dan laboran.

Aplikasi ini menyediakan fungsi untuk pencatatan pemesanan ruang yang dapat digunakan pada platform Android mulai dari versi 2.2. Komunikasi antara aplikasi dengan server untuk mengakses database sistem pemesanan ruang menggunakan koneksi web socket dengan membuat server web socket pada server FTI.

Komunikasi dengan server web socket dibuka pada saat client login ke aplikasi. Proses pembukaan komunikasi dilakukan dengan mengirimkan handshake opening dari client ke server. Jika handshake yang dikirim dari client diterima oleh server dan handshake sesuai dengan protocol yang digunakan oleh server, maka server akan mengirim handshake balasan yang menyatakan bahwa koneksi web socket telah dibuka dan client terhubung dengan server. Jika server belum berjalan atau handshake dari client tidak sesuai dengan protocol web socket pada server, maka koneksi web socket antara client dengan server tidak akan terbuka.

Kode Program 1 Handshake Opening dari Aplikasi [7]

Kode Program 1 adalah handshake opening dari client ke server untuk membuka koneksi web socket dengan server. Kode program pada baris ke – 4 sampai dengan baris ke – 27 adalah penulisan handshake ke ByteBufferOutputStream untuk dikirim melalui socket. Baris ke – 21 sampai dengan baris ke – 23 adalah kode program untuk penulisan subprotocol jika client

1. private void sendClientHandshake(WebSocketMessage.ClientHandshake message) throws IOException {

2. // write HTTP header with handshake 3. ...

4. mBuffer.write("GET " + path + " HTTP/1.1");

5. mBuffer.crlf();

6. mBuffer.write("Host: " + message.mHost);

7. mBuffer.crlf();

8. mBuffer.write("Upgrade: WebSocket");

9. mBuffer.crlf();

10. mBuffer.write("Connection: Upgrade");

11. mBuffer.crlf();

12. mBuffer.write("Sec-WebSocket-Key: " + newHandshakeKey());

13. mBuffer.crlf();

14. if (message.mOrigin != null && !message.mOrigin.equals("")) { 15. mBuffer.write("Origin: " + message.mOrigin);

16. mBuffer.crlf();

17. }

18. if (message.mSubprotocols != null && message.mSubprotocols.length > 0) { 19. mBuffer.write("Sec-WebSocket-Protocol: ");

20. for (int i = 0; i < message.mSubprotocols.length; ++i) { 21. mBuffer.write(message.mSubprotocols[i]);

22. mBuffer.write(", ");

23. }

24. mBuffer.crlf();

25. }

26. mBuffer.write("Sec-WebSocket-Version: 13");

27. mBuffer.crlf();

28. // Header injection 29. ...

30. } 31. mBuffer.crlf();

32. }

(13)

8

ingin menggunakan subprotocol yang ada di server. Baris ke – 26 merupakan penentuan versi dari protocol web socket yang digunakan, versi web socket yang digunakan antara client dengan server harus disesuaikan karena setiap versi web socket memiliki standart protocol yang berbeda. Urutan penulisan bagian – bagian pada handshake web socket tidak diharuskan berurutan seperti Kode Program 1 melainkan bagian – bagian tersebut harus terdapat di handshake web socket atau handshiake tidak akan diterima oleh server.

Kode Program 2 Mengirim Web Socket Frame [7]

Kode program 2 adalah fungsi untuk mengubah pesan yang akan dikirim melalui web socket client ke server ke dalam bentuk frame dan pembuatan frame

1. protected void sendFrame(int opcode, boolean fin, byte[] payload, int offset, int length) throws IOException {

2. // first octet 3. byte b0 = 0;

4. if (fin) {b0 |= (byte) (1 << 7);}

5. b0 |= (byte) opcode;

6. mBuffer.write(b0);

7. // second octet 8. byte b1 = 0;

9. if (mOptions.getMaskClientFrames()) {b1 = (byte) (1 << 7);}

10. long len = length;

11. // extended payload length 12. if (len <= 125) {

13. b1 |= (byte) len;

14. mBuffer.write(b1);

15. } else if (len <= 0xffff) { 16. b1 |= (byte) (126 & 0xff);

17. mBuffer.write(b1);

18. mBuffer.write(new byte[] {(byte)((len >> 8) & 0xff), 19. (byte)(len & 0xff)});

20. } else {

21. b1 |= (byte) (127 & 0xff);

22. mBuffer.write(b1);

23. mBuffer.write(new byte[] {(byte)((len >> 56) & 0xff), 24. (byte)((len >> 48) & 0xff),

25. (byte)((len >> 40) & 0xff), 26. (byte)((len >> 32) & 0xff), 27. (byte)((len >> 24) & 0xff), 28. (byte)((len >> 16) & 0xff), 29. (byte)((len >> 8) & 0xff), 30. (byte)(len & 0xff)});

31. }

32. byte mask[] = null;

33. if (mOptions.getMaskClientFrames()) {

34. // a mask is always needed, even without payload 35. mask = newFrameMask();

36. mBuffer.write(mask[0]);

37. mBuffer.write(mask[1]);

38. mBuffer.write(mask[2]);

39. mBuffer.write(mask[3]);

40. }

41. if (len > 0) {

42. if (mOptions.getMaskClientFrames()) { 43. /// \todo optimize masking

44. /// \todo masking within buffer of output stream 45. for (int i = 0; i < len; ++i) {

46. payload[i + offset] ^= mask[i % 4];

47. } 48. }

49. mBuffer.write(payload, offset, length);

50. } 51. }

(14)

9

dilakukan berdasarkan pada protocol web socket yang digunakan. Baris ke – 3 sampai dengan 6 untuk menuliskan opcode pada frame, baris ke – 12 sampai dengan 31 untuk bagian payload atau pesan yang akan dikirim. Baris ke – 32 sampai dengan 48 untuk masking frame.

Gambar 7 Jadwal Setiap Bulan Gambar 8 Jadwal Setiap Hari

Gambar 7 adalah tampilan antarmuka untuk client setelah login ke aplikasi.

Tampilan ini untuk menampilkan jadwal pemakaian ruangan setiap bulannya berdasarkan ruangan yang dipilih. Pada tampilan jadwal setiap bulan, client dapat melihat jadwal secara detail per-harinya. Client dapat masuk ke menu tambah jadwal dan tambah ruang, dan client dapat mengubah tampilan menjadi tampilan jadwal per harinya seperti pada Gambar 8.

Gambar 9 Tambah dan Ubah Jadwal Gambar 10 Tambah Ruang

Gambar 9 adalah tampilan antarmuka untuk menambah dan mengubah jadwal. Pada tampilan ini, client dapat menambah jadwal baru dengan mengisi

(15)

10

field yang tersedia. Field tersebut terdiri dari field title, daftar ruangan, daftar dosen, field pengguna, field nomor telepon pengguna, waktu mulai, waktu berhenti, field keterangan untuk jadwal yang ingin diulangi dalam waktu tertentu, dan field description.

Gambar 10 adalah tampilan antarmuka untuk tambah ruang. Pada tampilan ini, client dapat menambah ruangan baru dengan mengisi field yang tersedia, yaitu field nama ruang. Pada tampilan ini juga ditampilkan daftar ruang yang sudah ada.

Client dapat menghapus daftar ruangan yang ada dan penghapusan ruangan akan menghapus semua jadwal pada ruang tersebut.

Pengujian Aplikasi

Pengujian aplikasi pencatatan pemesanan ruang pada platform Android dilakukan dengan dua tipe pengujian, yaitu pengujian alfa dan beta. Pengujian alfa dilakukan oleh peneliti sendiri yang berperan sebagai pengguna aplikasi dengan melakukan simulasi melalui platform Android 4.1.2 serta emulator Android 2.2 yang terhubung dengan server localhost.

Hasil dari pengujian alfa aplikasi dijelaskan pada Tabel 1 dengan menggunakan 12 indikator untuk menentukan hasil pengujian dan dapat disimpulkan bahwa fitur yang tersedia di aplikasi telah berjalan dengan baik dan sesuai dengan perancangan sistem dan dapat dikatakan bahwa fungsi – fungsi pada aplikasi berjalan dengan lancar.

Tabel 1 Tabel Hasil Pengujian Alfa Aplikasi

No. Proses Hasil yang

Diharapkan

Hasil

Program Keterangan

1 Login aplikasi Menu calendar view Sesuai User memasukan username dan password

2 Calendar view per bulan

Daftar event muncul

per bulan Sesuai Event muncul sesuai dengan tanggal event.

3 Calendar view per hari

Daftar event muncul

per hari Sesuai

Event muncul sesuai dengan waktu mulai dan waktu selesai event per harinya.

4 Ganti ruangan

Event muncul sesuai dengan ruang yang dipilih.

Sesuai Memilih ruang

5 Melihat detail dari

event Detail event muncul Sesuai Long click pada tanggal tertentu

6 Menghapus event

yang ada Event berkurang Sesuai Memilih event yang ingin dihapus

7 Menambah event Event bertambah Sesuai Memasukkan data event 8 Mengubah event Event berubah Sesuai Mengubah data event yang

dipilih

9

Penambahan event dengan waktu yang bertabrakan dengan event lain

Event tidak bertambah Sesuai Memasukkan data event

10 Menambah ruang

baru Ruang bertambah Sesuai Memasukkan data ruang

11 Menghapus ruang Ruang terhapus dan

event pada ruang Sesuai Memilih ruang yang ingin dihapus

(16)

11 tersebut

12

Pemberitahuan dari server untuk aktifitas yang dilakukan client lain

Broadcast pemberitahuan ke semua client yang terhubung dengan server

Sesuai

Setiap penambahan dan penghapusan event atau ruang, login, client lain mendapatkan

pemberitahuan.

13

Menggunakan user yang sama untuk masuk aplikasi

Koneksi client pertama akan terputus dengan server

Sesuai Login dengan username yang telah login.

14 Kompatibilitas aplikasi

Dapat digunakan mulai dari platform Android 2.2

Sesuai Menjalankan Aplikasi pada platform Android 2.2

Pengujian beta dilakukan oleh supervisor Bagian Sarana dan Prasarana Fakultas Teknologi Informasi dan laborandengan melakukan uji coba terhadap aplikasi. Hasil dari pengujian ini adalah sebuah kuisioner yang dibagikan kepada 10 pengguna aplikasi ketika menggunakan aplikasi yang disajikan pada Tabel 2.

Berdasarkan hasil pengujian kepada pelanggan pada tabel 2, berdasarkan skala Likert [8] dapat digolongkan menjadi dua sisi, yaitu baik dan kurang.

Persentase sisi baik dari seluruh pertanyaan adalah 91,42%. Berdasarkan hasil pengujian beta, dapat disimpulkan bahwa aplikasi dapat digunakan untuk melakukan pencatatan pemakaian ruang di FTI.

Table 2 Hasil Pengujian Aplikasi Terhadap Pengguna

No. Pertanyaan Sangat

Baik Baik Kurang Sangat Kurang 1. Apakah aplikasi pencatatan pemesanan ruang

sudah berjalan dengan baik? 8 2 0 0

2. Apakah proses pencatatan pemesanan ruang pada

aplikasi mudah dilakukan? 7 3 0 0

3. Apakah tampilan antarmuka aplikasi informatif? 5 4 0 0 4. Apakah aplikasi pencatatan pemesanan ruang

pada Android mempermudah pencatatan ruangan? 7 1 1 0 5. Apakah fitur – fitur pada aplikasi sudah cukup

memenuhi kebutuhan dalam pencatatan ruang? 4 2 4 6.

Apakah aplikasi pencatatan pemesanan ruang pada Android dapat menggantikan penggunaan Google Calendar?

7 2 1 0

7. Apakah proses pada aplikasi berjalan dengan

cepat? 5 3 2 0

Total 47 17 6 0

Perbandingan dengan HTTP/1.0 dan HTTP/1.1

Perbandingan HTTP/1.0 dan HTTP/1.1 dilakukan dengan menggunakan dua aplikasi yang serupa terhadap satu client. Aplikasi pertama menggunakan request HTTP untuk mengambil web service pada server. Web service yang digunakan adalah JAX – WS (Java API for XML Web Services) yang mengirimkan data SOAP (Simple Object Access Protocol). Sedangkan aplikasi kedua menggunakan web socket untuk mengambil data yang berada di database server.

(17)

12

Indikator yang digunakan dalam pengujian aplikasi ini adalah ukuran data dan waktu untuk menerima data. Ukuran data yang akan dibandingkan dihitung berdasarkan data yang dikirim dari server ke client dan data yang digunakan pada kedua aplikasi menggunakan data yang sama. Untuk perhitungan waktu untuk dihitung mulai dari data pertama yang diterima oleh client sampai dengan data terakhir.

Berdasarkan hasil pengujian pada Tabel 4 dapat dilihat bahwa ukuran data yang dikirim melalui web socket lebih kecil dibandingkan dengan HTTP. Hasil perbandinga ini dilakukan terhadap satu client dan bila disimulasikan dengan jumlah client lebih dari satu, makan perbandingan ukuran data antara web socket dengan HTTP untuk setiap pesan akan diakumulasikan sesuai dengan jumlah client yang digunakan. Misalnya, jika terdapat 100 client yang melakukan request untuk mendapatkan daftar event yang sudah ada, berdasarkan Tabel 4 maka ukuran data dari server ke client yang dilakukan melalui web socket menjadi 699.300 byte sedangkan pada HTTP menjadi 2.996.400 byte.

Ukuran data menggunakan HTPP jauh lebih besar dibandingkan dengan ukuran data pada web socket dikarenakan (1) pengiriman data pada HTTP mengikutsertakan header untuk setiap data yang dikirim, dan (2) web service yang digunakan pada pengujian ini adalah SOAP web service yang memiliki file WSDL (Web Service Definition Language) ditambah dengan XSD (XML Schema Definition Language) yang memiliki struktur data yang kompleks demi kejelasan struktur data. Meskipun pengiriman data dapat menggunakan RESTful (Representational State Transfer) web services yang memiliki struktur data lebih sederhana dibandingkan dengan SOAP, setiap request dan response melalui HTTP selalu mengikutsertakan bagian header.

Tabel 4 Tabel Perbandingan Ukuran Data dan Waktu Antara Web Socket dengan HTTP/1.0 dan HTTP/1.1

No. Keterangan Ukuran Data (byte) Waktu (s)

HTTP Web Socket HTTP Web Socket

1. Req. Ruang

Client - Server 692 94

Server - Client 6924 2803 ~0.4925 ~0.0188

2. Req. Dosen

Client – Server 678 116

Server - Client 9486 6647 ~0.2039 ~0.1828

3. Login

Client – Server 777 128

Server - Client 905 304 ~0.0125 ~0.0527

4. Get Event

Client - Server 809 168

Server - Client 29964 6993 ~1.2811 ~0.5527

5. Add Event

Client - Server 1411 517

Server - Client 876 154 ~0.9472 ~0.9971

(18)

13

Gambar 11 Grafik Perbandingan Ukuran Data Berdasarkan Jumlah Client

Gambar 11 menunjukkan grafik perbandingan ukuran data antara web socket dengan HTTP berdasarkan request Get Event pada Tabel 4. Pada Gambar 12 disimulasikan jika terdapat 10, 100 dan 1000 client untuk melakukan request dan akan menghasilkan perbedaan yang signifikan antara web socket dengan HTTP.

5. Kesimpulan

Berdasarkan hasil penelitian yang dilakukan dapat disimpulkan bahwa, melalui aplikasi Android yang dibuat dapat menggantikan penggunaan Google Calendar sehingga penyimpanan data pemesanan ruang FTI menjadi satu tempat pada server FTI dan fitur pada aplikasi telah sesuai dengan kebutuhan bagian Sarana dan Prasarana. Selain itu, penggunaan koneksi web socket pada aplikasi memberikan beberapa keuntungan dibandingkan dengan koneksi HTTP karena dapat memberikan informasi pemesanan ruang secara real-time dan pengurangan bandwith dalam pengiriman dan penerimaan data.

Saran untuk penelitian mengenai pembuatan aplikasi pemesanan ruang pada Android adalah pembuatan database local pada perangkat Android agar aplikasi dapat berjalan ketika tidak terhubung dengan server di FTI untuk mengurangi pemakaian bandwith serta penambahan fungsi untuk melakukan sinkronisasi data dengan database server.

-5 0 5 10 15 20 25 30 35 40

1 10 100 1000

ByteMillions

Client

Get Event HTTP Get Event WS

(19)

14 6. Daftar Pustaka

[1] Brian Gideon, Yos Richard Beeh, 2013, Sistem Pencatatan Ruang yang Terintegrasi dengan Google Calendar (Studi Kasus: Sarana dan Prasaran Fakultas Teknologi Informasi), Jurnal. Salatiga. Fakultas Teknolgi Informasi, Universitas Kristen Satya Wacana.

[2] Wang, Vannesa, Frank Salim, Peter Moskovits, 2013, The Definitive Guide to HTML5 WebSocket: Build Real-Time Applications With HTML5, Apress Media LLC, New York.

[3] Qigang Liu, Xiangyang Sun, 2012, Research of Web Real-Time Communication Based on Web Socket, Int. J. Communication, Network and System Sciences Vol. 5, Sydney Institute of Language & Commerce, Shanghai University.

[4] I Fette, A Melnikov, 2011, The WebSocket Protocol, http://tools.ietf.org/html/rfc6455. Diakses pada tanggal 7 Oktober 2013.

[5] Hasibuan, Zainal A., 2007, “Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi”, Jakarta : Ilmu Komputer Universitas Indonesia.

[6] Pressman, Roger S., 2001. Software Engineering a Practitioner’s Approach, New York: McGraw-Hill Higher Education.

[7] Autobahn WebSocket, 2013, WebSocket Client Library for native Java Android Application, http://autobahn.ws/, Diakses pada tanggal 20 September 2013.

[8] Rensis Linkert, 1932, A Technique for The Measurement of Attitude, Archieves of Psychology Vol. 22 No. 140 Hal. 5-55, New York University.

[9] The Source for Java Technology Collaboration, 2013, Web Sockets SDK, https://websocket-sdk.java.net/, Diakses pada tanggal 20 September 2013.

Referensi

Dokumen terkait

Jenis penelitian yang digunakan dalam penulisan hukum ini adalah penelitian deskriptif. Penelitian ini bertujuan agar dapat memberikan gambaran yang jelas dan lengkap

Selain dari dana perimbangan tersebut pemerintah daerah juga mempunyai sumber pendanaan sendiri berupa Pendapatan Asli Daerah (PAD), Pembiayaan dan Lain-lain

Dari Tabel 4.3 dapat dilihat bahwa pada tahun 2010 semua variabel independen mempunyai nilai VIF kurang dari 10 dan nilai tolerance lebih besar dari 0,1, artinya data penelitian

Kementerian Energi dan Sumber Daya Mineral melalui Ditjen Energi Baru dan Terbarukan Konservasi Energi (EBTKE) telah membangun pembangkit listrik di lokasi

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi ini sebagai salah satu

Berdasarkan hasil penelitian yang telah dilakukan dapat disimpulkan bhwa pengujian dan evaluasi data serta pembahasan pada setiap spesimen dilakukan proses pengecoran dengan

memuat paling sedikit 30% (tiga puluh perseratus) keterwakilan perempuan”, Pasal 55 ayat (2) yang isinya “Di dalam daftar bakal calon sebagaimana dimaksud pada ayat (1), dalam setiap

transnasional dan Islam kultural dalam dunia akademik atau dalam kajian ilmiah digunakan sebagai pisau analisis dalam membantu menjelaskan fenomena sosial tentang