bab 2 tinjauan puskata - library & knowledge...

32
9 BAB 2 TINJAUAN PUSKATA 2.1 Teori Umum 2.1.1 Pengertian Internet Menurut Zeid, Ibrahim (2000:4) internet adalah tentang komputer dan program penyelusuran. Pada awalnya internet hanya bisa digunakan oleh militer saja. Pada tahun 1968 internet mulai digunakan oleh beberapa universitas di Amerika, dan pada tahun 1969 jaringan internet mulai dibentuk dan disambungkan ke beberapa universitas dan lembaga di Amerika. 2.1.2 Pengertian World Wide Web World Wide Web(WWW) menurut Kenneth, Jane Laudon (2003:17) adalah sistem dengan standar yang secara universal digunakan untuk menyimpan, mengambil, memformat, dan menampilkan informasi dalam lingkungan jaringan. WWW dikembangkan pertama kali di pusat penelitian partikel eropa (CERN), Jenewa, Swiss. Pada tahun 1989 Berners-Lee membuat proposal memulai proyek pembuatan hypertext secara global. Kemudian pada bulan oktober 1990, “WWW” sudah dapat digunakan didalam lingkungan CERN. 2.1.3 Interaksi Manusia Komputer Menurut Shneiderman dan Plaisant (2005:4), Interaksi Manusia dan Komputer (IMK) adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif untuk digunakan oleh user. Titik berat IMK adalah perancangan dan evaluasi antar muka pemakai (user interface). User interface adalah bagian dari sistem komputer yang memungkinkan manusia berinteraksi dengan komputer.

Upload: dangthuy

Post on 15-Apr-2018

224 views

Category:

Documents


1 download

TRANSCRIPT

9

BAB 2

TINJAUAN PUSKATA

2.1 Teori Umum

2.1.1 Pengertian Internet

Menurut Zeid, Ibrahim (2000:4) internet adalah tentang komputer dan

program penyelusuran. Pada awalnya internet hanya bisa digunakan oleh

militer saja. Pada tahun 1968 internet mulai digunakan oleh beberapa

universitas di Amerika, dan pada tahun 1969 jaringan internet mulai

dibentuk dan disambungkan ke beberapa universitas dan lembaga di

Amerika.

2.1.2 Pengertian World Wide Web

World Wide Web(WWW) menurut Kenneth, Jane Laudon (2003:17)

adalah sistem dengan standar yang secara universal digunakan untuk

menyimpan, mengambil, memformat, dan menampilkan informasi dalam

lingkungan jaringan. WWW dikembangkan pertama kali di pusat

penelitian partikel eropa (CERN), Jenewa, Swiss. Pada tahun 1989

Berners-Lee membuat proposal memulai proyek pembuatan hypertext

secara global. Kemudian pada bulan oktober 1990, “WWW” sudah dapat

digunakan didalam lingkungan CERN.

2.1.3 Interaksi Manusia Komputer

Menurut Shneiderman dan Plaisant (2005:4), Interaksi Manusia dan

Komputer (IMK) adalah ilmu yang berhubungan dengan perancangan,

evaluasi, dan implementasi sistem komputer yang interaktif untuk

digunakan oleh user. Titik berat IMK adalah perancangan dan evaluasi

antar muka pemakai (user interface). User interface adalah bagian dari

sistem komputer yang memungkinkan manusia berinteraksi dengan

komputer.

10

2.1.3.1 Lima Faktor Manusia Terukur

Menurut Shneiderman dan Plaisant (2005:16), ada lima

faktor manusia terukur yang dapat dijadikan pusat evaluasi

kebutuhan pengguna dalam perancangan suatu user interface,

yaitu:

1. Waktu belajar

Merupakan suatu tolak ukur seberapa lama seorang user

mampu mempelajari apa saja yang dapat dilakukan dengan

tools yang diberikan.

2. Kecepatan kinerja

Merupakan suatu tolak ukur seberapa lama hal tersebut

dapat bekerja dengan baik.

3. Tingkat kesalahan user

Tolak ukur seberapa banyak kesalahan yang dapat

dilakukan user dalam mengerjakan suatu tugas.

4. Daya ingat

Mengukur seberapa baik seorang user dapat mengingat

pengetahuan yang didapatkan dalam waktu tertentu setelah

menjalankan program tersebut.

5. Kepuasan subjektif

