PENERAPAN PENGECEKAN KESALAHAN CRC-16 PADA PENGIRIMAN INFORMASI RUNNING TEXT DARI KOMPUTER KE MIKROKONTROLER
TUGAS AKHIR
Disusun Sebagai Salah Satu Syarat untuk Menyelesaikan Pendidikan Diploma 3 oleh : INDRI LUSITANIA MANURUNG NIM : 1005062075 dan RESI ANNA ROMAULI SIANIPAR NIM : 1005062092
PROGRAM STUDI TEKNIK TELEKOMUNIKASI JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI MEDAN MEDAN 2013
KATA PENGANTAR Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala kasih dan berkatNya, sehingga penulis dapat menyelesaikan laporan Tugas Akhir ini dengan judul “PENERAPAN PENGECEKAN KESALAHAN CRC16 PADA PENGIRIMAN INFORMASI RUNNING TEXT DARI KOMPUTER KE MIKROKONTROLER”. Laporan ini disusun sebagai salah syarat dalam menyelesaikan Pendidikan Diploma 3 Program Studi Teknik Telekomunikasi Jurusan Teknik Elektro Politeknik Negeri Medan. Dalam menyelesaikan Tugas akhir ini, penulis banyak mendapatkan bimbingan dan bantuan dari berbagai pihak baik berupa moral, materi, spiritual, maupun informasi. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan banyak terima kasih atas bantuan yang telah diterima khususnya kepada : •
Bapak M. Syahruddin, ST.MT selaku Direktur Politeknik Negeri Medan.
•
Ibu Ir. Rina Anugrahwaty, MT selaku Ketua Jurusan Teknik Elektro Politeknik Negeri Medan.
•
Bapak Ir. Suhaili A, MSc.Eng selaku Ketua Prodi Studi Teknik Telekomunikasi Politeknik Negeri Medan.
•
Bapak Ir. Morlan Pardede, MT selaku dosen pembimbing yang telah dengan rela hati meluangkan waktu dan kesempatan untuk memberikan bimbingan dan bantuan dalam penyelesaian Tugas Akhir ini.
•
Bapak Arfanda Siregar, ST.MM selaku wali kelas TK-6B yang banyak memberikan bimbingan masukan dan dukungan selama penyusunan Tugas Akhir ini.
v
•
Seluruh dosen-dosen Jurusan Teknik Elektro khususnya dosen Program Studi Teknik Telekomunikasi.
•
Kedua Orang Tua penulis yang terkasih dan tercinta yang telah mendidik, mengasihi, membimbing, serta dengan tulus dan penuh kebijaksanaan memberikan dukungan material dan doa kepada penulis dalam menyelesaikan Tugas Akhir ini.
•
Teman satu tim, yang telah bekerja sama dalam menyelesaikan Tugas Akhir ini, Kakak PA kami ( kak Nevia ) terima kasih buat nasihat-nasihatnya dan 3 SIMA ( Sitorus, Sibarani, Sianipar, Manurung) yang selalu bersama kemanamana.
•
Seluruh rekan-rekan seperjuangan angkatan 2013 teristimewa TK-6B yang tak dapat penulis sebutkan satu persatu namanya, kiranya hanya Tuhan yang memberkati mereka. Penulis menyadari bahwa penulisan laporan Tugas Akhir ini masih banyak
kekurangan dan ketidaksempurnaan. Untuk itu dengan hati terbuka penulis mengharapkan kritik dan saran yang berssifat membangun demi kesempurnaan Tugas Akhir ini. Penulis berharap semoga laporan ini dapat bermanfaat bagi semua pihak yang membacanya. Medan, 25 September 2013 Hormat Penulis,
Indri Lusitania Manurung
Resi Anna Romauli Sianipar
NIM : 1005062075
NIM : 1005062092
ABSTRAK Tugas akhir ini merancang dan membuat sebuah running text berbasis mikrokontroler AT89S52 dimana pesan atau data pada tampilan running text dapat diubah dengan pengiriman pesan dari komputer secara serial. Sistem running text ini terdiri dari mikrokontroler AT89S52 sebagai pusat kendali, shift register 4094 sebagai penahan logika running text dan penggeser tampilan, MAX232 sebagai pengkonversi TTL ke level RS-232, konektor USB to serial mengubah level RS-232 ke level USB. Pengubahan pesan dilakukan dengan mengirimkan pesan dari komputer dengan pemograman Visual basic 6.0. Pada komputer dihitung CRC dari pesan dan kemudian dikirimkan secara serial ke mikrokontroler. Pada mikrokontroler pesan awal disimpan di dalam EEPROM dan kemudian di copykan ke memori RAM sehingga dapat diubah menjadi bentuk ASCII. Kode pesan dalam bentuk ASCII dikonversi ke kode dot matriks dan selanjutnya dikirimkan ke running text secara serial. Jika ada masukan serial, pesan tersebut disimpan ke memori RAM sehingga pesan yang ditampilkan berubah. Dan hasil dari pengiriman tersebut sesuai dengan yang diinginkan, bahwa hasil perhitungan CRC dan pesan atau data yang dikirim dari komputer tampil di running text. Maka penulis mencoba membuat software dengan menerapkan CRC-16 dan hardware sebuah running text sebagai alat atau media untuk menampilkan pesan atau data yang akan dikirim ke running text.
Kata kunci : CRC-16, Mikrokontroler AT89S52, running text
DAFTAR ISI Halaman LEMBAR PERSETUJUAN
iii
LEMBAR PENGESAHAN ................................................................................. iv KATA PENGANTAR .......................................................................................... v ABSTRAK ........................................................................................................... vi DAFTAR ISI ....................................................................................................... vii DAFTAR GAMBAR ......................................................................................... viii DAFTAR TABEL ............................................................................................... ix BAB 1.
PENDAHULUAN 1.1
Latar Belakang ................................................................... 1
1.2
Rumusan Masalah ............................................................... 2
1.3
Batasan Masalah.................................................................. 2
1.4
Tujuan ................................................................................. 3
1.5
Manfaat ............................................................................... 3
1.6
Metode Pengumpulan Data ................................................ 4
1.7
BAB 2.
Sistematika Penulisan ........................................................ 4
DASAR TEORI 2.1 Mikrokontroler AT89S52 ...................................................... 6 2.1.1
Pin-Pin Mikrokontroler AT89S52 .................................. 8
2.1.2
Blok Diagram Mikrokontroler AT89S52...................... 11
2.1.3
Struktur Pengoperasian Port ......................................... 14
2.1.3.1 Port Input/Output .......................................................... 14 2.2
IC MAX 232 ................................................................. 15
2.3
REGISTER GESER CD4094 ....................................... 16
2.4
LED ( Light Emiting Dioda) ......................................... 18
2.5
Komunikasi Serial ......................................................... 19
2.5.1
Karakteristik Sinyal RS 232.......................................... 21
2.5.2
Konfigurasi pin RS 232 ................................................ 22
2.5.3
USB to Serial ................................................................ 28
2.5.4
Kode ASCII..................................................................... 29
2.5.5
Timer/Counter ................................................................. 30
2.5.6
Serial Interface ................................................................ 33
2.5.7
Pengaturan Baud Rate ..................................................... 35
2.5.8
Instruksi ........................................................................... 36
2.5.8.1 Instruksi Transfer Data (Perintah Pemindahan Data) ... 36
2.5.8.2 Instruksi Aritmatik (Instruksi Perhitungan) .................. 37 2.5.8.3 Instruksi Logika ............................................................ 38 2.5.8.4 Instruksi transfer kendali ............................................... 39 2.6
CRC (Cyclic redundancy Check) .................................. 41
2.7
Bahasa Pemograman Visual basic ................................ 44
2.7.1
Memulai Visual Basic ................................................... 41
2.7.2
Komponen Visual Basic .............................................. 47
2.7.2.1 Title Bar…………………. ........................................... 47 2.7.2.2 Menu Bar………………...............................................48 2.7.2.3 Tool Bar ........................................................................ 48 2.7.2.4 Tool Box ...................................................................... 48 2.7.2.5 Properties Window........................................................ 48 2.7.2.6 Form Layout Window ................................................... 49 2.7.2.7 Immediate Window ....................................................... 49 2.7.2.8 Form Window ............................................................... 50 2.7.2.9 Code Window ............................................................... 50
2.7.2.10 Event ............................................................................ 51 2.7.2.11 Method ......................................................................... 54 2.7.2.12 Module ......................................................................... 54 2.7.2.13 Project .......................................................................... 51
BAB 3
PERANCANGAN DAN PEMBUATAN 3.1
Perancangan Perangkat Keras (Hardware)........................ 53
3.1.1 Rancangan Sistem Minimum Mikrokontroler .................. 54 3.1.2 Komunikasi TTL to RS-232 ............................................. 55 3.1.3 Rangkaian Dot Matrix ....................................................... 56 3.1.4 Susunan Dot Matrix .......................................................... 57 3.2
Perangkat Lunak (Software) ............................................. 59
3.2.1 Program Menampilkan Pesan ke Running Text................ 60 3.2.2 Program Mengahasilkan Kode CRC ................................. 70
BAB 4
BAB 5
PENGUJIAN DAN ANALISA SISTEM 4.1
Pengujian Rangkaian SistemMinimum Mikrokontroler ... 76
4.2
Pengujian Dot Matrix ........................................................ 78
4.3
Pengujian Menghasilkan KodeCRC dengan VB .............. 80
4.4
Pengujian CRC dengan Bahasa Assembler ...................... 83
4.5
Pengujian Fungsional ........................................................ 84
4.6
Pengujian Pengiriman Karakter ........................................ 86
KESIMPULAN DAN SARAN 5.1
SIMPULAN ..................................................................... 92
5.2
SARAN ............................................................................ 92
DAFTAR PUSTAKA ......................................................................................... 94 LAMPIRAN
DAFTAR GAMBAR
Gambar 2.1
Pin-Pin Mikrokontroler AT89S52
11
Gambar 2.2
Blok Diagram Mikrokontroler AT89S52
12
Gambar 2.3
Konfigurasi IC MAX 232
16
Gambar 2.4
Konfigurasi Pin CMOS 4094
17
Gambar 2.5
LED ( Light Emiting Diode)
18
Gambar 2.6
Level Tegangan RS-232 Pengiriman ‘A’ Tanpa Paritas
22
Gambar2.7
Konektor serial DB -9 ....................................................................... 22
Gambar 2.8
Port USB
Gambar 3.1
Blok Diagram Sistem ........................................................................ 53
Gambar 3.2
Modifikasi Rangkaian Mikrokontroler
55
Gambar 3.3
Rangkaian Driver LED Dot matrix
56
Gambar 3.4
Susunan Dot Matrix ........................................................................... 57
Gambar 3.5
Diagram Alir Utama
60
Gambar 3.6
Diagram Alir Running Text
61
Gambar 3.7
Diagram Alir Tampil
63
Gambar 3.8
Logika Pembentuk Huruf R
68
Gambar 3.9
Diagram Alir Penghasil CRC pada Visual Basic
70
28
Gambar 3.10 Diagram Alir Mengoreksi CRC16
73
Gambar 4.1
80
Tampilan Running Text Karakter R
Gambar 4.2
Hasil Pengujian ProgramAassembler
83
Gambar 4.2
Tampilan pada Running Text
90
DAFTAR TABEL
Tabel 2.1
Fungsi Khusus Port 3 …………………………………………... 9
Tabel 2.2
Tabel Kebenaran IC CMOS 4094 ............................................... 17
Tabel 2.3
Nama Register yang Digunakan beserta Alamatnya ................... 24
Tabel 2.4
Angka Pembagi Clock pada IC UART ....................................... 25
Tabel 2.5
Rincian Bit pada Interrupt Enabel Register ................................ 25
Tabel 2.6
Rincian Bit pada Interrupt Identification Register ...................... 26
Tabel 2.7
Rincian Bit pada Line Control Register ...................................... 27
Tabel 2.8
Alamat Rutin Interupsi ................................................................ 32
Tabel 2.9
Konfigurasi bit Register IE ......................................................... 32
Tabel 2.10
Konfigurasi bit Register IP ......................................................... 32
Tabel 2.11
Kombinasi Pemilihan Baud Rate ................................................ 35
Tabel 2.12
Keterangan Tabulasi.................................................................... 46
Tabel 3.1
Tabel Dot Matrix ......................................................................... 51
BAB 1 PENDAHULUAN 1.1
Latar Belakang Running Text merupakan salah satu media yang efektif menyampaikan
informasi.Running text umumnya terdiri atas beberapa LED yang disusun sedemikian rupa sehingga dapat menampilkan karakter-karakter dari data yang akan disampaikan.Untuk dapat mengubah tampilan pesan maka isi memori data running textharus diubah sesuai dengan nilai dot karakter dari pesan yang baru. Pengubahan pesan ini dapat dilakukan melalui komputer secara serial atau pun peralatan lainnya seperti handphone. Dalam pentransmisian data atau pesan dari komputer ke Running Text ini ada kemungkinan terjadi kesalahan atau perubahan yang tidak diinginkan terhadap data yang disebabkan karena gangguan (noisy) pada proses pengiriman data itu sendiri. Untuk mendeteksi kesalahan data ini, ada beberapa cara contohnya Paritas Check, Checksum, CRC-16, CRC-32, dan lain-lain.Nilai hasil pengecekan ini dikimkan bersama-sama dengan pesan yang kemudian pada penerima pesan yang diterima dikoreksi kembali untuk mengetahui apakah ada kesalahan atau tidak. Kerusakan data biasanya hanya terjadi pada beberapa bit saja. Salah satu teknik pengecekan yang telah teruji adalah pengecekan kesalahan CRC-16 seperti yang telah dilakukan oleh William Ross “A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS”.Adapun kelebihan
CRC-16 ini
adalah dapat mengirimkan data dengan berkecepatan tinggi yaitu 16 bit, Memiliki kehadalan sistem yang sangat tinggi, yaitu sekitar 99% dan mampu mendeteksi bit error dalam jumlah banyak dengan panjang yang kurang dari jumlah redundansi bitnya. Dengan melihat kelebihan CRC-16 ini penulis memilih CRC-16 metode Modbus sebagai pengecekan kesalahan pengiriman pesan dari komputer ke modulrunning text.
Pada Laporan Tugas Akhir ini, penulis bertujuan untuk merancang sebuah running textyang tampilannya dapat diatur dari komputer dan menerapkan CRC-16 untuk pengecekan kesalahan pengiriman pesan,sehingga tampilan di running text sesuai yang dikirimkan dari komputer. Untuk itu, dibuat Tugas Akhir yang berjudul
“PENERAPAN
PENGIRIMAN
PENGECEKAN
INFORMASI
RUNNING
KESALAHAN
CRC
TEXT
KOMPUTER
DARI
16
PADA KE
MIKROKONTROLER”.
1.2
Rumusan Masalah 1. Bagaimana caramembuat running text berbasis Mikrokontroler AT89S52 dimana tampilan nya dapat dikendalikan dari Komputer. 2. Bagaimana memprogram running text untuk menampilkan pesan. 3. Bagaimana caramengirimkan informasi dari komputerke runningtext secara serial. 4. Bagaimana cara menerapkan pengecekan kesalahan
CRC-16 pada
pengiriman pesan dari komputer ke mikrokontroler.
1.3
Batasan Masalah Untuk mendapatkan pembahasan semaksimal mungkin dan mengingat
banyaknya permasalahan yang dihadapi penulis dalam menyelesaikan proyek Tugas Akhir ini, maka batasan masalah yang akan diuraikan dalam Laporan Tugas Akhir ini sangat dibutuhkan. Untuk itu penulis membatasi hal-hal tersebut dengan mengulas hal-hal sebagai berikut :
1. Bahwa komunikasinya menggunakan komunikasi serial dengan jarak maksimalnya 15Meter. 2. Bahwa pesan yang ditampilkan hanya berupa karakter. 3. Bahwa panjang karakter maksimum yang ditampilkan 128 karakter. 4. Bahwa tampilan running text hanya dari kanan ke kiri tidak membahas tampilan dari atas ke bawah. 5. Bahasa pemograman untuk mengirim pesan ke running textmenggunakan bahasa Visual Basic. 6. Bahwa
dalam
menerapkan
pengecekan
kesalahan
CRC
hanya
menggunakan CRC-16 metode Modbus.
1.4
Tujuan 1. Sebagai salah satu syarat untuk memenuhi mata kuliah tugas akhir pada semester VI bagi setiap mahasiswa Jurusan Teknik Elektro Program Studi Teknik Telekomunikasi Politeknik Negeri Medan. 2. Untuk mengaplikasikan ilmu pengetahuan yang diperoleh selama kuliah di Politeknik Negeri Medan. 3. Untuk membuat sebuah running text yang dapat diatur tampilannya melalui komputer. 4. Untuk mengetahui bagaimana cara merancang sebuah running text. 5. Untuk menerapkan CRC-16 metode Modbus sehingga tampilan running text sesuai dengan yang dikirimkan dari komputer. 6. Memberikan informasi pada halayak cara membuat running text.
1.5
Manfaat 1. Tersedia sebuah running text untuk menampilkan pesan yang dapat diubahubah tampilannya. 2. Tersedianya bahan referensi pembuatan running text dan aplikasi CRC-16
1.6
Metode Pengumpulan Data Dalam membahas suatu objek, kelengkapan data objek tersebut merupakan
bagian yang harus dipenuhi guna memungkinkan dapat berfungsi sebagai referensi didalam pembahasan. Untuk melengkapi data tersebut maka penulis melakukan metode pengumpulan data sebagai berikut : 1. Studi literatur (kepustakaan) penulis melakukan tinjauan pustaka yaitu mengumpulkan informasi serta mempelajari hal-hal yang berhubungan dengan topik pembahasan tugas akhir. 2. Melakukan uji coba pada komponen dan rangkaian yang digunakan. 3. Melakukan pengujian Fungsional rangkaian running text. 4. Melaksanakan diskusi dengan pembimbing mengenai permasalahan yang muncul.
1.7
Sistematika Penulisan Adapun sistematika pembahasan dalam penulisan laporan tugas akhir ini
adalah sebagai berikut : BAB I
PENDAHULUAN Bab ini berisi tentang latar belakang , rumusan masalah, batasan masalah, tujuan, manfaat, metode pengumpulan data, dan sistematika penulisan.
BAB II
DASAR TEORI
Bab ini berisi teori dasar yang digunakan sebagai bahan acuan dalam pembuatan alat untuk proyek tugas akhir, dimana dasar teori ini meliputi pembahasan mengenai Mikrokontroler AT89S52, IC MAX232,Shift Register CD4094, LED, Komunikasi Serial, CRC-16 khususnya metode MODBUS, Microsoft Visual Basic, dan komponen pendukung lainnya. BAB III
PERANCANGAN DAN REALISASI SISTEM Bab ini membahas tentang diagram blok, perancangan hardware, perancangan software dan menjelaskan setiap bagian dari sistem.
BAB IV
PENGUJIAN DAN ANALISA SISTEM Bab ini membahas tentang cara pengujianrangkaian dan software serta menganalisa hasil yang didapat.
BAB V
PENUTUP Bab ini berisi kesimpulan secara keseluruhan dari system yang telah direalisasi dan saran agar system ini dapat dikembangkan lagi