• Tidak ada hasil yang ditemukan

PHP adalah bahasa pemrograman server side yang sudah banyak digunakan saat ini, terutama untuk pembuatan website dinamis. Untuk hal-hal tertentu dalam pembuatan web, bahasa pemrograman PHP memang diperlukan, misalnya saja pemroses data yang dikirimkan oleh pengunjung web. Contoh nyata adalah penggunaanya buku untuk tamu, halaman login, dan masih banyak lagi. Agar bias berjalan dengan baik maka PHP harus dikolaborasikan dengan dengan database engine, misalnya saja MySQL, PostgresSQL, dan lain-lain.

Selain kita bisa menggunakan PHP untuk website yang dibuat, ada juga bebrapa aplikasi open source yang menggunakan pemrograman PHP secara penuh. Contoh nyata adalah pada aplikasi CMS (Content Management System) seperti PostNuke, Joomla, Mambo dan lain-lain.

2.2.18.1.2Seja rah PHP

PHP dibuat oleh Rasmus Lerdorf pada tahun 1994, pada awalnya tidak untuk didistribusikan dan hanya digunakan pada homepage pribadinya. Pada tahun 1995 dikeluarkan versi pertama yang dapat digunakan oleh umum dengan nama Personal Home Page Tools. Ditulis kembali pada pertengahan 1995 dan diberi nama sebagai PHP/FI Version 2. FI berasal dari paket Rasmus yang mana

merupakan html interpreter untuk data form. Pada hasil kombinasi tersebut juga ditambah dukungan terhadap SQL. PHP/FI terus berkembang dan banyak orang mulai memberikan kontribusi dalam pengembangannya.

Pada tahun 1996 PHP/FI diperkirakan telah digunakan 15,000 situs web di dunia, dan pada pertengahan 19997 jumlah ini berkembang melebihi 50,000. Pada pertengahan 1997 juga terjadi perubahan pada PHP dimana berubah menjadi proyek yang didukung oleh team yang lebih terorganisasi. Parsernya ditulis ulang oleh Zeev Suraski dan Andi Gutmans dan parser baru inilah yang membentuk basis untuk PHP versi 3. Banyak kode utility dari PHP/FI yang dimasukkan ke PHP dan banyak diantaranya telah selesai ditulis kembali.

Sekarang baik PHP/FI atau PHP telah diikutsertakan dalam sejumlah produk komersil seperti C2’s StrongHold web server dan RedHat Linux. Suatu perkiraan yang konservatif didasarkan dari hasil ekstrapolasi terhadap angka yang diperoleh dari NetCraft, PHP diperkirakan telah digunakan oleh lebih dari 150,000 situs di seluruh dunia. Dan secara perspektif, angka ini lebih besar dibandungkan dengan server yang menjalankan Netscape’s flagship Enterprise server di Internet.

2.2.18.1.3Mengenal Sintak PHP

Untuk menuliskan sesuatu dalam format PHP dapat dilakukan dengan beberapa cara, diantaranya adalah sebagai berikut :

Kode Pr ogr am per tama.php <html>

<head>

<title>Untitled Document</title> </head>

<body>

<h1> Mengenal penulisan PHP</h1> <?php

echo ("<p>1. Cara Pertama this is the simplest, an SGML processing intruction\n");

?> <?php

echo ("<p>2. Cara Kedua if you want to serve XML document, do like this\n"); ?>

<script language="php">

echo ("<p>3. Cara Ketiga some editors (like FrontPage) don't like processing instruction");

</script> </body> </html>

Hasil output yang dihasilkan dari program diatas. [16]

Gambar 2.17 Contoh Pr ogr am Menggunakan PHP 2.2.18.2 MySQL

MySQL (My Structure Query language) atau yang biasa dibaca ”mai-se- kuel” adalah sebuah program pembuat database yang bersifat open source, artunya siapa saja boleh menggunakannya dan tidak dicekal. Saat kita mendengar

MySQL sebenarnya produk yang berjalan pada platform Linux. Karena sifatnya yang open source, dia dapat dijalankan pada semua flatform baik Windows maupun Linux. Selain itu MySQL juga merupakan program pengakses database bersifat jaringan sehingga dapat digunakan untuk aplikasi Multi User (Banyak Pengguna). Saat ini database MySQL telah digunakan hampir oleh semua programer database, apalagi dalam pemrograman web.

