BAB IV PERANCANGAN DAN IMPLEMENTASI

dokumen-dokumen yang mirip
Pembelajaran Mesin untuk Mempelajari Pola Improvisasi Musik Jazz

BAB III ANALISIS Teknik Improvisasi Melodi dengan Memodifikasi Melodi Asli

BAB V IMPLEMENTASI SISTEM

BAB III ANALISA MASALAH DAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB V IMPLEMENTASI SISTEM. Sistem setelah dianalisa dan dirancang, maka system tersebut siap

BAB 3 METODOLOGI PENELITIAN. Desain penelitian untuk Sistem Optimalisasi Produksi ini menggunakan

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB V PENGUJIAN. 5.1 Tujuan Pengujian. 5.2 Kriteria Pengujian

BAB V IMPLEMENTASI SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Processor Intel Pentium IV 2.41GHz RAM 512 MB DDR. Hard disk 40 GB. Monitor 15 Samsung SyncMaster 551v

BAB V IMPLEMENTASI SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. memadai. Berikut ini akan dijelaskan spesifikasi perangkat lunak dan keras yang Spesifikasi Perangkat Keras

BAB V IMPLEMENTASI SISTEM

BAB III METODOLOGI PENELITIAN. Desain penelitian adalah tahapan atau gambaran yang akan dilakukan

BAB V IMPLEMENTASI SISTEM

BAB 3 METODE PENELITIAN. dalam melakukan penelitian untuk memudahkan penyusun dalam

1.1 Latar Belakang Masalah

BAB III METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN

BAB 3. METODE PENELITIAN. Desain penelitian adalah tahapan atau gambaran yang akan dilakukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV Perancangan dan Implementasi

Sistem Tonjur untuk Membantu Menentukan Pasangan Main Angklung ke Pemain dengan Memanfaatkan MusicXML

BAB V IMPLEMENTASI SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. Processor : Intel Pentium IV 1.60 GHz RAM : 256 MB

BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah

BAB V IMPLEMENTASI SISTEM

Sistem Tonjur untuk Menentukan Pasangan Main Angklung ke Pemain dengan Memanfaatkan MusicXML

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV ANALISIS DAN PERANCANGAN SISTEM

UKDW BAB 1 PENDAHULUAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 4 IMPLEMENTASI DAN EVALUASI Implementasi Program Simulasi. mengevaluasi program simulasi adalah sebagai berikut :

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB V IMPLEMENTASI SISTEM

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI. Setelah melakukan analisis dan perancangan terhadap Aplikasii

BAB 1 PENDAHULUAN Pengantar

BAB III METODOLOGI PENELITIAN

Pendeteksian Plagiarisme Musik dengan Algoritma Boyer- Moore

BAB IV HASIL DAN PEMBAHASAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. teknologi informasi khususnya di bidang komputer memungkinkan seseorang untuk

BAB 2 LANDASAN TEORI. Istilah komputer ( computer ) berasal dari bahasa latin computere yang berarti

BAB 4 IMPLEMENTASI DAN EVALUASI. Perangkat keras yang digunakan untuk merancang sistem ini adalah: Processor : Intel Pentium IV 2,13 GHz

BAB V IMPLEMENTASI PERANGKAT LUNAK. Aplikasi setelah dianalisa dan dirancang, maka aplikasi tersebut siap

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB V IMPLEMENTASI SISTEM

BAB III METODOLOGI PENELITIAN. 1. Spesifikasi laptop yang digunakan dalam penelitian ini adalah sebagai. Processor AMD Turion 64 X2 Dual Core 1,66 Ghz

BAB III METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI. membangun aplikasi transposisi akord lagu berbasis android. parameter dalam

BAB III METODOLOGI PENELITIAN

UKDW BAB 1 PENDAHULUAN

BAB 1 PENDAHULUAN 1.1 Pengantar Pendahuluan 1.2 Latar Belakang Masalah

1.5 Spesifikasi Sistem Dalam menyelesaikan tugas akhir ini, penulis menggunakan spesifikasi hardware, software,dan Brainware sebagai berikut: 1.

BAB V IMPLEMENTASI SISTEM. Sistem setelah dianalisa dan dirancang, maka sistem tersebut siap

BAB III METODOLOGI PENELITIAN. 3.1 Desain Penelitian Berikut merupakan desain penelitian yang akan digunakan pada proses

BAB IV PERANCANGAN DAN IMPLEMENTASI SISTEM

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

BAB IV HASIL DAN UJI COBA

BAB 4 IMPLEMENTASI DAN EVALUASI RAM 953 MB DDR. Hard disk 160 GB. Mouse Logitech. Professional Service Pack 3. Development Kit 6 Update 2

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III METODOLOGI PENELITIAN

BAB V IMPLEMENTASI SISTEM

BAB 1 PENDAHULUAN 1.1 Pengantar 1.2 Latar Belakang Masalah

BAB V PENGEMBANGAN PERANGKAT LUNAK BANTU

BAB 4 IMPLEMENTASI DAN HASIL PENELITIAN. Pada bab 4 ini akan dijelaskan hasil rancangan sistem aplikasi optimizer, yaitu

BAB 4 IMPLEMENTASI DAN HASIL PERANCANGAN

BAB V IMPLEMENTASI SISTEM

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS SISTEM

BAB III METODOLOGI PENELITIAN

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB V IMPLEMENTASI SISTEM

BAB I PENDAHULUAN. dengan perusahaan-perusahaan lainnya. Untuk itu diperlukan adanya metode

UKDW BAB 1 PENDAHULUAN

BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam perancangan program aplikasi ini, penulis menggunakan komputer dan

BAB III METODOLOGI PENELITIAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

HASIL DAN PEMBAHASAN Analisis SIRANJAJA Perancangan Modul Pembangunan Content Streaming

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN

Transkripsi:

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 IV-1

IV-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.

IV-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-11 th, 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

IV-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 atributatribut 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.

IV-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. Gambar IV-1 Antarmuka pembelajaran JazzML

IV-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.

IV-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.

IV-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.

IV-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 Struktur Data Keterangan Perancangan Implementasi 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.

IV-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 utama dari perangkat lunak JazzML