Bilangan BCD dan Bilangan Desimal dalam Pemrogramman PLC

By | 04/02/2019

Artikel ini membahas tentang bilangan biner, desimal dan Bilangan BCD (Binary Code Decimal) dalam pemrogramman PLC. Dimana ke dua bilangan tersebut kadang masih membuat bingung teman – teman yang baru belajar PLC. Oleh karena itu, jagootomasi.com akan coba untuk membahas dengan bahasa dan ilustrasi yang semudah mungkin untuk dapat dipahami.

BUKA PANDUAN LENGKAP PLC DASAR OMRON

Baca juga : Pemrogramman Counter pada PLC

Sebenarnya artikel tentang bilangan desimal dan BCD sudah pernah disinggung dalam tulisan “Bilangan dan data pada PLC” dan “ konversi bilangan pada pemrogramman PLC”. Namun beberapa kali dalam diskusi di dunia maya lewat social media atau chat WA, masih banyak teman – teman yang sedang belajar PLC untuk level pengolahan data masih belum memahami secara gamblang.

Oke kita mulai dari bilangan desimal itu sendiri, apa yang menjadi ciri utama bilangan desimal? Bilangan desimal itu dari kata Deci, yang kurang lebih mirip – mirip artinya dengan 10. Dinamakan decimal karena bilangan itu akan berulang setiap kali hitungan ke 10. Coba anda hitung, 1-2-3-4-5-6-7-8-9, setelah 9 akan kembali menjadi 0 kan? Enggak kok, setelah 9 kan 10…

Nah, ini lah step berikutnya setelah perulangan hitungan, yaitu digit kepangkatan. Bahwa setiap bilangan yang sudah mencapai hitungan mentok, maka akan kembali ke nol tapi bukan sia – sia. Kembalinya ke nol itu akan digunakan untuk menaikkan pangkat di atasnya. Setiap level pangkat dari pangkat terendah (0) umumnya kita sebut dengan Satuan (100), lalu lebih tinggi (1) kita sebut dengan Puluhan (101), lebih tinggi lagi (2) kita sebut dengan Ratusan (102) dan seterusnya. Maka kira – kira beginilah susunan bilangan desimal tersebut :

Maka dapat kita lihat, pada level Puluhan, angka 0 akan berulang 10 kali sebelum berubah menjadi 1, begitu juga 1 akan berubah menjadi 2 setelah berulang 10 kali. Sekarang kita lihat pada level Ratusan, angka 0 berulangnya 100 kali sebelum menjadi 1. Memang tidak ditulis semua dalam tabel itu, nanti akan terlalu panjang, yang penting maksudnya bisa ditangkap. Lalu cara membacanya pun tinggal kita jumlahkan bukan? Misalnya 32 ya akan dibaca tiga puluhan dua satuan, atau tiga puluh dua. Contoh lain 542 maka akan kita baca lima ratus empat puluh dua.

 

Binary

Dengan cara berpikir yang sama, mari kita pahamai bilangan Binary, apa itu binary? Coba tebak apa itu Bi? Ya betul, Bi itu identik dengan 2. Itulah kenapa bilangan binary adalah yang berulang setiap kali selesai 2 hitungan (dikit banget ya…). Kenapa hanya 2, karena binary asalnya dari logika sebuat bit yang nilainya kalau ga 0 ya 1, tuh kan cuma 2. Jadi isi dari setiap level di bilangan binary itu ya 0 dan 1. Level terendah adalah 20 kemudian di atasnya ada 21, 22, 23, dan seterusnya. Dengan pemahaman dua pangkat ini, maka pada binary tidak ada satuan, puluhan dan ratusan seperti halnya pada desimal, yang ada adalah 1, 2, 4, 8, 16, 32 dan seterusnya. Untuk memudahkan saat dibaca, maka nilai dari binary tersebut dapat kita jumlahkan pada yang bernilai 1 saja, sehingga kita mengenal angka desimal yang berasal dari data binary. Misalnya 0001 maka akan bernilai 1(dari 20) , atau 0010  akan bernilai 2 (dari 21), atau 0101 akan bernilai 5 (dari 22+20). Perhatikan gambar di bawah ini.

Gambar di atas adalah contoh binary yang menampilkan 8 bit (1 byte) yang kemudian diterjemahkan nilainya ke dalam bentuk desimal. Pada penggunaan 8 bit ini, nilai desimal tertinggi yang dapat dicapai adalah 255. Nilai desimal yang lebih tinggi dapat dicapai kalau jumlah bit ditambah. Misal kita gunakan 9 bit, maka bit ke 9 yang bernilai 28 akan membuat nilai maksimum menjadi 511, begitu seterusnya kalau kita naikkan jumlah bit menjadi 10 maka nilai maksimum akan menjadi 1023.

Dengan demikian, Binary decimal bukan lah angka yang tak terbatas seperti kalau kita melakukan perhitungan dengan desimal di kehidupan sehari – hari. Binary decimal memiliki batas, yaitu seberapa banyak jumlah bit yang digunakan. Beberapa PLC menggunakan paket pengolahan data setiap 8 bit (1 byte), maka nilai maksimum untuk 1 paket adalah 127. Beberapa PLC yang lain seperti Omron menggunakan paket 16 bit (1 word), maka nilai maksimum yang dapat dicapai adalah 65535. Itulah kenapa binary decimal oleh 1 word rentang perhitungannya hanya ada di 0 – 65535.

