Download - pemesanan makanan

Transcript
Page 1: pemesanan makanan

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

Page 2: pemesanan makanan

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

Page 3: pemesanan makanan

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

Page 4: pemesanan makanan

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

Page 5: pemesanan makanan

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Alhamdulillah, segala puji hanya milik ALLAH yang memiliki apa yang ada di langit dan di bumi. Dialah yang mempunyai segala ilmu dan karena limpahan kasih sayang, karunia, petunjuk, dan bimbingan-NYA kami dapat menyelesaikan Proyek Akhir ini dengan baik yang berjudul

“Pembuatan Sistem Otomatisasi Pemesanan Makanan pada Restoran Cepat Saji Dengan Menggunakan

Mikrokontroller”

Dalam menyelesaikan proyek akhir ini kami berpegang pada teori yang pernah kami peroleh serta bimbingan dari dosen pembimbing. Dan juga kepada pihak-pihak lain yang telah sangat membantu hingga sampai terselesainya proyek akhir ini.

Kami menyadari bahwa masih banyak kekurangan dalam hasil pembuatan proyek akhir ini. Segala saran dan kritik sangat diharapkan untuk memberikan yang terbaik guna pengembangan lebih lanjut ke arah yang lebih baik. Dan semoga buku ini dapat memberikan manfaat bagi para mahasiswa politeknik elektronika negeri Surabaya pada umumnya dan dapat memberikan nilai lebih untuk para pembaca pada khususnya.

Wassalamu’alaikum Wr. Wb.

Surabaya, Agustus 2006

Penulis

v

Page 6: pemesanan makanan

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

Page 7: pemesanan makanan

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

Surabaya, Agustus 2006

Penulis

vii

Page 8: pemesanan makanan

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

Page 9: pemesanan makanan

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

Page 10: pemesanan makanan

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

Page 11: pemesanan makanan

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

Page 12: pemesanan makanan

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

Page 13: pemesanan makanan

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

Page 14: pemesanan makanan

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

Page 15: pemesanan makanan

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.

Page 16: pemesanan makanan

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

Page 17: pemesanan makanan

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.

.

Page 18: pemesanan makanan

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

Page 19: pemesanan makanan

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.

Page 20: pemesanan makanan

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

Page 21: pemesanan makanan

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.

Page 22: pemesanan makanan

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

Page 23: pemesanan makanan

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

Page 24: pemesanan makanan

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 dinyatakb 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 bB e yang digunakan dalam teknik komunikasi data serial null modem asyncronous adalah 300 bps sampai 19200 bps. 2 Dalam komunikasi data serialbe 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 parityke 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 gelakang CPU. Pada komputer IBM PC kompatibel biasanya kita

dapat menemukan dua konektor port serial DB-9 yang biasa dinamai

Page 25: pemesanan makanan

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 Rea5 GND - Ground 6 DSR In Data Set Ready 7 RST Out Req nd uest to Se8 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

Page 26: pemesanan makanan

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 Indisebuah stasiun menghendaki hubungan dengannya. Clear to Send, denganDTE 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 diberiniSelanjutnya, 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 paeter-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 nterfacenyyaitu:

Page 27: pemesanan makanan

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’ teraerah tegangan antara -3 Volt hingga +3 Volt adalah invalid

level, yaitusehingga 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

Page 28: pemesanan makanan

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

aindipakai 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

anND). Kaki 8 dan 13 digunakan seba

nu interface yang digunakan untuk menghubungkan antara terminal

data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial.

Page 29: pemesanan makanan

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

ramdahu

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 memsemua parameter parameter dara yang digunakan pada progdan dapat dilengkapiki ari sistem. 2.4.2 Dasar Teori Visual Basic 6.0 Visual Basic 6.0 merupakan perangkat pengembangan untuk menghasilkan progwbahasa 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.

Page 30: pemesanan makanan

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

dtemdialog. Masing masing komponm 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

Page 31: pemesanan makanan

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 ProgramForm

Tool Box

Propertise

/Close

Gambar 2.11 Tool tool standart pada Visual Basic 6.0

Page 32: pemesanan makanan

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 Buttox 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

Page 33: pemesanan makanan

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 stepd n ialah de enekan tombol CP Compone 2 Form

Tempat untuk meletakkan kontrol dan sebagai layar secara visual

Cara menempatkan

ukuranDouble 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 LisBox

t

Page 34: pemesanan makanan

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

semilih menu Run lalu Start atau tekan tombol fungsi F5. Anda dap

dbar dibawah

ar 2.14 Tomb Eksek si Program

Setelah dijalank ndapatkan hasil tampilan rogram yang sedang berjalan seperti gambar dibawah

Gamb uol an anda akan mep

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 progd

program aplikasi, caranya secara singkat adalah sebagai berikut 1. Pilih menu file 2. Pilih Make <namafile>.exe

Icon EndIcon Star

Icon Break (Pause)

Page 35: pemesanan makanan

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

Projprogram 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 mengkklik Ok.

Pro ect Explorer ect adalah sekumpulan modul. Jadi project (proyek) adalah kasi itu sen

