pengembangan konverter

106
viii PENGEMBANGAN KONVERTER DARI TEKS KE FONEM PADA MIKROKONTROLER UNTUK APLIKASI ALAT BANTU WICARA Oleh : PUTU RIO ADITYA DARMA 7103 030 047 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui Oleh: Tim Penguji Proyek Akhir : Dosen Pembimbing: 1. Ir. Ratna Adil, MT 1. Arif Irwansyah, ST NIP. 131 756 642 NIP. 132 296 752 2. Ir. Rika Rokhana, MT NIP. 132 206 863 3. Madyono SST NIP. 132 008 580 Mengetahui: Ketua Jurusan Teknik Elektronika Ir. Dedid Cahya Happyanto, MT NIP: 131 694 603

Upload: sinyorita

Post on 08-Jun-2015

1.402 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PENGEMBANGAN KONVERTER

viii

PENGEMBANGAN KONVERTERDARI TEKS KE FONEM PADA MIKROKONTROLER

UNTUK APLIKASI ALAT BANTU WICARA

Oleh :PUTU RIO ADITYA DARMA

7103 030 047

Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat UntukMemperoleh Gelar Ahli Madya (A.Md.)

diPoliteknik Elektronika Negeri Surabaya

Institut Teknologi Sepuluh Nopember Surabaya

Disetujui Oleh:

Tim Penguji Proyek Akhir : Dosen Pembimbing:

1. Ir. Ratna Adil, MT 1. Arif Irwansyah, ST NIP. 131 756 642 NIP. 132 296 752

2. Ir. Rika Rokhana, MT NIP. 132 206 863

3. Madyono SST NIP. 132 008 580

Mengetahui:Ketua Jurusan Teknik Elektronika

Ir. Dedid Cahya Happyanto, MT NIP: 131 694 603

Page 2: PENGEMBANGAN KONVERTER

ix

ABSTRAK

Proyek akhir ini adalah tentang konverter teks ke fonem sebagaibagian dari text to speech konverter. Konverter teks ke fonem berfungsiuntuk memecah sebuah kalimat atau kata menjadi bentuk pecahan terkecildari sebuah pengucapan atau sering dinamakan bentuk fonem (suku kata).Output berupa fonem yang dihasilkan konverter ini akan menjadi input darisistem konverter selanjutnya. Konverter teks ke fonem menggunakanmikrokontroler (ATMEGA 16L) sebagai penyimpan dan pemroses program,masukan berupa teks diketikkan melalui keypad 3x4. Hasil keluaran darikonverter ini(berupa fonem) akan ditampilkan pula ke LCD serta ditransfermenuju konverter selanjutnya (konverter fonem ke wicara) melaluikomunikasi serial.

Algoritma program yang dipakai untuk memecah kata menjadifonem berdasarkan referensi dari teknik automata. Pola fonem yang telahdapat dikenali adalah pola fonem regular atau dasar dari pola suku katadalam bahasa Indonesia. Sehingga untuk kata-kata asing/serapan yang telahdimasukkan tetap akan dipecah berdasar pola fonem ejaan bahasa Indonesia.Konverter teks ke fonem ini telah dapat mengenali bentuk karakter berupaangka(normalisasi angka).

Konverter teks ke fonem juga memiliki sifat portable, karenabentuknya yang tergolong kecil dan mudah untuk dibawa kemana mana(mobile). Kelemahan dari konverter ini adalah belum tersedianyapengenalan karakter berupa tanda baca.

Kata kunci: fonem, mikrokontroler, LCD, keypad, automata, komunikasiserial, portable.

Page 3: PENGEMBANGAN KONVERTER

x

ABSTRACT

This Final Project is about text converter to phoneme as part oftext to speech converter. Text converter to phoneme function to break aword or sentence become smallest fraction form from a uttering or oftennamed a phoneme form (syllable). Output in the form of phoneme yieldedby this converter will become input from converter system hereinafter. Textconverter to phoneme use microcontroller (ATMEGA 16L) as process takerand depositor program, input in the form of text typed [by] through keypad3x4. Output result from this converter (phoneme) will be presented also toLCD and also transferred to go to converter hereinafter (phoneme to speechconverter) through serial communications. Algorithm program that wear to break word become phonemepursuant get reference from technique automata. Phoneme pattern earnedrecognized is phoneme with regular pattern or elementary syllable pattern inIndonesian. So that for words foreign which have been entered will remainbe broken based on Indonesian spelling phoneme pattern. Text converter tothis phoneme have earned to recognize character form in the form ofnumber (normalization of number process) Text converter to phoneme also measure up to portable, because itsfor pertained minimize and easy to be brought (mobile). Feebleness fromthis converter is not yet made available of character recognition in the formof punctuation mark.

Keyword: phoneme, microcontroller, LCD, keypad, automata, serialcommunications, portable.

KATA PENGANTAR

Page 4: PENGEMBANGAN KONVERTER

xi

Alhamdulillah, segala puji syukur bagi Allah SWT karena atasberkat rahmat dan hidayah-Nya, saya berhasil menyelesaikan buku laporanProyek Akhir saya yang berjudul:

Pengembangan Konverter dari Teks ke Fonem PadaMikrokontroler Untuk Aplikasi Alat Bantu Wicara

”Development of Text to Foneme Converter OnMicrocontroller for the Appliance Assistive of Speech”

Proyek kahir ini disusun untuk melengkapi persyaratan akademikdalam menyelesaikan kuliah pogram D3 di Politeknik Elektronka NegeriSurabaya Jurusan Teknik Elektronika.

Semoga hasil Tugas Akhir yang telah dilakukan ini dapatmemberikan suatu nilai tambah dan pengalaman tersendiri bagi duniapendidikan yang berkecimpung dibidang sains dan teknologi.

Kami menyadari bahwa buku ini masih jauh dai kesempurnaan,oleh karena itu kritik dan saran dari pembaca yang bersifat membangunsangat saya harapkan.

Akhirnya kami berharap semoga buku ini dapat bermanfaat bagmahasiswa Politeknik Elektronika Negeri Surabaya pada khususnya daripara pembaca pada umumnya.

Surabaya, 28 Juli 2006

Penyusun

UCAPAN TERIMAKASIH

Page 5: PENGEMBANGAN KONVERTER

xii

Assalamu’alaikum Wr.Wb.

Atas berkah rahmat Allah SWT serta dengan segala hormat dankerendahan hati, Saya selaku penyusun dan penulis tak lupa mengucapkanbanyak terima kasih, kepada semua pihak yang banyak memberi masukandan bantuan kepada saya sehingga proyek akhir ini dapat terselesaikandengan baik. Sujud syukur dihaturkan kepada Allah SWT karena atasberkah rahmatnya sehingga saya selaku penyusun telah diberikankesempatan untuk menyelesaikan proyek akhir ini, juga tak lupa kamiucapkan terima kasih kepada :

1. Ibundaku (Sugihartie), yang selalu kubanggakan kapanpundimanapun, yang telah memberikan dukungan doa, motivasi,materiel, kasih sayang dan segala-galanya yang tidak akan pernahbisa terukur nilainya. Tak ada kata yang pantas diucapkan dan budiyang dilakukan untuk membalas meskipun setetes dari lautanpengorbanan kasih sayang, materi, dukungan, wejangan serta doayang selama ini diberikan kepadaku.

2. Adikku tersayang Kadek, yang selalu setia dan sabar menemaniku,dan mau mendengar segala ”wejangan”ku.

3. Bapak Arif Irwansyah, ST selaku dosen pembimbing, atas segalamotivasi dan kepercayaan yang diberikan pada saya.

4. Ibu Ir. Ratna Adil, MT, Ibu Ir. Rika Rokhana, MT, dan BapakMadyono SST selaku dosen penguji atas segala saran dan kritikyang membangun, hingga buku ini terselesaikan.

5. Bapak Dr. Ir. Titon dutono, M.ENG selaku Direktur PoliteknikElektronika Negeri Surabaya

6. Bapak Drs. Dedid Cahya H, selaku Kepala Jurusan TeknikElektronika yang selalu memberikan yang terbaik bagi kami.

7. Bapak Ibu Dosen PENS-ITS yang tidak bisa saya sebutkan satu-persatu, terimakasih atas ilmu yang telah diberikan.

8. Bapak Hari Oktavianto, ST., terima kasih atas ilmu, arahan danmasukan-masukan kepada penulis.

9. Sahabatku Faisal Amir, terima kasih yang sebesar-besarnya atasbantuan tenaga dan pikiran dalam pengerjaan buku proyek akhirsaya.

10. Teman-teman kontrakan Asem Payung, Ardianto, Irfan, Aris,Rokman, Kontap, Yohan, Ali, Yono, Gita, Sony, Bang Jarot danBang Hendrik, atas segala bantuan, ilmu, arahan dan masukan-masukan tentang arti perjuangan dalam hidup kepada penulis.

Page 6: PENGEMBANGAN KONVERTER

xiii

11. Teman-teman M2, Fadlur, Bayu, Rizqy, dan Dicki, terima kasihatas wejangan dan persahabatannya.

12. Teman-Teman TIENS, Widen, Diah, Eka, Mujur, atasdukungannya, serta bimbingannya menuju jalan yang benar.

13. Terima kasih sebesar-besarnya kepada Mufidha Zulfia, sertakeluarga besarnya yang telah menjadi motivasi dalam perjalananhidup saya.

14. Teman-teman EB, tanpa kalian sekalian tiada keindahan dalamhidup ini.

15. Teman-teman IPA3, tanpa kalian tiada keindahan perjalanannostalgia dalam hidup ini.

16. Cewek-cewek yang telah datang dan pergi dari hidupku, tanpakalian tiada keindahan dalam pencarian pelabuhan terakhir hatiku.

17. Semua pihak yang telah membantu kami dalam penyelesaianTugas akhir ini yang tidak dapat kami sebutkan satu persatu.Semoga Allah S.W.T senantiasa memberikan perlindungan dan

memberikan balasan yang lebih di kemudian hari.

DAFTAR ISI

Page 7: PENGEMBANGAN KONVERTER

xiv

HALAMAN JUDUL ................................................................... iHALAMAN PENGESAHAN...................................................... iiABSTRAK................................................................................... iiiABSTRACT ................................................................................ ivKATA PENGANTAR ................................................................. vUCAPAN TERIMA KASIH ....................................................... viDAFTAR ISI ............................................................................... viiiDAFTAR GAMBAR................................................................... xiDAFTAR TABEL ....................................................................... xii

BAB I. PENDAHULUAN ........................................................... 1 1.1 Latar belakang.......................................................... 1 1.2 Tujuan...................................................................... 1 1.2.1 Tujuan Umum......................................................... 1 1.2.2 Tujuan Khusus........................................................ 1 1.3 Perumusan Masalah ................................................. 2 1.3.1 Batasan Masalah .................................................... 2 1.3.2 Uraian Masalah ...................................................... 2 1.4 Metodologi............................................................... 2 1.5 Sistematika Pembahasan........................................... 3

BAB II TEORI PENUNJANG........................................................ 52.1 Mikrokontroller ATMega 16(L).................................... 52.1.1 Gambaran Umum ATMega 16(L).............................. 52.1.2 Konfigurasi pin-pin ATMega 16(L)........................... 62.1.3 Program Memori........................................................ 72.1.3.1 Flash Memori............................................................ 72.1.3.2 Memori SRAM............................................................ 82.1.3.3 Memori EEPROM..................................................... 92.1.4 Interrupt..................................................................... 112.1.5 Port I/O...................................................................... 112.2 Teori Bahasa.................................................................. 122.2.1 Teori Bahasa Formal.................................................. 132.2.2 Teori Automata.......................................................... 132.2.3 Klasifikasi Bahasa menurut Chomsky....................... 142.2.4 FSA............................................................................ 152.2.5 Deterministic FSA (DFSA)........................................ 162.2.6 Bahasa Indonesia....................................................... 162.2.7 Pemengalan Kata........................................................ 172.2.8 Persukuan................................................................... 18

Page 8: PENGEMBANGAN KONVERTER

xv

2.3 Licuid Crystal Display (LCD)....................................... 232.4 Keypad (3X4)................................................................ 232.5 Komunikasi Serial......................................................... 252.5.1 Komunikasi Serial RS232............................................ 252.6 Port Serial DB9............................................................. 272.7 Bahasa C........................................................................ 282.7.1 Sejarah dan Standart C................................................. 282.7.2 Tipe Data...................................................................... 292.7.3 Statemen Bahasa C...................................................... 302.7.3.1 Statemen If................................................................ 302.7.3.1.1 Bentuk If Tunggal Sederhana................................ 302.7.3.1.2 Bentuk If-Else........................................................ 302.7.3.1.3 Bentuk If-Else-If-Else............................................ 302.7.3.1.4 Bentuk If Bersarang............................................... 312.7.3.2 Statemen Swich........................................................ 312.7.3.2.1 Statemen Switch Tunggal...................................... 312.7.3.2.2 Statemen Switch Bersarang................................... 322.7.3.3 Perulangan................................................................ 322.7.3.3.1 Statemen For......................................................... 322.7.3.3.2 Perulangan While.................................................. 322.7.3.3.3 Perulangan Do-While............................................ 322.7.3.3.4 Lompatan................................................................ 32

BAB III PERENCANAAN DAN PEMBANGUNAN SISTEM...... 333.1 Konfigurasi..................................................................... 333.2 Perencanaan Perangkat Keras......................................... 313.2.1 Sistem Minimum ATMega 16(L)................................. 343.2.2 LCD............................................................................... 363.2.3 Keypad.......................................................................... 363.2.4 Downloader................................................................... 383.3 Perencanaan Perangkat Lunak........................................ 383.4

BAB IV PENGUJIAN DAN ANALISA.............................................474.1 Pengujian sistem minimum modul ..............................474.1.1 Modul ATMEGA 16L..................................................474.1.2 Modul LCD.................................................................. 474.1.3 Modul Keypad..............................................................474.1.4 Komunikasi serial........................................................ 48

Page 9: PENGEMBANGAN KONVERTER

xvi

4.2 Pengujian sistem minimum modul secarakeseluruhan................................................................. 48

