IMPLEMENTASI ONLINE JUDGE UNTUK PELATIHAN TIM PEMROGRAMAN BINUS

dokumen-dokumen yang mirip
ANALISIS DAN PERANCANGAN APLIKASI MONITORING AREA DENGAN WEBCAM PADA SMARTPHONE BERBASIS ANDROID

ANALISIS DAN PERANCANGAN SISTEM MANAJEMEN ANGGOTA KLUB SENI FOTOGRAFI BINA NUSANTARA BERBASIS WEB

ANALISIS DAN PERANCANGAN APLIKASI MANAJEMEN PENYEWAAN KAPAL BERBASIS WEB PADA PT. PATRIA MARITIM LINES

Nikholas Hadi Aurora Binus University, Jakarta, DKI Jakarta, Indonesia. Alvin Binus University, Jakarta, DKI Jakarta, Indonesia.

APLIKASI E-LEARNING BERBASIS WEB PADA SMK TELKOM JAKARTA

Website Content Management System Pada Badan Pekerja Daerah Gereja Bethel Indonesia Banten

PENGEMBANGAN SISTEM PEMBELAJARAN ONLINE PADA SOFTWARE LABORATORY CENTER BINUS UNIVERSITY

APLIKASI PENCARIAN RUMAH MAKAN BERBASISKAN GPS PADA PERANGKAT MOBILE ANDROID

Frendy Budiman Suherli. Binus University, Sukabumi, Indonesia, , Hendry Ciunardy

DAFTAR PUSTAKA.

KESIMPULAN DAN SARAN

APLIKASI PENDISTRIBUSIAN INFORMASI GANGGUAN LISTRIK BERBASIS ANDROID PADA PT. PLN (PERSERO) DISTRIBUSI JAKARTA RAYA DAN TANGERANG

ANALISIS DAN PERANCANGAN APLIKASI BASIS DATA UNTUK SISTEM PELAPORAN PADA LKPM BADAN KOORDINASI PENANAMAN MODAL

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK APLIKASI BANK SOAL PADA BINUS SCHOOL SERPONG

ANALISIS DAN PERANCANGAN BASIS DATA SISTEM E-LEARNING PADA SMA PGRI CIKAMPEK

APLIKASI PENDUKUNG GOOD ORGANIZATION GOVERNANCE (GOG) DI LINGKUNGAN STUDENT CREATIVITY DEVELOPMENT CENTER (SCDC) BINUS UNIVERSITY

ANALISIS DAN PERANCANGAN SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK SEBARAN RUMAH SAKIT DI WILAYAH JAKARTA BARAT

SISTEM BASIS DATA APLIKASI PERSEDIAAN BERBASIS WEB PADA PT. DANA PENSIUN BNI

PERANCANGAN APLIKASI DATABASE PERPUSTAKAAN BERBASIS WEBSITE DI SEKOLAH TUNAS BANGSA

SISTEM PENGELOLAAN FILE-FILE PROYEK BERBASIS WEB PADA PT. MITRA INTI PRANATA

ANALISIS DAN PERANCANGAN APLIKASI SISTEM BASIS DATA REPUBLIK BIKER BERBASIS WEB

PENJURIAN ONLINE BERBASIS WEB SERVICE

APLIKASI WEB PELACAK LOKASI KENDARAAN PENGIRIMAN BARANG MENGGUNAKAN GPS

APLIKASI PEMESANAN MAKANAN PADA ANDROID DENGAN KONSEP CLIENT-SERVER

Perancangan dan Pembuatan Sistem Informasi Akuntansi pada Perusahaan Mitra Produksi PT. Sampoerna

PEMBUATAN CONTENT MANAGEMENT SYSTEM (CMS) UNTUK SISTEM PENJURIAN LOMBA INFORMATICS LOGICAL PROGRAMMING COMPETITION DI UNIVERSITAS SURABAYA

APLIKASI PESAN ANTAR MAKANAN DENGAN MENGGUNAKAN LBS PADA SMARTPHONE ANDROID

ANALISIS DAN PERANCANGAN APLIKASI BASIS UNTUK ADMINISTRASI SISWA DAN GURU BERBASIS WEB PADA SMAN 90 JAKARTA

APLIKASI PENJUALAN ONLINE BERBASIS WEB PADA TOKO SEKHAR

