bab 2 landasan teori

advertisement
BAB 2
LANDASAN TEORI
2.1 Jaringan Komputer
Jaringan komputer adalah kumpulan beberapa komputer dan perangkat lain yang
saling terhubung satu sama lain melalui sambungan komunikasi (Forouzan, B. A.,
2007, p8). Tujuan dari dibangunnya suatu jaringan komputer adalah :
-
membagi fungsi sumber daya seperti CPU, printer, RAM, harddisk
-
untuk tujuan komunikasi, contohnya surat elektronik dan instant messaging
-
akses informasi, contohnya web browsing
Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer
meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut
klien (client) dan yang memberikan layanan disebut pelayan (server). Arsitektur ini
disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi
jaringan komputer (Sulaeman, D, 2012).
5
6
2.1.1 Klasifikasi Jaringan Komputer
Jaringan komputer terbagi dalam beberapa klasifikasi, yaitu:
1. Berdasarkan Skala
- Local Area Network
Local Area Network atau yang biasa disebut LAN adalah jaringan komputer yang
jaringannya dimiliki secara pribadi. Seperti jaringan komputer kampus, kantor,
ataupun di rumah. Ukuran LAN dibatasi hanya dalam hitungan beberapa
kilometer (Forouzan, B. A., 2007, p13).
- Metropolitan Area Network
Metropolitan Area Network adalah sebuah jaringan yang memiliki besar antara
LAN dan WAN. Biasanya meliputi area didalam perkotaan. MAN biasanya
dirancang untuk konsumen yang membutuhkan koneksi internet yang cepat
(Forouzan, B. A., 2007, p15).
- Wide Area Network
WAN atau Wide Area Network adalah sebuah jaringan yang menyediakan
transmisi data jarak jauh yang mencakup area geografis yang besar . Seperti
negara, benua, atau bahkan seluruh dunia (Forouzan, B. A., 2007, p14).
7
2. Berdasarkan Fungsi
- Client-Server
Yaitu jaringan komputer dengan menggunakan komputer yang didedikasikan
khusus sebagai server. Sebuah service bisa diberikan oleh sebuah komputer atau
lebih. Atau bisa juga banyak service yang diberikan oleh satu komputer.
- Peer-to-peer
Peer to peer adalah konsep jaringan yang menghubungkan user yang satu
dengan user yang lain secara langsung tanpa harus melalui server. Setiap host
komputer dapat menjadi server atau client secara bersamaan. Sehingga setiap
komputer dapat menerima sekaligus memberikan akses pada komputer lain.
walaupun konsep peer to peer ini bisa diterapkan pada MAN atau WAN, peer to
peer lebih banyak digunakan pada LAN. Alasan utamanya adalah masalah
security. Mengingat akan cukup sulit mengawasi keamanan jaringan yang luas
(Henderson,H.2009).
3. Berdasarkan Media Transmisi Data
- Jaringan Berkabel (wired network)
Jaringan berkabel yaitu jaringan yang menggunakan kabel sebagai media
penghantar yang menghubungkan peralatan pada jaringan. Telepon dan cable TV
merupakan beberapa contoh jaringan berkabel (Parson, J.J., Oja,D. 2011, p256).
8
- Jaringan Nirkabel (wireless network)
Jaringan nirkabel atau Wi-Fi (wireless fidelity) atau disebut juga WLAN yaitu
jaringan yang menggunakan gelombang radio atau cahaya (laser, infrared)
sebagai media penghantar (Henderson,H, 2009, p513). Keuntungan dari jaringan
nirkabel adalah digantikannya peranan kabel sebagai penghantar yang dapat
memudahkan pengguna berpindah posisi tanpa terganggu masalah konektivitas
apabila menggunakan perangkat mobile (laptop atau smartphone).
2.1.2 Server
Server merupakan komputer dengan memory dan kapasitas hard disk yang besar
yang menjadi pusat dari sebuah jaringan komputer. Server bertugas untuk
menyediakan informasi dan layanan yang di request oleh user (Henderson, H.2009,
p507).
2.1.3 Access Point
Access point adalah peralatan yang digunakan pada wireless local area network
(WLAN). Access point bertugas mengatur dan menghubungkan beberapa peralatan
Wi-Fi. Access point dapat dianalogikan sebagai hub, hanya saja digunakan pada
wireless LAN. Access point juga bisa menggabungkan jaringan wireless dengan
wired dan dapat memperbesar jangkauan WLAN. (Sofana,I. 2008, 350)
2.2 Instant Messaging
Instant messaging atau IM adalah aplikasi berbasis internet yang menyediakan
komunikasi real-time antar penggunanya.( Chau, P.Y.K.,li, D., Lou, H. 2005)
9
Sebagian instant messaging dibuat untuk dapat berjalan di berbagai device baik
komputer desktop, komputer tablet, dan juga smartphone. Sebagian lainnya hanya
dapat dijalankan melalui device tertentu.
Instant messaging dianalogikan seperti sebuah percakapan telepon. Namun
dengan basis teks bukan suara. Instant messaging merupakan aplikasi yang realtime. Maksudnya adalah para penggunanya dapat saling berkomunikasi apabila
mereka dalam kondisi online dan sama-sama terhubung dengan aplikasi IM
(Pagani,M. 2005, p88).
2.3 Unified Modelling Language
Unified modelling language atau yang biasa disebut UML adalah permodelan
sistem/perangkat lunak secara visual. Dengan menggunakan model diharapkan
pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan
lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustnees, security,
dan sebagainya. (Whitten, 2007)
Tujuan dari dibuatnya permodelan adalah agar tercipta suatu arsitektur rancangan
yang mudah dipahami bahkan oleh orang lain selain programmer yang
membuatnya. Permodelan visual terdiri dari komponen-komponen beserta koneksikoneksi yang menggambarkan sistem tersebut.
Proses pembuatan UML biasa dilakukan pada tahap perancangan sebelum
dilakukannya pembuatan aplikasi. UML berfungsi sebagai bahan acuan bagi
programmer pada tahap pembuatan aplikasi. Jenis- jenis UML adalah sebagai
berikut :
10
1. Use Case Diagram
Diagram ini menggambarkan interaksi antara sistem dengan pengguna (user).
Dengan kata lain use case diagram menggambarkan siapa yang akan
menggunakan sistem dan bagaimana pengguna berinteraksi dengan sistem. Use
case narrative digunakan sebagai tambahan untuk menjelaskan interaksi secara
tekstual. (Bentley, L.D., Whitten, J.L. 2007, p382)
2. Class Diagram
Diagram ini menggambarkan kelas kelas objek yang membangun sebuah
sistem berikut dengan relasi antar kelas- kelas objek tersebut. (Bentley, L.D.,
Whitten, J.L. 2007, p382)
3. Sequence Diagram
Diagram ini menggambarkan bagaimana komunikasi antar objek terjadi
dalam sebuah use case atau operasi. (Bentley, L.D., Whitten, J.L. 2007, p382)
4. Activity Diagram
Diagram ini menggambarkan aliran urutan dari sebuah proses. (Bentley,
L.D., Whitten, J.L. 2007, p382)
5. Object Diagram
Diagram ini menggambarkan objek dengan nilai- nilai atributnya. (Bentley,
L.D., Whitten, J.L. 2007, p382)
11
6. State Machine Diagram
Diagram ini menggambarkan bagaimana sebuah event dapat merubah state
dalam suatu objek. (Bentley, L.D., Whitten, J.L. 2007, p382)
7. Composite Structure Diagram
Diagram ini menggambarkan struktur internal dari sebuah class, komponen,
atau use case. (Bentley, L.D., Whitten, J.L. 2007, p382)
8. Communication Diagram
Diagram ini menggambarkan komunikasi antar objek melalui pesan- pesan.
Diagram ini lebih berfokus pada organisai terstruktur pada sebuah format
jaringan. (Bentley, L.D., Whitten, J.L. 2007, p382)
9. Interaction Overview Diagram
Diagram ini menggabungkan fitur- fitur pada sequence dan activity untuk
menggambarkan bagaimana objek- objek beritneraksi dalam sebuah activity di
use case. (Bentley, L.D., Whitten, J.L. 2007, p382)
10. Timing Diagram
Diagram ini menggambarkan waktu pada perubahan state di sebuah objek
tunggal. (Bentley, L.D., Whitten, J.L. 2007, p382)
12
11. Component Diagram
Diagram ini menggambarkan organisasi kode- kode programming yang
dibagi menjadi komponen- komponen dan bagaimana interaksinya. (Bentley,
L.D., Whitten, J.L. 2007, p382)
12. Deployment Diagram
Diagram ini menggambarkan konfigurasi komponen- komponen perangkat
lunak di dalam arsitektur fisik sebuah sistem perangkat keras. (Bentley, L.D.,
Whitten, J.L. 2007, p382)
13. Package Diagram
Diagram ini menggambarkan bagaimana class- class dan UML lainnya
terorganisir dalam sebuah paket. (Bentley, L.D., Whitten, J.L. 2007, p382)
Semua diagram ini tidak mutlak harus digunakan dalam pengembangan
perangkat lunak. Cukup dibuat sesuai dengan kebutuhan. (Sulistyorini, P. 2009).
2.4 Web Browser
Web browser adalah aplikasi perangkat lunak yang berfungsi untuk mentransfer
informasi pada internet. Dengan begitu, pengguna dapat mengakses halaman web
pada internet. Selain itu web browser juga dapat digunakan untuk mengakses data
dalam web server di dalam sebuah jaringan yang tertutup. Beberapa browser yang
banyak digunakan adalah Chrome, Firefox, Opera, Safari, dan Internet Explorer
13
(W3.org). Web browser tidak hanya diperuntukan untuk komputer desktop saja.
Hadir pula mobile web browser yang
digunakan untuk telepon selular yang
memiliki kemampuan untuk mengakses internet.
Web browser mengirimkan request sebuah halaman web ke web server dengan
menggunakan alamat web tersebut. Kemudian server bertugas untuk mengirimkan
halaman web yang sesuai dengan request untuk selanjutnya ditampilkan di web
browser. Pada umumnya, web browser menyimpan file dan dokumen yang direquest
pada local cache. Cache berfungsi untuk mengurangi jumlah data yang harus dikirim
kembali jika web browser akan melakukan request terhadap halaman web yang
pernah diakses (Henderson, H.2009, p503).
Pada umumnya web browser memiliki fitur- fitur yang sama diantaranya adalah:
1. Navigation buttons yang berfungsi agar user dapat berpindah maju ke
halaman selanjutnya atau mundur ke halaman sebelumnya yang sudah
dikunjungi (Henderson, H.2009, p503).
2. Tabs yang berfungsi untuk memudahkan pengguna dalam berpindah pindah
halaman web jika pengguna sedang mengakses ke lebih dari satu halaman
web secara bersamaan (Henderson, H.2009, p503).
3. History, sebuah panel yang menampilkan halaman- halaman web yang telah
dikunjungi pengguna dalam beberapa waktu kebelakang. Dengan begitu,
pengguna cukup memilih alamat yang ada di history untuk kembali
mengunjungi web tersebut tanpa harus mengetik ulang alamat webnya
(Henderson, H.2009, p503).
4. Favorites atau bookmark, kemampuan web browser untuk menandai atau
14
menyimpan halaman web yang dikehendaki pengguna. Serupa dengan
history, pengguna hanya perlu memilih alamat web dalam daftar bookmark
untuk dapat mengakses halaman web tersebut tanpa harus mengetik ulang
alamat web (Henderson, H.2009, p503).
2.5 Web Development
Web development adalah proses pembuatan sebuah website untuk internet atau
sebuah intranet. Dalam pembuatan sebuah website digunakan berbagai macam
bahasa pemrograman. Diantaranya adalah:
1. HTML
HTML (Hyper Text Mark Up Language) merupakan bahasa yang digunakan
untuk mendeskripsikan struktur sebuah halaman web. HTML berfungsi untuk
mempublikasi dokumen online. (W3.org). Statement dasar dari HTML disebut
tags. Sebuah tag dinyatakan dalam sebuah kurung siku (<>). Tags yang
ditujukan untuk sebuah dokumen atau bagian dari suatu dokumen haruslah
dibuat berupa pasangan. Terdiri dari tag pembuka dan tag penutup. Dimana tag
penutup menggunakan tambahan tanda garis miring (/) di awal nama tag.
Contohnya <html> merupakan tag pembuka dan </html> merupakan tag
penutupnya.
Selain tag dasar terdapat juga tag A ,atau anchor tag. Seperti beberapa tag
HTML lainnya, tag A digunakan bersamaan dengan atribut yang dapat
menjelaskan lebih spesifik mengenai apa yang akan dikerjakan. Tag A biasanya
digunakan bersamaan dengan atribut <HREF> atau Hypertext Reference yang
15
berfungsi menghubungkan satu dokumen dengan dokumen lainnya. Tag inilah
yang membuat pengguna dapat berpindah- pindah halaman dengan cara
memilih button tertentu (Henderson, H.2009, p232).
2. HTML 5
HTML 5 merupakan pengembangan terbaru dari HTML. Syntax pada HTML
5 dibuat lebih sederhana untuk memudahkan web developer. HTML 5
memperkenalkan fitur- fitur baru seperti animasi, audio, transisi, tipografi, dan
masih banyak lagi. Dengan begitu, HTML 5 dapat menggantikan permasalahanpermasalahan pada teknologi web sebelumnya. Salah satu contohnya adalah
menggantikan penggunaan flash pada web yang membutuhkan waktu lebih lama
untuk melakukan load sebuah halaman (Granell , C. 2012, p6).
3. CSS
CSS adalah bahasa-bahasa yang merepresentasikan halaman web. Seperti
warna, layout, dan font. Dengan menggunakan CSS, seorang web developer
dapat membuat halaman web yang dapat beradaptasi dengan berbagai macam
ukuran layar. Pembuatan CSS biasanya terpisah dengan halaman HTML.
Meskipun CSS dapat disisipkan di dalam halaman HTML. Hal ini ditujukan
untuk memudahkan pengaturan halaman HTML yang memiliki rancangan yang
sama. (W3.org)
Pada saat sebuah style diasosiasikan terhadap sebuah elemen, maka format
yang terdapat pada style tersebut akan secara otomatis diaplikasikan ke setiap
elemen yang terasosiasikan tersebut. Sebagai contoh jika kita ingin merubah
format font pada heading menjadi italic, maka kita hanya perlu mengaturnya
pada style yg terasosiasikan pada elemen heading. Dengan begitu setiap elemen
16
heading yang ada akan memiliki format font yang italic.
Agar dapat berjalan, halaman CSS yang terpisah dengan HTML haruslah
diasosiasikan dengan dokumen HTML yang dituju. Pada saat browser
melakukan load pada halaman HTML, maka secara otomatis browser juga akan
melakukan load terhadap halaman CSS dan menggunakannya untuk
menentukan display dari sebuah halaman web.
Style pada CSS diaplikasikan dalam sebuah urutan yang bergantung pada
hubungan elemen- elemen yang terasosiasi . Contohnya pada saat kita
menentukan format style pada sebuah div, maka setiap elemen yang berada
dalam div tersebut akan memiliki format style yang sama (Henderson, H.2009,
p72).
4. Javascript
Sebuah script adalah program code yang tidak butuh pra-proses (compiling)
sebelum dijalankan. Dalam konteks pembuatan web, code programnya ditulis
dalam Javascript. Javascript dieksekusi oleh web browser pada saat
mendownload halaman web atau pada saat sebuah event dilakukan oleh
pengguna. (W3.org)
Javascript adalah salah satu bahasa pemrograman populer yang mampu
membuat halaman web dapat berinteraksi dengan penggunanya. Javascript
pertama kali dikembangkan pada pertengahan dekade 90an. Meskipun memiliki
nama yang hampir serupa, javascript berbeda dengan bahasa pemrograman Java.
Untuk penulisannya, javascript dapat disisipkan di dalam dokumen HTML
ataupun dijadikan dokumen tersendiri yang kemudian diasosiasikan dengan
17
dokumen lain yang dituju.
Javascript mengimplementasikan fitur yang dirancang untuk mengendalikan
bagaimana sebuah halaman web berinteraksi dengan penggunanya. Seperti
tampilan pada window atau kendali pada menu dan button. Javascript juga dapat
digunakan untuk memvalidasi sebuah web form pada browser sebelum informasi
pada form tersebut dikirim ke server (Henderson, H.2009, 256).
2.6 Framework
Pada umumnya framework adalah aplikasi setengah jadi yang bisa digunakan
kembali dan dikhususkan untuk menghasilkan suatu aplikasi tertentu (Husted, T.
2003, p5).
Dapat disimpulkan bahwa framework biasanya bersifat object-oriented dan
merupakan suatu desain sistem yang dapat digunakan kembali. Tujuannya untuk
menghindari
pembuatan
kode
yang
sama
sehingga
programmer
dapat
berkonsentrasi ke bagian lainnya.
2.7 Node.js
Node.js pertama kali dikembangkan oleh Ryan Lienhart Dahl pada tahun 2009.
Platform ini dibuat untuk memperoleh performance aplikasi web yang tinggi dan
mengoptimalisasikan lingkungan concurrent yang tinggi pula. Platform Node.js
memungkinkan bekerja dengan keandalan tinggi dan dengan I/O non-blocking.
18
Node.js adalah sebuah platform yang dirancang untuk web server. Aplikasi ini
ditulis dalam bahasa javascript dan berbasis pada event (event driven). Tidak seperti
kebanyakan bahasa javascript yang dijalankan di client, Node.js dieksekusi sebagai
aplikasi server. Node.js memiliki efisiensi memory yang lebih baik apabila bekerja
dalam keadaan muatan yang banyak. Pengguna tidak perlu khawatir dengan
terjadinya deadlock karena tidak ada lock dalam Node.js. Aplikasi ini terdiri dari V8
Javascript engine buatan google dan beberapa modul bawaan yang terintegrasi
(Nodejs.org). Di dalam Node.js terdapat operasi-operasi yang sifatnya synchronous
dan asynchronous, tetapi keunggulan Node.js ini terdapat pada asynchronousnya
atau bisa juga disebut dengan non-blocking I/O . Node.js menggunakan pendekatan
event-driven berbasis infinite event loop dalam satu thread untuk mengurangi
jumlah memory. Manuel Kiessling (2012) berpendapat bahwa node.js merupakan
model yang efisien untuk membangun sebuah aplikasi yang harus bersinggungan
dengan concurrency (dua hal yang bekerja secara bersamaan).
Semenjak kemunculannya, Node.js telah menyita perhatian dari kalangan
industri. Banyak pelaku industri yang menggunakan node untuk membuat layanan
jaringan yang cepat dan scalable. Salah satu alasannya adalah karena node.js
menggunakan javascript. Javascript adalah salah satu bahasa pemrograman yang
paling banyak digunakan. Kebanyakan web programmer
menggunakan javascript pada browser (Teixera, P. 2013, p4).
sudah terbiasa
19
2.8 Node Package Manager
Node package manager atau npm adalah sebuah package manager untuk node.js.
Fungsi dari npm adalah untuk mengatur, mencari, dan melakukan install modulmodul pada node.js (npmjs.org).
2.9 Express.js
Express.js adalah framework node.js yang minimalis dan fleksibel. Express.js
menyediakan kumpulan fitur untuk membangun sebuah aplikasi web. Dengan
express.js programmer dapat menambahkan rute, memberikan otentifikasi, dan
kode pemrograman yang lebih struktural (expressjs.com).
2.10 Operasi I/O
I/O adalah suatu mekanisme pengiriman data secara bertahap dan terus
menerus melalui suatu aliran data dari proses ke piranti (begitu pula sebaliknya).
Fungsi I/O pada dasarnya adalah mengimplementasikan algoritma I/O pada level
aplikasi. Hal ini dikarenakan kode aplikasi sangatlah fleksibel, dan bugs aplikasi
tidak mudah menyebabkan sistem crash.
Untuk memulai operasi I/O, CPU mengisi register yang bersesuaian ke
device controller. Sebaliknya device controller memeriksa isi register untuk
kemudian menentukan operasi apa yang harus dilakukan. Pada saat operasi I/O
dijalankan, ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O.
20
2.10.1 Synchronous I/O
Pada operasi synchronous I/O atau blocking sebuah tread menunggu sampai I/O
request selesai dikerjakan baru dapat melakukan operasi selanjutnya (Leonard, A.
2011. p215). Operasi synchronous ini merupakan model operasi yang digunakan
pada sistem yang berbasis pada thread (thread-based system). Kelemahan pada
sistem adalah pada saat banyak request yang masuk ke server akan menimbulkan
block, yang selanjutnya akan berakibat terjadinya deadlock.
2.10.2 Asynchronous I/O
Biasa juga disebut non-blocking I/O. Berbeda dengan operasi synchronous,
dalam asynchronous sebuah operasi tidak harus menunggu selesai dikerjakan untuk
melakukan operasi yang lain (Leonard, A. 2011. p216). Dengan begitu operasi
tersebut tidak akan melakukan blok terhadap operasi lainnya. Sehingga tidak terjadi
deadlock. Asynchronous digunakan pada sistem yang berbasiskan pada event (eventdriven system).
2.11 Template
Template adalah sebuah file yang bertindak sebagai permulaan dari
dibentuknya sebuah dokumen baru. Pada saat dibuka, sebuah template sudah
memiliki suatu format tertentu. Template bisa berupa file yang sudah tersedia dalam
suatu perangkat lunak atau dibuat sendiri oleh penggunanya (techterms.com).
21
2.12 Template Engine
Template engine adalah sebuah perangkat lunak yang dapat memproses sebuah
template. Template engine menerima sebuah template dalam bentuk markup yang
digabungkan dengan elemen-elemen khusus dan menggantikan elemen tersebut
dengan data dari logika sebuah aplikasi (Nash, M. 2003, p121).
2.13 Jade
Jade adalah sebuah template engine yang menyederhanakan penulisan sebuah
HTML dengan menggunakan indentation (contohnya adalah spasi atau ruang yang
mengawali sebuah paragraf). Jade menggunakan indentation untuk menentukan
hirarki dalam penulisan HTML (Ornbo, G. 2012). Dengan menggunakan jade,
seorang web programmer bahkan tidak perlu lagi menambahkan kurung siku dalam
proses pembuatan halaman web HTML.
2.14 Stylus
Hampir serupa dengan Jade yang menyederhanakan pembuatan halaman web,
Stylus juga merupakan template engine yang memiliki fungsi yang sama. Bedanya
apabila Jade menyederhanakan penulisan bahasa HTML, Stylus berguna dalam
penyederhanaan penulisan bahasa CSS dengan menghilangkan penggunaan kurung
kurawal , titik koma, dan titik dua. Dengan begitu web developer akan lebih mudah
dalam melihat rancangan CSS yang dibuatnya dan tidak perlu khawatir akan tanda
baca yang lupa tertulis (learnboost.github.com/stylus/).
22
2.15 Arsitektur Request dan Response pada Aplikasi Web
Aplikasi web yang real-time seperti portal berita, informasi saham, dan informasi
lelang membutuhkan update yang harus secepat mungkin disampaikan ke user.
Untuk memproses update tersebut, dikenal dua macam arsitektur atau sistem pada
teknologi berbasis web. Dua sistem tersebut adalah push dan pull (Bozdag, E.,
Mesbah, A., Deursen, A.V. 2007)..
Pull adalah arsitektur atau sistem pada teknologi komunikasi berbasis internet
dimana request untuk sebuah transaksi diinisiasikan oleh client. Kemudian data
tersebut direspon oleh server (Bozdag, E., Mesbah, A., Deursen, A.V. 2007).
Push adalah arsitektur atau sistem teknologi komunikasi berbasis internet dimana
request untuk sebuah transaksi diinisiasikan oleh server pusat. Berbeda dengan pull
dimana data request diinisiasikan oleh client (Bozdag, E., Mesbah, A., Deursen,
A.V. 2007).
2.16 Websocket
Websockets adalah teknologi web yang menyediakan komunikasi dari client ke
server melalui sebuah koneksi TCP tunggal tanpa harus membuat sebuah request.
Dengan websockets antara client dan server dapat saling melakukan push message
kapan saja. (websocket.org)
2.16.1 Socket.io
Socket.io adalah sebuah library javascript untuk aplikasi web yang real time
yang ditujukan untuk setiap browser dan mobile device. Dibuat oleh Guillermo
23
Yauch, CTO dari Learnboost. Socket.io memiliki kelebihan jika dibandingkan
dengan websocket. Salah satu fitur yang tidak dimiliki websocket adalah heartbeat,
dimana client akan mengirimkan pesan ke server (atau dari server ke client lalu
kembali lagi ke client) dalam interval waktu tertentu untuk memastikan kondisi
apakah client dalam kondisi aktif atau tidak. Dalam penggunaannya, socket.io
menggunakan penanda dalam pemrogramannya yang disebut socket id (Socket.io).
2.17 Performance Monitor
Performance
Monitor
adalah
perangkat
visualisasi
yang menampilkan
performance data baik dalam real time atau dari log file. Dengan performance
monitor, pengguna dapat memeriksa keadaan bagaimana suatu program dapat
mempengaruhi kinerja komputernya dan melihat hasilnya dalam bentuk graph,
histogram, ataupun laporan. Performance monitor pada Windows menggunakan
penghitung
kinerja,
event
trace
data,
dan
informasi
konfigurasi
yang
dikombinasikan menjadi satu set pengumpul data. (technet.microsoft.com).
2.18 MySQL
MySQL merupakan software yang tergolong database server dan bersifat open
source. Open source menyatakan bahwa software ini dilengkapi dengan kode yang
dipakai untuk membuat MySQL. Selain itu tentu saja bentuk kode yang bisa
24
dijalankan secara langsung di sistem operasi, dan bisa didapatkan dengan
mengunduh langsung dari internet secara gratis. (Kadir, 2009)
2.19 V8 JavaScript
Google V8 adalah Javascript engine yang open source dari Google. Ditulis
dalam bahasa C++ dan digunakan pada Google Chrome, browser open source dari
Google. V8 mengimplementasikan ECMAScript seperti yang ditentukan dalam
ECMA-262, edisi ke lima V8 dapat berjalan pada Windows (XP atau yang terbaru),
Mac OS X (10.5 atau yang terbaru), dan Linux yang menggunakan prosesor ARM.
V8 dapat dijalankan sendiri atau digabungkan dengan aplikasi C++ lainnya
(developers.google.com).
2.20 Doodle
Dalam Merriam-webster dijelaskan bahwa doodle adalah kata kerja yg berarti
menggambar sesuatu secara spontan dan tanpa terencana. Sedangkan dalam bentuk
kata benda, doodle memilki arti sebuah sketsa atau gambar kasar (MerriamWebster.com).
Menurut Thomas C. Wang tujuan dari doodle atau sketsa adalah untuk
menyajikan satu bahasa baru yang sangat mirip dengan tulisan dan mencatat hal
nyata dengan simbol- simbol garis dan tekstur yang disingkat (Wang, T.C., 2006,
p71).
Dengan begitu, doodle dapat menjadi bahasa alternatif yang dapat
mengkomunikasikan suatu hal secara visual.
25
2.21 Enkripsi
Enkripsi adalah prose’s untuk mengubah plain text (data yang dapat dibaca)
menjadi chipper text (data yang tidak bisa dibaca) dan dekripsi merupakan
kebalikan dari enkripsi. Yaitu dengan merubah chipper text kembali menjadi plain
text.(Busran., Mandarani, P., 2012)
2.22 Password Hashing
Password Hashing adalah suatu metode untuk mengamankan password dari
bahaya phising (pencurian informasi rahasia. Contohnya pencurian password).
Metode yang dijalankan adalah dengan menerima input dari user dan
mengirimkannya ke server dalam bentuk hash (bentuk yang tidak beraturan). Hash
tersebut akan diterima dengan baik oleh server tanpa perlu adanya modifikasi pada
server (Ross, B., Jackson, C., Miyake, N., Boneh, D., Mitchel, J.C. 2005).
2.23 Incremental Software Process Model
Incremental model adalah sebuah model proses perangkat lunak dimana
produk dirilis sebagian dan kemudian dilakukan pengembangan terhadap fungsifungsi di sistem. Produk awal dirilis dengan fungsi- fungsi dasar, lalu untuk rilisan
selanjutnya produk tersebut sudah memiliki fungsi yang sudah dikembangkan
(Pressman, S.R.,2010, p41).
26
2.24 Data Modeling
Data
modeling
adalah
suatu
teknik
untuk
mengorganisir
dan
mendokumentasikan data dari suatu sistem. Model aktual dari suatu data modeling
biasa disebut Entity Relationship Diagram (ERD). (Whitten, 2007, p270-p271)
ERD adalah suatu data model yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungan yang digambarkan oleh
data tersebut. (Whitten, 2007, p271)
2.25 Real Time
Definisi real time adalah suatu tingkatan untuk mendapatkan jawaban dari
komputer yang mana pengguna merasakan cukup cepat atau yang memungkinkan
komputer dapat menyelesaikan proses-proses eksternal (sebagai contoh: untuk
menunjukan visualisasi dari kondisi cuaca sebagaimana perubahannya). Real time
adalah sebuah kata sifat yang berkaitan dengan komputer atau proses yang
beroperasi
secara
real
time
(searchcio-midmarket.techtarget.com).
Dengan
demikian, aplikasi yang bersifat real time tentunya memerlukan suatu teknik
pemrograman yang tepat agar sumber daya komputer dapat digunakan secara
optimal.
Download