• Tidak ada hasil yang ditemukan

APLIKASI ARANSEMEN MELODI EMPAT SUARA MENGGUNAKAN TEKNOLOGI JAVA SWING

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI ARANSEMEN MELODI EMPAT SUARA MENGGUNAKAN TEKNOLOGI JAVA SWING"

Copied!
7
0
0

Teks penuh

(1)

22 | T I M

APLIKASI ARANSEMEN MELODI EMPAT SUARA MENGGUNAKAN

TEKNOLOGI JAVA SWING

Antonius Redo Ciputra University Undergraduate Student UC Town, CitraLand Surabaya 60219 +62- 31-7451699 aredo@student.ciputra.ac.id Trianggoro Wiradinata Ciputra University Information Technology Lecturer

UC Town, CitraLand Surabaya 60219 +62- 31-7451699 twiradinata@ciputra.ac.id

Caecilia Citra Lestari Ciputra University Information Technology Lecturer

UC Town, CitraLand Surabaya 60219 +62- 31-7451699 caecilia.citra@ciputra.ac.id

ABSTRAK

Melodi merupakan serangkaian nada yang dengan mengikuti sejumlah metode – metode tertentu maka melodi tersebut dapat menjadi sebuah musik yang indah. Aransemen adalah penyesuaian komposisi musik dengan nomor suara penyanyi atau instrument lain yang didasarkan pada sebuah komposisi yang telah ada sehingga esensi musiknya tidak berubah. Banyak cara yang dapat digunakan untuk melakukan aransemen melodi empat suara. Salah satu cara yang digunakan adalah dengan menggunakan akord. Dari akord tersebut kita bisa mendapatkan dapat terbentuk menjadi melodi tiga suara yaitu Soprano, Tenor dan Alto dengan bagian paling bawah dari suatu akord tersebut akan menjadi melodi dari Bass.

Aplikasi ini menggunakan Java dalam pengembangannya. Java merupakan sebuah bahasa pemrograman yang dapat berjalan pada beberapa platform atau sistem operasi komputer. Java termasuk salah satu bahasa pemrograman yang berbasis dengan object, yang sering dikenal dengan nama Object Oriented Programming atau disingkat OOP. Java juga menyediakan berbagai macam library yang merupakan kumpulan program yang disertakan dalam pemrograman Java. Library tersebut berguna untuk mempermudah pembuatan aplikasi dengan menggunakan Java.

Tujuan dari tugas akhir ini adalah untuk membuat sebuah aplikasi yang dapat digunakan untuk membentuk sebuah gabungan melodi empat suara yaitu Sopran, Alto, Tenor dan Bass. Keempat suara tersebut dibentuk dengan menggunakan sebuah not yang berfungsi sebagi melodi serta akord yang mengiring melodi tersebut dengan demikian kita dapat menentukan posisi melodi baru dari keempat suara tersebut berdasarkan akord. Melodi awal akan menjadi melodi baru dari melodi sopran. Aplikasi ini dibuat untuk membantu para penyanyi yang pada khususnya bergerak di bidang paduan suara agar memudahkan mereka dalam membuat sebuah lagu.

Kata kunci: Oriented Programming, Library, Platform, Soprano, Alto, Tenor, Bass

PENDAHULUAN

Teori Musik merupakan cabang ilmu yang mempelajari unsur- unsur musik, yang meliputi pengembangan musik, menggubah musik, serta pembawaan musik yang tentunya disertai dengan notasi musik. Musik terdiri dari beberapa bagian, seperti suara, nada, notasi, ritme, melodi, harmoni dan sebagainya. Salah satu bagian dari musik, yaitu melodi, merupakan serangkaian nada dapat menjadi sebuah musik yang indah.

Paduan suara koor merupakan sebuah istilah yang merepresentasikan ensembel tersebut. Paduan suara biasanya membawakan musik yang pada umumnya dibagi menjadi empat bagian, yaitu Soprano (penyanyi suara tinggi untuk wanita), Alto (penyanyi suara rendah untuk wanita), Tenor (penyanyi suara tinggi untuk pria) dan Bass (penyanyi suara rendah untuk pria).

Aransemen adalah penyesuaian komposisi musik dengan nomor suara penyanyi atau instrument lain yang didasarkan pada sebuah komposisi yang telah ada sehingga

