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 realtime 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 realtime. 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 tomboltombol 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, pp112116) Adobe Flex adalah sebuah Software Development Kit (SDK) yang
29
dikeluarkan oleh Adobe Systems untuk pengembangan dan penyebaran crossplatform 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, pp151155), 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>
34
•
Dengan menempatkan kode ActionScript dalam naskah MXML, misalnya: <mx:Script> 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 komponenkomponen. 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
41
Page Tool” untuk memelihara personal homepage miliknya. Script buatannya ini dapat menampilkan resume yang dia buat serta merekam webtraffic 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
42
sesuai dengan fungsi dan tugasnya. Dalam basis data secara umum dikenal dua bahasa, yaitu: 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 1990an. 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 pengawasan,
teknologi sehingga
yang
dipakai.
menimbulkan
Livecasting sousveillance
membalikkan melalui
konsep
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 modelview-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 Macromedia). Server ini bekerja dengan runtime Flash Player untuk membuat media driven, multiuser RIA (Rich Internet Applications). Server menggunakan
50
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. Sedangkan motivasi utama bagi RTMP adalah menjadi protokol untuk menjalankan Flash video, juga digunakan dalam beberapa aplikasi lain, seperti Adobe LiveCycle Data Services ES.