bab 2 tinjauan pustaka -...

40
9 BAB 2 TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering Teori yang berkaitan dengan software engineering adalah teori yang berkaitan dengan ilmu software engineering yang menjadi landasan teori dalam perancangan desain website Liveboard. Berikut teori-teori yang berkaitan dengan software engineering : 2.1.1. Waterfall Menurut (Sommerville, 2007, p. 66) model pengembangan software Waterfall dikembangkan dari proses yang diperkenalkan oleh Winston W. Royce pada tahun 1970. Dikarenakan prosesnya yang terus mengalir kebawah secara berurutan maka metode ini dikenal sebagai Waterfall Model. Tahap- tahap yang terdapat dalam metode ini adalah sebagai berikut : Gambar 2.1 Metode Waterfall Tahap-tahap dalam waterfall : 1. Requirement analysis and definition Pada tahap ini layanan, batasan dan tujuan sistem ditentukan dengan cara berkonsultasi dengan pengguna sistem. Hal ini didefinisikan secara detil dan dijadikan sebagai spesifikasi sistem. 2. System and Software Design

Upload: dokhanh

Post on 27-Jun-2019

231 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

9

BAB 2

TINJAUAN PUSTAKA

2.1. Teori yang berkaitan dengan Software Engineering

Teori yang berkaitan dengan software engineering adalah teori yang berkaitan

dengan ilmu software engineering yang menjadi landasan teori dalam perancangan

desain website Liveboard. Berikut teori-teori yang berkaitan dengan software

engineering :

2.1.1. Waterfall

Menurut (Sommerville, 2007, p. 66) model pengembangan software

Waterfall dikembangkan dari proses yang diperkenalkan oleh Winston W.

Royce pada tahun 1970. Dikarenakan prosesnya yang terus mengalir kebawah

secara berurutan maka metode ini dikenal sebagai Waterfall Model. Tahap-

tahap yang terdapat dalam metode ini adalah sebagai berikut :

Gambar 2.1 Metode Waterfall

Tahap-tahap dalam waterfall :

1. Requirement analysis and definition

Pada tahap ini layanan, batasan dan tujuan sistem ditentukan dengan

cara berkonsultasi dengan pengguna sistem. Hal ini didefinisikan secara

detil dan dijadikan sebagai spesifikasi sistem.

2. System and Software Design

Page 2: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

10

Pada tahap ini ditentukan arsitektur sistem secara keseluruhan.

Software Design melibatkan proses identifikasi dan penggambaran

abstraksi dasar dari perangkat lunak beserta hubungannya. Hasilnya

adalah berupa berbagai diagram-diagram perancangan.

3. Implementation and unit testing

Pada tahap ini Software Design direalisasikan dalam bentuk

program atau unit program. Proses unit testing dilakukan untuk

memastikan setiap modul sesuai dengan spesifikasi yang telah

ditentukan.

4. Integration and system Testing

Program unit yang telah dibuat kemudian disatukan dan diuji coba

sebagai satu kesatuan sistem lengkap untuk memastikan spesifikasi

sistem telah tercapai. Setelah diuji, sistem software diberikan kepada

pengguna.

5. Operation and maintenance

Ini merupakan tahap terpanjang dalam proses pengembangan

perangkat lunak. Sistem dipasang pada lingkungan yang sebenarnya.

Proses maintenance melibatkan perbaikan error yang tidak ditemukan

pada tahap sebelumnya. Selain itu dilakukan juga peningkatan pada

fitur dan pelayanan yang terdapat dalam sistem tersebut.

2.1.2. Unified Modeling Language (UML)

Menurut (Booch, Rumbaugh, & Jacobson, 2005, p. 1) UML adalah

bahasa berbasiskan grafis yang berfungsi untuk memvisualisasikan,

menentukan, membangun dan mendokumentasikan objek-objek pada sistem

perangkat lunak intensif. UML membuat sebuah standar untuk penulisan

rancangan dari sebuah sistem, dimulai dari bagian konseptual seperti proses

bisnis dan fungsi sistem sampai bagian konkret seperti class, skema database

dan komponen perangkat lunak yang dapat digunakan kembali.

1. Class Diagram

Class Diagram adalah diagram yang menampilkan elemen statis

seperti class, interfaces, collaborations serta relasinya. Komponen-

kompenen utama class diagram adalah :

Page 3: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

11

a. Class

Class adalah sebuah deskripsi dari sekumpulan objek yang

mempunyai atribut, operasi dan hubungan yang sama. Class

digambarkan dengan sebuah kotak dan mempunyai tiga

komplemen yaitu :

• Nama

Setiap class harus mempunyai nama untuk membedakan

class tersebut dengan class lainnya.

• Atribut

Atribut adalah representasi ciri yang mempunyai rentang

nilai tertentu. Sebuah class bisa tidak mempunyai atribut

maupun atribut yang tidak terbatas.

• Operasi

Operasi adalah abstraksi sesuatu yang dapat dilakukan

terhadap sebuah objek.

b. Relationship

Relationship adalah hubungan di antara elemen-elemen.

Relationship mempunyai beberapa jenis, yaitu :

• Dependencies

Dependencies adalah hubungan yang menyatakan sebuah

elemen menggunakan informasi dan operasi dari elemen

lainnya, tapi tidak sebaliknya.

• Generalizations

Generalizations adalah hubungan antara elemen umum

dengan elemen yang lebih spesifik. Generalizations

menggambarkan hubungan antara turunan dari orang tua ke

anak.

• Associations

Associations adalah hubungan struktural yang menetapkan

sebuah objek terhubung dengan objek lainnya.

• Aggregation

Page 4: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

12

Aggregation adalah bentuk hubungan khusus dari

associations yang menggambarkan hubungan keseluruhan

dengan bagiannya (whole/part relationship) dimana siklus

hidup objek besar (whole) tidak bergantung kepada objek

yang lebih kecil (part).

• Composition

Composition adalah bentuk hubungan khusus dari

associations yang menggambarkan hubungan keseluruhan

dengan bagiannya (whole/ part relationship) dimana siklus

hidup objek lebih besar (whole) bergantung pada objek yang

lebih kecil (part). Pada kondisi objek kecil tidak hidup,

maka objek besar juga tidak dapat hidup.

Gambar 2.2 Contoh Class Diagram

2. Use Case

Page 5: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

13

Use case adalah permodelan yang digunakan untuk membuat

struktur kelakuan dan kegunaan di dalam sebuah sistem.

Use case diagram merupakan diagram yang mendeskripsikan

sekumpulan perilaku yang dilakukan oleh sistem untuk

menghasilkan satu hasil yang bernilai untuk aktor. Komponen-

komponen utama use case diagram:

• Use Case

Use case adalah deskripsi perilaku yang dapat dilakukan

oleh aktor pada sistem tersebut.

• Aktor

Aktor merepresentasikan user yang mempunyai perannya

masing-masing terhadap setiap use case.

Gambar 2.3 Contoh Use Case

3. Sequence Diagram

Sequence diagram adalah diagram yang menggambarkan urutan

interaksi antar sekumpulan objek dan hubungannya, serta pesan yang

dikirim di antara objek tersebut. Sequence diagram digambarkan

dengan sebuah tabel yang menampilkan objek pada sumbu-x dan pesan

diurutkan sesuai waktu pada sumbu-y. Komponen-komponen utama

sequence diagram:

a. Actor atau Object

Actor atau Object adalah elemen yang mengirimkan message

dan menerima message. Object digambarkan dengan kotak yang

berisi nama objek dan nama class. Sedangkan actor

digambarkan dengan gambar orang.

Page 6: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

14

b. Message

Message adalah pesan yang dikirimkan ke actor atau object

lainnya dengan melakukan suatu operasi. Message digambarkan

dengan panah. Jenis-jenis message :

• Call

Call message terbagi menjadi 2 jenis, yaitu :

� Synchronous Message

Message yang dikirim kepada actor atau object dengan

menunggu suatu operasi selesai dilakukan. Synchronous

message digambarkan dengan panah dengan bagian

ujungnya hitam penuh.

� Asychronous Message