esensi musiknya tidak berubah. Salah satu cara yang digunakan adalah dengan menggunakan akord. Akord merupakan kumpulan nada yang biasanya berjumlah tiga nada atau lebih yang bila dimainkan secara bersamaan terdengar harmonis.

Dalam proses pengembangannya, aplikasi ini menggunakan teknologi Java. Java merupakan sebuah bahasa pemrograman dengan beberapa keuntungan seperti multiplatform yang berarti Java dapat berjalan di beberapa platform, serta termasuk dalam bahasa pemrograman yang berbasis object, yang sering dikenal dengan nama Object Oriented Programming(OOP). Dalam kasus ini library yang digunakan adalah jMusic yang digunakan untuk membantu Java dalam mengakses file midi.

Sesuai dengan rumusan masalah di atas, maka batasan permasalahan tugas akhir ini adalah:

a. Aplikasi ini akan dibuat dengan menggunakan teknologi Java, yaitu J2SE (Java 2 Platform, Standard Edition)

(2)

23 | T I M

b. Aplikasi ini akan menerima source atau input berupa file dengan extension midi dan menghasilkan sebuah output berupa file dengan extension midi pula, dengan penjelasan sebagai berikut:

1. Input yang diminta oleh aplikasi akan menggunakan file dengan extension midi yang terdiri dari 2 part yang berfungsi sebagai melodi (single notes) beserta akord yang menunjukan jalannya melodi tersebut.

2. Output yang dihasilkan berupa file dengan extension midi yang sudah dimodifikasi menjadi empat suara beserta akord dari hasil input. c. Extension midi yang digunakan akan menggunakan

standar dari midi, yaitu midi 0.

d. Aplikasi ini menggunakan external libray jMusic untuk membantu Java membaca serta menulis ke dalam file midi.

e. File midi yang akan digunakan sebagai input akan memiliki ketentuan sebagi berikut:

1. Harus memiliki satu part melodi serta satu part akord.

2. Panjang partitur tidak lebih dari dua puluh bar bar termasuk apabila ada perulangan.

3. Part dari melodi harus merupakan single not, dengan akord minimum dua not dan maksimum empat not.

f. File midi yang dihasilkan oleh aplikasi tersebut akan memiliki ketentuan sebagai berikut:

1. Akan terdiri dari melodi lima part, yaitu empat part untuk masing - masing suara beserta satu part akord.

2. Panjang partitur tidak lebih dari tiga puluh bar termasuk apabila ada perulangan.

g. Aplikasi ini hanya sebatas untuk tahap perancangan musik empat suara dengan menitik beratkan pada not dan akord.

h. Aplikasi ini tidak mengatur ritme serta dinamika pada musik.

i. Aplikasi ini berbentuk aplikasi standalone dengan basis Java Swing.

Tujuan dari tugas akhir ini adalah untuk membuat sebuah aplikasi yang dapat digunakan untuk melakukan aransemen terhadap sebuah melodi dan chord sehingga dapat dibagi menjadi empat suara yaitu Sopran, Alto, Tenor dan Bass dalam bentuk file midi.

LANDASAN TEORI Musik - Not

Akord merupakan kumpulan dari tiga nada atau lebih yang apabila nada – nada tersebut dimainkan maka akan menghasilkan bunyi yang harmonis. Akord yang

biasanya digunakan untuk mengiringi sebuah lagu dapat dimainkan secara terputus – putus ataupun secara bersamaan. Ada berbagai macam akord, antara lain akord mayor, akord minor, akord dominan ketujuh, akord diminished, dan lain sebagainya.