Kelebihan lain dari MySQL adalah ia menggunakan bahasa Query standar yang dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan yang terstruktur yang telah distandarkan untu semua program pengakses database seperti Oracle, Posgres SQL, SQL Serer, dan lain-lain.

Sebagai sebuah program penghasil database, MySQL tidak dapay berjalan sendiri tanpa adanya aplikasi lain (interface). MySQL dapat didukung oleh hampir semua program aplikasi baik yang open sorce seperti PHP maupun yang tidak.[16]

2.2.18.3 Adobe Dr eamweaver

Dreamweaver adalah suatu bentuk program editor web yang dibuat oleh

Makromedia. Dengan program ini seorang programmer web dapat dengan mudah membuat dan mendesain webnya.

Sebagai editor Dreamweaver mempunya sifat yang WYSIWYG dibaca (Waysiwig), artinya apa yang kamu lihat akan kamu peroleh (What You See Is

What You Get). Dengan kelebihan ini, seorang programmer dapat langsung

Keunggulan dari Dreamweaver antara lain : 1. Easy to Use

Easy to Use atau aplikasi ini mudah digunakan 2. Terintegrasi dengan bahasa pemrograman

Dreamweaver mendukung juga beberapa bahasa pemrograman seperti PHP, ASP, JSP dan lain-lain.

3. Template yang siap digunakan

Jika Anda membutuhkan waktu yang cepat untuk membuat web, maka bias memanfaatkan template yang sudah ada.

4. Dukungan CSS yang baik

Jika website yang Anda buat membutuhkan CSS yang rumit, maka kita bias memanfaatkan fitur CSS yang ada dalam Dreamwaver.

5. Fitur yang lengkap

Dreameweaver termasuk software web desain yang powerful, sebab banyak fitur yang bermanfaat yang bias ditemukan untuk mempercantik web yang dibuat.

2.2.18.4 Cascading Style Sheet (CSS) 2.2.18.4.1Definisi CSS

CSS atau Cascading Style Sheet secara sederhana adalah sebuah metode yang digunakan untuk mempersingkat penulisan tag HTML seperti font, color, text, table menjadi lebih ringkas sehingga tidak terjadi pengulangan penulisan. CSS adalah bahasa style sheet yang digunakan untuk mengatur tampilan

dokeumen. Dengan adanya CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda

CSS sendiri merupakan sebuah teknologi Internet yang direkomendasikan oleh World Wide Web Consortium atau W3C pada tahun 1996. 2.2.18.4.2Kegunaan CSS

Beberapa kegunaan atau manfaat dengan menggunakan CSS antara lain :[16] 1. Mempersingkat penulisan tag HTML,

2. Mempercepat proses rendering atau pembacaan HTML karena tidak terdapat pengulangan penulisan,

3. Mudah dan cepat dalam me-maintenance,

4. CSS bias melakukan apa saja yang tidak bias dilakukan oleh HTML. Misalnya kita bias memberikan warna pada input box atau scrollbar,

5. Tampilan situs bisa menjadi lebih menarik. 2.2.18.5 FFmpeg

FFmpeg adalah program komputer yang dapat merekam, mengkonversikan dan streaming audio dan video digital dalam berbagai format. FFmpeg merupakan aplikasi command line yang terdiri dari kumpulan pustaka perangkat lunak bebas / open source. Termasuk libavcodec, library untuk audio codec / video codec yang digunakan oleh beberapa proyek lain, dan libavformat, library untuk audio / video mux kontainer dan demux kontainer. Nama proyek yang berasal dari grup video standar MPEG, di tambahkan "FF" untuk "fast forward".

Proyek ini dimulai oleh Fabrice Bellard (menggunakan nama sanaran "Gerard Lantau"), dan saat ini dikelola oleh Michael Niedermayer. Banyak pengembang FFmpeg merupakan bagian dari proyek MPlayer, FFmpeg di-hosting pada server proyek MPlayer.

FFmpeg dikembangkan pada Linux, tetapi dapat dikompilasi di banyak sistem operasi, termasuk Apple Inc Mac OS X, Microsoft Windows dan AmigaOS. Sebagian besar platform komputasi dan set instruksi arsitektur microprocessor juga di dukung, seperti x86 (IA-32 dan x86-64), PPC (PowerPC), ARM, DEC Alpha, SPARC, dan arsitektur MIPS.