Seberapa puas user setelah menggunakan applikasi

tersebut, hal ini dapat ditanyakan langsung dengan

mewawancarai atau melakukan survei.

2.1.3.2 Delapan Aturan Emas

Menurut Shneiderman dan Plaisant (2005:74), ada delapan

aturan emas yang dapat digunaankan untuk evaluasi perancangan

suatu user interface, yaitu:

11

1. Konsistensi

Bentuk konsistensi dapat dilakukan seperti pemilihan jenis

huruf, Kapitalisasi, Bahasa yang digunakan, Penggunaan

warna, dan hal lainnya yang harus konsisten dan diterapkan

secara keseluruhan

2. Universal Usability

Adanya fitur yang dapat menjelaskan secara rinci untuk user

awam dan untuk para user yang mahir atau ahli disediakan

fitur seperti shortcut yang memudahkan user menjelajahi

sistem secara cepat

3. Memberikan Feedback Yang Informatif

Dalam setiap hal yang dilakukan oleh user harus

mempunyai respon atau feedback yang informative sehingga

user dapat mengerti feedback apa yang telah diberikan.

4. Rancangan Dialog Penutup

Semua hal yang dilakukan user membentuk suatu urutan

yang telah diatur kedalam kelompok dimana terdapat bagian

awal, tengah, akhir.

5. Pencegah Kesalahan

Suatu sistem yang baik dikatakan apabila user tidak dapat

melakukan kesalahan yang fatal dan sering melakukannya.

Apabila user melakukan kesalahan, sistem dapat mendeteksi

kesalahan tersebut dan memberikan mekanisme sederhana

yang dapat dipahami dengan mudah.

6. Kemudahan Kembali Ketindakan Sebelumnya

Hal ini dapat mengurangi kekuatiran user ketika user

melakukan kesalahan, karena user diingatkan terlebih

dahulu dan dapat membatalkan tindakannya sehingga

membuat user lebih leluasa dalam menjelajahi fitur-fitur

yang ada.

12

7. Mendukung Pusat Kendali Internal

User ingin menjadi pengontrol sistem dan sistem harus

merespon segala tindakan user. Sehingga user menjadi lebih

inisiatif dalam menggunakan sistem tersebut.

8. Mengurangi Beban Ingatan Jangka Pendek

Setiap user memiliki daya ingat jangka pendek yang

berbeda, dalam mengingat beberapa hal dalam waktu

singkat dapat menjadikan user terbebani, sehingga buatlah

sistem yang sederhana agar user mudah memahaminya.

2.1.4 Sistem Basis Data

Menurut Connolly and Begg (2005:31), basis data (database) adalah

suatu kumpulan data yang saling terhubung beserta definisinya, dan

dirancang untuk memenuhi kebutuhan informasi suatu organisasi.

2.1.4.1 Database Management System

Database management system adalah sebuah perangkat lunak

yang memungkinkan user untuk menentukan, membuat,

mempertahankan dan mengontrol akses ke basis data. Komponen

database management system environtment yaitu :

1. Hardware

Database management system membutuhkan

hardware untuk bekerja. Perangkat keras dapat

bervariasi mulai dari satu komputer pribadi,

mainframe tunggal, maupun jaringan komputer,

bergantung dengan kebutuhan user.

2. Software

Software meliputi database management system

software itu sendiri, bersama dengan sistem operasi,

13

dan perangkat lunak jaringan jika dibutuhkan.

Biasanya saat ini software yang sering digunakan

adalah software yang tulis dengan third generation

programming language (C,C++,Java,etc).

3. Data

Data adalah hal yang paling penting didalam

database management system karena data berperan

sebagai suatu hal yang menjembatani antara mesin

dengan manusia.

4. Prosedur

Prosedur adalah instruksi atau aturan yang dibuat

untuk mengendalikan tampilan dan penggunaan

basis data. Staff dan pengguna perlu

mendokumentasikan cara penggunaan sistem basis

data.

5. Orang

Komponen terakhir adalah orang yang terlibat dalam

database management system.

2.1.4.2 MySQL

Menurut Sheldon dan Moes (2005:8), MySQL seperti sebuah

sistem, sama seperti Oracle, DB2, SQL Server, dan Postgre SQL.

Produk ini seperti sistem manajemen basis data lain, mengizinkan

pengguna untuk mengakses dan memanipulasi data. Melindungi