Akord pada umumnya dituliskan dengan sistem piano, gitar ataupun hanya dituliskan dengan huruf saja. Tuts piano terdiri dari dua warna, yaitu warna putih untuk not biasa serta not hitam untuk not tambah setengah. Contohnya jika C ditambah setengah maka C menjadi C#(C kres), E ditambah setengah menjadi F(karena jarak E ke F ½).Selain memiliki nama, jarak antar not disebut interval ( C-D = 1 interval, E-F= ½ interval), lebih mudahnya anda dapat melihat di atas tuts adakah tuts warna hitam(C-D ada tuts hitam, namun E-F tidak ada sehingga bernilai ½ ).Jarak yang dimiliki not memiliki beberapa istilah nama, seperti second (jika jarak antar not benilai 2), third (jika jarak antara not bernilai 3), fourth (jika jarak antar not bernilai 4), fifth (jika jarak antar not bernilai 5), sixth (jika jarak antar not bernilai 6), seventh (jika jarak antar not bernilai 7), dan octave (jika jarak antar not bernilai 8). Gambar 2.1 menunjukkan contoh tuts piano disertai dengan nama tuts yang bersangkutan dan gambar 2.2 menunjukkan contoh dari interval.

Sebuah jarak selain memiliki nilai juga memiliki kualitas yang pada umumnya disebut dengan interval quality (kualitas jarak) yang biasanya dikenal dengan beberapa istilah seperti perfect, major, minor, augmented, dan diminished.

[gambar 2.1] Contoh dari tuts piano disertai dengan nama tuts yang bersangkutan.

[gambar 2.2] contoh dari interval third, fifth, sixth dan octave (angka menunjukkan jarak antara not). Musik - Akord

Akord mayor merupakan sebuah akord yang memiliki interval nadanya 2 – 1½. Akord minor, sebaliknya, merupakan sebuah akord yang interval nadanya 1½ - 2. Akord augmented adalah akord yang intervalnya 2 – 2 dan akord diminis memiliki interval 1½ - 1½. Gambar 2.3 adalah contoh akord mayor C dengan not C-G-E dan berjarak 2 - 1½

(3)

24 | T I M

Banyak cara untuk memainkan akord yang disebut dengan invers akord. Inversi akord berarti akord – akord tersebut dapat dibalik urutannya (disebut ”balikan pertama” dan ”balikan kedua”), misalnya C on E(C/E). Ini berarti kita harus memainkan akord dengan urutan E-G-C' bukan C-E-G. C on E adalah balikan pertama dari akord dasar C. Balikan keduanya adalah C on G yaitu G-C'- E'. Gambar 2.4 menunjukkan contoh dari akord C ”balikan pertama” dan gambar 2.5 menunjukkan contoh dari akord C ”balikan kedua”.

[gambar 2.4] contoh akord C ”balikan pertama”

[gambar 2.5] contoh akord C ”balikan kedua”. Musik - Four Part Harmony

Mengkomposisi sebuah dibutuhkan pengetahuan progresi akord (chord progression), yang berarti menciptakan harmoni dengan empat bagian akord yang memenuhi aturan dari counterpoint. Dalam istilah musik, counterpoint merupakan hubungan antara dua atau lebih suara yang independen dalam kontur dan irama dan saling bergantung secara harmoni.Progresi akord biasanya ditulis menggunakan 4 tekstur suara, bass line(garis bass), dengan 3 upper voices terdiri dari sopran (not paling atas), tenor (not paling bawah) , dan alto (not tengah).

Seperi yang sudah sedikit dijelaskan di atas, untuk dapat membuat sebuah melodi empat suara maka diperlukan sebuah aturan yang disebut dengan counterpoint. Untuk dapat menulis counterpoint yang baik, ada beberapa aturan yang harus diperhatikan. Aplikasi ini akan menggunakan tiga aturan dari counterpoint untuk membantu proses pemecahan suara. Ketiga aturan tersebut adalah:

1. Fifth atau octave sangatlah dianjurkan untuk tidak bersebelahan.

Apabila menggunakan octave dan fifth ada baiknya kalo penggunaanya tidak bersebelahan baik dalam contrary motion ataupun parallel motion. Gambar 2.8 menunjukkan contoh dari gerakan berlawanan pada notasi balok dangambar 2.9 menunjukkan contoh dari gerakan paralel pada notasi balok. Parallel berarti apabila sebuah not dengan jarak yang sama terulang kembali dalam posisi not yang sama, misalnya dari not do ke not sol. Contrary sebaliknya apabila posisi not tersebut berlawanan, misalnya dari not la ke not mi. Gambar 2.10 menunjukkan contoh dari fifth paralel, octave paralel serta fifth contrary yang tidak boleh digunakan.

[gambar 2.8] contoh dari contrary motion

