• Tidak ada hasil yang ditemukan

Pembuatan Aplikasi Otomasi Playlist AutoDJ Music Player Sesuai Mood pada Platform Android.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembuatan Aplikasi Otomasi Playlist AutoDJ Music Player Sesuai Mood pada Platform Android."

Copied!
15
0
0

Teks penuh

(1)

vi

ABSTRAK

Perkembangan musik digital yang sangat pesat menyebabkan kemunculan berbagai jenis musik baru sehingga terdapat berbagai aliran musik yang dapat dikategorikan sesuai genre dan terbagi menjadi beberapa sub-genre. Dikarenakan oleh jumlah lagu yang banyak, pendengar musik akan menentukan daftar lagu/playlist yang akan diputar dengan tujuan agar lagu yang diputar adalah lagu yang disukai oleh pendengar. Biasanya penentuan playlist lagu secara manual membutuhkan banyak waktu. Jumlah lagu yang terus meningkat juga menyebabkan kesulitan untuk menentukan daftar lagu/playlist. Penelitian ini dilakukan dengan tujuan untuk menghasilkan sebuah aplikasi music player yang berbasis android. Aplikasi tersebut dapat secara otomatis menghasilkan daftar lagu/playlist berdasarkan mood pengguna saat ini. Aplikasi ini akan mempelajari pola pemutaran lagu pengguna. Proses pembelajaran ini dilakukan dengan menggunakan supervised learning yaitu algoritma pembelajaran mesin Naïve

Bayes. Proses pembelajaran dilakukan dengan pengubahan bobot lagu sesuai

dengan pola putar lagu dari pengguna. Peningkatan tingkat akurasi hasil pengklasifikasian Naïve Bayes dilakukan dengan menggunakan laplacian

smoothing. Aplikasi ini juga disebut dengan AutoDJ. Aplikasi dibuat dengan

menggunakan bahasa pemrograman JAVA dan perangkat lunak Eclipse.

(2)

vii

Universitas Kristen Maranatha

ABSTRACT

The development of digital music very rapidly causes the increasing of

new types of music therefore there’s many variety of music appears and can be

categorized according to the genre and divided into several sub-genres. Due to the large number of songs, listeners will determine the list of song / playlist to be played in order for the song which playing is a song that is preferred by the listener. Usually create playlist manually requires a lot of time. The increasing number of songs also cause difficulty to determine the list of songs / playlists. This research was conducted with the aim to generate an application music player based on android. The application can automatically generate a list of song / playlist based on the current user's mood. This application will study the pattern

of the user’s behavior to play a song. The learning process is carried out by using supervised learning, Naïve Bayes machine learning algorithm. The learning process is done by changing the weight of the song according to the user play songs pattern. Increasing the level of accuracy of Naïve Bayes classification results is done by using laplacian smoothing. This application is also called AutoDJ. Applications created using the JAVA programming language and software Eclipse.

(3)

viii

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

BAB I PENDAHULUAN ... 2

1.1 Latar Belakang ... 2

1.2 Rumusan Masalah ... 2

1.3 Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Sistematika Pembahasan ... 3

BAB II LANDASAN TEORI ... 5

2.1 Bayes Theorem ... 5

2.1.1 Naïve Bayes Classifier ... 5

2.1.2 Maximum A Posteriori Classifier ... 6

2.2 Sound Cloud ... 6

2.3 Mood Basic ... 6

2.4 Relasi mood dan lagu ... 6

BAB III ANALISIS DAN DISAIN ... 7

3.1 Analisis ... 7

3.1.1 Pengumpulan data ... 7

3.1.2 Data Cleaning ... 9

3.1.3 Pemodelan Algoritma Naïve Bayes ... 10

3.2 Gambaran keseluruhan ... 14

3.2.1 Persyaratan Antarmuka Eksternal ... 15

3.2.2 Antarmuka dengan Pengguna ... 15

3.2.3 Antarmuka Perangkat Keras ... 15

3.2.4 Antarmuka Perangkat Lunak... 15

3.2.5 Fitur-fitur Produk Perangkat Lunak ... 16

3.3 Disain Perangkat Lunak ... 26

3.3.1 Pemodelan Perangkat Lunak ... 27

3.3.2 Disain Penyimpanan Data ... 41

3.3.3 Disain Antarmuka ... 43