Message yang dikirim kepada actor atau object tanpa

menunggu suatu operasi selesai dilakukan. Asynchronous

message digambarkan dengan panah dengan bagian

ujungnya tidak hitam penuh.

• Return

Message yang dikembalikan kepada actor atau object

pengirim sebagai tanggapan message yang telah dikirim

sebelumnya. Return digambarkan dengan panah dengan

garis putus-putus yang bagian ujungnya tidak hitam penuh.

• Send

Message yang digunakan untuk mengirimkan sinyal ke actor

atau object

• Create

Message yang digunakan untuk membuat sebuah object.

Page 7: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

15

• Destroy

Message yang digunakan untuk menghancurkan sebuah

object yang telah dibuat sebelumnya.

c. Lifeline

Lifeline adalah garis yang menandakan hidup dari sebuah actor

atau object dalam sebuah sistem. Pada sequence diagram juga

terdapat control operator yang berfungsi untuk membuat operasi

struktural, seperti perulangan dan conditional. Control operator

yang dimilik oleh sequence diagram sebagai berikut :

• Optional

Teks yang ditulis adalah opt. Body control operator akan

dieksekusi jika sebuah keadaan terpenuhi. Kondisi itu

disebut dengan guard condition. Guard condition

merupakan sebuah ekspresi Boolean yang digambarkan

dengan tulisan yang diapit dengan kurung siku pada sebuah

lifeline actor atau object.

• Conditional

Teks yang ditulis adalah alt. Body control operator dibagi

menjadi sup-area. Setiap sup-area mempresentasikan

sebuah cabang dari conditional.

• Parallel

Teks yang ditulis adalah bar. Body control operator dibagi

menjadi beberapa bagian sub-area dengan menggunakan

garis horizontal putus-putus. Setiap sub-area

mempresentasikan operasi yang akan berjalan secara

bersamaan.

Page 8: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

16

• Loop(iterative)

Teks yang ditulis adalah loop. Body control operator

dieksekusi secara berulang sebanyak n kali.

Gambar 2.4 Contoh Sequence Diagram

2.1.3. Object Oriented Analysis and Design (OOAD)

Menurut (Booch, Object-Oriented Analysis and Design With

Application Second Edition, 1994, p. 18) Object Oriented Analysis and Design

(OOAD) merupakan rekayasa pendekatan software dimana sistem dimodelkan

sebagai kumpulan objek yang saling berinteraksi, dan memperlakukan tiap

objek sebagai suatu instance dari sebuah class. Objek-objek tersebut terdiri dari

beberapa entitas yang punya kepentingan masing-masing dalam sistem.

OOAD pada dasarnya berbeda dengan pendekatan desain terstruktur

lainnya. OOAD memerlukan cara berpikir yang lain dan menghasilkan

arsitektur software yang jauh berbeda dengan desain terstruktur. Perbedaan ini

muncul dari kenyataan bahwa metode desain terstruktur dibangun berdasarkan

pemrograman terstruktur, sedangkan desain berbasis objek dibangun atas dasar

pemrogram berbasis objek.

Ada beberapa keuntungan dalam menggunakan OOAD, yaitu:

a. dapat menangani permasalahan yang kompleks

Page 9: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

17

b. kelas dan objek dinyatakan secara eksplisit

c. lebih siap dalam menghadapi perubahan

2.1.4. Interaksi Manusia Komputer

Menurut (Krug, 2006) 5 hal penting dapat dilakukan designer website

untuk memastikan pengguna melihat dan mengerti sebanyak mungkin situs

yang dibuatnya adalah :

1. Membuat sebuah hierarki tampilan yang jelas

Salah satu cara terbaik untuk membuat sebuah halaman mudah

dimengerti dengan cepat adalah memastikan tampilan dari dari

elemen-elemen di halaman jelas dan menggambarkan secara jelas

hubungan antar elemen di halaman. Elemen-elemen mana yang

berkaitan, elemen mana yang merupakan bagian dari elemen

lainnya. Dengan kata lain, setiap halaman sebaiknya memiliki

hierarki tampilan yang jelas. Berikut ini adalah 3 ciri-ciri halaman

dengan hierarki tampilan yang jelas :

a. Semakin penting sesuatu maka semakin menonjol pula mereka.

Sebagai contoh : Judul yang paling penting biasanya lebih besar,

tebal dan diberi warna yang berbeda, selain itu diberikan jarak

ruang kosong yang besar, dekat dengan bagian atas halaman.

b. Sesuatu yang berkaitan secara logis biasanya juga diletakkan

bersamaan. Sebagai contoh : anda dapat menunjukkan bahwa

sesuatu adalah sejenis dengan mengumpulkan mereka bersama

di bawah judul, menampilkan mereka dengan gaya tampilan

yang sama, atau meletakkan mereka di area khusus.

c. Sesuatu yang “bersarang” secara visual menunjukkan bagian

dari. Sebagai contoh : sebuah judul bagian berada di atas judul

halaman tertentu, secara visual mencakup seluruh daerah isi dari

halaman, karena judul halaman merupakan bagian dari judul

bagian.

2. Konvensi umum merupakan teman anda

Page 10: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

18

Kita sudah terbiasa mengetahui beberapa konvensi atau hal umum

yang berkaitan dengan layout halaman dan formatting yang

membuat kita lebih mudah dan cepat melakukan pencarian cepat di

koran dan menemukan cerita yang menarik bagi kita. Dan ketika

kita berjalan-jalan ke kota lain, kita belajar bahwa semua Koran

menggunakan konvensi yang sama, mungkin dengan beberapa

variasi, sehingga kita tahu konvensi dibuat untuk memudahkan

membaca Koran apapun.

Hal yang sama juga terjadi pada situs. Web sudah memiliki banyak

konvensi, yang kebanyakan diturunkan dari koran dan majalah, dan

konvensi yang baru akan terus bermunculan. Pada dasarnya

konvensi berawal dari ide cemerlang seseorang, Jika idenya berjalan

dengan baik, maka situs lain akan menirunya dan kebanyakan orang

yang sudah sering melihatnya tidak perlu penjelasan mengenai hal

itu. Proses adopsi membutuhkan waktu, namun hal ini berjalan

dengan cepat di internet, seperti yang lainnya. Sebagai contoh,

kebanyakan orang sekarang sudah tidak asing dengan konvensi

menggunakan keranjang belanja online, sehingga aman bagi

desainer untuk menggunakan sebuah icon keranjang tanpa memberi

label “Shopping Cart”.

Berikut adalah dua hal penting yang perlu diketahui tentang

konvensi situs :

a. Mereka sangat berguna. Sebagai sebuah aturan, konvensi hanya

menjadi konvensi jika mereka bekerja. Penerapan yang baik dari

konvensi membuat pengguna mudah untuk berpindah-pindah

dari satu situs ke situs lainnya tanpa mengeluarkan usaha yang

berlebihan untuk menyadari bagaimana sesuatu bekerja. Sebagai

contoh, ketika melihat daftar dari link ke bagian dari sebuah

situs dengan latar belakang tertentu di bagian kiri halaman,

meskipun terkadang kita ditemani beberapa hal lain pengguna

dapat menyadari bahwa itu merupakan link.

b. Perancang lebih sering enggan menggunakan kelebihan mereka.

Berhadapan dengan peluang menggunakan konvensi, adalah

cobaan bagi perancang untuk menemukan kembali sesuatu,

Page 11: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

19

karena pada umumnya mereka merasa bahwa mereka digaji

untuk melakukan sesuatu yang baru dan berbeda, dan tidak sama

dengan hal sebelumnya.

Jika anda tidak menggunakan konvensi web yang ada, anda

harus memastikan bahwa anda telah menggantikannya dengan

sesuatu yang jelas dan mudah dimengerti atau mungkin anda

menambahkan nilai lebih yang membutuhkan sedikit

pembelajaran. Jika anda mencoba berinovasi, anda harus

mengerti bahwa nilai dari perubahan anda, dan banyak

perancang cenderung untuk mengabaikan beberapa nilai yang

ditawarkan konvensi.