data dari corrupt dan inconsistencies, dan melakukan perawatan

data yang telah disimpan. Yang berbeda dari MySQL dan DBMS

adalah MySQL tidak hanya mendukung penyimpanan data

didalam tabel, melainkan MySQL dapat melakukan spesifikasi

relasi antara tabel didalamnya. Fitur-fitur penting yang terdapat

dalam MySQL:

14

1. Skalabilitas

MySql dapat menangani basis data dalam skala besar. Hal

ini telah dibuktikan dalam implementasi diperusahaan-

perusahaan besar seperti Yahoo!, Google, HP, dan Cisco.

Menurut dokumentasi produk MySQL dari semua database

yang menggunakan MySQL AB, perusahaan yang

menggunakan MySQL, didalamnya terdapat lima puluh

juta record, dan pengguna MySQL melaporkan bahwa

database mereka mengandung enam puluh ribu tabel, dan 5

miliar baris.

2. Portabilitas

MySQL dapat digunakan dalam berbagai sistem operasi,

termasuk Unix, Linux, Windows, Q2/S, Solaris, dan

MacOS.

3. Konektivitas

MySQL dapat diakses dari mana saja di dalam internet,

dan banyak pengguna dapat mengakses sebuah data

MySQL bersamaan. MySQL dapat diakses dari bahasa

pemograman seperti C, C++, Java, PHP, Perl, Phyton dan

juga mendukung TCP/IP sockets, Unix socket, named pipe.

4. Keamanan

MySQL memiliki sistem yang handal dalam mengatur

akses ke dalam data. Sistem tersebut menggunakan struktur

host- dan user-based yang dapat mengatur siapa saja yang

dapat mengakses informasi tertentu dan level akses ke

informasi tersebut.

5. Kecepatan

Seperti yang terdapat dalam www.mysql.com (website

official MySQL) waktu yang dibutuhkan basis data

15

MySQL dalam menanggapi sebuah permintaan sama

cepatnya atau lebih cepat dari kebanyakan sistem

manajemen basis data relasional komersial.

6. Kemudahan dalam penggunaan

MySQL mudah di-install dan mudah diterapkan. Pengguna

dapat melakukan instalasi MySQL dan menjalankannya

dalam hitungan menit setelah mengunduh datanya.

7. Kode Open-Source

MySQL AB, perusahaan pembuat MySQL, membuat kode

MySQL tersedia untuk semua orang, dan dapat diunduh

dan digunakan. Open-source mengizinkan semua orang

untuk terlibat dalam review, pengujian, dan pengembangan

kode.

2.1.5 UML

UML (Unified Modeling Language) adalah sebuah cara yang

digunakan untuk mendeskripsikan sebuah sistem atau perangkat lunak.

Ada beberapa jenis diagram UML yang biasa digunakan, diantaranya:

1. Use Case Diagram

Menurut Whitten (2007:246), use case diagram adalah sebuah

diagram yang menjelaskan tentang sistem dari sisi pengguna sistem

tersebut dengan menggambarkan interaksi antara sistem dengan

sistem eksternal dan pengguna. Dengan kata lain, diagram tersebut

menggambarkan siapa yang akan menggunakan sistem

dan dengan cara apa pengguna berinteraksi dengan sistem.

16

Gambar 2.1 Contoh Use Case Diagram (Whitten:246)

A. Actor

Aktor adalah apapun yang dapat berinteraksi dan dapat

memicu proses selanjutnya dengan sistem untuk melakukan

pertukaran informasi. Sebuah aktor merepresentasikan sebuah

peran yang dilakukan oleh pengguna dalam berinteraksi dengan

sistem, bukannya individu tertentu. Aktor tidak harus berupa

manusia, bisa saja berupa organisasi, sistem informasi, dan

perangkat eksternal.

B. Relationship

Relationship adalah garis dan simbol yang

menghubungkan kedua use case. Hubungan antara use case

berbeda bergantung dengan garis yang menghubungan antara use

case tersebut. Berikut ini adalah beberapa jenis hubungan yang

ditemukan pada diagram use case.

a. Associations

Hubungan antara aktor dan use case dimana terdapat

interaksi diantara mereka, relasi ini disebut associations.

17

Gambar 2.2 Contoh Associations (Whitten, 2007:248)

b. Extendeds

Beberapa use case mengandung fungsi yang kompleks

