BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab ini memberikan penjelasan mengenai analisis dan perancangan perangkat lunak pembangkit playlist lagu otomatis berbasis rules. IV.1 Analisis Perangkat Lunak Berikut ini merupakan analisis perangkat lunak aplikasi pembangkit playlist lagu otomatis berbasis rules yang meliputi deskripsi perangkat lunak, daftar kebutuhan fungsional perangkat lunak, analisis use case serta analisis kelas. IV.1.1 Deskripsi Perangkat Lunak Parangkat lunak yang akan dibangun pada Tugas Akhir ini adalah aplikasi pembangkit playlist lagu otomatis berbasis rules. Tujuan utama dari aplikasi ini adalah menghasilkan playlist lagu yang sesuai dengan keinginan pengguna. Dalam hal ini keinginan pengguna akan direpresentasikan dalam bentuk aturanaturan yang akan dijadikan dasar pemilihan lagu dan pembentukan playlist oleh sistem. Untuk mendukung tujuan utama dari aplikasi yang dirancang, pengguna dapat melakukan pengaturan terhadap opsi atribut lagu. Opsi Atribut lagu tersebut kemudian akan dipilih oleh pengguna untuk diassign menjadi niali atribut lagu yang bersangkutan, sehingga pembentukan playlist dapat menghasilkan sekumpulan lagu yang sesuai dengan aturan yang telah didefinisikan oleh pengguna. Secara garis besar, gambaran umum aplikasi pembangkit playlist lagu otomatis berbasis rules dapat dilihat pada gambar IV-1. Pengguna dapat melakukan pengelolaan terhadap opsi atribut, data lagu serta aturan melalui antarmuka aplikasi. Setelah itu sistem akan melakukan proses pembangkitan playlist dengan mencari lagu-lagu dari basis data lagu yang sesuai dengan aturan yang telah didefinisikan. Kumpulan data lagu akan disimpan pada basis data lagu dimana IV-1
IV-2
akses ke dalam data lagu akan dilakukan melalui server yang digunakan. Aturan yang telah didefinisikan oleh pengguna dapat disimpan dalam bentuk file xml dimana aturan tersebut dapat diload kembali oleh playlist Generator jika sewaktuwaktu diperlukan.
Gambar IV-1 Gambaran Umum Perangkat Lunak
IV.1.2 Kebutuhan Fungsional Perangkat Lunak Tabel IV-1 Daftar Kebutuhan Fungsional Perangkat Lunak ID
FN-01
Deskripsi
Sistem mampu melakukan pengelolaan terhadap atribut lagu. Pengelolaan meliputi penambahan, perubahan, penghapusan.
FN-02
Sistem mampu melakukan pengelolaan terhadap data lagu. Pengelolaan meliputi penambahan, perubahan, penghapusan.
FN-03
Sistem mampu melakukan pengelolaan terhadap rules. Pengelolaan meliputi penambahan, perubahan, penghapusan, save dan load.
FN-04
Sistem mampu menghasilkan playlist berdasarkan rules
IV-3
IV.1.3 Analisis Use Case Gambar IV-2 merupakan diagram use case dari perangkat lunak yang akan dibangun. Aktor utama pada aplikasi pembangkit playlist lagu otomatis berbasis rules adalah music director. Namun, tidak menutup kemungkinan perangkat lunak yang dibangun dapat digunakan oleh pengguna awam.
System
Mengelola Atribut Lagu
Mengelola Data Lagu
Mengelola Rules Music Director
Generate Playlist
Gambar IV-2 Diagram Use Case
Pada perangkat lunak yang akan dibangun, terdapat 4 proses utama yang dapat dilakukan oleh pengguna, yaitu: mengelola atribut lagu, mengelola data lagu, mengelola rules dan melakukan pembangkitan playlist lagu. Adapun skenario untuk setiap use case dapat dilihat pada lampiran C. Berikut merupakan penjelasan dari keempat proses utama yang dapat dilakukan oleh pengguna. 1. Mengelola atribut lagu Pada use case ini pengguna dapat melakukan pengelolaan terhadap opsi atribut. Nilai atribut yang dapat diassign pada sebuah lagu akan dipilih dari opsi atribut yang tersedia. Pengelolaan yang dapat dilakukan adalah
IV-4
penambahan, penghapusan, pengubahan serta pendefinisian opsi atribut jika diperlukan. Proses pengubahan atau penghapusan opsi atribut akan berpengaruh pada sejumlah lagu yang memiliki nilai atribut sesuai dengan opsi atribut yang dihapus atau diubah. Pengubahan nilai opsi atribut akan menyebabkan sejumlah lagu yang memiliki nilai atribut yang bersangkutan ikut
berubah
nilainya.
Sedangkan
penghapusan
opsi
atribut
akan
menyebabkan sejumlah lagu yang memiliki nilai atribut yang bersangkutan akan dihapuskan dari basis data lagu. 2. Mengelola data lagu Pada use case ini pengguna dapat melakukan pengelolaan terhadap data lagu. Pengelolaan yang dapat dilakukan adalah penambahan, pengubahan serta penghapusan data lagu. Untuk setiap lagu yang dikelola, pemasukkan nilai atribut yang merupakan basic metadata dapat dilakukan dengan menuliskan nilainya langsung atau memilih opsi yang diberikan oleh sistem jika tersedia. Sedangkan pemasukkan nilai atribut yang merupakan advance metadata dapat dilakukan dengan memilih opsi atribut yang tersedia dan merupakan hasil pengelolaan pengguna. 3. Mengelola rules Pada use case ini pengguna dapat melakukan pengelolaan terhadap aturanaturan pembentukan playlist (rules). Pengelolaan yang dapat dilakukan adalah penambahan, pengubahan, penghapusan, save dan load. Untuk setiap aturan yang telah didefinisikan, proses save baru dapat dilakukan apabila semua aturan telah disubmit terlebih dahulu. Proses save rules akan menyimpan semua aturan yang telah didefinisikan ke dalam format xml, dimana nama aturan dan alamat penyimpanannya dapat didefinisikan sendiri oleh pengguna. Apabila sewaktu-waktu aturan tersebut diperlukan, maka aturan tersebut dapat diload kembali untuk melakukan pembangkitan playlist. 4. Generate Playlist Pada use case ini pengguna dapat melakukan pembangkitan playlist dengan ketentuan
pengguna
telah
terlebih
dahulu
mendefinisikan
aturan
IV-5
pembangkitan playlist. Pada proses ini pengguna harus memasukkan jumlah lagu yang inginkan pada playlist yang dihasilkan. Apabila pengguna mendefinisikan aturan waktu atau cuaca sebagai aturan pembangkitan playlist, maka sistem akan meminta pengguna untuk menentukan waktu dan cuaca pemutaran playlist yang akan dihasilkan. IV.1.4 Analisis Kelas Gambar IV-3 menunjukkan diagram kelas keseluruhan tahap analisis perangkat lunak. Diagram kelas hanya mencakup kelas-kelas utama yang menggambarkan proses pemenuhan kebutuhan utama perangkat lunak.
HalamanAtribut
Lagu
AtributController
DatabaseController HalamanLagu
HalamanRules
SongController
Atribut
RulesController
Rules
HalamanPlaylist
Gambar IV-3 Diagram Kelas Keseluruhan Tahap Analisis
IV-6
IV.2 Perancangan Perangkat Lunak Sub-bab ini menjelaskan perancangan perangkat lunak aplikasi pembangkit playlist lagu otomatis berbasis rules yang meliputi perancangan kelas, perancangan data dan perancangan antarmuka. IV.2.1 Perancangan Kelas Gambar IV-4 merupakan diagram kelas keseluruhan tahap perancangan. Diagram kelas keseluruhan tahap perancangan hanya memuat kelas-kelas utama yang menggambarkan proses pembangkitan playlist lagu.
<<entity>> Atribut <
> HalamanAtribut
<> AtributController +addOpsiAtribut() +editOpsiAtribut() +deleteOpsiAtribut()
<> HalamanLagu
<> SongController +addSong() +editSong() +deleteSong() +viewGeneral() +viewDetail()
<> DatabaseController +getSongCollection() +getOpsiAtribut() +addSongRecord() +editSongRecord() +deleteSongRecord() +savaAllOpsiAtribut()
+opsiBeat +opsiRoles +opsiGroup +opsiTheme +opsiState +opsiType +opsiHistory +opsiMood +opsiAge +opsiDayPartGrid +opsiGenre +opsiDayPeriod +opsiWeather
<<entity>> Lagu <> HalamanRules +viewRulePanel() +addRulePanel() +deleteRulePanel()
<> RulesController +submitRules() +deleteRules() +saveRules() +loadRules() +createPlaylist()
<> HalamanPlaylist
<<entity>> Rules +basicRules +advanceRules
+id +title +album +bitRate +rating +time +year +beat +roles +state +type +history +theme +dayPartGrid +mood +artist1 +artist2 +artist3 +genre1 +genre2 +genre3 +composer +group +age
Gambar IV-4 Diagram Kelas Keseluruhan Tahap Perancangan
IV-7
IV.2.2 Perancangan Data Dalam Tugas Akhir ini, basis data dibutuhkan untuk menyimpan informasi mengenai data-data lagu yang telah dikelola oleh user. Selain itu informasi lain yang akan disimpan ke dalam tabel basis data adalah informasi mengenai opsi atribut yang telah dikelola oleh user. Informasi mengenai opsi atribut ini kelak hanya akan diambil dari basis data pada saat awal aplikasi dijalankan untuk dimasukan ke dalam kelas penyimpanan internal dan disimpan kembali ke dalam tabel basis data pada saat program ditutup. Adapun diagram keterhubungan antar entitas dapat dilihat pada gambar IV-5.
Gambar IV-5 Perancangan Data
IV-8
Selain informasi mengenai data lagu dan opsi atribut yang disimpan dalam basis data, aplikasi pembangkit playlist lagu juga dapat menyimpan informasi rules pada tempat penyimpanan file eksternal berupa xml. Format penulisan aturan ke dalam bentuk xml tersebut merepresentasikan struktur objek rules dalam aplikasi yang dikembangkan. File xml dapat disimpan di mana saja dengan nama file dan alamat penyimpanan yang dapat didefinisikan sendiri oleh pengguna. Apabila sewaktu-waktu diperlukan, rules tersebut dapat diload kembali untuk dikonversi oleh sistem menjadi objek-objek rules. IV.2.3 Perancangan Antarmuka Antarmuka yang akan dibangun dalam Tugas Akhir ini terbagi menjadi lima layar utama dimana semua layar memenuhi daftar kebutuhan fungsional yang telah dijelaskan pada sub bab IV.1.2 kebutuhan perangkat lunak. Gambar IV-6 merupakan contoh perancangan antarmuka perangkat lunak pembangkit playlist lagu otomatis berbasis rules. Adapun keseluruhan gambar perancangan antarmuka dapat dilihat pada lampiran B.
Gambar IV-6 Perancangan Layar Data Lagu