Anda di halaman 1dari 45

Komunikasi Data I

Akuisisi Data 1
TEKNOLOGI REKAYASA OTOMASI DAN MEKATRONIKA

POLITEKNIK MANUFAKTUR NEGERI BANDUNG

Jl. Kanayakan no. 21, DAGO 40235, Tromol Pos 851 BANDUNG 40008 INDONESIA

Phone : 62 022 2500241 Fax : 62 022 2502649 Homepage : http ://www.polman-bandung.ac.id


2020
MODUL KOMUNIKASI DATA I

DAFTAR ISI

PREREQUISITES ................................................................................................................................ 1
1 dan 0 ............................................................................................................................................... 1
Logika Active-Low ............................................................................................................................ 1
Bit vs Byte.......................................................................................................................................... 1
Membaca Biner ke Desimal ............................................................................................................ 1
ASCII Table ....................................................................................................................................... 1
Komunikasi Data .............................................................................................................................. 3
Mode Transmisi ................................................................................................................................ 3
Jenis Transmisi ................................................................................................................................. 4
Jenis Transmisi Serial ..................................................................................................................... 5

TUTORIAL 1 - ARDUINO dan SERIAL (ASCII)............................................................................. 7


Rules of Serial................................................................................................................................... 7
Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 10

TUTORIAL 2 - KONTROL LED MELALUI ARDUINO & VISUAL BASIC ............................... 12


Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 16

TUTORIAL 3 - APLIKASI CHAT ANTAR PC DENGAN RS485 ............................................... 17


Parsing Data ................................................................................................................................... 17
RS-485 ............................................................................................................................................. 18
Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 16

TUTORIAL 4 - RUNNING TEXT LCD ............................................................................................ 25


RS232 .............................................................................................................................................. 25
Perbedaan RS232, RS422, RS485 ............................................................................................. 27
Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 30

i
MODUL KOMUNIKASI DATA I

TUTORIAL 5 - RUNNING LED ........................................................................................................ 32


Port Paralel...................................................................................................................................... 32
Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 37

TUTORIAL 6 - MOTOR STEPPER ................................................................................................. 39


Praktikum ......................................................................................................................................... 10
Penjelasan ....................................................................................................................................... 41

ii
MODUL KOMUNIKASI DATA I

PREREQUISITES 00
1 dan 0
Kebanyakan sinyal HIGH direpresentasikan dengan bilangan logika satu (1).
Dan sinyal LOW direpresentasikan dengan bilangan logika nol (0).

Logika Active-Low
Untuk inverse logic atau ‘active-low’ logic, pin justru dianggap sebagai logika zero (0) saat
HIGH dan logika one (1) saat LOW.

Bit vs Byte
1 bit = 1 bilangan logika yaitu 0 atau 1
1 byte = berisi 8 bit atau 8 bilangan berlogika 0 / 1, misalnya 10010110

Membaca Biner ke Desimal


Contohnya berikut ada sebuah byte dengan angka 10011011
MSB 1 0 0 1 1 0 1 1 LSB
(Most Significant (Least Significant
27 26 25 24 23 22 21 20
Bit) Bit)
128 64 32 16 8 4 2 1

Kemudian kita jumlahkan nilai – nilai yang ber bit 1, yaitu :


128 + 16 + 8 + 2 + 1 = 155

Maka 10011011 bernilai 155 dalam desimal.

ASCII Table
Berikut tabel ASCII desimal dan biner untuk huruf

ASCII Code ASCII Code ASCII Code ASCII Code


Letter Letter
(Decimal) (Binary) (Decimal) (Binary)

a 097 01100001 A 065 01000001

b 098 01100010 B 066 01000010

c 099 01100011 C 067 01000011

1
MODUL KOMUNIKASI DATA I

d 100 01100100 D 068 01000100

e 101 01100101 E 069 01000101

f 102 01100110 F 070 01000110

g 103 01100111 G 071 01000111

h 104 01101000 H 072 01001000

i 105 01101001 I 073 01001001

j 106 01101010 J 074 01001010

k 107 01101011 K 075 01001011

l 108 01101100 L 076 01001100

m 109 01101101 M 077 01001101

n 110 01101110 N 078 01001110

o 111 01101111 O 079 01001111

p 112 01110000 P 080 01010000

q 113 01110001 Q 081 01010001

r 114 01110010 R 082 01010010

s 115 01110011 S 083 01010011

t 116 01110100 T 084 01010100

u 117 01110101 U 085 01010101

v 118 01110110 V 086 01010110

w 119 01110111 W 087 01010111

x 120 01111000 X 088 01011000

y 121 01111001 Y 089 01011001

z 122 01111010 Z 090 01011010

Terdapat pula tabel ASCII untuk selain karakter huruf. Karakter – karakter tersebut juga
bukan hanya dalam bentuk Biner dan Desimal saja, tetapi juga memiliki bentuk Octal
dan Hexadecimalnya. Coba carilah !

2
MODUL KOMUNIKASI DATA I

KOMUNIKASI DATA
Elemen Dasar Komunikasi Data :

RULE 1
RULE 1 RULE 2
RULE 2 :
PROTOKOL : : PROTOKOL
: DATA / PESAN RULE n
RULE n

MEDIA TRANSMISI

PENGIRIM PENERIMA