karena berisi beberapa langkah yang membuat logika use case

sulit untuk dimengerti. Agar lebih mudah dimengerti, kita

dapat melakukan penyederhanaan langkah yang digunakan,

sehingga hasil yang didapat disebut extension use case.

Gambar 2.3 Contoh Extends (Whitten, 2007:249)

c. Uses (atau Includes)

Sering ditemukan beberapa use case yang memiliki fungsi

yang hampir sama, untuk mengurangi redudansi data tersebut

maka dua atau lebih use case akan digabungkan menjadi 1 use

case.

18

Gambar 2.4 Contoh Uses/Includes (Whitten, 2007:249)

d. Depends on

Hubungan ketergantungan antara use case dimana proses

suatu use case tersebut tidak dapat bekerja hingga use case

yang lain telah dilakukan.

Gambar 2.5 Contoh Depends on (Whitten, 2007:250)

e. Inheritance

Hubungan antar aktor pada saat ada dua atau lebih aktor

yang memiliki perilaku yang hampir sama. Hal yang

dilakukan untuk mengurangi redundansi tersebut adalah

19

dengan membuat aktor baru (abstract actor) yang nantinya

akan mewariskan sifat kepada aktor yang memiliki perilaku

hampir sama tadi.

Gambar 2.6 Contoh Inheritance (Whitten, 2007:250)

2. Activity Diagram

Menurut Whitten (2007, p390), activity diagram adalah proses

langkah atau aktifitas dari sistem. Diagram ini mirip dengan

flowcharts, yang menjelaskan alur aktifitas dari sistem. Tetapi activity

diagram berbeda dengan flowcharts, yang membedakannya adalah

menyediakan mekanisme untuk melakukan aktifitas secara paralel.

Oleh karena itu activity diagram ini adalah model sangat berguna

dalam mengeksekusi atau mengoperasikan sebuah sistem, dari hasil

tersebut activity diagram dapat disimpulkan sebagai diagram yang

fleksibel, dapat melakukan desain dan analisis.

20

Gambar 2.7 Contoh Activity Diagram (Whitten, 2007:393)

21

Tabel 2.1 Penjelasan Activity Diagram

No Simbol Arti Simbol

1 Initial nodes Merepresentasikan awal dari suatu proses.

2 Actions Keseluruhan aktivitas yang mengandung

urutan-urutan langkah.

3 Flow Menunjukkan langkah berikutnya dari

suatu tindakan.

4 Decision Menunjukkan aktivitas yang dapat dipilih.

5 Merge Menggabungkan kembali flow yang

sebelumnya terpisah oleh decision.

6 Fork

Tindakan pada flow paralel yang ada di

bawah flow dapat terjadi dengan urutan

tertentu ataupun bersamaan.

7 Join

Semua tindakan yang masuk ke dalam join

harus diselesaikan sebelum proses

berlanjut.

8 Activity Final Merepresentasikan akhir dari suatu proses.

22

3. Sequence Diagram

Menurut Whitten (2007, p394), sequence diagram adalah diagram

yang menjelaskan tentang berinteraksi dengan objek dengan

menggunakan pesan dalam eksekusinya.

Gambar 2.8 Contoh Sequence Diagram (Whitten, 2007:395)

23

Tabel 2.2 Penjelasan Sequence Diagram

No Notasi Arti Notasi

1 Actor Seperti actor dalam use case diagram,

disini actor menggunakan actor symbol

2 System

Kotak yang menunjukan sistem sebagai

“black box”. The colon (;) merupakan

notasi standar dari sequence diagram yang

menggambarkan sistem yang sedang

berjalan

3 Lifelines

Garis vertikal dari actor dan system

symbols, yang menunjukan umur sequence

diagram

4 Activations Bars

Merupakan garis yang diset sepanjang

lifelines dalam waktu tertentu saat

participant aktif berinteraksi

5 Input Messages Garis horizontal dari actor ke system yang

berisikan pesan.

6 Output Messages Garis horizontal dari system ke actor yang

digambarkan dengan garis putus-putus.

24

4. Class Diagram

Menurut Whitten (2007:382), class diagram adalah diagram yang

menggambarkan struktur dari sebuah objek sistem, yang ditunjukan

oleh objek kelas yang sistem tersebut buat, serta hubungan antar

masing-masing objek kelas.