4.2.1 Pengujian .....................................................................494.3 Pengujian integrasi sistem konverter teks ke fonem

Dengan konverter fonem ke wicara.............................534.4 Pengujian kenyamanan penggunaan keypad...............54

BAB V PENUTUP............................................................................. 55

5.1 Kesimpulan...................................................................... 555.2 Saran................................................................................ 55

DAFTAR PUSTAKA.......................................................................... 57

Page 10: PENGEMBANGAN KONVERTER

17

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram ATMega 16(L)...................................... 5Gambar 2.2 IC 16(L)........................................................................ 6Gambar 2.3 Peta Memori Flash........................................................ 8Gambar 2.4 Peta Memori SRAM........................................................ 8Gambar 2.5 Bit 15-8......................................................................... 10Gambar 2.6 Bit 7-0........................................................................... 10Gambar 2.7 Skematik Pin I/O........................................................... 12Gambar 2.8 Sistem Text To Speech................................................... 13Gambar 2.9 Diagram Transisi FSA tingkatan pertama.................... 20Gambar 2.10 Diagram Transisi FSA tingkatan kedua.................... 21Gambar 2.11 Diagram Transisi FSA tingkatan ketiga.................... 22Gambar 2.12 Rangkaian Keypad...................................................... 23Gambar 2.13 Aliran aris saat keypad tidak ditekan............................ 24Gambar 2.14 Konstruksi Keypad....................................................... 24Gambar 2.15 Blok Diagram Sistem................................................... 26Gambar 2.16 Level Tegangan RS232................................................ 27Gambar 2.17 DB9 RS232.................................................................. 28Gambar 3.1 Blok Diagram Sistem..................................................... 33Gambar 3.2 Minimum Sistem ATMega 16(L).................................. 34Gambar 3.3 LCD................................................................................ 36Gambar 3.4 Ketpad............................................................................ 36Gambar 3.5 Peta Keypad................................................................... 37Gambar 3.6 ISP.................................................................................. 38Gambar 3.7 Algo Keypad.................................................................. 39Gambar 3.8 Algo LCD...................................................................... 40Gambar 3.9 1st Grade........................................................................ 41Gambar 3.10 2nd Grade..................................................................... 42Gambar 3.11 3nd Grade..................................................................... 43Gambar 3.12 tampilan output............................................................. 44Gambar 3.13 normalisasi angka......................................................... 46

Page 11: PENGEMBANGAN KONVERTER

18

DAFTAR TABEL

Tabel 2.1 Waktu pemograman EEPROM.......................................... 10Tabel 2.2 Vektor Interrupt................................................................. 11Tabel 2.3 Tipe-tipe Data Dasar…...................................................... 30Tabel 3.1 Tabel Pembagian Port-port pada AVR ATMega 16(L)..... 35Tabel 3.2 Pengujian pola vocal.......................................................... 49Tabel 3.3 Pengujian pola vokal-konsonan......................................... 49Tabel 3.4 Pengujian pola konsonan-vokal......................................... 49Tabel 3.5 Pengujian pola konsonan-vokal-konsonan......................... 49Tabel 3.6 Pengujian pola konsonan-konsonan-vokal......................... 50Tabel 3.7 Pengujian pola konsonan-konsonan-vokal-konsonan........ 50Tabel 3.8 Pengujian pola vokal-konsonan-konsonan......................... 50Tabel 3.9 Pengujian pola konsonan-vokal-konsonan-konsonan........ 50Tabel 3.10 Pengujian pola konsonan-konsonan-vokal-konsonan-

konsonan.......................................................................... 51Tabel 3.11 Pengujian pola konsonan-konsonan-konsonan –vokal.... 51Tabel 3.12 Pengujian pola konsonan-konsonan-konsonan -vokal-

konsonan.......................................................................... 51Tabel 3.13 Pengujian normalisasi angka............................................ 51Tabel 3.14 Pengujian kata serapan/asing........................................... 52Tabel 3.15 Pengujian kombinasi kata dan angka............................... 52Tabel 3.16 Pengujian sistem integrasi antar konverter...................... 53Tabel 3.17 Pengujian kenyamanan penggunaan keypad................... 54

Page 12: PENGEMBANGAN KONVERTER

19

BAB IPENDAHULUAN

1.1 LATAR BELAKANGKomunikasi adalah faktor yang penting demi terjalinnya

kerjasama yang baik antara manusia yang satu dengan yang lainmaupun dengan perangkat pembantu disekitarnya. Komunikasidapat berjalan lancar apabila kedua belah pihak saling mengertiinformasi yang diberikan maupun yang diterima, sehinggakomunikasi aktif dua arah. Namun pada kenyataannya dalamberkomunikasi terdapat beberapa hambatan misalnya saja cacat(tuna netra,tuna wicara), lansia ataupun buta huruf.

Untuk itu dalam proyek akhir ini kami ingin memberikansuatu solusi, sebagai langkah meminimalkan hambatan dalamberkomunikasi, yaitu suatu perangkat yang berfungsi untukmengkonversikan teks kedalam suara. Istilah umumnya adalah Textto Speech Converter. Sistem konversi yang dibuat sebelumnyamasih bersifat software semata yang masih tergantung dengan PCsebagai pemroses utama. Yang notabene PC kurang portable (segiukuran), melihat adanya kekurangan inilah jugalah yang mendorongdilakukannya proyek akhir ini. Pada rangkaian text to speechkonverter terdapat 2 bagian konverter utama yaitu konverter teks kefonem dan konverter fonem ke suara namun, dalam buku ini hanyaakan dijelaskan mengenai konverter teks ke fonem sebagai bagiandari Konverter text to speech.

1.2 TUJUANTujuan Proyek Akhir Pengembangan Konverter Teks ke Fonem

Pada Mikrokontroler Untuk Alat Bantu Wicara meliputi :

1.2.1 Tujuan UmumMembantu dan mempermudah para tuna wicara dalam

berkomunikasi dengan orang lain (bukan tuna wicara).

1.2.2 Tujuan KhususMembantu mahasiswa dalam mengaplikasikan ilmu

mikrokontroler dengan membuat alat pada proyek akhir yang dapatdigunakan untuk membantu kegiatan di dunia komunikasi dan informasi.

Page 13: PENGEMBANGAN KONVERTER

20

1.3 PERUMUSAN MASALAH1.3.1 Batasan Masalah

• Dalam pengkonversian, jumlah teks atau fonem yangdapat di inputkan terbatas oleh kapasitas memori.

• Hanya suku kata yang terstruktur saja yang dapat dikonversi.

• Sistem algoritma ini tidak menampilkan pilihan untukmengubah pitch (frekuensi dasar) dan prosody(intonasi).

• Bentuk normalisasi yang dapat dilakukan adalahnormalisasi penulisan angka, namun hanya terbatashingga 4 digit saja (ribuan) .

1.3.2 Uraian Masalah Permasalahan yang timbul adalah sebagai berikut :

1. Pola ejaan yaitu, pola diftong (gabungan dua buah hurufvokal yang menghasilkan bunyi rangkap) yang sulitdikenali, kata serapan yg tidak mengikuti pola EYD,pemenggalan suku kata pada bahasa lisan tidak selalu samadengan bahasa tulisan.

2. Bentuk normalisasi angka menjadi suku kata, baik dalambentuk satuan, puluhan, ratusan, dsb.

3. Tampilan display LCD harus dapat memudahkan pemakai(user friendly) dalam melihat teks yang telah diinputkan.

4. Fungsi keypad memiliki format yang sama dengan keypadpada handphone, yaitu 1 tombol dapat merepresentasikanlebih dari 1 karakter.

5. Penggunaan algoritma yang seefisien mungkin, mengingatmemori yang digunakan sangat terbatas.

6. Bentuk hardware dari konverter harus bersifat user friendly,efisien, dan efektif. Sehingga bersifat portable, dan tidakmengganggu atau menghambat aktivitas lainnya.

7. Penentuan protokol antar mikrokontroler pada komunikasiserial.

1.4 METODOLOGI1. Studi literatur tentang permasalahan yang dihadapiu

melalui perpustakaan maupun melalui sumber-sumber yangterkait.

Page 14: PENGEMBANGAN KONVERTER

21

2. Perencanaan dan pembuatan perangkat keras berdasar teoripenunjang.

3. Pengujian perangkat keras.4. Pembuatan program berdasar referensi dan teori penunjang.5. Downloading program pada hardware.6. Pengujian hardware dan program (konverter teks ke fonem)

secara keseluruhan, serta analisis data.7. Pengujian sistem konverter teks ke fonem dengan konverter

fonem ke suara secara keseluruhan melalui komunikasiserial.

1.5 SISTEMATIKA PEMBAHASANSistem pembahasan proyek akhir ini disusun dengan kerangka

pembahasan sebagai berikut :

1. Bab I : PENDAHULUANBerisi mengenai latar belakang, tujuan, batasanmasalah, dan sistematika pembahasan.

2. Bab II : TEORI PENUNJANGBerisi mengenai teori-teori yang berkaitan denganproses proyek akhir.

3. Bab III : PERENCANAAN DAN PEMBUATAN ALATSERTA PROGRAM

Berisi mengenai perancangan dan pembuatan hardware,program, dan komunikasi data.

4. Bab IV : PENGUJIAN DAN ANALISAPada bab ini akan dilakukan pengujian sekaligusanalisa proses kerja dari sistem hardware dan softwaresecara keseluruhan untuk mengetahui apakah sistemtelah bekerja sesuai dengan yang kita inginkan.

5. Bab V : PENUTUPBerisi kesimpulan dari keseluruhan pengerjaan proyekakhir dan saran-saran untuk memperbaiki kelemahansistem pengontrolan dengan menggunakn softwarepada mikrokontroler yang telah dibuat demipengembangan dan penyempurnaan di waktumendatang.

Page 15: PENGEMBANGAN KONVERTER

22

Page 16: PENGEMBANGAN KONVERTER

23

BAB IITEORI PENUNJANG

Pada bab ini akan dijelaskan mengenai teori-teori yangdigunakan dalam “Pengembangan Konverter Teks ke Fonem PadaMikrokontroler Untuk Alat Bantu Wicara”, teori-teori yang digunakanmeliputi Mikrokontroler (AVR16L), Komunikasi Serial, Bahasa C(CodeVision AVR), Ejaan Bahasa Indonesia (EYD), LCD, Keypad .

2.1 MIKROKONTROLER ATmega16(L)2.1.1 Gambaran Umum ATmega16(L)

Mikrokontroler atau mikroprosesor adalah suatu piranti yangdigunakan untuk mengolah data-data biner (digital) yang didalamnyamerupakan gabungan dari rangkaian-rangkaian elektronik yng dikemasdalam bentuk suatu chip (IC). Pada umumnya mikrokontroler tediri daribagian-bagian sebagai berikut: Alamat (address), Data, Pengendali,Memori (RAM atu ROM), dan bagian input-Output.Arsitektural ATmega16(L) adalah sebagai berikut:

gambar 2.1 Blok Diagram ATmega16(L)

Page 17: PENGEMBANGAN KONVERTER

24

2.1.2 Konfigurasi pin-pin ATmega16(L)o VCC

Sebagai tegangan penyuplai.

o GroundSebagai ground.

o Port A (PA7 PA0)Port A sebagai input analog ke A/D konverter. Port A jugasebagai 8-bit bi-directional port I/O, jika A/D konverter tidakdigunakan. Pin-pin port dapat menyediakan resistor-resistorinternal pull-up. Ketika port PA0…PA7 digunakan sebagai

Page 18: PENGEMBANGAN KONVERTER

25

Gambar 2.2 IC ATmega16(L)

dan pull eksternal yang rendah akan menjadi sumber arus jikaresistor-resistor pull-up diaktifkan. Pin-pin port A adalah tri-state ketika kondisi reset menjadi aktif sekalipun clock tidakaktif.

o Port B (PB7 PB0)Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyaikaraketristik drive yang simetris dengan kemampuan keduanyasink dan source yang tinggi. Sebagai input, port B yangmempunyai pull eksternal yang rendah akan menjadi sumberarus jika resistor-resistor pull-up diaktifkan. Pin-pin port Badalah tri-state ketika kondisi reset menjadi aktif seklipun clocktidak aktif.

o Port C (PC7 PC0)Port C adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port C mempunyaikaraketristik drive yang simetris dengan kemampuan keduanyasink dan source yang tinggi. Sebagai input, port C yangmempunyai pull eksternal yang rendah akan menjadi sumberarus jika resistor-resistor pull-up diaktifkan. Pin-pin port Cadalah tri-state ketika kondisi reset menjadi aktif seklipun clocktidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull-

Page 19: PENGEMBANGAN KONVERTER

26

up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akandiktifkan sekalipun terjadi reset.

o Port D (PD7 PD0)Port D adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port D mempunyaikaraketristik drive yang simetris dengan kemampuan keduanyasink dan source yang tinggi. Sebagai input, port D yangmempunyai pull eksternal yang rendah akan menjadi sumberarus jika resistor-resistor pull-up diaktifkan. Pin-pin port Dadalah tri-state ketika kondisi reset menjadi aktif seklipun clocktidak aktif.

o ResetInput Reset, pulsa akan menjadi minimum sekalipun clockbekerja.

o XTAL1Input ke Inverting Oscillator Amplifier.

o XTAL2Output dari Inverting Oscillator Amplifier.

o AREFAREF adalah referensi analog ke A/D converter.

2.1.3 Program Memori2.1.3.1 Flash Memori

ATmega16(L) memiliki 16K byte flash memori dengan lebar 16atau 32 bit. Kapasitas memori itu sendiri terbagi manjadi dua bagianyaitu bagian boot program dan bagian aplikasi program.

Page 20: PENGEMBANGAN KONVERTER

27

Gambar 2.3 Peta Memori FlashFlash memori memiliki kemampuan mencapai 10.000 write dan erase

2.1.3.2 Memori SRAMPenempatan memori data yang lebih rendah dari 1120

menunjukkan register, I/O memori, dan data internal SRAM. 96 alamatmemori pertama untuk file register dan memori I/O, dan 1024 alamatmemori berikutnya untuk data internal SRAM.

