IV-1
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 aturan-aturan 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
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 sewaktu-waktu diperlukan.
Gambar IV-1 Gambaran Umum Perangkat Lunak
IV.1.2 Kebutuhan Fungsional Perangkat Lunak
Tabel IV-1 Daftar Kebutuhan Fungsional Perangkat Lunak
ID Deskripsi
FN-01 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.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.
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
System
Music Director
Mengelola Atribut Lagu
Mengelola Data Lagu
Mengelola Rules
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 aturan-aturan 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
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.
Gambar IV-3 Diagram Kelas Keseluruhan Tahap Analisis HalamanLagu HalamanAtribut HalamanRules HalamanPlaylist Lagu Atribut Rules DatabaseController RulesController AtributController SongController
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.
Gambar IV-4 Diagram Kelas Keseluruhan Tahap Perancangan HalamanLagu <<boundary>> HalamanAtribut <<boundary>> HalamanRules <<boundary>> +viewRulePanel() +addRulePanel() +deleteRulePanel() HalamanPlaylist <<boundary>> DatabaseController <<control>> +getSongCollection() +getOpsiAtribut() +addSongRecord() +editSongRecord() +deleteSongRecord() +savaAllOpsiAtribut() RulesController <<control>> +submitRules() +deleteRules() +saveRules() +loadRules() +createPlaylist() AtributController <<control>> +addOpsiAtribut() +editOpsiAtribut() +deleteOpsiAtribut() SongController <<control>> +addSong() +editSong() +deleteSong() +viewGeneral() +viewDetail() Lagu <<entity>> +id +title +album +bitRate +rating +time +year +beat +roles +state +type +history +theme +dayPartGrid +mood +artist1 +artist2 +artist3 +genre1 +genre2 +genre3 +composer +group +age Atribut <<entity>> +opsiBeat +opsiRoles +opsiGroup +opsiTheme +opsiState +opsiType +opsiHistory +opsiMood +opsiAge +opsiDayPartGrid +opsiGenre +opsiDayPeriod +opsiWeather Rules <<entity>> +basicRules +advanceRules
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.
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.