• Tidak ada hasil yang ditemukan

BAB IV PERANCANGAN DAN IMPLEMENTASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV PERANCANGAN DAN IMPLEMENTASI"

Copied!
10
0
0

Teks penuh

(1)

IV-1

BAB IV

PERANCANGAN DAN IMPLEMENTASI

Bab ini berisi perancangan perangkat lunak pembentuk pola improvisasi musik jazz bernama JazzML dan bagaimana impelemntasi hasil rancangan ke dalam kode program.

4.1 Deskripsi Perangkat Lunak

Perangkat lunak yang akan dikembangkan adalah JazzML yang merupakan sebuah sistem pembentuk pola improvisasi melodi unisono musik jazz digital berformat

MusicXML berdasarkan akor dan melodi asli masukan. Perangkat lunak JazzML menggunakan algoritma k-Nearest Neighbor sebagai proses utamanya yang memiliki kemampuan untuk melakukan pembelajaran pola improvisasi dari berkas-berkas musik

jazz sehingga dapat menentukan pola improvisasi untuk sebuah instance musik jazz.

Sebelum dilakukan pembelajaran, perangkat lunak tersebut tidak dapat digunakan untuk membentuk pola improvisasi.

Secara khusus, perangkat lunak JazzML digunakan untuk proses pengujian penggunaan algoritma k-Nearest Neighbor dalam mempelajari dan membentuk pola improvisasi musik jazz. Penggunaan utama perangkat lunak ini dibagi menjadi 2 buah proses utama: 1. Proses pembelajaran pola improvisasi

Pada proses pembelajaran dilakukan pembelajaran terhadap data pelatihan berupa berkas-berkas musik masukan yang terdiri dari berkas musik melodi asli dan berkas musik melodi improvisasi dengan susunan akor dan panjang lagu yang identik. 2. Proses pembentukan pola improvisasi

Pada proses pembentukan pola improvisasi dilakukan pembentukan sebuah berkas musik improvisasi dari sebuah instance berkas musik asli. Susunan akor dan panjang lagu dari berkas musik improvisasi identik dengan berkas musik instance.

Untuk keperluan penelitian saat ini, perangkat lunak JazzML belum dilengkapi dengan fungsi audio playback terhadap musik improvisasi. Keluaran musik improvisasi hanya

(2)

berbentuk berkas MusicXML yang dapat dibaca dan di-playback dengan menggunakan perangkat lunak pengolah audio yang lain.

4.2 Perancangan

4.2.1 Spesifikasi Kebutuhan Perangkat Lunak

Mengacu pada analisis perancangan sistem pembelajaran pola improvisasi yang sudah dijelaskan pada sub-bab 3.4 Perancangan Sistem Pembelajaran Pola Improvisasi, maka perangkat lunak JazzML diharapkan mampu memenuhi kebutuhan fungsional sebagai berikut.

1. Perangkat lunak JazzML mampu menerima masukan berupa berkas MusicXML yang tersusun atas 1 buah staff yang terdiri dari melodi unisono dan akor.

2. Perangkat lunak JazzML mampu melakukan pembelajaran dengan mengubah representasi masukan berkas MusicXML menjadi representasi yang dapat diterima oleh algoritma k-Nearest Neighbor.

3. Perangkat lunak JazzML mampu menentukan pola improvisasi dari sebuah instance musik asli yang dipilih dari data pembelajaran per frasa musik berdasarkan akor masukan dan frasa melodi asli yang paling mirip dengan cara melakukan perhitungan nilai jarak antar akor dan antar frasa melodi.

4. Perangkat lunak JazzML mampu membentuk keluaran berupa berkas MusicXML yang tersusun atas 1 buah staff yang terdiri dari melodi unisono dan akor. Keluaran merepresentasikan berkas musik yang terimprovisasi.

4.2.2 Batasan Perangkat Lunak

Perangkat lunak yang akan diimplementasikan memiliki beberapa batasan yaitu :

1. Berkas musik digital yang diolah hanya berkas musik digital berformat MusicXML saja.

2. Melodi asli dan melodi improvisasi lagu jazz ditempatkan pada berkas yang terpisah dengan panjang lagu dan susuanan akor yang identik.

3. Melodi asli maupun melodi improvisasi dari lagu yang diolah memiliki dimensi horizontal atau melodi unisono saja.

4. Berkas musik yang akan dihasilkan hanya berupa kumpulan frasa melodi improvisasinya saja, tidak disertakan dengan melodi aslinya.

(3)

5. Perangkat lunak tidak dilengkapi fungsi audio playback untuk MusicXML.

4.2.3 Perancangan Struktur Data