BAB IV PENGEMBANGAN PERANGKAT LUNAK ... 49

4.1 Implementasi Modul ... 49

4.1.1 Implementasi Class Diagram ... 49

4.1.2 Implementasi Method dan Algoritma ... 62

4.2 Implementasi Penyimpanan Data ... 66

4.3 Implementasi Antarmuka ... 68

(4)

ix

Universitas Kristen Maranatha

4.3.2 Implementasi Form Informasi Lagu... 69

4.3.3 Implementasi Form AutoDJPlaylist ... 70

4.3.4 Implementasi Form ChangeMood... 70

4.3.5 Implementasi Form Favorite ... 71

4.3.6 Implementasi Form Music Player ... 72

BAB V TESTING DAN EVALUASI SISTEM ... 73

5.1 Test case untuk Form Music List ... 73

5.2 Test case untuk Form Informasi Lagu ... 75

5.3 Test case untuk Form AutoDJPlaylist ... 75

5.4 Test case untuk Form ChangeMood ... 77

5.5 Test case untuk Form Favorite ... 78

5.6 Test case untuk Form Music Player ... 80

5.7 Hasil Analisis Tingkat Keberhasilan Aplikasi AutoDJ ... 81

BAB VI KESIMPULAN DAN SARAN ... 83

6.1 Kesimpulan ... 83

6.2 Saran ... 83

DAFTAR PUSTAKA ... 84

RIWAYAT HIDUP PENULIS ... 85

(5)

x

DAFTAR GAMBAR

Gambar 2.1 Susunan Emosional ... 6

Gambar 3.1 Use Case Diagram ... 28

Gambar 3.2 Activity Diagram lihat lagu ... 33

Gambar 3.3 Activity Diagram lihat informasi lagu ... 34

Gambar 3.4 Activity Diagram pause song ... 34

Gambar 3.5 Activity Diagram scan lagu ... 35

Gambar 3.6 Activity Diagram kelola lagu favorite ... 36

Gambar 3.7 Activity Diagram putar lagu ... 36

Gambar 3.8 Activity Diagram next song ... 37

Gambar 3.9 Activity Diagram cari lagu ... 38

Gambar 3.10 Activity Diagram lihat AutoDJ playlist ... 39

Gambar 3.11 Activity Diagram hapus lagu AutoDJ playlist ... 40

Gambar 3.12 Activity Diagram Change Mood ... 41

Gambar 3.13 ERD Aplikasi AutoDJ ... 41

Gambar 3.14 Disain antarmuka Form AddSong ... 44

Gambar 3.15 Disain antarmuka Form Music List ... 44

Gambar 3.16 Disain antarmuka Form Informasi Lagu ... 45

Gambar 3.17 Disain antarmuka Form Playlist ... 46

Gambar 3.18 Disain antarmuka Form Create Playlist ... 46

Gambar 3.19 Disain antarmuka Form Favorite... 47

Gambar 3.20 Disain antarmuka Form SearchSong ... 48

Gambar 3.21 Disain antarmuka Form Music Player ... 48

Gambar 4.1 Class Diagram aplikasi AutoDJ ... 50

Gambar 4.2 Class PLAYLIST_SONG ... 51

Gambar 4.3 Class SONG ... 51

Gambar 4.4 Class PLAYLIST ... 52

Gambar 4.5 Class DatabaseHandler ... 52

Gambar 4.6 Class SongInformationActivity ... 53

Gambar 4.7 Class StaticInformation ... 53

Gambar 4.8 Class PlayerActivity ... 54

Gambar 4.9 Class SearchSongActivity ... 54

Gambar 4.10 Class FavoriteListActivity ... 55

Gambar 4.11 Class AllSongActivity ... 56

Gambar 4.12 Class AddSongActivity ... 56

Gambar 4.13 Class MetaData ... 57

Gambar 4.14 Class Utilities ... 57

Gambar 4.15 Class ListSongAdapter ... 58

Gambar 4.16 Class CountValue ... 58

Gambar 4.17 Class PlaylistActivity... 58

Gambar 4.18 Class PlaylistSongActivity... 59

Gambar 4.19 Class CreatePlaylistActivity ... 60

Gambar 4.20 Class Attribute ... 60

Gambar 4.21 Class AlgoNaiveBayes... 61

Gambar 4.22 form Music List... 69

(6)

xi

