• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN DESAIN APLIKASI

4.2 Assembly

Berdasarkan desain yang telah dibuat pada bab III, langkah-langkah pembuatan

aplikasi dan proses simulasi adalah sebagai berikut:

1) Menentukan struktur permainan masing-masing instrumen gamelan

Secara keseluruhan, struktur permainan tiap instrumen gamelan dalam 1

Gambar 4.2 Struktur permainan instrumen gamelan

Keterangan:

bb : bonang barung p : peking bp : bonang penerus kn : kenong

d : demung kp : kempul

s : saron g : gong

Warna biru muda berisi titik-titik merupakan notasi gendhing lancaran. Warna

kuning dengan teks bb merupakan pola permainan bonang barung, warna oranye

dengan teks bp merupakan pola permainan bonang penerus. Pola permainan demung,

saron digambarkan dengan warna merah jambu dan biru, bertuliskan d dan s. Untuk

peking, pola permainannya digambarkan dengan warna biru terang bertuliskan huruf

abu-abu tua dengan teks kp menggambarkan pola permainan kempul, warna abu-abu-abu-abu

menggambarkan pola permainan gong.

Notasi permainan bonang barung dan bonang penerus mengikuti nada angka

terakhir dalam 1 gatra (4 nada). Untuk balungan (demung, saron, peking), notasi

dimainkan sama dengan notasi masukan dari pengguna. Khusus untuk teknik

permainan peking, per notasi dimainkan 2 kali. Notasi untuk kenong diambil dari

nada angka terakhir dalam 1 gatra. Untuk kempul, kecuali gatra pertama dalam 16

notasi, nada kempul diambil dari nada kedua dalam tiap gatra. Gong dimainkan tanpa

harus membuat notasi tersendiri.

Pola permainan tiap instrumen bila diimplementasikan dengan notasi, dalam hal

ini memakai contoh notasi lancaran Suwe Ora Jamu, dapat dilihat pada gambar 4.2

Gambar 4.3 Struktur permainan instrumen gamelan dengan notasi

2) Mempersiapkan sound yang digunakan untuk simulasi

Suara yang telah diperoleh dari perekaman gamelan, dimodifikasi menggunakan

perangkat lunak Cool Edit Pro 2.0, sehingga diperoleh perbandingan panjang sound

seperti terlihat dalam gambar 4.3 berikut:

Untuk lancaran dengan pola permainan balungan nibani, perbandingan panjang

sound masing-masing instrumen gamelan dalam 1 gatra dapat dilihat pada gambar 4.3

berikut: Bonang Barung Bonang Penerus Demung Saron Peking Kenong Kempul Gong

Gambar 4.4 Perbandingan panjang sound instrumen gamelan untuk lancaran

Keterangan:

Bagian berwarna kuning merupakan panjang dari suara (sound) bonang barung. Panjang dari suara bonang barung adalah 0,810 detik. Suara

disimpan dengan nama ”bb_.mp3”. Tanda underscore ( _ ) diganti

dengan salah satu nada antara 1 hingga y7.

• Bagian berwarna oranye merupakan suara dari bonang penerus. Panjang dari suara bonang penerus adalah 0,418 detik. Suara disimpan dengan

nama ”bp_e.mp3”. Tanda underscore ( _ ) diganti dengan salah satu

nada antara 1 hingga y7.

• Bagian berwarna biru tua merupakan panjang dari suara demung. Panjang dari suara demung adalah 0,810 detik. Suara disimpan dengan

nama ”dn_.mp3”. Tanda underscore ( _ ) diganti dengan salah satu nada

antara 1 hingga y7.

• Bagian berwarna biru telur merupakan panjang dari suara saron. Panjang dari suara saron adalah 0,810 detik. Suara disimpan dengan

nama ”sn_.mp3”. Tanda underscore ( _ ) diganti dengan salah satu nada

antara 1 hingga y7.