Perangkat lunak JazzML tersusun dari beberapa tipe data bentukan khusus untuk menunjang kebutuhan fungsional dari perangkat lunak tersebut. Penjelasan mengenai tipe dari field yang menyusun setiap tipe data bentukan dideskripsikan secara java-like. Struktur data yang digunakan dalam perangkat lunak tersebut adalah sebagai berikut.

1. Chord

Strutkur data Chord merepresentasikan informasi akor yang dibaca dari berkas MusicXML dalam perangkat lunak JazzML. Sebuah Chord terdiri atas 4 atribut, yaitu rootStep, rootAlter, kind, dan chordEl. Tiga buah atribut pertama yaitu rootStep, rootAlter, dan kind nilainya didapatkan langsung dari pembacaan terhadap berkas MusicXML tanpa dilakukan pengolahan. Sedangkan, atribut terakhir yaitu chordEl dibentuk setelah atribut rootStep, rootAlter, dan kind terdefinisi. Atribut chordEl merupakan sebuah himpunan bilangan bulat antara 0 s.d. 11 yang merupakan representasi dari akor yang sudah dijelaskan pada subbab 3.6.3 Representasi Akor Masukan.

Tabel IV-1 Struktur Data Chord

Field Tipe Deskripsi

rootStep String Nada dasar/root dari akor rootAlter Integer Interval transposisi dari akor

kind String Jenis dari akor. Contoh : major, minor, major-seventh,

minor-seventh, dominant, dominant-11th, diminished, dll

chordEl Set<Integer>

Representasi himpunan elemen nada penyusun akor yang dinyatakan dalam bilangan bulat antara 0 s.d 11, tersusun terurut dari yang terkecil ke terbesar dan tidak terduplikasi

(4)

2. Note

Struktur data Note merepresentasikan informasi not/nada yang dibaca dari berkas MusicXML dalam perangkat lunak JazzML. Sebuah Note terdiri atas 8 buah atribut yaitu pitchStep, pitchOctave, pitchAlter, duration, type, stem, hasDot, dan hasTuplet. Atribut pitchStep, pitchOctave, dan pitchAlter digunakan untuk menghitung nilai absolut dari sebuah not/nada yang sudah dijelaskan pada sub-bab 3.6.4 Representasi Frasa Melodi pada Gambar III-12. Perhitungan untuk mendapatkan nilai absolut dari sebuah nada adalah (pitchStep + pitchAlter + 12x pitchOctave). Sedangkan atribut-atribut sisanya digunakan untuk keperluan keluaran berkas MusicXML yang kemudian akan dapat ditampilkan dalam bentuk notasi musik dan di-playback.

Tabel IV-2 Struktur Data Note

Field Tipe Deskripsi

pitchStep String Pitch nada dari note pitchOctave Integer Oktaf dari pitch nada

pitchAlter Integer Interval transposisi dari pitch nada duration Integer Durasi dari note

type String Tipe durasi dari note

stem String Arah tangkai dari note, jika ada hasDot Boolean Keberadaan tanda titik dari note hasTuplet Boolean Keberadaan tanda tuplet dari note

3. Phrase

Struktur data Phrase merepresentasikan sebuah frasa musik yang terdiri atas struktur data Chord, list Note melodi asli, dan list Note melodi improvisasi. Struktur data ini digunakan untuk menyimpan frasa-frasa lagu yang dibaca dari berkas MusicXML yang kemudian akan diolah oleh algoritma k-Nearest Neighbor untuk mencari pola improvisasi ketika masuknya sebuah instance musik jazz. Data pelatihan yang digunakan oleh sistem pembelajaran mesin ini merupakan list dari Phrase.

(5)

Tabel IV-3 Struktur Data Phrase

Field Tipe Deskripsi

ch Chord Akor dari frasa

real_melody List<Note> List dari note penyusun melodi asli frasa

improvised_melody List<Note> List dari note penyusun melodi improvisasi dari frasa

4.2.4 Perancangan Antarmuka

Berikut ini adalah prototype antarmuka yang akan digunakan dalam perangkat lunak

JazzML.

1. Antarmuka pembelajaran

Antarmuka ini digunakan untuk mengolah berkas MusicXML masukan menjadi representasi yang dapat diterima oleh algoritma k-Nearest Neighbor, dimana terdapat fungsi untuk membaca dan mengekstrak kumpulan berkas MusicXML yang digunakan sebagai data pembelajaran. Antarmuka pembelajaran dapat dilihat pada Gambar IV-1.

(6)

2. Antarmuka pembentukan musik improvisasi