1. Pengirim (Sender)
2. Penerima (Receiver)
3. Data / Pesan : berisi informasi yang akan disampaikan
4. Media Transmisi : disebut juga channel, bisa melalui kabel ataupun tidak (wireless)
5. Protokol : merupakan aturan atau set yang disepakati oleh pengirim dan penerima
untuk berkomunikasi data.

Mode Transmisi
1. Simplex
Hanya sender yang bisa mengirim

Pengirim Penerima

Perangkat 1 Perangkat 2

Misalnya : televisi, radio

2. Half Duplex
Sender dan Receiver dapat mengirim tapi tidak saat bersamaan (bergantian)

Pengirim Pengirim
Penerima Penerima
Perangkat 1 Perangkat 2

Misalnya : walkie-talkie

3
MODUL KOMUNIKASI DATA I

3. Full Duplex
Sender dan Receiver dapat mengirim saat bersamaan

Pengirim Penerima
Penerima Pengirim

Perangkat 1 Perangkat 2

Misalnya : telepon

Jenis Transmisi
1. Serial
LSB MSB

0 1 0 0 0 1 10
Sender D0 D1 D2 D3 D4 D5 D6 D7 Receiver

Melakukan transmisi 1 bit tiap pulsa clock. Pada gambar tersebut hanya
membutuhkan 2 wire.

2. Paralel

D7 0 (MSB) D7
D6 0 D6
D5 1 D5
Sender D4 0 D4 Receiver
0
D3 D3
D2 1 D2
D1 1 D1
D0 0 (LSB) D0

4
MODUL KOMUNIKASI DATA I

Contoh data bus 8 bit, dengan kontrol waktu. Melakukan transmisi 1 byte tiap pulsa clock.
Pada gambar tersebut menggunakan 9 wire.

Jenis Transmisi Serial

1. Synchronous
Pada transmisi serial sinkron, sebelum terjadi komunikasi antar data, maka
diadakanlah sinkronisasi waktu antara pengirim dan penerima. Pada umumnya,
pengaturan tersebut diatur berdasarkan waktu pada saat pengiriman sinyal.

Waktu tersebut diatur oleh denyut listrik secara periode yang biasa disebut dengan
clock. Data tersebut kemudian dikirim dalam satu blok data yang disebut Frame,
dimana variasi ukuran frame mulai dari 1500 byte sampai pada 4096 byte. Frame
tersebut berisikan bit pembuka (preamble bit), bit data itu sendiri, dan bit penutup
(postamble bit), serta penambahan bit-bit control pada blok tersebut.

Ringkasnya, sistem operasi pada synchronous digunakan untuk kejadian yang terjadi
pada waktu yang bersamaan, berkelanjutkan dan juga dapat diprediksi seperti chatting
dan pengetikkan keyboard. Contoh synchronous interface lainnya adalah SPI dan I2C.

5
MODUL KOMUNIKASI DATA I

2. Asynchronous
Pada transmisi serial asinkron, sebelum terjadinya komunikasi data, tidak diadakan
sinkronisasi waktu antara pengirim dan penerima. Data tersebut kemudian dikirim
per karakter. Masing-masing karakter memiliki start bit dan stop bit. Start bit berfungsi
untuk menandakan adanya rangkaian bit karakter yang sudah siap untuk dikirim.
Sedangkan stop bit berfungsi untuk melakukan proses menunggu karakter berikutnya.

Contoh dari penggunaan asynchronous adalah pada UART (Universal Asynchronous


Receiver Transmitter) yang digunakan pada serial port komputer.

Port adalah satu set perintah yang digunakan oleh komputer untuk memindahkan data
dari atau ke perangkat lain seperti pada mouse, printer, keyboard, modem, monitor
dan lain sebagainya. Port sendiri ada berbagai macam yaitu serial port, paralel port,
SATA, SPI, USB, Ethernet, PCI, dan lain sebagainya.

6
MODUL KOMUNIKASI DATA I

TUTORIAL 1 01
ARDUINO dan SERIAL (ASCII)

Rules of Serial
 Data bits
 Synchronization bits (start bit dan stop bit)
 Parity bits
 Baud rat
Kedua device pada sebuah serial bus harus dikonfigurasi dengan protokol yang sama.

Baud rate
adalah seberapa cepat data yang dikirim melalui serial line. Biasanya diekspresikan dengan
unit bits-per-second (bps). Baud rate yang biasa kita jumpai khususnya pada alat yang simple
dimana yang tidak terlalu mementingkan kecepatan yaitu 9600. Standard baud rate lainnya
contonya 1200, 2400, 4800, 19200, 38400, 57600, dan 115200.

Framing data

Data bits
Banyak data yang akan dibawa dalam sebuah paket atau blok data. Besarnya dapat berkisar
dari 5 – 9 bit. Biasanya standard ukuran data basic adalah 8-bit byte. Namun bisa saja
menggunakan ukuran lebih kecil misalnya 7-bit data dengan tujuan untuk mengefisienkan
pengiriman data khususnya apabila kita hanya mengirimkan karakter ASCII yang cukup
sebesar 7 bit.

Synchronization bits
Bit sinckronisasi adalah dua atau tiga bit khusus yang ditransfer dengan seetiap potongan
data. Bit sinkronisasi yaitu start bit dan stop bit. Sesuai dengan namanya, bit ini menandai
awal dan akhir suatu paket. Selalu ada hanya satu start bit, tetapi jumlah stop bit dapat
dikonfigurasi untuk satu atau dua (meskipun biasanya dibiarkan pada satu). Start bit selalu
ditunjukkan oleh idle data line yang bergerak dari 1 ke 0, sedangkan stop bit akan beralih
kembali ke idle state dengan holding line pada 1.

