Pengembangan Prototipe Lampu Lalu Lintas Pejalan Kaki Berbasis Mikrokontroler MCS-51 yang Diinisiasi dengan Tombol

Teks penuh

(1)

PENGEMBANGAN PROTOTIPE LAMPU LALU LINTAS

PEJALAN KAKI BERBASIS MIKROKONTROLER

MCS-51 YANG DIINISIASI DENGAN TOMBOL

IRENE PRICELLA SITUMORANG

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Prototipe Lampu Lalu Lintas Pejalan Kaki Berbasis Mikrokontroler MCS-51 yang Diinisiasi dengan Tombol adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir disertasi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, Juli 2013

Irene Pricella Situmorang

(4)

ABSTRAK

IRENE PRICELLA SITUMORANG. Pengembangan Prototipe Lampu Lalu Lintas Pejalan Kaki Berbasis Mikrokontroler MCS-51 yang Diinisiasi dengan Tombol. Dibimbing oleh KARLISA PRIANDANA.

Saat ini, di Indonesia, hak pejalan kaki untuk menyeberang jalan pada zebra cross sering diabaikan. Padahal, UU No. 22 tahun 2009 tentang Lalu Lintas dan Angkutan Jalan, Pasal 130 ayat 2 secara eksplisit menjelaskan bahwa pejalan kaki yang menyeberang pada zebra cross berhak mendapat prioritas. Penelitian ini mengembangkan dua prototipe lampu lalu lintas untuk pejalan kaki yang dapat diinisiasi dengan tombol dengan menggunakan mikrokontroler keluarga MCS-51, untuk diimplementasikan di zebra cross. Prototipe pertama menggunakan push

-button, sedangkan prototipe kedua menggunakan keypad sebagai tombol untuk menginisiasi lampu lalu lintas. Penekanan tombol akan memulai kondisi menyeberang, yaitu kondisi pada saat lampu lalu lintas kendaraan menjadi merah dan lampu lalu lintas penyeberang jalan menjadi hijau. Dalam hal ini, seven segment akan menampilkan waktu hitung mundur yang dapat dipilih melalui tombol. Penelitian ini menunjukkan bahwa penggunaan push-button lebih ramah guna dan lebih mudah dipelihara. Sementara itu, penggunaan keypad lebih fleksibel dalam hal pemilihan waktu menyeberang.

Kata kunci: keypad, lampu lalu lintas, mikrokontroler MCS-51, push-button,

seven segment

ABSTRACT

IRENE PRICELLA SITUMORANG. Development of Button-Initiated Pedestrian Traffic Lights Using MCS-51 Microcontroller. Supervised by KARLISA PRIANDANA.

Nowadays, in Indonesia, pedestrian’s right to cross through zebra cross is often abandoned. On the other hand, Law No. 22 of 2009 concerning Traffic and Road Transportation, article 130 paragraph 2 explicitly mentioned that pedestrian who cross through zebra cross shall be prioritized. This study develops two button-initiated pedestrian traffic light prototypes using MCS-51 microcontroler, to be implemented in zebra cross. The first prototype utilizes several push-buttons, whereas the second prototype uses keypad as the button to initiate the traffic light. Pressure on the button will trigger the crossing condition, where the vehicle’s traffic light becomes red and the pedestrian’s traffic light becomes green. In this condition, seven segment will show the count down time that can be selected through the button. This study shows that the push-button prototype is more user friendly and easily maintained. Meanwhile, the keypad prototype is more flexible in terms of selecting the crossing time.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

PENGEMBANGAN PROTOTIPE LAMPU LALU LINTAS

PEJALAN KAKI BERBASIS MIKROKONTROLER

MCS-51 YANG DIINISIASI DENGAN TOMBOL

IRENE PRICELLA SITUMORANG

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(6)
(7)
(8)

Judul Skripsi : Pengembangan Prototipe Lampu Lalu Lintas Pejalan Kaki Berbasis Mikrokontroler MCS-51 yang Diinisiasi dengan Tombol

Nama : Irene Pricella Situmorang NIM : G64104038

Disetujui oleh

Karlisa Priandana, ST M Eng Pembimbing I

Diketahui oleh

Dr Ir Agus Buono, MSi M Kom Ketua Departemen

(9)

PRAKATA

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala karunia-Nya sehingga tugas akhir ini berhasil diselesaikan. Tema yang dipilih dalam tugas akhir yang dilaksanakan sejak bulan September 2012 ini ialah mikrokontroler, dengan judul Pengembangan Prototipe Lampu Lalu Lintas Pejalan Kaki Berbasis Mikrokontroler MCS-51 yang Diinisiasi dengan Tombol.

Penulis sadar bahwa tugas akhir ini tidak akan terselesaikan tanpa bantuan dari berbagai pihak. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada:

1 Orang tua tercinta Bapak Mangapul Adil Situmorang, SSos dan almarhum Ibu Ernata Siregar, kakak penulis Santa Elizabeth Situmorang, SE, dan Christina Natalia Situmorang, SE, abang penulis Ellyas Tarnama Uli Situmorang, ST, serta adik penulis Gunawan Situmorang atas segala doa dan dukungan yang tiada hentinya.

2 Ibu Karlisa Priandana ST MEng selaku dosen pembimbing tugas akhir. Terima kasih atas kesabaran dan dukungan dalam penyelesaian tugas akhir ini. 3 Teman-teman Ilkomerz Angkatan 5 atas kebersamaannya.

4 Gunawan Purba, SH yang selalu memberikan dukungan dan semangat kepada penulis.

Penulis menyadari bahwa masih terdapat kekurangan dalam penulisan tugas akhir ini. Semoga tugas akhir ini bermanfaat.

Bogor, Juli 2013

(10)

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

METODE 3

Alat 4

Penentuan Fungsi Prototipe 8

Perancangan dan Modifikasi Algoritme 8

Implementasi Algoritme pada Prototipe 8

Evaluasi 8

HASIL DAN PEMBAHASAN 9

Rancangan Fungsi Prototipe 9

Rancangan Algoritme 9

SIMPULAN DAN SARAN 14

Simpulan 14

Saran 15

DAFTAR PUSTAKA 15

LAMPIRAN 15

(11)

DAFTAR TABEL

1 Tabel Kebenaran 74LS138 6

2 Alamat vektor interupsi 12

3 Evaluasi prototipe 14

4 Perbandingan kedua prototipe yang dikembangkan 14

DAFTAR GAMBAR

1 Diagram alur metode penelitian 3

2 Mikrokontroler 89x52 merupakan keluarga MCS-51 4

3 Konfigurasi pin MCS-51 5

4 Seven segment 5

5 Rangkaian decoder 74LS138 dengan mikrokontroler dan 7-Segment 6

6 Skema rangkaian antarmuka push-button 6

7 In-System Programming (ISP) 7

8 Dua set lampu lalu lintas 7

9 Rangkaian dasar keypad 4x4 7

10 Algoritme dengan push-button 10

11 Algoritme dengan keypad 10

12 Algoritme interupsi Timer 0 13

DAFTAR LAMPIRAN

1 Rangkaian praktikum yang digunakan 16

2 Skematik antarmuka prototipe dengan pushbutton 16

3 Skematik antarmuka prototipe dengan keypad 17

4 Diagram alir subrutin interupsi dan subrutin sevensegment 18

5 Listing program prototipe dengan push-button 18

(12)

PENDAHULUAN

Latar Belakang

Saat ini, kecelakaan lalu lintas yang menyebabkan pejalan kaki menjadi korban meningkat di Indonesia. Pengemudi kendaraan kurang memperdulikan hak pejalan kaki dalam penggunaan lalu lintas dan jalan raya. Walaupun, pejalan kaki memiliki hak yang sama dengan pengemudi kendaraan dalam penggunaan lalu lintas dan jalan raya.

Kecelakaan-kecelakaan tersebut menunjukkan bahwa pejalan kaki kurang mendapatkan perlindungan yang memadai dalam penggunaan lalu lintas dan jalan raya. Meskipun fasilitas-fasilitas pendukung bagi pejalan kaki telah disediakan oleh pemerintah. Selain itu, fasilitas pendukung bagi pejalan kaki tersebut belum berfungsi sebagaimana mestinya.

Zebra cross adalah salah satu fasilitas pendukung bagi pejalan kaki yang dinyatakan dengan marka jalan berbentuk garis membujur berwarna putih dan hitam, berfungsi untuk memberikan keamanan bagi pejalan kaki pada saat menyeberang jalan. Undang-Undang Nomor 22 Tahun 2009 Tentang Lalu Lintas dan Angkutan Jalan Pasal 130 ayat 2 menyatakan bahwa “Pejalan kaki yang sedang berjalan pada zebra cross berhak mendapatkan prioritas untuk menyeberang jalan”. Namun pada kenyataannya, banyak pengemudi kendaraan lebih mengutamakan kepentingannya dari pada pejalan kaki. Pengemudi kendaraan melaju kendaraannya lebih cepat pada saat melihat pejalan kaki yang akan atau sedang menyeberang jalan. Oleh karena, itu diperlukan suatu sistem lalu lintas tambahan untuk membantu memaksimalkan fungsi zebracross tersebut.

Adapun penelitian yang pernah dilakukan adalah Traffic Signal Control Modification Based on Self-Organizing in Indonesia (Jatmiko et al. 2009), yaitu mengenai kontrol lampu lalu lintas pada persimpangan jalan berdasarkan perubahan jumlah kendaraan pada masing-masing bagian simpang. Penelitian dalam bentuk simulasi ini menggunakan pendekatan pada suara dengan menghitung nilai frekuensi suara yang ditimbulkan. Penelitian tersebut diharapkan dapat mengurangi kemacetan di Indonesia khususnya pada bagian persimpangan jalan. Terkait penelitian sebelumnya, penelitian ini mengembangkan suatu sistem lalu lintas berbasis mikrokontroler yang juga masih dalam bentuk simulasi atau prototipe.

Implementasi lampu lalu lintas pejalan kaki sudah diterapkan dibeberapa negara, salah satunya Indonesia. Beberapa kota di Indonesia yang telah mengimplementasi lampu lalu lintas tersebut adalah Jakarta, Bogor, dan Semarang. Tetapi implementasi lampu lalu lintas tersebut belum mendapat sambutan yang baik dari masyarakat. Selain itu pemerintah pun kurang memberikan sosialisasi cara penggunaannya kepada masyarakat.

(13)

2

Perumusan Masalah

Masalah yang akan diangkat dalam penelitian ini adalah bagaimana cara merancang atau mengembangkan suatu sistem lalu lintas untuk pejalan kaki. Sistem lalu lintas tersebut dirancang dalam bentuk prototipe berbasis mikrokontroler. Prototipe lampu lalu lintas bagi pejalan kaki yang dikembangkan tersebut akan diinisiasi dengan tombol. Tombol yang digunakan adalah push

-button dan keypad sehingga sistem akan menghasilkan 2 prototipe. Mikrokontroler yang digunakan adalah mikrokontroler 89x52 yang telah terangkai pada rangkaian praktikum. Mikrokontroler 89x52 merupakan mikrokontroler keluarga MCS-51.

Tujuan Penelitian

Penelitian ini bertujuan membuat prototipe sebuah aplikasi sederhana yang berbasis mikrokontroler MCS-51 berupa lampu lalu lintas pejalan kaki yang diinisiasi dengan tombol.

Manfaat Penelitian

Penelitian ini diharapkan dapat menjadi pionir dalam pembuatan alat lalu lintas pejalan kaki berbasis mikrokontroler untuk diimplementasikan pada zebra cross. Implementasi lampu lalu lintas ini diharapkan dapat membantu memaksimalkan fungsi zebra cross untuk memberi keamanan bagi pejalan kaki dalam menyeberang jalan.

Ruang Lingkup Penelitian Ruang lingkup pada penelitian ini adalah:

1 Mikrokontroler yang digunakan adalah mikrokontroler 89x52, merupakan salah satu keluarga MCS-51, yang telah terangkai pada rangkaian praktikum. 2 Tombol yang digunakan adalah 6 push-button dan keypad sebagai inisiasi

penyeberangan jalan yang dikembangkan pada 2 prototipe. Inisiasi tombol kembali dapat dilakukan setelah jeda waktu selama 5 menit.

3 Kondisi default adalah kondisi dimana lampu hijau pada salah satu set lampu lalu lintas (diasumsikan untuk kendaraan) dan lampu merah pada set lampu lalu lintas lainnya (diasumsikan untuk pejalan kaki) menyala.

4 Seven segment menampilkan perhitungan waktu mundur dari x detik ke 0. Rentang nilai x pada masing-masing push-button adalah 10-60 detik. Dan rentang nilai x dengan menggunakan keypad adalah 0-99 detik.

5 Lampu kuning digunakan sebagai lampu transisi yang akan menyala pada saat pergantian state dari lampu merah menyala menjadi lampu hijau menyala dan sebaliknya.

(14)

3

METODE

Metode yang digunakan adalah metode Trial and Error dengan alur yang dapat dilihat pada Gambar 1. Prototipe yang dikembangkan menggunakan perangkat keras berupa sebuah rangkaian praktikum (Lampiran 1) yang telah terangkai dengan mikrokontroler jenis 89x52, salah satu mikrokontroler keluarga MCS-51.

Selain mikrokontroler, komponen lain yang terangkai pada rangkaian tersebut dan digunakan untuk mengembangkan prototipe adalah seven segment, light-emitting diode (LED) lampu lalu lintas, push-button, dan keypad. Setiap fungsi prototipe akan disesuaikan dengan kebutuhan pejalan kaki dalam menyeberang jalan.

Fungsi-fungsi tersebut dirancang dengan menggunakan algoritme dan kemudian diimplementasikan pada prototipe. Implementasi algoritme dalam bentuk program menggunakan perangkat lunak Emulator MCU 8051 IDE dan

compiler MIDE51 yang telah diinstal pada komputer. Kemudian program tersebut akan dimasukkan pada mikrokontroler dengan menggunakan In-System Programming (ISP) sebagai penghubung antara komputer dan mikrokontroler. Prototipe dievaluasi kembali untuk disesuaikan dengan fungsinya. Jika belum sesuai dengan fungsinya, algoritme akan dimodifikasi.

Hasil modifikasi algoritme tersebut diimplementasikan kembali dan dievaluasi apakah syaratnya telah terpenuhi. Jika seluruh syarat telah terpenuhi, penelitian telah berhasil dan prototipe telah selesai dikembangkan.

(15)

4

Alat Perangkat Keras

Mikrokontroler adalah suatu komponen elektronik, miniatur dari suatu sistem komputer. Mikrokontroler mempunyai kemampuan untuk diprogram sesuai keinginan seperti halnya komputer. Namun, mikrokontroler hanya dapat di gunakan untuk suatu aplikasi tertentu saja karena keterbatasan dalam menyimpan program. Mikrokontroler terdiri atas sebuah inti processor, memori (sejumlah kecil RAM, memori program, atau keduanya) dan perlengkapan input-output.

Penelitian ini menggunakan mikrokontroler 89x52 yang merupakan salah satu mikrokontroler keluarga MCS-51 seperti terlihat pada Gambar 2. Mikrokontroler 89x52 memiliki respons yang lebih cepat daripada 89x51.

Beberapa fitur mikrokontroler ini adalah (Hamirani 2012):

Sebuah CPU (Central Prossesing Unit) 8 bit yang termasuk keluarga osilator internal dan rangkaian timer.

Flash memori 8 Kb RAM 128 bytes

Empat buah programmable port I/O, masing-masing terdiri dari atas 8 jalur I/O

Lima buah jalur interupsi (2 buah interupsi eksternal dan 3 buah interupsi internal)

Sebuah port serial dengan kontrol serial full duplex UART.

Kecepatan pelaksanaan intruksi persiklus untuk mikrokontroler ini adalah 1 mikrodetik pada frekuensi clock 12 MHz. Mikrokontroler ini memiliki timer

internal dengan frekuensi 12 MHz (Suyatno et al. 2007). Susunan pin-pin mikrokontroler 89x52 dapat dilihat pada Gambar 3 dengan konfigurasi sebagai berikut.

Pin 1 sampai 8 (Port 1) merupakan port paralel 8 bit 2 arah (input-output) yang digunakan untuk berbagai keperluan (general purpose).

Pin 9 (Reset) adalah interupsi reset (aktif high) perpindahan kondisi rendah ke tinggi akan mereset 89x52. Pin ini dihubungkan dengan rangkaian power on reset.

Pin 10 sampai 17 (port 3) adalah port paralel 8 bit 2 arah (input-output) yang memiliki fungsi pengganti. Fungsi pengganti meliputi TXD (Transmisi Data), RXD (Receiver Data), INT0 (Interrupt 0), INT1 (Interrupt 1), T0 (timer 0), T1 (Timer 1), WR (Write), dan RD (Read). Bila fungsi pengganti tidak dipakai, pin-pin ini dapat digunakan sebagai port paralel 8 bit serba guna.

(16)

5 Pin 18 dan 19 (XTAL1 dan XTAL2) adalah pin input osilator kristal, yang merupakan inputclock bagi rangkaian osilator internal.

Pin 20 (ground) dihubungkan ke VSS atau Ground.

Pin 21 sampai 28 (port 2) adalah port paralel 8 bit 2 arah (input-output). Port

2 ini mengirim byte alamat apabila dilakukan pengaksesan memori ekternal. Pin 32 sampai 39 (port 0) merupakan port paralel 8 bit open drain 2 arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data.

Pin 40 (Vcc) dihubungkan ke Vcc (+5 Volt) sebagai power supply untuk mikrokontroler.

Komponen pendukung lainnya yang digunakan pada penelitian ini ialah dapat seven segment (Gambar 4) yang digunakan untuk menampilkan waktu hitung mundur dalam satuan detik.

Seven segment merupakan sebuah display yang terbentuk dari 7 buah segmen LED (ditambah 1 segmen untuk menampilkan titik) dan terhubung pada port 0. Tujuh segmen tersebut dinamakan segmen A, B, C, D, E, F, dan G, serta DP, satu buah segmen tambahan untuk menampilkan titik. Pengaturan tampilan seven segment dilakukan dengan menyalakan/ memadamkan segmen led yang sesuai. Seven segment yang menyala dikontrol oleh decoder/ demultiplexer 74LS138 seperti yang ditunjukkan pada Gambar 5.

Gambar 3 Konfigurasi pin MCS-51

(17)

6

Pada Tabel 1, tampak bahwa seven segment yang menyala tergantung pada

output dari decoder 74LS138. Output ini dikontrol oleh ketiga input decoder

74LS138 yang terhubung ke P3.5, P3.6, dan P3.7. Oleh karena itu, dari 8 buah

display seven segment yang ada pada kit praktikum, selalu hanya ada satu display

yang menyala. Display seven segment dihidupkan secara bergantian dengan waktu tunda tertentu yang tidak kasat mata akan membuat display tampak menyala secara bersamaan.

Gambar 6 merupakan push-button yang digunakan sebagai tombol inisiasi terhadap lampu lalu lintas. Selain push-button, keypad juga dapat digunakan sebagai tombol untuk inisiasi.

Gambar 5 Rangkaian decoder 74LS138 dengan mikrokontroler dan 7-Segment

Tabel 1 Tabel Kebenaran 74LS138

SELEKTOR ENABLE OUTPUT

C B A G1 G2A G2B

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

P3.7 P3.6 P3.5 VCC EN EN

0 0 0 1 0 0 0 1 1 1 1 1 1 1

0 0 1 1 0 0 1 0 1 1 1 1 1 1

0 1 0 1 0 0 1 1 0 1 1 1 1 1

0 1 1 1 0 0 1 1 1 0 1 1 1 1

1 0 0 1 0 0 1 1 1 1 0 1 1 1

1 0 1 1 0 0 1 1 1 1 1 0 1 1

1 1 0 1 0 0 1 1 1 1 1 1 0 1

(18)

7

Keypad terdiri dari sejumlah saklar yang terhubung sebagai baris dan kolom seperti Gambar 7. Untuk mengetahui tombol mana yang ditekan, mikrokontroler akan melakukan teknik scanning dengan cara memberi logika low “0” ke salah

satu port yang terhubung ke kolom keypad (C1–C4). Selanjutnya, mikrokontroler memeriksa seluruh port yang terhubung pada baris (R1–R4) untuk menguji jika ada tombol yang ditekan pada baris dan kolom tersebut. Jika tidak ada tombol yang ditekan, maka mikrokontroler akan mendapati bahwa seluruh port yang terhubung pada baris (R1–R4) memiliki logika high “1”. Kedua tombol akan terhubung pada port yang sama, yaitu port 2. Oleh karena itu, dikembangkanlah 2 prototipe.

Dua set lampu lalu lintas yang digunakan dapat dilihat pada Gambar 8. Satu set lampu lalu lintas digunakan untuk pejalan kaki dan satu set lainnya digunakan untuk pengemudi kendaraan. Led yang digunakan sebagai lampu lalu lintas terhubung pada port 1. Komponen in system programming pada Gambar 9 digunakan untuk memprogram mikrokontroler 89x52. Skematik prototipe dengan

push button dan keypad yang telah dihubungkan dengan seluruh komponen yang digunakan dapat dilihat pada Lampiran 2 dan Lampiran 3.

Gambar 8 Dua set lampu lalu

lintas Gambar 9 In-System Programming (ISP)

Perangkat Lunak

Perangkat lunak yang akan digunakan pada penelitian ini adalah Emulator MCU 8051 IDE, compiler MIDE51, dan driverprogrammer ProgISP versi 1.72.

(19)

8

Penentuan Fungsi Prototipe

Pada tahap ini prototipe akan dirancang sesuai dengan kebutuhan pejalan kaki dalam menyeberang jalan.

Perancangan dan Modifikasi Algoritme

Algoritme yang diadopsi dalam penelitian ini adalah algoritme jam digital.

Timer yang digunakan pada algoritme jam digital adalah timer internal. Algoritme lainnya akan dikembangkan sesuai dengan fungsi yang diinginkan. Pengembangan algoritme dilakukan dengan menggunakan bahasa Assembly dengan bantuan perangkat lunak Emulator MCU 8051 IDE.

Implementasi Algoritme pada Prototipe

Algoritme yang telah dikembangkan akan diimplementasikan pada perangkat prototipe. Compiler yang digunakan adalah MIDE51 sedangkan programmer mikrokontroler yang digunakan adalah ProgISP versi 1.72.

Evaluasi

Pada tahap ini, fungsionalitas prototipe akan diiuji dengan beberapa persyaratan, yaitu:

1 Kondisi default dapat ditampilkan.

2 Kondisi menyeberang dapat diinisiasi dengan tombol. Tombol yang digunakan terdiri atas push-button dan keypad.

a Waktu kondisi menyeberang dengan menggunakan push-button diaktifkan dengan menekan push-button sebanyak 2 kali.

b Waktu kondisi menyeberang dengan menggunakan tombol keypad

diaktifkan dengan menekan keypad ENT setelah terlebih dahulu menekan

keypad angka secara bebas. Pada keypad, waktu hitung mundur dapat dihapus dan kemudian diganti dengan menggunakan keypad COR atau MEN.

3 Waktu hitung mundur dapat ditampilkan pada sevensegment. 4 Setelah waktu habis, lampu lalu lintas kembali ke kondisi default. 5 Tombol tidak dapat ditekan kembali sebelum jeda waktu 5 menit.

6 Prototipe akan memberikan waktu hitung mundur selama x detik. Nilai x yang tersimpan pada masing-masing push-button adalah 10, 20, 30, 40, 50, dan 60 detik, sedangkan nilai x yang dapat dihasilkan dengan keypad adalah 0-99 detik.

7 Transisi lampu merah menjadi hijau dan sebaliknya menggunakan lampu kuning.

(20)

9

HASIL DAN PEMBAHASAN

Rancangan Fungsi Prototipe Fungsi prototipe yang dikembangkan adalah:

1 Kondisi default: lampu hijau pada salah satu set lampu lalu lintas (yang diasumsikan untuk kendaraan) dan lampu merah pada set lampu lalu lintas lainnya (yang diasumsikan untuk pejalan kaki) menyala.

2 Kondisi lampu lalu lintas dapat diubah menjadi “kondisi menyeberang”, yaitu kebalikan dari kondisi default-nya melalui inisiasi tombol. Setelah tombol ditekan, sevensegment akan menampilkan perhitungan mundur dalam detik. 3 Waktu “kondisi menyeberang” yang akan ditampilkan pada seven segment

ditentukan melalui push-button, dengan rentang nilai antara 10-60 detik, dan

keypad, dengan rentang nilai 0-99 detik.

4 Transisi lampu merah menjadi hijau dan sebaliknya menggunakan lampu kuning.

5 Tombol dapat ditekan kembali setelah jeda waktu 5 menit.

Rancangan Algoritme

Algoritme dikembangkan berdasarkan fungsi prototipe yang telah ditentukan, seperti yang dapat dilihat pada Gambar 10 (dengan push-button) dan Gambar 11 (dengan keypad). Prototipe dimulai dengan kondisi default, yaitu lampu hijau pada lampu A, satu set lampu lalu lintas untuk pengemudi kendaraan, dan lampu merah pada lampu B, satu set lampu lalu lintas untuk pejalan kaki, menyala serta sevensegment masih dalam keadaan non-aktif.

Tombol yang digunakan untuk inisiasi terdiri atas push-button dan keypad. Pada Gambar 10, dapat dilihat bahwa apabila push-button ditekan sekali, seven segment aktif untuk menampilkan waktu penyeberangan x detik. Enam buah push-button yang digunakan mewakili masing-masing nilai x, yaitu 10, 20, 30, 40, 50, dan 60. Penekanan push-button kedua kalinya akan membuat kondisi default

berubah menjadi kondisi menyeberang, yaitu lampu hijau pada lampu A berubah menjadi merah, lampu merah pada lampu B berubah menjadi hijau, serta seven segment akan mulai menampilkan hitungan mundur dari x detik ke 0.

Selain push-button, keypad dapat digunakan untuk menentukan waktu menyeberang. Prototipe yang kedua (Gambar 10), penekanan angka keypad akan menentukan waktu menyeberang. Nilai x yang dihasilkan dengan keypad

memiliki rentang nilai yang lebih luas, yaitu antara 0-99 detik. Seven segment

akan mulai menampilkan hitung mundur setelah keypad ENT ditekan.

(21)

10

Pilihan waktu menyeberang yang diterapkan pada prototipe cukup bervarisi. Waktu menyeberang dipengaruhi oleh lebar jalan dan kecepatan pejalan kaki. Ukuran umum lebar jalan adalah 3.25 sampai 3.75 m (Bang 1997). Sedangkan rata-rata kecepatan pejalan kaki adalah 3.5 ft/s atau sama dengan 1.1 m/s (LaPlante and Kaeser 2007). Oleh karena itu, standar waktu menyeberang pejalan kaki dapat ditentukan dengan menghitung hasil bagi lebar jalan dengan kecepatan pejalan kaki. Rata-rata waktu menyeberang yang dapat dijadikan acuan untuk menyeberang adalah 20-30 detik (LaPlante and Kaeser 2007).

Keterangan gambar: A= Pengemudi kendaraan B= Pejalan kaki

x= 00-99

Gambar 11 Algoritme dengan

keypad

Keterangan gambar: A= Pengemudi kendaraan B= Pejalan kaki

x= 10, 20, 30, 40, 50, 60

Gambar 10 Algoritme dengan

(22)

11 Perhitungan mundur (detik) yang ditampilkan pada seven segment

menggunakan algoritme jam digital yang menggunakan sarana timer yang ditimbulkan oleh interupsi, ditunjukkan pada Gambar 12. Mikrokontroler jenis 89x52 mempunyai 3 perangkat timer/ counter, yaitu Timer 0, Timer 1, dan Timer

2. Perangkat timer/ counter tersebut dapat diakses dengan menggunakan register khusus yang tersimpan dalam SFR (Special Function Register). Dalam mengatur kerja timer/ counter tersebut digunakan 2 register tambahan yang dipakai bersama oleh Timer 0 dan Timer 1. Register tambahan tersebut adalah register TCON (Timer Control Register) dan register TMOD (Timer Mode Register).

Pencacah biner timer/ counter 89x52 merupakan pencacah biner 16 bit naik yang mencacah dari 0000h sampai FFFFh. Saat kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal limpahan (overflow). TL0 (Timer 0

low byte), TH0 (Timer 0 high byte), TL1 (Timer 1 low byte), dan TH1 (Timer 1

high byte) merupakan SFR yang dipakai untuk membentuk pencacah biner Timer

0 dan Timer 1 dengan indikator limpahan pada TF0 dan TF1. Timer 2 menggunakan register TL2, TH2, RCAP2L dan RCAP2H serta indikator limpahan TF2.

Jumlah ruang untuk pencacahan ditentukan oleh mode kerja timer sebagai berikut:

1 Mode 0 mengaktifkan timer sebagai pencacah 13 bit dan diaktifkan dengan mengeset bit M1 = 0 dan bit M0 = 0 pada SFR TMOD. Pada mode ini, TLx hanya akan menghitung hingga 5 bit, sedangkan THx akan menghitung hingga 8 bit. Timer pencacah 13 bit akan overflow setelah 213 atau 8192 hitungan. 2 Mode 1 mengaktifkan timer sebagai pencacah 16 bit dan diaktifkan dengan

mengeset bit M1 = 0 dan bit M0 = 1 pada SFR TMOD. Pada mode ini, TLx dan Thx difungsikan secara penuh (masing-maisng 8 bit). Timer pencacah 16 bit akan overflow setelah 216 atau 65536 hitungan.

3 Mode 2 mengaktifkan timer sebagai pencacah 8 bit dengan autoreload. Mode ini diaktifkan dengan mengeset bit M1 = 1 dan bit M0 = 0 pada SFR TMOD. TLx digunakan sebagai register pencacah, sementara THx diisi dengan data yang akan di-“reload”-kan jika TLx telah overflow. Jumlah hitungan pencacahan yang dilakukan adalah 28 atau 256 dikurangi nilai yang tersimpan pada THx.

4 Mode 3 hanya berlaku pada timer 0 yang akan memfungsikan TL0 dan TH0 sebagai register 8 bit yang memiliki fungsi berbeda satu sama lain. TL0 dikendalikan oleh bit-bit TMOD dan TCON untuk timer 0, sedangkan TH0 diatur oleh bit-bit TCON untuk timer 1. Mode ini diaktifkan dengan mengeset bit M1 = 1 dan bit M0 = 1 pada SFR TMOD.

Prototipe ini menggunakan Timer 0 yang akan diakses melalui register TL0 dan TH0. Indikator limpahan memakai TF0 untuk membangkitkan clock jam digital yang akan ditampilkan pada seven segmen, bagian detik puluhan (display

6), dan detik satuan (display 7). Mode timer yang digunakan adalah mode 1 (timer

(23)

12

Timer akan overflow setiap 65536 hitungan. Clock internal mikrokontroler adalah 12 MHz, maka satu hitungan setara dengan 1 mikrodetik. Dengan kata lain,

timer akan overflow setiap 65536 mikrodetik. Hitungan timer yang akan digunakan setiap kali overflow adalah 50000 mikrodetik atau 0.05 detik dan 20 kali overflow akan setara dengan 1 detik. Angka 50000 dipilih agar hitungan menjadi bulat dan mudah dikonversi menjadi satuan detik. Untuk membangkitkan interupsi timer setiap 50000 mikrodetik, maka data awal yang harus diisikan pada register timer adalah sebagai berikut:

65536 - 50000 = 15536 (desimal) atau 3CB0h

Nilai 3CB0h akan diberikan sebagai nilai awal timer dengan aturan data 3Ch diisikan sebagai nilai awal register TH0 dan B0h diisikan sebagai nilai awal register TL0. Dengan demikian, interupsi TF0 akan segera dibangkitkan setiap 50000 mikrodetik atau 0,05 detik.

Berdasarkan perhitungan di atas, penggunaan mode 1 lebih mudah dibanding mode lainnya. Misalnya, perhitungan dengan menggunakan mode 3. Mode 3 sebagai register 8 bit memiliki nilai overflow setiap 28 atau 255 mikrodetik. Untuk menghasilkan 1 detik, maka timer dengan mode 3 akan

overflow sebanyak 1 detik/ 255 mikrodetik. Nilai dari hasil bagi tersebut tidak bulat sehingga untuk mengkonversikannya pada bilangan hexadesimal cukup sulit. Oleh karena itu, dipilihlah angka 250 sebagai nilai untuk overflow. Untuk membangkitkan interupsi timer setiap 250 mikrodetik, data awal yang harus diisikan pada register timer adalah sebagai berikut:

255-250 = 5 (desimal) atau 5h

Nilai 5h akan diberikan sebagai nilai awal timer pada register TL0. Timer dengan nilai overflow 250 mikrodetik akan menghasilkan 1 detik setelah 4000 kali

overflow. Satu detik diperoleh setelah 4000 kali akan membutuhkan daya yang besar dibandingkan dengan overflow setelah 20 kali. Oleh karena itu, penggunaan

timer 0 dengan mode 1 lebih menguntungkan untuk perhitungan interupsi pada prototipe.

Mikrokontroler keluarga MCS51 menyediakan fasilitas untuk 5 jenis sumber interupsi yaitu 2 sumber interupsi eksternal (melalui pin INT0 dan INT1 pada mikrokontroler) dan 3 sumber interupsi internal (Timer 0, Timer 1, dan Port

Serial). Agar interupsi dapat dilayani maka instruksi Assembly interrupt routine harus ditempatkan pada alamat vektor tertentu seperti pada Tabel 2, sesuai dengan sumber interupsi yang akan digunakan. Prototipe ini menggunakan interupsi internal Timer 0 (alamat 000Bh).

Tabel 2 Alamat vektor interupsi Source Vector Address

IE0 0003h

TF0 000Bh

IE1 0013h

TF1 001Bh

(24)

13

Implementasi Algoritme

Algoritme yang telah dirancang diimplementasikan dalam bahasa Assembly 8051. Diagram alir untuk subrutin interupsi dan seven segment dapat dilihat pada Lampiran 4. Listing program Assembly untuk prototipe dengan push-button dapat dilihat pada Lampiran 5. Listing program Assembly untuk prototipe dengan

keypad dapat dilihat pada Lampiran 6. Evaluasi

Evaluasi kedua prototipe ditunjukkan pada Tabel 3. Prototipe yang dikembangkan berhasil memenuhi seluruh persyaratan/ fungsi yang diinginkan. Namun, prototipe pertama masih memiliki kekurangan, yaitu pemilihan waktu menyeberang belum fleksibel. Misalnya waktu yang diinginkan adalah 20, tetapi tombol yang di tekan adalah tombol 30 (salah menekan push-button), maka untuk menampilkan angka 20, tombol 40, 50, 60, dan 10 harus ditekan terlebih dahulu.

Perbandingan kedua prototipe yang telah berhasil dikembangkan dapat dilhat pada Tabel 4. Prototipe dengan push-button kurang fleksibel dalam penentuan waktu menyeberang, hanya 10, 20, 30, 40, 50, dan 60 detik. Sedangkan prototipe dengan keypad dapat dipilih pada rentang nilai 0-99. Tetapi prototipe dengan push-button lebih mudah dalam penggunaannya dibandingkan dengan prototipe dengan keypad. Dalam implementasi, jika terjadi kerusakan pada push-button maka cukup dengan mengganti push-button yang rusak saja. Sedangkan

keypad, apabila 1 keypad mengalami kerusakan maka keseluruhan keypad harus diganti karena keypad bersifat paralel. Koreksi kesalahan dalam pemilihan waktu

(25)

14

menyeberang dengan push-button lebih sulit dilakukan daripada prototipe dengan

keypad karena pada keypad ada tombol yang digunakan untuk menghapus.

SIMPULAN DAN SARAN

Simpulan

Prototipe lampu lalu lintas bagi pejalan kaki berbasis mikrokontroler yang diinisiasi dengan tombol telah berhasil dikembangkan pada 2 prototipe. Kedua prototipe yang telah berhasil dibuat dengan menggunakan push-button dan menggunakan keypad. Kedua prototipe telah memenuhi ke-7 fungsi yang diinginkan. Prototipe dengan push-button lebih mudah dalam penggunaan dan pemeliharaannya. Sedangkan prototipe dengan keypad memiliki fleksibilitas dalam penentuan waktu menyeberang dan koreksi kesalahan penekanan lebih mudah.

Tabel 3 Evaluasi prototipe

No Fungsionalitas Hasil

1 Kondisi default dapat ditampilkan √

2 Kondisi menyeberang dapat diinisiasi dengan tombol yang

terdiri atas pushbutton dan keypad

3 Waktu hitung mundur dapat ditampilkan pada seven

segment

4 Setelah waktu habis, lampu lalu lintas kembali ke kondisi

default

5 Tombol tidak dapat ditekan kembali sebelum jeda waktu 5

menit √

6 Prototipe akan memberikan waktu hitung mundur selama x detik. Nilai x yang tersimpan pada masing-masing push button adalah 10, 20, 30, 40, 50, dan 60 detik. Nilai x yang dapat dihasilkan dengan keypad adalah 0-99 detik

7 Transisi lampu merah menjadi hijau dan sebaliknya

menggunakan lampu kuning √

Tabel 4 Perbandingan kedua prototipe yang dikembangkan

No Perbandingan Prototipe dengan

push-button

Prototipe dengan keypad

1 Fleksibilitas penentuan waktu

menyeberang Kurang fleksibel Lebih fleksibel 2 Kemudahan penggunaan Lebih mudah Lebih kompleks

3 Pemeliharaan Lebih mudah Lebih kompleks

(26)

15

Saran

Prototipe dengan push-button masih memiliki kekurangan dalam hal koreksi kesalahan penekanan. Pada penelitian selanjutnya, algoritme scan push-button

dapat diubah agar penekanan push-button tidak perlu berurutan. Kekurangan lainnya adalah jeda waktu penekanan tombol tidak dapat diubah selain melalui pemrograman ulang. Pada implementasinya dapat ditambahkan modul CCTV untuk menangkap gambar traffic kendaraan dan penyeberang jalan. Gambar ini dapat diolah dengan image processing untuk menentukan jumlah kendaraan dan penyeberang jalan. Informasi ini dapat digunakan untuk menentukan jeda waktu penekanan tombol berikutnya.

DAFTAR PUSTAKA

Bang KL. 1997. FinalReport: Indonesia HighwayCapacityManualandSoftware

(Kaji). Indonesian Highway Capacity Manual Project. 1997 Feb 25; Bandung, Jakarta. Bandung (ID).

Hamirani NS, Shaikh AA, Memon PM, Khatri YA. 2012. Wireless dual purpose propeller clock display. International Journal of Engineering and Technology. 2(3): 553-556.

Indonesia. Undang tentang Lalu Lintas dan Angkutan Jalan. Undang-Undang Nomor 22 Tahun 2009 Pasal 130 ayat 2

Jatmiko W, Arfan A, Krisnadhi AA, Kusumoputro B, Takagawa I, Sekiyama K, Fukuda T. 2009. Traffic signal control modification based on self-organizing in Indonesia. Di dalam: International Symposium on Micro-NanoMechatronics and Human Science. 2009 Nov 9-11. Nagoya, Jepang. hlm 598-601.

LaPlante J., Kaeser TP. 2007. A history of pedestrian signal walking speed assumptions. Di dalam: 3rd Urban Street Symposium; 2007 Jun 24-27; Seattle, Amerika Serikat. hlm 1-8.

(27)

16

Lampiran 1 Rangkaian praktikum yang digunakan

(28)
(29)

18

Lampiran 4 Diagram alir subrutin interupsi dan subrutin sevensegment

Lampiran 5 Listing program prototipe dengan push-button

;program untuk perubahan lampu oleh tombol P2.1 sudah benar ;pada program ini waktu tunggu dibuat 5s

detik equ 30h

detikpuluhan equ 31h detiksatuan equ 32h counter20 equ 33h

Org 0h Start0:

sjmp Start Org 0bh

Ljmp Interrupt_Timer0

Start:

Mov P1,#11110011b

(30)

19

call ClockDisplay_tombol

jnb P2.0,run

call ClockDisplay_tombol

jnb P2.1,run

call ClockDisplay_tombol

jnb P2.2,run

call ClockDisplay_tombol

jnb P2.3,run

call ClockDisplay_tombol

(31)

20

MOV detik, R7

CALL Update_tombol

call ClockDisplay_tombol

jnb P2.5,run

cjne A,#00h,Update_tombol

(32)

21

;subroutine delay time delay:

(33)
(34)

23

; Rest: -13.0 us ret

End

Lampiran 6 Listing program prototipe dengan keypad

col4 bit P2.7

sjmp Start1 ;lompat ke Start

Org 0bh ;mulai program dari alamat Ljmp Interrupt_Timer0

Start1:

MOV P2,#11111111b ;isi P2 dengan 11111111 mov keydata,#00h

mov output,#00h CALL CLEAR start:

Mov 90h,#11110011b

CALL keypad4x4 ;Calling subroutine keypad4x4 MOV A,keydata ;Copy keydata ke A

(35)
(36)
(37)

26

MOV keybounc,#1 ;keybounc = (default)50 MOV keyport,#0FFh ;keyport=P2= FF

CLR col4 ;col4 = 0

jb row1,keyENT ; Key CLR DJNZ keybounc,keyCLR

DJNZ keybounc,key3 ; Key ENT call delaytombol

MOV keydata,#03D ;Data Output INC R7

RET key6:

jb row2,key9

DJNZ keybounc,key6 ; Key 9 call delaytombol

MOV keydata,#06D ;Data Output inc R7

RET key9:

jb row3,key0

DJNZ keybounc,key9 ; Key 6 call delaytombol

MOV keydata,#09D ;Data Output inc R7

RET key0:

(38)

27

CLR col2 jb row4,key2

DJNZ keybounc,key0 call delaytombol

MOV keydata,#00D ;Data Output inc R7

MOV keydata,#02D ;Data Output inc R7

MOV keydata,#05D ;Data Output inc R7

MOV keydata,#08D ; Data Output inc R7

MOV keydata,#01D ;Data Output call delaytombol

MOV keydata,#04D ;Data Output inc R7

MOV keydata,#07D ;Data Output inc R7

(39)

28

clr P3.5 ;untuk kit praktikum: clr P3.5 setb P3.6 ;untuk kit praktikum: Setb P3.6 SETB P3.7 ;untuk kit praktikum: Setb P3.7 call delay;delaydisplay

(40)
(41)

30

RIWAYAT HIDUP

Figur

Gambar 5  Rangkaian decoder 74LS138 dengan

Gambar 5

Rangkaian decoder 74LS138 dengan p.17
Gambar 6 merupakan pushsebagai tombol untuk inisiasi.  terhadap lampu lalu lintas. Selain  -button yang digunakan sebagai tombol inisiasi push-button, keypad juga dapat digunakan

Gambar 6

merupakan pushsebagai tombol untuk inisiasi. terhadap lampu lalu lintas. Selain -button yang digunakan sebagai tombol inisiasi push-button, keypad juga dapat digunakan p.17
Gambar 8  Dua set lampu lalu

Gambar 8

Dua set lampu lalu p.18
Gambar 7  Rangkaian dasar  keypad 4x4

Gambar 7

Rangkaian dasar keypad 4x4 p.18
Gambar 10  Algoritme dengan

Gambar 10

Algoritme dengan p.21
Gambar 12  Algoritme interupsi Timer 0

Gambar 12

Algoritme interupsi Timer 0 p.24
Tabel 3  Evaluasi prototipe

Tabel 3

Evaluasi prototipe p.25

Referensi

Memperbarui...