BAB II DASAR TEORI Bab ini memuat ulasan dari riset-riset terkait yang berhubungan dengan topik tugas akhir ini, yaitu Pembelajaran Mesin untuk Mempelajari Pola Improvisasi Musik Jazz 2.1 Teori Musik 2.1.1 Definisi Musik dan Nada Secara umum, musik adalah seni, hiburan dan aktivitas manusia yang melibatkan suarasuara teratur. Secara khusus, musik diartikan sebagai ilmu dan seni suara, yaitu berupa bentuk dan sinkronisasi suara-suara yang membentuk harmoni nada-nada sehingga terdengar estetik [KLE07]. Dari sudut pandang bunyi, sebuah bunyi dikategorikan sebagai bunyi musikal (musical sound) jika dihasilkan dari getaran per satuan waktu yang teratur. Jika sebuah bunyi dihasilkan dari getaran yang tidak teraktur, maka bunyi tersebut dikategorikan sebagai bising (noise) [GHE80]. Bunyi musikal memiliki 4 buah elemen penyusun utama [GHE80], yaitu : 1. pitch : banyaknya getaran bunyi per satuan waktu 2. duration : lamanya getaran bunyi berlangsung 3. intensity : amplitudo dari getaran bunyi 4. timbre : karakterisitik kualitas dari bunyi musikal yang dihasilkan dari beberapa tone tambahan yang dibentuk dari getaran parsial sebuah objek berbunyi. Elemen terkecil dari musik adalah nada. Nada adalah suara yang memiliki nilai frekuensi tertentu yang merepresentasikan bunyi musikal. Dalam musik, nada berada pada ruang dua dimensi, dimensi vertikal dan horizontal. Dimensi vertikal atau dimensi nada menyatakan nada-nada yang ada atau berbunyi pada suatu waktu tertentu. Dimensi horizontal atau dimensi waktu adalah bagaimana nada-nada tersebut berubah sejalan dengan waktu. II-1 II-2 Musik dituliskan dalam partitur musik. Dalam partitur, nada-nada dituliskan sebagai not-not pada garis paranada (staff). Selain not-not, partitur juga terdiri dari simbolsimbol dan tulisan-tulisan yang merepresentasikan musik. Notasi musik untuk merepresentasikan musik dapat dilihat pada LAMPIRAN A Notasi Musik. 2.1.2 Sistem Notasi Nada Secara umum, terdapat 2 buah sistem notasi yang digunakan untuk mengidentifikasi dan membedakan nada [GHE80], yaitu 1. Alphabetic Nada-nada diidentifikasi dengan huruf romawi : C,D,E,F,G,A,B,C 2. Syllabic Nada-nada diidentifikasi dengan suku kata : do, re, mi, fa, sol, la, ti, do. Aturan suku kata tersebut diperkenalkan oleh Guido d’Arezzo. Ada dua metode untuk mengaplikasikan suku kata Guido tersebut pada tangga nada yaitu : a) “fixed do” Pada “fixed do”, do menunjukkan nada C disemua kunci dasar (root key). b) “movable do” Pada “movable do”, do menunjukkan nada yang sama dengan nada dasar kunci. Jika nada dasar kunci adalah G, maka do menunjukkan nada G. Berikut ini Gambar II-1 yang menunjukkan hubungan antara sistem notasi alphabetic, syllabic, dan notasi grafis. Gambar II-1 Sistem Notasi Alphabetic dan Syllabic 2.1.3 Melodi Melodi adalah sebaris nada utama yang menjadi karakteristik dari sebuah lagu. Melodi merupakan representasi hubungan horizontal dari nada. Karakteristik melodi dalam suatu waktu harus dipertahankan karena perubahan karakteristik melodi akan menyebabkan berubahnya karakteristik lagu asal [KAW75]. II-3 2.1.4 Interval Interval merupakan jarak antar dua buah nada yang dinyatakan dalam jumlah half step atau semitone [SAB02]. Half step atau semitone merupakan jarak terkecil antar nada menurut tradisi western. Jarak tersebut mengacu kepada jarak antara satu tuts piano dengan tuts tetangganya. Jarak antar dua buah nada yang berjumlah sebanyak 2 kali half step biasa disebut sebagai whole step. Terdapat 2 buah jenis interval yaitu melodic (interval dari nada-nada yang dimainkan berurutan) dan harmonic (interval dari nada-nada yang dimainkan bersamaan). Adapun penamaan dari beberapa interval dari 2 buah nada yang diturunkan dari half step yaitu minor 3rd , major 3rd , perfect 4th , augmented 4th atau diminished 5th , perfect 5th , minor 6th , major 6th , major 7th , dan octave. Untuk lebih jelasnya, interval dari 2 buah nada beserta penamaannya akan diilustrasikan pada Gambar II-2. Gambar II-2 Jenis-Jenis Interval dan Penamaannya [MOR09] 2.1.5 Akor Akor (Chord) adalah perpaduan tiga atau lebih nada secara bersamaan [JON74]. Akor merupakan representasi hubungan dimensi vertikal dari nada. Akor paling dasar adalah triad. Akor yang lain dapat diturunkan dari akor triad. Sebuah triad dibentuk dari 3 buah nada yang interval nada tetangganya merupakan interval 3rd. Akor triad terbagi menjadi 2 bagian utama yaitu major dan minor. Suatu akor disebut sebagai major triad jika jarak antara nada dasar atau root dengan nada keduanya adalah major 3rd dan jarak antara nada dasar dengan nada ketiganya adalah perfect 5th. Sedangkan, suatu akor disebut sebagai minor triad jika jarak antara nada dasar atau root dengan nada keduanya adalah minor 3rd dan jarak antara nada dasar dengan nada ketiganya adalah perfect 5th. Penjelasan detil mengenai jenis-jenis akor II-4 beserta penulisannya pada notasi musik dapat dilihat pada Lampiran D Akor dan Tangga Nada. 2.1.6 Tangga Nada Tangga nada (scale) adalah deretan nada terturut yang membentuk suatu tangga. Deretan tersebut terurut menaik atau menurun berdasarkan pitch nada. Perbedaan dari pitch nada-nada yang menyusun tangga nada bergantung pada tipe tangga nada. Terdapat banyak tipe tangga nada yang ada saat ini, biasanya berasosiasi dengan akor tertentu. Tangga nada menjadi dasar pengkreasian melodi sebuah lagu berdasarkan akor yang sudah ditentukan sebelumnya. Detil penjelasan mengenai tangga nada dapat dilihat pada Lampiran B Akor dan Tangga Nada. 2.2 Teori Musik Jazz 2.2.1 Struktur Lagu Jazz Walaupun musik jazz dianggap musik yang bebas dan terkesan tidak terstruktur bagi pendengar awam, pada dasarnya lagu jazz dibuat dengan perencanaan struktur yang jelas. Keberadaan dari struktur lagu jazz berubah-ubah sesuai dengan pekembangan zaman. Berikut ini berbagai struktur dari lagu jazz yang pernah ada. 1. Struktur Era Bebop atau Struktur Tradisional Struktur lagu jazz yang hadir pada era Bebop hampir mirip dengan struktur musik klasik yang terdiri dari bagian introduction, exposition atau theme, development section, recapitulation, dan coda. Introduction berisi melodi pembuka dari lagu, exposition berisi melodi utama dari lagu, development section berisi melodi perluasan dari melodi exposition, recapitulation berisi melodi jawaban dari melodi exposition, dan coda berisi melodi penutup dari lagu. Pada terminologi jazz, bagian introduction disebut sebagai intro, theme disebut sebagai head, development section disebut sebagai solo section, recapitulation disebut sebagai head out, dan coda disebut sebagai ending. Kesempatan bagi para musisi yang sedang memainkan musik jazz untuk melakukan improvisasi berada pada solo section. II-5 Pada musik jazz tradisional, progresi akor yang digunakan bagian solo section biasanya sama dengan progresi akor pada bagian head yang diulang-ulang. Satu perulangan dari progresi akor pada bagian solo section disebut sebagai chorus. Setiap soloist (musisi yang sedang melakukan improvisasi secara tunggal) mungkin untuk melakukan improvisasi solonya dalam beberapa chorus. Pada bagian head, terdapat berbagai bentuk permainan yang dapat digunakan. Bentuk permainan yang paling terkenal pada jazz tradisional adalah bentuk blues, yang lazimnya terdiri dari 12 bar. Beberapa lagu jazz terkenal yang menggunakan bentuk blues pada head-nya antara lain lagu berjudul “Now’s The Time” dan “Billie Bounce” karya Charlie Parker, “Straight, No Chaser” dan “Blue Monk” karya Thelonious Monk, “Freddie Freeloader” dan “All Blues” karya Miles Davis, dan sebagainya. 2. Struktur Era Popular atau Struktur AABA Struktur lagu jazz AABA merupakan struktur yang analog dengan struktur lagu popular atau pop yang terdiri dari 2 bagian yaitu verse atau A-section dan bridge atau reff. Namun demikian, pada implementasinya diberbagai lagu, struktur ini ditambahkan intro di awal dan ending di akhir. A-section atau verse terdiri dari verse 1, verse 2, dan verse 3. Ketiga verse ini biasanya memiliki progresi akor dan melodi yang identik, kecuali lirik dan 2 bar terakhirnya mungkin dapat berbeda. Sebagian besar lagu jazz yang menggunakan struktur AABA dimainkan dalam tempo sangat cepat, sekitar 200 beat per menit. Berikut ini Gambar II-3 yang menunjukkan contoh penggunaan progresi akor AABA, diambil dari lagu berjudul “I Got Rhythm” karya George Gershwin. Gambar II-3. Progresi Akor Struktur AABA pada Lagu “I Got Rhythm” [SAB92] II-6 3. Struktur Era Modern Jazz atau Struktur Free Jazz Struktur Free Jazz merupakan struktur lagu jazz yang tidak terorganisir atau memiliki organisasi struktur yang tidak lazim. Dapat dikatakan bahwa struktur free jazz merupakan struktur yang tidak terstruktur. 2.2.2 Gaya Permainan Musik Jazz Mengikuti tradisi sejarah seni lainnya, jazz dibagi dalam beberapa gaya (style) dan periode yang masing-masing diasosiasikan dengan pemain dan komposer yang mewakili momen historis tersebut. Kronologi yang tipikal menunjukkan gaya yang berkembang dalam kurun waktu tertentu dapat dilihat pada Tabel II-1 berikut ini. Tabel II-1 Periode Perkembangan Gaya Permainan Musik Jazz [SZW00] No Gaya Permainan (style) Periode Perkembangan 1 Pra-jazz (ragtime, vaudeville) sekitar 1875 – 1915 2 Jazz awal (jazz New Orleans, Dixieland) 1910 – 1927 3 Swing 1928 – 1945 4 Bebop 1945 – 1953 5 Cool Jazz 1949 – 1958 6 Hard bop 1954 – 1965 7 Soul/funk jazz 1957 – 1959 8 Third-stream jazz 1957 – 1963 9 Free jazz 1959 – 1974 10 Jazz-rock 1969 – 1979 11 Neo-tradisionalisme 1980 - ? Namun demikian pada kenyataannya, segala sesuatu mengenai gaya permainan jazz lebih rumit daripada yang ditunjukkan tabel di atas. Pada periode apapun akan ditemukan gaya permainan yang saling bertumpang tindih. Bahkan gaya jazz seringkali dipadukan dengan genre musik jenis lainnya yang sedang populer saat itu sehingga timbul gaya permainan baru. Misalnya pada masa keemasan bebop, musik Latin menyebar di New York dan menjadi bagian dari panggung jazz. Perpaduan kedua unsur gaya tersebut terkadang disebut dengan istilah baru yang disebut Bossa. II-7 Hubungan antara perkembangan gaya permainan jazz dengan genre musik lainnya dapat dilihat pada Gambar II-4. Gambar II-4 Hubungan Antara Gaya Jazz dengan Genre Musik Lainnya [GER09] Deskripsi detil mengenai karakteristik gaya permainan (style) musik jazz dapat dilihat pada Lampiran C Gaya Jazz. 2.2.3 Improvisasi Improvisasi pada musik jazz dapat diartikan sebagai kegiatan komposisi secara instan yang dilakukan saat bermain musik. Banyaknya cara untuk melakukan improvisasi saat memainkan lagu jazz adalah tidak terbatas namun bergantung pada jenis alat musik yang dimainkan. Setiap alat musik memiliki karakteristik yang berbeda sehingga dapat menghasilkan berbagai jenis improvisasi yang berbeda pula. Secara umum, terdapat 2 buah jenis alat musik yaitu 1. Alat Musik Bernada (Definite Pitch Instrument) Contoh : piano, gitar, biola, flute, contrabass, dan lain-lain 2. Alat Musik Tak Bernada (Undefinite Pitch Instrument) Contoh : drum II-8 Pada alat musik bernada, jenis improvisasi yang dilakukan adalah pembentukan pola melodi. Hal-hal yang dapat dilakukan oleh seorang musisi dalam melakukan improvisasi pembentukan pola melodi adalah sebagai berikut. • Melakukan pemilihan nada atau not yang akan membentuk melodi secara horizontal (unisono) atau pun vertikal (harmoni). Pembentukan melodi secara horizontal hanya mempertimbangkan satu buah nada yang dapat dimainkan dalam suatu waktu. Sedangkan, pembentukan melodi secara vertikal mempertimbangkan banyak nada yang dapat dimainkan pada suatu waktu. • Menentukan cara memainkan nada-nada tersebut, mencakup artikulasi dan ekspresi. Misalnya, nada pertama dimainkan dengan putus-putus (staccato), nada kedua dimainkan dengan bersambung (legato), nada ketiga dimainkan dengan lebih lembut dibandingkan nada-nada sebelumnya, dan seterusnya. Pada alat musik tak bernada, seperti pada drum, jenis improvisasi improvisasi yang dilakukan adalah pembentukan pola pukulan yang membentuk karakteristik ritmis tertentu. Seperti yang telah dijelaskan sebelumnya, improvisasi melodi dilakukan dengan cara mengomposisi pola melodi unisono dan harmoni. Adapun turunan dari tipe improvasi harmoni yaitu improvisasi akor alternatif (chord improvisation), yang biasanya dilakukan oleh pemain instrumen piano/keyboard dan bass. Pengimprovisasian melodi terhadap sebuah lagu biasanya berhubungan dengan atribut-atribut yang dimiliki oleh lagu tersebut, seperti melodi asli lagu, progresi akor masukan, dan pola ritmis. Namun demikian, terdapat jenis improvisasi yang disebut sebagai improvisasi bebas (free improvisation) dimana improvisasi dilakukan dengan tidak mematuhi hubungan terhadap atribut-atribut lagu. Mengacu kepada sejarah perkembangan musik jazz terkait dengan penggunaan pola improvisasi melodi, terdapat 4 tingkatan improvisasi melodi yang dilakukan oleh musisi jazz, yaitu II-9 1. Improvisasi yang dilakukan dengan memodifikasi atau menghias melodi asli. 2. Improvisasi yang dilakukan berdasarkan tonalitas akor. 3. Improvisasi yang dilakukan berdasarkan progresi tangga nada. 4. Improvisasi yang dilakukan di luar tonalitas lagu (outside/free improvisation). Improvisasi pada tingkat ke-4 merupakan improvisasi yang paling sulit dilakukan. Untuk dapat melakukannya dengan baik, maka musisi jazz dituntut untuk menguasai tingkatan improvisasi sebelumnya dengan baik pula. 2.3 Metode Pendekatan dan Aplikasi yang Berkatian dengan Pembangunan Pola Improvisasi Musik Jazz 2.3.1 Pemodelan Kreatifitas pada Musik Jazz Musik jazz merupakan sebuah genre musik yang penuh dengan proses kreatif karena lebih banyak melakukan improvisasi yang bersifat spontan dibandingkan dengan komposisi. Menurut Clark Terry, proses kreatif dalam bermusik jazz dapat disimpulkan menjadi 3 hal, yaitu meniru, mengasimiliasi, dan menginovasi. Untuk dapat memainkan improvisasi pada musik jazz, dibutuhkan tidak hanya pengetahuan musik teoritis yang kuat melainkan juga kemampuan (skill) yang mumpuni dalam memainkan alat musik. Dengan demikian, permasalahan improvisasi merupakan salah satu dari permasalahan kreatifitas. Menurut Johnson-Laird [JOH92], ada 3 buah karakteristik dari permasalahan kreatifitas sehingga permasalahan tersebut sulit untuk diformalisasikan dengan pendekatan classical problem solving, yaitu 1. non-deterministic Untuk komposisi yang sama dapat menghasilkan berbagai solusi musikal yang semuanya dapat diterima. 2. absence of well-defined goal Tidak ada tujuan yang pasti mengenai tujuan musikal yang ingin dicapai. Yang ada hanyalah kesan atau anggapan yang samar mengenai apa yang akan diselesaikan (vague impression). Bahkan tujuan musikal dapat berubah-ubah seiring berjalannya proses. II-10 3. no clear point of termination Tidak ada tujuan yang terdefinisi dan kesepakatan estetis untuk mengevaluasi hasil. Adapun model-model kreatifitas yang telah dibuat sebagai pendekatan agar komputer mampu memainkan improvisasi pada musik jazz. Pada mulanya, terdapat 2 buah model yaitu 1. model pemilihan improvisasi secara random-oriented dari pustaka pola musik berdasarkan frekuensi penggunaannya [AME92], 2. model improvisasi yang dideskripsikan secara detail, terstruktur, dan deterministik melalui aturan-aturan tertentu (rules) atau grammar [STE84]. Pendekatan yang pertama menyebabkan improvisasi sulit untuk dikontrol pada level abstrak dan berpotensi untuk menghasilkan pola improvisasi yang terlalu bebas yang tidak human like. Sedangkan, pendekatan yang kedua merupakan kebalikan dari pendekatan yang pertama yaitu sulit untuk mengatur fleksibilitas dikarenakan sifatnya yang deterministik. Hal ini menyebabkan pola improvisasi yang dihasilkan cenderung kaku karena hanya menghasilkan sebuah solusi dari suatu kondisi. Adapun model yang ketiga yang mengklaim bahwa bermusik jazz bukan merupakan aktifitas yang sepenuhnya random dan bukan pula aktifitas yang sepenuhnya determenistik. Model ketiga disebut model The Reasoner, dirancang oleh Ramalho dan Ganascia [RAM94] yang memiliki latar belakang sebagai berikut : • aktifitas-aktifitas yang dilakukan oleh seorang musisi jazz melibatkan 2 struktur pengetahuan yaitu memori dan aturan dasar. • aksi berimprovisasi yang dilakukan oleh seorang musisi jazz bergantung kuat kepada konteks musik yang berevolusi setiap saat. Interaksi yang kuat dengan musisi-musisi lainnya ataupun dengan publik/lingkungan sekitar akan berdampak pada berubahnya pengetahuan atau strategi awal saat melakukan improvisasi. Perubahan tersebut dapat berupa diperkuatnya pengetahuan awal (reinforce) atau bahkan mengabaikannya (discard). II-11 2.3.1.1 Potential ACTion (PACTs) Pachet [PAC90] merumuskan gagasan yang disebut PACTs (saat ini disebut sebagai “strategy”) yang berperan sebagai sebuah framework generik untuk merepresentasikan aksi potensial yang akan dilakukan oleh seorang musisi dalam konteks permainan musik, yang fokus pada pemberian perintah terhadap aksi-aksi musikal dibandingkan dimensi sintaksis dari not. Pada kenyataannya, PACTs dapat merepresentasikan tidak hanya not-not tetapi juga aksi-aksi abstrak yang membentuk rantai aksi. PACTs merupakan struktur frame-like yang memiliki deskriptor-deskriptor utama berupa startbeat, end-beat, dimensions, abstract-level, type dan instrument-dependency. PACTs diaktifkan pada waktu-waktu tertentu dan dibatasi oleh durasi yang menyesuaikan dengan kumpulan not, akor, bar, lagu keseluruhan, dan sebagainya. PACTs mungkin bergantung pada berbagai dimensi dari note yaitu rhythm (r), amplitude (a), pitch (p), dan kombinasi dari ketiganya (r-a, r-p, p-a, r-p-a). Ketika dimensi-dimensi tersebut diinstansiasi, level abstrak dari PACTs dikatakan low. Jika tidak, maka dikatakan high. Sebagai contohnya, perintah “play loud” merupakan lowlevel PACT dari amplitude, “play this rhythm” merupakan low-level PACT dari rhythm, dan “play an ascending arpeggio” merupakan low-level PACT dari pitch. Perintah “play this lick transposed one higher step” merupakan low-level PACT dari ketiganya (amplitude, rhythm, dan pitch). Sedangkan, perintah-perintah “play syncopated” dan “use major scale” merupakan high-level PACT dari rhythm and pitch. Perintah PACT juga dapat terkait dengan instrumen musik seperti “play five-note chord” yang merupakan piano PACT atau “play stepwise” yang merupakan bass PACT. Dari deskripsi di atas, terdapat 2 buah karakteristik penting dari PACT yang muncul. Karakteristik yang pertama adalah playability. Semakin kurangnya level abstrak dari PACT menyebabkan semakin banyak dimensi musik yang dilibatkan yang berarti semakin playable. Sebagai contohnya, “play C E G” lebih playable dibandingkan dengan “play ascending notes”. Sedangkan, karakteristik yang kedua adalah combinability. Perintah-perintah PACTs dapat dikombinasikan sedemikian rupa sehingga menghasilkan perintah baru yang lebih playable. Contohnya, perintah “play II-12 ascending notes” dapat dikombinasikan dengan perintah “play triad notes(C major)” untuk menghasilkan perintah “play C E G”. 2.3.1.2 Musical Memory Tidak ada yang dapat menjamin bahwa PACTs berisi semua informasi yang dapat membentuk sebuan playable PACT. Untuk mengatasi masalah ini, dibuat sebuah gagasan lain yang dinamakan Musical Memory yang menggunakan prinsip case-based reasoning [SLA91]. Musical Memory merupakan sebuah memori jangka panjang yang mengakumulasi materi-materi musikal (cases) yang telah didengarkan atau dikuasai oleh musisi. Materi-materi musikal dari Musical Memory harus bersesuaian dengan low-level PACTs sehingga dapat ditilik selama proses problem solving berlangsung. Materimateri tersebut didapatkan dengan mengaplikasikan transformasi (contoh: segmentasi waktu, proyeksi 1 atau 2 dimensi, dan sebagainya) menjadi transkripsi permainan jazz aktual. Adapun hal penting yang perlu ditekankan bahwa high-level PACTs yang didefiniskan juga ditentukan melalui transkripsi permainan jazz aktual namun tidak otomatis karena jika dipaksakan untuk dijalankan otomatis akan melibatkan transformasi yang kompleks pada saat dilakukan transkripsi. Perintah-perintah PACTs didapatkan melalui fase akuisisi pengetahuan musik jazz dari para ahli. 2.3.1.3 Model The Reasoner The reasoner merupakan model formal yang dirancang Ramalho dan Ganascia yang diklaim dapat menjawab permasalahan terhadap pemodelan kreatifitas dalam berimprovisasi jazz dengan pendekatan classical problem solving. The Reasoner memiliki unsur PACt dan Musical Memory yang telah dijelaskan pada subbab 2.3.1.1 Potential ACTion (PACTs) dan 2.3.1.2 Musical Memory. Menurut mereka, permasalahan musikal merupakan aktifitas untuk mengetahui bagaimana cara memulai langkah solusi dari kesan samar (vague impression) hingga mencapai spesifikasi yang pasti. Dengan kata lain, keadaan awal dari ruang permasalahan musikal dapat berupa II-13 banyak PACTs dalam suatu interval waktu dan keadaan akhirnya berupa sebuah playable PACT yang unik. Goal dari model ini pun bersifat tetap dan didefinisikan dengan jelas, yaitu bermain musik. Pemecahan masalah ekuivalen dengan kegiatan menyusun dan mengombinasikan PACTs. Model The Reasoner disimulasikan dengan 3 buah modul yang berkoordinasi secara paralel (lihat Gambar II-5. Deskripsi Model The Reasoner [RAM94]), yaitu modul perception, composing, dan execution. Modul-modul ini menyerupai komponenkomponen yang terdapat pada beberapa aplikasi robotik yaitu Monitoring, Planning, dan Executing. Konteks dari The Reasoner dihasilkan dari grid akor masukan dan eveneven yang terjadi pada saat permainan berlangsung. Gambar II-5. Deskripsi Model The Reasoner [RAM94] Berikut ini penjelasan fungsi dari modul-modul The Reasoner. 1. Modul Perception Modul perception berfungsi sebagai antarmuka antara sistem The Reasoner dengan lingkungan luar. Mekanisme kerja dari modul ini analog dengan aktifitas interpretasi yang dilakukan oleh musisi jazz terhadap lagu yang dimainkan sebelum memutuskan untuk melakukan improvisasi. Pemahaman yang didapatkan dari interpretasi tersebut kemudian dikolaborasikan dengan pengetahuan dasar yang dimiliki oleh musisi untuk memberikan umpan balik improvisasi yang selaras. 2. Modul Composition II-14 Modul composition berfungsi untuk membentuk pola permainan berdasarkan hasil interpretasi dari persepsi yang dilakukan, grid akor masukan, knowledge base, dan musical memory. Permasalahan yang muncul dalam memainkan pola yang sesuai dengan grid akor masukan dapat dipandang sebagai 3 buah urutan sub-permasalahan yaitu menentukan durasi dari segmen grid akor yang baru, menentukan PACTs yang berasosiasi dengan segmen tersebut, dan menyusun PACTs tersebut untuk membentuk sebuah playable PACTs. Low-level PACTs yang didapatkan berasal dari musical memory. Sedangkan, berbagai aturan dan fungsi heuristik yang berkaitan dengan segmentasi grid akor terdapat pada knowledge base. Aturan-aturan tersebut juga digunakan untuk mendeteksi dan memecahkan masalah inkompatibilitas diantara PACTs, mengkombinasikan PACTs, dan memodifikasi low-level PACTs. 3. Modul Execution Modul execution berfungsi untuk mengeksekusi playable PACTs yang telah dibentuk oleh modul composition. Perlu digarisbawahi bahwa fungsi dari modul execution ini terbatas pada hanya memainkan playable PACTs yang telah dibentuk atau direncanakan sebelumnya dan tidak melakukan perencanaan ulang atas PACTs yang telah terbentuk. Model ideal dari modul ini adalah sistem mampu memainkan playable PACTs bersamaan dengan aktifitas perencanaan ulang, seperti halnya aktifitas musisi jazz pada saat real-time. 2.3.2 Band-In-A-Box Band-In-A-Box merupakan sebuah perangkat lunak pengaransemenan musik komersial berbasis MIDI yang paling populer saat ini. Prinsip kerja dari Band-In-A-Box adalah menerima masukan utama berupa progresi akor dan style dari pengguna, kemudian mengeluarkan sebuah lagu teraransemen sesuai dengan progresi akor dan style yang dipilih. Untuk masukan progresi akor dan style yang sama, Band-In-A-Box dapat membangkitkan pola aransemen musik yang berbeda. Bagi para pengguna biasa, BandIn-A-Box banyak digunakan untuk keperluan pembuatan musik secara instan. Sedangkan bagi para musisi, khususnya musisi jazz, Band-In-A-Box digunakan sebagai partner dalam mempelajari dan melatih improvisasi jazz. II-15 Kekuatan Band-In-A-Box terletak pada aspek ketersediaan pilihan style. Terdapat lebih dari 1000 style musik yang tersedia pada Band-In-A-Box. Misalkan ada seorang pengguna yang ingin membuat sebuah lagu dengan gaya yang mirip dengan permainan musik ala musisi A. Jika style tersebut tersedia, maka lagu yang dihasilkan akan memiliki karakeristik seperti musisi A, dimulai dari gaya ritmis, akor, hingga melodi pengiring ataupun melodi solo. Namun demikian, Band-In-A-Box tidak melakukan pembelajaran mesin untuk membentuk style baru. Style yang tersedia bersifat pre-defined. Selain itu, permainan lagu dari style yang dipilih tidak dapat dievaluasi apakah lagu tersebut sesuai dengan keinginan pengguna. Keluaran lagu dari masukan style dan progresi akor dibangkitkan secara acak untuk setiap pembangkitan. Dapat dikatakan bahwa Band-In-A-Box merupakan perangkat lunak pembangkitan improvisasi yang non-interaktif. 2.3.3 Pendekatan Genetic-Based Pembangkitan pola melodi improvisasi solo pada musik jazz sudah diterapkan pada suatu sistem bernama GenJam. GenJam merupakan sebuah model berbasis algoritma genetika yang mensimulasikan seorang musisi jazz pemula dalam mempelajari improvisasi secara real-time [BIL94]. Pada terminologi jazz, even saat musisi jazz melakukan permainan improvisasi secara real-time biasa disebut sebagai jam session. GenJam merupakan sebuah metafora dari seorang pelajar jazz yang sedang berada pada jam session sembari diawasi oleh seorang mentor. Ketika ia memainkan improvisasi dengan baik, maka tutor akan memberikan respon positif, dan sebaliknya. Dari responrespon yang didapatkan, pelajar akan mengenali berbagai pola improvisasi yang enak ataupun yang tidak enak didengar sehingga respon-respon tersebut menjadi dasar pengambilan keputusan bagi pelajar untuk melakukan improvisasi yang baik dikemudian waktu. Pada model GenJam, pembentukkan pola improvisasi dilakukan dengan cara melakukan pencarian pada kumpulan populasi melodi yang cocok dengan suatu tangga nada tertentu yang direkomendasikan oleh progresi akor masukan. Saat GenJam memainkan pola improvisasinya, seorang human-mentor dapat memberikan umpan balik secara real-time dengan tujuan untuk menentukan nilai fungsi fitness untuk setiap bar atau frasa musik. II-16 GenJam diimplementasikan pada lingkungan Macintosh/Think C di atas CMU MIDI Toolkit. Arsitektur dari sistem GenJam diilustrasikan padaGambar II-6. Gambar II-6. Arsitektur Sistem GenJam [BIL94] Untuk melakukan improvisasi pada sebuah tune, GenJam melakukan pembacaan terhadap sebuah berkas progression, yang memberikan informasi tempo dan gaya ritmis (misalnya, swing atau 8-note), jumlah chorus solo yang harus dilalui, dan progresi akor. GenJam melakukan improvisasi pada sebuah tune dengan membangun sebuah deretan chorus pada MIDI yang didekodifikasi dari himpunan populasi frasa dan measure. Karena frasa diimplementasikan sebagai deretan 4 buah measure, menyebabkan populasi frasa dan measure membentuk sebuah hirarki struktur melodi yang saling mendukung satu sama lain. Yang perlu digarisbawahi adalah bahwa GenJam tidak mencoba untuk mengembangkan sebuah melodi solo yang sempurna untuk sebuah tune spesifik, melainkan mencoba untuk mengembangkan koleksi ide-ide melodis yang cocok untuk berbagai tune. Ketika human-mentor sedang mendengarkan pola improvisasi melodi solo yang telah dihasilkan, ia dapat memasukkan informasi sebagai umpan balik atau justifikasi. Informasi yang dapat dimasukkan hanyalah informasi “good” atau “bad”. “Good” menyatakan bahwa melodi solo dimainkan dengan baik atau enak didengar, sedangkan “bad” menyatakan bahwa melodi solo tidak enak didengar. Nilai fungsi fitness untuk setiap measure atau frasa diakumulasikan dengan cara melakukan penambahan counter setiap kali suatu measure atau frasa dinyatakan “good” dan melakukan pengurangan II-17 counter setiap kali dinyatakan “bad”. Fungsi fitness yang sudah dimodifikasi disimpan pada berkasi populasi setelah improvisasi melodi solo selesai. Secara umum, GenJam berjalan pada salah satu 3 mode berikut : learning, breeding, dan demo. Pada mode learning, GenJam melakukan seleksi terhadap populasi melodi secara acak dengan mengabaikan fungsi fitness, tidak menggunakan operator-operator genetika, serta mengharapkan umpan balik. Pada mode breeding, GenJam melakukan seleksi dengan menggunakan operator-operator genetika dan setengah dari jumlah populasi diganti dengan populasi yang baru sebelum sebuah melodi solo dimainkan. Sedangkan, pada mode demo, GenJam melakukan aktifitas layaknya performa musik jazz, yaitu memainkan pola improvisasi melodi solo yang dipilih berdasarkan pengetahuan yang ada tanpa dilakukan umpan balik. 2.3.3.1 Representasi Kromosom pada GenJam GenJam memiliki 2 karakteristik yang membedakannya dengan model algoritma genetika sederhana, yaitu 1. Menggunakan 2 buah populasi, yaitu populasi measure dan populasi frasa.Sebuah individu pada populasi measure dipetakan ke sebuah deret even MIDI. Sedangkan, sebuah individu pada populasi frasa dipetakan ke indeks dari measure pada populasi measure. 2. Menggunakan keseluruhan dari populasi measure dan frasa untuk membentuk melodi solo, tidak hanya salah satu dari populasi measure atau frasa yang terbaik. Gambar-gambar di bawah ini merupakan contoh ilustrasi representasi kromosom dari individu measure dan frasa. Gambar II-7. Individu Frasa [BIL94] II-18 Gambar II-8. Populasi Measure [BIL94] Pada Gambar II-7, ditunjukkan bahwa sebuah frasa ke-23 memiliki fitness bernilai -12, yang berarti pola melodi dari frasa tersebut mendapatkan respon yang tidak begitu baik dari mentor. Frasa tersebut juga memiliki sebuah kromosom yang merupakan hasil konkatenasi 4 buah bilangan yang masing-masingnya merupakan pointer ke populasi measure. Dalam representasi bit-bit biner, individu frasa ke-23 dapat dinyatakan sebagai berikut. Gambar II-9. Frasa 23 dengan Representasi Kromosom dalam Bit Biner [BIL94] Pada Gambar II-9, bit-bit yang berjumlah 6 buah untuk tiap indeks ke measure-nya bukan ukuran yang pasti. Ukuran tersebut bergantung pada jumlah populasi measure yang ada. Untuk 2 banyaknya populasi measure yang ada, sebaiknya ukuran bit-bit indeks sebanyak buah agar dapat mengakses semua populasi. Gambar II-9 mengilustrasikan populasi measure yang terhubung dengan frase ke-23. Individu-individu dari populasi measure tersebut disusun atas nilai fitness dan sebuah kromosom yang menginterpretasikan 8 buah deretan angka yang merepresentasikan 3 buah even, yaitu sebuah not baru, tanda istirahat, dan tanda tahan. Even not baru menyebabkan MIDI player memainkan not tersebut, tanda istirahat menyebabkan not berhenti dimainkan, dan tanda tahan menandakan tidak terjadi even apa-apa (memanjangkan not yang sebelumnya dimainkan atau memperlama waktu istirahat). Sebagai syarat tambahan, sebuah tanda tahan pada permulaan suatu measure juga II-19 memperpanjang even terakhir (not baru atau tanda istirahat) pada measure sebelumnya sehingga struktur ritmis dapat mengalir tanpa menghiraukan batas-batas dari measure. Even-even pada GenJam direpresentasikan dengan bilangan dari 0-14. 0 menyatakan tanda istirahat, 1-14 menyatakan not-not dengan pitch tertentu, dan 15 menyatakan tanda tahan. Dengan demikian, representasi tersebut memiliki keterbatasan yaitu not-not yang dapat dimainkan pada satu waktu hanya 14 not. 2.3.3.2 Pemetaan Akor ke Tangga Nada Pada sistem GenJam, akor didapatkan dari berkas progression, seperti yang telah dijelaskan pada Gambar II-6. Dari informasi akor yang didapatkan, kemudian akan ditentukan tangga nada yang bersesuaian. Fungsi dari pembentukkan tangga nada adalah sebagai panduan bagi sistem untuk tidak memainkan not yang salah relatif terhadap akor menurut teori musik jazz. Pada kenyataannya, sebuah pola akor dapat berasosiasi dengan banyak tangga nada yang mungkin, dapat berjumlah tak terbatas [SAB02]. Namun, untuk menyederhanakan persoalan, pada GenJam sebuah pola akor dapat berasosiasi terbatas hanya pada satu tangga nada. Berikut ini tabel pemetaan akor ke tangga nada yang dimiliki oleh GenJam (dalam nada dasar C). Tabel II-2 Tabel Pemetaan Akor Ke Tangga Nada pada GenJam [BIL94] Akor Tangga Nada Himpunan Not Cmaj7 Major (tanpa nada ke-4) CDEGAB C7 Mixolydian (tanpa nada ke-4) C D E G A Bb Cm7 Minor (tanpa nada ke-6) C D Eb F G Bb Cm7b5 Locrian (tanda nada ke-2) C Eb F Gb Ab Bb Cdim W/H Diminished C D Eb F F# G# A B C+ Lydian Augmented C D E F# G# A B C+7 Whole Tone C D E F# G# Bb C7#11 Lydian dominant C D E F# G A Bb C7#9 Altered Scale C Db Eb E F# G# Bb C7b9 H/W Diminished C Db Eb E F# G A Bb Cm7b9 Phrygian C Db Eb F G A Bb Cmaj7#11 Lydian C D E F# G A B II-20 Walapun informasi pemetaan akor ke tangga nada yang sudah didefinisikan bertujuan untuk menghindari permainan not yang ‘salah’, namun bukan berarti not-not hasil pemetaan tersebut ‘benar’ secara mutlak. Seleksi yang dilakukan terhadap not-not yang akan dimainkan juga mempertimbangkan pengetahuan yang didapatkan dari mentor. Dengan demikian, pemetaan tersebut berfungsi sebagai knowledge base yang sewaktuwaktu dapat berubah bergantung masukan dari mentor. 2.3.3.3 Operator-Operator Genetika pada GenJam GenJam melakukan single-point crossover standar pada lokasi acak terhadap 32-bit string measure atau terhadap 24-bit string frasa. Dari proses ini kemudian akan dihasilkan beberapa keturunan measure. Dua buah keturunan yang unggul dipertahankan, sedangkan sisanya dimutasi dengan mengaplikasikan beberapa operasi mutasi yang beroperasi pada level even suatu frasa dan level indeks pada suatu measure. Operasi-operasi mutasi yang diaplikasikan dipilih sedemikian rupa sehingga dapat menghasilkan keturunan yang bermakna pada konteks musik. Tabel di bawah ini merupakan penerapan operasi-operasi mutasi terhadap measure 57 yang telah diilustrasikan pada Gambar II-8. Tabel II-3. Operator-Operator Mutasi pada Measure [BIL94] Operator mutasi Measure yang telah termutasi None (Original Measure) 9 7 0 5 7 15 15 0 Reverse 0 15 15 7 5 0 7 9 Rotate Right 15 15 0 9 7 0 5 7 Invert 6 8 15 10 8 0 0 15 Sort Notes Ascending 5 7 0 7 9 15 15 0 Sort Notes Descending 9 7 0 7 5 15 15 0 Transpose Notes (eg. +3) 12 10 0 8 10 15 15 0 Operator rotate melakukan rotasi terhadap even n langkah ke kanan, dimana n merupakan sebuah bilangan acak antara 1 hingga 7. Operator reverse melakukan pembalikan urutan dari even. Operator inverse melakukan pengubahan terhadap tanda istirahat menjadi tanda tahan, tanda tahan menjadi tanda istirahat, dan melakukan pencerimanan terhadap pitch dimana cerminnya terletak diantara even 8 dan 9. Operator II-21 sort melakukan pengurutan even dari angka terkecil hingga terbesar atau sebaliknya. Operator transpose melakukan pengubahan pitch even, dapat dinaikan atau diturunkan. Pada operator sort dan transpose, pengubahan terhadap tanda istirahat dan tanda tahan tidak dilakukan. Pada individu-individu frasa juga dapat dilakukan operasi-operasi genetika. Terdapat 6 buah operator genetika yang dapat diterapkan pada suatu frasa. Tabel di bawah ini merupakan penerapan operasi-operasi mutasi terhadap sebuah frasa yang telah diilustrasikan pada Gambar II-7. Tabel II-4. Operator-Operator Mutasi pada Frasa [BIL94] Operator mutasi Frasa yang telah termutasi None (Original Measure) 57 57 11 38 Reverse 38 11 57 57 Rotate Right (e.g., 3) 57 11 38 57 Genetic Repair 57 57 11 29 Super Phrase 41 16 57 62 Lick Thinner 31 57 11 38 Orphan Phrase 17 59 43 22 Operator reverse dan rotate pada frasa memiliki operasi yang sama dengan operator reversi dan rotasi pada measure. Operator genetic repair melakukan penggantian terhadap measure yang memiliki nilai fitness terkecil dengan sebuah measure baru yang dipilih secara acak. Untuk kasus pada tabel 3, measure 38 diganti dengan measure 29. Operator super phrase melakukan pembangkitan frasa yang baru dengan mempertahankan sebuah measure yang paling unggul, yaitu yang memiliki fungsi fitness terbesar. Operator lick thinner melakukan penggantian measure dengan measure yang paling sering muncul pada populasi frasa secara keseluruhan. Operator orphan measure melakukan pembangkitan frasa yang baru dimana measure-measure yang dipilih merupakan measure yang paling jarang muncul pada populasi frasa secara keseluruhan. II-22 2.3.4 Pendekatan Rule-Based 2.3.4.1 Gambaran Umum Sistem Impro-visor Keller dan Morrison [KEL05] merumuskan suatu metode untuk membangun melodi jazz unisono dengan pendekatan probabilistic Context Free Grammar berdasarkan progresi akor masukan. Metode ini sudah diimplementasikan pada perangkat lunak yang dapat diperoleh secara gratis bernama Impro-visor. Impro-visor dirancang untuk membantu musisi Jazz yang belum cukup memiliki latar belakang ilmu pengetahuan jazz untuk membuat melodi improvisasi. Gambar II-10 Screen Shot dari Perangkat Lunak Impro-visor [KEL05] Sistem impro-visor menerima masukan berupa berkas musik yang terdiri dari deretan melodi asli dan progresi akor. Namun demikian, pada pemrosesan internalnya, hanya progresi akor yang dipertimbangkan. Selain menerima masukan berupa berkas musik, impro-visor juga dapat menerima masukan berupa deretan string yang merepresentasikan gambaran umum dari fragmen melodi yang diinginkan oleh user. Pada terminologi jazz, fragmen melodi biasa disebut sebagai lick. Keluaran dari improvisor adalah berupa deretan melodi baru atau melodi improvisasi unisono yang dibangkitkan sesuai dengan aturan yang telah didefinisikan oleh grammar berdasarkan progresi akor masukan dan string gambaran umum fragmen melodi. II-23 Pendekatan awal dari perumusan metode ini adalah membuat basis data yang besar dari lick yang mungkin terjadi dimana lick-lick tersebut dapat dipilih oleh pengguna aplikasi. Dikarenakan sangat banyaknya kombinasi antara progresi akor yang sesuai dengan lick yang dibuat, permasalahan yang timbul adalah adanya kebutuhan akan basis data yang sangat besar yang harus dibuat secara manual. Salah satu cara untuk mengatasi permasalahan tersebut adalah membuat suatu metode yang dapat membangkitkan lick secara dinamis dengan pendekatan grammar. Jenis grammar yang digunakan, karena diklaim paling sesuai untuk menyelesaikan permasalahan ini, adalah Context-Free Grammar (CFG). 2.3.4.2 Penggunaan Grammar pada Konteks Musikal Merujuk kepada konsep dasar dari formal grammar, tujuan dari sebuah grammar adalah untuk membangkitkan deretan simbol. Pada kasus ini, simbol-simbol akan direpresentasikan sebagai nilai ritmis dan bunyi nada. Sebuah probablistic CFG terdiri dari 4 buah tuple ( , , , ) dimana merupakan himpunan simbol terminal (elemen penentu rule yang akan dihasilkan), merupakan himpunan simbol non-terminal, merupakan kumpulan rule atau produksi yang memetakan setiap simbol non-terminal memiliki bobot dan ke sejumlah simbol pada yang merupakan simbol awal. Berikut ini merupakan contoh dari sebuah CFG sederhana tanpa bobot diluar konteks musikal. Didefinisikan sebuah CFG semua string tanda kurung yang bersesuaian dengan komponen-komponen : 1. simbol terminal : {’(’,’)’}, himpunan tanda kurung 2. simbol nonterminal :{ ’S ’, ’T ’} 3. simbol awal : S 4. aturan produksi : • • • • II-24 Di bawah ini merupakan contoh-contoh deretan string tanda kurung yang dibangkitkan oleh CFG di atas. - Pada setiap langkah pembangkitan, sebuah simbol nonterminal pada string langkah sebelumnya dimana simbol tersebut merupakan anggota dari simbol ruas kiri pada aturan produksi digantikan dengan simbol baru yang merupakan anggota dari simbol ruas kanan. Langkah proses pembangkitan akan berhenti jika string terakhir merupakan simbol terminal. Pada sistem Impro-visor, terdapat 2 buah elemen musik yang direpresentasikan dengan grammar yaitu ritmis dan tonal nada. Sebagai contoh sederhana penggunaan grammar untuk deretan ritmis, diberikan sebuah CFG yang dapat membangkitkan string durasi not setengah dan seperempat, tanpa sinkopasi. Perlu diketahui bahwa pola ritmis dari suatu lagu dibentuk dari permainan nada-nada dengan durasi yang berbeda. Aturan produksi yang dapat didefinisikan adalah sebagai berikut. • • • • • Pada simbol ruas kanan aturan produksi, terdapat simbol terminal { , } yang merepresentasikan not setengah (half note) dan not seperemat (quarter note). Simbol nonterminal { , measure, , } yaitu dimana merepresentasikan sebuah deretan 1 atau banyak merepresentasikan 1 measure, dan merepresentasikan ½ measure. Berikut ini contoh beberapa string ritmis not setengah dan not seperempat yang dapat dibangkitkan oleh CFG tersebut. II-25 - Salah satu keuntungan dari penggunaan grammar untuk merepresentasikan deretan ritmis adalah bahwa grammar yang dibentuk dengan baik akan mampu digunakan untuk menghindari pola ritmis yang buruk, seperti deretan sebuah not seperenambelas yang diikuti oleh sebuah not setengah lalu not seperdelapan. Setelah skeleton ritmis telah dibangkitkan, setiap ritmis not dapat diisi dengan nadanada tertentu dengan cara membuat grammar tonal nada. Pada sistem ini, tonal nada diklasifikasikan berdasarkan progresi akor yang diberikan yang terdiri atas 4 buah jenis tonal nada, yaitu 1. Chord tones : tonal nada anggota dari akor. 2. Color tones : tonal nada yang bukan anggota dari akor, tetapi masih menghasilkan bunyi yang dapat diterima. 3. Approach tones : tonal nada yang bukan chord tones, namun berfungsi sebagai nada transisi ke chord tones atau colour tones. 4. Other tones : tonal nada yang bukan anggota dari ketiga tonal di atas. Adapun 7 buah jenis simbol terminal yang representasinya mencakup semua jenis tonal akor yang telah dijelaskan di atas disertai dengan 3 buah terminal tambahan, yaitu 1. C (chord tones) 2. L (color tones) 3. A (approach tones) 4. H (helpful tones: nada-nada yang dipilih dari C,L, atau A) 5. S (scale tones: nada anggota dari suatu tangga nada yang bersesuaian dengan akor) 6. X (arbitrary notes: nada sebarang) 7. R (rest: tanda istirahat) II-26 Sistem Impro-visor memadukan representasi ritmis/durasi nada dan tonal nada menjadi sebuah simbol nonterminal. Salah satu contoh penulisan dari simbol nonterminal yang dimaksud adalah A2. Simbol A2 menyatakan bahwa pada titik tersebut tonal nada yang harus dimainkan adalah approach tone yang bernilai not setengah atau not berdurasi 2 ketukan. Simbol nonterminal ini didapatkan dari masukan user berupa string gambaran umum dari lick. Pada impro-visor, string tersebut disebut sebagai S-expression. Misalkan terdapat masukan S-expression yaitu 8, 8, 8, 8, 4. , 8. Deretan tersebut masing-masing merepresentasikan tonal nada yang harus dimainkan secara berurut yaitu approach, color, scale, color, helpful, scale. Jika disertai dengan akor masukan CM9, maka kemungkinan lick-lick yang dapat dibentukan adalah seperti yang ditunjukkan pada Gambar II-11. Gambar II-11 Lick pada Akor CM9 dari Pola , , , , ., [KEL07] Pembangkitan simbol terminal atau nada-nada improvisasi dari lick diatur sepenuhnya oleh aturan produksi pada grammar. Karena grammar pada sistem impro-visor bersifat nondeterministik, maka akan terdapat lebih dari satu solusi lick yang mungkin dapat dibangkitkan. Untuk mengatasi hal tersebut, maka setiap rule pada aturan produksi diberikan bobot dengan nilai probabilitas yang berbeda-beda. Rule yang memiliki nilai probabilitas yang lebih besar akan cenderung untuk dipilih. Aturan produksi beserta nilai probabilitasnya dapat diubah-ubah oleh pengguna sesuai dengan kebetuhan. Gambar II-12 menunjukkan salah satu contoh aturan produksi melodi dalam bentuk parse tree beserta hasil melodi improvisasi yang dihasilkan berdasarkan progresi akor masukan. II-27 Gambar II-12 Parse-Tree Aturan Produksi dari Impro-Visor [EBE08] 2.4 Pembelajaran Mesin 2.4.1 Definsi dan Konsep Dasar Pembelajaran Mesin Pembelajaran mesin (Machine Learning) merupakan studi mengenai metode komputasional dan pengkonstruksian program komputer yang dapat meningkatkan kinerjanya sendiri secara otomatis berdasarkan pengalaman [SIO09]. Tujuan utama dari pembelajaran mesin adalah bagaimana merancang mesin yang dapat belajar atau meniru proses pembelajaran yang dilakukan oleh manusia. Studi mengenai pembelajaran mesin melibatkan banyak bidang keilmuan antara lain kecerdasan buatan, teori komputasi, probabilitas, statistika, teori informasi, pemrosesan sinyal, filsafat, sistem kontrol, psikologi, biologi, ekonomi, linguistik, fisika, dan sebagainya. Sejak komputer pertama kali ditemukan, ide untuk membuat mesin cerdas atau mesin yang dapat belajar sebagaimana manusia belajar telah dipikirkan oleh para ahli. Saat ini, dengan perkembangan ilmu komputer yang pesat khususnya di bidang AI (Artificial Intelligence), ide untuk membuat mesin cerdas dapat menjadi kenyataan. Adapun berbagai aplikasi dari pembelajaran mesin yang telah berhasil diimplementasikan antara lain program pengenal ucapan kata-kata ([WAI89] dan [LEE89]), program pendeteksi II-28 tingkat kesembuhan pasien pneumonia (Cooper et al. 1997), program data-mining yang mempelajari proses pemonitoran dan pendeteksian kecurangan (fraudulent) transaksi kartu kredit, sistem penyaringan informasi yang mempelajari pola kegiatan membaca dari user, kendaraan setir otomatis (ALVINN) yang dapat mempelajari aktifitas menyetir pada jalan umum disertai keberadaan kendaraan-kendaraan lainnya, dan lainlain. Merujuk kepada cara pembelajaran pada manusia, manusia belajar dengan 2 cara yaitu dengan cara diajarkan atau dengan belajar sendiri (self-discovery). Sebagai analogi pembelajaran dengan cara diajarkan yaitu seorang murid yang sedang belajar hukum newton dari guru fisikanya. Sedangkan, analogi pembelajaran dengan belajar sendiri yaitu seorang peneliti yang sedang melakukan penelitian dan menulis jurnal atau paper. Analogi mengenai cara belajar tersebut juga digagas oleh ilmuwan komputer dan perancang perangkat lunak untuk diterapkan pada mesin. Mesin dapat belajar dengan cara diajarkan, misalnya oleh programmer atau pakar pada bidang spesifik seperti pengacara, dokter, dan sebagainya. Selain itu, mesin juga dapat belajar dengan cara belajar sendiri melalui observasi data, misalnya data dari basis data pemasaran, dari basis data pengelolaan pasien, dan sebagainya, dan mampu untuk menemukan dan mengekstraksi informasi prediktif. Berikut ini definisi formal dari pembelajaran mesin yang dikutip dari [MIT97]. “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.” Dengan demikian, terhadap 3 fitur utama yang harus diidentifikasikan untuk mendefinisikan sebuah masalah pembelajaran yaitu kelas aktifitas(class of tasks), ukuran kinerja(performance measure), dan sumber pengalaman(source of experience). Adapun beberapa metode yang lazim digunakan untuk mengaplikasikan pembelajaran pada mesin yaitu sebagai berikut. • Decision Trees • Artificial Neural Networks (ANN) II-29 • Bayesian Methods • Reinforcement Learning • Inductive Logic Programming (ILP) • Case-Bases Reasoning (CBR) • Genetic Algorithms (GA) • Support Vector Machines (SVM) • Instance-Based Learning (ILB) Pada perkembangan terakhir di dunia pembelajaran mesin, perhatian tertuju pada permasalahan pembangkitan dan penggabungan perihal pengklasifikasian yang berbeda namun masih homogen dengan meggunakan teknik yang disebut bagging, boosting, atau bootstrapping. Teknik-teknik tersebut dibuat untuk mengatasi pembangkitan model yang repetitif di atas data pelatihan yang terus berkembang. Dengan demikian, teknikteknik tersebut dapat mengurangi varian dari model. 2.4.2 Perancangan Sistem Pembelajaran Mesin Perancangan sistem pembelajaran mesin yang tepat terhadap suau permasalahan pembelajaran merupakan kunci keberhasilan mesin untuk meniru proses pembelajaran yang dilakukan oleh manusia dalam mempelajari suatu masalah. Misalnya terdapat perrmasalahan permainan catur yang didefinisikan pada Gambar II-13. Didefinsi permasalahan pembelajaran permainan catur dengan 3 fitur yaitu : • Aktifitas T : bermain catur • Ukuran kinerja P : persentase permainan yang dimenangkan melawan musuh pada turnamen tingkat dunia • Pengalaman pelatihan E : bermain dengan diri sendiri Gambar II-13 Permasalahan Pembelajaran Permainan Catur [MIT97] Adapun berbagai hal yang harus dipertimbangkan dalam melakukan perancangan sistem pembelajaran, yaitu 1. Menentukan Jenis Pengalaman Pelatihan II-30 Jenis pengalaman pelatihan yang dipilih untuk suatu sistem pembelajaran memiliki dampak yang signifikan terhadap suksesnya atau gagalnya sistem pembelajaran. Atribut-atribut dari pemilihan jenis pengalaman pelatihan adalah a. Penentuan umpan balik dari sistem apakah dapat dilakukan secara langsung (direct) atau tidak lansgung (indirect). Sebagai contoh pada pembelajaran mesin dalam bermain catur, sistem pembelajaran dapat belajar dari data pelatihan secara langsung yang terdiri dari status dan langkah-langkah yang benar untuk setiap biji catur. Selain itu, sistem juga dapat belajar secara tidak langsung melalui deretan langkah dan hasil akhir dari beberapa permainan yang dimainkan. Pada kasus terakhir, informasi mengenai kebenaran dari langkah-langkah spesifik harus disimpulkan secara tidak langsung apakah suatu permainan nantinya akan menang atau kalah. Dengan demikian, pembelajaran tidak langsung lebih sulit dilakukan dibandingkan pembelajaran langsung. b. Derajat pengendalian pembelajar terhadap data pelatihan Sebagai contoh pada pembelajaran mesin dalam bermain catur, pembelajar dapat sepenuhnya bergantung kepada tutor untuk memilih status papan permainan dan menyediakan informasi mengenai langkah-langkah yang tepat. Sebagai alternatif, pembelajar dapat mengajukan sendiri papan permainan dan meminta tutor untuk memilih langkah-langkah yang benar atau pembelajar dapat sepenuhnya mengontrol status papan permainan dan klasifikasi pelatihan. c. Seberapa baik pengalaman pelatihan merepresentasikan distribusi data pelatihan yang sesuai dengan ukuran kinerja sistem. Pada umumnya, hasil pembelajaran akan bersifat reliable jika data pelatihan yang bersangkutan memiliki distribusi yang mirip dengan data pengujian. Pada skenario permasalahan permainan catur ini, ukuran kinerja P yang ditentukan adalah persentase permainan yang dimenangkan melawan musuh pada turnamen tingkat dunia. Jika pengalaman pelatihan E hanya mempertimbangkan permainan melawan diri sendiri (lihat Gambar II-13), maka dapat dikatakan bahwa pengalaman pelatihan E tidak begitu representatif terhadap pengujian. II-31 2. Menentukan Fungsi Target Penentuan fungsi target merupakan penentuan secara pasti tipe pengetahuan yang akan dipelajari dan bagaiman tipe pengetahuan tersebut dapat diukur. Sebagai contoh pada program permainan catur yang dapat membangkitkan langkah-langkah yang valid dari sebarang status papan permainan, program perlu untuk mempelajari bagaimana memilih langkah terbaik di antara langkah-langkah yang valid. 3. Menentukan Representasi untuk Fungsi Target Penentuan representasi untuk fungsi target sama halnya dengan penentuan formula yang akan digunakan sistem pembelajar sehingga dapat menerima masukan dan menghasilkan keluaran yang diinginkan. Pada sistem pembelajaran permainan catur, terdapat berbagai alternatif untuk merepresentasikan fungsi target, antara lain misalnya dengan menggunakan tabel yang memetakan status papan permainan dengan sebuah nilai, dengan menggunakan koleksi aturan yang cocok dengan fiturfitur dari papan permainan, dan sebagainya. 4. Menentukan Algoritma Fungsi Aproksimasi Agar sistem yang sudah belajar dapat membuat keputusan terhadap suatu kasus pengujian, diperlukan suatu fungsi aproksimasi untuk memilih fungsi target yang paling sesuai dengan kasus pengujian tersebut. Algoritma untuk fungsi aproksimasi harus dirancang sedemikian rupa sehingga mampu mencari fungsi target hasil pembelajaran yang paling cocok untuk suatu kasus pengujian. 5. Melakukan Perancangan Akhir Berdasarkan pendefinisian permasalahan dan pertimbangkan semua atribut-atribut yang harus dimiliki oleh sistem pembelajaran, dapat dirancang sebuah desain final dari sistem pembelajaran. Pada sistem pembelajaran permainan catur, perancangan akhirnya terdiri dari 4 modul berbeda yang merepresentasikan komponen-komponen utama pada banyak sistem pembelajaran lainnya. Keempat modul tersebut dideskripsikan pada Gambar II-14 II-32 Gambar II-14 Perancangan Akhir dari Sistem Pembelajaran Permainan Catur [MIT97] Dengan demikian, aktifitas-aktifitas yang harus dilakukan pada perancangan suatu sistem pembelajaran, dapat dirangkum dengan Gambar II-15. Gambar II-15 Rangkuman Perancangan Sistem Pembelajaran pada Catur [MIT97] II-33 2.5 MusicXML MusicXML merupakan format penulisan musik yang digunakan pada Tugas Akhir ini sebagai format masukan untuk merepresentasikan musik. MusicXML merupakan format 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. Saat ini banyak perangkat lunak musik sudah mendukung MusicXML sebagai salah satu format yang dapat diolah. Beberapa mendukungnya secara native, yang lain mendukungnya melalui plug-in atau extension yang disediakan pengembangnya atau pihak ketiga. Sebagai alat bantu untuk mengembangkan perangkat lunak yang dapat berinteraksi dengan MusicXML, pustaka untuk mengakses MusicXML dapat dengan mudah ditemukan di internet. Salah satu pustaka untuk mengakses MusicXML adalah MusicXML Library (http://libmusicxml.sourceforge.net). Standar MusicXML dikembangkan dan dikelola oleh Recordare. Spesifikasi MusicXML dipublikasikan oleh Recordare di http://www.musicxml.org/xml.html dalam format XML DTD (Document Type Definition). Recordare mengeluarkan spesifikasi tersebut di bawah lisensi pemakaian MusicXML Document Type Definition Public License Version 1.02 yang mengizinkan penggunaan MusicXML secara bebas. 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). Format penulisan dokumen XML adalah hirarkis, sedangkan musik adalah 2-D. Partwise menuliskan musik dalam ranah 2-D tersebut menjadi hirarkis dengan menjadikan bagian-bagian partitur (misalnya bagian piano, bagian biola 1, biola 2) sebagai pembagi. Masing-masing bagian berisi bar-bar yang berisi not-not dan simbol musik lain. Sedangkan timewise menjadikan bar menjadi acuan. Bagian-bagian musik dituliskan di dalam setiap bar. Berkas file .dtd lainnya berisi definisi setiap simbol musik yang dapat direpresentasikan oleh MusicXML.