(pkokmponen 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

Page 36: pemesanan makanan

23

la sung dari jendela Propertise atau lewat kode program. Setting ukan cara kerja dari objek yang bersangkutan saat

program

ngproperti 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

memerlukan file database yang akan diproses. F

instruktur databasenle 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 sm 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 untMS-Visual Basic 6.0 akan meminta anda menambahkansuatu 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.

Page 37: pemesanan makanan

24

3.

2.4.2.2a m MSdatabase, 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 unakan disimpan. Perhatikanberisi beberapa tabel database. Jadi, misalnya kita amembuat 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

Page 38: pemesanan makanan

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

Page 39: pemesanan makanan

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)

Page 40: pemesanan makanan

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 defile data baseData Manage la seperti di bawah ini.

n

Cara memodifikasi database yang sudah ada dalam disk hamngan 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

Page 41: pemesanan makanan

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

luDesign sampai muncul tampilan seperti Gambar

Kdi 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

Page 42: pemesanan makanan

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

ynya hanyalah tidak perlu membuat file databasenya, tetapi cu

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

Page 43: pemesanan makanan

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

Page 44: pemesanan makanan

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

nntombol. Pada kolom ConnectionString sehingga mtampilan 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

Page 45: pemesanan makanan

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 Pemrogr2.5.1 Pe

pemrogramapanjang. Muprogram 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 assemvelnya 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 dieksekusip

Page 46: pemesanan makanan

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 Pengbentuk 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 cobeberapa 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

Page 47: pemesanan makanan

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-stridkita (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 compimekspresi 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

Page 48: pemesanan makanan

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

ssebelumnya. 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 untukikan dengan #de

undef.

Keyword ini digunakan di antara keyword #if, #ifdef, #ifndef dengan keyword #endif. Jika ekspresi p

aka sopula 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

Page 49: pemesanan makanan

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

ledieksekusi.

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 didbenar maka seluruh persi. Sean sesudah ekspresi ya a > b), na

a gunakan.

2.5.4.3 Variabel

yang nilainya dapat dimanipulasi melalui naukuran tertentu. U

kinan mempunyai ukuran yang berbeda. Sintaks untuk mendeklarasikan (menyatakan pertama kali adanya sebuah variabel) adalah:

tipe-CBerikut ini aTipe data Ukuran (byte) Contoh bool 1 bool a = true ; bool b = false

Page 50: pemesanan makanan

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 bertipi 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) ... sourcecodeelse ... sourcecode3;

r maka sourcecode1; aka die si, jika tidak, maka eksekusi program berpinda

resi2 benar maka sourc de2 dieksekusi, jika salah maka eksekusi prog

Page 51: pemesanan makanan

38

sebenarn ional (bol ga tidak), jika anda hanya memilik atif agian else if tidak perlu digunaka

2.5.4.6 Punakan 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 jui dua altern "jawaban" maka bn. erulangan Perulangan adalah teknik pemrograman yang dig

mberulang-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 diakasi, kemudian ja

ilakukan berulang-u ungsi untuk IPadan,

ajari source coutput, 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

inprintf("inila

Page 52: pemesanan makanan

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 [argumengina dannt] dan meletakkan pennk

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 peyang 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

Page 53: pemesanan makanan

40

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

Page 54: pemesanan makanan

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

Page 55: pemesanan makanan

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.

Page 56: pemesanan makanan

43

Berikut ini merupakan flowchart dari sistem yang dipakai

dalam Proyek Akhir ini.

Input/ Kirim Data

Terima databaseDi 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.

Page 57: pemesanan makanan

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

Page 58: pemesanan makanan

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.

Page 59: pemesanan makanan

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 ?

Page 60: pemesanan makanan

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 -

Send4 5 6

Up 7 8 9

Ent Down

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

Page 61: pemesanan makanan

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.

Page 62: pemesanan makanan

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

Page 63: pemesanan makanan

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,

Page 64: pemesanan makanan

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.

IC A

T89S

51

IC M

AX

232

1 uF

/16

V

1 uF

/16

V

DB

9

Gambar 3.10 Rangkaian Downloader ISP Flash

Page 65: pemesanan makanan

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

Page 66: pemesanan makanan

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

Page 67: pemesanan makanan

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

Page 68: pemesanan makanan

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.

Page 69: pemesanan makanan

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.

Page 70: pemesanan makanan

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.

Page 71: pemesanan makanan

58

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

Page 72: pemesanan makanan

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

Page 73: pemesanan makanan

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.

Page 74: pemesanan makanan

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

Page 75: pemesanan makanan

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

Page 76: pemesanan makanan

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

Page 77: pemesanan makanan

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';

Page 78: pemesanan makanan

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);

Page 79: pemesanan makanan

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

Page 80: pemesanan makanan

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

Page 81: pemesanan makanan

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.

Page 82: pemesanan makanan

69

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

Page 83: pemesanan makanan

70

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

Page 84: pemesanan makanan

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

Page 85: pemesanan makanan

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.

Page 86: pemesanan makanan

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

Page 87: pemesanan makanan

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