Belakangan, FFmpeg versi .5 baru dirilis, meskipun sebelumnya pengembang FFmpeg selalu menyarankan untuk menyarankan untuk membangun menggunakan source code terbaru dari subversion control system dalam upaya untuk trunk source code yang stabil. Di publikasi menggunakan GNU Lesser General Public License atau GNU General Public License (tergantung pada sub- library yang akan mencakup), FFmpeg adalah perangkat lunak bebas.

Terdapat dua video codec dan satu video kontainer yang di temukan dalam proyek FFmpeg selama perkembangannya. Kedua video codec yang lossless "FFV1", dan lossy atau lossless "Snow codec", untuk yang versi 1.0 masih dalam pengembangan, dan video kontainer "NUT" yang juga saat ini sedang aktif dikembangkan. [17]

2.2.18.6 FLVtool2

FLVTool2 adalah aplikasi untuk memanipulasi file FLV atau Macromedia Flash Video. FLVTool2 dapat mengkalkulasi banyak sekali meta data, memasukkan onMetaData tag, memotong file FLV dan menampilkan struktur file FLV dan informasi dari meta data dalam XML atau YAML.[18] FLVtool2 memiliki fitur-fitur sebagai berikut :

1. Batch processing.

2. Directory recursion.

3. Perintah chaining. 4. Pemotongan files FLV.

5. Penyisipan tag onCuePoint lewat file XML. 6. Pengubahan nilai onMetaData key-value pairs. 7. Meta data ditulis dalam bentuk XML or YAML. 8. Mode simulasi.

9. Berjalan pada sistem operasi Windows, Linux dan Mac OSX. 10. Secara otomatis dapat melakukan injeksi metadata di sisi server. Adapun cara kerja dari injector metadata adalah :

1. Injektor menerima file input dan diproses oleh beberapa parameter kemudian mengeluarkan hasil outputnya.

Parameter-parameter tersebut adalah :

Tabel 2.12 Parameter -Par ameter dalam Flvtool2

Paramater information

-U Updates FLV with an onMetaTag event

-A Adds tags from -t tags-file

-P Prints out meta data to stdout

-D Debugs file (writes a lot to stdout)

-C Cuts file using -i inpoint and -o outpoint

-key:value Key-value-pair for onMetadata tag (overwrites generated values)

-k Keyframe mode slides onCuePoint(navigation) tags added by the add command to nearest keyframe

position

-t path tag file (MetaTags written in XML)

-x XML mode instead of YAML mode

-c Compatibility mode calculates some onMetaTag values differently

-i timestamp In point for cut command in milliseconds -o timestamp Out point for cut command in milliseconds

2. Dengan menambahkan parameter –x, flvtool2 akan menulis file XML

itemizing metadata untuk ditambahkan ke FLV. File tersebut disimpan

dalam suatu direktori.

3. FLVtool2 melakukan proses injeksi metadata kedalam file flv dan memasukan property-property tag seperti cue point, width, audiodatarate, audiocodecid, videocidecid, videodatarate, duration, framerate, height,

Informasi-informasi metadata tersebut disimpan dalam tag onMetaData event pada bagian body sebuah file flv.

4. FLVtool2 akan menyisipkan propertyobject keyframe, yang berisi daftar offset dalam detik, dari awal file, untuk setiap keyframe. Propertyobject

keyframe digunakan untuk teknik pseudostreaming yang menggunakan

tambahan server-side scripting dalam proses streamingnya.[19]

2.2.18.7 Ruby

Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.

Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Pada tahun 1993 Yukihiro ingin membuat sebuah bahasa skripting yang memiliki kemampuan orientasi obyek. Pada saat itu pemrograman berorientasi obyek sedang berkembang tetapi belum ada bahasa pemrograman scripting yang mendukung pemrograman obyek.

Penulisan Ruby dimulai pada Februari 1993 dan pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro menulis Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang banyak mengontribusikan perkembangan Ruby.

Saat ini Ruby telah berkembang tidak hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah melakukan kerja sama dengan

mengintegrasikan Ruby on Rails pada Mac OS X v10.5 Leopard telah diluncurkan bulan Oktober 2007. [20]

Kelebihan Ruby diantaranya adalah :

1. Sintaks sederhana.

2. Memiliki exception handling yang baik. 3. Bahasa Pemrograman Berorientasi Objek. 4. Mengusung konsep single inheritance.

5. Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan

dapat ikut berpartisipasi mengembangkannya.

6. Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori

2.2.19 Metode Pengembangan Perangka t Lunak 2.2.19.1 Linea r Sequential Model/ Water fall Model

Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini gambaran dari waterfall model. Fase-fase dalam Waterfall Model menurut referensi Sommerville:

Gambar 2.18 Metode Water fall

1. System / Information Engineering and Modeling. Permodelan ini diawali

dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.

2. Software Requirements Analysis. Proses pencarian kebutuhan

diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

3. Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan

diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya,

maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.

4. Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah

komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.

5. Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan.

Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar- benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.

6. Maintenance. Pemeliharaan suatu software diperlukan, termasuk di

dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur- fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya. [21]

86 3.1 Analisis Sistem

Analisis adalah proses mengurai konsep ke dalam bagian-bagian yang lebih sederhana, sedemikian rupa sehingga struktur logisnya menjadi jelas. Analisis merupakan metode untuk menguji, menilai, dan memahami sistem pemikiran yang kompleks dengan memecahnya ke dalam unsur-unsur yang lebih sederhana sehingga hubungan antar unsur-unsur itu menjadi jelas.

3.1.1 Analisis Masalah

Melestarikan budaya bangsa memang banyak manfaatnya, disamping untuk meningkatkan ketahanan nasional dan menjaga agar rangkaian mata rantai sejarah tidak terputus , maka data dan informasi budaya untuk pendidikan dan penelitian tidak hilang. Melestarikan tidak berarti menutup atau melarang tetapi justru sebaliknya, yaitu memelihara untuk memperpanjang umur suatu peninggalan sejarah alam dan atau budaya manusia. Agar kehadirannya dapat dimanfaatkan seoptimal mungkin untuk kesejahteraan hidup manusia. Oleh karena itu muncul berbagai organisasi yang peduli akan masalah ini dan salah satunya adalah Bandung Heritage, yaitu suatu organisasi yang bergerak di bidang pelestarian kebudayaan bangsa. Saat ini Bandung Heritage belum memiliki suatu sistem untuk menampilkan informasi dalam bentuk multimedia karena sistem yang ada masih terbatas pada penyajian informasi dalam bentuk teks dan gambar saja. Gambar 3.1 menunjukan sistem yang sedang berjalan saat ini di Bandung

Heritage. Kesenian-kesenian daerah seperti tarian tradisional ataupun upacara- upacara adat yang diiringi dengan lagu kedaerahan tentu akan jauh lebih menarik jika di tampilkan dalam bentuk pemutaran audiovisual. Untuk mewujudkan hal tersebut maka perlu adanya pembangunan sistem baru dalam bentuk multimedia yang on-demand dan berbasis web. Penyajian informasi konten-konten multimedia dalam bentuk audiovisual secara on-demand ini dikenal dengan sebutan Video on Demand (VoD).

Gambar 3.2 Web Bandung Her itage

Saat ini Bandung Heritage dalam menjalankan segala aktifitas kegiatan kesenian hanya menggunakan 1 komputer pusat saja. Untuk menyampaikan informasi ke masyarakat, Bandung Heritage saat ini masih memanfaatkan web server dengan bandwith sekitar 64 KBPS dan besar penyimpanan sekitar 200 MB. Untuk menggunakan teknik streaming server tentu tidak mungkin mengingat biaya yang dikeluarkan besar dan terbatasnya bandwith server, oleh karena itu penggunaan teknik lain yaitu HTTP streaming merupakan teknik yang dapat dipakai untuk membangun layanan VoD ini. Untuk proses streamingnya sendiri menggunakan teknik Pseudo Stream yaitu teknik yang dipakai untuk melakukan

buffering dari awal hingga posisi timeline tersebut. Gambar 3.3 menunjukan gambaran umum VoD yang akan dibangun dengan menggunakan metode pseudo stream.

Gambar 3.3 Sistem VoD yang akan dibangun

Pseudo stream memberikan kemampuan client untuk dapat melakukan

random seeking pada bagian yang belum selesai diunduh. HTTP menspesifikasi

file sebagai protokol kontrol, dan file ditransmisikan untuk meresponse permintaan client. Kondisi pemutaran dapat berjalan sesuai keinginan apabila klien menerima semua informasi header yang diperlukan dan bagian pertama dari media data. Pseudo stream dapat dilakukan bila video yang distreamingkan memiliki metadata dan telah melalui proses encoding.

3.1.2 Analisis Kebutuhan Data

