TUGAS AKHIR
PENGANALISIS RS232
BERBASIS PERSONAL KOMPUTER
RS232 ANALYZER BASED ON PERSONAL COMPUTER
Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro Fakultas Teknik Universitas Sanata Dharma
disusun oleh
TRI YULIZAR
NIM : 015114040
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
TUGAS AKHIR
PENGANALISIS RS232
BERBASIS PERSONAL KOMPUTER
RS232 ANALYZER BASED ON PERSONAL COMPUTER
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Teknik Universitas Sanata Dharma
disusun oleh
TRI YULIZAR
NIM : 015114040
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
RS232 ANALYZER
BASED ON PERSONAL COMPUTER
FINAL PROJECT
Submitted For The Partial Fulfillment Of The Requirements For The Degree Of Electrical Engineering Of
Electrical Engineering Program Study
By :
Tri Yulizar
NIM : 015114040
ELECTRICAL ENGINEERING STUDY PROGRAM
FACULTY OF ENGINEERING
SANATA
DHARMA UNIVERSITY
YOGYAKARTA
“
Barang siapa menginginkan dunia, maka ambilah dengan ilmu.
Barang siapa menginginkan akherat, maka ambilah dengan ilmu.
Barang siapa menginginkan keduanya maka ambillah juga dengan ilmu”
(Al Hadist Nabi Muhammad SAW)
“
Dari duri-duri menjadi bintang-bintang”
(Teksapala)
Kupersembahkan,
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT atas karunia-Nya yang telah melimpahkan rahmat dan hidayah-Nya kepada penulis sehingga dapat terselesaikannya laporan Tugas Akhir dengan judul “Penganalisis RS232 Berbasis Personal Komputer” tanpa halangan dan gangguan yang berarti.
Adapun penulisan ini bertujuan utnuk memenuhi salah satu syarat dalam memperoleh gelar Sarjana Teknik pada Jurusan Teknik Elektro Program Studi Teknik Elektro Fakultas Teknik Universitas Sanata Dharma. Penulisan ini ditulis berdasarkan hasil perancangan, pengujian dan pengamatan dari program aplikasi yang dibuat.
Pada kesempatan yang baik ini, penulis mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Romo Ir. Greg. Heliarko, S.J., S.S., B.S.T., M.A., M.Sc selaku Dekan Fakultas Teknik yang telah membawa perubahan sangat penting pada Fakultas Teknik.
2. Bapak B. Djoko Untoro S., SSi, MT selaku Pembimbing I yang selalu sabar dalam membimbing penulis hingga terselesaikannya Tugas Akhir ini.
3. Bapak Ir. Tjendro selaku Pembimbing II yang telah menjadi teman berdiskusi. Selalu menjadi penyemangat disaat yang tepat.
4. Bapak Petrus Setyo Prabowo, ST selaku dosen Pembimbing akademik yang telah banyak mendukung kami.
5. Rekan-rekan Teksapala, Angkatan Tapak Rimba, Lembah Batu, Sungai Batu, Bukit Jelajah, dan Gunung Api. “Keep forward whatever it takes and never crack under pressure brothers”.
6. Dre, Eling, Cahyo “Bajuri”, Heri “Preman Jombor”, Hernomo, Tony “Parto”, Tyo dan sahabat-sahabatku seperjuangan kuliah.
7. My Sister Eka and her sweety daughter Lintang, My Brother Dwi. Thanks for All. 8. Ardhawati, untuk setiap kebersamaan, ketabahan dan kekuatan yang masih tetap
9. Semua rekan mahasiswa yang telah memberikan dukungannya kepada penulis serta kepada semua pihak yang belum disebutkan yang telah mendukung keberhasilan Tugas Akhir ini.
Penulis menyadari bahwa laporan ini masih banyak kekurangannya, untuk itu penulis sangat mengharapkan saran dan kritik yang membangun.
Dan akhirnya penulis berharap, semoga tugas akhir ini dapat bermanfaat bagi penulis khususnya dan memberi makna edukatif bagi setiap orang yang membutuhkannya.
Yogyakarta, 17 April 2007
DAFTAR ISI
HALAMAN JUDUL DALAM BAHASA INDONESIA …….…….……… i
HALAMAN JUDUL DALAM BAHASA INGGRIS ….…..…...……….……… ii
HALAMAN PERSETUJUAN ………..………..………. iii
HALAMAN PENGESAHAN ……….…. iv
HALAMAN PERNYATAAN KEASLIAN KARYA ……….………. v
HALAMAN PERSEMBAHAN ………...………... vi
KATA PENGANTAR ………..………...…...…...……. viii
DAFTAR ISI ……….………...…….. ix
DAFTAR GAMBAR ………..………. xi
DAFTAR TABEL ………...……… xii
INTISARI ………... xiii
ABSTRACT ………..…. xiv
BAB I. Pendahuluan 1.1 Latar Belakang Masalah ………...…………..…….… 1
1.2 Tujuan Penelitian………...………1
1.3 Manfaat Penelitian ………...……… 2
1.4 Batasan Masalah ………...……….. 2
1.5 Metodologi Penelitian………...……… 3
BAB II. Dasar Teori 2.1 Diagram Kotak Dasar………...………...…. 4
2.2 Komunikasi Serial ………...……… 4
2.2.1 Karakteristik Sinyal Port Serial……...……...…………...…... 5
2.2.2 Konfigurasi Port Serial ………...………...….. 5
2.3 Kode ASCII……….………...……… 11
2.5 Visual Basic………...……….… 14
2.5.1 Bahasa Pemrograman.………..………. 14
2.5.2 Kontrol Program…… ………..………. 16
2.5.3 Pengaksesan Serial Port Menggunaan Kontrol MSComm…..……. 17
BAB III. Perancangan 3.1 Perancangan Perangkat Keras………...……….... 20
3.2 Perancangan Perangkat Lunak………...………… 21
3.2.1 Flowchart Utama………..…...………. 21
3.2.2 Flowchart Menu Kata Kunci (login user)……….………... 22
3.2.3 Flowchart Menu Pilih Port……….……….…...…….. 22
3.2.4 Flowchart Menu Utama………….. ……….………… 23
3.2.5 Metode Pengkonversian Data…………...……….………….. 24
BAB IV. Hasil Penelitian dan Pembahasan 4.1 Program………...………. 26
4.1.1 Menu Login User (Password) ………...………. 26
4.1.2 Menu Pilih Port ………...……...…. 26
4.1.3 Menu Utama ………...………. 27
4.2 Akses Dan Konversi Data….……….………...……….. 28
4.2.1 Data Dengan Pengaksesan 1 Serial Port ………...………..… 28
4.2.1.1 KEsalahan Properti MSComm ………...……….29
4.2.2 Data Dengan Pengaksesan 2 Serial Port ……...……....………..… 35
4.2.3 Pengujian Komuniksi Serial 2 Buah Komputer ……...…………... 37
4.2.4 Pengujian Menggunakan Mikrokontroller ...…………...………… 38
4.3 Spesifikasi Penelitian …..………….………...…….…….. 39
BAB V. Kesimpulan dan Saran 5.1 Kesimpulan ……….……….………. 40
5.2 Saran ………...…….………. 40
DAFTAR PUSTAKA ………...………41
DAFTAR GAMBAR
Gambar 2-1. Blok Diagram Dasar Proses ……….………….. 4
Gambar 2-2. Komunikasi Asinkron ……...………. 5
Gambar 2-3. Konektor serial DB-9 pada Komputer………..…….. 6
Gambar 2-4. Bentuk Konfigurasi Pengkabelan pada DB9 ………. 6
Gambar 3-1. Diagram Kotak Umum……….……….……… 19
Gambar 3-2. Koneksi Pin Perangkat………...………... 20
Gambar 3-3. Flowchart Program Secara Keseluruhan………...……… 21
Gambar 3-4. Flowchart Program Menu Kata Kunci (Login User) ……… ……….…. 22
Gambar 3-5. Flowchart Menu Pemilihan Port……….………….. 23
Gambar 3-6. Flowchart Menu Utama Untuk 1 Port COM Aktif………... 24
Gambar 4-1. Menu Login Dengan Tampilan Default Terisi ……...……….. 26
Gambar 4-2. Menu Pilih Port………. 26
Gambar 4-3. Tampilan Menu Utama …... ……… 27
Gambar 4-4. Menu Konfigurasi MSComm ……….………. 27
Gambar 4-5. Menu Konfigurasi baud rate bebas pada COMM1 ... . 28
Gambar 4-6 Tampilan Program saat baudrate penganalisis lebih tinggi ... 29
Gambar 4-7. Tampilan Program Pengirim Karakter ASCII ke COM1 …...…………. 30
Gambar 4-8 Tampilan Program saat baudrate penganalisis lebih rendah ...………… 30
Gambar 4-9 Tampilan Program Pengirim Karakter ASCII ke COM1 …...…………. 33
Gambar 4-10. Tampilan pada Program Penganalisis Untuk 1 Port COM Aktif………. 33
Gambar 4-11 Tampilan Program Pengirim Karakter ASCII ke COM1 dan COM2….. 35
Gambar 4-12. Tampilan Penganalisis Untuk 2 Port COM Aktif ... .... 35
Gambar 4-13. Tampilan saat Menerima data dari komunikasi serial 2 komputer…….. 37
Gambar 4-14. Tampilan Program saat menerima data serial dari Mikrkontroller… ….. 38
DAFTAR TABEL
Tabel 2-1. Konfigurasi pin dan nama sinyal konektor serial DB-9 ………… 6
Tabel 2-2 Nama Register yang digunakan beserta alamatnya ……..…….….8
Tabel 2-3 Angka Pembagi Clock oada IC UART ……….……. 9
Tabel 2-4 Tabel rincian bit pada Interrupt Enable Register …………....….. 9
Tabel 2-5 Tabel rincian bit pada Interrupt Identification register ……..…... 9
Tabel 2-6 Rincian bit pada Line Control Register ………...…….10
Tabel 2-7 Rincian bit pada Line Status Register ………..….…11
Tabel 2-8 Karakter-karakter ASCII ………..….12
Tabel 2-9 Tabel Persamaan kode Biner, Desimal dan Heksadesimal …….. 13
Tabel 2-10 Tipe data dan rentang nilai ………14
Tabel 2-11 Deklarasi Implisit ……….…….15
Tabel 2-12 Operator Matematik ………..16
Tabel 2-13 Operator Perbandingan ……….16
Tabel 2-14 Operator Logika ………...…… 16
Tabel 4-1 Data Pengaksesan pada 1 port serial (COM1) ……….… 29
Tabel 4-2 Data Pengaksesan baudrate penganalisis lebih rendah………… 31
Tabel 4-3 Data Pengaksesan dengan bit data berbeda ……….… 31
Tabel 4-4 Data Pengaksesan dengan paritas berbeda ………..… 32
Tabel 4-5 Data Pengaksesan dengan bit stop berbeda ……….…… 32
Tabel 4-6 Data Pengaksesan pada 1 port serial (COM1) ……….… 34
Tabel 4-7 Data Pengaksesan pada 2 port serial (COM1dan COM2) …...… 36
Tabel 4-8 Data Pengujian komunikasi serial dua buah komputer…….…… 37
PENGANALISIS RS232
BERBASIS PERSONALKOMPUTER
Tri Yulizar
NIM : 015114040
Intisari
Penganalisis RS232 Berbasis Personal Komputer adalah sebuah program aplikasi yang diaplikasikan untuk mendeteksi dan mengkonversi data komunikasi serial RS232. Aliran data komunikasi dari standar RS232 dapat dicuplik oleh program dengan menggunakan serial port pada komputer (COM1/COM2). Pencuplikan data dilakukan dengan menggunakan kabel serial dan konektor DB9 yang telah dikonfigurasi sesuai dengan program.
Data yang dicuplik masuk ke komputer melalui serial port RS232, data ini oleh program diambil dan ditampilkan pada form aplikasi. Data yang masuk ke form aplikasi satu persatu dikonversi kedalam bentuk desimal dan heksa. Proses konversi akan terus berlangsung hingga adanya interupsi dari pengguna (Pause) maupun jumlah karakter yang digunakan sudah maksimal.
Untuk mendapatkan hasil konversi yang benar, property MSComm penerima (Penganalisis) dan pengirim harus sama. Hasil konversi data yang ada pada form berupa karakter dalam format ASCII, desimal dan heksadesimal dapat disimpan ke bentuk .txt dan .rtf. Program juga dilengkapi dengan fasilitas untuk mengubah konfigurasi dari MSComm yang digunakan. Pengguna dapat mengubah konfigurasi baudrate, start bit, stop bit serta paritas data yang dicuplik.
Kata Kunci:
RS232 ANALYZER
BASED ON PERSONAL COMPUTER
Tri Yulizar
NIM : 015114040
Abstract
RS232 Analyzer Based on Personal Computer is an application program that applied to detects and capture RS232 Serial data signals. Data flow of RS232 standard can be capture by the program using serial port on the computer (COM1/COM2). Data capturing doing by using serial cable and DB9 Connector that configured to be suitable with the program.
Captured data flow to the computer over RS232 Serial port, program get this data and show it on the application form. Data on the application form converted one by one character become decimal and hexadecimal form. This convertion process will be continue until interruption command from user (pause) or data input of the programs reach the maximum limit.
To get the right conversion result, MSComm property of receiver (Analyzer) and Transmitter must be same. The result of data conversion is ASCII, decimal and hexadecimal form can be save to .txt, and .rtf type. The application program is integrated with some facilities to change MSComm configuration that used by the program. User can change configuration of the baudrate, start bit, stop bit and parity of the communications data.
Key Words:
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan teknologi yang sangat pesat saat ini telah menjadikan begitu banyak aplikasi yang menggunakan piranti elektronis dan menggabungkannya dengan personal komputer. Hal ini menjadikan sebuah sistem yang komplek dan membutuhkan keahlian tambahan dalam penguasaan komputer. Hubungan antara personal komputer dengan perangkat elektronis memerlukan pengaturan yang sistematis, hal inilah yang sering menjadi persoalan, saat berbagai piranti elektronis memiliki pengkodean dan alamat yang berbeda-beda untuk menghubungkannya dengan perangkat lain.
Adanya hubungan antar piranti ini akan melibatkan sinyal baik itu sinyal-sinyal yang ditransmisikan maupun sinyal-sinyal-sinyal-sinyal yang diterima. Tidak akan menjadi masalah saat pengguna menggunakan piranti ini karena yang diperlukan adalah sinyal yang dikirim oleh transmitter dan yang diterima oleh receiver saja. Namun akan sulit disaat kita ingin mengetahui sinyal yang dikirimkan pada suatu jalur data tanpa mengetahui sinyal apa yang dikirimkan.
Untuk mengatasi hal inilah kemudian diperlukan suatu penterjemah kode-kode yang sedang berada pada jalur data hingga bisa direkam dan diterjemahkan serta diolah sesuai dengan kebutuhan kita.
Karena umumnya piranti elektronis menggunakan kode dengan standar ASCII (American Standard Code for Information Interchange) dan Heksadesimal, maka akan sangat membantu jika kode-kode yang diambil dari jalur transmisi data dikonversi ke standar-standar tersebut.
1.2 Tujuan Penelitian
1.3 Manfaat Penelitian
Karena penggunaan PC pada berbagai aplikasi elektronis baik itu pemprograman maupun pengendalian, maka penelitian dapat memberikan manfaat untuk hal-hal berikut ini:
1. Dapat mengetahui data-data yang dikomunikasikan pada serial port RS232. 2. Mempermudah pengolahan data dalam standar ASCII maupun Heksadesimal.
3. Menarik minat bagi masyarakat ilmiah untuk dapat lebih tertarik mengolah data dengan efektif serta efisien karena tidak perlu menterjemahkan lagi kode-kode yang diambil dari serial port RS232 ke standar ASCII dan Heksadesimal.
1.4 Batasan Masalah
Penelitian ini akan dibatasi oleh beberapa hal sebagai berikut:
1. Karena banyaknya jenis koneksi yang digunakan oleh komputer untuk mengakses piranti elektronis maka tidak semuanya dibahas. Umumnya komunikasi menggunakan serial port RS232 masih populer dan banyak digunakan maka program ini hanya akan memilih kode-kode pada standar koneksi serial port
RS232.
2. Program ini memiliki tampilan jendela (window) untuk dua arah komunikasi yang dideteksi, program ini juga dilengkapi dengan fasilitas untuk menyimpan (save) dan mencetak (Print) data-data yang telah diterjemahkan.
3. Pendeteksian kode diaplikasikan dengan menggunakan port dengan standar yang sama dengan mode hubungan langsung. Mode yang digunakan pada pentransmisian data pada port ini adalah full duplex agar komunikasi data dua arah dapat dideteksi.
5. Dalam penelitian ini pengkonversian data dibatasi hingga 100 (seratus) karakter saja, tetapi hasil akhirnya sendiri dapat disesuaikan dengan kebutuhan pengguna. Data yang dicuplik diubah ke bentuk desimal dan heksadesimal.
1.5 Metodologi Penelitian
Penulisan laporan tugas akhir ini adalah berdasarkan hasil perancangan, pengamatan dan penelitan yang dilakukan. Pengujian program ini akan dilakukan dengan dua cara, yang pertama dengan menggunakan data yang digunakan komputer yaitu dengan mendeteksi data komunikasi serial komputer yang terhubung. Cara yang kedua dengan menggunakan hardware penguji yang memiliki antarmuka serial, dalam hal ini akan digunakan microcontroller yang diprogram mengirimkan data tertentu secara serial.
Sistematika penulisan ini terdiri dari 5 bab, yaitu:
Bab 1.Membahas tentang pendahuluan, yang terdiri dari latar belakang, perumusan masalah, batasan masalah, dan manfaat penelitian.
Bab 2.Membahas tentang dasar teori yang mendukung penelitian yaitu port serial RS232, antarmuka serial port RS232 dengan menggunakan Program Visual Basic 6.0, kode dengan standar ASCII dan Heksadesimal serta komunikasi serial.
Bab 3.Membahas tentang perancangan yang terdiri dari algoritma program, diagram alir (Flow chart) perancangan program dan juga perancangan koneksi yang digunakan.
Bab 4. Membahas tentang Hasil penelitian dan pembahasan dari hasil perancangan. Pembahasan juga menyertakan data-data yang diambil dengan menggunakan hasil penelitian serta peralatan ukur pendukung.
BAB II
DASAR TEORI
2.1
Diagram Kotak Dasar
Proses pengiriman dan penerimaan data pada serial port RS232 dilakukan secara langsung yaitu dari port pengirim ke port penerima. Pengambilan data untuk dikonversikan ke standar ASCII dan Heksadesimal juga dilakukan secara langsung melalui jalur data yang ada. Secara umum proses pengiriman dan penerimaan data pada Serial Port dapat dilihat pada gambar 2-1.
Gambar 2-1. Blok diagram Dasar Proses
2.2
Komunikasi Serial
Ada dua cara komunikasi data serial, yaitu secara sinkron dan asinkron. Pada komunikasi sinkron, clock dikirimkan bersama-sama dengan data serial, Sedangkan pada komunikasi secara asinkron, clock tidak dikirimkan bersama data serial namun dibangkitkan sendiri baik pada sisi pengirim maupun pada sisi penerima, Seperti ditunjukkan pada gambar 2-2. Pada Personal komputer, Serial port termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel.
sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit “Start” dan bit “Stop”.
Gambar 2-2. Komunikasi asinkron
2.2.1 Karakteristik Sinyal Port Serial
Standar sinyal komunikasi serial RS-232 dikembangkan oleh Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA) dan dipublikasikan pertama kali tahun 1962. Standar ini hanya menyangkut komunikasi data antar komputer (Data Terminal Equipment – DTE) dengan alat-alat pelengkap komputer (Data Circuit – Terminating Equipment – DCE).
Standar sinyal RS-232 memiliki ketentuan level tegangan sebagai berikut : 1. Logika “1” terletak antara –3 volt sampai –25 volt.
2. Logika “0” terletak antara 3 volt sampai 25 volt.
3. Daerah tegangan antara –3 volt sampai 3 volt adalah invalid level (tidak memiliki level logika, sehingga harus dihindari).
4. Daerah tegangan dibawah –25 volt dan di atas 25 volt harus dihindari untuk mencegah kerusakan alat.
2.2.2 Konfigurasi Port Serial
Gambar 2-3 adalah gambar konektor serial port DB-9 pada bagian belakang CPU. Pada komputer, biasanya ditemukan dua konektor serial port DB-9 yang biasa dinamai COM1 dan COM2.
Gambar 2-3 Konektor serial port DB-9 pada komputer
DB -
9 8 7 6
5 4 3 2
1 Received Line Signal Detector
Received Data Transmitted Data Data Terminal Ready DCE Ready
Request To Send Clear To Send Ring Indicator
Untuk koneksi pin pada DB-9 diperlihatkan pada gambar 2-4. Secara sederhana hanya dibutuhkan 3 kabel (TD, RD & SG) yang dihubungkan langsung.
Gambar 2.4 : Konfigurasi pengkabelan pada DB-9
Konfigurasi dan keterangan dari Pin pada DB-9 diperlihatkan pada tabel 2-1
Tabel 2-1. Konfigurasi pin dan nama sinyal konektor serial DB-9
No.
Pin Nama Sinyal Direction Keterangan
1 DCD In Data Carrier Detect / Received
Line Signal Detect
2 RxD In Receive Data
3 TxD Out Transmit Data
4 DTR Out Data Terminal Ready
5 GND - Ground
6 DSR In Data Set Ready
7 RST Out Request to Send
8 CTS In Clear to Send
9 RI In Ring Indicator
Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut :
1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan data masuk.
2. Received Data, digunakan DTE menerima data dari DCE. 3. Transmit Data, digunakan DTE mengirimkan data ke DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya.
5. Signal Ground, saluran ground.
6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya.
7. Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirim data.
9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Untuk dapat menggunakan serial port harus diketahui letak alamatnya. Untuk sistem operasi Windows, alamat serial port pada komputer dapat diketahui pada propertinya di control panel. Biasanya tersedia dua serial port pada CPU, yaitu COM1 dan COM2. Base Address COM1 biasanya adalah 1016 (03F8-03FF) dan COM2 biasanya 760 (02F8-02FF). Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan. Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2.
Setelah base address diketahui, maka kita dapat menentukan alamat
register-register yang digunakan untuk komunikasi serial port ini. Tabel 2-2 memperlihatkan register-register tersebut beserta alamatnya
Tabel 2-2 Nama register yang digunakan beserta alamatnya
No Nama register COM1 COM2
1 Tx Buffer 3F8h 2F8h
2 Rx Buffer 3F8h 2F8h
3 Baud rate Divisor Latch LSB 3F8h 2F8h
4 Baud rate Divisor Latch MSB 3F9h 2F9h
5 Interrupt Enable Register 3F9h 2F9h
6 Interupt Identification
Register 3Fah 2FAh
7 Line Control Register 3FBh 2FBh
8 Modem Control Register 3FCh 2FCh
9 Line Status Register 3FDh 2FDh
10 Modem Status Register 3Feh 2FEh
Keterangan mengenai fungsi register-register pada tabel 2-2 adalah sebagai berikut :
1. RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE 2. TX Buffer, digunakan untuk menampung dan menyimpan data yang akan
dikirimkan ke serial port.
3. Baudrate Divisor Latch LSB, digunakan untuk menampung byte bobot rendah untuk pembagi clock pada IC UART agar didapat baudrate yang tepat
adalah 4 byte, yang dapat dipilih dari 0001h sampai FFFFh. Tabel 2-3 Memperlihatkan angka pembagi yang sering digunakan Sebagai catatan, register baudrate divisor latch ini bisa diisi jika bit 7 pada Line Control Register diisi 1.
Tabel 2-3 Angka pembagi clock pada IC UART
5. Interrupt Enable Register, digunakan untuk mengatur interupsi apa saja yang akan dilayani komputer. Tabel 2-4 memperlihatkan rincian bit pada
Interrupt Enable Register
Tabel 2-4 Tabel rincian bit pada Interrupt Enable Register
Nomor Bit Keterangan
0 1: Interupsi akan diaktifkan jika menerima data 1 1: Interupsi akan diaktifkan jika register Tx kosong
2 1: Interupsi diaktifkan jika ada perubahan keadaan pada Line Status Register
3 1: Interupsi diaktifkan jika ada perubahan keadaan pada Modem Status Register
4, 5, 6, 7 Diisi 0
6. Interrupt Identification Register, digunakan untuk menentukan urutan prioritas interupsi. Tabel 2-5 memperlihatkan rincian bit pada Interrupt Identification Register
Tabel 2-5 Tabel rincian bit pada Interrupt Identification Register
Nomor Bit Keterangan
0 0: Interupsi menunggu 1: No interrupt pending
1 dan 2
00: Prioritas tertinggi oleh Line Status Register
01: Prioritas tertinggi oleh register Rx jika menerima data
10: Prioritas tertingi oleh register Tx jika telah kosong
11: Prioritas tertinggi oleh Modem Status Register 3, 4, 5, 6, 7 Diisi 0
Baud rate (bps) Angka Pembagi (dalam heksa)
300 0180
600 0C00
1200 0060
1800 0040
2400 0030
4800 0018
7. Line Control Register, digunakan untuk menentukan jumlah bit data, jumlah
bit paritas, jumlah bit stop, serta untuk menentukan apakah baudrate divisor
dapat diubah atau tidak. Tabel 2-6 menunjukkan rincian bit pada Line Control Register
Tabel 2-6 Rincian bit pada Line Control Register
Nomor Bit Keterangan
0 dan 1
Jumlah bit data
00: Jumlah bit data adalah 5
01: Jumlah bit data adalah 6
10: Jumlah bit data adalah 7
11: Jumlah bit data adalah 8
2
Bit Stop
0: Jumlah bit stop adalah 1
1: Jumlah bit stop adalah 1.5 untuk 5 bit data dan 2 untuk 6
hingga 8 bit data
3
Bit Pariti
0: Tanpa bit paritas
1: Dengan bit paritas
4 0: Paritas ganjil 1: Paritas genap
5 1: Bit paritas ikut dikirimkan (stick parity) 6 0: Set break control tidak diaktifkan
1: Set break control diaktifkan
7 0: Baudrate divisor tidak dapat diaktifkan 1: Baudrate divisor dapat diakses
3
Bit Paritas
0: Tanpa bit paritas
1: Dengan bit paritas
4 0: Paritas ganjil 1: Paritas genap
8. Modem Control Register, digunakan untuk mengatur saluran pengatur modem, terutama saluran DTR dan saluran RST.
Tabel 2-7 Rincian bit pada Line Status Register
Nomor bit Keterangan
0 1: Menyatakan adanya data yang masuk pada buffer Rx 1 1: Data yang masuk mengalami overrun
2 1: Terjadi kesalahan pada bit paritas 3 1: Terjadi kesalahan framing 4 1: Terjadi break interrupt
5 1: Menyatakan bahwa register Tx telah kosong
6 1: Menyatakan bahwa Transmitter Shift Register telah kosong
7 Diisi 0
10.Modem Status Register, digunakan untuk menampung bit-bit yang menyatakan status dari saluran hubungan dengan modem.
2.3
Kode ASCII
Standar kode yang paling banyak digunakan pada komputer adalah ASCII (American Standard Code for Information Interchange). Saat pertama kali manusia membangun sistem komputer, manusia mencoba merepresentansikan informasi kedalam bentuk digital. Untuk angka hal ini relatif mudah, tetapi merepresentasikan teks akan lebih sulit. Kode morse telah ditemukan pada abad ke 19, tetapi tidak dapat dengan mudah diadaptasikan pada sistem biner pada komputer.
Kode ASCII ditemukan oleh Bob Bemer yang lebih dikenal dengan ‘bapak’ ASCII dan diperkenalkan pada tahun 1963, digunakan diberbagai negara pada tahun 1967, dan pada tahun 1968 akhirnya digunakan sebagai standar. Saat ini 100% dari komputer menggunakan pengkodean ASCII sebagai sistem pengkodean utama. Dengan demikian tidak diragukan lagi bahwa ASCII merupakan standar yang paling banyak digunakan didunia.
Tabel 2-8 Karakter-karakter ASCII
SET KARAKTER ASCII
0 1 2 3 4 5 6 7
0 NUL SOH STX ETX EOT ENQ ACK BEL
8 BS HT LF VT FF CR SO SI
16 DLE DC1 DC2 DC3 DC4 NAK SYN ETB
24 CAN EM SUB ESC FS GS RS US
32 SP ! " # $ % & '
40 ( ) * + , - . /
48 0 1 2 3 4 5 6 7
56 8 9 : ; < = > ?
64 @ A B C D E F G
72 H I J K L M N O
80 P Q R S T U V W
88 X Y Z [ \ ] ^ _
96 ` a b C d e f g
104 h i j K l m n o
112 p q r S t u v w
120 x y z { | } ~ DEL
2.4
Kode Heksadesimal
Tabel 2-9 Tabel Persamaan Kode Biner, Desimal dan Heksadesimal
Biner Desimal Heksadesimal
0 0 0
1 1 1
10 2 2
11 3 3
100 4 4
101 5 5
110 6 6
111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
10000 16 10
10001 17 11
dst Dst dst
Heksadesimal merupakan cara yang tepat untuk menunjukkan kode biner karena setiap byte memuat 8 digit biner. satu digit heksadesimal dapat merepresentasikan susunan empat digit biner (1 Nibble). Sedangkan 2 digit heksadesimal dapat merepresentasikan 8 digit biner, atau sama dengan satu byte.
2.5
Visual Basic 6.0
Visual Basic adalah perangkat lunak untuk menyusun program aplikasi yang bekerja dalam lingkungan sistem operasi Windows. Visual Basic merupakan pemrograman berorientasi objek (Object Oriented Programming / OOP). Pada Visual Basic yang dikerjakan pertama kali adalah membuat tampilan program terlebih dahulu, kemudian dilanjutkan dengan membuat kode (Source code) yang akan digunakan oleh program.
2.5.1 Bahasa Pemrograman
bahasa pemrograman Basic. Namun terdapat beberapa perbedaan bahasa yang digunakan, yang disebabkan karena bahasa Basic konvensional menggunakan DOS.
A. Tipe Data
Tipe data dibagi menjadi tiga kategori yaitu :
Numerik, yaitu data yang berupa angka dan dapat dihitung.
String, yaitu data yang merupakan kumpulan dari beberapa karakter yang dianggap sebagai nilai tunggal. Data string ini tidak dapat dihitung.
Variant, yaitu kombinasi data numerik dan string.
Tabel 2.10 menunjukkan tipe data dan rentang nilai yang digunakan pada Visual Basic.
Tabel 2-10 Tipe Data dan rentang nilai
Tipe Data Simbol Rentang Nilai
Integer % -32768 s/d 32767
Long Integer & -2147483648 s/d 2147483648
Single !
Negatif : -3.402823E38 s/d – Positif : 1.401298E-45 s/d
3.402823E38
Double
Negatif : -1.79769313486232E308 Positif : 4.9406564584124E-324 s/d
1.79769313486232E308
Lanjutan Tabel 2-10.
Tipe Data Simbol Rentang nilai
Currency @ -922337213685477.5808 s/d
String $ 0 s/d 2 milyar karakter
Boolean True atau False
Date 1 Januari 100 s/d 31 Desember 9999
Byte 0 s/d 255
Variant Semua Tipe Data
B. Variabel
variabel harus mempunyai tipe data yang sesuai isinya. Terdapat dua cara untuk mendeklarasikan sebuah variabel, yaitu dengan cara eksplisit dan implisit.
1. Deklarasi Eksplisit, dengan menggunakan perintah “DIM” pada awal prosedur. Contoh : Dim Nama As String
2. Deklarasi implisit, dengan menggunakan simbol di belakang nama variabel yang merepresentasikan tipe data yang digunakan. Tabel 2-11 menunjukkan symbol karakter pendeklarasian secara implisit.
Tabel 2-11: Deklarasi Implisit
Tipe Data Simbol karakter Contoh pemakaian
Integer % Angka% = 100
Long Integer & Angka& = 214748367
Single ! Angka! = 21456996800
Double # Konstanta_Pi# = 3.1415926535
Currency @ Saldo@ = 1000.50
String $ Nama$ = “TeknikElektro”
B. Operator
Operator digunakan pada Visual Basic untuk memanipulasi data maupun untuk melakukan penghitungan. Operator dapat dikelompokkan menjadi tiga jenis, yaitu operator matematik, operator perbandingan, dan operator logika. Tabel 2-12 menunjukkan operator matematik, Tabel 2-13 menunjukkan operator perbandingan dan Tabel 2-14 menunjukkan operator logika yang digunakan.
Tabel 2-12 Operator Matematik
Operator Operasi
^ Pemangkatan
- Tanda negatif
* , / Perkalian, pembagian
\ Pembagian integer
Mod Modulus (sisa
+ , - Penambahan dan
Tabel 2-13 Operator Perbandingan
Operator Keterangan
= Sama dengan
<> Tidak sama dengan
< Lebih kecil
> Lebih besar
<= Lebih kecil atau sama
>= Lebih besar atau sama
Like Mempunyai ciri yang
Is Sama referensi objek
Tabel 2-14 Operator Logika
Operator Keterangan
NOT Tidak
AND Dan
OR Atau
XOR Eksklusif OR
EQV Ekuivalen
IMP Implikasi
2.5.2Kontrol Program
Kontrol program pada Visual Basic meliputi kontrol pertimbangan kondisi dan keputusan, kontrol pengulangan serta kontrol penyaluran alternatif.
1. Kontrol pertimbangan kondisi : If...Else
Dengan pernyataan ini dapat dites suatu kondisi tertentu dan kemudian menentukan suatu tindakan jika kondisi tersebut dipenuhi. Sintaknya adalah sebagai berikut :
If <syarat kondisi> then <pernyataan>
Dengan menggunakan multiple line :
If <syarat kondisi> then
<pernyataan pertama> <pernyataan kedua> ....
<pernyataan ke – n>
2. Kontrol Pengulangan : Do...Loop
Pernyataan ini dapat digunakan untuk perulangan suatu blok pernyataan sampai dipenuhinya syarat kondisi yang ditetapkannya. Sintaknya adalah sebagai berikut :
Do While <syarat kondisi> <blok pernyataan>
Loop
Dengan pernyataan Until :
Do <blok pernyataan>
Loop Until <syarat kondisi>
3. Kontrol penyaluran alternatif : GoTo
Perintah GoTo digunakan untuk melakukan pencabangan ke suatu baris label tertentu. Dengan perintah ini, program dapat langsung melompat ke baris tertentu sehingga kode-kode program yang dilewatinya tidak dieksekusi. Sintaknya adalah sebagai berikut :
GoTo <nama label>
<blok pernyataan> <nama label>
Kontrol program di atas adalah sebagian dari beberapa sintak yang tersedia di Visual Basic. Untuk penggunaan lebih kompleks dapat menggunakan sintak-sintak yang berbeda jenis dan fungsinya.
2.5.3 Pengaksesan Serial Port Menggunakan Kontrol MSComm
Dalam Visual Basic disediakan Custom Control untuk komunikasi serial yaitu Communication Control. Setiap MSComm hanya menangani satu Serial port, sehingga bila diinginkan menggunakan lebih dari satu serial port, harus menggunakan MSComm sebanyak serial port yang kita pakai.
Properti-properti yang digunakan pada penelitian ini adalah:
a. CommPort : Digunakan untuk menentukan nomor serial port yang akan dipakai
b. Setting : Digunakan untuk menset nilai baud rate, paritas, jumlah bit data, dan jumlah bit stop
c. PortOpen : Digunakan untuk membuka ataupun menutup serial port
d. Input : Digunakan untuk mengambil data string yang ada pada
buffer penerima
e. Output : Digunakan untuk menulis data string pada buffer
kirim
Bahasa yang sering digunakan untuk pengiriman data serial adalah : 1 Do [Statements} Loop Until [syarat]
Melakukan looping untuk membaca tiap karakter yang diterima sampai syarat dipenuhi.
2 [Variabel] = Do Events ()
Memberikan kesempatan pada sistem operasi untuk memproses kejadian (program) sampai selesai.
3 [Variabel] = Comm1.Input
Membaca karakter-karakter dari buffer penerima dan dimasukkan variabel.
4 Comm1.Output = [variabel]
Mengirimkan karakter-karakter yang terdapat pada variabel melalui port
BAB III
PERANCANGAN
Perancangan sistem penganalisis RS232 berbasis personal komputer, dengan program Visual Basic dibagi menjadi beberapa bagian:
1. Perancangan Perangkat Keras (Hardware) 2. Perancangan Perangkat Lunak (Software)
Berikut meupakan diagram kotak dari sistem Penganalisis RS232:
Tx 1 Rx 2
Rx 1 Tx 2
Gambar 3-1 Diagram Kotak Umum
Penjelasan secara umum dari diagram kotak pada gambar 3-1 adalah sebagai berikut:
Blok Devais I
Devais I merupakan salah satu perangkat yang berkomunikasi dengan Devais II, koneksi antar keduanya dilakukan secara serial full duplex yang artinya kedua devais ini dapat menerima pesan walaupun sedang mengirim pesan. Untuk menghubungkan keduanya digunakan kabel serial. Blok ini dapat berupa komputer maupun perangkat lain yang memiliki koneksi serial port.
Blok Devais II
Berfungsi sama dengan blok devais I.
Blok Analizer Port
Blok ini merupakan tempat program penganalisis berada. Blok ini terdiri dari sebuah Sistem Komputer berbasis Windows dan program penganalisis dengan bahasa Visual Basic. Serial port Pada komputer akan mendeteksi aliran
DEVAIS I DEVAIS II
data pada devais dengan cara menghubungkan pin penganalisis dengan pin aliran data pengirim dan penerima pada devais yang akan dideteksi. Data yang diterima dan diolah oleh program penganalisis RS232 yang ada di komputer.
Perancangan Perangkat Keras
Perancangan Perangkat keras merupakan sebuah sistem yang sederhana. Perancangan ini menggunakan kabel serial dan juga konektor DB-9 sebagai penghubung sistem yang akan dideteksi dengan komputer tempat menjalankan penganalisis asinkron RS232 ini.
Untuk lebih jelasnya dapat dilihat pada koneksi Pin dari perangkat-perangkat yang digunakan, seperti yang diperlihatkan oleh gambar 3-2.
Gambar 3-2 Koneksi Pin Perangkat (www.lammerbies.nl)
Data, baik yang dikirimkan devais 1 (diterima devais 2) maupun devais 2 (diterima devais 1) akan dapat dibaca oleh program penganalisis RS232 ini. Hal ini dikarenakan port pada komputer penganalisi dihubungkan ke Pengirim (Transmitter) dan Penerima (receiver) dari kedua devais. Jadi, data yang dikirim dan yang diterima akan terdeteksi.
Tetapi, yang harus diperhatikan adalah konektor yang terhubung pada port
Perancangan Perangkat Lunak
Perancangan perangkat lunak dimulai dengan pembuatan diagram alir (flow chart) dari software, Kemudian dilanjutkan dengan pembuatan form software dan dilanjutkan dengan menuliskan kode-kode yang akan digunakan.
Flowchart Utama
Program secara keseluruhan memiliki beberapa bagian utama. Antara lan adalah Menu Password, Menu Pilih Port serta Menu Utama. Pada menu Utama juga terdapat beberapa menu tambahan lain untuk mengkonfigurasi program sesuai dengan kebutuhan pengguna. Di antaranya terdapat menu untuk mengkonfigurasi MSComm yang digunakan program sesuai dengan standar yaang ada, dan juga merubah kecepatan data (baud rate) dari komunikasi serial yang digunakan.
Pada gambar 3-3 diperlihatkan bahwa semua proses harus dilalui untuk dapat mengakses proses berikutnya. Pengguna harus mengisi identitas dan
password dengan benar, kemudian baru dapat menggunakan menu pilih port hingga akhirnya mengakses menu utama.
Gambar 3-3. Flowchart Program Secara Keseluruhan Start
Menu Login User
Menu Pilih Port
Menu Utama
Flowchart Menu Kata Kunci (Login User)
Pengguna program diharuskan memasukkan identitas dan password terlebih dahulu untuk dapat menggunakan program ini. Identitas dapat diisi dengan karakter ASCII apapun, tetapi untuk kata kunci (password) harus yang telah ditetapkan dalam program. Program tidak akan melanjutkan ke proses berikutnya sebelum identitas dimasukkan dan password yang dimasukkan benar.
T
Y
T
Y
Gambar 3-4. Flowchart Program Menu Kata Kunci (Login User)
Flowchart Menu Pilih Port
Menu pemilihan port berfungsi untuk memilih port COM yang akan digunakan oleh program. Pada menu ditampilkan pilihan satu COM, dua COM ataupun tidak ada. Pengguna program aplikasi ini sebaiknya mengetahui terlebih dahulu jumlah port COM yang ada pada sistem komputer yang digunakan. Setelah pengguna memasukkan pilihan, maka program akan menampilkan Menu Utama.
Start
Identitas ada?
Passwor d Benar?
End Masukkan Identitas dan
T
Y
T
Y
Gambar 3-5. Flowchart Menu Pemilihan Port
Flowchart Menu Utama
Flowchart Menu Utama terbagi menjadi beberapa bagian, pada gambar 3.6 ditampilkan flowchart untuk mendeteksi data serial pada COM1 saja. Ada beberapa perbedaan dengan pendeteksian yang menggunakan 2 buah port serial, namun pada prinsipnya pengaksesan datanya menggunakan cara yang sama antara port COM1 dan juga port COM2.
Saat pendeteksian diaktifkan, program akan memeriksa status port serial yang diaktifkan, jika status port tidak ditemukan (port tidak ditemukan), maka program akan menampilkan menu untuk memilih port kembali.
Apabila status port dikenali, maka program akan mulai mendeteksi data yang masuk pada input COM1. Kemudian, menampilkannya pada tampilan dan mengkonversi data yang masuk kedalam bentuk desimal dan heksadesimal. Proses ini akan terus berlangsung hingga karakter maksimal pengkonversian data tercapai.
Pilihan Port Dimasukka
n?
Cek Status Port
Status OK?
Tampilkan PopUp Start
T
Y
T
Y
T
Y
Gambar 3-6. Flowchart Menu Utama Untuk 1 Port COM Aktif
Metode Pengkonversian Data
Data yang masuk pada buffer input COM1/COM2 diambil oleh program yang secara terus-menerus melakukan proses pendeteksian (Scanning). Data yang masuk diambil satu persatu dan ditampilkan ke form program, oleh program langsung dikonversi kedalam bentuk kode Desimal dan Heksa. Data yang masuk
Start
Mendeteksi data masuk pada input COM1
Karakter Maksimal?
Berhenti Mendeteksi
Kosongkan Form Input COM1
Kelua r?
End Data Input
ada?
Tampilkan dan mengkonversi
data Aktifkan Pendeteksian
dan hasil pengkonversian ditampilkan pada form. Program akan terus scanning
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN
Program aplikasi Penganalisis RS232 Berbasis Personal Komputer memiliki beberapa menu yang bersifat aplikatif. Dimulai dari Menu Password, Pemilihan Port, Menu Utama, Konfigurasi MSComm, konfigurasi Baud rate bebas, Reset hingga Info.
Program
4.1.1 Menu LoginUser(Password)
Gambar 4-1. Menu Login dengan tampilan Default Terisi
Menu login berfungsi sebagai pendukung keamanan program, pada menu ini pengguna diwajibkan mengisi identitas dan password agar dapat mengakses menu berikutnya. Identitas dapat diisi dengan karakter ASCII apapun, namun untuk
password harus sama dengan yang telah terprogram pada program aplikasi ini. Setelah pengguna memasukkan identitas dan password maka menu Pilih port akan dapat diakses.
Menu Pilih Port
Menu Pilih port berfungsi untuk memilih jumlah serial port yang akan digunakan, banyaknya jumlah port juga harus disesuaikan dengan yang ada pada sistem komputer tempat program dijalankan.
Menu Utama
Gambar 4-3. Tampilan Menu Utama
Menu Utama memiliki beberapa bagian untuk mengkonfigurasi MSCOMM yang digunakan. Untuk mengkonfigurasi MSCOMM sesuai dengan standar, digunakan menu konfigurasi MSCOMM seperti diperlihatkan gambar 4-4.
Perubahan yang terjadi karena perubahan properti dari MSComm akan ditampilkan pada menu utama bagian STATUS, yaitu menampilkan perubahan status baud rate, paritas, jumlah bit data dan juga stop bit. Menu konfigurasi MSComm dapat digunakan untuk mengkonfigurasi kedua serial port yang digunakan.
Berikutnya, yang menjadi hal penting adalah pengaturan kecepatan data
(baud rate) komunikasi serial yang digunakan. Dapat ditemukan beberapa peralatan yang memiliki baud rate tidak standar. Maka, untuk mengatasi hal ini diperlukan adanya menu. Menu ini digunakan untuk mengakses perubahan baud rate yang tidak standar tersebut dalam rentang 1bps hingga 9600bps. Menu untuk mengakses perubahan baud rate bebas ini seperti yang diperlihatkan gambar 4-5.
Gambar 4-5. Menu Konfigurasi Baud rate bebas pada COMM1
Akses dan Konversi Data
Akses data dilakukan pada menu utama, saat pengkonversian diaktifkan program akan mulai mendeteksi data yang masuk pada serial port dan mengkonversinya kedalam bentuk desimal dan heksa secara langsung.
Data dengan pengaksesan 1 serial port
Pendeteksian data dengan menggunakan 1 serial port dilakukan dengan menggunakan port COM1. Pengiriman data dilakukan dengan mengirimkan beberapa karakter pada komputer penganalisis dari komputer lainnya. Untuk mengirimkan data dapat digunakan Hyper Terminal yang sudah terintegrasi dengan Sistem Operasi Windows maupun software
Kesalahan Properti MSComm
Pengaksesan data komunikasi serial yang tidak memiliki persamaan karakteristik data dapat mengakibatkan kesalahan pada hasil konversi.
Kesalahan identifikasi data baud rate pada program penganalisis diperlihatkan pada gambar 4-6.
Gambar 4-6. Tampilan program saat baudrate penganalisis lebih tinggi
Tabel 4-1 berikut ini memperlihatkan data kesalahan identifikasi pada data dengan baudrate berbeda.
Tabel 4-1. Data pengaksesan pada 1 Port Serial (COM1) Data dikirim PC 1 Data diterima Analyzer
Desimal Heksa Data
Seharusnya Keterangan S A N A T A Spasi D H A R M A ø€xxø€€ø xøxøxø€ø €øxø€€xx €øxø
248 128 120
120 248 128
128 248 120
248 120 248
120 248 128
248 128 248
120 248 128
128 120 120
128 248 120
248
F8 80 78 78
F8 80 80 F8
78 F8 78 F8
78 F8 80 F8
80 F8 78 F8
80 80 78 78
80 F8 78 F8
S Tidak Sesuai
A Tidak Sesuai
N Tidak Sesuai
A Tidak Sesuai
T Tidak Sesuai
A Tidak Sesuai
Spasi Tidak Sesuai
D Tidak Sesuai
H Tidak Sesuai
A Tidak Sesuai
R Tidak Sesuai
M Tidak Sesuai
A Tidak Sesuai
Tabel 4-1 diatas memeperlihatkan kesalahan identifikasi data pada pembacaan baudrate. Data dikirimkan dengan kecepatan 2400bps, namun program membaca data pada kecepatan 9600bps. Kesalahan identifikasi data ini mengakibatkan hasil data yang dicuplik oleh program penganalisis menjadi tidak sama dengan yang dirimkan.
9600bps, dan pada penganalisis menggunakan baudrate 5400bps. Tampilan pada komputer pengirim dapat dilihat pada gambar 4-7.
Gambar 4-7. Tampilan program pengirim karakter
Tampilan kesalahan identifikasi data pada program penganalisis dapat dilihat pada gambar 4-8 .
Gambar 4-8. Tampilan program saat baudrate penganalisis lebih rendah
Tabel 4-2. Data pengaksesan baudrate penganalisis lebih rendah Data dikirim PC 1 Data diterima Analyzer
Desimal Heksa Data
Seharusnya Keterangan T E K N I K Spasi E L E K T R O ùøûøøøô øúøùúøô úûùúøûø ùøø
249 248 251
248 248 248
244 248 250
248 249 250
248 244 250
251 249 250
248 251 248
249 248 248
F9 F8 FB F8
F8 F8 F4 F8
FA F8 F9 FA
F8 F4 FA FB
F9 FA F8 FB
F8 F9 F8 F8
T Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
N Tidak Sesuai
I Tidak Sesuai
K Tidak Sesuai
Spasi Tidak Sesuai
E Tidak Sesuai
L Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
T Tidak Sesuai
R Tidak Sesuai
O Tidak Sesuai
Kesalahan identifikasi karena perbedaan properti juga diuji dengan merubah bit data yang diterima penganalisis menjadi 6 bit. Kesalahan identifikasi pada penganalisis dapat dilihat pada tabel 4-3.
Tabel 4-3. Data pengaksesan dengan bit data berbeda Data dikirim PC 1 Data diterima Analyzer
Desimal Heksa Data
Seharusnya Keterangan T E K N I K Spasi E L E K T R O µ?? ?? ? ? ??? ?µ??¤?
20 63 5 63
11 63 14 63
9 63 11 63
32 5 63 12
63 5 63 11
63 20 63 18
63 15 63
14 3F 5 3F B
3F E 3F 9 3F
B 3F 20 5 3F
C 3F 5 3F B
3F 14 3F 12
3F F 3F
T Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
N Tidak Sesuai
I Tidak Sesuai
K Tidak Sesuai
Spasi Tidak Sesuai
E Tidak Sesuai
L Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
T Tidak Sesuai
R Tidak Sesuai
O Tidak Sesuai
Tabel 4-4. Data pengaksesan dengan paritas berbeda Data dikirim PC 1 Data diterima Analyzer
Desimal Heksa Data
Seharusnya Keterangan T E K N I K Spasi E L E K T R O ??????? ???????
63 63 63 63
63 63 63 63
63 63 63 63
63 63
3F 3F 3F 3F
3F 3F 3F 3F
3F 3F 3F 3F
3F 3F
T Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
N Tidak Sesuai
I Tidak Sesuai
K Tidak Sesuai
Spasi Tidak Sesuai
E Tidak Sesuai
L Tidak Sesuai
E Tidak Sesuai
K Tidak Sesuai
T Tidak Sesuai
R Tidak Sesuai
O Tidak Sesuai
Pengujian dengan dengan merubah bit stop pada program penganalisis tidak merubah hasil konversi pada program penganalisis. Data pada program penganalisis diperlihatkan pada tabel 4-5.
Tabel 4-5. Data pengaksesan dengan bit stop berbeda Data dikirim PC 1 Data diterima Analyzer
Desimal Heksa Data
Seharusnya Keterangan T E K N I K Spasi E L E K T R O T E K N I K Spasi E L E K T R O 84 69 75 78 73 75 32 69 76 69 75 84 82 79 54 45 4B 4E 49 4B 20 45 4C 45 4B 54 52 4F T Sesuai E Sesuai K Sesuai N Sesuai I Sesuai K Sesuai Spasi Sesuai E Sesuai L Sesuai E Sesuai K Sesuai T Sesuai R Sesuai O Sesuai
Gambar 4-9. Tampilan program pengirim karakter ASCII ke COM1
Tampilan data pada program aplikasi Penganalisis RS232 seperti yang diperlihatkan pada gambar 4-10.
Gambar 4-10. Tampilan pada Program Penganalisis Untuk 1 port COM aktif
Tabel 4-6. Data pengaksesan pada 1 Port Serial (COM1)
Data Dikirim Data Diterima Desimal Heksa Keterangan
P P 80 50 Sesuai
R R 82 52 Sesuai
O O 79 4F Sesuai
G G 71 47 Sesuai
R R 82 52 Sesuai
A A 65 41 Sesuai
M M 77 4D Sesuai
Spasi Spasi 32 20 Sesuai
S S 83 53 Sesuai
T T 84 54 Sesuai
U U 85 55 Sesuai
D D 68 44 Sesuai
I I 73 49 Sesuai
Spasi Spasi 32 20 Sesuai
T T 84 54 Sesuai
E E 69 45 Sesuai
K K 75 4B Sesuai
N N 78 4E Sesuai
I I 73 49 Sesuai
K K 75 48 Sesuai
Spasi Spasi 32 20 Sesuai
E E 69 45 Sesuai
L L 76 4C Sesuai
E E 69 45 Sesuai
K K 75 4B Sesuai
T T 84 54 Sesuai
R R 82 52 Sesuai
O O 79 4F Sesuai
Enter Enter 13 10 0D 0A Sesuai
U U 85 55 Sesuai
n N 110 6E Sesuai
i I 105 69 Sesuai
v V 118 76 Sesuai
e E 101 65 Sesuai
r R 114 72 Sesuai
s S 115 73 Sesuai
i I 105 69 Sesuai
t T 116 74 Sesuai
a A 97 61 Sesuai
s S 115 73 Sesuai
Spasi Spasi 32 20 Sesuai
S S 83 53 Sesuai
a a 97 61 Sesuai
n n 110 6E Sesuai
a a 97 61 Sesuai
t t 116 74 Sesuai
a a 97 61 Sesuai
Spasi Spasi 32 20 Sesuai
D D 68 44 Sesuai
h h 104 68 Sesuai
a a 97 61 Sesuai
r r 114 72 Sesuai
m m 109 6D Sesuai
a a 97 61 Sesuai
Enter Enter 13 10 0D 0A Sesuai
Y Y 89 59 Sesuai
O O 79 4F Sesuai
G G 71 47 Sesuai
Y Y 89 59 Sesuai
A A 65 41 Sesuai
K K 75 4B Sesuai
A A 65 41 Sesuai
R R 82 52 Sesuai
T T 84 54 Sesuai
Data dengan pengaksesan 2 serial port (COM1 dan COM2)
Pada komputer pengirim karakter ASCII dikirimkan data untuk COM1 dan COM2 pada program Penganalisis. Tampilan program pengirim karakter ASCII diperlihatkan pada gambar 4-11.
Gambar 4-11. Tampilan Program pengirim karakter ASCII ke COM1 dan COM2
Tampilan data pada program aplikasi Penganalisis RS232 seperti yang diperlihatkan pada gambar 4-12.
Pada tampilan pengirim maupun penganalisis terlihat persamaan data. Lebih lengkapnya dapat dilihat pada tabel 4-7.
Tabel 4-7. Data pengaksesan pada 2 Port Serial (COM1 dan COM2) Data dikirim COM1 Data dikirim COM2 Data diterima COM1 Data diterima COM2
Desimal Heksa keterangan
T - T - 84 54 Sesuai
E - E - 69 45 Sesuai
K - K - 75 4B Sesuai
N - N - 78 4E Sesuai
I - I - 73 49 Sesuai
K - K - 75 48 Sesuai
Spasi - Spasi - 32 20 Sesuai
E - E - 69 45 Sesuai
L - L - 76 4C Sesuai
E - E - 69 45 Sesuai
K - K - 75 4B Sesuai
T - T - 84 54 Sesuai
R - R - 82 52 Sesuai
O - O - 79 4F Sesuai
- U - U 85 55 Sesuai
- n - n 110 6E Sesuai
- i - i 105 69 Sesuai
- v - v 118 76 Sesuai
- e - e 101 65 Sesuai
- r - r 114 72 Sesuai
- s - s 115 73 Sesuai
- i - i 105 69 Sesuai
- t - t 116 74 Sesuai
- a - a 97 61 Sesuai
- s - s 115 73 Sesuai
- Spasi - Spasi 32 20 Sesuai
- S - S 83 53 Sesuai
- a - a 97 61 Sesuai
- n - n 110 6E Sesuai
- a - a 97 61 Sesuai
- t - t 116 74 Sesuai
- a - a 97 61 Sesuai
- Spasi - Spasi 32 20 Sesuai
- D - D 68 44 Sesuai
- h - h 104 68 Sesuai
- a - a 97 61 Sesuai
- r - r 114 72 Sesuai
- m - m 109 6D Sesuai
- a - a 97 61 Sesuai
Pengujian komunikasi serial 2 buah komputer
Gambar 4-13. Tampilan saat menerima data dari komunikasi serial 2 buah komputer
Tabel 4-8 memperlihatkan data hasil komunikasi yang dideteksi oleh program aplikasi.
Tabel 4-8. Data Pengujian komunikasi serial 2 buah komputer Data
dikirim PC 1
Data dikirim
PC 2
Data diterima
COM1
Data diterima
COM2
Desimal Heksa keterangan
T - T - 84 54 Sesuai
E - E - 69 45 Sesuai
K - K - 75 4B Sesuai
N - N - 78 4E Sesuai
I - I - 73 49 Sesuai
K - K - 75 48 Sesuai
- E - E 69 45 Sesuai
- L - L 76 4C Sesuai
- E - E 69 45 Sesuai
- K - K 75 4B Sesuai
- T - T 84 54 Sesuai
- R - R 82 52 Sesuai
- O - O 79 4F Sesuai
Pengujian Menggunakan Microcontroller
Pengujian dengan microcontroller dilakukan dengan cara memprogram IC
Gambar 4-12. Tampilan Program Saat Menerima Data Serial dari Mikrokontroller
Tabel 4-9 memperlihatkan beberapa data yang dikirimkan oleh
microcontroller, dan kemudian dikonversi oleh program penganalisis.
Tabel 4-9. Data Pengujian menggunakan mikrokontroller Data Dikirim
Mikro
Data
Diterima Desimal Heksa Keterangan
A A 65 41 Sesuai
B B 66 42 Sesuai
C C 67 43 Sesuai
D D 68 44 Sesuai
E E 69 45 Sesuai
F F 70 46 Sesuai
Untuk data Selengkapnya dapat dilihat pada lembar lampiran dibagian akhir penulisan laporan ini.
Beberapa karakteristik sinyal yang dikirimkan ke komputer tempat dijalankannya program aplikasi ini juga diamati dengan menggunakan
Gambar 4-15. Karakteristik Sinyal Ú terkirim tanpa bit paritas
Spesifikasi Pengujian
Pengujian program Penganalisis RS232 dilakukan pada sistem operasi berbasis Microsoft Windows. Dengan masukkan sinyal dari serial port RS232, program dapat mengubah data masukan menjadi bentuk heksadesimal dan juga desimal. Hasil konversi data ini dapat disimpan pada komputer agar dapat dilihat kembali. Sebagai pendukung juga disertakan sebuah perangkat untuk menghubungkan penganalisis dan komputer beserta kabel serial.
Pada saat pengujian, program dapat berjalan dengan baik pada sistem komputer berikut ini :
Processor dengan frekuensi 233 MHz Memori RAM 32 MB
Hard Disk Space 2 MB
Monitor dengan resolusi 1024 * 768 16 BIT
Mouse dan keyboard compatible
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Program aplikasi Penganalisis RS232 Berbasis Personal Komputer ini dapat mendeteksi sinyal masukan dari serial port RS232. Untuk hasil yang maksimal, karakteristik data serial port pengirim dan juga penerima harus sama. Untuk data yang tidak sama akan terjadi kesalahan identifikasi pada program penganalisis. Kealahan identifikasi data dapat dilihat pada halaman lampiran. Diantaranya, kecepatan data, bit start, bit stop, jumlah bit data serta paritasnya. Program ini juga sudah dilengkapi dengan menu untuk mengakses perubahan karakteristik data tersebut.
5.2 Saran
Daftar Pustaka
Harini, B. Wuri, Diktat Pemrograman Orientasi Obyek, Fakultas Teknik Universitas Sanata Dharma, Yogyakarta, 2001
Mamcoms, PanduanPemrograman dan Referensi Kamus Visual Basic 6.0, Andi Offset, Yogyakarta, 2005
Pardosi, Mico, Buku Panduan Bahasa Pemrograman Windows dan Internet, Selaras, Surabaya, 2004
Prasetya, Ratna; Widoso, Catur Edi, Teori dan Praktek Interfacing Port Paraleldan Port Serial Komputer dengan Visual Basic, Andi Offset, Yogyakarta, 2004
Suhata, VB Sebagai Pusat Kendali Peralatan Elektronik, Elex Media Computindo, 2005
http://www.Arcelect.com/RS232 Tutorial on Data Interface and cables.htm
http://www.lammerbies.nl/RS232 serial spy monitor cable.htm
http://www.lammerbies.nl/ASCII character set.htm
http://www.link2me.com/ Ascii Table - ASCII character codes html octal hex decimal charts.htm
http://www.lookuptables.com
http://www.232Analyzer.com
http://www.eltima.com/Serial Data Capture, rs232 Serial Analyzer, rs232 Monitor, rs 232 Data Logger.htm
Menu Login
Private Sub Command1_Click() Dim password As String Dim response
If Text1.Text = "" And Text2.Text = "" Then
response = MsgBox("Anda belum memasukkan identitas dan password", vbExclamation, "RS232_ Analyzer") Text1.SetFocus
ElseIf Text1.Text = "" Then
response = MsgBox("Anda belum memasukkan identitas", vbExclamation, "RS232 Analyzer") Text1.SetFocus
ElseIf Text2.Text = "login" Then 'password benar Form1.Hide
Form2.Show 'menampilkan form select port pada system ElseIf Text2.Text = "" Then
response = MsgBox("Anda belum memasukkan password", vbExclamation, "RS232 Analyzer") Text2.SetFocus
Else
keymax = keymax + 1 If keymax < 5 Then
respon = MsgBox("Password Anda Salah!!", 48 + 5, "RS232 Analyzer") Text2.SetFocus
If respon = vbRetry Then Text2.SetFocus Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text) Text2.SetFocus
Else
response = MsgBox("Terima Kasih", vbOKOnly, "RS232 Analyzer") End
End If Else
response = MsgBox("Terima Kasih", vbOKOnly, "RS232 Analyzer") End
End If End If End Sub
Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub
Private Sub Command3_Click() Form9.Hide
response = MsgBox("Terima kasih telah menggunakan RS232 Analyzer", vbOKOnly, "RS232 Analyzer") End
End Sub
Private Sub Form_Load() App.TaskVisible = False Text1.Text = "TRI YULIZAR" Text2.Text = "login" End Sub
Private Sub Form_Unload(Cancel As Integer) End
Menu Pilih Port
Private Sub Check1_Click() 'dipilih 1 comm Check2.Value = 0 Check3.Value = 0 End Sub
Private Sub Check2_Click() 'dipilih 2 comm Check1.Value = 0 Check3.Value = 0 End Sub
Private Sub Check3_Click() 'tidak ada comm port Check1.Value = 0 Check2.Value = 0 End Sub
Private Sub Command1_Click()
If Check1.Value = 0 And Check2.Value = 0 And Check3.Value = 0 Then Form2.Hide
response = MsgBox("Anda Belum memilih port. Silahkan Pilih Port", vbExclamation, "RS232 Analyzer") End If
Form2.Show
'Satu COMM Port pada system komputer If Check1.Value = 1 Then
Form2.Hide Check2.Value = 0 Check3.Value = 0 On Error GoTo salah1 Form2.Hide
Form3.Text7.Text = "---" Form3.Text2.Enabled = False Form3.Text4.Enabled = False Form3.Text6.Enabled = False Form3.Text8.Enabled = False
Form3.Text1.BackColor = &H8000000F Form3.Text3.BackColor = &H8000000F Form3.Text5.BackColor = &H8000000F Form3.Text2.BackColor = &H8000000F Form3.Text4.BackColor = &H8000000F Form3.Text6.BackColor = &H8000000F Form3.Text7.BackColor = &H8000000F Form3.Text8.BackColor = &H8000000F Form3.Command8.Enabled = False Form3.Command2.Enabled = False Form3.Command4.Enabled = False Form3.Command6.Enabled = False Form3.Opcom2.Enabled = False Form3.OpResetcom2.Enabled = False Form3.OpResetsemua.Enabled = False Form9.cbport.Enabled = False
'nonaktifkan deteksi COM2
With Form3.MSComm1 .CommPort = 1 .RThreshold = 1 .RTSEnable = True .InputLen = 1 .SThreshold = 1 .PortOpen = True End With
response = MsgBox("Anda Menggunakan 1 COMM Port", vbOKOnly, "RS232 Analyzer") Form3.Label7.Caption = "STATUS COM 1 : " & Form3.MSComm1.Settings
Form3.Label9.Caption = "Port COMM2 Tidak Aktif" Form3.Show
End If
'Dua COMM Port pada system komputer If Check2.Value = 1 Then
Form2.Hide Check1.Value = 0 Check3.Value = 0
Form3.Text7.Text = "---" Form3.Text8.Text = "---" Form3.Text1.BackColor = &H8000000F Form3.Text3.BackColor = &H8000000F Form3.Text5.BackColor = &H8000000F Form3.Text2.BackColor = &H8000000F Form3.Text4.BackColor = &H8000000F Form3.Text6.BackColor = &H8000000F On Error GoTo salah2
With Form3.MSComm1 .CommPort = 1 .RThreshold = 1 .RTSEnable = True .InputLen = 1 .SThreshold = 1 .PortOpen = True End With
With Form3.MSComm2 .CommPort = 2 .RThreshold = 1 .RTSEnable = True .InputLen = 1 .SThreshold = 1 .PortOpen = True End With
Form3.Label7.Caption = "STATUS COM 1 : " & Form3.MSComm1.Settings Form3.Label9.Caption = "STATUS COM 2 : " & Form3.MSComm2.Settings
response = MsgBox("Anda Menggunakan 2 COMM Port", vbOKOnly, "RS232 Analyzer") Form2.Hide
Form3.Show End If
If Check3.Value = 1 Then Form2.Hide
'Tidak ada COMM Port RS232 (DB9) pada System Check1.Value = 0
Check2.Value = 0
response = MsgBox("Maaf sistem komputer ini tidak dapat menjalankan aplikasi", vbExclamation,_ "RS232 Analyzer")
salah1:
response = MsgBox("Port COM1 Tidak terdeteksi, Silahkan periksa kembali COM1!", vbCritical,_ "RS232 Analyzer")
If Form3.MSComm1.PortOpen = True Then Form3.MSComm1.PortOpen = False End If
If Form3.MSComm2.PortOpen = True Then Form3.MSComm2.PortOpen = False End If
Form2.Show Exit Sub
salah2:
response = MsgBox("Port COM2 Tidak terdeteksi, Silahkan periksa kembali COM2!", vbCritical,_ "RS232 Analyzer")
If Form3.MSComm1.PortOpen = True Then Form3.MSComm1.PortOpen = False End If
If Form3.MSComm2.PortOpen = True Then Form3.MSComm2.PortOpen = False End If
Form2.Show Exit Sub End Sub
Private Sub Command2_Click() Form2.Hide
response = MsgBox("Terima kasih telah menggunakan RS232 Analyzer", vbOKOnly, "RS232 Analyzer") If Form3.MSComm1.PortOpen = True Then
Form3.MSComm1.PortOpen = False End If
If Form3.MSComm2.PortOpen = True Then Form3.MSComm2.PortOpen = False
End If End End Sub
Private Sub Form_Load()
If Form3.MSComm1.PortOpen = True Then Form3.MSComm1.PortOpen = False
End If
If Form3.MSComm2.PortOpen = True Then Form3.MSComm2.PortOpen = False
Menu Utama
'Saat Tombol