3. Bagi halaman menjadi bagian yang jelas

Membagi halaman menjadi bagian yang jelas adalah penting karena

memungkinkan pengguna untuk memutuskan dengan cepat daerah

halaman untuk difokuskan dan area mana yang boleh diacuhkan.

Beberapa penelitian menunjukkan pengguna memutuskan dengan

cepat bagian mana yang memiliki informasi berguna dan

kebanyakan mereka tidak melihat ke bagian lainnya.

4. Buat dengan jelas bagian mana yang dapat diklik

Semenjak kebanyakan hal yang dilakukan orang adalah mencari hal

lain untuk diklik selanjutnya. Hal ini menjadi penting untuk

memperjelas bagian mana yang dapat diklik dan mana yang tidak.

5. Buat gangguan seminimum mungkin

Salah satu musuh terbesar dari halaman yang mudah dimengerti

adalah gangguan tampilan. Gangguan ini umumnya terbagi menjadi

dua jenis yaitu :

a. Busy-ness. Ketika setiap benda yang ada di halaman menarik

perhatian sehingga dapat membuat pengguna bingung.

b. Background noise. Beberapa bagian tidak terlihat sebagai

sumber gangguan, namun beberapa bagian kecil dari tampilan

mengganggu kita. Sebagai contoh : sebagai penanda batasan

Page 12: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

20

antar menu biasanya terdapat garis, jika garis tercetak hitam atau

tebal maka akan sangat mengganggu untuk melakukan

pencarian menu, sebaiknya diganti menjadi abu-abu agar tidak

mengganggu. Setiap user memiliki toleransi yang berbeda untuk

tingkat gangguan. Beberapa mungkin tidak memiliki masalah

dengan busy pages dan background noise. Jadi sebaiknya

pastikan semua adalah gangguan tampilan sampai terbukti

mereka bukan.

2.1.5. Framework

Menurut (Husted, Dumoulin, Franciscus, & Winterfeldt, 2003, p. 5)

framework adalah aplikasi setengah jadi yang bersifat object-oriented sehingga

dapat digunakan kembali.

Jadi, Framework bisa dikatakan sebagai sebuah sistem setengah jadi

dengan fitur dasar yang telah tersedia agar programmer tidak lagi membuat

fitur-fitur dasar pada sistem yang ingin dikembangkan.

2.1.6. Lima Faktor Manusia Terukur

Menurut (Shneiderman, Plaisant, Cohen, & Jacobs, 2010, p. 32) untuk

merancang user interface, ada beberapa faktor pengukur yang harus dijadikan

evaluasi, yaitu :

1. Waktu Belajar

Merancang user interface yang mudah untuk user. Sehingga user

tidak memerlukan waktu lama untuk mempelajari cara penggunaan

aksi yang berhubungan dengan tugas.

2. Kecepatan Kinerja

Lamanya waktu yang diperlukan user untuk menyelsaikan sebuah

tugas.

3. Tingkat Kesalahan

Meminimalisir tingkat kesalahan yang mungkin terjadi dalam proses

penggunaan dan memberikan penanganan kepada user.

4. Daya Ingat

Page 13: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

21

Bagaimana user dapat mempertahankan daya ingat mereka

mengenai interface setelah jangka waktu tertentu. Frekuensi

penggunaan interface akan meningkatkan daya ingat.

5. Kepuasan Subjektif

Tingkat kepuasan user dapat diketahui dengan melakukan interview

dan survey kepada user.

2.1.7. Kamus Data

Menurut (Kristanto, 2004) kamus data merupakan kumpulan elemen-

elemen atau simbol-simbol yang digunakan untuk membantu penggambaran

setiap field dalam suatu sistem. Kamus data terdiri atas daftar yang

terorganisasi dari elemen data yang berhubungan dengan sistem, sehingga

pengguna dan penganalisa sistem memiliki dasar pengertian yang sama

mengenai input, output, penyimpanan, dan proses. Berikut adalah simbol-

simbol yang digunakan dalam kamus data :

Tabel 2.1 Simbol-Simbol Kamus Data

Simbol Uraian = Terdiri dari, mendefinisikan, diuraikan menjadi, artinya + Dan () Opsional {} Iterasi [] Memilih salah satu alternatif ** Komentar @ Identifikasi atribut kunci

2.2. Teori yang berkait tema penelitian (tematik)

Teori yang terkait tema penelitian adalah teori yang berkaitan dengan tema

penelitian dan teori yang menjadi landasan dalam pembuatan website Liveboard.

Berikut teori-teori yang berkaitan dengan penelitian:

2.2.1. E-Learning

1. Pengertian E-Learning

Menurut (Horton, 2012, p. 1) E-Learning adalah penggunaan

teknologi elektronik untuk menciptakan pengalaman belajar. Definisi

Page 14: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

22

ini sangat luas, memungkinkan secara bebas menentukan bagaimana

cara memformulasikan, mengatur dan membuat pengalaman. Sebab

pada definisi tersebut tidak disebutkan alat penyampaian dan sistem

manajemennya dengan jelas.

2. Tipe-tipe E-Learning

Menurut (Empy Effendi & Hartono Zhuang, 2005, p. 7) e-learning

mempunyai 2 tipe, yaitu :

a. Synchronous Training

Synchronous berarti “pada waktu yang bersamaan”. Jadi,

synchronous training adalah jenis pelatihan, dimana proses belajar

mengajar terjadi pada saat yang bersamaan ketika pengajar sedang

mengajar dan murid sedang belajar. Pelatihan synchronous training

lebih banyak digunakan seminar atau konferensi yang pesertanya

berasal dari berbagai negara. Penggunaan tersebut sering pula

dinamakan web conference atau webinar (web seminar) dan sering

digunakan di kelas – kelas yang universitasnya telah menerapkan

sistem online. Jadi, synchronous training mempunyai sifat yang

mirip pelatihan di ruang kelas. Namun, kelasnya bersifat maya

(virtual) dan peserta tersebar di seluruh dunia dan terhubung melalui

jaringan internet. Oleh karena itu, synchronous training lebih sering

dinamakan virtual classroom.

b. Asynchronous Training

Asynchronous berarti “pada waktu yang tidak bersamaan”.

Seseorang bisa mempelajari pelatihan yang dia ambil pada waktu

yang berbeda dengan pengajar yang memberikan pelatihan.

Pelatihan asynchronous lebih terkenal di dunia e-learning karena

memberikan keuntungan lebih bagi peserta pelatihan untuk

mengakses pelatihan kapanpun dan dimanapun.

Pelatihan ini berupa paket pembelajaran yang dapat dijalankan

di komputer manapun dan tidak melibatkan interaksi dengan

pengajar atau pelajar – pelajar yang terdaftar. Oleh karena itu,

pelajar dapat memulai pelajaran dan menyelesaikannya kapan saja.

Paket pembelajaran ini berbentuk bacaan dengan konten seperti

Page 15: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

23

animasi, simulasi, permainan edukatif, maupun latihan atau tes

dengan jawabannya.

2.2.2. Big Data

Menurut (Dumbill, 2013, p. 1) big data adalah data yang melebihi

kapasitas pengolahan sistem database konvensional. Data tersebut terlalu besar,

bergerak terlalu cepat, atau tidak sesuai dengan arsitektur database anda. Untuk

mendapatkan hasil dari data tersebut, anda harus memilih cara alternatif untuk

memprosesnya.

2.2.3. NoSQL

Menurut (Firdausillah, Hidayat, & Dewi, 2012, p. 432) adanya

teknologi NoSQL dikarenakan berkembangnya aplikasi berbasis web yang

memerlukan pengolahan data dalam skala besar. Beberapa contoh website yang

memiliki pengolahan data dalam skala besar seperti Facebook, Twitter, Digg,

Google, Amazon, dan SourceForge. Website tersebut menyimpan dan

mengolah data puluhan gigabyte setiap hari, dan total keseluruhan data yang

disimpan oleh aplikasi tersebut sudah mencapai ukuran petabyte. Ukuran data

yang sangat besar menimbulkan permasalahan dari segi skalabilitas, karena