Menurut Whitten (2007:650), terdapat tiga jenis visibility antara

lain :

1. Private

Atribut yang hanya bisa diakses dengan cara

mendefinisikan class atau atribut yang akan mengaksesnya

terlebih dahulu.

2. Protected

Sebuah atribut yang memiliki visibility protected hanya

dapat diakses oleh class yang mendefinisikannya dan oleh class

yang merupakan turunan dari class yang mendefinisikannya.

3. Public

Sebuah atribut maupun method yang memiliki visibility

public dapat dilihat dan diakses oleh semua class.

Terdapat beberapa hal yang harus diperhatikan dalam class

diagram, diantaranya :

1. Association

Menurut Whitten (2007:378), asosiasi adalah hubungan

terstruktur antar dua kelas atau lebih dengan hubungan

bidirectional. Di ujung garis asosiasi terdapat multiplicity, yaitu

angka yang akan mengindikasikan jumlah kejadian minimum dan

maksimum dari satu objek/kelas untuk satu kejadian tunggal dari

objek/ kelas yang terkait.

25

Gambar 2.9 Hubungan Asosiasi (Whitten, 2011:377)

2. Aggregation – Composition

Menurut Whitten (2007:378), aggregation adalah sebuah

hubungan dimana suatu kelas yang mengandung satu atau lebih

bagian kelas yang lebih kecil. Sebaliknya bagian kelas yang lebih

kecil merupakan bagian dari kelas yang lebih besar.

Sedangkan composition memiliki hubungan yang lebih

kuat dibanding dengan aggregation. Pada komposisi, kelas yang

sepenuhnya bertanggung jawab atas pembentukan dan perusakan

bagian kelasnya yang lebih kecil. Namun pada UML 2.0, notasi

untuk aggregation sudah dihilangkan karena

dianggap tidak memiliki fungsi yang mencolok.

Gambar 2.10 Hubungan Agregasi dan Komposisi

(Whitten, 2007:379)

26

3. Generalization – Specification

Menurut Whitten (2007:373), hubungan

generalisasi/spesifikasi adalah sebuah cara dimana kelas yang

memiliki atribut dan perilaku yang mirip digabungkan menjadi

kelas yang baru, disebut dengan supertype. Atribut dan perilaku

dari kelas supertype akan diwariskan kepada kelas subtype.

Gambar 2.11 Hubungan generalisasi dan spesifikasi

(Whitten, 2007:376)

27

2.1.6 Teori Software Engineering

Dalam pembuatan aplikasi game edukatif ini akan digunakan metode

pendekatan metode Waterfall Model. Mengacu pada Bernd Bruegge dan

Allen H. Dutoit dalam bukunya yang berjudul Object Oriented Software

Engineering langkah-langkah dalam Waterfall Model adalah sebagai berikut :

.

Gambar 2.12 Waterfall Model

1. Project Initiation Process

Proses ini dilakukan pada tahap awal pembuatan project, karena ini

adalah tahap pembuatan ruang lingkup project

2. Concept Exploration Process

Proses ini dilakukan untuk pencarian konsep atau pengumpulan ide agar

pembangunan aplikasi berjalan dengan baik.

3. System Allocation Process

Dalam proses ini dilakukan tahap untuk menentukan software, atau

hardware yang tepat untuk menunjang arsitektur aplikasi yang akan

dibangun.

28

4. Requirements Process

Requirements process dijalankan untuk memenuhi kebutuhan client

sehingga aplikasi yang dibangun dapat menyelesaikan masalah client.

5. Design Process

Proses ini dilakukan untuk menentukan design dari aplikasi yang akan

dibangun sesuai dengan kebutuhan aplikasi tersebut.

6. Implementation Process

Dalam proses ini code-code yang telah dikembangkan disatukan dengan

design yang telah ditentukan.

7. Verification and Validation Process

Dalam tahap ini dilakukan pengujian kelayakan dan kinerja dari

aplikasi, dan mencari kesalahan-kesalahan yang ada dalam aplikasi

tersebut.

8. Installation Process

Pada tahap ini aplikasi sudah harus siap untuk digunakan oleh client.

9. Operation and Support Process

Proses terakhir dimana aplikasi dapat berjalan dengan data yang

sesungguhnya dan melakukan pengecekan secara berkala sehingga

kesalahan-kesalahan baru yang mungkin muncul dapat diperbaiki dengan