7
MODUL KOMUNIKASI DATA I

Parity bits
Bit parity adalah bentuk low-level error checking. Terdapat 2 macam bit parity : genap dan
ganjil. Untuk menghasilkan bit parity semua data bit harus dimasukkan. Kemudian dapat
dilihat dari data – data tersebut genap atau ganjil. Apabila jumlah bit 1 sesuai dengan jenis
parity yang dipilih maka akan bernilai 0. Apabila salah, maka bernilai 1.

7 bits of (count of 8 bits including parity


data 1-bits) even odd none
0000000 0 00000000 10000000 0000000
1010001 3 11010001 01010001 1010001
1101001 4 01101001 11101001 1101001
1111111 7 11111111 01111111 1111111

Contoh 9600 8N1


9600 8N1 – 9600 baudrate, No parity (none), 1 stop bit, merupakan protokol serila yang sering
digunakan. Misalnya dilakukan pengiriman data karakter ASCII ‘O’ dan ‘K’ (OK) akan
menghasilkan 2 paket data. Nilai ASCII untuk huruf O adalah 79, dimana terdiri dari 8 bit biner
yaitu 01001111 dan huruf K adalah 01001011.

Karena data yang dikirim adalah sebesar 9600 bps, waktu yang dihabiskan untuk hold masing
– masing bit HIGH atau LOW yaitu 1/(9600 bps) atau 104µs per bit. Pada kasus tersebut untuk
setiap byte data yang dikirim ada 10 bit yang dikirim: start bit, 8 bit data, dan stop bit. Maka
pada 9600, sesungguhnya kita mengirim data 9600 bit per detik atau 960 (9600/10) bytes per
detik.

Wiring

Transmit

Receive

Ground

8
MODUL KOMUNIKASI DATA I

PRAKTIKUM 1

Hardware - Arduino Board


- Oscilloscope + Probe

Software - Arduino IDE

Circuit Hubungkan probe pengukur oscilloscope ke pin TX (pin 1) pada Arduino


dan clip probe ground ke GND Arduino

Code void setup() {


Serial.begin(9600); Code berikut adalah contoh apabila kita ingin
} mengirim sebuah huruf “i” Kalian bisa

void loop() { mengganti huruf tersebut dengan huruf lain,


Serial.print("i"); atau bahkan kata kemudian lihat bentuk hasil
delay(100);
} pengiriman datanya pada Oscilloscope!

Hasil Oscilloscope

9
MODUL KOMUNIKASI DATA I

PENJELASAN

Serial.begin(9600)

Fungsi Serial.begin adalah untuk melakukan setting data untuk transmisi serial.
Data yang dapat di set yaitu:
1. baud rate / kecepatan pengiriman bits per second = 9600, 38400, dll speed

2. jumlah data dalam paket = 5 - 9


3. parity : None, Even (Genap), Odd (Ganjil) config

4. jumlah stop bit = 1 atau 2

Syntax
Serial.begin(speed) contoh Serial.begin(38400)
Serial.begin(speed, config) Serial.begin(9600, SERIAL_7E1)

SERIAL_7E1 artinya kita melakukan setting konfigurasi :


Jumlah data = 7 , misalnya 0011101 (ada 7 angka)
Parity = E (Even) / Genap
Jumlah stop bit = 1

SERIAL_8N1 merupakan default setting, sehingga apabila kita tidak

! mencantumkan config, maka setting yang akan berjalan adalah 8N1, yaitu:
Jumlah data = 8 , misalnya 00011101 (ada 8 angka)
Parity = N (None), tanpa parity
Jumlah stop bit = 1

Serial.print("i");

Fungsi Serial.print adalah untuk melakukan print data ke serial monitor. Pada code diatas
kita mengirimkan data huruf i untuk ditampilkan di serial monitor dalam bentuk human-
readable teks ASCII. Misalnya :
 Serial.print(98) akan menampilkan “98”

 Serial.print(1.23456) akan menampilkan “1.23”

 Serial.print(‘K’) akan menampilkan “K”

 Serial.print(“Hello world.”) akan menampilkan “Hello world.”

10
MODUL KOMUNIKASI DATA I

Tapi bisa pula menggunakan format spesifik misalnya BIN untuk biner, OCT untuk octal,
DEC untuk desimal, HEX untuk hexadesimal. Sedangkan untuk angka float atau sebut saja
bilangan berkoma, bisa mencantumkan berapa angka setelah koma yang ingin diambil.
Contoh:
 Serial.print(98, BIN) akan menampilkan “01100010”

 Serial.print(98, OCT) akan menampilkan “142”

 Serial.print(98, DEC) akan menampilkan “98”

 Serial.print(1.2345, 0) akan menampilkan “1”

 Serial.print(1.2345, 3) akan menampilkan “1.234”

Untuk mengetahui lebih lengkap dan jelasnya mengenai syntax – syntax pada
arduino, dapat mengunjungi situs www.arduino.cc/reference

Analisis
Buatlah hasil analisis dari hasil oscilloscope yang didapat dengan menentukan bagian –
bagian mana yang termasuk start bit, bit data, stop bit, dan bit parity,, contohnya sebagai
berikut