pertambahan data yang terjadi setiap saat. Peningkatan kemampuan server

secara vertikal yang dimiliki Relational Database Management System

(RDBMS) terbatas pada penambahan prosesor, memori, dan media

penyimpanan dalam satu node server. Sedangkan peningkatan kemampuan

server secara horizontal yang meliputi penambahan perangkat server baru

dalam suatu jaringan memerlukan biaya yang mahal dan sulit dalam

pengelolaannya. Salah satu cara yang diterapkan oleh website berskala besar

untuk mengatasi permasalahan tersebut dengan menggunakan NoSQL. NoSQL

menerapkan konsep BASE yang berarti Basically Available, Soft State, and

Eventually Consistent untuk meningkatkan availability dan partitioning data.

Basically Available memastikan bahwa sistem bekerja sepanjang waktu, Soft

State merupakan kondisi dimana sistem tidak harus konsisten setiap saat, dan

Page 16: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

24

Eventually Consistent yang menekankan bahwa sistem akan menjadi konsisten

beberapa waktu kemudian.

NoSQL didasarkan pada teori CAP yaitu pemilihan dua dari tiga aspek

yang ada, yang harus dipenuhi oleh basis data yaitu Consistency, Avaibility, dan

Partition-Tolerance.

1. Consistency Avaibility (CA) berseberangan dengan Partition-

Tolerance dan biasanya berhubungan dengan replikasi.

2. Consistency Partition-Tolerance (CP) berseberangan dengan

Avaibility dalam penyimpanan data.

3. Avaibility Partition-Tolerance sistem mencapai kondisi eventual

consistency melalui replikasi dan verifikasi yang konsisten dalam

node yang telah terbagi-bagi.

Gambar 2.5 Teori CAP

Dalam basis data NoSQL penerapan konsep tersebut diterjemahkan

dalam empat konsep dasar yaitu :

1. Non-Relational

Page 17: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

25

Konsep Non-Relational dalam basis data NoSQL meliputi hierarki,

graph, dan basis data berorientasi obyek yang sudah terlebih dahulu ada

sejak tahun 1960 sebelum akhirnya basis data relasional muncul pada

tahun 1970. Penggunaan basis data non-relational kembali merebak

seiring dengan bertambahnya aplikasi berbasis web yang memerlukan

banyak penyimpanan data. Meskipun memiliki kelemahan pada

konsistensi dan redundansi data, namun basis data non-relasional dapat

menyelesaikan beberapa permasalahan terkait dengan Avaibility, dan

Partition-Tolerance. Tugas pengecekan konsistensi dan redundansi data

diserahkan pada sisi aplikasi, sedangkan basis data non-relational hanya

bertugas memanipulasi penyimpanan saja.

2. MapReduce

MapReduce merupakan model pemrograman yang di adaptasi dari

pemrograman fungsional yang diimplementasikan untuk mengolah

dataset yang sangat besar. Tujuan dari MapReduce adalah merancang

suatu abstraksi baru yang memungkinkan pengguna untuk membuat

antarmuka pemrograman sederhana dan menyembunyikan detail yang

rumit dari paralelisasi, fault-tolerance, distribusi data, dan load

balancing dalam pustaka pemrogramannya. Hasilnya menunjukkan

bahwa penerapan MapReduce dapat menyederhanakan antarmuka

pemrograman yang dapat mendukung paralelisasi dan distribusi

komputasi skala besar secara otomatis. Penggunaan library dalam

MapReduce memiliki beberapa keuntungan seperti load balancing,

optimasi perangkat penyimpanan yang nantinya akan meningkatkan

efisiensi sistem dan kemudahan dalam penggunaannya.

3. Schema-Free

NoSQL dan RDBMS mempunyai perbedaan dalam hal penerapan

skema basis data. Dalam basis data relasional, sebuah tabel didesain

dengan peraturan skema yang ketat. NoSQL menyimpan data dengan

aturan yang lebih longgar, artinya tidak seperti basis data yang

berdasarkan SQL tradisional , NoSQL tidak memiliki tabel, kolom,

Page 18: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

26

primary dan foreign key, join, dan relasi. Dalam pengembangan basis

data relasional, developer/database administrator harus berhati-hati

dalam menentukan bagaimana tabel saling berelasi dan field yang ada di

dalam setiap tabel. Karena perubahan skema dalam RDBMS dapat

menimbulkan masalah ketergantungan dan integritas, seperti timbulnya

kolom null dan relasi kunci yang tidak cocok. Hal ini bukan masalah

dalam NoSQL karena adanya penerapan schemafree. Setiap dokumen

bertanggung jawab terhadap isinya sendiri, maksudnya null value dapat

dihilangkan dalam beberapa baris, dan field baru dapat didefinisikan

dalam setiap dokumen secara independen.

Manfaat lain dalam penggunaan schema-free adalah penghematan

dalam media penyimpanan. Dalam basis data relasional, setiap field

yang ada dalam tabel harus mempunyai nilai, walaupun nilai itu null.

Model data schema free artinya setiap baris memungkinkan memiliki

nilai sebanyak yang telah didefinisikan dalam tiap fields, dan tidak perlu

menggunakan nilai yang memang tidak diperlukan. Kelemahan dalam

penggunaan schema free adalah memunculkan lemahnya pendefinisian

struktur yang memungkinkan terjadinya penggunaan basis data yang

tidak konsisten. Jika tujuan pembangunan basis data didasarkan pada

konsistensi yang ketat, seperti wiki, document management systems,

discussion forums, blogs, dan support management systems, basis data

relasional masih merupakan pilihan yang tepat.

4. Horizontal Scaling

Horizontal scaling memungkinkan basis data dijalankan pada

beberapa server untuk meningkatkan kemampuan perangkat

penyimpanan dan meningkatkan efisiensi waktu. Hal ini memerlukan

kemampuan dinamis pempartisian data dalam serangkaian node (seperti

storage hosts) dalam suatu cluster server. Kemampuan untuk

meningkatkan kemampuan dengan menambahkan beberapa komputer

sangatlah penting dilakukan untuk data yang jumlahnya banyak, karena

vertical scaling dilakukan dengan meningkatkan kemampuan

spesifikasi single server (misalnya penambahan prosesor, memori, dan

peralatan penyimpanan) terbatas untuk dilakukan dan lebih mahal.

Page 19: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

27

Horizontal scaling berarti memungkinkan dilakukannya

penambahan server dalam satu jaringan dan user tidak sadar jika ada

hardware yang diganti dari sisi server (transparent). Ada beberapa

teknik partisi yang digunakan dalam basis data untuk melakukan

horizontal scaling, salah satunya adalah consistent. Kunci dari

menerapkan consistent hashing adalah membuat suatu lingkaran atau

“ ring”. Setiap node dalam sistem yang ditandai dengan random value

dalam suatu space yang merepresentasikan posisi dari ring. Suatu kunci

item ditandai dengan sebuah node untuk memperoleh posisinya pada

ring, kemudian berpindah menuju node selanjutnya yang sudah

ditandai. Node memerankan peranan penting sebagai koordinator untuk

kunci yang akan digunakan dalam route request. Kemudian, setiap node

menjadi tanggung jawab dari daerah yang ada di ring di antara noder

dan node dalam ring sebelumnya.

NoSQL merupakan basis data non-relational dengan schema-free yang

mempunyai empat (4) model data yang dapat melakukan partisi untuk data

yang berukuran besar, melakukan query, replikasi data, dan mendukung adanya

konsistensi. Empat (4) model data NoSQL tersebut adalah :

1. Column-oriented

Penerapan column-oriented terdapat dalam Cassandra. Cassandra

menggunakan distribusi multidimensional map indexed dengan sebuah

key. Baris kunci yang sering digunakan dalam Cassandra adalah string

dengan panjang 16-36 bytes. Setiap kolom digabungkan menjadi sebuah

column families. Beberapa konsep dalam penerapan column-oriented.

Suatu kolom unit atomic dari informasi didukung oleh Cassandra yang

diekspresikan dengan nama value. Super-column merupakan gabungan

dari kolom dengan nama yang umum dan digunakan untuk pemodelan