cepat

2.2 Teori Khusus

2.2.1 Pengertian HTML5

Menurut Iqbal, Husni dan Studiawan (2012), HTML5 (Hypertext

Markup Language version 5) adalah sebuah bahasa markah yang

menstrukturkan isi dari World Wide Web, sebuah teknologi utama pada

internet. Standar HTML5 menyempurnakan elemen-elemen lama yang

terdapat pada standar sebelumnya, menambahkan elemen-elemen yang

lebih semantik dan menambahkan fitur-fitur baru untuk mendukung

pembuatan aplikasi web yang lebih kompleks.

29

Berikut fitur-fitur baru HTML5 yang dijelaskan didalam

www.w3schools.com (sebuah website belajar cara membuat website),

antara lain :

1. Canvas

Canvas merupakan elemen yang digunakan untuk menggambar

grafik menggunakan scripting. Untuk menggunakan elemen

canvas harus dengan melakukan scripting, canvas mempunyai

beberapa metode untuk menggambar suatu kotak, lingkaran,

karakter, atau memasukan suatu gambar.

2. Scalable Vector Graphics

Scalable Vector Graphics (SVG) digunakan untuk menentukan

suatu grafik berbasis vector untuk web, grafik ini menggukan

format XML, yang berarti tidak akan kehilangan fokus atau

tidak akan terjadi blur ketika dilakukan proses zoom.

3. Drag/Drop

Drag and drop merupakan fitur yang sudah sangat dikenal bagi

pengguna computer. Tetapi didalam HTML5 ketika kita

melakukan suatu “drag” objek atau melakukan penarikan objek

kita dapat menaruhnya dilokasi yang berbeda.

4. Geolocation

HTML5 geolocation API digunakan untuk mengetahui lokasi

penggunanya, tetapi karena ini menyangkut kerahasiaan

pengguna, hal ini hanya dapat dilakukan ketika user yang dituju

menyetujui untuk melakukannya.

5. Video

HTML5 menyediakan elemen baru untuk menampilkan sebuah

video didalam website, elemen ini juga dapat mengatur tinggi

dan lebar atau disebut resolusi dari video tersebut.

30

Dalam elemen video terdapat 3 format yang didukung oleh

browser. Berikut tabel jenis format video berserta browser

yang mendukungnya.

Tabel 2.3 Penjelasan format video didalam browser

Browser MP4 WebM Ogg

Intenet Explorer √ - -

Chrome 6+ √ √ √

Firefox 3.6+ - √ √

Safari 5+ √ - -

Opera 10+ - √ √

6. Audio

Elemen baru yang disediakan didalam HTML5 adalah audio.

Dialam elemen ini kita dapat memutar sebuah suara didalam

website. Dan dapat melakukan pengaturan play, pause, volume.

Untuk menggunakan elemen ini hanya terdapat 3 jenis format

audio yang dapat dijalankan didalam browser. Berikut tabel 3

jenis format audio beserta dengan browser

yang mendukungnya.

31

Tabel 2.4 Penjelasan format audio didalam browser

Browser MP3 Wav Ogg

Intenet Explorer √ - -

Chrome 6+ √ √ √

Firefox 3.6+ - √ √

Safari 5+ √ √ -

Opera 10+ - √ √

7. Input Types

Seperti versi HTML sebelumnya yang terdapat fitur input types,

didalam HTML5 terdapat tambahan bagi fitur input types,

seperti : color, date, datetime, datetime-local, email, month, dll.

2.2.2 Socket Programming

Didalam buku Donahoo, dan Calvert (2001:4), pada saat membuat

sebuah program yang membutuhkan hubungan komunikasi antara

komputer, diperlukan sebuah protocol yang merupakan persetujuan

bahwa mereka akan berkomunikasi satu sama lain.

Gambar 2.13 clinet and server (Donahoo, dan Calvert, 2001:1)

Clients biasanya berkomunikasi dengan satu server dalam waktu yang

sama, contohnya sebuah web server, sebuah client dapat berkomunikasi

32

dengan banyak web server , dalam hal ini pula sebuah server tidak jarang

untuk berkomunikasi lebih dari satu client.

Gambar 2.14 server handling many client

(Donahoo,dan Calvert,2001:1)

Client dan server yang dianggap berkomunikasi hanya dengan

menggunakan jaringan protocol, sebenarnya melibatkan beberapa