Kemudian buatlah kesimpulannya!

11
MODUL KOMUNIKASI DATA I

TUTORIAL 2
KONTROL LED MELALUI ARDUINO & VISUAL BASIC
02
PRAKTIKUM 2

Pada tutorial 2 akan dilakukan uji coba untuk melakukan kontrol ON – OFF LED pada pin 13
Arduino melalui button pada Visual Basic.

Hardware - Arduino Board

Software - Arduino IDE


- Visual Basic

Circuit Hubungkan arduino pada PC

Code void setup() {


Serial.begin(9600);
(Arduino) pinMode (13, OUTPUT);
}

void loop() {
if (Serial.available()){
char a= Serial.read

if (a==’1’){
digitalWrite (13,1);}
else if (a==’0’){
digitalWrite (13,0);}

delay(100);
}
}

Agar Visual Basic dapat melakukan komunikasi serial dengan Arduino, digunakan fitur
MSComm pada Visual Basic. Untuk mengaktifkan dan menampilkan icon MSComm pada
toolbar Visual Basic, sebagai berikut:
1. Klik Project, lalu pilih Components (atau bisa juga dengan Ctrl + T)
2. Beri tanda centang pada Microsoft Comm Control 6.0 (SP6), kemudian klik OK

12
MODUL KOMUNIKASI DATA I

3. Maka akan muncul icon berikut pada toolbar sebelah kiri

Kemudian setelah itu buatlah 2 button untuk menyalakan LED dan 1 MSComm pada form
Visual Basic, contohnya seperti berikut :

Caption dan Name dapat diubah sesuai keinginan pengguna.


Caption untuk memberi nama label dan hanya sebagai tampilan.
! Name untuk memberi nama variabel, misalnya untuk button 1 yaitu tombolON.
Variabel ini nantinya yang akan kita pakai pada program untuk kita panggil atau
sebut.

13
MODUL KOMUNIKASI DATA I

Code
TIPS !
(Visual
Dapat juga dimunculkan
Basic)
dengan melakukan klik
2x pada button ON

Dapat juga dimunculkan


dengan melakukan klik
2x pada button OFF

Dapat juga dimunculkan


dengan melakukan klik
2x pada form

Dapat juga dimunculkan


dengan melakukan klik
2x pada form, kemudian
ubah Load (pada kanan
atas) lalu pilih Unload

Untuk dapat melakukan koneksi serial, setting port antara Arduino dan Visual
! Basic harus sama.

Port dapat diketahui dari Arduino IDE dengan klik Tools kemudian pilih Port, atau dapat pula
diketahui dari Device Manager pada PC. Misalnya port yang kita gunakan adalah COM3,
maka kita harus melakukan setting port di Visual Basic pada MSComm. Pada properties
MSComm, terdapat CommPort sebagai berikut.

Ketik port yang


digunakan pada
CommPort

14
MODUL KOMUNIKASI DATA I

Pada bab sebelumnya kita sudah mengetahui adanya konfigurasi pada komunikasi serial,
yaitu baudrate, jumlah data dalam paket, parity, dan stop bit. Pada Visual Basic pun
terdapat konfigurasi tersebut yaitu pada MSComm.

Artinya :
Baudrate = 9600
Data = 8
Parity = N (None)
Stop bit = 1

Untuk dapat melakukan koneksi serial, Konfigurasi serial pada Arduino dengan
! Visual Basic harus sama

Karena pada program arduino yang sebelumnya sudah dibuat pada tutorial ini hanya
menggunakan syntax dengan keterangan baud rate speed seperti berikut,

Serial.begin(9600)

maka setting konfigurasi yang akan berjalan adalah SERIAL_8N1 yang merupakan default
setting.

Execute 1. Upload program pada arduino terlebih dahulu, tunggu hingga berhasil
2. Run program pada Visual Basic
3. Uji coba dengan klik button On pada Visual Basic untuk menyalakan lampu,
kemudian perhatikan LED pada pin 13 Arduino board
4. Uji coba dengan klik button Off pada Visual Basic untuk menyalakan lampu,
kemudian perhatikan LED pada pin 13 Arduino board

15
MODUL KOMUNIKASI DATA I

PENJELASAN

Pada code tersebut, apabila tombolOn (nama variabel command button 1) diberi aksi klik
maka akan mengirim data “1” , sedangkan apabila tombolOn (nama variabel command button
2) diberi aksi klik maka akan mengirim data “0”. “1” atau “0” ini merupakan protokol yang
melambangkan bahwa 1 adalah aktif, sedangkan 0 adalah non aktif. Kita dapat mengubah
kode protokol, misalnya A untuk aktif, dan N untuk nonaktif, atau kode lainnya. Namun perlu
diingat bahwa protokol merupakan aturan atau set yang disepakati oleh pengirim dan
penerima untuk berkomunikasi data. Maka penerima, yaitu pada tutorial ini arduino, harus
memahami bahwa kode untuk mengaktifkan adalah “1” dan untuk menonaktifkan adalah “0”.