• Bagian berwarna biru terang merupakan panjang dari suara peking. Panjang dari suara peking adalah 0,810 detik. Suara disimpan dengan

nama ”pn_.mp3”. Tanda underscore ( _ ) diganti dengan salah satu nada

• Bagian berwarna ungu merupakan panjang dari suara kenong. Panjang dari suara kenong adalah 0,810 detik. Suara disimpan dengan

nama ”kn_.mp3”. Tanda underscore ( _ ) diganti dengan salah satu nada

antara 1 hingga y7.

• Bagian berwarna abu-abu tua merupakan panjang dari suara kempul. Panjang dari suara kempul adalah 0,810 detik. Suara disimpan dengan

nama ”kp_.mp3”. Tanda underscore ( _ ) diganti dengan salah satu nada

antara 1 hingga y7.

• Bagian berwarna abu-abu merupakan panjang dari suara gong. Panjang dari suara gong adalah 1,620 detik.

Selain suara tersebut di atas, terdapat beberapa tambahan suara, yaitu suara

diam (sil), panjang dari sil adalah 0,810 detik dan 0,418 detik, dan juga suara

balungan mlaku. Suara balungan mlaku (dalam hal ini demung dan saron) berdurasi

separuh dari durasi suara balungan nibani. Penamaan file untuk demung mlaku

adalah ”dm_.mp3”, sedangkan penamaan file untuk saron mlaku adalah ”sm_.mp3”.

Tanda underscore ( _ ) diganti dengan salah satu nada antara 1 hingga y7.

3) Memproses notasi masukan

Notasi untuk simulasi diperoleh dari masukan nada oleh pengguna. Nada yang

array 2 dimensi, dibagi per gatra. Dari array ini akan dibuat lagi array notasi untuk

masing-masing instrumen gamelan, kecuali gong.

Ilustrasi untuk masukan notasi adalah sebagai berikut:

Notasi masukan dari user diandaikan sebagai berikut:

. 3 . 5 . 6 . 5 . 4 . 2 . 1 . 6

Notasi tersebut akan dimasukkan ke dalam array 2 dimensi, per 4 nada (gatra),

seperti terlihat pada gambar 4.5 berikut:

0 1 2 3

0 . 3 . 5 gatra 1

1 . 6 . 5 gatra 2

2 . 4 . 2 gatra 3

3 . 1 . 6 gatra 4

Gambar 4.5 Ilustrasi array 2 dimensi untuk menyimpan notasi

Dari array 2 dimensi tersebut, dibuat array notasi 1 dimensi untuk tiap-tiap

instrumen gamelan, yaitu sebagai berikut:

Array notasi untuk bonang barung dan bonang penerus dapat dilihat pada

gambar 4.6 berikut:

0 1 2 3 4 5 6 7

0 5 5 5 5 2 2 6 6

Array notasi untuk demung, saron, dan peking dapat dilihat pada gambar 4.7

berikut:

0 1 2 3 4 5 6 7

0 3 5 6 5 4 2 1 6

Gambar 4.7 Ilustrasi array 1 dimensi untuk menyimpan notasi demung, saron,

dan peking

Array notasi untuk kenong dapat dilihat pada gambar 4.8 berikut:

0 1 2 3 4 5 6 7

0 diam 5 diam 5 diam 2 diam 6

Gambar 4.8 Ilustrasi array 1 dimensi untuk menyimpan notasi kenong

Array notasi untuk kempul dapat dilihat pada gambar 4.9 berikut:

0 1 2 3 4 5 6 7

0 diam diam 6 diam 4 diam 1 diam

Gambar 4.9 Ilustrasi array 1 dimensi untuk menyimpan notasi kempul

Bonang barung dan bonang penerus mengambil nada terakhir dari gatra, dalam

hal ini mengambil nada array[x][3]. Perintah yang digunakan untuk mengambil nada

