Anda di halaman 1dari 128

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


Assalamualaikum 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.


Wassalamualaikum 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 Ta25
Item Symbol Condition Min. Typ. Max. Unit
0 -35 -- 20
Viewing Angle

C2
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 Ta25
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
90RH
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 Ta25
(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
X0.2mm 0.2mm X 0.5mm
Black spot
(in viewing
area)
X(ab)/2
Not counted
Max. 3 lines allowed Black line
(in viewing
area)

a0.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
X0.1mm 0.1mm X 0.2mm


X(ab)/2
Not counted Max.2 dots allowed






Pin holes
and cracks
in segment
(DOT)




A0.1mm

0.1mm A 0.2mm
D0.25mm





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

Black spot
(in viewing
area)

X(ab)/2
Not counted Max.3 lines allowed
Black line
(in viewing
area)

a0.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(ab)/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


ameasured value oI width
Wnominal value oI width

MAX232, MAX232I
DUAL EIA232 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
0C to 70C
SOIC (D)
Reel of 2500 MAX232DR
MAX232
0C to 70C
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
40C to 85C
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 EIA232 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 EIA232 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 73C/W . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DW package 57C/W . . . . . . . . . . . . . . . . . . . . . . . . . .
N package 67C/W . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NS package 64C/W . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operating virtual junction temperature, T
J
150C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Storage temperature range, T
stg
65C to 150C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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 150C 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
= 25C
All outputs open,
8 10 mA

All typical values are at V


CC
= 5 V and T
A
= 25C.
NOTE 4: Test conditions are C1C4 = 1 F at V
CC
= 5 V 0.5 V.
MAX232, MAX232I
DUAL EIA232 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
= 25C.

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 C1C4 = 1 F at V
CC
= 5 V 0.5 V.
switching characteristics, V
CC
= 5 V, T
A
= 25C (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 C1C4 = 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
= 25C 1.7 2.4 V
V
IT
Receiver negative-going input
threshold voltage
R1IN, R2IN V
CC
= 5 V, T
A
= 25C 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
= 25C 3 5 7 k

All typical values are at V


CC
= 5 V, T
A
= 25C.

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 C1C4 = 1 F at V
CC
= 5 V 0.5 V.
switching characteristics, V
CC
= 5 V, T
A
= 25C (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 C1C4 = 1 F at V
CC
= 5 V 0.5 V.
MAX232, MAX232I
DUAL EIA232 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 EIA232 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 EIA232 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 TIs 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 TIs 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).

Anda mungkin juga menyukai