2012-1-00457-IF Ringkasan001
2012-1-00457-IF Ringkasan001
TIME DOODLE
DENGAN TEKNIK NON BLOCKING
MENGGUNAKAN NODE.JS
DI LINGKUNGAN JARINGAN WLAN
Triatmaji Dewantoro
Yoshua Norza
Ricky Adrian
Robby Saleh
Universitas Bina Nusantara, Jl. Syahdan No. 9, 021-5345830, rickyadrian65@gmail.com;
triatmaji20@gmail.com; yoshuanorza@gmail.com;
ABSTRAK
Platform node.js memiliki beberapa keunggulan yang dapat membatu sebuah aplikasi web berjalan lebih
baik dengan tidak membebani server dan jaringan. Selain node.js, penelitian ini juga menggunakan
framework dan template engine pendukung lainnya. Seperti socket.io, express.js, jade dan stylus.
Metodologi penelitian menggunakan metode incremental development yang merupakan salah satu metode
dalam software development lifecycle. Tujuan dari penelitian ini adalah untuk menghasilkan sebuah aplikasi
instant messaging dengan fitur real time doodle yang diujicobakan dalam sebuah jaringan WLAN. Pada
tahap evaluasi dilakukan uji coba terhadap kinerja aplikasi, fitur-fitur unggulan yang dimiliki node.js dan
framework pendukung lainnya. Dari penelitian ini hasil yang didapatkan adalah CPU usage lebih kecil
79.16% di sisi server dan 33.33% di sisi client dibandingkan dengan aplikasi instant messaging yang
menggunakan PHP. Selain itu dihasilkan juga bahwa aplikasi ini tidak mengharuskan server untuk selalu
melakukan check terhadap request karena menggunakan teknologi push. Berbeda dengan teknologi pull
yang selalu melakukan check sehingga terjadi perubahan memory dalam beberapa waktu meskipun dalam
kondisi tidak ada activity.
Kata kunci: Instant Messaging, Doodle, Non-Blocking, Node.js, Socket .io, Express.js.
1. PENDAHULUAN
1.1
Latar Belakang
Jejaring sosial dalam satu dekade terakhir seolah menjadi sebuah fenomena di seluruh dunia.
Dari berbagai macam jejaring sosial yang kini tersedia, Instant Messaging (IM) adalah salah satu yang
paling banyak digunakan. Dalam sebuah laporan analysysmason.com dinyatakan bahwa 45% dari
pengguna smartphone lebih memilih menggunakan fasilitas instant messaging dibandingkan dengan
text messaging tradisional (SMS) (analysysmason.com). Dari hasil laporan tersebut, disimpulkan
bahwa aplikasi chat (instant messaging) secara real time dengan tidak membebani jaringan dan client
devices sudah menjadi alternatif yang signifikan dalam teknologi komunikasi.
Selain itu hadir pula teknologi Node.js. Sebuah platform yang dirancang untuk pengembangan
aplikasi web dan diimplementasikan di server. Node.js mampu melakukan proses baik secara blocking
(synchronous) maupun non-blocking (asynchronous). Dengan kemampuan Node.js yang dapat
melakukan non-blocking, maka terbuka kemungkinan untuk membuat aplikasi web instant messaging
yang ringan, real-time dan efisien (nodejs.org). Node.js juga dapat diintegrasikan dengan socket.io
yang merupakan framework dari websocket. Dengan websocket, antara client dan server dapat saling
melakukan push message kapan saja (WebSocket.org).
Aplikasi ini akan dibuat berdasarkan ide untuk membuat aplikasi instant messaging dan doodle
dengan menggunakan teknologi yang dapat mengurangi beban server, jaringan dan client. Dengan
penelitian ini, diharapkan terbentuk sebuah sistem baru yang dapat menjadi alternatif di antara aplikasi
instant messaging yang sudah ada.
1.2
Kajian Pustaka
Node.js merupakan sebuah platform yang dirancang untuk web server. Platform ini ditulis dalam
bahasa JavaScript dan menggunakan teknik non-blocking atau asynchronous untuk mempercepat
proses. Dalam asynchronous sebuah operasi tidak harus menunggu selesai dikerjakan untuk
melakukan operasi yang lain (Leonard, A. 2011. p216). Tidak seperti PHP, ASP.NET, Java,
ColdFusion, Perl, Ruby dan Python yang masih banyak digunakan sebagai aplikasi web server,
penggunaan Node.js sebagai aplikasi web server masih sangat jarang karena Node.js baru
diperkenalkan pertama kali awal tahun 2011 oleh Ryan Lienhart Dahl. Menurut hasil survey dari
W3Techs.com, penggunaan PHP sebagai server-side programming language adalah yang paling
banyak hingga mencapai 78.7 %. Kemudian diikuti oleh ASP.NET sebanyak 20.1 %, Java 4.1 %,
ColdFusion 1.1 %, Perl 0.8 %, Ruby 0.5 % dan Phyton 0.2 %. (W3Techs.com)
Node.js bukanlah yang pertama kali menerapkan teknik non-blocking ini. Perl, Ruby dan Phyton
juga menerapkan teknik non-blocking. Perbedaannya adalah implementasi. Node.js lebih mudah
karena menggunakan JavaScript dan kebanyakan web programmer sudah terbiasa menggunakan
Javascript.
Selain itu, Node.js juga dapat diintegrasikan dengan teknologi WebSocket. Salah satu
framework WebSocket yang dapat digunakan oleh Node.js adalah socket.io. Dengan WebSocket,
antara client dan server dapat saling melakukan push message kapan saja (WebSocket.org).
Keunggulan lain dari socket.io adalah cross browser yang berarti aplikasi web yang dibuat dapat
dijalankan di browser manapun.
Melihat kelebihan-kelebihan tersebut ada peluang yang memungkinkan untuk dibuatnya sistem
yang lebih baik dengan tidak membebani kerja server. Untuk pembuktian hipotesis tersebut, maka
dibuatlah sebuah aplikasi web instant messaging dan real time doodle yang diperuntukkan dan akan
diuji coba pada jaringan WLAN.
2. METODE PENELITIAN
Metodologi yang digunakan untuk mencapai tujuan dan manfaat adalah sebagai berikut:
1. Studi Pustaka
Studi pustaka dilakukan dengan pengkajian skripsi, jurnal dan text book yang berhubungan
dengan penelitian.
2. Perancangan
Perancangan aplikasi yang kami lakukan menggunakan incremental model yang terdiri dari:
a. Communication
Mengumpulkan requirement yang dibutuhkan untuk pembangunan aplikasi.
b. Planning
Membuat estimasi dan perencanaan kerja.
c. Modelling
Analisis: melakukan analisis terhadap requirement yang dibutuhkan.
Desain: membuat perancangan sesuai dengan hasil dari analisis.
Perancangan dilakukan dengan menggunakan UML.
d. Construction
Coding.
Testing.
e. Deployment
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
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 Saran
Berdasarkan penelitian yang telah dilakukan dan hasil evaluasi, maka disarankan:
1. Aplikasi dapat diimplementasikan pada suatu jaringan Wi-Fi internal yang telah memiliki
jumlah pengguna tetap yang banyak.
2. Aplikasi dapat dibuat sebagai client native application pada berbagai platform mobile device
seperti Android, Blackberry, atau iOS.
5. REFERENSI
Analysys Mason. (2012).Almost Half of Consumers with Smartphones Use Instant or Over-The-Top
Messaging Services and One in Five Use VOIP Apps. Diperoleh (22-01-2012) dari
http://www.analysysmason.com/About-Us/News/Press-releases1/Consumer-voice-messaging-PROct2012/.
Kaazing Corporation. (n.d). Diperoleh (12-24-2013) dari http:// websocket.org.
Leonard, A. (2011). Pro Java 7 NIO 2. New York: Apress.
Node.JS Org. (n.d). Diperoleh (01-07-2013) dari http://nodejs.org/.
6. RIWAYAT PENULIS
Nama
Tempat Tanggal Kelahiran
Pendidikan Akhir
Pekerjaan
Pengalaman Organisasi
2007-2009
:
:
:
:
:
:
Triatmaji Dewantoro
Jakarta, 11 April 1991
Teknik Informatika S1, BINUS UNIVERSITY
Mahasiswa
Nama
Tempat Tanggal Kelahiran
Pendidikan Akhir
Pekerjaan
Pengalaman Organisasi
2006-2009
2009-2010
:
:
:
:
:
:
:
Yoshua Norza
Jakarta, 11 Mei 1991
Teknik Informatika S1, BINUS UNIVERSITY
Wiraswasta dan Instruktur Binus Center paruh waktu
Nama
Tempat Tanggal Kelahiran
Pendidikan Akhir
Pekerjaan
Pengalaman Organisasi
2010-2011
2011-2012
2013-2014
:
:
:
:
:
:
:
:
Nama
Tempat Tanggal Kelahiran
Pendidikan Akhir
Pekerjaan
:
:
:
: