• Tidak ada hasil yang ditemukan

SISTEM MONITORING JUMLAH PENUMPANG BUS BERBASIS MIKROKONTROLER AT89S51

N/A
N/A
Protected

Academic year: 2019

Membagikan "SISTEM MONITORING JUMLAH PENUMPANG BUS BERBASIS MIKROKONTROLER AT89S51"

Copied!
117
0
0

Teks penuh

(1)

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat

Memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

Fakultas Teknik Universitas Sanata Dharma

VIRGINIA DEWI RAMBUNG

NIM : 00 5114 095

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

FINAL PROJECT

In partial fulfillment of the requirements

for the Degree SARJANA TEKNIK

Electrical Engineering Study Program

VIRGINIA DEWI RAMBUNG

00 5114 095

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

ENGINEERING FACULTY

SANATA DHARMA UNIVERSITY

(3)
(4)
(5)

“ Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam daftar pustaka, sebagai layaknya suatu karya ilmiah.”

Yogyakarta, Februari 2007

Penulis

(6)

Sidere Mens Eadem Mutato

Star Mind Although Change

Walaupun bintang-bintang berubah tetapi buah pikiran dalam

skripsi ini tidak berubah

Non Scholae Sed Vitae Discimus

Kita belajar bukan demi sekolah melainkan demi kehidupan

This Thesis is dedicated to:

Bapeng, Didi, Kak Ryan,Kak Charles,

Bang Vicki and My Lovely Checa .

“Having you all is the greatest gift that God has given to me”

(7)

pemilik kendaraan dengan busnya. Mode monitoring menggunakan kabel dengan informasi yang dikirim dan diterima mengenai kapasitas penumpang pada bus.

Alat ini terbagi atas dua bagian yaitu monitoring pada bus dan monitoring pada pol. Monitoring pada bus terdiri atas 3 bagian yaitu piranti masukan dari sensor, sebuah piranti pemroses mikrokontroler AT89S51 dan piranti keluarannya berupa tampilan seven segment dua digit sedangkan monitoring pada pol terdiri atas sebuah piranti pemroses mikrokontroler AT89S51 dan piranti keluaran berupa tampilan seven segment empat digit. Pada saat alat dijalankan, setiap ada penumpang yang naik maka data di bus dan data di pol akan bertambah satu. Sedangkan jika ada penumpang yang turun maka data di bus akan berkurang satu tetapi data jumlah penumpang yang ada di pol tidak berubah.

Data maksimum dalam bus 60 penumpang dan data maksimum untuk sistem

monitoring di pol 9.999 penumpang dalam satu hari yang akan ditampilkan di seven segment.

Kata kunci : Monitoring, Tampilan Seven Segment, Aplikasi Mikrokontroler AT89S51

(8)

through remote monitoring between the bus owner and his bus. The monitoring mode is by using cables with information which is sent and which is received about the passenger capacity of the bus.

This device is divided in two parts, i.e. monitoring device on the bus and monitoring device at the pool. The monitoring device on the bus consists of three parts; they are: input software of sensor, a processor software of AT89S51 Microcontroller and output software in the seven segment two digit display; while the monitoring device at the pool consists of the one processor software AT89S51 Microcontroller and the output is in the form of seven segment four digit display. When the device is being operated, whenever there is one passenger who is getting on board (on the bus) then the data in the bus and in the pool is added by one. On the other hand, a different case will happen that when one passenger is getting of the bus then data in the bus will be reduced by one, but the data about the number of passenger in the pool does not change.

The maximum data in a bus with 60 passengers and the maximum data for passengers monitoring system in the pool 9.999 passengers in one day will be displayed in the seven segment .

Key Words: Monitoring, Seven Segment Display, AT89S51 Microcontroller Application

(9)

sekaligus menyenangkan ini. Tugas akhir ini merupakan salah satu syarat bagi penulis untuk meraih gelar Sarjana Teknik pada Jurusan Teknik Elektro, Fakultas Teknik, Universitas Sanata Dharma. Penulisan skripsi ini didasarkan pada apa yang penulis peroleh, mulai dari studi literatur, perancangan, simulasi program pada komputer dengan

software Pinnacle, pembuatan alat sampai pada pengujian alat yang diajukan dan juga kemungkinan pengembangannya.

Pada kesempatan ini, tak lupa penulis ingin mengucapkan limpah terima kasih kepada semua pihak yang telah banyak membantu penulis, antara lain kepada:

1. Jesus Christ, menara dan bentengku. Thanks for guiding me in every step of my life and my journey, thanks for giving me blessing and unconditional love.

2. Bunda Maria…It’s so nice to have someone who always gonna be there for me. Thanks for being that person. Thanks also for listening me.

3. Bapak Ir. Iswanjono, MT (selaku dosen pembimbing I) dan juga Bapak Damar Wijaya, ST, MT (selaku dosen pembimbing II) atas segala bantuan, saran, ide, pemikiran dari awal hingga selesainya Tugas Akhir ini.

4. Seluruh jajaran dosen Elektro, laboran, semua staf dan karyawan yang telah banyak membantu penulis selama menjadi mahasiswa. Terimakasih juga karena bersedia meminjamkan beberapa perangkat kepada penulis.

5. Bapeng, Didi, Kak Ryan, dan Kak Charles.Thanks for funding my education and my life until now. I won’t be here if there are no you. Thanks for all.

6. Yang_Vicky@Tuing_tuing, thanks for your love, your great cares and excellent support. I’m so sorry if I always hurt you. But you must trust me, you are the one that I love and that I need.You are so special in my heart.

7. My first Checa. Thanks for your life in my life.You make me feeling almost perfect.

8. In memorian : NB and NM2. If you’re able to see me now, you must be proud to me.

(10)

last forever!

11. My old friends and my true friends: Ria Hitachi, Defa, Susan, Lilis, Eva, Tomycho, Tin, Indah, Dida, Yani, Yuyun and so many of you whatever you are. 12. Teman-teman #1 AP Dancer: Come one, guys…!!!Thanks for your attention in

my life.Go…go..go..and shake the world with your move!

13. Rekan-rekan kuliahku : Maknyak Eny dan Onsa, Elcy, Nika, Lucky, Wahyu W, Marsel, Iung, Agus, Titus, Danang, Bowo, Maya, and all electro-mate. I love all the times with you, guys!

14. Teman-teman Kost Wisma Putri Mawar especially Tina. Thanks for all joyful and madness. Do your best, gals! Trust you heart and fight for your dreams!

Penulis menyadari bahwa dalam skripsi ini masih terdapat banyak kekurangan, oleh karena itu segala kritik, saran dan koreksi yang membangun akan penulis terima dengan senang hati. Terima kasih!

Yogyakarta, Februari 2007 Penulis

(11)

LEMBAR PENGESAHAN PEMBIMBING ... iii

LEMBAR PENGESAHAN PENGUJI ... iv

LEMBAR PERNYATAAN KEASLIAN KARYA... v

HALAMAN PERSEMBAHAN DAN MOTO HIDUP... vi

INTISARI ... vii

ABSTRACT... viii

KATA PENGANTAR ... ix

DAFTAR ISI... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL... xiv

DAFTAR LAMPIRAN... xv

BAB I. PENDAHULUAN 1.1. Judul... 1

1.2. Latar Belakang Masalah ... 1

1.3. Tujuan dan Manfaat ... 2

1.4. Batasan Masalah ... 2

1.5. Metodologi Penelitian ... 3

BAB II. DASAR TEORI 2.1. Mikrokontroler AT89S51 ... 4

2.1.1. Timer dan Counter dalam Mikrokontroler AT89S51 ... 4

2.1.1.1. Timer Mode Register (TMOD) ... 5

2.1.1.2. Timer Control Register Timer 0 dan 1 ... 6

2.1.1.3. THx dan TLx... 6

2.1.2. Komunikasi Serial... 7

2.1.2.1. Pengertian dan fungsi komunikasi serial ... 7

2.1.2.2. Mode Komunikasi Serial ... 8

2.1.2.3. 8-Bit Shift Register (Mode 0) ... 9

2.1.2.4. 8-Bit UART (Mode 1) ... 10

(12)

2.1.2.7. Baud Rate Komunikasi Serial ... 12

2.2. Sensor... 13

2.2.1. Infrared Emitting Diode ... 13

2.2.2. Sensor Fototransistor ... 14

2.2.3. Pengkondisi Sinyal... 16

2.3. Display atau Alat Penampil ... 17

2.3.1. LED (Light Emitting Diode)... 17

2.3.2. Rangkaian Penampil Seven Segment... 18

2.3.3. BCD to Seven Segment Decoder... 20