Antarmuka ini digunakan untuk membentuk sebuah berkas MusicXML lagu improvisasi dari sebuah instance berkas MusicXML masukan. Susunan akor dan panjang lagu dari musik improvisasi sama dengan musik asli. Pada antarmuka ini terdapat fungsi untuk menerima masukan sebuah berkas MusicXML, membaca berkas MusicXML, menghitung nilai jarak ketetanggaan, menjalankan algoritma k-NN untuk mencari pola improvisasi yang paling mirip, dan menulis berkas MusicXML baru. Antarmuka pembentukan musik improvisasi dapat dilihat pada Gambar IV-2.

Gambar IV-2 Antarmuka pembentukan musik improvisasi

4.2.5 Perancangan Modul

Perangkat lunak JazzML yang dibangun pada Tugas Akhir ini dirancang dan akan diimplementasikan menjadi beberapa modul. Modul-modul yang dirancang dan diimplementasikan adalah sebagai berikut.

1. Modul Representation

Modul ini berisi semua tipe data bentukan yang dibutuhkan dalam perangkat lunak JazzML. Tipe data bentukan yang dibutuhkan dalam perangkat lunak ini telah dijelaskan pada subbab perancangan tipe data bentukan.

2. Modul Improvisor

Modul ini berisi fungsi-fungsi untuk melakukan pembelajaran dan pembentukan pola melodi improvisasi musik jazz berdasarkan akor dan melodi asli dengan menggunakan algoritma k-Nearest Neighbor.

(7)

3. Modul Pengolah MusicXML

Modul ini berisi fungsi-fungsi yang menangani pembacaan dan penulisan berkas file MusicXML. File MusicXML ini digunakan sebagai representasi dari sebuah lagu. 4. Modul Antarmuka

Modul ini berisi antarmuka yang digunakan dalam perangkat lunak JazzML.

Gambar IV-3 Struktur Modul

4.3 Implementasi

Implementasi perangkat lunak JazzML dikembangkan dengan mengacu pada hasil perancangan yang telah dijelaskan pada sub-bab 4.2 Perancangan. Pada sub-bab implementasi ini akan dilakukan pembahasan mengenai lingkungan implementasi, batasan implementasi, implementasi data, serta implementasi modul.

4.3.1 Lingkungan Implementasi

Lingkungan implementasi perangkat lunak JazzML terdiri dari 2 bagian yaitu lingkungan perangkat keras dan lingkungan perangkat lunak. Lingkungan perangkat keras meliputi semua perangkat keras yang digunakan di dalam pengembangan dan penggunaan perangkat lunak JazzML. Lingkungan perangkat lunak meliputi sistem operasi dan kakas pengembangan yang digunakan untuk mengimplementasi perangkat lunak JazzML.

(8)

4.3.1.1 Lingkungan Perangkat Keras

Perangkat keras yang digunakan untuk pengembangan dan implementasi perangkat lunak JazzML selama penelitian Tugas Akhir ini adalah sebuah laptop dengan spesifikasi sebagai berikut.

1. Processor Intel® Pentium Dual Core T2060 @ 1.60 GHz, 65nm, FSB533, 1MB L2 cache.

2. Memory 2048 MB DDR2 RAM. 3. Hard disk SATA 80 GB.

4. Perangkat masukan berupa keyboard dan mouse.

5. Perangkat keluaran berupa layar monitor 14.1” WXGA TFT(1280x800).

4.3.1.2 Lingkungan Perangkat Lunak

Spesifikasi lingkungan perangkat lunak yang digunakan untuk pengembangan dan implementasi perangkat lunak JazzML selama pelaksanaan penelitian Tugas Akhir ini adalah sebagai berikut:

1. Sistem operasi Windows XP Profesional Edition Service Pack 2.

2. Kakas pemrograman berupa NetBeans IDE 6.0 dengan Java Development Kit 1.6.0 dan Java Runtime Environtment 1.6.0.

3. Bahasa pemrograman Java.

4. Aplikasi pengolah suara yang membantu untuk membuat, membaca dan memainkan berkas MusicXML, yaitu Finale 2007.

5. Aplikasi pembantu analisis dan perancangan, yaitu Microsoft Visio 2007

4.3.2 Batasan Implementasi

Implementasi perangkat lunak JazzML memiliki batasan yaitu eksekusi perangkat lunak

JazzML diharapkan melalui command prompt agar dapat mengalokasikan memori Java

Runtime Environtment (JRE) secara manual. Alokasi memori JRE yang diharapkan untuk perangkat lunak ini minimal sama atau lebih besar dari 200 MB. Dengan alokasi memori seperti yang telah disebutkan sebelumnya, perangkat lunak JazzML akan mampu bekerja secara optimal.