Lima mode pengalamatan yang berbeda pada data memori yaitudirect, indirect, indirect dis-placement, indirect pre-decreament danindirect post-increament .Pada file register, mode indirect mulai dariregister R26-R31. Pengalamatan mode direct mencapai keseuruhankapasitas data. Pengalmatan mode indirect dis-placement mencapai 63alamat memori dari register X atau Y. Ketika meggunakan modepengalamatan indirect dengan pre-decrement dan post increment registerX, Y, dan Z akan di-dicrement-kan atau di-increment-kan.

Pada ATmega16(L) memiliki 32 register, 64 register I/O dan1024 data internal SRAM yang dapat mengakses semua mode-modepengalamatan.

Page 21: PENGEMBANGAN KONVERTER

28

Gambar 2.4 Peta Memori SRAM

2.1.3.3 Memori EEPROMPada EEPROM ATmega16(L) memiliki memori sebesar 512

byte dengan daya tahan 100.000 siklus write/read.Register-register pada memori EEPROM :o Bit 15 9

Bit ini sebagai bit-bit bank pada Atmega16(L) dan akan selalumembaca

Page 22: PENGEMBANGAN KONVERTER

29

zero.

gambar 2.5 Bit 15 8o Bit 8 0

Bit-bit ini sebagai alamat EEPROM.o Bit 7 4

Bit-bit ini sebagai data EEPROM.

gambar 2.6 Bit 7 0o Bit 3

Bit ini sebagai Enable Interupt Ready pada EEPROM.o Bit 2

Bit ini sebagai Enable Interupt Master pada EEPROM.o Bit 1

Bit ini sebagai write enable pada EEPROM.o Bit 0

Bit ini sebagai read enable pada EEPROM.

Tabel 2.1 Waktu pemrograman EEPROM

Page 23: PENGEMBANGAN KONVERTER

30

2.1.4 Interupt

Tabel 2.2 Vektor Interupt2.1.5 Port I/O

Semua port-port AVR mempunyai Read-Modify-Writefungsional sebagai port-port I/O digital. Ini berarti bahwa arah dari pinport dapat diubah secara tidak disengaja dengan menggunakan instruksiSBI dan CBI. Aplikasi yang sama dengn pengubahan nilai drive atauenable/disable pada resistor-resistor pull-up. Masing-msing outputpenyangga memiliki karakateristik simetris drive yang sama keduanyamemiliki kemampuan sink dan source yang tinggi. Driver pin cukup kuatsebagai pengarah tampilan led secara langsung. Semua pin-pin portmemiliki resistor-resistor pull-up yang dapat dipilih dengan sebuahtegangan supply tahanan invariant. Semua pin-pin I/O memilikipelindung diode keduanya Vcc dan Ground seperti pada gambar 2.7.

Page 24: PENGEMBANGAN KONVERTER

31

Gambar 2.7 Skematik Pin I/O

2.2 TEORI BAHASABagian Konverter Teks ke Fonem berfungsi untuk mengubah

kalimat masukan dalam suatu bahasa tertentu yang berbentuk teksmenjadi rangkaian kode-kode bunyi yang biasanya direpresentasikandengan kode fonem. Bagian ini bersifat sangat language dependant.Untuk suatu bahasa baru, bagian ini harus dikembangkan secara lengkapkhusus untuk bahasa tersebut. Konversi dari teks ke fonem sangatdipengaruhi oleh aturan-aturan yang berlaku dalam suatu bahasa. Padaprinsipnya proses ini melakukan konversi dari simbol-simbol tekstualmenjadi simbol-simbol fonetik yang merepresentasikan unit bunyiterkecil dalam suatu bahasa. Setiap bahasa memiliki aturan carapembacaan dan cara pengucapan teks yang sangat spesifik. Hal inimenyebabkan implementasi unit konverter teks ke fonem menjadi sangatspesifik terhadap suatu bahasa.

Page 25: PENGEMBANGAN KONVERTER

32

2.2.1 TEORI BAHASA FORMALBahasa dalam bentuk tulisan sebenarnya terdiri atas simbol-

simbol satuan yang jika dikombinasikan akan mempunyai arti yangberbeda-beda. Simbol-simbol yang bisa dipergunakan dalam sebuahbahasa tentunya terbatas jumlahnya, yang membentuk sebuah himpunandan disebut sebagai abjad (alphabet). Kadangkala digunakan istilahkarakter yang maknanya sama dengan simbol. Deretan karaktermembentuk string. Bahasa (language) didefinisikan sebagai himpunansemua string yang dapat dibentuk dari suatu abjad. Kaidah/aturanpembentukan kata/kalimat disebut tata bahasa (grammar).

2.2.2 TEORI AUTOMATABerasal dari bahasa Yunani automatos, yang berarti sesuatu

yang bekerja secara otomatis (mesin). Dalam tulisan ini akandipergunakan istilah automaton sebagai bentuk tunggal dan automatasebagai bentuk jamak. Teori Automata adalah teori tentang mesin abstrakyang :

• bekerja sekuensial• menerima input• mengeluarkan output

Pengertian mesin di tulisan ini, bukan hanya mesinelektronis/mekanis saja melainkan segala sesuatu (termasuk perangkatlunak) yang memenuhi ketiga ciri di atas. Penggunaan automata padaperangkat lunak terutama pada pembuatan kompiler bahasapemrograman. Setelah kita mengetahui definisi bahasa dan

Gbr.2.8 sistem text to speech

Page 26: PENGEMBANGAN KONVERTER

33

automata, pertanyaan selanjutnya adalah apakah hubunganantara teori automata dan bahasa formal ? Secara garis besar ada duafungsi automata dalam hubungannya dengan bahasa, yaitu :• fungsi automata sebagai pengenal (RECOGNIZER) string-string dari

suatu bahasa, dalam hal ini bahasa sebagai masukan dari automata.• fungsi automata sebagai pembangkit(GENERATOR) string-string

dari suatu bahasa, dalam hal ini bahasa sebagai keluaran dariautomata.

Dalam tulisan ini, pembahasan akan ditekankan pada fungsi pertamadari automata. Untuk mengenali string-string dari suatu bahasa, akandimodelkan sebuah automaton yang memiliki komponen sebagai berikut :• pita masukan, yang menyimpan string masukan yang akan dikenali;• kepala pita (tape head), untukmembaca/menulis ke pita masukan;• Finite State Controller (FSC), yang berisi status-status dan aturan-

aturan yang mengatur langkah yang dilakukan oleh automatonberdasarkan status setiap saat dan simbol masukan yang sedangdibaca oleh kepala pita;

• pengingat (memory), untuk tempat penyimpanan dan pemrosesansementara Automaton pengenal, setelah membaca string masukandan melakukan langkahlangkah pemrosesan yang diperlukan, akanmengeluarkan keputusan apakah string tersebut dikenali atau tidak.Konfigurasi adalah suatu mekanisme untuk menggambarkankeadaan suatu mesin pengenal , yang terdiri atas :§ status FSC§ isi pita masukan dan posisi kepala pita§ isi pengingatMesin pengenal bersifat deterministik bila dalam setiap konfigurasi,

hanya ada satu kemungkinan yang dapat dilakukan mesin, jika tidakmesin pengenal bersifat non deterministik.

2.2.3 KLASIFIKASI BAHASA MENURUT CHOMSKYUntuk menyelesaikan suatu masalah, mula mula harus dikenali

dulu dengan baik masalah yang sebenarnya dihadapi. Salah satu caranyaadalah dengan mengklasifikasikan masalah tersebut. Dengan demikiandapat dikenali ciri-ciri masalah tersebut, dan dapat lebih difokuskanpenyelesaian masalah tersebut pada ciri-ciri yang berhasil dikenali. Padamasalah bahasa, klasifikasi tersebut sudah pernah dilakukan. Chomskymembagi bahasa menjadi 4 kelas berdasarkan tata bahasanya. Keempatkelas tersebut adalah :

Page 27: PENGEMBANGAN KONVERTER

34

1. Regular Grammar/Regular Language (RG/RL)Mesin Pengenal : Finite State Automata (FSA)Dapat dibagi menjadi dua subkelas :a) left linear grammar/left linear language (LLG/LLL), jika P berbentukA Bx|xb) right linear grammar/right linear language (RLG/RLL), jika Pberbentuk A xB|x, di mana A,B N dan x T*

2. Context Free Grammar/Context Free Language (CFG/CFL)Mesin Pengenal : Push Down Automata (PDA)Ciri-ciri : bentuk produksi P A , di mana A N dan (T N) *

3. Context Sensitive Grammar/Context Sensitive Language(CSG/CSL)Mesin Pengenal : Linear Bounded Automata (LBA)Ciri-ciri : bentuk produksi P , (T N) +, | | | |

4. Unrestricted Grammar/Unrestricted Language (UG/UL)Mesin Pengenal : Turing Machine ™Ciri-ciri : bentuk produksi P , (T N) +

Pada tulisan ini hanya akan menerapkan Bahasa Reguler (kelasbahasa yang pertama), yang merupakan kelas bahasa yang palingsederhana, beserta mesin pengenalnya (FSA). Dengan menggunakanFSA sudah cukup mampu mengenali suku-suku kata Bahasa Indonesia.

2.2.4 FSASetiap jenis automata mempunyai keunikan yang membuatnya

berbeda fungsinya dengan automata yang lain. Berikut ini akan dibahassifat-sifat FSA :

• pita masukan hanya bisa dibaca, berisi string yangberasal dari suatu abjad,

• setelah membaca satu simbol pada pita, kepala pitaakan maju ke posisi simbol berikutnya,

• kepala pita tidak bisa mundur,• mempunyai sejumlah berhingga status, setiap saat FSA

berada pada status tertentu.Setiap FSA bisa diasosiasikan dengan sebuah diagram transisi,

yaitu suatu geraf berarah sebagai berikut :• setiap simpulnya mewakili setiap status pada FSA• jika ada transisi dari status p ke status q pada input a,

maka ada busur dari p ke q berlabel .a

Page 28: PENGEMBANGAN KONVERTER

35

• status awal ditandai dengan kata START, status akhirditandai dengan 2 lingkaran.

Jadi fungsi dari diagram transisi adalah untuk menggambarkancara kerja suatu FSA.

2. 2. 5. DETERMINISTIC FSA (DFSA)Sudah disebutkan bahwa sebuah automaton bisa bekerja secara

deterministik ataupun non deterministik. Setiap bahasa reguler bisadikenali oleh DFSA. Secara formal suatu DFSA dinyatakan dengan(Q ,q0,F) di mana :Q = himpunan berhingga status

= himpunan berhingga simbol masukan(alfabet) = fungsi transisi yang memetakan Q X

ke Qq0 = status awal, q0 QF = himpunan status akhir, F QCara kerja :

• mula-mula DFSA akan berada pada status q0, kepalapita pada simbol pertama pada pita,

• selanjutnya kepala pita akan membaca simbol-simboldari pita dan bergeser maju,

• untuk setiap simbol, DFSA akan berpindah statussesuai dengan fungsi ,

• proses akan berakhir bila simbol masukan pada pitasudah habis,

• bila pada akhir proses dicapai status akhir maka stringmasukan diterima (dikenali sebagai string dari bahasaregular), dan bila tidak maka string masukan ditolak(tidak dikenali).

2. 2. 6. BAHASA INDONESIADalam Bahasa Indonesia, Huruf dibagi menjadi empat

kelompok, yakni : 1. Huruf Vokal atau Huruf Hidup Huruf Vokal adalah bunyi ujaran akibat adanya udara yangkeluar dari paru-paru tidak terkena hambatan atau halangan. Jumlahhuruf vokal ada 5, yaitu a, i, u, e, dan o.

2. Huruf Konsonan atau Huruf Mati

Page 29: PENGEMBANGAN KONVERTER

36

Huruf Konsonan adalah bunyi ujaran akibat adanya udara yangkeluar dari paru-paru mendapatkan hambatan atau halangan. Jumlahhuruf konsonan ada 21 buah, yaitu b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t,v, w, x, y, dan z.

3. Huruf Diftong atau Huruf vokal Rangkap Huruf diftong adalah gabungan dua buah huruf vokal yangmenghasilkan bunyi rangkap. Dalam Bahasa Indonesia huruf diftongberbentuk ai, au, dan oi. Contoh : Bangau, Pakai, Sengau, Perangai, dsb.. 4. Huruf Konsonan Rangkap Gabungan dua huruf konsonan ada 4 buah dalam bahasaindonesia, yaitu : kh, ng, ny, dan sy. Contohnya : nyamuk, syarat,kumbang, khawatir, dsb.

2.2.7 Pemenggalan KataDalam penulisan kita selalu dibatasi oleh bidang yang

disyaratkan, oleh karena itu kata kadang-kadang tidak dapat ditulissecara utuh. Kata-kata yang demikian harus dipenggal menurut sukukatanya. Berikut beberapa cara pemenggalan kata1 :

1. Kata dasara. Jika di tengah kata ada vokal berurutan, pemenggalan

dilakukan di antara kedua vokal itu (-V/V-). Misalnya :ma-af, ba-ik, du-et.

Apabila vokal berurutan tersebut berupa diftong, makapemenggalan tidak dilakukan di antara vokal tersebut (-VV/--).Misalnya : sau-da-ra bukan sa-u-da-ra, pan-tai bukan pan-ta-i.

b. Jika di tengah kata ada huruf konsonan dan gabungankonsonan di antara dua buah huruf vokal maka pemenggalan dilakukansebelum konsonan (KV - KV). Misalnya:pe-rut, to-bu, to-nya, su-nyi.

c. Jika di tengah kata ada konsonan yang berurutan,pemenggalan dilakukan di antara dua konsonan tersebut (-K/KV-).Misalnya : mak-lum, ger-tak, mik-ro, mig-ra-si. Kecuali ng, kh, sy, danny yang berupa satu bunyi dianggap sebagai satu suku kata, misal : de-ngan, makh-luk, i-sya-rat, bu-nyi.

1 Nizwar Syafa’at1, ”PANDUAN PEMBUATAN RENCANA STRATEGIS BALAIPENGKAJIAN TEKNOLOGI PERTANIAN”, 2005-2009.hal 77-78

Page 30: PENGEMBANGAN KONVERTER

37