APLIKASI RUTE ANGKUTAN UMUM BERBASIS WEB DENGAN PENCARIAN RUTE TERPENDEK

Perancangan Aplikasi Pencarian Tempat Wisata Berbasis GPS

ANALISIS DAN PERANCANGAN SISTEM ABSENSI DAN PENGGAJIAN PADA PT. ASKES (PERSERO) KANTOR CABANG ENDE NUSA TENGGARA TIMUR

DATABASE DESIGN UNTUK MENGELOLA MUTASI PEGAWAI PADA BADAN KEPEGAWAIAN DAERAH BERBASIS WEB

PERANCANGAN PERANGKAT AJAR PENGENALAN ORGAN ORGAN TUBUH MANUSIA BERBASIS MULTIMEDIA PADA SD BHAKTI JAKARTA BARAT

ANALISA DAN PERANCANGAN SISTEM INFORMASI GEOGRAFIS BERBASIS WEB UNTUK PENGALAMATAN JEMAAT DENGAN GOOGLE MAPS API

SISTEM BASIS DATA APLIKASI PEREKRUTAN KARYAWAN BERBASIS WEB PADA PT. ASTRA INTERNATIONAL, Tbk

ANALISIS DAN PERANCANGAN APLIKASI KELILING INDONESIA BERBASIS ANDROID

Pengembangan Sistem Simulasi Ujian Nasional Sekolah Menengah Atas (SMA) Online Berbasis Web

DAFTAR ACUAN. Bank Indonesia. (2007). Peraturan Bank Indonesia Nomor: 9/14/PBI/2007 Tentang Sistem Informasi Debitur. Jakarta

ANALISA DAN PERANCANGAN BERORIENTASI OBJEK PADA WEBSITE RENCANA PENGEMBANGAN PENDIDIKAN DASAR KOTA

BAB I PENDAHULUAN. pengembangan pendidikan di bumi nusantara ini adalah sekolah baik sekolah

Garis-garis Besar Program Pembelajaran (GBPP)

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK PEMESANAN HOTEL PEONY BERBASIS WEB

INSTITUT TEKNOLOGI BANDUNG SENIOR PROGRAMMING CONTEST 3 REGULASI DAN PERATURAN

APLIKASI RESERVASI JASA TRAVEL BERBASIS WEB PADA PT. HANNA KURNIA TRAVEL

ABSTRAK. Kata Kunci : Website Media Pembelajaran, SMK Teknik Komputer dan Jaringan, Use Case, Flowchart, ERD, AJAX, PHP, MySQL.

ANALISA DAN PERANCANGAN APLIKASI PERENCANAAN POLA MAKAN BERBASIS MOBILE

GAME Petualangan Bima Mengenal Rumah Adat di Indonesia berbasis Android

BAB I PERSYARATAN PRODUK

SISTEM BASIS DATA MANAJEMEN AKADEMIK BERBASIS WEB PADA SMA MUHAMMADIYAH 4 BANDUNG

PENGEMBANGAN APLIKASI FACEBOOK UNTUK ALUMNI PADA BINA NUSANTARA INTERNATIONAL SCHOOL SERPONG

Rancang Bangun Aplikasi Code Sharing Sebagai Alat Bantu Media Interaktif Perkuliahan Pada Mata Kuliah Pemrograman Web

BAB 1 PENDAHULUAN. kegiatan belajar mengajar yang efektif.

ANALISIS DAN PERANCANGAN SISTEM INFORMASI KULINER BERBASIS WEB

ANALISIS DAN PERANCANGAN BASIS DATA SISTEM E-LEARNING BERBASIS WEB PADA SMA NEGERI 65 JAKARTA

ANALISA DAN PERANCANGAN E-COMMERCE PADA PT. TOTALINDO SOLUSI ANDALAN

ANALISA DAN PERANCANGAN BASIS DATA SISTEM PENJADWALAN ADMINISTRASI DAN KEUANGAN SEKOLAH MUSIK CITRAS

ANALISIS DAN PERANCANGAN SISTEM MANAJEMEN AKTIVITAS BISNIS AGEN ASURANSI BERBASIS ANDROID PADA PT. BNI LIFE INSURANCE

ANALISIS DAN PERANCANGAN PERANGKAT AJAR MATEMATIKA UNTUK KELAS 5 SEMESTER 2 BERBASIS MULTIMEDIA PADA SD TARAKANITA 4

