SISTEM ANTRIAN PEMBAYARAN LOKET BERBASIS MIKROKONTROLER.
SI ST E M ANT R I AN P E M BAYAR AN L O K E T
BE R B ASI S M I K R O K O NT R O L E R
TUGAS AKHIR
Oleh :
GAGAP SURYO NEGORO
NPM. 0534010202
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL "VETERAN" JATIM
SUR ABAYA
2011
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Sistem Antrian Pembayaran Loket Berbasis Mikrokontroler
Pembimbing I : Basuki Rahmat, S.Si, MT
Pembimbing II : Fetty Tri Anggraeny, S.Kom
Penyusun
: Gagap Suryo Negoro
ABSTRAK
Teknologi pemrograman melalui komputer pada masa sekarang ini mengalami
perkembangan pesat. Hal ini menunjukan suatu kecenderungan yang mengarah
kepada pengembangan suatu sarana teknologi yang lebih praktis, efisien dan
ekonomis untuk mempermudah dan mempercepat aktivitas manusia. Melalui
program Visual Basic 6.0 dapat membuat sistem aplikasi otomatis melalui
komputer sebagai sarana kontrol. Aplikasi yang dibuat oleh penulis yaitu berupa
sistem antrian.
Adapun tujuan dari penelitian ini adalah membuat sistem perangkat lunak
digunakan untuk mengatur atau mengontrol pengambilan dan pemanggilan nomor
antrian pada loket. Pembuatan aplikasi ini diharapkan dapat memberikan kemudahan
aktivitas dan efektifitas petugas loket antrian dalam melakukan pelayanan transaksi
(rekening listrik, rekening telepon, dan rekening PDAM, dan lain-lain) sehingga
antrian dapat berjalan tertib.
Dalam merealisasikan penulisan Tugas Akhir ini menggunakan metode
simulasi untuk menyelesaikan sistem antrian Perancangan perangkat lunak
menggunakan bahasa pemrograman Visual Basic 6.0 dan perangkat keras
mikrokontroler dengan mengunakan bascom untuk menterjemahkan input atau output,
kinerja simulasi sistem antrian untuk mengatur dan mengontrol pemanggilan nomer
antrian berdasar kan pada asas tata tertib “masuk pertama, keluar pertama” (FIFO =
First-In, First-Out), dengan menggunakan aplikasi sistem antrian ini membantu
petugas loket dalam melakukan pelayanan terhadap pengantri, pengantri tidak harus
berdiri mengantri di depan loket selain itu membantu petugas loket memberikan
pelayanan dengan cepat.
Kata kunci : Mikrokontroler, Aplikasi, First-In, Firs-Out
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
KATA PENGANTAR
Dengan nama Allah SWT Yang Maha Pengasih dan Maha Penyayang.
Segala puji bagi Allah SWT karena atas rahmat dan hidayahNya-lah penulis dapat
menyelesaikan Tugas Akhir yag berjudul “Sistem Antr ian Pembayaran Loket
Ber basis Mikr okontroler”. Shalawat dan salam atas junjungan besar kita Nabi
Muhammad S.A.W. beserta keluarga dan para sahabat sekalian. Tugas Akhir ini
disusun untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Teknik
di Jurusan Teknik Informatika Program Studi Teknik Informatik Fakultas Teknik
Industri Universitas Pembangunan Nasional Surabaya Jawa Timur.
Melalui kesempatan ini, penulis ingin menyampaikan rasa hormat dan
terima kasih penulis yang sebesar-besarnya kepada semua pihak yang telah
memberikan bantuan bantuan baik lahir maupun batin selama penulisan tugas
akhir ini. Oleh karena itu, pada kesempatan ini penulis ingin menyampaikan rasa
hormat dan terima kasih penulis kepada :
1.
Kedua Orang Tua penulis (Budiyanto dan Saptowati) serta seluruh keluarga
yang
senantiasa
tiada
henti
hentinya
memberikan
do’a
demi
terselesaikannya tugas akhir ini.
2.
Bapak Ir. Sutiyono, MT selaku dekan FTI, UPN “Veteran”Jawa Timur.
3.
Ibu Dr. Ir. Ni Ketut Sari, MT selaku ketua jurusan Teknik Informatika, FTI,
UPN “Veteran” Jawa Timur
4.
Bapak Basuki Rahmat, S.Si., MT selaku dosen pembimbing 1 tugas akhir
penulis
ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5.
Fetty Tri Anggraeny. S.Kom selaku dosen pembimbing 2 tugas akhir
penulis.
6.
Seluruh Dosen Teknik Informatika Upn atas kesediaan membagi ilmunya
kepada penulis.
7.
Teman-temanku seperjuangan dan sependeritaan terima kasih atas segala
bantuannya selama menjadi mahasiswa.
8.
Semua pihak yang tidak dapat penulis sebutkan satu per satu yang terlibat
baik secara langsung maupun tidak langsung demi terselesaikannya tugas
akhir ini.
Hanya doa yang bisa penulis berikan semoga Allah SWT memberikan
pahala serta balasan kebaikan yang berlipat ganda. Penulis menyadari bahwa
tugas akhir ini masih banyak kekurangan dan masih jauh dari sempurna. Untuk
itu, saran dan kritik yang membangun sangat penulis harapkan. Semoga tugas
akhir ini membawa manfaat bagi penyusun maupun pihak lain yang
menggunakannya.
Surabaya, Oktober 2011
Penulis
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
ABSTRAK .........................................................................................................
i
KATA PENGANTAR ...................................................................................... ii
DAFTAR ISI ..................................................................................................... iv
DAFTAR GAMBAR ........................................................................................ vii
DAFTAR TABEL ............................................................................................ ix
BAB I
PENDAHULUAN .............................................................................. 1
1.1 Latar Belakang ............................................................................ 1
1.2 Perumusan Masalah .................................................................... 3
1.3 Batasan Masalah ........................................................................ 3
1.4 Tujuan ........................................................................................ 4
1.5 Manfaat ...................................................................................... 4
1.6 Metode Penelitian ...................................................................... 4
1.7 Sistematika Penulisan ................................................................ 5
BAB II TINJ AUAN PUSTAKA ..................................................................... 7
2.1
Mikrokontroler AT89S52 ........................................................... 7
2.1.1 Konfigurasi Pin ................................................................. 10
2.1.2 Dasar Mikrokontroler ........................................................ 15
2.2
Bascom-8051 Sebagai Compiler Basic ...................................... 21
2.2.1 Karakter Dalam Bascom .................................................. 22
2.2.2 Tipe Data ...................... .................................................... 23
2.2.3 Variabel ............................................................................. 23
2.2.4 Alias .................................................................................. 24
2.2.5 Konstanta .......................................................................... 25
2.2.6 Array ................................................................................. 26
2.2.7 Operasi-operasi Dalam Bascom ....................................... 26
2.2.8 Kontrol Program ............................................................... 28
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.2.8.1 If Then .................................................................. 28
2.2.8.2 Select Case ............................................................ 29
2.2.8.3 While End ............................................................. 30
2.2.8.4 Do Loop ................................................................ 30
2.2.8.5 For Next ............................................................... 30
2.2.8.6 Exit ....................................................................... 31
2.3
Microsoft Access 2003 .............................................................. 31
2.4
Visual Basic 6.0 ......................................................................... 33
2.4.1 Kelebihan Visual Basic 6.0 ............................................... 34
2.4.2 Lingkungan Visual Basic 6.0 ............................................ 35
2.4.3 Menjalankan IDE .............................................................. 36
2.4.4 Memilih Jenis Project ....................................................... 36
2.4.5 Jendela IDE ....................................................................... 37
2.5
Kerangka Berpikir ...................................................................... 43
BAB III ANALISIS DAN PERANCANGAN SISTEM ................................. 45
3.1
Analisis Sistem .......................................................................... 45
3.2
Perancangan Sistem .................................................................. 47
3.2.1 Alur Umum sistem ............................................................ 48
3.2.2 Spesifikasi Peralatan ......................................................... 49
3.3
Perancangan Flowchart Program ............................................... 50
3.3.1 Flowchart Input Data Antrian ........................................... 51
3.3.2 Flowchart Baca Nomer Antrian ........................................ 52
3.3.3 Flowchart Ulang Nomer Antrian ...................................... 53
3.4
Perancangan Hardware ............................................................... 54
3.4.1 Blok Catudaya .................................................................. 55
3.4.2 Blok Pemberi Inputam ...................................................... 56
3.5
Perancangan Antar Muka Perangkat Lunak ............................... 57
3.5.1 From Utama ...................................................................... 57
3.5.2 From User ......................................................................... 58
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3.5.3 Form Pembuat Pesan ........................................................ 58
BAB IV IMPLEMENTASI SISTEM ............................................................. 59
4.1.
Lingkungan Implementasi ......................................................... 59
4.2.
Implementasi Data ..................................................................... 60
4.3.
Implementasi Antar Muka ......................................................... 62
4.3.1. Form Layar Utama .......................................................... 63
4.3.2. Form User ....................................................................... 65
4.3.3. Form Pembuat Informasi ................................................ 66
4.3.4. Form Print Out Nomer Antrian ....................................... 67
4.4.
Implementasi Hardware .............................................................. 67
4.4.1 Rangkaian Mikrokontroler .............................................. 68
4.4.2 Pengisian Program Mikrokontroler ................................. 69
BAB V UJ I COBA DAN EVALUASI ........................................................... 72
5.1. Uji Coba Perangkat Keras (Hardware) ........................................ 72
5.2.1. Uji Coba Rangkaian Mikrokontroler AT89S52 .............. 72
5.2.2. Koneksi Software Dengan USB Converter RS 232 ........ 74
5.2.3. Pengisian Program Mikrokontroler ................................ 74
5.2. Uji Coba Aplikasi ........................................................................ 76
5.2.1. Uji Coba Form Layar Utama .......................................... 76
5.2.2. Uji Coba Form User ........................................................ 77
5.2.3. Uji Coba Form Pembuat Informasi ................................. 80
5.3. Uji Coba Komputer Mati Dinyalakan Lagi ................................. 82
5.4. Uji Coba Ganti Hari dan Tanggal ................................................ 83
BAB VI PENUTUP ........................................................................................... 85
6.1. Kesimpulan ................................................................................. 85
6.2. Saran ........................................................................................... 85
DAFTAR PUSTAKA ....................................................................................... 87
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar 2.1. Blok Diagram Mikrokontroler ………………………………….. 10
Gambar 2.2. Konfigurasi Pin …………………………………………………. 11
Gambar 2.3. 256 byte RAM Internal Bagian Bawah (Lower) ………………... 18
Gambar 2.4. 256 byte RAM Bagian Atas …………………………………...... 19
Gambar 2.5. Bit Latch Dan I/O Buffer ……………………………………….. 21
Gambar 2.6. Pendeklarasian Variabel Dalam BASCOM …………………….. 24
Gambar 2.7. Tampilan pilihan program pada Visual Basic 6.0 ……………… 36
Gambar 2.8. IDE Visual Basic 6.0 …………………………………………… 37
Gambar 2.9. Menubar ………………………………………………………… 38
Gambar 2.10. Toolbar ……………………….………………………………... 38
Gambar 2.11. Toolbox Visual Basic 6.0 ……………………………………… 39
Gambar 2.12. Jendela Form …………………………………………………... 41
Gambar 2.13. Project Explorer ……………………………………………….. 42
Gambar 2.14. Jendela Propertis ………………………………………………. 42
Gambar 2.15. Diagram Sistem Antrian Otomatis Menggunakan Komputer … 44
Gambar 3.1 Diagram sistem antrian loket …………………………………… 48
Gambar 3.2 Flowchart Input Data Antrian …..……………………………….. 51
Gambar 3.3 Flowchart Baca Nomor Antrian ……....…………………………. 52
Gambar 3.4 Flowchart Ulang Nomor Antrian ..……………………………… 53
Gambar 3.5 Gambar skema rangkaian mikrokontroler ...................................... 54
Gambar 3.6 Skema Rangkaian Catudaya ….................………………………. 56
Gambar 3.7 Skema rangkain saklar sebagai inputan …..…………………….. 56
Gambar 3.8 Gambar Form Utama ……………………………………………. 57
Gambar 3.9 Gambar Form User ……...................…………………………….. 58
Gambar 3.10 Gambar Form Membuat Pesan ………………………………….. 58
Gambar 4.1 Tabel Pengunjung .......................................................................... 60
Gambar 4.2 Tabel Suara .................................................................................... 61
viii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 4.3 Gambar Sound Recorder ................................................................ 61
Gambar 4.4 Form Utama Layar ........................................................................ 63
Gambar 4.5 Pseudocode menampilkan informasi pada layar utama .................. 64
Gambar 4.6 Pseudocode menampilkan nomor antrian ...................................... 64
Gambar 4.7 Pseudocode pengecekan nomor antrian ......................................... 65
Gambar 4.8 Form User ...................................................................................... 65
Gambar 4.9 Pseudocode form user .................................................................... 66
Gambar 4.10 Form Pembuat Informasi ............................................................. 66
Gambar 4.11 Form Print Out Nomor Antrian ................................................... 67
Gambar 4.12 Rangkaian Mikrokontroler............................................................ 68
Gambar 4.13 Microcontroller ISP software ....................................................... 70
Gambar 4.14 Memilih File HEX yang telah dibuat ........................................... 70
Gambar 4.15 Pseudocode Bascom .................................................................... 71
Gambar 5.1 Pemasangan tombol push pada mikrokontroler ............................. 73
Gambar 5.2 Memilih file .HEX yang di simpan ............................................... 75
Gambar 5.3 Program ISP..................................................................................... 75
Gambar 5.4 Form layar utama masih kosong .................................................... 76
Gambar 5.5 Form Layar Utama yang menampilkan nomor antrian .................. 77
Gambar 5.6 Form User ...................................................................................... 78
Gambar 5.7 Gambar layar utama untuk menampilkan nomor antrian ............... 79
Gambar 5.8 Form pembuat informasi yang masih kosong ................................ 79
Gambar 5.9 Form pembuat informasi yang sudah terisi .................................... 80
Gambar 5.10 Informasi yang berhasil disimpan ............................................... 81
Gambar 5.11 Layar utama tetap menampilkan informasi yang lama ................ 81
Gambar 5.12 Gambar layar utama sebelum komputer dan aplikasi di matikan.. 82
Gambar 5.13 Gambar layar utama berjalan kembali ........................................ 83
Gambar 5.14 Gambar layar utama nomor antrian terakhir sebelum ganti hari .. 84
Gambar 5.15 Gambar layar utama yang telah di ganti hari ............................... 84
ix
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
Tabel 2.1. Fungsi Alternatif Port 1 ……………………………………………. 12
Tabel 2.2. Fungsi Alternatif Port 3 ……………………………………………. 13
Tabel 2.3. Karakter Dalam BASCOM-8051 ………………………………….. 22
Tabel 2.4. Tipe Data …………………………………………………………... 23
Tabel 2.5. Operator Relasi ……………………………………………………. 27
Tabel 3.1 Port Mikrokontroler ………………………………………………… 55
Tabel 5.1 Hasil pengujian pada rangkaian mikrokontroler AT89S52 ……….. 73
x
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
PENDAHULUAN
1.1
Latar Belakang
Teknologi perangkat kontrol mengalami perkembangan sangat pesat,
berkembang dari masa ke masa seiring dengan meningkatnya kemampuan dan
kebutuhan hidup manusia. Perangkat kontrol semakin banyak dibutuhkan untuk
mengendalikan berbagai peralatan yang digunakan untuk membantu manusia
dalam menjalankan tugasnya sehari-hari. Pada layanan umum banyak orang yang
harus dilayani dan kalau orang yang melayani kurang biasanya diminta untuk
mengantri atau berbaris satu-persatu untuk menunggu mendapatkan layanan,
sehingga setiap orang yang sedang melakukan antrian saling menyerobot ingin
cepat dilayani, maka membuat petugas loket antrian akan kesulitan dalam
menentukan orang pertama yang akan dilayani dalam antrian. Hal ini sering
orang lihat atau alami misalnya di bank, apotek, dokter praktek dan ditempat
layanan umum lainnya. Tentu hal ini kurang
menyenangkan dan cenderung
memboroskan waktu.
Hal ini menunjukan suatu kencenderungan yang mengarah kepada
penciptaan maupun pengembangan suatu sarana teknologi otomatis yang lebih
praktis, efisien dan ekonomis untuk mempermudah dan mempercepat segala
aktivitas manusia. Peralatan otomatis banyak menggunakan komputer sebagai
sarana kontrol, sistem otomatis dengan batuan komputer tidak akan berjalan
apabila ada pemrograman atau perangkat lunak yang berfungsi sebagai perintah
kerja pada komputer. Dengan semakin murah dan memasyarakatnya komputer
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
banyak masalah kehidupan sehari-hari yang bisa diatasi, termasuk ke tidak
nyamanan karena harus mengantri. Komputer bisa mengakses peralatan eksternal
dengan perantaraan port masukan dan keluaran (port I/O). Karena keterbatasan
pin data pada port jenis ISA dengan memanfaatkan IC AT89S52 untuk menambah
jumlah pin ini menjadi 24 pin, terbagi menjadi 3 port yaitu port A, port B dan port
C dan bisa sebagai masukan ataupun keluaran. Dari 24 pin ini bisa mengatur IC
untuk driver display seven segmen, menerima masukan dari saklar tekan,
melakukan pencetakan pada printer dan mengaktifkan suara pada sound card. Ini
semua dilakukan dari komputer yang mengandung slot ISA bahasa pemrograman
yang di gunakan adalah Visual Basic 6.0.
Sistem antrian yang menggunakan program Visual Basic 6.0 sebagai
pembuat perintah pada komputer digunakan untuk mengontrol sistem antrian agar
lebih efisien dan efektif. Selanjutnya komputer tersebut menghasilkan nomor urut
antrian, bertujuan agar saat orang-orang melakukan antrian dapat berjalan dengan
tertib, sesuai dengan kertas nomor urutan yang didapatkan setelah menekan
tombol print out/cetak. Orang yang telah mengambil nomor antrian dari printer
tersebut tinggal menunggu pemanggilan nomor yang dimiliki untuk melakukan
transaksi pada loket antrian. Dengan menggunakan sistem ini diharapkan dapat
meningkatkan kenyamanan pelayanan, konsumen tidak perlu kelelahan berdiri
menunggu dibarisan antrian yang panjang dan mereka dapat dengan bebas
melakukan aktivitas sebelum nomor antrian mereka ditampilkan di display nomor.
Dari pihak pemakai sistem ini, petugas loket dapat memaksimalkan pelayanan
terhadap konsumen, dengan membuat atau melakukan evaluasi dari proses kerja
para operator dengan menggunakan sistem database dari sistem antrian ini.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
1.2
Perumusan Masalah
Berdasarkan latar belakang diatas, maka dapat dibuat suatu rumusan
masalah, yaitu :
a. Bagaimana membuat suatu program untuk mengendalikan proses
pengambilan dan pemanggilan nomor pada loket antrian dengan
berbasis mikrokontroler.
b. Bagaimana kinerja sistem antrian loket ketika masih menggunakan
sistem manual, setelah menggunakan sistem informasi antrian loket
ini dapat mempermudah petugas loket dalam melayani pengantri.
1.3
Batasan Masalah
Dalam pengerjaan tugas akhir ini, untuk mengatasi permasalahan yang ada
maka penyusun membatasi permasalahan sebagai berikut :
a. Area
pengerjaan
meliputi
pengelolaan
antrian
pada
loket
pembayaran.
b. Metode yang digunakan dalam analisis sistem antrian adalah metode
antrian dengan pelayanan FIFO ( First In First Out ) : pengantri
yang pertama datang yang pertama keluar.
c. Penggunaan nomor kartu antrian dibatasi oleh nomor kartu antrian
terbesar jika sudah mencapai batas nomor antrian maksimal maka
akan di kembalikan ke nomor antrian terkecil.
d. Aplikasi yang dibuat berbasis Dekstop dengan menggunakan bahasa
pemrograman Visual Basic 6.0 dimana keduanya berbasis windows.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
e. Ruang lingkup Tugas Akhir
ini
terbatas pada pengaplikasian (
software ) bahasa pemrograman Visual Basic 6.0.
f. Untuk simulasi display nomor antrian menggunakan komputer.
1.4
Tujuan
Tujuan dari tugas akhir ini adalah merancang dan membangun sistem
informasi antrian dengan menggunakan metode FIFO ( First In First Out ).
1.5
Manfaat
Manfaat yang dapat diraih dari pembuatan tugas akhir ini adalah memajukan
fasilitas pelayanan sistem antrian yang ada untuk mengatur atau mengontrol
pengambilan dan pemanggilan nomor antrian pada loket antrian.
1.6
Metode Penelitian
Metodologi yang digunakan dalam pembuatan skripsi ini meliputi beberapa
bagian, yaitu :
a. Mencari literatur atau data-data yang berhubungan dengan
mikrokontroler, Visual Basic 6.0, dan semua komponen yang
dipakai dalam pembuatan alat tugas akhir ini dan mempelajarinya.
b. Mempelajari
tentang
dasar
teori
yang
digunakan
dalam
menyelesaikan tugas akhir.
c. Mendesain dan membuat program untuk mencetak dan memanggil
nomor antrian dengan menggunakan program bahasa Visual Basic
6.0 dan Bascom.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
d. Merancang serta menguji sistem minimal Mikrokontroler AT89S52
sebagai pengendali sistem secara keseluruhan.
e. Menguji kinerja sistem secara keseluruhan serta mengambil data
dari hasil perancangan.
f. Menganalisa hasil dan membuat kesimpulan.
1.7
Sistematika Penelitian
Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab
dengan sistematika pembahasan sebagai berikut :
BAB I
PENDAHULUAN
Bab
ini berisikan tentang latar
belakang
masalah,
perumusan masalah, batasan masalah, tujuan, manfaat, dan
sistematika penulisan pembuatan tugas akhir ini.
BAB II
TINJ AUAN PUSTAKA
Pada bab ini dijelaskan tentang teori-teori serta penjelasanpenjalasan yang dibutuhkan dalam pembuatan Sistem
Antrian Loket Berbasis Mikrokontroller.
BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab ini dijelaskan tentang garis besar dan fokus dari
rancangan aplikasi, juga berisi tentang alur proses program
serta hal-hal yang diperlukan dalam implementasi. Seperti,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
Flowchart, Data Flow Diagram (DFD), Entity Relational
Diagram (ERD), dan Desain Antar muka.
BAB IV
IMPLEMENTASI SISTEM
Pada bab ini berisikan bagaimana implementasi aplikasi
yang telah dibuat berdasarkan desain sebelumnya yang telah
dibuat.
BAB V
UJ I COBA DAN EVALUASI
Pada bab ini menjelaskan tentang pelaksanaan uji coba dan
evaluasi dari pelaksanaan uji coba dari program yang
dibuat. Uji coba program dapat dilakukan pada akhir dari
tahap-tahap analisa sistem, desain sistem dan tahap
penerapan sistem atau implementasi sistem. Sasaran dari uji
coba program adalah untuk menemukan kesalahankesalahan dari program yang mungkin terjadi sehingga
dapat segera diperbaiki.
BAB VI
PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari hasil
penganalisaan data dalam bab-bab sebelumnya. Juga berisi
tentang saran-saran yang diharapkan dapat bermanfaat dan
sesuai dengan tujuan penelitian tugas akhir ini.
DAFTAR PUSTAKA
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
TINJ AUAN PUSTAKA
2.1
Mikrokontroler AT89S52
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem
komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu
komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemenelemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output
spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti
umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksiinstruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari
suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang
programmer. Program ini menginstruksikan komputer untuk melakukan jalinan
yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih
kompleks yang diinginkan oleh programmer.
Mikrokontroler adalah mikroprosessor mini yang dirancang khusus untuk
aplikasi kontrol, dan dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu
chip. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis
dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca
dan menulis data. Mikrokontroler tipe AT89S52 buatan Atmel merupakan salah
satu tipe mikrokontroler yang mempunyai arsitektur mikrokontroler 8051.
Mikrokontroler dengan arsitektur 8051 merupakan salah satu jenis arsitektur
mikrokontroler yang paling lama dan paling banyak digunakan di dunia karena
7
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
bersifat low cost dan low performance. Arsitektur ini dikeluarkan pertama kali
oleh Intel dan kemudian menjadi sangat populer. Pada Intel seri – seri
mikrokontroler berarsitektur 8051 tergabung dalam satu keluarga mikrokontroler
yaitu keluarga MCS-51.Mikrokontroler ber-arsitektur 8051 baik dari keluarga
intel MCS-51 maupun dari vendor-vendor lain seperti Atmel, Phillips maupun
Siemens memiliki beragam tipe dan fasilitas, namun semuanya memiliki
arsitektur yang sama, serta set instruksi yang relatif tidak berbeda.
Mikrokontroler yang digunakan didalam proyek akhir ini adalah AT89S52
dari ATMEL yang merupakan keluarga MCS 51 yang banyak berada di pasaran.
Mikrokontroler ini merupakan mikrokontroller 8 bit yang merupakan single chip
microcontroller, dimana semua rangkaian termasuk memori dan I/O tergabung
dalam satu pak IC. (Eko Putra Agfianto: 2003)
Mikrokontroler AT89S52 memiliki fasilitas antara lain:
a.
4K Bytes In-System Programmable (ISP) Flash Memori
b.
Range operasi 4.0V ke 5.5V.
c.
Operasi Secara penuh Statis: 0 Hz ke 33 MHZ.
d.
Tiga Level Program Memori Lock.
e.
256 x 8-bit RAM Internal.
f.
32 jalur I/O Programmable.
g.
Dua 16-bit Timer/Counters.
h.
Enam Sumber Interrupt.
i.
UART Full Duplex Saluran Serial.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
9
j.
Low-Power Idle dan Power-Down Modes.
k.
Interrupt Recovery dari Power-Down Modes.
l.
Tahan hapus isi sampai 1000 kali
AT89S52 adalah 8 bit CMOS mikrokomputer yang dilengkapi dengan 4
Kb Flash Memory, yang bekerja pada tegangan rendah dengan kemampuan tinggi.
IC ini diproduksi oleh Atmel dengan teknologi kepadatan tinggi (high
density), dengan non-valatile memori yang dapat diisi dengan program yang
intruksinya kompatibel dengan keluarga MCS-51.
Mengombinasikan CPU 8 bit serbaguna dengan Flash Memory pada
sebuah chip monolitik, Atmel 89S52 adalah sebuah mikrokomputer handal yang
menghasilkan banyak aplikasi kontrol menjadi lebih fleksibel dan berbiaya
rendah.
AT89S52 menyediakan fitur standar: 4 Kb Flash Memory, 256 Byte RAM,
32 jalur I/O yang full duplex (dapat mengirim dan menerima secara bersamaan),
komparator tegangan analog yang presisi, oscilator, dan generator clock yang On
Chip (sudah tersedia di dalam chip).
Dengan tambahan AT89S52 yang didesain secara Static-Logic untuk
beroperasi hingga ke frekuensi nol dan mendukung dua software penghemat daya
yang dapat dipilih.
Idle Mode (mode dimana sistem tidak sedang bekerja) akan menghentikan
CPU, namun RAM, timer/counter, serial port dan interupsi
tetap dibiarkan
berfungsi. Power Down Mode menyimpan isi RAM, namun menghentikan
oscilator dan menonaktifkan seluruh fungsi chip sampai sistem direset secara
hardware (berikut blok diagram mikrokontroler pada Gambar 2.1).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
10
Gambar 2.1 Blok Diagram Mikrokontroler
2.1.1 Konfigurasi Pin
Berikut akan dijelaskan tentang konfigurasi pin dari mikrokontroler
AT89S52. Masing-masing dari pin memiliki fungsi tersendiri. Satu kumpulan
pin yang memiliki fungsi sama dan diwakili oleh sebuah register atau
alamat
tersendiri pada internal CPU-nya disebut juga port. (Budiharto W,
2007), Fungsi dari pin-pin tersebut adalah sebagai berikut :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
Gambar 2.2 Konfigurasi Pin
Berikut adalah penjelasan dari konfigurasi pin pada Gambar 2.2 :
a.
VCC
Tegangan sumber
b.
GND
Ground/nol
c.
Port 0
Sebuah port 8-bit yang dapat dipakai untuk akses I/O 2 arah, sebagai port
output tiap pinnya dapat menurunkan delapan TTL input dan pin-pinnya dapat
digunakan untuk inputan dengan impedansi tinggi.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
d.
Port 1
Port 8-bit yang dapat dipakai untuk akses 2 arah I/O, buffer output port 1
dapat menurunkan empat TTL input. Jika 1s dituliskan maka dapat dinaikkan
internal pull-upsnya dan dapat dipakai sebagai inputan. Sebagai inputan, port 1
akan secara eksternal menurunkan arus sumber dikarenakan ada internal pull-ups.
Pada Tabel 2.1 adalah fungsi alternative port 1.
Tabel 2.1 Fungsi Alternatif Port 1
e.
Por t
Fungsi alter native
P1.5
P1.6
P1.7
MOSI (digunakan untuk ISP)
MISO (digunakan untuk ISP)
SCK (digunakan untuk ISP)
Port 2
Sama dengan port 1, port 2 dapat mengeluarkan pengalamatan byte sampai
high-order selama akses pengalamatan dari eksternal program memori dan akses
ke eksternal data memori yang panjang serta menggunakan alamat 16-bit (MOVX
@DPTR). Pada akses ke eksternal data memori yang menggunakan alamat 8-bit
(MOVX @R1), port 2 mengeluarkan isi dari P2 Special Function Register.
f.
Port 3
Adalah sebuah port yang dapat dipakai sebagai input atau outputan dengan
internal pull-ups. Dapat menurunkan empat TTL input, sebagai input pin pada
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
port 3 akan dapat secara eksternal diturunkan oleh arus sumber atau sebagai
peredam sinyal yang disebabkan oleh pull-ups.
Port 3 menerima beberapa sinyal kontrol untuk pemrograman dan
verifikasi. Juga dapat melayani fungsi dari macam-macam fitur spesial dari
AT89S52 seperti yang ditunjukkan pada Tabel 2.2.
Tabel 2.2 Fungsi Alternatif Port 3
Por t Pin
Fungsi Alter natif
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
RXD (serial input port)
TXD (serial output port)
INT0 (eksternal interrupt 0)
INT1 (eksternal interrupt 1)
T0 (timer 0 eksternal input)
T1 (timer 1 eksternal input)
WR (eksternal data memori write
strobe)
RD (eksternal data memori read
strobe)
P3.6
P3.7
g.
RST
Reset input. Pin membutuhkan keadaan high untuk 2 siklus mesin sampai
oscilator mengerjakan reset pada alat. Sesudah Watchdog timer, pin membutuhkan
keadaan high selama 98 periode oscilator. Bit DISRTO dalam SFR AUXR
(alamat 8EH) dapat digunakan untuk menonaktifkan reset. Dalam kondisi default
state bit DISRTO, reset akan berada dalam keadaan high jika telah diaktifkan.
h.
ALE/ PROG
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
Address Latch Enable adalah pulsa output untuk mengunci low byte pada
alamat selama akses ke eksternal memori. Pin ini juga berfungsi sebagai inputan
pulsa program selama Flash Programming. Dalam operasi normal ALE
dikeluarkan secara konstan pada 1/6 frekwensi oscilator dan dimungkinkan
digunakan untuk perwaktuan secara eksternal atau dengan tujuan pewaktuan.
Bagaimanapun bahwa satu dari pulsa ALE akan diloncati selama tiap akses ke
eksternal data memori. Operasi pada ALE dapat dinonaktifkan dengan menyetting
bit 0 pada SFR dengan alamat 8EH. Dengan penyettingan bit, ALE hanya akan
aktif selama perintah MOVX atau MOVC. Dengan cara lain pin dengan bit
rendah akan di pull-high. Penonaktifan setting bit pada ALE tidak akan ada
hasilnya jika dieksekusi secara eksternal mode pada mikrokontroller.
i.
PSEN
Program Store Enable berfungsi untuk membaca strobe yang menuju
memori eksternal program. Jika chip AT89S51 melakukan eksekusi kode dari
eksternal program memori, PSEN hanya dapat aktif dua kali tiap siklus mesin,
kecuali pengaktifa 2 PSEN dilompati selama tiap akses ke eksternal data memori.
j.
EA /VPP
External Access Enable harus terhubung ke GND untuk mengaktifkan
perintah yang dimaksud dan mengambil kode dari lokasi eksternal program
memori yang dimulai dari 0000H sampai FFFFH. Bagaimanapun bila bit 1 telah
dikunci lewat program, EA akan secara internal terhubung ke reset. EA
seharusnya tersambung juga ke VCC untuk mengeksekusi internal program. Pin
ini juga menerima tegangan 12 volt untuk program pengaktifan tegangan (VPP)
selama Flash Programming.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
k.
XTAL1
Yaitu inputan oscilator pembalik dan inputan ke pengoperasian clock
internal pada sirkuit.
l.
XTAL2
Outputan dari oscilator pembalik.
m. SFR
Sebuah peta pada chip memori area
2.1.2
Dasar Mikrokontroler
Sebuah mikrokontroler memiliki beberapa perlengkapan dasar, antara lain
adalah CPU, Alamat, Data, Pengendali, Memori, RAM, ROM, Input/ Output.
a.
Central Processing Unit (CPU)
Unit pengelola pusat (CPU) terdiri atas dua bagian yaiu unit pengendali
(CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah
untuk mengambil, mengkode, dan melaksanakan urutan instruksi pada sebuah
program yang tersimpan dalam memori. Sedangkan unit aritmatika atau
perhitungan bertugas untuk menangani operasi perhitungan maupun boolean
dalam program.
b.
Alamat
Sistem berbasis mikroprosesor atau mikrokontroler pada umumnya
mempunyai lebih dari satu device / peripheral seperti memori, input output,
Analog to Digital Converter (ADC), dan lain-lain. Masing-masing device ini perlu
diberi alamat, sama seperti rumah kita yang mempunyai alamat unik untuk tiap-
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
tiap rumah. Bayangkan apa yang terjadi kalau rumah-rumah itu tidak diberi
alamat, pasti kita akan kebingungan untuk menuju ke rumah tertentu. Demikian
pula dengan mikrokontroler, supaya dapat mengakses suatu device maka
mikrokontroler tersebut harus mengetahui alamat device yang akan diakses.
Address decoder akan memberikan alamat untuk tiap device.
c. Data
CPU mikrokontroler AT89S52 mempunyai lebar bus 8 bit. Pena data 8 bit
pada AT89S52 (D0, D7) ini terletak didalam chip karena jumlah pena luar pada
mikrokontroler terbatas. Pena untuk bus data di multipleks dengan alamat A0, A7
pada port 0, sehingga sering juga disebut AD0, AD7.
d.
Pengendali
Selain bus alamat dan bus data mikroprosesor atau mikrokontroler
dilengkapi juga dengan bus pengendali (control bus), yang fungsinya untuk
menyerempakkan operasi mikroprosesor atau mikrokontroler dengan operasi
rangkaian luar. Contoh pena pengendali ini antara lain ALE, PSEN, WR, RD,
interupsi dan lain-lain.
e.
Memori
“Kecanggihan” sebuah komputer atau kontroller ditentukan oleh program
yang kita buat. Memori digunakan sebagai tempat untuk menimpan program, data
dan stack. Progr am adalah
kumpulan instruksi untuk mengerjakan suatu
pekerjaan. Data adalah variabel-variabel yang dapat di ubah saat program
berjalan. Stack digunakan untuk menyimpan alamat kembali (return address) dan
juga dapat dipakai untuk menyimpan data. Umumnya didalam mikrokontroller
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
tersedia 2 jenis memori yaitu ROM dan RAM (Read Only Memory) bersifat hanya
dibaca dan isinya tidak hilang bila catu daya dimatikan, digunakan untuk
menyimpan program. Sedangkan RAM (Random-Access Memory) bersifat bisa
dibaca dan ditulis tetapi isinya bisa hilang bila catu daya dimatikan, digunakan
untuk menyimpan data stack. Dengan berkembangannya teknologi batas antara
ROM dan RAM kini agak kabur. ROM sekarang bisa ditulisi untuk tipe flash atau
EEROM. RAM sekarang juga tidak kehilangaan isinya saat catu daya dimatikan
yaitu pada tipe NVRAM (Non-Volatile RAM).
Memori di dalam Mikrokontroler berukuran terbatas. Untuk itu dan harus
tahu persis berapa kebutuhan memori yang digunakan. Kekurangan memori
menyebabkan program anda tidak berjalan dengan benar, terlalu banyak memori
yang tidak dipakai juga menyebabkan cost yang sia-sia.
f.
RAM
RAM (Random Access Memory) pada mikrokomputer bisa mencapai ukuran
sekian megabyte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di
luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip
mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128
byte, 256 byte dan seterusnya dan ukuran yang relatif kecil ini pun dirasa cukup
untuk aplikasi-aplikasi mikrokontroler.
Pada 256 byte bagian bawah, perhatikan Gambar 2.3. 32 byte pertama
(00h-1Fh) dikelompokkan menjadi 4 bank dari 8 register. Instruksi pada program
mengenalnya dengan sebutan R0 sampai R7. Dua bit pada Program Status Word
(PSW) digunakan untuk memilih bank register yang digunakan. Penggunaan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
instruksi yang mengakses register akan menghemat kode mesin dibandingkan
dengan instruksi yang mengakses lokasi secara langsung (direct addressing).
16 byte diatas bank register yaitu pada alamat 20h sampai 2Fh merupakan
daerah yang dapat dialamati secara bit. Alamat bit-bit pada daerah ini adalah 00h
sampai 7Fh.
Pendek kata, untuk RAM internal 256 byte bagian bawah, 32 byte pertama
dapat digunakan sebagai bank register, 16 byte berikutnya dapat dialamati perbit,
dan sisanya 80 byte dapat digunakan seperti biasa.
Gambar 2.3 256 byte RAM Internal Bagian Bawah (Lower)
RAM internal 256 byte atas merupakan tempat register fungsi khusus
(SFR). Gambar 2.4. menunjukan SFR untuk Mikrokontroler seri 89S52. SFR ini
meliputi alamat port, bit status dan kontrol, timer, register, stack pointer,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
akumularor dan lainnya. Bagian-bagian yang kosong digunakan untuk
pengembangan divais Mikrokontroller selanjutnya.
Gambar 2.4 256 byte RAM Bagian Atas
g.
ROM
ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang
dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem
mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah.
ROM adalah memori yang paling sederhana, kecil, dan murah. Sifat memori
program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu
daya.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
h.
Input/ Output
Diagram latch dan I/O buffer tiap bit dari Port 0 - Port 3. Port 1,2, dan 3
mempunyai pull-up internal. Sedangkan Port 0, konfigurasi outputnya adalah
open drain. Setiap bit I/O ini berdiri sendiri, jadi dapat berfungsi sebagai input
atau output tanpa tergantung satu sama lain. Port 0 dan 2 tidak dapat dipakai
sebagai I/O bila digunakan sebagai jalur alamat / data. Bila port-port tersebut
ingin difungsikan sebagai input, maka bit latch harus berisi '1', yang akan
mematikan output driver FET. Sehingga pin-pin Port 1,2, dan 3 akan 'ditarik' ke
high oleh pull-up internal, tetapi bila diinginkan dapat juga 'ditarik' ke low dengan
sumber external. Port 0 agak berbeda, karena tidak menggunakan pull-up internal.
FET pull-up pada output driver P0 (lihat gambar 6A) hanya digunakan pada saat
Port mengeluarkan '1' selama akses memori external, selain keadaan ini FET pullup tidak aktif. Akibatnya bila bit-bit P0 berfungsi sebagai output maka bersifat
open drain. Penulisan logika '1' ke bit latch menyebabkan kedua FET tidak
bekerja, sehingga pin dalam keadaan mengambang (floating). Pada kondisi ini pin
dapat berfungsi sebagai high impedance input. Port 1,2, dan 3 sering disebut
dengan 'quasibidirectional' karena mempunyai pull-up internal. Saat berfungsi
sebagai input maka mereka akan 'ditarik' ke high dan akan bersifat sebagai sumber
arus bila 'ditarik' ke low secara eksternal. Port 0 sering disebut sebagai 'truebidirectional', karena bila dikonfigurasikan sebagai input maka pin-pinnya akan
mengambang. Pada saat reset semua port latch akan berlogika ’1’ (diambil dari
pustaka no.1,2). Berikut adalah rangkaian bit latch dan I/O buffer, dapat dilihat
pada Gambar 2.5.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
Gambar 2.5 Bit Latch Dan I/O Buffer
2.2
BASCOM-8051 Sebagai COMPILER BASIC
Basic adalah suatu bahasa pemrograman tingkat tinggi karena semua
variabelnya dan konstanta menyerupai bahasa manusia. BASCOM-8051 hadir
sebagai compiler program untuk memudahkan user. Dalam BASCOM-8051
terdapat program simulasi untuk melihat jalannya program setiap step-nya (
Wahyudin Didin : 2007 ).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
2.2.1
Karakter dalam BASCOM
Dalam program BASCOM, karakter dasar terdiri atas alphabet (A-Z dan a-
z), karakter numerik (0-9), dan karakter spesial. Pada Tabel 2.3 berikut ini akan
dijelaskan karakter dalam BASCOM-8501
Tabel 2.3 Karakter Dalam BASCOM-8051
Karakter
Nama
Blank atau spasi
'
Apostrophe
*
Asterisk (simbol perkalian)
+
Plus sign
,
Comma
-
Minus sign
.
Period (decimal point)
/
Slash (division symbol) will be handled
as \
:
Colon
"
Double quotation mark
;
Semicolon
<
Less than
=
Equal sign (assignment symbol or
relational operator)
>
Greater than
\
Backslash (integer/word division
symbol)
'
Single quotation mark (apostrophe)
*
Asterisks (multiplication symbol)
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
2.2.2
Tipe Data
Setiap variabel dalam BASCOM punya tipe data yang menunjukkan daya
tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler.
Pada Tabel 2.4 adalah tipe data pada BASCOM.
Tabel 2.4 Tipe Data
Tipe Data
2.2.3
Ukuran (byte)
Range
Bit
1/8
Byte
1
0 s/d 255
Integer
2
-32,768 s/d +32,768
Word
2
0 s/d 65535
Long
4
-2147483648
+2147483648
Single
4
String
hingga 254 byte
s/d
Var iabel
Berfungsi sebagai tempat penyimpan data sementara, misalnya untuk
menampung hasil perhitungan, data hasil pembacaan register, dan lain sebagainya.
Variabel merupakan pointer yang menunjuk pada alamat memori fisik di
mikrokontroler.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
Ada beberapa aturan dalam penamaan sebuah variabel :
a.
Nama variabel maksimum terdiri atas 32 karakter
b.
Karakter biasa berupa angka atau huruf
c.
Nama variabel harus dimulai dengan huruf
d.
Variabel tidak boleh menggunakan kata-kata yang digunakan oleh BASCOM
sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR,
DIM, dll).
Sebelum digunakan, maka variabel harus dideklarasikan terlebih dahulu.
Pada Gambar 2.6 berikut ini adalah beberapa cara mendeklarasikan sebuah
variabel dan diikuti nama dan tipe datanya.
Gambar 2.6 Pendeklarasian Variabel Dalam BASCOM
2.2.4
Alias
Dengan menggunakan alias, variabel yang sama dapat diberikan nama
yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
alias digunakan untuk mengganti nama variabel yang telah baku, seperti port
mikrokontroler.
LEDBAR alias P1
Tombol1 alias P0.1
Tombol2 alias P0.2
Dengan deklarasi seperti diatas, perubahan pada tombol1 akan mengubah
kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias
untuk mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.
Dim Ledbar as byte
Led1 as Ledbar . 0
Led2 as Ledbar . 1
Led3 as Ledbar . 2
2.2.5
Konstanta
Selain variabel kita mengenal pula konstanta, perbedaannya dengan
variabel biasa adalah nilai yang dikandungnya tetap. Dengan konstanta, kode
program yang kita buat akan lebih muda dibaca dan dapat mencegah kesalahan
penulisan pada program kita. Misalnya, kita akan lebih muda menulis phi dari
pada menulis 3,14159867. Sama seperti variabel, agar konstanta biasa dikenali
program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara
pendeklarasian sebuah konstanta :
Dim A As Const 5
Dim B1 As Const &B1001
Cara lain yang paling mudah :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
Const Cbyte = &HF
Const Cint = -1000
Const Csingle = 1.1
Const Cstring = “ test ”
2.2.6
Arr ay
Dapat digunakan pada sekumpulan variabel dengan nama dan tipe yang
sama. Untuk mengakses variabel tertentu dalam array harus menggunakan indeks.
Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya, nilai
maksimum sebuah indeks sebesar 65535.
Proses pendeklarasian sebuah array hampir sama dengan variabel, namun
perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh
pemakaian array :
Dim kelas ( 10 ) as byte
Dim c as Integer
For C = 1 To 10
A ( C ) = C
P1 = A ( C )
Next
Program diatas membuat sebuah array dengan nama ‘ kelas ’ yang berisi
seluruh elemen ( 1 – 10 ) dan kemudian seluruh elemennya diisikan dengan nilai
C ya
BE R B ASI S M I K R O K O NT R O L E R
TUGAS AKHIR
Oleh :
GAGAP SURYO NEGORO
NPM. 0534010202
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL "VETERAN" JATIM
SUR ABAYA
2011
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Sistem Antrian Pembayaran Loket Berbasis Mikrokontroler
Pembimbing I : Basuki Rahmat, S.Si, MT
Pembimbing II : Fetty Tri Anggraeny, S.Kom
Penyusun
: Gagap Suryo Negoro
ABSTRAK
Teknologi pemrograman melalui komputer pada masa sekarang ini mengalami
perkembangan pesat. Hal ini menunjukan suatu kecenderungan yang mengarah
kepada pengembangan suatu sarana teknologi yang lebih praktis, efisien dan
ekonomis untuk mempermudah dan mempercepat aktivitas manusia. Melalui
program Visual Basic 6.0 dapat membuat sistem aplikasi otomatis melalui
komputer sebagai sarana kontrol. Aplikasi yang dibuat oleh penulis yaitu berupa
sistem antrian.
Adapun tujuan dari penelitian ini adalah membuat sistem perangkat lunak
digunakan untuk mengatur atau mengontrol pengambilan dan pemanggilan nomor
antrian pada loket. Pembuatan aplikasi ini diharapkan dapat memberikan kemudahan
aktivitas dan efektifitas petugas loket antrian dalam melakukan pelayanan transaksi
(rekening listrik, rekening telepon, dan rekening PDAM, dan lain-lain) sehingga
antrian dapat berjalan tertib.
Dalam merealisasikan penulisan Tugas Akhir ini menggunakan metode
simulasi untuk menyelesaikan sistem antrian Perancangan perangkat lunak
menggunakan bahasa pemrograman Visual Basic 6.0 dan perangkat keras
mikrokontroler dengan mengunakan bascom untuk menterjemahkan input atau output,
kinerja simulasi sistem antrian untuk mengatur dan mengontrol pemanggilan nomer
antrian berdasar kan pada asas tata tertib “masuk pertama, keluar pertama” (FIFO =
First-In, First-Out), dengan menggunakan aplikasi sistem antrian ini membantu
petugas loket dalam melakukan pelayanan terhadap pengantri, pengantri tidak harus
berdiri mengantri di depan loket selain itu membantu petugas loket memberikan
pelayanan dengan cepat.
Kata kunci : Mikrokontroler, Aplikasi, First-In, Firs-Out
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
KATA PENGANTAR
Dengan nama Allah SWT Yang Maha Pengasih dan Maha Penyayang.
Segala puji bagi Allah SWT karena atas rahmat dan hidayahNya-lah penulis dapat
menyelesaikan Tugas Akhir yag berjudul “Sistem Antr ian Pembayaran Loket
Ber basis Mikr okontroler”. Shalawat dan salam atas junjungan besar kita Nabi
Muhammad S.A.W. beserta keluarga dan para sahabat sekalian. Tugas Akhir ini
disusun untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Teknik
di Jurusan Teknik Informatika Program Studi Teknik Informatik Fakultas Teknik
Industri Universitas Pembangunan Nasional Surabaya Jawa Timur.
Melalui kesempatan ini, penulis ingin menyampaikan rasa hormat dan
terima kasih penulis yang sebesar-besarnya kepada semua pihak yang telah
memberikan bantuan bantuan baik lahir maupun batin selama penulisan tugas
akhir ini. Oleh karena itu, pada kesempatan ini penulis ingin menyampaikan rasa
hormat dan terima kasih penulis kepada :
1.
Kedua Orang Tua penulis (Budiyanto dan Saptowati) serta seluruh keluarga
yang
senantiasa
tiada
henti
hentinya
memberikan
do’a
demi
terselesaikannya tugas akhir ini.
2.
Bapak Ir. Sutiyono, MT selaku dekan FTI, UPN “Veteran”Jawa Timur.
3.
Ibu Dr. Ir. Ni Ketut Sari, MT selaku ketua jurusan Teknik Informatika, FTI,
UPN “Veteran” Jawa Timur
4.
Bapak Basuki Rahmat, S.Si., MT selaku dosen pembimbing 1 tugas akhir
penulis
ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5.
Fetty Tri Anggraeny. S.Kom selaku dosen pembimbing 2 tugas akhir
penulis.
6.
Seluruh Dosen Teknik Informatika Upn atas kesediaan membagi ilmunya
kepada penulis.
7.
Teman-temanku seperjuangan dan sependeritaan terima kasih atas segala
bantuannya selama menjadi mahasiswa.
8.
Semua pihak yang tidak dapat penulis sebutkan satu per satu yang terlibat
baik secara langsung maupun tidak langsung demi terselesaikannya tugas
akhir ini.
Hanya doa yang bisa penulis berikan semoga Allah SWT memberikan
pahala serta balasan kebaikan yang berlipat ganda. Penulis menyadari bahwa
tugas akhir ini masih banyak kekurangan dan masih jauh dari sempurna. Untuk
itu, saran dan kritik yang membangun sangat penulis harapkan. Semoga tugas
akhir ini membawa manfaat bagi penyusun maupun pihak lain yang
menggunakannya.
Surabaya, Oktober 2011
Penulis
iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR ISI
ABSTRAK .........................................................................................................
i
KATA PENGANTAR ...................................................................................... ii
DAFTAR ISI ..................................................................................................... iv
DAFTAR GAMBAR ........................................................................................ vii
DAFTAR TABEL ............................................................................................ ix
BAB I
PENDAHULUAN .............................................................................. 1
1.1 Latar Belakang ............................................................................ 1
1.2 Perumusan Masalah .................................................................... 3
1.3 Batasan Masalah ........................................................................ 3
1.4 Tujuan ........................................................................................ 4
1.5 Manfaat ...................................................................................... 4
1.6 Metode Penelitian ...................................................................... 4
1.7 Sistematika Penulisan ................................................................ 5
BAB II TINJ AUAN PUSTAKA ..................................................................... 7
2.1
Mikrokontroler AT89S52 ........................................................... 7
2.1.1 Konfigurasi Pin ................................................................. 10
2.1.2 Dasar Mikrokontroler ........................................................ 15
2.2
Bascom-8051 Sebagai Compiler Basic ...................................... 21
2.2.1 Karakter Dalam Bascom .................................................. 22
2.2.2 Tipe Data ...................... .................................................... 23
2.2.3 Variabel ............................................................................. 23
2.2.4 Alias .................................................................................. 24
2.2.5 Konstanta .......................................................................... 25
2.2.6 Array ................................................................................. 26
2.2.7 Operasi-operasi Dalam Bascom ....................................... 26
2.2.8 Kontrol Program ............................................................... 28
v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.2.8.1 If Then .................................................................. 28
2.2.8.2 Select Case ............................................................ 29
2.2.8.3 While End ............................................................. 30
2.2.8.4 Do Loop ................................................................ 30
2.2.8.5 For Next ............................................................... 30
2.2.8.6 Exit ....................................................................... 31
2.3
Microsoft Access 2003 .............................................................. 31
2.4
Visual Basic 6.0 ......................................................................... 33
2.4.1 Kelebihan Visual Basic 6.0 ............................................... 34
2.4.2 Lingkungan Visual Basic 6.0 ............................................ 35
2.4.3 Menjalankan IDE .............................................................. 36
2.4.4 Memilih Jenis Project ....................................................... 36
2.4.5 Jendela IDE ....................................................................... 37
2.5
Kerangka Berpikir ...................................................................... 43
BAB III ANALISIS DAN PERANCANGAN SISTEM ................................. 45
3.1
Analisis Sistem .......................................................................... 45
3.2
Perancangan Sistem .................................................................. 47
3.2.1 Alur Umum sistem ............................................................ 48
3.2.2 Spesifikasi Peralatan ......................................................... 49
3.3
Perancangan Flowchart Program ............................................... 50
3.3.1 Flowchart Input Data Antrian ........................................... 51
3.3.2 Flowchart Baca Nomer Antrian ........................................ 52
3.3.3 Flowchart Ulang Nomer Antrian ...................................... 53
3.4
Perancangan Hardware ............................................................... 54
3.4.1 Blok Catudaya .................................................................. 55
3.4.2 Blok Pemberi Inputam ...................................................... 56
3.5
Perancangan Antar Muka Perangkat Lunak ............................... 57
3.5.1 From Utama ...................................................................... 57
3.5.2 From User ......................................................................... 58
vi
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3.5.3 Form Pembuat Pesan ........................................................ 58
BAB IV IMPLEMENTASI SISTEM ............................................................. 59
4.1.
Lingkungan Implementasi ......................................................... 59
4.2.
Implementasi Data ..................................................................... 60
4.3.
Implementasi Antar Muka ......................................................... 62
4.3.1. Form Layar Utama .......................................................... 63
4.3.2. Form User ....................................................................... 65
4.3.3. Form Pembuat Informasi ................................................ 66
4.3.4. Form Print Out Nomer Antrian ....................................... 67
4.4.
Implementasi Hardware .............................................................. 67
4.4.1 Rangkaian Mikrokontroler .............................................. 68
4.4.2 Pengisian Program Mikrokontroler ................................. 69
BAB V UJ I COBA DAN EVALUASI ........................................................... 72
5.1. Uji Coba Perangkat Keras (Hardware) ........................................ 72
5.2.1. Uji Coba Rangkaian Mikrokontroler AT89S52 .............. 72
5.2.2. Koneksi Software Dengan USB Converter RS 232 ........ 74
5.2.3. Pengisian Program Mikrokontroler ................................ 74
5.2. Uji Coba Aplikasi ........................................................................ 76
5.2.1. Uji Coba Form Layar Utama .......................................... 76
5.2.2. Uji Coba Form User ........................................................ 77
5.2.3. Uji Coba Form Pembuat Informasi ................................. 80
5.3. Uji Coba Komputer Mati Dinyalakan Lagi ................................. 82
5.4. Uji Coba Ganti Hari dan Tanggal ................................................ 83
BAB VI PENUTUP ........................................................................................... 85
6.1. Kesimpulan ................................................................................. 85
6.2. Saran ........................................................................................... 85
DAFTAR PUSTAKA ....................................................................................... 87
vii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR GAMBAR
Gambar 2.1. Blok Diagram Mikrokontroler ………………………………….. 10
Gambar 2.2. Konfigurasi Pin …………………………………………………. 11
Gambar 2.3. 256 byte RAM Internal Bagian Bawah (Lower) ………………... 18
Gambar 2.4. 256 byte RAM Bagian Atas …………………………………...... 19
Gambar 2.5. Bit Latch Dan I/O Buffer ……………………………………….. 21
Gambar 2.6. Pendeklarasian Variabel Dalam BASCOM …………………….. 24
Gambar 2.7. Tampilan pilihan program pada Visual Basic 6.0 ……………… 36
Gambar 2.8. IDE Visual Basic 6.0 …………………………………………… 37
Gambar 2.9. Menubar ………………………………………………………… 38
Gambar 2.10. Toolbar ……………………….………………………………... 38
Gambar 2.11. Toolbox Visual Basic 6.0 ……………………………………… 39
Gambar 2.12. Jendela Form …………………………………………………... 41
Gambar 2.13. Project Explorer ……………………………………………….. 42
Gambar 2.14. Jendela Propertis ………………………………………………. 42
Gambar 2.15. Diagram Sistem Antrian Otomatis Menggunakan Komputer … 44
Gambar 3.1 Diagram sistem antrian loket …………………………………… 48
Gambar 3.2 Flowchart Input Data Antrian …..……………………………….. 51
Gambar 3.3 Flowchart Baca Nomor Antrian ……....…………………………. 52
Gambar 3.4 Flowchart Ulang Nomor Antrian ..……………………………… 53
Gambar 3.5 Gambar skema rangkaian mikrokontroler ...................................... 54
Gambar 3.6 Skema Rangkaian Catudaya ….................………………………. 56
Gambar 3.7 Skema rangkain saklar sebagai inputan …..…………………….. 56
Gambar 3.8 Gambar Form Utama ……………………………………………. 57
Gambar 3.9 Gambar Form User ……...................…………………………….. 58
Gambar 3.10 Gambar Form Membuat Pesan ………………………………….. 58
Gambar 4.1 Tabel Pengunjung .......................................................................... 60
Gambar 4.2 Tabel Suara .................................................................................... 61
viii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 4.3 Gambar Sound Recorder ................................................................ 61
Gambar 4.4 Form Utama Layar ........................................................................ 63
Gambar 4.5 Pseudocode menampilkan informasi pada layar utama .................. 64
Gambar 4.6 Pseudocode menampilkan nomor antrian ...................................... 64
Gambar 4.7 Pseudocode pengecekan nomor antrian ......................................... 65
Gambar 4.8 Form User ...................................................................................... 65
Gambar 4.9 Pseudocode form user .................................................................... 66
Gambar 4.10 Form Pembuat Informasi ............................................................. 66
Gambar 4.11 Form Print Out Nomor Antrian ................................................... 67
Gambar 4.12 Rangkaian Mikrokontroler............................................................ 68
Gambar 4.13 Microcontroller ISP software ....................................................... 70
Gambar 4.14 Memilih File HEX yang telah dibuat ........................................... 70
Gambar 4.15 Pseudocode Bascom .................................................................... 71
Gambar 5.1 Pemasangan tombol push pada mikrokontroler ............................. 73
Gambar 5.2 Memilih file .HEX yang di simpan ............................................... 75
Gambar 5.3 Program ISP..................................................................................... 75
Gambar 5.4 Form layar utama masih kosong .................................................... 76
Gambar 5.5 Form Layar Utama yang menampilkan nomor antrian .................. 77
Gambar 5.6 Form User ...................................................................................... 78
Gambar 5.7 Gambar layar utama untuk menampilkan nomor antrian ............... 79
Gambar 5.8 Form pembuat informasi yang masih kosong ................................ 79
Gambar 5.9 Form pembuat informasi yang sudah terisi .................................... 80
Gambar 5.10 Informasi yang berhasil disimpan ............................................... 81
Gambar 5.11 Layar utama tetap menampilkan informasi yang lama ................ 81
Gambar 5.12 Gambar layar utama sebelum komputer dan aplikasi di matikan.. 82
Gambar 5.13 Gambar layar utama berjalan kembali ........................................ 83
Gambar 5.14 Gambar layar utama nomor antrian terakhir sebelum ganti hari .. 84
Gambar 5.15 Gambar layar utama yang telah di ganti hari ............................... 84
ix
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
DAFTAR TABEL
Tabel 2.1. Fungsi Alternatif Port 1 ……………………………………………. 12
Tabel 2.2. Fungsi Alternatif Port 3 ……………………………………………. 13
Tabel 2.3. Karakter Dalam BASCOM-8051 ………………………………….. 22
Tabel 2.4. Tipe Data …………………………………………………………... 23
Tabel 2.5. Operator Relasi ……………………………………………………. 27
Tabel 3.1 Port Mikrokontroler ………………………………………………… 55
Tabel 5.1 Hasil pengujian pada rangkaian mikrokontroler AT89S52 ……….. 73
x
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB I
PENDAHULUAN
1.1
Latar Belakang
Teknologi perangkat kontrol mengalami perkembangan sangat pesat,
berkembang dari masa ke masa seiring dengan meningkatnya kemampuan dan
kebutuhan hidup manusia. Perangkat kontrol semakin banyak dibutuhkan untuk
mengendalikan berbagai peralatan yang digunakan untuk membantu manusia
dalam menjalankan tugasnya sehari-hari. Pada layanan umum banyak orang yang
harus dilayani dan kalau orang yang melayani kurang biasanya diminta untuk
mengantri atau berbaris satu-persatu untuk menunggu mendapatkan layanan,
sehingga setiap orang yang sedang melakukan antrian saling menyerobot ingin
cepat dilayani, maka membuat petugas loket antrian akan kesulitan dalam
menentukan orang pertama yang akan dilayani dalam antrian. Hal ini sering
orang lihat atau alami misalnya di bank, apotek, dokter praktek dan ditempat
layanan umum lainnya. Tentu hal ini kurang
menyenangkan dan cenderung
memboroskan waktu.
Hal ini menunjukan suatu kencenderungan yang mengarah kepada
penciptaan maupun pengembangan suatu sarana teknologi otomatis yang lebih
praktis, efisien dan ekonomis untuk mempermudah dan mempercepat segala
aktivitas manusia. Peralatan otomatis banyak menggunakan komputer sebagai
sarana kontrol, sistem otomatis dengan batuan komputer tidak akan berjalan
apabila ada pemrograman atau perangkat lunak yang berfungsi sebagai perintah
kerja pada komputer. Dengan semakin murah dan memasyarakatnya komputer
1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2
banyak masalah kehidupan sehari-hari yang bisa diatasi, termasuk ke tidak
nyamanan karena harus mengantri. Komputer bisa mengakses peralatan eksternal
dengan perantaraan port masukan dan keluaran (port I/O). Karena keterbatasan
pin data pada port jenis ISA dengan memanfaatkan IC AT89S52 untuk menambah
jumlah pin ini menjadi 24 pin, terbagi menjadi 3 port yaitu port A, port B dan port
C dan bisa sebagai masukan ataupun keluaran. Dari 24 pin ini bisa mengatur IC
untuk driver display seven segmen, menerima masukan dari saklar tekan,
melakukan pencetakan pada printer dan mengaktifkan suara pada sound card. Ini
semua dilakukan dari komputer yang mengandung slot ISA bahasa pemrograman
yang di gunakan adalah Visual Basic 6.0.
Sistem antrian yang menggunakan program Visual Basic 6.0 sebagai
pembuat perintah pada komputer digunakan untuk mengontrol sistem antrian agar
lebih efisien dan efektif. Selanjutnya komputer tersebut menghasilkan nomor urut
antrian, bertujuan agar saat orang-orang melakukan antrian dapat berjalan dengan
tertib, sesuai dengan kertas nomor urutan yang didapatkan setelah menekan
tombol print out/cetak. Orang yang telah mengambil nomor antrian dari printer
tersebut tinggal menunggu pemanggilan nomor yang dimiliki untuk melakukan
transaksi pada loket antrian. Dengan menggunakan sistem ini diharapkan dapat
meningkatkan kenyamanan pelayanan, konsumen tidak perlu kelelahan berdiri
menunggu dibarisan antrian yang panjang dan mereka dapat dengan bebas
melakukan aktivitas sebelum nomor antrian mereka ditampilkan di display nomor.
Dari pihak pemakai sistem ini, petugas loket dapat memaksimalkan pelayanan
terhadap konsumen, dengan membuat atau melakukan evaluasi dari proses kerja
para operator dengan menggunakan sistem database dari sistem antrian ini.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
3
1.2
Perumusan Masalah
Berdasarkan latar belakang diatas, maka dapat dibuat suatu rumusan
masalah, yaitu :
a. Bagaimana membuat suatu program untuk mengendalikan proses
pengambilan dan pemanggilan nomor pada loket antrian dengan
berbasis mikrokontroler.
b. Bagaimana kinerja sistem antrian loket ketika masih menggunakan
sistem manual, setelah menggunakan sistem informasi antrian loket
ini dapat mempermudah petugas loket dalam melayani pengantri.
1.3
Batasan Masalah
Dalam pengerjaan tugas akhir ini, untuk mengatasi permasalahan yang ada
maka penyusun membatasi permasalahan sebagai berikut :
a. Area
pengerjaan
meliputi
pengelolaan
antrian
pada
loket
pembayaran.
b. Metode yang digunakan dalam analisis sistem antrian adalah metode
antrian dengan pelayanan FIFO ( First In First Out ) : pengantri
yang pertama datang yang pertama keluar.
c. Penggunaan nomor kartu antrian dibatasi oleh nomor kartu antrian
terbesar jika sudah mencapai batas nomor antrian maksimal maka
akan di kembalikan ke nomor antrian terkecil.
d. Aplikasi yang dibuat berbasis Dekstop dengan menggunakan bahasa
pemrograman Visual Basic 6.0 dimana keduanya berbasis windows.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
4
e. Ruang lingkup Tugas Akhir
ini
terbatas pada pengaplikasian (
software ) bahasa pemrograman Visual Basic 6.0.
f. Untuk simulasi display nomor antrian menggunakan komputer.
1.4
Tujuan
Tujuan dari tugas akhir ini adalah merancang dan membangun sistem
informasi antrian dengan menggunakan metode FIFO ( First In First Out ).
1.5
Manfaat
Manfaat yang dapat diraih dari pembuatan tugas akhir ini adalah memajukan
fasilitas pelayanan sistem antrian yang ada untuk mengatur atau mengontrol
pengambilan dan pemanggilan nomor antrian pada loket antrian.
1.6
Metode Penelitian
Metodologi yang digunakan dalam pembuatan skripsi ini meliputi beberapa
bagian, yaitu :
a. Mencari literatur atau data-data yang berhubungan dengan
mikrokontroler, Visual Basic 6.0, dan semua komponen yang
dipakai dalam pembuatan alat tugas akhir ini dan mempelajarinya.
b. Mempelajari
tentang
dasar
teori
yang
digunakan
dalam
menyelesaikan tugas akhir.
c. Mendesain dan membuat program untuk mencetak dan memanggil
nomor antrian dengan menggunakan program bahasa Visual Basic
6.0 dan Bascom.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
5
d. Merancang serta menguji sistem minimal Mikrokontroler AT89S52
sebagai pengendali sistem secara keseluruhan.
e. Menguji kinerja sistem secara keseluruhan serta mengambil data
dari hasil perancangan.
f. Menganalisa hasil dan membuat kesimpulan.
1.7
Sistematika Penelitian
Dalam laporan tugas akhir ini, pembahasan disajikan dalam enam bab
dengan sistematika pembahasan sebagai berikut :
BAB I
PENDAHULUAN
Bab
ini berisikan tentang latar
belakang
masalah,
perumusan masalah, batasan masalah, tujuan, manfaat, dan
sistematika penulisan pembuatan tugas akhir ini.
BAB II
TINJ AUAN PUSTAKA
Pada bab ini dijelaskan tentang teori-teori serta penjelasanpenjalasan yang dibutuhkan dalam pembuatan Sistem
Antrian Loket Berbasis Mikrokontroller.
BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab ini dijelaskan tentang garis besar dan fokus dari
rancangan aplikasi, juga berisi tentang alur proses program
serta hal-hal yang diperlukan dalam implementasi. Seperti,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
6
Flowchart, Data Flow Diagram (DFD), Entity Relational
Diagram (ERD), dan Desain Antar muka.
BAB IV
IMPLEMENTASI SISTEM
Pada bab ini berisikan bagaimana implementasi aplikasi
yang telah dibuat berdasarkan desain sebelumnya yang telah
dibuat.
BAB V
UJ I COBA DAN EVALUASI
Pada bab ini menjelaskan tentang pelaksanaan uji coba dan
evaluasi dari pelaksanaan uji coba dari program yang
dibuat. Uji coba program dapat dilakukan pada akhir dari
tahap-tahap analisa sistem, desain sistem dan tahap
penerapan sistem atau implementasi sistem. Sasaran dari uji
coba program adalah untuk menemukan kesalahankesalahan dari program yang mungkin terjadi sehingga
dapat segera diperbaiki.
BAB VI
PENUTUP
Bab ini berisi kesimpulan yang diperoleh dari hasil
penganalisaan data dalam bab-bab sebelumnya. Juga berisi
tentang saran-saran yang diharapkan dapat bermanfaat dan
sesuai dengan tujuan penelitian tugas akhir ini.
DAFTAR PUSTAKA
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
BAB II
TINJ AUAN PUSTAKA
2.1
Mikrokontroler AT89S52
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem
komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu
komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemenelemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output
spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti
umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksiinstruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari
suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang
programmer. Program ini menginstruksikan komputer untuk melakukan jalinan
yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih
kompleks yang diinginkan oleh programmer.
Mikrokontroler adalah mikroprosessor mini yang dirancang khusus untuk
aplikasi kontrol, dan dilengkapi dengan ROM, RAM dan fasilitas I/O pada satu
chip. Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis
dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca
dan menulis data. Mikrokontroler tipe AT89S52 buatan Atmel merupakan salah
satu tipe mikrokontroler yang mempunyai arsitektur mikrokontroler 8051.
Mikrokontroler dengan arsitektur 8051 merupakan salah satu jenis arsitektur
mikrokontroler yang paling lama dan paling banyak digunakan di dunia karena
7
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
8
bersifat low cost dan low performance. Arsitektur ini dikeluarkan pertama kali
oleh Intel dan kemudian menjadi sangat populer. Pada Intel seri – seri
mikrokontroler berarsitektur 8051 tergabung dalam satu keluarga mikrokontroler
yaitu keluarga MCS-51.Mikrokontroler ber-arsitektur 8051 baik dari keluarga
intel MCS-51 maupun dari vendor-vendor lain seperti Atmel, Phillips maupun
Siemens memiliki beragam tipe dan fasilitas, namun semuanya memiliki
arsitektur yang sama, serta set instruksi yang relatif tidak berbeda.
Mikrokontroler yang digunakan didalam proyek akhir ini adalah AT89S52
dari ATMEL yang merupakan keluarga MCS 51 yang banyak berada di pasaran.
Mikrokontroler ini merupakan mikrokontroller 8 bit yang merupakan single chip
microcontroller, dimana semua rangkaian termasuk memori dan I/O tergabung
dalam satu pak IC. (Eko Putra Agfianto: 2003)
Mikrokontroler AT89S52 memiliki fasilitas antara lain:
a.
4K Bytes In-System Programmable (ISP) Flash Memori
b.
Range operasi 4.0V ke 5.5V.
c.
Operasi Secara penuh Statis: 0 Hz ke 33 MHZ.
d.
Tiga Level Program Memori Lock.
e.
256 x 8-bit RAM Internal.
f.
32 jalur I/O Programmable.
g.
Dua 16-bit Timer/Counters.
h.
Enam Sumber Interrupt.
i.
UART Full Duplex Saluran Serial.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
9
j.
Low-Power Idle dan Power-Down Modes.
k.
Interrupt Recovery dari Power-Down Modes.
l.
Tahan hapus isi sampai 1000 kali
AT89S52 adalah 8 bit CMOS mikrokomputer yang dilengkapi dengan 4
Kb Flash Memory, yang bekerja pada tegangan rendah dengan kemampuan tinggi.
IC ini diproduksi oleh Atmel dengan teknologi kepadatan tinggi (high
density), dengan non-valatile memori yang dapat diisi dengan program yang
intruksinya kompatibel dengan keluarga MCS-51.
Mengombinasikan CPU 8 bit serbaguna dengan Flash Memory pada
sebuah chip monolitik, Atmel 89S52 adalah sebuah mikrokomputer handal yang
menghasilkan banyak aplikasi kontrol menjadi lebih fleksibel dan berbiaya
rendah.
AT89S52 menyediakan fitur standar: 4 Kb Flash Memory, 256 Byte RAM,
32 jalur I/O yang full duplex (dapat mengirim dan menerima secara bersamaan),
komparator tegangan analog yang presisi, oscilator, dan generator clock yang On
Chip (sudah tersedia di dalam chip).
Dengan tambahan AT89S52 yang didesain secara Static-Logic untuk
beroperasi hingga ke frekuensi nol dan mendukung dua software penghemat daya
yang dapat dipilih.
Idle Mode (mode dimana sistem tidak sedang bekerja) akan menghentikan
CPU, namun RAM, timer/counter, serial port dan interupsi
tetap dibiarkan
berfungsi. Power Down Mode menyimpan isi RAM, namun menghentikan
oscilator dan menonaktifkan seluruh fungsi chip sampai sistem direset secara
hardware (berikut blok diagram mikrokontroler pada Gambar 2.1).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
10
Gambar 2.1 Blok Diagram Mikrokontroler
2.1.1 Konfigurasi Pin
Berikut akan dijelaskan tentang konfigurasi pin dari mikrokontroler
AT89S52. Masing-masing dari pin memiliki fungsi tersendiri. Satu kumpulan
pin yang memiliki fungsi sama dan diwakili oleh sebuah register atau
alamat
tersendiri pada internal CPU-nya disebut juga port. (Budiharto W,
2007), Fungsi dari pin-pin tersebut adalah sebagai berikut :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
11
Gambar 2.2 Konfigurasi Pin
Berikut adalah penjelasan dari konfigurasi pin pada Gambar 2.2 :
a.
VCC
Tegangan sumber
b.
GND
Ground/nol
c.
Port 0
Sebuah port 8-bit yang dapat dipakai untuk akses I/O 2 arah, sebagai port
output tiap pinnya dapat menurunkan delapan TTL input dan pin-pinnya dapat
digunakan untuk inputan dengan impedansi tinggi.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
12
d.
Port 1
Port 8-bit yang dapat dipakai untuk akses 2 arah I/O, buffer output port 1
dapat menurunkan empat TTL input. Jika 1s dituliskan maka dapat dinaikkan
internal pull-upsnya dan dapat dipakai sebagai inputan. Sebagai inputan, port 1
akan secara eksternal menurunkan arus sumber dikarenakan ada internal pull-ups.
Pada Tabel 2.1 adalah fungsi alternative port 1.
Tabel 2.1 Fungsi Alternatif Port 1
e.
Por t
Fungsi alter native
P1.5
P1.6
P1.7
MOSI (digunakan untuk ISP)
MISO (digunakan untuk ISP)
SCK (digunakan untuk ISP)
Port 2
Sama dengan port 1, port 2 dapat mengeluarkan pengalamatan byte sampai
high-order selama akses pengalamatan dari eksternal program memori dan akses
ke eksternal data memori yang panjang serta menggunakan alamat 16-bit (MOVX
@DPTR). Pada akses ke eksternal data memori yang menggunakan alamat 8-bit
(MOVX @R1), port 2 mengeluarkan isi dari P2 Special Function Register.
f.
Port 3
Adalah sebuah port yang dapat dipakai sebagai input atau outputan dengan
internal pull-ups. Dapat menurunkan empat TTL input, sebagai input pin pada
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
13
port 3 akan dapat secara eksternal diturunkan oleh arus sumber atau sebagai
peredam sinyal yang disebabkan oleh pull-ups.
Port 3 menerima beberapa sinyal kontrol untuk pemrograman dan
verifikasi. Juga dapat melayani fungsi dari macam-macam fitur spesial dari
AT89S52 seperti yang ditunjukkan pada Tabel 2.2.
Tabel 2.2 Fungsi Alternatif Port 3
Por t Pin
Fungsi Alter natif
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
RXD (serial input port)
TXD (serial output port)
INT0 (eksternal interrupt 0)
INT1 (eksternal interrupt 1)
T0 (timer 0 eksternal input)
T1 (timer 1 eksternal input)
WR (eksternal data memori write
strobe)
RD (eksternal data memori read
strobe)
P3.6
P3.7
g.
RST
Reset input. Pin membutuhkan keadaan high untuk 2 siklus mesin sampai
oscilator mengerjakan reset pada alat. Sesudah Watchdog timer, pin membutuhkan
keadaan high selama 98 periode oscilator. Bit DISRTO dalam SFR AUXR
(alamat 8EH) dapat digunakan untuk menonaktifkan reset. Dalam kondisi default
state bit DISRTO, reset akan berada dalam keadaan high jika telah diaktifkan.
h.
ALE/ PROG
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
14
Address Latch Enable adalah pulsa output untuk mengunci low byte pada
alamat selama akses ke eksternal memori. Pin ini juga berfungsi sebagai inputan
pulsa program selama Flash Programming. Dalam operasi normal ALE
dikeluarkan secara konstan pada 1/6 frekwensi oscilator dan dimungkinkan
digunakan untuk perwaktuan secara eksternal atau dengan tujuan pewaktuan.
Bagaimanapun bahwa satu dari pulsa ALE akan diloncati selama tiap akses ke
eksternal data memori. Operasi pada ALE dapat dinonaktifkan dengan menyetting
bit 0 pada SFR dengan alamat 8EH. Dengan penyettingan bit, ALE hanya akan
aktif selama perintah MOVX atau MOVC. Dengan cara lain pin dengan bit
rendah akan di pull-high. Penonaktifan setting bit pada ALE tidak akan ada
hasilnya jika dieksekusi secara eksternal mode pada mikrokontroller.
i.
PSEN
Program Store Enable berfungsi untuk membaca strobe yang menuju
memori eksternal program. Jika chip AT89S51 melakukan eksekusi kode dari
eksternal program memori, PSEN hanya dapat aktif dua kali tiap siklus mesin,
kecuali pengaktifa 2 PSEN dilompati selama tiap akses ke eksternal data memori.
j.
EA /VPP
External Access Enable harus terhubung ke GND untuk mengaktifkan
perintah yang dimaksud dan mengambil kode dari lokasi eksternal program
memori yang dimulai dari 0000H sampai FFFFH. Bagaimanapun bila bit 1 telah
dikunci lewat program, EA akan secara internal terhubung ke reset. EA
seharusnya tersambung juga ke VCC untuk mengeksekusi internal program. Pin
ini juga menerima tegangan 12 volt untuk program pengaktifan tegangan (VPP)
selama Flash Programming.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
15
k.
XTAL1
Yaitu inputan oscilator pembalik dan inputan ke pengoperasian clock
internal pada sirkuit.
l.
XTAL2
Outputan dari oscilator pembalik.
m. SFR
Sebuah peta pada chip memori area
2.1.2
Dasar Mikrokontroler
Sebuah mikrokontroler memiliki beberapa perlengkapan dasar, antara lain
adalah CPU, Alamat, Data, Pengendali, Memori, RAM, ROM, Input/ Output.
a.
Central Processing Unit (CPU)
Unit pengelola pusat (CPU) terdiri atas dua bagian yaiu unit pengendali
(CU) serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah
untuk mengambil, mengkode, dan melaksanakan urutan instruksi pada sebuah
program yang tersimpan dalam memori. Sedangkan unit aritmatika atau
perhitungan bertugas untuk menangani operasi perhitungan maupun boolean
dalam program.
b.
Alamat
Sistem berbasis mikroprosesor atau mikrokontroler pada umumnya
mempunyai lebih dari satu device / peripheral seperti memori, input output,
Analog to Digital Converter (ADC), dan lain-lain. Masing-masing device ini perlu
diberi alamat, sama seperti rumah kita yang mempunyai alamat unik untuk tiap-
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
16
tiap rumah. Bayangkan apa yang terjadi kalau rumah-rumah itu tidak diberi
alamat, pasti kita akan kebingungan untuk menuju ke rumah tertentu. Demikian
pula dengan mikrokontroler, supaya dapat mengakses suatu device maka
mikrokontroler tersebut harus mengetahui alamat device yang akan diakses.
Address decoder akan memberikan alamat untuk tiap device.
c. Data
CPU mikrokontroler AT89S52 mempunyai lebar bus 8 bit. Pena data 8 bit
pada AT89S52 (D0, D7) ini terletak didalam chip karena jumlah pena luar pada
mikrokontroler terbatas. Pena untuk bus data di multipleks dengan alamat A0, A7
pada port 0, sehingga sering juga disebut AD0, AD7.
d.
Pengendali
Selain bus alamat dan bus data mikroprosesor atau mikrokontroler
dilengkapi juga dengan bus pengendali (control bus), yang fungsinya untuk
menyerempakkan operasi mikroprosesor atau mikrokontroler dengan operasi
rangkaian luar. Contoh pena pengendali ini antara lain ALE, PSEN, WR, RD,
interupsi dan lain-lain.
e.
Memori
“Kecanggihan” sebuah komputer atau kontroller ditentukan oleh program
yang kita buat. Memori digunakan sebagai tempat untuk menimpan program, data
dan stack. Progr am adalah
kumpulan instruksi untuk mengerjakan suatu
pekerjaan. Data adalah variabel-variabel yang dapat di ubah saat program
berjalan. Stack digunakan untuk menyimpan alamat kembali (return address) dan
juga dapat dipakai untuk menyimpan data. Umumnya didalam mikrokontroller
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
17
tersedia 2 jenis memori yaitu ROM dan RAM (Read Only Memory) bersifat hanya
dibaca dan isinya tidak hilang bila catu daya dimatikan, digunakan untuk
menyimpan program. Sedangkan RAM (Random-Access Memory) bersifat bisa
dibaca dan ditulis tetapi isinya bisa hilang bila catu daya dimatikan, digunakan
untuk menyimpan data stack. Dengan berkembangannya teknologi batas antara
ROM dan RAM kini agak kabur. ROM sekarang bisa ditulisi untuk tipe flash atau
EEROM. RAM sekarang juga tidak kehilangaan isinya saat catu daya dimatikan
yaitu pada tipe NVRAM (Non-Volatile RAM).
Memori di dalam Mikrokontroler berukuran terbatas. Untuk itu dan harus
tahu persis berapa kebutuhan memori yang digunakan. Kekurangan memori
menyebabkan program anda tidak berjalan dengan benar, terlalu banyak memori
yang tidak dipakai juga menyebabkan cost yang sia-sia.
f.
RAM
RAM (Random Access Memory) pada mikrokomputer bisa mencapai ukuran
sekian megabyte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di
luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip
mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128
byte, 256 byte dan seterusnya dan ukuran yang relatif kecil ini pun dirasa cukup
untuk aplikasi-aplikasi mikrokontroler.
Pada 256 byte bagian bawah, perhatikan Gambar 2.3. 32 byte pertama
(00h-1Fh) dikelompokkan menjadi 4 bank dari 8 register. Instruksi pada program
mengenalnya dengan sebutan R0 sampai R7. Dua bit pada Program Status Word
(PSW) digunakan untuk memilih bank register yang digunakan. Penggunaan
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
18
instruksi yang mengakses register akan menghemat kode mesin dibandingkan
dengan instruksi yang mengakses lokasi secara langsung (direct addressing).
16 byte diatas bank register yaitu pada alamat 20h sampai 2Fh merupakan
daerah yang dapat dialamati secara bit. Alamat bit-bit pada daerah ini adalah 00h
sampai 7Fh.
Pendek kata, untuk RAM internal 256 byte bagian bawah, 32 byte pertama
dapat digunakan sebagai bank register, 16 byte berikutnya dapat dialamati perbit,
dan sisanya 80 byte dapat digunakan seperti biasa.
Gambar 2.3 256 byte RAM Internal Bagian Bawah (Lower)
RAM internal 256 byte atas merupakan tempat register fungsi khusus
(SFR). Gambar 2.4. menunjukan SFR untuk Mikrokontroler seri 89S52. SFR ini
meliputi alamat port, bit status dan kontrol, timer, register, stack pointer,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
19
akumularor dan lainnya. Bagian-bagian yang kosong digunakan untuk
pengembangan divais Mikrokontroller selanjutnya.
Gambar 2.4 256 byte RAM Bagian Atas
g.
ROM
ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang
dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem
mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah.
ROM adalah memori yang paling sederhana, kecil, dan murah. Sifat memori
program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu
daya.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
20
h.
Input/ Output
Diagram latch dan I/O buffer tiap bit dari Port 0 - Port 3. Port 1,2, dan 3
mempunyai pull-up internal. Sedangkan Port 0, konfigurasi outputnya adalah
open drain. Setiap bit I/O ini berdiri sendiri, jadi dapat berfungsi sebagai input
atau output tanpa tergantung satu sama lain. Port 0 dan 2 tidak dapat dipakai
sebagai I/O bila digunakan sebagai jalur alamat / data. Bila port-port tersebut
ingin difungsikan sebagai input, maka bit latch harus berisi '1', yang akan
mematikan output driver FET. Sehingga pin-pin Port 1,2, dan 3 akan 'ditarik' ke
high oleh pull-up internal, tetapi bila diinginkan dapat juga 'ditarik' ke low dengan
sumber external. Port 0 agak berbeda, karena tidak menggunakan pull-up internal.
FET pull-up pada output driver P0 (lihat gambar 6A) hanya digunakan pada saat
Port mengeluarkan '1' selama akses memori external, selain keadaan ini FET pullup tidak aktif. Akibatnya bila bit-bit P0 berfungsi sebagai output maka bersifat
open drain. Penulisan logika '1' ke bit latch menyebabkan kedua FET tidak
bekerja, sehingga pin dalam keadaan mengambang (floating). Pada kondisi ini pin
dapat berfungsi sebagai high impedance input. Port 1,2, dan 3 sering disebut
dengan 'quasibidirectional' karena mempunyai pull-up internal. Saat berfungsi
sebagai input maka mereka akan 'ditarik' ke high dan akan bersifat sebagai sumber
arus bila 'ditarik' ke low secara eksternal. Port 0 sering disebut sebagai 'truebidirectional', karena bila dikonfigurasikan sebagai input maka pin-pinnya akan
mengambang. Pada saat reset semua port latch akan berlogika ’1’ (diambil dari
pustaka no.1,2). Berikut adalah rangkaian bit latch dan I/O buffer, dapat dilihat
pada Gambar 2.5.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
21
Gambar 2.5 Bit Latch Dan I/O Buffer
2.2
BASCOM-8051 Sebagai COMPILER BASIC
Basic adalah suatu bahasa pemrograman tingkat tinggi karena semua
variabelnya dan konstanta menyerupai bahasa manusia. BASCOM-8051 hadir
sebagai compiler program untuk memudahkan user. Dalam BASCOM-8051
terdapat program simulasi untuk melihat jalannya program setiap step-nya (
Wahyudin Didin : 2007 ).
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
22
2.2.1
Karakter dalam BASCOM
Dalam program BASCOM, karakter dasar terdiri atas alphabet (A-Z dan a-
z), karakter numerik (0-9), dan karakter spesial. Pada Tabel 2.3 berikut ini akan
dijelaskan karakter dalam BASCOM-8501
Tabel 2.3 Karakter Dalam BASCOM-8051
Karakter
Nama
Blank atau spasi
'
Apostrophe
*
Asterisk (simbol perkalian)
+
Plus sign
,
Comma
-
Minus sign
.
Period (decimal point)
/
Slash (division symbol) will be handled
as \
:
Colon
"
Double quotation mark
;
Semicolon
<
Less than
=
Equal sign (assignment symbol or
relational operator)
>
Greater than
\
Backslash (integer/word division
symbol)
'
Single quotation mark (apostrophe)
*
Asterisks (multiplication symbol)
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
23
2.2.2
Tipe Data
Setiap variabel dalam BASCOM punya tipe data yang menunjukkan daya
tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler.
Pada Tabel 2.4 adalah tipe data pada BASCOM.
Tabel 2.4 Tipe Data
Tipe Data
2.2.3
Ukuran (byte)
Range
Bit
1/8
Byte
1
0 s/d 255
Integer
2
-32,768 s/d +32,768
Word
2
0 s/d 65535
Long
4
-2147483648
+2147483648
Single
4
String
hingga 254 byte
s/d
Var iabel
Berfungsi sebagai tempat penyimpan data sementara, misalnya untuk
menampung hasil perhitungan, data hasil pembacaan register, dan lain sebagainya.
Variabel merupakan pointer yang menunjuk pada alamat memori fisik di
mikrokontroler.
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
24
Ada beberapa aturan dalam penamaan sebuah variabel :
a.
Nama variabel maksimum terdiri atas 32 karakter
b.
Karakter biasa berupa angka atau huruf
c.
Nama variabel harus dimulai dengan huruf
d.
Variabel tidak boleh menggunakan kata-kata yang digunakan oleh BASCOM
sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR,
DIM, dll).
Sebelum digunakan, maka variabel harus dideklarasikan terlebih dahulu.
Pada Gambar 2.6 berikut ini adalah beberapa cara mendeklarasikan sebuah
variabel dan diikuti nama dan tipe datanya.
Gambar 2.6 Pendeklarasian Variabel Dalam BASCOM
2.2.4
Alias
Dengan menggunakan alias, variabel yang sama dapat diberikan nama
yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya,
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
25
alias digunakan untuk mengganti nama variabel yang telah baku, seperti port
mikrokontroler.
LEDBAR alias P1
Tombol1 alias P0.1
Tombol2 alias P0.2
Dengan deklarasi seperti diatas, perubahan pada tombol1 akan mengubah
kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias
untuk mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.
Dim Ledbar as byte
Led1 as Ledbar . 0
Led2 as Ledbar . 1
Led3 as Ledbar . 2
2.2.5
Konstanta
Selain variabel kita mengenal pula konstanta, perbedaannya dengan
variabel biasa adalah nilai yang dikandungnya tetap. Dengan konstanta, kode
program yang kita buat akan lebih muda dibaca dan dapat mencegah kesalahan
penulisan pada program kita. Misalnya, kita akan lebih muda menulis phi dari
pada menulis 3,14159867. Sama seperti variabel, agar konstanta biasa dikenali
program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara
pendeklarasian sebuah konstanta :
Dim A As Const 5
Dim B1 As Const &B1001
Cara lain yang paling mudah :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
26
Const Cbyte = &HF
Const Cint = -1000
Const Csingle = 1.1
Const Cstring = “ test ”
2.2.6
Arr ay
Dapat digunakan pada sekumpulan variabel dengan nama dan tipe yang
sama. Untuk mengakses variabel tertentu dalam array harus menggunakan indeks.
Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya, nilai
maksimum sebuah indeks sebesar 65535.
Proses pendeklarasian sebuah array hampir sama dengan variabel, namun
perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh
pemakaian array :
Dim kelas ( 10 ) as byte
Dim c as Integer
For C = 1 To 10
A ( C ) = C
P1 = A ( C )
Next
Program diatas membuat sebuah array dengan nama ‘ kelas ’ yang berisi
seluruh elemen ( 1 – 10 ) dan kemudian seluruh elemennya diisikan dengan nilai
C ya