BAB III. RANCANGAN PENELITIAN 3.1. Perancangan Perngkat Keras... 21

3.1.1. Alat Monitoring Pada Bus ... 22

3.1.2. Alat Monitoring Pada Pol ... 24

3.2. Perancangan Perangkat Lunak ... 25

3.2.1. Perangkat Lunak Pada Alat Monitor di Bus ... 25

3.2.2. Perangkat Lunak Pada Penerimaan di Pol ... 28

BAB IV. PEMBAHASAN 4.1. Pembahasan Pada Alat ... 33

4.2. Pembahasan Pada Sensor ... 34

4.3. Pembahasan Pada Mikrokontroler ... 36

4.4. Pembahasan Pada Komunikasi Serial ... 38

BAB V. KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 40

5.2. Saran ... 40

DAFTAR PUSTAKA ... 41 LAMPIRAN

(13)

Gambar 2.2. Register TCON... 6

Gambar 2.3. Diagram Blok Serial Port... 8

Gambar 2.4. Serial Port Transmit Timming ... 10

Gambar 2.5. Serial Port Receive Timming... 10

Gambar 2.6. Pengiriman Data Mode 1 ... 11

Gambar 2.7. Rangkaian Dioda Infrared... 13

Gambar 2.8. Skema fototransistor ... 14

Gambar 2.9. Simbol fototransitor ... 15

Gambar 2.10. Rangkaian dasar fototransistor... 15

Gambar 2.11. Transistor penguat... 16

Gambar 2.12. Schmitt Trigger... 17

Gambar 2.13. LED... 17

Gambar 2.14. Rangkaian guna menyalakan LED... 18

Gambar 2.15. Untai common anode dan common catode... 19

Gambar 2.16. Penampil seven segment... 19

Gambar 3.1. Diagram Blok Alat Monitoring Pada Bus... 21

Gambar 3.2. Diagram Blok Alat Monitoring Pada Pol... 21

Gambar 3.3. Rangkaian Sensor Pada Bus... 22

Gambar 3.4. Rangkaian Penampil Pada bus ... 24

Gambar 3.5. Rangkaian Penampil Pada Pol ... 25

Gambar 3.6. Diagram alir Monitoring Pada Bus ... 26

Gambar 3.7. Program Utama Alat Monitoring Pada Pol ... 29

Gambar 3.8. Rutin Interupsi Serial ... 30

Gambar 4.1. Kenaikan Jumlah Penumpang di Bus ... 33

Gambar 4.2. Kenaikan Jumlah Penumpang di Pol ... 33

Gambar 4.3. Test Point Pada Rangkaian Sensor Penumpang Masuk... 35

Gambar 4.4. Hasil akhir alat ... 37

Gambar 4.5. Sinyal Komunikasi Serial ... 38

(14)

Tabel 2.1. Mode operasi pemilih Timer/counter AT89S51 ... 5

Tabel 2.2. Register SCON ... 7

Tabel 2.3. Mode Komunikasi Serial ... 9

Tabel 2.4. Baud Rate Komunikasi Serial... 13

Tabel 2.5. Kebenaran Seven Segment... 20

Tabel 4.1. Hasil Counter Up/ Down di Bus dan di Pol... 34

Tabel 4.2 Hasil Pengukuran Tegangan dan Perhitungan Error pada Rangkaian Sensor Penumpang Masuk………... 35

(15)

Lampiran 2. Hasil Compile Program Pada Pol ... L2 Lampiran 3. Gambar Rangkaian Pada Bus ... L3 Lampiran 4. Gambar Rangkaian Penerima di Pol ... L4 Lampiran 5. Data-sheet AT89S51 ... L5 Lampiran 6. Data-sheet SN74lS47 ... L33 Lampiran 7. Data-sheetSeven Segment... L47 Lampiran 7. Data-sheetMM74HC14... L56

(16)

1.1 Judul

Sistem Monitoring Jumlah Penumpang Bus berbasis Mikrokontroler AT89S51.

(The Monitoring System on The Number of Bus Passengers Based on AT89S51 Microcontroller).

1.2 Latar Belakang Masalah

Perkembangan teknologi saat ini sangat pesat, hal ini dibuktikan dengan adanya berbagai temuan baru yang berfungsi untuk membantu dan mempermudah manusia dalam melaksanakan aktivitasnya sehari-hari. Salah satu pengembangan yang dilakukan saat ini adalah membuat sistem monitoring dari jarak jauh antara pemilik kendaraan dengan busnya. Dikembangkannya sistem ini karena belum adanya alat pengontrol penumpang bus, yang mengakibatkan pemilik atau pengelola bus kesulitan dalam mengontrol jumlah penumpang yang naik pada bus.

Mode monitoring menggunakan kabel dengan informasi yang dikirim dan diterima mengenai kapasitas penumpang pada bus. Penggunaan kabel sebagai media komunikasi karena pada tugas akhir ini masih merupakan prototype yang masih dapat dikembangkan lagi.

Sistem monitoring jumlah penumpang yang ada pada bus menggunakan mikrokontroler AT89S51 sebagai pengendali utamanya. Pada pintu naik dipasang

(17)

mendeteksi karcis tiap penumpang yang naik dan pada pintu turun dipasang

sensor infrared untuk mendeteksi banyaknya penumpang yang turun.

Dalam tugas akhir ini, dibuatlah suatu sistem monitoring jumlah penumpang bus berbasis mikrokontroler AT89S51.

1.3 Tujuan

Tujuan yang akan dicapai dari Sistem Monitoring Jumlah Penumpang Bus Berbasis mikrokontroler AT89S51 ini adalah menghasilkan suatu sistem yang dapat memberi informasi kepada pemilik atau pengelola bus, mengenai jumlah penumpang yang naik pada bus, sehingga mempermudah pengontrolan.

1.4 Batasan Masalah

a. Menggunakan Mikrokontroler AT89S51 sebagai pengendali utama. Menggunakan sensor infrared sebagai alat pendeteksi karcis dan penumpang yang turun. Seven segment dua digit digunakan sebagai penampil keluaran yang menampilkan jumlah penumpang pada bus.

b. Media transmisi yang digunakan adalah kabel dengan mode komunikasi satu arah (simplex).

c. Maksimum penumpang dalam bus enam puluh (60) orang dan maksimum penumpang untuk sistem monitoring pol 9.999 penumpang dalam satu hari yang akan ditampilkan di seven segment.

(18)

1.5 Metodologi Penelitian

Dalam perancangan alat ini, penelitian dilakukan dengan cara : 1. Studi literatur dan serangkaian percobaan di laboratorium. 2. Simulasi program pada komputer dengan softwarePinnacle. 3. Mempelajari cara kerja dan menganalisis rangkaian.

Sistematik tugas akhir ini adalah : BAB I PENDAHULUAN

Memuat latar belakang masalah, tujuan dan manfaat penelitian, batasan masalah dan metodologi penelitian.

BAB II DASAR TEORI

Memuat dasar teori untuk mendukung rancangan. BAB III PERANCANGAN

Memuat perancangan perangkat keras dan perangkat lunak beserta implementasinya.

BAB IV PEMBAHASAN

Memuat hasil pengamatan dan pembahasan. BAB V KESIMPULAN DAN SARAN

(19)

2.1 Mikrokontroler AT89S51

Mikrokontroler AT89S51 merupakan mikrokontroler buatan Atmel

yang menguasai teknologi pembuatan FPEROM (Flash Programmable and

Erasable Read Only Memory). FPEROM merupakan ROM (Read Only

Memory) yang dapat dihapus dan ditulis kembali dengan teknologi flash.

Kelebihan flash ini adalah mikrokontroler dapat menyimpan program secara

internal, dan tidak membutuhkan ROM eksternal. AT89S51 memiliki 4 kBytes

FPEROM, 256 Bytes RAM, 32 jalur I/O (Input/Output), dan dua 16-bit

timers/counters.

2.1.1. Timer dan Counter dalam Mikrokontroler AT89S51

Mikrokontroler AT89S51 dilengkapi dengan dua buah timer/counter,

yaitu timer 0 dan timer 1. Pencacah timer/counter AT89S51 merupakan

pencacah biner naik (count-up binary counter) yang mencacah dari 0000h

sampai FFFFh. Saat kondisi pencacah berubah dari FFFFh kembali ke 0000h

akan timbul sinyal limpahan (overflow).

Masing-masing timer juga dapat berfungsi sebagai counter. Pada saat

sebagai timer, register naik satu (increment) setiap satu siklus mesin. Pada saat

sebagai counter, register naik satu (increment) pada saat transisi dari 1 ke 0

dari masukan eksternal, T0 dan T1.

(20)