d. Jika konsonan berurutan lebih dari dua buah, pemenggalandilakukan sesudah konsonan pertama (-K/KK-). Misalnya : in-struk-si,kon-kret, kon-kre-si.

2. Semua imbuhan dan partikel dianggap satu suku kata,termasuk pada imbuhan awalan yang mengalami perubahan bentuk,sehingga imbuhan dapat dipenggal dari kata dasarnya. Misalnya : me-ramu, me-nyapu, men-coba, pem-belah-an.

Catatan:a. Akhiran -i dan kata yang diawali vokal sebaiknya tidak

dipenggal. Contoh yang salah misalnya : mengakhir-i, a-nak, i-kan.b. Kata yang berimbuhan sisipan pemenggalannya dilakukan

sebagai berikut : te-lun-juk, ge-ri-gi, ge-me-tar.c. Imbuhan yang berasal dari bahasa asing tidak dianggap

sebagai imbuhan melainkan sebagai suku kata itu sendiri sehinggapemenggalannya mengikuti aturan pemenggalan kata dasar. Misalnya :spor-ti-vi-tas, bukan sportiv-itas, ak-li-ma-ti-sa-si bukan ak-li-mat-isasiatau peng-ak-li-mat-an. 3. Jika suatu kata terdiri atas lebih dari satu unsur dan salah satuunsur itu dapat digabung dengan unsur lain, pemenggalan dilakukan

a. di antara unsur-unsur itu, ataub. pada unsur gabungan itu sesuai kaidah-kaidah di atas. Misal :

bio-logi, bi-o-lo-gi, mikro-biologi, mik-ro-bi-o- to-gi, pasca-sarjana,pas-ca-sar ja-na, budi daya, bu-di da-ya.

2.2.8 Persukuan Menurut Kamus Besar Bahasa Indonesia suku kata adalahstruktur yang terjadi dari satu atau urutan fonem yang merupakan bagiankata. Setiap suku kata ditandai dengan sebuah vokal (termasuk diftong).Bahasa Indonesia mengenal beberapa pola umum suku kata, ialah2 :

• V misalnya pada kata : a nak, a – dik, i – sap, dan sebagainya.

2Totok Sulistiyanto, Tri Broto Harsono, ST, Suyanto, ST Teknik Informatika, STT

Telkom, ”TEXT TO SPEECH PROGRAM UNTUK KATA DAN KALIMAT BAHASAINDONESIA”

Page 31: PENGEMBANGAN KONVERTER

38

• VK misalnya pada kata : an – da, un – ta, as – ma, dansebagainya.

• KV misalnya pada kata : da – ri, ha – aru, li – ma, dansebagainya.

• KVK misalnya pada kata : ma – kan, pin – tu, o – tak, dansebagainya.

• KKV misalnya pada kata : in – fra, pra – ja, sas – tra, dansebagainya.

• KKVK misalnya pada kata : blok, prak – tek, trak – tor, dansebagainya.

• VKK misalnya pada kata : eks, ons, dan sebagainya.• KVKK misalnya pada kata : kam –pung, kon – teks, dan

sebagainya.• KKVKK misalnya pada kata : kom –pleks, dan sebagainya.• KKKV misalnya pada kata : stra – tegi, in - stru – men, dan

sebagainya.• KKKVK misalnya pada kata :struk – tur, in – struk –si

FSA yang akan digunakan dirancang dalam tiga tingkatan. Padatingkatan pertama yang akan dikenali adalah pola-pola :V,K atau KV.Hasil pengenalan FSA pada suatu tingkatan menjadi masukan bagi FSAtingkatan berikutnya. Pada tingkatan kedua FSA akan mengenali sukukata dengan pola V, VK, VKK, KV, KVK, KKV, KKVK, KKKV,KKKVK. Dari kelakuan FSA tingkatan kedua, tampak bahwa pola sukukata VKK, KVKK dan KKVKK belum bisa dikenali. Untuk itudiperlukan FSA tingkatan ketiga yang mampu mengenalinya. Jika FSAini menemukan pola VK-K, KVK-K dan KKVK-K, dia akanmengenalinya sebagai pola suku kata VKK, KVKK dan KKVKK. Selainitu FSA pada tingkatan 3 dapat mengenali diftong. Dalam BahasaIndonesia dikenal 3 macam diftong yaitu : ‘au’,’ai’ da ‘oi’. Namunkemunculan dua vokal tersebut secara berturutan belum tentu berupadiftong. Kata-kata seperti ‘kacau’,’pantai’,’sepoi’ adalah contoh katayang mengandung diftong. Sedang kata ’kaidah, ’yaitu’, dan ’bau’ yangtidak mengandung diftong. Karena ketidak konsistenan ini maka tidakmungkin mengenali diftong secara sempurna tanpa melakukan analisissemantik. Analisis semantik tidak dapat dimodelkan dengan FSA.Bentuk Diagram FSA untuk mengenali bahasa reguler :

Page 32: PENGEMBANGAN KONVERTER

39

Gbr.2.9 Diagram Transisi FSA tingkatan pertama

Page 33: PENGEMBANGAN KONVERTER

40

Gbr.2.10 Diagram Transisi FSA tingkatan kedua

Page 34: PENGEMBANGAN KONVERTER

41

Gbr.2.11 Diagram Transisi FSA tingkatan ketiga

Diagram diatas dalam realitanya masih diperlukan beberapapenambahan dan pengurangan agar dapat mendekati pola suku kata yangsesuai(EYD), meskipun bahasa tulisan terus mengalami perkembangan.Dengan mulai bermunculannya kata serapan yang sangat berbeda denganpola EYD yang terdahulu.

Page 35: PENGEMBANGAN KONVERTER

42

2.3 Licuid Crystal Display (LCD) LCD yang digunakan merupakan LCD tipe karakter karenaLCD ini dapat menampilkan data. Keuntungan yang dapat diperolehdengan menggunakan LCD adalah :1. Dapat menampilkan karakter ASCII, sehingga memudahkan untuk

membuat program tampilannya.2. Mudah dihubungkan dengan port I/O karena hanya menggunakan 8

bit data dan 3 bit control.3. Ukuran dari modul yang proporsional.4. Penggunaan daya yang kecil.

LCD yang digunakan dalam tugas akhir ini merupakan tipekarakter 16x2 baris, dan dapat menampilkan 16 karakter perbaris danmempunyai 2 baris.

ROM pembangkit karakter sebanyak 192 tipe karakter denganfont 5x7 dot matris. Kapasitas internalnya sebanyak 80x8 bit data(maksimum 80 karakter). Instruksi-instruksi yang berguna yang dimilikioleh LCD ini terdiri atas : Display Clear, Cursor Home, Display ON/OFF,Cursor ON/OFF, Display Character Blink, Cursor Shift dan Display Shift.Sedangkan pengoperasian LCD ini mempunyai temperatur dengan rangeantara 0oC sampai dengan 50 oC.

2.4 KEYPAD(3X4)Keypad yang digunakan sebagai inputan data berukuran 3x4

atau 3 kolom 4 baris. Setiap tombolnya memiliki adalah semacam saklaryang akan short bila ditekan(bernilai ‘0’).

Gbr.2.12 Rangkaian keypad

1 24 5 6

90 #

3

7 8*

PORTINPUT

PORTOUTPUT

Page 36: PENGEMBANGAN KONVERTER

43

Gbr.2.13 Aliran aris saat keypad tidak ditekan.

Gbr.2.14 Konstruksi keypad

Pada proyek akhir ini tombol keypad memiliki fungsi yang sama dengankeypad pada handphone. Yaitu 1 tombol dapat merepresentasikan lebihdari 1 nilai atau karakter.

Baris

Kolom

common

Page 37: PENGEMBANGAN KONVERTER

44

2.5 KOMUNIKASI SERIAL2.5.1 Komunikasi Serial RS232

Nama resmi dari standart interface ini adalah interface betweendata terminal equipment and data communication employing serialbinary data interchange, yaitu suatu terminal yang menghubungkanantara terminal data dari suatu peralatan dan peralatan komunikasi datayang yang menjalankan pertukaran data biner secara serial, oleh industrikomunikasi data disebut RS-232. Sejak dipublikasikan pertama kali padatahun 1962 , interface ini telah mengalami beberapa revisi dan sekarngyang banyak dipergunakan adalah RS-232 revisi kelima yangdipergunakan pada tahun 1991 dan disebut RS-232E atau EIA-232-E. Awalan “RS” pada RS-232 merupakan singkatan darirecommended standart yang berarti standart yang dianjurkan, yangberarti standart yang dianjurkan, karena selama ini dalam publikasi EIAtidak pernah memiliki ketetapan hukum yang mengharuskan untukdigunakan dalam dunia komunikasi data. Ada beberapa standartsederhana yang dikembangkan sendiri oleh pembuat peralatan elektronikyang mungkin dapat diikuti, agar secara umum ada kecocokan. Standart lain yang menyangkut referensi aspek fungsi danprosedur interface secara mekanikal dan elektrikal yang dipublikasikanoleh ITU-T pada tahun 1993 adalah standart V.25 dan V.28, sehinggaRS-232E sebenarnya menyakup empat aspek, yaitu :ü Mechanical : ISO21110ü Electrical : V.28ü Functional : V.24ü Prosedural : V.24

Terdapat beberapa macam cara untuk menerapkan interface databiner pada komunikasi secara serial, salah satunya adalah RS-232 yangmerupakan salah satu dari standart yang dipilih dan sekarang telahdipakai secara luas dan dalam komunikasi data umumnya digunakanuntuk menghubungkan DTE (Data Terminal Equipment) ke DCE (DataCommunication Equipment) yang berupa peralatan sistem komunikasianalog

Page 38: PENGEMBANGAN KONVERTER

45

.

Gambar 2.15 Blok Diagram Sistem

Pada proyek akhir ini RS 232 akan digunakan untuk komunikasi antarmikrokontroler.Yaitu mikrokontroler didalam converter teks ke fonemdengan mikrokontroler yang ada pada converter fonem ke suara. Acknowledge yaitu penerima (receiver) menerima data denganbenar dan memberi informasi/mengirim data yang terkirim ke pengirim(trasmitter).

RS232 merupakan salah satu standart interface dalam prosestransfer data ntar kmputer terutama dalam bentuk serial transfer. RS232merupakan kependekan dari Recommended Standart number 232.Standart ini disebut oleh Elektronic Industri Association (EIA), untukinterface antara peralatan terminal data dan komunikasi data, denganmunggunakan data biner sebagai data yang ditransmisi. RS232 adalahsuatu data Serial Data Interface Standart yang dikeluarkan oleh EIA.Standarisasi meliputi konektor, fungsi serta posisi tiap per timming(pewaktu) dan level tegangan/arus. Standart ini juga berisikan karakteristik sinyal listrik,karakteristik mekanik dan cara operasional rangkaian fungsioanal .Beberapa karakteristik rangkaian fungsionalnya adalah sebagai berikut :1. Tegangan terbuka maksimum 25 volt.2. Keadaan logika `1` ditandai dengan tegangan antara -5 volt sampai

dengan -15 volt.3. Keadaan logika `0` ditandai dengan tegangan antara +5 volt sampai

dengan +15 volt.4. Hambatan keluran DC harus dikurangi dari 700 ohm jika diberi

tegangan 3 volt dan 15 volt, dan harus lebih besar 3000 ohm jikategangan kurang dari 25 volt.

data

a

acknowledge

MIKROKONTROLERMIKROKONTROLERATMega 16L

Page 39: PENGEMBANGAN KONVERTER

46

5. Slew rate harus lebih kecil dari 30 volt/detik. Waktu yangdipergunkan untuk melewati daerah peralihan -3 volt sampai dengan+3 volt tidak boleh melebihi 1mdetik.

Gambar 2.16 Level Tegangan RS232

Beda tegangan 2 volt disebut sebagai noise margin dari RS232

2.6 PORT SERIAL DB9 Salah satu pelengkap penunjang proses komunikasi data serialpada tereminal komputer pada dunia luar adalah port serial. Sepertihalnya port paralel yang digunakan untuk keperluan interfacing, makaport serial juga merupakan gerbang I/O dari sebuah computer. Hanyasaja didalam port serial akan dilakukan perubahan bentuk data paralelmenjadi data serial pada jalur keluaran dan sebaliknya data serialmenjadi data parelel pada jalur masukkan. Jadi pada komunikasi serial hanya ada satu bit informasi yangditransmisikan melalui port serial pada suatu saat. Dengan demikiansecara otomatis hanya ada satu kabel yang diperlukan dalam satu prosestransmisi data ini. Dikatakan pula bahwa komunikasi data secara serial

Noise Margin 2 V

‘0’

‘1’

+15V

+5V

-5V

-15V

+15V

-15V

+3V

-3V

‘0’

‘1’

Saluran RS232Line Driver Line Receiver

Page 40: PENGEMBANGAN KONVERTER

47

memiliki kesederhanaan dalam hal pengkabelannya. Hal tersebut dapatterwujud tidak lain karena adanya port serial yang merupakan piranti darisebuah komputer yang sanggup mengubah bentuk data paralel menjadidata serial dan sebaliknya dari data serial menjadi data peralel. Pemasangan pin-pin pad DB9 tidak sama dimana pemasanganpada kabel PC menggunakan pin 2,3 dan 5 dimana pin 2 sebagai RX danpin 3 sebagai TX, sedangkan pada sistem minimumnya pin yangdigunakan juga pin 2,3 dan 5 tetapi pin 2 sebagai TX dan pin 3 sebagaiRX ini dilakukan agar data bisa terkirim bentuk dari DB9 ini bias dilihatpada gambar dibawah ini ;

Gambar 2.17 DB9 RS232

2.7 BAHASA C2.7.1 Sejarah dan Standar C

Akar dari bahasa C adalah dari bahasa BCPL yangdikembangkan oleh Mrtin Richards pada tahun 1967. Bahasa inimemberikan ide kepada Ken Thomson yang kemudian mengembangkanbahasa yang disebut dengan B pada tahun 1970. Perkembanganselanjutnya dari bahasa B adalah Bahasa C oleh Dennis Ricthie sekitartahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah ATdan T Bell Laboratories). Bahasa C pertama kali digunakan di komputerDigital Equipment Corporation PDP-11 yang menggunakan sistemopersi UNIX

