76
BAB 4
IMPLEMENTASI DAN EVALUASI
4.1Spesifikasi Sistem
Untuk mengimplementasikan aplikasi instant messaging dan doodleyang telah dirancang, diperlukan spesifikasi perangkat lunak, perangkat keras dan jaringan yang akan dirinci sebagai berikut.
4.1.1 Spesifikasi Perangkat Lunak
1. Perangkat lunak yang dibutuhkan untuk komputer server antara lain: a. Sistem Operasi Linux atau Windows atau Macintosh atau Solaris b. DBMS PhpMyAdmin versi3.4.5 dan MySQL versi 5.5
c. Node.js versi 0.8.15
d. Framework Express.js versi 2.5.8
e. Socket.ioclient module untuk Node.js versi 0.9.13 f. Stylusclient module untuk Node.js versi 0.0.1
g. Jadeclient module untuk Node.js versi 0.0.1
h. Mysqlclient module untuk Node.js versi 2.0.0-alpha5 i. NPM versi 1.0.x
2. Perangkat lunak yang dibutuhkan untuk komputer client antara lain: a. Sistem Operasi Linux atau Windows atau Macintosh atau Solaris
b. Web Browser Mozilla firefox atau Google Chrome atau Internet
Explorer
4.1.2 Spesifikasi Perangkat Keras
1. Perangkat keras yang dibutuhkan untuk komputer server antara lain: a. Processor Intel®Core™2 Duo CPU 2.2 GHz
b. Memory SDRAM DDR3 1 GB c. Wi-Fi Integrated 802.11b//g/n
2. Perangkat keras yang dibutuhkan untuk komputer user antara lain: a. Processor Intel®Core™2 Duo CPU 2.2 GHz
b. Memory SDRAM DDR3 1 GB c. Wi-Fi Integrated 802.11b//g/n 3. Spesifikasi jaringan yang dibutuhkan
a. Router TL-MR3020
4.2Evaluasi Sistem
Untuk membuktikan kelebihan dari teknologi node.js yaitu non-blockingdan
push, maka kami akan melakukan pengujian terhadap aplikasi yang telah kami
buat.
4.2.1 Pengujian Teknik Non-Blocking 4.2.1.1Tujuan
Tujuan dari pengujian ini adalah untuk membuktikan bahwa dengan teknik non-blockingtransaksi yang dilakukan clientyang memerlukan proses pada server, seperti chatting yang memerlukan proses
penyimpanan pada database server,akan terproses dengan cepat. Cepat dalam arti pesan cepat disampaikan kepada user lain yang menjadi tujuan namunpesan tetap tersimpan di dalam database server. Tidak seperti teknik blockingyang harus menunggu proses pencatatan pada
databaseserver selesai,lalu setelah itu baru mengirimkan pesan kepada user lain yang menjadi tujuan.
4.2.1.2Skenario Pengujian
Untuk dapat memperlihatkan dengan jelas perbedaan kecepatan dari teknik non-blocking dan blocking, maka pengujian ini tidak dilakukan langsung terhadap aplikasi instant messaging.Alasannya karena membutuhkan user yang banyak untuk menjalankan aplikasi instant
messaging agar perbedaan kecepatan terlihat jelas.Pengujian ini dilakukan
dengan menjalankan 2 program sederhana yang di-code dengan teknik
non-blocking dan blocking dari node.js.Program ini menjalankan 2 proses
yang berurutan. Proses yang pertama menjalankan looping yang selanjutnya menampilkan kata “Thanks for waiting!” pada browser. Proses yang kedua menampilkan kata “Hello!”. Program yang dijalankan dengan teknik blocking menggunakan port8000, sedangkan program yang dijalankan dengan teknik non-blocking menggunakan port 8080.
Berikut adalah prosedur pengujian yang kami lakukan.Pertama, kami membuka 2 jendela command window untuk menjalankan server port 8000 dan 8080. Kedua, kami membuka 2 window browser, yaitu Google Chrome,yang masing-masing digunakan untuk menjalankan program yang
di-code dengan teknik blocking dan non-blocking. Berikut adalah program yang ditulis dengan teknik blocking.
Gambar 4.1Coding Blocking
Berikut adalah program yang ditulis dengan dengan teknik non-blocking yang terdiri dari 2 file, yaitu block.js yang berisi proses pertama yaitu
looping dan nonblocking.js yang merupakan program utama yang berisi
pemanggilan proses pertama melalui file block.jsdan proseskedua.
Gambar 4.3Coding Non-Blocking, file nonblocking.js
4.2.1.3Hasil Pengujian
Setelah dilakukan pengujian kami mendapatkan hasil sebagai berikut. Pada browser pertama yang digunakan untuk menjalankan program dengan teknik blocking, program ini mengeksekusi proses pertama pada saat t = 0 detik.. Proses pertama melakukan looping dan selesai saat t = 21 detik lalu menampilkan kata “Thanks for waiting!”. Sesaat setelah itu proses yang kedua dieksekusi, yaitu menampilkan kata “Hello!”.
Sedangkan pada browser kedua yang digunakan untuk menjalankan program dengan teknik non-blocking, program ini mengeksekusi proses pertama saat t = 0 detik. Ketika proses pertama ini sedang dieksekusi,
sesaat itu proses kedua langsung dieksekusi dan menampilkan kata ”Hello!”. Pada saat t = 20 detik, proses pertama selesai dieksekusi dan menampilkan kata “Thanks for waiting!”.
4.2.1.4Analisis Hasil Pengujian dan Kesimpulan
Dari hasil yang didapat, program yang dijalankan dengan teknik
blocking berjalan dengan sequence. Artinya proses yang kedua harus
menunggu proses pertama sampai selesai untuk dapat dieksekusi. Sedangkan pada teknik non-blocking, proses kedua dapat langsung dieksekusi setelah proses pertama dieksekusi tanpa harus menunggu proses pertama selesai dieksekusi.
Dengan demikian dapat disimpulkan bahwa teknik non-blocking program yang dibuat dapat berjalan lebih optimal dan cepat dibandingkan dengan teknik blocking.
4.2.2 Pengujian Kompatibilitas Browser 4.2.2.1Tujuan
Tujuan dari pengujian ini adalah untuk membuktikan bahwa aplikasi yang dibuat dapat dijalankan oleh user di browser manapun.
4.2.2.2Skenario Pengujian
Untuk menguji seberapa kompatibel aplikasi instant messaging dan
doodle yang dibuat dengan browser maka dilakukan pengujian dengan
pengujian aplikasi webakan dijalankan pada browser Google Chrome, Mozilla Firefox dan Internet Explorer.
4.2.2.3Hasil Pengujian
Dari pengujian yang dilakukan, kami mendapatkan tampilan-tampilan sebagai berikut untuk masing-masing browser yang diujikan.
Gambar 4.5
Berikut adalah tampilan halaman chat in room.
Berikut ini adalah tampilan aplikasi pada halaman doodle.
Gambar 4.12 Halaman Doodle pada Internet Explorer
4.2.2.4Analisis Hasil Pengujian dan Kesimpulan
Berdasarkan hasil pengujian yang didapat, aplikasi instant
messagingyang dibuat dengan node.js dapat berjalan di Google Chrome,
Mozilla Firefox dan Internet Explorer. Demikian juga dengan fitur doodle, setiap browser yang diujikan juga dapat menjalankan fitur ini. Perbedaannya hanya dari tampilan yang tidak begitu mencolok.Hal ini menunjukkan bahwa aplikasi web yang dibuat dengan teknologi Node.js mempunyai kompatibilitas yang baik terhadap setiap browser.
4.2.3 Pengujian Fitur Doodle 4.2.3.1Tujuan
Tujuan dari pengujian ini adalah untuk membuktikan apakah fitur
doodle yang dibuat sudah dapat berjalan dengan baik atau belum.
4.2.3.2Skenario Pengujian
Pengujian fitur doodleakan dilakukan dengan menggunakan 2 komputer yang sedang aktif menggunakan aplikasi ini. Kedua komputer tersebut kemudian mengaktifkan fitur chat personally agar dapat mengaktifkan fitur doodle. Setelah itu, masing-masing komputer mengaktifkan fitur doodle dengan mengklik fitur doodle.
Pengujian dilakukan sebanyak dua kali.Pada pengujian I komputer pertama menggambar garis lurus dari atas ke bawah di sebelah kiri sehingga garis lurus yang digambar juga muncul secara real time pada layar komputer dua.Kemudian komputer kedua menggambar garis lurus dari atas ke bawahdi sebelah kanan sehingga garis lurus yang digambar juga muncul secara real time pada layar komputer satu.Pada pengujian II juga dilakukan hal yang sama seperti pengujian I.
4.2.3.3Hasil Pengujian
Berikut ini adalah data hasil pengujian doodle yang didapatkan setelah melakukan pengujian doodle.
Gambar 4.13 Tampilan Doodle di Komputer 1 pada Pengujian I
Gambar 4.15 Tampilan Doodle di Komputer 1 pada Pengujian II
4.2.3.4Analisis Hasil Pengujian dan Kesimpulan
Pada pengujian doodle yang pertama, garis yang dibuat oleh komputer 1 menampilkan garis yang sama di komputer 2.Begitu juga sebaliknya, garis yang dibuat oleh komputer 2 menampilkan garis yang sama di komputer 1. Dan pada pengujian yang kedua, garis yang dibuat oleh komputer 1 menampilkan garis yang sedikit berbeda di komputer 2.Pada komputer 2 muncul garis tambahan yang menghubungkan garis pertama dan garis kedua yang dibuat oleh komputer 1.Begitu juga sebaliknya, garis yang dibuat oleh komputer 2 menampilkan garis yang sedikit berbeda di komputer 1. Pada komputer 1 muncul garis tambahan yang menghubungkan garis pertama dan garis kedua yang dibuat oleh komputer 2.
Berdasarkan hasil tersebut dapat disimpulkan bahwa fitur doodle yang dikembangkan masih mengandung bugs sehingga hasil yang didapatkan belum sempurna. Hal tersebut kemungkinan besar dikarenakan adanya perintah-perintah pemrograman yang tidak terkirim dari komputer 1 ke komputer 2, ketika di komputer 1 dilakukan aksi penggambaran lalu dilakukan penggambaran selanjutnya. Begitu pula yang terjadi sebaliknya jika aksi penggambaran dilakukan oleh komputer 2.Sehingga terjadi kesalahan dalam menampilkan penggambaran dari aksi komputer 1 di komputer 2 atau sebaliknya. Dengan demikian fitur doodle ini masih membutuhkan perbaikan untuk mendapatkan hasil yang lebih baik sehingga user dapat menggunakan fitur ini dengan nyaman.
4.2.4 Pengujian Pemakaian CPU (CPU usage) 4.2.4.1Tujuan
Tujuan dari pengujian ini adalah untuk membuktikan bahwa aplikasi
instant messaging dan doodle yang dibangun memiliki CPU usage atau
pemakaian CPU yang kecil baik dari sisi server maupun client.
4.2.4.2Skenario Pengujian
Pada pengujian ini akan dilakukan perbandingan antara aplikasi
instant messagingyang dibuat dengan Node.js dan aplikasi yang dibuat
dengan PHP versi 3.01. Aplikasi PHP yang diuji menggunakan teknik
blocking dan teknologi pull.Webserver yang digunakan pada aplikasi PHP
adalah Apache versi 2.2. Sedangkan aplikasi yang dibuat dalam penelitian ini menggunakan teknik non-blocking dan teknologi push. Dengan demikian akan terlihat perbandingan CPU usage antara aplikasi instant
messaging yang dibangun dengan Node.js dan yang dibangun dengan
PHP.
Pengujian CPU usage pada server dilakukan dengan menggunakan
resource monitor yang merupakan utility bawaan dari Windows.
Sedangkan di sisi clientmenggunakan task manageryang dimiliki oleh browser Google Chrome. Masing-masing pengujian dilakukan sebanyak dua kali.Pengujian pertama dilakukan ketika client tidak melakukan
chatting(idle).Dan pengujian kedua dilakukan ketika client melakukan
4.2.4.3Hasil Pengujian.
Tabel 4.1 Penggunaaan CPU Server Aplikasi Instant Messaging Node.jspada Pengujian I
Proses CPU Usage (%) node.exe 0
cmd.exe 0 conhost.exe 0
Tabel 4.2 Penggunaan CPU ServerAplikasi Instant Messaging PHP pada Pengujian I
Proses CPU Usage (%) httpd.exe 0.08
Tabel 4.3 Penggunaaan CPUClientAplikasi Instant Messaging
Node.jspada Pengujian I
Proses CPU Usage (%) Tab:beeChat 0
Tabel 4.4 Penggunaaan CPUClientAplikasi Instant Messaging PHP pada Pengujian I
Proses CPU Usage (%) Tab: Chat 2
Tabel 4.5 Penggunaaan CPU Server Aplikasi Instant Messaging Node.jspada Pengujian II
Proses CPU Usage (%) node.exe 0.05
cmd.exe 0 conhost.exe 0
Tabel 4.6 Penggunaan CPU ServerAplikasi Instant Messaging PHP pada Pengujian II
Proses CPU Usage (%) httpd.exe 0.24
Tabel 4.7 Penggunaaan CPUClientAplikasi Instant Messaging
Node.jspada Pengujian II
Proses CPU Usage (%) Tab:beeChat 6
Tabel 4.8 Penggunaaan CPUClientAplikasi Instant Messaging PHP pada Pengujian II
Proses CPU Usage (%) Tab: Chat 8
4.2.4.4Analisis Hasil Pengujian dan Kesimpulan
Berdasarkan hasil pengujian, pada pengujian I server Node.js memiliki CPU usage0 % dan client memiliki CPU usage 0%.Sedangkan
server PHP memiliki CPU usage0.08 % dan client memiliki CPU usage 2
%.Pada pengujian II, serverNode.js memiliki CPU usage 0.05 % dan
client memiliki CPU usage 6%.Sedangkan server PHP memiliki CPU usage 0.24 % dan client memiliki CPU usage8%.
Dengan demikian dapat disimpulkan bahwa aplikasi instant
messaging yang dibangun dengan Node.js di sisi server memiliki CPU usage yang lebih kecil 79.16 % dibandingkan dengan aplikasi instant messaging PHP. Dan aplikasi instant messaging yang dibangun dengan
Node.js di sisi client memiliki CPU usage yang lebih kecil 33.33 % dibandingkan dengan aplikasi instant messaging PHP.
4.2.5 Pengujian Teknologi Push 4.2.5.1Tujuan
Tujuan dari pengujian ini adalah untuk membuktikan bahwa aplikasi yang dibuat menggunakan teknologi push.
4.2.5.2Skenario Pengujian
Pada pengujian ini dilakukan perbandingan dengan teknologipull. Untuk pembandingnya adalah aplikasi instant messaging sederhana dengan teknologi pulldan teknologi blockingyang menggunakan PHP versi 3.01.Web server yang digunakan adalah Apache versi 2.2.
Pengujian ini dilakukan dengan menggunakan taskmanager dari browser Google Chrome.Pada task manager terdapat memory yang menjadi indikator apakah aplikasi menggunakan teknologi push atau menggunakan teknologi pull. Aplikasi yang menggunakan teknologi push, akan terjadi perubahan pada memory setiap kali ada activity yang dilakukan oleh client. Sedangakan aplikasi yang menggunakan teknologi
pull akan terjadi perubahan pada memory setiap beberapa waktu walaupun
tidak ada activity yang dilakukan oleh client.
Masing-masing aplikasi diuji dalam keadaan idle dan akan dilihat perubahan memory yang terjadidalam waktu 5 detik.
4.2.5.3Hasil Pengujian
Pada aplikasi instant messaging Node.js, saat t = 0 detik memilikimemory= 16448 KB. Kemudian saat t = 5 detik, memory = 16448 KB. Sedangkan pada aplikasi instant messaging PHP, saat t = 0 detik memiliki memory= 15804 KB. Kemudian saat t = 5 detik, memory = 15924 KB.
4.2.5.4Analisis Hasil Pengujian dan Kesimpulan
Berdasarkan hasil pengujian, pada aplikasi instant messaging Node js tidak terjadi perubahan memory dalam waktu 5 detik.Sedangkan pada aplikasi instant messaging PHP terjadi perubahan memory dalam waktu 5 detik.Dengan demikian dapat disimpulkan bahwa aplikasi instant
mengharuskan server untuk selalu mengecek apakah ada request yang masuk atau tidak.Berbeda dengan teknologi pull yang selalu mengecek
request dari client sehingga terjadi perubahan memory setiap beberapa
waktu.
4.2.6 Evaluasi Kuesioner
Untuk dapat mengevaluasi sistem secara keseluruhan maka dilakukan juga evaluasi melalui kuesioner.Kuesioner ini disebarkan ke 25 mahasiswa BINUS secara acak.Berikut ini merupakan pertanyaan dari kuesioner yang disebarkan beserta hasil evaluasinya.
Gambar 4.17 Hasil Evaluasi Pertanyaan 1
Gambar 4.19 Hasil Evaluasi Pertanyaan 3
Gambar 4.20 Hasil Evaluasi Pertanyaan 4
Gambar 4.22 Hasil Evaluasi Pertanyaan 6.1
Gambar 4.23 Hasil Evaluasi Pertanyaan 6.2
Gambar 4.25 Hasil Evaluasi Pertanyaan 7
Gambar 4.26 Hasil Evaluasi Pertanyaan 8
Gambar 4.27 Hasil Evaluasi Pertanyaan 9
4.2.7 Evaluasi Tampilan Antarmuka
Untuk tampilan antarmuka, dilakukan evaluasi berdasarkan delapan aturan emas.
1. Konsistensi
Tampilan antarmuka aplikasi menggunakan warna dan layout yang konsisten di setiap halamannya.
Gambar 4. 29 Evaluasi Konsistensi.
2. Melayani Kebutuhan Universal
Tampilan dirancang sesederhana mungkin agar user yang pemula ataupun yang sudah biasa dapat mudah menggunakannya.
3. Memberikan Umpan Balik yang Informatif
Ketika user salah memasukan input pada saat melakukan login,akan muncul sebuah peringatan yang menginformasikan bahwa input yang diberikan user salah.
Gambar 4. 30 Evaluasi Umpan Balik yang Informatif Saat User Salah Memasukan Input Username atau Password Ketika Login
Gambar 4. 31 Evaluasi Umpan Balik yang Informatif Saat User Tidak Memasukan Input Username Ketika Login
Gambar 4. 32 Evaluasi Umpan Balik yang Informatif Saat User Tidak Memasukan Password Ketika Login
4. Merancang Dialog untuk Menghasilkan Suatu Penutupan
Umpan balik diberikan untuk mengindikasikan bahwa apa yang sudah dilakukan user benar. Hal ini dapat ditemukan pada saat user telah selesai melakukan registrasi.
Gambar 4. 33 Evaluasi Dialog untuk Menghasilkan Suatu Penutupan
5. Memberikan Penanganan Kesalahan yang Sederhana
Untuk mencegah kesalahan user dalam membuat password, pada saat melakukan registrasi terdapat dua kolom inputuntuk password.Dimana di kolom pertama ditujukan untuk password yang dikehendaki, dan kolom selanjutnya ditujukan untuk verivikasi password yang telah dimasukan.
Gambar 4. 34Evaluasi Penanganan Kesalahan Sederhana Ditunjukan pada KolomYour Password dan Verify Password
6. Mudah Kembali ke Tindakan Sebelumnya
Disediakannya button clean doodle di kiri atas area doodle yang memungkinkan user kembali ke aksi sebelumnya jika terjadi kesalahan pada saat melakukan doodle.
Gambar 4. 35 Evaluasi Mudah Kembali ke Tindakan Sebelumnya
7. Mendukung Pusat Kendali Internal
User menjadi pengendali sistem dan sistem akan merespon tindakan yang dilakukan pengguna.
8. Mengurangi Beban Daya Ingat
Tampilan antarmuka aplikasi menggunakan layout yang serupa di setiap halaman dan menggunakan button- button menu berupa tulisan bukan terwakili dalam bentuk gambar yang mengharuskan user mengingat kembali maksud dari gambar tersebut.