network layer. Berfokus dalam TCP/IP protocol suite, atau yang sering

disebut internet protocol suite.

Gambar 2.15 communicate using TCP

(Donahoo, dan Calvert, 2001:1)

33

Client dan server berkomunikasi dengan menggunakan application

protocol, transport layer berkomunikasi menggunakan Transmission

Control Protocol (TCP), dapat dilihat dalam gambar 2.16.

TCP dan IP bukanlah satu-satunya protocol yang kita bahas, beberapa

client dan server menggunakan protocol yang beranama User Datagram

Protocol (UDP).

TCP merupakan connection oriented protocol, TCP menjaga detail

data, transmisi data, timeout, dll. Hampir semua aplikasi yang berada

dalam internet menggukan TCP.

UDP merupakan connectionless protocol. Dalam UDP tidak ada

jaminan bahwa data yang dikirim sampai pada tujuannya.

Gambar 2.16 socket function for TCP (Donahoo,dan Calvert,2001:40)

34

Pada gambar 2.17 menjelaskan bagaimana cara sebuah TCP

membangun sebuah koneksi antara client dan server.

- Socket() adalah fungsi yang pertama kali harus dipanggil yang

berguna untuk menentukan jenis komunikasi apa yang akan dipakai

- Bind() adalah fungsi untuk mengikat sebuah protocol lokal untuk

socket. Dengan Internet Protocol, alamat protocol adalah kombinasi

dari IPv4 dan IPv6, bersama dengan nomor port dari TCP atau UDP.

- Close() berfungsi sebagai untuk menutup sebuah socket dan

memutuskan hubungan komunikasi TCP.

2.2.3 Websocket

Menurut Wang, Salim, dan Moskovits (2013) websocket adalah

sebuah protocol dimana merupakan fitur konektivitas baru dari HTML5.

Websocket dapat melakukan perpindahan data 2 arah dalam suatu waktu

atau yang dikenal dengan transmisi data full-duplex. Untuk menghasilkan

sebuah koneksi dengan protocol websocket, client harus melakukan

request dengan protocol HTTP/1.1 dan mendapat reply dari server

sehingga HTTP dirubah menjadi websocket yang dikenal dengan

websocket opening handshake. Sebagai perbandingan pada websocket

terdapat juga konsep yang bernama polling. Polling adalah fungsi yang

bertugas untuk melakukan proses update setiap detiknya.

Gambar 2.17 polling send http request

(Lengstorf, dan Leggetter, 2013:6)

35

Sama halnya dengan kehidupan nyata, dalam komunikasi antara client

dengan server proses ini sangat menggangu dan tidak produktif, karena

hanya menimbulkan banyak permintaan yang kosong dan terjadinya

flooding terhadap server.

Gambar 2.18 polling vs websocket

(Wang,Salim,dan Moskovits,2013:7)

Dapat dilihat pada gambar 2.19, bahwa konsep websocket dengan

polling memiliki perbedaan. Websocket memiliki efisiensi dalam

transimisi data real-time dibanding protokol HTTP biasa, ini didukung

oleh hasil percobaan yang dilakukan oleh Liu, Sun (2012), efisiensi

merupakan faktor utama dalam transmisi data real-time. Melalui

percobaannya dihasilkan data melalui tabel berikut.

36

2.2.4 Node.Js

Menurut jurnal yang ditulis oleh Iqbal, Husni dan Studiawan (2012)

Node.js adalah sistem perangkat lunak yang didesain untuk

pengembangan aplikasi web. Aplikasi ini ditulis dalam bahasa

JavaScript, menggunakan basis event dan asynchrounous I/O. Tidak

seperti kebanyakan bahasa JavaScript yang dijalankan pada web browser,

Node.js dieksekusi sebagai aplikasi server. Aplikasi ini terdiri dari V8

JavaScript Engine buatan Google dan beberapa modul bawaan yang

terintegrasi.

Dalam buku Teixeira (2013,pV), server side javascript sudah beredar

dari beberapa tahun lalu. Dalam versi serbelumnya berfokus pada

menerjemahkan dari platform seperti Ruby, Phyton, PERL kedalam

Javascript. Dengan menggunakan Node.js kita dapat membuat

programming model yang mudah dengan skala server yang cukup besar

dengan mudah. Tiga kelebihan Node.Js. Yaitu :