Code tersebut berlaku untuk fungsi form (tampilan layar) apabila sedang melakukan aksi load
(sedang muncul). Arti dari kode tersebut adalah apabila pernyataan ‘port MSComm terbuka’
itu salah (port MSComm masih tertutup), maka buat port MSComm menjadi terbuka. Atau
singkatnya apabila pintu jalur masih dalam keadaan tertutup, maka harus dibuka sehingga
jalur dapat digunakan sebagai penghubung komunikasi. Kemudian, kirimkan data “0”. Ini
artinya bahwa pada saat kita melakukan Run dan layar muncul maka kita mengirimkan kode
0 yang sudah disepakati sebelumnya bahwa kode tersebut adalah untuk menonaktifkan
lampu LED pada arduino. Maka pada kondisi awal lampu LED pada arduino akan mati.

Maka apabila form beraksi unload (tidak muncul), misalnya dikarenakan exit program. Maka
port akan dicek, apabila port masih terbuka, maka tutup port. Artinya komunikasi berakhir dan
pintu jalur ditutup.

16
MODUL KOMUNIKASI DATA I

TUTORIAL 3
APLIKASI CHAT ANTAR PC DENGAN RS485
03
Parsing Data

Kata Parsing (parse) berasal dari Bahasa inggris yang memiliki arti mengurai. Maka, parsing
data adalah suatu kegiatan untuk mengurai suatu data.

Berikut contoh kasus parsing data. Misalnya kita sebagai PC 1 ingin mengirim pesan “hai”
kepada PC 2. Pertama – tama kita tentukan terlebih dahulu kode protokol antara PC 1 dan
PC 2 yang akan berkomunikasi, contohnya memiliki karakter “*” di awal, dan karakter “#” di
akhir. Hal ini digunakan agar setiap pesan dengan ciri – ciri tersebut hanya dapat diterima
oleh kedua device / PC tersebut sehingga isi pesan lebih aman. Kemudian kita tentukan nama
alamat, misalnya PC 1 yaitu 1 dan PC 2 yaitu 2.

Maka data yg dikirimkan dan diterima akan memuat parameter - parameter tersebut. Data –
data tersebut kita gabungkan (concate) menjadi sebuah paket berupa string saat akan
dikirimkan.

* 1 2 h a i #

Setelah itu penerima yang menerima paket data tersebut melakukan parsing yaitu
pemisahan data. Data tersebut dipisah menjadi :
 *
 1 (source)
 2 (destination)
 hai
 #

Pertama – tama dilakukan pengecekan apakah kode awal dan akhir karakter yaitu harus
menggunakan “*” dan “#” sudah sesuai? Kemudian pengecekan apakah benar alamat
tujuan paket tersebut ditujukan kepada alamat kita yaitu “2” yaitu PC 2. Kita juga dapat
mengetahui pengirim paket tersebut yaitu “1” yaitu PC 1. Maka isi pesan berupa “hai”
tersebut dan pengirim dapat kita tampilkan ke interface :

17
MODUL KOMUNIKASI DATA I

From PC 1 : hai

SEND Type here

RS-485

RS-485 adalah protokol komunikasi serial asinkron yang tidak memerlukan pulsa clock.
Komunikasi ini menggunakan teknik yang disebut sinyal diferensial untuk mentransfer data
biner dari satu perangkat ke perangkat lainnya.

Metode sinyal diferensial bekerja dengan membuat tegangan diferensial dengan


menggunakan 5V positif dan negatif. Ini menyediakan komunikasi Half-Duplex saat
menggunakan dua kabel dan Full-Duplex membutuhkan 4 kabel merangkak .

Ketika kita ingin menghubungkan PC atau microcontroller dengan sebuah microcontroller kita
bisa menggunakan RS232 , tapi jika kita ingin menghubungkan PC dengan banyak
microcontroller maka RS232 tidak bisa digunakan. Untuk menghubungkan PC dengan lebih
dari 1 microcontroller kita perlu menggunakan RS485.

Kelebihan RS485 dibandingkan RS232


 Bisa menghubungkan 1 master dengan 32 slave.
 Kecepatan data bisa sampai 1 mbps
 Maksimal panjang kabel data 1200 meter.

Rangkaian dan pemrograman RS485 relatif sederhana sehingga banyak digunakan untuk
pengontrolan dan monitoring untuk di rumah atau industri.

RS485 pinout DB9

18
MODUL KOMUNIKASI DATA I

Pinout Koneksi pada DB9 dan DB25

Kecepatan Transfer Data terhadap Panjang Kabel

19
MODUL KOMUNIKASI DATA I

Topologi Jaringan

Sinyal Grounding

20
MODUL KOMUNIKASI DATA I

PRAKTIKUM 3

Pada tutorial 3 akan dilakukan uji coba untuk membuat aplikasi program chat pada Visual
Basic antar PC dengan menggunakan RS485 sebagai media transmisi.

Hardware - RS485 USB

Software - Visual Basic

Interface

21
MODUL KOMUNIKASI DATA I

Code

Jangan lupa untuk melakukan setting Rthreshold menjadi 1 pada MSComm.

22
MODUL KOMUNIKASI DATA I

PENJELASAN

Variabel yang telah


dideklarasikan oleh
kita sebelumnya
dengan Dim As

Code tersebut merupakan parsing data. Len untuk mengetahui length / panjang karakter.
Fungsi Left untuk mengambil karakter pertama kiri, sebanyak jumlah karakter yang
diinginkan. Fungsi Mid untuk mengambil karakter pertengahan, mulai dari karakter ke berapa,
hingga karakter ke berapa. Fungsi Right untuk mengambil karakter pertama dari kanan,
sebanyak jumlah karakter yang diinginkan.