Page 41: PENGEMBANGAN KONVERTER

48

C adalah bahasa yang standar, artinya suatu program yangditulis dengan bahasa C tertentu akan dapat dikonversi dengan bahasa Cyang lain dengan sedikit modifikasi. Standar bahasa C yang asli adalahstandar dari UNIX. Patokan dari standar UNIX ini diambil dari bukuyang ditulis oleh Brian Kerningan dan Dennis Ritchie berjudul “The CProgramming Language”, diterbitkan oleh Prentice-Hall tahun 1978.Deskripsi C dari Kerninghan dan Ritchie ini kemudian kemudian dikenalsecara umum sebagai “K dan R C”.

2.7.2 Tipe DataDidalam bahasa pemrograman computer, data yang digunakan

umumnya dibedakan menjadi data nilai numerik dan nilai karakter. Nilainumerik dapat dibedakan lagi menjadi nilai numerik integer dan nilainumerik pecahan. Nilai numeric pecahan dapat dibedakan lagi menjadinilai numerik pecahan ketetapan tungga dan nilai numerik pecahanketetapan ganda. Bahasa-bahasa pemrograman computer membedakandata ke dalam beberapa tipe dengan tujuan supaya data menjadi efisiendan efektif.

C menyediakan lima macam tipe data dasar, yaitu tipe datainteger (nilai numerik bulat yang dideklarasikan dengan int), floating-point (nilai numerik pecahan ketetapan tunggal yang dideklarasikandengan float), double-precision (nilai numerik pecahan ketetapan gandayang dideklarasikan dengan double), karakter (dideklarasikan denganchar), dan kosong (dideklarasikan dengan void). Int,float, double danchar dapat dikombinasikan dengan pengubah (modifier) signed,unsigned, long dan short. Hasil dari kombinasi tipe data ini dapatdilihat pada tabel.

Page 42: PENGEMBANGAN KONVERTER

49

Tabel 2.3 Tipe-tipe Data Dasar

2.7.3 Statemen Bahasa C2.7.3.1 Statemen if2.7.3.1.1 Bentuk if Tunggal Sederhana

Sintak dari bentuk if tunggal sederhana adalah sebagai berikut:if(kondisi) statement;

2.7.3.1.2 Bentuk if –else Sintak dari bentuk statemen if –else adalah sebagai berikut:

if(kondisi) statemen;Else statemen;

2.7.3.1.3 Bentuk if –else-if…elseBentuk ini disebut dengan if-else-if tangga,karena memiliki

bentuk seperti tangga. Sintakdari bentuk ini adalah sebgai berikut:if(kondisi1) statemen;

Page 43: PENGEMBANGAN KONVERTER

50

else if(kondisi2) statemen;

ekse if(kondisi3)

statemen; . .

elsestatemen;

2.7.3.1.4 Bentuk if BersarangStatemen if bersarang (nested if) merupkan statemen if yang

berada di dalam (merupakan bagian dari) statemen if lainnya. Bentukdari sttemen ini adalah sebagai berikut:

If(kondisi1)If(kondisi2)

. .

if(kondisin) statemen;

elsestatemen;

. .

else statemen;

elsestatemen;

2.7.3.2 Statemen switch2.7.3.2.1 Statemen switch Tunggal

Bentuk sintak dari statement switch tunggal adalah sebagaiberikut:

switch(kondisi) {

case konstanta1: statemen-statemen;

break; case konstanta2: statemen-statemen;

Page 44: PENGEMBANGAN KONVERTER

51

break;.

. default;

statemen-statemen; }

2.7.3.2.2 Statemen switch BersarangStatemen switch bersarang adalah statemen switch yang satu

berada didalam statemen switch yang lain:

2.7.3.3 Perulangan2.7.3.3.1 Statemen for

Statemen for mempunyai bentuk umum sebagai berikut: for(awal, akhir, peningkatan) statemen;2.7.3.3.2 Perulangan while

Bentuk umum dari statemen while adalah sebagai berikut:while(kondisi) statemen;

2.7.3.3.3 Perulangan do - whileBentuk umum dari perulangan ini adalah sebagai berikut:

do statemen while (kondisi);

2.7.3.4 Lompatan Statemen goto dapat digunakan untuk melompati dari suatuproses ke bagian proses yang lainnya di dalam program.Bentuk umum dari statemen goto adalah sebagai berikut:

goto label;

Page 45: PENGEMBANGAN KONVERTER

52

BAB IIIPERENCANAAN DAN PEMBUATAN SISTEM

3.1 KONFIGURASI SISTEMSistem yang terdapat pada Konverter teks ke fonem ini terbagi

menjadi dua bagian dasar, yaitu bagian perangkat keras (hardware) danbagian perangkat lunak (software). Perangkat keras yang digunakanadalah mikrokontroler AVR, LCD, keypad, dan serial.komunikasi serialdisini mempunyai peranan yang sangat penting, yaitu sebagaipenghubung antara Mikrokontroler pada Konverter teks ke fonemdengan Mikrokontroler pada Konverter fonem speech.

Gambar 3.1 Blok Diagram Sistem

Keypad akan menginputkan suatu teks atau karakter tertentu, input akanditampilkan oleh LCD. Jika teks telah diinputkan maka teks tersebutmenjadi suatu nilai data yang nantinya akan diproses oleh programalgoritma yang telah dibuat . Output dari proses ini adalah pecahanterkecil dari teks yang tadi telah diinputkan atau nama lainnya adalahdalam bentuk suku kata/fonem. Fonem – fonem ini kemudian akansegera dikirimkan ke mikrokontroler tahap berikut melalui mediakomunikasi serial.

AVR 16L

KOMUNIKASI

SERIAL

LCDKEYPAD

PROGRAM

fonem

Page 46: PENGEMBANGAN KONVERTER

53

3.2 PERENCANAAN PERANGKAT KERAS3.2.1 Sistem Minimum ATmega16(L)

Minimum system ini merupakan sistem kontrol darikeseluruhan system kerja (menggunakan tiga minimum sistem). Padaproyek akhir ini digunakan sistem minimum yang berbasis padamikrokontroler ATmega16(L), digunakan ATmega16(L) karena bahasapemrograman AVR tersebut adalah bahasa C yaitu bahasa pemrogramantingkat menengah (bahasa instruksi program mendekati bahasa manusia)sehingga lebih mudah untuk membuat atau menerapkan suatu algoritmaprogram. Kelebihan lainnya adalah setiap pin dalam satu port dapat kitatentukan sebagai input atau output secara mudah karena didalamnyasudah dilengkapi fasilitas tersendiri untuk inisialisasi..

Gambar 3.2 Minimum Sistem ATmega16(L)

Mikrokontroler ATMEL ATmega16(L) mempunyai 32 bit jalurI/O yang terbagi menjadi 4 port, yaitu portA, portB, portC dan portD,dan alokasi penggunaan port dijelaskan sebagai berikut :• Port A

Port A merupakan port I/O 8 bit bi-directional yang masing-masing pinnya dikonfigursikan sebagai ADC. Masing-masing pin dlmport ini juga memiliki fasilitas berupa resistor pull-up internal yang

Page 47: PENGEMBANGAN KONVERTER

54

berguna untuk memberikan kondisi yang tentu (tidak ngambang) padasaat dikonfigursikan sebagai input, tanpa harus memberikan pull-upeksternal.• Port B Port B merupakan port I/O 8 bit bi-directional yang masing-masing pinnya dikonfigursikan secara individual. Masing-masing pindlm port ini juga memiliki fasilitas berupa resistor pull-up internal yangberguna untuk memberikan kondisi yang tentu (tidak ngambang) padasaat dikonfigursikan sebagai input, tanpa harus memberikan pull-upeksternal. Untuk mendukung alamat port ini terdapat tiga buah alamatmermori khusus yang digunakan untuk menangani fungsi dari port B.• Port C

Sebgaimana penjelasan seperti Port B, tetapi Port C memilikipin-pin khusus yaitu antarmuka JTAG enable, resistor-resistor pull-uppada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diaktifkansekalipun terjadi reset.• Port D Sebagaimana Port B, Port D juga memiliki tiga buah lokasimemori yang berkitan dengan penggunanya sebaga port I/O. Memoritersebut yaitu PORTD, DDRD, dan PIND. Pada proyek akhir ini untuk pembagian port-port sebagai I/Odapat ditunjukkan pada tabel 3.1 berikut:

Tabel 3.1 TabelPembagian port-port pada AVR ATmega 16(L)PORT KEPERLUAN

PortD.0 Sebagai receive data

PortD.1 Sebagai transmit data

Port A.0-2

Port A.3-7

Port C.

Sebagai input(Keypad)

Sebagai output(Keypad)

Sebagai output(LCD)

Page 48: PENGEMBANGAN KONVERTER

55

3.2.2 LCD

7 ````````````

Gambar 3.3 LCD

RS = Port C.1R/W = Port C.2E = Port C.3DB4 = Port C.4DB5 = Port C.5DB6 = Port C.6DB7 = Port C.7

3.2.3 KEYPAD

Gambar 3.4 keypad

Terlebih dahulu dilakukan pengecekan terhadap jalur jalur keypad agarkita mengetahui dan dapat menentukan konfigurasi dari keypad tersebut.

D7

D4ER/WRS

GND

VCCD6D5

Vlcd

VCC

GND

1 24 5 6

90 #

3

7 8*

Page 49: PENGEMBANGAN KONVERTER

56

Pengecekan dapat dilakukan dengan menggunakan multitester, karenakeypad tidak jauh beda halnya dengan sebuah saklar. Bila saklar ditekanmaka rangkaian akan menjadi short, bila tidak ditekan maka keypadberada dalam kondisi open.• Arahkan kursor multitester ke nilai R. Cek masing masing

jalur(kombinasi) dan kemudian tekan tombol pada keypad satu persatuhingga ada yang berada dalam kondisi short atau saling terhubung, halini dapat kita lihat dengan multitester, jika jarum tidak bergerak makakondisi saklar open. Sedangkan bila dicek, jarum pada multitesterbergerak maka saklar berada dalam kondisi short..

• Bila jarum multitester tidak bergerak meski semua tombol padakeypad sudah ditekan maka, segera ganti ke kombinasi yang lainkarena diperkirakan kedua jalur tersebut tidak saling berpotongan, atauberada pada kolom yang sama, mungkin juga berada pada baris yangsama.

Dari hasil pengecekan keypad yang digunakan pada proyek akhir inididapat konfigurasi sebagai berikut:

Pin 3 + Pin 2= Tombol 1Pin 3 + Pin 7= Tombol 4Pin 3 + Pin 6= Tombol 7Pin 3 + Pin 4= Tombol *

Pin 1 + Pin 2= Tombol 2Pin 1 + Pin 7= Tombol 5Pin 1 + Pin 6= Tombol 8Pin 1 + Pin 4= Tombol 0

Pin 5 + Pin 2= Tombol 3Pin 5 + Pin 7= Tombol 6Pin 5 + Pin 6= Tombol 9Pin 5 + Pin 4= Tombol #

PETA KEYPAD

1 2 3

4 5 6

7 8 9

PIN 7

PIN 4

PIN 6

PIN 2

Page 50: PENGEMBANGAN KONVERTER

57

* 0 #

Gambar 3.5 Peta Keypad

3.2.4 DOWNLOADER

Gambar 3.6 ISP

Gambar 3.6 adalah gambar isp downloader (in-systemprogramming), IC yang digunakan sebagai isolate dan buffer parareladalah IC 74HCT51. Untuk interfacing dengan komputer menggunakankabel dan port pararel DB25. Pada rangkaian diatas SPI portdihubungkan dengan port-port yang ada pada sistem minimum AVR16L .

3.3 PERENCANAAN PERANGKAT LUNAK Dalam proyek akhir ini, software yang digunakan adalahmeenggunakan pemrograman Code Vision AVR. Code Vision adalahsuatu compiler program software yang menggunakan bahasapemrograman C. Sehingga lebih memudahkan dalam menjalankanalgoritma program yang telah dibuat.1. Algoritma Keypad:

Keypad yang nantinya digunakan harus memiliki karakteristikyang hampir sama dengan keypad pada hand phone, dimana 1 tombol

PIN 3 PIN 1 PIN 5

Page 51: PENGEMBANGAN KONVERTER

58

dapat merepresentasikan satu atau lebih dari satu nilai karakter. Untuk itudibuat algoritma sebagai berikut.

• setiap penekanan 1 tombol maka user diberi kesempatan waktusebesar kurang lebih 15x50ms.

• penekanan pada tombol yang sama menyebabkan nilai tampilanberbeda dan user kembali diberi kesempatan waktu kurang lebih15x50ms, dengan syarat waktu sebelumnya belum habis.

• penekanan tombol lain atau jika waktu yang diberikan pada useruntuk tiap penekanan sudah habis maka karakter terakhir itulahyang menjadi nilai akhir(fix).

Page 52: PENGEMBANGAN KONVERTER

59

Gambar 3.7 algoritma keypad2. Algoritma tampilan LCD:

Input keypad nantinya akan ditampilkan pada modul LCD, olehkarena LCD yang dipakai berukuran 16x2 maka bila karakter yangdiinputkan lebih dari ukuran tersebut tidak akan tampil, sehingga

Page 53: PENGEMBANGAN KONVERTER

60

diperlukan suatu algoritma untuk dapat mendisplaykan semua inputankarakter secara tak terbatas. Untuk itu dibuat algoritma sebagai berikut.

• jika penulisan karakter telah sampai pada akhir kolom 15 baris 0maka karakter selanjutnya akan dituliskan pada kolom 0 baris1.

• jika penulisan karakter telah sampai pada akhir kolom 15 baris 1maka karakter selanjutnya akan dituliskan pada kolom 0 baris1.dimana rangkaian huruf yang sebelumnya ada di baris 1 dituliskembali di baris 0 dan pada baris 1 dikosongkan untuk penulisankarakter yang baru.

Gambar 3.8 algoritma LCD

3. Algoritma teks ke fonem:

Page 54: PENGEMBANGAN KONVERTER

61

Gambar 3.9 1st grade