Page 88: pemesanan makanan

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++;

Page 89: pemesanan makanan

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;

Page 90: pemesanan makanan

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--;

Page 91: pemesanan makanan

4 x 4 Keypad Module merupakan suatu modul keypadberukuran 4 kolom x 4 baris. Modul ini dapat difungsikan sebagaiinput dalam aplikasi seperti pengaman digital, datalogger, absensi,pengendali kecepatan motor, robotik, dan sebagainya.

Spesifikasi Hardware

1. Memiliki 16 tombol (fungsi tombol tergantung aplikasi).2. Memiliki konfigurasi 4 baris (input scanning) dan 4 kolom (output

scanning).3. Kompatibel penuh dengan DT-51™ Low Cost Series dan DT-

AVR Low Cost Series. Mendukung DT-51™ Minimum System(MinSys) ver 3.0, DT-51™ PetraFuz, DT-BASIC Series, dan lain-lain.

Tata Letak

Contoh Koneksi

Pada dasarnya pin Cx dan Rx pada J3 bebas dihubungkan kepin input/output manapun pada mikrokontroler. Koneksi berikutini hanya contoh dan tidak mutlak.

4 X 4Keypad Module

Alokasi Pin J3

R4 R3R2 R1C4 C3C2 C1

VCC NC

2 1

NC = tidak terhubung ke mana-manaCx = kolom ke-xRx = baris ke-x

DT-51™ Low Cost Seriesdan DT-AVR Low Cost Series

DT-I/O 4x4Keypad Module

VCC (Pin 2 PORT1) atau +5VDC VCC (J3)P1.0 (Pin 3 PORT1) C1 (J3)

P1.4 (Pin 7 PORT 1) R1 (J3)P1.5 (Pin 8 PORT 1)

P1.6 (Pin 9 PORT 1)

P1.7 (Pin 10 PORT 1)

C2 (J3)C3 (J3)

R1 (J3)

R2 (J3)R3 (J3)

R4 (J3)

DT-51™ Minimum System v3.0dan PetraFuz

DT-I/O 4x4Keypad Module

VCC (Pin 1 Port CONTROL) VCC (J5)PC.0 (Pin 1 PORT C & PORT 1) C1 (J3)

PC.1 (Pin 2 PORT C & PORT 1)PC.2 (Pin 3 PORT C & PORT 1)

PC.4 (Pin 5 PORT C & PORT 1)

PC.5 (Pin 6 PORT C & PORT 1)PC.6 (Pin 7 PORT C & PORT 1)

PC.7 (Pin 8 PORT C & PORT 1)

Contoh Program

Berikut ini merupakan contoh program menggunakan DT-51™Low Cost Series Port 1. Program akan mengirimkan hasil penekanansecara UART dengan baud rate 19200 bps, 8 bit data, tanpabit parity, 1 bit stop, dan tanpa flow control.

$TITLE(4x4 KEYPAD MODULE TESTING PROGRAM)$MOD51

CSEGORG 0000HLJMP Start

ORG 0100H

LDelay: PUSH 06HPUSH 07HMOV R6,#080H

LDel: MOV R7,#0FFHDJNZ R7,$DJNZ R6,LDelPOP 07HPOP 06HRET

TxByte: MOV SBUF,AJNB TI,$CLR TIRET

InitSerial: ORL TMOD,#00100000BANL TMOD,#00101111BMOV TH1,#0FDHMOV TL1,#0FDHMOV SCON,#01010000BMOV PCON,#10000000BSETB TR1RET

Start: MOV P1,#0FFHMOV SP,#40HLCALL InitSerial

ChkB1: SETB P1.7CLR P1.4

ChkB1K1: JB P1.0,ChkB1K2MOV A,#'1'LCALL LDelayLCALL LDelay

P1.1 (Pin 4 PORT1) C2 (J3)P1.2 (Pin 5 PORT1) C3 (J3)P1.3 (Pin 6 PORT1) C4 (J3)

R2 (J3)

R3 (J3)

R4 (J3)

C4 (J3)PC.3 (Pin 4 PORT C & PORT 1)

Page 92: pemesanan makanan

LCALL TxByteChkB1K2: JB P1.1,ChkB1K3

MOV A,#'2'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB1K3: JB P1.2,ChkB1K4MOV A,#'3'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB1K4: JB P1.3,ChkB2MOV A,#'A'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB2: SETB P1.4CLR P1.5

ChkB2K1: JB P1.0,ChkB2K2MOV A,#'4'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB2K2: JB P1.1,ChkB2K3MOV A,#'5'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB2K3: JB P1.2,ChkB2K4MOV A,#'6'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB2K4: JB P1.3,ChkB3MOV A,#'B'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB3: SETB P1.5CLR P1.6

ChkB3K1: JB P1.0,ChkB3K2MOV A,#'7'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB3K2: JB P1.1,ChkB3K3MOV A,#'8'

LCALL LDelayLCALL LDelayLCALL TxByte

ChkB3K3: JB P1.2,ChkB3K4MOV A,#'9'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB3K4: JB P1.3,ChkB4MOV A,#'C'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB4: SETB P1.6CLR P1.7

ChkB4K1: JB P1.0,ChkB4K2MOV A,#'*'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB4K2: JB P1.1,ChkB4K3MOV A,#'0'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB4K3: JB P1.2,ChkB4K4MOV A,#'#'LCALL LDelayLCALL LDelayLCALL TxByte

ChkB4K4: JB P1.3,LoopChkMOV A,#'D'LCALL LDelayLCALL LDelayLCALL TxByte

LoopChk: AJMP ChkB1

AJMP $END

Terima Kasih atas kepercayaan Anda menggunakan produkkami, bila ada kesulitan, pertanyaan atau saran mengenai produkini silahkan menghubungi technical support kami :

[email protected]

R1

47K

R2

47K

R3

47K

R4

47K

R5

47K

R6

47K

R7

47K

VC

C

D1

IN41

48

D2

IN41

48

D3

IN41

48

D4

IN41

48

12

34

56

78

910

J3 Hea

der 5

x2

1J5 VC

C

R8

47K1 2 3 4 5 6 7 8

J1 Key

pad

Rub

ber 4

X4

C1

C3

CR

1

CR

3

C2

CR

2

CR

4

C4

VC

C

C1

C2

C3

C4

CR

1

CR

2

CR

3

CR

4

R1

R2

R3

R4

C1

C2

C3

C4

R1

R2

R3

R4

Cop

yrig

ht ©

200

5 In

nova

tive

Ele

ctro

nics

Page 93: pemesanan makanan

Page 94: pemesanan makanan

! "

#

Page 95: pemesanan makanan

!"# $%&!%

'() * ++

,%-. &* &,

*. /0

12 *)++*34+2+2456++**7!++228

9: ,;1<,;252.8

3$ 9!

+=# +<,+

# +<*+

=# >$;

-; *2.4/

" +,,4+,+5##8

'!. +*+4+,,5##8

,:" 3,4' ,5##8

*:!. *,4,+,5##8

1?.

2..@#%%

Page 96: pemesanan makanan

&'# (

Page 97: pemesanan makanan

Page 98: pemesanan makanan

, '-#!

Page 99: pemesanan makanan

.#'+/!'!

A# #@ - -; 7 >#

!( ( ( + 1+

/2%( ( + +

(

=#>

+ <,+

#>

+ <*+

2

Page 100: pemesanan makanan

0## '

*0.

A# #@ - -; 7

(

5/8( ( ', ,+ ,, (

(

5/2%8( '1 (

B.(

(C,+ +1( (<+ (

A

(/

(

(C,+ + +(

(

5/8

A

( (C,+

, #)

5/2%8 A +'+ #)

5/0%8

A

(C'

9* #)

Page 101: pemesanan makanan

*A$

! #@ /%

( +(

( ,+( !%$/25<8

( + ( !%$/258

' > B&/ 5B / A8

, >&? B&/

* 0 B&/ &@

1 + B&/ @+

9 B&/ @

3 B&/ @

+ B&/ @

' B&/ @'

, B&/ @,

* B&/ @*

' 1 B&/ @1

! ) '( !%$/05<8

6 +( !%$/058

Page 102: pemesanan makanan

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

7

0RGH &KDUDFWHULVWLF 6\PERO 0LQï 7\Sï 0D[ï 8QLW

:ULWHý0RGHõ5HIHUýWRý)LJðçô

(ý&\FOHý7LPH WF èíí ð ð

QV

(ý5LVHýîý)DOOý7LPH W5ñW) ð ð ëí

(ý3XOVHý:LGWKýõ+LJKñý/RZô WZ ëêí ð ð

5î:ýDQGý56ý6HWXSý7LPH WVXì éí ð ð

5î:ýDQGý56ý+ROGý7LPH W+ì ìí ð ð

'DWDý6HWXSý7LPH WVXë åí ð ð

'DWDý+ROGý7LPH W+ë ìí ð ð

5HDGý0RGHõ5HIHUýWRý)LJðæô

(ý&\FOHý7LPH WF èíí ð ð

QV

(ý5LVHýîý)DOOý7LPH W5ñW) ð ð ëí

(ý3XOVHý:LGWKýõ+LJKñý/RZô WZ ëêí ð ð

5î:ýDQGý56ý6HWXSý7LPH WVX éí ð ð

5î:ýDQGý56ý+ROGý7LPH W+ ìí ð ð

'DWDý2XWSXWý'HOD\ý7LPH W' ð ð ìëí

'DWDý+ROGý7LPH W'+ è ð ð

Page 103: pemesanan makanan

)LJXUHýçýïýý:ULWHý0RGHý7LPLQJý'LDJUDP

)LJXUHýæýïýý5HDGý0RGHý7LPLQJý'LDJUDP

9,+ì

9,/ì

9,/ì

W68ì

WKìWZ

9,/ì

9,+ì

9,/ì

9,+ì

9,/ì

9,+ì

9,/ì

9,+ì

9,/ì

9,/ì

W&

WI

WU W68ë WKë

9DOLG 'DWD

56

5î:

(

'%ía'%æ

WKì

9,+ì

9,/ì

W68 WK

WKWZ

9,+ì

9,/ì

9,+ì

9,/ì

9,+ì

9,/ì

9,+ì

9,/ì

9,/ì

W&

WI

WU

9DOLG 'DWD

56

5î:

(

'%ía'%æ

9,+ì9,+ì

W' W'+

Page 104: pemesanan makanan

+(>1

127(ãý:KHQýDQý038ýSURJUDPýZLWKýFKHFNLQJýWKHý%XV\ý)ODJõ'%æôýLVýPDGHñýLWýPXVWýEHýQHFHVVDU\ýìîë)RVFýLVýýýýýýýýýýýýýQHFHVVDU\ýIRUýH[HFXWLQJýWKHýQH[WýLQVWUXFWLRQýE\ýWKHýIDOOLQJýHGJHýRIýWKHýö(öýVLJQDOýDIWHUýWKHý%XV\ý)ODJýõ'%æôýýýýýýýýýýýýýýJRHVýWRý¦/RZ§ïý

ýý,QVWUXFWLRQý7DEOH

,QVWUXFWLRQ,QVWUXFWLRQý&RGH

'HVFULSWLRQ([HFXWLRQýWLPHýõIRVF ýëæíýN+]ô56 5î: '%æ '%ç '%è '%é '%ê '%ë '%ì '%í

&OHDU'LVSOD\

í í í í í í í í í ìý:ULWHý¦ëí+§ýWRý''5$0ýDQGýVHWýý''5$0ýDGGUHVVýWRý¦íí+§ýIURPý$&

ìïèêýPVý

5HWXUQý+RPH

í í í í í í í í ì ð

ý6HWý''5$0ýDGGUHVVýWRý¦íí+§ýýIURPý$&ýDQGýUHWXUQýFXUVRUýWRýLWVýRULJLQDOýSRVLWLRQýLIýVKLIWHGïýý7KHýFRQWHQWVýRIý''5$0ýDUHýQRWýýFKDQJHGï

ìïèêýPV

(QWU\ý0RGHý6HWý

í í í í í í í ì ,î' 6+ý$VVLJQýFXUVRUýPRYLQJýGLUHFWLRQýýDQGýHQDEOHýWKHýVKLIWýRIýHQWLUHýGLVSOD\ïý

êäýPV

'LVSOD\ý21î2))ý&RQWURO

í í í í í í ì ' & %ý6HWýGLVSOD\õ'ôñýFXUVRUõ&ôñýýDQGýEOLQNLQJýRIýFXUVRUõ%ôýRQîRIIýýFRQWUROýELWï

êäýPV

&XUVRUýRUý'LVSOD\ý6KLIW

í í í í í ì 6î& 5î/ ð ðý6HWýFXUVRUýPRYLQJýDQGýGLVSOD\ýýVKLIWýFRQWUROýELWñýDQGýWKHýGLUHFWLRQñýýZLWKRXWýFKDQJLQJýRIý''5$0ýGDWDïý

êäýPV

)XQFWLRQý6HW í í í í ì '/ 1 ) ð ðý

ý6HWýLQWHUIDFHýGDWDýOHQJWKýõ'/ãýýåðELWîéðELWôñýQXPEHUVýRIýGLVSOD\ýOLQHýõ1ãýëðOLQHîìðOLQHôýDQGñýGLVSOD\ýIRQWýW\SHýõ)ãèuììGRWVîèuåýGRWVô

êäýPV

6HWý&*5$0ý$GGUHVV

í í í ì $&è $&é $&ê $&ë $&ì $&íý6HWý&*5$0ýDGGUHVVýLQýDGGUHVVýýFRXQWHUï

êäýPV

6HWý''5$0ý$GGUHVV

í í ì $&ç $&è $&é $&ê $&ë $&ì $&íý6HWý''5$0ýDGGUHVVýLQýDGGUHVVýýFRXQWHUï

êäýPV

5HDGý%XV\ý)ODJýDQGý$GGUHVV

í ì %) $&ç $&è $&é $&ê $&ë $&ì $&í

ý:KHWKHUýGXULQJýLQWHUQDOýRSHUDWLRQýRUýQRWýFDQýEHýNQRZQýE\ýUHDGLQJý%)ïýý7KHýFRQWHQWVýRIýDGGUHVVýFRXQWHUýFDQýDOVRýEHýUHDGï

íýPV

:ULWHý'DWDýWRý5$0

ì í 'æ 'ç 'è 'é 'ê 'ë 'ì 'íý:ULWHýGDWDýLQWRýLQWHUQDOý5$0ýýõ''5$0î&*5$0ôï

éêýPV

5HDGý'DWDýIURPý5$0

ì ì 'æ 'ç 'è 'é 'ê 'ë 'ì 'íý5HDGýGDWDýIURPýLQWHUQDOý5$0ýýõ''5$0î&*5$0ôï

éêýPV

ýýýýýýýýýýýýóý¦ð¦ãýGRQ©WýFDUH

Page 105: pemesanan makanan

)+0-;:,6D**))?**7

)+0-;:,6D**))?**7

Page 106: pemesanan makanan

1#

1=2. C,

A# #@ 2 - -; 7

C+ , +

()

2≥2

C+ + +

2> 2C+

C+ '+

,+

>

#

$$

C+

C+

,+

#

Page 107: pemesanan makanan

1$$=2.

1$$()

# #

1$$2>

-2

8)#@# , F 8:#$G *'B"

1 $$>#

# C < $$# C <

-2

8/2=( '1( 8:#$G *'B"

Page 108: pemesanan makanan

2##

92$>@ C,

A# 2$

B.#

0...

#$#

*+

3*B

/#

0.

#$#

+

3*B

B.#

=

0.

5% 8

..#.

#$#

,+

3*B

'/#

=

0.

#$#

+

3*B

,B.#

&B#

0...

#...#

$#

'+

3+H>B

3*B

*#

2

0.

..#

+ , *+ , +# ,# +# ,#

+ &*+

+

1(@

58

0.

%@

+B"D,+B"E

,+#&E

'+#

9.

58

0..

B$%E

++#&E

#

3)#.

!

0.

#.

@

'+!

*B

Page 109: pemesanan makanan

9:I#2

A#2

A# ' , * 1 9 3:I#2

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

0

$√ √ √ √ √

=$.

$

-.

$ √ √

=$.#.

$

=

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

:#$9

>#

$ C = $ < -.

$

Page 110: pemesanan makanan

345*67**

A0;#

)C,

5.8 - -; 7 A/ )J/

0;

(

A

7 # #

. E .

@

/2,#

);) AA

-K

+

-

,

$

7 # #

. E

); AA

-K

+

-

,

-K$ =###E.E#E/

-$ =.

#$#99

Page 111: pemesanan makanan

$8' 5* +'#

+B!

+. # $ @K #.

.@$#..E

+A$.#.G@

E@#.E$.@#

..E#.$$

+ ;%$.$.K

.#.%

+'."%.$$./2#$

.B."$

+,A$.$#E@..$

.$.A$#E#.

.$.$%

A.

0..

% . . . # @% # # . "

0E.$

?

6

)#%

+*##@./2-

+1A$.$$E.

+9%$.#@E@$

###%#

.@.../2-

@G$#@E.E#@

. # $ E

#@.

./2-.$#.$

.$$.%$##

@

Page 112: pemesanan makanan

+

+?../2#E%;.

..$$#

+./2#.@.#

A$ . /2 # @ $ #E . ##

# + '+

>%.# 9+H

+ ./2#.@.#.E

.#$

+ . /2 # . @ $ % .

E . % ;% EE #

.

Page 113: pemesanan makanan

/

A#$$

A# 2 2

/ #

>@ ).##

?"

.##

-; $@@@

"φL+ ## + ## φ +,##

!"

.$

"

).##

-;

4L+## +## 4 +,##

5%

8

4C5<@8&

-;

5%

8 L++## ++## ++,##

@ +##

-;

58

!%

#

Page 114: pemesanan makanan

/-

A#$$

A# 2 2

=### #

. #

?% #

2% ).##

2 ).##

-;

4L+## +## 4 +##

4C5<@8&

-;

! .

#

5=8

)L+##

+## ) +##

L+,##

-;

-;

4L+## +## 4 +##

5%

8

4C5<@8&

-;

5%

8

L++##++## ++,##

@ +,##

-;

58

Page 115: pemesanan makanan

/-

A#$$58

A# 2 2

-;$

; +## +## ; +##

;C5<@8&

-;$

+##

+## +##

M+

-;

$

$

#

$#

-;$

+9? ?

C#%$.

?C#%$.

Page 116: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

1POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

Meet or Exceed TIA/EIA-232-F and ITURecommendation V.28

Operate With Single 5-V Power Supply

Operate Up To 120 kbit/s

Two Drivers and Two Receivers

±30-V Input Levels

Low Supply Current . . . 8 mA Typical

ESD Protection Exceeds JESD 22− 2000-V Human-Body Model (A114-A)

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-Fvoltage 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, andvoltage-generator functions are available as cells in the Texas Instruments LinASIC library.

ORDERING INFORMATION

TA PACKAGE † ORDERABLEPART NUMBER

TOP-SIDEMARKING

PDIP (N) Tube of 25 MAX232N MAX232N

SOIC (D)Tube of 40 MAX232D

MAX232

0°C to 70°C

SOIC (D)Reel of 2500 MAX232DR

MAX232

0°C to 70°C

SOIC (DW)Tube of 40 MAX232DW

MAX232SOIC (DW)Reel of 2000 MAX232DWR

MAX232

SOP (NS) Reel of 2000 MAX232NSR MAX232

PDIP (N) Tube of 25 MAX232IN MAX232IN

SOIC (D)Tube of 40 MAX232ID

MAX232I−40°C to 85°C

SOIC (D)Reel of 2500 MAX232IDR

MAX232I−40 C to 85 C

SOIC (DW)Tube of 40 MAX232IDW

MAX232ISOIC (DW)Reel of 2000 MAX232IDWR

MAX232I

† Package drawings, standard packing quantities, thermal data, symbolization, and PCB designguidelines are available at www.ti.com/sc/package.

Copyright 2004, Texas Instruments Incorporated !"# $"%&! '#('"! ! $#!! $# )# # #* "#'' +,( '"! $!#- '# #!#&, !&"'##- && $##(

Please be aware that an important notice concerning availability, standard warranty, and use in critical applications ofTexas 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+VS+C1−C2+C2−VS−

T2OUTR2IN

VCCGNDT1OUTR1INR1OUTT1INT2INR2OUT

MAX232 . . . D, DW, N, OR NS PACKAGEMAX232I . . . D, DW, OR N PACKAGE

(TOP VIEW)

Page 117: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

2 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

Function Tables

EACH DRIVER

INPUTTIN

OUTPUTTOUT

L H

H L

H = high level, L = lowlevel

EACH RECEIVER

INPUTRIN

OUTPUTROUT

L H

H L

H = high level, L = lowlevel

logic diagram (positive logic)

T1IN T1OUT

R1INR1OUT

T2IN T2OUT

R2INR2OUT

11

10

12

9

14

7

13

8

Page 118: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

3POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

absolute maximum ratings over operating free-air temperature range (unless otherwise noted) †

Input supply voltage range, VCC (see Note 1) −0.3 V to 6 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Positive output supply voltage range, VS+ VCC − 0.3 V to 15 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Negative output supply voltage range, VS− −0.3 V to −15 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input voltage range, VI: Driver −0.3 V to VCC + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Receiver ±30 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output voltage range, VO: T1OUT, T2OUT VS− − 0.3 V to VS+ + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

R1OUT, R2OUT −0.3 V to VCC + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Short-circuit duration: T1OUT, T2OUT Unlimited. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Package thermal impedance, θJA (see Notes 2 and 3): D package 73°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . .

DW package 57°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . N package 67°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . . NS package 64°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . .

Operating virtual junction temperature, TJ 150°C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Storage temperature range, Tstg −65°C to 150°C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

† Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, andfunctional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is notimplied. 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 TJ(max), θJA, and TA. The maximum allowable power dissipation at any allowable

ambient temperature is PD = (TJ(max) − TA)/θJA. Operating at the absolute maximum TJ of 150°C can affect reliability.3. The package thermal impedance is calculated in accordance with JESD 51-7.

recommended operating conditionsMIN NOM MAX UNIT

VCC Supply voltage 4.5 5 5.5 V

VIH High-level input voltage (T1IN,T2IN) 2 V

VIL Low-level input voltage (T1IN, T2IN) 0.8 V

R1IN, R2IN Receiver input voltage ±30 V

TA Operating free-air temperatureMAX232 0 70

°CTA Operating free-air temperatureMAX232I −40 85

°C

electrical characteristics over recommended ranges of supply voltage and operating free-airtemperature (unless otherwise noted) (see Note 4 and Figure 4)

PARAMETER TEST CONDITIONS MIN TYP‡ MAX UNIT

ICC Supply currentVCC = 5.5 V,TA = 25°C

All outputs open,8 10 mA

‡ All typical values are at VCC = 5 V and TA = 25°C.NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.5 V.

Page 119: pemesanan makanan

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-airtemperature range (see Note 4)

PARAMETER TEST CONDITIONS MIN TYP† MAX UNIT

VOH High-level output voltage T1OUT, T2OUT RL = 3 kΩ to GND 5 7 V

VOL Low-level output voltage‡ T1OUT, T2OUT RL = 3 kΩ to GND −7 −5 V

ro Output resistance T1OUT, T2OUT VS+ = VS− = 0, VO = ±2 V 300 Ω

IOS§ Short-circuit output current T1OUT, T2OUT VCC = 5.5 V, VO = 0 ±10 mA

IIS Short-circuit input current T1IN, T2IN VI = 0 200 µA

† All typical values are at VCC = 5 V, TA = 25°C.‡ The algebraic convention, in which the least-positive (most negative) value is designated minimum, is used in this data sheet for logic voltage

levels only.§ Not more than one output should be shorted at a time.NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.5 V.

switching characteristics, V CC = 5 V, TA = 25°C (see Note 4)

PARAMETER TEST CONDITIONS MIN TYP MAX UNIT

SR Driver slew rateRL = 3 kΩ to 7 kΩ,See Figure 2

30 V/µs

SR(t) Driver transition region slew rate See Figure 3 3 V/µs

Data rate One TOUT switching 120 kbit/s

NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.5 V.

RECEIVER SECTION

electrical characteristics over recommended ranges of supply voltage and operating free-airtemperature range (see Note 4)

PARAMETER TEST CONDITIONS MIN TYP† MAX UNIT

VOH High-level output voltage R1OUT, R2OUT IOH = −1 mA 3.5 V

VOL Low-level output voltage‡ R1OUT, R2OUT IOL = 3.2 mA 0.4 V

VIT+Receiver positive-going inputthreshold voltage

R1IN, R2IN VCC = 5 V, TA = 25°C 1.7 2.4 V

VIT−Receiver negative-going inputthreshold voltage

R1IN, R2IN VCC = 5 V, TA = 25°C 0.8 1.2 V

Vhys Input hysteresis voltage R1IN, R2IN VCC = 5 V 0.2 0.5 1 V

ri Receiver input resistance R1IN, R2IN VCC = 5, TA = 25°C 3 5 7 kΩ† All typical values are at VCC = 5 V, TA = 25°C.‡ The algebraic convention, in which the least-positive (most negative) value is designated minimum, is used in this data sheet for logic voltage

levels only.NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.5 V.

switching characteristics, V CC = 5 V, TA = 25°C (see Note 4 and Figure 1)

PARAMETER TYP UNIT

tPLH(R) Receiver propagation delay time, low- to high-level output 500 ns

tPHL(R) Receiver propagation delay time, high- to low-level output 500 ns

NOTE 4: Test conditions are C1−C4 = 1 µF at VCC = 5 V ± 0.5 V.

Page 120: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

5POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

PARAMETER MEASUREMENT INFORMATION

≤10 ns

VCC

R1INor

R2IN

R1OUTor

R2OUT

RL = 1.3 kΩ

See Note C

CL = 50 pF(see Note B)

TEST CIRCUIT

≤10 ns

Input

Output

tPHLtPLH

1.5 VVOL

VOH

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: ZO = 50 Ω, duty cycle ≤ 50%.B. CL includes probe and jig capacitance.C. All diodes are 1N3064 or equivalent.

PulseGenerator

(see Note A)

Figure 1. Receiver Test Circuit and Waveforms for t PHL and t PLH Measurements

Page 121: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

6 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

PARAMETER MEASUREMENT INFORMATION

T1IN or T2IN T1OUT or T2OUT

CL = 10 pF(see Note B)

TEST CIRCUIT

≤10 ns≤10 ns

Input

Output

tPHLtPLH

VOL

VOH

0 V

3 V

10%

90%50%

5 µs

WAVEFORMS

90%50%

10%

RL

90%

10%

90%

10%

tTLHtTHL

SR

0.8 (VOH – VOL)

tTLHor

0.8 (VOL – VOH)

tTHL

NOTES: A. The pulse generator has the following characteristics: ZO = 50 Ω, duty cycle ≤ 50%.B. CL includes probe and jig capacitance.

PulseGenerator

(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 V90%

WAVEFORMS

20 µs

1.5 V90%

10%

VOH

VOL

tTLHtTHL

≤10 ns ≤10 ns

TEST CIRCUIT

CL = 2.5 nF

PulseGenerator

(see Note A)

Input

Output

SR

6 VtTHL or t TLH

NOTE A: The pulse generator has the following characteristics: ZO = 50 Ω, duty cycle ≤ 50%.

Figure 3. Test Circuit and Waveforms for t THL and t TLH Measurements (20- µs Input)

Page 122: pemesanan makanan

SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

7POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

APPLICATION INFORMATION

VS+

VS−

2

6

14

7

13

8

C1+

C1−

C2+

C2−

1

3

4

5

11

10

12

9

GND15

0 V

VCC

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

CBYPASS = 1 µF−

C1

C2

C3†

C4

† C3 can be connected to VCC 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 beconnected as shown.

+

Figure 4. Typical Operating Circuit

Page 123: pemesanan makanan

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 ONLY20 pin vendor option

4040049/E 12/2002

9

80.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)

M0.010 (0,25)

0.100 (2,54)

16 PINS SHOWN

MS-100VARIATION

AAC

D

D

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

Page 124: pemesanan makanan

MECHANICAL DATA

MSOI002B – JANUARY 1995 – REVISED SEPTEMBER 2001

POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

D (R-PDSO-G**) PLASTIC SMALL-OUTLINE PACKAGE8 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

16DIM

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

Page 125: pemesanan makanan

MECHANICAL DATA

MSOI003E – JANUARY 1995 – REVISED SEPTEMBER 2001

POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

DW (R-PDSO-G**) PLASTIC SMALL-OUTLINE PACKAGE16 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

24DIM

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

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

Page 126: pemesanan makanan
Page 127: pemesanan makanan

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 discontinueany product or service without notice. Customers should obtain the latest relevant information before placingorders and should verify that such information is current and complete. All products are sold subject to TI’s termsand 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 inaccordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TIdeems necessary to support this warranty. Except where mandated by government requirements, testing of allparameters of each product is not necessarily performed.

TI assumes no liability for applications assistance or customer product design. Customers are responsible fortheir products and applications using TI components. To minimize the risks associated with customer productsand 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 processin which TI products or services are used. Information published by TI regarding third-party products or servicesdoes 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 propertyof 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 withoutalteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproductionof this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable forsuch altered documentation.

Resale of TI products or services with statements different from or beyond the parameters stated by TI for thatproduct or service voids all express and any implied warranties for the associated TI product or service andis 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 applicationsolutions:

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

Page 128: pemesanan makanan

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