tipe data yang kompleks. Baris secara unik mengidentifikasikan data

yang terdapat dalam column dan super-column. Dalam Cassandra baris

dapat dikenali dengan sebuah kunci. Column Family merupakan bagian

dari suatu unit abstraksi yang berisi baris kunci yang tergabung dalam

column dan super column yang memiliki struktur data yang tinggi.

Keyspace merupakan level tertinggi dari unit informasi yang terdapat

Page 20: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

28

dalam Cassandra. Kumpulan column families sebenarnya merupakan

subordinat dari satu keyspace. Pada intinya model data column-oriented

memungkinkan suatu aplikasi secara bebas untuk mengembangkan

bagaimana informasi disusun berdasarkan suatu desain schema.

2. Document-oriented

Contoh penerapan model data document-oriented terdapat dalam

CouchDB yang dibangun oleh IBM. Basis data yang memiliki model

data document-oriented sangat bermanfaat untuk suatu domain yang

bentuk masukannya dokumen yang tidak terstruktur seperti web pages,

wikis, discussion forums, dan blogs. Data tersimpan dalam basis data

CouchDB yang mencakup serangkaian dokumentasi yang berisi

beberapa atribut dan nilai dengan masing-masing id yang unik dan

metadata. CouchDB tidak pernah melakukan overwrite document,

melainkan menambahkan dokumen baru ke basis data bila diperlukan

seperti ketika terjadi proses update.

3. Object-oriented

Basis data berorientasi objek adalah model basis data dimana

informasi direpresentasikan dalam bentuk objek yang digunakan dalam

pemrograman berorientasi obyek. OrientDB adalah contoh dari basis

data object-oriented. Dokumen OrientDB yang ada dalam suatu cluster,

dapat berupa fisik, logis atau in-memory, yang digunakan untuk

menyimpan link ke dalam data. Cluster adalah cara yang sangat umum

untuk mengelompokkan record, hal ini merupakan satu konsep yang

tidak ada dalam basis data relasional. Cara ini dapat mengelompokkan

semua record pada jenis tertentu, atau dengan nilai-nilai tertentu.

OrientDB menggunakan segmen data untuk menyimpan isi record.

Segmen data mirip dengan file physical cluster yang menggunakan dua

atau lebih file, yaitu satu atau beberapa file dengan ekstensi "oda"

(Orient Data) dan hanya satu file dengan ekstensi "odh" (Orient data

Holes).

Page 21: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

29

4. Graph-oriented

Basis data grafik (GraphDB) adalah basis data yang menggunakan

struktur grafik yang berisi node, edge, dan properti untuk mewakili dan

menyimpan informasi. GraphDB diperlukan untuk data grafik yang

berskala besar, terutama yang dipergunakan oleh para peneliti biologi

jaringan dan situs jaringan sosial, seperti Facebook, dan Twitter.

GraphDB memetakan secara langsung objek ke aplikasi dan lebih

intuitif untuk menggambarkan data set asosiatif.

Beberapa keuntungan dari GraphDB adalah:

a. Intuitive

Intuitive, dimengerti oleh pikiran manusia, yaitu

menggambarkan entitas dan hubungan sebagai grafik masalah

umum yang akrab dengan manusia

b. Elemental

Elemental untuk ilmu komputer, yaitu grafik, terutama grafik

pohon (seperti binary-tree, B+ tree, red-black tree) berfungsi

sebagai struktur data dasar dalam ilmu komputer dan berbagai

masalah (shortest path dan max-flow) dapat diubah dan

diselesaikan dengan algoritma grafik.

c. Ubiquitous

Ubiquitous, yaitu pemodelan ER ke model jejaring sosial selalu

dikelilingi oleh grafik baik di komputer ataupun dalam

kenyataan.

Keunggulan lain dalam GraphDB adalah biasanya lintasan grafik

digunakan sebagai pengganti operasi join yang berpengaruh dalam

efisiensi query. GraphDB juga tergantung pada kurangnya schema yang

kaku di mana satu schema dapat selalu diubah dengan mudah pada

grafik, karena struktur grafik sendiri cukup fleksibel untuk mewakili

perubahan melalui edit edge dan properti. GraphDB juga dapat

mendukung semua fitur basis data yang kuat.

Page 22: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

30

2.2.4. Hypertext Markup Language (HTML)

Menurut (Meloni, 2012, p. 2) HTML adalah sebuah bahasa untuk

menggambarkan text, gambar, dan dokumen yang mengandung informasi lain

di organisasikan dan terhubung secara bersama.

2.2.5. Hypertext Markup Language version 5 (HTML5)

HTML 5 adalah perkembangan terbaru dari HTML. (Murphy, Clark,

Studholme, & Manian, 2011, hal. 10) HTML5 mengandung semua fitur yang di

miliki HTML 4, walaupun dengan beberapa perubahan dan peningkatan

kinerja. Tetapi HTML5 juga memiliki beberapa fitur baru untuk membangun

aplikasi web dengan kualitas yang tinggi, beberapa fitur baru seperti :

1. Elemen semantik baru yang mengizinkan kita untuk mendefinisikan

beberapa bagian dari struktur HTML secara tidak ambigu

dibandingkan menggunakan banyak kelas dan ID.

2. Penambahan elemen baru untuk menambahkan video, audio, grafik

yang terbuat dari script dan beberapa aplikasi kaya konten lainnya.

3. Fitur baru untuk standarisasi fungsionalitas yang telah dibuat

sebelumnya, atau memiliki celah. Server memberikan peringatan

dan pesan validasi secara langsung.

4. Fitur baru untuk mengisi celah dalam fungsionalitas yang secara

tradisional terdapat pada standar terbuka seperti menentukan

bagaimana browser menangani markup error, memungkinkan

aplikasi web untuk bekerja secara offline, memungkinkan kita untuk

menggunakan koneksi dengan socket yang selalu terbuka untuk

transfer data aplikasi dan lagi-lagi audio, video dan canvas.

2.2.6. Cascading Style Sheets (CSS)

Menurut (Meloni, 2012, p. 46) CSS adalah bahasa yang mendefinisikan

elemen-elemen yang membentuk desain seperti font, colours, dan positioning

yang dimana digunakan untuk mendeskripsikan bagaimana informasi dalam

sebuah halaman web di bentuk dan ditampilkan.

Page 23: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

31

2.2.7. Node.JS

Pada European JSConf tahun 2009, Ryan Dahl memperkenalkan sebuah

proyek yang sedang dikerjakan olehnya. Proyek yang dikerjakan adalah sebuah

platform yang menggabungkan Google’s V8 JavaScript engine, proses

pengulangan, dan low-level I/O API. Proyek itu bernama Node.JS. Node.JS

mempunyai performa yang tinggi dan concurrent yang tinggi. Node.JS

menggunakan bahasa pemrograman JavaScript. Tidak seperti JavaScript yang

dijalankan pada sisi client, Node.JS dijalankan pada sisi server.

Perkembangan Node.JS sangat cepat karena Node.JS menggunakan

bahasa pemrograman javascript. JavaScript adalah bahasa pemrograman yang

paling banyak digunakan oleh programmer, sehingga programmer tidak perlu

lagi mempelajari bahasa pemrograman lagi untuk menguasai Node.JS.

Node.JS diatur dari Node Package Manager atau npm. NPM berfungsi

untuk mengatur, mencari dan menginstal modul-modul Node.JS (Teixeira,

2013, p. 3).

2.2.8. PHP

PHP (PHP Hypertext Preprocessor) adalah sebuah bahasa scripting

yang berada pada sisi server. PHP bekerja dalam dokumen HTML untuk

memberikan kapasitas konten yang dihasilkan sesuai permintaan. PHP akan

dijalankan pada sisi server dan hasilnya akan dikirimkan ke browser dalam

bentuk HTML (Castagnetto, Rawat, Schumann, Scollo, & Veliath, 1999, p. 8).

2.2.9. JavaScript

Menurut (Meloni, 2012, p. 66) JavaScript dibuat oleh Netscape

Communications Corporation. JavaScript adalah bahasa web scripting pertama

