BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian ini bertujuan untuk mempermudah dan mengefektifkan proses pembelajaran pada penyandang cacat tuna netra dengan membuat alat bantu dalam proses pembelajaran khususnya dalam pembelajaran huruf braille. Sang pengajar akan menggunakan alat bantu ini, dalam mengajarkan huruf braille kepada siswa baru atau siswa yang masih sulit untuk mengingat huruf braille. Alat ini diharapkan dapat mempercepat proses pengingatan dan penghafalan huruf braille serta membantu sang pengajar agar tidak mengulang - ulang kalimat alphabet berkali kali dikarenakan sulitnya siswa untuk mengingat huruf braille. Huruf braille memiliki kombinasi enam buah titik timbul yang digunakan untuk mempermudah penderita tuna netra dalam sistem pembacaan huruf braille. Dengan metode ini dapat mempermudah para penderita tuna netra untuk membaca huruf braille dikarenakan cara membacanya dengan meraba titik-titik tonjolan huruf braille. Penemu sistem tersebut adalah Louis Braille pada tahun 1827 (Asa nanda dkk, 2014). Pada gambar 2.1 menunjukan susunan huruf braille yang terdiri dari kombinasi maksimal enam buah lokasi titik. Gambar 2.1 Letak Posisi Titik huruf braille (Sumber : Syahrul 2011) 5
6 Berikut adalah penelitian penelitian sebelumnya yang terkait dengan penelitian ini : 1. Muktafin dkk, (2015) membuat sebuah alat Perancangan aplikasi media komunikasi penyandang tunanetra bluetooth dengan virtual braille keyboard berbasis android. Pembuatan alat pembelajaran dengan memanfaatkan aplikasi yang dibuat serta dipasang pada smart phone android. 2. Asa Nanda dkk, (2014) merancang sebuah alat dengan mengkombinasikan aplikasi pada PC dan memodifikasikan keyboard PC dengan memasang IC Mikrokontroler ATMega 32 dengan judul penelitian keyboard braille dengan output suara sebagai alat pembelajaran untuk penyandang tunanetra. 3. Syahrul (2011) melakukan penelitian dengan berjudul pengembangan alat bantu baca bagi tunanetra berbasis jaringan komputer dimana penelitian ini dilakukan dengan merujuk beberapa penelitian yang dilakukan sebelumnya dengan mengembangkannya menjadi sistem pembelajaran dengan menggunakan sistem jaringan berbasis lan. Kelebihan sistem yang akan direncanakan jika dibandingkan dengan penelitian sebelumnya adalah : 1. Jika dibandingkan dengan penelitian yang dilakukan oleh Muktafin dkk, (2015), yang menggunakan layar telepon android sebagai saklar sentuh membuat siswa mengalami kendala dalam proses menghafal huruf braille, maka alat yang akan dirancang menggunakan keyboard khusus yang penggunaannya lebih mudah. 2. Jika dibandingkan dengan penelitian yang dilakukan oleh Asa Nanda dkk, (2014), yang masih menggunakan PC sebagai perangkat utama yang menyebabkan kurang fleksibel dari alat tersebut, maka alat yang akan dirancang menggunakan mikokontroler arduino ATMega 2560 dapat lebih fleksibel dan ringan. 3. Jika dibandingkan dengan penelitian yang dilakukan oleh Syahrul (2011), yang mengalami lamanya proses booting program pada PC yang membuat lamanya pengaksesan dari alat, dengan menggunakan mikokontroler arduino ATMega 2560 dapat mempersingkat waktu akses penggunaan alat karena tidak perlu
7 menjalankan aplikasi yang banyak seperti running program pada PC, karena alat yang dirancang dapat langsung digunakan setelah menyalakannya. 2.2 Tinjauan Pustaka 2.2.1 LCD (Liquid Crystal Display) LCD (Liquid Crystal Display) adalah salah satu perangkat elektronik yang dapat menampilkan sebuah karakter berupa huruf, tanda baca, angka dan gambar. LCD dapat digunakan sebagai tampilan dari hasil pengolahan program pada suatu sistem, termasuk pada hasil dari outputan pengolahan data pada Arduino ATMega 2560 yang digunakan sebagai prosesor. LCD (Liquid Crystal Display) adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. Dipasaran tampilan LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta rangkaian pendukungnya termasuk ROM dan sebagainya. LCD mempunyai pin data, kontrol catu daya, dan pengatur kontras tampilan (Sinaulan dkk, 2015). Pada gambar 2.2 dapat dilihat bentuk fisik LCD (Liquid Crystal Display) 1 6x 2. Gambar 2.2 LCD (Liquid Crystal Display) 16x2 (Sumber : http://www.engineersgarage.com/electronic-components/16x2- lcd-module-datasheet)
8 Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Crystal Display) diantaranya adalah : 1. Pin data adalah untuk memberikan data karakter yang ingin ditampilkan pada LCD (Liquid Crystal Display). LCD memiliki 8 pin data (DB0..DB7) yang digunakan untuk pengatur dan printah kerja LCD. 2. Pin R/W (Read Write) adalah instruksi pada LCD, apabila perintah 0 (low) maka instruksi untuk menulis data, sedangkan 1 (high) maka instruksi untuk membaca data. 3. Pin RS (Register Select) adalah indikator untuk menentukan jenis data apa yang akan masuk pada LCD, apakah data atau perintah yang akan dimasukan pada LCD. Apabila data 0 (low) menunjukan sebuah perintah, sedangkan data 1 (high) menunjukan sebuah data. 4. Pin E (Enable) adalah sebuah pin yang berfungsi untuk memastikan jenis data masuk atau keluar. 5. Pin VLCD adalah mengatur kecerahan tampilan atau kontras dimana pin ini dihubungkan dengan trimpot yang bernilai hambatan 10 KOhm, apabila pin ini tidak digunakan, maka pin dihubungkan ke ground, sedangkan nilai tegangan catu daya ke LCD harus sebesar 5 Volt DC. 2.2.2 Arduino Mega Arduino Mega adalah sebuah board yang menggunakan mikrokontroler berbasis ATMega 2560 dimana board tersebut memiliki 15 pin analog input, 10 pin communication, 32 pin Input/Output (I/O) dan 12 pin PWM. Arduino Mega biasanya digunakan diberbagai aplikasi terutama aplikasi yang memerlukan banyak pin I/O, maka pada pembuatan alat bantu baca huruf braille untuk orang buta menggunakan Arduino Mega bertujuan untuk memenuhi syarat dari keperluan alat yang dibuat dimana tombol inputan Keyboard memerlukan banyak pin Inputan sebagai sumber data yang akan diproses oleh sistem program yang telah di tanamkan pada Arduino Mega. Arduino adalah papan rangkaian elektronik (electronic board) open source yang didalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler
9 berbasis ATMega 2560. Mikrokontroler itu sendiri adalah suatu chip atau IC (Integrated Circuit) yang bisa diprogram menggunakan komputer. Program yang direkam bertujuan agar rangkaian elektronik dapat membaca input, memproses dan kemudian menghasilkan output sesuai yang diinginkan. Outputnya bisa berupa sinyal, besaran tegangan, lampu, suara, getaran, gerakan dan sebagainya. Saat ini arduino sangat populer, banyak pemula maupun profesional ikut mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang dipakai, bahasa C yang disederhanakan dengan bantuan pustaka pustaka (libraries) arduino (Windarto 2012). Pada gambar 2.3 mapping pin arduino ATMega 2560. Gambar 2.3 Arduino Mega 2560 (Sumber : https://www.arduino.cc/en/uploads/hacking/pinmapp2560.zip) 2.2.3 DFPlayer Mini DFPlayer Mini adalah sebuah modul micro SD dimana modul tersebut dapat mengases dan menyimpan data pada micro SD. DFPlayer Mini sudah bisa langsung menghasilkan output analog pada pin SPK dimana pin SPK dapat disambungkan langsung ke loundsepaker dengan nilai hambatan sebesar 4 Ohm.
10 DFPlayer Mini memiliki 2 pin keluaran SPK (loundsepaker), 2 pin USB, 2 pin ADKEY, 2 pin I/O dan pin communication RX dan TX. Pada gambar 2.4 dapat dilihat bentuk dari DFPlayer Mini. Gambar 2.4 DFPlayer Mini (Sumber : https://www.dfrobot.com/wiki/index.php/ DFPlayer_Mini_SKU:DFR0299) Proses Read pada MMC/SD Card ada 2 macam cara, yaitu per blok (single block) atau multiple block. Perbedaan dari kedua macam cara ini terletak pada besar data yang ditransfer dalam sekali memberikan command. Pada sistem ini hanya digunakan proses pembacaan (Read) dengan metode multi blok (Asa Nanda dkk, 2014). Pada gambar 2.5 dapat dilihat Timing Diagram Read Multi Blok. Gambar 2.5. Timing Diagram Read Multi Blok (sumber : Asa Nanda dkk, 2014) Pada metode read multi blok (CMD18), kartu MMC/SD Card akan mengirimkan data blok secara berkelanjutan setelah menerima perintah read dari
11 host. Aliran data akan terhenti oleh perintah menghentikan transmisi data (CMD12) (Asa Nanda dkk, 2014). Pada gambar 2.6 dapat dilihat Timing Diagram CMD12. Gambar 2.6. Timing Diagram CMD12 (sumber : Asa Nand dkk, 2014) Keterangan : Z : High Impedance State * : Perulangan S : Start (bit = 0 ) T : Transmitter bit (Host = 1, Card = 0 ) E : End bit (= 1 ) D : Data bits CRC : Cyclic redundancy check bits NCR : Minimum delay antara host command dan card response NAC : Access time delay 2.2.4 Loudspeaker Loudspeaker adalah sebuah komponen elektronika yang dapat mengubah tegangan listrik menjadi suara dimana listrik akan mengaliri lilit yang ada di belakang membran loundspeaker yang akan menggerakan membran sesuai dengan polaritas tegangan dan kuat arus yang diperoleh, dimana pergerakan tersebut terjadi dikarenakan adanya pengaruh dari magnet tetap pada bagian belakang loudspeaker. Ada beberapa bagian pembentuk loudspeaker adalah : 1. Pembatas rongga (conus) adalah berfungsi untuk menghasilkan gelombang tekanan udara yang berada di sekitar loundspeaker. 2. Membran adalah penerima proses induksi dari magnent yang akan menghasilkan suara yang diakibatkan oleh gerakan induksi lilitan.
12 3. Kumparan / lilitan adalah berfungsi untuk mengalirkan energi ke pembatas rongga 4. Casing adalah sebagai pelindung dari semua bagian bagian inti loundspeaker. 2.2.5 I2C Protokol I2C adalah singkatan dari inter intergrated circuit, dapat disebut juga dengan I squared C atau I - tow C. I2C merupakan protokol yang digunakan pada multi master serial pada komputer yang diciptakan oleh Philip yang digunakan untuk berkomunikasi dengan perangkat yang berkapasitas rendah atau kecepatan rendah yang biasanya diaplikasikan pada motherboard, embedded system, dan telepon seluer. I2C dapat berkomunikasi dengan perangkat lain hanya dengan menggunakan 2 pin yaitu pin SDA dan pin SCL dimana pin SCL berfungsi sebagai clock dari I2C dan pin SDA berfungsi sebagai jalur data berbeda dengan menggunakan Chip mikrokontroler ATmega328 berkomunikasi melalui pin MOSI, MISO, SCK, reset, VCC dan GND (Suardiana,2017). I2C berkomunikasi secara serial syncronuous half duplex bidirectional, dimana data yang dikirim hanya melalui satu jalur saja yaitu pin SDA. Pada gambar 2.7 dapat dilihat gambar fisik dari PCF8574 (I2C). Gambar 2.7 PCF8574 (I2C) (sumber : http://telecnatron.com/modules/pcf8574-i2c-lcd-driver/) 2.2.6 Arduino IDE Software yang digunakan dalam membuat listing program adalah Arduino IDE (Integrated Development Environment), yaitu software yang merupakan bawaan dari Arduino itu sendiri. Pada software Arduino IDE proses compile dan upload program dapat dilakukan dengan meggunakan bahasa program C, dengan
13 demikian program dapat diproses ke dalam mikrokontroler Arduino ATMega 2560. Pada penelitian ini menggunakan Software Arduino Uno 1.6.4. Gambar 2.8 Tampilan Software IDE Arduino (Sumber : https://www.arduino.cc/en/main/oldsoftwarereleases) A. Struktur Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada. 1. Void setup( ) { } Semua kode di dalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya. 2. Void loop( ) { } Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan. B. Variabel Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang
14 digunakan untuk memindahkannya. Terdapat beberapa variabel dasar yang digunakan dalam program Arduino. 1. Int (integer) Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767. 2. Long (long) Digunakan ketika integer tidak mencukupi lagi. Data long (long) memakai 4 byte (32 bit) dari memori (RAM) dan dapat menyimpan data dengan rentang nilai dari -2,147,483,648 dan 2,147,483,647. 3. Boolean (boolean) Variabel sederhana yang digunakan untuk menyimpan nilai true (benar) atau false (salah). Variabel boolean sangat berguna karena hanya menggunakan 1 bit dari RAM. 4. Float (float) Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38. 5. Char (character) Menyimpan 1 karakter menggunakan kode ASCII (misalnya A = 65). Hanya memakai 1 byte (8 bit) dari RAM. C. Syntax Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan. 1. // (komentar satu baris) Digunakan untuk memberi catatan pada arti dari kode-kode yang dituliskan. Syntax di belakang // akan diabaikan oleh program. 2. /* */ (komentar banyak baris)
15 Jika terdapat banyak catatan, maka syntax dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program. 3. { }(kurung kurawal) Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir. Kurung kurawal juga digunakan pada fungsi dan pengulangan. 4. ; (titik koma) Setiap baris kode harus diakhiri dengan tanda titik koma. Jika ada titik koma yang hilang maka program tidak akan bisa dijalankan. D. Struktur Perulangan Program sangat tergantung pada struktur perulangan yang akan dijalankan berikutnya, berikut ini adalah elemen dasar dari struktur perulangan. 1. if..else, dengan format seperti berikut ini: if (kondisi) { } else if (kondisi) { } Dengan struktur tersebut program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya true, dan jika tidak false maka akan diperiksa apakah kondisi pada else if dan jika kondisinya false maka kode pada else yang akan dijalankan. 2. for, dengan format seperti berikut ini: for (int i = 0; i < #perulangan; i++) { } Digunakan bila melakukan perulangan kode di dalam kurung kurawal beberapa kali. #perulangan dapat di isi dengan jumlah pengulangan yang diinginkan. Jika melakukan penghitungan ke atas dengan instruksi i++ atau ke bawah dengan instruksi i--.