PENDAHULUAN PERANCANGAN KONVERSI 37 PROGRAM KONVERSI NOT BALOK

Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 1 PROGRAM KONVERSI NOT BALOK DENGAN STRUKTUR MusicXML KE NOT ANGKA Lukas Chrisantyo A.A., S.Kom. 1 , Katon Wijana, S.Kom., M.T. 2 , Restyandito, S.Kom., MSIS. 3 1 Mahasiswa Teknik Informatika Universitas Kristen Duta Wacana, Yogyakarta. 1 Dosen Sistem Informasi Universitas Kristen Duta Wacana, Yogyakarta. 1 Dosen Teknik Informatika Unversitas Kristen Duta Wacana, Yogyakarta. ABSTRAK Notasi musik adalah sarana untuk menyimpan hasil karya musik seseorang. Standar penulisan notasi yang berlaku secara internasional adalah notasi balok. Bagi sebagian pemusik terutama penyanyi di Indonesia, membaca not balok adalah hal yang susah bila dibandingkan dengan membaca not angka. Hal ini menyebabkan harus ada konversi yang bila dilakukan secara manual adalah pekerjaan yang kurang efektif dan efisien. Melihat kondisi tersebut, penulis merancang suatu program bantu untuk mengkonversi not balok ke not angka dengan batasan utama untuk satu jenis suara saja monofon. Sebagai format berkas not balok, penulis menggunakan format file MusicXML dari Recordare. Sebagai pembanding, penulis juga menyertakan format berkas sumber dari file MIDI maupun menuliskan not balok secara manual di editor yang kemudian semuanya akan dikonversi ke not angka. Proses konversi menggunakan konsep dasar interval nada dan dibantu dengan penggunaan array statis untuk menyimpan informasi not angka serta untuk mempermudah penggeseran nada dasar. Pada konversi MusicXML disediakan juga kemampuan untuk menyesuaikan nada dasar apabila pada lagu didapati nada yang berada di luar jangkauan vokal manusia. Hasil konversi ditampilkan dengan bantuan font Nada-Arial yang dirancang sendiri untuk memenuhi kebutuhan tampilan not angka. Hasil konversi disimpan dalam format dokumen Microsoft Word agar pengerjaan selanjutnya bisa lebih fleksibel. Bila dilakukan pengujian secara intuitif, konversi MusicXML menghasilkan keluaran not angka yang akurat. Kata kunci: software engineering, conversion of musical notation, MusicXML

1. PENDAHULUAN

1 Mahasiswa Teknik Informatika Universitas Kristen Duta Wacana, Yogyakarta. 2 Dosen Sistem Informasi Universitas Kristen Duta Wacana, Yogyakarta. 3 Dosen Teknik Informatika Unversitas Kristen Duta Wacana, Yogyakarta. Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 2 Dalam dunia seni musik, notasi merupakan salah satu komponen yang penting. Notasi musik adalah sarana untuk menyimpan hasil karya musik seseorang. Lagu-lagu klasik yang rumit tidak akan pernah bisa dimainkan lagi pada zaman sekarang apabila tidak dituliskan dalam bentuk notasi musik. Walaupun saat ini media rekam sudah berkembang pesat, notasi musik yang baik tetap digunakan untuk mendukung proses edukasi musik dan cara memainkan musik itu sendiri. Permasalahan yang muncul adalah susahnya belajar not balok yang sudah ratusan tahun menjadi standar notasi musik di seluruh dunia. Perlu ketelatenan dan kesungguhan dalam mempelajari not balok. Untuk itu diciptakanlah not angka yang lebih mudah dipelajari bagi kaum awam musik. Dari sinilah tercipta perbedaan antara pemusik yang menggunakan not balok dan not angka. Pemusik yang sudah terbiasa memakai not balok, seringkali kesulitan memakai not angka. Hal yang sama juga terjadi sebaliknya. Penyanyi paduan suara sulit sekali diajak membaca not balok walaupun kemampuannya membaca not angka tidak diragukan lagi. Oleh karena permasalahan di atas, dibutuhkan penerjemah yang mampu mengkonversi dua jenis notasi ini. Secara umum, perumusan masalah mencakup konversi not balok dengan bantuan komputer dari file berstruktur MusicXML ke not angka, dengan pembanding masukan not balok dari file MIDI dan menulis secara manual di Editor Not Balok.

