• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Pemodelan Audio Player Berbasis Web dengan Menggunakan HTML 5 T1 672004059 BAB IV

N/A
N/A
Protected

Academic year: 2017

Membagikan "Institutional Repository | Satya Wacana Christian University: Pemodelan Audio Player Berbasis Web dengan Menggunakan HTML 5 T1 672004059 BAB IV"

Copied!
22
0
0

Teks penuh

(1)

BAB IV

Hasil Pembahasan

Aplikasi Audio Player berbasis web ini dibangun menggunakan ASP.NET dan Microsoft visual developer 2010 Express. Bab ini membahas tentang hasil dan pembahasan yang meliputi implementasi. Web server yang digunakan adalah Internet Information Service (IIS) yang digunakan dalam sistem operasi Windows.

4.1 Implementasi Sistem

4.1.1 User Interface Web Audio Player

(2)

Pada User interface web audio player terdapat tiga tabel utama yaitu: tabel audio player, tabel playist, tabel controler dan beberapa tabel tambahan. Pada Gambar 4.1 adalah tampilan halaman utama web audio player.

4.1.2 User Interface Upload lagu

Dalam penguploadan lagu bisa dilakukan dengan 2 cara yaitu drag and drop dan pilih berkas.

Drag and Drop Upload Lagu

Gambar 4.2 Drag and Drop Upload Lagu

(3)

Pilih Berkas

Gambar 4.3 Pilih Berkas

Pada gambar 4.3 user melakukan plikih berkas. Sebelumnya user memilih lagu apa yang akan di upload pada windows explorer, memasukan ke dalam tabel pilih berkas.

4.1.3 User Interface Hasil Upload

(4)

Pada gambar 4.4 merupakan hasil dari upload

4.1.4 User Interface Audio Library to Playlist

Dalam pemilihan lagu dari audio library to playlist bisa dilakukan dengan 2 cara yaitu drag and drop dan add selected item.

Drag and Drop

Gambar 4.5 Drag and Drop to Playlist

(5)

Hasil Drag and Drop Audio to Playlist

Gambar 4.6 Hasil Drag and Drop Audio to Playlist

Pada gambar 4.6 merupakan hasil dari proses Drag and Drop audio library to playlist untuk melakukan proses pemutaran lagu.

Add selected item to Playlist

(6)

Pada gambar 4.7 merupakan proses add selected item to playlist untuk melakukan proses pemutaran lagu.

Hasil add selected item to playlist

Gambar 4.8 Hasil add selected item

Pada gambar 4.8 merupakan hasil proses add selected item to playlist untuk melakukan proses pemutaran lagu.

4.1.5 User Interface Play Audio

(7)

Pada gambar 4.9 merupakan gambar pada saat user melakukan proses Play Audio.

4.2 Hasil dan pembahasan

4.2.1 Upload file MP3

(8)

Kode Program 4.1 Source Code Upload File MP3

Bila kontrol file upload audio telah berisi file dari (pemilihan file oleh user melalui penekanan tombol choose file atau pun melalui drag and drop dari windows explorer) maka dilakukan proses penyimpanan file MP3.

1. if (FileUploadAudio.HasFile)