1. Node is Easy – Node membuat I/O pemogramman menjadi lebih

mudah dan dimengerti dari sebelumnya.

2. Node is Lean – Node tidak mencoba untuk menyelesaikan semua

masalah, tetapi ini bergantung dengan pondasi internet protocol yang

menggunakan fungsi API.

3. Node does note compromise – Node tidak mencoba untuk jalan

dengan software yang sudah out of date. Karena Node.Js memberikan

tampilan baru yang fresh.

2.2.5 Socket.Io

Seperti yang ditulis dalam buku Rai (2013:48) Socket.Io merupakan

layer abstrak bagi Websocket. Socket.Io menyediakan library bagi server

dan client yang mudah.

37

Untuk menggunakan Socket.Io dapat dilakukan dengan proses

instalasi dalam Node.Js dengan menggunakan “npm”, npm merupakan

Package Manager untuk Node.Js.

2.2.6 JavaScript Object Notation(JSON)

Menurut Crockford(2008:136) JSON adalah format pertukaran data

yang ringan. Saat ini JSON merupakan bagian terbaik dari JavaScript,

bahkan JSON memiliki bahasa yang independen. Pertukaran data antara

program yang ditulis dalam bahasa JSON dapat dengan mudah

diterapkan dan digunakan.

2.2.7 Keyboard Typing Theory

Menurut Dobson (2009) kebanyakan keyboard komputer memiliki

pijakan yang lebih tinggi pada tombol f dan j untuk membantu

menentukan lokasi tanpa harus melihat keyboard. Berikut letak posisi jari

pada keyboard.

Gambar 2.19 Hand Position (Dobson,2009:8)

38

2.3 Hasil Penelitian Sebelumnya

Menurut Curran dan George (2012), komunikasi data pada halaman

web pada umumnya menggunakan HTTP dimana hanya dapat melakukan

perpindahan data 1 arah dalam satu waktu. Pada protokol HTTP

memerlukan request untuk memperoleh setiap data baru. Proses request

ini yang membuat komunikasi antara client dan server lambat.

Untuk mengatasi permasalah komunikasi data yang lambat dapat

diatasi dengan menggunakan websocket. Seperti yang dilansir Wang,

Salim, dan Moskovits (2013) dalam penelitiannya websocket adalah

sebuah protocol dimana merupakan fitur konektivitas baru dari HTML5.

Websocket dapat melakukan perpindahan data 2 arah dalam suatu waktu

atau yang dikenal dengan transmisi data full-duplex. Untuk menghasilkan

sebuah koneksi dengan protocol websocket, client harus melakukan

request dengan protocol HTTP/1.1 dan mendapat reply dari server

sehingga HTTP dirubah menjadi websocket yang dikenal dengan

websocket opening handshake. Websocket memiliki efisiensi dalam

transimisi data real-time dibanding protokol HTTP biasa, ini didukung

oleh hasil percobaan yang dilakukan oleh Liu, Sun (2012), efisiensi

merupakan faktor utama dalam transmisi data real-time. Melalui

percobaannya dihasilkan data melalui tabel berikut

Tabel 2.5 Perbandingan transmisi data antara HTTP dengan Websocket

Number of packets Number of bits Time(second)

HTTP Websocket HTTP Websocket HTTP Websocket

Client to server 83 5 33,662 372

Server to client 77 8 45,600 7456

Total 160 13 79,262 7828 ~2.5 ~0.25

39

Dari tabel diatas menunjukan bahwa koneksi socket 10 kali lebih efisien

dibandingkan dengan koneksi HTTP.

Gambar 2.20 Tampilan Awal Kendo Boy

Kendo boy merupakan game yang dibuat oleh HIMTI BINUS

UNIVERSITY dengan basis flash. Game ini dimainkan dengan cara

mengetik sesuai dengan soal berikan untuk mengalahkan lawan.

Gambar 2.21 Tampilan Permainan Kendo Boy

Dalam tampilan ini terlihat bagaimana gameplay Kendo Boy.

Dengan mengetik sesuai yang diinginkan para player Kendo Boy diminta

untuk mengalahkan lawan secepat mungkin.

40

Gambar 2.22 Tampilan Permainan Berakhir Kendo Boy

Ketika player kalah, maka tampilan ini keluar menandakan permainan

telah berakhir, player dapat memilih keluar dari permainan atau

mencobanya kembali.