Demung, saron, dan peking mengambil nada sama dengan notasi angka. Notasi

titik dianggap perpanjangan nada. Logika yang digunakan untuk pembuatan notasi

demung, saron dan peking adalah sebagai berikut:

• Aplikasi akan membaca notasi masukan,

• Jika notasi masukan yang dibaca sekarang (notasi[x][y]) adalah titik (.), aplikasi akan membaca 1 notasi di depan notasi yang dibaca sekarang

(1]). Jika 1] merupakan angka, maka

notasi[x][y-1] akan diperpanjang. Diperpanjang di sini dalam arti memanggil file

suara balungan nibani. Jika notasi[x][y-1] merupakan titik, array

balungan akan ditambah dengan suara diam (sil).

private function createArrayBonangBarung(in_gatra:Array):String { var kolom:Number = 3;

var cektrue:Boolean = true;

cektrue = createArrayBonangBarungHelper(kolom, in_gatra[kolom]); while (cektrue) { if (kolom>0) { kolom = kolom-1; cektrue = createArrayBonangBarungHelper(kolom, in_gatra[kolom]); } else { return "."; } }

trace("notasi akhir barung: "+in_gatra[kolom]); return in_gatra[kolom];

}

/*--- function untuk mengecek notasi berupa titik ato angka ---*/ private function createArrayBonangBarungHelper(in_kolom:Number,

in_notasi:String):Boolean { if (in_notasi == ".") { return true; } else { return false; } }

• Jika notasi sekarang (notasi[x][y]) merupakan angka, aplikasi akan membaca 1 notasi di belakang notasi yang dibaca sekarang

(notasi[x][y+1]). Jika notasi[x][y+1] merupakan angka, maka array

balungan akan ditambah dengan suara balungan mlaku. Jika

notasi[x][y+1] merupakan titik (.), array balungan akan diisi dengan

suara balungan nibani dengan nada notasi[x][y].

Implementasi logika tersebut adalah sebagai berikut:

/*--kalo notasi sekarang adalah titik--*/

if (inputnotasi[iterasi_baris][iterasi_kolom] == ".") { /*--lihat kolom sebelumnya, kalo kolom sebelumnya = "."--*/ if (inputnotasi[lihatbaris][lihatkolom] == ".") {

saronQueue_array.push(sil_saron); saronQueue_arrayString.push(" "); } else {

/*--klo kolom sebelumnya bukan titik--*/ continue;

} //end if kolom sebelumnya adalah "." } else {

/*--kalo notasi sekarang adalah angka--*/

/*--lihat kolom sesudahnya, kalo kolom sesudahnya = titik--* if (inputnotasi[lihatbaris][lihatkolom] == ".") {

if (inputnotasi[iterasi_baris][iterasi_kolom] == "1") {

/*-- kalo notasi sekarang adalah 1, buat notasi 1 balungan nibani --*/ saronQueue_array.push(sn1); demungQueue_array.push(dn1); pekingQueue_array.push(pn1); saronQueue_arrayString.push("1"); demungQueue_arrayString.push("1"); pekingQueue_arrayString.push("1"); } else if (inputnotasi[iterasi_baris][iterasi_kolom] == "2") { } ...

Kenong mengambil nada terakhir dari gatra (array[x][3]), dan kempul

mengambil nada kedua dari tiap gatra, dimulai dari gatra kedua tiap 1 putaran 16

hitungan (array[x][1]).

Perintah untuk membentuk array notasi kenong sama dengan perintah untuk

membentuk array notasi bonang, karena baik kenong maupun bonang memakai nada

terakhir dari gatra. Untuk pembentukan notasi kempul, perintah yang digunakan