2. { successfully! <br/> File name: " +

7.

FileUploadAudio.PostedFile.FileName + "<br>" +

8.

FileUploadAudio.PostedFile.ContentLength + "

kb<br>" + "Content type: " +

9.

FileUploadAudio.PostedFile.ContentType; 10. Session.Add("uploadFileInfo",

(9)

Kode Program 4.2 Source Code Update File XML

Potongan kode di atas digunakan untuk menyimpan informasi tentang file mp3 yang baru saja diupload ke server. File xml yang ada di sisi server diload untuk kemudian diperbaharui isinya dengan menyisipkan sebuah node <song/> dengan attribute judul lagu, nama penyanyi, nama album, letak file mp3, dan urutan lagu saat load di audio library.

Daftar lagu-lagu yang tersedia di server akan ditampilkan ke browser yang berjalan di PC client. Daftar tersebut kita peroleh dari file xml yang selalu diperbaharui setiap kali user melakukan upoad file mp3 ke server. Untuk menampilkan daftar tersebut digunakan DataList dengan sumber data berupa XmlDataSource. Sumber XmlDataSource diarahkan ke file MediaLibrary.xml.

1. string AudioTitle = uploadFileName.Substring(0, uploadFileName.Length - 4);

doc.CreateNode(XmlNodeType.Element, "song", null);

8. //create the nodes first child

9. XmlAttribute attribute =

doc.CreateAttribute("title");

10. attribute.Value = AudioTitle;

11. XmlElement xNode = node as XmlElement;

12. xNode.SetAttributeNode(attribute);

13. .

14. .

15. doc.Save(HttpContext.Current.Server.MapPath("

(10)

Kode Program 4.3 Source Code Generate Item Audio

Setiap item hasil query ke file MediaLibrary.xml ditampung dalam sebuah <div> dengan attribute class Player_LibraryListItem dan memiliki id unik yang dinamis sesuai Order tiap file mp3 yang ada di file xml. Div ini membungkus informasi Judul lagu di dalam tag <h3>. Informasi lainnya (path, nama penyanyi dan judul album) tidak ditampilkan, namun tetap diperlukan untuk keperluan menambahkan audio library item ke Playlist sehingga attribut visible untuk field-field tersebut diberi nilai false.

1. <asp:XmlDataSource id="AudioLibrarySource"

DataFile="playlist/MediaLibrary.xml"

XPath="AudioLibrary/genre[@name='Gospel']/song"

runat="server"/>

2. <asp:DataList id="DataListAudioLibrary"

DataSourceId="AudioLibrarySource" runat="server"> 3. <ItemTemplate>

4. <div class="Player_LibraryListItem"

id="<%# "audioLibraryItem_" + XPath("@order") %>"

onclick="audioLibraryItem_Click(this.id)"

draggable="true"

ondragstart="DragItemStart(event)">

5. <h3><%# XPath("@title") %></h3>

6. <a href="<%# XPath("@path") %>"

visible="false"></a>

7. <a href="<%# XPath("@singer") %>"

visible="false"></a>

8. <a href="<%# XPath("@album") %>"

(11)

4.2.2 Memuatkan file MP3 yang tersedia di Server ke Audio Library

Untuk menambahkan file MP3 ke playlist, dapat dilakukan dengan menggunakan dua cara yaitu memilih file di audio library kemudian menekan tombol add selected item to playlist atau melalui drag and drop item audio library ke area playlist. Berikut ini merupakan kode program mengambil nilai id item audio library.

Kode Program 4.4 Source Code Mengambil Nilai Id Item Audio Library

Untuk penambahan item playlist melalui penekanan tombol, maka proses yang terjadi adalah sebagai berikut. Pada saat item audio library di-click, informasi id dari <div> yang di-click diperoleh. Nilai lib_id ini digunakan untuk mengumpulkan informasi yang diperlukan untuk proses penambahan item playlist. Setelah dilakukan pemilihan audio library item, tombol add selected item to playlist ditekan. Informasi yang diperoleh sebelumnya

1. function audioLibraryItem_Click(library_id){

2. //split the library_id

3. splits = library_id.split("_");

4. //cast the "library_id" as an int

5. library_id = parseInt(splits[1]);

6. selectedAudioLibraryItem_title =

audioLibrary_item[library_id]["title"];

7. selectedAudioLibraryItem_url =

audioLibrary_item[library_id]["path"];

8. selectedAudioLibraryItem_artist =

audioLibrary_item[library_id]["singer"];

9. selectedAudioLibraryItem_album =

audioLibrary_item[library_id]["album"]; 10.

highlightAudioLibraryItem(library_id);

11. }

12.

13. function buttonAdd_Click() {

14. storeToLocalStorage();

15. player_Load();

(12)

disimpan ke local storage. Proses selanjutnya adalah melakukan pemuatan ulang terhadap audio player (termasuk di dalamnya memuat ulang Playlist).

Kode Program 4.5 Source Code Refresh File 1. function refreshPlaylist() {

2. //clear current Playlist

17. Player_PlayListItem_div.setAttribute("class",

"Player_PlayListItem"); 18.

Player_PlayListItem_div.setAttribute("id", i); 19.

Player_PlayListItem_div.setAttribute("onclick",

"playlistItem_Click(this.id)");

20. Player_PlayListItem_div.onclick =

function() { playlistItem_Click(this.id); } 21. var h3_element = document.createElement('h3');

(13)

Adapun pemuatan ulang Playlist terdiri dari dua proses yaitu: membaca isi dari local storage dan kemudian membuat element HTML yang dibutuhkan berdasarkan entry yang ada di local storage

Kode Program 4.6 source Code Drag and Drop Library to Playlist

1. <div class="Player_LibraryListItem" id="<%#

"audioLibraryItem_" + XPath("@order") %>"

onclick="audioLibraryItem_Click(this.id)"

draggable="true"

ondragstart="DragItemStart(event)">

2. <h3><%# XPath("@title") %></h3>

3. <a href="<%# XPath("@path") %>"

visible="false"></a>

4. <a href="<%# XPath("@singer") %>"

visible="false"></a>

5. <a href="<%# XPath("@album") %>"

visible="false"></a>

6. </div>

7. <div id="Player_PlayList"

ondragover="DragItemOver(event)"

ondragenter="DragItemEnter(event)"

8. ondrop="DropItem(event)"> 9. </div>

10. //Drag and Drop Support

11. function DragItemStart(event) {

12. var divID = event.target;

13. event.dataTransfer.setData('text',

divID.id);

14. }

15. function DragItemOver(event) {

16. event.preventDefault();

17. }

18. function DragItemEnter(event) {

19. event.preventDefault();

20. }

21. function DropItem(event) {

(14)

Untuk mengaktifkan fitur penambahan item playlist dengan menggunakan drag and drop, dilakukan beberapa langkah berikut ini :

1. Mendefinisikan AudioLibrary item sebagai item sumber yang dapat di-drag. Hal ini dilakukan dengan memberi nilai True attribute “Draggable” pada <div> dengan class “Player_LibraryListItem”.

2. Mendefinisikan event handler di area Playlist untuk menangani proses drop. Event handler yang perlu didefinisikan adalah ondragstart pada div Player_LibraryListItem yang bertindak sebagai source (sumber), ondragover, ondragenter, dan ondrop pada div Player_PlayListsebagai destination (tujuan)

Mendefinisikan function di Javascript yang akan dipanggil sewaktu event drag ataupun drop terjadi. Event ondragstart terpicu ketika menekan tombol kiri mouse pada item Audio Library kemudian sambil menahan tombol kiri menggerakkan mouse ke area lain nya. Event ondragover terpicu selama pergerakan mouse dalam kondisi tombol kiri ditahan. Event ondragenter terpicu pada saat kursor mouse yang dalam kondisi tombol kiri tertahan memasuki area drop.

4.2.3 Memainkan file MP3 yang ada di playlist

(15)
(16)

Kode Program 4.7 Source Code Play File MP3 1. function playlistItem_Click(id)

2. {

9. function buttonPlay_Click() {

10. playAudio();

11. }

12.

13. function load_track(id) {

14. if (id != loaded_index) {

document.getElementById("Audio_Title").innerHTML = audio_title;

24.

document.getElementById("Audio_Singer").innerHTML =

"Singer: " + audio_singer;

25.

document.getElementById("Audio_Album").innerHTML =

" - Album: " + audio_album;

26. }

27. }

28.

29. function playAudio() {

30. audio_Player.play();

31.

document.getElementById("play").style.display =

"none";

32.

document.getElementById("pause").style.display =

"block";

(17)

4.2.4 Menghapus file MP3 dari playlist

Item yang ada di playlist dapat dihapus salah satu atau semua. Prinsip kerja menghapus item playlist adalah sebagai berikut:

1. Stop pemutaran file MP3 yang sedang diputar. 2. Baca daftar item di playlist.

3. Simpan semua item di playlist yang memiliki attribute class “Player_PlayListItem”. Dengan melakukan hal ini secara otomatis item playlist yang sedang dalam kondisi selected tidak akan disimpan ke dalam local storage dan akan dihapus dari playlist saat step berikutnya dieksekusi.

(18)

4.8 Source Code Menghapus File MP3 dari Playlist

(document.getElementById(i).getAttribute("class") ==

"Player_PlayListItem")

16. playlist_Items = [{ "title": document.getElementById(i).childNodes[0].innerHTML,

"url":

document.getElementById(i).childNodes[1].attributes.g etNamedItem("href").value, "artist": document.getElementById(i).childNodes[2].attributes.g etNamedItem("href").value, "album": document.getElementById(i).childNodes[3].attributes.g etNamedItem("href").value, "order": i, "selected":

false}];

(document.getElementById(i).getAttribute("class") ==

(19)

4.2.5 Sync audio library to server

Berhubung setiap client yang mengakses Player5 bisa melakukan upload file MP3, maka diperlukan sebuah mekanisme untuk mensinkronisasikan audio library dengan data di server. Hal ini dapat dilakukan dengan melakukan binding ulang file MediaLibrary.xml terhadap data list audio library dengan menggunakan perintah

Kode Program 4.9 Source Code Sinkronisasi Audio Library to Server

Pengujian Sistem

Metode yang digunakan dalam pengujian sitem ini adalah dengan metode Black Box, yaitu pengujian sistem yang diutamakan pada hasil atau output proses dari aplikasi yang di bangun. Dan sebagai responden sebanyak 30 mahasiswa FTI UKSW.

Tabel 1. Uji coba sistem beradasarkan user friendly Hasil uji

coba

No Materi uji coba Sangat

setuju Setuju Tidak tahu

Tidak

6 Petunjuk memainkan

player 5 10 3 8 4

7 Upload data 3 18 2 3 4

(20)

Persentase 17,14 47,14 5,23 14,28 16,19

Tabel 1 merupakan hasil pengujian sistem berdasarkan user friendly. Dan sebagai responden sebanyak 30 mahasiswa FTI UKSW, didapatkan hasil sebagai berikut:

• 17,14% sangat setuju bahwa audio player ini sudah mudah digunakan.

Tabel 2 Uji coba sistem berdasarkan penggunaan memory

Hasil

2 Menjalankan aplikasi

lain secara bersamaan 4 3 7 12 4

(21)

Tabel 2 merupakan hasil pengujian sistem berdasarkan penggunaan memori. Dan sebagai responden sebanyak 30 mahasiswa FTI UKSW. didapatkan hasil sebagai berikut:

• 11,66% sangat setuju bahwa audio player ini tidak membutuhkan banyak memori.

• 11,66% setuju bahwa audio player ini tidak membutuhkan banyak memori.

• 20% tidak tahu bahwa audio player ini tidak membutuhkan banyak memori.

• 36,66% tdak setuju bahwa audio player ini tidak membutuhkan banyak memori.

• 20% sangat tidak setuju bahwa audio player ini tidak membutuhkan banyak memori.

Tabel 3 Pengujian Validitas Proses Sistem

No Proses Uji Coba Hasil Uji Coba

5 Penyanyi kosong album kosong √

6 Drag and drop tidak pada area

(22)

14 Clear playlist

15 Remove selected

16 Add selected item to playlist

Gambar

Gambar 4.1 User Interface Web Audio Player
Gambar 4.2 Drag and Drop Upload Lagu
Gambar 4.3 Pilih Berkas
Gambar 4.5 Drag and Drop to Playlist
+6

Referensi

Dokumen terkait

[r]

Perpustakaan ini dapat mempercepat proses peminjama,. pengembalian, maupun pendataan

- Baris 58 jika webservice me return value selain false yang berarti user benar-benar ada pada database UKSW_SERVICE tabel member tetapi belum ada di database

Sistem Informasi Berbasis Web dibuat dengan tujuan untuk mendukung proses bisnis promosi. Sistem informasi dikembangkan dengan metode prototyping dan menggunakan

Untuk mencapai klimaks akhir acara, dipilih lagu yang dikenali.

Saran untuk kerabat mahasiswa yang akan mengambil jurusan penyajian musik, sebaiknya menabung lagu-lagu yang berbobot untuk restial, sehingga saat resital, lagu

Jadi dalam proses pencatatanya, operator di setiap divisi hanya perlu melakukan pembacaan kode identitas barang menggunakan barcode scanner pada laman web yang

Form master transaksi, berisi tampilan untuk admin menginput data pelanggan yang pesan, yang kemudian menginputkan data pesanan ke form proses transaksi. Form master