[gambar 2.9] contoh dari parallel motion

[gambar 2.10] contoh dari parallel fifth, parallel octave, serta contrary fifth (angka menunjukkan jarak antara not) 2. Direct fifth atau direct octave juga tidak dianjurkan

untuk digunakan.

Ada juga batasan yang harus diikuti ketika fifth dan octave akan ditulis atau dengan kata lain apa yang terjadi sebelum interval. Fifth dan octave hanya bisa didekati oleh contrary motion dan obligue motion. Gambar 2.11 menunjukan contoh dari gerakan obligue. Direct artinya antara not yang satu dengan not yang lain memiliki arah gerakan yang sama. Sebagai contoh, dari not sol menuju ke not me maka gerakkannya akan membentuk sebuah garis yang menunjuk ke bawah sedangkan apabila ada sebuah gerakan dari not do menuju ke not re maka gerakannya akan membentuk sebuah garis yang menunjuk ke atas. Sebuah gerakan direct akan terjadi apabila kedua garis itu memiliki arah yang sama antara keempat not tersebut sedangkan gerakan contrary akan terjadi apabila garis tersebut memiliki arah yang berlawanan. Gambar 2.12 menunjukkan contoh dari gerakan direct dalam fifth dan octave. Obligue terjadi apabila ada gerakan dari sebuah not dan not yang lainnya tetap pada not yang sama.

[gambar 2.11] contoh dari obligue motion

[gambar 2.12] contoh dari direct fifth dan direct octave (angka menunjukkan jarak antara not).

3. B atasi peng gunaa n third dan sixth. Score (Contains any number of Parts)

|

+---- Part (Contains any number of Phrases) |

+---- Phrase (Contains any number of Notes.) |

+---- Note (Holds information about a single musical event.)

(4)

25 | T I M

Akan lebih baik untuk tidak dapat menggunakan third dan sixth lebih dari tiga kali, karena hal tersebut akan membuat lagu menjadi membosankan. Gambar 2.13 menunjukkan contoh aturan dalam membatasi penggunaan third dan sixth.

[gambar 2.13] contoh dari penggunaan aturan penggunaan third dan sixth (angka menunjukkan jarak antara not).

Selain dari aturan counterpoint tersebut, pembentukan melodi empat suara juga harus mengarah pada kemampuan menyanyi untuk setiap suara. Setiap suara memiliki range (tingkat nada) yang berbeda – beda, s soprano memiliki range dari nada C4 hingga nada A5, alto memiliki range dari G3 hingga nada D5, tenor memiliki range dari nada C3 hingga nada F4, dan Bass memiliki range dari nada E2 hingga nada D4.

Java

Pembangunan aplikasi aransemen ini menggunakan bahasa pemrograman Java, dengan platform J2SE. Aplikasi SATB-Builder! ini akan dilengkapi dengan Graphical User Interface (GUI), yaitu sebuah interface yang digunakan dan dilihat oleh pengguna untuk dapat berinteraksi dengan aplikasi yang bersangkutan. Untuk membantu proses penyimpanan data, aplikasi ini akan menggunakan struktur data ArrayList dan HashMap. Java memiliki beberapa keuntungan, seperti Java merupakan salah satu bahasa pemrograman berbasis objek, atau lebih sering dikenal dengan nama Object Oriented Programming atau disingkat OOP. Selain itu, Java dapat berjalan pada berbagai macam platform. Java dikompilasi ke dalam kode byte sehingga memungkinkan aplikasi untuk dapat berjalan secara konsisten pada platform mana pun.

jMusic

JMusic adalah sebuah library yang ditulis untuk para musisi dalam bahasa pemrograman Java. Dalam pengembangannya, jMusic ini bertujuan untuk menghasilkan sebuah library sederhana tetapi cukup canggih untuk memungkinkan komposer melakukan pekerjaan yang mereka. jMusic dirancang untuk digunakan sebagai alat komposisi, sehingga terutama dirancang untuk musisi, bukan programer. Namun, banyak orang menemukan jMusic API berguna untuk pengembangan perangkat lunak musik, khususnya untuk instrumen digital. Figur 2.1 menunjukkan struktur data dari jMusic.

Figur 2.1 Struktur Data dari jMusic. ALGORITMA