Page 55: PENGEMBANGAN KONVERTER

62

Page 56: PENGEMBANGAN KONVERTER

63

Gambar 3.10 2nd grade

Gambar 3.11 3rd grade Hasil inputan dari keypad yang bernilai karakter akandimasukkan sebagai rangkaian karakter yang nantinya dipisah pisahdalam beberapa tingkatan (dapat dilihat pada state automata) agarmenjadi sebuah rangkaian fonem. Teknik automata masih memiliki

Page 57: PENGEMBANGAN KONVERTER

64

beberapa kekurangan untuk itu dalam proyek akhir ini memgalamibeberapa modifikasi agar output yang dihasilkan mendekati dengan apayang diinginkan.4. Algoritma output fonem:

Hasil output ditampilkan dalan 2 cara yaitu dapat dilihat melaluiLCD dan melalui Hyper Terminal.• Untuk mengirim data secara serial ke Hyper Terminal cukup dengan

perintah ‘putchar(value)’ sebagai fasilitas dari codevision dalammengirimkan data secara serial.

• Untuk memulai penulisan baru maka digunakan tombol quit(tombol 2)agar kembali ke menu penulisan awal.

• Untuk melihat seluruh tampilan output pada LCD digunakan tombolscroll up dan scroll down(tombol 1&3).

Gambar 3.12 tampilan output

5. Algoritma normalisasi angka:

• Hitung angka yang berurutan, jadikan 1 segmen.• Jika angka hanya 1, atau angka lebih dari 4digit, atau penulisan angka

dimulai dengan angka 0 maka tiap angka dibaca persatuan angka.

Page 58: PENGEMBANGAN KONVERTER

65

• Jika rangkaian angka berjumlah 2 hingga 4digit maka dibaca serangkai.Maksimum pembacaan adalah ribuan.(4digit).

Page 59: PENGEMBANGAN KONVERTER

66

Page 60: PENGEMBANGAN KONVERTER

67

Gambar 3.13 normalisasi angka

Page 61: PENGEMBANGAN KONVERTER

68

BAB IVPENGUJIAN SISTEM DAN ANALISA

4.1 Pengujian sistem minimum modul:4.1.1 Modul ATMEGA 16LPPeenngguujjiiaann ddiillaakkuukkaann uuntuk mengetahui apakah sistem minimum

bekerja dengan baik, maka diadakan pengetesan pada jalur-jalur portyang dimiliki oleh mikrokontroler ATmega 16L.

Prosedur pengetesan :1. Menghubungkan modul dengan perangkat rangkaian simulasi 32

buah LED(8 LED masing masing port).2. Membuka program yang akan dites, kemudian meng-compile-nya.3. Mendownload program ke dalam mikrokontroler ATmega 16L

dengan menggunakan ISP downloader.

Listing program menyalakan semua LED (set tiap port sebagaioutput).

PORTA=PORTB=PORTC=PORTD=255;Hasil yang diperoleh adalah semua LED aktif , sehingga bisadipastikan modul bekerja degan baik.

4.1.2 Modul LCDPengetesan ini bertujuan untuk mengetahui apakah LCD

tersebut dapat menampilkan pesan-pesan sesuai dengan proses yangdiharapkan. Listing program pengetesan LCD :

lcd_gotoxy(0,0);lcd_putsf(”FINAL PROJECT”);lcd_gotoxy(0,1);lcd_putsf(”success”);

Analisa Pengetesan LCD :Setelah program pengetesan LCD didownload ke modul, maka

pada layar LCD akan menghasilkan tampilan sebagai berikut :Pad baris 1 tampil ‘ FINAL PROJECT‘ dan baris 2 tampil ‘success’.

4.1.3 Modul Keypad Pengetesan ini bertujuan untuk mengetahui apakah keypaddapat bekerja dengan baik. Pengetesan ini tidak jauh beda dengan proses

Page 62: PENGEMBANGAN KONVERTER

69

penentuan baris dan kolom dari sebuah tombol pada keypad. Keteranganlebih lengkap dapat dilihat pada bab sebelumnya.Analisa pengetesan keypad: Tombol yang ditekan sesuai dengan yang diinginkan sehinggadapat dipastikan keypad dapat bekerja dengan baik.

4.1.4 Komunikasi serialPPeenngguujjiiaann ddiillaakkuukkaann uuntuk mengetahui apakah sistem minimum

dapat berkomunikasi secara serial dengan PC baik dalam menerima datamaupun mengirim data,.

Prosedur pengetesan :1. 1. Menghubungkan modul dengan perangkat serial RS232 dengan PC

menggunakan konektor DB-9.2. Membuka program yang akan dites, kemudian meng-compile-nya.3. Mendownload program ke dalam mikrokontroler ATmega 16L

dengan menggunakan ISP downloader.4. Cek melalui Hyper Terminal.