yang didukung oleh browser, dan sangat populer sampai sejauh ini. JavaScript

hampir mudah untuk dipelajari seperti HTML, dan JavaScript bisa langsung

digabungkan dengan dokumen HTML.

Beberapa hal yang bisa kita lakukan dengan JavaScript :

Page 24: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

32

1. Menampilkan pesan kepada pengguna sebagai bagian dari halaman

web, pesan tersebut bisa pada bagian status pada browser atau pada

bagian alert boxes.

2. Validasi pada formulir dan membuat kalkulasi (contoh : pada

formulir pemesanan bisa otomatis menampilkan jumlah total

pemesanan yang anda pesan).

3. Menggerakkan gambar atau membuat gambar yang bisa berubah

ketika mouse berada pada posisi di atas gambar tersebut.

4. Membuat tempat iklan yang interaktif dengan pengguna.

5. Mendeteksi browser yang digunakan atau fitur-fiturnya dan

melakukan fungsi khusus hanya pada browser yang mendukung.

6. Mendeteksi plug-ins yang diinstall dan memberitahukan kepada

pengguna jika memerlukan sebuah plug-ins.

7. Memodifikasi semua atau bagian tertentu pada sebuah halaman web

tanpa harus melakukan refresh halaman web tersebut.

8. Menampilkan atau berinteraksi dengan data yang didapat dari

server remote.

2.2.10. Asynchronous JavaScript and XML (AJAX)

Menurut (Meloni, 2012, p. 479) AJAX adalah fungsi dari sebuah

browser yang mengizinkan JavaScripts untuk keluar dari batasan sisi client dan

bekerja dengan file yang terdapat pada web server atau dengan program di sisi

server.

2.2.11. Real Time Processing

Real Time Processing adalah sistem aplikasi komputer yang mampu

memberikan respon terhadap input yang diberikan dalam waktu yang hampir

bersamaan (sebagai contoh: Air Traffic Control yang selalu memberikan detail

tentang kecepatan, ketinggian dan posisi pesawat terbang). Real Time

Processing semakin kompleks karena interkoneksi sistem. Misalnya, banyak

sistem real time harus berinteraksi dengan internet, communications services

dan dengan multimedia display system yang canggih.

Page 25: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

33

Sistem real time harus menggunakan multiple processors yang dapat

meningkatkan ketahanan dan kehandalan sistem, tetapi arsitektur menjadi lebih

kompleks, oleh karena itu kesulitannya berada pada menentukan dan

memastikan kehandalannya. Dengan demikian, aplikasi real time harus

memerlukan teknik pemrograman dan menggunakan data yang tepat agar

sumber daya komputer bisa digunakan secara optimal (Henderson, 2009, p.

399).

2.2.12. Web browser

Jutaan website menggunakan dokumen hypertext yang tidak hanya

meliputi text saja, tetapi bisa terdapat gambar, video dan suara. Untuk

mengakses itu semua, user harus menggunakan web-browsing program.

Fungsi dasar sebuah web browser adalah mengirimkan request sebuah

halaman website dengan menggunakan alamatnya. Request tersebut akan

diproses oleh web server yang bersangkutan. Server tersebut mengirimkan

dokumen HTML kepada browser yang kemudian akan ditampilkan untuk user.

Biasanya, browser akan menyimpan dokumen dan file yang di-request pada

local cache di komputer user. Cache berfungsi untuk mengurangi jumlah data

yang harus dikirimkan kembali jika browser melakukan request kepada

halaman web yang sudah pernah diakses (Henderson, 2009, p. 503).

Fitur – fitur yang pada umumnya dimiliki oleh semua web browser :

1. Navigation Buttons yang digunakan untuk maju ke halaman

selanjutnya atau mundur ke halaman sebelumnya yang sudah pernah

diakses (Henderson, 2009, p. 504).

2. Tabs yang digunakan untuk memudahkan user dalam berpindah-

pindah halaman web jika halaman web yang diakses lebih dari satu

(Henderson, 2009, p. 504).

3. Sebuah search button yang menggunakan search engine yang

dipilih oleh user (Henderson, 2009, p. 504).

4. Sebuah fungsi untuk menyimpan sebuah halaman web sebagai

“ favorites” atau “bookmarks” untuk memudahkan user jika ingin

mengakses kembali halaman web tersebut (Henderson, 2009, p.

504).

Page 26: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

34

2.2.13. HTML 5 WebSockets

HTML 5 WebSockets adalah teknologi web yang memungkinkan untuk

komunikasi dua arah dengan host jarak jauh. HTML 5 WebSockets

memungkinkan push message antara client dan server bisa dilakukan kapan

saja (Kaazing, 2013).

2.2.14. Webcam

Saat ini ribuan pemandangan real-time seluruh dunia dapat diakses

melalui web. Semua pemandangan tersebut dapat diakses berkat adanya kamera

digital dengan harga murah atau yang biasa disebut dengan webcam.

Untuk membuat webcam standar, user menghubungkan kamera digital

ke komputer biasa menggunakan kabel usb. Sebuah program yang digunakan

mengontrol kamera tersebut agar bisa mengambil gambar pada interval yang

sering kemudian di upload ke halaman web pengguna untuk menggantikan

gambar sebelumnya. User yang terhubung dengan web tersebut bisa melihat

gambar terbaru secara real-time berkat sebuah script yang dijalankan pada

server yang berfungsi untuk memperbarui gambar secara otomatis (Henderson,

2009, p. 504).

2.2.15. Web Service

Web Service adalah perangkat lunak yang dirancang untuk menawarkan

layanan atau kemampuan yang dapat dipanggil atau digunakan oleh aplikasi

lainnya. Dengan adanya web service sangat mempercepat evolusi aplikasi web

(Henderson, 2009, p. 508).

Terdapat beberapa cara untuk mengakses web service, yaitu :

1. Remote Procedure Call (RPC), yang umumnya menggunakan

WSDL dan mengikuti format yang sama dengan cara program

memanggil dan menggunakan fungsi library (Henderson, 2009, p.

509).

2. Sebuah organisasi yang didasarkan oleh pesan yang tersedia

daripada panggilan atau operasi (Henderson, 2009, p. 509).

Page 27: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

35

3. Representational State Transfer (REST), sebuah aplikasi atau

service yang digunakan sebagai koleksi “resources” dengan alamat

tertentu (URLs) dan requests khusus menggunakan HTTP

(Henderson, 2009, p. 509).

Keuntungan menggunakan web service adalah programmer dan bahkan

user dapat membangun web aplikasi baru tanpa harus mengetahui rincian

bagaimana web service itu bekerja (Henderson, 2009, p. 509).

2.2.16. Sorting Algorithm

Sorting algorithm adalah algoritma yang efisien dalam melakukan

pengurutan elemen – elemen ke dalam urutan tertentu. Sorting algorithm

mempermudah pengurutan data nilai – nilai array dalam berbagai cara dalam

database. Sorting algorithm merupakan bagian penting dalam pengaturan data

sehingga efisiensi mereka selalu menjadi tolak ukur. Efisiensi sorting algorithm

lebih terlihat dalam mengurutkan data yang ukurannya beragam dan dalam

jumlah yang besar (Sareen, 2013, p. 522).

2.2.17. Web 3.0

Web 3.0 merupakan era baru dari fase evolusi web. Web 3.0

memberikan suatu pengalaman baru dalam web, yang disebut sebagai 'web

pintar'. Web 3.0 menggunakan teknologi-teknologi seperti Semantic Natural

Language untuk mencari dan menerima informasi dari web. Data dapat

berkomunikasi lintas aplikasi untuk memberikan pengalaman yang lebih

canggih, sehingga interaksi manusia dengan komputer dapat menjadi real-time.

Tidak hanya Semantic Natural Language, web 3.0 juga menggunakan

teknologi-teknologi lainnya seperti, data mining, microformats, artificial

intelligence, dan lain-lain (Waldbillig, 2012).

2.2.18. WebRTC

WebRTC bersifat gratis, open project yang memungkinkan web

browser mempunyai kemampuan Real-Time Communications (RTC) melalui