Code tersebut merupakan pengecekan bahwa apabila karakter awal dan akhir sudah sesuai
yaitu “*” dan “#” maka data dapat diproses ke tahap selanjutnya yaitu pengecekan alamat.
Dilakukan pengecekan alamat apakah alamat tujuan paket tersebut benar kepada alamat kita.

Pada code tersebut kita mendeklarasikan alamat PC kita sebagai “1”. Maka apabila alamat
paket benar, yaitu “1” dan “A” maka paket tersebut boleh kita terima. “A” merupakan
singkatan daril All yang telah disepakati bersama antara PC penerima dan pengirim. Apabila
paket tersebut beralamat “A” maka dapat diterima oleh semua alamat penerima yang
terhubung dan memiliki protokol yang sama.

Kemudian data hasil parsing yang merupakan source / pengirim akan ditampilkan pada
box List1 dengan menampilkan pengirim dan isi pesan.

23
MODUL KOMUNIKASI DATA I

Code tersebut untuk melakukan concate atau penggabungan. Hal ini dilakukan saat kita akan
mengirimkan paket data kepada PC lain yaitu dengan format “*” kemudian diikuti alamat PC
kita sebagai source / asal pengirim, kemudian destination / tujuan yang dapat diketik
sebelumnya pada interface (dinamis), kemudian isi pesan yang dapat diketik sebelumnya
pada interface (dinamis), dan diakhiri dengan karakter “#”.

24
MODUL KOMUNIKASI DATA I

TUTORIAL 4 04
RUNNING TEXT LCD

RS232

Fungsi dari serial port RS232 adalah untuk menghubungkan / koneksi dari perangkat yang
satu dengan perangkat yang lain, atau peralatan standar yang menyangkut komunikasi data
antara komputer dengan alat – alat pelengkap komputer. Perangkat lainnya itu seperti
modem, mouse, cash register, dll.

Standar ini menggunakan beberapa piranti dalam implementasinya. Paling umum yang
dipakai adalah plug / konektor DB9 atau DB25. Untuk RS232 dengan konektor DB9, biasanya
dipakai untuk mouse, modem, kasir register. Sedangkan DB25 biasanya dipakai untuk joystick
game.

25
MODUL KOMUNIKASI DATA I

Serial port RS232 pada konektor DB9 memiliki pin 9 buah dan pada konektor DB25 memiliki
pin 25 buah.

Pin Pin
Singkatan Keterangan Fungsi
DB25 DB9
2 3 TD Transmit Data Untuk pengiriman data serial (TDX)
3 2 RD Receive Data Untuk penerimaan data serial (RDX)
4 7 RTS Request to Send Sinyal untuk menginformasikan perangkat bahwa
UART siap melakukan pertukaran data
5 8 CTS Clear to Send Digunakan untuk memberitahukan bahwa perangkat
siap untuk melakukan pertukaran data
6 6 DSR Data Set Ready Memberitahukan UART bahwa perangkat siap untuk
melakukan pertukaran data
7 5 SG Signal Ground Dihubungkan ke ground
8 1 CD Carrier Detect Saat perangkat mendeteksi suatu carrier, dari
perangkat lain, maka sinyal ini akan diaktifkan
20 4 DTR Data Terminal Ready Untuk memberitahukan bahwa UART siap
melakukan pertukaran data
22 9 RI Ring Indikator Akan aktif jika ada sinyal masuk

Ada dua hal pokok yang diatur pada standar RS232, yaitu:
 Bentuk sinyal
 Level tegangan yang dipakai

Penentuan beberapa parameter yang ditetapkan EIA (Electronics Industry Association)


antara lain:
 Sebuah ‘spasi’ (logika 0) antara tegangan +3 s/d +25 volt
 Sebuah ‘tanda’ (logika 1) antara tegangan -3 s/d -25 volt
 Daerah tegangan antara +3 s/d -3 volt tidak didefenisikan
 Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan ground)
 Arus hubung singkat rangkaian tidak boleh lebih dari 500 mA.

Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami kerusakan.
Selain mendeskripsikan level tegangan seperti yang dibahas di atas, standard RS232
menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara DTE
dan DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal.
Sesuai dengan konektor yang sering dipakai dalam standard RS232, untuk sinyal yang
lengkap dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal
yang umum dipakai.

26
MODUL KOMUNIKASI DATA I

Sinyal-sinyal tersebut ada yang menuju ke DCE ada pula yang berasal dari DCE. Bagi sinyal
yang menuju ke DCE artinya DTE berfungsi sebagai output dan DCE berfungsi sebagai input,
misalnya sinyal TD, pada sisi DTE kaki TD adalah output, dan kaki ini dihubungkan ke kaki
TD pada DCE yang berfungsi sebagai input. Kebalikan sinyal TD adalah RD, sinyal ini berasal
dari DCE dan dihubungkan ke kaki RD pada DTE yang berfungsi sebagai output.

Perbedaan RS232, RS422, RS485

27
MODUL KOMUNIKASI DATA I

PRAKTIKUM 4

Pada tutorial 4 akan dilakukan uji coba menampilkan running text pada LCD panel dengan
menggunakan kabel serial.

Hardware - Kabel USB to Serial RS232


- Panel Kontrol LCD melalui Serial Port serta Stepper dan LED melalui
Parallel Port