adalah sebagai berikut:

} else {

//klo kolom sesudahnya adalah angka

if (inputnotasi[iterasi_baris][iterasi_kolom] == "1") {

/*-- kalo notasi sekarang adalah 1, buat notasi 1 balungan mlaku --*/ saronQueue_array.push(sm1); demungQueue_array.push(dm1); pekingQueue_array.push(p1); saronQueue_arrayString.push("1"); demungQueue_arrayString.push("1"); pekingQueue_arrayString.push("1"); } else if (inputnotasi[iterasi_baris][iterasi_kolom] == "2") { /*-- kalo notasi sekarang adalah 2, buat notasi 2 balungan mlaku --*/

saronQueue_array.push(sm2); demungQueue_array.push(dm2);

//dan seterusnya hingga notasi adalah 7

4) Memainkan array notasi

Struktur data yang digunakan untuk proses memainkan notasi ini menggunakan

struktur data antrian. Program akan memainkan suara satu per satu sesuai dengan

urutan array notasi. Suara yang dimainkan dipanggil dari luar program (external

sound).

Perintah yang digunakan adalah (contoh script program – memainkan array

suara saron):

private function createArrayKempul(in_gatra1:Array,

in_gatra2:Array):String { var kolom:Number = 1;

var baris:Number = 1;

var cektrue:Boolean = true;

cektrue = createArrayBonangBarungHelper(kolom,

in_gatra1[kolom]); while (cektrue) {

if (baris == 1) {

//baris sekarang = baris ke-1, baris sblom sekarang = baris ke-0 if (kolom>0) { kolom = kolom-1; cektrue = createArrayBonangBarungHelper(kolom, in_gatra1[kolom]); } else { kolom = 3; baris = 0; } } else { if (kolom>=2) { cektrue = createArrayBonangBarungHelper(kolom, in_gatra2[kolom]); kolom--; } else { return "."; } } } return in_gatra1[kolom]; }

Perintah:

digunakan untuk memanggil suara dari luar program. Suara ditempatkan dalam

folder ”saron”. Suara yang dimainkan adalah suara saron index ke-x.

Setelah sebuah suara selesai dimainkan, program akan mengecek suara

berikutnya dalam array. Jika dalam array masih ada suara yang harus dimainkan,

program akan memainkan suara tersebut.

Suara masing-masing instrumen disimpan dalam folder-folder. Suara instrumen

bonang barung ditempatkan dalam folder ”barung”, suara instrumen bonang penerus

ditempatkan dalam folder ”penerus”, suara instrumen demung ditempatkan dalam

folder ”demung”, suara instrumen saron ditempatkan dalam folder ”saron”, suara

instrumen peking ditempatkan dalam folder ”peking”, suara instrumen kenong

ditempatkan dalam folder ”kenong”, suara instrumen kempul ditempatkan dalam

folder ”kempul”, dan suara instrumen gong ditempatkan dalam folder ”gong”.

my_sound.onSoundComplete = function() { my_sound.loadSound("saron/" + arraynotasisaronString[arraynotasisaronString.currentIndex] + ".mp3", true); }; my_sound.loadSound("saron/" + arraynotasisaronString[arraynotasisaronString.currentIndex] + ".mp3", true); my_sound.loadSound("saron/" + arraynotasisaronString[arraynotasisaronString.currentIndex] + ".mp3", true);

Alur arsitektur aplikasi terlihat pada gambar 4.10 berikut:

Gambar 4.10 Alur arsitektur aplikasi simulasi

Aplikasi dijalankan dari home.exe. Bila pengguna memilih untuk melakukan

simulasi gendhing, alur yang terjadi adalah home akan memanggil file

CreateNotasiJogja.as, kemudian dari CreateNotasiJogja, suara untuk tiap-tiap

instrumen dipanggil untuk dimainkan kembali di CreateNotasiJogja. Bila pengguna

memilih untuk melakukan demo gendhing, home akan memanggil file

DemoGendhingJogja.as. Dari sini akan dipanggil CreateNotasiJogja.as, kemudian

dilakukan pemanggilan suara masing-masing instrumen berdasarkan notasi gendhing

Dokumen terkait