JavaScript API yang sederhana (WebRTC, Home, 2013).

Page 28: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

36

WebRTC menawarkan kemampuan kepada web developers untuk

mengembangkan aplikasi multimedia yang realtime yang kaya fitur (sebagai

contoh: video chat) di web, tanpa memerlukan plugin. Ini bertujuan untuk

membangun platform RTC yang kuat yang bekerja di beberapa web browser

dan di beberapa platform (WebRTC, General Overview, 2013).

Sejauh ini hanya di dukung oleh browser Chrome dan Firefox. Proses

komunikasi ini dilakukan dengan cara peer-to-peer antar browser dimana

masing-masing pengguna terhubung dengan menggunakan URL unik (Dutton,

Getting Started with WebRTC, 2013).

WebRTC menggunakan RTCPeerConnection untuk melakukan

streaming data antar browser (peer to peer), namun di sini dibutuhkan sebuah

mekanisme untuk mengoordinasi komunikasi dan pesan kontrol, sebuah proses

yang kita kenal dengan signaling. Metode signaling dan protokolnya tidak

ditentukan oleh WebRTC, sehingga developer wajib membuat sendiri proses

signaling-nya. Pertukaran informasi lewat signaling harus diselesaikan sebelum

streaming peer-to-peer dapat dilakukan (Dutton, Getting Started with

WebRTC, 2013).

Signaling digunakan untuk bertukar tiga jenis informasi yaitu :

• Session Control Messages :

Untuk membuka dan menutup

komunikasi serta melaporkan error (Dutton, Getting

Started with WebRTC, 2013).

• Network Configuration :

Memberitahu berapa IP address

komputer dan port yang digunakan (Dutton, Getting

Started with WebRTC, 2013).

• Media Capabilites : Codecs

dan resolusi apa yang dapat dijalankan browser dan

bagaimana cara berkomunikasi dengan browser (Dutton,

Getting Started with WebRTC, 2013).

Untuk menjaga keamanan data, WebRTC memiliki beberapa fitur yaitu

:

Page 29: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

37

• Implementasi WebRTC menggunakan secure protocols (Dutton,

Getting Started with WebRTC, 2013).

• Enkripsi diwajibkan untuk seluruh komponen WebRTC termasuk

mekanisme signaling (Dutton, Getting Started with WebRTC,

2013).

• WebRTC bukan sebuah plugin melainkan sebuah komponen yang

berjalan dalam browser sandbox dan tidak dalam proses terpisah,

komponen tidak membutuhkan instalasi terpisah dan di-update

ketika browser melakukan update (Dutton, Getting Started with

WebRTC, 2013).

• Akses kamera dan microphone dilakukan secara eksplisit dan

ketika kamera atau microphone dijalankan terlihat dengan jelas di

layar (Dutton, Getting Started with WebRTC, 2013).

Infrastruktur WebRTC sendiri menggunakan arsitektur JSEP

(JavaScript Session Establishment Protocol). Dalam arsitektur ini data

signaling disimpan dalam sebuah server khusus , bukan dalam browser.

Tujuannya untuk menghindari hilangnya data setiap kali halaman dimuat ulang.

Untuk berkomunikasi peer-to-peer dalam JSEP dibutuhkan proses offer dan

answer antar kedua belah pihak dalam bentuk Session Description Protocol

format (SDP) (Dutton, WebRTC in the real world : STUN, TURN and

signaling, 2013).

Page 30: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

38

Gambar 2.6 Arsitektur JSEP

Dalam melakukan koneksi, pertama kali WebRTC melakukan metadata

signaling menggunakan server penengah. Ketika session telah terbuat proses

koneksi dilakukan secara langsung dengan peer-to-peer. Secara sederhana, jika

didunia ini setiap komputer memiliki alamat unik maka proses pertukaran data

antar komputer dapat dilakukan secara langsung tanpa bantuan penengah.

Gambar 2.7 A World Without NATs and Firewalls

Namun kenyataannya kebanyakan perangkat berada di belakang satu

atau lebih lapisan NAT, beberapa memiliki perangkat lunak antivirus yang

memblokir port dan protokol tertentu, dan banyak juga yang berada di belakang

proxy beserta firewall. Oleh karenanya aplikasi WebRTC menggunakan

framework ICE (Interactive Connectivity Establishment) untuk mengatasi

kompleksitas dunia networking.

Gambar 2.8 The Real World

Page 31: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

39

Berikut gambaran proses yang dilakukan ICE untuk menemukan peers.

Pertama-tama ICE mencari jalan terbaik untuk berhubungan dengan peers

dengan cara mencoba semua kemungkinan dengan paralel dan memilih pilihan

terbaik. ICE pertama kali mencoba membuat koneksi dengan alamat host yang

didapat dari OS dan Network Card. Jika gagal berarti komputer host berada

dibelakang NAT, maka ICE mencoba mengambil address eksternal dengan

STUN server, dan jika gagal juga traffic diarahkan lewat TURN Relay Server.

Dengan kata lain (Dutton, WebRTC in the real world : STUN, TURN and

signaling, 2013) :

• Sebuah STUN server digunakan untuk mendapatkan alamat network

eksternal

• TURN server digunakan untuk menyampaikan traffic jika koneksi

peer-to-peer gagal.

Setiap TURN Server mendukung STUN, sebuah TURN Server

merupakan STUN Server yang dilengkapi dengan fungsionalitas relay data

secara builtin. Cara kerja STUN dan TRUN (Dutton, WebRTC in the real world

: STUN, TURN and signaling, 2013) :

1. STUN

NAT menyediakan IP Address yang digunakan untuk jaringan lokal,

namun alamat ini tidak dapat digunakan secara eksternal. Tanpa

alamat publik, tidak ada jalan bagi WebRTC peers untuk

berkomunikasi. Untuk memecahkan masalah ini WebRTC

menggunakan STUN.

STUN Server dijalankan di jaringan internet dan memiliki satu tugas

sederhana yaitu mengecek IP:port address dari request yang masuk

(dari aplikasi di belakang NAT) lalu mengirimkan alamatnya

kembali sebagai respon. Dengan kata lain, aplikasi menggunakan

STUN server untuk mencari IP:Port dari perspektif publik. Proses

ini memungkinkan WebRTC peer untuk mendapatkan alamat akses

host publik lalu mengirimkannya ke target atau peer lainnya dengan

mekanisme signaling (Dutton, WebRTC in the real world : STUN,

TURN and signaling, 2013).

Page 32: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

40

Gambar 2.9 Using STUN Servers to Get Public IP:Port Addresses

2. TURN

RTCPeerConnection mencoba membuat koneksi langsung antar

peer melalui UDP. Jika gagal maka maka RTCPeerConnection

mengalihkan ke TCP. Jika cara tersebut masih gagal, Server TURN

dapat digunakan sebagai alternatif untuk berhubungan.

TURN Server memiliki alamat publik, sehingga dapat dihubungi

oleh peer walaupun mereka berada di belakang firewall atau proxy.

TURN server memiliki sebuah tugas sederhana yaitu untuk

menyampaikan stream. Namun tidak seperti STUN server, mereka

membutuhkan bandwidth yang lebih besar (Dutton, WebRTC in the

real world : STUN, TURN and signaling, 2013).

Page 33: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

41

Gambar 2.10 The Full Monty: STUN, TURN and Signaling

Diagram menunjukkan TURN berjalan ketika STUN gagal, sehingga

masing-masing peer menggunakan sebuah TURN server untuk saling

terhubung (Dutton, WebRTC in the real world : STUN, TURN and signaling,

2013).

2.2.19. CodeIgniter

CodeIgniter adalah sebuah perangkat Application Development

Framework yang digunakan untuk membangun web menggunakan PHP.

CodeIgniter memudahkan programer untuk membangun web lebih cepat

karena programer tidak perlu menulis code dari awal. Programer dapat

membangun web dengan cara menggunakan library yang telah ada untuk

mengerjakan tugas – tugas yang biasa diperlukan, tampilan UI yang sederhana

dan menggunakan struktur yang logic untuk mengakses library. CodeIgniter