(9)

4.3.3 Implementasi Data

Rancangan struktur data diimplementasikan secara fisik berupa kelas-kelas dengan menggunakan bahasa pemrograman Java. Impelementasi struktur data mengacu pada hasil analisis dan perancangan.

Pemetaan nama struktur data pada proses perancangan dengan nama struktur data hasil implementasi dapat dilihat pada Tabel IV-4 Implementasi Struktur Data pada Perangkat Lunak JazzML. Sedangkan setiap field yang ada pada struktur data hasil implementasi sama dengan field yang ada pada struktur data di tahap perancangan sehingga tidak diperlukan adanya pemetaan nama field pada struktur data.

Tabel IV-4 Implementasi Struktur Data pada Perangkat Lunak JazzML

No Struktur Data Perancangan

Struktur Data Implementasi

Keterangan

1 Chord Chord.java Struktur data Chord merepresentasikan

akor pada berkas MusicXML dalam perangkat lunak JazzML

2 Note Note.java Struktur data Note merepresentasikan

sebuah nada pada berkas MusicXML dalam perangkat lunak JazzML

3 Phrase Phrase.java Struktur data Phrase merepresentasikan

sebuah frasa musik yang terdiri atas sebuah akor beserta melodi asli dan improvisasinya dalam perangkat lunak JazzML

4.3.4 Implementasi Modul

Implementasi modul merupakan pemetaan struktur modul yang telah dijelaskan pada sub-bab 4.2.5 Perancangan Modul yang diimplementasi secara fisik ke dalam bahasa lingkungan implementasi perangkat lunak yaitu bahasa Java. Dengan menggunakan bahasa pemrograman Java, setiap modul diimplementasi menjadi file yang berekstensi .java seperti yang ditunjukkan pada Tabel IV-5 Implementasi Modul pada Perangkat Lunak JazzML.

(10)

Tabel IV-5 Implementasi Modul pada Perangkat Lunak JazzML

No Nama Modul Implemntasi Keterangan

1 Representation Chord.java Kelas yang merepresentsasikan

struktur data Chord yang digunakan oleh struktur data Phrase pada perangkat lunak JazzML

Note.java Kelas yang merepresentasikan struktur

data Note yang digunakan oleh struktur data Phrase pada perangkat lunak JazzML

Phrase.java Kelas yang merepresentasikan struktur

data Phrase pada perangkat lunak JazzML

2 Improvisor KNNImprovisor.java Kelas yang mengimplementasikan

algoritma kNN untuk membentuk pola improvisasi musik jazz

3 XMLParser MusicXMLAgent.java Kelas yang digunakan untuk

melakukan pembacaan dan penulisan berkas MusicXML

4 Antarmuka JazzML.java Kelas yang berfungsi sebagai Window

Gambar

Tabel IV-1 Struktur Data Chord
Tabel IV-2 Struktur Data Note
Tabel IV-3 Struktur Data Phrase
Gambar IV-2 Antarmuka pembentukan musik improvisasi
+4

Referensi

Dokumen terkait

Analisis kebutuhan perangkat lunak algoritma IDEA dilakukan dengan menentukan nama perangkat lunak yang akan dibangun, mengetahui siapa yang akan menggunakan perangkat lunak

Pada bab ini akan dijelaskan tahapan implementasi dengan menjelaskan proses-proses instalasi perangkat lunak penunjang voip, mulai dari instalasi asterisk server

Berdasarkan hasil pengujian terhadap 18 buah skenario tersebut, disimpulkan bahwa perangkat lunak yang telah dibangun pada Tugas Akhir ini telah berjalan

Dengan memproses masukan lainnya dari pengguna berupa parameter yang akan dipakai dalam analisis teknikal, perangkat lunak akan menghasilkan keluaran berupa grafik pergerakan

Perangkat lunak yang dirancang dalam tugas akhir ini berfungsi untuk melakukan penyisipan data rahasia kedalam dokumen audio dengan format mp3 dan melakukan ekstraksi

Ada dua alat musik melodi yang digunakan oleh drumband di MI Muhammadiyah Ajibarang Kulon yaitu belera (glockkensipel) dan pianika. Mengajarkan alat musik melodi

Perangkat lunak yang dikembangkan untuk aplikasi ini terdiri dari delapan antar muka, yaitu antar muka halaman utama, lihat data aturan, Mengerjakan Soal, Lihat

Pada implementasi pembuatan basis data ini perangkat lunak yang digunakan yaitu XAMPP MySQL. Pada implementasi ini menampilkan basis data dari tabel – tabel yang