BAB II Dasar Teori Bab ini memuat dasar teori yang digunakan dalam penulisan Tugas Akhir, yaitu Algoritma Genetika; Musik dan Aransemen Musik; dan MusicXML. 2.1 Algoritma Genetika 2.1.1 Gambaran Umum Dalam kehidupan manusia, setiap masalah yang ada dapat memiliki kemungkinan solusi yang beragam. Berbagai metode digunakan untuk mendapatkan solusi terbaik di antara seluruh kemungkinan solusi. Salah satu algoritma yang dikembangkan untuk optimasi pencarian solusi adalah algoritma genetika (genetic algorithm) yang didasari oleh teori biologi evolusioner, yaitu konsep seleksi natural dan teori genetika dalam seleksi natural. Algoritma ini dikembangkan oleh John Holland (1975) dari Universitas Michigan dan kemudian dipopulerkan oleh muridnya, David Goldberg. Prinsip seleksi natural yang digunakan dalam algoritma genetika dicetuskan oleh Charles Darwin dalam bukunya yang berjudul “The Origin of Species” di tahun 1859. Setiap sifat yang ada dalam individu dalam satu populasi diturunkan dengan hasil yang bervariasi ke keturunannya. Dengan adanya proses adaptasi dan evolusi, hanya individu-individu dengan variasi baik saja yang dapat bertahan hidup. Gambar II.1 Proses Seleksi Natural [WIK07] II-1 Secara garis besar algoritma genetika memodelkan proses seleksi natural untuk melakukan optimasi maksimum nilai evaluasi terhadap suatu kelompok kemungkinan solusi. Algoritma ini memproduksi kemungkinan solusi baru secara probabilistik melalui operasi genetika terhadap kelompok kemungkinan solusi saat ini [MIT97]. Untuk permasalahan yang sama, algoritma genetika dapat menghasilkan solusi optimal yang berbeda sehingga algoritma ini bersifat non-deterministik [GOL89]. 2.1.2 Kelebihan dan Kelemahan Dengan memodelkan konsep genetika dan seleksi natural dalam proses pencarian solusi optimal, algoritma genetika telah dianggap kuat untuk melakukan optimasi proses pencarian solusi berbagai permasalahan. Berikut ini adalah kelebihankelebihan algoritma genetika dibanding algoritma optimasi tradisional [MIT97], [HAU98]. 1. Dapat diaplikasikan untuk menyelesaikan masalah kompleks dengan banyak parameter 2. Memiliki beberapa fungsi yang dapat dioptimasikan lebih lanjut, selain nilai evaluasi, seperti penentuan populasi awal dan penentuan kemungkinan solusi yang akan dilakukan operasi genetika 3. Memiliki fleksibilitas yang tinggi dalam menghadapi setiap karakteristik masalah melalui representasi kemungkinan solusi, fungsi evaluasi dan operasi genetika 4. Dapat dipadukan dengan algoritma lain, contohnya menggunakan algoritma jaringan saraf tiruan sebagai implementasi dari fungsi evaluasi 5. Lebih optimal jika diimplementasikan untuk sistem komputer paralel, sehingga dapat mempercepat jalannya proses pencarian solusi Berikut ini adalah kelemahan-kelemahan algoritma genetika dibanding algoritma optimasi tradisional. 1. Operasi genetika hanya menghasilkan kemungkinan solusi yang lebih baik secara probabilistik. Tidak ada jaminan bahwa proses pencarian solusi akan selalu bersifat konvergen ke solusi optimal. II-2 2. Untuk permasalahan dengan ruang solusi yang kecil atau tidak terlalu kompleks, algoritma optimasi tradisional, misalnya algoritma dengan dasar optimasi kalkulus, dapat bekerja lebih cepat dari algoritma genetika dengan dasar optimasi probabilistik. 2.1.3 Komponen 2.1.3.1 Fungsi Fitness Fungsi fitness atau fungsi evaluasi didefinisikan sebagai ukuran kualitas yang dimiliki oleh setiap kemungkinan solusi berdasarkan proses evaluasi. Yang akan dianggap sebagai solusi terbaik adalah kemungkinan solusi dengan fungsi fitness tertinggi. Fungsi fitness menerima kemungkinan solusi sebagai masukan, kemudian mengevaluasi nilai-nilai parameternya dan membandingkannya dengan nilai yang diharapkan dari solusi terbaik. Keluaran dari fungsi fitness berupa nilai perbandingan kedekatan kemungkinan solusi masukan terhadap solusi yang diharapkan. Dalam algoritma genetika, fungsi fitness adalah fungsi yang akan dioptimasi maksimum sehingga proses pencarian solusi dapat menghasilkan solusi terbaik. Untuk mengurangi waktu pencarian solusi terbaik, diberikan suatu batas nilai (threshold) fungsi fitness. Kemungkinan solusi dengan nilai fungsi fitness di atas batas dianggap sebagai solusi optimal dari proses pencarian solusi. 2.1.3.2 Kromosom Dalam algoritma genetika, cara merepresentasikan kemungkinan solusi untuk setiap permasalahan berbeda, tergantung dari karakteristik permasalahan dan proses pencarian solusi yang dilakukan. Setiap kemungkinan solusi yang terdiri dari parameter direpresentasikan dalam bentuk kromosom yang terdiri dari gen. Jika terdapat N buah parameter (p1, p2, p3,…., pN) untuk satu kemungkinan solusi dalam sebuah permasalahan, maka gen ke-N adalah representasi gen untuk parameter pN. Pada umumnya gen direpresentasikan dalam bentuk rangkaian bit atau bit string (0 atau 1) dengan batasan panjang tertentu [HAU98]. Representasi kromosom adalah gabungan dari keseluruhan bit string gen, yaitu sebagai berikut. Kromosom = [p1, p2, p3, …… , pN] II-3 2.1.3.3 Operator Genetika Algoritma genetika memodelkan konsep genetika pada bidang biologi. Selain seleksi natural, konsep yang dimodelkan adalah operasi genetika, yaitu persilangan dan mutasi, terhadap kromosom yang diturunkan ke generasi selanjutnya. Operasi genetika dirumuskan menggunakan operator genetika. Berikut ini adalah penjelasan mengenai kedua operator genetika tersebut [MIT97]: 1. Operator persilangan (crossover operator), menyilangkan dua kromosom lama dan menghasilkan dua kromosom baru. Bit pada kromosom baru merupakan hasil pertukaran bit pada kromosom lama. Terdapat tiga jenis persilangan, yaitu: 1.1 Single-Point Crossover Yaitu jika kromosom baru dibentuk dari n bit pertama salah satu kromosom lama dan n bit sisa dari kromosom lama pasangannya. Gambar II.2 adalah contoh operasi single-point crossover. Gambar II.2 Single-Point Crossover [MIT97] 1.2 Two-Point Crossover Yaitu jika kromosom baru dibentuk dengan mensubtitusi sebagian bit tengah salah satu kromosom lama dengan bit dari kromosom lama yang lain. Gambar II.3 adalah contoh operasi two-point crossover. Gambar II.3 Two-Point Crossover [MIT97] 1.3 Uniform Crossover Yaitu jika kromosom baru dibentuk dari bit-bit kromosom lama dengan aturan posisi acak. Gambar II.4 adalah contoh operasi uniform crossover. Gambar II.4 Uniform Crossover [MIT97] II-4 2. Operator mutasi (mutation operator), menghasilkan sebuah kromosom baru dengan mengubah nilai bit di posisi ke-i dari bit string kromosom lama. Gambar II.5 adalah contoh operasi mutasi. Gambar II.5 Mutasi [MIT97] 2.1.3.4 Populasi Dalam satu waktu atau generasi, proses evaluasi dilakukan terhadap suatu kelompok kromosom terpilih dengan jumlah yang telah ditentukan sebelumnya, yang disebut dengan populasi. Untuk menghasilkan populasi baru, operasi genetika tidak dilakukan terhadap seluruh kromosom dalam satu populasi. Presentase jumlah kromosom yang akan dilakukan operasi mutasi disebut mutation rate, sedangkan presentase jumlah kromosom yang akan dilakukan operasi persilangan disebut crossover rate [MIT97]. Operasi genetika tidak dilakukan dalam pembentukan populasi awal. Pembentukan populasi genetika dilakukan dengan berbagai cara. Salah satu cara yang paling mudah adalah dengan menggunakan sistem pemilihan acak (random). Selain sistem acak, populasi awal dapat ditentukan dengan cara-cara khusus sesuai dengan karakteristik permasalahan dan representasi kromosom. Diharapkan populasi awal telah mencakup kromosom-kromosom baik, sehingga proses pencarian solusi telah mengarah ke solusi optimal sejak populasi generasi pertama. 2.1.4 Kerangka Dasar Secara garis besar, algoritma genetika dapat dirumuskan dalam Algoritma II.1. Algoritma II.1 Kerangka Dasar Algoritma Genetika function inisialisasi_populasi() -> array of kromosom {merupakan fungsi yang menghasilkan populasi generasi pertama dengan cara-cara tertentu} function evaluasi_populasi(input Populasi : array of kromosom) -> integer {merupakan fungsi yang mengevaluasi kromosom-kromosom dalam populasi dan menghasilkan nilai evaluasi tertinggi} {fungsi ini menerima masukan berupa Populasi yang akan dievaluasi, II-5 yaitu sebuah array dari kemungkinan solusi atau kromosom} {dilanjutkan di halaman selanjutnya} {lanjutan dari halaman sebelumnya} function populasi_selanjutnya(input Populasi : array of kromosom) -> array of kromosom {merupakan fungsi yang membangun populasi baru dengan melakukan operasi genetika terhadap populasi generasi selanjutnya} {fungsi ini menerima masukan berupa Populasi, yaitu populasi saat ini, dan menghasilkan keluaran berupa Populasi generasi selanjutnya} function algoritma_genetika() -> kromosom {merupakan fungsi utama dalam algoritma genetika} {fungsi ini menghasilkan solusi optimal, yaitu kromosom atau kemungkinan solusi dengan nilai evaluasi di atas batas nilai} {kamus data} t : integer Pt : array of kromosom max_fitness : integer threshold : integer {nomor generasi saat ini} {populasi yang diproses} {nilai evaluasi tertinggi di populasi} {batas nilai solusi optimal} {algoritma} t ← 1 Pt ← inisialisasi_populasi() max_fitness ← evaluasi_populasi() {pencarian solusi optimal} while (max_fitness < threshold) do t ← t + 1 Pt ← populasi_selanjutnya() max_fitness ← evaluasi_populasi() endwhile → h {mengembalikan kromosom dengan nilai fungsi fitness tertinggi} endfunction 2.2 Musik dan Aransemen Musik 2.2.1 Gambaran Umum Secara umum musik adalah seni, hiburan dan aktivitas manusia yang melibatkan suara-suara yang teratur. Secara khusus, musik diartikan sebagai ilmu dan seni dari suara, yaitu berupa bentuk dan sinkronisasi dari getaran membentuk nada-nada yang harmoni sehingga enak didengar [KLE07]. Musik yang telah dirangkai dan mengandung sebuah makna atau pesan disebut dengan lagu. Dalam seni musik barat sebuah lagu memiliki dua aspek, yaitu horizontal dan vertikal, yang lebih tergambar dalam partitur. Aspek horizontal adalah bagaimana II-6 memadukan nada-nada yang selaras seiring dengan berjalannya waktu, meliputi melodi, contrapunt dan lainnya. Aspek vertikal adalah bagaimana memadukan nadanada yang selaras dalam satu waktu, meliputi harmonisasi, instrumentasi dan lainnya. Seluruh lagu yang ada dapat berupa lagu asli yang ditulis langsung oleh penciptanya, atau adaptasi dari lagu yang ditulis kembali dengan beberapa perbedaan. Kegiatan mencipta sebuah lagu baru secara keseluruhan disebut komposisi, sedangkan kegiatan mencipta adaptasi dari lagu yang sudah ada disebut aransemen. Hasil dari aransemen masih mempertahankan karakteristik dari lagu asli walaupun terjadi perubahan-perubahan di beberapa bagian. Perubahan dalam aransemen dapat dilakukan dengan beberapa cara, yaitu [KAW75]: 1. Menambah bagian baru ke sebuah lagu, misalnya bagian intro atau ending. 2. Mengubah bagian tertentu di sebuah lagu, misalnya mengubah ekspresi dari nadanada tertentu dalam lagu. 3. Mengubah irama atau aliran lagu, misalnya mengubah lagu aliran klasik menjadi aliran pop. 4. Menambah nada-nada yang harmoni dengan menambah nada sesuai akornya. Gambar II.6 merupakan contoh aransemen untuk piano. Baris partitur atas merupakan melodi dasar dari lagu, sedangkan baris partitur bawah merupakan hasil aransemennya. Gambar II.6 Contoh Aransemen 2.2.2 Teori yang Mendasari Aransemen 2.2.2.1 Musik dan Notasinya Musik merupakan seni yang berkaitan erat dengan keindahan suara, berupa nada-nada yang terstruktur sehingga memiliki makna tersendiri. Terdapat konvensi standar II-7 notasi musik untuk menuliskan sebuah karya musik yang dibuat agar karya musik dapat dimainkan oleh seluruh pemusik, tidak hanya oleh penciptanya saja. Musik dituliskan dalam bentuk partitur musik. Berikut ini adalah komponenkomponen dasar dalam musik dan notasinya pada partitur: 1. Ritme Ritme atau ketukan adalah satuan durasi waktu dalam musik. Dalam durasi waktu, dapat dimainkan nada-nada yang direpresentasikan dengan tanda not, atau diam yang direpresentasikan dengan tanda istirahat (rest). Tanda not maupun istirahat dituliskan dalam garis paranada, menunjukkan apa dan bagaimana nada-nada harus dimainkan berdasarkan standar penulisan. Tabel II-1 adalah tabel gambar not dan tanda istirahat. Tabel II-1 Tanda Not, Tanda Isirahat dan Nilainya [KHE91] Nilai Tanda Not Tanda Istirahat Penuh Setengah Seperempat Seperdelapan Seperenambelas Gambar II.7 adalah contoh penulisan tanda not dan istirahat dalam garis paranada. Gambar II.7 Contoh Penulisan Tanda Not dan Istirahat dalam Paranada 2. Perpanjangan Nilai Not atau Tanda Istirahat Not atau tanda istirahat dapat diperpanjang nilainya dengan menggunakan notasi dot atau tie. Dot merupakan sebuah titik yang dituliskan setelah not atau tanda istirahat. Dengan adanya dot, maka nilai ketukan not atau tanda istirahat ditambahkan dengan setengah nilai ketukan asli [JON74]. Tie merupakan sebuah kurva yang menghubungkan dua not atau lebih yang berurutan dan II-8 menggambarkan nada yang sama. Tie menjumlahkan seluruh nilai ketukan not yang dihubungkan, sehingga not hanya dimainkan satu kali dengan total nilai ketukan tersebut [JON74]. Di sebelah kiri adalah contoh dari not bernilai setengah dengan dot. Di sebelah kanan adalah contoh dari not bernilai setengah dihubungkan dengan not bernilai seperempat. Saat dimainkan, kedua not tersebut hanya dimainkan satu kali dengan nilai tiga per empat. Gambar II.8 Contoh Penggunaan Dot dan Tie 3. Penulisan Nada Dalam musik terdapat sejumlah nada yang melambangkan tingkat frekuensi tertentu. Oleh karena itu, penulisan nada dilakukan dalam sejumlah garis-garis horizontal yang merepresentasikan tingkatan nada. Biasanya terdapat sejumlah lima garis yang digunakan dalam satu baris partitur yang disebut garis paranada. Untuk nada yang lebih tinggi atau lebih rendah dari nada yang terjangkau garis paranada dapat diberikan garis tambahan yang disebut ledger line. Gambar II.9 Contoh Garis Paranada Kunci atau clef merupakan tanda yang menunjukkan nilai nada dalam garis paranada. Terdapat beberapa kunci yang sering digunakan, yaitu kunci G –disebut juga treble clef–, kunci F –disebut juga bass clef- dan kunci C. Untuk garis paranada dengan kunci G, garis kedua dari bawah menunjukkan nada G. Untuk garis paranada dengan kunci F, garis kedua dari atas menunjukkan nada F. Gambar II.10 menunjukkan posisi dari kunci G dan kunci F. II-9 Gambar II.10 (a) Kunci G (b) Kunci F 4. Penulisan Ketukan Ketukan-ketukan dalam sebuah lagu dipisahkan menjadi bagian-bagian yang sama, yang disebut dengan bar. Penulisan setiap bar dipisahkan dengan bar yang lain dengan garis bar (bar-lines) [KHE91]. Gambar II.11 Bar dan Garis Bar Time signature atau birama menunjukkan aturan jumlah ketukan dalam satu bar, yang dituliskan setelah kunci pertama dalam partitur dengan dua angka, satu angka di atas angka yang lain. Angka di atas menunjukkan banyaknya ketukan dalam satu bar, sedangkan angka di bawah menunjukkan nilai not dari setiap ketukan. Pada Gambar II.12, angka 4 di atas menunjukkan terdapat 4 ketukan untuk setiap bar, sedangkan angka 4 di bawah menunjukkan setiap ketukan bernilai seperempat [KHE91]. Gambar II.12 Contoh Birama 2.2.2.2 Teori Dasar Musik Musik terdiri dari nada-nada yang memiliki frekuensi-frekuensi tertentu. Saat ini digunakan sistem untuk membagi-bagi jangkauan frekuensi nada tersebut ke dalam segmen yang disebut dengan oktaf. Setiap oktaf dibagi menjadi dua belas bagian yang sama yang disebut dengan half steps atau semitone; dua half steps dapat digabung untuk menghasilkan whole steps atau tone. Seluruh nada adalah A A# B C C# D D# E II-10 F F# G G# [JON74]. Nada-nada tersebut dapat direpresentasikan dengan baik dalam alat musik piano, seperti dalam Gambar II.13. Gambar II.13 Posisi Nada di Piano Setiap nada dapat dinaikkan dan diturunkan ke semitone terdekatnya dengan tanda accidental. Untuk menaikkan nada ke semitone berikutnya, digunakan tanda sharp ( ). Untuk menurunkan nada ke semitone sebelumnya, digunakan tanda flat ( ). Untuk mengembalikan nada yang diberi tanda sharp atau tanda flat, digunakan tanda natural ( ) [JON74]. Berikut ini adalah beberapa teori dasar dalam musik, yaitu: 1. Teori Melodi Melodi adalah baris nada utama yang merupakan karakteristik dari sebuah lagu. Berubahnya melodi dalam aransemen harus dihindari karena akan menyebabkan berubahnya karakteristik lagu asli [KAW75]. Prinsip dari bentuk melodi paling mudah tergambarkan dalam lagu-lagu dengan vokal. Sejarah musik barat menunjukkan bahwa dalam beberapa abad sangat ditekankan melodi-melodi untuk vokal manusia. 2. Teori Harmoni Dalam musik Yunani Kuno, kata harmoni digunakan untuk mendefinisikan kombinasi dari nada-nada yang lebih tinggi atau yang lebih rendah. Ilmu harmoni adalah ilmu mengenai nada-nada yang dimainkan bersamaan, sehingga berkaitan erat dengan akor (chord), interval dan pergerakan akor (chord progression atau harmony progression). Kemudian yang dimaksud dengan harmonisasi adalah proses pembentukan nada-nada yang selaras terhadap melodi [KAW75]. Akor merupakan bentuk nyata dari harmoni. Dalam teori musik barat, yang dimaksud dengan akor adalah perpaduan tiga atau lebih nada secara bersamaan [JON74]. Khusus untuk akor yang terdiri dari tiga nada yang berbeda disebut II-11 dengan triad. Triad terdiri dari tiga nada yang diberi nama root, third, dan fifth. Root merupakan nada pertama, yaitu nada terendah dari triad. Third adalah nada kedua dari triad. Fifth adalah nada ketiga, yaitu nada tertinggi dari triad. Tabel II-2 memuat sembilan jenis akor yang umum digunakan. Tabel II-2 Tabel Akor yang Umum Digunakan Nama Akor Posisi Nada Akor Major Contoh : C Akor Major 6th Contoh : C6 Akor Dominan 7th Contoh : C7 Akor Major 7th Contoh : CM7 Akor Minor Contoh : Cm Akor Minor 6th Contoh : Cm6 Akor Minor 7th Contoh : Cm7 Akor Minor Major 7th Contoh : CmM7 Akor Diminish 7th Contoh : Cdim7 Jika nada terendah yang dimainkan atau bass adalah nada root dari triad, maka triad berada di posisi root. Selain posisi root, triad dapat diinversi sehingga bass yang dimainkan bukanlah nada root dari triad. Inversi pertama adalah jika bass yang dimainkan adalah nada third. Inversi kedua adalah jika bass yang dimainkan adalah nada fifth [JON74]. Gambar II.14 Contoh Triad II-12 Akor digunakan untuk memberi harmonisasi terhadap melodi. Proses harmonisasi menggunakan akor biasanya akan menghasilkan pengiring bagi melodi. Proses harmonisasi dapat dilakukan dalam berbagai cara tergantung dari karakteristik yang dimiliki setiap aransemen. Hal ini membuka kreativitas pembuat aransemen dalam membuat pengiring melodi yang bagus dan tidak monoton. 3. Teori Contrapunt Contrapunt (counterpoint atau contramelody) berasal dari bahasa Latin contrapunctum yang berarti nada melawan nada [BEL00]. Dalam istilah musik, contrapunt berarti satu bagian atau suara yang ditambahkan ke suatu lagu menjadi kombinasi yang simultan. Dengan definisi tersebut contrapunt dianggap sama dengan polyphony [KEN96]. Contrapunt berkembang pada abad ke-14 walau sebenarnya telah digunakan sejak berabad-abad sebelumnya. Teori contrapunt berperan dalam merangkai nada-nada yang dapat menunjang nada melodi. Salah satu contoh adalah nada bass, yaitu nada terendah yang dimainkan dalam satu waktu, karena selain melodi, rangkaian nada bass (bass line) juga memiliki efek yang kuat terhadap karakteristik sebuah lagu [KAW75]. 4. Teori Instrumentasi Teknik aransemen sangat bergantung pada instrumentasinya, yaitu karakteristik dari alat musik yang dituju. Karakteristik alat musik meliputi warna suara, bagaimana cara memainkan, jangkauan nada, jumlah maksimal nada yang dapat dimainkan dalam satu waktu, ekspresi musik yang dapat dilakukan, dan lain-lain. Pada alat musik piano, terdapat delapan puluh delapan nada yang dibagi menjadi delapan oktaf. Gambar II.15 memuat jangkauan nada piano dalam partitur. Gambar II.15 Jangkauan Nada di Alat Musik Piano dalam Partitur II-13 Piano dimainkan dengan dua tangan. Oleh karena itu, partitur untuk piano terdiri dari dua garis paranada. Paranada atas memuat nada yang harus dimainkan oleh tangan kanan, sedangkan paranada bawah memuat nada yang harus dimainkan oleh tangan kiri. Pada umumnya nada-nada melodi dimainkan oleh tangan kanan, sedangkan nada-nada harmoni dimainkan oleh tangan kiri sebagai pengiring. Jumlah maksimal nada yang dapat dimainkan dalam satu waktu adalah sepuluh nada, masing-masing jari memainkan satu nada. Dalam banyak partitur, biasanya satu tangan memainkan dua hingga tiga nada dalam satu waktu. Jangkauan nada yang dimainkan satu tangan dalam satu waktu dibatasi oleh lebar tangan manusia. Normalnya, jangkauan nada terpanjang yang dapat dimainkan oleh satu tangan dalam satu waktu adalah satu oktaf. 2.3 MusicXML MusicXML merupakan salah satu format penulisan musik yang khusus dibuat untuk merepresentasikan partitur musik dan notasi musik. MusicXML dibangun sebagai format standar, mengingat tidak adanya format standar untuk merepresentasikan partitur musik dan notasi musik. MusicXML dibangun dengan menggunakan dasar XML, sehingga format ini lebih internet-friendly (cocok dengan internet) daripada format biner [GOO01]. Saat ini sudah banyak perangkat lunak musik yang mendukung pemrosesan format MusicXML. Beberapa perangkat lunak mendukung MusicXML secara native, dan beberapa perangkat lunak lain mendukung MusicXML melalui plug-in atau extension yang disediakan pengembangnya atau pihak ketiga. Salah satunya adalah perangkat lunak Finale 2006, editor musik dalam bentuk partitur. Perangkat lunak ini dapat mengubah file MusicXML ke dalam bentuk partitur dan sebaliknya. Spesifikasi MusicXML terdiri atas beberapa berkas .dtd, .xsl, serta beberapa berkas pendukung. Berkas partwise.dtd dan timewise.dtd adalah dua DTD top-level dari spesifikasi MusicXML, yaitu spesifikasi penulisan musik dalam XML secara partwise (ketukan/bar dalam part/bagian) atau timewise (part/bagian dalam ketukan/bar). Dua berkas tersebut mendukung penulisan musik yang bersifat dua dimensi menjadi format dokumen XML yang bersifat hirarkis. II-14 Partwise menuliskan musik dalam ranah dua dimensi tersebut ke dalam bentuk hirarkis dengan menjadikan bagian-bagian partitur (misalnya bagian piano, bagian biola 1, biola 2, dan seterusnya) sebagai dasar klasifikasi. Masing-masing bagian berisi bar-bar yang berisi not-not dan simbol musik lain. Metode yang kedua, yaitu timewise menjadikan bar sebagai acuan. Bagian-bagian musik dituliskan di dalam setiap bar. Musik yang terdiri dari banyak partitur direpresentasikan dengan menggunakan opus.dtd. Dokumen opus berisi XLink (pranala XML) ke masing-masing partitur yang terpisah, dan juga mengandung referensi serta informasi musik yang lebih detil. Berkas file .dtd lainnya berisi definisi setiap simbol musik yang dapat direpresentasikan oleh MusicXML. Daftar tag yang akan diproses dalam MusicXML dilampirkan pada Lampiran A. Contoh representasi MusicXML untuk partitur dilampirkan pada Lampiran B. II-15