28
MODUL KOMUNIKASI DATA I

Software - Visual Basic

Interface

Code

29
MODUL KOMUNIKASI DATA I

PENJELASAN

Apabila sebelumnya jalur koneksi dapat otomatis terbuka saat form muncul atau load, pada
kode kali ini jalur koneksi dapat terbuka apabila tombol Connect ditekan dan dapat tertutup
apabila tombol Disconnect ditekan.

Apabila tombol Start ditekan maka Label1 akan menampilkan data dari yang telah diketik
sebelumnya secara dinamis. Kemudian data tersebut juga akan dikirimkan keluar sebagai
output.

Apabila tombol Pause ditekan maka timer akan dinonaktifkan atau berhenti.

Apabila tombol Exit ditekan akan melakukan aksi unload atau menutup sesi.

Apabila tombol Reset ditekan maka akan menonaktifkan timer dan mengirim output berupa
karakter ASCII dengan decimal 12 yaitu FF (Form Feed). Form Feed merupakan spesial
karakter yang biasanya berfungsi sebagai next page atau halaman baru atau fungsi carriage
return.

30
MODUL KOMUNIKASI DATA I

Code tersebut dapat dipakai dan dimunculkan pada kode program, ataupun dapat hanya
dengan melakukan setting konfigurasi pada properties.

Code tersebut berfungsi untuk menghitung jumlah karakter dan kemudian membuat karakter
teks tersebut menjadi running dengan rumus i = i + 1 yang berfungsi untuk menggeser tiap 1
karakternya.

31
MODUL KOMUNIKASI DATA I

TUTORIAL 5
RUNNING LED
05
Port Paralel

Parallel port merupakan sebuah port pada personal computer yang berfungsi sebagai alat
komunikasi komputer (motherboard) dengan perangkat luar yang bersifat paralel. Pada port
paralel, pemindahan informasi dapat dilakukan secara bersamaan sehingga informasi yang
terkirim lebih banyak daripada port seri. Port paralel biasa dikenal dengan Printer Port atau
Centronics Port.

Fungsi port paralel adalah sebagai penghubung motherboard dengan Printer jenis lama, Zip
drive, beberapa Scanner, Sound Cards, Web Cams, Gamepads, Joystick, pemrograman
EPROM, peralatan SCSI melalui adapter paralel ke SCSI, percobaan dengan TTL 12 driver,
dan External CD-R atau CD-RW. Selain itu, port paralel juga digunakan sebagi uji coba
sederhana dalam perancangan peralatan elektronika.

Parallel adalah sistem pengiriman data digital, dimana beberapa bit data dikirim sekaligus
pada satu saat dengan menggunakan jalur terpisah. Jadi port paralel adalah salah satu jenis
soket pada personal komputer untuk berkomunikasi dengan peralatan luar untuk mengirim
data digital seperti printer model lama. Karena itu parallel port sering juga disebut printer port.
Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga disebut
dengan Centronics port. Kesederhanaan port ini dari sisi pemrograman.

Kelebihan :
 Parallel mentransmisikan beberapa bit dalam 1 transmisi.
 Hal ini menyebabkan transmisi parallel lebih cepat dibanding transmisi serial.

Kekurangan :
 Dalam komunikasi parallel, karena transmisi dilakukan pada waktu yang sama, maka
dibutuhkan kabel lebih banyak.
 Karena banyaknya kabel yang digunakan, masalah gangguan elektromagnetik
menjadi lebih serius.

32
MODUL KOMUNIKASI DATA I

Nama
No Pin (DB-25) No Pin (36-pin) Arah Register-bit Inverted
Sinyal
1 1 *strobe In / out Control-0 Yes
2 2 Data0 Out Data-0 No
3 3 Data1 Out Data-1 No
4 4 Data2 Out Data-2 No
5 5 Data3 Out Data-3 No
6 6 Data4 Out Data-4 No
7 7 Data5 Out Data-5 No
8 8 Data6 Out Data-6 No
9 9 Data7 Out Data-7 No
10 10 *ack In Status-6 No
11 11 Busy In Status-7 Yes
12 12 Paper out In Status-5 No
13 13 Select In Status-4 No
14 14 Auto feed In / out Control-1 Yes
15 15,32 *Error In Status-3 No
16 16,31 *Init In / out Control-2 No
*Select
17 17,36 In / out Control-3 Yes
printer
18-25 18-30,33 GND – – –

Semua data, kontrol, dan status dari porta paralel berhubungan dengan register-register yang
ada di dalam komputer. Dengan mengakses langsung register-register tersebut, masukan dan
keluaran dari porta paralel dapat diatur. Register-register pada porta paralel adalah:
1. Register data
2. Register status
3. Register kontrol

Pada umumnya di komputer personal alamat dasar LPT1 adalah 0x378 (378 hexadecimal)
dan LPT2 adalah 0x278. Alamat dari ketiga register tersebut di atas dapat ditentukan dengan
menjumlahkan alamat dasar dari porta paralel dengan bilangan desimal tertentu. Misalnya
kita ingin mengakses register data dari porta paralel LPT1, alamat register datanya sama
dengan alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat register status sama dengan

33
MODUL KOMUNIKASI DATA I

alamat register dasar + 1 atau 0x379 dan alamat register kontrolnya sama dengan alamat
register dasar + 2 atau 0x37A. Hal tersebut berlaku juga pada LPT2.