Aplikasi Penunjang Pengambilan Keputusan Untuk Pembelian Barang Pada UD. Naga Waja

Analisis dan Perancangan Perangkat Ajar Bahasa Jepang Berbasis Multimedia Untuk Siswa Kelas X UPTD SMA Negeri 7 Kota Tangerang

APLIKASI DAN PERANCANGAN SISTEM PENGADUAN MASYARAKAT TERHADAP PEMKAB MERANGIN BERBASIS WEB

ANALISIS DAN PERANCANGAN SISTEM DATABASE PENJUALAN UNTUK PT. SCORPIO SPORTS INDONESIA

PENGEMBANGAN APLIKASI PENJUALAN SPAREPART DI BENGKEL ANUGRAH JAYA MOTOR BERBASIS DESKTOP

BAB 1 PENDAHULUAN. perubahan dari sistem manual menjadi sistem komputerisasi berbasiskan teknologi

PERANCANGAN PROTOTIPE APLIKASI PARIWISATA BERBASIS MULTIMEDIA

BAB I PENDAHULUAN. 1.1 Latar Belakang

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PADA APLIKASI IT HELP DESK BERBASIS WEB DI PT. PANEN LESTARI INTERNUSA (SOGO)

RINGKASAN APLIKASI SISTEM PENYALURAN STUDI KE LUAR NEGERI BERBASIS WEB PADA EDUKARSA STUDENT SERVICE

Aplikasi Pendokumentasian Sumber Data ISO untuk Penjaminan Mutu Proses Program Studi

APLIKASI PENGELOLAAN DATA BAHAN BAKU HINGGA MENJADI PAKAIAN JADI BERBASIS WEB PADA ANGELA BUTIK

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA UNTUK PENJUALAN PADA PT.TETSIN MOCHI INDONESIA BERBASIS WEB

BAB II LANDASAN TEORI. Sistem dapat diartikan sebagai serangkaian komponen-komponen yang

APLIKASI SISTEM BASIS DATA PROSES PENERIMAAN CALON MAHASISWA BERBASIS WEB PADA PT EURO MANAGEMENT

Pengembangan Perangkat Lunak Untuk Model Pengelolaan Kuliah Bersama pada Karakteristik Lembaga Penyelenggara Berbeda

RANCANG BANGUN SISTEM PENDATAAN TUGAS AKHIR MAHASISWA PADA AMIK JTC SEMARANG BERBASIS WEB

BAB 8 KESIMPULAN DAN SARAN

PENGEMBANGAN SISTEM INFORMASI MANAJEMEN PRAKTIK INDUSTRI DI JURUSAN PENDIDIKAN TEKNIK ELKTRONIKA UNY BERBASIS WEBSITE MENGGUNAKAN YII FRAMEWORK

SISTEM APLIKASI POINT OF SALES BERBASIS WEB PADA PT. DIGITAL SYSTEM TECHNOLOGY

ANALISIS DAN PERANCANGAN E- MARKETING PADA VILLA CIPAYUNG

ANALISA DAN PERANCANGAN SISTEM INFORMASI GEOGRAFI UNTUK PERSEBARAN HUTAN BERDASARKAN FUNGSINYA DI PAPUA PADA KEMENTERIAN KEHUTANAN REPUBLIK INDONESIA

ANALISIS DAN PERANCANGAN SISTEM BASISDATA PERPUSTAKAAN PADA SEKOLAH SMA NEGERI 2 JAKARTA

APLIKASI PENYEDIA INFORMASI PRODUK DAN PENANDA STAN PADA PAMERAN MENGGUNAKAN QR CODE BERBASIS ANDROID

PERANCANGAN DAN IMPLEMENTASI SISTEM PENGENDALI PENGIRIMAN TABUNG GAS

DAFTAR PUSTAKA. Azis, M. F. (2005). Object Oriented Programming dengan PHP5. Jakarta: PT Elex

ANALISIS DAN PERANCANGAN E- LEARNING PADA INSTITUT PENDIDIKAN YAYASAN KENANG INDONESIA

PERANCANGAN SISTEM E-OFFICE PEMERINTAH DAERAH (Studi Kasus: Pemerintah Kota Salatiga)