Untuk menjalankan sistem ini dibutuhkan masukan data yang dijadikan sebagai pendukung pembuatan sistem VOD ini. Adapun data yang diperlukan oleh sistem ini adalah :

1. Video kesenian seputar daerah jawabarat berupa tarian daerah, upacara tradisional, musik tradisional dan bangunan bersejarah.

2. Data tekstual berupa nama video, kategori kesenian dan deskripsi mengenai informasi video.

3.1.3 Analisis Penyelesaia n Masalah

Dalam menyelesaikan permasalahan ini, maka dirancang layanan video on demand berbasis website. Websitenya sendiri terdiri dari dari 2 bagian yaitu bagian administrator dan bagian client. Bagian administrator mengolah data member dan video, sedangkan bagian client untuk mengakses informasinya, didalamnya client dapat memilih, mencari dan melihat video yang dinginkan, selain itu client yang sudah teregistrasi dapat menggunggah video yang diinginkannya ke dalam sistem.

3.1.3.1 Analisis Data Masukan

Yang dibutuhkan sebagai sumber informasi dalam proses streaming yaitu sebuah video. Video bisa berupa pre-recorded (yang sudah mengalami proses encoding, terinjeksi metadata dan tersimpan dalam basis data) ataupun video yang diunggah kedalam sistem oleh client yang sudah teregistrasi, adapun besar file video yang diunggah tidak boleh melebihi 50 MB.

3.1.3.2 Analisis Pr oses VoD

Adapun proses-proses yang ada dalam sistem VoD ini mulai dari request client ke server hingga video di streamingkan adalah :

Gambar 3.4 Analisis Pr oses 1. HTTP request : get metafile

Ketika ingin memutar video yang diinginkan, client melalui web browsernya melakukan HTTP request melalui URI (Uniform Resource Identifier) ke web server dengan melakukan prosedur GET untuk meminta metafile yang berada diserver. Metafile adalah sekumpulan informasi yang ada pada sebuah video, berupa letak alamat video itu disimpan, dan jenis video. Contoh dari

metafile bisa berupa .ASX, .WAX, .WVX, .WMX, .RAM, .RPM, .SMIL, .SMI,

melakukan response message 200 yang menyatakan bahwa konten yang diminta ada dalam media penyimpanan server dan mulai mengirimkan informasi metafile tersebut ke client.

Gambar 3.5 Pr oses HTTP Request : Get Metafile 2. Server send video file

Metafile yang dikirim server akan diterima web browser client, kemudian

meneruskannya ke dalam media player yang di embed. Media player akan menggunakan keterangan informasi yang ada pada metafile yaitu berupa letak file video / URL (Uniform Resource Locator) untuk mengakses file video yang berada di webserver. Webserver meresponse dan mengirimkan flv header yang berisi informasi akan metadata video yang diputar. Setelah flash player mengecek flv header maka server secara realtime mengirimkan tiap segment video yang kemudian oleh browser diload ke pemutar flash.

Gambar 3.6 Pr oses Streaming Data 3. Buffering

Ketika server mengirimkan informasi flv header maka flash player akan membaca informasi data file tersebut dan mensinkronisasikan dengan timelines di player. Tetapi ketika kecepatan internet user lebih lambat dengan proses sinkronisasi flash player, maka flash player harus menunggu informasi di flv body tersebut terkirim sehingga terjadi proses menunggu atau dikenal dengan sebutan buffering, setelah sebagian fragmen informasi tersebut terkirim dan disimpan sementara di penyimpanan lokal, maka flash player akan meload informasi tersebut dan melakukan sinkronisasi kembali.

Gambar 3.7 Pr oses Buffer ing 4. Streaming

Terdapat 2 cara untuk melakukan streaming video pada layanan VOD yaitu pertama dengan metode progressive download dan yang kedua dengan metode pseudo stream.

4.1 Progressive download

Progressive download adalah suatu cara menstreamingkan video

berekstensi flash video. Metode streamingnya adalah user harus menunggu proses pengunduhan sebagian besar file video baru kemudian flash player akan menampilkan bagian yang telah diunduh tersebut. Syarat agar video tersebut dapat distreamingkan dengan cara ini adalah video tersebut harus mempunyai metadata terlebih dahulu. Informasi metadata ini terdapat pada bagian property ScriptData event onmetadata di flv tag yang berada pada bagian body sebuah file flv.

Dokumen terkait