Register LPT1 LPT2


Register data (alamat dasar + 0) 0x378 0x278
Register status (alamat dasar + 1) 0x379 0x279
Register kontrol (alamat dasar + 2) 0x37A 0x27A

PRAKTIKUM 5

Pada tutorial 4 akan dilakukan uji coba menampilkan running lampu LED panel dengan
menggunakan kabel paralel.

Hardware - Kabel USB type A to type B, Kabel Parallel


- Arduino Nano
- Panel Kontrol LCD melalui Serial Port serta Stepper dan LED melalui
Parallel Port

Software - Visual Basic

Interface

34
MODUL KOMUNIKASI DATA I

Code
(Arduino)

35
MODUL KOMUNIKASI DATA I

Code
(VB)

36
MODUL KOMUNIKASI DATA I

PENJELASAN

Command 1 :
Tombol Connect

Command 2 :
Tombol Disconnect

Command 3 :
Tombol Start

Tombol connect berfungsi untuk membuka port koneksi, sedangkan tombol disconnect untuk
menutup port koneksi. Tombol Start berfungsi mengirimkan data output berupa “ok” kepada
arduino sebagai kode yang nantinya merupakan proses pada arduino.

37
MODUL KOMUNIKASI DATA I

Input yang masuk dari luar dinyatakan dengan nama variabel “data”. Apabila input yang
masuk tersebut (pada kasus ini dari arduino) bernilai 3, maka akan diproses sebagai kode
untuk mengubah warna Shape1. Apabila bernilai 2, maka akan diproses sebagai kode untuk
mengubah warna Shape2, dan seterusnya. Shape berbentuk lingkaran tersebut sebagai
indikator lampu mana yang sedang menyala.

Arduino menggunakan fungsi Serial.readString untuk membaca apakah ada data berupa
string pada serial. Apabila terbaca ada string “ok” yang dikirimkan sebelumnya oleh Visual
Basic, maka arduino akan mengaktifkan lampu selama 1 detik secara berurutan hingga lampu
terakhir. Selain mengaktifkan lampu, arduino juga mengirimkan kode berupa huruf untuk
memastikan bahwa arduino sudah menjalankan tugasnya untuk menyalakan lampu tersebut.
Kode tersebut dibaca oleh Visual Basic dan kemudian mengubah warna lampu pada interface
sebagai indikator lampu panel yang sedang menyala.

38
MODUL KOMUNIKASI DATA I

TUTORIAL 6
MOTOR STEPPER
06
PRAKTIKUM 6

Pada tutorial 6 akan dilakukan uji coba mengaktifkan motor stepper dengan menggunakan
kabel paralel.

Hardware - Kabel USB type A to type B, Kabel Parallel


- Arduino Nano
- Panel Kontrol LCD melalui Serial Port serta Stepper dan LED melalui
Parallel Port

Software - Visual Basic

Interface

39
MODUL KOMUNIKASI DATA I

Code
(VB)

40
MODUL KOMUNIKASI DATA I

Code
(Arduino)

PENJELASAN

Variabel a merupakan batas maksimum bagi Timer1 untuk berhenti. Untuk dapat bergerak,
pin stepper harus diaktifkan secara berurutan dan berulang – ulang. Terdapat 4 pin, maka
akan terdapat 4 kondisi yaitu saat pin ke-1 (8) aktif, pin ke-2 (6), pin ke-3 (7) aktif, dan pin ke-
4 (9) aktif. Variabel x mewakili sebagai keempat kondisi tersebut. Dan akan terus bertambah,
dengan rumus x = x + 1. Namun apabila mencapai x = 5, dimana tentu saja tidak ada kondisi
ke 5, maka setiap x = 5 merupakan x = 0. Sehingga dapat kembali berlanjut melakukan
looping. Variabel b akan terus menghitung sejak awal hingga mencapai batas, yaitu sebesar
variabel a. Maka apabila telah mencapai batas, dimana b = a, maka Timer1 akan berhenti.

Pada setiap kondisi x baik kondisi 1 – 4, kita mengubah warna Shape berbentuk lingkaran
pada interface yang menggambarkan indikator lampu. Kondisi x = 1 akan mengaktifkan lampu
1, kondisi x = 2 mengaktifkan lampu 2, dst. Selain mengaktifkan lampu, Visual Basic juga
mengirimkan data output berupa kode yaitu “1” , “2”, “4”, “8”. Pemilihan angka tersebut
dikarenakan melambangkan angka biner 0001, 0010, 0100, 1000 sebagai 4 lampu. Kode
tersebut dapat diubah sesuai keinginan pengguna. Kode tersebut nantinya akan diterima oleh
arduino untuk menjalankan kondisi 1 – 4 dengan mengaktifkan pin 8 / 6 / 7 / 9.

41
MODUL KOMUNIKASI DATA I

Dengan Serial.available, arduino akan membaca apabila terdapat data yang masuk dan
terbaca pada Serial Monitor. Hanya data yang berupa integer yang akan diambil oleh
Serial.parseInt dan dinyatakan dalam variabel “data”. Data yang berupa kode tersebut akan
diartikan oleh arduino untuk mengaktifkan pin – pin pada stepper secara berurutan dan
berulang sehingga motor stepper dapat bergerak.

42

Anda mungkin juga menyukai