Aplikasi SATB-Builder! ini disusun dengan alur pengerjaan sebagai berikut:

1. Melakukan klik pada tombol ”Add File”. Pada waktu tombol bersangkutan ditekan maka memanggil fungsi loadPhraseList pada Midi Reader. Ketiga fungsi akan mengambil sebuah file untuk digunakan sebagai input dari aplikasi.

2. Melakukan klik pada tombol ”Convert”. Pada waktu tombol bersangkutan ditekan maka beberapa fungsi akan dijalankan segara bergantian. Fungsi yang pertama adalah fungsi buildSatb dari Satb Builder. Yang berikutnya adalah fungsi checkPhrases dari Satb Analyzer dan yang terakhir adalah fungsi savePhraseList dari Midi Writer. Fungsi – fungsi tersebut akan melakukan pemrosesan terhadap input, dimulai dari proses pemecahan suara hingga menyimpan hasilnya ke dalam file midi.

3. Melakukan klik pada tombol ”View Score”. Pada waktu tombol bersangkutan ditekan maka fungsi openApplication dari Midi Sheet Music akan dijalankan. Fungsi ini akan memanggil aplikasi ”MidiSheetMusic” yang akan digunakan sebagai aplikasi untuk menampilkan file midi.

4. Melakukan klik pada tombol ”View Notes”. Pada waktu tombol bersangkutan ditekan maka fungsi openNotes dari Notes Builder yang berfungsi untuk membuat catatan sebagai hasil dari analisa hasil pemecahan suara.

Modul Utama – Controller

Modul ini berfungsi untuk mengatur jalannya aplikasi SATB-Builder!. Modul ini dikenal dengan nama controller. Modul ini memiliki dan menggunakan seluruh kelas yang ada dalam aplikasi ini. Gambar 3.1 menunjukkan flowchart dari controller. Segmen Algoritma 3.1 merupakan algoritma yang melengkapi Controller. Algoritma Controller (file: File)

//Fungsi : Menjalankan applikasi SATB-Builder! //Input : Sebuah file yang akan diproses

//Variabel yang digunakan: fileName dengan tipe data String, newMidiFileName dengan tipe data String, notesFileName dengan tipe data String, phraseList dengan tipe data ArrayList<Phrase>, newPhraseList dengan tipe data ArrayList<Phrase>, text dengan tipe data ArrayList<String>, tempo dengan tipe data double

//Ouput: tidak mengembalikan nilai MULAI

file  file input dari user fileName  ambil nama file

newMidiFileName  result_ + fileName

phraseList  Panggil fungsi: loadPhraseList(fileName) tempo  Panggil fungsi : getScoreTempo(fileName) newPharesList  Panggil fungsi: buildSatb(phraseList) text  Panggil fungsi : checkPhrases(newPhraseList) Panggil fungsi : savePhraseList(tempo, newPhraseList, newMidiFileName)

AKHIR

Segmen Algoritma 3.1 Controller Modul Input

Modul ini digunakan untuk mengambil input berupa file dengan extension midi dan memasukkan isi dari file tersebut ke dalam daftar(List) yang dapat

(5)

26 | T I M

digunakan untuk menyimpan sejumlah data dengan jumlah tak terbatas.

Modul Output

Modul ini digunakan untuk menulis file dengan extension midi dari hasil pemecahan suara SATB. Segmen Algoritma 3.3 menunjukkan algoritma yang melengkapi modul output.

Modul Satb Builder

Modul ini digunakan untuk membentuk SATB dari melodi dan akord. Modul ini akan melakukan cek pada setiap note dalam setiap phrase untuk melihat apakah note tersebut dapat dimasukkan ke dalam tipe suara tertentu (soprano, alto, tenor dan bass).

Modul Satb Analyzer

Modul ini berfungsi untuk melakukan pengecekan harmoni terhadap hasil dari pecahan suara SATB yang sudah dibentuk dari modul sebelumnya.

Gambar 3.1 menunjukkan flowchart dari controller IMPLEMENTASI DAN PEMBAHASAN

