Aplikasi Pengenalan Dan Pembelajaran Akord Gitar Berbasis Web (studi kasus pada kursus gitar di gentra rineka)
ii BY
PURWANGGA BAGJA HERDAYANDI 10106010
In this final project is designed and manufactured Applications and Introduction to Web-Based Learning guitar chords by applying the Fast Fourier Transform Algorithm on an application being made. This application is created using PHP and Java programming language.
Application Introduction and Learning guitar chords are made as a medium of learning that aims to facilitate the activities of learning guitar chords. This application is made in the form of websites and desktop forms. At the application site aims to means of information required in learning the guitar chords, where there is data processing done by the teacher in managing pupil data, materials, and data problems. On the desktop application intended as a medium of learning that prioritizes practical.
Guitar chord is a collection of three or more tone and establish a tone in a chord. A chord has to have an assessment of frequency, so in this case there is no recognition process the input signal or vote for the new converted into frequency. Desktop applications using Fast Fourier Transform algorithm for multiple input detection process the incoming tone. These algorithms used to analyze and select what frequency scale resulting from an input tone on the guitar to match the standard provision in a tone frequency. The process of sound recognition are included on the guitar tuning, exercises and games.
Keywords:
Application Of Recognition And Learning Chord Guitar Based Web, Fast Fourier Transform, chords, Sound Recognition Online.
(2)
i
AKORD GITAR BERBASIS WEB
Oleh
PURWANGGA BAGJA HERDAYANDI 10106010
Pada Tugas Akhir ini dirancang dan dibuat Aplikasi Pengenalan dan Pembelajaran Akord Gitar Berbasis Web dengan menerapkan Algoritma Fast Fourier Transform pada salah satu aplikasi yang dibuat. Aplikasi ini dibuat menggunakan bahasa Pemrograman PHP dan Java.
Aplikasi Pengenalan dan Pembelajaran Akord Gitar dibuat sebagai media pembelajaran yang bertujuan untuk mempermudah dalam aktifitas pembelajaran akord gitar. Aplikasi ini dibuat dalam bentuk website dan bentuk desktop. Pada aplikasi website bertujuan untuk sarana informasi yang dibutuhkan dalam pembelajaran akord gitar, selain itu terdapat pengolahan data yang dilakukan oleh pengajar dalam mengelola data murid, materi, dan data soal. Pada aplikasi desktop bertujuan sebagai media pembelajaran yang mengutamakan praktikal.
Akord gitar merupakan kumpulan dari tiga nada atau lebih dan membentuk sebuah nada dalam bentuk akord. Sebuah akord sudah memiliki sebuah ketetapan frekuensi, sehingga dalam hal ini tidak ada proses pengenalan sinyal atau masukan suara yang baru untuk diubah ke dalam bentuk frekuensi. Aplikasi desktop menggunakan algoritma Fast Fourier Transform untuk beberapa proses pendeteksian masukan nada yang masuk. Algortima ini dimanfaatkan untuk menganalis dan menyeleksi berapa besaran frekuensi yang dihasilkan dari sebuah masukan nada pada gitar untuk disesuaikan dengan ketetapan frekuensi standar pada sebuah nada. Proses sound recognition tersebut terdapat pada gitar tuning, latihan dan game.
Kata Kunci :
Aplikasi Pengenalan dan Pembelajaran Akord Gitar Berbasis Web, Fast Fourier Transform, Akord, Online.
(3)
1 1.1. Latar Belakang
Perkembangan teknologi informasi saat ini mempunyai pengaruh yang besar dalam berbagai aspek kehidupan masyarakat. Banyak orang yang ingin mempelajari sesuatu tanpa ada kendala dalam mempelajarinya. Sehubungan dengan hal tersebut, kehadiran komputer khususnya teknologi informasi pembelajaran dengan berbasis web dapat membantu dan memudahkan kegiatan belajar dalam suatu lingkungan lembaga pendidikan formal ataupun nonformal.
Gentra Rineka merupakan lembaga pendidikan nonformal yang mengembangkan suatu seni tradisional dan modern. Khusus untuk kursus gitar pembelajaran dilakukan dengan privat antara satu pengajar dengan satu murid. Keterbatasan waktu privat membuat perkembangan dalam mempelajari gitarpun sedikit lamban. Hal tersebut disebabkan pengajar tidak sepenuhnya membimbing murid dalam berlatih akord gitar, melainkan harus menyampaikan teori tentang gitar yang penting untuk dipahami oleh murid.
Berdasarkan pengalaman di Gentra Rineka, dalam pembelajaran gitar secara privat tingkat keberhasilannya lebih baik jika dibandingkan dengan pembelajaran kelompok. Namun terkadang murid merasakan canggung berhadapan langsung dengan pengajar sehingga muridpun sulit untuk lebih berimprovisasi, berekspresi, dan berkreasi dalam bermain gitar. Menanggapi hal
(4)
tersebut pengajarpun menyarankan murid untuk lebih banyak berlatih di luar jam kursus.
Pelaksanaan pembelajaran di luar jam kursus merupakan pengembangan dan penyempurnaan dalam pengajaran. Bagi orang yang masih awam atau pemula, berlatih dan mempelajari gitar khususnya akord gitar yang bersifat belajar sendiri tidaklah mudah. Minimnya pengetahuan dan pengalaman menyulitkan pemula dalam mengetahui benar atau tidaknya akord yang dimainkan pada saat pemula berlatih sendiri. Selain itu pemula akan memiliki kesulitan dalam mensetting tone standar pada gitar. Hal tersebut membuktikan bahwa seorang pemula masih membutuhkan seorang pengajar dalam berlatih dan mempelajari gitar.
Aplikasi pengenalan dan pembelajaran akord gitar berbasis web diharapkan bisa membawa murid untuk berlatih dan mempraktikan langsung dalam mempelajari akord gitar. Oleh sebab itu aplikasi ini membutuhkan proses sound recognition untuk pendeteksian nada yang masuk. Selain itu dari beberapa algoritma yang ada, algoritma Fast Fourier Transform sangat cocok untuk melakukan proses deteksi sebuah nada yang memiliki ketetapan frekuensi yang telah distandarkan.
Dari permasalahan tersebut diperlukan sebuah aplikasi yang dapat digunakan sebagai media pembelajaran yang mampu membantu murid dalam berlatih dan mempelajari gitar di luar jam kursus. Untuk mengatasi beberapa masalah tersebut maka dibuatlah Aplikasi Pengenalan dan Pembelajaran Akord Gitar Berbasis Web.
(5)
1.2. Perumusan Masalah
Berdasarkan latar belakang yang telah disebutkan sebelumnya, diambil suatu rumusan masalah yaitu bagaimana membuat aplikasi pengenalan dan pembelajaran akord gitar berbasis web sebagai salah satu media pembelajaran gitar di kursus gitar Gentra Rineka.
1.3. Maksud dan Tujuan 1.3.1. Maksud
Adapun maksud dalam pembuatan skripsi ini adalah membuat aplikasi pengenalan dan pembelajaran akord gitar berbasis web sebagai salah satu media pembelajaran gitar di kursus gitar Gentra Rineka.
1.3.2. Tujuan
Adapun tujuan dalam pembuatan skripsi ini adalah:
1. Mengatasi keterbatasan waktu dalam mempelajari akord gitar di kursus gitar Gentra Rineka.
2. Mengatasi kesulitan murid dalam mengetahui benar tidaknya akord yang dimainkan.
3. Membantu murid dalam mensetting tone standar pada gitar.
4. Mengatasi kecanggungan murid pada saat pembelajaran gitar secara privat.
5. Membatu murid untuk lebih berimprovisasi, berekspresi, dan berkreasi dalam bermain gitar.
(6)
1.4. Batasan Masalah
Adapun batasan masalah yang membatasi ruang lingkup permasalahan dalam membuat aplikasi pengenalan dan pembelajaran akord gitar berbasis web ini adalah:
1. Data yang diolah aplikasi ini adalah data murid, data pengajar, data materi, data soal, data hasil latihan soal dan data skor akord game pada kursus gitar Gentra Rineka.
2. Proses yang terdapat dalam aplikasi ini adalah pengolahan data murid, pengolahan data pengajar, pengolahan data materi, pengolahan data soal, pengolahan data hasil latihan soal, pengolahan data skor akord game dan proses sound recognition.
3. Aplikasi ini hanya membahas pembalajaran gitar saja khususnya pembelajaran akord gitar.
4. Materi akord gitar yang diimplementasikan pada aplikasi merupakan materi dasar tentang akord gitar, pada umumnya akord dasar dalam gitar, yaitu akord major dan minor.
5. Aplikasi ini lebih ditujukan untuk murid gentra rineka yang masih awam dalam mempelajari akord gitar.
6. Aplikasi ini akan dibuat dalam bentuk website untukpengolahan data dan desktop untuk tahap evaluasi.
7. Aplikasi evaluasi dibuat dalam bentuk latihan soal dan game tebak akord.
(7)
8. Model pembangunan perangkat lunak adalah pemodelan berorientasi objek dan alat bantu yang digunakan adalah UML (Unified Modeling Language).
9. Penggambaran UML menggunakan aplikasi Microsoft Visio 2007, dan Power Designer 15.2.
10. Penggambaran soal akord menggunakan aplikasi Diagram Studio 5.7. 11. Aplikasi yang akan dibuat menggunakan bahasa pemrograman Java
dan PHP. Bahasa pemrograman Java digunakan dalam membangun aplikasi untuk tahap evaluasi, yaitu akord game. Sedangkan Bahasa pemrograman PHP digunakan dalam membangun website untuk mengelola data pengajar, data murid, data materi, data soal, data hasil latihan soal dan data skor akord game.
12. Aplikasi ini akan berjalan pada sistem operasi yang memiliki fasilitas browser yang telah diinstall Java Development Kit (JDK).
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan untuk membangun aplikasi pengenalan dan pembelajaran akord gitar menggunakan metode analisis deskriptif yaitu suatu metode yang bertujuan untuk mendapatkan gambaran yang jelas tentang hal-hal yang diperlukan, melalui tahapan sebagai berikut:
1. Metode pengumpulan data:
Metode yang digunakan penulisan dalam pengumpulan data antara lain:
(8)
a. Studi Literatur
Kegiatan ini dilakukan untuk pendalaman terhadap ilmu yang akan digunakan dalam perancangan dan pembuatan aplikasi. Kegiatan yang dilakukan adalah mengumpulkan bahan yang berhubungan dengan sound recognition, ilmu tentang teori dasar mempelajari akord gitar, dan mempelajari algoritma Fast Fourier Transform sebagai penunjang penggunaan teknologi sound recognition.
b. Observasi
Pengumpulan data dilakukan dengan cara mengamati secara langsung di lapangan baik secara fisik (alat-alat yang dipakai) maupun konsep (cara kerja dari alat-alat yang dipakai). Hal tersebut dilakukan untuk lebih memahami kebutuhan yang akan diterapkan kedalam aplikasi.
c. Wawancara
Pengumpulan data dilakukan dengan cara mengadakan wawancara secara langsung dengan berbagai pihak (responden) yang berkaitan dan terlibat langsung dengan aplikasi yang akan dibuat. Hal tersebut dilakukan untuk mengetahui kebutuhan apa saja yang diperlukan dalam pembuatan aplikasi.
2. Metode pembangunan aplikasi:
Metode ini digunakan penulis sebagai pedoman bagaimana dan apa yang harus dilakukan selama perancangan dan pembuatan aplikasi. Adapun tahapan yang akan dilakukan adalah metode waterfall.
(9)
a. Requirement Definition
Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
b. System and Software Design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
c. Implementation and Unit Testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
d. Integration and System Testing
Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
e. Operation and Maintenance
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
(10)
Gambar 1.1 Model Waterfall
1.6. Sistematika Penulisan
Adapun sistematika penulisan yang disusun penulis sebagai garis besar dalam penulisan skripsi ini antara lain:
BAB 1 PENDAHULUAN
Pada bab ini berisi pembahasan secara umum yang berhubungan dengan penyusunan skripsi yang meliputi latar belakang, perumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan yang dipakai.
BAB 2 TINJAUAN PUSTAKA
Pada bab ini berisi berbagai teori penunjang yang dibutuhkan penulis, salah satunya seperti teknologi sound recognition, alogoritma Fast Fourier
(11)
Transform, serta teori dasar dalam mempelajari gitar khususnya pada akord gitar. Semua bab ini menjelaskan tentang pengertian dan teori-teori yang digunakan sebagai penjelasan dan permasalahan yang dibahas.
BAB 3 ANALISIS DAN PERANCANGAN
Pada bab ini berisi mengenai kebutuhan non fungsional dan kebutuhan fungsional yang didalamnya terdapat analisis sistem dan desain sistem secara terstruktur yang dilengkapi dengan diagram alir serta penjelasan yang lengkap. Pada tahap ini akan dijadikan sebagai acuan dalam melakukan pembuatan program.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Pada bab ini berisi hasil implementasi dari hasil analisis dan perancangan yang telah dibuat. Selain itu bab ini merupakan tahap yang membahas pengujian terhadap perangkat lunak yang menggunakan pengujian alpha dan betha..
BAB 5 KESIMPULAN DAN SARAN
Pada bab ini berisi kesimpulan yang dapat diambil dari skripsi ini. Kesimpulan merupakan jawaban dari permasalahan yang dibahas dalam skripsi dan hasil temuan lain yang bias disampaikan. Bab ini juga berisi saran-saran untuk pengembangan skripsi lebih jauh.
(12)
10 2.1. Profil Instansi
Gentra Rineka adalah sebuah sanggar seni yang didalamnya terdapat seni modern dan tradisional untuk dikaji dan dikembangkan dengan metode pembelajaran dalam bentuk kursus. Gentra Rineka didirikan tanggal 24 Maret 1990 beralamatkan di BTN Ciheuleut Indah Blok B.9 No.198 RT.43/14 Kelurahan Paska Kecamatan Subang Kabupaten Subang Jawa Barat.
2.1.1. Logo Instansi
Logo instansi merupakan suatu gambar yang memiliki fungsi dan arti dari sebuah instansi untuk menggambarkan instansi itu sendiri.
Logo Instansi dapat dilihat pada gambar 2.1:
(13)
2.1.2. Visi dan Misi 2.1.2.1. Visi
“Menjadi lembaga sanggar seni yang terbaik dan berkualitas”.
2.1.2.2. Misi
Membentuk seniman dan musisi yang bersikap etis, berwawasan akademis dan kultural, profesional serta berperan dalam masyarakat.
2.1.3. Strukur Organisasi dan Job Description
Gentra Rineka memiliki struktur organisasi dan job description :
Pelindung : Ir. Moch. Agus Tias Amin (Ketua Dewan Kesenian Subang)
Penasihat : Idit Supardi Madiana (Ketua BKKNI Kabupaten Subang) Ketua : Pepen Ependi (Pemilik)
Wakil Ketua : Oni Sobani
Sekretaris : Drs. Agus Samsudin Bendahara : Ikhsan Mutaqin
Pengajar : Deny Irawan (Gitar) Deden Sopian (Gitar)
Hendry Chuenx (Gitar)
Elis Juitasari (Vokal)
Yosep Abdullah (Gitar dan Keyboard)
(14)
Ade Intra (Karawitan)
Aep (Karawitan)
2.2. Landasan Teori
Dalam sub bab ini akan dibahas tentang teori-teori yang berhubungan dengan pembuatan Aplikasi Pengenalan dan Pembelajaran Akord Gitar Berbasis Web.
2.2.1. Sound Recognition
Sound Recognition adalah teknologi pengenalan suara yang memiliki kemampuan untuk mengontrol sebuah sistem dengan menggunakan sebuah suara. sound recognition merupakan teknologi yang mampu menganalisis sebuah masukan berupa sinyal digital ke dalam bentuk besaran frekuensi. Kemampuan mengenal secara spesifik suara individual, mirip dengan pengenalan sidik jari. Teknologi ini memiliki kemiripan dengan teknologi speech recognition dengan kemampuan untuk menafsirkan kata-kata yang diucapkan oleh manusia. Dalam pengaplikasiannya dengan menggunakan teknologi ini, kita dapat memberi perintah kepada sistem dalam bentuk suara atau bunyi. Oleh sebab itu dibutuhkan sebuah mikrofon sebagai media untuk menjalankan sistem tersebut.
Secara garis besar, cara kerja sound recognition ialah sinyal suara audio yang diterima melalui mikrofon atau line jack sehingga menjadi sebuah masukan dalam bentuk sinyal digital melalui soundcard sebuah pc.
Sinyal digital yang masuk pada sistem dilakukan tahap normalisasi dengan menggunakan sebuah algoritma yang dapat merubah besaran spectrum menjadi
(15)
besaran frekuensi dalam bentuk Hz. Hal ini bertujuan agar perbedaan antara suara yang satu dengan yang lain terlihat lebih jelas sehingga ekstraksi parameter sinyal memberikan hasil yang lebih baik.[7]
2.2.2. Algoritma Fast Fourier Transform
Algoritma fast fourier transform merupakan suatu algoritma yang sering dipakai untuk menganalisa spektrum frekuensi sinyal analog ataupun data digital. Selain itu algoritma fast fourier transform merupakan salah satu metode untuk transformasi sinyal suara menjadi sinyal frekuensi. [4]
Fast Fourier Transform (FFT) merupakan salah satu dari algoritma Discrete Fourier Transform (DFT). DFT merupakan algoritma yang memiliki beban komputasi yang besar. Dengan FFT beban komputasi tersebut dapat dikurangi.
Contoh perhitungan sederhana sebagai perbandingan antara DFT dan FFT dapat dilihat pada tabel 2.1:
Tabel 2.1 Hasil Perhitungan DFT
k F(k) k F(k)
0 12 5 0
1 0 6 -2 + 2j
2 -2 – 2j 7 0
3 0 8 12
4 0
Untuk menghitung hasil tersebut diperlukan 8x8 = 64 kali perhitungan (looping). Bila dihitung dengan menggunakan FFT seperti diatas, maka akan diperoleh ( 5x8 + 4 ) = 44 kali perhitungan, hal ini terlihat sangat meng/hemat
(16)
perhitungan. Tentunya dengan bertambahnya ukuran data, maka perbedaan kecepatan perhitungannya akan semakin terasa.
Untuk n buah data, DFT memerlukan n2 kali perhitungan, dan FFT memerlukan (n/2 + 1)n + n/2 kali perhitungan. Misalkan jumlah data n=100 maka dengan menggunakan DFT diperlukan 100x100 = 10.000 kali perhitungan, dengan dengan menggunakan FFT cukup dilakukan (51x100 + 50) = 5150 kali perhitungan.
Untuk mendapatkan sinyal dalam domain frekuensi dari sebuah sinyal discrete, salah satu metode transformasi fourier yang digunakan adalah discrete fourier transform (DFT). DFT dilakukan terhadap masing-masing frame dari sinyal yang telah diubah. Namun, yang menjadi persoalan adalah bahwa DFT tersebut memerlukan waktu komputasi yang sangat panjang untuk data yang besar. Oleh karena itu, diperlukan suatu teknik komputasi yang efisien, baik dari sisi waktu maupun dari sisi penggunaan memori.
FFT adalah algoritma cepat untuk mengimplementasikan discrete fourier transform (DFT). FFT ini mengubah masing-masing frame N sampel dari domain waktu menjadi domain frekuensi.
Hasil transformasi ini dipengaruhi oleh beberapa parameter, yaitu sample rate sinyal suara dan FFT size. Sample rate adalah banyaknya sampel input analog yang diambil secara digital dengan satuan Hertz (Hz). Sample rate sinyal suara berpengaruh pada besarnya jangkauan frekuensi dari koefisien hasil FFT. Jangkauan frekuensi hasil FFT adalah setengah dari sample rate sinyal suara yang ditransformasi. Artinya, apabila terdapat sinyal suara dengan sample rate 44100
(17)
Hz, maka koefisien-koefisien hasil transformasi dari sinyal suara tersebut berkisar dari 0 Hz sampai 22050 Hz. Jadi, semakin besar sample rate , maka akan semakin detail pula sampel analog yang diambil secara digital.
Sedangkan FFT size adalah panjang dari FFT yang digunakan. FFT size berpengaruh terhadap ketelitian tiap koefisien FFT. Semakin besar FFT size, maka tiap koefisien hasil FFT akan mewakili rentang frekuensi yang semakin kecil, sehingga ketelitiannya semakin tinggi. Sebaliknya apabila ukuran sampel FFT semakin kecil, maka tiap koefisien hasil FFT akan mewakili rentang frekuensi yang semakin besar, sehingga ketelitiannya semakin rendah.
Output dari FFT ditransformasikan ke dalam rentang frekuensi. Nilai magnitude terhadap frekuensi didapatkan berdasarkan persamaan 2.1.
F(x+T/2) = Real{F(T/2-x)} - j Im{F(x)} …(2.1) Untuk tiap frame akan dilakukan proses FFT dengan window function Hamming, sehingga menghasilkan N buah data RealOut dan Imaginer. Algoritma FFT dan fungsi window Hamming akan di-handle langsung oleh komponen tersebut. Begitu pula dengan ukuran data tiap frame yang ditentukan sendiri melalui komponen tersebut melalui properties BufferSize. Jadi, nilai BufferSize yaitu 1024 dan nilai N/2 buah data diinisialisaikan pada properties BufferSize2 secara otomatis.
Hasil dari FFT tersebut adalah simetris, sehingga hanya N/2 buah data yang digunakan untuk proses selanjutnya. Dari N/2 buah data tersebut akan dihitung rata-rata nilai magnitude yang menjadi nilai dari frame tersebut. Misalkan sampling rate yang digunakan adalah sebesar 44100Hz, maka frekuensi
(18)
tertinggi yang diperoleh adalah 22050Hz dengan pembagian frekuensi sebesar 22050Hz/512 data = 43.07 Hz/data. Nilai frekuensi tersebut sesuai dengan batas frekuensi tertinggi yang dapat didengar oleh manusia. Tabel detail pembagian frekuensi sebagai hasil dari proses frequency extraction dapat dilihat pada tabel 2.2.
Tabel 2.2 Tabel Extraction Frekuensi
Data Frekuensi
1 0 Hz – 43.07 Hz
2 43.07 – 86.13 Hz
-- --- 512 22006.93 – 22050 Hz
Konsep utama algoritma ini adalah mengubah sinyal suara yang berbasis masukan suara menjadi berbasis frekuensi dengan membagi masalah menjadi beberapa masalah yang lebih kecil. Kemudian, setiap masalah diselesaikan dengan cara melakukan pencocokan pola digital suara.
Pada umumnya proses fast fourier transform adalah membawa sinyal (gelombang suara) sebagai masukan untuk dibawa ke dalam kawasan algoritma. Selanjutnya setelah proses equalisasi terjadi akan merubah sinyal yang masuk menjadi sebuah frequensi. Sebuah akord sudah memiliki sebuah ketetapan frequensi, sehingga algoritma dalam hal ini tidak ada proses pengenalan sinyal atau masukan suara yang baru untuk dijadikannya sebuah frequensi.
(19)
2.2.3. Teori Pendukung Analisis 2.2.3.1. UML
Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telag mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. UML saat ini mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.
UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booach, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Pengguna UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri perangkat lunak dan pengembangan sistem. [11]
2.2.3.1.1.Sejarah UML
Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor,
(20)
metodologi wirfs-brock dan masih banyak metodologi lainnya. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG –http://www.omg.org).[11]
2.2.3.1.2.Diagram UML
UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
1. Use Case Diagramuntuk memodelkan proses bisnis.
2. Conceptual Diagramuntuk memodelkan konsep-konsep yang ada di dalam aplikasi.
3. Sequence diagramuntuk memodelkan pengiriman pesan (message) antarobjects.
4. Collaboration Diagramuntuk memodelkan interaksi antarobjects. 5. State Diagramuntuk memodelkan perilakuobjectsdi dalam sistem. 6. Activity Diagram untuk memodelkan perilakuUse
(21)
7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagramuntuk memodelkan strukturobject.
9. Component Diagramuntuk memodelkan komponenobject. 10. Deployment Diagramuntuk memodelkan distribusi aplikasi. 2.2.3.1.3.UseCase Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor mempresentasikan orang yang akan mengoperasikan atau yang berinteraksi dengan sistem aplikasi.
Use case mempresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.[11]
2.2.3.1.4.Sequence diagram
Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi.[11]
2.2.3.1.5.Collaboration Diagram
Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration
(22)
diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object. [11]
2.2.3.1.6.Class Diagram
Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. [11]
2.2.4. Teknologi Java
2.2.4.1. Java
Java adalah bahasa pemrograman yang dapat dijalankan diberbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystem dan diterbitkan tahun 1995. Java tidak boleh disalahpahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser.[11]
2.2.4.2. Sejarah Perkembangan Java
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang.
Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan
(23)
menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto.
Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.
Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury Newspada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
(24)
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).[11]
2.2.4.3. Versi Awal
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
1. java.lang: Peruntukan kelas elemen-elemen dasar.
2. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas.
3. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
4. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. 5. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna
(GUI)
6. java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web.[11]
(25)
2.2.4.4. Kelebihan Java
Java memiliki beberapa kelebihan diantaranya adalah:
1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. 2. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah,
(26)
bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
3. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).[11]
2.2.4.5. Kekurangan Java
(27)
1. Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.[11] 2.2.4.6. Tahap Kompilasi Java
Java memiliki beberapa tahap kompilasi, tahapan kompilasi java diantaranya adalah:
1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
(28)
2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
3. Muat. Pemuat kelas memuat bytecodes ke memori.
4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin.tidak
bisa di pakai„‟.
2.2.5. Pesonal Home Page (PHP)
PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.[11]
2.2.5.1. Sejarah PHP
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
(29)
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
2.2.5.2. Kelebihan PHP
Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatanyang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah Oracle, MySQL , Sybase, PostgreSQL, dan lainnya. PHP dapat berjalan di berbagai system operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh.
(30)
Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, 2S, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti untuk menambah fungsi-fungsi baru. Keunggulan lainnya dari PHP adalah bahwa PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 dan bahkan HTTP. PHP dapat diinstal sebagai bagian atau modul dari apache webserver atau sebagai CGI script yang mandiri.
Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache, di antaranya adalah :
1. Tingkat keamanan yang cukup tinggi
2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting. 3. Akses ke sistem database yang lebih fleksibel. seperti MySQL. 2.2.6. Gitar
Gitar adalah alat musik berdawai yang dimainkan dengan jari jemari tangan atau sebuah plektrum (alat petik gitar). Bunyinya dihasilkan dari senar-senar yang bergetar. Gitar bisa berupa gitar akustik atau listrik, atau gabungan keduanya. [11]
2.2.6.1. Sejarah Gitar
Keaslian gitar tidak dapat dilihat dari keantikannya. Beberapa ahli merasa alat ini berasal dari benua Afrika, dimana banyak Replika modern dalam bentuk kotak bulat seperti kulitkerang dengan Gut
(31)
/ benang benang sutera, di banyak daerah benua itu. Ahli lain menemukan alat ini dalam bentuk kaca di relief relief batu tua di zaman Asia Tengah dan Asia Kuno. Bahan pemikiran lain juga timbul dengan ditemukannya vas vas Yunani Kuno yang bercorak. Greek Strings mungkin adalah alat pertama yang dikatagorikan sebagai gitar. Gitar modern kemungkinan berakar dari gitar Spanyol, tetapi berbagai jenis gitar seperti instrumen instrumen yang kita bisa saksikan dilukisan lukisan pada zaman Medieval dan Renaiassance yang banyak terdapat diseluruh Eropa.
2.2.6.2. Teori Dasar Gitar
Secara umum untuk bisa memahami dan memainkan gitar kita perlu mempersiapkan beberapa hal, diantaranya:
1. Teori musik dasar secara umum, seperti Akord gitar dan tangga nada musik, tangga nada baik # maupun b (mol). Mempelajari akord dasar gitar yang mudah, sperti menghafal C, Dm, Em, F, G, Am, untuk tahap sampai menghafal kord, kita tidak memperdulikan tangga nada musik. 2. Mengetahui cara menggunakan gitar dan kegunaannya. Setelah
menghafal akord-akord tadi, tahap memainkan perpaduan-perbaduan dari akord, memainkan gitar dengan pindah dari kord 1 ke akord berikutnya, misal C Em F dan G.
3. Belajar tuning gitar atau stem gitar sendiri stem gitar agak sulit, hal tersebut seorang pemula haru memiliki insting dalam mengenali sebuah nada. Cara lain dalam gitar tuning, yaitu dengan menggunakan sebuah
(32)
perangkat seperti gitar tuner/tuning atau sebuah perangkat lunak gitar tuning.
3.2.3.1. Akord
Akord adalah kumpulan tiga nada atau lebih yang bila dimainkan secara bersamaan terdengar harmonis. Akord bisa dimainkan secara terputus-putus ataupun secara bersamaan. Akord ini digunakan untuk mengiringi suatulagu. Ketika Anda menekan tiga tuts piano C, E dan G secara bersamaan, ini berarti anda sudah memainkan akord. Contoh alat musik lainnya yang bisa memainkan akord adalah gitar (akustik dan listrik), organ, electone. [11]
3.2.3.1.2. Sejarah Akord
Musik mengenal notasi sejak tahun 590 yang ditemukan oleh Paus Agung Gregori. Notasi ini disebut Notasi Gregorian. Namun disempurnakan sekitar tahun 950 dengan dikenalnya Notasi Balok. Pada awalnya tahun 1600-1750 (Era Barok) orang mengenal musik polifoni dengan ilmu kontrapung, suara kedua berupa melodi lain yang saling bertentangan. Baru tahun 1725 (Era Klasik 1750-1820) orang mengenal akord dalam musik homofoni, Remeau menulis buku Traite d'Harmonie tahun 1722. Pada awalnya akord disusun dengan tiga nada, kemudian dibalikkan, berupa mayor, minor, augmented,dmiminished, dan seterusnya ditambah nada septim, sixth, dst. Dan mulai tahun 1750 di Era Klasik akord juga berkembang hingga kini di era blues (1870), jazz (1920), pop dan rock (1955), dll. yang mengenal akord ninth, eleeventh, dan thirdteenth.
(33)
3.2.3.1.3.Jenis Akord
Akord itu banyak macamnya. Antara lain akord mayor, akord minor, akord dominan septim, akord diminished, akord augmented, akord minor 6, akord mayor 7, akord suspended dan masih banyak yang lainnya. Akord yang paling sering dipakai dalam suatu lagu yang sederhana adalah akord mayor, akord minor dan akord dominan septim. Akord lainnya digunakan untuk memperindah atau mengubah kualitas suatu lagu. Penyisipan akord yang berbeda akan memberikan efek rasa yang berbeda dalam iringan suatu lagu.
3.2.4. Sistem Multimedia
Sistem multimedia adalah sistem yang menyajikan berbagai bentuk informasi dengan barbagai tehnik seperti gambar, suara, teks, animasi, video yang disajikan secara interaktif untuk memberi informasi atau menghibur.
3.2.4.1. Suara dan Audio
Suara adalah fenomena fisik yang dihasilkan oleh getaran benda berupa sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap waktu. Suara dihasilkan oleh getaran suatu benda. Selama bergetar, perbedaan tekanan terjadi di udara sekitarnya. Pola osilasi yang terjadi dinamakan sebagai
“GELOMBANG”.
Suara berkaitan erat dengan: 1. Frekuensi
a. Banyaknya periode dalam 1 detik.
(34)
c. Panjang gelombang suara (wavelength) dirumuskan = c/f Dimana c = kecepatan rambat bunyi
Dimana f = frekuensi Contoh:
Berapakah panjang gelombang untuk gelombang suara yang memiliki kecepatan rambat 343 m/s dan frekuensi 20 kHz? Jawab:
WaveLength = c/f = 343/20 = 17,15 mm. Berdasarkan frekuensi, suara dibagi menjadi: Infrasound 0Hz – 20 Hz
Pendengaran manusia 20Hz – 20 KHz Ultrasound 20KHz – 1 GHz Hypersound 1GHz – 10 THz
Manusia membuat suara dengan frekuensi : 50Hz – 10KHz. Sinyal suara musik memiliki frekuensi : 20Hz – 20Khz.
Sistem multimedia menggunakan suara yang berada dalam range pendengaran manusia.
Suara yang berada pada range pendengaran manusia sebagai “AUDIO”, dan gelombangnya sebagai “ACCOUSTIC SIGNALS”. Suara diluar
range pendengaran manusia dapat dikatakan sebagai “NOISE” (getaran yang tidak teratur dan tidak berurutan dalam berbagai frekuensi, tidak dapat didengar manusia).
(35)
2. Amplitudo
a. Keras lemahnya bunyi atau tinggi rendahnya gelombang. b. Satuan amplitudo adalah decibel (db)
c. Bunyi mulai dapat merusak telinga jika tingkat volumenya lebih besar dari 85 dB dan pada ukuran 130 dB akan mampu membuat hancur gendang telinga
2. Velocity
a. Kecepatan perambatan gelombang bunyi sampai ke telinga pendengar.
b. Satuan yang digunakan : m/s.
c. Pada udara kering dengan suhu 20 °C (68 °F)m kecepatan rambat suara sekitar 343 m/s.
REPRESENTASI SUARA
Gelombang suara analog tidak dapat langsung direpresentasikan pada komputer. Komputer mengukur amplitudo pada satuan waktu tertentu untuk menghasilkan sejumlah angka. Tiap satuan pengukuran ini dinamakan “SAMPLE”.
(36)
34 3.1. Analisis Sistem
Pada bab ini dilakukan analisis sistem yang sedang berjalan dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi, dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.
3.1.1. Analisis Sistem Berjalan
Di Gentra Rineka kegiatan pembelajaran dilakukan dengan privat antara satu pengajar dengan satu murid. Pelaksanaan kursus gitar di Gentra Rineka dilakukan dua kali pertemuan dalam satu minggu. Satu pertemuan pembelajaran privat tersebut memiliki waktu yang cukup singkat yaitu satu jam. Hal tersebut membuat pengajarpun menyarankan murid untuk lebih banyak berlatih di luar jam kursus.
Sistem yang berjalan di Gentra Rineka memiliki beberapa kendala yaitu keterbatasan waktu, kecanggungan seorang murid terhadap pengajar, kesulitan murid dalam menentukan benar atau salah pada saat pembelajaran, dan kesulitan dalam mensetting gitar. Solusi yang diambil dalam menyelesaikan kendala tersebut adalah dibuatnya aplikasi pengenalan dan pembelajaran akord gitar berbasis web sebagai salah satu media pembelajaran di luar jam kursus gitar Gentra Rineka.
(37)
Analisis yang sedang berjalan di Gentra Rineka Production dapat dilihat pada diagram use case pada gambar 3.1:
Menyeleksi Pengajar Baru
Mendaftarkan Murid Baru
Membuat Materi
Menyampaikan Materi
Mendapatkan Materi
Latihan Akord Owner
Pengajar
Murid
Use Case Diagram Sistem Yang Sedang Berjalan
(38)
3.2. Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional merupakan proses analisis yang memilah-milah antara kebutuhan perangkat keras, perangkat lunak, dan pengguna sebagai kebutuhan dalam pembuatan aplikasi.
3.2.1. Analisis Perangkat Keras
Analisis perangkat keras (hardware) merupakan proses analisis yang lebih menekankan kepada aspek pemanfaatan perangkat keras. Berdasarkan hasil analisis, kursus gitar Gentra Rineka menggunakan perangkat dengan spesifikasi sebagai berikut:
1. Processor intel core 2 duo 2.0 GHz. 2. RAM 1 GB.
3. VGA Ati Radeon 128 MB 4. Soundcard
5. Gitar elektrik dengan line jack kabel gitar.
6. Atau gitar akustik dengan menggunakan mikrofon.
Sedangkan kebutuhan minimal perangkat keras yang diperlukan untuk menjalankan aplikasi ini adalah :
1. Processor Pentium IV 2.0 GHz. 2. RAM 512 MB.
3. VGA On Board 64 MB. 4. Sound Card.
(39)
5. Gitar elektrik dengan line jack kabel gitar.
6. Atau gitar akustik dengan menggunakan mikrofon. 7. Modem internet 3.1 Mbps.
Berdasarkan hasil perbandingan dari perangkat keras yang ada, Gentra Rineka telah memiliki beberapa perangkat keras yang sesuai dengan kebutuhan yang diperlukan untuk menjalankan aplikasi ini, akan tetapi masih diperlukannya sebuah perangkat keras yang memiliki fasilitas internet, yaitu modem internet. 3.2.2. Analisis Perangkat Lunak
Analisis perangkat lunak (software) merupakan proses analisis yang lebih menekankan kepada aspek pemanfaatan perangkat lunak. Berdasarkan hasil analisis, kursus gitar Gentra Rineka memiliki perangkat lunak sebagai berikut:
1. Sistem operasi Windows 7. 2. Adobe Photoshop CS4.
3. Aplikasi browser (seperti Mozilla Firefox, dan Google Chrome). Perangkat lunak yang dibutuhkan untuk membangun aplikasi ini adalah: 1. Java Development Kit (JDK), sebagai sistem kompilasi kode-kode
program.
2. JavaRuntime Edition, sebagai platform untuk menjalankan aplikasi. 3. Wampserver, sebagai webserver untuk sistem website.
4. NetBeans IDE, sebagai perangkat lunak yang digunakan untuk membangun aplikasi.
(40)
5. Adobe Dreamweaver beserta license, sebagai perangkat lunak yang digunakan untuk membangun website.
6. Adobe Photoshop beserta license, sebagai perangkat lunak yang digunakan untuk edit gambar-gambar yang akan digunakan.
7. Aplikasi browser (seperti Mozilla Firefox, dan Google Chrome) sebagai perambah untuk pengguna.
Berdasarkan hasil perbandingan perangkat lunak yang dibutuhkan untuk menjalankan aplikasi ini adalah:
1. Java Development Kit (JDK), sebagai sistem kompilasi kode-kode program.
2. Java Runtime Edition (JRE), sebagai platform untuk menjalankan aplikasi.
3. License Adobe Photoshop CS4.
4. Web Hosting disertai nama domain sebagai layanan jasa penyewaan tempat di internet.
3.2.3. Analisis Pengguna
Analisis pengguna (user) merupakan proses analisis yang lebih menekankan kepada aspek pengguna aplikasi. Berdasarkan hasil analisis, kursus gitar Gentra Rineka memiliki tiga pengguna, karakteristik pengguna di kursus Gentra Rineka dapat dilihat pada tabel 3.1:
(41)
Tabel 3.1 Karakteristik Pengguna di Kursus Gitar Gentra Rineka Pengguna Tanggung
Jawab
Tingkat Pendidikan
Tingkat Keterampilan Pengalama n
Owner Melakukan Pendataan
Lulus SMA - Memiliki kemampuan dalam bermain gitar - Dapat mengoperasikan
komputer
-
Pengajar Melakukan kegiatan mengajar
Lulus SMA - Memiliki kemampuan dalam bermain gitar - Dapat mengoperasikan
komputer
-
Murid Melakukan kegiatan pembelajaran
Apa Saja - Memiliki kemampuan dalam bermain gitar - Dapat mengoperasikan
komputer
-
Untuk menggunakan sistem yang dibangun terdapat beberapa karakteristik yang harus dimiliki oleh pengguna (user), kebutuhan karakteristik dapat dilihat pada tabel 3.2:
Tabel 3.2 Karakteristik Pengguna Sistem Pengguna Tanggung
Jawab
Hak Akses Keterampilan Owner
(Super Admin)
Melakukan olah data
Mengolah data pengajar
- Dapat mengoperasikan komputer dengan baik - Mengerti dalam proses
mengelola data Pengajar (admin) Melakukan olah data Mengolah data murid, data materi
- Dalam mengoperasikan komputer
- Mengerti dalam proses mengelola data
(42)
Murid Melakukan kegiatan pembelajran Menggunakan aplikasi pembelajaran dengan berinteraksi langsung dengan hardware (gitar)
- Dapat mengoperasikan komputer
- Dapat mensetting audio komputer
- Dapat bermain gitar
Pengunjung Melihat Halaman Muka
Melihat daftar materi
- Dapat mengoperasikan komputer
- Dapat mensetting audio komputer
- Dapat bermain gitar
Berdasarkan hasil perbandingan karakteristik pengguna yang dibutuhkan untuk menggunakan aplikasi ini dapat dilihat pada tabel 3.3:
Tabel 3.3 Karakteristrik Pengguna Sistem Yang Dibutuhkan Pengguna Tanggung
Jawab
Hak Akses Pelatihan
Owner (Super Admin) Melakukan olah data Mengolah data pengajar
- Pelatihan dalam mengoperasikan komputer
- Pelatihan dalam mengelola data Pengajar (admin) Melakukan olah data Mengolah data murid, data materi
- Pelatihan dalam mengoperasikan komputer - Pelatihan dalam
mengelola data Murid Melakukan
kegiatan pembelajran Menggunakan aplikasi pembelajaran dengan berinteraksi langsung dengan hardware (gitar)
- Pelatihan dalam mengoperasikan komputer
- Pelatihan dalam men mensetting audio komputer
- Pelatihan dalam bermain gitar
(43)
Pengunjung Melihat Halaman Muka
Melihat daftar materi -
3.3. Analisis Proses Sound Recognition
Sound recognition merupakan sebuah teknik dengan tujuan untuk memungkinkan mesin untuk mendengar dan memahami sebuah masukan dalam bentuk suara. Pada sistem yang dibangun terdapat proses sound recognition dalam pembuatan aplikasi pengenalan dan pembelajaran akord. Sebuah nada dikenali dengan besaran spectrum yang bermula dari masukan sebuah sinyal digital. Secara sederhana pendeteksian sebuah nada atau akord dapat dilihat pada gambar 3.2:
Gambar 3.2 Diagram Blok Sistem Untuk Proses Sound Recognition
3.3.1. Akusisi Data
Data input sinyal digital diambil dari suara gitar yang terhubungan dengan sound card. Suara gitar yang diambil hanya dalam bentuk sinyal digital yang dihasilkan dari gitar elektrik.
(44)
3.3.2. Processing
Processing pada tahap awal, yaitu dilakukannya baca data input berupa besaran spektrum dalam bentuk frekuensi dan dianalisis menggunakan Fast Fourier Transform (FFT). Processing dapat dilihat pada gambar 3.2:
Gambar 3.3 Transformasi Sinyal Digital Ke Dalam Besaran Frekuensi
Sinyal input digital dibawa ke dalam kawasan frekuensi dengan algotitma Fast Fourier Transform. Fast Fourier Transform (FFT) merupakan algoritma yang cukup efisien dalam pemrosesan sinyal digital (dalam hal ini nada) dalam bentuk diskrit. Konsep utama algoritma ini adalah mengubah sinyal suara berbasis waktu menjadi berbasis frekuensi dengan membagi masalah menjadi masalah yang lebih kecil, setiap masalah diselesaikan dengan cara melakukan pencocokan pola digital suara. Algoritma ini akan diimplementasikan pada bahasan mengenai proses sound recognition. Dalam sound recognition diperlukan dalam penentuan frekuensi yang memiliki fungsi periodik tertentu. Fungsi ini bisa mewakili sinyal digital atau audio. Setiap fungsi periodik periode P dapat dinyatakan sebagai rangkaian fungsi sin dan cos. Persamaan fast fourier transform dapat dilihat pada persamaan 3.1 dan 3.2.
(45)
t P j b t P j a a t f j j j 2 sin 2 cos ) ( 1 0 ... 4 sin 4 cos 2 sin 2cos 1 2 2
1
0
t P b t P a t P b t P a
a … (3.1)
f(t)cos(t)4sin(t)3sin(2t) … (3.2)
Untuk menyelesaikan sebuah masalah memerlukan sebuah fungsi terurai diwakili oleh array panjang N dan periode P. Algoritma untuk menghitung FFT untuk N=2n , Algoritma Fast Fourier Transform yang telah diimplentasikan kedalam bentuk bahasa C# dapat dilihat pada tabel 3.4.
Tabel 3.4 Algoritma Fast Fourier Transform
BitReverseData(data) mmax = 1
while (n > mmax) istep = 2 * mmax
theta = 3.14159265358979323846 / mmax wp = cos(theta) + i * sin(theta) w = 1
for (m = 1; m <= mmax; m = m + 1)
for (k = m - 1; k < n; k = k + istep) j = k + mmax
temp = w * x[j] x[j] = x[k] - temp x[k] = x[k] + temp endfor
w = w*wp endfor
mmax = istep endwhile
3.3.3. Analisis Frekuensi
Dalam analisis frekuensi ini, hanya menentukan nilai-nilai frekuensi yang terdapat dalam setiap segmen. Dari nilai frekuensi tersebut dapat ditentukan kemungkinan nada berdasarkan frekuensi yang telah ditetapkan. Frekuensi nada
(46)
pada umumnya telah ditetapkan, setiap nada memiliki frekuensi dengan besaran yang membedakan dengan nada lainnya. Setiap nada memiliki tingkatan tingginya sebuah nada yang disebut juga dengan oktaf. Contoh, Nada dasar A memiliki ketetapan frekuensi yaitu 110 Hz, nada A memiliki tingkatan oktaf mulai dari oktaf pertama yaitu 220 Hz hingga oktaf ke n. Tiap oktaf memiliki asumsi 2 x nilai oktaf A sebelumnya hingga oktaf ke n. Data frekuensi nada dapat dilihat pada tabel 3.5.
Tabel 3.5 Nada Dasar A-D Nada Dasar A
(Hz)
1 2 3 4 5 6
A A# B C C# D
A=110 110 117 123 131 139 147
A=220 220 233 247 262 277 294
A=440 440 466 494 523 554 587
A=880 880 932 988 1047 1109 1175
Data frekuensi nada dapat dilihat pada tabel 3.6 untuk nada dasar D#-G#. Tabel 3.6 Nada D#-G#
Nada Dasar A (Hz)
7 8 9 10 11 12
D# E F F# G G#
A=110 156 165 175 185 196 208
A=220 311 330 349 370 392 415
(47)
A=880 1245 1319 1397 1480 1568 1661
3.3.4. Penentuan Nada/Akord
Dalam penentuan nada atau akord keluaran terdapat besaran frekuensi. Setiap nada memiliki frekuensi yang tetap sesuai dengan jenis nadanya sedangkan akord memiliki beberapa frekuensi yang membentuk sebuah nada. Pada setiap frekuensi nada dalam suatu rentang waktu tertentu ditentukan beberapa frekuansi nada utama yang dominan dibandingkan dengan lainnya. Jika terdapat tiga atau minimal dua nada yang bersesuaian, nada-nada tersebut dapat dikatakan sebagai akord.
3.4. Analisis Kebutuhan Fungsional 3.4.1. Use CaseDiagram
Terdapat lima aktor dalam aplikasi pengenalan dan pembelajaran akord gitar ini, yaitu owner (superadmin), pengajar (admin), murid, gitar (hardware), dan pengunjung. Tugas setiap aktor dapat dilihat pada diagram Use Case pada gambar 3.4:
(48)
(49)
3.4.2. Use Case Skenario 3.4.2.1. Autentikasi Owner
Autentikasi Owner digunakan untuk cara hak akses terhadap Owner yang akan menggunakan sistem dengan memasukan username dan password yang telah terdaftar pada database. Skenario untuk autentikasi Owner dapat dilihat pada tabel 3.6.
Tabel 3.6 Skenario Autentikasi Owner
Identifikasi
Nomor 1
Nama Autentikasi Owner
Tujuan Memastikan hak akses pengguna terhadap sistem
Deskripsi Sistem menerima data identifikasi pengguna, berdasarkan data tersebut memutuskan apakah pengguna memiliki hak akses pada sistem
Tipe
Aktor Owner (super admin)
Skenario Utama Kondisi awal Menampilkan halaman login
Aksi Aktor Reaksi Sistem
1) Memasukkan halaman login owner 3) Memasukan username dan password
2) Menampilkan form login owner 4) Mengecek username dan password 5) Apabila username atau password salah, sistem akan menampilkan pesan kesalahandan akan tetap pada form login
6) Apabila username dan password benar maka sistem akan mengecek data pada tabel
7) Apabila data pada tabel salah maka sistem akan menampilkan pesan kesalahan dan akan tetap pada form login
8) Apabila data pada tabel benar maka sistem akan menampilkan antarmuka owner
Kondisi akhir Jika pada akhir interaksi username dan password yang dimasukan pengguna benar maka pengguna dapat melakukan proses yang terdapat pada sistem sesuai dengan hak akses
(50)
pengguna.
Jika salah maka sistem akan menampilkan pesan konfirmasi bahwa username dan password yang dimasukan salah.
3.4.2.2. Pengolahan Data Pengajar
Pengolahan data pengajar digunakan untuk melakukan proses pengolahan data pengajar yang dilakukan oleh Owner (super admin). Skenario untuk pengolahan data pengajar dapat dilihat pada tabel 3.7.
Tabel 3.7 Skenario Pengolahan Data Pengajar
Identifikasi
Nomor 2
Nama Pengolahan Data Pengajar
Tujuan Melakukan proses penambahan dan ubah data pengajar
Deskripsi Pengguna dapat melakukan penambahan dan ubah data pengajar Tipe
Aktor Owner (super admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai super admin
Aksi Aktor Reaksi Sistem
1) Memasuki halaman owner dan memilih pengolahan data pengajar
2) Sistem akan menampilkan beberapa fungsi, yaitu cari pengajar, tambah pengajar dan ubah pengajar
Kondisi akhir Pengguna melakukan aktifitas dalam pengolahan data pengajar
3.4.2.3. Tambah Data Pengajar
Tambah data pengajar digunakan untuk melakukan proses penambahan data pengajar yang dilakukan oleh Owner (super admin). Skenario tambah data pengajar dapat dilihat pada tabel 3.8.
Tabel 3.8 Skenario Tambah Data Pengajar
Identifikasi
Nomor 3
(51)
Tujuan Melakukan proses penambahan pengajar pada sistem Deskripsi Pengguna dapat melakukan penambahan data pengajar baru
pada sistem Tipe
Aktor Owner (super admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol tambah data pengajar
3) Mengisi form tambah data pengajar 4) Memilih tombol simpan
2) Menampilkan form tambah data pengajar
5) Mengecek data yang diisi
6) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan pesan kesalahan dan tetap pada form tambah data pengajar
7) Apabila benar sistem akan mengecek data pengajar
8) Apabila data sudah ada pada tabel maka sistem akan menampilkan kesalahan/sudah ada dan tetap pada form tambah data pengajar
9) Apabila belum ada pada tabel maka data akan disimpan ke dalam tabel pengajar
Kondisi akhir Pengguna berhasil melakukan kegiatan penambahan data pengajar
3.4.2.4. Ubah Data Pengajar
Ubah data pengajar digunakan untuk melakukan ubah data pengajar yang dilakukan oleh Owner (super admin). Skenario ubah data pengajar dapat dilihat pada tabel 3.9.
Tabel 3.9 Skenario Ubah Data Pengajar
Identifikasi
Nomor 4
Nama Ubah Data Pengajar
Tujuan Mengubah data pengajar pada sistem
Deskripsi Pengguna dapat melakukan ubah data pengajar Tipe
(52)
Aktor Owner (super admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai super admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol ubah data pengajar 4) Memilih data pengajar
6) Mengubah data pengajar 7) Memilih tombol simpan
2) Mencari data pengajar
3) Menampilkan daftar data pengajar 5) Menampilkan form ubah data pengajar
8) Mengecek data yang diisi
9) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan kesalahan, tetap pada form ubah data pengajar
10) Apabila benar maka sistem akan mengecek data pada tabel pengajar 11) Apabila sudah ada maka sistem akan menampilkan pesan kesalahan atau sudah ada, tetap pada form ubah data pengajar
12) Apabila data yang diisi belum ada dan benar maka data akan disimpan kedalam tabel pengajar
Kondisi akhir Pengguna berhasil melakukan kegiatan ubah data pengajar
3.4.2.5. Autentikasi Pengajar
Autentikasi pengajar digunakan untuk cara hak akses terhadap pengajar yang akan menggunakan sistem dengan memasukan username dan password yang telah terdaftar pada database. Skenario untuk autentikasi pengajar dapat dilihat pada tabel 3.10.
Tabel 3.10 Skenario Autentikasi Pengajar
Identifikasi
Nomor 5
Nama Autentikasi Pengajar
Tujuan Memastikan hak akses pengguna terhadap sistem
Deskripsi Sistem menerima data identifikasi pengguna, berdasarkan data tersebut memutuskan apakah pengguna memiliki hak akses pada
(53)
sistem Tipe
Aktor Pengajar (super admin)
Skenario Utama Kondisi awal Menampilkan halaman login
Aksi Aktor Reaksi Sistem
1) Memasukkan halaman login pengajar
3) Memasukan username dan password
2) Menampilkan form login pengajar
4) Mengecek username dan password 5) Apabila username atau password salah, sistem akan menampilkan pesan kesalahandan akan tetap pada form login
6) Apabila username dan password benar maka sistem akan mengecek data pada tabel
7) Apabila data pada tabel salah maka sistem akan menampilkan pesan kesalahan dan akan tetap pada form login
8) Apabila data pada tabel benar maka sistem akan menampilkan antarmuka pengajar
Kondisi akhir Jika pada akhir interaksi username dan password yang dimasukan pengguna benar maka pengguna dapat melakukan proses yang terdapat pada sistem sesuai dengan hak akses pengguna.
Jika salah maka sistem akan menampilkan pesan konfirmasi bahwa username dan password yang dimasukan salah.
3.4.2.6. Pengolahan Data Murid
Pengolahan data murid digunakan untuk melakukan proses pengolahan data murid yang dilakukan oleh pengajar (admin). Skenario pengolahan data murid dapat dilihat pada tabel 3.11.
Tabel 3.11 Skenario Pengolahan Data Murid
Identifikasi
Nomor 6
Nama Pengolahan Data Murid
(54)
Deskripsi Pengguna dapat melakukan penambahan dan ubah data murid Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memasuki halaman pengajar dan memilih pengolahan data murid
2) Sistem akan menampilkan beberapa fungsi, yaitu cari murid, tambah murid dan ubah murid
Kondisi akhir Pengguna melakukan aktifitas dalam pengolahan data murid
3.4.2.7. Tambah Data Murid
Tambah data murid digunakan untuk melakukan proses penambahan data murid yang dilakukan oleh pengajar (admin). Skenario tambah data murid dapat dilihat pada tabel 3.12.
Tabel 3.12 Skenario Tambah Data Murid
Identifikasi
Nomor 7
Nama Tambah Data Murid
Tujuan Melakukan proses penambahan data murid pada sistem
Deskripsi Pengguna dapat melakukan penambahan data murid baru pada sistem
Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol tambah data murid 3) Mengisi form tambah data murid 4) Memilih tombol simpan
2) Menampilkan form tambah data murid
5) Mengecek data yang diisi
6) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan pesan kesalahan dan tetap pada form tambah data murid
7) Apabila benar sistem akan mengecek data murid
8) Apabila data sudah ada pada tabel maka sistem akan menampilkan
(55)
kesalahan/sudah ada dan tetap pada form tambah data murid
9) Apabila belum ada pada tabel maka data akan disimpan ke dalam tabel murid
Kondisi akhir Pengguna berhasil melakukan kegiatan penambahan data murid
3.4.2.8. Ubah Data Murid
Ubah data murid digunakan untuk melakukan ubah data murid yang dilakukan oleh pengajar (admin). Skenario ubah data murid dapat dilihat pada tabel 3.13.
Tabel 3.13 Skenario Ubah Data Murid
Identifikasi
Nomor 8
Nama Ubah Data Murid
Tujuan Mengubah data murid pada sistem
Deskripsi Pengguna dapat melakukan ubah data murid Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol ubah data murid 4) Memilih data murid
6) Mengubah data murid 7) Memilih tombol simpan
2) Mencari data murid
3) Menampilkan daftar data murid 5) Menampilkan form ubah data murid 8) Mengecek data yang diisi
9) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan kesalahan, tetap pada form ubah data murid
10) Apabila benar maka sistem akan mengecek data pada tabel pengajar 11) Apabila sudah ada maka sistem akan menampilkan pesan kesalahan atau sudah ada, tetap pada form ubah data murid
12) Apabila data yang diisi belum ada dan benar maka data akan disimpan
(56)
kedalam tabel murid
Kondisi akhir Pengguna berhasil melakukan kegiatan ubah data murid
3.4.2.9. Pengolahan Data Materi
Pengolahan data materi digunakan untuk melakukan proses pengolahan data materi yang dilakukan oleh pengajar (admin). Skenario pengolahan data materi dapat dilihat pada tabel 3.14.
Tabel 3.14 Skenario Pengolahan Data Materi
Identifikasi
Nomor 9
Nama Pengolahan Data Materi
Tujuan Melakukan proses penambahan dan ubah data materi
Deskripsi Pengguna dapat melakukan penambahan dan ubah data materi Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memasuki halaman pengajar dan memilih pengolahan data materi
2) Sistem akan menampilkan beberapa fungsi, yaitu cari materi, tambah materi dan ubah materi
Kondisi akhir Pengguna melakukan aktifitas dalam pengolahan data materi
3.4.2.10. Tambah Data Materi
Tambah data materi digunakan untuk melakukan proses penambahan data materi yang dilakukan oleh pengajar (admin). Skenario tambah data materi dapat dilihat pada tabel 3.15.
Tabel 3.15 Skenario Tambah Data Materi
Identifikasi
(57)
Nama Tambah Data Materi
Tujuan Membuat materi pada sistem
Deskripsi Pengguna dapat melakukan penambahan materi pada sistem Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol tambah data materi 3) Mengisi form tambah data materi 4) Memilih tombol simpan
2) Menampilkan form tambah data materi
5) Mengecek data yang diisi
6) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan pesan kesalahan dan tetap pada form tambah data materi
7) Apabila benar sistem akan mengecek data materi
8) Apabila data sudah ada pada tabel maka sistem akan menampilkan kesalahan/sudah ada dan tetap pada form tambah data materi
9) Apabila belum ada pada tabel maka data akan disimpan ke dalam tabel materi
Kondisi akhir Pengguna berhasil melakukan kegiatan penambahan data materi
3.4.2.11. Ubah Data Materi
Ubah data materi digunakan untuk melakukan ubah data materi yang dilakukan oleh pengajar (admin). Skenario ubah data materi dapat dilihat pada tabel 3.16.
Tabel 3.16 Skenario Ubah Data Materi
Identifikasi
Nomor 11
Nama Ubah Data Materi
Tujuan Mengubah data materi pada sistem
Deskripsi Pengguna dapat melakukan ubah data materi Tipe
(58)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol ubah data materi 4) Memilih data materi
6) Mengubah data materi 7) Memilih tombol simpan
2) Mencari data materi
3) Menampilkan daftar data materi 5) Menampilkan form ubah data materi 8) Mengecek data yang diisi
9) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan kesalahan, tetap pada form ubah data materi
10) Apabila benar maka sistem akan mengecek data pada tabel pengajar 11) Apabila sudah ada maka sistem akan menampilkan pesan kesalahan atau sudah ada, tetap pada form ubah data materi
12) Apabila data yang diisi belum ada dan benar maka data akan disimpan kedalam tabel materi
Kondisi akhir Pengguna berhasil melakukan kegiatan ubah data materi
3.4.2.12. Hapus Data Materi
Hapus data materi digunakan untuk melakukan hapus data materi yang dilakukan oleh pengajar (admin). Skenario hapus data materi dapat dilihat pada tabel 3.17.
Tabel 3.17 Skenario Hapus Data Materi
Identifikasi
Nomor 12
Nama Hapus Data Materi
Tujuan Menghapus data materi pada sistem
Deskripsi Pengguna dapat melakukan hapus data materi Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
(59)
1) Memilih hapus data materi 3) Memilih data yang dihapus 4) Memilih tombol hapus
2) Menampilkan form hapus data materi
5) Menampilkan konfirmasi ya atau tidak
6) Apabila tidak maka data tidak dihapus, apabila ya maka sistem akan menghapus data materi
Kondisi akhir Pengguna berhasil melakukan kegiatan hapus data materi
3.4.2.13. Pengolahan Data Soal
Pengolahan data soal digunakan untuk melakukan proses pengolahan data soal yang dilakukan oleh pengajar (admin). Skenario pengolahan data soal dapat dilihat pada tabel 3.18.
Tabel 3.18 Skenario Pengolahan Data Soal
Identifikasi
Nomor 13
Nama Pengolahan Data Soal
Tujuan Melakukan proses penambahan soal, ubah data soal, dan melihat hasil latihan soal
Deskripsi Pengguna dapat melakukan penambahan soal, ubah data soal dan melihat hasil latihan soal
Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memasuki halaman pengajar dan memilih pengolahan data soal
2) Sistem akan menampilkan beberapa fungsi, yaitu cari soal, tambah soal dan ubah soal
(60)
3.4.2.14. Tambah Data Soal
Tambah data soal digunakan untuk melakukan proses penambahan data soal yang dilakukan oleh pengajar (admin). Skenario tambah data soal dapat dilihat pada tabel 3.19.
Tabel 3.19 Skenario Tambah Data Soal
Identifikasi
Nomor 14
Nama Tambah Data Soal
Tujuan Membuat soal pada sistem
Deskripsi Pengguna dapat melakukan penambahan soal pada sistem Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol tambah data soal 3) Mengisi form tambah data soal 4) Memilih tombol simpan
2) Menampilkan form tambah data soal 5) Mengecek data yang diisi
6) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan pesan kesalahan dan tetap pada form tambah data soal
7) Apabila benar sistem akan mengecek data soal
8) Apabila data sudah ada pada tabel maka sistem akan menampilkan kesalahan/sudah ada dan tetap pada form tambah data soal
9) Apabila belum ada pada tabel maka data akan disimpan ke dalam tabel soal Kondisi akhir Pengguna berhasil melakukan kegiatan penambahan data soal
3.4.2.15. Ubah Data Soal
Ubah data soal digunakan untuk melakukan ubah data soal yang dilakukan oleh pengajar (admin). Skenario ubah data soal dapat dilihat pada tabel 3.20.
(61)
Tabel 3.20 Skenario Ubah Data Soal
Identifikasi
Nomor 15
Nama Ubah Data Soal
Tujuan Mengubah data soal pada sistem
Deskripsi Pengguna dapat melakukan ubah data soal Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih tombol ubah data soal 4) Memilih data soal
6) Mengubah data soal 7) Memilih tombol simpan
2) Mencari data soal
3) Menampilkan daftar data soal 5) Menampilkan form ubah data soal 8) Mengecek data yang diisi
9) Apabila terjadi kesalahan pada data yang diisi maka sistem akan
menampilkan kesalahan, tetap pada form ubah data soal
10) Apabila benar maka sistem akan mengecek data pada tabel pengajar 11) Apabila sudah ada maka sistem akan menampilkan pesan kesalahan atau sudah ada, tetap pada form ubah data soal
12) Apabila data yang diisi belum ada dan benar maka data akan disimpan kedalam tabel soal
Kondisi akhir Pengguna berhasil melakukan kegiatan ubah data soal
3.4.2.16. Hasil Latihan Soal
Hasil latihan soal digunakan untuk melihat hasil latihan soal yang telah dilakukan oleh murid. Skenario hasil latihan soal dapat dilihat pada tabel 3.21.
Tabel 3.21 Skenario Hasil Latihan Soal
Identifikasi
Nomor 16
Nama Hasil Latihan Soal Tujuan Melihat hasil latihan soal
(62)
murid Tipe
Aktor Pengajar (admin)
Skenario Utama
Kondisi awal Pengguna sedang berada dalam sessionlogin sebagai admin
Aksi Aktor Reaksi Sistem
1) Memilih menu hasil latihan soal 2) Sistem akan menampilkan daftar nilai dari latihan soal
Kondisi akhir Pengguna berhasil melakukan kegiatan melihat hasil latihan soal
3.4.2.17. Halaman Utama
Halaman utama digunakan untuk menampilkan halaman utama yang dilakukan oleh semua pengguna. Skenario halaman utama dapat dilihat pada tabel 3.22.
Tabel 3.22 Skenario Halaman Utama
Identifikasi
Nomor 17
Nama Halaman Utama
Tujuan Menampilkan halaman utama sistem
Deskripsi Tampilan utama sistem pengenalan dan pembelajaran akord gitar
Tipe
Aktor Owner (super admin), Pengajar (admin), Murid, dan Pengunjung Skenario Utama
Kondisi awal Halaman utama sistem
Aksi Aktor Reaksi Sistem
1) Memilih menu beranda 2) menampilkan halaman utama Kondisi akhir Sistem akan menampilkan informasi pembelajaran yang ada
pada sistem
3.4.2.18. Lihat Materi
Lihat materi digunakan untuk melakukan lihat materi yang dilakukan oleh semua pengguna. Skenario lihat meteri dapat dilihat pada tabel 3.23.
(1)
INDONESIA COMPUTER UNIVERSITY (UNIKOM) | 2011. 5
[7] Mitsubishi Electric Research Laboratories, 2008. Sound Recognition (http://www.merl.com/projects/SoundR ecognition/, diakses 13 januari 2011). [8] Powers, David. 2008 , PHP – Object Oriented Solutions, NewYork, Friendsof. 121-166.
[9] Sommerville, Ian. 2004, Software Engineering : 7Th Edition, Addison-Wesley, Chapter 4.
[10] Suherman, E dan Sukjaya. 1990. Petunjuk Praktis untuk Melaksanakan Evaluasi Pendidikan Matematika. Wijayakusumah.
(2)
iii
K
K
A
A
T
T
A
A
P
P
E
E
N
N
G
G
A
A
N
N
T
T
A
A
R
R
Assalamu‟alaikum Wr. Wb.,
Alhamdulillahi Rabbil „alamiin, segala puji dan syukur penulis panjatkan
ke hadirat sang Maha Pintar Allah SWT, karena dengan izin-Nya, penulis dapat menyelesaikan laporan tugas akhir ini.
Laporan tugas akhir dengan judul “APLIKASI PENGENALAN DAN PEMBELAJARAN AKORD GITAR BERBASIS WEB” ini disusun guna memenuhi salah satu tugas mata kuliah tugas akhir pada semester sembilan di jurusan Teknik Informatika Universitas Komputer Indonesia.
Penulis sangat menyadari segala kekurangan yang ada pada penulisan laporan ini. Kekurangan ini dikarenakan keterbatasan pengetahuan dan pemahaman penulisan dalam penulisan laporan. Akan tetapi, penulis berusaha menyusun laporan ini sebaik mungkin dengan segenap kemampuan dan usaha yang telah penulis lakukan.
Selama menulis laporan tugas akhir ini, penulis telah mendapatkan banyak sekali bimbingan dan bantuan dari berbagai pihak yang telah dengan segenap hati dan keikhlasan yang penuh membantu dan membimbing penulis dalam menyelesaikan laporan ini. Dengan kesadaran hati, penulis ucapkan terima kasih kepada:
(3)
iv
1. Kedua orang tuaku, Pepen Ependi dan Elis Juitasari, yang telah memeliharaku sedari kecil dan membiayaiku sehingga bisa menyelesaikan laporan tugas akhir ini tanpa pamrih.
2. Ibu Mira Kania Sabariah, S.T., M.T. selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia.
3. Adam Mukharil Bachtiar, S.Kom selaku dosen pembimbing laporan tugas akhir dengan segala motivasi yang telah diberikan dan kesabaran hatinya membimbing penulis dalam menulis laporan tugas akhir ini.
4. Galih Hermawan, S.Kom sebagai reviewer yang telah banyak memberikan saran, arahan dan bimbingan kepada penulis.
5. Eko Kurniawan Khannedy u Cisitu yang selalu memberikan banyak ilmu tentang apa yang penulis hadapi di tugas akhir ini.
6. Maia yang telah banyak memberikan semangat yang sangat berarti dan berpengaruh terhadapku untuk kemajuan dalam pembuatan tugas akhir ini. 7. Teman-teman satu kosan Cisitu Indah Dalam V yang selama 3 tahun ini
memberikan segala kenangan yang indah yang tidak akan terlupakan. 8. Teman-teman di kelas IF-1 angkatan 2006 walau sudah tidak bersama lagi
tetapi kita tidak boleh saling melupakan ya !
Dan semua pihak yang tidak dapat penulis tuliskan namanya satu persatu yang telah memberikan dorongan semangatnya kepada penulis.
(4)
(5)
(6)