Universitas Kristen Maranatha

Gambar 4.24 form AutoDJPlaylist ... 70

Gambar 4.25 form ChangeMood ... 71

Gambar 4.26 form Favorite... 71

(7)

xii

DAFTAR TABEL

Tabel 3.1 Tabel pemodelan algoritma Naïve Bayes langkah pertama ... 10

Tabel 3.2 Tabel pemodelan algoritma Naïve Bayes langkah kedua ... 11

Tabel 3.3 Tabel pemodelan algoritma Naïve Bayes langkah ketiga ... 12

Tabel 3.4 Tabel pemodelan algoritma Naïve Bayes untuk lagu "A Little Love" .. 12

Tabel 3.5 Tabel pemodelan algoritma Naïve Bayes untuk lagu " A Thousand Year " ... 13

Tabel 3.6 Tabel pemodelan algoritma Naïve Bayes untuk lagu " Rolling In The Deep " ... 13

Tabel 3.7 Tabel pemodelan algoritma Naïve Bayes untuk lagu " Curious " ... 13

Tabel 3.8 Tabel hasil pengklasifikasian lagu dengan menerapkan algoritma Naïve Bayes ... 14

Tabel 3.9 Deskripsi tabel fitur lihat lagu ... 16

Tabel 3.10 Deskripsi tabel fitur lihat informasi lagu ... 16

Tabel 3.11 Deskripsi tabel fitur scan lagu ... 17

Tabel 3.12 Deskripsi tabel fitur lihat playlist ... 18

Tabel 3.13 Deskripsi tabel fitur tambah playlist ... 18

Tabel 3.14 Deskripsi tabel fitur hapus playlist... 19

Tabel 3.15 Deskripsi tabel fitur membuat playlist AutoDJ ... 19

Tabel 3.16 Deskripsi tabel fitur memodifikasi playlist AutoDJ ... 20

Tabel 3.17 Deskripsi tabel fitur mengelola lagu favorite ... 21

Tabel 3.18 Deskripsi tabel fitur cari lagu ... 22

Tabel 3.19 Deskripsi tabel fitur melihat lagu playlist ... 22

Tabel 3.20 Deskripsi tabel fitur tambah lagu playlist ... 23

Tabel 3.21 Deskripsi tabel fitur hapus lagu playlist ... 24

Tabel 3.22 Deskripsi tabel fitur putar lagu... 25

Tabel 3.23 Deskripsi tabel fitur pause song ... 25

Tabel 3.24 Deskripsi tabel fitur next song ... 26

Tabel 3.25 Skenario lihat lagu ... 28

Tabel 3.26 Skenario lihat informasi lagu ... 29

Tabel 3.27 Skenario scan lagu ... 29

Tabel 3.28 Skenario lihat AutoDJ playlist ... 29

Tabel 3.29 Skenario kelola lagu favorite ... 30

Tabel 3.30 Skenario cari lagu... 30

Tabel 3.31 Skenario hapus lagu AutoDJplaylist ... 31

Tabel 3.32 Skenario putar lagu ... 31

Tabel 3.33 Skenario pause song... 31

Tabel 3.34 Skenario next song ... 32

Tabel 3.35 Skenario Change Mood ... 32

Tabel 3.36 Tabel Song... 42

Tabel 3.37 Tabel Playlist ... 42

Tabel 3.38 Tabel Relasi Song dan Playlist... 43

(8)

xiii

Universitas Kristen Maranatha

DAFTAR SIMBOL

Jenis Notasi/Lambang Nama Arti

Use Case Use Case

Use case digambarkan sebagai lingkaran elips

dengan nama use case

dituliskan didalam elips

saja, jika sebuah sistem

berkomunikasi dengan

Use Case Association

Association

menunjukkan hubungan

statis antar dua class.

Activity

Diagram Start Titik awal.

Activity

Diagram End Titik akhir.

Activity

Diagram Activity Menunjukkan proses.

(9)

xiv

Jenis Notasi/Lambang Nama Arti

satu.

ERD Entity

(rectangler)

Digunakan untuk

menggambarkan obyek

yang diidentifikasikan

ke dalam lingkungan.

ERD Atribut (oval)

Digunakan untuk

menggambarkan

elemen-elemen dari

suatu entity, yang

menggambarkan

karakter entity.

ERD Hubungan

