BAB 2 LANDASAN TEORI
2.1. Inteligensia Semu Teori mengenai inteligensia semu akan dibagi menjadi sejarah inteligensia semu, definisi inteligensia semu, inteligensia semu dan kecerdasan alami dan komputasi inteligensia semu dan komputasi konvensional dan akan dijabarkan dalam sub-bab di bawah ini.
2.1.1. Sejarah Inteligensia Semu Inteligensia semu termasuk bidang ilmu yang relatif muda. Pada tahun 1950-an para ilmuwan dan peneliti mulai memikirkan bagaimana cara suatu mesin dapat melakukan pekerjaan seperti yang dikerjakan oleh manusia. Tes untuk mengetahui dapat tidaknya suatu mesin dikatakan cerdas pertama kali diusulkan oleh Alan Turing, seorang matematikawan dari Inggris. Hasil tes tersebut kemudian dikenal dengan nama Turing Test, dimana mesin tersebut menyamar sebagai manusia di dalam suatu permainan yang mampu memberikan respon terhadap serangkaian pertanyaan yang diberikan kepadanya. Turing beranggapan bahwa apabila suatu mesin dapat meyakinkan manusia, bahwa dirinya berkomunikasi dengan manusia lain maka dapat dikatakan bahwa mesin tersebut cerdas (http://en.wikipedia.org/wiki/Alan_Turing.htm). Inteligensia semu itu sendiri dimunculkan pada tahun 1956 oleh seorang profesor dari Massachusetts Institute of Technology bernama John McCarthy di hadapan para peneliti AI yang menghadiri Dartmouth Conference. Pada konferensi tersebut juga didefinisikan tujuan utama dari inteligensia semu, yaitu mengetahui dan memodelkan 6
7 proses – proses berfikir manusia dan mendesain mesin agar dapat menirukan kelakuan manusia tersebut. Beberapa program inteligensia semu mulai dibuat pada tahun 1956, antara lain Logic Theorist yang diperkenalkan pada Dartmouth Conference. Program ini dapat membuktikan teorema–teorema matematika. Kemudian ada Sad Sam, yang dibuat oleh Robert K. Lindsay pada tahun 1960. Program ini dapat mengetahui kalimat–kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu memberikan jawaban dari fakta–fakta yang didengar dalam sebuah percakapan. Program ELIZA yang dibuat oleh Joseph Weizenbaum pada tahun 1967 mampu memberikan terapi teradap pasien dengan cara mengajukan beberapa pertanyaan.
2.1.2. Definisi Inteligensia Semu Terdapat beberapa definisi yaang berbeda dari para ahli mengenai inteligensia semu, di antaranya adalah sebagai berikut : Menurut Rich dan Knight (1991, p3), inteligensia semu adalah salah satu bagian dari ilmu komputer yang membuat komputer dapat melakukan pekerjaan seperti manusia dan sebaik manusia. Menurut Turban dan Frenzel (1992, p3), inteligensia semu adalah cabang dari ilmu komputer yang mengarah pada pembuatan piranti lunak dan piranti keras dengan tujuan menghasilkan sesuatu seperti yang dihasilkan oleh pola pikir manusia. Menurut Luger dan Stubblefield (1993, p1), inteligensia semu adalah suatu cabang dari ilmu komputer yang berusaha memberikan kecerdasan kepada komputer dengan teori dan prinsip-prinsip terapan termasuk penggunaan data terstruktur dalam
8 mempresentasikan suatu informasi, algoritma untuk memanipulasi informasi dan bahasa serta teknik pemrograman yang selanjutnya untuk pengimplementasian. Menurut Jackson (1999, p15), inteligensia semu adalah bagian dari ilmu komputer yang berhubungan dengan pertancangan sistem komputer inteligensi. Menurut Winston (1992, p1), inteligensia semu adalah suatu ilmu komputasi yang memungkinkan komputer untuk menanggapi, menalar, dan bertindak seperti manusia. Pada awal diciptakan, komputer hanya digunakan sebagai alat berhitung saja. Namun, seiring dengan perkembangan zaman, peran komputer semakin mendominasi kehidupan manusia. Komputer tidak lagi digunakan hanya sebagai alat berhitung, tetapi juga diberdayakan untuk mengerjakan segala sesuatu yang dapat dilakukan oleh manusia. Manusia mampu menyelesaikan segala permasalahan yang ada di dunia ini karena manusia memiliki pengetahuan dan pengalaman. Pengetahuan dan pengalaman tersebut diperoleh melalui suatu proses pembelajaran. Semakin banyak pengetahuan yang dimiliki manusia, maka diharapkan akan lebih mampu menyelesaikan permasalahan yang dihadapi. Namun ternyata pengetahuan dan pengalaman saja tidak cukup. Manusia juga memerlukan suatu penalaran untuk mengambil keputusan dalam menyelesaikan permasalahan berdasarkan pengetahuan dan pengalaman yang manusia miliki. Manusia yang memiliki banyak pengetahuan dan pengalaman, apabila tidak memiliki daya penalaran yang baik akan sulit menyelesaikan permasalahannya. Agar komputer dapat bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan kemampuan untuk menalar. Pengertian inteligensia semu dapat dipandang dari berbagai sudut pandang, antara lain sudut pandang inteligensia itu sendiri, sudut pandang penelitian, sudut
9 pandang bisnis, dan sudut pandang pemrograman. Dari sudut pandang inteligensia, inteligensia semu diharapkan dapat membuat komputer menjadi lebih ‘cerdas’, mampu melakukan seperti apa yang dilakukan oleh manusia. Dari sudut pandang penelitian, inteligensia semu adalah suatu ilmu bagaimana membuat komputer dapat melakukan sesuatu sebaik yang dilakukan oleh manusia. Dari sudut pandang bisnis inteligensia semu adalah suatu kumpulan peralatan yang sangat bermanfaat dan metodologis dalam menyelesaikan masalah–masalah yang berhubungan dengan bisinis. Dan dari sudut pandang pemrograman inteligensia semu merupakan suatu ilmu tentang pemrograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching). Untuk melakukan aplikasi kecerdasan buatan ada dua bagian utama yang sangat dibutuhkan seperti yang terlihat pada Gambar 2.1, yaitu : a. Basis Pengetahuan (Knowledge Base), berisi fakta–fakta, teori, pemikiran, dan hubngan antara satu dengan lainnya. b. Motor Inferensi (Ineference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.
Komputer Input: masalah, pertanyaan, dll
Basis Pengetahuan
Motor Inferensi
output: jawaban, solusi
Gambar 2.1 Penerapan Konsep Kecerdasan Buatan di Komputer
10 Beberapa task domain dari inteligensia semu yaitu (Rich dan Knight, 1991, p3) : a. Mundane Task -
Persepsi (vision dan speech).
-
Bahasa alami (understanding, generation, dan translation).
-
Pemikiran yang bersifat commonsense.
-
Robot control.
b. Formal Task -
Permainan / games.
-
Matematika (geometri, logika, kalkulus, integral, pembuktian).
c. Expert Task -
Analisis finansial.
-
Analisis medikal.
-
Analisis ilmu pengetahuan.
-
Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur).
2.1.3. Inteligensia Semu dan Kecerdasan Alami Menurut Turban dan Frenzel (1992, p9), jika dibandingkan dengan kecerdasan alami, inteligensia semu memiliki beberapa keuntungan secara komersial antara lain : a. Inteligensia semu lebih bersifat permanen dan konsisten sedangkan kecerdasan alami bersifat sementara dan berubah–ubah. Hal ini dimungkinkan karena daya pikir dan daya ingat manusia yang sering pula berubah–ubah, sedangkan pada program komputer selama program tersebut tidak dirubah maka akan tetap seperti itu. b. Inteligensia semu lebih mudah dipublikasikan dan disebarkan. Pengetahuan yang terletak di suatu sistem komputer dapat dengan mudah disalin ke sistem komputer
11 yang lain, sedangkan menyampaikan pikiran dan pengetahuan manusia ke manusia lain lebih membutuhkan waktu dan proses yang lama dan lebih sulit dikarenakan daya pikir manusia yang berbeda–beda. c. Inteligensia semu lebih murah dibandingkan kecerdasan alami. Menggunakan suatu program komputer dalam menyelesaikan suatu pekerjaan tertentu akan lebih murah, lebih cepat dan lebih mudah dibandingkan bila menggunakan tenaga kerja manusia. d. Inteligensia semu dapat didokumentasikan sedangkan kecerdasan alami sulit untuk direproduksi.
2.1.4. Komputasi Inteligensia Semu dan Komputasi Konvensional Terdapat beberapa perbedaan antara komputasi yang dilakukan pada kecerdasan buatan dan komputasi konvensional. Perbedaan tersebut dapat dilihat pada Tabel 2.1 .
Tabel 2.1 Kecerdasan Buatan Vs. Pemrograman Konvensional Dimensi
Kecerdasan Buatan
Pemrograman Konvensional
Pemrosesan
Mengandung konsep-
Algoritmik
konsep simbolik Sifat Input
Bisa tidak lengkap
Harus lengkap
Pencarian
Kebanyakan bersifat
Biasanya didasarkan pada
heuristik
algoritma
Keterangan
Disediakan
Biasanya tidak disediakan
Fokus
Pengetahuan
Data dan informasi
12 Struktur
Kontrol dipisahkan dari
Kontrol terintegrasi dengan
pengetahuan
data
Sifat Output
Kuantitatif
Kualitatif
Pemeliharaan dan Update
Relatif murah
Sulit
Kemampuan menalar
Ya
Tidak
(Sumber tabel : Kusumadewi, 2003, p5.)
2.2. Neural Network Menurut Russel dan Norvig (1995, p737), neural network adalah susunan dari beberapa node atau unit, yang saling beruhubungan, di mana pada tiap-tiap hubungan ini terdapat nilai bobot (weight) tertentu. Neural network sering dikenal dengan berbagai istilah, antara lain, yaitu Parallel Distributed Processing (pertama kalinya Neural Network dikembangkan dengan nama ini), Connectionist Models, Human-like Brain Processing, Neuro Computing, Neural Networks, Artificial Neural Systems. Kata neuron sendiri berarti node. Otak manusia memiliki 1011 neuron di mana masing-masing neuronnya berhubungan dengan 104 neuron lainnya melalui synapsis. Sehingga jumlah sambungan/synapsis yang terdapat dalam jaringan otak manusia adalah 1015. Neural Network Back Propagation dikembangkan oleh ilmuwan komputer Amerika bernama Paul Werbos (1974), David Parker (1984/1985), Rumelhart, Hinton, & Williams (1986), serta McClelland & Rumelhart (1988).
13 2.2.1. Konsep Dasar Neural Network Menurut Fausett(1994, p3), pemrosesan informasi pada Neural Network mengambil analogi seperti halnya pada neuron biologis. Setiap neuron menerima sinyalsinyal dari neuron lain melalui sambungan yang disebut synapsis. Sebagian sinyal input cendrung menyebabkan neuron terhambat atau terlemahkan (inhibited). Ketika efek kumulatif dari sinyal tersebut melebihi suatu batas threshold, neuron yang bersangkutan akan menembakkan sinyal ke neuron lainnya. Sebuah neuron tunggal atau konsep Neural Network, digambarkan dalam bentuk node yang menerima sinyalsinyal input dan menghasilkan output dengan proses tersebut di atas, dan karenanya sering pula disebut sebagai summing device. Sinyal neuron yang dimaksud digambarkan pada Gambar 2.2 berikut: X1 W1
X2
X3
W2
W3
Y
f
summing device
Net Output
threshold
Input
(Sumber: Fausett, 1994 p.4) Gambar 2.2 Sinyal pada Neuron Model komputasinya dapat dituliskan sebagai berikut: Y = X1W1 + X2W2 + X3W3 + … + XnWn n
Y = Σ XiWi i=1
Net Ouput = f(Y)
14 f disebut sebagai fungsi aktivasi, sedangkan Net Output merupakan level aktivasi dan Wi adalah weight/bobot yang menunjukkan kekuatan synapsis. Neural Network merupakan sebuah sistem pemrosesan informasi yang memiliki karakteristik serupa dengan jaringan neural biologis. Karakteristik yang diadopsi antara lain: •
Jumlah yang besar dari processing element atau neuron.
•
Neuron-neuron bekerja secara paralel.
•
Memiliki sifat fault tolerance.
Fungsi dan kinerja Neural Network sebagai sebuah sistem sangat tergantung tiga hal: •
Karakteristik neuron: Terkait dengan fungsi aktivasi yang digunakan.
•
Topologi network: Bagaimana sejumlah neuron dalam sistem atau model NN dihubungkan.
•
Learning rules: Aturan-aturan pembelajaran yang digunakan.
Beberapa model atau arsitektur atau struktur Neural Network : •
Multilayer networks (Back Propagation).
•
Bidirectional Associative Memory (BAM).
•
Self-Organizing Map (SOM).
Beberapa learning rules yang terkait dengan ketiga model diatas : •
Error Correction Learning Rules.
•
Hebbian Learning Rules.
•
Kohonen Map.
15 2.2.2. Arsitektur Neural Network Menurut Haykin (1999, p21), neuron-neuron seringkali diatur atau ditata sedemikian rupa dalam bentuk layer atau lapisan. Pada umumnya neuron-neuron yang berada pada satu layer berperilaku sama. Faktor-faktor penting yang menentukan perilaku sebuah neuron adalah fungsi aktivasi dan pola-pola koneksi bobot baik itu sinyal input maupun sinyal output. Dalam satu layer, umumnya setiap neuron memiliki fungsi aktivasi dan juga pola koneksi bobot tersebut. Pengaturan neuron-neuron ke dalam layer-layer dan pola-pola koneksinya disebut Arsitektur Neural Network. Neural Network sering diklasifikasikan sebagai single layer atau multi layer. Dalam penentuan jumlah layer, input unit tidak dihitung sebagai layer, karena tidak melakukan komputasi. Dengan demikian, jumlah layer pada Neural Network dapat didefinisikan sebagai “Jumlah layer-layer koneksi bobot antara dua unit lapisan”. Ilustrasi dari single layer network adalah seperti pada Gambar 2.3 berikut: W11
X1
W1m
X2
W1j
W21
W22 W2m
Xi Xn
Wi1 Wim Wn1
W12
Wi2 Wn2
W2j Wij
Y1 Y2 Yj
Wnj Wnm
Ym
One layer of Weight -> akan disimpan dalam bentuk MATRIKS BOBOT
(Sumber: Fausett, 1994 p.13) Gambar 2.3. Single layer Network
16 Suatu single layer networks memiliki satu layer koneksi bobot seperti terlihat pada gambar/ilustrasi tersebut. Ilustrasi dari multi layer network adalah seperti pada gambar 2.4 sebagai berikut: V11
X1
V1p V21
X2
V2p Vi1
Xi
Z1
V12 V1j
W12 W1m
V22
W21
Z2
V2j Vi2
Y1
W1k W22
W2k
W2m
Y2
Wj1 Wj2
Vij
Zj
Vip Vn1
Xn
W11
Vn2
Wjm
Wjk Wp2
Wp1
Vnj
Zp
Vnp
Dimensi n X=(X1,X2,…,Xn)
Yk
Wpk
Ym
Wpm
Dimensi p Z=(Z1,Z2,…,Zp)
One layer of weight V = [n x p]
hidden unit
Dimensi m Y=(Y1,Y2,…,Ym)
One layer of weight W = [p x m]
(Sumber: Fausett, 1994 p.13) Gambar 2.4. Multi Layer Network Multi layer network merupakan network dengan arsitektur yang terdiri dari dua atau lebih layer-layer dari koneksi bobot. Dengan kata lain, multi layer network memiliki satu atau lebih hidden unit. Dengan demikian, multi layer networks memiliki satu output unit. Multi layer networks dapat memecahkan masalah-masalah yang lebih kompleks dibanding single layer networks. Namun training pada multilayer networks lebih sulit dilakukan, walau lebih besar peluang keberhasilannya.
17 2.2.2.1. Inisialisasi Bobot Secara Umum Menurut Fausett(1994, p.15), metode untuk memberi nilai-nilai bobot koneksi disebut juga “training”. Training merupakan hal yang sangat penting yang membedakan karakter Neural Network yang berbeda. Inisialisasi bobot, yaitu masukan ke unit tersembunyi, dirancang agar dapat meningkatkan kemampuan dari unit tersembunyi pada tahap pembelajaran. Inisialisasi dilakukan dengan mendistribusikan bobot awal untuk tiap pola masukan, sehingga jaringan akan memasukkan bobot awal ke dalam salah satu unit tersembunyi yang nilainya akan berada dalam rentang dimana unit tersembunyi akan melakukan pembelajaran secara cepat. Inisialisasi bobot yang terlalu besar mengakibatkan sinyal masukan yang telah diinisialisasikan akan jatuh pada daerah dimana turunan dari fungsi sigmoid mempunyai nilai yang sangat kecil (daerah saturasi). Sedangkan jika inisialisasi awal bobot terlalu kecil, masukan yang menuju unit tersembunyi atau unit keluaran akan mendekati nol, dan akam menyebabkan proses pembelajaran menjadi sangat lambat.
2.2.2.2. Fungsi Aktivasi Fungsi aktivasi adalah suatu fungsi yang memproses nilai input untuk menghasilkan suatu nilai output (http://www.heatonresearch.com/lexicon/activationfunction.html). Operasi dasar pada sebuah neuron mencakup penjumlahan bobot (weight) dari sinyal input dan menghasilkan output serta mengaplikasikan fungsi aktivasi untuk input unit, digunakan semua neuron, khususnya pada input unit. Pada berbagai kasus,
18 umumnya digunakan fungsi aktivasi non-linear. Fungsi-fungsi aktivasi yang sering digunakan dalam Neural Network adalah: a. Fungsi identitas: f(x) = x
(2.1)
Digunakan pada neuron-neuron input unit. b. Fungsi tangga biner (biner step function): f(x) = 1, jika x > = θ
(2.2)
f(x) = 0, jika x < θ
(2.3)
di mana θ adalah suatu nilai threshold. Fungsi ini digunakan untuk mengubah input bersih (net input) yang merupakan bariabel kontinu, menjadi output bernilai biner (0 dan 1). Nilai threshold θ menjadi garis pemisah antara daerah dengan respons aktivasi positif dan negatif. c. Fungsi tangga bipolar (bipolar step function): f(x) = 1, jika x > = θ
(2.4)
f(x) = -1, jika x < θ
(2.5)
Fungsi tangga bipolar serupa dengan fungsi tangga biner, hanya saja memiliki daerah hasil {-1,1}. d. Fungsi sigmoid biner. Fungsi ini mencakup fungsi-fungsi berbentuk kurva S. Yang sering digunakan adalah fungsi logistik karena memiliki kelebihan dalam melatih (training) pada neural network yang menggunakan algoritma Back Propagation. Fungsi logistik sigmoid yang dimaksud adalah σ = 1.
19 f(x) =
1
1 + e-σx
(2.6)
di mana σ merupakan parameter kecuraman yang diberikan, umumnya σ dipilih sama dengan 1. Turunan pertama fungsi ini: f’(x) = σ f(x) [1 – f(x)]
(2.7)
dengan daerah hasil interval 0 sampai dengan 1. Implikasi tidak langsung yang bisa disimpulkan bahwa dalam neural network, nilai-nilai input berupa vektor dan elemen-elemennya, nilai-nilainya terkait dengan fungsi aktivasi yang digunakan. e. Fungsi sigmoid bipolar Fungsi sigmoid biner bisa diskalakan sehingga memiliki daerah hasil pada sembarang interval sesuai dengan permasalahan yang diberikan. Yang paling umum adalah daerah hasil dari -1 sampai dengan 1. Fungsi hasil perkalian ini disebut dengan fungsi sigmoid bipolar. Jika f(x) adalah fungsi sigmoid biner dan g(x) adalah fungsi sigmoid bipolar, maka: f(x) =
1
1 + e-σx
(2.8)
g(x) = 2f(x) – 1 g(x) =
2
(2.9) -1
1 + e-σx
(2.10)
g(x) = 1-ex 1+ex g’(x) = (σ/2) [1+g(x)] [1-g(x)]
(2.11) (2.12)
20 2.2.3. Neural Network Back Propagation Menurut Fausett(1994, p.15), pattern association adalah bentuk spesial lain dari sebuah pemetaan masalah, di mana hasil yang diinginkan bukanlah berupa ya atau tidak, melainkan merupakan sebuah pola. Neural Network Back Propagation merupakan bagian dari Supervised training, di mana pada training jenis ini, hasil training didapatkan dari sebuah urutan dari beberapa vektor-vektor training atau pola, masing-masing dengan target output vektor yang juga berhubungan. Neural Network Back Propagation membandingkan perhitungan keluaran jaringan saraf tiruan dengan target keluaran dan menghitung nilai error untuk setiap unit pada jaringan. Jaringan saraf tiruan menyesuaikan bobot pada link dengan nilai error setiap unit, dimulai dari hubungan antara lapisan tersembunyi dan lapisan keluaran terakhir. Setelah jaringan melakukan pembaruan bobot pada sejumlah hubungan, jaringan menghitung nilai error untuk lapisan sebelumnya dan melakukan penyesuaian. Algoritma Neural Network Back Propagation diteruskan dengan menyesuaikan seluruh bobot antara lapisan tersembunyi dan lapisan masukan Proses pelatihan menggunakan Neural Network Back Propagation terdiri dari proses feedforward, backpropagation-error (perhitungan error propagasi balik), dan update weight (pembaruan nilai bobot). Satu siklus pembelajaran melewati tiga tahap tersebut, disebut dengan 1(satu) epoch. Semakin banyak pembelajaran yang dilakukan maka akan semakin kecil pula tingkat error yang dihasilkan di lapisan keluaran, dan dengan demikian semakin kecil juga error suatu sistem. Algoritma pelatihan Neural Network Back Propagation adalah sebagai berikut : Langkah 0 :
Inisialisasi bobot
Langkah 1 :
Selama kondisi berhenti false, lakukan langkah 2-9
21 Langkah 2 :
Untuk setiap pasangan data pelatihan, lakukan langkah 3-9
Feedforward (langkah maju) : Langkah 3 :
Setiap unit input (Xi , i = 1, ..., n) menerima sinyal input xi dan meneruskan sinyal tersebut ke semua unit pada lapisan di atasnya (hidden layer).
Langkah 4 :
Setiap unit tersembunyi (Zj , j = 1, ..., p) menjumlahkan sinyal – sinyal input berbobot, n
z _inj = v0j + ∑ xi vij
(2.13)
i=1
gunakan fungsi aktivasi untuk menghitung sinyal outputnya.
zj = f (z _inj )
(2.14)
dan kirikan sinyal tersebut ke semua unit di lapisan atasnya (unit – unit output). Langkah 5 :
Setiap unit output (Yk , k = 1, ..., m) menjumlahkan sinyal – sinyal input terbobot, p
y _ink = w0k + ∑ zj wjk
(2.15)
j=1
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya,
yk = f (y _ink )
(2.16)
22 Backward (langkah mundur) : Langkah 6 :
Tiap – tiap unit output (Yk , k = 1, ..., m) menerima pola target yang berhubungan dengan pola input pembelajaran, hitung informasi errornya,
δk = (tk – yk ) f’ (y _ink )
(2.17)
hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk),
∆ wjk = α δk zj
(2.18)
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k),
∆ w0k = α δk
(2.19)
Dan kirimkan nilai δk ke unit – unit yang ada di lapisan bawahnya. Langkah 7 :
Setiap unit tersembunyi (Zj , j = 1, ..., p) menjumlahkan delta inputnya (dari unit yang berada pada lapisan atasnya). m
δ _inj = ∑ δk wjk
(2.20)
k=1
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi errornya,
δj = δ _inj f’ (z _inj )
(2.21)
23 kemudian hitung koreksi bobot (yang nantinya digunakan untuk memperbaiki nilai vij),
∆ vij = α δj xi
(2.22)
Hitung juga koreksi bias (yang nantinya digunakan untuk memperbaiki nilai v0j),
∆ v0j = α δj
(2.23)
Perbaikan bobot dan bias : Langkah 8 :
Setiap unit output (Yk , k = 1, ..., m) memperbaiki bobot dan biasnya ( j = 0, ..., p),
wjk (baru) = wjk (lama) + ∆ wjk
(2.24)
Setiap unit tersembunyi (Zj , j = 1, ..., p) memperbaiki bobot dan biasnya (i = 0, ..., n),
vij (baru) = vij (lama) + ∆ vij
(2.25)
Langkah 9 : Tes kondisi berhenti Sebuah Neural Network Back Propagation yang baik membutuhkan lebih dari sekedar sebuah algoritma pembelajaran (Yun, 2001). Maka, untuk mendapatkan performa Neural Network Back Propagation yang baik, ada beberapa parameter seperti epoch, kecepatan pembelajaran, lapisan tersembunyi dan jumlah unit tersembunyi yang harus dipilih secara selektif untuk memperbaiki kelemahan-kelemahan pada Neural Network Back Propagation, antara lain :
24 1. Epochs Satu epoch berarti satu kali siklus pembelajaran (Yun, 2001, p17). Jumlah epoch menunjukkan kecepatan sistem. Semakin banyak epoch yang dibutuhkan dalam mencapai target error, berarti kerja sistem akan semakin lama, begitu pula sebaliknya. Pemberian batas epoch yang besar berarti meningkatkan akurasi arsitektur, namun membutuhkan waktu pembelajaran yang lebih lama. Begitu pula sebaliknya. 2. Kecepatan Pembelajaran Kecepatan pembelajaran (learning rate) digunakan untuk mengontrol perubahan nilai bobot, dengan nilai koefisien berkisar antara 0 dan 1. Semakin tinggi nilai kecepatan pembelajaran yang digunakan akan menyebabkan perubahan yang semakin besar pada bobot, sehingga pembelajaran menjadi kurang baik. Sedangkan, dengan
tingkat
kecepatan
pembelajaran yang rendah akan menghasilkan
pembelajaran yang akurat namun prosesnya menjadi sangat lambat (Sarle, 2004). Kecepatan pembelajaran yang baik akan memberikan hasil yang efektif, namun bersifat relatif untuk suatu sistem. Jadi kecepatan pembelajaran yang baik untuk sebuah sestem belum tentu baik untuk sistem yang lain. 3. Inisialisasi Bobot dalam Neural Network Back Propagation Prosedur umum dalam inisialisasi nilai awal bobot (dan bias) adalah dengan nilai acak antara -0.5 dan 0.5 (atau antara -1 dan 1). Inisialisasi nilai awal bobot Nguyen-Widrow merupakan suatu modifikasi dalam memberikan nilai awal bobot yang akan membantu Neural Network Back Propagation melakukan proses pembelajaran lebih cepat. Percobaan yang dilakukan oleh Laurene Fausett (Fausett, 1994, p302) mengenai permasalahan XOR membuktikan hal ini. Dari Tabel 2.2
25 terlihat bahwa percobaan dengan algoritma Nguyen-Widrow memiliki banyak epoch yang jauh lebih sedikit daripada percobaan tanpa algoritma Nguyen-Widrow. Tabel 2.2 : hasil percobaan XOR oleh Laurene Fausett Origin (epochs)
After Modification with Nguyen–Widrow (epochs)
Biner XOR
2,891
1,935
Bipolar XOR
387
224
Inisialisasi bobot awal Nguyen-Widrow dapat dihitung dengan menggunakan algoritma sebagai berikut : untuk setiap unit tersembunyi ( j = 1,..., p ) , inisialisasikan niali vektor bobot dari unit tersembunyi v ij (lama) dengan nilai acak antara -0.5 sampai 0.5 atau − y sampai dengan y , dimana y adalah rentang yang telah ditentukan oleh perancang sistem. Setelah itu, hitung nilai vj (old ) (normalisasi), menggunakan rumus normalisasi :
X p=
a
⎡n ⎢∑ ⎣i =1
1
Xi
p⎤ n
⎥ ⎦
(2.26)
dan hitung nilai β menggunakan rumus:
β = 0.7( p )1n = 0.7n p
(2.27)
baru kemudian nilai bobot baru antara lapisan masukan dan lapisan tersembunyi dapat diinisialisasikan dengan persamaan :
Vij =
βvy(old ) Vi(old )
(2.28)
26 dengan nilai bias dan bobot antara lapisan tersembunyi dengan lapisan keluaran merupakan nilai acak antara -0.5 dan 0.5 atau antara - y dan y . Variabel n adalah banyak unit masukan, variabel p adalah banyak unit tersembunyi, dan variabel β adalah faktor skala. 4. Fungsi Aktivasi dalam Neural Network Back Propagation Jangkauan fungsi aktivasi harus sesuai dengan jangkauan nilai target dari permasalahan tertentu (Fausett, 1994, p309). Fungsi sigmoid bipolar berhubungan dekat dengan fungsi tangen hiperbolik. Oleh karena itulah fungsi ini sering digunakan sebagai fungsi aktivasi ketika output yang diperlukan memiliki rentang antara -1 sampai dengan 1 (Fausett, 1994, p19). Fungsi sigmoid bipolar mempunyai rentang (-1,1) dan dirumuskan dengan :
f (x ) =
2 −1 1 + exp(− σx )
(2.29)
dengan fungsi turunannya sebagai berikut :
f ' (x ) = σ [1 + f (x )][1 − f (x )] 2
(2.48)
dimana σ merupakan parameter kecuraman yang diketahui nilainya. Umumnya nilai σ dipilih sama dengan 1. Proses pelatihan menggunakan fugnsi sigmoid biner membutuhkan waktu pembelajaran lebih lama karena fungsi sigmoid biner tidak dapat memetakan sinyal masukan negatif dengan tepat, padahal sinyal bobot pada jaringan bisa bernilai negatif. Oleh sebab itu, bila fungsi sigmoid biner menerima sinyal masukan yang bernilai negatif maka pola yang diterimanya tidak akan bisa dipelajari sehingga sinyal yang diterima selalu bernilai positif (hanya mendekati nilai yang dekat dengan
27 angka nol). Pada beberapa kasus, terdapat beberapa unit yang tidak dapat mempelajari pola masukan yang bernilai nol (Fausett, 1994, p300). Hal ini telah dibuktikan oleh Laurene Fausett dalam percobaannya mengenai permasalahan XOR pada Tabel 2.2. Dengan fungsi sigmoid biner, epoch yang dibutuhkan dalam jaringan untuk konvergensi sebanyak 3000, sedangkan dengan fungsi sigmoid bipolar proses pembelajaran menjadi lebih cepat, yaitu hanya membutuhkan epoch sebanyak 387. 5. Lapisan Tersembunyi Menurut Fausett(1994, p320), Sebuah lapisan tersembunyi sudah cukup memadai untuk memecahkan permasalahan yang mengandung perkiraan-perkiraan. Namun, beberapa permasalahan lebih mudah utntuk dipecahkan menggunakan sebuah jaringan dengan dua atau tiga lapisan tersembunyi, namun hal ini dapat mempengaruhi kecepatan pembelajaran menjadi lebih lambat. Tanpa adanya lapisan tersembunyi, hasil dapat diperoleh dengan cepat. Namun hasilnya tidak optimal karena jangkauan dari error sistem tidak dekat (data masuk ke Network Back Propagation tanpa melalui “rintangan”, dan langsung menghasilkan nilai keluaran). Sedangkan penggunaan lapisan tersembunyi yang terlalu banyak dapat menurunkan performa dari Network Back Propagation itu sendiri, karena adanya pemetaan rangkaian yang terlalu kompleks serta prosedur pembelajaran yang terlalu subjektif. 6. Unit Tersembunyi Jumlah unit tersembunyi yang diperlukan berhubungan dengan kompleksitas tugas Network Back Propagation yang akan dikerjakan untuk menjalankan tugas secara maksimal. Sebuah Network Back Propagation dengan unit tersembunyi yang terlalu sedikit akan memiliki tingkat error pembelajaran dan error klasifikasi yang
28 tinggi karena tidak mampu memetakan masukan yang kompleks menuju keluaran yang kompleks. Begitu pula sebaliknya, dengan unit tersembunyi yang terlalu banyak akan dijumpai tingkat error pembelajaran yang rendah namun tingkat error klasifikasi yang semakin tinggi. Penentuan banyak unit tersembunyi yang akan digunakan dalam penelitian dilakukan dengan melakukan percobaan dan membandingkan hasil yang terbaik. Namun ada beberapa pedoman yang dapat digunakan untuk menentukan banyak unit tersembunyi yang optimal. Menurut Yun Peng (Yun, 2001, p24), banyak unit tersembunyi optimal dapat diperkirakan dengan persamaan berikut :
p > 2n
(2.30)
dimana p adalah jumlah unit tersembunyi dan n adalah jumlah unit masukan. Menurut Garson (Garson, 1998, p86), untuk menghitung banyak unit tersembunyi optimal dapat menggunakan metode yang dirumuskan sebagai berikut :
h=
n [(r (i + o))]
(2.31)
dimana h adalah jumlah unit tersembunyi, i adalah jumlah unit masukan, o adalah jumlah unit keluaran, n adalah batas epoch, dan r adalah tingkat noise dari data yang akan melakukan proses pembelajaran (biasanya antara 5 dan 10). Pedoman-pedoman yang ada tidak sepenuhnya dapat dipercaya. Oleh karena itu, percobaan terhadap berbagai macam unit tersembunyi tetap perlu dilakukan. 7. Lama Pembelajaran Semasa melakukan proses pembelajaran, perlu diperhatikan agar proses yang berlangsung
tidak
melebihi
tahap
kebenaran
data
yang
diinginkan
29 (overfitting/overtrained) sehingga menyebabkan error menjadi lebih besar daripada yang diharapkan (Cohen dan Jensen, 1996, p1). Selama error pada tahap pembelajaran, maka proses pembelajaran akan tetap dilanjutkan. Ketika error mulai meningkat, berarti sistem mulai kehilangan kemampuannya untuk mengklasifikasi. Maka pada titik ini, pembelajaran harus dihentikan.
Error yang ditemui pada tahap pembelajaran dikategorikan dalam dua kondisi yaitu global minima yang merupakan kondisi terendah, dan local minima adalah kondisi error yang bukan merupakan error terendah. Proses pembelajaran dengan Network Back Propagation dimulai dan lilakukan terus menerus dengan tujuan memperoleh error minimum. Hanya ada satu lembah yang memberikan penyelesaian permasalahan/error terkecil, yaitu global
minima, yang memberikan hasil sempurna. Lembah yang lebih dangkal, yaitu kondisi local minima. Jika dijumpai local minima dan dianggap telah mencapai
global minima dan pembelajaran tidak diteruskan, maka akan diperoleh suatu hasil yang kurang baik (Tveter, 2000, p1). Oleh karena itu, proses pembelajaran perlu dilakukan terus menerus sampai diperoleh global minima.
2.3. Pengembangan Perangkat Lunak Pada penulisan skripsi ini, penulis akan menggunakan Waterfall Model untuk pengembangan perangkat lunak. Penggunaan Waterfall Model sangat populer digunakan sebagai pemodelan suatu proses yang bersifat sekuensial. Waterfall Model sering digunakan dalam berbagai pendekatan dalam pembuatan software yang dirasakan tidak fleksibel dan non-iteratif.
30 2.3.1. Penggunaan Waterfall Model Menurut Pressman (1992, p24-25), Waterfall Model terdiri dari 6 tahap. Gambar 2.5 berikut adalah penjabarannya : System Engineering
Analysis
Design
Code
Testing
Maintenance
Gambar 2.5 Waterfall Model Dalam menggunakan model waterfall, proses dari satu fase ke fase selanjutnya murni bersifat sekuensial. Model waterfall mengindikasikan proses yang awal haruslah benar-benar telah selesai untuk melanjutkan ke proses selanjutnya. Pengembangan fase model waterfall bersifat diskrit, model ini tidak dapat melakukan pengembangan yang bersifat acak, jadi semua tahap harus sesuai dengan urutannya masing-masing. a. Rekayasa Sistem (System Engineering) Karena perangkat lunak merupakan bagian dari sebuah sistem yang lebih besar, maka aktivitas ini dimulai dengan penetapan kebutuhan dari semua elemen
31 sistem. Gambaran sistem ini penting jika perangkat lunak harus berinteraksi dengan elemen–elemen lain, seperti hardware, manusia dan database. b. Analisis kebutuhan perangkat lunak (Software Requirement Analysis) Analisis yang dilakukan pada tahap ini adalah untuk mengetahui kebutuhan piranti lunak, sumber informasi piranti lunak, fungsi–fungsi yang dibutuhkan, kemampuan piranti lunak dan antarmuka piranti lunak tersebut. c. Perancangan (Design) Perancangan piranti lunak dititikberatkan pada empat atribut program,yaitu struktur data, arsitektur piranti lunak, rincian prosedur dan karakter antarmuka. Proses perancangan menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat dinilai kualitasnya sebelum dilakukan pengkodean. d. Pengkodean (Coding) Aktivitas yang dilakukan adalah memindahkan hasil perancangan menjadi suatu bentuk yang dapat dimengerti oleh mesin yaitu dengan membuat program. e. Pengujian (Testing) Tahap pengujian perlu dilakukan agar output yang dihasilksn oleh program sesuai dengan yang diharapkan. Pengujian dilakukan secara menyeluruh hingga semua perintah dan fungsi telah diuji. f. Pemeliharaan (Maintenance) Karena kebutuhan pemakai selalu akan meningkat, maka piranti lunak yang telah selesai dibuat perlu dipelihara agar dapat mengantisipasi kebutuhan pemakai terhadap fungsi–fungsi baru yang dapat timbul karena munculnya sistem operasi baru dan perangat keras baru.
32 2.3.2. State Transition Diagram Menurut
Pressman
(1997,
p301),
State
Transition
Diagram
(STD)
mengindikasikan bagaimana suatu sistem berkerja setelah berinteraksi dengan event eksternal. Untuk memenuhi hal ini, STD merepresentasikan berbagai mode perilaku (disebut state) dari sistem dan bagaimana setiap transisi terjadi dari state ke state. STD menyediakan basis permodelan perilaku. Informasi tambahan dari aspek kontrol software yang terkandung dalam control spesification. STD merepresentasikan perilaku dari sebuah sistem dengan menggambarkan state-state yang ada dalam sistem dan event-
event
yang
menyebebkan
sistem
berganti
state.
Sebagai
tambahan,
STD
mengindikasikan tindakan apa yang diambil sebagai konsekuensi dari sebuah event. Simbol-simbol dari STD yang sering digunakan: a. State, disimbolkan dengan segiempat. Simbol state b. Transition state atau perubahan state disimbolkan dengan panah berarah. Simbol transition state c. State adalah kumpulan keadaan atau atribut yang mencirikan seseorang atau suatu benda pada waktu tertentu atau kondisi tertentu. d. Condition adalah suatu event pada lingkungan eksternal yang dapat dideteksi oleh sistem. e. Action adalah yang dilakukan sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau tampilan. f. Display pada screen menghasilkan kalkulasi dan sebagainya.
33 2.4. Pengertian Musik Musik adalah bunyi yang diterima oleh individu dan berbeda-beda berdasarkan sejarah, lokasi, budaya dan selera seseorang. Definisi sejati tentang musik juga bermacam-macam:
− Bunyi yang dianggap enak oleh pendengarnya. − Segala bunyi yang dihasilkan secara sengaja oleh seseorang atau kumpulan dan disajikan sebagai musik. Beberapa orang menganggap musik tidak berwujud sama sekali. Musik menurut Aristoteles mempunyai kemampuan mendamaikan hati yang gundah, mempunyai terapi rekreatif dan menumbuhkan jiwa patriotisme (Encyclopedia
Brittanica, 1977, p724). Seorang ahli estetika, Susanne K. Langer dalam bukunya Feeling and Form menyebutkan bahwa musik adalah waktu yang dapat didengar (Encyclopedia Brittanica, 1977, p725). Menurut Hornby dalam Oxford Advanced Learner’s Dictionary of Current
English (1974, p557), “Music /’mju:zik/ n [U]
is the art of making pleasing
combinations of sounds in rhythm, harmony, and counterpoint; the sounds and composition so made; written or printed signs representing this sounds.”, yang artinya musik adalah sebuah seni yang membuat kombinasi menyenangkan dari suara dalam ritme, harmoni, dan counterpoint; suara dan komposisi; bentuk tertulis atau tercetak dari tanda-tanda yang merepresentasikan suara-suara. Dalam Encyclopedia Brittanica (1977, p724), musik adalah sebuah seni, baik dalam suatu samaran dan lainnya, memasuki dan menyebar dalam berbagai bagian dari
34 masyarakat; musik juga sebuah seni protean yang meminjamkan dirinya dengan mudah untuk beraliansi dengan kata-kata, seperti dalam lagu, dan dengan gerakan fisik, seperti dalam tarian. Di dalam sejarah, musik telah menjadi sebuah hal yang melekat pada ritual dan drama dan telah dikreditasikan dengan kemampuan untuk merefleksikan dan mempengaruhi
emosi
manusia.
Budaya
populer
telah
secara
konsisten
mengeksploitasikan kemungkinan ini. Bukti yang paling nyata terdapat pada peran musik dalam radio, film, televisi, dan teater-teater musikal masa kini. Implikasi dari kegunaan musik dalam psikoterapi, geriatrik, dan periklanan merupakan sebuah kesaksian dari keyakinan bahwa musik mempunyai kemampuan untuk mempengaruhi kelakuan manusia. Publikasi dan dokumentasi dari berbagai belahan dunia telah secara efektif menginternasionalisasikan musik dalam perwujudan penting kebudayaan manusia.
2.4.1. Bentuk Musik Bentuk musik atau musical form adalah sebuah keadaan untuk menggambarkan struktur dan bentuk dari sebuah komposisi musik – yakni sebuah aransemen untuk elemen individual yang mengkonstitusikan keseluruhannya – adalah suatu bentuk musik (Encyclopedia Brittanica, 1977, p725). Dalam musik, kata ‘bentuk’ secara umum digunakan dalam dua keadaan: pertama, untuk mendenotasikan sebuah tipe standar, genre, atau spesies (contoh: simfoni, sonata); dan kedua, untuk mendenotasikan prosedur dalam karya tertentu. Kedua arti tersebut sering tidak dipisahkan dalam penulisan musik. Situasi ini rumit karena fakta bahwa nomenklatur dari bentuk formal musik yang bervariasi ditentukan dalam cara
35 yang berbeda – sebagai contoh, media penampilan (string quartet, trio sonata), teknik komposisi (fugue, variation), atau fungsi (prelude, overture, offertory). Bentuk musik bergantung pada disposisi dari unit struktur tertentu secara suksesif dalam suatu waktu. Prinsip dasarnya dapat dipahami dari pertimbangan singkat mengenai melodi yang dapat didefinisikan sebagai suksesi terorganisir dari nada-nada musikal. Suksesi dari suara ini terdiri dari bagian-bagian komponen, unit-unit struktural, prinsip dari frase pengutaraan musik secara lengkap, korespondensi mengenai apa yang dapat dinyanyikan dalam satu tarikan nafas atau dimainkan oleh sebuah tekanan pada gagang senar. Sebuah melodi biasanya terdiri dari sebuah suksesi dari satu frase, dimana bisa terjadi pengulangan (frase yang sama diulang), kontras (frase yang benar-benar berbeda), atau variasi (frasenya berubah, namun dalam suatu cara identitas frase awal masih terlihat). Hubungan antara komponen-komponen frase ini penting dalam suatu bentuk musik. Empat tipe dasar dari bentuk musik adalah: a. Iteratif: frase yang sama diulang-ulang. b. Reverting: pernyataan kembali sebuah frase setelah frase kontras ditampilkan. c. Strophic: sebuah entitas melodis yang lebih besar diulang-ulang menjadi strofi-strofi yang berbeda (stanzas) dari sebuah teks yang indah dan menyenangkan. d. Progresif: materi melodis baru secara berkelanjutan ditampilkan. Tipe dasar iteratif dan reverting dapat ditemukan dalam nada-nada resitasi nyanyian Gregorian, ballade Perancis, ballata Italia, dan bentuk bar Jerman yang mengambil bentuk Binary, Ternary, dan Rondo. Tipe dasar Strophic dapat ditemukan
36 dalam himne dan balada tradisional. Sedangkan tipe progresif dapat ditemukan pada lagu-lagu dan instrumentasi abad ke-19 dan 20. Pada abad ke-20, banyak komposer terus menggunakan bentuk-bentuk tradisional dari musik walaupun pada akhirnya, hasil kerja para komposer tersebut telah meninggalkan hal-hal penting yang telah ditentukan sebelumnya. Komposer lain bahkan telah membuang tipe-tipe dasar dari bentuk musik secara nyata. Elemen-elemen baru secara radikal telah diperkenalkan untuk menyokong sebagai unit struktural: selain frase dan motif tradisional, para komposer ini mengetengahkan apa yang disebut sebagai ‘event suara’, yakni kombinasi dari sumber-sumber, tipe-tipe timbre, agregasi dari beberapa pitch yang terdengar berbeda, dan sebagainya.
2.4.2. Instrumen Musik Instrumen musik atau alat musik adalah suatu alat yang dapat menghasilkan suara musik, yang digunakan untuk upacara–upacara tertentu, hiburan, atau kenikmatan pribadi (Encyclopedia Brittanica, 1977, p729). Telinga manusia secara kasar dapat membedakan dua jenis alat musik, yakni alat musik melodik yang menghasilkan nada-nada melodik; serta alat musik perkusi (ritmik) yang menghasilkan nada-nada ritmik Dalam musik, pada umumnya instrumen musik terbagi menjadi tiga kategori besar, yaitu alat musik senar, tiup, dan perkusi. Namun, ilmu pengetahuan modern telah menambahkan satu kategori baru yaitu instrumen elektronik, yang memiliki loudspeakers. Getaran loudspeakers dihasilkan oleh impulsimpuls elektronik dimana impuls–impuls elektronik ini dapat bersifat sangat rumit dan dapat menghasilkan suara–suara musik yang kompleks.
37 Pada saat instrumen musik dimainkan, instrumen tersebut menghasilkan
vibrations (getaran-getaran). Getaran–getaran ini menyebar melalui udara sampai masuk ke telinga. Semua instrumen musik menghasilkan gelombang suara pada saat dimainkan, tetapi tiap-tiap instrumen musik memiliki pola gelombang dan jangkauan frekuensi yang berbeda – beda seperti terlihat pada gambar berikut ini:
Sumber: http://members.aol.com/pjay99site/Instrumentranges.htm Gambar 2.6.Perkiraan jangkauan frekuensi alat musik Gelombang suara dapat juga dikombinasikan kedalam suatu pola yang kompleks, yang tidak dapat terlihat namun dapat terdengar. Semakin kompleks gelombang suara, akan semakin rumit suara tersebut. Beberapa instrumen menghasilkan suara yang lebih
38 rumit dibandingkan instrumen lainnya. Beberapa instrumen yang dimainkan bersamaan aka terdengar lebih rumit dibandingkan satu instrumen saja. Ilmu tentang suara disebut akustik. Pembelajaran tentang suara yang dihasilkan oleh instrumen musik disebut akustik musik.
2.4.2.1. Jenis–jenis Alat Musik Senar Alat musik senar disini berarti alat musik yang bunyinya berasal dari senar. Ada tiga cara untuk menghasilkan suara dari alat musik senar, yaitu dengan memetik, menggesek, memukul. Ketiga cara tersebut membuat senar bergetar. Getaran tersebut merambat ke dalam kayu yang membentuk alat musik tersebut. a. Harpa Harpa merupakan alat musik petik yang telah dimainkan sejak zaman kuno dan masih digunakan sampai saat ini dalam orkestra modern. Senar harpa modern dibentangkan dalam suatu bingkai menyerupai bentuk segitiga (The New Book of
Knowledge, 1977, p544). b. Kecapi Kecapi memiliki senar yang dibentangkan melintasi suatu papan rata yang disebut table. Suara yang dihasilkan halus tetapi sangat menyenangkan. Kecapi merupakan salah satu alat musik terpopuler pada abad ke-16 segitiga (The New Book
of Knowledge, 1977, p544).
39 c. Biola
Sumber: (http://en.wikipedia.org/wiki/Violin.htm) Gambar 2.7. Biola Biola seperti pada Gambar 2.7 adalah sebuah alat musik gesek berdawai yang memiliki empat senar yang disetel berbeda satu sama lain dengan interval sempurna kelima. Nada yang paling rendah adalah G dan biola memiliki nada tertinggi di antara keluarga biola, yaitu viola dan cello. Alat musik gesek berdawai yang lainnya, bas, secara teknis masuk ke dalam keluarga viol. Kertas musik untuk biola hampir selalu menggunakan atau ditulis pada kunci G. (http://en.wikipedia.org/wiki/Violin.htm) d. Piano
Sumber: (http://en.wikipedia.org/wiki/Piano.htm) Gambar 2.8. Grand Piano
40 Piano adalah alat musik bersenar pukul yang paling populer saat ini. Pemukul yang berupa palu dijalankan secara mekanik oleh papan kunci (keyboard). Piano menghasilkan bunyinya pada saat papan kunci ditekan sehingga palu memukul senar, lalu langsung kembali ke posisi semula. Suara yang dihasilkan dapat lembut dan pelan, namun dapat pula keras dan kuat. Piano juga merupakan alat musik yang serba guna, dimana piano ini tetap mengagumkan saat dimainkan secara solo, dimainkan bersamaan dengan alat musik lain, atau dengan suara manusia. Karena menghasilkan bunyi dengan menekan papan kunci, maka piano sering juga disebut sebagai alat musik tekan (The New Book of Knowledge, 1977, p546). e. Gitar
Sumber: (http://en.wikipedia.org/wiki/Guitar.htm) Gambar 2.9. Gitar Gitar seperti pada Gambar 2.9 adalah instrumen musik yang digunakan dalam berbagai jenis musik, dan juga lebih luas dikenal sebagai instrumen solo klasik. Gitar paling dikenal pada budaya populer sebagai instrumen utama pada musik blues, country, flamenco, pop, dan rock. Gitar biasanya mempunyai enam
41 senar, namun ada juga gitar dengan empat, tujuh, delapan, sepuluh, dan dua belas senar. Gitar dibuat dan diperbaiki oleh luthier. (http://en.wikipedia.org/wiki/Guitar.htm)
2.4.2.2. Jenis-jenis Alat Musik Tiup Alat musik tiup di sini berarti alat musik yang menghasilkan bunyinya dari angin. Ada dua cara untuk menghasilkan suara dari jenis alat musik ini, yaitu dengan meniupkan udara melalui suatu ujung yang keras dan meniupkan udara melalui suatu material fleksibel. a. Flute dan Piccolo
Sumber: (http://en.wikipedia.org/wiki/Flute.htm) Gambar 2.10. Flute Flute seperti pada Gambar 2.10 memiliki suara yang murni dan innocent. Sebuah flute memiliki lubang–lubang, termasuk sebuah lubang untuk ditiup oleh pemain. Piccolo adalah flute dalam bentuk yang lebih kecil dan menghasilkan suara yang lebih tinggi, bahkan paling tinggi dalam orkestra (The New Book of Knowledge, 1977, p547). b. Recorder (suling) Recoder (suling) memiliki suatu bagian, tempat mulut pemain diletakkan untuk meniup. Pada akhir abad ke-18, recorder dianggap sebagai alat musik yang ketinggalan zaman. Namun akhir–akhir ini recorder menjadi populer kembali.
42 Banyak siswa – siswi sekolah yang mempelajari recorder (The New Book of
Knowledge, 1977, p547). c. Oboe Oboe adalah instrumen yang berbentuk menyerupai buluh panjang. Dua buah buluh yang nyaris rata permukaannya disatukan, sehingga napas pemain mengalir di antara kedua buluh yang disatukan tersebut dan membuatnya bergetar. Oboe dapat digunakan sebagai instrumen solo maupun dalam orkestra (The New Book of
Knowledge, 1977, p549). d. Klarinet
Sumber: (http://en.wikipedia.org/wiki/Clarinet.htm) Gambar 2.11. Klarinet Klarinet seperti pada gambar 2.11 memiliki tube yang lurus, panjang, menyerupai silinder. Dalam nada yang tinggi klarinet menghasilkan suara yang bersih dan halus. Jika dimainkan secara solo, klarinet menghasilkan suara yang mengagumkan. Apabila dimainkan dalam orkestra, klarinet akan sangat serasi jika digabungkan dengan flute dan oboe (The New Book of Knowledge, 1977, p549).
43 e. Saxophone
Sumber: (http://en.wikipedia.org/wiki/Saxophone.htm) Gambar 2.12. Saxophone Saxophone seperti pada gambar 2.12 memiliki tube yang mirip, namun diameternya jauh lebih lebar dibandingkan oboe. Saxophone biasanya digunakan untuk memainkan musik jazz (The New Book of Knowledge, 1977, p549). f. Terompet Terompet merupakan instrumen musik yang menghasilkan suara terkuat dalam orkestra. Walaupun dimainkan secara perlahan, suara yang dihasilkan terompet tajam dan bening (The New Book of Knowledge, 1977, p549). g. Trombone Trombone menyerupai terompet, namun bentuknya lebih besar. Nada yang dihasilkanpun lebih rendah dibandingkan terompet. Suara yang dihasilkan dapat lembut namun dapat juga sangat kuat (The New Book of Knowledge, 1977, p549).
2.4.2.3. Jenis – jenis Alat Musik Perkusi Semua jenis alat musik perkusi menghasilkan suara pada saat dipukul dengan tangan, jari, atau alat pendukung yang sesuai.
44 a. Drum
Sumber: (http://en.wikipedia.org/wiki/Drum.htm) Gambar 2.13. Drum Sebuah drum seperti pada Gambar 2.13 paling tidak harus memiliki sebuah membran yang sering disebut kepala drum atau kulit drum yang terpasang di bagian ujung dari badan drum tersebut. Drum dapat dipukul dengan menggunakan tongkat (stick) atau dapat juga dipukul oleh tangan sang pemain. Drum merupakan alat musik tertua di dunia dan mudah ditemukan di bagian dunia manapun (http://en.wikipedia.org/wiki/Drum.htm). b. Timpani
Sumber: (http://en.wikipedia.org/wiki/Timpani.htm) Gambar 2.14. Timpani Timpani seperti pada Gambar 2.14 hampir menyerupai drum, namun bentuk badannya lebih menyerupai bentuk mangkuk yang terbuat dari tembaga. Bedanya
45 lagi dari drum, timpani menghasilkan suara dengan nada tertentu. Timpani dipukul dengan menggunakan tongkat khusus yang disebut “timpani stick” atau “timpani
mallet” (http://en.wikipedia.org/wiki/Timpani.htm). c. Cymbal
Sumber: (http://en.wikipedia.org/wiki/Cymbal.htm) Gambar 2.15. Simbal Simbal seperti pada Gambar 2.15 terbuat dari logam, bentuknya menyerupai piring, dan terdiri dari beraneka ukuran. Cymbal biasa digunakan dalam orkestra, militer, konser, dan marching band (http://en.wikipedia.org/wiki/Cymbal.htm). d. Triangle Triangle merupakan alat musik perkusi yang berbentuk segitiga samasisi, yang terbuat dari logam. Untuk memukulnya biasanya menggunakan tongkat kecil khusus. Triangle menghasilkan suara yang tinggi dan nyaring. (http://en.wikipedia.org/wiki/Triangle.htm) e. Xylophone Xylophone merupakan alat musik asli dari Indonesia yang terbuat dari susunan bilah–bilah kayu beraneka ukuran, dan dipukul dengan menggunakan mallet (tongkat) yang terbuat dari kayu, plastik, atau karet. Tiap–tiap bilah kayu menghasilkan nada yang berbeda (http://en.wikipedia.org/wiki/Xylophone.htm).
46 f. Glockenspiel
Sumber: (http://en.wikipedia.org/wiki/Glockenspiel.htm) Gambar 2.16. Glockenspiel Glockenspiel seperti pada Gambar 2.16 hampir sama dengan xylophone. Bedanya, glockenspiel terbuat dari logam, dan ukurannya lebih kecil. Selain itu suara yang dihasilkan lebih tinggi. Glockenspiel juga dikenal dengan sebutan “bell
lyra” atau “bell lyre” (http://en.wikipedia.org/wiki/Glockenspiel.htm).
2.5. Bentuk Fisik Suara Menurut Pohlmann(2000, p1), musik adalah sebuah event akustik. Baik musik itu hasil resonansi dari alat musik maupun diciptakan oleh sinyal-sinyal elektrik, semua musik akan menemukan jalannya ke udara dan menjadi suara sehingga terdengar. Oleh karena itulah, sangat penting untuk membahas tentang suara dari dasar. Akustik dalam pembelajaran suara berhubungan dengan generasi, transmisi, dan penyampaian gelombang suara. Keadaan dari ketiga fenomena tersebut diciptakan ketika energi menyebabkan gangguan dalam sebuah medium. Suara dirambatkan oleh molekul-molekul udara yang bergabung menjadi satu dan merambatkan energi gangguan menjauh dari sumbernya. Suara membawa bentuk longitudinal dari transmisi. Semakin pekat medium, rambatan gelombang suara akan
47 lebih mudah dilakukan. Sebagai contoh, suara berjalan lebih mudah di air daripada di udara. Sebuah sistem akustik dapat diakses dengan transducers, alat yang mampu untuk mengubah energi dari bentuk energi yang satu ke bentuk energi yang lainnya. Alat ini bekerja sebagai generator suara dan penerima suara. Perubahan tekanan dari getaran suara dapat diproduksi baik secara periodik atau aperiodik. Getaran periodik terbentuk dari relaksasi ke kompresi dan kembali lagi ke relaksasi hingga membentuk satu siklus. Banyaknya siklus-siklus getaran yang melewati suatu titik tertentu setiap detik adalah frekuensi dari gelombang suara yang diukur dalam satuan Hertz (Hz). Waktu yang dibutuhkan untuk terjadinya sebuah siklus disebut periode. Secara alami, frekuensi dapat mencakup sebuah jangkauan dari sangat rendah sampai sangat tinggi. Suara terkadang secara lepas dideskripsikan menjadi jangkauan pendek frekuensi dari 20 Hz sampai 20 kHz yang secara kasar disebut jangkauan pendengaran manusia, sehingga perangkat audio didesain untuk merespon frekuensi-frekuensi pada jangkauan umum tersebut. Panjang gelombang adalah jarak yang ditempuh suara melalui satu siklus lengkap dengan perubahan tekanan serta pengukuran secara fisik jarak yang ditempuh gelombang dalam satu periode. Panjang gelombang suara dapat dihitung dengan membagi kecepatan suara dengan frekuensinya. Suara akan mengalami difraksi, di mana suara akan berbelok melalui celah kosong ataupun di sekitar halangan yang ada. Difraksi secara relatif bergantung pada panjang gelombang. Gelombang yang panjang akan berdifraksi lebih tepat daripada
48 gelombang yang pendek. Walau demikian, frekuensi yang tinggi dianggap lebih terarah secara alami. Suara juga dapat mengalami refraksi, yakni kejadian dimana suara berbelok karena perubahan kecepatan. Sebagai contoh, suara dapat berefraksi karena perubahan suhu, berbelok menjauhi suhu yang lebih panas ataupun mendekati suhu yang lebih dingin. Secara spesifik, kecepatan suara di udara meningkat sekitar 1,1 kaki per sekon setiap peningkatan suhu sebesar 1oF. Efek lain dari perubahan suhu terhadap kecepatan suara sangat diketahui oleh setiap pemain alat musik tiup. Karena perubahan kecepatan dalam suara, instrumen harus dihangatkan sebelum dapat bermain pada nada yang sesuai (perbedaannya sekitar setengah nada resmi). Waktu yang dibutuhkan sebuah suara untuk berjalan dari satu sumber ke penerima dapat dihitung dengan membagi jarak dengan kecepatan suara. Suara dengan frekuensi yang lebih tinggi lebih banyak dikurangi energi bunyinya. Kelembaban juga mempengaruhi pengurangan energi oleh udara. Secara spesifik, udara yang basah menyerap lebih sedikit suara daripada udara yang kering. Udara yang lembab lebih dangkal daripada udara yang kering (jumlah molekul air lebih sedikit daripada jumlah molekul hidrogen dan oksigen) sehingga menyebabkan kecepatan suara meningkat. Amplitudo mendeskripsikan penggantian tekanan suara di atas dan bawah ekuilibrium level atmosfer. Jangkauan dari suara terlembut hingga terkeras, yang menentukan jangkauan dinamis, cukup besar. Pada faktanya, telinga manusia (sistem audio) mempunyai sebuah jangkauan dinamis dari faktor jutaan. Karena jangkauan yang luas tersebut, sebuah rasio logaritmik digunakan untuk mengukur level tekanan suara. Desibel (dB) menggunakan unit logaritma basis 10 untuk mencapai jangkauan
49 luas tersebut. Secara spesifik, desibel didefinisikan menjadi 10 kali logaritma dari rasio kekuatan: Level intensitas = 10 log (P1/P2) dB
(2.32)
di mana P1 dan P2 adalah nilai dari kekuatan akustik maupun elektrik. Bentuk paling sederhana dari gerak periodik adalah gelombang sinus. Gelombang ini dapat digambarkan oleh osilator yang paling sederhana seperti pendulum dan garpu tala. Gelombang sinus sangat unik karena gelombang ini hanya ada sebagai sebuah frekuensi fundamental. Banyak alat musik yang merupakan contoh dari kasus spesial di mana getaran harmonik berhubungan dengan fundamental melalui multiplikasi sederhana. Sebagai contoh, sebuah bentuk gelombang fundamental yang kompleks dengan frekuensi tinggi 150 Hz akan mempunyai nada sampingan pada frekuensi 300 Hz, 450 Hz, 600 Hz, 750 Hz, dan seterusnya. Nada sampingan dapat melewati batas atas kemampuan mendengar manusia. Amplitudo relatif dan fase hubungan dari nada-nada sampingan ini merupakan timbre dari bentuk gelombang tersebut.
2.5.1. Dasar-Dasar Digital Menurut Pohlmann (2000, p5), “Digital audio is a study of discrete values”, yang artinya audio digital adalah pembelajaran dari nilai-nilai diskrit. Secara spesifik, amplitudo dari suatu bentuk gelombang direpresentasikan sebagai sebuah seri dari angka-angka. Angka memungkinkan pengaturan informasi audio dengan sangat efisien. Pada intinya, digital audio adalah sebuah teknologi numerik. Permasalahan mendasar yang mengkonfrontasi sistem audio digital apapun adalah representasi dari informasi audio dalam bentuk digital. Pilihan logis yang
50 digunakan adalah sistem angka binari. Representasi dalam basis 2 ini secara ideal cocok untuk menyimpan dan memproses informasi numerik. Pada audio digital, angka-angka secara keseluruhan merepresentasikan informasi audio. Simbol-simbol numerik memiliki sangat banyak fungsi; makna dari simbolsimbol numerik dapat bervariasi sesuai dengan cara penggunaannya. Operasi-operasi
numerik
yang
ditampilkan
dalam
angka-angka
adalah
permasalahan dalam interpretasi. Angka, jika dengan tepat didefinisikan, menyediakan sebuah metode yang baik untuk menyimpan dan memproses data. Walaupun tampaknya suara tidak berhubungan dengan angka, sebuah digital
processor mengkodekan informasi dalam bentuk angka menggunakan sistem basis 2. Tantangan dari koding informasi audio dalam bentuk binari adalah permasalahan utama dalam desain dan pengoperasian sistem-sistem audio digital. Walaupun abstraksi dari bentuk matematis binari membentuk dasar dari sistemsistem audio digital, implementasinya memerlukan tingkat pemrosesan yang lebih tinggi, Secara spesifik, langkah berikutnya adalah mengkodekan informasi binari. Sebagai contoh, satuan bit binari dan angka dapat disusun menjadi kata dengan menerapkan suatu konotasi spesifik. Dengan cara ini, kedua informasi simbolik dan numerik lebih mudah diproses dengan sistem-sistem digital.
2.5.2. Dasar-dasar Audio Digital Dua langkah penting dalam pengkonversian sinyal Analog ke sinyal Digital: 1. Sampling Menurut Pohlmann (2000, p23), teorema sampling menyatakan bahwa sebuah sinyal yang terbatas pada sebuah bandwidth dan berkelanjutan dapat
51 digantikan oleh sebuah deret sampel diskrit tanpa harus kehilangan informasi apapun dan mendeskripsikan bagaimana sinyal asal yang berkelanjutan dapat direkonstruksi dari sampel-sampel tersebut. Dengan kata lain, Sampling mengkonversikan suatu sinyal waktu-kontinu menjadi suatu sinyal waktu-diskrit yang diperoleh dengan mengambil sampel sinyal waktu-kontinu pada saat waktu-diskrit. Menurut Pohlmann (2000, p21), “Discrete Time Sampling is the essential
mechanism that defines a digital audio system, permits its analog-to-digital conversion, and differentiates it from an analog system.”, yang berarti Discrete time sampling adalah mekanisme penting yang mendefinisikan sebuah sistem audio digital, mengijinkan kemampuannya untuk mengkonversikan sinyal analog ke digital, dan membedakannya dari sebuah sistem analog. Untuk memilih periode sampling atau sampling rate, beberapa informasi tentang sinyal yang akan dijadikan sampel harus ada. Yang terutama adalah beberapa informasi umum yang memperhatikan daya muat frekuensi sinyal. Daya muat informasi sinyal-sinyal seperti itu terdapat amplitudo, frekuensi, dan fase dari berbagai komponen frekuensi. 2. Kuantisasi Menurut Pohlmann (2000, p.32) “Quantization is thus the technique of
measuring an analog audio event to form a numerical value.”, yang berarti bahwa kuantisasi adalah teknik pengukutan sebuah event audio analog untuk membentuk sebuah nilai numerik. Kuantisasi mengkonversikan sinyal analog yang bernilai kontinu waktu-diskrit menjadi sinyal digital bernilai diskrit, waktu diskrit. Proses kuantisasi adalah proses yang tidak dapat dikembalikan lagi (irreversible).
52 2.6. Pemrosesan Sinyal Digital Seperti yang terlihat pada gambar 2.17, pemrosesan sinyal digital merupakan tahap-tahap berupa metode yang digunakan untuk mengekstrak atau mengolah data mentah (dari file musik yang sudah didekompresi) agar menjadi file yang berisi pola masukan (input) yang digunakan pada proses pembelajaran (training) dan klasifikasi pada propagasi balik (Proakis dan Manolakis, 1995, p4). Menurut Proakis dan Manolakis (1995, p2), pemrosesan digital dari sinyal analog mempunyai beberapa pengulangan. Pertama, dan yang terutama, konversi suatu sinyal analog menjadi bentuk digital, yang diselesaikan dengan sampling sinyal dan pengkuantisasian hasil sampel, menghasilkan distorsi yang mencegah rekonstruksi ulang sinyal analog asli dari sampling yang telah dikuantisasi. Kontrol jumlah distorsi ini dicapai dengan pemilihan laju sampling (sampling rate) yang tepat dan presisi proses kuantisasi. Kedua, terdapat efek presisi terbatas yang harus dipertimbangkan dalam pemrosesan digital dari sampling terkuantisasi. Sinyal didefinisikan sebagai besaran fisik yang berubah-ubah menurut waktu, ruang, atau variabel bebas, atau variabel-variabel lainnya. Umumnya, suatu segmen suara dapat dinyatakan dengan derajat ketelitian yang tinggi sebagai jumlah dari beberapa sinusoida dengan amplitudo dan frekuensi yang berbeda. Sinyal Masukkan Analog
Konverter Analog Digital
Proses Sinyal Digital Sinyal Masukkan Digital
Konverter Digital Analog Sinyal Keluaran Digital
Gambar 2.17. Diagram balok proses sistem sinyal digital
Sinyal Keluaran Analog
53 Keuntungan pemrosesan sinyal digital dibandingkan sinyal analog :
•
Suatu sistem digital yang dapat dapat diprogram memiliki keluwesan untuk mengkofigurasi ulang operasi-operasi pemrosesan sinyal digital secara sederhana dengan mengubah program.
•
Keakuratan, toleransi pada komponen rangkaian analog membuat hal itu sangat sulit bagi pendesain sistem untuk mengkontrol ketepatan suatu sistam pemrosesan sinyal analog.
•
Sinyal digital mudah disimpan.
•
Harga lebih rendah
Batasan-batasan Laju operasi penkonversian sinyal Analog Digital dan prosesor sinyal digital:
•
Sinyal-sinyal yang mempunyai lebar pita (bandwidth), sangat lebar memerlukan pengkonversi Analog Digital dengan laju sampling yang cepat dan prosesor sinyal digital yang cepat. Karena itu terdapat sinyal-sinyal analog dengan lebar pita yang besar untuk suatu pendekatan pemrosesan digital yang berada dia atas kondisi ilmu perangkat keras digital.
Klasifikasi sinyal :
•
Sinyal-sinyal multikanal dan multidimensi
•
Sinyal waktu-kontinu dan sinyal waktu-diskrit
•
Sinyal bernilai-kontinu dan sinyal nilai-diskrit Agar suatu sinyal diproses secara digital, sinyal itu harus diskrit waktunya dan nilai-nilainya harus diskrit (dengan kata lain, hal itu harus sebagai sinyal digital). Jika sinyal yang akan diproses berbentuk analog, sinyal
54 dikonversikan menjadi sinyal digital dengan pencuplikan sinyal analog pada saat diskrit dalam waktu, untuk menghasilkan sinyal waktu-diskrit, dan kemudian dengan mengkuantisasi nilai-nilainya ke suatu himpunan nilai diskrit.
•
Sinyal deterministik dan sinyal acak
Konsep frekuensi dalam sinyal waktu-kontinu dan waktu-diskrit :
•
Sinyal sinusiodal waktu-kontinu
•
Sinyal sinusoida waktu-diskrit
2.6.1. Analisis Fourier Representasi sinyal Fourier memegang peranan penting dalam pemrosesan sinyal diskrit maupun kontinu, yang menyediakan metode untuk memetakan sinyal ke dalam domain lain (Hayes, 1999, p55). Menurut Pohlmann (2000, p19), getaran harmonik alami dari sebuah gelombang periodik dapat dijabarkan dalam Teorema Fourier. Teorema Fourier ini menyatakan bahwa semua gelombang periodik yang kompleks dikomposisi dari sebuah seri harmonik dari gelombang sinus. Lebih jauh lagi, sebuah bentuk gelombang kompleks dapat didekomposisi menjadi isi gelombang sinus agar dapat dianalisis bentuk alami dari gelombang kompleks ini. Sebuah transformasi matematis dapat diterapkan pada sebuah bentuk gelombang yang direpresentasikan dalam satu waktu agar dapat diubah menjadi representasinya dalam bentuk frekuensi. Sebagai contoh, sebuah gelombang persegi dapat ditransformasi menjadi gelombang sinus fundamentalnya beserta urutan lebih
55 tinggi dari harmonisasi-harmonisasinya. Sebuah transformasi balik dapat membalikan proses tersebut. Sintesis Fourier merupakan pembentukan sinyal dengan superposisi dari potongan-potongan gelombang sinus sedangkan analisis Fourier merupakan kebalikan sintesis Fourier, yaitu memecah sinyal menjadi komponen-komponen sinusoidal. Analisis Fourier merupakan suatu cara matematis yang digunakan untuk menguraikan sinyal menjadi gelombang sinus dan kosinus. Dari gelombang sinyal suara berdomain waktu (time – amplitudo plot), maka tidak akan diperoleh informasi yang cukup karena informasi yang dibutuhkan terkandung di dalam frekuensi, fase, dan amplitudo dari komponen spektral yang membentuk sinyal, yang terdapat dalam gelombang sinyal berdomain frekuensi (frequency – amplitudo plot). Untuk dapat mengambil informasi tersebut, diperlukan penghitungan spektrum frekuensi sinyal, mirip dengan yang terjadi pada proses pendengaran manusia dengan menggunakan analisis Fourier. Transformasi matematis untuk menghitung analisis Fourier disebut transformasi
Fourier yang digunakan untuk sinyal kontinu, yang dirumuskan sebagai : X(f )=
ω
∫ω x(t )e
− j 2 ∏ ft
dt
(2.33)
−
dan invers transformasinya, sebagai : x(t ) =
ω
∫ω X ( f )e
j 2 ∏ ft
df
(2.34)
−
Dari persamaan diatas, x(t ) merupakan fungsi waktu, dan X ( f ) merupakan fungsi frekuensi. Variabel j merupakan akar kuadrat -1, dan e merupakan notasi eksponen netral, yang didefinisikan sebagai berikut :
56
e jφ = cos(φ ) + j sin (φ )
(2.35)
Penerapan transformasi Fourier dalam sinyal berarti mengkonversi sinyal dari domain waktu ke dalam domain frekuensi.
2.6.2. Hamming Window
Hamming Window ditemukan oleh Richard W. Hamming, seorang ahli dalam bidang komputer, yang digunakan untuk menyederhanakan perhitungan. Secara matematis Hamming Window terdiri dari satu siklus kosinus, yang menaikkan dan menghimpitkan sehingga bentuk gelombang turun dan mempunyai nilai puncak (Steiglitz, 1996, p206). Hamming Window adalah sebuah fungsi penjendelaan yang sangat umum, yang memberikan hasil memuaskan dengan penghitungan yang efektif dengan meminimalkan sinyal yang terdiskontinu.
Hamming Window dirumuskan sebagai berikut (Kosko, 1992, p7): ⎛ 2.π .n ⎞ ⎟⎟ ht = 0,54 − 0,46 cos⎜⎜ ⎝ ( N − 1) ⎠
0 ≤ n ≤ N −1
(2.36)
2.6.3. Discrete Fourier Transform
Discrete Fourier Transform (DFT) digunakan untuk sinyal diskrit dengan mentransformasikan persamaan 2.34 menjadi :
Fn =
1 N
N −1
∑∫k
e − j 2 ∏ nk / N
(2.37)
k =0
dengan invers transformasinya : N −1
f k = ∑ Fn e − j 2 ∏ nk / N n =0
(2.38)
57 Perhitungan dengan DFT sangat kompleks dan memakan banyak waktu. DFT bisa dihitung secara tepat dengan menggunakan algoritma Fast Fourier Transform (FFT) yang merupakan suatu algoritma yang efisien untuk memperoleh frekuensi sinyal (Steiglitz, 1996, p151). Fungsi FFT yang digunakan dalam pengenalan instrumen musik ini adalah : N −1 ⎛ 2.π .k .i ⎞ Re al (k ) = ∑ x[i ]cos⎜ ⎟ ⎝ N ⎠ i =0
(2.39)
yang mengambil nilai real, dan N −1 ⎛ 2.π .k .i ⎞ Im aginer (k ) = −∑ x[i ]sin ⎜ ⎟ ⎝ N ⎠ i =0
(2.40)
yang mengambil nilai imaginer, dan kemudian disubtitusikan menjadi sebuah nilai magnitudo : Magnitudo(k ) = Re al (k ) + Im aginer (k ) 2
2
(2.41)
FFT dapat dikembalikan lagi dalam domain waktu dengan melakukan inverse dari FFT : F : C n → C n . Inverse FFT dalam pengenalan genre musik ini dapat dihitung dengan persamaan : N /2 ⎛ 2.π .k .i ⎞ ⎛ 2.π .k .i ⎞ x[i ] = ∑ Re al (k ) cos⎜ ⎟ + Im aginer (k )sin ⎜ ⎟ ⎝ N ⎠ ⎝ N ⎠ k −0
(2.42)
Fase IFFT (Inverse Fast Fourier Transform) berfungsi untuk mengubah fungsi amplitudo dalam domain frekuensi menjadi amplitudo dalam domain waktu (kebalikan FFT). Data-data tersebut digunakan dalam proses ekstraksi fitur yang berhubungan dengan permukaan musik (Musical Surface Feature Extraction).
58 2.6.4. Nilai Tengah (Mean)
Nilai tengah adalah nilai rata-rata dari sebuah bilangan, dalam hal ini khususnya sinyal, dirumuskan sebagai berikut :
μ=
1 N
N −1
∑x i =1
i
(2.43)
2.6.5. Standar Deviasi
Standar deviasi diperlukan menunjukkan nilai puncak yang jelas, dirumuskan sebagai berikut :
ψ2 =
1 N −1 (xi − μ )2 ∑ N − 1 i =0
(2.44)
2.7. Ekstraksi Fitur
Ekstraksi fitur merupakan proses komputasi nilai numerik yang mewakili sebagian dari data audio, yang menghasilkan fitur-fitur baru dari data mentah dengan menerapkan satu atau lebih transformasi berikut. Pemilihan fitur yang baik cukup sulit dilakukan karena sebuah fitur yang buruk tidak akan merefleksikan keadaan sebenarnya dari data pemilihan fitur yang baik. Dalam penelitian ini digunakan fitur permukaan musik (Musical Surface Feature). Musical surface fitures merupakan penghitungan fitur-fitur musik yang berhubungan dengan permukaan spektral musik. Istilah musical surface atau permukaan musik digunakan untuk menunjukkan karakteristik musik berkaitan dengan tekstur dan instrumentasi. Fitur-fitur berikut dihitung untuk masing-masing analisis window:
59 1. Spectral Centroid Spectral Centroid suara adalah sebuah konsep yang diambil dari pengertian musik dan psikoakustik, merupakan titik keseimbangan spektrum yang digunakan untuk mengukur ketajaman spektral dan sering dikaitkan dengan tingkat kejelasan spektral, dimana semakin tinggi nilai centroid, maka suara yang ada akan semakin jelas atau tajam (Repetto dan Polansky, 1997, p1). Menurut Philibert (1999, p25), Spectral Centorid merepresentasikan titik keseimbangan dari distribusi kekuatan spektral dalam sebuah frame. Spectral Centroid dapat dihitung dengan menggunakan persamaan :
∑ C= ∑ N
n =1 N
M T [n].n
M t [n] n =1
(2.45)
dimana M t [n] adalah magnitudo dari Fourer transform pada frame t dan frekuensi adalah n . 2. Rolloff Sama halnya dengan Spectral Centroid, rolloff digunakan untuk mengukur ketajaman spektral. Menurut Philibert (1999, p27), nilai spektral rolloff mengukur ke’asimetris’an bentuk spektral. Nilai rolloff akan lebih tinggi untuk distribusi yang lebih asimestris. Rolloff didefinisikan sebagai frekuensi R yang disamakan dengan persentase
r dari distribusi magnitudo sehingga persamaannya menjadi: R
N
n =1
n =1
∑ M t [n] = r.∑ M t [n]
(2.46)
60 Rolloff merupakan generalisasi spectral centroid, dimana spectral centroid adalah rolloff untuk r =50%. Pada penelitian ini digunakan nilai rolloff sebesar 80% yang berarti mengukur frekuensi yang berada di bawah kekuatan spektrum 80%. 3. Flux Menurut Philibert (1999, p26), Flux yang juga dikenal sebagai Delta Spectrum Magnitude) mengukur perbedaan spektral dari frame ke frame sehingga dapat mengkarakterisasikan perubahan bentuk spektrum. Flux adalah vektor yang mengukur perubahan spektral amplitudo lokal yang didefinisikan sebagai berikut : N
F = ∑ (N t [n] − N t −1 [n])
2
(2.47)
n =1
dimana N t [n] merupakan magnitudo dari Fourier transform pada window t yang sudah dinormalisasi. 4. Zero-Crossing Rate (ZCR) Sebuah zero-crossing terjadi saat sampel dalam sebuah sinyal digital mempunyai perbedaan tanda. Rata-rata dari zero-crossing dapat digunakan sebagai sebuah ukuran sederhana dari isi frekuensi sinyal. Untuk sinyal sederhana, ZCR berhubungan secara langsung dengan frekuensi dasar ( f 0 ) . Sebuah sinusoid akan melintasi garis nol dua kali dalam setiap siklus, dan oleh karena itu frekuensi dapat ditentukan dengan membagi ZCR dengan dua. Memperoleh frekuensi dasar dari sebuah sinyal dengan cara ini tampak mudah dan efektif, namun hal ini tidak dapat diterapkan dalam beberapa kasus, karena sinyal terdiri dari bagina-bagian dengan frekuensi yang lebih tinggi dari frekuensi dasar yang melinrasi garis nol beberapa kali dalam satu siklus (Kosina, 2002, p1).
61 ZCR digunakan jika sampel dalam sebuah sinyal digital berturut-turut mempunyai tanda yang berbeda-beda. ZCR adalah pengukur sederhana untuk noise dari suatu sinyal yang dapat dihitung dengan menggunakan rumus : N
Z = ∑ s ( x[n]) − s ( x[n − 1])
(2.48)
n =1
dimana x[n] merupakan sinyal dalam domain waktu dan s merupakan sebuah variabel dengan nilai 1 untuk argumen positif dan 0 untuk argumen negatif. Tidak seperti spectral centroid, rolloff, dan flux yang berdasarkan pada domain frekuensi, zero crossing rate berdasarkan domain waktu. 5. Preprocessing Preprocessing merupakan tahap normalisasi data supaya berada dalam rentang -1 sampai dengan 1. Tahap ini perlu dilakukan karena pada Neural Network Back Propagation akan digunakan fungsi sigmoid bipolar. Rumus yang digunakan untuk melakukan normalisasi interpolasi linier adalah sebagai berikut: y = ((high-low)x)+(low-max)-(high.min) (max-min)
(2.49)
di mana high adalah nilai tertinggi, low adalah nilai terendah, x adalah nilai input dan output y, max adalah nilai maksimum yang terdapat dalam data, dan min adalah nilai minimum yang terdapat dalam data. Hasil normalisasi inilah yang akan digunakan dalam proses klasifikasi.