PROYEK AKHIR

PEMBUATAN SISTEM OTOMATISASI PEMESANAN
MAKANAN PADA RESTORAN CEPAT SAJI
DENGAN MENGGUNAKAN MIKROKONTROLLER




Adib Karisma Putra
NRP. 7203 030 016


Dosen Pembimbing :

Akuwan Saleh, SST
NIP. 131 831 467








JURUSAN TEKNIK TELEKOMUNIKASI
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA
S U R A B A Y A 2006



PEMBUATAN SISTEM OTOMATISASI PEMESANAN
MAKANAN PADA RESTORAN CEPAT SAJI DENGAN
MENGGUNAKAN MIKROKONTROLLER

Oleh:

ADIB KARISMA PUTRA
7203.030.016

Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk
Memperoleh Gelar Ahli Madya (A.Md.)
di
Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya

Disetujui oleh
Tim Penguji Proyek Akhir: Dosen Pembimbing:


1.Ir. Anang Budikarso, MT 1.Akuwan Saleh, SST
NIP. 131 793 744 NIP. 131 831 467


2.I Gede Puja Astawa, ST, MT
NIP. 132 102 837


3.Ir. Sulistyo MB.
NIP. 131.651.429


Mengetahui:
Ketua Jurusan Telekomunikasi


Drs. Miftahul Huda, MT
NIP. 132 055 257

ii

ABSTRAK


Sistem pelayanan restaurant di era modern ini masih
menggunakan sistem manual. Dalam proyek akhir ini akan menyajikan
penggunaan modul sistem minimum Mikrokontroller AT89S51untuk
perancangan dan pembuatan sistem minimum untuk pemesanan menu
pada meja konsumen. Microsoft Access digunakan sebagai database
dan Visual Basic 6.0 difungsikan untuk form pemanggil data data dari
Microsoft Access dengan memanfaatkan fasilitas Visual Data Manager
yang ada di Visual Basic 6.0.
Masukan dari meja makan yang berisikan kode menu dan
jumlah menu. Akan ditampilkan pada LCD dan dengan menggunakan
komunikasi serial RS 232 DB9, data akan dikirimkan dari mikroprosesor
ke PC bagian dapur selanjutnya ditransfer ke PC kasir dengan
menggunakan komunikasi yang sama.
Kata kunci : Mikrokontroller AT89S51, LCD, Keypad,
Visual Basic 6.0, Microsoft Acces





iii

ABSTRACT


The restaurant service system in this modern era stills use the
manual system. In this Preface Of The Final Project Paper present using
of Microcontroller AT89S51 in designing and making of minimum
system for ordering menu on consumer desk. Microsoft Access used a
database and Visual Basic 6.0 functioned for the form of caller of data
from Microsoft Access by exploiting Visual Data Manager facility exist
in Visual Basic 6.0.
Input from the table about the codes of food will be show to the
LCD. This information from the table about the codes of food will be
show to the LCD. This information from the table will be sent with RS-
232 DB9 to PC Kitchen hereinafter transferred to PC cashier by using
same communication.

Keywords : Microcontroller AT89S51, LCD, Keypad, Visual Basic
6.0, Microsoft Access




iv

KATA PENGANTAR


Assalamu’alaikum Wr. Wb.

Alhamdulillah, segala puji hanya milik ALLAH yang
memiliki apa yang ada di langit dan di bumi. Dialah yang
mempunyai segala ilmu dan karena limpahan kasih sayang, karunia,
petunjuk, dan bimbingan-NYA kami dapat menyelesaikan Proyek
Akhir ini dengan baik yang berjudul
“Pembuatan Sistem Otomatisasi Pemesanan Makanan
pada Restoran Cepat Saji Dengan Menggunakan
Mikrokontroller”
Dalam menyelesaikan proyek akhir ini kami berpegang pada
teori yang pernah kami peroleh serta bimbingan dari dosen
pembimbing. Dan juga kepada pihak-pihak lain yang telah sangat
membantu hingga sampai terselesainya proyek akhir ini.
Kami menyadari bahwa masih banyak kekurangan dalam
hasil pembuatan proyek akhir ini. Segala saran dan kritik sangat
diharapkan untuk memberikan yang terbaik guna pengembangan
lebih lanjut ke arah yang lebih baik. Dan semoga buku ini dapat
memberikan manfaat bagi para mahasiswa politeknik elektronika
negeri Surabaya pada umumnya dan dapat memberikan nilai lebih
untuk para pembaca pada khususnya.


Wassalamu’alaikum Wr. Wb.





Surabaya, Agustus 2006



Penulis
v

UCAPAN TERIMA KASIH



Pada kesempatan yang membahagiakan ini, penulis ingin
mengucapkan terima kasih kepada semua pihak yang telah membantu
penulis dalam menyelesaikan Proyek Akhir ini.
1. Allah SWT, Alhamdulillahirrabbil Alamin atas segala berkah,
rahmat, karunia dan pertolongan-Nya yang tiada henti yang
diberikan kepada semua hamba-Nya, dan semua petunjuk-Nya
yang kadang tak sanggup dilihat.
2. Shalawat serta salam tercurah selalu kepada junjungan besar
Nabi Muhammad SAW yang mengajarkan kebenaran-
kebenaran hakiki.
3. Bapak, Ibu, dan Kakakku tercinta, terima kasih atas semua
cinta, kasih sayang, doa dan dukungan yang terus-menerus
mengalir. Semoga saya selalu menjadi anak yang shaleh dan
berbakti.
4. Dr. Titon Duthono, M.Eng, selaku direktur Politeknik
Elektronika Negeri Surabaya - Institut Teknologi sepuluh
Nopember.
5. Bapak Drs. Miftahul Huda, MT, selaku ketua jurusan Teknik
Telekomunikasi Politeknik Elektronika Negeri Surabaya.
Terima kasih telah membimbing kami dengan penuh kesabaran
dan atas semua yang bapak berikan kepada kami.
6. Bapak Akuwan Saleh selaku Dosen Pembimbing yang telah
meluangkan waktu, pikiran dan tenaga serta dengan sabar
membimbing kami juga memberikan fasilitas hingga
terselesaikannya Proyek akhir ini.
7. Adik adikku tercinta, terima kasih atas motivasi, doa dan
dukungan kalian.
8. Semua teman-teman dari berbagai jurusan dan angkatan tahun
2003 yang ikut membantu dalam penyelesaian Proyek Akhir
ini.
Serta banyak pihak lain yang tidak dapat disebutkan satu
persatu. Semoga semua amal kebaikan diterima ALLAH SWT dan
mendapatkan balasan yang tinggi disisi ALLAH SWT. Akhir kata,

vi
penulis berharap semoga Proyek Akhir ini dapat memberikan manfaat
dan tambahan ilmu bagi pembaca. Amin





Surabaya, Agustus 2006


Penulis


vii

DAFTAR ISI


JUDUL…………………………………………………………….. i
PENGESAHAN ………………………………..……………….... ii
ABSTRAK………………………………………………………… iii
ABSTRACT…...…………………………………………………... iv
KATA PENGANTAR..……………………………………………. v
UCAPAN TERIMA KASIH………………………………………. vi
DAFTAR ISI.…………………………………………………..….. viii
DAFTAR GAMBAR ……………………………………………... xi
DAFTAR TABEL ………………………………………………… xiii
BAB 1 PENDAHULUAN…..…………………………………… 1
1.1. LATAR BELAKANG……………...…………………. 1
1.2. PERUMUSAN MASALAH………..………………... 1
1.3. BATASAN MASALAH….………..………………… 1
1.4. METODOLOGI ………………………………………. 2
1.5. SISTEMATIKA PEMBAHASAN ……………….…… 3
1.6 TUJUAN DAN MANFAAT...………………………… 3
1.7 RELEVANSI ................................................................. 4
BAB 2 TEORI PENUNJANG…………………………….……... 5
2.1. Umum………………………......................................... 5
2.2 Mikrokontroller AT89S51 5
2.1.1 Struktur Memori …………………………………… 8
2.3 Komunikasi Data Serial ……………………………………... 9
2.3.1. Metode Komunikasi ................................................. 9
2.3.1.1 Mode Komunikasi Simplex ..................... 9
2.3.1.2 Mode Komunikasi Half Duplex .............. 10
2.3.1.3 Mode komunikasi Full-Duplex ................ 10
2.3.2 Format data komunikasi serial .................................. 10
2.3.2.1 Kecepatan mobilisasi data per bit ............ 11
2.3.2.2 Jumlah bit data per karakter ..................... 11
2.3.2.3 Parity bit .................................................. 11
2.3.3 Konfigurasi Port Serial ……………………………. 11
2.3.4 Komunikasi serial pada Mikrokontroller ………….. 13
2.3.5 Konektor Interface RS-232 ....................................... 14
2.3.6 IC serial MAX 232 .................................................... 15
2.3.7 Pengaksesan dengan menggunakan control
MSComm …………………………………………
16

viii

2.4 Pemrograman Dan Database VISUAL BASIC 6.0 ................. 16
2.4.1 Pendahuluan .............................................................. 16
2.4.2 Dasar Teori Visual Basic 6.0 .................................... 16
2.4.2.1 Pemakaian Komponen ............................. 17
2.4.2.1a Menu ........................................ 17
2.4.2.1b Toolbar Standart ...................... 18
2.4.2.1c Tool Box .................................. 19
2.4.2.1d Form ........................................ 20
2.4.2.1e Project Explorer ....................... 22
2.4.2.1f Propertise ................................ 22
2.4.2.2 Database ................................................... 23
2.4.2.2a Membuat Database .................. 24
2.4.2.2b Memodifikasi database ............ 27
2.4.2.2c Menambah index data ............. 28
2.4.2.2d Mengaitkan Data ke dalam
Form ........................................
30
2.5 Pemrograman Bahasa C ............................................................. 32
2.5.1 Pendahuluan .............................................................. 32
2.5.2 Alasan Penggunaan Bahasa C .................................. 33
2.5.3 Pengenalan Sintaks Bahasa C ................................... 33
2.5.3.1 Keyword #include .................................... 33
2.5.3.2 Keyword #define ..................................... 34
2.5.3.3 Keyword #if.............................................. 34
2.5.3.4 Keyword #ifdef ........................................ 34
2.5.3.5 Keyword #ifndef ..................................... 35
2.5.3.6 Keyword #endif ...................................... 35
2.5.3.7 Keyword #undef ...................................... 35
2.5.3.8 Keyword #else ......................................... 35
2.5.4 Perintah Perintah Dalam Bahasa C ........................... 35
2.5.4.1 Compiler .................................................. 35
2.5.4.2 Pernyataan ............................................... 36
2.5.4.3 Variabel ................................................... 36
2.5.4.4 Operator ................................................... 37
2.5.4.5 Percabangan ............................................. 37
2.5.4.6 Perulangan ............................................... 38
2.5.4.7 Fungsi untuk Input dan Output ................ 38
2.5.4.8 Pointer dan Array ..................................... 39
BAB 3 PERENCANAAN DAN PEMBUATAN ALAT …………. 41
3.1 Umum …………………………………………………………. 41
3.2 Perencanaan Sistem Kerja .......................................................... 41

ix

3.3 Perancangan Perangkat Keras ………………………………… 43
3.3.1Perancangan dan Pembuatan Antar Muka
(Interfaces) Dengan Mikrokontroller AT89S51 …..
44
3.3.2 Rangkaian Keypad ………………………………… 45
3.3.3 Rangkaian LCD …………………………………… 48
3.3.4 Pembuatan Perangkat Keras Downloader
Mikrokontroller AT89S51 ………………………..
51
3.3.5 Konektor RS 232 …………………………………... 52
3.4 Konversi Data …………………………………………………. 52
3.5 Perencanaan Database ………………………………………… 52
3.6 Perencanaan Program C pada Mikrokontroller ……………….. 56
BAB 4 PENGUJIAN DAN ANALISA ............................................ 59
4.1 Tujuan ......................................................................................... 59
4.2 Pengujian Database …………………………………………… 59
4.3 Proses Penulisan dan Kompile program ………………………. 60
4.4 Proses Download ke dalam Mikrokontroller ………………….. 62
4.5 Pengujian Perangkat Keras ……………………………………. 63
4.5.1 Pengujian Hubungan antara Keypad dengan LCD
dan PC Dapur …………………………………….
63
4.5.2 Keypad …………………………………………….. 66
4.5.3 Tampilan pada LCD ……………………………….. 66
4.5.4 Tampilan Pada PC Dapur ………………………….. 67
4.5.5 Pengujian Hubungan Minimum Sistem Dengan PC
(Serial) …………………………………………….
67
BAB 5 PENUTUP…………………………………………………. 71
5.1 Kesimpulan ……………………………………………………. 71
5.2 Saran …………………………………………………………... 71
DAFTAR PUSTAKA ……………………………………………... 73
LAMPIRAN
RIWAYAT HIDUP


x

DAFTAR GAMBAR


Gambar 1.1 Blok Diagram Sistem Pemesanan ............................... 2
Gambar 2.1 Konfigurasi Pin Mikrokontroller AT89S5 ………….. 8
Gambar 2.2 Struktur Memori AT89S51 ......................................... 10
Gambar 2.3 Hubungan Simplex …………………………………. 11
Gambar 2.4 Hubungan Half-duplex ……………………………... 12
Gambar 2.5 Hubungan Full-Duplex ……………………………... 12
Gambar 2.6 Konektor serial DB-9 pada bagian belakang CPU ..... 14
Gambar 2.7 Koneksi RS-232 pada mikrokontroller dan PC .......... 16
Gambar 2.8 Level tegangan RS-232 pada pengiriman huruf ‘A’
tanpa bit paritas .........................................................
16
Gambar 2.9 Interface ICL 232 ....................................................... 17
Gambar 2.10 Menu di dalam Visual Basic 6.0 ............................... 19
Gambar 2.11 Tool tool standart pada Visual Basic 6.0 ………….. 20
Gambar 2.12 Tool Box didalam Visual Basic 6.0 .......................... 21
Gambar 2.13 Tampilan Tool Box didalam Form Visual Basic 6.0 22
Gambar 2.14 Tombol Eksekusi Program ........................................ 23
Gambar 2.15 Tampilan Saat Dieksekusi ........................................ 23
Gambar 2.16 Tampilan Jendela Project .......................................... 24
Gambar 2.17 Tampilan Jendela Properties ..................................... 25
Gambar 2.18 Membuat Database ................................................... 26
Gambar 2.19 Menentukan Nama Database .................................... 27
Gambar 2.20 Jendela Database ....................................................... 27
Gambar 2.21 Menentukan Struktur Tabel Database ....................... 28
Gambar 2.22 Menambah Filed (kolom) ......................................... 28
Gambar 2.23 Proses Untuk Memodifikasi Database ...................... 29
Gambar 2.24 Menambahkan Index Data Didalam Database .......... 30
Gambar 2.25 Proses Menambah Table Baru Di dalam Database ... 31
Gambar 2.26 Mengaitkan Database ke Dalam Form ...................... 32
Gambar 2.27 Menentukan Properti ConnectionString ................... 33
Gambar 2.28 Menentukan properti RecordSource ......................... 34
Gambar 3.1 Schematic Rangkaian Minimum AT89S51 ………… 44
Gambar 3.2 Flowchart scanning keypad dengan metode polling ... 46
Gambar 3.3 Susunan tombol pada keypad ………………………. 47
Gambar 3.4 Alokasi Pin Pin Pada Keypad ………………………. 47
Gambar 3.5 Schematic Keypd 4x4 ………………………………. 48
Gambar 3.6 Blok Rangkaian LCD ………………………………. 49
Gambar 3.7 Flowchart Subrutin Kirim Data ke LCD ……………. 50

xi

Gambar 3.8 Rangkaian Downloader ISP Flash ………………….. 51
Gambar 3.9 Contoh Program yang dikembangkan ......................... 53
Gambar 3.10 Pembuatan index pada Visual Data Manager ........... 55
Gambar 4.1 Tampilan Form Database Pada PC Kasir …………... 59
Gambar 4.2 Tampilan Form Database Pada PC Dapur ………….. 60
Gambar 4.3 Contoh Tampilan Ride51 …………………………… 61
Gambar 4.4 ISP - Flash Programmer Version 3.0a ……………… 62
Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari
Mikrokontroller …………………………………….
67
Gambar 4.6 Tampilan pada hyperterminal yang bersamaan
dengan dinyalakannya rangkaian Minimum Sistem .
69



xii

DAFTAR TABEL


Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial ........... 12
Table 2.2 Untuk Tool Adodc pada gambar Gambar 2.25 ............... 31
Tabel 3.1 Properti tool Data pada Gambar 3.11………….............. 53
xiii

BAB 1
PENDAHULUAN


1.1 LATAR BELAKANG
Perkembangan ilmu pengetahuan dan teknologi yang sangat
pesat ini merupakan salah satu dampak dari meningkatnya taraf hidup
manusia. Untuk itu setiap manusia menginginkan adanya kemudahan
dan kecepatan dalam memenuhi setiap kebutuhannya. Dalam hal ini,
faktor efisiensi dan efektifitas kerja sangat mempengaruhi terciptanya
upaya tersebut. Oleh karena itu, dikembangkan suatau cara yang mampu
mengatasi gejala gejala dan keinginan tersebut seiring dengan
perkembangan peradaban teknologi saat ini. Salah satu cara
penerapannya adalah dalam bidang rumah makan. Cara konvensional
yang menggunakan jasa manusia untuk meminta menu pesanan dari
pembeli dapat diganti dengan menggunakan alat pemesanan yang
langsung dapat digunakan dari meja pembeli. Sehingga efisiensi dan
efektifitas pelayanan dapat terpenuhi dengan maksimal. Menu pesanan
dari pembeli ini dapat diketahui oleh petugas yang ada di bagian dapur
untuk segera menyiapkan menu menu yang sudah dipesan melalui
sebuah PC.

1.2 PERUMUSAHAN MASALAH
Permasalahan yang ditangani pada pembuatan proyek akhir ini
adalah bagaimana dapat memprogram sebuah mikrokontroller agar bisa
tampil pada LCD dan terkirim secara serial ke PC.
Masalah yang ditangani ialah pembuatan perangkat keras
(hardware) maupun lunak (software) adalah lebih memfungsikan
mikrokontroller AT89S51 dikombinasi dengan bahasa pemrograman C.
Database yang dibuat dengan menggunanakan Visual Basic 6.0.

1.3 BATASAN MASALAH
Dalam tugas akhir ini permasalahan akan dibatasi pada
pembahasan perangkat lunak tentang komunikasi serial antara minimum
sistem Mikrokontroller dengan komputer dapur . dimana hanya terjadi
komunikasi searah saja. Begitu juga untuk komunikasi dapur ke kasir
yang hanya searah.
1

2
Jadi, pada sistem ini apabila menu makanan yang sudah
dipesan telah terkirim ke komputer dapur. Maka, tidak dapat diulang lagi
seandainya pembeli ingin membatalkan pesanan yang telah dikirim ke
PC Dapur.

1.4 METODOLOGI
Untuk langkah langkah pembuatan proyek akhir ini langkah
langkahnya adalah sebagai berikut :
(a) Perancangan Sistem
Perancangan sistem berdasarkan pada petunjuk pengoperasian
(instruction manual) Mikrokontroller tersebut dan dikembangkan
dengan cara menghubungkan fungsi-fungsi Mikrokontroller yang
kemudian dihubungkan dengan PC-PC yang ada.
(b) Pembuatan Perangkat Keras (Hardware)
Hardware untuk Mikrokontroller AT89S51 sudah tersedia di toko
toko elektronik. Yang harus disediakan lainnya untuk tugas akir ini
ialah LCD yang berukuran 6X2 yang nantinya akan dihubungkan
dengan Mikrokontroller sebagai tampilan menu dan keypad 4X4
sebagai inputan.
(c) Perangkat Lunak (Software) pada Mikrokontroller
Pembuatan software pada TA ini dibagi menjadi beberapa bagian
yaitu pembuatan program untuk menampilkan tulisan di LCD.
Instruksi instruksi pada keypad dan program untuk mengoneksikan
antara Mikrokontroller dengan PC dapur yang nantinya akan
diteruska ke PC kasir.
(d) Pembuatan database
Sebagai media penyimpan data , maka diperlukan suatu database
yang nantinya akan dibuka melalui Mikrokontroller di bagian
pelanggan. Disini digunakan Visual Basic 6.0 sebagai database dan
database itu berisi tentang menu menu pesanan beserta harganya.









3
1.5 SISTEMATIKA PEMBAHASAN
Buku laporan proyek akhir ini terdiri dari 5 (lima) bab, dimana
masing-masing bab mempunyai kaitan satu sama lain, yaitu:

BAB I : Pendahuluan
Bab ini berisi tentang uraian latar belakang,
tujuan, permasalahan, batasan masalah,
metodologi dan sistematika laporan.
BAB II : Teori Penunjang
Bab ini berisi tentang teori – teori penunjang
yang dipergunakan dalam penyelesaian
proyek akhir ini.
BAB III : Perancangan Dan Implementasi
Perancangan perangkat lunak disini akan
dibahas masalah perancangan program
komunikasi data serial baik pada
Mikrokontroller maupun pada pada PC.
Sedangkan pada perancangan perangkat keras
akan dibahas tentang pembuatan alat yang
digunakan.
BAB IV : Analisa Dan Pengujian
Bab ini akan dibahas masalah pengujian
perangkat lunak dan perangkat keras serta
komunikasi data serial baik pada komputer
maupun di Mikrokontroller.
BAB V : Kesimpulan
Bab ini berisi tentang kesimpulan dari
pembahasan yang telah ada serta saran –
saran guna pengembangan proyek akhir lebih
lanjut.

1.6 TUJUAN DAN MANFAAT
Tujuan dari proyek akhir ini adalah memfungsikan penggunaan
Mikrokontroller AT89S51dan bahasa pemrograman Visual Basic 6.0
untuk aplikasi pada sebuah sistem keamanan parkir. Dengan lebih
memberdaya-gunakan Mikrokontroller AT89S51 dan bahasa
pemrogaman Visual Basic 6.0 sebagai database dengan cara
mengembangkannya sedemikian rupa, baik pada sisi input dan output
dengan menambah perangkat keras (hardware) dan perangkat lunak


4
(software), sehingga dapat digunakan sebagai alat bantu pada sebuah
restoran cepat saji.

1.7 RELEVANSI
Tugas akhir ini diharapkan bisa dijadikan bahan
pembelajaran untuk dapat mentransfer data antara PC 1 ke PC 2
dan suatu PC dengan sebuah Mikrokontroller. Serta dapat
digunakan sebagai bahan pembelajaran untuk mata kuliah
Mikrokontroller.
.



























BAB 2
TEORI PENUNJANG


2.1 Umum
Pada bab ini akan diberikan teori dasar yang melandasi permasa-
lahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Teori
dasar yang diberikan meliputi: pembuatan database, yang memberikan
definisi dan klasifikasi tentang penyimpanan serta koneksi database
antara Visual Basic dan Microsoft access. Selanjutnya, diberikan tentang
teori komunikasi data serial, pararel, connector interface RS 232,
pengaksesan port serial pada Visual Basic serta komunikasi serial pada
Mikrokontroller AT89S51.

2.2 Mikrokontroller AT89S51
AT89S51 adalah mikrokontroller keluaran Atmel dengan 4K
byte Flash PEROM (Programmable and Erasable Read Only Memory),
AT89S51 merupakan memori dengan teknologi nonvolatile memory, isi
memori tersebut dapat diisi ulang ataupun dihapus berkali-kali. Memori
ini biasa digunakan untuk menyimpan instruksi (perintah) berstandar
MCS-51 code sehingga memungkinkan mikrokontroller ini untuk bekerja
dalam mode single chip operation (mode operasi keping tunggal) yang
tidak memerlukan external memory (memori luar) unruk menyimpan
source code tersebut.
5

6


Gambar 2.1 Konfigurasi Pin Mikrokontroller AT89S51

Deskripsi Mikrokontroller AT89S51:
• VCC (power supply)
• GND (ground)
• Port 0, yaitu pin p0.7..p0.0
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex
addres/data ataupun menerima kode bye pada saat Flash
Programming. Pada saat sebagai I/O biasa port ini dapat
memberikan output sink ke delapan buah Transistor Transistor
Logic (TTL) input atau dapat diubah sebagai input dengan
memberikan logika 1 pada port tersebut.
• Port 1, yaitu pin p1.0...p1.7
Port 1 berfungsi sebagai I/O biasa atau menerima low order
address bytes selama pada saat Flash Programming. Port ini
mempunyai internal pull updan berfungsi sebagai input dengan
memberikan logika 1. Sebagai output port ini dapat memberikan
output sink keempat buah input TTL. Fasilitas khusus dari port 1
ini adalah adanya In-System Programming, yaitu port 1.5 sebagai
MOSI, port 1.6 sebagai MISO, port 1.7 sebagai SCK.


7
• Port 2, yaitu mulai pin p2.0...p2.7
Port 2 berfungsi sebagai I\O biasa atau high order address, pada
saat mengakses memori secara 16 bit (Movx @DPTR). Pada saat
mengakses memori secara 8 bit (Mov @Rn), port ini akan
mengeluarkan sisi dari Special Function Register. Port ini
mempunyai pull up dan berfungsi sebagai input dengan
memberikan logika 1. Sebagai output, port ini dapat memberikan
output sink keempat buah input TTL.
• Pin 3.0, sebagai RXD (Port Serial Input).
• Pin 3.1, sebagai TXD (Port Seial Output).
• Pin 3.2, sebagai INT0 (Port External Interupt 0).
• Pin 3.3, sebagai INT1 (Port External Interupt 1).
• Pin 3.4, sebagai T0 (Port External Timer 0).
• Pin 3.5, sebagai T1 (Port External Timer 1).
• Pin 3.6, sebagai WR (External Data Memory Write Strobe).
• Pin 3.7, sebagai RD (External Data Memory Read Strobe).
• Pin 9, sebagai RST
Reset akan aktif dengan memberikan input high selama 2 cycle.
• Pin 30, sebagai ALE/PROG
Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang
me-latch low byte address pada saat mengakses memori external.
Sedangkan pada saat Flash Programming (PROG) berfungsi
sebagai pulse input. Pada operasi normal ALE akan mengeluarkan
sinyal clock sebesar 1/16 frekwensi oscillator, kecuali pada saat
mengakses memori external. Sinyal clock pada saat ini dapat pula
di disable dengan men-set bit 0 Special Function Register.
• Pin 29, sebagai PSEN
Pin ini berfungsi pada saat mengeksekusi program yang terletak
pada memori eksteranal. PSEN akan aktif dua kali setiap cycle.
• Pin 31, Sebagai EA/VPP
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu
mikrokontroller akan menjalankan program yang ada pada
memori eksternal setelah sistem di reset. Jika berkondisi high, pin
ini akan berfungsi untuk menjalankan program yang ada pada
memori internal. Pada saat Flash Programming pin ini akan
mendapat tegangan 12 Volt (VPP).
• Pin 19, sebagai XTALL1 (Input Oscillator).
• Pin 18, sebagai XTALL2 (Output Oscillator).



8
2.2.1 Struktur Memori
AT89S51 mempunyai stuktur memori yang terdiri atas :
• RAM Internal, memori sebesar 128 byte yang biasanya
digunakan untuk menyimpan variabel atau data yang bersifat
sementara.
• Special Function Register (Register Fungsi Khusus), memori
yang berisi register-register yang mempunyai fungsi-fungsi
khusus yang disediakan oleh mikrokontroller tersebut, seperti
timer, serial dan lain-lain.
• Flash PEROM, memori yang digunakan untuk menyimpan
instruksi-instruksi MCS51.


Gambar 2.2 Struktur Memori AT89S51

AT89S51 mempunyai struktur memori yang terpisah antara RAM
Internal dan Flash PEROM nya. RAM Internal dialamati oleh RAM
Address Register (Register Alamat RAM) sedangkan Flash PEROM yang
menyimpan perintah-perintah MCS-51 dialamti oleh Program Adderss
Register (Register Alamat Program). Dengan adanya struktur memori
yang terpisah tersebut, walaupun RAM Internal dan Flash PEROM
mempunyai alamat yang sama, yaitu alamat 00, namun secara fisiknya
kedua memori tidak saling berhubungan.





9
2.3 Komunikasi Data Serial
Komunikasi data serial sangat berbeda dengan format
pemindahan data pararel. Disini pengiriman bit bit tidak dilakukan
sekaligus seperti pada saluran pararel, tetapi stiap bit dikirimkan satu per
satumelalui saluran tunggal. Dalam pengiriman data secara serial harus
ada sinkronisasi atau penyesuaian antara pengirim dan penerima agar data
yang dikirimkan dapat diterima dengan tepat dan benar oleh penerima.
Dalam komunikasi secara serial terdapat tiga macammode transmisi
serial dalam mentransmisikan bit bit data yaitu : syncronous, asyncronous
da isochronous. Dalam proyek akhir ini hanya membahas mode transmisi
asyncronous saja yang digunakan.
Transmisi serial mode asyncronous digunakan bila pengiriman
data dilakukan satu karakter tiap pengiriman. Antara satu karakter dengan
karakter lainnya tidak ada waktu antara yang tetap. Karakter dapat
dikirimkan sekaligus ataupun beberapa karakter kemudian berhenti unutk
waktu yang tidak tentu, kemudian dikirimkan sisanya. Dengan demikian
bit bit data ini dikirimkan dengan periode yang acak sehingga pada sisi
penerima data akan diterima kapan saja. Adapun sinkronisasi yang terjadi
pada transmisi serial asinchronous adalah dengan memberikan bit bit
penanda awal dari data dan penanda akhir dari data pada sisi pengirim
maupun dari sisi penerima.

2.3.1. Metode Komunikasi
Metode yang dimaksud adalah

2.3.1.1 Mode Komunikasi Simplex
Pada mode komunikasi simplex ini jalur komunikasi yang
diberikan adalah satu arah seperti yang ditunjukkan gambar dibawah.
Dalam komunikasi pengirim dan penerima adalah permanen, dimana
pada pihak pengirim adalah selalu mengirim data, dan pihak penerima
adalah selalu menerima data.
Pengirim Penerima
Gambar 2.3 Hubungan Simplex






10
2.3.1.2 Mode Komunikasi Half Duplex
Pada mode komunikasi half-duplex ni komunikasi data
dilakukan dalam dua arah dimana pada masing masing pihak bisa sebagai
penerima atau sebagai pengirim data seperti yang ditunjukkan pada
gambar 2.2. Namun pada mode ini tidak dapat dilakukan secara
bersamaan tetapi secara bergantian atau disebut two way alternative. Jika
slah satu sebagai pengirim maka yang lain adalah sebagai penerima
demikian sebaliknya.



2.3.1.3 Mode komunikasi Full-Duplex
Mode komunikasi full duplex dilakukan dalam dua arah yang
terjadi secara bersamaan seperti ditunjukkan pada gambar dibawah ini

2.3.2 Format data komunikasi serial
Dalam teknik komunikasi dara serial dikenal istilah format data
serial. Format data serial ini terdiri dari parameter parameter yang dipakai
untuk menentukan bentuk data serial yang akan dikomunikasikan. Ada
beberapa macam format data serial yang dapat digunakan, dimana elemen
elemennya terdiri dari :
a) Kecepatan mobilisasi data per bit (baut rate).
b) Jumlah bit data per karakter (data length).
c) Pariti yang digunakan.
d) Jumlah stop bit dan start bit.


Pengirim
Penerima
Pengirim
Penerima
Pengirim
Penerima
Pengirim
Penerima
Gambar 2.4 Hubungan Half-duplex
Gambar 2.5 Hubungan Full-Duplex


11
2.3 .1 Kecepatan mobilisasi data per bit
an dalam satuan baud. Laju
aud dal
eerbagai baud rate.
aud rat
.3.2.2 Jumlah bit data per karakter
mode asyncronous biasanya
rlangs
.3.2.3 Parity bit
adalah bit yang digunakan sebagai alat pemeriksaan
salaha
.3.3 Konfigurasi Port Serial
anbar konektor port serial DB-9 pada
bagian b
COM1 dan COM2.
.2
Laju data serial seringkali dinyatak
b am kanal komunikasi merupakan laju tercepat dari pemindahan
bit. Laju pemindahan bit kanal jaringan biasanaya lebih rendah dari laju
baud. Keterlambatan tersebut karena bit ekstra ditambahkan untuk
keperluan pewaktuan. Dalam sistem kecepatan tinggi, pemindahan juga
dipelambat oleh tundaan aktif proses pengolahan.
Data serial dapat dimobilisasikan pada b
B e yang digunakan dalam teknik komunikasi data serial null
modem asyncronous adalah 300 bps sampai 19200 bps.

2
Dalam komunikasi data serial
be ung transmisi data yang dikemas dalam bentuk karakter. Dalam
satu karakter diperbolehkan terdiri dari beberapa variasi umlah bit. Dari
sekian variasi yang diperbolehkan diantaranya adalah terdiri dari 7 bit dan
8 bit (panjang data karakternya saja). Kedua variasi ini adalah yang paling
sering digunakan dalam komunikasi serial. Tetapi meskipun demikian
tidak menutup kemungkinan jika diinginkan untuk menggunakan variasi
jumlah bit yang lain asalkan masih diperkenankan dalam penulisan
inisialisasi peralatan serial yang bersangkutan.dalam komunikasi serial.
Tetapi meskipun demikian tidak menutup kemungkinan jika diinginkan
untuk menggunakan variasi jumlah bit yang lain asalkan masih
diperkenankan dalam penulisan inisialisasi peralatan serial yang
bersangkutan.

2
Bit parity
ke n sederhana dalam proses transmisi data digital. Pemakaian
parity ini akan diikutsertakan dalam proses penulisan inisialisasi
peralatan serial yang bersangkutan. Bit pariti ini akan diletakkan setelah
susunan bit data. Kemungkinan dari jenis pariti ini ada tiga macam , yaitu
pariti ganjil, pariti genap dan tanpa pariti (tidak diikutkan dalam
pemeriksaan kesalahan). Level digital dari.

2
Gambar 2.3 adalah g
elakang CPU. Pada komputer IBM PC kompatibel biasanya kita
dapat menemukan dua konektor port serial DB-9 yang biasa dinamai


12

Gambar 2.6 Konektor serial DB-9 pada bagian belakang CPU

T

abel 2.1 Konfigurasi pin dan nama sinyal konektor serial
Direction Keterangan
Nomor Nama
Pin Sinyal
1 DCD In
Data Car eceived
Line Sinyal Detect
rier Detect / R
2 RxD In Receive Data
3 TxD Out Transmit Data
4 DTR Out Dat dy a Terminal Rea
5 GND - Ground
6 DSR In Data Set Ready
7 RST Out Req nd uest to Se
8 CTS In Clear to Send
9 RI In Ring Indicator


Keterangan mengenai fungsi salu n RS-232 pada konektor DB-9
adalah sebagai berikut:

e DTE bahwa pada terminal masukan ada data
masuk.
• Receive Data, digunakan DTE pada saat menerima data dari DCE.
ra
Received Line Signal detect, dengan saluran ini DCE
memberitahukan k


13
• Transmit Data, digunakan DTE pada saat mengirimkan data ke
DCE.
Data Te • rminal Ready, pada saluran ini DTE memberitahukan
• cator, pada saluran ini DCE memberitahu ke DTE bahwa
• saluran ini DCE memberitahukan bahwa
i akan diberikan teori dasar yang melandasi permasa-
dasa kan meliputi: terminologi antena, yang memberikan
defi si dan klasifikasi tentang antena yang telah berkembang sampai saat
ini.
munikasi serial pada Mikrokontroller
Pada mikrokontroller terdapat parameter-parameter setup window
rameter MSComm.
Param
2.

.
pen maka untuk
2 ai connector i a hanya menggunakan 3 pin saja,
kesiapan terminalnya.
• Signal Ground, merupakan saluran ground.
Ring Indi
sebuah stasiun menghendaki hubungan dengannya.
Clear to Send, dengan
DTE sudah dapat memulai pengiriman data.
• Request to Send, dengan saluran ini DCE diminta mengirim data
oleh DTE.
• DCE Ready, merupakan sinyal aktif yang menunjukkan bahwa DCE
sudah siap.

Pada bab in
lahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Teori
r yang diberi
ni
Selanjutnya, diberikan tentang pola radiasi dan faktor array, arti dan
perlunya pembentukan pola radiasi (beamforming), teori resiprositas
(reciprocity), teori tentang antena array untuk konfigurasi linier dan
planar.
Pada bagian lain, diberikan tentang algoritma genetika dan
aplikasi-nya untuk menyelesaian optimasi dalam suatu permasalahan.

2.3.4 Ko
Komunikasi antara PC dengan mikrokontroller adalah komunikasi
serial dimana menggunakan RS-232 sebagai connector interfacenya.
yang harus di set sesuai dengan pa
eter-parameter tersebut antara lain:
1. Transmission Speed : pilih 2400.
Data length : pilih 8 bit sebagai bit datanya.
3. Stop bit : pilih 1.
4. Parity check : pilih NONE.
5. Flow control : pilih NONE
Untuk melakukan giriman data ke mikrokontroller
RS- 32 sebag nterfaceny
yaitu:



14














Gambar 2.7 Koneksi RS-232 pada mikrokontroller dan PC
5 Konektor Interface RS-232
Karakteristik dari RS-232 memiliki ketentuan level tegang

2.3.
an
sebagai b
1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt.
letak antara +3 Volt hingga +25 Volt.
3. D
daerah tegangan yang tidak memiliki level logika pasti
pada p
erikut:
2. Logika ‘0’ disebut ‘space’ ter
aerah tegangan antara -3 Volt hingga +3 Volt adalah invalid
level, yaitu
sehingga harus dihindari. Demikian juga, level tegangan lebih
negative dari -25 Volt atau lebih positif dari +25 Volt juga harus
dihindari karena tegangan tersebut dapat merusak line driver pada
saluran RS-232
Gambar 2.2 berikut ini adalah contoh level tegangan RS-232 pada
engiriman huruf ‘A’ dalam format ASCII tanpa bit paritas.

Gambar 2.8 Level tegangan RS-232 pada pengiriman huruf ‘A’
tanpa bit paritas


6DSR
2RxD
4DTR
1DCD
8CTS

M okontroller PC
2RxD
3TxD
5GND
ikr
9 pin

3TxD
5GND
7RTS
9pin


15
2.3.
Komunikasi seria akan komunikator yang
menghubungkan antara terminal dat dari suatu peralatan dan peralatan
i menjalankan pertukaran data biner secara serial. Sedangkan IC yang
juga menyediakan pemrosesan data dan
protocol
6 IC serial MAX 232
l RS 232 merup
a
in
dipakai untuk komunikasi
, sedang yang lain berupa interface ke jalur komunikasi secara
fisik. Bagian yang menangani komunikasi dapat dihubungkan dengan
berbagai aplikasi yang berhubungan dengan elektronik, tetapi memiliki
kondisi arus dan tegangan yang tak menentu. IC serial RS 232 dipakai
sebagai interface (antar muka) dari PC ke perangkat luar (level TTL) atau
sebaliknya dari perangkat luar ke PC. Tegangan yang ada pada RS 232
berbeda dengan level tegangan digital. Tegangan RS 232 tersebut antara
+3 volt sampai dengan +25 volt untuk logika “0” dan -3 volt sampai
dengan -25 volt untuk logika “1”. Tegangan yang cukup tinggi ini
mengakibatkan data dapat ditransmisikan cukup jauh.


Gambar 2.9 Interface MAX 232

IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5
volt. kaki ke-16 digunakan sebagai input tegang (Vcc), kaki ke-15
sebagai Ground (G gai input RS-232,
sedangka kaki 7 dan 14 sebagai output RS-232. RS-232 merupakan
suat
an
ND). Kaki 8 dan 13 digunakan seba
n
u interface yang digunakan untuk menghubungkan antara terminal
data dari suatu peralatan dan peralatan komunikasi data yang
menjalankan pertukaran data biner secara serial.




16
2.3.7 Pengaksesan dengan menggunakan control MSComm
Kontrol MSComm menyadiakan fasilitas komunikasi antara
prog m aplikasi yang kita buat dengan port serial untuk mengirim atau
menerima data melalui port serial. Setiap MSComm hanya menangani
yak port
serial
menentukan port mana yang akan digunakan.
Setti
ram
dahu
Teknik rupakan metode dan teknik dalam
embuat menu utama program. Menu utama program berisiskan tentang
ram utamanya
dengan gambar atau grafik yang menerangkan
nerja d
ram aplikasi yang beroperasi dalam lingkungan
indows. Bahasa pemrograman Visual Basic 6.0 merupakan sebuah
dan canggih dalam hampir semua
spek. V

ra
satu port serial, kita juga harus menggunakan MSComm seban
yang kita pakai.
Pada kontrol MSComm terdapat parameter-parameter penting yang
harus di set terlebih dahulu agar koneksi ke interface lain dapat dilakukan.
Parameter-parameter tersebut adalah:
CommPort : Untuk
ng : Untuk menentukan setting protocol sesuai dengan
parameter device.

2.4 Pemrog an Dan Database VISUAL BASIC 6.0
2.4.1 Pen luan
perangkat lunak me
m
semua parameter parameter dara yang digunakan pada prog
dan dapat dilengkapi
ki ari sistem.

2.4.2 Dasar Teori Visual Basic 6.0
Visual Basic 6.0 merupakan perangkat pengembangan untuk
menghasilkan prog
w
bahasa pemrograman yang tangguh
a isual Basic bisa disebut perangkat pengembang yang mampu
dengan mudah dan cepat menghasilkan program aplikasi. Dengan VB 6.0
ini dapat dibangun suatu program aplikasi dalam tatanan GUI maupun
Console. GUI (Graphical User Interface) adalah karakter karakter
program aplikasi yang menggunakan sarana perantara grafis. Seperti
kotak dialog, tombol, menu dan sebagainya. Contoh program GUI adalah
program yang hanya menekankan segi kemampuan kerja, segi
tampilannya kurang diperhatikan, contohnya program DOS. Dengan
Visual Basic 6.0 dapat dengan mudah menyusun sebuah windows yang
mengandung tombol tombol, kotak, cek dan komponen lainnya dengan
mudah.




17
2.4.2.1 Pemakaian Komponen
Komponen adalah suatu kesatuan pembentuk aplikasi yang
igunakan untuk merancang user interface program aplikasi. Komponen
rbagi menjadi dua, yaitu vsiual dan non-visual. Komponen visual
isalnya tombol sedangkan contoh yang non-visual adalah print kotak
en memiliki atribut tersendiri dalam
elakuk

d
te
m
dialog. Masing masing kompon
m an aksi kendalinya.

2.4.2.1a Menu
Menu merupakan sekumpulan perintah yang dipakai dalam MS
Visual Basic. Berikut merupakan contoh tampilan salah satu menu pada
MS Visual Basic.


Gambar 2.10 Menu di dalam Visual Basic 6.0











18
2.4.2.1b Toolbar Standart
Gambar yang mewakili suatu perintah
























Paste
Project Explorer
Open
Menambah Project
Menambah Form
Menu Editor
Cut
Save
Copy
Stop Program
Form
Tool Box
Propertise
/Close
Gambar 2.11 Tool tool standart pada
Visual Basic 6.0


19
2.4.2.1c Tool Box
Komponen Visual Basic yang akan ditempatkan pada form.


Pointer Picture
Tex Box
Label
Commond Button Frame
Check Box Option Button
List Box
VScrollBa
Combo Box
r
HScrollBar
Drive List Box
Timer
File List Box
D

ar 2.12 Tool Box didalam V l Basic 6.0

Beri ialah keterangan dari masing masing Tool Box yang
u tamp default dari Visual Basic.
♠ Pointer : Mengklik suatu obyek.

♠ Label : Sebagai keterangan tanpa proses input.

d Butt
ox dari satu
utton
ox
gsung
ox

ir List Box
Shape
OLE
Image
Line
Data
Gamb isua
kut
ditampilkan pertama kali ata ilan
Picture : Menyisipkan gambar pada form.

♠ TextBox : Dipakai untuk input atau output data.
♠ Frame : Untuk mengelompokkan Control
♠ Comman on : Tombol perintah
♠ Check B : Untuk memilih pilihan yang lebih
♠ Option B : Untuk memilih salah satu pilihan
♠ Combo B : Membuat daftar pilihan secara dropdown
♠ List Box : Membuat daftar pilihan tampak lan
♠ Hscroll Bar : Horisontal scroll bar
♠ Vscroll Bar : Vertikal scroll bar
♠ Timer : Mengatur waktu
♠ Drive List Box : Membuat daftar drive
♠ Dir List B : Membuat daftar direktori
♠ File List Box : Membuat daftar file


20
♠ Shape : Membuat bentuk lingkaran, kotak dll
le
ol tool yang
ilakuka ngan m trl + T. Atau pilihan menu
roject – nt.
.4.2.1d
Control (Tool Box) ada 2 cara
1. Click salah satu Control dan drag pada form dengan posisi dan
tertentu.
2.
Kemudian atur posisi dan ukurannya.
♠ Line : Membuat garis
♠ Image : Menyisipkan gambar
♠ Data : Menyisipkan data base
♠ OLE : Prosses Embeding Fi
Apabila to yang lain ingin ditambahkan maka step
d n ialah de enekan tombol C
P Compone

2 Form
Tempat untuk meletakkan kontrol dan sebagai layar secara
visual
Cara menempatkan
ukuran
Double Click salah satu Control maka akan tampil pada form.
Contoh pemakaian Control pada form yaitu :


Frame
Label





Gambar 2 lan Tool Box didalam Form Vis .0



.13 Tampi ual Basic 6
Data
Option
Button
Check Box
HScrollBar
List Box
Option Button
VScrollBar
Combo Box
Timer
Dir List Box
Tex Box
File Lis
Box
t


21
Untuk menjalankan program aplikasi anda dapat melakukannya
telah menyimpan program aplikasi yang telah dibuat, jalankan dengan
me at
juga menjalankan program aplikasi engan mengklik icon Start seperti
pada gam
se
milih menu Run lalu Start atau tekan tombol fungsi F5. Anda dap
d
bar dibawah






ar 2.14 Tomb Eksek si Program
Setelah dijalank ndapatkan hasil tampilan
rogram yang sedang berjalan seperti gambar dibawah

Gamb u ol

an anda akan me
p


Gambar 2.15 Tampilan Saat Dieksekusi

Untuk membuat file EXE dari program aplikasi yang sudah
dibuat, sehingga dapat dijalankan langsung oleh MS-Windows, misalnya
lewat icon Sta ram (setelah
itambahkan dalam setting taskbar). Untuk membuat file berekstensi dot
EXE dari
rt lalu run, atau lewat icon Start lalu prog
d
program aplikasi, caranya secara singkat adalah sebagai berikut
1. Pilih menu file
2. Pilih Make <namafile>.exe
Icon End Icon Star
Icon Break (Pause)


22
3. Tentukan nama file (misal dapur.exe) dan lokasinya dalam
drive
4. Tentukan pilihan pilihan pembuatan file EXE jika
lik tombol Options), kemudian

2.4.2.1e j
Proj
program apli diri. Project disimpan dalam file berakhiran .VBP
ada versi sebelumnya berakhiran .MAX). File ini menyimpan seluruh
asuk pilihan proyek, pilihan environment,
pilihan f
Folders.
penyimpanan file). Berikut merupakan contoh gambar dari
ko p
dikehendaki (dengan mengk
klik Ok.
Pro ect Explorer
ect adalah sekumpulan modul. Jadi project (proyek) adalah
kasi itu sen
(p
kokmponen program, term
ile EXE dan segala sesuatu yang berhubungan dengan proyek.
Jika anda membuat program aplikasi, akan terdapat jendela
proyek yang berisi semua file yang dibutuhkan untuk menjalankan
program aplikasi MS Visual Basic 6.0 yang dibuat. Pada jendela proyek
terdapat tiga icon yaitu View Code, View Object, dan icon Toggle
Icon View Code dipakai untuk menampilkan jendela editor kode
program. Icon View Object dipakai untuk menampilkan bentuk formulir
(form) dan icon Toggle Folders berguna untuk menampilkan folder
(tempat
lom roject.



Gambar 2.16 Tampilan Jendela Project

2.4.2.1f Propertise
Propertise digunakan untuk menentukan setting suatu objek.
Suatu objek bia dapat diatur sanya mempunyai beberapa properti yang


23
la sung dari jendela Propertise atau lewat kode program. Setting
ukan cara kerja dari objek yang bersangkutan saat
program
ng
properti akan menent
aplikasi dijalankan., misalnya menentukan warna objek, bingkai
objek, pengambilan data dan lain lain.



Gambar 2.17 Tampilan Jendela Properties

2.4.2.2 Database
Biasanya, jika kita ingin me buat suatau program manajemen
database, kita m ile database
i dibuat satu kali saja dan tidak perlu langsung diisi recordnya (dibuat
ya saja). Selanjutnya file database tersebut diproses
wat pr
ecara terbatas, terutama untuk membuat dan
engedi
uk pertama kalinya, maka mungkin

m
emerlukan file database yang akan diproses. F
in
struktur databasen
le ogram. Untuk membuat file database, anda dapat menggunakan
program Visual Data Manager (VisData) atau program lain, misalnya
program Microsoft Access.
Visual Data Manager adalah suatu program “add-ins”, yaitu
program terpisah yang “ditempelkan” dalam MS Visual Basic 6.0,
sehingga bisa dipakai sebagai bagian dari MS Visual Basic 6.0.Visual
Data Manager akan dibahas s
m t struktur database.
Cara memanggil Visual Data manager adalah sebagai berikut :
1. Pilih menu Add-Ins pada menu utama MS Visual Basic 6.0
2. Pilih Visual Data Manager. Jika anda memanggil Visual
Data Manager unt
MS-Visual Basic 6.0 akan meminta anda menambahkan
suatu setting. Untuk itu harus dapat memberi tahu MS
Visual Basic 6.0 letak file yang akan di update, yaitu
biasanya file bernama Sistem yang terletak pada direktori
C:\WINDOWS\SISTEM.


24
3.

2.4.2.2a m
MS
database, yai ase Microsoft Access, Microsoft Exel, DBase,
FoxPro, Paradox, ODBC dan file teks. Pada pembahasan sekarang kita
database Microsoft Acces saja. Untuk
embua
tuk memberikan nama file dan lokasi data
bahwa satu file database dapat
kan

Akan muncul tampilan program Visual Data Manager
seperti gambar dibawah ini dan anda langsung dapat
memakainya.
Me buat Database
Visual Basic 6.0 dapat menangani bermacam macam format
tu format datab
akan membatasi pada format
m t database dengan format database Microsoft Acces, lakukan
langkah langkah berikut ini :
1. Pilih menu File lalu New
2. Pilih Microsoft Acces lalu pilih versi yang diinginkan.
3. Setelah itu akan muncul tampilan seperti Gambar 2.19
yang meminta un
akan disimpan. Perhatikan
berisi beberapa tabel database. Jadi, misalnya kita a
membuat tiga tabel database. Untuk data Pembelian, maka
anda dapat memberi nama databasenya Beli.MDB, yang
nantinya dapat berisi tabel Barang.


Gambar 2.18 Membuat Database



25


Gam ase
4. Setelah ditentukan nama databasenya, pilihlah Save
sehingga muncul tampilan seperti pada Gambar 2.20
5. Tunjuk tulisan Properti lalu klik kanan, sehingga muncul
menu tambahan, lalu pilih New Table sampai muncul
tampilan seperti Gambar 2.21

bar 2.19 Menentukan Nama Datab




Gambar 2.20 Jendela Database



26


Gambar 2.21 Menentukan Struktur Tabel Database

6. Ketik tulisan Barang pada Table Name
7. Klik Add Field untuk menambahkan field (kolom), sampai
muncul tampilan seperti Gambar 2.22
8. Ketik Kode pada kolom Name sebagai nama field yang
pertama. Field ini nantinya akan diisi data kode barang.
9. Pilih Text pada kolom Type untuk menentukan tipe data
field kode.



Gambar 2.22 Menambah Filed (kolom)


27

10. Tentukan lebar data pada kolom Size dengan angka 6.
11. Pilih Option Button pada pilihan FixedField agar lebar field
bersifat tetap, sehingga tidak dapat diubah pada saat
program dijalankan.
12. Klik OK
13. Ulangi langkah 8 sampai 12 untuk menambahkan field
Nama (tipe Text, lebar 30), field Satuan (tipe Text, lebar 5)
dan field Harga (tipe Single)
14. Klik Close sampai muncul lagi tampilan seperti pada
Gambar 2.21
15. Klik Built The Table.
16. Klik Close sampai muncul tampilan seperti Gambar 2.20.
Jika ingin keluar dari program Visual Data Manager, maka
dapat dilakukan denga memilih menu File lalu Exit.

2.4.2.2b Memodifikasi database
pir
sama de
file data base
Data Manage la seperti di bawah ini.

n
Cara memodifikasi database yang sudah ada dalam disk ham
ngan cara membuatnya, yaitu dengan membuka kembali nama
melalui Visual Basic kemudian di panggil melalui Visual
r hingga tampil jende


Gambar 2.23 Proses Untuk Memodifikasi Database



28
Untuk menampilkan jendela seperti diatas sudah dijelaskan
sebelumnya. Jadi pada sub bab ini tidak perlu dijelaskan kembali proses
awalnya.

2.4.2.2c Menambah index data
Index data adalah urutan data pada suatu tabel database. Index
data diperlukan terutama untuk pencarian data dengan cepat dan
pengelompokan data. Untuk membuat index data caranya hampir sama
dengan memodifikasi data. Pertama ialah memanggil program Visual
Data Manager dengan memilih menu Add-Ins lalu Visual Data Manager.
Kemudian pilih menu File lalu Open Database kemudian pilih Microsoft
Access karna Visual Data Manager merupakan source dari MS Access
sehingga tampil jendela seperti Gambar 2.19
Klik pada file database yang diinginkan lalu pilih open, tunjuk
pada nama table yang dikehendaki la klik kanan dan dilanjutkan dengan
memilih 2.21.
emudian klik add index sampai muncul tampilan seperti gambar
bawah
lu
Design sampai muncul tampilan seperti Gambar
K
di ini. Ketik nama index (misal KodeBrg) pada kolom Name.



Gambar 2.24 Menambahkan Index Data Didalam Database

Selanjutnya klik kunci index pada kolom Available Fields.
Perhatikan bahwa anda dapat menggunakan beberapa field sebagai kunci
index, misalnya jika kita memiliki data Beli, maka dapat membuat satu
urutan data (index) berdasar kunci index kode barang sebagai kunci
pertama dan tanggal faktur sebagai kunci ke dua. Dengan demikian, data


29
Beli akan terurut berdasar kode barang dan di antara kode barang yang
sama, akan terurut berdasar tanggal faktur.
Tentukan pilihan Primary, Uniqe dan IgnoreNulls. Pilihan
Primary dipilih jika index yang sekarang adalah index primary, yaitu
index yang memuat satu atau lebih field dan bersifat unik (tidak ada yang
sama dalam satu tabel). Kunci primary ini biasa digunakan sebagai
pengenal suatu record jika tabel yang bersangkutan dihubungkan dengan
tabel lain. Ingat, dalam satu tabel hanya boleh ada satu primary key.
Pilihan Uniqe dipilih jika ingin index bersifat unik dan pilihan IgnorNulls
jika field yang kosong diabaikan. Kemudian klik OK. Bila ingin
menambahkan index lain, maka proses selanjutnya adalah sama dengan
proses pembuatan index yang pertama dan hanya boleh ada satu primary
dalam satu table.
Untuk menambah tabel data dalam satu file data base, proses
ang digunakan adalah sama saat pembuatan tabel yang pertama.
Beda kup
embuka file database yang diinginkan, kemudian tinggal ditambahkan
dat
y
nya hanyalah tidak perlu membuat file databasenya, tetapi cu
m
tabel a yang baru. Berikut merupakan contoh gambar suatu proses
untuk menambahkan table lain didalam file database.



Gambar 2.25 Proses Menambah Table Baru Di dalam Database

Dari gambar diatas sudah tampak jelas, tinggal mengklik kanan
pada Properties kemudian klik kiri di New Table. Selanjutnya tinggal
menambahkan nama nama database seperti pada proses awal.



30
2.4.2.2d Mengaitkan Data ke dalam Form
Untuk dapat mengakses suatu database dalam suatu form, maka
atabase tersebut harus dikaitkan ke dalam form. Untuk itu, dapat
digunakan icon Adodc (Microsoft ActiveX Data Objects Data
Control) pada toolbox. Jika pada toolbox tidak terdapat icon Adodc,
maka dapat ditambahkan dengan memilih menu Project, Components
(Ctrl+T) lalu beri tanda pilih pada Microsoft ADO Data Control
(OLEDB) dan klik Apply. Pada versi sebelumnya yang digunakan
adalah icon Data, yang nantinya akan kita pelajari juga.
Berikut merupakan langkah langkah untuk mengaitkan Data ke
dalam form
1. Buat project baru
2. Klik icon Adodc pada toolbox
3. Klik dan seret pada jendela form, sehingga muncul tampilan
seperti Gambar 2.26. Objek yang tergambar dalam form
disebut objek Data

d
.

Gambar 2.26 Mengaitkan Database ke Dalam Form


31
4. Tentukan properti data sebagai berikut :

Table 2.2 Untuk Tool Adodc pada gambar Gambar 2.25

Properti Setting
Name dbBeli
Caption Data Barang
EOFAction 2-adDoAdNew


5. Tentukan Properti Co ectionString dengan cara mengklik
uncul

nn
tombol. Pada kolom ConnectionString sehingga m
tampilan seperti pada Gambar 2.27.


Gambar 2.27 Menentukan Properti ConnectionString

6. Pilih Option Button pada Use Connection String lalu klik
Build sehingga muncul tampilan seperti pada Gambar 2.27
7. Pilih Microsoft Jet 4.0 OLEDB Provider lalu klik Next
8. Pilih dengan mengklik tombol ... atau ketik nama database
yang dipakai pada kolom Select or enter a database name.
9. Klik Test Connection jika perlu, lalu klik OK dua kali
sampai tampilan kembali ke jendela Form.
10. Tentukan properti RecordSource dengan cara mengklik
tombol ... pada kolom RecordSource sehingga muncul
tampilan seperti pada Gambar 2.28


32
11. Pada kolom Command Type pilih 2-adCmdTable.
Setelah kolom ini diisi, maka akan dapat anda akan dapat
mengisi kolom Table or Store Procedure Name. Isilah
dengan memilih tabel Barang seperti pada Gambar 2.28
12. Klik OK
Sampai disini, tabel database Barang pada file database Beli
sudah terkait dengan form dan siap diakses dengan menggunakan objek
objek yang tersedia.



Gambar 2.28 Menentukan properti RecordSource
aman Bahasa C

2.5 Pemrogr
2.5.1 Pe
pemrograma
panjang. Mu
program
yang le
oleh satu macam arsitektur komputer saja seperti
yang disebutkan sebelumnya. Jika kita dapat membuat program yang
dapat berjalan di berbagai macam arsitektur komputer maka itu akan
mempercepat pengembangan software. Namun demikian, itu tidak berarti
bahwa setiap program yang ditulis dengan bahasa C akan dapat berjalan
pada semua mesin
ndahuluan
Bahasa C adalah bahasa tingkat menengah. Pada bahasa
n ini, machine code dihasilkan melalui tahap yang lebih
ngkin anda bertanya, kalau orang sudah bisa membuat
bler.Bahasa C karena dengan membuat bahasa dengan assem
velnya lebih tinggi (lebih dekat ke bahasa manusia) maka
pengembangan perangkat lunak (software) akan lebih cepat, masih ada
satu alasan lagi dan mungkin yang terpenting yaitu bahasa assembly
hanya da at dieksekusi p


33
2.5.2 Alasan Penggunaan Bahasa C
Bahasa C saat ini masih merupakan bahasa pemrograman yang
banyak digunakan dan powerful. Sebelum melangkah lebih jauh, penulis
akan menjelaskan beberapa alasan penggunaan bahasa C.
1. Dalam beberapa aplikasi pemrograman pada sistem operasi
windows, kita tidak dapat atau sangat sulit menggunakan bahasa
pemrograman selain C
2. Beberapa software membutuhkan kinerja yang tinggi dari
segi kecepatan, hal ini bisa dicapai dengan mudah jika kita menggunakan
bahasa pemrograman yang "sederhana" seperti C.
3. Kelemahan dari bahasa C yang penulis ketahui sampai saat
ini adalah dari segi kompleksitas pemeliharaan dan pengembangan
software yang kita buat, jika software tersebut sudah cukup kompleks.
Sebagai contoh, software ExploChip pada artikel Tutorial M buat

5.3 Peng
bentuk dasar (biasanya kata) yang dapat
mpiler. Pada bagian ini akan di bahas
kurung pada direktori- direktori
mencari file test.h pada direktori test.

em
2. enalan Sintaks Bahasa C
Sintaks adalah suatu
dipahami dan diolah oleh co
beberapa sintaks yang umum digunakan dalam bahasa C, selain itu akan
dijelaskan bagaimana cara kerja compiler C secara umum. Sebelum
melangkah lebih jauh, perlu anda ketahui bahwa C adalah bahasa
pemrograman yang case sensitive, sehingga var, Var, dan VAR adalah
tiga hal yang berbeda pada bahasa C.

2.5.3.1 Keyword #include
Keyword ini membuat kita seakan-akan telah mengetik isi dari
file yang dicantumkan sesudah keyword tersebut. Misalnya: #include <
stdio.h > akan membuat preprocessor mengekspansikan file stdio.h pada
tempat keyword #include tadi diketikkan. #include mempunyai dua
macam bentuk yaitu #include <...> dan #include "..." , titik-titik tersebut
adalah nama file. #include <...> akan membuat preprocessor mencari file
yang namanya dicantumkan di dalam
yang telah didefinisikan oleh software development tool yang kita
gunakan, misalnya pada direktory INC, INCLUDE, dan lain-lain.
#include "..." akan membuat preprocessor mencari file yang namanya
dicantumkan di dalam tanda petik ganda pada direktori file yang memiliki
keyword #include tersebut. Misalnya anda mengerjakan file test.c yang
ada pada direktori bernama test, dan anda mengetikkan #include "test.h",
maka preprocessor akan


34
2.5.3.2 K
stanta yang akan kita
gunakan
ng
ikosongkan, maka identifier tadi akan hilang dari source code program
tifier menjadi tidak dikenali sebab
tidak me
ler). Jika ekspresi tersebut benar
aka baris-baris source code sesudah #if akan diolah dan sebaliknya jika
lah. Keyword ini harus digunakan bersama
dengan
rmatnya:
ifdef identifier, identifier adalah sebuah konstanta. Jika identifier telah
ngan keyword #define) maka baris-baris
source c
eyword #define
Keyword ini mempunyai format: #define identifier
token-stringopt. Identifier adalah nama sebuah kon
dalam program kita, dan token-string adalah nilai dari identifier
tersebut (nilai ini harus dapat dikenali oleh compiler), token-string dapat
merupakan sebuah ekspresi6. Preprocessor akan mengganti setiap
kemunculan identifier dengan nilai pada token-string. Jika token-stri
d
kita (pada baris-baris selanjutnya, iden
miliki nilai lagi).

2.5.3.3 Keyword #if
Keyword ini digunakan untuk menentukan pengolahan
baris-baris source code sesudahnya, sampai dengan keyword #endif.
Formatnya adalah : #if expression , expression adalah sebuah ekspresi
yang valid (dapat diolah oleh compi
m
ekspresi tersebut bernilai sa
keyword #endif untuk menandakan batas penggunaan keyword
tersebut dalam source code. Contoh:

#define TEST 2
#if (TEST > 0)
...
baris source code;
#endif

Pada potongan program diatas, baris source code akan diolah
sebab ekspresi TEST > 0 adalah benar.

2.5.3.4 Keyword #ifdef
Keyword ini penggunaannya sama dengan #if. Fo
#
didefinisikan sebelumnya (de
ode sesudah #ifdef akan diolah oleh kompiler, demikian pula
sebaliknya. Keyword ini harus digunakan bersama dengan keyword
#endif untuk menandakan batas penggunaan keyword tersebut dalam
source code




35
2.5.3.5 Keyword #ifndef
Keyword ini mempunyai format yang sama dengan #ifdef, tetapi
cara kerjanya adalah kebalikan dari #ifdef, sehingga jika baris- baris
program esudahnya justru diolah jika identifier tidak didefinisikan
ni harus digunakan bersama dengan keyword
#endif u
2.5.3.7 Keyword #undef
menonaktifkan identifier yang telah
didefinis fine, efeknya sama dengan #define identifier .
Dengan demikian kita dapat mendefinisikan kembali identifier tadi
setelah #
2.5.3.8 Keyword #else
ada keyword #if, #ifdef, #ifndef
benar m urce code sesudah #else, tidak akan dieksekusi,demikian

baris source code2;
#endif Pada potongan program diatas, baris source code2;
TEST > 0 adalah salah.

repocessor menjadi bahasa assembly yang selanjutnya akan
s
sebelumnya. Keyword i
ntuk menandakan batas penggunaan keyword tersebut dalam
source code

2.5.3.6 Keyword #endif
Keyword ini sebagai pembatas untuk menadakan bagian akhir
dari source code yang akan dikenai efek jika keyword #if, #ifdef dan
#ifndef dievaluasi.

Keyword untuk
ikan dengan #de
undef.

Keyword ini digunakan di antara keyword #if, #ifdef, #ifndef
dengan keyword #endif. Jika ekspresi p
aka so
pula sebaliknya.Contoh:

#define TEST 0
#if (TEST > 0)
...
baris source code1;
#else
...

akan diolah sebab ekspresi
2.4.5 Perintah Perintah Dalam Bahasa C
2.5.4.1 Compiler
Compiler adalah bagian dari Software Development Tool yang
kita gunakan, yang bertugas menerjemahkan source code yang telah
diolah oleh p


36
diolah o h assembler untuk dijadikan machine code yang dapat
asa C adalah sebuah baris program yang dapat
diproses oleh compiler. Pernyataan diakhiri dengan tanda ; (titik-koma).
isi beberapa ekspresi, operator maupun
operand
a diperlakukan seperti sebuah pernyataan biasa, hal ini
terutama berguna saat anda akan mengatur eksekusi sekelompok
h percabangan seperti contoh di bawah ini:
ernyataan 3;
alam kurung sesudah if ( ekspresi a > b)
bernilai nyataan di dalam kurung kurawal akan
diekseku benarnya keyword if hanya dapat mengeksekusi satu
pernyata ng diuji olehnya ( pada contoh di atas
ekspresi mun dengan adanya kurung kurawal, pernyataan 1 s/d
pernyataan 3 seolah-olah dianggap satu pernyataan saja oleh compiler
yang kit
Adalah sebuah simbol yang mewakili sebuah alamat di memory
ma tersebut dan mempunyai
kuran ini disebut tipe data. Tipe data yang berbeda
kemung
data NamaVariabel
ontoh: int variabel1;
dalah tipe data dan ukurannya.
int, unsigned int 4 int a = -255 ; unsigned int b = 10
le
dieksekusi.

2.5.4.2 Pernyataan
Dalam bah
Setiap pernyataan dapat ber
. Contoh: return;
Sekelompok pernyataan yang disatukan dalam sebuah kurung
kurawal (kadang di sebut sebagai block of statement atau blok
pernyataan ) jug

pernyataan dalam sebua
if (a > b)
{
pernyataan 1;
pernyataan 2;
p
} jika ekspresi did
benar maka seluruh per
si. Se
an sesudah ekspresi ya
a > b), na
a gunakan.

2.5.4.3 Variabel
yang nilainya dapat dimanipulasi melalui na
ukuran tertentu. U
kinan mempunyai ukuran yang berbeda. Sintaks untuk
mendeklarasikan (menyatakan pertama kali adanya sebuah variabel)
adalah:

tipe-
C
Berikut ini a
Tipe data Ukuran (byte) Contoh
bool 1 bool a = true ; bool b = false


37
char, unsigned char 1 char a = -1 ; unsigned char b
= 1
long, unsigned long 4 long c = 0xFF ; unsigned
long d = 0xFFC
short, unsigned short 2 short e = 0xFFF ; unsigned
short f = 067
float 4 float g = 0.001
double 8 double h = 1.02e8
double 8 long double h = 2.42e10
e bool hanya mempunyai dua nilai yaitu true atau
false, jad pat mengisinya dengan nilai ini.

dimiliki oleh operator tadi.
n
if (ekspresi1)
.
2;
Pada sourcecode ini, pertama-tama, if akan mengecek ekspresi1 ,
jika bena n kseku
h ke else if (ekspresi2), else if akan mengecek ekspresi2,
jika eksp eco akan
ram berpindah ke sourcecode3. Pada format di atas, else if
long

Variabel bertip
i anda hanya da
2.5.4.4 Operator
Operator adalah karakter atau kumpulan karakter yang
digunakan untuk memanipulasi variabel. Karakter atau kumpulan
karakter ini dikenali secara spesifik oleh compiler sehingga variabel yang
diubah-ubah nilainya(operand) akan dikenai operasi sesuai dengan
definisi operasi yang

2.5.4.5 Percabanga
Percabangan (Control Flow) adalah teknik yang digunakan
untuk mengalihkan eksekusi program saat suatu ekspresi yang diuji
bernilai benar atau salah. Pertama, akan dibahas percabangan dengan if,
else if, dan else. Bentuk percabangan ini adalah yang paling sederhana.
Format penggunaannya adalah:
..
sourcecode1;
else if (ekspresi2)
...
sourcecode
else
...
sourcecode3;
r maka sourcecode1; aka die si, jika tidak, maka eksekusi
program berpinda
resi2 benar maka sourc de2 dieksekusi, jika salah maka
eksekusi prog


38
sebenarn ional (bol ga tidak), jika anda hanya
memilik atif agian else if tidak perlu
digunaka
2.5.4.6 P
unakan untuk
engatasi pernyataan program yang harus dikerjakan secara
rulangan dalam C dapat diimplementasikan dengan
beberapa
...
_ulang;
rogram kembali lagi ke pernyataan for
dan eksp evaluasi (ekspresi1 tidak lagi dieksekusi), jika
benar m source_code_ulang; dieksekusi, setelah itu ekspresi3 akan
diekseku lannya program kembali lagi ke pernyataan for ,
hal ini d lang selama ekspresi2 masih bernilai benar.
2.5.4.7 F nput dan Output
tutorial ini ada 2 buah fungsi input dan output yang
digunaka penulis akan menjelaskannya agar anda tidak bingung saat
mempel de yang diberikan. Fungsi yang pertama adalah
fungsi o
imal:
t test = 10;
h bilangan yang ingin ditampilkan: %d",test);
ya ops eh ada boleh ju
i dua altern "jawaban" maka b
n.

erulangan
Perulangan adalah teknik pemrograman yang dig
m
berulang-ulang. Pe
keyword, yaitu for, do .. while , while . Ketiga keyword ini lah
yang paling sering digunakan. Perulangan menggunakan for mempunyai
format sebagai berikut.
for( ekspresi1 ; ekspresi2 ;ekspresi3 )
{

source_code
}
pada source code di atas ekspresi1 adalah ekspresi yang akan
dievaluasi pertama kali , kemudian ekspresi2 dievaluasi, jika nilainya
benar maka source_code_ulang; dieksekusi, setelah itu ekspresi3 akan
dieksekusi, kemudian jalannya p
resi2 kembali di
aka
si, kemudian ja
ilakukan berulang-u

ungsi untuk I
Pada
n,
ajari source co
utput, yaitu fungsi yang digunakan untuk menampilkan hasil
yang diperoleh dari program kita ke layar komputer, fungsi tersebut
adalah int printf(const char* [format],[argument]...). Anda tidak perlu
bingung menggunakan fungsi yang agak kompleks ini, anda cukup
mengganti [format] dengan petik ganda dan di antara petik ganda tersebut
anda tuliskan kata-kata yang ingin ditampilkan. [argument] adalah
opsional. Berikut ini contoh pengunaannya untuk menampilkan sebuah
bilangan des
in
printf("inila


39
Pada source code di atas, di antara tanda petik ganda diketikkan
kata-kata yang ingin ditampilkan. Tanda %d adalah sebuah kode khusus
untuk memberitahukan fungsi printf bahwa kita ingin menampilkan
bilangan integer (untuk tanda yang harus digunakan silahkan lihat
dokumentasi compiler yang anda gunakan, untuk Visual C++ gunakan
MSDN) pada posisi tersebut, bilangan yang ingin kita tampilkan
kemudia t] dari fungsi printf. Jika
anda in menggunakan lebih banyak angka lagi (yang berbeda
posisiny dipisahkan karakter lain) maka anda cukup menmbah lagi
[argume anda seperti %d di atas pada posisi yang
anda ingi an.
lasan mengapa pointer diperlukan, yaitu:
rlu mengubah isi dari sebuah
variabel
ta ketahui, sebab sebuah fungsi hanya mungkin
mempun lue (baca kembali bagian fungsi).
n diletakkan pada parameter [argumen
gin
a dan
nt] dan meletakkan pen
nk

2.5.4.8 Pointer dan Array
Pointer adalah salah satu konsep yang paling sulit dipahami oleh
programer pemula dalam bahasa C dan C++. Untuk memahami dengan
baik bagaimana pointer bekerja, anda harus bisa membayangkan
pergerakan variabel-variabel antara microprocessor dan memori utama,
dan akan lebih baik jika anda tahu bagaimana sistem operasi semacam
windows mengorganisasikan memori.
A
1. Dalam kasus tertentu kita pe
yang sebenarnya, kita tidak bisa melakukan hal ini dengan fungsi
seperti yang telah kita pelajari sebab fungsi tersebut hanya memanipulasi
"kopian" dari variabel yang sebenarnya ingin kita manipulasi (yang di
simpan di stack ketika fungsi tersebut diproses )
2. Jika kita bisa merubah secara langsung variabel yang ingin
kita manipulasi maka hal itu adalah lebih efisien dibandingkan mengkopi
dan memanipulasinya, kemudian mengkopi kembali hasil manipulasi
tersebut dari stack ke variabel aslinya.
3. Dalam kasus sebuah fungsi yang harus mengembalikan 2
atau lebih return value. Jelas hal ini tidak mungkin dilakukan dengan
metode yang telah ki
yai 1 return va









40















-------------- halaman ini sengaja dikosongkan---------------



BAB 3
PERENCANAAN DAN PEMBUATAN ALAT


3.1 Umum
Pada pengerjaan proyek akhir ini, dibagi menjadi 2 bagian yaitu
bagian Mikrokontroller yang meliputi software / hardware dan bagian
data base yang ada pada 2 PC dapur-kasir. Sebelum membahas tentang
perencanaan dan pembuatan, maka harus ada perencanaan yang matang
agar sistem dapat direalisasikan dengan baik sesuai target. Oleh karena
itu perlu kita perhatikan juga hardware yang hendak dikontrol.

3.2. Perencanaan Sistem Kerja
Proses pemesanan diawali oleh konsumen yang memasukkan
kode menu yang akan dipesan melalui keypad yang ditampilkan ke
dalam LCD. Setelah konsumen tersebut menekan tombol SEND pada
keypad. Data tersebut kemudian dikirim melalui RS 232 menuju
komputer yang ada di dapur. Kemudian dari komputer yang ada di dapur
ini akan diteruskan ke komputer yang ada di bagian kasir untuk proses
pembayaran.
Komputer kasir menampilkan menu yang dipesan dan
kemudian menjumlah berapa total harga yang harus dibayar oleh
konsumen. Total pembayaran ini kemudian akan di print-out sebagai
nota untuk pembeli. Pada PC kasir ini terdapat berbagai table yang
dapat diakses, diantaranya adalah :
♦ Database master yang berisi tentang menu menu yang ada
beserta harga yang dapat dipanggil dalam form tampilan di PC.
♦ Tabel Pembelian, yaitu tabel yang berisi tentang database
pembelian. Disitu memuat berapa banyaknya pesanan beserta
harganya yang juga diinter face kan dengan printer.
Sistem ini menggunakan dua buah komputer, satu buah
rangkaian minimum Mikrokontroller AT89S51, satu buah LCD, dan
satu buah keypad.
Komputer dapur dalam hal ini hanyalah sebagai penerima
inputan berupa karakter dari keypad yang menjadi satu program dengan
LCD dan minimum sistem. Adapun bahasa pemrograman yang
digunakan pada PC dapur maupun PC kasir ialah Visual Basic 6.0.
41

42
Diagram blok secara keseluruhan seperti tampak pada gambar berikut

keypad
Mikrokontroller
LCD
PC dapur
PC kasir

printer
RS 232
RS 232
Gambar 3.1 Blok Diagram Sistem Pemesanan
Sistem ini dibagi dalam beberapa sub yaitu :
1. Pengendali pengiriman data berbasis sistem minimum
Mikrokontroller AT89S51. yaitu merancang perangkat
pengontrol pengiriman data ke PC dan menampilkan data
yang dimasukkan pembeli dari keypad ke LCD.
2. Interface serial RS-232 pada PC dapur, yaitu menerima
data dari minimum sistem dan meneruskan data ke PC
kasir.
3. Software dan komunikasi data PC dapur ke PC kasir. Yaitu
mengirim data berupa karakter ke PC kasir yang telah
memuat database menu menu pesanan. Serta interface ke
line printer
Pengendalian seluruh sistem terletak pada Mikrokontroller
AT89S51. dimana Mikrokontroller harus mampu mengintegrasikan
seluruh alamat kerja dari alat alat pendukungnya seperti masukan dari
keypad yang selanjutnya dikeluarkan melalui LCD dan dikirim melalui
kabel serial DB9 ke komputer. Kode dimasukkan melalui keypad berupa
tombol tombol angka dari 0 sampai 9 ditambah tombol tombol lain
yang dapat difungsikan antara lain untuk UP, DOWN, CANCEL,
ENTER, SEND.

43

Berikut ini merupakan flowchart dari sistem yang dipakai
dalam Proyek Akhir ini.

Input/ Kirim
Data
Terima database
Di Komp Dapur
Kirim Data
Buka Database /
Olah Database di
Komptr
Kasir
Print Data
Start
Buka Database
Input Data Baru
Simpan Database
/ Reset


Gambar 3.2 Flowchart Keseluruhan Sistem

3.3 Perancangan Perangkat Keras
Pada bagian ini akan dibahas tentang perancangan perangkat
keras yang terdiri dari Minimum Sistem, Rangkaian Keypad, Rangkaian
LCD, dan konektor RS 232.

44

3.3.1 Perencanaan dan Perancangan Antar Muka (Interfaces)
Dengan Mikrokontroller AT89S51
Dalam proyek akhir ini digunakan AT89S51 sebagai interface
antara komputer server dengan memanfaatkan pin Tx, Rx yang ada pada
AT89S51 sebagai komunikasi serial, maka AT89S51 fungsinya akan
sama dengan PPI8255 tetapi pada PPI8255 digunakan komunikasi
paralel sedangkan AT89S51 menggunakan komunikasi serial.



Gambar 3.3 Schematic Rangkaian Minimum AT89S51

3.3.2 Rangkaian Keypad
Pembuatan keypad, disini dimaksudkan untuk memberikan
inputan dari pembeli. Scanning keypad yag dilakukan oleh min sistem

45
harus mampu menentukan posisi dari tombol yang ditekan. Setelah
posisi keypad yang aktif dapat ditemukan maka data tersebut diolah
menjadi data data tombol yang ditekan. Dalam aplikasi ini digunakan
satu macam scanning yang digunakan untuk mendeteksi keypad 4x4.
gambar 3.2 menunjukkan flowchart scanning keypad matriks yang
digunakan dalam program. Scanning keypad ini menggunakan metode
polling. Yaitu scan terus menerus hingga ada tombol yang ditekan.




46
Cek kolom
Kolom tombol
ditemukan ?
Cek baris
Baris tombol
ditemukan ?
Data kolom dan baris
diolah menadi tombol yang
ditekan
return
N
N
N
Y
Y
Y
Gambar 3.4 Flowchart scanning
keypad dengan metode polling
START
Cek semua
tombol
Ada tombol
diekan ?

47
Keypad yang digunakan dalam aplikasi ini adalah keypad
matriks 4x4 (4 baris dan 4 kolom). Berisikan angka 0 sampai 9. dan 6
tombol tyang tersisa dimanfaatkan untuk CAN, ENTER, SEND, UP,
dan DOWN sedangkan 1tombol lagi tidak dipakai. Untuk mengenali
bagian kolom dan baris yang aktif maka keypad ini dihubungkan
dengan minimum sistem AT89S51. kemudian dibuat program yang
dapat mengenali tombol yang sedang ditekan. Program yang dibuat
harus mampu mengenali setiap tombol yang ditekan sesuai perencanaan.
Dan berikut merupakan bagian bagian dari keypad tersebut.
1 2 3 -
Send
4 5 6
Up
7 8 9
Ent Dow
n
0 Can
Gambar 3.5 Susunan tombol pada keypad

Berikut ini merupakan gambar alokasi pin pin output pada
module keypad 4x4 beserta schematicnya tersebut.



Gambar 3.6 Alokasi Pin Pin Pada Keypad

48


Gambar 3.7 Schematic Keypd 4x4

3.3.3 Rangkaian LCD
Liquid Crystal Display (LCD) TM162ABC merupakan display
yang digunakan sebagai tampilan informasi infomasi pada pemesanan.
TM162ABC merupakan ssebuah dot matrik LCD yang berdaya
rendah dengan sebuah High-contrash. Panel LCD memiliki pengontrol
CMOS yang terdapat generator ROM / RAM dan display data RAM di
dalamnya, semua fungsi display dikontrol oleh perangkat lunak dan
dapat dengan mudah di interfacekan dengan unit mikroprosesor, berikut
beberapa kelebihan yang dimiliki TM162ABC.
▪ Terdiri dari 16 karakter, 2 baris display 5x7 dot matrik + 5x1
kursor (1 karakter)
▪ Memiliki 192 karakter pada ROM dan 8 karakter pada RAM
(penulisan program).
▪ 80x8 display data RAM (80 karakter)
▪ Interface dengan 4 bit dan 8 bit data.
▪ Display data RAM dan karakter RAM dapat dibaca dari unit
mikroprosesor
▪ Terdapat beberapa fungsi perintah, display clear, cursor
home, display on/off, display character blink, cursor shift,
dan display shift.
▪ Memiliki rangkaian osilator di dalamnya, reset pada power-
on
▪ Dengan catu daya tunggal + 4,7 Volt.

49



Gambar 3.8 Blok Rangkaian LCD

Algoritma dasar yang digunakan dalam perencanaan subrutin
kirim data ke LCD adalah sebagai berikut
1. Tampilkan pesan pesan informasi
2. Tampilkan menu menu pesanan
3. Tampilkan data data yang dapat ditampilkan seperti instruksi
dari keypad.
Berikut merupakan flowchart dari program LCD


50
Start
Inisialisasi
Tampilkan pesan
pesan inforamasi
Tampilan menu utama
Tampilan data sesuai
instruksi keypad
Return
Gambar 3.9 Flowchart Subrutin Kirim
Data ke LCD

Operasi dasar dari LCD tediri dari beberapa operasi yaitu
instruksi untuk memasukkan kode dan banyak pesanan dan membaca
kondisi apabila kode salah, dan memproses perbaikan kesalahan dalam
memasukkan kode untuk diulangi prosesnya. Kombinasi instruktur dasar
inilah yang memanfaatkan untuk mengirim data ke LCD.
Pada saat sistem mulai diaktifkan maka proses pertama yang
dilakukan minimum sistem adalah inisialisasi. Selama proses inisialisasi
ini akan ditampilkan beberapa pesan yang berhubungan dengan proses
tersebut. Setelah proses inisialisasi selesai, maka LCD akan
menampilkan menu utama secara terus menerus sampai ada reaksi dari
pembeli. Seperti terlihat pada algoritma dasar perencanaan subrutin ini,

51
maka data data yang dapat ditampilkan akan terlihat di LCD selama
eksekusi.

3.3.4 Perancangan Perangkat Keras Downloader Mikrokontroller
AT89S51
Rangkaian ini digunakan untuk men-download-kan program ke
mikrokontroller untuk pengontrolan arah putaran motor stepper. Pada
rangkaian ini digunakan IC MAX 232 untuk mengisolasi dan sebagai
buffer data pada paralel port. Selain itu dengan pemanfaatan IC jenis
HCT ini memungkinkan programmer untuk bekerja secara optimal dan
akurat dengan paralel port. Pemrograman secara In System
Programming adalah programmer tidak perlu melepas IC
mikrokontroller pada waktu akan di-download-kan, hal ini berarti
pendownload-an program dapat langsung dilakukan pada rangkaian
aplikasi. Yaitu dengan memanfaatkan pin-pin pada mikrokontroller
AT89S51.


I
C

A
T
8
9
S
5
1
I
C

M
A
X

2
3
2
1

u
F
/
1
6

V
1

u
F
/
1
6

V
D
B

9


Gambar 3.10 Rangkaian Downloader ISP Flash




52
3.3.5 Konektor RS 232
Untuk mengirimkan pesanan dari mikro ke PC ialah
menggunakan sistem dupleks atau hanya searah saja. Bautrate yang
digunakan ialah 2400 bps atau dapat dipakai yang lain asalkan sinkron
baik PC maupun Mikrokontrollernya. Pada konektor serial ini yang
digunakan hanya 3 pin saja yaitu TX, RX dan ground. Pada Proyek Akhir
ini dibutuhkan 2 kabel serial yang sama susunan yaitu pin TX dan RX
disusun saling bersilangan (cross). Satu kabel digunakan untuk
komunikasi Minimum Sistem dengan PC Dapur dan satu kabel
digunakan untuk komunikasi PC Dapur dengan PC Kasir. Jadi PC dapur
harus mempunyai 2 port serial yaitu port 1 dan port 2.

3.4 Konversi Data
Dalam perancangan Proyek akir ini konsumen dapat memesan
menu melalui meja konsumen hanya dengan memasukkan kode kode
melalui keypad.
Data yang dimasukkan berupa kode kode dari keypad tersebut
kemudian dikirimkan dan dikonversi bentuk bentuk karakter yang
ditampilkan dalam texbox pada Visual Basic 6, dimana Visual Basic
tersebut difungsikan sebagai database.

3.5 Perencanaan Database
Di dalam perencanaan database ini mengacu pada pencarian
data dengan index Untuk melakukan pencarian dengan cepat diperlukan
index data. Dengan adanya index data, maka data akan terurut sehingga
pencarian tidak harus berurutan, tetapi dapat dengan melakukan
pencarian biner, yaitu selalu mencari data dengan cara membandingkan
data yang dicari dengan data tengah suatu set data. Jika data tidak sama,
maka set data akan dipecah lagi dan sesuai setelah dipecah. Demikian
seterusnya, sehingga langkah pencarian akan kecil (sedikit) dan
didapatkan kecepatan pencarian yang baik (cepat), walaupun datanya
besar.
Untuk melakukan pencarian data dengan index data, anda dapat
menggunakan metode berikut ini :

Object.recordset.Seek <pembandingan> , kunci1, kunci2....

Pernyataan <pembandingan> adalah ekspresi string “=”, “>”,
“>=”, “<”, atau “<=”. Jika yang digunakan adalah string “=”, “<” atau
“<=”, maka pencarian dilakukan dari record pertama denganarah maju

53
(ke akhir). Sedangkan jika yang digunakan adalah “>” atau “>=”, maka
pencarian dilakukan dari akhir file dengan arah mundur (ke awal).
Pernyataan kunci1, kunci2, dan seterusnya adalah suatu nilai
yang dicari. Perhatikan bahwa pencarian index dapat menggunakan
beberapa kunci yang berurutan sesuai dengan kunci indexnya. Sebagai
contoh, jika data mempunyai index dengan kunci pertama nomor kode
dan kunci ke dua adalah nama makanan , maka bisa memberikan
perintah pencarian seperti berikut :

object.recordset.Seek “=”, MNoKode, MNamaMakanan

Apabila data mempunyai index dengan dua kunci field atau
lebih, maka pencarian harus ditulis lengkap sesuai dengan jumlah kunci
indexnya. Untuk memahami pencarian dengan index, kami memberikan
contoh program yang kami gunakan untuk pengembangan TA ini.



Gambar 3.11 Contoh Program yang dikembangkan

Tabel 3.1 Properti tool Data pada Gambar 3.11

Properti Setting
Name dbBeli
Caption Database Beli
Connect Acces
DatabaseName Database yang dipakai

54
misal D:\ta\beli.mdb
RecordsetType 0-Table (karena properti
0-Table (karena properti
Index dan metode Seek
hanya bisa dipakai pada
setting ini)
RecordSource Barang

Sekarang kita coba memahami baris baris isi prosedur
pencarian data yang akan dijalankan jika tombol Cari diklik, yaitu
sebagai berikut :

Dim MKode As String *6
MKode = txtCari.Text

Pertama kali program mendeklarasikan variable level prosedur
dengan nama MKode bertipe string dengan lebar 6 karakter. Setelah itu
program mengisi variable MKode dengan isi teks pencarian.

‘aktifkan index berdasar kode barang
dbPembelian.Recordset.Index = “KodeBrg”
‘cari data pertama yang nomornya sama
dengan MKode
dbPembelian.Recordset.Seek “=”, MKode

Program kemudian mengaktifkan index (urutan data) bernama
KodeBrg, yaitu index berdasar kode barang. Setelah itu program
melakukan pencarian data yang kode baranganya sama dengan isi
variable MKode.

If dbPembelian.Recordset.NoMatch Then
x = MsgBox("Data tak ditemukan ! ",
vbOKOnly, "Pencarian nama barang")
End If

Jika data tidak ditemukan, maka program akan menampilkan
pesan. Tetapi kalau ditemukan, program hanya akan menunjuk record
yang ditemukan.
Contoh program diatas selanjutnya dapat dikembangkan dalam
pembuatan Proyek Akhir ini sebagai media pemanggil database acces

55
yang terdapat dalam Visual Basic 6.0. Fasilitas ini dinamakan Visual
Data Manager.
Database yang ada di komputer dapur dan kasir tidak jauh
berbeda. Sistem utama yang dipakai ialah sama, yaitu pemanggilan
database yang berisi kode, nama, dan harga. Pemanggilan database ini
mengacu pada pemanggilan Index barang. Dimana sebelumnya pada
tabel di dalam Visual Data Manager ditambahkan index yang diberi
nama koderbg sebagai acuan dalam pemanggilan database yang lain.
Berikut gambar proses pembuatan index pada database Visual Data
Manager



Gambar 3.12 Pembuatan index pada Visual Data Manager

Sistem utama yang ada pada PC kasir ialah sama. Namun, ada
beberapa fitur yang ditambahkan disini antara lain :
1. Tombol Simpan yang befungsi menyimpan data
pembelian sesudah pembeli memesan menu menu
2. Tombol Print yang berfungsi mencetak nota pembelian.
3. Tombol Lihat database yang berfungsi melihat daftar
pembelian yang tersimpan setelah tombol simpan
ditekan dengan masuk ke form yang ke dua
4. Tombol Total yang berfungsi menjumlah semua
pembelian oleh pelanggan.




56
3.6 Perencanaan Program C pada Mikrokontroller
Perangkat lunak yang digunakan harus dapat mengintegrasikan
seluruh peralatan pendukung yang digunakan dalam sistem pemesan
menu ini. Mikrokontroller harus mampu mengolah data masukkan yang
selanjutnya dikirim ke PC untuk mengetahui instruksi data. Metode
pendekatan yang digunakan dalam penyelesaian proyek akhir ini adalah
1.Analisa pemrograman C pada Mikrokontroller AT89S51
yang melingkupi pengalamatn memori mikro, alamat memori
LCD, scanning keypad, dan komunikasi serial.
2.Analisa pembuatan database yag mengacu pada pemrograman
Visual Basic.
Program yang dipakai ialah menggunakan bahasa C. Proses
pembuatan program utama harus direncanakan secara atang dengan
memperhatikan karakteristikdari hardware pendukung. Berikut ini
adalah perencanaan program menu utama.
Program utama merupakan program yang dieksekusi setelah
pealatan diaktifkan. Dan program yang memegang seluruh subrutin
program. Flowchart dari program utama pemesan menu otomatis ini
dielaskan seperti terlihat dalam gambar 3.1 dari flowchart ini dapat
dilihat bagaimana alur eksekusi pemesan menu otomatis ini.
Diagram alir menjelaskan bagaimana mode operasi
difungsikan. Mode tersebut akan terus dieksekusi oleh sistem sampai
power supply dimatikan. Loopng ini menunjukkan bahwa pemesan
menu ini akan terus siaga sampai konsumen memakainya.
Setelah proses inisialisasi selesai, maka eksekusi program
selanjutnya memasuki program menu utama, yaitu pemilihan mode
operasi.
Mode pemesanan diawali dengan memasukkan kode makanan
dari keypad sebagai acuan untuk memesan menu. Masukan kode
direncanakan sebanyak 2 digit dan selanjutnya disimpan dalam data
internal dan diolah ke dalam pengkonversian menu. Proses ini
dilanjutkan dengan pengiriman dara ke PC.
Ketika proses pemasukan kode terjadi kesalahan, maka dapat
digunakan tombol up atau down untuk menuju baris yang dimaksud.
Lalu dengan menekan tobol CAN maka baris tersebut akan terhapus dan
selanjutnya dapat diisikan kode yang baru.
Data berupa kode kode tersebut akan terkrim ke PC dengan
menekan tombol SEND. Kode kode yang dimasukkan akan tampil pada
LCD dan akan tampil pula isi dari kode tersebut jika setiap penekanan
diakhiri dengan menekan tombol ENT.

57
Untuk proses billing atau pembayaran, terjadi di komputer
kasir. Disitu akan tertera harga, nama makanan, banyak pesanan, total
pembelian berikut tanggal dan jam saat terjadi proses transaksi.
Algoritma program utama ini dapat dijelaskan sebagai berikut :
1). Persiapan
Dalam tahap ini meliputi proses inisialisasi semua alamat
alamat semua interface yang ada di min sistem.
2). Mode operasi
Seperti telah dijelaskan diatas bahwa langkah awal
penoperasian sistem ini adalah memilih mode pemesanan atau
ordering kemudian dilanjutkan dengan mode operasi billing.
3) Tampilan Menu pada LCD
Disini LCD akan menampilkan instruksi step by step yang
harus diikuti oleh pemesan. Setelah pemesan menu ini selesai
mengeksekusi pilihan pembeli, maka tampilan pada LCD akan
kembali lagi ke menu utama.
4). Pengiriman Data
Pada bagian ini terjadi 2 kali pengiriman data yaitu:
4.1). Min sistem ke PC dapur, dimana TxD dan Rxd dari IC
serial yang dipakai, dimanfaatkan sebagai fasilitas
pengiriman data menu PC dapur yang terhubung ke tombol
SEND pada keypad.
4.2). PC dapur ke PC kasir, dimana di PC kasir ini akan
memunculkan isi dari database yang telah dipanggil
sebelumnya.
















58


















-------------- halaman ini sengaja dikosongkan---------------

BAB 4
PENGUJIAN DAN ANALISA


4.1 Tujuan
Dalam proyek akhir ini dilakukan dua macam pengujian, yaitu
pengujian database dan perangkat keras.. Tujuan dari pengujian ini
adalah untuk mengetahui kinerja yang berupa kehandalan dan ketepatan
eksekusi antara program dengan modul yang telah dibuat. Sehingga akan
diperoleh kesimpulan apakah program yang dibuat dapat mengontrol
sistem yang ada.

4.2 Pengujian Database
Database yang akan kita analisa berikut ini berbasis Visual
Basic 6.0. Sistem yang dari database ini prosesnya hanya melakukan
pemanggilan saja. Jadi data data yang sudah diisikan sebelumnya akan
dipanggil dengan memakai kode sebagai index. Untu penyimpanan data
data menu digunakan fasilitas Visual Data Manager. Yaitu fasilitas yang
menghubungkan Microsoft Acces dengan Visual Basic.
Berikut merupakan tampilan database yang ada di computer
kasir.



Gambar 4.1 Tampilan Form Database Pada PC Kasir

Dilihat dari gambar diatas, proses pemanggilan dilakukan
dengan mengisi kolom kode dengan kode angka yang sudah diisikan.
59

60
Setelah itu klik tombol cari maka semua data akan membuka. Kolom
banyak sebagai variable tinggal menyesuaikan berapa harga yang tertera
pada kolom harga dan menjumlahkannya di kolom jumlah dengan
memberikan program hitung didalamnya.
Fungsi fungsi tombol lain yang ada di tampilan PC kasir diatas
ialah sebagai berikut :
♠ Tombol Total berfungsi sebagai menotal harga keseluruhan
pesanan.
♠ Tombol Print berfungsi mencetak nota pembelian
♠ Tombol Simpan berfungsi menyimpan data pembelian setiap kali
terjadi pembelian.
♠ Tombol End untuk menutup program
Database yang ada di PC dapur sistemnya sama dengan yang
ada di kasir, namun perbedaanya tidak sekompleks yang ada di kasir.
Berikut tampilan database yang ada di PC dapur.



Gambar 4.2 Tampilan Form Database Pada PC Dapur

4.3 Proses Penulisan dan Kompile program
Software yang digunakan pada bab ini ialah menggunakan
Ride51. Ride51 merupakan suatu software yang dikembangkan oleh
suatu perusahaan yang bernama Raisonance. Proses proses penulisan
hingga mencompile programnya adalah sebagai berikut :
1. Buka software Ride51
2. Pilih menu Project > New
3. Kemudian pilih lokasi folder yang akan ditempati oleh
project. Setelah itu beri nama project tersebut.


61
4. Klik OK
5. Pilih menu File > New > C Files
6. Tulis listing program pada kotak dialog yang muncul
setelah proses no 5 di atas.
7. Setelah penulisan listing program pilih menu File > Save,
maka file yang disimpan tersebut akan berekstensi dot C
( .C )
8. Karena untuk dapat didownload ke Mikrokontroller harus
berekstensi .HEX maka harus diubah dulu dengan
mengkompile program.
9. Pada kota dialog Project, klik kanan pada nama project
yang dibuat dan pilih Add node Source /Aplication. Hal ini
dilakukan untuk memasukkan file dot C kedalam project .
Cari file yang tadi dibuat dan pilih Open.
10. Setelah itu pilih menu Project > Build All atau klik pada
ikon yang sudah tertera pada toolbar.
11. Sekarang file dot HEX dan siap untuk didownload ke
mikrokontroller.
Berikut merupakan contoh tampilan dari Ride51 yang
membuka salah satu contoh program.



Gambar 4.3 Contoh Tampilan Ride51






62
4.4 Proses Download ke dalam Mikrokontroller
Pada sub bab diatas telah dijelaskan bagaimana membuat file
yang berekstensi dot hex . Sekarang tinggal dijelaskan bagaimana
program tersebut didownload ke dalam AT89S51. Software yang
dipakai ialah menggunakan ISP - Flash Programmer Version 3.0a
yang merupakan keluaran dari ATMEL yaitu sebuah peruasahaan IC.
Langkah langkahnya adalah sebagai berikut
1. Siapkan rangkaian downloader dengan menghubungkan
port pararel ke PC dan memberikan supply tegangan
ke rangakaian serta tancapkan IC AT89S51 ke soket.
2. Buka software ISP - Flash Programmer Version 3.0a
3. Cari file program yang akan didownload dengan meng-klik
Open File. Setelah itu, pilih tombol read
4. Setelah itu pilih tombol Write untuk memulai download ke
AT89S51
5. IC siap untuk dipindah ke dalam rangkaian
Mikrokontroller

Berikut merupakan tampilan software downloader ISP - Flash
Programmer Version 3.0a



Gambar 4.4 ISP - Flash Programmer Version 3.0a





63
4.5 Pengujian Perangkat Keras
Dalam proses ini modul modul yang akan diuji harus dirangkai
sedemikian rupa sehingga layak dan bisa diuji secara sempurna. Modul
modul yang harus disiapkan adalah keypad, LCD, Minimum Sistem
AT89S51 dan Komputer serta kabel serial sebagai pengujian hubungan
antara Minimum Sistem dengan komputer.

4.5.1 Pengujian Hubungan antara Keypad dengan LCD dan PC
Dapur
Pengujian kali ini mengacu pada keypad, LCD dan
hyperterminal yang ada di windows untuk mengetahui berhasil tidaknya
koneksi. Dengan listing program di bawah ini, dapat diketahui bahwa
koneksi antara keypad dengan LCD sudah berhasil baik kedua module
tersebut maupun rangkaian mikrokontroller serta proses pengiriman data
ke PC. Tinggal bagaimana pengembangan selanjutnya. Proses dari
pecobaan ini hanya mengirimkan karakter atau angka sesuai dengan
yang ada di keypad. Missal, ketika ditekan angka “1” maka di LCD
tampil angka 1 sedangkan tampilan pada hiperteminal ialah angka “1”
yang terkirim secara terus menerus.

#include<reg51.h>

void delay(int tunda);
void kirim(int kar);
void ins(int gf);
void printf(int gg);

void keypad();

sbit c4=P1^0;
sbit c3=P1^1;
sbit c2=P1^2;
sbit c1=P1^3;
sbit r4=P1^4;
sbit r3=P1^5;
sbit r2=P1^6;
sbit r1=P1^7;

sbit rs=P3^4;
sbit e=P3^5;

char fkey,tombol;

void main()
{
TMOD=0x20;//Timer1,mode2



64
SCON=0x52;
TH1=0xf4;
TR1=1;//meangktifkan timer;
ES=1;//mengaktifkan interupsi port serial
EA=1; //mengaktifkan

ins(2);
ins(0x3f);
ins(6);
ins(1);
ins(0x0C);

while(1)
{ keypad();
ins(0x80);
printf(tombol);
kirim(tombol);

}

}

void keypad()
{ fkey=0;

P1=0xff;
c1=0;
if(r1==0)
{fkey=1;tombol='1';}
if(r2==0)
{fkey=1;tombol='4';}
if(r3==0)
{fkey=1;tombol='7';}
if(r4==0)
{fkey=1;tombol='*';}//cancel

P1=0xff;
c2=0;
if(r1==0)
{fkey=1;tombol='2';}
if(r2==0)
{fkey=1;tombol='5';}
if(r3==0)
{fkey=1;tombol='8';}
if(r4==0)
{fkey=1;tombol='0';}

P1=0xff;
c3=0;
if(r1==0)
{fkey=1;tombol='3';}


65
if(r2==0)
{fkey=1;tombol='6';}
if(r3==0)
{fkey=1;tombol='9';}
if(r4==0)
{fkey=1;tombol='#';} //enter

P1=0xff;
c4=0;
if(r1==0)
{fkey=1;tombol=' ';}
if(r2==0)
{fkey=1;tombol='$';}//ok
if(r3==0)
{fkey=1;tombol='<';}//up
if(r4==0)
{fkey=1;tombol='>';}//down

if(fkey==1)
delay(20000);
}

void delay(int tunda)
{ while(tunda>0)
tunda--;
}


void kirim(int kar)
{while(TI==0)
{}
SBUF=kar;
TI=0;
}

void printf(int gg)
{rs=1;
e=1;
P2=gg;
delay(50);
e=0;
delay(50);
e=1;
delay(50);
}

void ins(int gf)
{rs=0;
e=1;
P2=gf;
delay(50);



66
e=0;
delay(50);
e=1;
delay(50);
}

4.5.2 Keypad
Pada bagian ini akan dibahas fungsi fungsi dari tombol tombol
yang ada pada keypad.
■ Tombol ENT berfungsi untuk menyimpan data
sementara pada AT89S51 sebelum dikirim ke
computer dapur.
■ Tombol angka 0 sampai 9 berfungsi menampilkan data
data berupa angka yang akan dikirim ke PC dapur.
■ Tombol Up dan Down berfungsi untuk berpindah baris
■ Tombol CAN berfungsi untuk mengedit data yang sudah
dimasukkan ke memori sementara atau yang data yang
diinputkan dengan penekanan tombol ENT.
■ Tombol SEND berfungsi untuk mengirimkan data yang
sudah disiapkan memori sementara ke PC yang ada di
dapur.

4.5.3 Tampilan pada LCD
Pada baris 1 pada LCD akan tampil tulisan KODE dan
JUMLAH. Pada baris 1 ini tulisan tersebut tidak dapat di edit dengan
tombol tombol keypad. Karena pada program, baris pertama dibuat
sebagai tampilan tetap.
Untuk bagian bagian yang dapat diedit hanya di baris kedua
saja.
Tampilan tampilan yang terjadi pada LCD melalui keypad
■ Angka 0 sampai 9 akan ditampilkan pada LCD setiap
ada penekanan tombol angka pada keypad
■ Setiap kali pergantian baris pesanan terdapat no pesanan
dengan maksimal di angka empat. Untuk pergantian ini
digunakan tombol UP dan DOWN pada
keypad.
■ Kursor akan bergerak ke bawah tulisan jumlah setiap
selesai mengisi angka dibawah tulisan kode bila ditekan
tombol ENT pada keypad. Selanjutnya akan berpindah
baris setiap kali selesai mengisi data di bawah tulisan
jumlah dengan penekanan tombol yang sama


67
■ Setiap angka yang sudah ditampilkan oleh keypad akan
terhapus apabila ada penekanan tombol CAN
■ Tampilan pada LCD ketika tombol SEND ditekan ialah
kembali seperti semula. Yaitu, no baris menunjuk ke
angka 1 dan tulisan di bawah kode dan jumlah semuanya
hilang (reset).

4.5.4 Tampilan Pada PC Dapur
Berikut ini merupakan tampilan pada PC dapur yang telah
terkoneksi dan menerima inputan dari keypad yang ada di
mikrokontroller



Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari
Mikrokontroller

Variable yang dimasukkan pada kolom kolom VB pada gambar
di atas ialah pada kolom kode dan kolom banyak. Jadi pada percobaan
pemesanan kali ini, data yang diinputkan adalah kode 11 dengan banyak
6, kode 17 dengan banyak 7, kode 15 dengan banyak 6, dan kode 20
dengan banyak 4.

4.5.5 Pengujian Hubungan Minimum Sistem Dengan PC (Serial)

Untuk mengetahui bisa terkoneksinya minimum sistem dengan
PC maka perlu diadakan pengujian dengan menggunakan program serial
yang sedikit ini. Dengan program dibawah ini, maka akan diketahui



68
bahwa rangkaian mikrokontroller sudah benar dapat terhubung dengan
PC.
Hasil dari percobaan kali ini ialah terkirimnya huruf ”a” di
hyperterminal secara terus menerus ketika menghidupkan dan
menghubungkan rangkaian ke PC untuk pertama kali.

#include<reg52.h>

void kirim(int kar);

void main()
{
TMOD=0x20;//Timer1,mode2
SCON=0x52;
TH1=0xf4;
TR1=1;//meangktifkan timer;
ES=1;//mengaktifkan interupsi port serial
EA=1; //mengaktifkan

while(1)
kirim('a');
}


void kirim(int kar)
{while(TI==0)
{}
SBUF=kar;
TI=0;
}

Dibawah ini merupakan tampilan dari hasil pengujian program
diatas dengan memakai fasilitas hyperterminal yang ada di windows.



69


Gambar 4.6 Tampilan pada hyperterminal yang bersamaan dengan
dinyalakannya rangkaian Minimum Sistem


























70















-------------- halaman ini sengaja dikosongkan---------------


BAB 5
PENUTUP


5.1 Kesimpulan
Dari Pengujian Perangkat lunak dan perangkat keras yang telah
dilakukan pada pembuatan sistem layanan pada restoran ini diperoleh
kesimpulan yaitu :
1. Rangkaian Mikrokontroller AT89S51 digunakan sebagai media
penghubung antar module seperti keypad dan LCD.
Mikrokontroller AT89S51 juga digunakan sebagai pengendali,
karena disinilah tempat program di download untuk mengatur
seluruh proses baik yang ada di rangkaian itu sendiri maupun
pada PC.
2. Untuk menguji komunikasi serial antara PC dengan
Mikrokontroller maka digunakan tampilan pada hyperterminal.
3. Interval pada propertise Timer yang merupakan fasilitas dari VB
dapat menentukan kecepatan pengiriman data dari
Mikrokontroller ke PC. Jadi semakin kecil interval, maka
kecepatan pengiriman data akan semakin cepat.
5. Penggunaan MSCom pada tiap komputer bergantung pada
kebutuhan port yang akan digunakan. Karena pada PC dapur
menggunakan 2 port, maka MSCom yang digunakan sebanyak 2.
Sedangkan pada PC kasir cukup 1 buah karena hanya memakai 1
port.
6. Proses yang ada di database merupakan aplikasi dari fungsi
pemanggilan data dengan menggunakan index, sedangkan untuk
PC yang ada di PC kasir ditambah dengan program record data,
print data, dan program billing.
7. Untuk men-sinkronkan komunikasi antar Mikrokontroller dan PC
Baudrate. Baudrate yang digunakan pada komunikasi disini
adalah 2400 Kbps.
8. Pengiriman data ke PC dilakukan secara serial, yaitu satu per
satu. Karena pengaruh dari kecepatan pengiriman data, maka data
yang tampil pada PC terlihat seperti bersamaan.




71

72
5.2 Saran
Untuk penyempurnaan lebih lanjut maka beberapa saran perlu
ditambahkan antara lain :
1. Untuk pengoperasian sistem ini masih digunakan jasa
manusia pada pangantaran pesanan. Hal ini dapat
disempurnakan dengan sebuah robot pengantar makanan.
2. Sistem pemesan menu ini masih terbatas pada rumah
makan yang berskala besar. Dimana biasanya hanya ada
sepuluh meja. Jadi untuk pelanggannya pun sangat sedikit.
3. Sistem ini dapat juga digunakan pada rumah makan yang
menyediakan fasilitas drive thru . Pemesanan dengan
sistem ini dilakukan dengan masih mengendarai atau
berada di dalam mobil. Jadi, pelanggan tersebut mengakses
keypad yang dirancang sedemikan rupa dengan LCD dan
mikro tersebut untuk kemudian dapat mengambilnya pada
bagian pengambilan pesanan yang berlainan tempat.






















DAFTAR PUSTAKA


[1] Retna Prsetia, Catur Edi Widodo, Teori dan Praktek Interfacing
Port Pararel dan Port Serial Komputer dengan Visual Basic 6.0,
ANDI Yogyakarta, 2004.
[2] M.Agus J. Alam, Manajemen Database dengan Microsoft Visual
Basic Versi 6.0, ELEX MEDIA - JAKARTA, 2003.
[3] Julia Case Bradley, Anita C. Millspaugh, Programming in Visual
Basic 6.0, McGraw – HILL INTERNATIONAL EDITIONS, 1999
[4] Atmel, 8-bit Microcontroller with 4K Bytes
In System Programmable Flash.
[5] Henri S.V. Simanjuntak, Dasar – dasar
Mikroprosesor.
[6] Paulus Andi Nalwan, Panduan praktis teknik
antarmuka dan pemrograman mikrokontroler
AT89C51.



73
LAMPIRAN


Listing Program VB

mkode3 = txtcari3.Text
mkode4 = txtcari4.Text

If dbbeli.Recordset.NoMatch Then
txtcari.Text = ""
End If

If dbbeli4.Recordset.NoMatch Then
txtcari4.Text = ""
End If

hey = "tekan enter untuk melanjutkan"

If dbbeli.Recordset.NoMatch Then
If dbbeli2.Recordset.NoMatch Then
End If
If dbbeli3.Recordset.NoMatch Then
End If
If dbbeli4.Recordset.NoMatch Then
End If

End Sub
Private Sub cmdend_Click()
End
End Sub

txtcari2.Text = ""
txtcari4.Text = ""

txthitung.Text = Val(txthitung.Text) + 1
End Sub

Private Sub Form_Activate()
End Sub

Private Sub Timer3_Timer()
karakter = MSComm1.Input

awal = InStr(serial, "qs") + 1

awal = InStr(serial, "lw") + 1

awal = InStr(serial, "wa") + 1

awal = InStr(serial, "wq") + 1

End If
If kode2 = "" Then
End If
If kode3 = "" Then
End If
If kode4 = "" Then
End If

End If

End Sub

Listing Program C

#include<reg51.h>

void main()
{


koljum1=-1;
baris=1;
kj=0;

while(1)
{ keypad();
menu();
if(fkey==
{ kj=0;
baris--;
if(baris==0)
baris=4;
else
{ baris++;
if(baris==5)
baris=1;
kj=0;
}
}
if(tombol=='$')
{ kirim('a');
kirim_kar(kode3);

bersih=0;
while(kode1[bersih]!=0)
{ kode1[bersih]=0;
bersih++;
}



bersih=0;
while(kode3[bersih]!=0)
{ kode3[bersih]=0;
}

bersih=0;
while(jml1[bersih]!=0)
{ jml1[bersih]=0;
bersih++;
}

bersih=0;
while(jml2[bersih]!=0)
{ jml2[bersih]=0;
bersih++;
}

bersih=0;
while(jml4[bersih]!=0)

koljum1=-1;
koljum2=-1;
koljum3=-1;
koljum4=-1;


}



void keypad()
{ fkey=0;


if(r1==0)

if(r3==0)
{fkey=1;tombol='9';}
if(r4==0)
{fkey=1;tombol='#';} //enter

if(r1==0)
{fkey=1;tombol=' ';}
if(r2==0)

if(fkey==1)
delay(20000);
{int x;
x=0;
while(kar1[x]!=0)
{ kirim(kar1[x]);
x++;
}
}

e=1;
delay(50);
}

e=1;
P2=gf;
delay(50);
e=0;
x++;
}
}

{ gambar(" ",0xc0);
gambar("3.",0xc0);
gambar(kode3,0xc2);
if(kj==0)
printf('_');
gambar(jml3,0xca);

if(baris==4)
{ if(kj==0)
{ kolkod4++;
kode4[kolkod4]=tombol;
}
}

if(baris==2)
{ if(kj==0)
{ if(kolkod2<0)
goto xx;
kode2[kolkod2]=0;
kolkod2--;
}
else
{ if(koljum2<0)
goto xx;
jml2[koljum2]=0;
koljum2--;
}
}
4 x 4 Ke y p a d Mo d ule me r up a ka n sua tu mo d ul ke y p a d
b e r ukura n 4 kolom x 4 b a ris. Mod ul ini d a p a t d ifung sika n se b a g a i
inp ut d a la m a p lika si se p e rti p e ng a ma n d ig ita l, d a ta log g e r, a b se nsi,
p e ng e nd a li ke ce p a ta n mo to r, ro b o tik, d a n se b a g a inya .
Spe s ifika s i Ha rdw a re
1 . Me miliki 1 6 to mb o l (f ung si to mb o l te r g a ntung a p lika si).
2 . Me miliki konfig ura si 4 b a ris (inp ut sca nning ) d a n 4 kolom (outp ut
sca nning ).
3 . Ko mp a t ib e l p e nuh d e ng a n DT- 5 1 ™ Low Co st Se r ie s d a n DT-
AVR Low Co st Se r ie s. Me nd ukung DT- 5 1 ™ Minimum Sy st e m
(MinSys) ve r 3 .0 , DT-5 1 ™ Pe tra Fuz, DT-BASIC Se rie s, d a n la in-
la in.
Ta ta Le ta k
Contoh Kone ks i
Pa d a d a sa r nya p in Cx d a n Rx p a d a J3 b e b a s d ihub ung ka n ke
p in inp ut/ o utp ut ma na p un p a d a mikro ko ntro le r. Ko ne ksi b e r ikut
ini ha nya co nto h d a n tid a k mutla k.
4 X 4
Ke ypa d Mo d u l e
Aloka s i Pin J 3
R4 R3
R2 R1
C4 C3
C2 C1
VCC NC
2 1
NC = tida k te rhubung
ke ma na -ma na
Cx = kolom ke -x
Rx = ba ris ke -x
DT-51™ Low Cos t Se rie s
da n DT-AVR Low Cos t Se rie s
DT-I/ O 4x4
Keypa d Module
VCC (Pin 2 PO RT1 ) a ta u + 5 VDC VCC (J3 )
P1 .0 (Pin 3 PO RT1 ) C1 (J3 )
P1 .4 (Pin 7 PO RT 1 ) R1 (J3 )
P1 .5 (Pin 8 PO RT 1 )
P1 .6 (Pin 9 PO RT 1 )
P1 .7 (Pin 1 0 PO RT 1 )
C2 (J3 )
C3 (J3 )
R1 (J3 )
R2 (J3 )
R3 (J3 )
R4 (J3 )
DT-51™ Minimum Sys te m v3.0
da n Pe tra Fuz
DT-I/ O 4x4
Keypa d Module
VCC (Pin 1 Po r t CO NTRO L) VCC (J5 )
PC.0 (Pin 1 PO RT C & PO RT 1 ) C1 (J3 )
PC.1 (Pin 2 PO RT C & PO RT 1 )
PC.2 (Pin 3 PO RT C & PO RT 1 )
PC.4 (Pin 5 PO RT C & PO RT 1 )
PC.5 (Pin 6 PO RT C & PO RT 1 )
PC.6 (Pin 7 PO RT C & PO RT 1 )
PC.7 (Pin 8 PO RT C & PO RT 1 )
Contoh Progra m
Be r ikut ini me r up a ka n co nt o h p ro g r a m me ng g una ka n DT- 5 1 ™
Low Cost Se rie s Port 1 . Prog ra m a ka n me ng irimka n ha sil p e ne ka na n
se ca ra UART d e ng a n b a ud ra t e 1 9 2 0 0 b p s, 8 b it d a t a , t a np a
b it p a r ity, 1 b it sto p , d a n ta np a f low co ntro l.
$TITLE(4x4 KEYPAD MODULE TESTING PROGRAM)
$MOD51
CSEG
ORG 0000H
LJMP Start
ORG 0100H
LDelay: PUSH 06H
PUSH 07H
MOV R6,#080H
LDel: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,LDel
POP 07H
POP 06H
RET
TxByte: MOV SBUF,A
JNB TI,$
CLR TI
RET
InitSerial: ORL TMOD,#00100000B
ANL TMOD,#00101111B
MOV TH1,#0FDH
MOV TL1,#0FDH
MOV SCON,#01010000B
MOV PCON,#10000000B
SETB TR1
RET
Start: MOV P1,#0FFH
MOV SP,#40H
LCALL InitSerial
ChkB1: SETB P1.7
CLR P1.4
ChkB1K1: JB P1.0,ChkB1K2
MOV A,#'1'
LCALL LDelay
LCALL LDelay
P1 .1 (Pin 4 PO RT1 ) C2 (J3 )
P1 .2 (Pin 5 PO RT1 ) C3 (J3 )
P1 .3 (Pin 6 PO RT1 ) C4 (J3 )
R2 (J3 )
R3 (J3 )
R4 (J3 )
C4 (J3 ) PC.3 (Pin 4 PO RT C & PO RT 1 )
LCALL TxByte
ChkB1K2: JB P1.1,ChkB1K3
MOV A,#'2'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB1K3: JB P1.2,ChkB1K4
MOV A,#'3'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB1K4: JB P1.3,ChkB2
MOV A,#'A'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB2: SETB P1.4
CLR P1.5
ChkB2K1: JB P1.0,ChkB2K2
MOV A,#'4'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB2K2: JB P1.1,ChkB2K3
MOV A,#'5'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB2K3: JB P1.2,ChkB2K4
MOV A,#'6'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB2K4: JB P1.3,ChkB3
MOV A,#'B'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB3: SETB P1.5
CLR P1.6
ChkB3K1: JB P1.0,ChkB3K2
MOV A,#'7'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB3K2: JB P1.1,ChkB3K3
MOV A,#'8'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB3K3: JB P1.2,ChkB3K4
MOV A,#'9'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB3K4: JB P1.3,ChkB4
MOV A,#'C'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB4: SETB P1.6
CLR P1.7
ChkB4K1: JB P1.0,ChkB4K2
MOV A,#'*'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB4K2: JB P1.1,ChkB4K3
MOV A,#'0'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB4K3: JB P1.2,ChkB4K4
MOV A,#'#'
LCALL LDelay
LCALL LDelay
LCALL TxByte
ChkB4K4: JB P1.3,LoopChk
MOV A,#'D'
LCALL LDelay
LCALL LDelay
LCALL TxByte
LoopChk: AJMP ChkB1
AJMP $
END
Terima Kasih atas kepercayaan Anda menggunakan produk
kami, bila ada kesulitan, pertanyaan atau saran mengenai produk
ini silahkan menghubungi technical support kami :
support@innovativeelectronics.com
R
1
4
7
K
R
2
4
7
K
R
3
4
7
K
R
4
4
7
K
R
5
4
7
K
R
6
4
7
K
R
7
4
7
K
V
C
C
D
1
I
N
4
1
4
8
D
2
I
N
4
1
4
8
D
3
I
N
4
1
4
8
D
4
I
N
4
1
4
8
1
2
3
4
5
6
7
8
9
1
0
J
3
H
e
a
d
e
r

5
x
2
1 J
5
V
C
C
R
8
4
7
K
1 2 3 4 5 6 7 8
J
1
K
e
y
p
a
d

R
u
b
b
e
r

4
X
4
C
1
C
3
C
R
1
C
R
3
C
2
C
R
2
C
R
4
C
4
V
C
C
C
1
C
2
C
3
C
4
C
R
1
C
R
2
C
R
3
C
R
4
R
1
R
2
R
3
R
4
C
1
C
2
C
3
C
4
R
1
R
2
R
3
R
4
C
o
p
y
r
i
g
h
t

©

2
0
0
5

I
n
n
o
v
a
t
i
v
e

E
l
e
c
t
r
o
n
i
c
s

SPECIFICATION FOR LCD MODULE




Model No. TM162ABC6-2

Prepared by: Date:
Checked by : Date:
Verified by : Date:
Approved by: Date:

TIANMA MICROELECTRONICS CO., LTD

1/22
REVISION RECORD
Date Ref. Page Revision No. Revision Items
Check &
Approval

1. General Specifications:
1.1 Display type: STN
1.2 Display color*:
Display color: Blue-Black
Background: Yellow-Green
1.3 Polarizer mode: TransIlective/Positive
1.4 Viewing Angle: 6:00
1.5 Driving Method: 1/16 Duty 1/5 Bias
1.6 Backlight: LED
1.7 Controller: S6A0069X01-C0CX (KS0066UP-00CC)
1.8 Display Fonts: 5 x 7 dots ¹ 5 x 1 Cursor (1 Character)
1.9 Data TransIer: 8 Bit Parallel
1.10 Operating Temperature: 0----¹50
Storage Temperature: -20----¹60
1.11 Outline Dimensions: ReIer to outline drawing on next page
1.12 Dot Matrix: 16 Characters X 2 Lines
1.13 Dot Size: 0.55X0.50(mm)
1.14 Dot Pitch: 0.60X0.55 (mm)
1.15 Font Size: 2.95X4.35(mm)
1.16 Font Pitch: 3.65X5.05 (mm)
1.17 Weight: 32g

* Color tone is slightly changed by temperature and driving voltage.

3/22
2. Outline Drawing

3. LCD Module Part Numbering System

T M 1 6 2 A B C 6 - 2


OPTIONAL IC INDICATOR
(EOR EACTORY USE)

MODIEICATION CODE DESIGNATOR

BACKLIGHT TYPE
C: TRANSELECTIVE,
LED BACKLIGHT

LCD TYPE
B: Y-G MODE STN, POSITIVE

MODULE SERIES

MODULE TYPE
3 DIGITS INDICATING 16
CHARACTERS X 2 LINES

T: TIANMA
M: MODULE












5/22
4. Circuit Block Diagram

6/22
5. Absolute Maximum Ratings
Item Symbol Min. Max. Unit Remark
Power Supply Voltage V
DD
V
SS
-0.3 7.0
LCD Driving Voltage V
LCD
-0.3 13.0
V

Operating Temperature

Range

T
OP
0 ¹50
Storage Temperature

Range

T
ST
-20 ¹60

No
Condensation

7/22
6. Electrical Specifications and Instruction Code
6.1 Electrical characteristics
Item Symbol Min. Typ. Max. Unit
Supply Voltage
(Logic)
VCC VSS
4.5 5.0 5.5 V
Supply Voltage
(LCD Drive)
VLCD
- 4.7 - V
High
V

V
CC
÷5.0
0.7V
DD
- V
DD
¹0.3 V
Input
Signal
Voltage
Low
V

V
CC
÷5.0

-0.3 -
0.2V
DD

V
Supply current
(Logic)
I

VCC VSS
÷5.0

- 1.5 -
mA
Supply current
(LCD Drive)
I

- 0.40 -
mA
Supply current
(LED Drive)
I

VLED
÷4.2

- - 138.6
mA

8/22
6.2 InterIace Signals
Pin No. Symbol Level Description
1 Vss 0V Ground
2 Vcc 5.0V Power supply voltage Ior logic and LCD(¹)
3 Vee 0.3V Power supply voltage Ior LCD(-)
4 RS H/L Selects registers (H: Data L: Instruction)
5 R/W H/L Selects read or write
6 E H/L Data read/write enable signal
7 DB0 H/L Data bit0
8 DB1 H/L Data bit1
9 DB2 H/L Data bit2
10 DB3 H/L Data bit3
11 DB4 H/L Data bit4
12 DB5 H/L Data bit5
13 DB6 H/L Data bit6
14 DB7 H/L Data bit7
!
A 4.2V Power supply voltage Ior LED(¹)

K 0V Power supply voltage Ior LED(-)

6.3 Interface Timing Chart
AC Characteristics(V=4.5V~5.5V,Ta=-30~+85

7
Mode Characteristic SymboI Min. Typ. Max. Unit
Write Mode
(Refer to Fig-6)
E Cycle Time tc 500 - -
ns
E Rise / Fall Time t
R
,t
F
- - 20
E Pulse Width (High, Low) tw 230 - -
R/W and RS Setup Time tsu1 40 - -
R/W and RS Hold Time t
H1
10 - -
Data Setup Time tsu2 80 - -
Data Hold Time t
H2
10 - -
Read Mode
(Refer to Fig-7)
E Cycle Time tc 500 - -
ns
E Rise / Fall Time t
R
,t
F
- - 20
E Pulse Width (High, Low) tw 230 - -
R/W and RS Setup Time tsu 40 - -
R/W and RS Hold Time t
H
10 - -
Data Output Delay Time t
D
- - 120
Data Hold Time t
DH
5 - -

Figure 6 . Write Mode Timing Diagram
Figure 7 . Read Mode Timing Diagram
VÌ H1
VÌ L1
VÌ L1
tSU1
th1 tw
VÌ L1
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ L1
tC
tf
tr
tSU2 th2
Valid Data
RS
R/W
E
DB0~DB7
th1
VÌ H1
VÌ L1
tSU
th
th
tw
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ H1
VÌ L1
VÌ L1
tC
tf
tr
Valid Data
RS
R/W
E
DB0~DB7
VÌ H1 VÌ H1
tD
tDH

6.4 Instruction Code

NOTE: When an MPU program with checking the Busy Flag(DB7) is made, it must be necessary 1/2Fosc is
necessary for executing the next instruction by the falling edge of the 'E' signal after the Busy Flag (DB7)
goes to "Low¨.
Instruction TabIe
Instruction
Instruction Code
Description
Execution
time (fosc=
270 kHz)
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
Clear
Display
0 0 0 0 0 0 0 0 0 1
Write "20H¨ to DDRAM and set
DDRAM address to "00H¨ from AC
1.53 ms
Return
Home
0 0 0 0 0 0 0 0 1 -
Set DDRAM address to "00H¨
from AC and return cursor to its
original position if shifted.
The contents of DDRAM are not
changed.
1.53 ms
Entry Mode
Set
0 0 0 0 0 0 0 1 Ì/D SH
Assign cursor moving direction
and enable the shift of entire display.
39 Ps
Display ON/
OFF Control
0 0 0 0 0 0 1 D C B
Set display(D), cursor(C),
and blinking of cursor(B) on/off
control bit.
39 Ps
Cursor or
Display
Shift
0 0 0 0 0 1 S/C R/L - -
Set cursor moving and display
shift control bit, and the direction,
without changing of DDRAM data.
39 Ps
Function Set 0 0 0 0 1 DL N F - -
Set interface data length (DL:
8-bit/4-bit), numbers of display line
(N: 2-line/1-line) and, display
font type (F:5u11dots/5u8 dots)
39 Ps
Set CGRAM
Address
0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0
Set CGRAM address in address
counter.
39 Ps
Set DDRAM
Address
0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0
Set DDRAM address in address
counter.
39 Ps
Read Busy
Flag and
Address
0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0
Whether during internal operation
or not can be known by reading BF.
The contents of address counter
can also be read.
0 Ps
Write Data to
RAM
1 0 D7 D6 D5 D4 D3 D2 D1 D0
Write data into internal RAM
(DDRAM/CGRAM).
43 Ps
Read Data
from RAM
1 1 D7 D6 D5 D4 D3 D2 D1 D0
Read data from internal RAM
(DDRAM/CGRAM).
43 Ps
* "-": don't care

6.5 Character generator ROM(KS0066U-00)






































6.5 Character generator ROM(KS0066U-00)
13/22
7. Optical Characteristics
7.1 Optical Characteristics Ta÷25
Item Symbol Condition Min. Typ. Max. Unit
÷0 -35 -- 20
Viewing Angle

C≥2
÷0 -30 -- 30
Deg
Contrast Ratio C
÷0
÷0
4.0 - -
Turn
on
T - - 250
Response
Time
Turn
oII
T
÷0
÷0
- - 250
ms

14/22
7.2 DeIinition oI Optical Characteristics
7.2.1 DeIinition oI Viewing Angle
Top Top
Bottom Bottom
7.2.2 DeIinition oI Contrast Ratio

brightness state selected
brightness state unselected
÷ B2/B1 ÷ Ratio Contrast

Measuring Conditions:
1) Ambient Temperature: 25 ; 2) Frame Irequency: 64Hz
7.2.3 DeIinition oI Response time
Turn on time:

÷
d
¹
r
Turn oII time:

÷
d
¹
I

Measuring Condition:
1) LCD Operating Voltage: 4.7V 2) Frame Irequency: 64Hz
15/22
8. Reliability
8.1 Content oI Reliability Test Ta÷25
No. Test Item Content oI Test
Test condition
1

High Temperature
Storage
Endurance test applying the high
storage temperature Ior a long time
60
96H
2
Low Temperature
Storage
Endurance test applying the low
storage temperature Ior a long time
-20
96H
3
High Temperature
Operation
Endurance test applying the
electric stress (voltage current)
and the thermal stress to the
element Ior a long time

50
96H
4
Low Temperature
Operation
Endurance test applying the
electric stress under low
temperature Ior a long time
0
96H
5
High Temperature
/Humidity Storage
Endurance test applying the high
temperature and high humidity
storage Ior a long time
40
90°RH
96H
6
Temperature
Cycle
Endurance test applying the low
and high temperature cycle
-20 25 60 25
30min 5min 30min 5min

1 cycle
-20 /60
10 cycles
7
Vibration Test
(package state)
Endurance test applying the
vibration during transportation
10Hz~150Hz,
50m/s
2
,
40min
8
Shock Test
(package state)
Endurance test applying the shock
during transportation
HalI- sine wave,
100m/s
2
,
11ms
9
Atmospheric
Pressure Test
Endurance test applying the
atmospheric pressure during
transportation by air
40kPa
16H

16/22
8.2 Failure Judgment Criterion
Test Item No.
Criterion
Item
1 2 3 4 5 6 7 8 9
Failure Judgement Criterion
Basic
SpeciIication
√ √ √ √ √ √ √ √ √ Out oI the basic SpeciIication
Electrical
speciIication
√ √ √ √ √
Out oI the electrical
speciIication
Mechanical
SpeciIication
√ √
Out oI the mechanical
speciIication
Optical
Characteristic
√ √ √ √ √ √ √ Out oI the optical speciIication
Note For test item reIer to 8.1
Remark

Basic speciIication ÷ Optical speciIication ¹ Mechanical
speciIication

17/22
9. QUALITY LEVEL
Inspection
Examination
or Test
At Ta÷25
(unless otherwise stated)
Min. Max. Unit IL AQL
External
Visual
Inspection
Under normal illumination
and eyesight condition, the
distance between eyes and
LCD is 25cm.
See Appendix A II
Major
1.0
Minor
2.5
Display
DeIects
Under normal illumination
and eyesight condition,
display on inspection.
See Appendix B II
Major
1.0
Minor
2.5
Note: Major deIects: Open segment or common, Short, Serious damages, Leakage
Miner deIects: Others
Sampling standard conIorms to GB2828















18/22
10. Precautions for Use of LCD Modules
10.1 Handling Precautions
10.1.1 The display panel is made oI glass. Do not subject it to a mechanical
shock by dropping it Irom a high place, etc.
10.1.2 II the display panel is damaged and the liquid crystal substance inside it
leaks out, be sure not to get any in your mouth, iI the substance comes
into contact with your skin or clothes, promptly wash it oII using soap
and water.
10.1.3 Do not apply excessive Iorce to the display surIace or the adjoining areas
since this may cause the color tone to vary.
10.1.4 The polarizer covering the display surIace oI the LCD module is soIt and
easily scratched. Handle this polarizer careIully.
10.1.5 II the display surIace is contaminated, breathe on the surIace and gently
wipe it with a soIt dry cloth. II still not completely clear, moisten cloth
with one oI the Iollowing solvents:
Isopropyl alcohol
Ethyl alcohol
Solvents other than those mentioned above may damage the polarizer.
Especially, do not use the Iollowing:
Water
Ketone
Aromatic solvents
10.1.6 Do not attempt to disassemble the LCD Module.
10.1.7 II the logic circuit power is oII, do not apply the input signals.
10.1.8 To prevent destruction oI the elements by static electricity, be careIul to
maintain an optimum work environment.
a. Be sure to ground the body when handling the LCD Modules.
b. Tools required Ior assembly, such as soldering irons, must be properly
ground.
c. To reduce the amount oI static electricity generated, do not conduct
assembly and other work under dry conditions.
d. The LCD Module is coated with a Iilm to protect the display surIace.
Be care when peeling oII this protective Iilm since static electricity may
be generated.

19/22
10.2 Storage precautions
10.2.1 When storing the LCD modules, avoid exposure to direct sunlight or to
the light oI Iluorescent lamps.
10.2.2 The LCD modules should be stored under the storage temperature range.
II the LCD modules will be stored Ior a long time, the recommend
condition is:
Temperature : 0 40
Relatively humidity: 80°
10.2.3 The LCD modules should be stored in the room without acid, alkali and
harmIul gas.
10.3 The LCD modules should be no Ialling and violent shocking during
transportation, and also should avoid excessive press, water, damp and
sunshine.

20/22
Appendix A
Inspection items and criteria Ior appearance deIects

Items Contents Criteria
Leakage Not permitted
Rainbow According to the limit specimen
Wrong polarizer
attachment
Not permitted
Not counted Max. 3 deIects allowed Bubble between
polarizer and glass
φ·0.3mm 0.3mm φ 0.5mm


Polarizer
Scratches oI
polarizer
According to the limit specimen
Not counted
Max. 3 spots allowed
X·0.2mm 0.2mm X 0.5mm
Black spot
(in viewing
area)
X÷(a¹b)/2
Not counted
Max. 3 lines allowed Black line
(in viewing
area)

a·0.02mm
0.02mm a 0.05mm
b 2.0mm

Max. 3
spots
(lines)
allowed
Progressive
cracks


Not permitted

21/22
Appendix B
Inspection items and criteria Ior display deIects

Items Contents Criteria
Open segment or open common Not permitted
Short Not permitted
Wrong viewing angle Not permitted
Contrast radio uneven According to the limit specimen
Crosstalk According to the limit specimen
Not counted Max.3 dots allowed
X·0.1mm 0.1mm X 0.2mm


X÷(a¹b)/2
Not counted Max.2 dots allowed






Pin holes
and cracks
in segment
(DOT)




A·0.1mm

0.1mm A 0.2mm
D·0.25mm





Max.3
dots
allowed
Not counted Max.3 spots allowed
X·0.1mm 0.1mm X 0.2mm

Black spot
(in viewing
area)

X÷(a¹b)/2
Not counted Max.3 lines allowed
Black line
(in viewing
area)

a·0.02mm
0.02mm a 0.05mm
b 0.5mm




Max.3
spots
(lines)
allowed


22/22
Appendix B
Inspection items and criteria Ior display deIects (continued)

Items Content Criteria
Not counted Max. 2 deIects allowed
x 0.1mm 0.1mm x 0.2mm

x÷(a¹b)/2
Not counted Max. 1 deIects allowed


a 0.1mm

0.1mm a 0.2mm
D~0







Max.3
deIects
allowed












TransIor-
mation
oI segment




Max.2 deIects allowed
0.8W a 1.2W


a÷measured value oI width
W÷nominal value oI width

MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
1 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
D Meet or Exceed TIA/EIA-232-F and ITU
Recommendation V.28
D Operate With Single 5-V Power Supply
D Operate Up To 120 kbit/s
D Two Drivers and Two Receivers
D ±30-V Input Levels
D Low Supply Current . . . 8 mA Typical
D ESD Protection Exceeds JESD 22
− 2000-V Human-Body Model (A114-A)
D Applications
− TIA/EIA-232-F, Battery-Powered Systems,
Terminals, Modems, and Computers

description/ordering information
The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply TIA/EIA-232-F
voltage levels from a single 5-V supply. Each receiver converts TIA/EIA-232-F inputs to 5-V TTL/CMOS levels.
These receivers have a typical threshold of 1.3 V, a typical hysteresis of 0.5 V, and can accept ±30-V inputs.
Each driver converts TTL/CMOS input levels into TIA/EIA-232-F levels. The driver, receiver, and
voltage-generator functions are available as cells in the Texas Instruments LinASIC library.
ORDERING INFORMATION
T
A
PACKAGE

ORDERABLE
PART NUMBER
TOP-SIDE
MARKING
PDIP (N) Tube of 25 MAX232N MAX232N
SOIC (D)
Tube of 40 MAX232D
MAX232
0°C to 70°C
SOIC (D)
Reel of 2500 MAX232DR
MAX232
0°C to 70°C
SOIC (DW)
Tube of 40 MAX232DW
MAX232 SOIC (DW)
Reel of 2000 MAX232DWR
MAX232
SOP (NS) Reel of 2000 MAX232NSR MAX232
PDIP (N) Tube of 25 MAX232IN MAX232IN
SOIC (D)
Tube of 40 MAX232ID
MAX232I
−40°C to 85°C
SOIC (D)
Reel of 2500 MAX232IDR
MAX232I
−40 C to 85 C
SOIC (DW)
Tube of 40 MAX232IDW
MAX232I SOIC (DW)
Reel of 2000 MAX232IDWR
MAX232I

Package drawings, standard packing quantities, thermal data, symbolization, and PCB design
guidelines are available at www.ti.com/sc/package.
Copyright  2004, Texas Instruments Incorporated PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of Texas Instruments
standard warranty. Production processing does not necessarily include
testing of all parameters.
ą
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
LinASIC is a trademark of Texas Instruments.
1
2
3
4
5
6
7
8
16
15
14
13
12
11
10
9
C1+
V
S+
C1−
C2+
C2−
V
S−
T2OUT
R2IN
V
CC
GND
T1OUT
R1IN
R1OUT
T1IN
T2IN
R2OUT
MAX232 . . . D, DW, N, OR NS PACKAGE
MAX232I . . . D, DW, OR N PACKAGE
(TOP VIEW)
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
2 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
Function Tables
EACH DRIVER
INPUT
TIN
OUTPUT
TOUT
L H
H L
H = high level, L = low
level
EACH RECEIVER
INPUT
RIN
OUTPUT
ROUT
L H
H L
H = high level, L = low
level
logic diagram (positive logic)
T1IN T1OUT
R1IN R1OUT
T2IN T2OUT
R2IN R2OUT
11
10
12
9
14
7
13
8
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
3 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
absolute maximum ratings over operating free-air temperature range (unless otherwise noted)

Input supply voltage range, V
CC
(see Note 1) −0.3 V to 6 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Positive output supply voltage range, V
S+
V
CC
− 0.3 V to 15 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Negative output supply voltage range, V
S−
−0.3 V to −15 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input voltage range, V
I
: Driver −0.3 V to V
CC
+ 0.3 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receiver ±30 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output voltage range, V
O
: T1OUT, T2OUT V
S−
− 0.3 V to V
S+
+ 0.3 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R1OUT, R2OUT −0.3 V to V
CC
+ 0.3 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Short-circuit duration: T1OUT, T2OUT Unlimited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package thermal impedance, θ
JA
(see Notes 2 and 3): D package 73°C/W . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DW package 57°C/W . . . . . . . . . . . . . . . . . . . . . . . . . .
N package 67°C/W . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NS package 64°C/W . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating virtual junction temperature, T
J
150°C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Storage temperature range, T
stg
−65°C to 150°C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and
functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
NOTES: 1. All voltages are with respect to network GND.
2. Maximum power dissipation is a function of T
J
(max), θ
JA
, and T
A
. The maximum allowable power dissipation at any allowable
ambient temperature is P
D
= (T
J
(max) − T
A
)/θ
JA
. Operating at the absolute maximum T
J
of 150°C can affect reliability.
3. The package thermal impedance is calculated in accordance with JESD 51-7.
recommended operating conditions
MIN NOM MAX UNIT
V
CC
Supply voltage 4.5 5 5.5 V
V
IH
High-level input voltage (T1IN,T2IN) 2 V
V
IL
Low-level input voltage (T1IN, T2IN) 0.8 V
R1IN, R2IN Receiver input voltage ±30 V
T
A
Operating free-air temperature
MAX232 0 70
°C T
A
Operating free-air temperature
MAX232I −40 85
°C
electrical characteristics over recommended ranges of supply voltage and operating free-air
temperature (unless otherwise noted) (see Note 4 and Figure 4)
PARAMETER TEST CONDITIONS MIN TYP

MAX UNIT
I
CC
Supply current
V
CC
= 5.5 V,
T
A
= 25°C
All outputs open,
8 10 mA

All typical values are at V
CC
= 5 V and T
A
= 25°C.
NOTE 4: Test conditions are C1−C4 = 1 µF at V
CC
= 5 V ± 0.5 V.
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
4 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
DRIVER SECTION
electrical characteristics over recommended ranges of supply voltage and operating free-air
temperature range (see Note 4)
PARAMETER TEST CONDITIONS MIN TYP

MAX UNIT
V
OH
High-level output voltage T1OUT, T2OUT R
L
= 3 kΩ to GND 5 7 V
V
OL
Low-level output voltage

T1OUT, T2OUT R
L
= 3 kΩ to GND −7 −5 V
r
o
Output resistance T1OUT, T2OUT V
S+
= V
S−
= 0, V
O
= ±2 V 300 Ω
I
OS
§
Short-circuit output current T1OUT, T2OUT V
CC
= 5.5 V, V
O
= 0 ±10 mA
I
IS
Short-circuit input current T1IN, T2IN V
I
= 0 200 µA

All typical values are at V
CC
= 5 V, T
A
= 25°C.

The algebraic convention, in which the least-positive (most negative) value is designated minimum, is used in this data sheet for logic voltage
levels only.
§
Not more than one output should be shorted at a time.
NOTE 4: Test conditions are C1−C4 = 1 µF at V
CC
= 5 V ± 0.5 V.
switching characteristics, V
CC
= 5 V, T
A
= 25°C (see Note 4)
PARAMETER TEST CONDITIONS MIN TYP MAX UNIT
SR Driver slew rate
R
L
= 3 kΩ to 7 kΩ,
See Figure 2
30 V/µs
SR(t) Driver transition region slew rate See Figure 3 3 V/µs
Data rate One TOUT switching 120 kbit/s
NOTE 4: Test conditions are C1−C4 = 1 µF at V
CC
= 5 V ± 0.5 V.
RECEIVER SECTION
electrical characteristics over recommended ranges of supply voltage and operating free-air
temperature range (see Note 4)
PARAMETER TEST CONDITIONS MIN TYP

MAX UNIT
V
OH
High-level output voltage R1OUT, R2OUT I
OH
= −1 mA 3.5 V
V
OL
Low-level output voltage

R1OUT, R2OUT I
OL
= 3.2 mA 0.4 V
V
IT+
Receiver positive-going input
threshold voltage
R1IN, R2IN V
CC
= 5 V, T
A
= 25°C 1.7 2.4 V
V
IT−
Receiver negative-going input
threshold voltage
R1IN, R2IN V
CC
= 5 V, T
A
= 25°C 0.8 1.2 V
V
hys
Input hysteresis voltage R1IN, R2IN V
CC
= 5 V 0.2 0.5 1 V
r
i
Receiver input resistance R1IN, R2IN V
CC
= 5, T
A
= 25°C 3 5 7 kΩ

All typical values are at V
CC
= 5 V, T
A
= 25°C.

The algebraic convention, in which the least-positive (most negative) value is designated minimum, is used in this data sheet for logic voltage
levels only.
NOTE 4: Test conditions are C1−C4 = 1 µF at V
CC
= 5 V ± 0.5 V.
switching characteristics, V
CC
= 5 V, T
A
= 25°C (see Note 4 and Figure 1)
PARAMETER TYP UNIT
t
PLH(R)
Receiver propagation delay time, low- to high-level output 500 ns
t
PHL(R)
Receiver propagation delay time, high- to low-level output 500 ns
NOTE 4: Test conditions are C1−C4 = 1 µF at V
CC
= 5 V ± 0.5 V.
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
5 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
PARAMETER MEASUREMENT INFORMATION
≤10 ns
V
CC
R1IN
or
R2IN
R1OUT
or
R2OUT
R
L
= 1.3 kΩ
See Note C
C
L
= 50 pF
(see Note B)
TEST CIRCUIT
≤10 ns
Input
Output
t
PHL
t
PLH
1.5 V
V
OL
V
OH
0 V
3 V
10%
90%
50%
500 ns
WAVEFORMS
1.5 V
90%
50%
10%
NOTES: A. The pulse generator has the following characteristics: Z
O
= 50 Ω, duty cycle ≤ 50%.
B. C
L
includes probe and jig capacitance.
C. All diodes are 1N3064 or equivalent.
Pulse
Generator
(see Note A)
Figure 1. Receiver Test Circuit and Waveforms for t
PHL
and t
PLH
Measurements
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
6 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
PARAMETER MEASUREMENT INFORMATION
T1IN or T2IN T1OUT or T2OUT
C
L
= 10 pF
(see Note B)
TEST CIRCUIT
≤10 ns ≤10 ns
Input
Output
t
PHL
t
PLH
V
OL
V
OH
0 V
3 V
10%
90%
50%
5 µs
WAVEFORMS
90%
50%
10%
R
L
90%
10%
90%
10%
t
TLH
t
THL
SR +
0.8 (V
OH
– V
OL
)
t
TLH
or
0.8 (V
OL
– V
OH
)
t
THL
NOTES: A. The pulse generator has the following characteristics: Z
O
= 50 Ω, duty cycle ≤ 50%.
B. C
L
includes probe and jig capacitance.
Pulse
Generator
(see Note A)
EIA-232 Output
Figure 2. Driver Test Circuit and Waveforms for t
PHL
and t
PLH
Measurements (5-µs Input)
EIA-232 Output
−3 V
3 V
−3 V
3 V
3 kΩ
10%
1.5 V
90%
WAVEFORMS
20 µs
1.5 V
90%
10%
V
OH
V
OL
t
TLH
t
THL
≤10 ns ≤10 ns
TEST CIRCUIT
C
L
= 2.5 nF
Pulse
Generator
(see Note A)
Input
Output
SR +
6 V
t
THL
or t
TLH
NOTE A: The pulse generator has the following characteristics: Z
O
= 50 Ω, duty cycle ≤ 50%.
Figure 3. Test Circuit and Waveforms for t
THL
and t
TLH
Measurements (20-µs Input)
MAX232, MAX232I
DUAL EIAĆ232 DRIVERS/RECEIVERS
ą
ą
SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004
7 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
APPLICATION INFORMATION
V
S+
V
S−
2
6
14
7
13
8
C1+
C1−
C2+
C2−
1
3
4
5
11
10
12
9
GND
15
0 V
V
CC
16
5 V
EIA-232 Output
EIA-232 Output
EIA-232 Input
EIA-232 Input
+
1 µF
8.5 V
−8.5 V
1 µF
1 µF
1 µF
From CMOS or TTL
To CMOS or TTL
C
BYPASS
= 1 µF

C1
C2
C3

C4

C3 can be connected to V
CC
or GND.
NOTES: A. Resistor values shown are nominal.
B. Nonpolarized ceramic capacitors are acceptable. If polarized tantalum or electrolytic capacitors are used, they should be
connected as shown.
+
Figure 4. Typical Operating Circuit
MECHANICAL
MPDI002C – JANUARY 1995 – REVISED DECEMBER 20002
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
N (R-PDIP-T**) PLASTIC DUAL-IN-LINE PACKAGE
BB AC AD
0.325 (8,26)
0.300 (7,62)
0.010 (0,25) NOM
Gauge Plane
0.015 (0,38)
0.430 (10,92) MAX
20
1.060
(26,92)
0.940
(23,88)
18
0.920
0.850
14
0.775
0.745
(19,69)
(18,92)
16
0.775
(19,69)
(18,92)
0.745
A MIN
DIM
A MAX
PINS **
(23,37)
(21,59)
Seating Plane
14/18 PIN ONLY
20 pin vendor option
4040049/E 12/2002
9
8
0.070 (1,78)
A
0.045 (1,14)
0.020 (0,51) MIN
16
1
0.015 (0,38)
0.021 (0,53)
0.200 (5,08) MAX
0.125 (3,18) MIN
0.240 (6,10)
0.260 (6,60)
M 0.010 (0,25)
0.100 (2,54)
16 PINS SHOWN
MS-100
VARIATION
AA
C
D
D
D
0.030 (0,76)
0.045 (1,14)
NOTES: A. All linear dimensions are in inches (millimeters).
B. This drawing is subject to change without notice.
C. Falls within JEDEC MS-001, except 18 and 20 pin minimum body lrngth (Dim A).
D. The 20 pin end lead shoulder width is a vendor option, either half or full width.
MECHANICAL DATA


MSOI002B – JANUARY 1995 – REVISED SEPTEMBER 2001
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
D (R-PDSO-G**) PLASTIC SMALL-OUTLINE PACKAGE
8 PINS SHOWN
8
0.197
(5,00)
A MAX
A MIN
(4,80)
0.189 0.337
(8,55)
(8,75)
0.344
14
0.386
(9,80)
(10,00)
0.394
16
DIM
PINS **
4040047/E 09/01
0.069 (1,75) MAX
Seating Plane
0.004 (0,10)
0.010 (0,25)
0.010 (0,25)
0.016 (0,40)
0.044 (1,12)
0.244 (6,20)
0.228 (5,80)
0.020 (0,51)
0.014 (0,35)
1 4
8 5
0.150 (3,81)
0.157 (4,00)
0.008 (0,20) NOM
0°– 8°
Gage Plane
A
0.004 (0,10)
0.010 (0,25) 0.050 (1,27)
NOTES: A. All linear dimensions are in inches (millimeters).
B. This drawing is subject to change without notice.
C. Body dimensions do not include mold flash or protrusion, not to exceed 0.006 (0,15).
D. Falls within JEDEC MS-012
MECHANICAL DATA


MSOI003E – JANUARY 1995 – REVISED SEPTEMBER 2001
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
DW (R-PDSO-G**) PLASTIC SMALL-OUTLINE PACKAGE
16 PINS SHOWN
0.419 (10,65)
0.400 (10,15)
0.291 (7,39)
0.299 (7,59)
16
0.400
(10,16)
A MIN
A MAX
(10,41)
0.410 0.462
(11,73)
(11,51)
0.453
18
0.610
(15,49)
(15,24)
0.600
24
DIM
PINS **
4040000/E 08/01
0.104 (2,65) MAX
0.004 (0,10)
0.012 (0,30)
Seating Plane
0°– 8°
0.016 (0,40)
0.050 (1,27)
16
0.050 (1,27)
1
A
8
9
0.014 (0,35)
0.020 (0,51)
0.010 (0,25) NOM
Gage Plane
0.010 (0,25)
28
0.710
(18,03)
0.700
(17,78) (12,70)
(12,95)
0.500
20
0.510
0.010 (0,25)
0.004 (0,10)
NOTES: A. All linear dimensions are in inches (millimeters).
B. This drawing is subject to change without notice.
C. Body dimensions do not include mold flash or protrusion not to exceed 0.006 (0,15).
D. Falls within JEDEC MS-013
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty. Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products Applications
Amplifiers amplifier.ti.com Audio www.ti.com/audio
Data Converters dataconverter.ti.com Automotive www.ti.com/automotive
DSP dsp.ti.com Broadband www.ti.com/broadband
Interface interface.ti.com Digital Control www.ti.com/digitalcontrol
Logic logic.ti.com Military www.ti.com/military
Power Mgmt power.ti.com Optical Networking www.ti.com/opticalnetwork
Microcontrollers microcontroller.ti.com Security www.ti.com/security
Telephony www.ti.com/telephony
Video & Imaging www.ti.com/video
Wireless www.ti.com/wireless
Mailing Address: Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright  2004, Texas Instruments Incorporated
PROFILE PENULIS


ADIB KARISMA PUTRA
Penyusun lahir di Madiun, pada tanggal 7
Juni 1984. Sebagai anak pertama dari 3
bersaudara seorang ibu bernama Sri
Handayani dan ayah bernama Waris Susanto.
Saat ini bertempat tinggal di Jl Raya
Ponorogo No. 56, Geger, Madiun.


Riwayat pendidikan formal yang pernah ditempuh:
‰ SD Negeri 1 Slambur, Geger, Madiun lulus tahun 1997.
‰ SMP Negeri 1 Geger, Madiun lulus tahun 2000.
‰ SMK Telekomunikasi Darul Ulum Jombang lulus tahun
2003.
‰ D3 Jurusan Telekomunikasi, Politeknik Elektronika
Negeri Surabaya, Institut Teknologi Sepuluh Nopember
Surabaya (ITS).

Pada tanggal 2 Agustus 2003 mengikuti Seminar Proyek Akhir
sebagai salah satu persyaratan untuk mendapatkan gelar Ahli
Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya,
Institut Teknologi Sepuluh Nopember Surabaya (ITS).

PEMBUATAN SISTEM OTOMATISASI PEMESANAN MAKANAN PADA RESTORAN CEPAT SAJI DENGAN MENGGUNAKAN MIKROKONTROLLER
Oleh:

ADIB KARISMA PUTRA 7203.030.016 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh Tim Penguji Proyek Akhir:

Dosen Pembimbing:

1.Ir. Anang Budikarso, MT NIP. 131 793 744

1.Akuwan Saleh, SST NIP. 131 831 467

2.I Gede Puja Astawa, ST, MT NIP. 132 102 837

3.Ir. Sulistyo MB. NIP. 131.651.429

Mengetahui: Ketua Jurusan Telekomunikasi

Drs. Miftahul Huda, MT NIP. 132 055 257
ii

ABSTRAK
Sistem pelayanan restaurant di era modern ini masih menggunakan sistem manual. Dalam proyek akhir ini akan menyajikan penggunaan modul sistem minimum Mikrokontroller AT89S51untuk perancangan dan pembuatan sistem minimum untuk pemesanan menu pada meja konsumen. Microsoft Access digunakan sebagai database dan Visual Basic 6.0 difungsikan untuk form pemanggil data data dari Microsoft Access dengan memanfaatkan fasilitas Visual Data Manager yang ada di Visual Basic 6.0. Masukan dari meja makan yang berisikan kode menu dan jumlah menu. Akan ditampilkan pada LCD dan dengan menggunakan komunikasi serial RS 232 DB9, data akan dikirimkan dari mikroprosesor ke PC bagian dapur selanjutnya ditransfer ke PC kasir dengan menggunakan komunikasi yang sama. Kata kunci : Mikrokontroller AT89S51, LCD, Keypad, Visual Basic 6.0, Microsoft Acces

iii

0. Input from the table about the codes of food will be show to the LCD. This information from the table about the codes of food will be show to the LCD. Microsoft Access iv . Keywords : Microcontroller AT89S51. Visual Basic 6. LCD.0. Keypad. Microsoft Access used a database and Visual Basic 6.ABSTRACT The restaurant service system in this modern era stills use the manual system. In this Preface Of The Final Project Paper present using of Microcontroller AT89S51 in designing and making of minimum system for ordering menu on consumer desk.0 functioned for the form of caller of data from Microsoft Access by exploiting Visual Data Manager facility exist in Visual Basic 6. This information from the table will be sent with RS232 DB9 to PC Kitchen hereinafter transferred to PC cashier by using same communication.

Dialah yang mempunyai segala ilmu dan karena limpahan kasih sayang. Kami menyadari bahwa masih banyak kekurangan dalam hasil pembuatan proyek akhir ini. segala puji hanya milik ALLAH yang memiliki apa yang ada di langit dan di bumi. karunia. petunjuk. Alhamdulillah. Wassalamu’alaikum Wr. dan bimbingan-NYA kami dapat menyelesaikan Proyek Akhir ini dengan baik yang berjudul “Pembuatan Sistem Otomatisasi Pemesanan Makanan pada Restoran Cepat Saji Dengan Menggunakan Mikrokontroller” Dalam menyelesaikan proyek akhir ini kami berpegang pada teori yang pernah kami peroleh serta bimbingan dari dosen pembimbing. Wb. Dan semoga buku ini dapat memberikan manfaat bagi para mahasiswa politeknik elektronika negeri Surabaya pada umumnya dan dapat memberikan nilai lebih untuk para pembaca pada khususnya.KATA PENGANTAR Assalamu’alaikum Wr. Dan juga kepada pihak-pihak lain yang telah sangat membantu hingga sampai terselesainya proyek akhir ini. Wb. Segala saran dan kritik sangat diharapkan untuk memberikan yang terbaik guna pengembangan lebih lanjut ke arah yang lebih baik. Agustus 2006 Penulis v . Surabaya.

6. Miftahul Huda. 5. Semoga semua amal kebaikan diterima ALLAH SWT dan mendapatkan balasan yang tinggi disisi ALLAH SWT. doa dan dukungan kalian. vi .UCAPAN TERIMA KASIH Pada kesempatan yang membahagiakan ini. karunia dan pertolongan-Nya yang tiada henti yang diberikan kepada semua hamba-Nya. kasih sayang. Allah SWT. 8. M. rahmat. Semoga saya selalu menjadi anak yang shaleh dan berbakti. Dr. Serta banyak pihak lain yang tidak dapat disebutkan satu persatu. selaku direktur Politeknik Elektronika Negeri Surabaya . Bapak Akuwan Saleh selaku Dosen Pembimbing yang telah meluangkan waktu. Titon Duthono. Alhamdulillahirrabbil Alamin atas segala berkah.Eng. Shalawat serta salam tercurah selalu kepada junjungan besar Nabi Muhammad SAW yang mengajarkan kebenarankebenaran hakiki. 3. selaku ketua jurusan Teknik Telekomunikasi Politeknik Elektronika Negeri Surabaya. Terima kasih telah membimbing kami dengan penuh kesabaran dan atas semua yang bapak berikan kepada kami. 2. MT. Bapak.Institut Teknologi sepuluh Nopember. pikiran dan tenaga serta dengan sabar membimbing kami juga memberikan fasilitas hingga terselesaikannya Proyek akhir ini. 7. 1. terima kasih atas motivasi. Adik adikku tercinta. 4. doa dan dukungan yang terus-menerus mengalir. dan Kakakku tercinta. Ibu. Akhir kata. Bapak Drs. Semua teman-teman dari berbagai jurusan dan angkatan tahun 2003 yang ikut membantu dalam penyelesaian Proyek Akhir ini. dan semua petunjuk-Nya yang kadang tak sanggup dilihat. penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis dalam menyelesaikan Proyek Akhir ini. terima kasih atas semua cinta.

penulis berharap semoga Proyek Akhir ini dapat memberikan manfaat dan tambahan ilmu bagi pembaca. Amin Surabaya. Agustus 2006 Penulis vii .

. 2...2..1....... 1.......... ABSTRAK………………………………………………………… ABSTRACT….…… 1........3 Mode komunikasi Full-Duplex . DAFTAR TABEL ………………………………………………… BAB 1 PENDAHULUAN…...........4......1 Mode Komunikasi Simplex .... 2.3... 2...... 2.......... 2..........2 Mikrokontroller AT89S51 2...2...…....7 RELEVANSI .. 2..4 Komunikasi serial pada Mikrokontroller ………….....3.............................3....3..…………………………………………………..5.......2 Mode Komunikasi Half Duplex ...... 2....1 Struktur Memori …………………………………… 2..............3.......1.....…….............. 2..3.3. DAFTAR GAMBAR …………………………………………….. 2..…………………………………………………......3......... BAB 2 TEORI PENUNJANG……………………………..1......…………………...3 Konfigurasi Port Serial …………………………….............6 IC serial MAX 232 ....3. 2....DAFTAR ISI JUDUL……………………………………………………………... Umum……………………….........3 Parity bit ..1..5 Konektor Interface RS-232 ...1. METODOLOGI ………………………………………...... 1. Metode Komunikasi .. PERUMUSAN MASALAH………............... LATAR BELAKANG……………. 2........................... KATA PENGANTAR.. BATASAN MASALAH…...……….1. 2.…………………………………… 1.....6 TUJUAN DAN MANFAAT............3.. SISTEMATIKA PEMBAHASAN ……………….. 2.........………………...7 Pengaksesan dengan menggunakan control MSComm ………………………………………… i ii iii iv v vi viii xi xiii 1 1 1 1 2 3 3 4 5 5 5 8 9 9 9 10 10 10 11 11 11 11 13 14 15 16 viii .......2 Jumlah bit data per karakter ..............................2 Format data komunikasi serial ...2..………………........................ PENGESAHAN ………………………………......3......3.......1.. 2...1 Kecepatan mobilisasi data per bit .3 Komunikasi Data Serial …………………………………….... UCAPAN TERIMA KASIH………………………………………..………………… 1...………………………… 1........3..........3... 1.............. 2.. DAFTAR ISI...........2....……………………………………………...

4..1a Menu ......2 Keyword #define ...................2..............3............... 2......... 2............... 2......5....................1d Form .......2...3..........5.........1 Pendahuluan .............. 2.......4............4................4.......5 Keyword #ifndef ..3......8 Keyword #else ...........5.. 2............2.. 2............1 Keyword #include ............4 Operator ............6 Perulangan ...... 2........... 2.....2...............................................3 Pengenalan Sintaks Bahasa C .. 2....4.. 2........4.............3 Variabel ..3...2..4.... 2.4............ 16 16 16 17 17 18 19 20 22 22 23 24 27 28 30 32 32 33 33 33 34 34 34 35 35 35 35 35 35 36 36 37 37 38 38 39 41 41 41 ix .. 2.........1 Compiler ..........4.5...7 Keyword #undef ..... 2.............. 2...5...............7 Fungsi untuk Input dan Output ....5.......................................................... 2... 2....4...4 Pemrograman Dan Database VISUAL BASIC 6..........................1c Tool Box .............................2c Menambah index data ....4....2 Alasan Penggunaan Bahasa C ............ 2................1e Project Explorer ........0 .....4 Keyword #ifdef .......8 Pointer dan Array .....5.4.........2.2.............2 Perencanaan Sistem Kerja ................................5 Pemrograman Bahasa C ....... 2.2......................................................5....... 2.4..................0 .....................2d Mengaitkan Data ke dalam Form ....5...................5..4..1 Pendahuluan .....................5......5 Percabangan ...2a Membuat Database ...4........... 3......3.............................3 Keyword #if. 2.5..........2................. 2..4.3..1f Propertise ........... BAB 3 PERENCANAAN DAN PEMBUATAN ALAT ………….4...... 2.........4...........4......6 Keyword #endif ............. 2........... 2.............5..................................2.......5.............4................. 2.4 Perintah Perintah Dalam Bahasa C .....2............................5........................2b Memodifikasi database ..................3.1 Umum …………………………………………………………........5................... 2................ 2......1 Pemakaian Komponen ......... 2.....................................2 Dasar Teori Visual Basic 6.........2..................... 3.. 2...5...............5.........1b Toolbar Standart ................... 2.5..........................................................3..2 Database .......2 Pernyataan ..4............... 2..... 2....................5.. 2................................2..........4.. 2.. 2.........

3..2 Keypad ……………………………………………..... 4...3...1Perancangan dan Pembuatan Antar Muka (Interfaces) Dengan Mikrokontroller AT89S51 ….3..1 Pengujian Hubungan antara Keypad dengan LCD dan PC Dapur ……………………………………......3.2 Rangkaian Keypad ………………………………… 3... BAB 4 PENGUJIAN DAN ANALISA ......4 Pembuatan Perangkat Keras Downloader Mikrokontroller AT89S51 ………………………... 4..........5....3 Perancangan Perangkat Keras ………………………………… 3....... BAB 5 PENUTUP………………………………………………….3...3...4 Konversi Data ………………………………………………….5 Pengujian Perangkat Keras …………………………………….5 Pengujian Hubungan Minimum Sistem Dengan PC (Serial) …………………………………………….......... 5...3 Tampilan pada LCD ………………………………......6 Perencanaan Program C pada Mikrokontroller ……………….......... 3.2 Pengujian Database …………………………………………… 4....1 Kesimpulan …………………………………………………….5..5............ 4...1 Tujuan . 3......... 4....3.. 5...5..4 Tampilan Pada PC Dapur …………………………..5 Konektor RS 232 ………………………………….. 3.... LAMPIRAN RIWAYAT HIDUP 43 44 45 48 51 52 52 52 56 59 59 59 60 62 63 63 66 66 67 67 71 71 71 73 x ........3 Rangkaian LCD …………………………………… 3. 4..... 4.3 Proses Penulisan dan Kompile program ………………………..... DAFTAR PUSTAKA …………………………………………….. 4.5 Perencanaan Database ………………………………………… 3.. 4..4 Proses Download ke dalam Mikrokontroller ………………….......2 Saran …………………………………………………………...... 4........5.

........28 Menentukan properti RecordSource .. Gambar 2.................... Gambar 3......... Gambar 2...................17 Tampilan Jendela Properties . Gambar 2......... Gambar 2..........7 Flowchart Subrutin Kirim Data ke LCD …………….......5 Hubungan Full-Duplex ……………………………... Gambar 2...... Gambar 2................ Gambar 2............0 Gambar 2.............4 Alokasi Pin Pin Pada Keypad ………………………..3 Susunan tombol pada keypad ………………………... Gambar 2........9 Interface ICL 232 .............. Gambar 2................................DAFTAR GAMBAR Gambar 1.8 Level tegangan RS-232 pada pengiriman huruf ‘A’ tanpa bit paritas .........19 Menentukan Nama Database . Gambar 2............. Gambar 3.... Gambar 2......................0 ....26 Mengaitkan Database ke Dalam Form ................16 Tampilan Jendela Project ............... Gambar 3......... Gambar 2.......................13 Tampilan Tool Box didalam Form Visual Basic 6....21 Menentukan Struktur Tabel Database .......25 Proses Menambah Table Baru Di dalam Database .......2 Struktur Memori AT89S51 ......18 Membuat Database ........ 2 8 10 11 12 12 14 16 16 17 19 20 21 22 23 23 24 25 26 27 27 28 28 29 30 31 32 33 34 44 46 47 47 48 49 50 xi ..........................7 Koneksi RS-232 pada mikrokontroller dan PC ...12 Tool Box didalam Visual Basic 6.............. Gambar 2...... Gambar 2... Gambar 2.....22 Menambah Filed (kolom) .14 Tombol Eksekusi Program ......................................6 Blok Rangkaian LCD ……………………………….. Gambar 3.0 ........... Gambar 2.......2 Flowchart scanning keypad dengan metode polling ..5 Schematic Keypd 4x4 ………………………………....... Gambar 2... Gambar 2..20 Jendela Database ..........6 Konektor serial DB-9 pada bagian belakang CPU ..................15 Tampilan Saat Dieksekusi .....................24 Menambahkan Index Data Didalam Database ... Gambar 2....................... Gambar 2............. Gambar 2....................... Gambar 3...... Gambar 2......23 Proses Untuk Memodifikasi Database ............... Gambar 2...................3 Hubungan Simplex ………………………………….......... Gambar 2.... Gambar 3.................................1 Schematic Rangkaian Minimum AT89S51 ………… Gambar 3.......4 Hubungan Half-duplex ……………………………... Gambar 2.............27 Menentukan Properti ConnectionString ..........10 Menu di dalam Visual Basic 6.......... Gambar 2.......1 Konfigurasi Pin Mikrokontroller AT89S5 …………....0 ………….11 Tool tool standart pada Visual Basic 6.... Gambar 2.....................1 Blok Diagram Sistem Pemesanan ........................

6 Tampilan pada hyperterminal yang bersamaan dengan dinyalakannya rangkaian Minimum Sistem ....Flash Programmer Version 3......10 Pembuatan index pada Visual Data Manager .8 Rangkaian Downloader ISP Flash …………………..3 Contoh Tampilan Ride51 …………………………… Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari Mikrokontroller ……………………………………. Gambar 4....0a ……………… Gambar 4... Gambar 3......... 51 53 55 59 60 61 62 67 69 xii .9 Contoh Program yang dikembangkan ....Gambar 3........4 ISP .... Gambar 3. Gambar 4.2 Tampilan Form Database Pada PC Dapur …………. Gambar 4... Gambar 4..1 Tampilan Form Database Pada PC Kasir ………….

Tabel 3.DAFTAR TABEL Tabel 2.....1 Properti tool Data pada Gambar 3.......2 Untuk Tool Adodc pada gambar Gambar 2..25 ............ 12 31 53 xiii .. Table 2....1 Konfigurasi pin dan nama sinyal konektor serial ...........11…………..

dimana hanya terjadi komunikasi searah saja.1 LATAR BELAKANG Perkembangan ilmu pengetahuan dan teknologi yang sangat pesat ini merupakan salah satu dampak dari meningkatnya taraf hidup manusia.BAB 1 PENDAHULUAN 1. Menu pesanan dari pembeli ini dapat diketahui oleh petugas yang ada di bagian dapur untuk segera menyiapkan menu menu yang sudah dipesan melalui sebuah PC.2 PERUMUSAHAN MASALAH Permasalahan yang ditangani pada pembuatan proyek akhir ini adalah bagaimana dapat memprogram sebuah mikrokontroller agar bisa tampil pada LCD dan terkirim secara serial ke PC. Sehingga efisiensi dan efektifitas pelayanan dapat terpenuhi dengan maksimal.0. Masalah yang ditangani ialah pembuatan perangkat keras (hardware) maupun lunak (software) adalah lebih memfungsikan mikrokontroller AT89S51 dikombinasi dengan bahasa pemrograman C. Salah satu cara penerapannya adalah dalam bidang rumah makan. Oleh karena itu. faktor efisiensi dan efektifitas kerja sangat mempengaruhi terciptanya upaya tersebut. 1 . Untuk itu setiap manusia menginginkan adanya kemudahan dan kecepatan dalam memenuhi setiap kebutuhannya. Database yang dibuat dengan menggunanakan Visual Basic 6. Cara konvensional yang menggunakan jasa manusia untuk meminta menu pesanan dari pembeli dapat diganti dengan menggunakan alat pemesanan yang langsung dapat digunakan dari meja pembeli. Dalam hal ini. dikembangkan suatau cara yang mampu mengatasi gejala gejala dan keinginan tersebut seiring dengan perkembangan peradaban teknologi saat ini. Begitu juga untuk komunikasi dapur ke kasir yang hanya searah.3 BATASAN MASALAH Dalam tugas akhir ini permasalahan akan dibatasi pada pembahasan perangkat lunak tentang komunikasi serial antara minimum sistem Mikrokontroller dengan komputer dapur . 1. 1.

1. Yang harus disediakan lainnya untuk tugas akir ini ialah LCD yang berukuran 6X2 yang nantinya akan dihubungkan dengan Mikrokontroller sebagai tampilan menu dan keypad 4X4 sebagai inputan.2 Jadi. (c) Perangkat Lunak (Software) pada Mikrokontroller Pembuatan software pada TA ini dibagi menjadi beberapa bagian yaitu pembuatan program untuk menampilkan tulisan di LCD. Disini digunakan Visual Basic 6. . pada sistem ini apabila menu makanan yang sudah dipesan telah terkirim ke komputer dapur. (d) Pembuatan database Sebagai media penyimpan data .4 METODOLOGI Untuk langkah langkah pembuatan proyek akhir ini langkah langkahnya adalah sebagai berikut : (a) Perancangan Sistem Perancangan sistem berdasarkan pada petunjuk pengoperasian (instruction manual) Mikrokontroller tersebut dan dikembangkan dengan cara menghubungkan fungsi-fungsi Mikrokontroller yang kemudian dihubungkan dengan PC-PC yang ada. maka diperlukan suatu database yang nantinya akan dibuka melalui Mikrokontroller di bagian pelanggan. (b) Pembuatan Perangkat Keras (Hardware) Hardware untuk Mikrokontroller AT89S51 sudah tersedia di toko toko elektronik. Maka. Instruksi instruksi pada keypad dan program untuk mengoneksikan antara Mikrokontroller dengan PC dapur yang nantinya akan diteruska ke PC kasir.0 sebagai database dan database itu berisi tentang menu menu pesanan beserta harganya. tidak dapat diulang lagi seandainya pembeli ingin membatalkan pesanan yang telah dikirim ke PC Dapur.

Dengan lebih memberdaya-gunakan Mikrokontroller AT89S51 dan bahasa pemrogaman Visual Basic 6.5 SISTEMATIKA PEMBAHASAN Buku laporan proyek akhir ini terdiri dari 5 (lima) bab. Analisa Dan Pengujian Bab ini akan dibahas masalah pengujian perangkat lunak dan perangkat keras serta komunikasi data serial baik pada komputer maupun di Mikrokontroller.0 untuk aplikasi pada sebuah sistem keamanan parkir.3 1. baik pada sisi input dan output dengan menambah perangkat keras (hardware) dan perangkat lunak . tujuan. Kesimpulan Bab ini berisi tentang kesimpulan dari pembahasan yang telah ada serta saran – saran guna pengembangan proyek akhir lebih lanjut.6 TUJUAN DAN MANFAAT Tujuan dari proyek akhir ini adalah memfungsikan penggunaan Mikrokontroller AT89S51dan bahasa pemrograman Visual Basic 6. Perancangan Dan Implementasi Perancangan perangkat lunak disini akan dibahas masalah perancangan program komunikasi data serial baik pada Mikrokontroller maupun pada pada PC. batasan masalah. Sedangkan pada perancangan perangkat keras akan dibahas tentang pembuatan alat yang digunakan. dimana masing-masing bab mempunyai kaitan satu sama lain.0 sebagai database dengan cara mengembangkannya sedemikian rupa. BAB II : BAB III : BAB IV : BAB V : 1. permasalahan. Teori Penunjang Bab ini berisi tentang teori – teori penunjang yang dipergunakan dalam penyelesaian proyek akhir ini. metodologi dan sistematika laporan. yaitu: BAB I : Pendahuluan Bab ini berisi tentang uraian latar belakang.

4 (software). sehingga dapat digunakan sebagai alat bantu pada sebuah restoran cepat saji. Serta dapat digunakan sebagai bahan pembelajaran untuk mata kuliah Mikrokontroller. . .7 RELEVANSI Tugas akhir ini diharapkan bisa dijadikan bahan pembelajaran untuk dapat mentransfer data antara PC 1 ke PC 2 dan suatu PC dengan sebuah Mikrokontroller. 1.

diberikan tentang teori komunikasi data serial. Memori ini biasa digunakan untuk menyimpan instruksi (perintah) berstandar MCS-51 code sehingga memungkinkan mikrokontroller ini untuk bekerja dalam mode single chip operation (mode operasi keping tunggal) yang tidak memerlukan external memory (memori luar) unruk menyimpan source code tersebut. pararel. AT89S51 merupakan memori dengan teknologi nonvolatile memory. Teori dasar yang diberikan meliputi: pembuatan database. isi memori tersebut dapat diisi ulang ataupun dihapus berkali-kali.1 Umum Pada bab ini akan diberikan teori dasar yang melandasi permasalahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. yang memberikan definisi dan klasifikasi tentang penyimpanan serta koneksi database antara Visual Basic dan Microsoft access.BAB 2 TEORI PENUNJANG 2.2 5 . 2. Mikrokontroller AT89S51 AT89S51 adalah mikrokontroller keluaran Atmel dengan 4K byte Flash PEROM (Programmable and Erasable Read Only Memory). connector interface RS 232. pengaksesan port serial pada Visual Basic serta komunikasi serial pada Mikrokontroller AT89S51. Selanjutnya.

yaitu pin p0. Port ini mempunyai internal pull updan berfungsi sebagai input dengan memberikan logika 1.6 sebagai MISO. Pada saat sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah Transistor Transistor Logic (TTL) input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut...0 Port 0 dapat berfungsi sebagai I/O biasa.p0.1 Konfigurasi Pin Mikrokontroller AT89S51 Deskripsi Mikrokontroller AT89S51: • VCC (power supply) • GND (ground) • Port 0. yaitu port 1. port 1.0.7 Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes selama pada saat Flash Programming.7. Fasilitas khusus dari port 1 ini adalah adanya In-System Programming.5 sebagai MOSI. Sebagai output port ini dapat memberikan output sink keempat buah input TTL. • Port 1.p1.7 sebagai SCK. . yaitu pin p1.. port 1.6 Gambar 2. low order multiplex addres/data ataupun menerima kode bye pada saat Flash Programming.

sebagai INT0 (Port External Interupt 0). kecuali pada saat mengakses memori external. • Pin 3. Pada operasi normal ALE akan mengeluarkan sinyal clock sebesar 1/16 frekwensi oscillator. • Pin 18. sebagai ALE/PROG Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) yang me-latch low byte address pada saat mengakses memori external. • Pin 3.. Pada saat Flash Programming pin ini akan mendapat tegangan 12 Volt (VPP). • Pin 3.1. • Pin 31. .2.7 • Port 2. sebagai PSEN Pin ini berfungsi pada saat mengeksekusi program yang terletak pada memori eksteranal. sebagai XTALL2 (Output Oscillator). PSEN akan aktif dua kali setiap cycle. • Pin 9. sebagai T1 (Port External Timer 1). • Pin 19. • Pin 29..0.5.3.7. Sedangkan pada saat Flash Programming (PROG) berfungsi sebagai pulse input. sebagai RXD (Port Serial Input). sebagai RST Reset akan aktif dengan memberikan input high selama 2 cycle. sebagai TXD (Port Seial Output). • Pin 3. • Pin 3. • Pin 3. port ini dapat memberikan output sink keempat buah input TTL. Sebagai output.0.6. port ini akan mengeluarkan sisi dari Special Function Register. Port ini mempunyai pull up dan berfungsi sebagai input dengan memberikan logika 1. sebagai RD (External Data Memory Read Strobe). Jika berkondisi high.7 Port 2 berfungsi sebagai I\O biasa atau high order address. Sebagai EA/VPP Pada kondisi low. sebagai XTALL1 (Input Oscillator). • Pin 30. sebagai INT1 (Port External Interupt 1). Pada saat mengakses memori secara 8 bit (Mov @Rn). pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal.4.p2. pada saat mengakses memori secara 16 bit (Movx @DPTR). • Pin 3. • Pin 3. Sinyal clock pada saat ini dapat pula di disable dengan men-set bit 0 Special Function Register. sebagai T0 (Port External Timer 0). pin ini akan berfungsi sebagai EA yaitu mikrokontroller akan menjalankan program yang ada pada memori eksternal setelah sistem di reset. sebagai WR (External Data Memory Write Strobe). yaitu mulai pin p2.

8 2. . • Special Function Register (Register Fungsi Khusus). memori yang digunakan untuk menyimpan instruksi-instruksi MCS51. RAM Internal dialamati oleh RAM Address Register (Register Alamat RAM) sedangkan Flash PEROM yang menyimpan perintah-perintah MCS-51 dialamti oleh Program Adderss Register (Register Alamat Program). walaupun RAM Internal dan Flash PEROM mempunyai alamat yang sama. yaitu alamat 00.2 Struktur Memori AT89S51 AT89S51 mempunyai struktur memori yang terpisah antara RAM Internal dan Flash PEROM nya. memori sebesar 128 byte yang biasanya digunakan untuk menyimpan variabel atau data yang bersifat sementara.2. namun secara fisiknya kedua memori tidak saling berhubungan. Gambar 2. seperti timer. Dengan adanya struktur memori yang terpisah tersebut. serial dan lain-lain. memori yang berisi register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroller tersebut.1 Struktur Memori AT89S51 mempunyai stuktur memori yang terdiri atas : • RAM Internal. • Flash PEROM.

2.1.3. Adapun sinkronisasi yang terjadi pada transmisi serial asinchronous adalah dengan memberikan bit bit penanda awal dari data dan penanda akhir dari data pada sisi pengirim maupun dari sisi penerima. Antara satu karakter dengan karakter lainnya tidak ada waktu antara yang tetap. Metode Komunikasi Metode yang dimaksud adalah 2.1 Mode Komunikasi Simplex Pada mode komunikasi simplex ini jalur komunikasi yang diberikan adalah satu arah seperti yang ditunjukkan gambar dibawah.1. Dalam pengiriman data secara serial harus ada sinkronisasi atau penyesuaian antara pengirim dan penerima agar data yang dikirimkan dapat diterima dengan tepat dan benar oleh penerima. Dengan demikian bit bit data ini dikirimkan dengan periode yang acak sehingga pada sisi penerima data akan diterima kapan saja. Disini pengiriman bit bit tidak dilakukan sekaligus seperti pada saluran pararel. kemudian dikirimkan sisanya.3 Hubungan Simplex . tetapi stiap bit dikirimkan satu per satumelalui saluran tunggal.3. Dalam proyek akhir ini hanya membahas mode transmisi asyncronous saja yang digunakan.9 2.3 Komunikasi Data Serial Komunikasi data serial sangat berbeda dengan format pemindahan data pararel. dan pihak penerima adalah selalu menerima data. asyncronous da isochronous. Pengirim Penerima Gambar 2. Transmisi serial mode asyncronous digunakan bila pengiriman data dilakukan satu karakter tiap pengiriman. Karakter dapat dikirimkan sekaligus ataupun beberapa karakter kemudian berhenti unutk waktu yang tidak tentu. Dalam komunikasi pengirim dan penerima adalah permanen. Dalam komunikasi secara serial terdapat tiga macammode transmisi serial dalam mentransmisikan bit bit data yaitu : syncronous. dimana pada pihak pengirim adalah selalu mengirim data.

Format data serial ini terdiri dari parameter parameter yang dipakai untuk menentukan bentuk data serial yang akan dikomunikasikan. .3 Mode komunikasi Full-Duplex Mode komunikasi full duplex dilakukan dalam dua arah yang terjadi secara bersamaan seperti ditunjukkan pada gambar dibawah ini Pengirim Penerima Pengirim Penerima Gambar 2.10 2.2.4 Hubungan Half-duplex 2. d) Jumlah stop bit dan start bit.2 Format data komunikasi serial Dalam teknik komunikasi dara serial dikenal istilah format data serial.2 Mode Komunikasi Half Duplex Pada mode komunikasi half-duplex ni komunikasi data dilakukan dalam dua arah dimana pada masing masing pihak bisa sebagai penerima atau sebagai pengirim data seperti yang ditunjukkan pada gambar 2.1. Jika slah satu sebagai pengirim maka yang lain adalah sebagai penerima demikian sebaliknya. Ada beberapa macam format data serial yang dapat digunakan. c) Pariti yang digunakan. Pengirim Penerima Pengirim Penerima Gambar 2.5 Hubungan Full-Duplex 2. dimana elemen elemennya terdiri dari : a) Kecepatan mobilisasi data per bit (baut rate). b) Jumlah bit data per karakter (data length).3. Namun pada mode ini tidak dapat dilakukan secara bersamaan tetapi secara bergantian atau disebut two way alternative.3.1.3.

dalam komunikasi serial. Tetapi meskipun demikian tidak menutup kemungkinan jika diinginkan untuk menggunakan variasi jumlah bit yang lain asalkan masih diperkenankan dalam penulisan inisialisasi peralatan serial yang bersangkutan. Laju pemindahan bit kanal jaringan biasanaya lebih rendah dari laju baud. pemindahan juga dipelambat oleh tundaan aktif proses pengolahan. Dalam sistem kecepatan tinggi. Dari sekian variasi yang diperbolehkan diantaranya adalah terdiri dari 7 bit dan 8 bit (panjang data karakternya saja). 2. Tetapi meskipun demikian tidak menutup kemungkinan jika diinginkan untuk menggunakan variasi jumlah bit yang lain asalkan masih diperkenankan dalam penulisan inisialisasi peralatan serial yang bersangkutan.3. Baud rate yang digunakan dalam teknik komunikasi data serial null modem asyncronous adalah 300 bps sampai 19200 bps. Keterlambatan tersebut karena bit ekstra ditambahkan untuk keperluan pewaktuan. Level digital dari.2.3.2.3 Konfigurasi Port Serial Gambar 2. Laju baud dalam kanal komunikasi merupakan laju tercepat dari pemindahan bit.3 Parity bit Bit parity adalah bit yang digunakan sebagai alat pemeriksaan kesalahan sederhana dalam proses transmisi data digital.11 2. Pada komputer IBM PC kompatibel biasanya kita dapat menemukan dua konektor port serial DB-9 yang biasa dinamai COM1 dan COM2.3.3. pariti genap dan tanpa pariti (tidak diikutkan dalam pemeriksaan kesalahan). Data serial dapat dimobilisasikan pada beerbagai baud rate.2. 2. Kemungkinan dari jenis pariti ini ada tiga macam . Bit pariti ini akan diletakkan setelah susunan bit data. Dalam satu karakter diperbolehkan terdiri dari beberapa variasi umlah bit. 2. . yaitu pariti ganjil. Kedua variasi ini adalah yang paling sering digunakan dalam komunikasi serial.2 Jumlah bit data per karakter Dalam komunikasi data serial mode asyncronous biasanya berlangsung transmisi data yang dikemas dalam bentuk karakter.3 adalah ganbar konektor port serial DB-9 pada bagian belakang CPU.1 Kecepatan mobilisasi data per bit Laju data serial seringkali dinyatakan dalam satuan baud. Pemakaian parity ini akan diikutsertakan dalam proses penulisan inisialisasi peralatan serial yang bersangkutan.

dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data masuk.12 Gambar 2.1 Konfigurasi pin dan nama sinyal konektor serial Nomor Pin 1 2 3 4 5 6 7 8 9 Nama Sinyal DCD RxD TxD DTR GND DSR RST CTS RI Direction In In Out Out In Out In In Keterangan Data Carrier Detect / Received Line Sinyal Detect Receive Data Transmit Data Data Terminal Ready Ground Data Set Ready Request to Send Clear to Send Ring Indicator Keterangan mengenai fungsi saluran RS-232 pada konektor DB-9 adalah sebagai berikut: • Received Line Signal detect. . • Receive Data.6 Konektor serial DB-9 pada bagian belakang CPU Tabel 2. digunakan DTE pada saat menerima data dari DCE.

Pada mikrokontroller terdapat parameter-parameter setup window yang harus di set sesuai dengan parameter MSComm. Untuk melakukan pengiriman data ke mikrokontroller maka untuk RS-232 sebagai connector interfacenya hanya menggunakan 3 pin saja. Pada bab ini akan diberikan teori dasar yang melandasi permasalahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Parity check : pilih NONE. Request to Send. 2. : pilih 8 bit sebagai bit datanya. Data length 3. diberikan tentang pola radiasi dan faktor array. Clear to Send. teori resiprositas (reciprocity). Ring Indicator. pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. arti dan perlunya pembentukan pola radiasi (beamforming). Parameter-parameter tersebut antara lain: 1. 2. pada saluran ini DTE memberitahukan kesiapan terminalnya.13 • • • • • • • Transmit Data. Stop bit : pilih 1. Pada bagian lain. 5. dengan saluran ini DCE diminta mengirim data oleh DTE. merupakan saluran ground. DCE Ready. Teori dasar yang diberikan meliputi: terminologi antena.3. merupakan sinyal aktif yang menunjukkan bahwa DCE sudah siap. teori tentang antena array untuk konfigurasi linier dan planar. dengan saluran ini DCE memberitahukan bahwa DTE sudah dapat memulai pengiriman data. yaitu: . Transmission Speed : pilih 2400.4 Komunikasi serial pada Mikrokontroller Komunikasi antara PC dengan mikrokontroller adalah komunikasi serial dimana menggunakan RS-232 sebagai connector interfacenya. yang memberikan definisi dan klasifikasi tentang antena yang telah berkembang sampai saat ini. Signal Ground. 4. digunakan DTE pada saat mengirimkan data ke DCE. diberikan tentang algoritma genetika dan aplikasi-nya untuk menyelesaian optimasi dalam suatu permasalahan. Flow control : pilih NONE. Selanjutnya. Data Terminal Ready.

8 Level tegangan RS-232 pada pengiriman huruf ‘A’ tanpa bit paritas .7 Koneksi RS-232 pada mikrokontroller dan PC 2. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt.14 9 pin 2RxD 3TxD 5GND 9pin 3TxD 2RxD 5GND 4DTR 6DSR 1DCD Mikrokontroller 7RTS 8CTS PC Gambar 2. yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Gambar 2. 3. level tegangan lebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232 Gambar 2. Demikian juga. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level. 2.3.5 Konektor Interface RS-232 Karakteristik dari RS-232 memiliki ketentuan level tegangan sebagai berikut: 1.2 berikut ini adalah contoh level tegangan RS-232 pada pada pengiriman huruf ‘A’ dalam format ASCII tanpa bit paritas.

15 2. Kaki 8 dan 13 digunakan sebagai input RS-232. RS-232 merupakan suatu interface yang digunakan untuk menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial. Bagian yang menangani komunikasi dapat dihubungkan dengan berbagai aplikasi yang berhubungan dengan elektronik. .3. Tegangan yang cukup tinggi ini mengakibatkan data dapat ditransmisikan cukup jauh. Tegangan RS 232 tersebut antara +3 volt sampai dengan +25 volt untuk logika “0” dan -3 volt sampai dengan -25 volt untuk logika “1”. kaki ke-16 digunakan sebagai input tegangan (Vcc). IC serial RS 232 dipakai sebagai interface (antar muka) dari PC ke perangkat luar (level TTL) atau sebaliknya dari perangkat luar ke PC. tetapi memiliki kondisi arus dan tegangan yang tak menentu.9 Interface MAX 232 IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5 volt. Tegangan yang ada pada RS 232 berbeda dengan level tegangan digital. kaki ke-15 sebagai Ground (GND). sedangkan kaki 7 dan 14 sebagai output RS-232. sedang yang lain berupa interface ke jalur komunikasi secara fisik. Sedangkan IC yang dipakai untuk komunikasi juga menyediakan pemrosesan data dan protocol.6 IC serial MAX 232 Komunikasi serial RS 232 merupakan komunikator yang menghubungkan antara terminal data dari suatu peralatan dan peralatan ini menjalankan pertukaran data biner secara serial. Gambar 2.

4. cek dan komponen lainnya dengan mudah.0 2. Bahasa pemrograman Visual Basic 6. Visual Basic bisa disebut perangkat pengembang yang mampu dengan mudah dan cepat menghasilkan program aplikasi. Dengan Visual Basic 6.1 Pendahuluan Teknik perangkat lunak merupakan metode dan teknik dalam membuat menu utama program.4. Menu utama program berisiskan tentang semua parameter parameter dara yang digunakan pada program utamanya dan dapat dilengkapi dengan gambar atau grafik yang menerangkan kinerja dari sistem. Contoh program GUI adalah program yang hanya menekankan segi kemampuan kerja. tombol.0 Visual Basic 6. segi tampilannya kurang diperhatikan. 2. : Untuk menentukan setting protocol sesuai dengan Setting parameter device. kita juga harus menggunakan MSComm sebanyak port serial yang kita pakai. Setiap MSComm hanya menangani satu port serial. GUI (Graphical User Interface) adalah karakter karakter program aplikasi yang menggunakan sarana perantara grafis.4 Pemrograman Dan Database VISUAL BASIC 6. contohnya program DOS. Pada kontrol MSComm terdapat parameter-parameter penting yang harus di set terlebih dahulu agar koneksi ke interface lain dapat dilakukan.0 ini dapat dibangun suatu program aplikasi dalam tatanan GUI maupun Console.0 dapat dengan mudah menyusun sebuah windows yang mengandung tombol tombol.0 merupakan sebuah bahasa pemrograman yang tangguh dan canggih dalam hampir semua aspek. 2.16 2. . menu dan sebagainya. Dengan VB 6.3.2 Dasar Teori Visual Basic 6.7 Pengaksesan dengan menggunakan control MSComm Kontrol MSComm menyadiakan fasilitas komunikasi antara program aplikasi yang kita buat dengan port serial untuk mengirim atau menerima data melalui port serial. kotak. Parameter-parameter tersebut adalah: CommPort : Untuk menentukan port mana yang akan digunakan.0 merupakan perangkat pengembangan untuk menghasilkan program aplikasi yang beroperasi dalam lingkungan windows. Seperti kotak dialog.

2.10 Menu di dalam Visual Basic 6. yaitu vsiual dan non-visual. Komponen visual misalnya tombol sedangkan contoh yang non-visual adalah print kotak dialog.2.17 2.1 Pemakaian Komponen Komponen adalah suatu kesatuan pembentuk aplikasi yang digunakan untuk merancang user interface program aplikasi.4. 2.1a Menu Menu merupakan sekumpulan perintah yang dipakai dalam MS Visual Basic.4. Gambar 2. Komponen terbagi menjadi dua.0 . Berikut merupakan contoh tampilan salah satu menu pada MS Visual Basic. Masing masing komponen memiliki atribut tersendiri dalam melakukan aksi kendalinya.

11 Tool tool standart pada Visual Basic 6.2.4.0 .18 2.1b Toolbar Standart Gambar yang mewakili suatu perintah Paste Copy Cut Save Open Menu Editor Menambah Form Menambah Project Tool Box Propertise Project Explorer Stop Program/Close Form Gambar 2.

19 2. ♠ Pointer : Mengklik suatu obyek. ♠ TextBox : Dipakai untuk input atau output data. Pointer Label Frame Check Box Combo Box HScrollBar Timer Dir List Box Shape Image OLE Picture Tex Box Commond Button Option Button List Box VScrollBar Drive List Box File List Box Line Data Gambar 2. ♠ Picture ♠ Label : Sebagai keterangan tanpa proses input.4. : Menyisipkan gambar pada form.12 Tool Box didalam Visual Basic 6.0 Berikut ialah keterangan dari masing masing Tool Box yang ditampilkan pertama kali atau tampilan default dari Visual Basic.1c Tool Box Komponen Visual Basic yang akan ditempatkan pada form.2. ♠ Frame : Untuk mengelompokkan Control ♠ Command Button : Tombol perintah ♠ Check Box : Untuk memilih pilihan yang lebih dari satu ♠ Option Button : Untuk memilih salah satu pilihan ♠ Combo Box : Membuat daftar pilihan secara dropdown ♠ List Box : Membuat daftar pilihan tampak langsung ♠ Hscroll Bar : Horisontal scroll bar ♠ Vscroll Bar : Vertikal scroll bar ♠ Timer : Mengatur waktu ♠ Drive List Box : Membuat daftar drive ♠ Dir List Box : Membuat daftar direktori ♠ File List Box : Membuat daftar file .

Kemudian atur posisi dan ukurannya. kotak dll ♠ Line : Membuat garis ♠ Image : Menyisipkan gambar ♠ Data : Menyisipkan data base ♠ OLE : Prosses Embeding File Apabila tool tool yang lain ingin ditambahkan maka step yang dilakukan ialah dengan menekan tombol Ctrl + T.2. Double Click salah satu Control maka akan tampil pada form. Contoh pemakaian Control pada form yaitu : Label Tex Box Frame Check Box Option Button Timer File List Box Data HScrollBar List Box Option Button Dir List Box VScrollBar Combo Box Gambar 2. Click salah satu Control dan drag pada form dengan posisi dan ukuran tertentu.20 ♠ Shape : Membuat bentuk lingkaran. Atau pilihan menu Project – Component.1d Form Tempat untuk meletakkan kontrol dan sebagai layar secara visual Cara menempatkan Control (Tool Box) ada 2 cara 1.13 Tampilan Tool Box didalam Form Visual Basic 6.0 . 2. 2.4.

Untuk membuat file berekstensi dot EXE dari program aplikasi.21 Untuk menjalankan program aplikasi anda dapat melakukannya setelah menyimpan program aplikasi yang telah dibuat. atau lewat icon Start lalu program (setelah ditambahkan dalam setting taskbar). Pilih menu file 2. sehingga dapat dijalankan langsung oleh MS-Windows.exe .15 Tampilan Saat Dieksekusi Untuk membuat file EXE dari program aplikasi yang sudah dibuat. Anda dapat juga menjalankan program aplikasi dengan mengklik icon Start seperti pada gambar dibawah Icon Star Icon Break (Pause) Gambar 2. jalankan dengan memilih menu Run lalu Start atau tekan tombol fungsi F5.14 Tombol Eksekusi Program Setelah dijalankan anda akan mendapatkan hasil tampilan program yang sedang berjalan seperti gambar dibawah Icon End Gambar 2. misalnya lewat icon Start lalu run. Pilih Make <namafile>. caranya secara singkat adalah sebagai berikut 1.

View Object. Berikut merupakan contoh gambar dari kolom project. pilihan file EXE dan segala sesuatu yang berhubungan dengan proyek. kemudian klik Ok. Tentukan nama file (misal dapur. Project disimpan dalam file berakhiran . Icon View Code dipakai untuk menampilkan jendela editor kode program.1e Project Explorer Project adalah sekumpulan modul.MAX).4. pilihan environment. Suatu objek biasanya mempunyai beberapa properti yang dapat diatur .4.2. File ini menyimpan seluruh kokmponen program.VBP (pada versi sebelumnya berakhiran .16 Tampilan Jendela Project 2. Pada jendela proyek terdapat tiga icon yaitu View Code. Jika anda membuat program aplikasi. dan icon Toggle Folders. Icon View Object dipakai untuk menampilkan bentuk formulir (form) dan icon Toggle Folders berguna untuk menampilkan folder (tempat penyimpanan file).22 3.0 yang dibuat. akan terdapat jendela proyek yang berisi semua file yang dibutuhkan untuk menjalankan program aplikasi MS Visual Basic 6. 2.1f Propertise Propertise digunakan untuk menentukan setting suatu objek.exe) dan lokasinya dalam drive Tentukan pilihan pilihan pembuatan file EXE jika dikehendaki (dengan mengklik tombol Options). termasuk pilihan proyek. Jadi project (proyek) adalah program aplikasi itu sendiri.2. 4. Gambar 2.

anda dapat menggunakan program Visual Data Manager (VisData) atau program lain. Gambar 2. Pilih menu Add-Ins pada menu utama MS Visual Basic 6. terutama untuk membuat dan mengedit struktur database.0 letak file yang akan di update.2 Database Biasanya. . yaitu program terpisah yang “ditempelkan” dalam MS Visual Basic 6.0.4. Untuk itu harus dapat memberi tahu MS Visual Basic 6. File database ini dibuat satu kali saja dan tidak perlu langsung diisi recordnya (dibuat struktur databasenya saja). Jika anda memanggil Visual Data Manager untuk pertama kalinya. Selanjutnya file database tersebut diproses lewat program.. Untuk membuat file database. pengambilan data dan lain lain. kita memerlukan file database yang akan diproses.0 2.2. yaitu biasanya file bernama Sistem yang terletak pada direktori C:\WINDOWS\SISTEM. jika kita ingin membuat suatau program manajemen database. Pilih Visual Data Manager. Cara memanggil Visual Data manager adalah sebagai berikut : 1. maka mungkin MS-Visual Basic 6.0.0 akan meminta anda menambahkan suatu setting. misalnya menentukan warna objek. Visual Data Manager adalah suatu program “add-ins”.23 langsung dari jendela Propertise atau lewat kode program. bingkai objek.Visual Data Manager akan dibahas secara terbatas.17 Tampilan Jendela Properties 2. misalnya program Microsoft Access. sehingga bisa dipakai sebagai bagian dari MS Visual Basic 6. Setting properti akan menentukan cara kerja dari objek yang bersangkutan saat program aplikasi dijalankan.

0 dapat menangani bermacam macam format database.2a Membuat Database MS Visual Basic 6. yang nantinya dapat berisi tabel Barang. Untuk data Pembelian. Pilih menu File lalu New 2. DBase. Microsoft Exel. Akan muncul tampilan program Visual Data Manager seperti gambar dibawah ini dan anda langsung dapat memakainya. Jadi. misalnya kita akan membuat tiga tabel database. Untuk membuat database dengan format database Microsoft Acces. maka anda dapat memberi nama databasenya Beli. 3. Paradox. Pilih Microsoft Acces lalu pilih versi yang diinginkan. Setelah itu akan muncul tampilan seperti Gambar 2. ODBC dan file teks.MDB. Gambar 2.2. lakukan langkah langkah berikut ini : 1.24 3.18 Membuat Database .19 yang meminta untuk memberikan nama file dan lokasi data akan disimpan. 2. Pada pembahasan sekarang kita akan membatasi pada format database Microsoft Acces saja. yaitu format database Microsoft Access.4. FoxPro. Perhatikan bahwa satu file database dapat berisi beberapa tabel database.

20 Jendela Database . 5.21 Gambar 2.20 Tunjuk tulisan Properti lalu klik kanan. lalu pilih New Table sampai muncul tampilan seperti Gambar 2. pilihlah Save sehingga muncul tampilan seperti pada Gambar 2.19 Menentukan Nama Database 4. sehingga muncul menu tambahan. Setelah ditentukan nama databasenya.25 Gambar 2.

26 Gambar 2. sampai muncul tampilan seperti Gambar 2. Ketik tulisan Barang pada Table Name Klik Add Field untuk menambahkan field (kolom). 9. Pilih Text pada kolom Type untuk menentukan tipe data field kode.21 Menentukan Struktur Tabel Database 6. Gambar 2.22 Ketik Kode pada kolom Name sebagai nama field yang pertama. Field ini nantinya akan diisi data kode barang.22 Menambah Filed (kolom) . 8. 7.

11.2b Memodifikasi database Cara memodifikasi database yang sudah ada dalam disk hampir sama dengan cara membuatnya. Ulangi langkah 8 sampai 12 untuk menambahkan field Nama (tipe Text. 2. 16. 12.23 Proses Untuk Memodifikasi Database . sehingga tidak dapat diubah pada saat program dijalankan. maka dapat dilakukan dengan memilih menu File lalu Exit. lebar 30). Pilih Option Button pada pilihan FixedField agar lebar field bersifat tetap. Klik OK 13. lebar 5) dan field Harga (tipe Single) 14.21 15.20. Klik Close sampai muncul tampilan seperti Gambar 2.4.27 10. Gambar 2. Tentukan lebar data pada kolom Size dengan angka 6. yaitu dengan membuka kembali nama file data base melalui Visual Basic kemudian di panggil melalui Visual Data Manager hingga tampil jendela seperti di bawah ini. Klik Close sampai muncul lagi tampilan seperti pada Gambar 2. Klik Built The Table.2. field Satuan (tipe Text. Jika ingin keluar dari program Visual Data Manager.

Gambar 2. Jadi pada sub bab ini tidak perlu dijelaskan kembali proses awalnya.2. Kemudian klik add index sampai muncul tampilan seperti gambar dibawah ini.21. Ketik nama index (misal KodeBrg) pada kolom Name. tunjuk pada nama table yang dikehendaki lalu klik kanan dan dilanjutkan dengan memilih Design sampai muncul tampilan seperti Gambar 2.2c Menambah index data Index data adalah urutan data pada suatu tabel database. maka dapat membuat satu urutan data (index) berdasar kunci index kode barang sebagai kunci pertama dan tanggal faktur sebagai kunci ke dua. 2. Index data diperlukan terutama untuk pencarian data dengan cepat dan pengelompokan data. data . Dengan demikian.24 Menambahkan Index Data Didalam Database Selanjutnya klik kunci index pada kolom Available Fields. Untuk membuat index data caranya hampir sama dengan memodifikasi data.28 Untuk menampilkan jendela seperti diatas sudah dijelaskan sebelumnya. misalnya jika kita memiliki data Beli.4. Perhatikan bahwa anda dapat menggunakan beberapa field sebagai kunci index. Kemudian pilih menu File lalu Open Database kemudian pilih Microsoft Access karna Visual Data Manager merupakan source dari MS Access sehingga tampil jendela seperti Gambar 2. Pertama ialah memanggil program Visual Data Manager dengan memilih menu Add-Ins lalu Visual Data Manager.19 Klik pada file database yang diinginkan lalu pilih open.

proses yang digunakan adalah sama saat pembuatan tabel yang pertama.29 Beli akan terurut berdasar kode barang dan di antara kode barang yang sama. Kemudian klik OK. Berikut merupakan contoh gambar suatu proses untuk menambahkan table lain didalam file database. maka proses selanjutnya adalah sama dengan proses pembuatan index yang pertama dan hanya boleh ada satu primary dalam satu table. Uniqe dan IgnoreNulls. akan terurut berdasar tanggal faktur. Bedanya hanyalah tidak perlu membuat file databasenya. Pilihan Primary dipilih jika index yang sekarang adalah index primary. Bila ingin menambahkan index lain. tetapi cukup membuka file database yang diinginkan. Selanjutnya tinggal menambahkan nama nama database seperti pada proses awal. Pilihan Uniqe dipilih jika ingin index bersifat unik dan pilihan IgnorNulls jika field yang kosong diabaikan. . yaitu index yang memuat satu atau lebih field dan bersifat unik (tidak ada yang sama dalam satu tabel). Kunci primary ini biasa digunakan sebagai pengenal suatu record jika tabel yang bersangkutan dihubungkan dengan tabel lain. Untuk menambah tabel data dalam satu file data base.25 Proses Menambah Table Baru Di dalam Database Dari gambar diatas sudah tampak jelas. Ingat. Gambar 2. tinggal mengklik kanan pada Properties kemudian klik kiri di New Table. kemudian tinggal ditambahkan tabel data yang baru. dalam satu tabel hanya boleh ada satu primary key. Tentukan pilihan Primary.

Klik dan seret pada jendela form. sehingga muncul tampilan seperti Gambar 2.4. Components (Ctrl+T) lalu beri tanda pilih pada Microsoft ADO Data Control (OLEDB) dan klik Apply. yang nantinya akan kita pelajari juga.26. Buat project baru 2. Objek yang tergambar dalam form disebut objek Data . Pada versi sebelumnya yang digunakan adalah icon Data. Gambar 2. Berikut merupakan langkah langkah untuk mengaitkan Data ke dalam form 1. dapat digunakan icon Adodc (Microsoft ActiveX Data Objects Data Control) pada toolbox. Klik icon Adodc pada toolbox 3. maka dapat ditambahkan dengan memilih menu Project. maka database tersebut harus dikaitkan ke dalam form. Jika pada toolbox tidak terdapat icon Adodc.2d Mengaitkan Data ke dalam Form Untuk dapat mengakses suatu database dalam suatu form.2.30 2. Untuk itu.26 Mengaitkan Database ke Dalam Form .

atau ketik nama database yang dipakai pada kolom Select or enter a database name. 10.0 OLEDB Provider lalu klik Next 8.27 Menentukan Properti ConnectionString 6.. 9. Klik Test Connection jika perlu.. Gambar 2.31 4. Pada kolom ConnectionString sehingga muncul tampilan seperti pada Gambar 2...27. Tentukan Properti ConnectionString dengan cara mengklik tombol. Pilih Microsoft Jet 4. pada kolom RecordSource sehingga muncul tampilan seperti pada Gambar 2. lalu klik OK dua kali sampai tampilan kembali ke jendela Form.25 Properti Name Caption EOFAction Setting dbBeli Data Barang 2-adDoAdNew 5.2 Untuk Tool Adodc pada gambar Gambar 2. Pilih Option Button pada Use Connection String lalu klik Build sehingga muncul tampilan seperti pada Gambar 2.28 .27 7. Tentukan properti RecordSource dengan cara mengklik tombol . Pilih dengan mengklik tombol . Tentukan properti data sebagai berikut : Table 2.

itu tidak berarti bahwa setiap program yang ditulis dengan bahasa C akan dapat berjalan pada semua mesin . masih ada satu alasan lagi dan mungkin yang terpenting yaitu bahasa assembly hanya dapat dieksekusi oleh satu macam arsitektur komputer saja seperti yang disebutkan sebelumnya. Isilah dengan memilih tabel Barang seperti pada Gambar 2. Klik OK Sampai disini. Mungkin anda bertanya. tabel database Barang pada file database Beli sudah terkait dengan form dan siap diakses dengan menggunakan objek objek yang tersedia. Setelah kolom ini diisi. machine code dihasilkan melalui tahap yang lebih panjang. Pada bahasa pemrograman ini.5. Namun demikian.28 Menentukan properti RecordSource 2. Pada kolom Command Type pilih 2-adCmdTable. Jika kita dapat membuat program yang dapat berjalan di berbagai macam arsitektur komputer maka itu akan mempercepat pengembangan software.32 11. maka akan dapat anda akan dapat mengisi kolom Table or Store Procedure Name.5 Pemrograman Bahasa C 2. kalau orang sudah bisa membuat program dengan assembler. Gambar 2.1 Pendahuluan Bahasa C adalah bahasa tingkat menengah.Bahasa C karena dengan membuat bahasa yang levelnya lebih tinggi (lebih dekat ke bahasa manusia) maka pengembangan perangkat lunak (software) akan lebih cepat.28 12.

penulis akan menjelaskan beberapa alasan penggunaan bahasa C. Beberapa software membutuhkan kinerja yang tinggi dari segi kecepatan.direktori yang telah didefinisikan oleh software development tool yang kita gunakan. Misalnya anda mengerjakan file test. jika software tersebut sudah cukup kompleks. dan VAR adalah tiga hal yang berbeda pada bahasa C. 2. selain itu akan dijelaskan bagaimana cara kerja compiler C secara umum. hal ini bisa dicapai dengan mudah jika kita menggunakan bahasa pemrograman yang "sederhana" seperti C. #include mempunyai dua macam bentuk yaitu #include <.h pada tempat keyword #include tadi diketikkan.5.5. kita tidak dapat atau sangat sulit menggunakan bahasa pemrograman selain C 2." akan membuat preprocessor mencari file yang namanya dicantumkan di dalam tanda petik ganda pada direktori file yang memiliki keyword #include tersebut.. Pada bagian ini akan di bahas beberapa sintaks yang umum digunakan dalam bahasa C. .. #include <.> dan #include ".3 Pengenalan Sintaks Bahasa C Sintaks adalah suatu bentuk dasar (biasanya kata) yang dapat dipahami dan diolah oleh compiler. perlu anda ketahui bahwa C adalah bahasa pemrograman yang case sensitive. dan anda mengetikkan #include "test.33 2. Var. titik-titik tersebut adalah nama file.. Dalam beberapa aplikasi pemrograman pada sistem operasi windows.. Sebagai contoh. 1.h pada direktori test. maka preprocessor akan mencari file test..2 Alasan Penggunaan Bahasa C Bahasa C saat ini masih merupakan bahasa pemrograman yang banyak digunakan dan powerful.5.. Sebelum melangkah lebih jauh.h > akan membuat preprocessor mengekspansikan file stdio.3. Kelemahan dari bahasa C yang penulis ketahui sampai saat ini adalah dari segi kompleksitas pemeliharaan dan pengembangan software yang kita buat.. misalnya pada direktory INC.c yang ada pada direktori bernama test." . Misalnya: #include < stdio. Sebelum melangkah lebih jauh. INCLUDE.> akan membuat preprocessor mencari file yang namanya dicantumkan di dalam kurung pada direktori. 3. #include "..1 Keyword #include Keyword ini membuat kita seakan-akan telah mengetik isi dari file yang dicantumkan sesudah keyword tersebut. dan lain-lain. software ExploChip pada artikel Tutorial Membuat 2.h". sehingga var.

Preprocessor akan mengganti setiap kemunculan identifier dengan nilai pada token-string.3 Keyword #if Keyword ini digunakan untuk menentukan pengolahan baris-baris source code sesudahnya. Formatnya: #ifdef identifier. identifier adalah sebuah konstanta. baris source code akan diolah sebab ekspresi TEST > 0 adalah benar.5. 2.5. Contoh: #define TEST 2 #if (TEST > 0) . Jika ekspresi tersebut benar maka baris-baris source code sesudah #if akan diolah dan sebaliknya jika ekspresi tersebut bernilai salah. Jika token-string dikosongkan. Formatnya adalah : #if expression .2 Keyword #define Keyword ini mempunyai format: #define identifier token-stringopt. Keyword ini harus digunakan bersama dengan keyword #endif untuk menandakan batas penggunaan keyword tersebut dalam source code.3..5. demikian pula sebaliknya. #endif Pada potongan program diatas. expression adalah sebuah ekspresi yang valid (dapat diolah oleh compiler)..3. dan token-string adalah nilai dari identifier tersebut (nilai ini harus dapat dikenali oleh compiler). Keyword ini harus digunakan bersama dengan keyword #endif untuk menandakan batas penggunaan keyword tersebut dalam source code . baris source code.34 2. sampai dengan keyword #endif. identifier menjadi tidak dikenali sebab tidak memiliki nilai lagi). 2. Identifier adalah nama sebuah konstanta yang akan kita gunakan dalam program kita. Jika identifier telah didefinisikan sebelumnya (dengan keyword #define) maka baris-baris source code sesudah #ifdef akan diolah oleh kompiler. maka identifier tadi akan hilang dari source code program kita (pada baris-baris selanjutnya.3.4 Keyword #ifdef Keyword ini penggunaannya sama dengan #if. token-string dapat merupakan sebuah ekspresi6.

7 Keyword #undef Keyword untuk menonaktifkan identifier yang telah didefinisikan dengan #define.5. #ifndef benar maka source code sesudah #else.5 Perintah Perintah Dalam Bahasa C 2.. #else .5. 2. baris source code2.4. #endif Pada potongan program diatas. 2.4. tidak akan dieksekusi.5.demikian pula sebaliknya. 2. Dengan demikian kita dapat mendefinisikan kembali identifier tadi setelah #undef.baris program sesudahnya justru diolah jika identifier tidak didefinisikan sebelumnya. baris source code2.6 Keyword #endif Keyword ini sebagai pembatas untuk menadakan bagian akhir dari source code yang akan dikenai efek jika keyword #if. Jika ekspresi pada keyword #if. #ifdef. #ifdef dan #ifndef dievaluasi.1 Compiler Compiler adalah bagian dari Software Development Tool yang kita gunakan. sehingga jika baris.. akan diolah sebab ekspresi TEST > 0 adalah salah.3.35 2. #ifdef.. Keyword ini harus digunakan bersama dengan keyword #endif untuk menandakan batas penggunaan keyword tersebut dalam source code 2. baris source code1.Contoh: #define TEST 0 #if (TEST > 0) . yang bertugas menerjemahkan source code yang telah diolah oleh prepocessor menjadi bahasa assembly yang selanjutnya akan .3. tetapi cara kerjanya adalah kebalikan dari #ifdef..5 Keyword #ifndef Keyword ini mempunyai format yang sama dengan #ifdef.8 Keyword #else Keyword ini digunakan di antara keyword #if. #ifndef dengan keyword #endif.5.3. efeknya sama dengan #define identifier .5.3.

5. Tipe data yang berbeda kemungkinan mempunyai ukuran yang berbeda.36 diolah oleh assembler untuk dijadikan machine code yang dapat dieksekusi. pernyataan 2. pernyataan 3. hal ini terutama berguna saat anda akan mengatur eksekusi sekelompok pernyataan dalam sebuah percabangan seperti contoh di bawah ini: if (a > b) { pernyataan 1. Tipe data Ukuran (byte) Contoh bool 1 bool a = true . Setiap pernyataan dapat berisi beberapa ekspresi.4. Pernyataan diakhiri dengan tanda . Ukuran ini disebut tipe data. pernyataan 1 s/d pernyataan 3 seolah-olah dianggap satu pernyataan saja oleh compiler yang kita gunakan. Sebenarnya keyword if hanya dapat mengeksekusi satu pernyataan sesudah ekspresi yang diuji olehnya ( pada contoh di atas ekspresi a > b). (titik-koma). bool b = false int.4. Berikut ini adalah tipe data dan ukurannya.2 Pernyataan Dalam bahasa C adalah sebuah baris program yang dapat diproses oleh compiler. } jika ekspresi didalam kurung sesudah if ( ekspresi a > b) bernilai benar maka seluruh pernyataan di dalam kurung kurawal akan dieksekusi.3 Variabel Adalah sebuah simbol yang mewakili sebuah alamat di memory yang nilainya dapat dimanipulasi melalui nama tersebut dan mempunyai ukuran tertentu. unsigned int 4 int a = -255 . Sintaks untuk mendeklarasikan (menyatakan pertama kali adanya sebuah variabel) adalah: tipe-data NamaVariabel Contoh: int variabel1. 2. Sekelompok pernyataan yang disatukan dalam sebuah kurung kurawal (kadang di sebut sebagai block of statement atau blok pernyataan ) juga diperlakukan seperti sebuah pernyataan biasa.5. Contoh: return. unsigned int b = 10 . namun dengan adanya kurung kurawal. 2. operator maupun operand.

unsigned char =1 long.. else if akan mengecek ekspresi2. Karakter atau kumpulan karakter ini dikenali secara spesifik oleh compiler sehingga variabel yang diubah-ubah nilainya(operand) akan dikenai operasi sesuai dengan definisi operasi yang dimiliki oleh operator tadi. else if (ekspresi2) . sourcecode2.5... akan dibahas percabangan dengan if. sourcecode3. else if.5. jika ekspresi2 benar maka sourcecode2 akan dieksekusi.. 2. unsigned long 4 long c = 0xFF . sourcecode1. jika salah maka eksekusi program berpindah ke sourcecode3.02e8 long double 8 long double h = 2. else if 1 char a = -1 . unsigned short f = 067 float 4 float g = 0..4 Operator Operator adalah karakter atau kumpulan karakter yang digunakan untuk memanipulasi variabel. 2. jika benar maka sourcecode1.42e10 Variabel bertipe bool hanya mempunyai dua nilai yaitu true atau false. maka eksekusi program berpindah ke else if (ekspresi2).. Pada format di atas. else . jika tidak.4. unsigned long d = 0xFFC short. akan dieksekusi. unsigned short 2 short e = 0xFFF .001 double 8 double h = 1. Pertama. if akan mengecek ekspresi1 . Format penggunaannya adalah: if (ekspresi1) . dan else. jadi anda hanya dapat mengisinya dengan nilai ini. Pada sourcecode ini. Bentuk percabangan ini adalah yang paling sederhana.5 Percabangan Percabangan (Control Flow) adalah teknik yang digunakan untuk mengalihkan eksekusi program saat suatu ekspresi yang diuji bernilai benar atau salah.37 char. unsigned char b .4. pertama-tama.

5.. for( ekspresi1 . . setelah itu ekspresi3 akan dieksekusi. Berikut ini contoh pengunaannya untuk menampilkan sebuah bilangan desimal: int test = 10. anda cukup mengganti [format] dengan petik ganda dan di antara petik ganda tersebut anda tuliskan kata-kata yang ingin ditampilkan. jika anda hanya memiliki dua alternatif "jawaban" maka bagian else if tidak perlu digunakan. kemudian jalannya program kembali lagi ke pernyataan for dan ekspresi2 kembali dievaluasi (ekspresi1 tidak lagi dieksekusi).4. 2. penulis akan menjelaskannya agar anda tidak bingung saat mempelajari source code yang diberikan. } pada source code di atas ekspresi1 adalah ekspresi yang akan dievaluasi pertama kali . yaitu fungsi yang digunakan untuk menampilkan hasil yang diperoleh dari program kita ke layar komputer.).5. jika benar maka source_code_ulang. yaitu for. Anda tidak perlu bingung menggunakan fungsi yang agak kompleks ini.ekspresi3 ) { . Fungsi yang pertama adalah fungsi output. [argument] adalah opsional. while .7 Fungsi untuk Input dan Output Pada tutorial ini ada 2 buah fungsi input dan output yang digunakan.4. 2. Ketiga keyword ini lah yang paling sering digunakan.. do . dieksekusi. Perulangan menggunakan for mempunyai format sebagai berikut. fungsi tersebut adalah int printf(const char* [format]. source_code_ulang. while . jika nilainya benar maka source_code_ulang.. dieksekusi.6 Perulangan Perulangan adalah teknik pemrograman yang digunakan untuk mengatasi pernyataan program yang harus dikerjakan secara berulang-ulang. kemudian jalannya program kembali lagi ke pernyataan for . printf("inilah bilangan yang ingin ditampilkan: %d".test). setelah itu ekspresi3 akan dieksekusi.[argument].. ekspresi2 .38 sebenarnya opsional (boleh ada boleh juga tidak). kemudian ekspresi2 dievaluasi. Perulangan dalam C dapat diimplementasikan dengan beberapa keyword. hal ini dilakukan berulang-ulang selama ekspresi2 masih bernilai benar..

Dalam kasus tertentu kita perlu mengubah isi dari sebuah variabel yang sebenarnya. 3. Jika anda ingin menggunakan lebih banyak angka lagi (yang berbeda posisinya dan dipisahkan karakter lain) maka anda cukup menmbah lagi [argument] dan meletakkan penanda seperti %d di atas pada posisi yang anda inginkan. Alasan mengapa pointer diperlukan.5. anda harus bisa membayangkan pergerakan variabel-variabel antara microprocessor dan memori utama.39 Pada source code di atas. Dalam kasus sebuah fungsi yang harus mengembalikan 2 atau lebih return value. bilangan yang ingin kita tampilkan kemudian diletakkan pada parameter [argument] dari fungsi printf. . Jelas hal ini tidak mungkin dilakukan dengan metode yang telah kita ketahui. Tanda %d adalah sebuah kode khusus untuk memberitahukan fungsi printf bahwa kita ingin menampilkan bilangan integer (untuk tanda yang harus digunakan silahkan lihat dokumentasi compiler yang anda gunakan. yaitu: 1. Untuk memahami dengan baik bagaimana pointer bekerja. sebab sebuah fungsi hanya mungkin mempunyai 1 return value (baca kembali bagian fungsi).4. di antara tanda petik ganda diketikkan kata-kata yang ingin ditampilkan. untuk Visual C++ gunakan MSDN) pada posisi tersebut. 2. kita tidak bisa melakukan hal ini dengan fungsi seperti yang telah kita pelajari sebab fungsi tersebut hanya memanipulasi "kopian" dari variabel yang sebenarnya ingin kita manipulasi (yang di simpan di stack ketika fungsi tersebut diproses ) 2. dan akan lebih baik jika anda tahu bagaimana sistem operasi semacam windows mengorganisasikan memori. Jika kita bisa merubah secara langsung variabel yang ingin kita manipulasi maka hal itu adalah lebih efisien dibandingkan mengkopi dan memanipulasinya.8 Pointer dan Array Pointer adalah salah satu konsep yang paling sulit dipahami oleh programer pemula dalam bahasa C dan C++. kemudian mengkopi kembali hasil manipulasi tersebut dari stack ke variabel aslinya.

40 -------------.halaman ini sengaja dikosongkan--------------- .

Setelah konsumen tersebut menekan tombol SEND pada keypad. diantaranya adalah : ♦ Database master yang berisi tentang menu menu yang ada beserta harga yang dapat dipanggil dalam form tampilan di PC. Data tersebut kemudian dikirim melalui RS 232 menuju komputer yang ada di dapur. Komputer kasir menampilkan menu yang dipesan dan kemudian menjumlah berapa total harga yang harus dibayar oleh konsumen. Oleh karena itu perlu kita perhatikan juga hardware yang hendak dikontrol.2. Sebelum membahas tentang perencanaan dan pembuatan. ♦ Tabel Pembelian.1 Umum Pada pengerjaan proyek akhir ini. Total pembayaran ini kemudian akan di print-out sebagai nota untuk pembeli. 41 .0. Sistem ini menggunakan dua buah komputer. Adapun bahasa pemrograman yang digunakan pada PC dapur maupun PC kasir ialah Visual Basic 6. maka harus ada perencanaan yang matang agar sistem dapat direalisasikan dengan baik sesuai target. Pada PC kasir ini terdapat berbagai table yang dapat diakses. Komputer dapur dalam hal ini hanyalah sebagai penerima inputan berupa karakter dari keypad yang menjadi satu program dengan LCD dan minimum sistem. satu buah LCD.BAB 3 PERENCANAAN DAN PEMBUATAN ALAT 3. satu buah rangkaian minimum Mikrokontroller AT89S51. Disitu memuat berapa banyaknya pesanan beserta harganya yang juga diinter face kan dengan printer. dibagi menjadi 2 bagian yaitu bagian Mikrokontroller yang meliputi software / hardware dan bagian data base yang ada pada 2 PC dapur-kasir. yaitu tabel yang berisi tentang database pembelian. Perencanaan Sistem Kerja Proses pemesanan diawali oleh konsumen yang memasukkan kode menu yang akan dipesan melalui keypad yang ditampilkan ke dalam LCD. Kemudian dari komputer yang ada di dapur ini akan diteruskan ke komputer yang ada di bagian kasir untuk proses pembayaran. dan satu buah keypad. 3.

Serta interface ke line printer Pengendalian seluruh sistem terletak pada Mikrokontroller AT89S51. SEND. yaitu merancang perangkat pengontrol pengiriman data ke PC dan menampilkan data yang dimasukkan pembeli dari keypad ke LCD. 3. 2. Kode dimasukkan melalui keypad berupa tombol tombol angka dari 0 sampai 9 ditambah tombol tombol lain yang dapat difungsikan antara lain untuk UP. DOWN. dimana Mikrokontroller harus mampu mengintegrasikan seluruh alamat kerja dari alat alat pendukungnya seperti masukan dari keypad yang selanjutnya dikeluarkan melalui LCD dan dikirim melalui kabel serial DB9 ke komputer.1 Blok Diagram Sistem Pemesanan Sistem ini dibagi dalam beberapa sub yaitu : 1. . CANCEL. Interface serial RS-232 pada PC dapur. Software dan komunikasi data PC dapur ke PC kasir. ENTER. yaitu menerima data dari minimum sistem dan meneruskan data ke PC kasir. Pengendali pengiriman data berbasis sistem minimum Mikrokontroller AT89S51.42 Diagram blok secara keseluruhan seperti tampak pada gambar berikut keypad Mikrokontroller LCD RS 232 PC dapur RS 232 PC kasir printer Gambar 3. Yaitu mengirim data berupa karakter ke PC kasir yang telah memuat database menu menu pesanan.

2 Flowchart Keseluruhan Sistem 3. Rangkaian Keypad. Rangkaian LCD.3 Perancangan Perangkat Keras Pada bagian ini akan dibahas tentang perancangan perangkat keras yang terdiri dari Minimum Sistem. Start Input/ Kirim Data Buka Database Input Data Baru Terima database Di Komp Dapur Kirim Data Buka Database / Olah Database di Komptr Kasir Simpan Database / Reset Print Data Gambar 3. . dan konektor RS 232.43 Berikut ini merupakan flowchart dari sistem yang dipakai dalam Proyek Akhir ini.

maka AT89S51 fungsinya akan sama dengan PPI8255 tetapi pada PPI8255 digunakan komunikasi paralel sedangkan AT89S51 menggunakan komunikasi serial.3.1 Perencanaan dan Perancangan Antar Muka (Interfaces) Dengan Mikrokontroller AT89S51 Dalam proyek akhir ini digunakan AT89S51 sebagai interface antara komputer server dengan memanfaatkan pin Tx. Scanning keypad yag dilakukan oleh min sistem . Rx yang ada pada AT89S51 sebagai komunikasi serial. Gambar 3.2 Rangkaian Keypad Pembuatan keypad.3 Schematic Rangkaian Minimum AT89S51 3. disini dimaksudkan untuk memberikan inputan dari pembeli.44 3.3.

Setelah posisi keypad yang aktif dapat ditemukan maka data tersebut diolah menjadi data data tombol yang ditekan. Dalam aplikasi ini digunakan satu macam scanning yang digunakan untuk mendeteksi keypad 4x4. Scanning keypad ini menggunakan metode polling. gambar 3.2 menunjukkan flowchart scanning keypad matriks yang digunakan dalam program. . Yaitu scan terus menerus hingga ada tombol yang ditekan.45 harus mampu menentukan posisi dari tombol yang ditekan.

46 START Cek semua tombol Ada tombol diekan ? N Y Cek kolom Kolom tombol ditemukan ? N Y Cek baris Baris tombol ditemukan ? N Y Data kolom dan baris diolah menadi tombol yang ditekan return Gambar 3.4 Flowchart scanning keypad dengan metode polling .

Berisikan angka 0 sampai 9. ENTER. Program yang dibuat harus mampu mengenali setiap tombol yang ditekan sesuai perencanaan. 1 4 7 Can 2 5 8 0 3 6 9 Ent Send Up Dow n Gambar 3.47 Keypad yang digunakan dalam aplikasi ini adalah keypad matriks 4x4 (4 baris dan 4 kolom). Untuk mengenali bagian kolom dan baris yang aktif maka keypad ini dihubungkan dengan minimum sistem AT89S51. dan 6 tombol tyang tersisa dimanfaatkan untuk CAN. Dan berikut merupakan bagian bagian dari keypad tersebut. UP. SEND. Gambar 3.6 Alokasi Pin Pin Pada Keypad . kemudian dibuat program yang dapat mengenali tombol yang sedang ditekan.5 Susunan tombol pada keypad Berikut ini merupakan gambar alokasi pin pin output pada module keypad 4x4 beserta schematicnya tersebut. dan DOWN sedangkan 1tombol lagi tidak dipakai.

3 Rangkaian LCD Liquid Crystal Display (LCD) TM162ABC merupakan display yang digunakan sebagai tampilan informasi infomasi pada pemesanan.7 Volt. ▪ Terdiri dari 16 karakter. cursor home. cursor shift. 2 baris display 5x7 dot matrik + 5x1 kursor (1 karakter) ▪ Memiliki 192 karakter pada ROM dan 8 karakter pada RAM (penulisan program). display clear. Panel LCD memiliki pengontrol CMOS yang terdapat generator ROM / RAM dan display data RAM di dalamnya. berikut beberapa kelebihan yang dimiliki TM162ABC. semua fungsi display dikontrol oleh perangkat lunak dan dapat dengan mudah di interfacekan dengan unit mikroprosesor. dan display shift. ▪ Display data RAM dan karakter RAM dapat dibaca dari unit mikroprosesor ▪ Terdapat beberapa fungsi perintah.48 Gambar 3. ▪ 80x8 display data RAM (80 karakter) ▪ Interface dengan 4 bit dan 8 bit data.3.7 Schematic Keypd 4x4 3. TM162ABC merupakan ssebuah dot matrik LCD yang berdaya rendah dengan sebuah High-contrash. . display character blink. display on/off. reset pada poweron ▪ Dengan catu daya tunggal + 4. ▪ Memiliki rangkaian osilator di dalamnya.

8 Blok Rangkaian LCD Algoritma dasar yang digunakan dalam perencanaan subrutin kirim data ke LCD adalah sebagai berikut 1. Tampilkan pesan pesan informasi 2.49 Gambar 3. Tampilkan data data yang dapat ditampilkan seperti instruksi dari keypad. Tampilkan menu menu pesanan 3. Berikut merupakan flowchart dari program LCD .

Selama proses inisialisasi ini akan ditampilkan beberapa pesan yang berhubungan dengan proses tersebut. dan memproses perbaikan kesalahan dalam memasukkan kode untuk diulangi prosesnya. maka LCD akan menampilkan menu utama secara terus menerus sampai ada reaksi dari pembeli. .50 Start Inisialisasi Tampilkan pesan pesan inforamasi Tampilan menu utama Tampilan data sesuai instruksi keypad Return Gambar 3.9 Flowchart Subrutin Kirim Data ke LCD Operasi dasar dari LCD tediri dari beberapa operasi yaitu instruksi untuk memasukkan kode dan banyak pesanan dan membaca kondisi apabila kode salah. Seperti terlihat pada algoritma dasar perencanaan subrutin ini. Kombinasi instruktur dasar inilah yang memanfaatkan untuk mengirim data ke LCD. Pada saat sistem mulai diaktifkan maka proses pertama yang dilakukan minimum sistem adalah inisialisasi. Setelah proses inisialisasi selesai.

1 uF/16 V IC AT89S51 IC MAX 232 1 uF/16 V DB 9 Gambar 3.3. Yaitu dengan memanfaatkan pin-pin pada mikrokontroller AT89S51.4 Perancangan Perangkat Keras Downloader Mikrokontroller AT89S51 Rangkaian ini digunakan untuk men-download-kan program ke mikrokontroller untuk pengontrolan arah putaran motor stepper. Pada rangkaian ini digunakan IC MAX 232 untuk mengisolasi dan sebagai buffer data pada paralel port. Selain itu dengan pemanfaatan IC jenis HCT ini memungkinkan programmer untuk bekerja secara optimal dan akurat dengan paralel port. Pemrograman secara In System Programming adalah programmer tidak perlu melepas IC mikrokontroller pada waktu akan di-download-kan.10 Rangkaian Downloader ISP Flash . hal ini berarti pendownload-an program dapat langsung dilakukan pada rangkaian aplikasi. 3.51 maka data data yang dapat ditampilkan akan terlihat di LCD selama eksekusi.

dimana Visual Basic tersebut difungsikan sebagai database. maka pencarian dilakukan dari record pertama denganarah maju .52 3. Bautrate yang digunakan ialah 2400 bps atau dapat dipakai yang lain asalkan sinkron baik PC maupun Mikrokontrollernya.4 Konversi Data Dalam perancangan Proyek akir ini konsumen dapat memesan menu melalui meja konsumen hanya dengan memasukkan kode kode melalui keypad. “>”. Jika yang digunakan adalah string “=”. Data yang dimasukkan berupa kode kode dari keypad tersebut kemudian dikirimkan dan dikonversi bentuk bentuk karakter yang ditampilkan dalam texbox pada Visual Basic 6. “<” atau “<=”.. RX dan ground. tetapi dapat dengan melakukan pencarian biner. Pada konektor serial ini yang digunakan hanya 3 pin saja yaitu TX. Pada Proyek Akhir ini dibutuhkan 2 kabel serial yang sama susunan yaitu pin TX dan RX disusun saling bersilangan (cross). atau “<=”.recordset. Jika data tidak sama. sehingga langkah pencarian akan kecil (sedikit) dan didapatkan kecepatan pencarian yang baik (cepat). maka data akan terurut sehingga pencarian tidak harus berurutan. yaitu selalu mencari data dengan cara membandingkan data yang dicari dengan data tengah suatu set data. 3. Dengan adanya index data. “<”. maka set data akan dipecah lagi dan sesuai setelah dipecah. anda dapat menggunakan metode berikut ini : Object.Seek <pembandingan> .5 Konektor RS 232 Untuk mengirimkan pesanan dari mikro ke PC ialah menggunakan sistem dupleks atau hanya searah saja. 3. kunci2. walaupun datanya besar. Satu kabel digunakan untuk komunikasi Minimum Sistem dengan PC Dapur dan satu kabel digunakan untuk komunikasi PC Dapur dengan PC Kasir. Untuk melakukan pencarian data dengan index data.3. Demikian seterusnya. “>=”.. Pernyataan <pembandingan> adalah ekspresi string “=”. kunci1.5 Perencanaan Database Di dalam perencanaan database ini mengacu pada pencarian data dengan index Untuk melakukan pencarian dengan cepat diperlukan index data. Jadi PC dapur harus mempunyai 2 port serial yaitu port 1 dan port 2..

Sedangkan jika yang digunakan adalah “>” atau “>=”.53 (ke akhir). jika data mempunyai index dengan kunci pertama nomor kode dan kunci ke dua adalah nama makanan .11 Contoh Program yang dikembangkan Tabel 3. dan seterusnya adalah suatu nilai yang dicari. Gambar 3. MNoKode. kami memberikan contoh program yang kami gunakan untuk pengembangan TA ini.recordset.Seek “=”.1 Properti tool Data pada Gambar 3. Pernyataan kunci1. kunci2. Untuk memahami pencarian dengan index.11 Properti Name Caption Connect DatabaseName Setting dbBeli Database Beli Acces Database yang dipakai . MNamaMakanan Apabila data mempunyai index dengan dua kunci field atau lebih. maka pencarian dilakukan dari akhir file dengan arah mundur (ke awal). Sebagai contoh. Perhatikan bahwa pencarian index dapat menggunakan beberapa kunci yang berurutan sesuai dengan kunci indexnya. maka bisa memberikan perintah pencarian seperti berikut : object. maka pencarian harus ditulis lengkap sesuai dengan jumlah kunci indexnya.

Recordset. Tetapi kalau ditemukan. Setelah itu program mengisi variable MKode dengan isi teks pencarian. Jika data tidak ditemukan. maka program akan menampilkan pesan.Recordset.NoMatch Then x = MsgBox("Data tak ditemukan ! vbOKOnly. yaitu index berdasar kode barang.54 RecordsetType misal D:\ta\beli. Setelah itu program melakukan pencarian data yang kode baranganya sama dengan isi variable MKode. "Pencarian nama barang") End If ". yaitu sebagai berikut : Dim MKode As String *6 MKode = txtCari.Recordset. Contoh program diatas selanjutnya dapat dikembangkan dalam pembuatan Proyek Akhir ini sebagai media pemanggil database acces . ‘aktifkan index berdasar kode barang dbPembelian. MKode Program kemudian mengaktifkan index (urutan data) bernama KodeBrg.Text Pertama kali program mendeklarasikan variable level prosedur dengan nama MKode bertipe string dengan lebar 6 karakter. If dbPembelian.Index = “KodeBrg” ‘cari data pertama yang nomornya sama dengan MKode dbPembelian.Seek “=”.mdb 0-Table (karena properti 0-Table (karena properti Index dan metode Seek hanya bisa dipakai pada setting ini) Barang RecordSource Sekarang kita coba memahami baris baris isi prosedur pencarian data yang akan dijalankan jika tombol Cari diklik. program hanya akan menunjuk record yang ditemukan.

. nama. Berikut gambar proses pembuatan index pada database Visual Data Manager Gambar 3.0. yaitu pemanggilan database yang berisi kode. dan harga. Dimana sebelumnya pada tabel di dalam Visual Data Manager ditambahkan index yang diberi nama koderbg sebagai acuan dalam pemanggilan database yang lain. Namun. Sistem utama yang dipakai ialah sama. Tombol Print yang berfungsi mencetak nota pembelian. 3. ada beberapa fitur yang ditambahkan disini antara lain : 1. Tombol Total yang berfungsi menjumlah semua pembelian oleh pelanggan. Tombol Lihat database yang berfungsi melihat daftar pembelian yang tersimpan setelah tombol simpan ditekan dengan masuk ke form yang ke dua 4. Tombol Simpan yang befungsi menyimpan data pembelian sesudah pembeli memesan menu menu 2.55 yang terdapat dalam Visual Basic 6. Fasilitas ini dinamakan Visual Data Manager.12 Pembuatan index pada Visual Data Manager Sistem utama yang ada pada PC kasir ialah sama. Database yang ada di komputer dapur dan kasir tidak jauh berbeda. Pemanggilan database ini mengacu pada pemanggilan Index barang.

Mode pemesanan diawali dengan memasukkan kode makanan dari keypad sebagai acuan untuk memesan menu. Setelah proses inisialisasi selesai. Data berupa kode kode tersebut akan terkrim ke PC dengan menekan tombol SEND. Dan program yang memegang seluruh subrutin program. 2. Program yang dipakai ialah menggunakan bahasa C.6 Perencanaan Program C pada Mikrokontroller Perangkat lunak yang digunakan harus dapat mengintegrasikan seluruh peralatan pendukung yang digunakan dalam sistem pemesan menu ini. Flowchart dari program utama pemesan menu otomatis ini dielaskan seperti terlihat dalam gambar 3. Proses ini dilanjutkan dengan pengiriman dara ke PC.Analisa pemrograman C pada Mikrokontroller AT89S51 yang melingkupi pengalamatn memori mikro. Loopng ini menunjukkan bahwa pemesan menu ini akan terus siaga sampai konsumen memakainya. Lalu dengan menekan tobol CAN maka baris tersebut akan terhapus dan selanjutnya dapat diisikan kode yang baru. Masukan kode direncanakan sebanyak 2 digit dan selanjutnya disimpan dalam data internal dan diolah ke dalam pengkonversian menu.Analisa pembuatan database yag mengacu pada pemrograman Visual Basic. . maka eksekusi program selanjutnya memasuki program menu utama. Program utama merupakan program yang dieksekusi setelah pealatan diaktifkan. scanning keypad. yaitu pemilihan mode operasi. Mode tersebut akan terus dieksekusi oleh sistem sampai power supply dimatikan. Mikrokontroller harus mampu mengolah data masukkan yang selanjutnya dikirim ke PC untuk mengetahui instruksi data. dan komunikasi serial. maka dapat digunakan tombol up atau down untuk menuju baris yang dimaksud. alamat memori LCD. Proses pembuatan program utama harus direncanakan secara atang dengan memperhatikan karakteristikdari hardware pendukung. Kode kode yang dimasukkan akan tampil pada LCD dan akan tampil pula isi dari kode tersebut jika setiap penekanan diakhiri dengan menekan tombol ENT. Metode pendekatan yang digunakan dalam penyelesaian proyek akhir ini adalah 1. Berikut ini adalah perencanaan program menu utama. Ketika proses pemasukan kode terjadi kesalahan.56 3. Diagram alir menjelaskan bagaimana mode operasi difungsikan.1 dari flowchart ini dapat dilihat bagaimana alur eksekusi pemesan menu otomatis ini.

dimanfaatkan sebagai fasilitas pengiriman data menu PC dapur yang terhubung ke tombol SEND pada keypad. total pembelian berikut tanggal dan jam saat terjadi proses transaksi. 4. PC dapur ke PC kasir. Min sistem ke PC dapur. 4). Disitu akan tertera harga. dimana TxD dan Rxd dari IC serial yang dipakai. Setelah pemesan menu ini selesai mengeksekusi pilihan pembeli. 3) Tampilan Menu pada LCD Disini LCD akan menampilkan instruksi step by step yang harus diikuti oleh pemesan. Mode operasi Seperti telah dijelaskan diatas bahwa langkah awal penoperasian sistem ini adalah memilih mode pemesanan atau ordering kemudian dilanjutkan dengan mode operasi billing.2). nama makanan. dimana di PC kasir ini akan memunculkan isi dari database yang telah dipanggil sebelumnya.57 Untuk proses billing atau pembayaran. Algoritma program utama ini dapat dijelaskan sebagai berikut : 1). 2). terjadi di komputer kasir. . Pengiriman Data Pada bagian ini terjadi 2 kali pengiriman data yaitu: 4.1). maka tampilan pada LCD akan kembali lagi ke menu utama. Persiapan Dalam tahap ini meliputi proses inisialisasi semua alamat alamat semua interface yang ada di min sistem. banyak pesanan.

58 -------------.halaman ini sengaja dikosongkan--------------- .

1 Tujuan Dalam proyek akhir ini dilakukan dua macam pengujian.2 Pengujian Database Database yang akan kita analisa berikut ini berbasis Visual Basic 6. Tujuan dari pengujian ini adalah untuk mengetahui kinerja yang berupa kehandalan dan ketepatan eksekusi antara program dengan modul yang telah dibuat. proses pemanggilan dilakukan dengan mengisi kolom kode dengan kode angka yang sudah diisikan. Berikut merupakan tampilan database yang ada di computer kasir. 4. Jadi data data yang sudah diisikan sebelumnya akan dipanggil dengan memakai kode sebagai index. Untu penyimpanan data data menu digunakan fasilitas Visual Data Manager.0. Sehingga akan diperoleh kesimpulan apakah program yang dibuat dapat mengontrol sistem yang ada.. yaitu pengujian database dan perangkat keras. 59 . Sistem yang dari database ini prosesnya hanya melakukan pemanggilan saja. Yaitu fasilitas yang menghubungkan Microsoft Acces dengan Visual Basic.1 Tampilan Form Database Pada PC Kasir Dilihat dari gambar diatas. Gambar 4.BAB 4 PENGUJIAN DAN ANALISA 4.

Kemudian pilih lokasi folder yang akan ditempati oleh project. Fungsi fungsi tombol lain yang ada di tampilan PC kasir diatas ialah sebagai berikut : ♠ Tombol Total berfungsi sebagai menotal harga keseluruhan pesanan. . Gambar 4. namun perbedaanya tidak sekompleks yang ada di kasir. Kolom banyak sebagai variable tinggal menyesuaikan berapa harga yang tertera pada kolom harga dan menjumlahkannya di kolom jumlah dengan memberikan program hitung didalamnya. ♠ Tombol Print berfungsi mencetak nota pembelian ♠ Tombol Simpan berfungsi menyimpan data pembelian setiap kali terjadi pembelian. Berikut tampilan database yang ada di PC dapur.2 Tampilan Form Database Pada PC Dapur 4. Pilih menu Project > New 3. Buka software Ride51 2. Proses proses penulisan hingga mencompile programnya adalah sebagai berikut : 1.3 Proses Penulisan dan Kompile program Software yang digunakan pada bab ini ialah menggunakan Ride51. ♠ Tombol End untuk menutup program Database yang ada di PC dapur sistemnya sama dengan yang ada di kasir.60 Setelah itu klik tombol cari maka semua data akan membuka. Ride51 merupakan suatu software yang dikembangkan oleh suatu perusahaan yang bernama Raisonance. Setelah itu beri nama project tersebut.

Berikut merupakan contoh tampilan dari Ride51 yang membuka salah satu contoh program. 10. Cari file yang tadi dibuat dan pilih Open. 9. maka file yang disimpan tersebut akan berekstensi dot C ( . 11.C ) 8. 6. 5. Setelah penulisan listing program pilih menu File > Save. Sekarang file dot HEX dan siap untuk didownload ke mikrokontroller. Hal ini dilakukan untuk memasukkan file dot C kedalam project .HEX maka harus diubah dulu dengan mengkompile program. 7.61 Klik OK Pilih menu File > New > C Files Tulis listing program pada kotak dialog yang muncul setelah proses no 5 di atas.3 Contoh Tampilan Ride51 . Gambar 4. Karena untuk dapat didownload ke Mikrokontroller harus berekstensi . 4. Pada kota dialog Project. klik kanan pada nama project yang dibuat dan pilih Add node Source /Aplication. Setelah itu pilih menu Project > Build All atau klik pada ikon yang sudah tertera pada toolbar.

62 4. Setelah itu.Flash Programmer Version 3. Langkah langkahnya adalah sebagai berikut 1. 2. Software yang dipakai ialah menggunakan ISP . Buka software ISP . Sekarang tinggal dijelaskan bagaimana program tersebut didownload ke dalam AT89S51.Flash Programmer Version 3.Flash Programmer Version 3. pilih tombol read 4.0a . Siapkan rangkaian downloader dengan menghubungkan port pararel ke PC dan memberikan supply tegangan ke rangakaian serta tancapkan IC AT89S51 ke soket.0a Gambar 4. IC siap untuk dipindah ke dalam rangkaian Mikrokontroller Berikut merupakan tampilan software downloader ISP . Cari file program yang akan didownload dengan meng-klik Open File.Flash Programmer Version 3.4 Proses Download ke dalam Mikrokontroller Pada sub bab diatas telah dijelaskan bagaimana membuat file yang berekstensi dot hex .0a yang merupakan keluaran dari ATMEL yaitu sebuah peruasahaan IC.0a 3.4 ISP . Setelah itu pilih tombol Write untuk memulai download ke AT89S51 5.

//Timer1.5. sbit e=P3^5. ketika ditekan angka “1” maka di LCD tampil angka 1 sedangkan tampilan pada hiperteminal ialah angka “1” yang terkirim secara terus menerus. c2=P1^2. void main() { TMOD=0x20.h> void void void void delay(int tunda).1 Pengujian Hubungan antara Keypad dengan LCD dan PC Dapur Pengujian kali ini mengacu pada keypad. printf(int gg). 4. ins(int gf). c1=P1^3. void keypad(). Minimum Sistem AT89S51 dan Komputer serta kabel serial sebagai pengujian hubungan antara Minimum Sistem dengan komputer. dapat diketahui bahwa koneksi antara keypad dengan LCD sudah berhasil baik kedua module tersebut maupun rangkaian mikrokontroller serta proses pengiriman data ke PC. Dengan listing program di bawah ini. sbit sbit sbit sbit sbit sbit sbit sbit c4=P1^0.tombol. Missal. #include<reg51. r1=P1^7. LCD dan hyperterminal yang ada di windows untuk mengetahui berhasil tidaknya koneksi. LCD. r2=P1^6. kirim(int kar). r3=P1^5. Proses dari pecobaan ini hanya mengirimkan karakter atau angka sesuai dengan yang ada di keypad. char fkey. sbit rs=P3^4.5 Pengujian Perangkat Keras Dalam proses ini modul modul yang akan diuji harus dirangkai sedemikian rupa sehingga layak dan bisa diuji secara sempurna. c3=P1^1.63 4. r4=P1^4. Tinggal bagaimana pengembangan selanjutnya. Modul modul yang harus disiapkan adalah keypad.mode2 .

tombol='0'. //mengaktifkan ins(2). printf(tombol).//mengaktifkan interupsi port serial EA=1.tombol='4'.tombol='7'.tombol='1'. c1=0.tombol='3'. TR1=1.} if(r4==0) {fkey=1. ins(1).//meangktifkan timer.} if(r3==0) {fkey=1.}//cancel P1=0xff. if(r1==0) {fkey=1. if(r1==0) {fkey=1.} P1=0xff.} . } } void keypad() { fkey=0. kirim(tombol).} if(r3==0) {fkey=1.} if(r2==0) {fkey=1. P1=0xff. ins(0x3f). TH1=0xf4. ins(6). ins(0x80).64 SCON=0x52. if(r1==0) {fkey=1.tombol='*'.tombol='8'.} if(r2==0) {fkey=1.tombol='2'. ES=1. c3=0. c2=0.} if(r4==0) {fkey=1. while(1) { keypad().tombol='5'. ins(0x0C).

delay(50). } void printf(int gg) {rs=1. e=1. } void delay(int tunda) { while(tunda>0) tunda--. e=1.65 if(r2==0) {fkey=1. c4=0. delay(50). if(r1==0) {fkey=1.tombol='6'.}//down if(fkey==1) delay(20000). e=1.tombol='9'.} if(r2==0) {fkey=1. e=0. delay(50).tombol=' '.}//ok if(r3==0) {fkey=1. TI=0. P2=gg.} if(r4==0) {fkey=1.tombol='<'.tombol='>'. } void kirim(int kar) {while(TI==0) {} SBUF=kar. delay(50).}//up if(r4==0) {fkey=1.tombol='#'.tombol='$'. } void ins(int gf) {rs=0.} if(r3==0) {fkey=1.} //enter P1=0xff. P2=gf. .

■ Kursor akan bergerak ke bawah tulisan jumlah setiap selesai mengisi angka dibawah tulisan kode bila ditekan tombol ENT pada keypad. ■ Tombol angka 0 sampai 9 berfungsi menampilkan data data berupa angka yang akan dikirim ke PC dapur. ■ Tombol Up dan Down berfungsi untuk berpindah baris ■ Tombol CAN berfungsi untuk mengedit data yang sudah dimasukkan ke memori sementara atau yang data yang diinputkan dengan penekanan tombol ENT.5. Untuk bagian bagian yang dapat diedit hanya di baris kedua saja. Selanjutnya akan berpindah baris setiap kali selesai mengisi data di bawah tulisan jumlah dengan penekanan tombol yang sama . Pada baris 1 ini tulisan tersebut tidak dapat di edit dengan tombol tombol keypad.66 e=0. Tampilan tampilan yang terjadi pada LCD melalui keypad ■ Angka 0 sampai 9 akan ditampilkan pada LCD setiap ada penekanan tombol angka pada keypad ■ Setiap kali pergantian baris pesanan terdapat no pesanan dengan maksimal di angka empat. Untuk pergantian ini digunakan tombol UP dan DOWN pada keypad.2 Keypad Pada bagian ini akan dibahas fungsi fungsi dari tombol tombol yang ada pada keypad. } 4. baris pertama dibuat sebagai tampilan tetap. e=1. 4.3 Tampilan pada LCD Pada baris 1 pada LCD akan tampil tulisan KODE dan JUMLAH. ■ Tombol ENT berfungsi untuk menyimpan data sementara pada AT89S51 sebelum dikirim ke computer dapur. Karena pada program.5. ■ Tombol SEND berfungsi untuk mengirimkan data yang sudah disiapkan memori sementara ke PC yang ada di dapur. delay(50). delay(50).

Jadi pada percobaan pemesanan kali ini.5. 4.5 Pengujian Hubungan Minimum Sistem Dengan PC (Serial) Untuk mengetahui bisa terkoneksinya minimum sistem dengan PC maka perlu diadakan pengujian dengan menggunakan program serial yang sedikit ini.5 Tampilan PC Dapur setelah menerima inputan dari Mikrokontroller Variable yang dimasukkan pada kolom kolom VB pada gambar di atas ialah pada kolom kode dan kolom banyak. data yang diinputkan adalah kode 11 dengan banyak 6. maka akan diketahui .4 Tampilan Pada PC Dapur Berikut ini merupakan tampilan pada PC dapur yang telah terkoneksi dan menerima inputan dari keypad yang ada di mikrokontroller Gambar 4. kode 17 dengan banyak 7.67 ■ ■ Setiap angka yang sudah ditampilkan oleh keypad akan terhapus apabila ada penekanan tombol CAN Tampilan pada LCD ketika tombol SEND ditekan ialah kembali seperti semula.5. no baris menunjuk ke angka 1 dan tulisan di bawah kode dan jumlah semuanya hilang (reset). kode 15 dengan banyak 6. Dengan program dibawah ini. Yaitu. dan kode 20 dengan banyak 4. 4.

TR1=1. Hasil dari percobaan kali ini ialah terkirimnya huruf ”a” di hyperterminal secara terus menerus ketika menghidupkan dan menghubungkan rangkaian ke PC untuk pertama kali. ES=1.h> void kirim(int kar). void main() { TMOD=0x20.mode2 SCON=0x52. . #include<reg52. TH1=0xf4.68 bahwa rangkaian mikrokontroller sudah benar dapat terhubung dengan PC.//meangktifkan timer.//Timer1. } void kirim(int kar) {while(TI==0) {} SBUF=kar. } Dibawah ini merupakan tampilan dari hasil pengujian program diatas dengan memakai fasilitas hyperterminal yang ada di windows.//mengaktifkan interupsi port serial EA=1. TI=0. //mengaktifkan while(1) kirim('a').

69 Gambar 4.6 Tampilan pada hyperterminal yang bersamaan dengan dinyalakannya rangkaian Minimum Sistem .

halaman ini sengaja dikosongkan--------------- .70 -------------.

Sedangkan pada PC kasir cukup 1 buah karena hanya memakai 1 port. 3. Untuk menguji komunikasi serial antara PC dengan Mikrokontroller maka digunakan tampilan pada hyperterminal. karena disinilah tempat program di download untuk mengatur seluruh proses baik yang ada di rangkaian itu sendiri maupun pada PC. Jadi semakin kecil interval. Pengiriman data ke PC dilakukan secara serial. 5. Untuk men-sinkronkan komunikasi antar Mikrokontroller dan PC Baudrate.BAB 5 PENUTUP 5. Baudrate yang digunakan pada komunikasi disini adalah 2400 Kbps. Rangkaian Mikrokontroller AT89S51 digunakan sebagai media penghubung antar module seperti keypad dan LCD. Mikrokontroller AT89S51 juga digunakan sebagai pengendali. maka MSCom yang digunakan sebanyak 2. 8. Interval pada propertise Timer yang merupakan fasilitas dari VB dapat menentukan kecepatan pengiriman data dari Mikrokontroller ke PC. 7. Penggunaan MSCom pada tiap komputer bergantung pada kebutuhan port yang akan digunakan. Proses yang ada di database merupakan aplikasi dari fungsi pemanggilan data dengan menggunakan index. maka data yang tampil pada PC terlihat seperti bersamaan. yaitu satu per satu. sedangkan untuk PC yang ada di PC kasir ditambah dengan program record data. maka kecepatan pengiriman data akan semakin cepat. 71 .1 Kesimpulan Dari Pengujian Perangkat lunak dan perangkat keras yang telah dilakukan pada pembuatan sistem layanan pada restoran ini diperoleh kesimpulan yaitu : 1. Karena pengaruh dari kecepatan pengiriman data. 2. print data. Karena pada PC dapur menggunakan 2 port. 6. dan program billing.

pelanggan tersebut mengakses keypad yang dirancang sedemikan rupa dengan LCD dan mikro tersebut untuk kemudian dapat mengambilnya pada bagian pengambilan pesanan yang berlainan tempat. 2. Sistem pemesan menu ini masih terbatas pada rumah makan yang berskala besar. Jadi untuk pelanggannya pun sangat sedikit. Dimana biasanya hanya ada sepuluh meja. 3. Pemesanan dengan sistem ini dilakukan dengan masih mengendarai atau berada di dalam mobil. Jadi. Untuk pengoperasian sistem ini masih digunakan jasa manusia pada pangantaran pesanan. Hal ini dapat disempurnakan dengan sebuah robot pengantar makanan. Sistem ini dapat juga digunakan pada rumah makan yang menyediakan fasilitas drive thru .2 Saran Untuk penyempurnaan lebih lanjut maka beberapa saran perlu ditambahkan antara lain : 1.72 5. .

DAFTAR PUSTAKA
[1] Retna Prsetia, Catur Edi Widodo, Teori dan Praktek Interfacing Port Pararel dan Port Serial Komputer dengan Visual Basic 6.0, ANDI Yogyakarta, 2004. [2] M.Agus J. Alam, Manajemen Database dengan Microsoft Visual Basic Versi 6.0, ELEX MEDIA - JAKARTA, 2003. [3] Julia Case Bradley, Anita C. Millspaugh, Programming in Visual Basic 6.0, McGraw – HILL INTERNATIONAL EDITIONS, 1999

[4] Atmel, 8-bit Microcontroller with 4K Bytes In System Programmable Flash. [5] Henri S.V. Simanjuntak, Dasar – dasar Mikroprosesor. [6] Paulus Andi Nalwan, Panduan praktis teknik antarmuka dan pemrograman mikrokontroler AT89C51.

73

LAMPIRAN
Listing Program VB
mkode3 = txtcari3.Text mkode4 = txtcari4.Text If dbbeli.Recordset.NoMatch Then txtcari.Text = "" End If If dbbeli4.Recordset.NoMatch Then txtcari4.Text = "" End If hey = "tekan enter untuk melanjutkan" If dbbeli.Recordset.NoMatch Then If dbbeli2.Recordset.NoMatch Then End If If dbbeli3.Recordset.NoMatch Then End If If dbbeli4.Recordset.NoMatch Then End If End Sub Private Sub cmdend_Click() End End Sub txtcari2.Text = "" txtcari4.Text = "" txthitung.Text = Val(txthitung.Text) + 1 End Sub Private Sub Form_Activate() End Sub Private Sub Timer3_Timer() karakter = MSComm1.Input awal = InStr(serial, "qs") + 1 awal = InStr(serial, "lw") + 1 awal = InStr(serial, "wa") + 1 awal = InStr(serial, "wq") + 1

End If If kode2 = "" Then End If If kode3 = "" Then End If If kode4 = "" Then End If End If End Sub

Listing Program C
#include<reg51.h> void main() {

koljum1=-1; baris=1; kj=0; while(1) { keypad(); menu(); if(fkey== { kj=0; baris--; if(baris==0) baris=4; else { baris++; if(baris==5) baris=1; kj=0; } } if(tombol=='$') { kirim('a'); kirim_kar(kode3); bersih=0; while(kode1[bersih]!=0) { kode1[bersih]=0; bersih++; }

bersih=0; while(kode3[bersih]!=0) { kode3[bersih]=0; } bersih=0; while(jml1[bersih]!=0) { jml1[bersih]=0; bersih++; } bersih=0; while(jml2[bersih]!=0) { jml2[bersih]=0; bersih++; } bersih=0; while(jml4[bersih]!=0) koljum1=-1; koljum2=-1; koljum3=-1; koljum4=-1;

}

void keypad() { fkey=0;

if(r1==0) if(r3==0) {fkey=1;tombol='9';} if(r4==0) {fkey=1;tombol='#';} if(r1==0) {fkey=1;tombol=' ';} if(r2==0) if(fkey==1) delay(20000); {int x; x=0;

//enter

} else { if(koljum2<0) goto xx. } } { gambar(" gambar("3.0xca). kode4[kolkod4]=tombol. x++. } } if(baris==2) { if(kj==0) { if(kolkod2<0) goto xx.while(kar1[x]!=0) { kirim(kar1[x]). } } . gambar(jml3. jml2[koljum2]=0. P2=gf. koljum2--. ".".0xc2). } e=1. if(kj==0) printf('_'). } } e=1. x++. delay(50).0xc0).0xc0). delay(50). if(baris==4) { if(kj==0) { kolkod4++. gambar(kode3. e=0. kolkod2--. kode2[kolkod2]=0.

2 (Pin 5 PORT1) P1. 2. $TITLE(4x4 KEYPAD MODULE TESTING PROGRAM) $MOD51 CSEG ORG 0000H LJMP Start ORG LDelay: LDel: PUSH PUSH MOV MOV DJNZ DJNZ POP POP RET MOV JNB CLR RET 0100H 06H 07H R6.ChkB1K2 A. DT-BASIC Series. 1 bit stop. Koneksi berikut ini hanya contoh dan tidak mutlak.4 P1. absensi.4 (Pin 7 PORT 1) P1. Tata Letak DT-51™ Minimum System v3.#0FDH SCON.#10000000B TR1 Alokasi Pin J3 R4 R2 C4 C2 VCC R3 R1 C3 C1 NC TxByte: NC = tidak terhubung ke mana-mana Cx = kolom ke-x Rx = baris ke-x Contoh Koneksi Pada dasarnya pin Cx dan Rx pada J3 bebas dihubungkan ke pin input/output manapun pada mikrokontroler. dan lainlain.#00100000B TMOD.3 (Pin 6 PORT1) DT-I/O 4x4 Keypad Module VCC (J3) C1 (J3) C2 (J3) C3 (J3) C4 (J3) InitSerial: ORL ANL MOV MOV MOV MOV SETB RET Start: 2 1 MOV P1.LDel 07H 06H SBUF. Memiliki konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning).#01010000B PCON. datalogger.#080H R7. dan sebagainya.1 (Pin 4 PORT1) P1.7 P1.7 (Pin 10 PORT 1) R1 (J3) R2 (J3) R3 (J3) R4 (J3) DT-I/O 4x4 Keypad Module VCC (J5) C1 (J3) C2 (J3) C3 (J3) C4 (J3) R1 (J3) R2 (J3) R3 (J3) R4 (J3) berukuran 4 kolom x 4 baris. Memiliki 16 tombol (fungsi tombol tergantung aplikasi).0 (Pin 1 PORT C & PORT 1) PC. Kompatibel penuh dengan DT-51™ Low Cost Series dan DTAVR Low Cost Series. DT-51™ PetraFuz.4 (Pin 5 PORT C & PORT 1) PC.0 dan PetraFuz VCC (Pin 1 Port CONTROL) PC. DT-51™ Low Cost Series dan DT-AVR Low Cost Series VCC (Pin 2 PORT1) atau +5VDC P1.#00101111B TH1.$ R6. Mendukung DT-51™ Minimum System (MinSys) ver 3. 8 bit data. dan tanpa flow control.#0FFH MOV SP. tanpa bit parity.6 (Pin 9 PORT 1) P1.2 (Pin 3 PORT C & PORT 1) PC.#'1' LDelay LDelay ChkB1: ChkB1K1: .1 (Pin 2 PORT C & PORT 1) PC.5 (Pin 8 PORT 1) P1. Program akan mengirimkan hasil penekanan secara UART dengan baud rate 19200 bps.4X4 Keypad Module 4 x 4 Keypad Module merupakan suatu modul keypad P1.0.0 (Pin 3 PORT1) P1. pengendali kecepatan motor.5 (Pin 6 PORT C & PORT 1) PC. 3.7 (Pin 8 PORT C & PORT 1) Contoh Program Berikut ini merupakan contoh program menggunakan DT-51™ Low Cost Series Port 1.$ TI TMOD.A TI.#0FFH R7. robotik.3 (Pin 4 PORT C & PORT 1) PC.#0FDH TL1. Modul ini dapat difungsikan sebagai input dalam aplikasi seperti pengaman digital.0.#40H LCALL InitSerial SETB CLR JB MOV LCALL LCALL P1.6 (Pin 7 PORT C & PORT 1) PC. Spesifikasi Hardware 1.

ChkB1K2: ChkB1K3: ChkB1K4: LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL SETB CLR JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL SETB CLR JB MOV LCALL LCALL LCALL JB MOV TxByte P1.ChkB1K3 A.com VCC 47K ChkB3K2: J5 Keypad Rubber 4X4 1 2 3 4 5 6 7 8 VCC 47K 1 47K 47K 47K 47K R8 R1 47K 47K J1 R2 R3 R4 R5 R6 R7 CR1 CR2 CR3 CR4 C1 C3 R1 R3 R1 R2 R3 R4 Copyright © 2005 Innovative Electronics C1 C2 C3 J3 Header 5x2 VCC 1 3 5 7 9 2 4 6 8 10 C2 C4 R2 R4 C4 CR1 CR2 CR3 CR4 C1 C2 C3 C4 IN4148 IN4148 IN4148 IN4148 D1 D2 D3 D4 .#'5' LDelay LDelay TxByte P1.ChkB2K4 A.6 P1.0.ChkB3K4 A.1.4 P1.ChkB2K2 A.#'A' LDelay LDelay TxByte P1.3.1.1.2.ChkB4K3 A.ChkB2K3 A.#'B' LDelay LDelay TxByte P1.#'7' LDelay LDelay TxByte P1.ChkB3 A.0.1.ChkB4K2 A. bila ada kesulitan.#'3' LDelay LDelay TxByte P1.#'4' LDelay LDelay TxByte P1.3.LoopChk A.0.#'0' LDelay LDelay TxByte P1.5 P1.2.#'#' LDelay LDelay TxByte P1.ChkB3K3 A.#'C' LDelay LDelay TxByte P1.3.ChkB4K4 A.#'D' LDelay LDelay TxByte ChkB1 $ ChkB4: ChkB4K1: ChkB2: ChkB2K1: ChkB4K2: ChkB2K2: ChkB4K3: ChkB2K3: ChkB4K4: ChkB2K4: LoopChk: ChkB3: ChkB3K1: Terima Kasih atas kepercayaan Anda menggunakan produk kami.ChkB1K4 A.5 P1.#'9' LDelay LDelay TxByte P1.#'2' LDelay LDelay TxByte P1.2.#'6' LDelay LDelay TxByte P1.6 P1.3.7 P1.#'8' ChkB3K3: ChkB3K4: LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL SETB CLR JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL AJMP AJMP END LDelay LDelay TxByte P1.ChkB4 A. pertanyaan atau saran mengenai produk ini silahkan menghubungi technical support kami : support@innovativeelectronics.ChkB2 A.2.#'*' LDelay LDelay TxByte P1.ChkB3K2 A.

                .

          .

 .

                                                       .

  .

  .

  .

        .

   .

   .

         .

!  "  #   .

  



    

                                                                    .

            .

.

.

  ! ".

#.

    $.

 %.

&! %.

                                       '(.

).

   * ++                                                   .%-.

   &*   &.   * .        /0                                                     12 . .

.       *)++*34+2+2456++**7!++228                        9 :     .1 <..   .252.

8 3  $.

    9 !  .

 +=.

 .

#.

 .

+     .    +<.

.

#.

 .

   +<*+   = .

#.

   >.

$.

  .

 .

.  .

        *2.    - .   .

4/.

       ".

: "...+5##8   ' ! .5##8     .           +.          +*+4+.4+.

4' .5##8     1?.+.         *.          3.4.5##8   *: ! .

                    2 ..

 .. .

@  .

#.

 .

 %% .

            .

&'.

#  (                                             .

 .

  .

.

                                                                                             .

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         .

 '..

-# !                                             .

#'..

+/!'!.

  A .

# !.

 ( .

 /2%( .

 =.

 .

#.

 .

 > .

   .

.

#.

 .

 > .

                        #@ ( (  ( .

 1+  + <.+ 7  ( >.      - +  +  + - .

#    + <*+  2.

   .

0#.

#.

   .

'.

                             *0.

  .  .

   A .

#  #@  ( .

 5/8  ( .

 5/2%.

 (.8 B.

.

(  ( .

 ( (.

.

+ ( (.C.

.

 .   .+   - '.+ - .C.. 7  (  '1  ( A     ( .

 +1(   ( <+  +(  ( / +   (  .

  5/8  .

  5/2%.

8  .

  5/0%.

8             (.

.

 +'+     9* #) #) #) (  C'   .+ A A     . A ( C.

*A .

$ .

  !  #@     ' . * 1 9 3 +     ' !         /.

%.

 .

+( + ( B&/ B&/ B&/ B&/ B&/ B&/ B&/ B&/ B&/ B&/ B&/ '( +(         ( ( (.  +( .

.

 * 1 ) 6          !. > >&? 0 +     ' .

 % .

$ /25<8 !.

 % .

$/258 .

.

 .

 .

5B  / A  8 .

.

 .

 .

  .

& .

.

 @.

   @ +  @   @   @   @ '  @ .  @ *  @ 1 !.

 % .

$/05<8 !.

 % .

$/058               .

3 Interface Timing Chart AC Characteristics(V =4.5V~5.Ta=-30~+85    0RGH      :ULWHý0RGH õ5HIHUýWRý)LJðçô         5HDGý0RGH õ5HIHUýWRý)LJðæô                            &KDUDFWHULVWLF (ý&\FOHý7LPH (ý5LVHýîý)DOOý7LPH (ý3XOVHý:LGWKýõ+LJKñý/RZô 5î:ýDQGý56ý6HWXSý7LPH 5î:ýDQGý56ý+ROGý7LPH 'DWDý6HWXSý7LPH 'DWDý+ROGý7LPH (ý&\FOHý7LPH (ý5LVHýîý)DOOý7LPH (ý3XOVHý:LGWKýõ+LJKñý/RZô 5î:ýDQGý56ý6HWXSý7LPH 5î:ýDQGý56ý+ROGý7LPH 'DWDý2XWSXWý'HOD\ý7LPH 'DWDý+ROGý7LPH 7 0LQï èíí ð ëêí éí ìí åí ìí èíí ð ëêí éí ìí ð è 7\Sï ð ð ð ð ð ð ð ð ð ð ð ð ð ð 0D[ï ð ëí ð ð ð ð ð ð ëí ð ð ð ìëí ð QV QV 8QLW 6\PERO WF W5ñW) WZ WVXì W+ì WVXë W+ë WF W5ñW) WZ WVX W+ W' W'+  .6.5V.

+ì 9 . +ì 9 . /ì 9 . +ì 9 . /ì WI W Kë 9 . /ì 9 . /ì WU 9 . /ì W Kì 9 . /ì WU W' W' + 9DOLG 'DWD W& )LJXUHýæýïýý5HDGý0RGHý7LPLQJý'LDJUDP    . /ì W Kì W 68ë 9DOLG 'DWD W& )LJXUHýçýïýý:ULWHý0RGHý7LPLQJý'LDJUDP 9 . +ì W 68 WK 9 . +ì WZ 9 . +ì 9 . +ì 9 . /ì WZ 9 . /ì WK WI 9 . /ì 9 . /ì W68ì 9 .       56    5î:    (   '%ía'%æ        56    5î:    (   '%ía'%æ                9 . +ì 9 . /ì 9 . +ì 9 . /ì 9 . +ì 9 . +ì 9 . +ì 9 . /ì 9 .

+(>  1.

î' 6+ êäýPV  6HWý ýDQGýHQDEOHýWKHýVKLIWýRIýHQWLUHýGLVSOD\ïý  ý6HWýGLVSOD\õ'ôñýFXUVRUõ&ôñý  'LVSOD\ý21î êäýPV í í í í í í ì ' & % ýDQGýEOLQNLQJýRIýFXUVRUõ%ôýRQîRIIý 2))ý&RQWURO  ýFRQWUROýELWï  ý6HWýFXUVRUýPRYLQJýDQGýGLVSOD\ý &XUVRUýRU  êäýPV í í í í í ì 6î& 5î/ ð ð ýVKLIWýFRQWUROýELWñýDQGýWKHýGLUHFWLRQñý ý'LVSOD\ý 6KLIW ýZLWKRXWýFKDQJLQJýRIý''5$0ýGDWDïý  ý6HWýLQWHUIDFHýGDWDýOHQJWKýõ'/ãý  ýåðELWîéðELWôñýQXPEHUVýRIýGLVSOD\ýOLQH êäýPV í í í ì '/ 1 ) ð ðý )XQFWLRQý6HW í  ýõ1ãýëðOLQHîìðOLQHôýDQGñýGLVSOD\ ýIRQWýW\SHýõ)ãèuììGRWVîèuåýGRWVô   ý6HWý&*5$0ýDGGUHVVýLQýDGGUHVVý 6HWý&*5$0ý í í í ì $&è $&é $&ê $&ë $&ì $&í êäýPV  ýFRXQWHUï $GGUHVV  6HWý''5$0ý ý6HWý''5$0ýDGGUHVVýLQýDGGUHVVý êäýPV í í ì $&ç $&è $&é $&ê $&ë $&ì $&í  $GGUHVV ýFRXQWHUï  ý:KHWKHUýGXULQJýLQWHUQDOýRSHUDWLRQ  5HDGý%XV\ý ýRUýQRWýFDQýEHýNQRZQýE\ýUHDGLQJý%)ïý í ì %) $&ç $&è $&é $&ê $&ë $&ì $&í íýPV )ODJýDQGý  ý7KHýFRQWHQWVýRIýDGGUHVVýFRXQWHU $GGUHVV ýFDQýDOVRýEHýUHDGï   :ULWHý'DWDýWRý ý:ULWHýGDWDýLQWRýLQWHUQDOý5$0ý ì í 'æ 'ç 'è 'é 'ê 'ë 'ì 'í éêýPV  5$0 ýõ''5$0î&*5$0ôï  5HDGý'DWDý ý5HDGýGDWDýIURPýLQWHUQDOý5$0ý ì ì 'æ 'ç 'è 'é 'ê 'ë 'ì 'í éêýPV  IURPý5$0 ýõ''5$0î&*5$0ôï  ýýýýýýýýýýýýóý¦ð¦ãýGRQ©WýFDUH  127(ãý:KHQýDQý038ýSURJUDPýZLWKýFKHFNLQJýWKHý%XV\ý)ODJõ'%æôýLVýPDGHñýLWýPXVWýEHýQHFHVVDU\ýìîë)RVFýLV  ýýýýýýýýýýýýýQHFHVVDU\ýIRUýH[HFXWLQJýWKHýQH[WýLQVWUXFWLRQýE\ýWKHýIDOOLQJýHGJHýRIýWKHýö(öýVLJQDOýDIWHUýWKHý%XV\ý)ODJýõ'%æôý  ýýýýýýýýýýýýýJRHVýWRý¦/RZ§ïý    ýý.QVWUXFWLRQ 'HVFULSWLRQ WLPHýõIRVF ý  56 5î: '%æ '%ç '%è '%é '%ê '%ë '%ì '%í ëæíýN+]ô  &OHDU ý:ULWHý¦ëí+§ýWRý''5$0ýDQGýVHWý  í í í í í í í í í ì ìïèêýPVý 'LVSOD\ ý''5$0ýDGGUHVVýWRý¦íí+§ýIURPý$&   ý6HWý''5$0ýDGGUHVVýWRý¦íí+§ý ýIURPý$&ýDQGýUHWXUQýFXUVRUýWRýLWV  5HWXUQý í í í í í í í í ì ð ýRULJLQDOýSRVLWLRQýLIýVKLIWHGïý ìïèêýPV +RPH  ý7KHýFRQWHQWVýRIý''5$0ýDUHýQRWý  ýFKDQJHGï  (QWU\ý0RGHý ý$VVLJQýFXUVRUýPRYLQJýGLUHFWLRQý í í í í í í í ì .QVWUXFWLRQý7DEOH   .   .QVWUXFWLRQý&RGH ([HFXWLRQý  .

)+0-   .

.

.

:.6D**))?**7 )+0-   . .

.

.

 .:.6D**))?**7                                            .

1.

# .

.

  . 1=  2.

A .                                     C.

 7   .      + .#  #@    2   C+ -    - .

+ # .  +      + '+       .+ (.

).

   2≥2  C+  C+  C+  2   >     $$ 2      >.

.

 #.

  C+  C+                          .

1.

  .$ $=  2.

  1.

$ $(.

).

                                                                 #                           # 1.

$ $2   >   .

      -.

2           8)#@.

 .

#.

 .

 . .

     .

      F   8: #.

$.

G.

 *'B"   1 .

$ $>.

.

 #.

      #.

     C     <        $$ #.

     C     <                            -.

2          8/2=.

 ( .

'1(   8: #.

$.

G.

 *'B"    .

2##.

 92 .

 $>.

 @ .

                                C.  .

    .

 A .

# 2 .

 $.

    B..

#.

 .

 0 .

 .

    .

.. *+     .

   .

 .

#.

 .

$  #.

 3*B /.

#.

 .

 0 .

 .

    .

 +     .

   .

 .

#.

 .

$  #.

 3*B 0 .

 .

    .

  B..

#.

 .

 .

.

  .

5% .

  .

 8  .+  =.

   .

 .

#  .

  .

 3*B .

.

#.

 $  #.

 0 .

 .

    .

 /.

#.

 .

 +  ' .

.

  .

.

 =.

  3*B .

#.

 .

$  #.

 0 .

 .

    .

.. '+  B..

#.

 .

 . .

#.

 .

#  3+H>B &B#   . ...

   .

$  #.

 3*B 0 .

 .

    .

 .. .

#.

 .

 .

  .

#.

 .

*+ .   * 2 . + &*+  + .

#  +# .# + . +# .

    .

 1 9 3         (@ .

  5  .

 .

8 ..

  5  .

 .

8 ) #.

 !.

.

.

  0 .

 .

    .

 %@     0 .

 .

    .

.     0 .

 .

    .

 #.

.

.

+#&E '+# B $.    @   +B"D.+B"E .

 %.

E ++#&E # '+!  *B  .

9: .

I#.

 2 .

 2 .

 A .

#   .

$  0.

   .

$  -.

  ..

$  =   2.   .

   .

 >.

#                .

 A .

 * 1 9 3 : .#    ' .

I.

#.

 2 .

 √ √ √ √ √ √ √ √ √ = $ .

@ .

$  = $ .

.

.

   .

$   = $ .

#.

.   .

$    √ √ √ √ √            √ √  √ √ √ √ √ √   √ = $ .

  .

$   : .

  .

#.

$.

 9   .

$  C =   .

$  < -.

.   .

$     .

 .345*67** 0. #  )  C.

  5.

 .

.

 .

8 A.

 7  A/ )J/ - K + AA - . - K + AA - .  .  - - .

- K.

$.

  =.

.

#.

 ##E. E.

 # .

E/.

 .

      -.

.

$.

  = .

       #  $# 99 7.

 #  #  0. .

       .

.

  E ..

 .

.

).

.) (   .

 @.

.

.

 .

.

  A.

  /2.# 7.

 #  #   .

.

  E   ..

.

).

.  .

  .

$.

                         .

$8'.

 5* +'#  +B !.

    + .

    .

  # .

 $      @K.

      #.

 .   .@  $# ...

E.

  +A$ .

  .

 # .

  .

G  @ .

.

  .

 E@.

.

  .

E$ .    # .

@ .

#.

     .  .

E#   . $$   .

  +    .

..

%.

$.

  .

 $ .

 .

 K .

 .

#  . .

 .

 .

 %    +'.

 ".

%.

 .

 $ .

$ .

/2#.

$   .

  .

B .

 ". .

 .

A$ .$    +.

 $ .

 # .

E@.

.

 .

$ .

 .

   .

A$  #.  . $   .

.

 .

E# .

  .. .

$ .

$%.

         %.  .                                                      A  .                  0 .

   .

 . ..

 #.

 .

 @%.

 #   # .

 .

  ".

   0.

  E .

 .

$                  ? .

                                                                     6.

.

                                                                    )# %.

                                                +*  .

#   .

#@.

 .

/2-.

 +1A$ .

 .

$$E    .

       +9.

%.

 .

  $ .

.

.

#.

 @  .

.

  E@.

 .

$  #    ##.

%#.

                      .

.

  .

@ .

 ..

/2-.

       @.

G.

$ .

 .#@ E.

E# @.

.

                             .

.

 .

 #  $   .

.

   .

.

 .

E      .

#@   .

.

                     .

/2-.

 .

 $#  . .

  .

 $ .

 .

 .

.

.

.

 .$$ .

 %.

$#.

 .

.

  #  @.

.

.

 .

                              .

+  .

.

                                                     +?.

  .

/2#.

E %.

..

 .

 .   .

. $$.

.

  #                              +.

/2#.

.@.

 .

.

 .

  .

 .

#.

 .

 .

 A$ .

 /2 #.

  @.

  .

 $   #.

E .

 .

##.

                                                   .

#.

 .

        +   '+                                            >.

 %.

 .#   9+H            + .

/2#.

@..

 .

 .

  E    .# . #$       +  .

 /2 #.

 @. .

  $   %.

    E   .  . % .

..

%.

 .

E  .

.E  #  .

                                  .

 / A.

  .

#  .

 $ .

 .

.

$.

   A .

# /.

 .

  > @    ! ".

  2 .

    ? ".

#. .

  @@.

@.

.

.

  ".

    .

$  ".

 2 .

   .

# .

 )  .

# .

#.

  .

# .

   .

 φL+ ## - . .

$.

  .

## )  . + ## φ +.

# .

#.

   .

 - .   .

  4L+##  4C5 <@8&   .

 . - .

 .

  L++##   .

# .

##         @ +## +## 4 +.    5.  ++## ++.## - .

8 .

      5%.

 .

8  .

  5%.

 .

8 !.

%.

           .

 /- A.

  .

#  .

 $ .

$.

   A .

# 2 .

  2 .

   .

# .

  .

# .

  .

# .

 )  .

# .

#.

 )  .

# .

#.

   .

 4L+##   4C5 <@8&   .

  )L+##  - .  .

##     - .    5.  +## ) +## L+.

8 .

 - .   .

    . +## 4 +##      - .

 =.

.

#.

 .

## .  ?%.

 .

 2    .

%.

 2        ! ..

     .

#.

  5=8         5%.

 .

8   .

   . - .

 4L+## 4C5 <@8& +## 4 +##     .

 5%.

 .

8     .

 . - .

 .

 L++## ++## ++.##  .##          @ +.

 /-  A .

#              $ #  $.

#.

   A.

  .

#  .

 $ .

$.

 5 .

8 2 .

  2 .

    .

+## - . ..

$.

  .

  . +## . +##        - .

$.

  .

 .C5 <@8&    .

  +## - ..

$.

  .

.  +## +##        M+    - .

$.

  .

 +9? ?   C#.

.

% .

$ . ?C# % .

$ .    .

Products conform to specifications per the terms of Texas Instruments standard warranty.ti. . standard packing quantities. and can accept ±30-V inputs. LinASIC is a trademark of Texas Instruments. and Computers MAX232 . OR NS PACKAGE MAX232I . Production processing does not necessarily include testing of all parameters. Texas Instruments Incorporated POST OFFICE BOX 655303 • DALLAS. 8 mA Typical ESD Protection Exceeds JESD 22 − 2000-V Human-Body Model (A114-A) Applications − TIA/EIA-232-F. MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 D Meet or Exceed TIA/EIA-232-F and ITU D D D D D D D Recommendation V. Terminals. symbolization. standard warranty. a typical hysteresis of 0. and voltage-generator functions are available as cells in the Texas Instruments LinASIC library. The driver. . Copyright  2004.28 Operate With Single 5-V Power Supply Operate Up To 120 kbit/s Two Drivers and Two Receivers ±30-V Input Levels Low Supply Current .MAX232. Battery-Powered Systems. and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. TEXAS 75265 1 . .3 V. OR N PACKAGE (TOP VIEW) C1+ VS+ C1− C2+ C2− VS− T2OUT R2IN 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 VCC GND T1OUT R1IN R1OUT T1IN T2IN R2OUT description/ordering information The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply TIA/EIA-232-F voltage levels from a single 5-V supply. DW.com/sc/package. D. ORDERING INFORMATION TA PDIP (N) SOIC (D) 0°C to 70°C SOIC (DW) SOP (NS) PDIP (N) −40 C 85°C −40°C to 85 C SOIC (D) SOIC (DW) PACKAGE† Tube of 25 Tube of 40 Reel of 2500 Tube of 40 Reel of 2000 Reel of 2000 Tube of 25 Tube of 40 Reel of 2500 Tube of 40 Reel of 2000 ORDERABLE PART NUMBER MAX232N MAX232D MAX232DR MAX232DW MAX232DWR MAX232NSR MAX232IN MAX232ID MAX232IDR MAX232IDW MAX232IDWR MAX232I MAX232I MAX232 MAX232 MAX232IN MAX232 TOP-SIDE MARKING MAX232N † Package drawings. D. DW. Modems. . Each receiver converts TIA/EIA-232-F inputs to 5-V TTL/CMOS levels. PRODUCTION DATA information is current as of publication date. N.5 V. . thermal data. These receivers have a typical threshold of 1. Each driver converts TTL/CMOS input levels into TIA/EIA-232-F levels. . and PCB design guidelines are available at www. receiver. Please be aware that an important notice concerning availability.

MAX232. MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 Function Tables EACH DRIVER INPUT TIN L H OUTPUT TOUT H L H = high level. L = low level EACH RECEIVER INPUT RIN L H OUTPUT ROUT H L H = high level. L = low level logic diagram (positive logic) 11 T1IN 10 T2IN 12 R1OUT 9 R2OUT 8 R2IN 13 R1IN 7 T2OUT 14 T1OUT 2 POST OFFICE BOX 655303 • DALLAS. TEXAS 75265 .

. . . . . . . . . . . . . . . . . .3 V to 6 V Positive output supply voltage range.5 V. . . . . . . . . The package thermal impedance is calculated in accordance with JESD 51-7. . NOTES: 1. . . . . . . . T2OUT . . .3 V to −15 V Input voltage range. . 2. . . . Operating at the absolute maximum TJ of 150°C can affect reliability. . . . . . MIN TYP‡ 8 MAX 10 UNIT mA ‡ All typical values are at VCC = 5 V and TA = 25°C. . . . TEXAS 75265 3 . . . . . . . . . . . . . . and TA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 ±30 70 85 NOM 5 MAX 5. . . . . . . . . . Unlimited Package thermal impedance. . . . T2OUT . . . . .T2IN) Low-level input voltage (T1IN. . . . . . . . The maximum allowable power dissipation at any allowable ambient temperature is PD = (TJ(max) − TA)/θJA. . . VCC (see Note 1) . . . .3 V to VCC + 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 UNIT V V V V °C electrical characteristics over recommended ranges of supply voltage and operating free-air temperature (unless otherwise noted) (see Note 4 and Figure 4) PARAMETER ICC Supply current TEST CONDITIONS VCC = 5. . . . . . VS+ . . . . . . . . . . . and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. . . . . . . T2IN) Receiver input voltage Operating free-air temperature MAX232 MAX232I 0 −40 4. . . . . .3 V Short-circuit duration: T1OUT. . . . . . . . . . . . . . . . . . . . . . . R2IN TA Supply voltage High-level input voltage (T1IN. VS− − 0. . . . . .5 2 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 absolute maximum ratings over operating free-air temperature range (unless otherwise noted)† Input supply voltage range. . . . . . . . . . . . . −0. . . . . . . . . . . 67°C/W NS package . . . . . . . R2OUT . . . . . . . . . . . . . . . . . . . . . . . . . These are stress ratings only. . . . . . ±30 V Output voltage range. . . . . . . VI: Driver . . . . . . . . . . . . . . . . . . . .3 V to VS+ + 0. . . . . . 64°C/W Operating virtual junction temperature. . . . θJA. . . . . VO: T1OUT. . . . . . . . . . . . . . . 57°C/W N package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . −0. . . . . . . 3. . . POST OFFICE BOX 655303 • DALLAS. . . . VCC − 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0. . . . . . . . . . . . . 73°C/W DW package . . θJA (see Notes 2 and 3): D package . . . . . . . . . . . Maximum power dissipation is a function of TJ(max). .5 V. . . . . . . . . . . .3 V to VCC + 0. . .3 V to 15 V Negative output supply voltage range. . Tstg . . . . −0. . . . . . . . . VS− . . . . . . . −65°C to 150°C † Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. . . Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. . . −0. TA = 25°C All outputs open.3 V R1OUT. . . . . . . . .MAX232. . . . . . . . . . All voltages are with respect to network GND.3 V Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . TJ . . . recommended operating conditions MIN VCC VIH VIL R1IN. . . . . . . . . 150°C Storage temperature range. . .

TA = 25°C.5 V. VCC = 5 V.to high-level output Receiver propagation delay time. ‡ The algebraic convention. MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 DRIVER SECTION electrical characteristics over recommended ranges of supply voltage and operating free-air temperature range (see Note 4) PARAMETER VOH VOL ro High-level output voltage Low-level output voltage‡ T1OUT. TA = 25°C (see Note 4 and Figure 1) PARAMETER tPLH(R) tPHL(R) Receiver propagation delay time.5 V. TA = 25°C. VCC = 5 V. T2OUT VS+ = VS− = 0. R2IN R1IN. is used in this data sheet for logic voltage levels only. T2IN VI = 0 200 µA † All typical values are at VCC = 5 V. switching characteristics.5 1 V ri Receiver input resistance R1IN.MAX232.2 MIN 3. See Figure 2 See Figure 3 One TOUT switching 3 120 MIN TYP MAX 30 UNIT V/µs V/µs kbit/s RECEIVER SECTION electrical characteristics over recommended ranges of supply voltage and operating free-air temperature range (see Note 4) PARAMETER VOH VOL VIT+ VIT− High-level output voltage Low-level output voltage‡ Receiver positive-going input threshold voltage Receiver negative-going input threshold voltage R1OUT. VO = 0 ±10 mA IIS Short-circuit input current T1IN. TA = 25°C (see Note 4) PARAMETER SR SR(t) Driver slew rate Driver transition region slew rate Data rate NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.8 1.7 1. R2OUT R1IN.5 V. T2OUT TEST CONDITIONS RL = 3 kΩ to GND RL = 3 kΩ to GND MIN 5 TYP† 7 −7 −5 MAX UNIT V V Output resistance T1OUT. R2IN TEST CONDITIONS IOH = −1 mA IOL = 3. switching characteristics.2 mA VCC = 5 V. R2IN VCC = 5. high.4 2. VCC = 5 V. in which the least-positive (most negative) value is designated minimum. is used in this data sheet for logic voltage levels only. low. T2OUT VCC = 5. § Not more than one output should be shorted at a time.2 0. TEXAS 75265 . TEST CONDITIONS RL = 3 kΩ to 7 kΩ.5 V. R2OUT R1OUT.4 TYP† MAX UNIT V V V V Vhys Input hysteresis voltage R1IN. TA = 25°C TA = 25°C 0.5 0. NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0. R2IN VCC = 5 V 0. in which the least-positive (most negative) value is designated minimum.5 V. ‡ The algebraic convention. TA = 25°C 3 5 7 kΩ † All typical values are at VCC = 5 V. VO = ±2 V 300 Ω IOS§ Short-circuit output current T1OUT. T2OUT T1OUT. 4 POST OFFICE BOX 655303 • DALLAS. NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.to low-level output TYP 500 500 UNIT ns ns NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.

All diodes are 1N3064 or equivalent. VOL 0V Input 10% 500 ns tPHL Figure 1.5 V 1. duty cycle ≤ 50%.5 V WAVEFORMS NOTES: A.3 kΩ See Note C CL = 50 pF (see Note B) TEST CIRCUIT ≤10 ns 90% 50% 90% 50% ≤10 ns 3V 10% tPLH VOH Output 1. CL includes probe and jig capacitance. C.MAX232. TEXAS 75265 5 . MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 PARAMETER MEASUREMENT INFORMATION VCC Pulse Generator (see Note A) R1IN or R2IN R1OUT or R2OUT RL = 1. The pulse generator has the following characteristics: ZO = 50 Ω. B. Receiver Test Circuit and Waveforms for tPHL and tPLH Measurements POST OFFICE BOX 655303 • DALLAS.

The pulse generator has the following characteristics: ZO = 50 Ω. tPLH VOH VOL 90% 50% ≤10 ns 3V 10% 0V 90% Figure 2. Test Circuit and Waveforms for tTHL and tTLH Measurements (20-µs Input) 6 POST OFFICE BOX 655303 • DALLAS.5 V 90% 1.8 (V –V ) OH OL OL OH or t t TLH THL WAVEFORMS NOTES: A. CL includes probe and jig capacitance.8 (V 10% 10% tTLH –V ) 0.5 V 10% tTLH 3V −3 V SR + 6V or t VOH VOL ≤10 ns 20 µs tTHL Output 3V −3 V t THL TLH WAVEFORMS NOTE A: The pulse generator has the following characteristics: ZO = 50 Ω. MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 PARAMETER MEASUREMENT INFORMATION Pulse Generator (see Note A) T1IN or T2IN T1OUT or T2OUT EIA-232 Output RL CL = 10 pF (see Note B) TEST CIRCUIT ≤10 ns Input 10% 90% 50% 5 µs tPHL 90% Output tTHL SR + 0. TEXAS 75265 . Figure 3. duty cycle ≤ 50%.5 nF TEST CIRCUIT ≤10 ns Input 10% 90% 1.MAX232. duty cycle ≤ 50%. Driver Test Circuit and Waveforms for tPHL and tPLH Measurements (5-µs Input) Pulse Generator (see Note A) 3 kΩ EIA-232 Output CL = 2. B.

MAX232. Nonpolarized ceramic capacitors are acceptable. Resistor values shown are nominal. TEXAS 75265 7 . Typical Operating Circuit POST OFFICE BOX 655303 • DALLAS.5 V −8. MAX232I DUAL EIA 232 DRIVERS/RECEIVERS SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004 APPLICATION INFORMATION 5V CBYPASS = 1 µF + − 16 1 C1 1 µF 3 4 C2 1 µF 5 11 From CMOS or TTL 10 12 To CMOS or TTL 9 0V 15 GND † C3 can be connected to VCC or GND.5 V 1 µF EIA-232 Output EIA-232 Output EIA-232 Input EIA-232 Input Figure 4. If polarized tantalum or electrolytic capacitors are used. NOTES: A. they should be connected as shown. VCC C1+ C1− C2+ C2− VS− VS+ 6 C4 + 14 7 13 8 1 µF C3† 2 8. B.

MECHANICAL MPDI002C – JANUARY 1995 – REVISED DECEMBER 20002 N (R-PDIP-T**) 16 PINS SHOWN PLASTIC DUAL-IN-LINE PACKAGE PINS ** DIM A 16 9 A MAX 14 0.200 (5.69) 0.045 (1.015 (0.14) D 8 0.045 (1.920 (23.850 (21.14) 0.78) 0.775 (19. D.300 (7. All linear dimensions are in inches (millimeters). POST OFFICE BOX 655303 • DALLAS.37) 0. TEXAS 75265 .775 (19.92) 16 0.92) 0.88) A MIN 0.26) 0.940 (23. This drawing is subject to change without notice.53) 0. B.020 (0. except 18 and 20 pin minimum body lrngth (Dim A).021 (0.54) 0.76) D 0.260 (6.325 (8. The 20 pin end lead shoulder width is a vendor option.125 (3.92) MAX 14/18 PIN ONLY 20 pin vendor option D 4040049/E 12/2002 NOTES: A.59) 20 1.010 (0.015 (0.69) 0.38) 0.62) 0.92) 18 0.240 (6.38) 0.10) C MS-100 VARIATION AA BB AC AD 1 0.51) MIN 0.60) 0.060 (26.030 (0. C.070 (1.100 (2.25) M 0.18) MIN 0.25) NOM Gauge Plane 0.430 (10.010 (0. either half or full width.745 (18.745 (18.08) MAX Seating Plane 0. Falls within JEDEC MS-001.

016 (0.010 (0.81) 0.80) 0.044 (1.010 (0.00) 0.20) NOM Gage Plane 1 A 4 0°– 8° 0.20) 0.069 (1.157 (4.75) 0. C.12) 0.27) 8 5 0.25) Seating Plane 0.189 (4.10) PINS ** DIM A MAX A MIN 8 0.80) 14 0.51) 0.15). B.10) 0.050 (1.35) 0.00) 0.150 (3.014 (0. Falls within JEDEC MS-012 POST OFFICE BOX 655303 • DALLAS.25) PLASTIC SMALL-OUTLINE PACKAGE 0.004 (0. This drawing is subject to change without notice.MECHANICAL DATA MSOI002B – JANUARY 1995 – REVISED SEPTEMBER 2001 D (R-PDSO-G**) 8 PINS SHOWN 0. D.010 (0.55) 16 0.004 (0.228 (5.386 (9.25) 0.006 (0.00) 0.337 (8.40) 0.80) 4040047/E 09/01 NOTES: A. Body dimensions do not include mold flash or protrusion. TEXAS 75265 . All linear dimensions are in inches (millimeters). not to exceed 0.75) MAX 0.020 (0.344 (8.394 (10.197 (5.244 (6.008 (0.

400 (10.453 (11.35) 9 PLASTIC SMALL-OUTLINE PACKAGE 0.700 (17.462 (11.03) 0.299 (7.400 (10.104 (2.500 (12.15).004 (0.10) 16 0.16) 18 0. D.012 (0.10) PINS ** DIM A MAX 0.710 (18.27) 16 0.016 (0. C.65) MAX 0.600 (15.40) Seating Plane 0.006 (0.25) 1 A 8 0°– 8° 0.59) 0.050 (1.419 (10. Falls within JEDEC MS-013 POST OFFICE BOX 655303 • DALLAS.78) 4040000/E 08/01 A MIN NOTES: A. This drawing is subject to change without notice.30) 0.41) 0. B.51) 20 0.70) 24 0.27) 0.MECHANICAL DATA MSOI003E – JANUARY 1995 – REVISED SEPTEMBER 2001 DW (R-PDSO-G**) 16 PINS SHOWN 0. Body dimensions do not include mold flash or protrusion not to exceed 0.95) 0.15) 0.020 (0.73) 0.014 (0.010 (0.004 (0.291 (7. TEXAS 75265 .39) 0. All linear dimensions are in inches (millimeters).610 (15.25) NOM Gage Plane 0.65) 0.010 (0.51) 0.050 (1.510 (12.010 (0.410 (10.25) 0.24) 28 0.49) 0.

.

TI does not warrant or represent that any license.com/broadband www. Except where mandated by government requirements.ti. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment.com/opticalnetwork www. improvements. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty.ti.com microcontroller.com/digitalcontrol www.com dsp.ti.ti. limitations.com logic.com/video www. either express or implied.ti. or a license from TI under the patents or other intellectual property of TI. Reproduction of this information with alteration is an unfair and deceptive business practice.ti. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. customers should provide adequate design and operating safeguards. copyright. or process in which TI products or services are used.ti. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Amplifiers Data Converters DSP Interface Logic Power Mgmt Microcontrollers amplifier.com/audio www.ti.com power.ti.com interface. Customers are responsible for their products and applications using TI components.com/security www. Texas Instruments Incorporated www. modifications. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice.com/military www. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete.ti. and notices. testing of all parameters of each product is not necessarily performed. machine.IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections.com/automotive www.com dataconverter.ti.com/wireless . TI is not responsible or liable for any such statements. conditions. Use of such information may require a license from a third party under the patents or other intellectual property of the third party. enhancements. TI assumes no liability for applications assistance or customer product design. and other changes to its products and services at any time and to discontinue any product or service without notice. mask work right.ti. is granted under any TI patent right. or other TI intellectual property right relating to any combination.com/telephony www. TI is not responsible or liable for such altered documentation.ti.ti.com Applications Audio Automotive Broadband Digital Control Military Optical Networking Security Telephony Video & Imaging Wireless Mailing Address: Texas Instruments Post Office Box 655303 Dallas. Texas 75265 Copyright  2004.ti. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.ti.ti. To minimize the risks associated with customer products and applications.

Pada tanggal 2 Agustus 2003 mengikuti Seminar Proyek Akhir sebagai salah satu persyaratan untuk mendapatkan gelar Ahli Madya (A.Md. . SMK Telekomunikasi Darul Ulum Jombang lulus tahun 2003. Institut Teknologi Sepuluh Nopember Surabaya (ITS). Politeknik Elektronika Negeri Surabaya. Madiun lulus tahun 1997. Geger. Madiun. Sebagai anak pertama dari 3 bersaudara seorang ibu bernama Sri Handayani dan ayah bernama Waris Susanto. Saat ini bertempat tinggal di Jl Raya Ponorogo No. Geger. D3 Jurusan Telekomunikasi. Riwayat pendidikan formal yang pernah ditempuh: SD Negeri 1 Slambur. Institut Teknologi Sepuluh Nopember Surabaya (ITS).) di Politeknik Elektronika Negeri Surabaya. SMP Negeri 1 Geger. Madiun lulus tahun 2000. 56.PROFILE PENULIS ADIB KARISMA PUTRA Penyusun lahir di Madiun. pada tanggal 7 Juni 1984.

Sign up to vote on this title
UsefulNot useful