2. PERANCANGAN KONVERSI

Sesuai fungsionalitasnya, program ini memiliki masukan atau input sebanyak tiga macam, yaitu file MusicXML, file MIDI format 0 atau 1, dan masukan mouse untuk meletakkan gambar- gambar not balok dan simbol-simbol yang diperlukan. Piranti input keyboard digunakan untuk memasukkan judul lagu pada editor not balok. File MusicXML dapat dibuat oleh berbagai macam program penyunting not balok yang umum dipakai di seluruh dunia, seperti Finale®, Encore®, Sibelius®, dan lain sebagainya. Cara pembuatannya sangat mudah, user tinggal menyimpan not balok yang sudah disusun dengan cara mengekspor ke MusicXML. File MIDI format 0 atau 1 juga dapat dibuat oleh berbagai macam program penyunting not balok atau alat musik keyboard, gitar, organ, clavinova, dan lain sebagainya asalkan mempunyai fasilitas MIDI. Karena karakteristik file MIDI yang menyimpan notasi secara timewise, maka dapat diprediksi hasil konversi kemungkinan kurang sempurna jika dibandingkan hasil konversi file MusicXML. File MusicXML yang akan dikonversi dibuka terlebih dahulu menggunakan komponen XMLDocument milik Delphi dengan perintah XMLDocument1.LoadFromFileOpenDialog1 .FileName. Setelah file berhasil dibuka, datanya secara otomatis dimuat ke memori dengan struktur hirarkistree sesuai dengan ciri file XML. Untuk mencari value dari node yang diinginkan, kita bisa menggunakan metode: Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 3 Setelah file MusicXML dibuka, digunakan langkah-langkah pemrosesan dengan acuan sebagai berikut: - Judul lagu terdapat pada: XMLDocument1.DocumentElement.ChildValues[movement-title] - Nama pengarang terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[identification] .ChildValues[creator] - Nama pengarang terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[identification] .ChildValues[creator] - Nada dasar terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[part] .ChildNodes.Nodes[measure].ChildNodes.Nodes[attributes] .ChildNodes.Nodes[key].ChildValues[fifths] - Jenis birama terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[part] .ChildNodes.Nodes[measure].ChildNodes.Nodes[attributes] .ChildNodes.Nodes[time].ChildValues[beats] dan XMLDocument1.DocumentElement.ChildNodes.Nodes[part] .ChildNodes.Nodes[measure].ChildNodes.Nodes[attributes] .ChildNodes.Nodes[time].ChildValues[beat-type] - Tempo relatif terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[part] Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 4 .ChildNodes.Nodes[measure].ChildNodes.Nodes[direction] .ChildNodes.Nodes[direction-type].ChildValues[words] - Tempo mutlak Metronome Maelzel terdapat pada: XMLDocument1.DocumentElement.ChildNodes.Nodes[part] .ChildNodes.Nodes[measure].ChildNodes.Nodes[direction] .ChildNodes.Nodes[direction-type].Attributes[tempo] - Informasi notasi terdapat pada node partmeasurenote. Untuk mengkonversi notasi balok digunakan ketentuan jika nada dasar tidak menggunakan tanda kromatis 0 kruis dan 0 mol atau nilai fifths = 0 yang lazim disebut Do=C maka not angka yang sepadan adalah: Tabel 1: Padanan not balok dengan not angka pada nada dasar Do=C Untuk membantu proses konversi, digunakan struktur data berupa array, antara lain: 1. ArrayNDsr ArrayNDsr berisi elemen-elemen not balok nada dasar. Tabel 2: Elemen-elemen ArrayNDsr 2. ArrayNA Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 5 ArrayNA berisi elemen-elemen not angka dari not terendah hingga not tertinggi. Elemen ini berupa kode font NADA-ARIAL untuk menampilkan bentuk not angka yang diinginkan. Tabel 3: Elemen-elemen ArrayNA 3. ArrayNB ArrayNB berisi elemen-elemen not balok dari not terendah hingga tertinggi. ArrayNB berfungsi membantu pencarian not yang berada di luar batas vokal manusia, yaitu G3 hingga F5. Tabel 4: Elemen-elemen ArrayNB Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 6 Setelah mengambil informasi-informasi awal, program akan memproses informasi- informasi notatif. Pertama akan dilakukan pengecekan not-not yang terlalu rendah atau tinggi dari birama awal hingga akhir. Not yang terlalu rendah diprioritaskan karena berdasarkan teori vokal bahwa batas bawah suara manusia bersifat permanen dan tidak bisa direndahkan lagi. Hal ini berbeda dengan batas atas suara manusia yang bisa dilatih agar bisa menyanyikan nada yang lebih tinggi dari biasanya. Bila ditemukan not yang di luar batas, maka user akan diberi pilihan untuk mengubah nada dasar atau tidak. Setelah pengecekan batas not selesai, program mulai mengkonversi not dari birama awal hingga akhir dengan urutan: 1. Cek ulang nada dasar, hal ini sebagai antisipasi bila ada perubahan nada dasar di tengah-tengah lagu lazim disebut modulasi. 2. Konversi tanda diam rest. 3. Konversi pitch tanpa mempedulikan nada dasar lebih dahulu misal C dikonversi jadi 1do, D jadi 2re, dan seterusnya sesuai oktaf. Kemudian disesuaikan dengan nada dasar yang telah didapat dari langkah 1. Penyesuaian ini dilakukan dengan cara menggeser pointer ArrayNA sebanyak selisih jarak dari nada dasar C sampai nada dasar yang dimaksud, atau bisa dilihat pada tabel berikut: Tabel 5: Tabel interval antar nada dasar Nada Dasar Kromatis Step Nada Dasar Kromatis Step C 0 kruis 0 FGb 6 kruis6 mol -6 CDb 7 kruis5 mol -1 G 1 kruis -7 D 2 kruis -2 GAb 4 mol 4 DEb 3 mol -3 A 3 kruis 3 E 4 kruis -4 ABb 2 mol 2 F 1 mol -5 BCb 5 kruis7 mol 1 4. Konversi tanda triol. 5. Konversi tanda slurtielegato. 6. Konversi harga not. 7. Tutup dengan garis birama penutup. Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 7 Setelah semua informasi selesai diproses, hasilnya ditampilkan di komponen RichEdit1 dan RichEdit2. Jika user menekan tombol SimpanWord maka program akan melakukan penyimpanan ke dalam file berformat dokumen Word .doc dengan nama sesuai keinginan user. Penyimpanan dalam dokumen Word menggunakan komponen WordApplication dan WordDocument yang mensyaratkan pencantuman ComObj, OleServer, WordXP dalam klausa uses. Berikut ini adalah flowchart dari proses konversi not balok dari file dengan struktur MusicXML: Gambar 2: Flowchart Konversi Not Balok dari file MusicXML Proses konversi dari file MIDI hampir serupa dengan proses file MusicXML di atas. Perbedaanya hanya pada pembacaan format dan tidak disertakan kemampuan pengecekan not di luar jangkauan vokal manusia. File MIDI menyimpan informasi harga nada dengan range nilai tertentu sesuai temponya timewise. Sedangkan pada editor not balok, gambar-gambar not diletakkan di area tertentu yaitu pada garis-garis paranada dengan dua garis bantu di atas dan di bawah baru kemudian dikonversi langsung dalam bentuk not angka. Proses konversi sama dengan proses yang telah dijelaskan di atas. Seminar Nasional Teknologi 2007 SNT 2007 ISSN : 1978 – 9777 Yogyakarta, 24 November 2007 D ‐ 8 Untuk menampilkan not balok di dalam editor, diperlukan tools berupa gambar-gambar not beserta simbol-simbolnya. Gambar not dan simbol musik diciptakan melalui image editor dalam format bitmap, dengan pixel sebagai satuannya. Pixel adalah akronim dari picture element, yaitu merupakan satuan terkecil dari grafik. Image editor yang dipakai adalah Borland Image Editor, program bawaan dari paket Borland Delphi 7. Untuk menampilkan not angka dengan bagus perlu dibuat sebuah font yang mendukung penulisan not angka. Penulis menggunakan program bantu Font Creator 5.5 untuk memodifikasi font Arial menjadi font NADA-ARIAL. Program bantu yang bisa di-download di alamat http:www.high-logic.com ini bersifat shareware dengan masa evaluasi 30 hari. Aturan-aturan yang dipakai dalam penulisan not angka menggunakan font NADA-ARIAL adalah sebagai berikut: Tabel 6: Aturan penulisan not angka menggunakan font NADA-ARIAL

3. ANALISIS