ANALISIS DAN PERANCANGAN APLIKASI E- LEARNING BERBASIS WEB PADA SMAN 101 JAKARTA

ANALISIS DAN PERANCANGAN SISTEM BASIS DATA PADA PROSES PEMESANAN, PEMBAYARAN DAN PENGIRIMAN BERBASIS WEB PADA CV. MULTI SURYA MANUNGGAL

SISTEM PENGAMBILAN NOMOR ANTRIAN MELALUI PENDEKATAN UBIQUITOUS COMPUTING

APLIKASI MANAJEMEN PERPUSTAKAAN BERBASIS WEB MENGGUNAKAN FRAMEWORK LARAVEL PADA YAYASAN HOME (HOUSE OF MERCY)

SISTEM INFORMASI MANAJEMEN KEGIATAN ADMINISTRASI SERTIFIKASI PADA PT. PLN (PERSERO) PUSDIKLAT UNIT SERTIFIKASI

BAB 1 PENDAHULUAN Latar Belakang

INSTITUT TEKNOLOGI BANDUNG JUNIOR PROGRAMMING CONTEST 3

APLIKASI INVENTARIS BUKU UNTUK PERPUSTAKAAN BERBASIS WEB. Sir Kalifatullah Ermaya. Abstrak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Transkripsi:

IMPLEMENTASI ONLINE JUDGE UNTUK PELATIHAN TIM PEMROGRAMAN BINUS Felix Jingga Binus University, Jakarta, DKI Jakarta, Indonesia dan Ricky Winata Binus University, Jakarta, DKI Jakarta, Indonesia Abstrak Online judge adalah sistem yang menyediakan soal algoritma dan test data untuk menguji solusi dari soal algoritma tersebut. Tujuan dari penelitian ini adalah menyediakan sistem online judge dengan user interface berupa website untuk keperluan pelatihan tim pemrograman Binus. Metode yang digunakan adalah metode studi pustaka, metode analisis, dan metode perancangan. Dalam metode analisis dilakukan wawancara dan penyebaran kuesioner untuk mengetahui kebutuhan yang diperlukan dalam sistem online judge serta uji coba untuk menguji sistem penilaian online judge terhadap berbagai jenis masukan dan serangan yang berbahaya. Metode perancangan menggunakan unified modelling language untuk merancang sistem yang meliputi sistem web dan sistem penilaian. Hasil yang didapatkan adalah sistem online judge yang dapat mengadakan kontes pemrograman dengan sistem penilaian yang mampu menahan berbagai serangan berbahaya terhadap sistem. Simpulan yang diperoleh adalah

tersedianya sistem online judge yang siap dipakai untuk pelatihan tim pemrograman Binus. Kata Kunci: online judge, tim pemrograman Binus, website 1. Pendahuluan Belakangan ini, kontes pemrograman banyak diadakan oleh lembaga lembaga pendidikan seperti Indonesia National Contest (INC) oleh Binus, Pagelaran Mahasiswa Nasional Bidang Teknologi Informasi dan Komunikasi (Gemastik) oleh Direktorat Pendidikan, Institut Teknologi Bandung Programming Contest (ITBPC) oleh ITB, Computer Festival oleh UI, International Collegiate Programming Contest (ICPC) oleh ACM, dan sebagainya. Binus University mempunyai associate team yang disebut tim pemrograman Binus yang dibentuk khusus untuk berpartisipasi dalam kontes pemrograman tersebut. Kontes pemrograman merupakan lomba untuk mengukur kemampuan algoritma peserta dengan cara menyediakan soal algoritma untuk diselesaikan dengan bahasa pemrograman. Penilaiannya dilakukan dengan mengumpulkan source code dari perserta, mengompilasi source code menjadi program, dan menguji kebenaran program berdasarkan input data dan output data yang disediakan. Untuk mempersiapkan tim pemrograman Binus dalam kontes pemrograman diperlukan pelatihan untuk menyelesaikan soal algoritma. Pelatihan tersebut memerlukan proses penilaian yang sama dengan proses penilaian pada lomba. Proses penilaian secara manual dalam pelatihan mempunyai banyak kekurangan seperti