memungkinkan programmer bisa fokus dan kreatif pada proyek pengembangan

aplikasinya dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas

yang diberikan (EllisLab, 2013).

Page 34: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

42

2.2.20. Cassandra

Apache Cassandra adalah NoSQL database berskala besar dan open

source. Cassandra sangat cocok untuk mengatur data yang besar baik

terstruktur, semi terstruktur, maupun tidak terstruktur di data center dan cloud.

Cassandra memberikan ketersediaan terus menerus, skalabilitas linier dan

operasi yang mudah melalui banyak melalui banyak server tanpa suatu

kesalahan, bersamaan dengan data model dinamis yang kuat dan didesain untuk

fleksibilitas maksimal dan waktu respons yang cepat.

Gambar 2.11 Cassandra Ring

Cassandra menggunakan arsitektur “masterless” yang berarti semua

node mempunyai kedudukan yang sama. Cassandra menyediakan distribusi

data otomatis ke seluruh node yang terdapat dalam cluster database.

Casssandra menyediakan replikasi built-in dan dapat disesuaikan, yang

menyimpan salinan data di seluruh node yang dalam cluster cassandra. Hal ini

berarti jika ada cluster yang mati, maka satu atau lebih salinan data dapat

diambil dari mesin cluster lainnya. Replikasinya bisa diatur pada satu data

center, banyak data center, dan cloud.

Cassandra menyediakan pengembangan secara skalabilitas linier, yang

berarti kapasitas dapat ditambahkan dengan mudah dengan cara menambahkan

node baru secara online (DataStax, 2013).

2.2.21. JavaScript Object Notation (JSON)

(JSON.ORG, 2013) JSON (JavaScript Object Notation) adalah format

pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta

mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat

berdasarkan bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262

Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak

Page 35: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

43

bergantung pada bahasa pemrograman apapun karena menggunakan gaya

bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++,

C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut,

menjadikan JSON ideal sebagai bahasa pertukaran data.

JSON terbuat dari dua struktur:

1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini

dinyatakan sebagai objek (object), rekaman (record), struktur

(struct), kamus (dictionary), tabel hash (hash table), daftar berkunci

(keyed list), atau associative array.

2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan

bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector),

daftar (list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal. Pada

dasarnya, semua bahasa pemrograman modern mendukung struktur data ini

dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian

karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman

yang juga berdasarkan pada struktur data ini.

JSON menggunakan bentuk sebagai berikut:

1. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek

dimulai dengan { (kurung kurawal buka) dan diakhiri

dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik

dua)dan setiap pasangan nama/nilai dipisahkan oleh , (koma).

Gambar 2.12 JSON Objek

2. Array adalah kumpulan nilai yang terurutkan. Larik dimulai

dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak

tutup). Setiap nilai dipisahkan oleh , (koma).

Page 36: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

44

Gambar 2.13 JSON Array

3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda,

atau angka, atau true atau false atau null, atau sebuah objek atau

sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.

Gambar 2.14 JSON Value

4. String adalah kumpulan dari nol atau lebih karakter Unicode, yang

dibungkus dengan tanda kutip ganda. Di dalam string dapat

digunakan backslash escapes "\" untuk membentuk karakter khusus.

Sebuah karakter mewakili karakter tunggal pada string. String

sangat mirip dengan string C atau Java.

Page 37: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

45

Gambar 2.15 JSON String

5. Angka adalah sangat mirip dengan angka di C atau Java, kecuali

format oktal dan heksadesimal tidak digunakan.

Gambar 2.16 JSON Number

6. Spasi kosong (whitespace) dapat disisipkan di antara pasangan

tanda-tanda tersebut, kecuali beberapa detil encoding yang secara

lengkap dipaparkan oleh bahasa pemrograman yang bersangkutan.

Page 38: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

46

2.3. Penelitian Sebelumnya

Menurut penelitian yang dilakukan oleh (Giannakos & Lapatas, 2010).

Penerapan E-learning pada versi pertama dari Web yaitu Web 1.0 seorang murid

hanya dapat secara pasif membaca materi yang disampaikan oleh guru. Pada

perkembangannya di Web 2.0 murid memiliki kemampuan untuk berinteraksi dengan

konten yang disampaikan seperti memberikan comment atau mengubah informasi

yang diberikan pengajar (wiki). Satu langkah kemudian dalam perkembangan dunia

Web adalah Web 3.0, dimana teknologinya memungkinkan murid dan guru belajar

secara kolaboratif dalam lingkungan yang disediakan.

Web 3.0 menyediakan teknologi-teknologi yang dapat diterapkan untuk

mendukung pembelajaran seperti smart interface dan autoupdate content. Selain itu

fitur-fitur lain yang dapat digunakan adalah

• Synchronous/Asyncronous and Social Content

Pembelajaran dilakukan secara langsung seperti didalam suatu kelas virtual

ataupun pembelajaran dilakukan dengan cara tidak langsung seperti melalui

artikel, materi, dan tugas.

• Wiki-enabled Interface

Setiap kata-kata yang digunakan didalam pembahasan bisa dihubungkan

langsung dengan wiki yang disediakan. Hal ini dapat dilakukan secara

otomatis maupun manual.

• Customized Background Search

Memberikan saran pencarian melalui media pencarian populer seperti

google. Dimana tiap topik pembahasan yang dilakukan hasil pencarian

ditampilkan secara khusus disuatu bagian tertentu didalam kelas.

Sedangkan berdasarkan hasil penelitian dari (Hussain, 2012) E-Learning sudah

berevolusi sejak awal penemuannya hingga saat ini. Berikut ini adalah generasi-

generasi dari E-learning yang telah ada :

• E-Learning 1.0

E-learning generasi ini biasanya dianggap sebagai panduan instruksi yang

dilakukan dengan komputer. Selanjutnya berkembang menjadi Learning

Management System (LMS) yang berfungsi untuk mendukung manajemen

proses pembelajaran seperti pengaturan materi, pemberian tugas dan

Page 39: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

47

penilaian. Proses komunikasi antar guru dan murid dilakukan secara searah

yaitu penyampaian materi dari guru ke muridnya.

• E-Learning 2.0

Teknologi Web 2.0 membuat proses pembelajaran dapat dilakukan secara

lebih kolaboratif dengan menggunakan wiki, blog, podcasts dan media

sosial lainnya. Alat-alat tersebut memberikan konten yang dinamis untuk

mendukung kolaborasi dan interaksi antar pengguna. Pada versi ini proses

komunikasi dilakukan secara multi-directional dimana pengetahuan

dikembangkan secara bersama-sama.

• E-Learning 3.0

Kehadiran cloud computing dan teknologi baru seperti kapasitas

penyimpanan data yang besar, resolusi layar yang tinggi, perangkat layar

sentuh, dll. Serta peran Web 3.0, mengarahkan kita ke generasi selanjutnya

yaitu E-learning 3.0. Satu hal terpenting dari E-learning 3.0 adalah

kehadirannya dimana saja dan kapan saja dengan memanfaatkan perangkat

mobile untuk aksesnya.

Selanjutnya berdasarkan penelitian dari (CHISEGA-NEGRILĂ, 2013) dalam

Web 3.0 memiliki empat karakteristik utama :

• Distributed computing

• Extended smart mobile technology

• Collaborative intelligent filtering

• 3D visualization and interaction

Dimana karakteristik-karakteristik tersebut dapat dimanfaatkan untuk

mendukung proses pembelajaran dalam E-Learning. Walaupun dalam kenyataannya

ada untuk penerapan 3D visualization dan interaction memiliki kelemahan pada

beratnya aplikasi. Dan pada perkembangan kedepannya penerapan semantic web

(artificial intelligent) akan memberikan banyak kemudahan untuk pengguna dalam

memahami materi yang telah diekstraksi dari banyak sumber yang berbeda-beda.

Page 40: BAB 2 TINJAUAN PUSTAKA - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2013-1-00639-IF Bab2001.pdf · TINJAUAN PUSTAKA 2.1. Teori yang berkaitan dengan Software Engineering

48