Bab ini menjelaskan tentang proses pembuatan aplikasi secara garis besar. Aplikasi Aransemen Melodi Empat Suara ini menggunakan empat modul besar seperti yang sudah dijelaskan pada bab sebelumnya. Aplikasi ini diatur oleh sebuah class yang berfungsi untuk mengatur flow dari aplikasi. Class tersebut dikenal sebagai Controller, dimana class tersebut memiliki class – class yang lain, seperti MyMidiReader, MyMidiWriter, SatbBuilder, SatbAnalyzer, MidiSheetMusic dan Utilities. Di bawah ini merupakan model dari aplikasi yang dituliskan dalam sebuah UML.

Controller tersebut memiliki beberapa fungsi yang memiliki dua tujuan yang berbeda, yang pertama adalah sebagai fungsi yang menunjang proses pembuatan GUI dan yang kedua adalah untuk membantu proses jalannya aplikasi. EventHandler merupakan sebuah class yang berfungsi sebagai listener atau pendengar dari setiap aksi yang dilakukan oleh pengguna, seperti button yang diklik, pada saat memanggil item, dan lain sebagainya.

Class MyMidiReader berfungsi untuk membaca file Midi dan mengambil isi dari file Midi tersebut serta menyimpannya ke dalam variabel phraseList. Fungsi lainnya getPhraseList() berfungsi untuk membantu Controller untuk mengambil variabel phraseList tersebut dan menyimpannya kembali ke dalam variabel phraseList yang dimiliki oleh Controller. Fungsi getTempo() dan setTempo(double tempo) berfungsi untuk menyimpan dan mengambil tempo yang sudah dibaca dari file Midi sebelumnya.

Class SatbBuilder berfungsi untuk melakukan pengecekan terhadap setiap not yang ada dalam phraseList apakah not – not tersebut sudah terpisah menjadi empat bagian suara dan not – not tersebut sudah ada dalam range yang cocok dengan suara bersangkutan. Fungsi

getPhraseType(Phrase phrase) berfungsi untuk mengecek termasuk dalam tipe suara apa dari sebuah phrase.

(6)

27 | T I M

Untuk melakukan pengecekan pada setiap not

untuk tidak

memperbolehkan adanya parallel fifth dan parallel octave secara bersebelahan maka digunakanlah fungsi – fungsi dari class SatbAnalyzer. Fungsi makeDistancePositive(int distance) akan merubah setiap distance yang ada menjadi bernilai positif sedangkan fungsi

isParallelOctaveOrFifth akan membantu Controller untuk melakukan pengecekan terhadap aturan bersangkutan dilengkapi dengan penggunaan fungsi isPerfectFifth(Note firstNote, Note secondNote) dan fungsi isPerfectOctave(Note firstNote, Note secondNote).

Class MyMidiWriter merupakan class yang dapat digunakan untuk meyimpan hasil dari setiap phrase yang telah dibuat oleh class – class sebelumnya ke dalam sebuah file Midi. Fungsi yang digunakan adalah savePhraseList(double tempo, ArrayList<Phrase> phraseList).

Class MidiSheetMusic dibuat untuk memanggil aplikasi MidiSheetMusic yang merupakan sebuah aplikasi lain terpisah dari modul – modul dari aplikasi ini. Class Utilites merupakan class yang digunakan untuk class bantuan yang digunakan untuk melakukan pengecekan apakah not atau phrase tertentu termasuk dalam tipe suara tertentu. Fungsi lain yang bisa didapatkan dari class tersebut adalah berbagai fungsi print yang dapat digunakan untuk mencetak isi score.

Aplikasi SATB-Builder! ini menggunakan teknologi Java Swing dalam proses pengembangannya agar pengguna dapat lebih mudah dalam menggunakan aplikasi. Dengan adanya Swing, pengguna aplikasi tidak perlu lagi untuk menjalankan menggunakan program dengan menggunakan sistem teks(console).

Untuk masalah desain tampilan aplikasi, aplikasi ini memberikan suatu desain yang cukup sederhana namun dapat memuat kebutuhan pengguna. Aplikasi ini memiliki beberapa fungsi penting seperti tombol, status bar serta input bar. Tombol – tombol berfungsi untuk merepresentasikan fitur – fitur yang dimiliki oleh SATB-Builder!, status bar berfungsi untuk mengetahui sampai mana proses yang dilakukan selama ini. Yang terakhir, input bar akan menginfokan file mana yang digunakan sebagai input. Gambar 4.1 menunjukkan mock up dari aplikasi SATB-Builder! Sedangkan gambar 4.2 menunjukkan hasil tampilan akhir dari aplikasi SATB-Builder!.