pelatihan hanya dapat dilakukan pada waktu tertentu, memerlukan banyak sumber daya manusia dan komputer, dan terdapat faktor kelalaian manusia yang dapat menyebabkan kesalahan penilaian. Oleh karena itu diperlukan sistem untuk mengotomatiskan proses penilaian tersebut dalam pelatihan tim pemrograman Binus seperti online judge. Online judge adalah sistem yang menyediakan berbagai soal algoritma sebagai sarana untuk melatih kemampuan logika berpikir dan algoritma pemrograman dimana sistem ini menerima solusi untuk diuji kebenarannya dengan menggunakan test data yang sudah disediakan. Tim pemrograman Binus saat ini sudah menggunakan beberapa sistem online judge seperti Peking University Online Judge, Sphere Online Judge, dan Tian Jin University Online Judge. Tetapi online judge yang selama ini dipakai tidak mempunyai fasilitas untuk menambah soal algoritma, sehingga soal algoritma yang dapat digunakan hanyalah yang tersedia pada online judge tersebut. Fitur lain yang diperlukan adalah mampu mengadakan kontes pemrograman untuk menambah pengalaman tim pemrograman Binus dalam suasana kontes pemrograman. Untuk mengatasi kendala tersebut perlu dibuat online judge khusus untuk tim pemrograman Binus. Melalui sistem online judge khusus untuk tim pemrograman Binus, pelatih ataupun senior dapat menambah soal algoritma baru dan mengadakan kontes pemrograman. 2. Metodologi Ruang lingkup skripsi ini adalah merancang dan mengimplementasi sistem online judge dengan user interface berupa website untuk keperluan pelatihan tim pemrograman

Binus yang mendukung bahasa pemrograman GNU C dan GNU C++ serta dijalankan pada sistem operasi linux. Adapun pembahasan yang dilakukan meliputi sebagai berikut: Perancangan Implementasi Evaluasi 2.1. Perancangan Gambar 1. Rancangan Sistem Secara Logis Gambar 1 adalah gambaran logis sistem online judge secara keseluruhan. Awalnya user membuka website pada web server yang mendukung bahasa pemrograman PHP. Ketika user mengirim solusi, server memasukkan solusi ke database dan mengirim notification ke Submission manager melalui XMPP Server, kemudian submission manager menjadwalkan judge client untuk mulai melakukan proses judging terhadap solusi yang dikirim. Setelah selesai melakukan proses judging, maka judge client akan mengubah database sesuai dengan hasil judging.

2.2. Implementasi Implementasi akan dilakukan pada server dengan sistem operasi Ubuntu 10.10. Selain dibutuhkan server dengan sistem operasi Ubuntu, diperlukan juga apache sebagai web server dan ejabberd sebagai xmpp server. Bahasa pemrograman PHP, GNU C, GNU C++, dan database MySQL juga diperlukan untuk menjalankan sistem ini. 2.3. Evaluasi Evaluasi menggunakan uji coba dan stress testing terhadap sistem. Uji coba dilakukan untuk mengetahui seberapa tahan sistem terhadap berbagai serangan berbahaya. Stress testing bertujuan untuk mengetahui sumber daya yang digunakan oleh sistem. Uji coba dilakukan dengan mengirim berbagai bentuk solusi kepada sistem online judge untuk melihat hasil yang dikeluarkan oleh online judge dan untuk mengetahui seberapa tahan sistem online judge terhadap serangan berbahaya dari luar. Berikut adalah table hasil uji coba sistem: Tabel 1. Hasil Uji Coba Nomor uji coba Aspek yang diuji Hasil penilaian sistem online judge 1 Pengecekan compile error Compile Error 2 Mengakses file Compile Time Limit

/dev/urandom Exceeded 3 Pembagian dengan nol Run Time Error 4 Infinite loop Time Limit Exceeded 5 Menggunakan memori Memory Limit Exceeded berlebihan 6 Mengeluarkan output yang Output Limit Exceeded berlebihan 7 Algoritma yang salah Wrong Answer 8 Mengeluarkan sample Wrong Answer output 9 Mengeluarkan spasi Presentation Error berlebih pada solusi yang benar 10 Algoritma yang benar Accepted 11 Fork bomb Time Limit Exceeded 12 Menghapus file pada sistem Wrong Answer 13 Mengeluarkan daftar file Wrong Answer pada sistem