Listing program pengetesan komunikasi serial :char n;while(1){

n=getchar(); //recieve data from PC putchar(n); // transmit data back(echo)};

Analisa pengetesan komunikasi serial: Data yang tampil pada hyper terminal sesuai dengan data yangdiketikkan pada keyboard. Sehingga modul Atmega dapat bekerjadengan baik dalam proses komunikasi secara serial.

4.2 Pengujian sistem minimum modul secara keseluruhan: Pengujian dilakukan untuk melihat sesuai atau tidaknya outputyang diperoleh dengan yang diinginkan. Pengujian dilakukan dengancara merangkai modul sistem minimum Atmega 16L dengan keypad, lcd,dan konektor DB9 yang dihubungkan dengan PC. Pengujian dicekmelalui 2 cara yitu melihat melalui tampilan LCD maupun melaluitampilan hyper terminal.

Page 63: PENGEMBANGAN KONVERTER

70

4.2.1 Pengujian : Membuat kata dari fonem yang sesuai dengan EYD bahasaIndonesia.Keterangan :‘V’ = vocal, ‘K’ = konsonan, ‘- ‘ = pemisah antar suku kata, ‘--‘ =pemisah antar kata, ‘#‘ = akhir kirim data, Disp LCD = tampilan padaLCD, Disp Hyper = tampilan pada hyper terminal.

Tabel 3.2 Pengujian pola vokalKata Disp LCD Disp HyperAJANG A-JANG-- A-JANG--#AYAK A-YAK-- A-YAK--#IKAN I-KAN-- I-KAN-- #ASOI A-SOI-- A-SOI--#

V

ULAR U-LAR-- U-LAR--#

Tabel 3.3 Pengujian pola vokal-konsonanKata Disp LCD Disp HyperANDA AN-DA-- AN-DA--#DAUN DA-UN-- DA-UN--#UNTUK UN-TUK-- UN-TUK--#UMBI UM-BI-- UM-BI--#

VK

KAIL KA-IL-- KA-IL--#

Tabel 3.4 Pengujian pola konsonan-vokalKata Disp LCD Disp HyperSILAU SI-LAU-- SI-LAU--#APA A-PA-- A-PA--#KELAPA KE-LA-PA-- KE-LA-PA--#KUPANG KU-PANG-- KU-PANG--#

KV

KRUSIAL KRU-SI-AL-- KRU-SI-AL--#

Tabel 3.5 Pengujian pola konsonan-vokal-konsonanKata Disp LCD Disp HyperLANTAI LAN-TAI-- LAN-TAI--#MAKAN MA-KAN-- MA-KAN--#IRAK I-RAK-- I-RAK--#AKAN A-KAN-- A-KAN--#

KVK

RAMAH RA-MAH-- RA-MAH--#

Page 64: PENGEMBANGAN KONVERTER

71

Tabel 3.6 Pengujian pola konsonan-konsonan-vokalKata Disp LCD Disp HyperPRAMUKA PRA-MU-KA-- PRA-MU-KA--

#SUTRA SU-TRA-- SU-TRA--#SASTRA SAS-TRA-- SAS-TRA--#PRAHARA PRA-HA-RA-- PRA-HA-RA--

#

KKV

KHUSYUK KHU-SYUK-- KHU-SYUK--#

Tabel 3.7 Pengujian pola konsonan-konsonan-vokal-konsonan

Kata Disp LCD Disp HyperFRIKSI FRIK-SI-- FRIK-SI--#KONTRAK KON-TRAK-- KON-TRAK--#KHAS KHAS-- KHAS--#KROM KROM-- KROM--#

KKVK

TRIK TRIK-- TRIK--#

Tabel 3.8 Pengujian pola vokal-konsonan-konsonanKata Disp LCD Disp HyperEKS EKS-- EKS--#ONS ONS-- ONS--#ANGKA ANG-KA-- ANG-KA--#BUANG BU-ANG-- BU-ANG--#

VKK

AKHMAD AKH-MAD-- AKH-MAD--#

Tabel 3.9 Pengujian pola konsonan-vokal-konsonan-konsonan

Kata Disp LCD Disp HyperABANG A-BANG-- A-BANG--#PERS PERS-- PERS--#KONTEKS KON-TEKS-- KON-TEKS--#SANGKURIANG SANG-KU-RI-

ANG--SANG-KU-RI-ANG--#

KVKK

MAKHLUK MAKH-LUK-- MAKH-LUK--#

Page 65: PENGEMBANGAN KONVERTER

72

Tabel 3.10 Pengujian pola konsonan-konsonan-vokal-konsonan-konsonan

Kata Disp LCD Disp HyperKOMPLEKS KOM-PLEKS-- KOM-PLEKS--

#BLINGSATAN BLING-SA-

TAN--BLING-SA-TAN--#

BRANGKAS BRANG-KAS--

BRANG-KAS--#

PLONG PLONG-- PLONG--#

KKVKK

TRANS TRANS-- TRANS--#

Tabel 3.11 Pengujian pola konsonan-konsonan-konsonan -vokal

Kata Disp LCD Disp HyperINSTRUMEN IN-STRU-

MEN--IN-STRU-MEN--#

STRATA STRA-TA-- STRA-TA--#STRATEGI STRA-TE-GI-- STRA-TE-GI--

#

KKKV

Tabel 3.12 Pengujian pola konsonan-konsonan-konsonan -vokal-konsonan

Kata Disp LCD Disp HyperSTRUKTUR STRUK-TUR-- STRUK-TUR--

#ABSTRAK AB-STRAK-- AB-STRAK--#STRIPTIS STRIP-TIS-- STRIP-TIS--#

KKKVK

Tabel 3.13 Pengujian normalisasi angkaAngka Disp LCD Disp Hyper0 NOL-- NOL--#

Page 66: PENGEMBANGAN KONVERTER

73

1 SA-TU-- SA-TU--#2 DU-A-- DU-A--#3 TI-GA-- TI-GA--#4 EM-PAT-- EM-PAT--#5 LI-MA-- LI-MA--#6 E-NAM-- E-NAM--#7 TU-JU-- TU-JU--#8 DE-LA-PAN-- DE-LA-PAN--#9 SEM-BI-LAN-- SEM-BI-LAN--#

12 DU-A--BELAS-- DU-A--BELAS--#25 DU-A--PU-LUH--LI-

MA--DU-A--PU-LUH--LI-MA--#

325 TI-GA--RA-TUS--DU-A--PU-LUH--LIMA--

TI-GA--RA-TUS--DU-A--PU-LUH--LIMA--#

1231 SE-RI-BU--DU-A--RA-TUS--TI-GA--PU-LUH--SA-TU--

SE-RI-BU--DU-A--RA-TUS--TI-GA--PU-LUH--SA-TU--#

11223 SA-TU--SA-TU--DU-A--DU-A--TI-GA--

SA-TU--SA-TU--DU-A--DU-A--TI-GA--#

01 NOL--SA-TU-- NOL--SA-TU--#

Tabel 3.14 Pengujian kata serapan/asingMENCLOK MEN-CLOK-- MEN-CLOK--#AUTO A-U-TO-- A-U-TO--#BIBLIOGRAFI BIB-LI-OG-RA-FI-- BIB-LI-OG-RA-FI--#STRING STRI-NG-- STRI-NG--#EXPENSIVE EX-PEN-SI-VE-- EX-PEN-SI-VE--#

Tabel 3.15 Pengujian kombinasi kata dan angkaSELAMAT TAHUN BARU 2007 SE-LA-MAT--TA-HUN--BA-RU-

-DU-A--RI-BU--TU-JUH--#NOMOR TELEPON SAYAADALAH 08563173726

NO-MOR--TE-LE-PON--SA-YA--A-DA-LAH--NOL--DE-LA-PAN--LI-MA--E-NAM--TI-GA--SA-TU--TU-JUH--TI-GA--TU-JUH--DU-A--E-NAM--#

08563173726 08563973726 NOL--DE-LA-PAN--LI-MA--E-

Page 67: PENGEMBANGAN KONVERTER

74

NAM--TI-GA--SA-TU--TU-JUH--TI-GA--TU-JUH--DU-A--E-NAM--NOL--DE-LA-PAN--LI-MA--E-NAM--TI-GA--SEM-BI-LAN--TU-JUH--#

Analisa :1. Dari data-data yang telah dihasilkan terdapat kesalahan

ejaan(Tabel3.14), hal ini disebabkan sebenarnya kata yangdimasukkan adalah kata asing/serapan yang memiliki pola yangberbeda dengan pola fonem pada bahasa Indonesia, namun olehkonverter ini tetap diterjemahkan menurut pola fonem padabahasa Indonesia.

2. Dalam bentuk kalimat, batasan pemecahan teks ke fonem bukandibatasi oleh banyak karakter yang diinputkan tetapi olehbanyak karakter yang dihasilkan sesudah dipecah, yaitu sebesar138 karakter. Bila hasil pecahan fonem terakhir menghasilkanjumlah karakter lebih dari 138 karakter maka data yangdihasilkan tidak valid(Tabel 3.15).

4.3 Pengujian integrasi sistem konverter teks ke fonem dengankonverter fonem ke wicara.

Pengujian diakukan untuk mengetahui kelemahan dari sistemsecara keseluruhan. Tabel 3.16 menunjukkan hubungan antara panjangkarakter yang dimasukkan pada konverter teks ke fonem dengan waktusuara mulai terdengar pada konverter fonem ke wicara, serta tingkat jelasatau tidaknya suara yang terdengar.

Tabel 3.16 Pengujian sistem integrasi antar konverterPanjang Karakter Jeda waktu(s) Suara jelas/tidak

1 1.5 jelas5 2.5 jelas

10 4 tidak15 5 jelas

20 6,5 tidak

Analisa :

Page 68: PENGEMBANGAN KONVERTER

75

1. Tabel 3.16 menunjukkan bahwa panjang karakter yangmenjadi input berbanding lurus dengan waktu yangdibutuhkan untuk mengubahnya menjadi keluaran berupasuara. Hal ini disebabkan semakin banyak rangkaiankarakter maka semakin banyak pula waktu yang dibutuhkanuntuk menyelesaikan suatu proses(program software)memecah kata menjadi suku kata.

2. Output suara yang dihasilkan digolongkan menjadi 2macam yaitu jelas dan tidak jelas. Parameter yangdigunakan untuk menilai tingkat jelas atau tidaknya suarayang dihasilkan adalah sesuai atau tidaknya pengucapanyang dihasilkan dengan fonem yang telah dikirim. Daritabel diatas dapat dilihat bahwa terdapat data yangmenyatakan bahwa output suara tidak terdengar jelas. Halini disebabkan oleh fonem yang dikirim dari konverterpertama tidak dapat didefinisikan oleh konverter kedua, halini terkait erat dengan terbatasnya fonem yang telahdirekam pada database pada konverter fonem ke wicara.Sehingga ketika konverter ini menemui bentuk fonem yangtidak ada didalam database maka otomatis konverter inimenghasilkan suara yang kurang sesuai (kurang signifikan).

4.4 Pengujian kenyamanan penggunaan keypad:Pengujian dilakukan dengan menggunakan user yang berbeda

untuk melihat kenyamanan keypad pada saat digunakan untuk mengetikdata masukan.

Tabel 3.17 Pengujian kenyamanan penggunaan keypadUser Delay(15ms) Delay(2ms) Delay(1ms) Delay(0,9ms)DITA Lambat&error Cepat &pas Cepat &pas Cepat&errorKEVIN Lambat&error Cepat&error Cepat &pas Cepat&errorVINA Lambat&error Cepat&error Cepat &pas Cepat&errorARDIANTO Lambat&error Cepat&error Cepat &pas Cepat&errorDINO Lambat&error Cepat&error Cepat&eror Cepat&errorSAMSUL Lambat&error Cepat &pas Cepat &pas Cepat&errorANDIK Lambat&error Cepat &pas Cepat &pas Cepat&errorFAISAL Lambat&error Cepat&error Cepat &pas Cepat&errorBAGUS Lambat&error Cepat&error Cepat &pas Cepat&errorAULIA Lambat&error Cepat&error Cepat &pas Cepat&error

Page 69: PENGEMBANGAN KONVERTER

76

Keterangan:Kondisi = error atau pas.Respon = lambat atau cepat.Error = karakter terlalu cepat pindah kolom, karakter yangtampil tidak sesuai dengan yang diketik.

Analisa: Berdasar data polling didapat bahwa program keypad yangmenggunakan delay sebesar 1ms memiliki prosen error (10%) yangpaling sedikit. Sehingga dalam proyek akhir ini keypad diatur dengandelay sebesar 1ms.

BAB VPENUTUP

5.1 Kesimpulan:

1. Kesalahan ejaan pada pengujian disebabkan kata yangdimasukkan memiliki pola fonem yang asing atau kata yangdimasukkan berupa kata serapan.

2. Dalam proyek ini masih sulit menentukan batasan jumlahkarakter yang dipakai. Sehingga tidak ada ukuran standarkarena yang dipakai adalah batasan ukuran hasil karakter(fonem) yang dihasilkan terakhir.

3. Tingkat keakurasian keypad ditentukan oleh penggunaan delayuntuk meminimkan kondisi error, misalnya karakter yangmuncul tidak sesuai dengan karakter yang diinginkan. Hal inidisebabkan oleh program keypad yang belum baik dalammenentukan waktu delay unuk meminimkan debouncing hingga0%. Pada proyek akhir ini digunakan delay sebesar 1ms dengantingkat error sebesar 10%.

5.2 Saran:

Algoritma pada proyek ini sebaiknya dapat mengantisipasiadanya kata kata serapan, dan tanda baca sehingga tidak terpaku padastruktur EYD, meskipun nantinya program yang akan dibuat pasti sangatkompleks.

Untuk memperbesar jumlah karakter yang dapat dimasukkandan dapat diproses secara valid maka sebaiknya menggunakan suatumikrokontroler yang memiliki memori internal yang cukup besar.

Page 70: PENGEMBANGAN KONVERTER

77

Halaman ini sengaja dikosongkan

Page 71: PENGEMBANGAN KONVERTER

78

DAFTAR PUSTAKA

[1] Akhmad, Arman, Arry, [2004], “Penelitian Konversi dariTeks ke Ucapan”,Departemen teknik Elektro ITB.

[2] Akhmad, Arman, Arry, [2004], “Pidato Ilmiah pada SidangTerbuka PMB ITB 2004 ”,Departemen teknik Elektro ITB.

[3] Anung,Thomas,[2000], ”Pengenalan Suku Kata bahasaIndonesia Menggunakan Finite State Automata ”, JurusanIlmu Komputer, Universitas Katolik Parahyangan.

[4] Dutiot, Thierry, [1997], “An Introducing to Text to SpeechSynthesis , Hardbound.

[5] Ide, Nancy, dkk, [1997], “Text, Speech and LanguageTechnology.

[6] Sulistiyanto, Totok, dkk, [2004], “Text To Speech ProgramUntuk Kata dan Kalimat Bahasa Indonesia”, TeknikInformatika, STT Telkom.

[7] Syafa’at, Nizwar, [2005],”Panduan Pembuatan RencanaStrategis Balai Pengkajian Pertanian”

[8] www.globalkomputer.com

Page 72: PENGEMBANGAN KONVERTER

79

/*********Listing Program********

This program was produced by theCodeWizardAVR V1.24.7d EvaluationAutomatic Program Generator© Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.come-mail:[email protected]

Project :Version :Date : 6/20/2006Author : Freeware, for evaluation and non-commercial use onlyCompany :Comments:

Chip type : ATmega16LProgram type : ApplicationClock frequency : 8.000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 256*****************************************************/

#include <mega16.h>#include <delay.h>#include <stdio.h>//#include <stdarg.h>// Alphanumeric LCD Module functions#asm .equ __lcd_port=0x15 ;PORTC#endasm#include <lcd.h>// Declare your global variables here

void main(void){

Page 73: PENGEMBANGAN KONVERTER

80

// Declare your local variables here

PORTA=0xFF;DDRA=0xF8;

PORTB=0x00;DDRB=0x00;

PORTC=0x00;DDRC=0x00;

PORTD=0x00;DDRD=0x00;

TCCR0=0x00;TCNT0=0x00;OCR0=0x00;

TCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

ASSR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

MCUCR=0x00;MCUCSR=0x00;

TIMSK=0x00;

Page 74: PENGEMBANGAN KONVERTER

81

UCSRA=0x00;UCSRB=0x08;UCSRC=0x86;UBRRH=0x00;UBRRL=0x33;

ACSR=0x80;SFIOR=0x00;

lcd_init(16); lcd_gotoxy(2,0); lcd_putsf("Text2Phoneme"); lcd_gotoxy(3,1); lcd_putsf("Converter"); delay_ms(1000); delay_ms(1000); //delay_ms(1000); lcd_clear(); k=0;while (1){ _lcd_ready(); _lcd_write_data(0xf); // Place your code here

PORTA.3=0; PORTA.4=1; PORTA.5=1; PORTA.6=1; PORTA.7=1; pencet=0; n=350; a=PINA; delay_ms(1); while(a==0xF6) { coba: n--; a=PINA; delay_ms(1); if(n!=0&&(a==0xF6||a==0xF7)) {

Page 75: PENGEMBANGAN KONVERTER

82

if (a==0xF6) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='1'; lcd_putchar(val); } if (pencet>1) { pencet=0; } delay_ms(150); n=350;

} goto coba;

}

if((n==0&&a==0xF7)||(n!=0&&(a!=0xF6||a!=0xF7))) { suku[L]=val; L++; k++; //delay_ms(100);

} break; } while(a==0xF5) { coba1: n--; a=PINA; delay_ms(1); if(n!=0&&(a==0xF7||a==0xF5)) { if (a==0xF5) { //delay_ms(50);

Page 76: PENGEMBANGAN KONVERTER

83

pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='A'; lcd_putchar(val); } if (pencet==2) { val='B'; lcd_putchar(val); } if (pencet==3) { val='C'; lcd_putchar(val); } if (pencet==4) { val='2'; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350;

} goto coba1; }

if(((n==0)&&((a==0xF7)||(a==0xF5)))||((n!=0)&&((a!=0xF5)||(a!=0xF7)))) { suku[L]=val; L++; k++; } break;

Page 77: PENGEMBANGAN KONVERTER

84

} while(a==0xF3) { coba2: n--; a=PINA; delay_ms(1); if(n!=0&&(a==0xF7||a==0xF3)) { if (a==0xF3) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='D'; lcd_putchar(val); } if (pencet==2) { val='E'; lcd_putchar(val); } if (pencet==3) { val='F'; lcd_putchar(val); } if (pencet==4) { val='3'; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350; } goto coba2;

Page 78: PENGEMBANGAN KONVERTER

85

} if (((n==0)&& ((a==0xF7)||(a==0xF3))) ||((n!=0)&&((a!=0xF3)||(a!=0xF7)))) { suku[L]=val; L++; k++; } break; } // BARIS xxxxxxxxxxxxxxxxxxxxx2: PORTA.3=1; PORTA.4=0; PORTA.5=1; PORTA.6=1; PORTA.7=1; pencet=0; n=350; a=PINA; delay_ms(1); while(a==0xEE) { coba3: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xEE)||(a==0xEF))) { if (a==0xEE) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='G'; lcd_putchar(val); } if (pencet==2) { val='H'; lcd_putchar(val);

Page 79: PENGEMBANGAN KONVERTER

86

} if (pencet==3) { val='I'; lcd_putchar(val); } if (pencet==4) { val=0x34; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350; } goto coba3; } if (((n==0)&& ((a==0xEF)||(a==0xEE))) ||((n!=0)&&((a!=0xEE)||(a!=0xEF)))) { suku[L]=val; L++; k++; } break; } while(a==0xED) { coba4: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xED)||(a==0xEF))) { if (a==0xED) { //delay_ms(50); pencet++; lcd_gotoxy(k,br);

Page 80: PENGEMBANGAN KONVERTER

87

if (pencet==1) { val='J'; lcd_putchar(val); } if (pencet==2) { val='K'; lcd_putchar(val); } if (pencet==3) { val='L'; lcd_putchar(val); } if (pencet==4) { val='5'; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350; } goto coba4; } if (((n==0)&& ((a==0xEF)||(a==0xED))) ||((n!=0)&&((a!=0xED)||(a!=0xEF)))) { suku[L]=val; L++; k++; //delay_ms(100); } break; } while(a==0xEB) {

Page 81: PENGEMBANGAN KONVERTER

88

coba5: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xEB)||(a==0xEF))) { if (a==0xEB) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='M'; lcd_putchar(val); } if (pencet==2) { val='N'; lcd_putchar(val); } if (pencet==3) { val='O'; lcd_putchar(val); } if (pencet==4) { val='6'; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350; } goto coba5; } if (((n==0)&& ((a==0xEF)||(a==0xEB))) ||((n!=0)&&((a!=0xEB)||(a!=0xEF))))

Page 82: PENGEMBANGAN KONVERTER

89

{ suku[L]=val; L++; k++; //delay_ms(100); } break; } // BARIS xxxxxxxxxxxxxxxxxxxxx3: PORTA.3=1; PORTA.4=1; PORTA.5=0; PORTA.6=1; PORTA.7=1; pencet=0; n=350; a=PINA; delay_ms(1); while(a==0xDE) { coba6: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xDE)||(a==0xDF))) { if (a==0xDE) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='P'; lcd_putchar(val); } if (pencet==2) { val='Q'; lcd_putchar(val); } if (pencet==3)

Page 83: PENGEMBANGAN KONVERTER

90

{ val='R'; lcd_putchar(val); } if (pencet==4) { val='S'; lcd_putchar(val); } if (pencet==5) { val='7'; lcd_putchar(val); } if (pencet>5) { pencet=0; } delay_ms(150); n=350; } goto coba6; }

