BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Pengertian Internet
Menurut Turban et.al. (2005, p478), internet adalah sebuah interkoneksi
jaringan terbesar dari jaringan-jaringan komputer yang ada di seluruh penjuru
dunia.
2.1.1.1 Intranet
Menurut Turban et.al (2005, p48), intranet adalah suatu jaringan
yang bersifat private dengan menggunakan software internet dan
protokol TCP/IP.
2.1.1.2 Extranet
Menurut Turban et.al. (2005, p51), extranet adalah suatu jaringan
eksternal yang menghubungkan beberapa intranet via internet dengan
menambahkan mekanisme keamanan internet.
7
8
2.1.2 Aplikasi Internet
2.1.2.1 WWW
Menurut Turban et.al. (2005, p50), www adalah aplikasi yang
menggunakan fungsi transportasi dari internet dan memiliki standar
untuk menyimpan, menerima, memformat dan menampilkan informasi
via client / server architercture.
2.1.2.2 Web Service
Mengacu pada pendapat Benslimane et.al (2008, p56), sebuah
layanan Web adalah metode komunikasi antara dua perangkat elektronik
melalui web (internet). W3C mendefinisikan “Web Service” sebagai
sebuah sistem software yang dirancang untuk mendukung interaksi
interoperable mesin-ke-mesin melalui jaringan. Dengan interface yang
dijelaskan dalam format mesin-processable (khusus Web Services
Descripsion Language, dikenal dengan singkatan WSDL). Sistem lain
berinteraksi menggunakan layanan Web dengan cara yang ditentukan
oleh deskripsi menggunakan pesan SOAP, biasanya disampaikan
menggunakan HTTP dengan serialisasi XML dalam hubungannya dengan
standar Web. W3C juga menyatakan “dapat mengidentifikasi dua kelas
utama dari layanan Web, layanan Web REST-compliant, dimana tujuan
utama layanan ini untuk memanipulasi representasi XML WebSouce
menggunakan satu set keseragaman dari operasi “Stateless” dan arbitrary
9
Web service, dimana layanan ini dapat membuka set arbitrary
operation”.
2.1.2.3 Web Socket
Mengacu pada pendapat Ochtman (2011), WebSocket adalah
teknologi web yang disediakan untuk bi-directional, saluran komunikasi
melalui koneksi TCP tunggal full-duplex. API WebSocket dalam proses
standarisasi oleh W3C, dan protokol WebSocket telah distandarisasi oleh
IETF sebagai RFC 6455.
WebSocket dirancang untuk diterapkan di web browser dan web
server, tetapi dapat digunakan oleh client atau aplikasi server. Protokol
WebSocket membuat lebih banyak interaksi yang mungkin antara
browser dan website, memfasilitasi konten langsung dan penciptaan real-
time game. Hal ini dimungkinkan dengan menyediakan cara standar pada
server untuk mengirim konten ke browser tanpa diminta oleh client, dan
memungkinkan pesan yang diterima dan dikirim tetap terjaga dalam
keadaan sambungan yang terbuka. Dengan cara ini, percakapan yang
sedang berlangsung dua arah (bi-direction) dapat terjadi antara browser
dan server. Efek yang sama telah dilakukan di non-standar dengan
menggunakan teknologi stop-gap seperti Komet. Selain itu, komunikasi
dilakukan melalui nomor port biasa, TCP 80 yang bermanfaat bagi
lingkungan yang memblokir koneksi internet non-standar menggunakan
firewall. Protokol WebSocket saat ini didukung di beberapa browser
10
termasuk Safari, Firefox dan Google Chrome. WebSocket juga
membutuhkan aplikasi web pada server yang dapat mendukungnya.
2.1.3 HTML5
Menurut Cruse dan Lee (2011, p169), HTML5 dapat mengakhiri penggunaan
Flash untuk banyak aplikasi media, itu yang menyebabkan JavaScript bahkan
menjadi lebih populer dari sebelumnya. Ada banyak perpustakaan dan plugin yang
tersedia untuk meningkatkan dan memperluas HTML5 dan CSS3 untuk
menciptakan pengalaman interaktif yang kaya.
Menurut Cruse dan Lee (2011, p172), untungnya HTML5 liberal membantu
dari Cascading Style Sheets, dan sedikit JavaScript, bangkit untuk memenuhi
tantangan-tantangan baru.Inovasi terbaru dalam pengembangan web membuat
sebuah zaman keemasan baru untuk penerbit online. Setelah semua, HTML5
merupakan evolusi bukan revolusi .
Menurut Cruse dan Lee (2011, pp210-211), pada saat pengembangan dengan
HTML5, maka diambil prinsip dasar dari penamaan semantik (penamaan hal-hal
apa yang mereka bukannya penamaan hal-hal bagaimana mereka muncul) ke level
baru. Ini adalah faktor kunci yang membuat HTML5 berbeda dari semua
pendahulunya. Menurut buku HTML5Mulitmedia Development Cookbook akan
ditemukan pemikiran kembali dan mengoptimalkan banyak kode-penamaan
konvensi.
Meskipun HTML5 diusulkan rekomendasi dari Hypertext Aplikasi Web
Teknologi Working Group (WHATWG) tidak dijadwalkan untuk implementasi
11
penuh sampai tahun 2022, berkat berpikiran maju produsen browser, tidak ada
alasan pengguna tidak dapat memulai menggunakannya sekarang dan menuai
keuntungan dari semantik penamaan yang lebih baik, aksesibilitas yang
disempurnakan, dan lebih banyak lagi.
2.1.4 Eight Golden Rules
Menurut Shneiderman (2010, pp88-89), dalam perancangan disain
antarmuka (interface) terdapat delapan prinsip (Eight Golden Rules) yang harus
diperhatikan, yaitu :
1. Berusaha untuk konsisten
Urutan aksi yang konsisten diperlukan pada situasi yang sama. Konsistensi
juga harus diterapkan pada prompt, menu, layar bantu, warna tampilan,
kapitalisasi, huruf, dan sebagainya.
2. Memenuhi Kegunaan Universal
Mengenali kebutuhan pengguna yang beragam dan desain untuk mereka:
perbedaan pemula maupun ahli, rentang usia, bagi yang berkebutuhan khusus, dan
keragaman teknologi mempengaruhi kebutuhan desain yang dibuat.
3. Memberikan umpan balik yang berguna
Diharapkan dari setiap tindakan yang dilakukan, user mendapatkan umpan
balik (feedback) yang informative dari system. Untuk tindakan yang sering terjadi,
umpan balik (feedback) yang diberikan dapat dibuat secara sederhana, sedangkan
12
untuk tindakan yang jarang dilakukan harus lebih ditonjolkan lagi umpan balik
(feedback) yang diberikan oleh sistem.
4. Merancang dialog yang memberikan penutupan (keadaan akhir)
Urutan aksi harus disusun ke dalam kelompok awal, tengah, dan akhir. Suatu
umpan balik (feedback) yang informatif pada akhir pekerjaan sebaiknya dibuat
untuk mengindikasikan bahwa pekerjaan tersebut telah selesai dan siap untuk
melanjutkan ke aksi berikutnya.
5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana
Sistem yang dibuat diharapkan tidak menghasilkan kesalahan yang serius jika
digunakan oleh user. Jika user melakukan kesalahan, sistem diharapkan
mendeteksi kesalahan tersebut dan memberikan solusi pemecahan masalah yang
baik.
6. Mengijinkan pembalikan aksi yang mudah
Diharapkan adanya feature utnuk kembali (back) ke aktivitas sebelumnya.
Hal ini bertujuan agar user dapat kembali ke aktivitas sebelumnya jika ternyata
user melakukan suatu kesalahn sehingga user dapat memperbaikinnya.
7. Mendukung pusat kendali internal
Menjadikan user yang menggunakan sistem sebagai pemegang kendali,
bukan sebagai yang dikendalikan.
13
8. Mengurangi beban ingatan jangka pendek
Mengingat keterbatasan manusia dalam pemrosesan informasi dalam jangka
pendek, sebuah sistem diharapkan dibuat dengan tampilan sesederhana mungkin,
frekuensi pergerakan window dikurangi dan hal-hal lain yang dapat membebani
ingatan user. Informasi seperti singkatan atau kode sebaiknya juga disediakan.
Selain terdapat 8 prinsip (Eight Golden Rules) yang harus diperhatikan
dalam perancangan desain antarmuka, terdapat juga faktor-faktor (5 faktor manusia
terukur) yang digunakan untuk evaluasi perancangan desain antarmuka
(Shneiderman dan Plaisant, 2010, p32), yaitu :
Waktu Belajar
Berapa lama orang biasa mempelajari cara relevan untuk melakukan
suatu tugas?
Kecepatan Kinerja
Berapa lama suatu tugas dilakukan?
Tingkat Kesalahan
Berapa banyak kesalahan dan kesalahan-kesalahan apa saja yang dibuat
pemakai?
Daya Ingat
Bagaimana kemampuan pemakai mempertahankan pengetahuannya
setelah jangka waktu tertentu?
Kepuasan Subjektif
Bagaimana Kesukaan pemakai terhadap berbagai aspek sistem?
14
2.2 Teori Khusus
2.2.1 Multimedia
Menurut Vaughan (2011, p15-16), Multimedia adalah kombinasi teks,
gambar, suara, animasi, dan video yang dikirim kepada pengguna oleh computer
atau sarana elektronik atau digital manipulasi lainnya.
Ketika pengguna dapat mengontrol apa dan kapan elemen-elemen itu
diterima, hal itu disebut sebagai multimedia interaktif. Ketika pengguna
memberikan sebuah struktur dari elemen-elemen terkait dimana pengguna dapat
menavigasi, interaktif multimedia berubah menjadi hypermedia. Meskipun
definisi multimedia adalah sederhana, namun pekerjaan dapat menjadi rumit.
Pengguna tidak hanya perlu memahami bagaimana membuat setiap elemen
multimedia berdiri dan menari, tetapi pengguna juga perlu mengetahui
bagaimana menggunakan alat-alat komputer multimedia dan teknologi untuk
menggabungkan elemen-elemen tersebut secara bersama-sama.
Elemen-elemen multimedia menurut Hoffstetter (2001, pp18-26):
1. Teks
Dalam multimedia sangat memungkinkan pembuatan multimedia tanpa
menggunakan teks, namun sebagian besar multimedia menggunakan teks karena
teks adalah cara yang efektif dalam mengkomunikasikan ide dan instruksi bagi
user.
15
Teks juga terbagi menjadi dua berdasarkan typeface yaitu:
a. Serif
Serif adalah jenis tulisan yang sering digunakan karena membantu
mengarahkan mata pembaca ke teks. Serif memiliki sedikit dekorasi pada
akhir garis huruf.
b. Sans Serif
Sans Serif adalah jenis tulisan yang sering digunakan untuk headline
dan pernyataan yang ditebalkan, tetapi sejauh ini jenis sans serif lebih
dapat terbaca dan lebih menarik ketika digunakan dalam ukuran yang
kecil untuk tulisan di layar.
2. Grafik
Multimedia memungkinkan sebuah gambar berbuah menjadi objek lain
atau link yang terhubung dengan objek lain. Grafik juga dapat berupa ikon,
sebagai pengganti teks sehingga dapat ditampilkan secara full-screen dengan
menggunakan gambar sebagai objek atau link yang digunakan untuk
menampilkan objek lain.
Beberapa bentuk grafik, yaitu :
a. Bitmap
Bitmap adalah gambar yang disimpan sebagai bentuk set dari
sejumlah pixel yang saling berhubungan di layar komputer.
b. Vector images
Vector images disimpan sebagai sebuah set dari operasi
matematika dan algoritma yang dapat mendefinisikan kurva, garis
serta bentuk lain dari sebuah gambar atau objek
16
c. Clip Art
Clip Art ini lebih ditunjukan untuk penghematan waktu dalam
pembuatan aplikasi multimedia dengan menggunakan gambar-gambar
atau clip art yang sudah tersedia di library.
d. Digitized Picture
Digitized Picture adalah gambar yang didapatkan dari sebuah
frame yang ditangkap oleh video atau kamera.
e. Hyperpicture
Hyperpicture adalah sebuah gambar dimana bagiannya dapat
digunakan sebagai objek yang terintegrasi dengan objek lain pada
aplikasi multimedia.
3. Suara
Suara merupakan salah satu elemen multimedia yang membuat aplikasi
multimedia tidak terkesan monoton atau sepi.
Beberapa tipe suara yang biasa dan dapat dipakai dalam pembuatan
aplikasi multimedia :
a. Waveform Audio
Waveform audio dapat dihasilkan dari suatu rekaman suara yang
didengar. Setiap suara memiliki waveform yang menggambarkan
frekuensi, amplitude dan harmoni. File waveform dapat disimpan
dengan ekstension .wav .
b. MIDI
MIDI merupakan singkatan dari Musical Instrument Digital
Interface dimana MIDI memberikan sebuah cara yang efektif dan
17
efisien dalam merekam suara atau musik. Berbeda dengan waveform,
MIDI merekam performance information yang dibutuhkan komputer
untuk memainkan music dan membutuhkan ruang memori yang
cukup besar. File MIDI akan tersimpan dengan ekstensi .mid .
c. Audio CD
Audio CD dapat manmpung sekitar 75 menit suara dengan
kualitas tinggi dengan rata-rata sampling dapat mencapai sekitar
44.100 sampel perdetik. Audio CD membutuhkan CD-ROM untuk
dapat membuka isinya.
d. MP3
MP3 merupakan singkatan dari MPEG Audio Layer 3, yang juga
sebuah format audio file yang menggunakan codec audio MPEG
untuk menkompres dan dekompres rekaman suara. Dapat
mengkompres dari audio CD tanpa menurunkan kualitas suaranya.
4. Video
Video merupakan suatu hal yang sangat member kontribusi yang besar
dalam sebuah aplikasi multimedia.
Beberapa macam video yang dapat digunakan dalam aplikasi multimedia:
a. Live Video Feeds
Live Video Feeds ini menyediakan objek multimedia secara real-
time. Video seperti ini bisa didapatkan dari siaran televise atau dari
internet secara langsung.
18
b. Videotape
Videotape adalah suatu obyek multimedia yang dibatasi oleh 2
hal. Hal pertama adalah sifatnya yang linear sehingga jika pengguna
ingin mengakses informasi yang pengguna inginkan dengan cara
mempercepat atau mengulang kembali rekaman yang ingin dilihat,
sehingga cukup membuang waktu. Hal kedua adalah komputer tidak
dapat mengontrol secara manual dengan menggunakan tombol-
tombol yang telah disediakan.
c. Video Disc
Video disc memiliki 2 format yang berbeda yaitu CAV dan CLV.
Cav disc dapat menyimpan sekitar 54.000 frame yang merupakan
gabungan 30 menit video dan suara stereo. Berbeda dengan CAV,
CLV dapat menyimpan video dengan durasi 60 menit di setiap sisi
disc-nya tetapi player yang digunakan berbeda dengan player untuk
CAV dan lebih mahal.
d. Digital Video
Digital Video merupakan media paling baik dengan media storage
yang baik pula. Dapat disimpan pada hard disk, CD-ROM atau DVD.
Dengan bentuknya yang digital maka dapat dimainkan tanpa perlu
player-player khusus.
5. Animasi
Animasi dapat didefinisikan sebagai suatu pergerakan di layar yang
diciptakan oleh komputer.
19
Ada empat macam animasi yaitu :
a. Frame Animation
Frame Animation membuat sebuah pergerakan objek dengan
menampilkan gambar-gambar atau frame secara berurutan.
b. Vector Animation
Vector animation membuat pergerakan objek dengan merubah
permulaan, arah serta ukuran objek dan disesuaikan dengan segmen
objek.
c. Computational Animation
Computational animation lebih menggunakan koordinat kartesius
(x,y) pada layar komputer untuk menggerakan sebuah objek dengan
koordinat x sebagai penunjukan arah horizontal objek dan koordinat y
sebagai penunjuk arah vertical objek.
d. Morphing
Morphing memiliki arti transisi dari sebuah bentuk objek menjadi
bentuk yang lain dengan menampilkan dalam frame dan menciptakan
sebuah pergerakan yang halus dalam transisi objeknya.
2.2.2 UML
Menurut Flynt dan Salem (2005, p76), Unified Modeling Language
(UML) adalah bahasa standar yang digunakan untuk mendokumentasikan,
menspesifikasikan, dan merancang sistem aplikasi. UML menawarkan satu set
diagram, views, dan permodelan elemen yang digunakan untuk :
20
• mengumpulkan requirements (kebutuhan)
• menganalisis requirements (kebutuhan) yang telah dikumpulkan
• mendesain aplikasi sesuai kebutuhan
• mendokumentasikan aplikasi yang telah dikembangkan
• mengembangkan testing (pengujian)
• perencanaan peluncuran aplikasi
• mendiskusikan dan konseptualisasikan aplikasi
Diagram yang digunakan adalah use case diagram, sequence diagram, activity
diagram, dan class diagram.
2.2.2.1 Use Case Diagram
Mengacu pada pendapat Whitten et.al. (2004, p272) Use Case Diagram
adalah diagram yang menggambarkan interaksi antara sistem dengan hal-hal
eksternal dari sistem user. Dengan kata lain, secara grafis menjelaskan siapa
yang akan mempergunakan sistem dan dengan cara apa user diharapkan
untuk berinteraksi dengan sistem.
21
Tabel 2.1 Simbol dalam Use Case Diagram
Gambar 2.1 Contoh Use Case Diagram
22
2.2.2.2 Activity Diagram
Mengacu pada pendapat Whitten et.al. (2004, pp450-454), Activiy
diagram merupakan sebuah diagram serupa flowchart yang dapat digunakan
untuk menggambarkan secara grafis alirann proses sistem, langkah-langkah
sebuah use case atau metode objek.
Perbedaanya dengan flowchart, diagram ini menyediakan sebuah
mekanisme untuk menggambarkan kegiatan yang tampak secara parallel.
Oleh karena itu, diagram ini sangat berguna untuk memodelkan kegiatan
yang akan dilakukan sesaat sebuah operasi dieksekusi dan hasil dari kegiatan
tersebut.
23
Tabel 2.2 Notasi pada Activity Diagram
24
Gambar 2.2 Contoh Activity Diagram
2.2.2.3 Sequence Diagram
Mengacu pada pendapat Whitten et.al. (2004, p282), Sequence diagram
adalah diagram yang menggambarkan bagaimana objek berinteraksi dengan
objek lainnya melalui pesan dalam suatu eksekusi dari sebuah Use Case atau
25
sebuah operasi. Sequence diagram juga mengilustrasikan bagaimana pesan
dikirim dan diterima oleh objek dan terjadi di dalam suatu sequence.
Gambar 2.3 Contoh Sequence Diagram
2.2.2.4 Class Diagram
Mengacu pada pendapat Whitten et.al. (2004 p455), Class Diagram
menggambarkan struktur objek statis dari suatu sistem. Diagram ini
menunjukan kelas objek yang menyusun sistem dan juga hubungan antara
kelas objek tersebut.
26
Gambar 2.4 Model Class Diagram
Gambar 2.5 Contoh Class Diagram
2.2.3 Entity Reliationship Diagram (ERD)
Mengacu pada pendapat Whitten et.al. (2004, pp295-307), terdapat beberapa alat
atau tools yang digunakan untuk membuat pemodelan data. Entity Reliationship
Diagram (ERD), merupakan pemodelan data yang mengutilisasi berbagai notasi
27
untuk menggambarkan data dari segi entitas dan relasi yang digambarkan oleh
data tersebut.
Berikut ini merupakan beberapa konsep dasar yang mendasari semua pemodelan
data (Whitten et.al. 2004, pp295-307)
1. Entities, adalah suatu class dari orang, tempat, objek, kejadian atau konsep
tentang data yang dibutuhkan dan disimpan.
2. Attributes, merupakan descriptive property atau karakteristik dari suatu
entitas. Attributes kadang-kadang disebut juga dengan element, property dan
field.
3. Compound Attribute, adalah suatu atribut yang terdiri dari beberapa atribut
lainnya. Biasanya dikenal juga sebagai concatenated attribute, composite
attribute, dan data structure.
4. Data type, adalah properti dari suatu atribut yang mengidentifikasikan tipe
data apa saja yang bisa disimpan dalam atribut tersebut.
5. Domain, merupakan properti dari suatu atribut yang mendefenisikan nilai
yang memungkinkan untuk suatu atribut.
6. Default Value, yaitu nilai yang dimasukkan ke record jika nilai tersebut tidak
dispesifikasikan oleh user.
7. Key, merupakan suatu atribut atau kumpulan atribut yang memberikan nilai
yang unik untuk setiap instance dari entitas. Key disebut juga dengan
identifiers.
8. Relationships, adalah hubungan antara satu atau lebih entitas.
9. Cardinality, merupakan jumlah maksimum dan minimum dari munculnya
28
suatu entitas yang mungkin berelasi dengan entitas lainnya.
10. Degree, adalah jumlah entitas yang berpartisipasi dalam suatu relasi.
11. Recursive Reliationship, adalah suatu relasi yang terdapat diantara instances
dari entitas yang sama.
12. Associative Entity, merupakan entitas yang menurunkan primary key nya dari
satu atau lebih entitas.
13. Nonidentifying Reliationship, adalah relasi dimana setiap entitas yang
berpartisipasi memiliki primary key tersendiri.
14. Identifying Reliationship, adalah suatu relasi key dari entitas parent juga
merupakan bagian dari primary key entitas child nya.
15. Nonspecific Reliationship, adalah suatu relasi dimana banyak instances dari
suatu entitas berasosiasi dengan banyak instances dari entitas lain. Disebut
juga dengan relasi many to many.
16. Generalization, merupakan konsep dimana atribut yang biasa untuk beberapa
tipe entitas dikelompokkan ke dalam kelompok entitas sendiri.
17. Supertype, adalah suatu entitas yang menyimpan atribut yang biasa untuk
satu lebih entitas.
18. Subtype, adalah suatu entitas yang biasa menurunkan atribut dari entitas
supertypes.
2.2.4 Flex
Mengacu pada pendapat McCune dan Subramaniam (2008, pp112-
116) Adobe Flex adalah sebuah Software Development Kit (SDK) yang
29
dikeluarkan oleh Adobe Systems untuk pengembangan dan penyebaran cross-
platform Rich Internet Application (RIA) yang didasarkan pada Adobe Flash
platform. Aplikasi Flex dapat ditulis menggunakan Adobe Flex Builder atau
dengan menggunakan kompiler Flex yang tersedia secara gratis dari Adobe.
Flex menawarkan kemudahan untuk membuat RIA dengan menggunakan
kombinasi beberapa teknologi yang dimilikinya. Flex bukanlah produk perangkat
lunak tunggal, namun terdiri dari empat bagian utama, yaitu:
• Bahasa pemrograman, menggunakan scripting language Action Script 3
dan markup language MXML
• Integrated Development Environment (IDE). IDE yang dikeluarkan oleh
Adobe adalah Flex Builder. Flex Builder digunakan untuk merubah koding,
melakukan debug maupun dapat digunakan untuk merubah desain user interface.
Namun tanpa menggunakan IDE ini, penulisan koding aplikasi berkonsep RIA
dengan Flex masih dapat dimungkinkan.
• Framework Komponen : Flex SDK (Software Development Kit). Flex
SDK (juga sering disebut sebagai Flex Framework) adalah suatu set komponen
user interface, yang terdiri dari button, label, list, dan lain-lain yang digunakan
untuk membangun aplikasi Flex. Flex SDK bersifat open source (tidak termasuk
untuk charting package).
• Cross-browser runtime : Flash Player. Plug-in Flash player diperlukan
untuk menjalankan aplikasi Flex di web browser, sedangkan untuk di desktop
digunakan Adobe Integrated Runtime (AIR).
30
Gambar 2.6 Diagram model arsitektur Flex
Flex mengimplementasikan model arsitektur client-server. User Interface
dijalankan pada client. Pada sisi client, database yang terdapat pada server dapat
diakses melalui HTTP service, web service atau remote object. Permintaan akses
tersebut akan diteruskan ke database melalui pemanggilan prosedur jarak jauh.
31
Aplikasi Flex ditulis dengan menggunakan paduan MXML dan Action
Script. Saat kompilasi, terjadi dua tahap yaitu penerjemahan MXML menjadi
Action Script kemudian Action Script dikompilasi menjadi sebuah file swf.
2.2.4.1 MXML
Mengacu pada pendapat McCune dan Subramaniam (2008, p142),
MXML adalah tag deklaratif berbasis XML yang digunakan untuk
mendeskripsikan user interface, mendefinisikan servis, dan lain-lain dalam
menyusun aplikasi Flex. MXML diperkenalkan oleh Macromedia pada Maret
2004. Adobe Systems yang kemudian mengakuisisi Macromedia pada tahun
2005 tidak memberikan akronim resmi dari MXML.
MXML digunakan untuk mendeklarasikan layout dari user interface
suatu aplikasi dan dapat juga digunakan untuk mengimplementasikan
business logic dan behavior dari aplikasi.
Karena berbasis dari XML, MXML mengenal struktur model tree dan
hirarki dalam penulisannya kodingnya. Suatu komponen yang ditulis di
dalam tag komponen lain akan menjadi anak dari komponen tersebut. Flex
SDK akan melakukan generate MXML menjadi SWF yang dapat dijalankan
pada browser yang menginstal plug-in Flash player.
2.2.4.2 ActionScriptTM 3
Mengacu pada pendapat McCune dan Subramaniam (2008, pp151-
155), Action script dibuat berdasarkan ECMAScript yang merupakan
32
scripting language berdasarkan standar ECMA-262 dan ISO/IEC 16262.
Action script digunakan untuk pengembangan web dan piranti lunak yang
menggunakan Adobe Flash Player platform. Action script versi 3.0
mendukung pemrograman berorientasi objek, namun action script 3.0 tetap
dapat digunakan untuk membuat program secara struktural berbasis timeline.
Action script 3 digunakan pada Flex untuk membangun alur pergerakan,
penanganan kejadian, logika bisnis di sisi client, dan lain-lain. Tanpa action
script sebuah aplikasi Flex akan kehilangan interaktivitasnya.
Beberapa fitur utama dari ActionScript 3:
ActionScript Virtual Machine yang baru, yang disebut AVM2, telah
dijelaskan sebelumnya.
Sebuah kompiler kode dasar yang lebih modern yang lebih
dioptimalkan dan mendekati standar ECMAScript (ECMA 262).
Perluasan dan peningkatan application programming interface (API),
dengan tingkat pengendalian objek yang rendah dan model
berorientasi objek yang benar.
Sebuah bahasa inti berdasarkan ECMAScript (ECMA-262) edisi
mendatang dengan spesifikasi 4 rancangan bahasa.
API XML berdasarkan ECMAScript untuk spesifikasi XML (E4X)
(ECMA-357 Edisi 2). E4X adalah bahasa ekstensi untuk ECMAScript
yang menambahkan XML sebagai tipe data asli dari bahasa.
Model event berdasarkan Document Object Model (DOM) Level 3
spesifikasi event.
33
Ada tiga cara untuk menanamkan ActionScript 3 ke aplikasi Flex:
Dengan membuat kelas file standalone ActionScript, sebagai contoh:
Package{
Import mx.core.UIComponent;
Public class Info WindowTabbedComponent extends
UIComponent{
Public function InfoWindowTabbedComponent()
{…}
.
.
.
}
}
Kode ActionScript berada dalam tag MXML, misalnya:
<mx:Button id=”alertButton”label=”Show Alert”>
<mx:Click>
<![CDATA[
Alert.show(“Example”);
]]>
</mx:Click>
</mx:Button>
34
Dengan menempatkan kode ActionScript dalam naskah MXML,
misalnya:
<mx:Script>
<![CDATA[
Import mx.controls.Alert;
Private function alertButtonClickHandler():void{
Alert.show(“Example”);
}
]]>
Seperti yang telah diketahui, MXML umumnya digunakan untuk
membuat user interface dan ActionScript yang digunakan untuk
membangun logika bisnis dan model data. Namun, MXML dan
ActionScript menjadi sama sejak MXML akan dikonversikan ke
ActionScript selama kompilasi dan MXML dapat diartikan dalam kelas
ActionScript.
2.2.5 XML
Menurut Goldfarb dan Prescod (2000, p24), HTML digunakan untuk
memberi tahu bagaimana data harusnya ditampilkan, sedangkan XML memberi
tahu arti dari data tersebut. XML digunakan untuk representasi digital dari
dokumen-dokumen. Ketika sebuah dokumen ingin diberi representasi digital,
maka dokumen tersebut diletakkan dalam notasi yang dapat dibaca artinya oleh
komputer, sehingga komputer dapat membantu dalam menyimpan, memproses,
35
mencari, mentransmisikan, menampilkan dan mencetak mereka. Supaya sebuah
komputer dapat membaca arti sebuah dokumen, maka struktur dari dokumen
tersebut harus dideskripsikan kepada komputer. Tujuan dari XML adalah untuk
merepresentasikan dokumen dalam suatu cara terstruktur sehingga dapat
dimengerti oleh komputer.
Dokumen-dokumen yang ada dapat dipecahkan menjadi komponen-
komponen. Contohnya suatu buku dapat dipecah menjadi beberapa bab. Bab
sendiri dapat dipecah kembali menjadi komponen seperti judul, paragraf, dan
lain-lain. Dalam XML, komponen-komponen ini disebut elemen. Menurut
Goldfarb dan Prescod (2000, p25), setiap elemen merepresentasikan komponen
logikal dalam dokumen. Setiap elemen dapat mengandung elemen lain dan isi
(teks) dari dokumen tersebut. Dalam XML, teks tersebut disebut sebagai data
karakter. Elemen juga memiliki informasi ekstra yang melekat pada mereka,
disebut sebagai atribut. Atribut mendeskripsikan properti-properti yang dimiliki
elemen. Sehingga XML dapat merepresentasikan suatu dokumen dalam model
tree yang hirarki.
36
Contoh Dokumen:
Gambar 2.7 Representasi Dokumen Dalam Model Tree Hirarkis
37
Gambar 2.8 Representasi digital dokumen dalam XML
Dokumen XML dapat dimaintain menggunakan tool pengolah teks yang
paling primitif sekalipun karena XML berbasis karakter dan ditulis dalam format
yang dapat dibaca manusia. XML juga menyediakan framework yang standar
untuk membuat persetujuan dalam komunikasi. Semua aplikasi dapat bertukar
data dengan menggunakan XML, tidak tergantung dengan bahasa maupun sistem
38
operasi yang digunakan serta tidak ada keterikatan dengan penggunaan tool
khusus untuk mengolah XML.
2.2.6 PHP
Mengacu pada pendapat Nixon (2009, p33), PHP adalah server-side
scripting language yang awalnya dirancang untuk pengembangan web untuk
menghasilkan halaman web yang dinamis. Untuk tujuan ini, kode PHP tertanam
ke dokumen sumber HTML dan diterjemahkan oleh sebuah web server dengan
PHP prosesor modul, yang menghasilkan dokumen halaman web. PHP dapat
digunakan di sebagian besar web server dan sebagai juru mandiri, pada hampir
setiap sistem operasi dan platform secara gratis.
PHP adalah bahasa scripting umum yang terutama cocok untuk
pengembangan web sisi server di mana PHP umumnya berjalan pada web server.
Kode PHP di file yang diminta dilaksanakan oleh PHP runtime, biasanya untuk
membuat halaman konten web yang dinamis atau membuat gambar dinamis yang
digunakan di situs web atau di tempat lain. PHP Dapat pula digunakan untuk
baris perintah scripting dan digunakan di Aplikasi GUI pada sisi klien. PHP
dapat digunakan hampir di semua web server, di hampir semua sistem operasi
dan platform, dan dapat digunakan dengan banyak sistem manajemen database
relasional (RDBMS). PHP dapat diunduh secara gratis dan PHP Group
menyediakan kode sumber lengkap bagi pengguna untuk membangun,
menyesuaikan dan mengembangkannya untuk mereka gunakan sendiri.
39
2.2.6.1 Arsitektur PHP
Mengacu pada pendapat Nixon (2009, p36), model – view – control
merupakan design pattern yang menyediakan aplikasi pengembangan dan
pemeliharaan. MVC merupakan suatu istilah untuk memisahkan elemen –
elemen atau penulisan source code dari suatu aplikasi agar menjadi lebih
rapid dan lebih mudah untuk melakukan perbaikan dan pengembangan.
Ada 3 layer utama dalam arsitektur web MVC, yaitu:
1. Model
Model disini berperan seagai representasi dari data yang terlibat dalam
sebuah proses. Setiap kali method atau function dari suatu aplikasi
dibutuhkan untuk melakukan akses ke dalam suatu data, maka method atau
function tersebut tidak langsung berinteraksi dengan sumber data tersebut
melainkan harus melalui model terlebih dahulu.
2. View
View disini berperan sebagai presentation layer atau pengatur user
interface. Data yang dibutuhkan user akan diformat sedemikian rupa agar
dapat tampil dan dipresentasikan dengan format tampilan yang emang
disesuaikan dengan kebutuhan user.
40
3. Controller
Controller disini berperan sebagai logic aspect dari suatu aplikasi atau
mengatur user flow. Controller yang akan menentukan business process dari
aplikasi yang dibangun. Bagian ini yang akan merespon setia inputan dari
user dengan melakukan pemanggilan terhadap model dan view yang sesuai
sehingga permintaan dari user tersebut dapat terpenuhi dengan baik.
Gambar 2.9 Grafik Arsitektur MVC
2.2.6.2 Sejarah PHP
PHP pertama kali dibangun pada tahun 1994 oleh Rasmus Lerdorf.
Awalnya Rasmus membuat scrip set perl yang dia namakan “Personal Home
Page Tool” untuk memelihara personal homepage miliknya. Script
41
buatannya ini dapat menampilkan resume yang dia buat serta merekam web-
traffic miliknya. Selanjutnya Lerdorf merilis temuannya ini pada grup diskusi
usenet pada 8 juni 1995.
2.2.7 MySQL
Mengacu pada pendapat Weiling dan Thomson (2001, pp169-170),
MyStructured Query Language (MySQL) adalah salah satu database server yang
menggunakan bahasa SQL SQL (Structured Query Language) adalah bahasa
pertanyaan (query language) yang distandarisasi untuk menanyakan informai
dari sebuah basisdata(database). Versi asalnya dinamakan SEQUEL (Structure
English Query Language), dirancang oleh peneliti dari pusat penelitian IBM
pada tahun 1974 dan 1975. SQL pertama kali diperkenalkan sebagai sistem
basisdata komersial pada tahun 1979 oleh Oracle Coorporation. MySQL adalah
Realtional Database Management System (RDBMS) yang sangat cepat dan kuat.
MySQL adalah DBMS yang bersifat relasional, opensource, berlevel
enterprise, multithread. Mengacu pada pendapat Maslakowski (2000, p227),
MySQL merupakan bahasa yang memiliki kemampuan cukup baik untuk
menunjang kerja user, baik yang telah berpengalaman dengan database maupun
untuk pemula. SQL digunakan untuk mencari informasi (query), memanipulasi
data (DML) mendefinisikan data (DDL), dan bahasa pengendali dokumentasi
Setiap pengguna basis data memerlukan bahasa pemograman yang dapat dipakai
sesuai dengan fungsi dan tugasnya. Dalam basis data secara umum dikenal dua
bahasa, yaitu:
42
1. Data Definition Language (DDL) : bahasa yang dipakai untuk menjelaskan
objek dari bahasa data. DDL dipakai untuk mendefinisikan kerangka basis
data (berorientasi pada tipe pada objek basis data).
2. Data Manipulation Language (DML) : bahasa yang dipakai untuk
memanipulasi objek data dari basis data. DML dipakai untuk operasi
terhadap isi basis data.
2.2.8 Scrum (development)
Menurut Pressman (2010, p82), Scrum adalah metode pengembangan
software agile yang ditemukan oleh Jeff Sutherland dan timnya pada tahun 1990-
an. Dalam beberapa tahun berikutnya pengembangan lebih lanjut dalam metode
Scrum dilakukan oleh Schwaber dan Beedle.
Prinsip Scrum adalah konsisten dengan agile manifesto dan dijadikan
pedoman aktivitas pengembangan dalam suatu proses yang menggabungkan
aktivitas framework berikut ini : kebutuhan, analisis, desain, evolusi, dan
pengiriman. Sprint adalah satuan tugas yang terjadi dalam aktivitas kerangka
kerja. Pekerjaaan dilakukan dalam Sprint disesuaikan dengan masalah yang
dihadapi dan didefinisikan dan sering dimodifikasi secara real time oleh tim
Scrum.
43
Gambar 2.10 Alur Proses Scrum (Sumber : Pressman, 2010, p83)
2.2.9 Java
Mengacu pada pendapat Gosling et.al. (2005, p257), Java adalah bahasa
pemrograman yang awalnya dikembangkan oleh James Gosling di Sun
Microsystems (yang sejak bergabung dengan Oracle Corporation) dan dirilis
pada tahun 1995 sebagai komponen inti dari platform Java Sun Microsystems.
Bahasa yang berasal jauh dari sintaks dari C dan C + + namun memiliki model
objek sederhana dan fasilitasnya sedikit lebih rendah tingkat. Aplikasi Java
biasanya dikompilasi ke bytecode (file class) yang dapat berjalan pada Java
Virtual Machine (JVM) terlepas dari arsitektur komputer. Java adalah tujuan
44
umum, bersamaan, berbasis kelas, bahasa yang berorientasi objek yang khusus
dirancang untuk memiliki dependensi pelaksanaan sesedikit mungkin. Hal ini
dimaksudkan untuk memungkinkan pengembang aplikasi "write once, run
anywhere" (WORA), yang berarti bahwa kode yang berjalan pada satu platform
tidak perlu dikompilasi ulang untuk berjalan di kompiler lain. Sekarang ini, Java
adalah salah satu bahasa pemrograman yang paling populer digunakan, terutama
untuk applikasi web client-server, dengan 10 juta pengguna.
Kompiler Java yang asli dan kompiler Java referensi implementasi, mesin
virtual, dan class libraries, kompiler tersebut dikembangkan oleh Sun pada tahun
1995. Pada Mei 2007, sesuai dengan spesifikasi dari Java Community Process,
Sun melisensi ulang sebagian besar teknologinya di bawah GNU General Public
License. Lainnya juga dikembangkan implementasi alternatif oleh teknologi Sun,
seperti Kompilator GNU untuk Java dan GNU Classpath.
2.2.10 Livecasting (Video Streaming)
Mengacu pada pendapat Mann dan Rowe (2001, p74) Livecasting adalah
siaran terus-menerus peristiwa dalam kehidupan seseorang melalui media digital.
Biasanya, Livecasting ditransmisikan melalui media Internet dan dapat
melibatkan teknologi yang dipakai. Livecasting membalikkan konsep
pengawasan, sehingga menimbulkan sousveillance melalui portabilitas,
menangkap pengalaman pribadi, rutinitas sehari-hari dan komunikasi interaktif
dengan pemirsa.
45
2.2.11 Web Application Framework
Menurut Oracle (2007), Web Application Framework adalah kerangka
kerja perangkat lunak yang dirancang untuk mendukung pengembangan website
dinamis, aplikasi web, dan layanan web. Kerangka kerja ini bertujuan untuk
mengurangi overhead yang terkait dengan kegiatan umum yang dilakukan dalam
Web development. Sebagai contoh, kerangka yang menyediakan perpustakaan
untuk mengakses database, template kerangka kerja dan manajemen sesi, dan
juga sering untuk promosi code reuse.
2.2.11.1 Jenis-Jenis Framework
Kerangka kerja aplikasi web kebanyakan didasarkan pada pola
model-view-controller (MVC).
Model View Controller (MVC)
Banyak Kerangka kerja menggunakan pola arsitektur model-
view-controller (MVC) untuk memisahkan data model dengan business
rules dari interface pengguna. Hal ini umumnya dianggap sebagai
pelaksanaan yang baik karena modularizes code, mempromosikan code
reuse, dan memungkinkan beberapa interface untuk diterapkan. Dalam
aplikasi Web, ini memungkinkan pandangan yang berbeda untuk
perlihatkan, seperti halaman web untuk manusia, dan interface layanan
web untuk aplikasi remote.
46
Push-Based vs. Pull-Based
Kebanyakan kerangka kerja MVC mengikuti arsitektur
berbasis push juga disebut "berbasis tindakan". Kerangka ini
menggunakan tindakan yang melakukan pengolahan yang
diperlukan, dan kemudian "push" data ke lapisan tampilan untuk
membuat hasil. Struts, Django, Ruby on Rails, Symfony, Yii,
Spring MVC dan Struts2 adalah contoh arsitektur yang baik.
Dalam hal ini, arsitektur pull-based adalah salah satu alternatif,
terkadang juga disebut "berbasis komponen". Kerangka kerja ini
diawali dengan lapisan tampilan, yang kemudian "pull" hasil dari
beberapa controller sesuai kebutuhan. Dalam arsitektur ini,
beberapa controller dapat terlibat dengan satu tampilan. Play, Lift,
Tapestry, JBoss Seam, Wicket dan Stripes adalah contoh dari
arsitektur pull-based.
Three-tier organization
Dalam Therr Tier Organization, aplikasi tersusun
oleh tiga tingkatan fisik: klien, aplikasi, dan database.
Database normalnya RDBMS. Aplikasi berisi logika
bisnis, dijalankan pada server dan berkomunikasi dengan
klien menggunakan HTTP. Klien, pada aplikasi web
adalah web browser yang menjalankan HTML, yang
dihasilkan oleh lapisan aplikasi. Istilah ini seharusnya
47
dapat dimengerti oleh MVC. Tidak seperti arsitektur
three-tier, istilah ini dianggap sebagai pelaksanaan yang
baik untuk menjaga logika bisnis dari controller, "lapisan
tengah" pada MVC.
Content management systems
Beberapa proyek yang secara historis disebut content management
systems yang telah mulai mengambil peran pada kerangka kerja aplikasi
Web higher-layer. Misalnya, struktur Drupal menyediakan minimal core
yang fungsinya diperluas menggunakan modul-modul yang menyediakan
fungsi umumnya terkait dengan kerangka aplikasi web. Platform Joomla
menyediakan seperangkat APIs untuk membuat Web dan aplikasi
command-line. Namun, masih diperdebatkan apakah "management of
content" adalah nilai utama dari sistem ini, terutama ketika beberapa
seperti SilverStripe, menyediakan kerangka kerja berorientasi objek
MVC. Modul-modul Add-on, sekarang memungkinkan sistem tersebut
berfungsi sebagai aplikasi full-fledged di luar ruang lingkup manajemen
konten. Sistem tersebut dapat menyediakan APIs fungsional, kerangka
fungsional, standar coding, dan banyak fungsi tradisional dikaitkan
dengan Web application frameworks.
48
2.2.12 Web 3.0
Definisi Web 3.0 sangat bervariasi. Beberapa percaya fitur-fiturnya yang
paling penting adalah Semantic Web dan personalisasi. Berfokus pada elemen
komputer, Conrad Wolfram telah menyatakan bahwa Web 3.0 adalah tempat
"komputer ini menghasilkan informasi baru", bukan manusia.
Mengacu pada pendapat Keen. (2008), penulis The Cult of Amatir,
menganggap Semantic Web yang "unrealisable abstaction" dan melihat Web 3.0
sebagai kembalinya para ahli dan otoritas ke Web. Sebagai contoh, ia menunjuk
kesepakatan Bertelsmann dengan Wikipedia Jerman untuk memproduksi versi
cetak diedit dari ensiklopedia CNN Money
Menurut pendapat Smart (2010), penulis utama dari Roadmap Metaverse,
mendefinisikan Web 3.0 sebagai generasi pertama Metaverse (konvergensi dunia
virtual dan fisik), pengembangan web lapisan yang mencakup TV-kualitas video
terbuka, simulasi 3D, augmented reality , manusia dibangun standar semantik,
dan meresap broadband, nirkabel, dan sensor. Web 3.0 's realitas geosocial, dan
ditambah awal jaring merupakan perpanjangan dari Web 2.0' s teknologi
partisipatif dan jaringan sosial ke dalam ruang 3D. Dari semua metaverse-yang
seperti perkembangan, Smart menunjukkan Web 3.0 's karakteristik yang paling
menentukan akan menjadi difusi massa NTSC atau yang lebih baik kualitas
video ke TV, laptop, tablet, dan perangkat mobile, saat "menelan internet
televisi". Cerdas menganggap Web 3.0 menjadi Semantic Web dan khususnya,
munculnya statistik, mesin-dibangun tag semantik dan algoritma, didorong oleh
49
penggunaan kolektif luas antarmuka percakapan, mungkin sekitar tahun 2.020
perspektif David Siegel di Pull: The Power of Web Semantic, 2009, adalah
sejalan dengan ini, mengusulkan bahwa pertumbuhan manusia dibangun standar
semantik dan data akan menjadi lambat, industri-spesifik proses inkremental
selama bertahun-tahun yang akan datang, mungkin tidak mungkin untuk ujung
ke luas sosial utilitas sampai setelah 2020.
Web 3.0 akan memungkinkan pengguna untuk duduk kembali dan
membiarkan Internet melakukan semua pekerjaan untuk mereka. Daripada
memiliki mesin pencari gigih terhadap kata kunci, mesin pencari akan gigih
terhadap pengguna. Web 3.0 terdiri dari:
Web semantik
Format mikro
Pencarian dalam bahasa pengguna
Penyimpanan data dalam jumlah besar
Pembelajaran menggunakan mesin
Agen rekomendasi, yang merujuk pada kecerdasan buatan Web
2.2.13 Flash Media Server (FMS)
Mengacu pada pendapat Adobe Team (2012), Flash Media Server (FMS)
adalah data eksklusif dan media server dari Adobe Systems (awalnya produk
50
Macromedia). Server ini bekerja dengan runtime Flash Player untuk membuat
media driven, multiuser RIA (Rich Internet Applications). Server menggunakan
ActionScript 1, sebuah ECMAScript berbasis bahasa scripting, untuk server-side
logika. Sebelum versi 2, itu dikenal sebagai Komunikasi Server Flash.
Flash Media Server adalah sebuah hub. Aplikasi berbasis Flash terhubung
ke hub menggunakan Real Time Messaging Protocol (RTMP). Server dapat
mengirim dan menerima data ke dan dari pengguna terhubung dengan hidup web
FLV player diinstal. Klien yang terhubung dapat membuat panggilan prosedur
remote (RPC) pada sisi server dan server dapat memanggil metode pada klien
tertentu. SharedObject A dapat digunakan untuk menyinkronkan struktur rumit
data dan memanggil metode remote pada beberapa klien dalam satu pergi dengan
memiliki klien berlangganan sebuah objek terbagi. Standar ActionScript objek
diangkut melintasi NetConnection menggunakan Format Aksi Pesan (CMA)
yang ditangani secara transparan oleh server dan klien flash.
Server juga memungkinkan pengguna untuk menerima dan
mempublikasikan aliran bersih. Saat melihat aliran bersih pengguna dapat
membuat mereka sendiri untuk melihat Flash Video (FLV) jarak jauh disimpan
atau server bisa memberikan contoh net stream dan memainkan video, metode
yang kedua mempunyai arti bahwa setiap pengguna akan berada di titik yang
sama dalam video ketika mereka berlangganan terlebih dahulu karena mereka
semua melihat aliran yang sama.
51
2.2.14 Real Time Messaging Protocol (RTMP)
Mengacu pada pendapat Adobe Team (2012), Real Time Messaging
Protocol (RTMP) awalnya merupakan protokol proprietary yang dikembangkan
oleh Macromedia untuk streaming audio, video dan data melalui Internet, antara
Flash player dan server. Macromedia kini dimiliki oleh Adobe, yang telah merilis
versi lengkap dari spesifikasi dari protokol untuk kepentingan umum.
Protokol RTMP memiliki beberapa variasi:
1. The "plain" protokol yang bekerja di atas TCP dan menggunakan nomor port
1935 secara default.
2. RTMPS yang RTMP melalui sambungan SSL aman menggunakan HTTPS.
3. RTMPE yang dienkripsi RTMP menggunakan mekanisme keamanan sendiri
oleh Adobe. Sementara rincian dari penerapan tersebut adalah proprietary,
mekanisme menggunakan primitif kriptografi standar industry. Sayangnya
desain RTMPE dasarnya kurang sempurna dan tidak menyediakan keamanan
yang sebenarnya dalam dirinya sendiri.
4. RTMPT yang dikemas dalam permintaan HTTP untuk melintasi firewall.
RTMPT sering ditemukan pemanfaatan permintaan cleartext pada port TCP
80 dan 443 untuk memotong sebagian besar corporate traffic filtering. Sesi
enkapsulasi dapat membawa plain RTMP, RTMPS, atau paket RTMPE.
52
Sedangkan motivasi utama bagi RTMP adalah menjadi protokol untuk
menjalankan Flash video, juga digunakan dalam beberapa aplikasi lain,
seperti Adobe LiveCycle Data Services ES.
Top Related