14 Membuka file test output Run Time Error yang tersedia pada sistem online judge Stress testing dilakukan dengan mengirim banyak solusi dan mengawasi penggunaan memori dan CPU yang digunakan oleh Submission manager yang menampung dan melakukan scheduling terhadap submission. Berikut adalah hasil stress testing: Tabel 2. Hasil Stress Testing Jumlah Memori (%) CPU (%) Submission 10 0.6 0.0 100 0.6 0.3 1000 0.6 0.8 3. Kesimpulan Berdasarkan hasil analisis dan perancangan serta implementasi dan evaluasi, maka dapat diambil simpulan sebagai berikut: 1. Tersedianya sistem online judge yang dapat digunakan untuk keperluan pelatihan tim pemrograman Binus.

2. Sistem online judge tahan terhadap berbagai serangan yang membahayakan sistem. 3. Sistem online judge dapat digunakan untuk menambah soal algoritma. 4. Sistem online judge dapat digunakan untuk mengadakan kontes pemrograman. 5. Sistem penilaian dapat digunakan untuk melakukan penilaian kebenaran solusi secara otomatis.

Daftar Pustaka [1] Agarwal, B. B., Tayal, S. P., & Gupta, M. (2010). Software Engineering & Testing. Jones & Bartlett Publisher. [2] Arefin, A. S., Rahman, M. A., Sharna, S. A., & Mahmud, S. (2005). Secured Programming Contest System with Online and Realtime Judgment Capability. [3] Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The Unified Modeling Language User Guide (2nd ed.). Addison-Wesley Professional. [4] Brucker, P. (2007). Scheduling Algorithms (5th ed.). Springer. [5] Connoly, T., & Begg, C. (2005). Database Systems : A Practical Approach to Design, Implementation, and Management (4th ed.). Addision-Wesley. [6] Cottet, F., Delacroix, J., Kaiser, C., & Mammeri, Z. (2002). Scheduling in Real-Time Systems. John Wiley & Sons, Ltd. [7] Forišek, M. (2006). Security of Programming Contest Systems. [8] Gilmore, W. J. (2010). Beginning PHP and MySQL From Novice to Professional. Apress. [9] Goldberg, I., Wagner, D., Thomas, R., & Brewer, E. (1996). A Secure Environment for Untrusted Helper Applications. Sixth USENIX UNIX Security Symposium. San Jose, California. [10] Kurnia, A., Lim, A., & Cheang, B. (2001). Online Judge. Computers & Education, 36, 299-315. [11] Manzoor, S. (2005). Analyzing Programming Contest Statistics. [12] Miles, R., & Hamilton, K. (2006). Learning UML 2.0. O'Reilly Media. [13] Moffitt, J. (2010). Professional XMPP Programming with JavaScript and jquery. Wiley Publishing, Inc. [14] Object Management Group. (2009, February 02). UML 2.2 Superstructure. Retrieved January 12, 2012, from Object Management Group (OMG): http://www.omg.org/spec/uml/2.2/superstructure/pdf/ [15] Pinedo, M. L. (2008). Scheduling : Theory, Algorithms, and Systems (3rd ed.). Springer. [16] Rainer, R. K., & Cegielski, C. G. (2010). Introduction to Information Systems (3rd ed.). John Wiley & Sons, Inc. [17] Rank of Participants Region 1 ACM Asian Programming Contest. (1996). Retrieved January 12, 2012, from http://uweb.txstate.edu/~ch01/rank96ka.htm

[18] Revilla, M. A., Manzoor, S., & Liu, R. (2008). Competitive Learning in Informatics: The UVa Online Judge Experience. Olympiads in Informatics, 2, 131-148. [19] Rosenberg, D., & Stephens, M. (2007). Use Case Driven Object Modeling with UML : Theory and Practice. Apress. [20] Saint-Andre, P., Smith, K., & Tromcon, R. (2009). XMPP : The Definitive Guide. O'Reilly Media. [21] Shneiderman, B., & Plaisant, C. (2010). Designing The User Interface : Strategies for Effective Human-Computer Interaction (5th ed.). Addison-Wesley. [22] TaiPei 97 Rank. (1997). Retrieved January 12, 2012, from http://uweb.txstate.edu/~ch01/taipei97rank.htm [23] Welling, L., & Thomson, L. (2009). PHP and MySQL Web Development (4th ed.). Pearson Education. [24] Whitten, J. L., & Bentley, L. D. (2005). Systems Analysis & Design Methods (7th ed.). McGraw-Hill.