(diamond)

Entity dapat

berhubungan satu sama

lain. Hubungan ini

disebut dengan

relationship.

ERD Garis (line)

Digunakan untuk

menghubungkan entity

dengan relasi/hubungan,

maupun entity dengan

atribut.

(10)

xv

Universitas Kristen Maranatha

DAFTAR PROGRAM

Kode Program 4.1 Kode program pada method setBobot0 ... 62

Kode Program 4.2 Kode program pada method addMoodWeight ... 63

Kode Program 4.3 Kode program pada method deleteSong ... 63

Kode Program 4.4 Kode program pada method DeletePlaylistSong ... 63

Kode Program 4.5 Kode program pada method setFavoriteSong... 64

Kode Program 4.6 Kode program pada method getLastIDPlaylist... 64

Kode Program 4.7 Kode program pada method getPlaylistSong ... 64

Kode Program 4.8 Kode program pada method getSong ... 65

Kode Program 4.9 Kode program pada method GetFavSong ... 65

Kode Program 4.10 Kode program pada SearchSong ... 66

(11)

2

BAB I

PENDAHULUAN

Pada bab ini akan dijelaskan mengenai latar belakang permasalahan, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan untuk aplikasi AutoDJ.

1.1 Latar Belakang

Musik sangat bermanfaat bagi kehidupan manusia. Beberapa fungsi musik yaitu sebagai pengungkapan emosional, hiburan, dan komunikasi. Dewasa ini, perkembangan musik digital sangat pesat. Berbagai jenis musik baru lahir dan berkembang sehingga terdapat berbagai aliran musik yang dapat dikategorikan sesuai genre dan terbagi menjadi beberapa sub-genre.

Dikarenakan oleh jumlah lagu yang banyak, pendengar musik akan menentukan daftar lagu/playlist yang akan diputar dengan tujuan agar lagu yang diputar adalah lagu yang disukai oleh pendengar. Biasanya penentuan playlist lagu dilakukan oleh pendengar dengan menggunakan beberapa jenis software music

player. Penentuan playlist lagu secara manual merupakan suatu proses yang

membosankan bagi pengguna karena pengguna membutuhkan banyak waktu untuk menghasilkan playlist yang cocok. Jumlah lagu yang terus meningkat juga menyebabkan kesulitan untuk menentukan daftar lagu/playlist.

Setelah melihat masalah-masalah yang terjadi pada saat menentukan daftar lagu/playlist, akan dibuat sebuah aplikasi music player yang berbasis android untuk menangani masalah-masalah tersebut. Aplikasi tersebut dapat secara otomatis menghasilkan daftar lagu/playlist sesuai dengan pola putar lagu dari pengguna. Dengan kata lain, aplikasi ini juga disebut dengan AutoDJ. Proses pembelajaran pola ini dilakukan dengan menggunakan algoritma pembelajaran mesin Naïve Bayes.

1.2 Rumusan Masalah

(12)

3

1. Bagaimana aplikasi dapat menghasilkan daftar lagu/playlist yang diinginkan oleh pengguna?

2. Bagaimana aplikasi dapat memproses pengklasifikasian lagu sesuai mood lagu?

1.3 Tujuan

Tujuan Tugas Akhir ini adalah untuk membangun sebuah aplikasi android yang dapat:

1. Membuat playlist secara otomatis sesuai dengan mood yang diinginkan oleh pengguna.

2. Melakukan klasifikasi lagu sesuai dengan pola putar lagu dari pengguna dengan menggunakan algoritma Naïve Bayes.

1.4 Batasan Masalah

Batasan masalah yang terdapat dalam pembuatan aplikasi AutoDJ ini adalah sebagai berikut:

1. Aplikasi ini digunakan untuk menganalisis pola putar lagu dari pengguna melalui daftar lagu yang telah diputar dengan menggunakan metode pembelajaran mesin Naïve Bayes, kemudian aplikasi akan menghasilkan

playlist yang sesuai dengan pola yang telah dimodelkan.

2. Atribut dari data training yang digunakan dalam aplikasi ini mencakup

metadata lagu yaitu Genre, Tempo, Energy Level, Album, Artist, Bobot

kesenangan, Bobot kesedihan, Bobot kebingungan,dan Bobot kemarahan.

3. Data testing yang digunakan pada aplikasi ini bersifat independent dimana