if (((n==0)&& ((a==0xDF)||(a==0xDE))) ||((n!=0)&&((a!=0xDE)||(a!=0xDF)))) { suku[L]=val; L++; k++; } break; } while(a==0xDD) { coba7: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xDD)||(a==0xDF))) {

Page 84: PENGEMBANGAN KONVERTER

91

if (a==0xDD) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='T'; lcd_putchar(val); } if (pencet==2) { val='U'; lcd_putchar(val); } if (pencet==3) { val='V'; lcd_putchar(val); } if (pencet==4) { val='8'; lcd_putchar(val); } if (pencet>4) { pencet=0; } delay_ms(150); n=350; } goto coba7; } if (((n==0)&& ((a==0xDF)||(a==0xDD))) ||((n!=0)&&((a!=0xDD)||(a!=0xDF)))) { suku[L]=val; L++; k++;

Page 85: PENGEMBANGAN KONVERTER

92

//delay_ms(100); } break; } while(a==0xDB) { coba8: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xDB)||(a==0xDF))) { if (a==0xDB) { //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val='W'; lcd_putchar(val); } if (pencet==2) { val='X'; lcd_putchar(val); } if (pencet==3) { val='Y'; lcd_putchar(val); } if (pencet==4) { val='Z'; lcd_putchar(val); } if (pencet==5) { val='9'; lcd_putchar(val); }

Page 86: PENGEMBANGAN KONVERTER

93

if (pencet>5) { pencet=0; } delay_ms(150); n=350; } goto coba8; } if (((n==0)&& ((a==0xDF)||(a==0xDB))) ||((n!=0)&&((a!=0xDB)||(a!=0xDF)))) { suku[L]=val; L++; k++; //delay_ms(100); } break; } // BARIS xxxxxxxxxxxxxxxxxxxxx4: PORTA.3=1; PORTA.4=1; PORTA.5=1; PORTA.6=0; PORTA.7=1; pencet=0; n=350; a=PINA; delay_ms(1); while(a==0xBE)//BACK SPACE { } while(a==0xBD) { coba10: n--; a=PINA; delay_ms(1); if(n!=0&&((a==0xBD)||(a==0xBF))) { if (a==0xBD)

Page 87: PENGEMBANGAN KONVERTER

94

{ //delay_ms(50); pencet++; lcd_gotoxy(k,br); if (pencet==1) { val=' '; lcd_putchar(val); } if (pencet==2) { val='0'; lcd_putchar(val); } if (pencet>2) { pencet=0; } delay_ms(150); n=350; } goto coba10; } if (((n==0)&& ((a==0xBF)||(a==0xBD))) ||((n!=0)&&((a!=0xBD)||(a==0xBF)))) { suku[L]=val; L++; k++; } break; } while(a==0xBB) { lcd_gotoxy(k,br); val=' '; lcd_putchar(val); suku[L]=val; end=1; { r=0;first=0; for(m=0;m<L;m++)

Page 88: PENGEMBANGAN KONVERTER

95

{ BYK=0;

for(j=first;j<L;j++) {

if((suku[j]>0x39&&masuk==0)||(suku[j]==''&&masuk==0)){ //print spasi dah huruf ke nix

nix[r]=suku[j]; r++; nix[r]=' '; j=L-1; first++; masuk=1;}

if(suku[j]>=0x30&&suku[j]<=0x39&&masuk==0){ BYK++; if (suku[j+1]==' '||suku[j+1]>0x39) { j++; akhir=j; first=akhir; j=L-1; }} masuk=0; } awali=akhir-BYK; awal=0; if (BYK>0) { plong=0;//awali=0;akhir=L; pol=0;muter=0;n=0;b=0; for(i=awali;i<akhir;i++) {if (suku[i]=='1'&&plong==0&&(BYK==1||BYK>4)){

Page 89: PENGEMBANGAN KONVERTER

96

nix[r]='S'; r++;

nix[r]='A'; r++;

nix[r]='T'; r++;

nix[r]='U'; r++;

nix[r]=' '; r++;

plong=1;}if (suku[i]=='2'&&plong==0){

nix[r]='D'; r++;

nix[r]='U'; r++;

nix[r]='A'; r++;

nix[r]=' '; r++;

plong=1;}if (suku[i]=='3'&&plong==0){

nix[r]='T'; r++;

nix[r]='I'; r++;

nix[r]='G'; r++;

nix[r]='A'; r++;

nix[r]=' '; r++;

plong=1;}

Page 90: PENGEMBANGAN KONVERTER

97

if (suku[i]=='4'&&plong==0){

nix[r]='E'; r++;

nix[r]='M'; r++;

nix[r]='P'; r++;

nix[r]='A'; r++;

nix[r]='T'; r++;

nix[r]=' '; r++ ;

plong=1;}if (suku[i]=='5'&&plong==0){

nix[r]='L'; r++;

nix[r]='I'; r++;

nix[r]='M'; r++;

nix[r]='A'; r++;

nix[r]=' '; r++;

plong=1;}if (suku[i]=='6'&&plong==0){

nix[r]='E'; r++;

nix[r]='N'; r++;

nix[r]='A'; r++;

Page 91: PENGEMBANGAN KONVERTER

98

nix[r]='M'; r++;

nix[r]=' '; r++;

plong=1;}if (suku[i]=='7'&&plong==0){

nix[r]='T'; r++;

nix[r]='U'; r++;

nix[r]='J'; r++;

nix[r]='U'; r++;

nix[r]='H'; r++;

nix[r]=' '; r++;

plong=1;}if (suku[i]=='8'&&plong==0){

nix[r]='D'; r++;

nix[r]='E'; r++;

nix[r]='L'; r++;

nix[r]='A'; r++;

nix[r]='P'; r++;

nix[r]='A'; r++;

nix[r]='N'; r++;

Page 92: PENGEMBANGAN KONVERTER

99

nix[r]=' '; r++; plong=1; } if (suku[i]=='9'&&plong==0) {

nix[r]='S'; r++;

nix[r]='E'; r++;

nix[r]='M'; r++;

nix[r]='B'; r++;

nix[r]='I'; r++;

nix[r]='L'; r++;

nix[r]='A'; r++;

nix[r]='N'; r++;

nix[r]=' '; r++;

plong=1; }if((plong==0&&suku[awali]=='0'&&b==0)||(suku[i]=='0'&&b==1)){

nix[r]='N'; r++;

nix[r]='O'; r++;

nix[r]='L'; r++;

nix[r]=' '; r++ ;

Page 93: PENGEMBANGAN KONVERTER

100

plong=1;

muter=1;

b=1;

BYK=1; } plong=0;if (BYK>4&&muter==0){ BYK=1; muter=1;}if (BYK==4&&muter==0) //ribuan{if (suku[i]=='1'){ nix[r]='S'; r++; nix[r]='E'; r++;}if (suku[i]=='0'){ lanjut=1;}if(lanjut==0){

nix[r]='R'; r++;

nix[r]='I'; r++;

nix[r]='B'; r++;

nix[r]='U'; r++;

nix[r]=' '; r++;}

BYK--;

Page 94: PENGEMBANGAN KONVERTER

101

lanjut=0; muter=1;

}if (BYK==3&&muter==0) //ratusan{if (suku[i]=='1'){

nix[r]='S'; r++; nix[r]='E'; r++; lanjut=0;}if (suku[i]=='0'){ lanjut=1;}if(lanjut==0){ nix[r]='R'; r++;

nix[r]='A'; r++;

nix[r]='T'; r++;

nix[r]='U'; r++;

nix[r]='S'; r++;

nix[r]=' '; r++;}

BYK--; lanjut=0; muter=1;}

if (BYK==2&&muter==0) //puluhan{if (suku[i]=='1'){ nix[r]='S'; r++;

Page 95: PENGEMBANGAN KONVERTER

102

nix[r]='E'; r++;

muter=0; i++; n=1; } if(suku[i]!='1'&&suku[i]!='0'&&n==0) {

nix[r]='P'; r++;

nix[r]='U'; r++;

nix[r]='L'; r++;

nix[r]='U'; r++;

nix[r]='H'; r++;

nix[r]=' '; r++; } if (suku[i]=='0'&&n==0) { lanjut=1; muter=1; } BYK--; lanjut=0; } if (BYK==1&&muter==0) //puluhan { if(suku[i]=='0'&&n==1) {

nix[r]='P'; r++;

nix[r]='U'; r++;

nix[r]='L'; r++;

nix[r]='U'; r++;

Page 96: PENGEMBANGAN KONVERTER

103

nix[r]='H'; r++;

nix[r]=' '; r++;

BYK=0; } if(suku[i]=='1'&&n==1) {

nix[r]='B'; r++;

nix[r]='E'; r++;

nix[r]='L'; r++;

nix[r]='A'; r++;

nix[r]='S'; r++;

nix[r]=' '; r++;

BYK=0; }

if(suku[i]=='0'&&n!=0) BYK=0; if ((suku[i]!='1'&&suku[i]!='0'&&n==1)) if(pol==1&&muter==0) {

nix[r]='B'; r++;

nix[r]='E'; r++;

nix[r]='L'; r++;

nix[r]='A'; r++;

nix[r]='S'; r++;

Page 97: PENGEMBANGAN KONVERTER

104

nix[r]=' '; r++; BYK=0; pol=0; } } muter=0; if(i==akhir-1) {r--;} awal=batas; r=awal;//array untuk suku next=0; next2=0;

for(j=0;j<slide;j++) { for(i=awal;i<segmen[j];i++) { if(phon[i]==0x56 && next==0) { onem[r]=nix[i]; //i++; r++; onem[r]='-'; next=1; }

if(nix[i]==0x4E && next2==0) { onem[r]=nix[i]; //i++; r++; onem[r]='-'; next=1;

if((nix[i+1]==0x47||nix[i+1]==0x59)&& next2==0) { i++; onem[r]=nix[i];

Page 98: PENGEMBANGAN KONVERTER

105

if(phon[i]==0x4B&&(nix[i]!=0x4E||nix[i]!=0x4B||nix[i]!=0x53 )&& next==0) { onem[r]=nix[i]; //i++; r++; onem[r]='-'; next=1; // V if(phon[i+1]==0x56&& next2==0) { i++; onem[r]=nix[i]; //i++; r++; onem[r]='-'; next2=1; } }

if(phon[i]!=0x4B && phon[i]!=0x56) { onem[r]=nix[i]; r++; onem[r]='-'; } next=0; next2=0; if(i==(segmen[j]-1)) { r++; onem[r]='-'; } r++; } awal=segmen[j]; awal++; }

slide=0; if(r>170) {r=170;}

Page 99: PENGEMBANGAN KONVERTER

106

for(i=batas;i<=r;i++) { if (onem2[i]=='-'&&onem2[i+1]=='-') { segmen[slide]=i+1; //batas segmen pembagiankata phon[i]=onem2[i]; phon[i+1]=onem2[i]; slide++; } } awal=batas; for(j=0;j<slide;j++) { for(i=awal;i<segmen[j];i++) { if(onem2[i]==0x41||onem2[i]==0x49||onem2[i]==0x55||onem2[i]==0x45||onem2[i]==0x4F) {

phon[i]=0x56; } else { if(onem2[i]!='-') { phon[i]=0x4B; } } } awal=segmen[j]; awal++; } next=0; next2=0; next3=0; awal=batas; r=awal; for(j=0;j<slide;j++) { for(i=awal;i<segmen[j];i++)

Page 100: PENGEMBANGAN KONVERTER

107

{

if(phon[i]=='V'&&phon[i+1]=='K'&&onem2[i+2]=='-'&&next==0) { onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next=1; next2=0; if(phon[i+1]=='K'&&onem2[i+2]=='-'&&next2==0) { i++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; }

}

if(phon[i]=='K'&&phon[i+1]=='V'&&phon[i+2]=='K'&&onem2[i+3]=='-'&&next==0) { onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next=1;

Page 101: PENGEMBANGAN KONVERTER

108

next2=0; if(phon[i+1]=='K'&&onem2[i+2]=='-'&&next2==0) { i++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; } } if(phon[i]=='K'&&phon[i+1]=='K'&&phon[i+2]=='V'&&phon[i+3]=='K'&&onem2[i+4]=='-'&&next==0) { onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; next=1; next2=0; if (phon[i+1]=='K' &&onem2[i+2]=='-' && next2==0) { i++;

onem3[r]=onem2[i]; i++; //spasi r++; onem3[r]='-'; next2=1;

Page 102: PENGEMBANGAN KONVERTER

109

} }

if(phon[i]=='V'&&onem2[i+1]=='-'&&next==0) {

onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; next=1; } if( phon[i]=='K' &&phon[i+1]=='V'&& onem2[i+2]=='-' && next==0){ onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next=1; next2=0;if( phon[i+1]=='V'&& onem2[i+2]=='-' && next2==0 ){if(( (onem2[i-1]=='A'&&onem2[i+1]=='I') ||(onem2[i-1]=='O'&&onem2[i+1]=='I'))||(onem2[i-1]=='A'&&onem2[i+1]=='U')){ i++;

onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; } } }

Page 103: PENGEMBANGAN KONVERTER

110

if( phon[i]=='K' && phon[i+1]=='K'&& phon[i+2]=='V'&&onem2[i+3]=='-' && next==0) { onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next=1; next2=0;if( phon[i+1]=='V'&& onem2[i+2]=='-' && next2==0 ){if((onem2[i-1]=='A'&&onem2[i+1]=='I')||(onem2[i-1]=='O'&&onem2[i+1]=='I'))||(onem2[i-1]=='A'&&onem2[i+1]=='U')) { i++;

onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; } }if( phon[i+1]=='K'&& phon[i+2]=='K' && onem2[i+3]=='-'&& next2==0) { i++;

onem3[r]=onem2[i]; i++; r++;

Page 104: PENGEMBANGAN KONVERTER

111

onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; } }if( phon[i]=='K' && phon[i+1]=='K'&& phon[i+2]=='K'&&phon[i+3]=='V'&&onem2[i+4]=='-' && next==0) { onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next=1; next2=0;if( phon[i+1]=='V'&& onem2[i+2]=='-' && next2==0 ){if((onem2[i-1]=='A'&&onem2[i+1]=='I')||(onem2[i-1]=='O'&&onem2[i+1]=='I'))||(onem2[i-1]=='A'&&onem2[i+1]=='U')) { i++;

onem3[r]=onem2[i]; i++; r++; onem3[r]='-'; next2=1; } } }

Page 105: PENGEMBANGAN KONVERTER

112

if (next==0) { for(next3=i;next3<=(segmen[j]-1);next3++) {

onem3[i]=onem2[i]; }

} next=0; next2=0; next3=0; if(i==(segmen[j]-1)) { r++; onem3[r]='-'; } r++; } awal=segmen[j]; awal++; } lcd_clear(); if(r>170) {r=170;} for(i=batas;i<r;i++) { lcd_putchar(onem3[i]); if(i>=32) {i=r-1;} } for(i=batas;i<r;i++) { putchar(onem3[i]); delay_ms(100); } putchar('#'); delay_ms(100);

break; }

Page 106: PENGEMBANGAN KONVERTER

113

RIWAYAT HIDUP PENULIS

Nama : Putu Rio Aditya DarmaTgl Lahir : 18 September 1985Alamat : Gayung Kebonsari 06/25, Surabaya, JatimTelp : (031)8293080

Riwayat Pendidikan

1991-1994 SDN Sisir 05 Batu1994-1997 SDN Negeri Keputran I Surabaya1997-2000 SMP Negeri 06 Surabaya2000-2003 SMU Negeri 5 Surabaya2003-2006 Jurusan Teknik Elektronika

D3 Politeknik Elektronika Negeri Surabaya – ITS

Pada Hari Rabu, 2 Agustus 2006 jam 09.15 mengikuti UjianProyek Akhir di Lab. SPP sebagai salah satu persyaratan memperolehgelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya-ITS.