2.1.1.1 Timer Mode Register (TMOD)

Penggunaan register TMOD yang ditunjukkan pada Gambar 2.1 adalah

untuk mengatur kerja Timer 0 dan Timer 1.

Register TMOD terbagi atas dua yaitu, bit 0 sampai 3 (TMOD.0

sampai TMOD.3) untuk mangatur kerja Timer 0, sedangkan bit 4 sampai 7

(TMOD.4 sampai TMOD.7) untuk mengatur kerja Timer 1. Register TMOD

merupakan register yang tidak bit addressable. Bit addressable adalah suatu

blok ruang memori yang bisa teralamati setiap bit.

GATE C/T M1 MO GATE C/T M1 M0

Timer1 Timer 0

Gambar 2.1. Register TMOD

GATE: Jika GATE = 1, maka timer/counter “x” aktif bila pin INTx high dan pin TRx juga high.

Jika GATE = 0, maka timer/counter “x” aktif jika hanya pin TRx

high.

C/T : low untuk fungsi timer dan high untuk fungsi counter.

Tabel 2.1 Mode operasi pemilih Timer/counter AT89S51

M1 M0 MODE Operasi

0 0 0 Timer/counter 13-bit

0 1 1 Timer/counter 16-bit

1 0 2 Timer/counter 8-bit isi ulang (auto reload)

(21)

M1 dan M0: pemilih mode timer/counter (Mode 0 sampai Mode 3) yang konfigurasinya dapat dilihat pada tabel 2.1

2.1.1.2 TimerControlRegisterTimer 0 dan 1

TCON merupakan bit addressable sehingga bisa diatur setiap bitnya

(dengan instruksi SETB atau CLR). Register TCON yang ditunjukan pada

gambar 2.2, berisi pengaturan timer dan interupsi eksternal sekaligus dalam 1

byte.

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Timer Interupsi

Gambar 2.2. Register TCON

Jika dalam pemrograman tidak memakai interupsi eksternal, maka IE

dan IT dapat diabaikan (diset ‘0’).

TR1 dan TR0 : pengatur aktif dan nonaktif timer / counter.

TF1 dan TF0 : penampung bit limpahan (overflow) timer/counter. IE1 dan IE0 : tanda (flag) interupsi eksternal.

IT1 dan IT0 : menentukan pen-trigger-an interupsi eksternal.

2.1.1.3 THx dan TLx

Pengaksesan timer masing-masing memerlukan dua register 8-bit.

Timer 0 melalui TH0 (Timer 0 High Byte) dan TL0 (Timer 0 Low Byte),

sedangkan timer 1 melalui TH1 (Timer 1 High Byte) dan TL1 (Timer 1 Low

(22)

2.1.2 Komunikasi Serial

2.1.2.1 Pengertian dan fungsi komunikasi serial

Komunikasi serial pada mikrokontroler AT89S51 melalui dua kaki yaitu TXD dan RXD. Juga tersedia register yang khusus menangani

komunikasi serial yaitu special function register yang dinamakan SCON dan

SBUF.

SCON merupakan serial control register yang berada di alamat

memori 98H dan merupakan bit addressable register yang terdiri dari bit-bit

control dan status. Bit-bit control inilah yang mengendalikan mode operasi

komunikasi serial sedangkan bit-bit status merupakan indikator yang

menandakan suatu operasi pengiriman atau penerimaan data selesai dilakukan.

Adapun keterangan dari register SCON dapat dilihat pada tabel 2.2.

Tabel 2.2 Register SCON

BIT SIMBOL ADDRESS BIT DESCRIPTION

SCON.7 SM0 9FH Serial Port Mode Bit 0

SCON.6 SM1 9EH Serial Port Mode Bit 1

SCON.5 SM2 9DH Serial Port Mode Bit 2

SCON.4 REN 9CH Receive Enable

SCON.3 TB8 9BH Transmit Bit 8

SCON.2 RB8 9AH Receive Bit 8

SCON.1 TI 99H Transmit Interrupt Flag

SCON.0 RI 98H Transmit Interrupt Flag

SBUF merupakan serial buffer berada yang berada di alamat memori

(23)

sementara data yang akan dikirim melalui TXD (write only) dan register yang

menampung sementara data yang diterima melalui RXD (read only). Gambar

2.3 menunjukkan diagram blok serial port.

Gambar 2.3 Diagram Blok Serial Port.

2.1.2.2 Mode Komunikasi Serial

Mikrokontroler AT89S51 mempunyai on chip serial port yang dapat digunakan untuk komunikasi data serial secara full duplex, sehingga port serial

ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk

menampung data yang diterima atau data yang akan dikirimkan, AT89S51

mempunyai sebuah register, yaitu SBUF ( serial buffer ) yang terletak pada

alamat 99H. Register ini berfungsi sebagai buffer, sehingga pada saat

mikrokontroler ini membaca data yang pertama dan bila data kedua belum

diterima secara penuh, data ini tidak akan hilang.

Pada mikrokontroler AT89S51 terdapat 4 mode komunikasi serial.

Mode komunikasi serial ini ditentukan oleh bit SM0 dan SM1 yang terdapat

(24)

Tabel 2.3 Mode Komunikasi Serial

SM0 SM1 MODE DESCRIPTION BAUD RATE

0 0 0 Shift Register Tetap = 1/12×frekuensi osc

0 1 1 8 Bit UART Ditentukan dengan timer 1

1 0 2 9 Bit UART Tetap = 1/32(1/64)×frekuensi

osc

1 1 3 9 Bit UART Ditentukan dengan timer 1

2.1.2.3 8-Bit Shift Register (Mode 0)

Pada mode ini, pengiriman dan penerimaan data dilakukan melalui

kaki RXD, sedangkan kaki TXD digunakan sebagai keluaran shift clock.

Baud rate komunikasi pada mode ini tetap yaitu sebesar 1/12 dari frekuensi

on-chip oscillator.

Pengiriman data akan dilakukan begitu terjadi instruksi penulisan data

ke register SBUF. Data akan dikirim melalui RXD dengan pulsa clock akan

dikirim melalui TXD. Pada gambar 2.4., data sebesar satu bit dapat dibaca

dengan benar dalam rentang waktu satu machine cycle. Dalam satu machine

cycle, mikrokontroler akan membangkitkan satu shift clock (RND). Setiap satu

RND, satu bit data akan dikirim atau dibaca oleh mikrokontroler seperti

(25)

Gambar 2.4 Serial Port Transmit Timing.

Penerimaaan data akan dilakukan jika bit receiver enable (REN) di-set

high dan receive interrupt flag (RI) nonaktif (low).

Gambar 2.5 Serial Port Receive Timing.

2.1.2.4 8-Bit UART (Mode 1)

Pada mode 1, mikrokontroler AT89S51 beroperasi sebagai 8 bit

universal asynchronous receiver transmitter (UART) yang menerima dan

mengirim data melalui komunikasi serial dengan format data yang dimulai

dengan start bit dan diakhiri dengan stop bit. Baud rate komunikasi serial

pada mode ini di-set dengan timer 1overflow rate.

Pada mode ini, setiap pengiriman data dikirim 10 bit data melalui

(26)

bernilai 0), 8 bit data dan diakhiri dengan stop bit (selalu bernilai 1).

Pengiriman data akan dilakukan sesuai baud rate yang di-set. Begitu stop bit

dikirimkan maka transmit interrupt flag (TI) akan ter-set high. Ilustrasi

pengiriman data ini dapat dilihat pada gambar 2.6.

Gambar 2.6 Pengiriman Data Mode 1

Pada proses penerimaan,begitu suatu start bit terdeteksi, maka

penerimaan data dilanjutkan, register SBUF akan berisikan 8 data bit,

sedangkan stop bit akan disimpan di bit RB8 yang terdapat di register SCON.

Setelah itu receiver interrupt flag (RI) akan ter-set aktif. Perhitungan untuk

menentukan baudrate adalah sebagai berikut:

Baud rate =

)] 1 ( 256

[ TH

N

frequency oscillator

− (2.1)

2.1.2.5 9-Bit UART dengan Baud Rate Tetap (Mode 2)

(27)

Baud rate yang digunakan pada mode 2 ini tetap dengan nilainya yang

dipengaruhi oleh bit SMOD yang ada di register PCON (power control

register). Jika SMOD di-set high (logika 1), maka baud rate komunikasi serial

adalah 1/32 frekuensi on-chip oscillator. Sedangkan jika SMOD di-set low

(logika 0), maka baud rate komunikasi serial adalah 1/64 frekuensi on-chip

oscillator.

Pada saat pengiriman, data bit yang ke-9 disimpan di bit TB8 pada

SCON dan pada saat penerimaan data, bit yang ke-9 ini disimpan di bit RB8

pada SCON.

2.1.2.6 9-Bit UART dengan Baud Rate Bergantung Timer (Mode 3)

Mode 3 ini hampir sama dengan mode 2. Perbedaannya terletak pada

baud rate yang nilainya tidak tetap dan ditentukan oleh setting timer seperti

pada mode 1 komunikasi serial.

2.1.2.7 Baud Rate Komunikasi Serial

Baud rate komunikasi serial terdiri dari 2 jenis yaitu yang tetap dan

bervariasi sesuai setting timer 1. Pada tabel 2.4 ditunjukkan mode komunikasi

serial dan baud rate. Untuk komunikasi serial mode 1 dan 3, baud rate dapat

diatur. Sedangkan mode 0 dan 2, besarnya baud rate tergantung dari osilator

(28)

Tabel 2.4 Baud Rate Komunikasi Serial

MODE DESCRIPTION BAUD RATE

0 SMOD tidak berpengaruh Tetap = 1/12×frekuensi oscillator

2 SMOD = 0 (default) Tetap = 1/64×frekuensi oscillator

2 SMOD = 1 Tetap =1/32×frekuensi oscillator

1,3 SMOD = 0 (default) Variasi =Timer 1 Overflow Rate : 32

1,3 SMOD = 1 Variasi =Timer 1 Overflow Rate : 16

2.2 Sensor

Sensor berfungsi untuk memonitor dan menganalisis gejala yang terjadi

pada suatu benda.

2.2.1 Infrared Emitting Diode

Infrared emitting diode adalah dioda yang memancarkan sinar infrared.

Sinar infrared termasuk dalam gelombang elektromagnetik yang mempunyai

frekuensi dan panjang gelombang tertentu. Jika dioda infrared diberi tegangan

maju, maka dioda infrared akan ON seperti pada gambar 2.7 serta akan

mengeluarkan cahaya yang tak terlihat oleh mata.

(29)

Untuk mencari nilai RD pada rangkaian LED infrared digunakan persamaan

berikut:

D D D

I V Vcc

R = − (2.2)

dengan:

D

R adalah hambatan dioda

Vcc adalah tegangan catu daya

D

V adalah beda potensial diantara kaki-kaki dioda

D

I adalah arus yang melalui dioda

2.2.2 Sensor Fototransistor

Sensor phototransistor adalah suatu piranti semikonduktor yang peka

terhadap cahaya. Daerah basis dapat dimasuki sinar dari luar melalui suatu

celah transparan dari luar kemasan transistor. Celah ini biasanya dilindungi

oleh suatu lensa kecil yang memusatkan sinar di tepi sambungan basis-emitor,

seperti terlihat pada gambar 2.8, sedangkan arus pada fototransistor

ditunjukkan oleh gambar 2.9.

(30)

Gambar 2.9 Simbol fototransitor

Gambar 2.10.Rangkaian dasar fototransistor

Untuk mendapatkan nilai resistor Rc pada gambar 2.10 dilakukan perhitungan

sebagai berikut:

C CE CC

I V V

R= − (2.3)

dangan:

R adalah hambatan yang berapa pada emiter, berguna untuk

membatasi arus yang masuk ke fototransistor.

CC

V adalah tegangan catu daya.

CE

V adalah beda potensial antara collector dan emitter.

C

(31)

Untuk rangkaian fototransistor seperti pada gambar 3.10, arus yang mengalir

dirumuskan sebagai berikut:

Ic = β1.λ1 (2.4)

Dengan β1 adalah konstanta dan λ1 adalah besarnya intensita cahaya. Dengan

demikian besarnya tegangan emiter dapat dirumuskan sebagai berikut:

Ve = Vcc - Vce (2.5)

Rumusan 2.4 dapat dijabarkan lagi sebagai berikut:

Ve = R * Ic (2.6)

Jika R tetap, maka tegangan emiter Ve tergantung dari intensitas cahaya yang

masuk ke fototransistor.

2.2.3 Pengkondisi Sinyal

Rangkaian penguat dan Schmitt trigger merupakan sebagian rangkaian

pengkondisi sinyal dalam sistem kendali. Pengkondisi sinyal memiliki tugas

memodifikasi atau mengubah dalam arti luas keluaran sensor untuk

disesuaikan dengan kebutuhan unsur berikutnya. Berdasarkan fungsinya,

pengkondisi sinyal dapat diklasifikasikan sebagai berikut: pertama, sebagai

rangkaian pengkondisi seperti penguatan dan pelemahan. Kedua, rangkaian

pengolah seperti konversi tegangan ke frekuensi dan konversi tegangan ke

arus. Penguat transistor ditunjukan pada gambar 2.11 berikut ini:

(32)

Sinyal yang telah dikuatkan dipicu menggunakan Schmitt trigger agar

sinyal keluaran berubah tajam dari tinggi ke rendah atau sebaliknya.

Rangkaian Schmitt trigger menggunakan CMOS Inverting Schmitt Trigger.

Rangkaian inverting schmitt trigger memiliki simbol seperti diperlihatkan

pada gambar 2.12

Gambar 2.12 SchmittTrigger

2.3 Display atau Alat Penampil

Dalam suatu sistem instrumentasi dibutuhkan suatu unit alat penampil

atau peraga alfanumerik yang berfungsi untuk menampilkan hasil keluaran,

maka dianggap perlu untuk mendekodekan bilangan-bilangan tersebut secara

elektronis. Semua jenis rangkaian digital yang dipakai untuk pencacahan akan

memerlukan peragaan / tampilan bilangan hasil hitungan / cacahan sistem

tersebut.

2.3.1 LED (Light Emitting Diode)

Penampil (display) yang banyak dipakai adalah yang menerapkan

LED (Light Emitting Diode). Simbol LED dtunjukkan pada gambar 2.13.

LED

(33)

LED merupakan dioda yang mempunyai ciri khas tersendiri karena

terhubung dengan suatu rangkaian yang dialiri arus. Untuk menyalakan sebuah

LED digunakan rangkaian seperti pada gambar 2.14.

VCC

Vd Ra

Gambar 2.14 Rangkaian guna menyalakan LED

Tegangan LED biasanya berkisar antara 1,2 - 2 V sedangkan arus LED

antara 10 -25 mA. Persamaan untuk menentukan arus dioda adalah :

R

I LED

LED

V VCC

= (2.7)

R adalah hambatan yang dipasang untuk membatasi arus dioda.

Vcc adalah tegangan catu daya.

Vled adalah beda potensial diantara kaki-kaki LED.

Id adalah arus yang melalui LED.

2.3.2 Rangkaian Penampil Seven Segment

Piranti seven segment adalah sebuah penampil yang terdiri atas 7 buah

LED yang berada dalam satu kemasan. Prinsip kerja dari seven segment

seperti LED, sehingga seven segment hanya membutuhkan arus yang kecil

untuk menampilkan angka-angka yang dibangun dari ke tujuh LED tersebut.

Dioda memancarkan cahaya (Light Emitting Diode), merupakan

(34)

tertutup, LED yang bersangkutan berprategangan maju dan mengemisikan

cahaya. Tahanan-tahanan seri merupakan hambatan-hambatan pembatas arus

yang dibutuhkan untuk mengatur arus. Untuk memperagakan suatu lambang,

harus dinyalakan tiap batang atau ruas yang berkaitan dengan lambang

tersebut.

Seven segment mempunyai 2 buah tipe yaitu : common anode dan

common catode. Kedua jenis penampil seven segment tersebut memiliki

karakteristik yang hampir sama. Perbedaan antara common anode dan common

catode adalah pada penyambungan ke tujuh kaki-kaki LED-nya, dimana pada

common anode seluruh anode dari ke tujuh LED-nya disambung menjadi satu,

sedangkan pada common catode seluruh catode dari ke tujuh LED-nya

tersambung menjadi satu. Untai dari common anode dan common catode

adalah seperti gambar 2.15.

Gambar 2.15 Untai common anode dan common catode

Rangkaian penampil common anode seven segment dapat dilihat pada

gambar 2.16.

(35)

Sebagai contoh untuk memperagakan angka 0 harus dinyalakan ruas a

sampai dengan f, untuk mendapatkan 1 dinyalakan ruas b dan c dengan cara

yang sama setiap angka desimalnya dari 0 hingga 9 dapat diperagakan. Jika

karakter 1 akan ditampilkan, jalur keluaran b dan c dari pegawasandi akan

diset berlogika 1 untuk menyalakan transistor yang sesuai untuk menyinari

segmen b dan c. Jalur yang lain tetap berlogika 0. Untuk lengkapnya, dapat

dilihat pada tabel 2.5 untuk tabel kebenaran tampilan seven segment.

Tabel 2.5 Kebenaran Seven Segment

Cacahan Segmen Yang Menyala

0 a, b, c, d, e, f

1 b, c

2 a. b, g, e, d

3 a, b, g, c, d

4 f, g, b, c

5 a, f, g, c, d

6 a, f, e, d, c, g

7 a, b, c

8 a, b, c, d, e, f, g

9 a, b, g, f, c

2.3.3 BCD to Seven Segment Decoder

Penampil untuk alat ini menggunakan seven segment, oleh karena itu

perlu decoder/driver untuk mengaktifkan seven segment. Hal ini diperlukan

(36)

Perancangan tugas akhir ini dibagi menjadi dua tahap, tahap pertama

perancangan perangkat keras dan tahap yang kedua perancangan perangkat lunak.

3.1 Perancangan Perangkat Keras

Perangkat keras terdiri dari dua bagian, pertama berada pada bus yang

berfungsi sebagai sensor, penampil jumlah penumpang dan pengirim data, kedua

berada di pol yang berfungsi sebagai penerima data dan penampil jumlah

penumpang dalam bus. Untuk mendeteksi jumlah penumpang di dalam bus

digunakan sensor infrared berupa fototransistor yang berada pada pintu masuk di

bagian depan dan pada pintu keluar di bagian belakang.

Data dari bus akan dikirimkan ke pol melalui kabel. Diagram blok dari

alat ini seperti ditunjukkan oleh gambar 3.1. Sedangkan alat yang berada di pol

ditunjukkan oleh gambar 3.2.

Gambar 3.1 Diagram Blok Alat Monitoring Pada Bus

Gambar 3.2 Diagram Blok Alat Monitoring Pada Pol

(37)

3.1.1 Alat Monitoring Pada Bus

Rangkaian dari sensor dan mikrokontroler ditunjukan oleh gambar 3.3.

Rangkaian sensor ada dua buah yaitu sensor masuk dan sensor keluar. Rangkaian

sensor masuk dihubungkan dengan Pin P3.3, sedangkan sensor keluar

dihubungkan dengan Pin P3.2. Kaki P3.3 dimanfaatkan sebagai sarana I/O biasa

untuk menghitung jumlah penumpang yang masuk pada bis, sedangkan P3.2

sebagai sinyal interupsi eksternal 0. Pada gambar 3.3 digambarkan rangkaian

sensor yang digunakan.

1

Vcc +5 V Vcc +5 V

1

2

47

1

2

P3.2

Vcc +5 V Vcc +5 V 2

Gambar 3.3 Rangkaian Sensor Pada Bus

Saat penumpang memasukan karcis ke dalam kotak, karcis akan

menghalangi sinar infra merah yang masuk ke fototransistor dari dioda infra

merah. Akibat adanya perubahan intensitas cahaya yang masuk ke dalam

fototransistor, sehingga level tegangan di kaki collector ikut berubah. Saat sinar

infrared masuk ke fototransistor tegangan di collector. Untuk menentukan

besarnya nilai R maka ditentukan nilai Ic yang digunakan sebesar 10 mA.

Ve = Vcc – Ic.Rc (3.1)

0 = 5 V- 10.10-3.Rc

2

1

47

(38)

R = 1 K

Saat karcis menghalangi sinar infra merah tegangan di collector menjadi tinggi

sebesar 5 volt.

Perubahan tegangan di collector akan menyebabkan perubahan output dari

schmitt trigger. Tujuan dari penggunaan schmitt trigger untuk dapat mendeteksi

perubahan tegangan yang kecil, karena pada praktiknya dioda infra merah tidak

memberikan cukup intensitas cahaya. Dengan menambahkan schmitt trigger

perubahan tegangan yang kecil tetap mampu memberikan input mikrokontroler

sesuai dengan tegangan yang dibutuhkan untuk mencapai logika tinggi dan

rendah.

Mikrokontroler akan menampilkan jumlah penumpang pada penampil

seven segment. Rangkaian dari penampil jumlah penumpang ditunjukan gambar

3.4. Rangkaian penampil ini menggunakan seven segment seri LDS-AA1R. Seven

segment ini adalah common anode seven segment artinya seven segment ini

memiliki anoda bersama untuk tiap LED.

Oleh karena itu digunakan IC BCD to seven segment decoder

SN74LS247, yang merupakan IC aktif low. Sebagai pengaman, baik bagi seven

segment atau IC driver, antara katoda seven segment dan kaki-kaki IC dipasang

resistor. Besarnya nilai resistor berdasarkan persamaan 2.4 didapat sebagai

berikut:

Dengan VCC = 5 V

IMax = 20 mA (didapat dari data sheet)

(39)

Maka didapat nilai resistor minimum adalah sebagai berikut:

R

02 . 0

2 . 2 5−

= 140

Pada perancangan ini resistor yang digunakan sebesar 150 Ω dengan

pertimbangan mendekati nilai perhitungan dan mudah ditemukan di pasaran.

Gambar 3.4 Rangkaian Penampil Pada Bus

3.1.2 Alat Monitoring Pada Pol

Perancangan dan perhitungan nilai komponen penampil sevent segment

dari alat penampil di pol sama dengan penampil pada bus. Setiap kali ada

penumpang yang naik, akan dapat terpantau dari pol. Gambar 3.5 menunjukan

(40)

Gambar 3.5 Rangkaian Penampil Pada Pol

3.2 Perancangan Perangkat Lunak

Perancangan perangkat lunak untuk tugas akhir ini juga dibagi menjadi

dua bagian yaitu perancangan untuk alat monitor di bus dan untuk alat monitor di

pol.

3.2.1 Perangkat Lunak Pada Alat Monitor Di Bus

Fungsi dari mikrokontroler bagian bus adalah untuk mendeteksi

penumpang yang masuk ke dalam bus, lalu menampilkan jumlah penumpang di

dalam bus, dan juga mengirim sebuah data secara serial ketika ada penumpang

yang masuk ke dalam bus. Ketika ada penumpang yang keluar dari bus, maka

akan mengurangi jumlah penumpang dalam bus pada penampil.

Terdapat dua program dari perancangan perangkat lunak pada bagian bus.

Program Pertama adalah program utama, yang mempunyai tugas untuk

mendeteksi penumpang yang masuk, dan menampilkan jumlah penumpang di

(41)

interupsi ini ketika terjadi logika 0 pada kaki P3.2, atau ketika ada penumpang

yang keluar dalam bus. Diagram alir dari program utama dan program interupsi

eksternal 0 pada perancangan perangkat lunak bagian bus ditunjukkan oleh

Gambar 3.6a dan 3.6b.

(a) (b)

Gambar 3.6 Diagram alir Monitoring Pada Bus

Potongan program dari pogram utama dari diagram alir dapat dilihat

di bawah ini :

ORG 0000h LJMP mulai ORG 0013h LJMP keluar

mulai: mov scon,#40h ; set kirim serial mode 1

mov tmod,#20h ; set timer1 mode 2 8 bit isi ulang mov th1,#0e8h ; isi reg timer1 (baud rate 1200 bps)

setb tr1 ; aktifasi timer1

setb ex0 ; aktifasi interupsi eksternal0 setb ea ; aktifasi layanan interupsi setb p3.3 ; set p3.3 sebagai input

(42)

cjne r0,#100,ubah_se

lagi2: lcall ubah&tampil ;panggil sub pogram ubah bcd lcall kirim data ; panggil sub pogram kirim data: jb p3.3,masuk ; tunggu sampai karcis dicabut ubah_se: mov r0,#0

inc r0 ajmp lagi2

Untuk menentukan nilai register TH1 agar sesuai dengan baud rate ada

perhitungan untuk menentukannya. Nilai TH1 sebesar E8h (232d) didapat dengan

perhitungan sebagai berikut:

Baud rate =oscillatorN[256frequency(TH1)] (3.3)

Dengan N faktor pembagi sebesar 384 jika UART berjalan pada mode SMOD= 0,

maka besarnya TH1 dapat dihitung sebagai berikut:

1200 = )] 1 ( 256 [ 384 11,059x106 TH

TH1 = 256 – (11,059x106)/(384x1200)

TH1 = 232d =E8h

Dari potongan program utama dapat terlihat ada pemanggilan sub pogram

ubah&tampil, dan sub pogram pengiriman data. Sub pogram pengiriman

ubah&tampil berfungsi untuk merubah nilai di variabel counter menjadi BCD.

Proses ini menggunakan register a dan register b, hasil dari proses perubahan ini

akan disimpan di akumulator dan kemudian dipindahkan ke port 0 agar dapat

ditampilkan ke seven segment. Potongan program sub program ubah&tampil

dijabarkan di bawah ini.

Ubah&tampil:

Mov a,r0 ; nilai r0 dibagi 10 Mov b,#10 ; hasil di a sisa di b

Div a,b ; nibble bawah a ke nibble atas Swap a

(43)

Sub program kirim data berfungsi untuk mengirimkan data ke pol. Data

yang dikirimkan sudah ditentukan terlebih dahulu, jadi data yang dikirimkan

bukan data jumlah penumpang yang ada dalam bus, akan tetapi mengirimkan data

ketika ada penumpang naik ke bus. Potongan program sub program kirim data

dijabarkan dibawah ini.

Kirim_pol::

Clr es ; non aktifkan interupsi serial Mov a,#26h

Mov sbuf,a ; kirim data pengenal ke pol Jnb ti,$ ; tunggu data selesai dikirim Clr ti ; nolkan kembali bit ti Setb es

Ret

Mikrokontroler akan melayani program interupsi ketika ada penumpang

keluar. Dalam potongan program di bawah ini terdapat instruksi untuk menunggu

kaki P3.2 mempunyai logika 1, hal ini bertujuan agar menunggu satu penumpang

selesai melewati sensor.

Selesai:

Push acc ; simpan acc Clr ex0

Clr ea ; disable layanan interupsi Dec r0 ; kurangi variabel counter

Lcall ubah&tampil ; panggil sub program ubah&tampil Jnb p3.2,$ ; tunggu selesai 1 penumpag selesai turun Setb ex0

Setb ea ;enable layanan interupsi Pop acc ;ambil acc

3.2.2 Perangkat Lunak Pada Penerimaan Di Pol

Rutin program utama dari alat penerima dan penampil di pol berisi

inisialisasi fungsi yang ada di dalam mikrokontroler. Pada alat ini fungsi yang

(44)

menunjukan rutin utama alat penerima di pol.

Gambar 3.7 Program Utama Alat Monitoring Pada Pol

Inisialisasi serial pada alat monitoring di pol diperlukan agar komunikasi

data dapat sinkron dengan alat pengirim di bus. Pada alat monitoring ini UART

yang digunakan adalah mode 1, baud rate 1200 bits/sec.

Inisialisasi UART pada main program adalah sebagai berikut:

Serial_ini:

Mov SCON,#050h ;mode 1 Mov TMOD,#020h ;T1 mode 2 Mov TH1,#0E8h ;baud rate 1200 Setb tr1 ;T1 on

Setb es ;interupsi serial aktif Setb ea

Rutin interupsi serial akan aktif saat 10 bit yang dikirimkan selesai

diterima, dengan bit ri set. Saat interupsi terjadi program akan memanggil rutin

interupsi serial dan menjalankan program yang terdapat di dalam rutin tersebut.

Dalam rutin tersebut jumlah penumpang akan ditambah satu dan kemudian

ditampilkan dalam seven segment. Gambar 3.8 menunjukkan diagram alir dari

(45)

Gambar 3.8 Rutin Interupsi Serial

Potongan program interupsi serial akan diuraikan dibawah ini.

Terima_data:

Clr es

Clr ea

Jnb ri,$

Mov a,sbuf

Cjne a,#26h,balik

Inc dptr

Lcall hec to_bcd

Lcall tampil

Balik:

Setb es

Setb ea

ret

Counter pada bagian pol menggunakan dptr, hal ini disebabkan nilai

maksimal yang akan ditampilkan mencapai nilai 9999 sehingga diperlukan

register penampung hasil counter sebesar 16 bit. Saat data dikirimkan sebuah data

(46)

sehingga menjadi 4 register penampung bilangan BCD yang akan diumpankan

pada P0 dan P2. Potongan program ubah BCD dan penampil di seven segment

akan diuraikan di bawah ini.

ubah_bcd:

mov r1,dph ;dph ke r1 sebagai msb

mov r2,dpl ; dpl ke r2 sebagai lsb

MOV R3,#0 ; r3 --> satuan

MOV R4,#0 ; r4 --> puluhan

MOV R5,#0 ; r5 --> ratusan

MOV R6,#0 ; r6 --> ribuan

MOV B,#10

MOV A,R2 DIV AB MOV R3,B MOV B,#10 DIV AB MOV R4,B MOV R5,A CJNE R1,#0H,HIGH_BYTE SJMP ENDD HIGH_BYTE: MOV A,#6 ADD A,R3 MOV B,#10 DIV AB MOV R3,B

ADD A,#5 ADD A,R4

MOV B,#10 DIV AB MOV R4,B

ADD A,#2 ADD A,R5

MOV B,#10 DIV AB MOV R5,B

(47)

swap a

add a,r5 ; r5(ratusan) jumlahkan dgn a mov p2,a ; sehingga nilai r5 sbg nibble bawah

mov a,r4

swap a

add a,r3

mov p0,a

(48)

Pembahasan atas alat “Sistem Monitoring Jumlah Penumpang Bus Berbasis Mikrokontroler AT89S51” dilakukan dengan membandingkan hasil dari pengukuran dan perhitungan secara teori. Pengukuran dilakukan dengan menggunakan alat ukur multitester digital dan osiloskop digital. Hasil dari pengukuran dan pembahasan adalah sebagai berikut.

4.1 Pembahasan Pada Alat

Alat “Sistem Monitoring Jumlah Penumpang Bus Berbasis Mikrokontroler AT89S51” telah bekerja dengan baik sesuai dengan perancangan pada bab 3. Kesimpulan bahwa alat ini telah bekerja diambil setelah melalui pengujian sebagai berikut:

Saat ada penumpang naik (memasukkan karcis) maka jumlah penumpang yang ditampilkan pada seven segment di bus akan bertambah satu demikian juga jumlah penumpang yang tertampil pada seven segment di pol. Gambar 4.1 menunjukkan peningkatan jumlah penumpang di bus, gambar 4.2 menunjukkan jumlah penumpang yang tertampil di pol.

Gambar 4.1 Kenaikan Jumlah Penumpang di Bus

Gambar 4.2 Kenaikan Jumlah Penumpang di Pol

(49)

pengujian ini seperti yang tertampil pada tabel 4.1.

Tabel 4.1 Hasil Counter Up/ Down di Bus dan di Pol

Keadaan Di Bus Di Pol

Belum ada penumpang naik 00 0000

1 penumpang naik 01 0001

1 penumpang turun 00 0001

1 penumpang turun 00 0001

1 penumpang naik 01 0002

1 penumpang naik 02 0003

1 penumpang turun 01 0003

………... .. ....

1 penumpang naik 59 0090

1 penumpang naik 60 0091

1 penumpang naik * 0091

1 penumpang turun 59 0091

Keterangan : * : penumpang ditolak untuk naik

Hasil pengujian menunjukkan jumlah penumpang pada bus yang tertampil di seven segment akan bertambah jika ada penumpang yang naik dan akan berkurang jika ada penumpang yang turun. Sedangkan pada pol jumlah penumpang akan bertambah jika ada penumpang yang naik saja.

Jika tampilan pada seven segment sudah mencapai 60, dan kemudian dilakukan counter up, maka tampilan di seven segment adalah . Akan tetapi jika tampilan pada seven segment adalah 00, kemudian dilakukan

counter down maka tampilan pada seven segment tetap, yaitu 00. 4.2 Pembahasan Pada Sensor

(50)

Gambar 4.3. Test Point Pada Rangkaian Sensor Penumpang Masuk Dari hasil pengukuran pada testpoint A, pada saat tidak ada karcis yang menghalangi antara fototransistor dengan LED infra merah tegangan di

testpoint A sebesar 0 volt. Pada saat ada karcis yang menghalangi antara fototransistor dengan LED infra merah tegangan pada test point A sebesar 4,9 volt.

Bila dibandingkan hasil pengukuran dengan hasil perhitungan secara teori akan memberikan hasil dan nilai error dengan menghitung nilainya didapatkan dari rumus berikut ini.

% 100 (%)

Error Nilai

Prosentase X

teori hasil teori

=

Tabel 4.2 Hasil Pengukuran Tegangan dan Perhitungan Error pada Rangkaian Sensor Penumpang Masuk

Kondisi Hasil Pengukuran

(51)

telah dibahas pada bab 3. Sedangkan nilai secara teoritis pada titik test B didapat dari data sheet IC 74HC14.

Secara hipotesa perbedaan antara nilai teoritis dengan hasil pengukuran disebabkan adanya cahaya lain, selain sinar infra merah dari LED infra merah yang masuk ke dalam fototransistor, sebagai contoh adalah sinar metahari yang mengandung sinar infra merah. Selain itu perbedaan juga disebabkan alat ukur yang kurang presisi.

Perubahan output 4,9V ke 0,6V dari yang masuk ke schmitt trigger

sudah cukup untuk memicu perubahan output schmitt trigger dari logika rendah ke logika tinggi. Menurut datasheet tegangan threshold menuju logika rendah sebesar 2.7V. Sedangkan tegangan threshold menuju logika tinggi sebesar 1.8V. Jadi output fototransistor sebesar 4,9V dan 0,6V sudah cukup untuk memicu schmitt trigger. Karena IC 74HC14 adalah inverting schmitt

trigger maka saat mendapat input sebesar 0,6V maka output dari schmitt

trigger sebesar 3,7V, dan saat mendapat input sebesar 4,9V maka output dari schmitt trigger sebesar 0,4V.

4.3 Pembahasan Pada Mikronkontroler

(52)

(a) (b)

(c)

Gambar 4.4 Hasil akhir alat

Pada gambar 4.4 terlihat ada tiga bagian, dapat terlihat pada bagian (a) adalah saat alat dinyalakan dengan penampil jumlah penumpang bus dan pol menunjukan angka 00 dan 0000. Saat karcis menutupi sensor terlihat penampil pada bagian bus menjadi 01 yang menandakan jumlah penumpang yang ada di bus. Pada bagian pol juga akan bertambah menjadi 0001. Saat penumpang keluar seperti yang ditunjukkan pada bagian (c) jumlah penumpang di bus akan berkurang akan tetapi angka yang ditunjukkan pada bagian pol tetap tidak berkurang.

(53)

Komunikasi serial yang digunakan pada tugas akhir ini adalah komunikasi langsung dari mikrokontroler pada bus ke mikrokontroler pada pol, tanpa adanya modulasi ataupun menggunakan standar komunikasi serial seperti RS-232 dan lain-lain. Sehingga hasil pengamatan sinyal komunikasi serial dengan menggunakan osiloskop digital tampak pada gambar 4.5.

Komunikasi serial akan terjadi jika saat penumpang naik. Pada saat itu mikrokontroler di bus akan mengirimkan sinyal berupa data biner 8 digit yaitu 00100110b atau 26h. Dari pengamatan didapat hasil sebagai berikut:

Gambar 4.5 Sinyal Komunikasi Serial

(54)

bit yang satu dengan bit yang lain sebesar 833.3 µs. Jadi bit rate/jumlah bit tiap detik yang dikirimkan sebanyak:

Bitrate =

s µ

3 . 833

1

=1204 bps

(55)

5.1. Kesimpulan

Berdasarkan perancangan dan penelitian yang telah dilakukan, maka dapat diperoleh beberapa kesimpulan umum sebagai berikut :

1. Data di seven segment pada bus akan bertambah (increment) apabila ada karcis yang masuk atau kondisi di kaki P3.3 rendah, dan akan berkurang (decrement)bila ada interupsi eksternal 0 (penumpang turun).

2. Jumlah penumpang yang ditampilkan di seven segment pada bus hanya sebanyak 60.

3. Pada seven segment di pol menampilkan jumlah penumpang yang naik bus dalam satu hari. Seven segment di pol mampu menampilkan hingga 9.999 jumlah penumpang. Ketika data diterima terjadilah interupsi serial, tetapi data tersebut harus 26h, sehingga terjadilah kenaikan (increment). 4. Pengaturan untuk transfer data serial meliputi : komunikasi satu arah

(simplex), dengan kecepatan transfer data sebesar 1200 bps, 8 bit data, bit start berupa bit 0, 1 bit stop, tanpa bit paritas.

5.2 Saran

Sehubungan alat ini sangat sederhana, maka penulis mencoba untuk memberikan saran-saran agar dapat menjadi lebih baik, antara lain:

1. Jika diterapkan pada bus yang sebenarnya sebaiknya komunikasi data serial dimodulasi dengan gelombang radio.

(56)

Agfianto Eko Putra, 2003, Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi), Edisi kedua, Gava Media, Yogyakarta, 2003

Malvino, A.P, 1989, Prinsip-Prinsip Elektronika, Edisi Ketiga, Penerbit Erlangga, Jakarta

Roger L. Tokheim, 1994, Prinsi-Prinsip Digital, Edisi Kedua, Penerbit Erlangga, Jakarta

Paulus Andi Nalwan, 2003, Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, PT Elex Media Komputindo, Jakarta

Paulus Andi Nalwan, Timer 89C51, http://delta-electronic.com

Robert Boylestad, / Louis Nashelsky, 1989, Electronic A Survey Of Electrical

Enginnering Principles, Prentice hall international inc.

Texas Instrument, 1994, TCM3105DWL, TCM3105JE, TCM3105JL, TCM3105NE. TCM3105NL FSK Modem, Texas Instruments Inc., Dallas, USA

(57)

4 0003 ljmp turun

5 0006 org 30h

6 0030 mulai:

7 0030 mov p0,#0

8 0033 mov r0,#0

9 0035 mov scon,#40h

10 0038 mov tmod,#20h

11 003B mov th1,#0e8h

12 003E setb tr1

13 0040 setb p3.3

14 0042 setb ex0

15 0044 setb ea

16 0046 naik:

17 0046 jnb p3.3,$

18 0049 inc r0

19 004A tampil1:

20 004A mov a,r0

21 004B xrl a,#61

22 004D jnz tampil1

23 004F mov r0,#0eeh

24 0051 lcall ubah&tampil

25 0054 lcall kirim_pol

26 0057 jb p3.3,$

27 005A ajmp naik

28 005C turun:

29 005C clr ex0

30 005E push acc

31 0060 dec r0

32 0061 tampil2:

33 0061 mov a,r0

34 0062 xrl a,#99h

35 0064 jnz tampil2

36 0066 mov r0,#00

37 0068 lcall ubah&tampil

38 006B jnb p3.2,$

39 006E pop acc

40 0070 setb ex0

41 0072 reti

42 0073 ubah&tampil:

43 0073 mov b,#10

(58)

50 007E kirim_pol:

51 007E clr ea

52 0080 clr es

53 0082 mov a,#26h

54 0084 mov sbuf,a

55 0086 jnb ti,$

56 0089 clr ti

57 008B setb es

58 008D setb ea

(59)

2 0000 ajmp mulai 3 0002 org 23h 4 0023 ajmp data_bis 5 0025 org 30h 6 0030 mulai:

7 0030 mov p0,#0 8 0033 mov p2,#0 9 0036 mov scon,#50h 10 0039 mov tmod,#20h 11 003C mov th1,#0e8h 12 003F setb tr1

13 0041 setb es 14 0043 setb ea 15 0045 ajmp $ 16 0047 data_bis:

17 0047 clr es 18 0049 jnb ri,$ 19 004C clr ri 20 004E mov a,sbuf

21 0050 cjne a,#26h,data_salah 22 0053 inc dptr

23 0054 lcall ubah_bcd 24 0057 lcall tampil 25 005A data_salah:

26 005A setb es 27 005C reti 28 005D ubah_bcd:

29 005D mov r1,dph 30 005F mov r2,dpl 31 0061 MOV R3,#0 32 0063 MOV R4,#0 33 0065 MOV R5,#0 34 0067 MOV R6,#0 35 0069 MOV R7,#0

36 006B MOV B,#10

37 006E MOV A,R2 38 006F DIV AB

39 0070 MOV R3,B

40 0072 MOV B,#10 41 0075 DIV AB

(60)

49 0081 MOV B,#10 50 0084 DIV AB 51 0085 MOV R3,B 52 0087 ADD A,#5 53 0089 ADD A,R4

54 008A MOV B,#10 55 008D DIV AB 56 008E MOV R4,B 57 0090 ADD A,#2 58 0092 ADD A,R5

59 0093 MOV B,#10 60 0096 DIV AB 61 0097 MOV R5,B

62 0099 CJNE R6,#0,ADD_IT 63 009C SJMP CONTINUE 64 009E ADD_IT:

65 009E ADD A,R6 66 009F CONTINUE: 67 009F MOV R6,A

68 00A0 DJNZ R1,HIGH_BYTE 69 00A2 MOV B, #10

70 00A5 MOV A,R6 71 00A6 DIV AB 72 00A7 MOV R6,B 73 00A9 MOV R7,A 74 00AA ENDD:

75 00AA ret

77 00AB tampil:

78 00AB mov a,r6 79 00AC swap a 80 00AD add a,r5 81 00AE mov p2,a 82 00B0 mov a,r4 83 00B1 swap a 84 00B2 add a,r3 85 00B3 mov p0,a

(61)

1

Fully Static Operation: 0 Hz to 33 MHz

Three-level Program Memory Lock

128 x 8-bit Internal RAM

32 Programmable I/O Lines

Two 16-bit Timer/Counters

Six Interrupt Sources

Full Duplex UART Serial Channel

Low-power Idle and Power-down Modes

Interrupt Recovery from Power-down Mode

Watchdog Timer

Dual Data Pointer

Power-off Flag

Fast Programming Time

Flexible ISP Programming (Byte and Page Mode)

Description

The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4K bytes of in-system programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the indus-try-standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory pro-grammer. By combining a versatile 8-bit CPU with in-system programmable Flash on a monolithic chip, the Atmel AT89S51 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89S51 provides the following standard features: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all other chip functions until the next external interrupt or hardware reset.

8-bit

Microcontroller

with 4K Bytes

In-System

Programmable

Flash

AT89S51

(62)

2

AT89S51

2487A–10/01 TQFP 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P1.2 P1.3 P1.4 (MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GND P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8) 1 2 3 4 5 6 7 8 9 10 11 33 32 31 30 29 28 27 26 25 24 23

44 43 42 41 40 39 38 37 36 35 34

12 13 14 15 16 17 18 19 20 21 22

(MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 NC (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP NC ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13)

P1.4 P1.3 P1.2 P1.1 P1.0 NC VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3)

(WR) P3.6 (RD) P3.7

XTAL2 XTAL1 GND GND

(A8) P2.0 (A9) P2.1 (A10) P2.2 (A11) P2.3 (A12) P2.4

7 8 9 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 31 30 29 (MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 NC (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP NC ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13)

6 5 4 3 2 1 44 43 42 41 40

18 19 20 21 22 23 24 25 26 27 28

(WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GND

NC

(63)

3

2487A–10/01

PORT 2 DRIVERS

PORT 2 LATCH

P2.0 - P2.7

FLASH PORT 0 LATCH RAM PROGRAM ADDRESS REGISTER BUFFER PC INCREMENTER PROGRAM COUNTER DUAL DPTR INSTRUCTION REGISTER B REGISTER

INTERRUPT, SERIAL PORT, AND TIMER BLOCKS

STACK POINTER ACC TMP2 TMP1 ALU PSW TIMING AND CONTROL

PORT 1 DRIVERS

P1.0 - P1.7 PORT 3

LATCH

PORT 3 DRIVERS

P3.0 - P3.7 OSC

GND

VCC

PSEN

ALE/PROG EA / VPP RST

RAM ADDR. REGISTER

PORT 0 DRIVERS P0.0 - P0.7

PORT 1 LATCH WATCH

(64)

4

AT89S51

2487A–10/01

GND Ground.

Port 0 Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs.

Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to external program and data memory. In this mode, P0 has internal pull-ups.

Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pull-ups are required during program verification.

Port 1 Port 1 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups.

Port 1 also receives the low-order address bytes during Flash programming and verification.

Port 2 Port 2 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups.

Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to external data memory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Spe-cial Function Register.

Port 2 also receives the high-order address bits and some control signals during Flash pro-gramming and verification.

Port 3 Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups.

Port 3 receives some control signals for Flash programming and verification.

Port 3 also serves the functions of various special features of the AT89S51, as shown in the following table.

Port Pin Alternate Functions

(65)

5

2487A–10/01

RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. This pin drives High for 98 oscillator periods after the Watchdog times out. The DIS-RTO bit in SFR AUXR (address 8EH) can be used to disable this feature. In the default state of bit DISRTO, the RESET HIGH out feature is enabled.

ALE/PROG Address Latch Enable (ALE) is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming.

In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory.

If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in external execution mode.

PSEN Program Store Enable (PSEN) is the read strobe to external program memory.

When the AT89S51 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory.

EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.

EA should be strapped to VCC for internal program executions.

This pin also receives the 12-volt programming enable voltage (VPP) during Flash programming.

XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2 Output from the inverting oscillator amplifier

P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input)

(66)

6

AT89S51

2487A–10/01

Table 1. AT89S51 SFR Map and Reset Values

(67)

7

2487A–10/01

products to invoke new features. In that case, the reset or inactive values of the new bits will always be 0.

Interrupt Registers: The individual interrupt enable bits are in the IE register. Two priorities can be set for each of the five interrupt sources in the IP register.

Dual Data Pointer Registers: To facilitate accessing both internal and external data memory, two banks of 16-bit Data Pointer Registers are provided: DP0 at SFR address locations 82H-83H and DP1 at 84H-85H. Bit DPS = 0 in SFR AUXR1 selects DP0 and DPS = 1 selects DP1. The user should always initialize the DPS bit to the appropriate value before accessing the respective Data Pointer Register.

Table 2. AUXR: Auxiliary Register

AUXR Address = 8EH Reset Value = XXX00XX0B Not Bit

Addressable

– – – WDIDLE DISRTO – – DISALE

Bit 7 6 5 4 3 2 1 0

– Reserved for future expansion DISALE Disable/Enable ALE

DISALE Operating Mode

0 ALE is emitted at a constant rate of 1/6 the oscillator frequency 1 ALE is active only during a MOVX or MOVC instruction DISRTO Disable/Enable Reset out

DISRTO

0 Reset pin is driven High after WDT times out 1 Reset pin is input only

WDIDLE Disable/Enable WDT in IDLE mode WDIDLE

(68)

8

AT89S51

2487A–10/01

Memory

Organization

MCS-51 devices have a separate address space for Program and Data Memory. Up to 64K bytes each of external Program and Data Memory can be addressed.

Program Memory If the EA pin is connected to GND, all program fetches are directed to external memory.

On the AT89S51, if EA is connected to VCC, program fetches to addresses 0000H through FFFH are directed to internal memory and fetches to addresses 1000H through FFFFH are directed to external memory.

Data Memory The AT89S51 implements 128 bytes of on-chip RAM. The 128 bytes are accessible via direct and indirect addressing modes. Stack operations are examples of indirect addressing, so the 128 bytes of data RAM are available as stack space.

Watchdog

Timer

(One-time

Enabled with

Reset-out)

The WDT is intended as a recovery method in situations where the CPU may be subjected to software upsets. The WDT consists of a 14-bit counter and the Watchdog Timer Reset (WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, it will increment every machine cycle while the oscillator is running. The WDT timeout period is dependent on the external clock frequency. There is no way to dis-able the WDT except through reset (either hardware reset or WDT overflow reset). When WDT overflows, it will drive an output RESET HIGH pulse at the RST pin.

Using the WDT

To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H). When the WDT is enabled, the user needs to service it by writing 01EH and 0E1H to WDTRST to avoid a WDT overflow. The 14-bit counter overflows when it reaches 16383 (3FFFH), and this will reset the device. When the WDT is enabled, it will increment every machine cycle while the oscillator is running. This means the user must reset the WDT at least every 16383 machine cycles. To reset the WDT the user must write 01EH and 0E1H to WDTRST.

Gambar

Gambar 2.1. Register TMOD
Gambar 2.5 Serial Port Receive Timing.
Tabel 2.4 Baud Rate Komunikasi Serial
Gambar 2.10.Rangkaian dasar fototransistor
+7

Referensi

Dokumen terkait

Seperti yang telah dijelaskan pada Bab I bagaian rumusan masalah, bahwa Tugas Akhir ini akan membuat sebuah video klip dengan teknik Live shoot dan Animasi 2D, Selanjutnya

Strategi Potongan harga 10% yang digunakan untuk meningkatkan penerimaan perusahaan dari pelanggan dapat diterapkan pada kelas pertama dan kedua yaitu Most Valuable

Dengan adanya pembagian ubin Penrose golden triangle dalam 3 zone, maka didapatkan hasil berupa model mozaik Penrose simetris penuh, model mozaik Penrose simetris tidak

The stories in here will take you from a hardboiled detective story about nursery rhyme characters to a group of people who like to eat things, from a poem about how to behave if

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a dan huruf b, perlu menetapkan Keputusan Bupati Bantul tentang Pembentukan Tim Majelis Pertimbangan Hukuman

Dalam bidang konstruksi yang terutama adalah melakukan planning , metode, analisa risiko yang akan digunakan selama proyek berlangsung (Wehbe & Hamzeh, 2013),

Sementara itu, faktor penyebab perilaku berkendara agresif paling tinggi pada komponen emotional challenges adalah ketika pengendara merasa tertantang untuk melewati jalan

Analysis of 5-year survival of patients treated for breast cancer at Sardjito Hospital in Yogyakarta province, Indonesia.. Evi Susanti Sinaga , Riris Andono Ahmad 1 ​ 1 ​ ,