hasil pengklasifikasian tergantung pada pengguna.

1.5 Sistematika Pembahasan

Sistematika laporan yang dipergunakan dalam Tugas Akhir ini adalah: BAB I PENDAHULUAN

Bab ini berisi uraian garis besar yang meliputi latar belakang, perumusan masalah, tujuan, dan batasan masalah yang mengawali pembuatan aplikasi

(13)

4

BAB II LANDASAN TEORI

Bab ini berisi dasar-dasar teori yang digunakan dalam pembuatan aplikasi

AutoDJ.

BAB III ANALISIS DAN DISAIN

Bab ini berisi arsitektur perangkat lunak yang digunakan, termasuk penggunaan sistem secara keseluruhan dalam pembuatan aplikasi AutoDJ.

BAB IV PENGEMBANGAN PERANGKAT LUNAK

Bab ini berisi modul-modul yang digunakan pada aplikasi AutoDJ, serta hubungan antar modul.

BAB V TESTING DAN EVALUASI SISTEM

Bab ini berisi laporan mengenai pengujian terhadap aplikasi AutoDJ yang telah diselesaikan.

BAB VI KESIMPULAN DAN SARAN

(14)

83

Universitas Kristen Maranatha

BAB VI

KESIMPULAN DAN SARAN

Pada bab ini akan dijelaskan mengenai kesimpulan dan saran untuk pengembangan aplikasi AutoDJ.

6.1 Kesimpulan

Kesimpulan yang diperoleh dari hasil penelitian aplikasi AutoDJ ini sebagai berikut:

1. Berdasarkan hasil kuisioner, dapat disimpulkan bahwa aplikasi ini dapat membantu pengguna untuk membuat playlist secara otomatis sesuai dengan mood dimana nilai bobot lagu akan berubah sesuai dengan pola putar lagu pengguna.

2. Playlist dibuat secara otomatis dengan menggunakan Naïve Bayes Classifier yang telah dimodelkan dengan beberapa atribut diantaranya

yaitu genre, tempo, energy level, album, dan artist.

3. Tingkat akurasi Naïve Bayes Classifier yang dimodelkan bersifat

independent dimana hasil pengklasifikasian tergantung pada pengguna.

6.2 Saran

Saran yang dapat diberikan untuk pengembangan aplikasi AutoDJ selanjutnya yaitu:

1. Aplikasi dapat membatasi lagu yang ingin diunggah untuk analisis dan tidak sehingga tidak semua lagu diunggah ke server echonest dan dapat menghemat waktu eksekusi program.

2. Aplikasi dapat mempercepat proses pembuatan playlist AutoDJ.

3. Aplikasi dapat menambah atribut lain yang digunakan dalam pemodelan

(15)

84

DAFTAR PUSTAKA

The Ministry of Music1961USAKregel Publications

SONGS IN THE PLAYS OF LOPE DE VEGA1975London

Advances in Intelligent Data Analysis X2011New York

Emotion2012

Think Bayes2012

The Naive Bayes Model for Unsupervised Word Sense Disambiguation Aspects Concecrning Feature Selection2013BucharestRomania

Referensi

Dokumen terkait

Menurut Landau (1992) jika intensitas cahaya matahari menurun maka akan mempengaruhi proses fotosintesis dalam suatu perairan di mana jumlah plankton dapat

Angket ini saya gunakan untuk melibatkan kalangan pembaca media cetak khususnya harian Warta Kota dalam menanggapi isu kesetaraan gender yang menjadi topik

Pendapatan yang diperoleh biasanya merupakan ukuran output pada sejumlah organisasi profesi, namun ukuran seperti ini lebih berhubungan pada jumlah jasa yang dilakukan,

Menurut Sumodiningrat (1999) yang dikutip oleh Mardi Yatmo Hutomo (2000:6), secara ringkas dapat pemberdayaan ekonomi dikemukakan sebagai berikut:.. Perekonomian rakyat

Soft tissue uptake in this case might be caused by direct infection of.

[r]

1.1.1 Understand grammatical rules to construct grammatically correct English sentences 1.1.2 Ability to apply grammatical rules to con-.. struct grammatically

Pada penelitian ini, jaringan SDN dirancang menggunakan Mininet dengan skenario awal membangun topologi mesh, satu node sebagai controller, jumlah switch dan host akan ditambah