KESIMPULAN DAN SARAN

Kesimpulan

Setelah dilakukan uji coba, maka simpulan yang diperoleh adalah aplikasi ini dapat digunakan sebagai draft dalam proses aransemen melodi empat suara, namun aplikasi ini masih belum berhasil secara sempurna. Kekurangan yang dimiliki oleh aplikasi ini, antara lain: 1. Terdapat kesalahan pada perhitungan durasi.

Dari analisa uji coba yang dilakukan, kesalahan tersebut berasal dari perpustakaan luar yaitu jMusic. Hal ini disimpulkan setelah dilakukan pengujian lebih lanjut namun hasil tetap tidak bisa sesuai dengan yang diharapkan, maka ada baiknya apabila perpustakaan jMusic tersebut diganti dengan perpustakaan lainnya. 2. Pembacaan not pada setiap phrase tidak akurat.

Hal tersebut terjadi diduga karena terdapat kesalahan pada saat pembacaan file midi sehingga masih ada sebagian dari not yang tidak sesuai pada tempatnya. Sehingga untuk melanjutkan ke tahap berikutnya hasilnya pun akan menjadi tidak sesuai dengan yang diharapkan. Maka dari itu perlu adanya tinjauan serta uji coba lebih lanjut terhadap algoritma modul input yang berfungsi untuk membaca file midi dengan perpustakaan jMusic.

3. Tampilan hasil dari aplikasi MidiSheetMusic tidak sesuai dengan standar penulisan notasi balok.

Aplikasi ini menggunakan aplikasi third-party yaitu MidiSheetMusic untuk menampilkan file midi yang dihasilkan oleh aplikasi SATB-Builder!. Setelah dilakukan pengujian ulang dengan menggunakan aplikasi lain yaitu, cakewalk, ternyata tampilan dari hasil adalah benar yaitu dapat menampilkan hasil baik dalam kunci musik GGFF ataupun GGGF sesuai urutan Soprano, Alto, Tenor, Bass. Jadi dapat disimpulkan bahwa kesalahan ini adalah murni kesalahan dari MidiSheetMusic.

4. Algoritma satb builder tidak dapat menghasilkan 100% keakuratan.

Keakuratan 100% tersebut tidak dapat dicapai karena masih ada beberapa kekurangan seperti, not yang keluar dari pitch suara yang bersangkutan serta not yang melenceng dari phrase yang seharusnya. Diduga kesalahan ini terjadi juga karena pembacaan

(7)

28 | T I M

file midi namun masih harus dibuktikan dengan pengujian lebih lanjut.

5. Algoritma Satb analyzer sudah bisa melakukan pengecekan terhadap hasil pemecahan suara.

Aplikasi ini juga belum bisa untuk membenarkan hasil pemecahan suara SATB sesuai dengan teori yang ada namun sudah dapat melakukan pengecekan terhadap hasil pemecahan suara tersebut.

Saran Pengembangan

Berikut adalah saran pengembangan terhadap aplikasi yang telah dibuat:

1. Perbaikan algoritma untuk menjaga kesesuaian dengan perpustakaan jMusic, atau sebagai pilihan lain mengganti perpustakaan yang digunakan dalam aplikasi bersangkutan.

2. Analisa terhadap hasil dari pemecahan suara sebaiknya lebih dipertajam dengan menggunakan lebih banyak teori seperti false relation, voice overlapping, voice crossing serta teori harmoni empat suara lainnya sehingga hasilnya dapat menjadi lebih akurat.

3. Penggunaan aplikasi third-party MidiSheetMusic sebaiknya diganti dengan aplikasi lain yang dapat lebih memenuhi kebutuhan dari pengguna khususnya pada kunci musik serta standarisasi penulisan notasi balok.

DAFTAR PUSTAKA

1 Farrell, Joyce. 2006. Java Programming,

Third Edition. Massachusetts:Thomson Course Technology.

2 Miles, Russ and Kim Hamilton. (2006).

Learning UML 2.0. USA: O'Reilly.