Binari decimal ini memiliki nilai yang selalu bulat, baik bulat positif maupun negative. Pada pemrogramman, nilai 16 bit ini digunakan sebagai Integer (INT) yang cakupannya antara -32768 hingga 32767 dan digunakan juga sebagai Unsigned Integer (UINT) yang cakupannya antara 0 hingga 65535. Di PLC Omron, data INT di awali dengan nilai + atau -, misalnya +125 atau -566, sedangkan UINT diawali dengan &, misalnya &24.

Untuk selanjutnya, tipe data/bilangan ini lah yang paling umum digunakan untuk pengolahan data dalam pemrogramman PLC. Semua data yang masuk ke dalam PLC baik melalui input digital, input analog maupun pulse selalu dalam bentuk Binary Desimal (BIN). Misalnya ada sebuah Analog to Digital Converter (ADC) yang mengonversi tegangan 0 – 5 V menjadi 0 – 4000, maka nilai 0 – 4000 yang masuk ke dalam PLC ini berbentuk binary decimal.

Baca Juga : Analog to Digital Converter

 

Binary Coded Decimal (BCD)

BCD adalah salah satu bentuk data yang sering digunakan dalam pemrogramman PLC.  BCD sebenarnya masih berkaitan dengan bilangan hexadecimal, yaitu bilangan kelipatan 16. Yaitu dengan urutan 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F. BCD adalah bilangan binary dan dikodekan agar memiliki tampilan seperti halnya decimal yang sesungguhnya. Sehingga pada BCD bilangan hitungan itu berhenti di nilai 9, karena decimal tidak mengenal A, B, C, D ,E dan F. Setiap angka digit yang tampilkan oleh BCD akan diwakili oleh 4 buat bit, sehingga jika PLC menggunakan pengolahan 16 bit maka data BCD yang dapat diolah adalah mulai dari 0000 hingga 9999. Pada PLC Omron nilai BCD ditandai dengan awalan #, dengan range 16 bit nya adalah #0000 hingga #9999. Untuk jumlah bit yang lebih besar misalnya 32 bit, maka nilai BCD yang dapat diolah adalah #00000000 hingga #99999999. Contoh penggunaan data BCD pada PLC Omron adalah saat pengaturan Timer dan Counter. Kita akan memasukkan TIM 0 #30. Angka #30  ini adalah bilangan BCD. Perhatikan gambar di bawah ini.

Perhatikan bagaimana setiap digit pada tampilan angka dikodekan dengan 4 buah bit. Jadi misalnya anda memiliki sebuah angka dengan 3 digit, maka yang diperlukan adalah 12 bit. Contohnya nilai 367 akan dipecah menjadi 3 digit berbeda. Jika ditinjau dari kiri (Digit terendah), maka :

  • Digit terendah akan menampilkan nilai 7, dengan kode biner 0111
  • Digit ke dua akan menampilkan nilai 6, dengan kode biner 0110
  • Digit ke tiga akan menampilkan nilai 3, dengan kode biner 0011
  • Digit ke empat akan menampilkan nilai 0, dengan kode biner 0000

Maka nilai biner untuk 367 BCD adalah 0000 0011 0110 0111.

BCD lebih sering digunakan untuk membantu untuk memudahkan dalam menampilkan angka dari output PLC ke display atau lebih sering disebut dengan BCD Output, contohnya pengendalian nilai nyala 7 segment dengan decoder 4 bit. 1 digit 7 segmen akan diwaliki dikontrol tampilannya dengan 4 bit data digital, sehingga dalam 1 word yang berisi 16 bit dapat digunakan untuk menampilkan 4 digit 7 segment. Perhatikan gambar di bawah ini.

Sebagai contoh, jika ingin menampilkan digit dengan nilai 2348 melalui output PLC, maka nilai BCD yang harus dikirim ke Channel Output tersebut adalah #2348 atau berbentuk 0010 0011 0100 1000.

BCD juga memiliki perangkat input atau dikenal dengan BCD input, contohnya memasukkan angka ke dalam PLC melalui Tumbwheel Switch. Angka yang tampil pada thumbwheel akan dikodekan dalam bentuk biner. Misal thumbwheel menampilkan angka 8 pada digit paling kanan (terendah) sementara digit yang lain nol, maka data yang akan terisi adalah 0000 0000 0000 1000. Ingat, data yang masuk ke dalam input PLC tetap akan dibaca sebagai binary desimal, untuk nilai ini adalah 8.

 

Tapi kalau  yang kita masukkan ke dalam thumbwheel adalah 10, maka nilai yang masuk ke input PLC adalah 0000 0000 0001 0000. Di sini akan ada perbendaan antara persepsi kita yang melihat nilai Thumbwheel (BCD Input) dengan data yang masuk ke dalam PLC (Binary Decimal), sehingga nilai yang masuk adalah 16. Agar data yang masuk ke PLC tetap bernilai 16, diperlukan perintah konversi BIN to BCD pada program PLC. Jadi bisa dipahami perbedaan mendasar antara BIN dan BCD adalah pada cara mengubah digit biner menjadi desimal. Pada BIN semua bit dijumlahkan, sedangkan pada BCD masing – masing dikelompokkan per 4 bit yang mewakili satuan, puluhan, ratusan dan ribuan.

Sampai di sini semoga penjelasan dan ilustrasi di atas dapat memberikan pemahaman yang lebih dalam menggunakan data pada pemrogramman PLC.

One thought on “Bilangan BCD dan Bilangan Desimal dalam Pemrogramman PLC

  1. Drat Royan

    Wow…..pemahaman yg simple untuk membaca binary ke bcd
    Cukup kita apalin data binary 0 s/d 9 sdh bisa baca data bcd yg ratusan
    Mantap

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *