• Tidak ada hasil yang ditemukan

Aplikasi Pengenalan Dan Pembelajaran Akord Gitar Berbasis Web (studi kasus pada kursus gitar di gentra rineka)

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Pengenalan Dan Pembelajaran Akord Gitar Berbasis Web (studi kasus pada kursus gitar di gentra rineka)"

Copied!
265
0
0

Teks penuh

(1)

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:

(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 :

(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.

(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.

(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.

(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)

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:

(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:

(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

(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

(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

(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.

(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

(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.

(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.

(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.

(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

(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 Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem. 6. Activity Diagram untuk memodelkan perilaku Use

(21)

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object. 10. Deployment Diagram untuk 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

(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.

(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.

(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)

(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)

(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:

(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.

(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

(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

(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.

(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

(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

(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

(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.

(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.

(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.

(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

(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 murid, data materi

-Dalam mengoperasikan komputer

(42)

Murid Melakukan 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 murid, data materi

- Pelatihan dalam mengoperasikan komputer - Pelatihan dalam

mengelola data Murid Melakukan

kegiatan hardware (gitar)

- Pelatihan dalam mengoperasikan komputer

- Pelatihan dalam men mensetting audio komputer

(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

(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

(45)

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)

3.3.3. Analisis Frekuensi

(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

(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

(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

(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

(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

(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

(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

Gambar

Gambar 3.1 Use Case Diagram Sistem Yang Sedang Berjalan
Tabel 3.2 Karakteristik Pengguna Sistem
Gambar 3.3 Transformasi Sinyal Digital Ke Dalam Besaran Frekuensi
Gambar 3.4 Use Case Diagram Aplikasi Pembelajaran Akord
+7

Referensi

Dokumen terkait

Substansi hukum terkait bagaimana materi hukum itu benar-benar netral dari kepentingan- kepentingan politis yang sifatnya sesaat dan pragmatis karena hukum

Tujuan: Penelitian ini adalah penelitian deskriptif, yang bertujuan untuk mengetahui proporsi ibu penderita HIV yang melahirkan bayi yang terinfeksi dan tidak terinfeksi

2. Terpidana mengajukan permohonan grasi kepada presiden maksimal 1 tahun sejak dijatuhkan putusan hakim yang bersifat tetap seperti yang diatur dalam

Analisis ragam menunjukkan parameter tinggi kanopi tanaman, warna daun, jumlah daun, persentase kerontokan daun, penyusutan media murni, dan perubahan derajat

Meskipun jarang terjadi, harus diwaspadai kemungkinan timbulnya efek samping, yaitu agranulositosis (metimazol mempunyai efek samping agranulositosis yang lebih kecil),

IIS SUGIANTO 50619 JANGAN SAMPAI TIGA KALI TRIO AMBISI 54251 JANGAN ADA YANG BERUBAH ANNISA BAHAR & 51575 JANGAN KAU UCAP LAGI HARVEY MALAIHOLO 50739 JANGAN SEBUT

Hasil pembahasan yang dilakukan berdasarkan hasil penelitian untuk variabel pengaruh kepemimpinan dan komunikasi secara simultan berpengaruh terhadap kinerja karyawan

Beberapa alasan yang menjadi dasar digunakan pajak lingkungan yaitu: instrumen ini paling efektif dalam menginternalisasi eksternalitas; dapat memberikan insentif untuk