3 Pressman, Roger S. (2005). Software

Engineering: A Practitioner 's Approach. Sixth Edition. New York: McGraw-Hill.

4 Pilhofer, Michael & Day, Holly. 2007. Music

Theory for Dummies. Indianapolis:Wiley Publishing, Inc., Hakim Rachman & Sutarto.2009.Mastering Java.Jakarta: PT Gramedia

1 Anglia Ruskin University. 2010. Harvard System of Referencing Guide. [Online] Available at: http://libweb.anglia.ac.uk/referencing/harvard.htm?harv ard_id=63 [Accessed 30 June 2010]

2 Brooklyn Conservatory.2009.Adult Theory III. [Online]

3 Avaliable at:

http://davesmey.com/brooklynconservatory/theory3/cla ss12.php [Accessed 25 January 2010]

4 jMusic.1998.jMusic Music Composition in Java. [Online]

5 Available at: http://explodingart.com/jmusic[Accessed 25 January 2010]

6 Mickey,Koth.2009. Vocal Ranges. [Online] Available at:

http://www.library.yale.edu/cataloging/music/vocalrg.h tm [Accessed 30 June 2010]

7 Southern Methodist University.Principles of Part

Writing. [Online] Available at:

http://smu.edu/totw/partwrit.htm [Accessed 30 June 2010]

8 Connexions.2010.Consonance and Dissonance.

[Online] Available at:

http://cnx.org/content/m11953/latest/ [Accessed 30 June 2010]

9 The Free Dictionary.2003.False Relation. [Online]

Available at:

http://www.thefreedictionary.com/false+relatio [Accessed 30 June 2010]

10 The Free Dictionary.2003.Four-Part Harmony.

[Online] Available at:

http://www.thefreedictionary.com/four-part+harmony [Accessed 30 June 2010]

11 The Free Dictionary.2003.Musical Note. [Online]

Available at:

http://www.thefreedictionary.com/musical+note [Accessed 30 June 2010]

12 The Free Dictionary.2003.Chord. [Online] Available at:

13 http://www.thefreedictionary.com/chord [Accessed 30 June 2010]

14 Chapman,James.2004.Software Development Life

Cycle. [Online] Available at:

http://www.hyperthot.com/pm_sdm.htm [Accessed 30 June 2010]

Gambar

Gambar  2.4  menunjukkan  contoh  dari  akord  C  ”balikan  pertama” dan gambar 2.5 menunjukkan contoh dari akord  C ”balikan kedua”
Figur 2.1 menunjukkan struktur data dari jMusic.
Gambar 3.1 menunjukkan flowchart dari controller  IMPLEMENTASI DAN PEMBAHASAN

Referensi

Dokumen terkait

Tujuan dari tugas akhir ini adalah membuat program aplikasi untuk menghitung aliran beban pada sebuah sistem jaringan menggunakan metode Newton-Raphson

Tujuan dari pembuatan tugas akhir ini adalah untuk membuat aplikasi yang dapat digunakan sebagai media pembelajaran interaktif mengenal kosa kata bahasa asing dengan realitas

Pada tugas akhir ini penulis akan mencoba untuk membuat suatu sistem yang dapat melakukan klasifikasi dalam pengenalan perintah suara dengan menggunakan

Tujuan penulisan tugas akhir ini adalah untuk merancang aplikasi koperasi simpan pinjam pada PT Elnusa Petrofin Palembang, rancangan aplikasi ini berfungsi untuk

Tujuan dari pembuatan tugas akhir ini adalah untuk membuat aplikasi yang dapat digunakan sebagai media pembelajaran interaktif mengenal kosa kata bahasa asing dengan realitas

Pada tugas akhir ini dikembangkan aplikasi kamus bergerak yang memungkinkan pengguna telepon selular untuk mencari informasi kata dalam bahasa Arab maupun bahasa

Tujuan penulisan tugas akhir ini adalah untuk merancang aplikasi koperasi simpan pinjam pada PT Elnusa Petrofin Palembang, rancangan aplikasi ini berfungsi untuk

Tujuan dari pembuatan tugas akhir ini adalah untuk membuat aplikasi realitas virtual untuk ibadah haji pada perangkat bergerak dengan menggunakan teknologi Google