Pemesanan Makanan

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Pemesanan Makanan as PDF for free.

More details

  • Words: 22,643
  • Pages: 128
PROYEK AKHIR

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

Adib Karisma Putra NRP. 7203 030 016

Dosen Pembimbing : Akuwan Saleh, SST NIP. 131 831 467

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

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

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

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

Dosen Pembimbing:

1.Akuwan Saleh, SST NIP. 131 831 467

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

3.Ir. Sulistyo MB. NIP. 131.651.429

Mengetahui: Ketua Jurusan Telekomunikasi

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

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

iii

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 RS232 DB9 to PC Kitchen hereinafter transferred to PC cashier by using same communication. Keywords :

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

iv

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

Wassalamu’alaikum Wr. Wb.

Surabaya, Agustus 2006

Penulis

v

UCAPAN TERIMA KASIH

Pada kesempatan yang membahagiakan ini, penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis dalam menyelesaikan Proyek Akhir ini. 1.

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

vi

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

Surabaya, Agustus 2006

Penulis

vii

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

viii

i ii iii iv v vi viii xi xiii 1 1 1 1 2 3 3 4 5 5 5 8 9 9 9 10 10 10 11 11 11 11 13 14 15 16

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

ix

16 16 16 17 17 18 19 20 22 22 23 24 27 28 30 32 32 33 33 33 34 34 34 35 35 35 35 35 35 36 36 37 37 38 38 39 41 41 41

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

x

43 44 45 48 51 52 52 52 56 59 59 59 60 62 63 63 66 66 67 67 71 71 71 73

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

xi

2 8 10 11 12 12 14 16 16 17 19 20 21 22 23 23 24 25 26 27 27 28 28 29 30 31 32 33 34 44 46 47 47 48 49 50

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

xii

51 53 55 59 60 61 62 67 69

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

xiii

12 31 53

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

1

2 Jadi, pada sistem ini apabila menu makanan yang sudah dipesan telah terkirim ke komputer dapur. Maka, tidak dapat diulang lagi seandainya pembeli ingin membatalkan pesanan yang telah dikirim ke PC Dapur. 1.4 METODOLOGI Untuk langkah langkah pembuatan proyek akhir ini langkah langkahnya adalah sebagai berikut : (a) Perancangan Sistem Perancangan sistem berdasarkan pada petunjuk pengoperasian (instruction manual) Mikrokontroller tersebut dan dikembangkan dengan cara menghubungkan fungsi-fungsi Mikrokontroller yang kemudian dihubungkan dengan PC-PC yang ada. (b)

Pembuatan Perangkat Keras (Hardware)

Hardware untuk Mikrokontroller AT89S51 sudah tersedia di toko toko elektronik. Yang harus disediakan lainnya untuk tugas akir ini ialah LCD yang berukuran 6X2 yang nantinya akan dihubungkan dengan Mikrokontroller sebagai tampilan menu dan keypad 4X4 sebagai inputan. (c)

Perangkat Lunak (Software) pada Mikrokontroller

Pembuatan software pada TA ini dibagi menjadi beberapa bagian yaitu pembuatan program untuk menampilkan tulisan di LCD. Instruksi instruksi pada keypad dan program untuk mengoneksikan antara Mikrokontroller dengan PC dapur yang nantinya akan diteruska ke PC kasir. (d) Pembuatan database Sebagai media penyimpan data , maka diperlukan suatu database yang nantinya akan dibuka melalui Mikrokontroller di bagian pelanggan. Disini digunakan Visual Basic 6.0 sebagai database dan database itu berisi tentang menu menu pesanan beserta harganya.

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

:

BAB II

:

BAB III

:

BAB IV

:

BAB V

:

Pendahuluan Bab ini berisi tentang uraian latar belakang, tujuan, permasalahan, batasan masalah, metodologi dan sistematika laporan. Teori Penunjang Bab ini berisi tentang teori – teori penunjang yang dipergunakan dalam penyelesaian proyek akhir ini. 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. Analisa Dan Pengujian Bab ini akan dibahas masalah pengujian perangkat lunak dan perangkat keras serta komunikasi data serial baik pada komputer maupun di Mikrokontroller. Kesimpulan Bab ini berisi tentang kesimpulan dari pembahasan yang telah ada serta saran – saran guna pengembangan proyek akhir lebih lanjut.

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

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

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

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

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

5

6

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

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

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

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

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

Penerima

Gambar 2.3 Hubungan Simplex

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

Pengirim Penerima

Pengirim Penerima

Gambar 2.4 Hubungan Half-duplex 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 Pengirim Penerima

Pengirim Penerima

Gambar 2.5 Hubungan Full-Duplex 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.

11 2.3.2.1 Kecepatan mobilisasi data per bit Laju data serial seringkali dinyatakan dalam satuan baud. Laju baud dalam 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 beerbagai baud rate. Baud rate yang digunakan dalam teknik komunikasi data serial null modem asyncronous adalah 300 bps sampai 19200 bps. 2.3.2.2 Jumlah bit data per karakter Dalam komunikasi data serial mode asyncronous biasanya berlangsung 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.3.2.3 Parity bit Bit parity adalah bit yang digunakan sebagai alat pemeriksaan kesalahan 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.3.3 Konfigurasi Port Serial Gambar 2.3 adalah ganbar konektor port serial DB-9 pada bagian belakang CPU. Pada komputer IBM PC kompatibel biasanya kita dapat menemukan dua konektor port serial DB-9 yang biasa dinamai COM1 dan COM2.

12

Gambar 2.6 Konektor serial DB-9 pada bagian belakang CPU Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial Nomor Pin

Nama Sinyal

Direction

1

DCD

In

2 3 4 5 6 7 8 9

RxD TxD DTR GND DSR RST CTS RI

In Out Out In Out In In

Keterangan Data Carrier Detect / Received Line Sinyal Detect Receive Data Transmit Data Data Terminal Ready Ground Data Set Ready Request to Send Clear to Send Ring Indicator

Keterangan mengenai fungsi saluran RS-232 pada konektor DB-9 adalah sebagai berikut: • Received Line Signal detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data masuk. • Receive Data, digunakan DTE pada saat menerima data dari DCE.

13 • • • • • • •

Transmit Data, digunakan DTE pada saat mengirimkan data ke DCE. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya. Signal Ground, merupakan saluran ground. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE sudah dapat memulai pengiriman data. Request to Send, dengan saluran ini DCE diminta mengirim data oleh DTE. DCE Ready, merupakan sinyal aktif yang menunjukkan bahwa DCE sudah siap.

Pada bab ini akan diberikan teori dasar yang melandasi permasalahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Teori dasar yang diberikan meliputi: terminologi antena, yang memberikan definisi dan klasifikasi tentang antena yang telah berkembang sampai saat ini. Selanjutnya, diberikan tentang pola radiasi dan faktor array, arti dan perlunya pembentukan pola radiasi (beamforming), teori resiprositas (reciprocity), teori tentang antena array untuk konfigurasi linier dan planar. Pada bagian lain, diberikan tentang algoritma genetika dan aplikasi-nya untuk menyelesaian optimasi dalam suatu permasalahan. 2.3.4 Komunikasi serial pada Mikrokontroller Komunikasi antara PC dengan mikrokontroller adalah komunikasi serial dimana menggunakan RS-232 sebagai connector interfacenya. Pada mikrokontroller terdapat parameter-parameter setup window yang harus di set sesuai dengan parameter MSComm. Parameter-parameter tersebut antara lain: 1. Transmission Speed : pilih 2400. : pilih 8 bit sebagai bit datanya. 2. Data length 3. Stop bit : pilih 1. 4. Parity check : pilih NONE. 5. Flow control : pilih NONE. Untuk melakukan pengiriman data ke mikrokontroller maka untuk RS-232 sebagai connector interfacenya hanya menggunakan 3 pin saja, yaitu:

14 9 pin

9pin

2RxD

3TxD

3TxD

2RxD

5GND

5GND 4DTR 6DSR 1DCD

Mikrokontroller

7RTS

PC

8CTS

Gambar 2.7 Koneksi RS-232 pada mikrokontroller dan PC 2.3.5 Konektor Interface RS-232 Karakteristik dari RS-232 memiliki ketentuan level tegangan sebagai berikut: 1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt. 2. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt. 3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232 Gambar 2.2 berikut ini adalah contoh level tegangan RS-232 pada pada pengiriman huruf ‘A’ dalam format ASCII tanpa bit paritas.

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

15 2.3.6 IC serial MAX 232 Komunikasi serial RS 232 merupakan komunikator yang menghubungkan antara terminal data dari suatu peralatan dan peralatan ini menjalankan pertukaran data biner secara serial. Sedangkan IC yang dipakai untuk komunikasi juga menyediakan pemrosesan data dan protocol, 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 tegangan (Vcc), kaki ke-15 sebagai Ground (GND). Kaki 8 dan 13 digunakan sebagai input RS-232, sedangkan kaki 7 dan 14 sebagai output RS-232. RS-232 merupakan suatu interface yang digunakan untuk menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial.

16 2.3.7 Pengaksesan dengan menggunakan control MSComm Kontrol MSComm menyadiakan fasilitas komunikasi antara program aplikasi yang kita buat dengan port serial untuk mengirim atau menerima data melalui port serial. Setiap MSComm hanya menangani satu port serial, kita juga harus menggunakan MSComm sebanyak port serial 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 menentukan port mana yang akan digunakan. : Untuk menentukan setting protocol sesuai dengan Setting parameter device. 2.4 Pemrograman Dan Database VISUAL BASIC 6.0 2.4.1 Pendahuluan Teknik perangkat lunak merupakan metode dan teknik dalam membuat menu utama program. Menu utama program berisiskan tentang semua parameter parameter dara yang digunakan pada program utamanya dan dapat dilengkapi dengan gambar atau grafik yang menerangkan kinerja dari sistem. 2.4.2 Dasar Teori Visual Basic 6.0 Visual Basic 6.0 merupakan perangkat pengembangan untuk menghasilkan program aplikasi yang beroperasi dalam lingkungan windows. Bahasa pemrograman Visual Basic 6.0 merupakan sebuah bahasa pemrograman yang tangguh dan canggih dalam hampir semua aspek. Visual Basic bisa disebut perangkat pengembang yang mampu dengan mudah dan cepat menghasilkan program aplikasi. Dengan VB 6.0 ini dapat dibangun suatu program aplikasi dalam tatanan GUI maupun Console. GUI (Graphical User Interface) adalah karakter karakter program aplikasi yang menggunakan sarana perantara grafis. Seperti kotak dialog, tombol, menu dan sebagainya. Contoh program GUI adalah program yang hanya menekankan segi kemampuan kerja, segi tampilannya kurang diperhatikan, contohnya program DOS. Dengan Visual Basic 6.0 dapat dengan mudah menyusun sebuah windows yang mengandung tombol tombol, kotak, cek dan komponen lainnya dengan mudah.

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

Gambar 2.10 Menu di dalam Visual Basic 6.0

18 2.4.2.1b Toolbar Standart Gambar yang mewakili suatu perintah

Paste Copy Cut Save Open Menu Editor Menambah Form

Tool Box Propertise Project Explorer Stop Program/Close Form

Menambah Project

Gambar 2.11 Tool tool standart pada Visual Basic 6.0

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

Pointer

Picture

Label

Tex Box

Frame

Commond Button

Check Box Combo Box HScrollBar Timer Dir List Box

Option Button List Box VScrollBar Drive List Box File List Box

Shape

Line

Image

Data

OLE

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

20 ♠ Shape : Membuat bentuk lingkaran, kotak dll ♠ Line : Membuat garis ♠ Image : Menyisipkan gambar ♠ Data : Menyisipkan data base ♠ OLE : Prosses Embeding File Apabila tool tool yang lain ingin ditambahkan maka step yang dilakukan ialah dengan menekan tombol Ctrl + T. Atau pilihan menu Project – Component. 2.4.2.1d Form Tempat untuk meletakkan kontrol dan sebagai layar secara visual Cara menempatkan Control (Tool Box) ada 2 cara 1. Click salah satu Control dan drag pada form dengan posisi dan ukuran tertentu. 2. Double Click salah satu Control maka akan tampil pada form. Kemudian atur posisi dan ukurannya. Contoh pemakaian Control pada form yaitu :

Frame

Label Tex Box

Check Box Option Button Timer File List Box Data HScrollBar

Option Button Dir List Box

List Box VScrollBar Combo Box

Gambar 2.13 Tampilan Tool Box didalam Form Visual Basic 6.0

21 Untuk menjalankan program aplikasi anda dapat melakukannya setelah menyimpan program aplikasi yang telah dibuat, jalankan dengan memilih menu Run lalu Start atau tekan tombol fungsi F5. Anda dapat juga menjalankan program aplikasi dengan mengklik icon Start seperti pada gambar dibawah Icon Star

Icon End Icon Break (Pause)

Gambar 2.14 Tombol Eksekusi Program Setelah dijalankan anda akan mendapatkan hasil tampilan program yang sedang berjalan seperti gambar dibawah

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 Start lalu run, atau lewat icon Start lalu program (setelah ditambahkan dalam setting taskbar). Untuk membuat file berekstensi dot EXE dari program aplikasi, caranya secara singkat adalah sebagai berikut 1. Pilih menu file 2. Pilih Make .exe

22 3. 4.

Tentukan nama file (misal dapur.exe) dan lokasinya dalam drive Tentukan pilihan pilihan pembuatan file EXE jika dikehendaki (dengan mengklik tombol Options), kemudian klik Ok.

2.4.2.1e Project Explorer Project adalah sekumpulan modul. Jadi project (proyek) adalah program aplikasi itu sendiri. Project disimpan dalam file berakhiran .VBP (pada versi sebelumnya berakhiran .MAX). File ini menyimpan seluruh kokmponen program, termasuk pilihan proyek, pilihan environment, pilihan file 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 Folders. 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 penyimpanan file). Berikut merupakan contoh gambar dari kolom project.

Gambar 2.16 Tampilan Jendela Project 2.4.2.1f Propertise Propertise digunakan untuk menentukan setting suatu objek. Suatu objek biasanya mempunyai beberapa properti yang dapat diatur

23 langsung dari jendela Propertise atau lewat kode program. Setting properti akan menentukan cara kerja dari objek yang bersangkutan saat program 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 membuat suatau program manajemen database, kita memerlukan file database yang akan diproses. File database ini dibuat satu kali saja dan tidak perlu langsung diisi recordnya (dibuat struktur databasenya saja). Selanjutnya file database tersebut diproses lewat program. 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 secara terbatas, terutama untuk membuat dan mengedit 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 untuk pertama kalinya, maka mungkin MS-Visual Basic 6.0 akan meminta anda menambahkan suatu setting. Untuk itu harus dapat memberi tahu MS Visual Basic 6.0 letak file yang akan di update, yaitu biasanya file bernama Sistem yang terletak pada direktori C:\WINDOWS\SISTEM.

24 3.

Akan muncul tampilan program Visual Data Manager seperti gambar dibawah ini dan anda langsung dapat memakainya.

2.4.2.2a Membuat Database MS Visual Basic 6.0 dapat menangani bermacam macam format database, yaitu format database Microsoft Access, Microsoft Exel, DBase, FoxPro, Paradox, ODBC dan file teks. Pada pembahasan sekarang kita akan membatasi pada format database Microsoft Acces saja. Untuk membuat 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 untuk memberikan nama file dan lokasi data akan disimpan. Perhatikan bahwa satu file database dapat berisi beberapa tabel database. Jadi, misalnya kita akan membuat tiga tabel database. Untuk data Pembelian, maka anda dapat memberi nama databasenya Beli.MDB, yang nantinya dapat berisi tabel Barang.

Gambar 2.18 Membuat Database

25

Gambar 2.19 Menentukan Nama Database 4. 5.

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

Gambar 2.20 Jendela Database

26

Gambar 2.21 Menentukan Struktur Tabel Database 6. 7. 8. 9.

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

Gambar 2.22 Menambah Filed (kolom)

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

Gambar 2.23 Proses Untuk Memodifikasi Database

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

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

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

Gambar 2.25 Proses Menambah Table Baru Di dalam Database Dari gambar diatas sudah tampak jelas, tinggal mengklik kanan pada Properties kemudian klik kiri di New Table. Selanjutnya tinggal menambahkan nama nama database seperti pada proses awal.

30 2.4.2.2d Mengaitkan Data ke dalam Form Untuk dapat mengakses suatu database dalam suatu form, maka database 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

. Gambar 2.26 Mengaitkan Database ke Dalam Form

31 4.

Tentukan properti data sebagai berikut :

Table 2.2 Untuk Tool Adodc pada gambar Gambar 2.25 Properti Name Caption EOFAction

5.

Setting dbBeli Data Barang 2-adDoAdNew

Tentukan Properti ConnectionString dengan cara mengklik tombol. Pada kolom ConnectionString sehingga muncul tampilan seperti pada Gambar 2.27.

Gambar 2.27 Menentukan Properti ConnectionString 6.

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

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

Gambar 2.28 Menentukan properti RecordSource 2.5 Pemrograman Bahasa C 2.5.1 Pendahuluan Bahasa C adalah bahasa tingkat menengah. Pada bahasa pemrograman ini, machine code dihasilkan melalui tahap yang lebih panjang. Mungkin anda bertanya, kalau orang sudah bisa membuat program dengan assembler.Bahasa C karena dengan membuat bahasa yang levelnya 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 dapat dieksekusi 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

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 Membuat 2.5.3 Pengenalan Sintaks Bahasa C Sintaks adalah suatu bentuk dasar (biasanya kata) yang dapat dipahami dan diolah oleh compiler. Pada bagian ini akan di bahas beberapa sintaks yang umum digunakan dalam bahasa C, selain itu akan dijelaskan bagaimana cara kerja compiler C secara umum. Sebelum melangkah lebih jauh, perlu anda ketahui bahwa C adalah bahasa pemrograman yang case sensitive, sehingga var, Var, dan VAR adalah tiga hal yang berbeda pada bahasa C. 2.5.3.1 Keyword #include Keyword ini membuat kita seakan-akan telah mengetik isi dari file yang dicantumkan sesudah keyword tersebut. Misalnya: #include < stdio.h > akan membuat preprocessor mengekspansikan file stdio.h pada tempat keyword #include tadi diketikkan. #include mempunyai dua macam bentuk yaitu #include <...> dan #include "..." , titik-titik tersebut adalah nama file. #include <...> akan membuat preprocessor mencari file yang namanya dicantumkan di dalam kurung pada direktori- direktori 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 mencari file test.h pada direktori test.

34 2.5.3.2 Keyword #define Keyword ini mempunyai format: #define identifier token-stringopt. Identifier adalah nama sebuah konstanta yang akan kita gunakan 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-string dikosongkan, maka identifier tadi akan hilang dari source code program kita (pada baris-baris selanjutnya, identifier menjadi tidak dikenali sebab tidak memiliki 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 compiler). Jika ekspresi tersebut benar maka baris-baris source code sesudah #if akan diolah dan sebaliknya jika ekspresi tersebut bernilai salah. Keyword ini harus digunakan bersama dengan 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. Formatnya: #ifdef identifier, identifier adalah sebuah konstanta. Jika identifier telah didefinisikan sebelumnya (dengan keyword #define) maka baris-baris source code sesudah #ifdef akan diolah oleh kompiler, demikian pula sebaliknya. Keyword ini harus digunakan bersama dengan keyword #endif untuk menandakan batas penggunaan keyword tersebut dalam source code

35 2.5.3.5 Keyword #ifndef Keyword ini mempunyai format yang sama dengan #ifdef, tetapi cara kerjanya adalah kebalikan dari #ifdef, sehingga jika baris- baris program sesudahnya justru diolah jika identifier tidak didefinisikan sebelumnya. Keyword ini harus digunakan bersama dengan keyword #endif untuk 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. 2.5.3.7 Keyword #undef Keyword untuk menonaktifkan identifier yang telah didefinisikan dengan #define, efeknya sama dengan #define identifier . Dengan demikian kita dapat mendefinisikan kembali identifier tadi setelah #undef. 2.5.3.8 Keyword #else Keyword ini digunakan di antara keyword #if, #ifdef, #ifndef dengan keyword #endif. Jika ekspresi pada keyword #if, #ifdef, #ifndef benar maka source code sesudah #else, tidak akan dieksekusi,demikian pula sebaliknya.Contoh: #define TEST 0 #if (TEST > 0) ... baris source code1; #else ... baris source code2; #endif Pada potongan program diatas, baris source code2; akan diolah sebab ekspresi TEST > 0 adalah salah. 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 prepocessor menjadi bahasa assembly yang selanjutnya akan

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

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 long double 8 long double h = 2.42e10 Variabel bertipe bool hanya mempunyai dua nilai yaitu true atau false, jadi anda hanya dapat mengisinya dengan nilai ini. 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 dimiliki oleh operator tadi. 2.5.4.5 Percabangan 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: if (ekspresi1) ... sourcecode1; else if (ekspresi2) ... sourcecode2; else ... sourcecode3; Pada sourcecode ini, pertama-tama, if akan mengecek ekspresi1 , jika benar maka sourcecode1; akan dieksekusi, jika tidak, maka eksekusi program berpindah ke else if (ekspresi2), else if akan mengecek ekspresi2, jika ekspresi2 benar maka sourcecode2 akan dieksekusi, jika salah maka eksekusi program berpindah ke sourcecode3. Pada format di atas, else if

38 sebenarnya opsional (boleh ada boleh juga tidak), jika anda hanya memiliki dua alternatif "jawaban" maka bagian else if tidak perlu digunakan. 2.5.4.6 Perulangan Perulangan adalah teknik pemrograman yang digunakan untuk mengatasi pernyataan program yang harus dikerjakan secara berulang-ulang. Perulangan dalam C dapat diimplementasikan dengan beberapa 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_ulang; } 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 program kembali lagi ke pernyataan for dan ekspresi2 kembali dievaluasi (ekspresi1 tidak lagi dieksekusi), jika benar maka source_code_ulang; dieksekusi, setelah itu ekspresi3 akan dieksekusi, kemudian jalannya program kembali lagi ke pernyataan for , hal ini dilakukan berulang-ulang selama ekspresi2 masih bernilai benar. 2.5.4.7 Fungsi untuk Input dan Output Pada tutorial ini ada 2 buah fungsi input dan output yang digunakan, penulis akan menjelaskannya agar anda tidak bingung saat mempelajari source code yang diberikan. Fungsi yang pertama adalah fungsi output, 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 desimal: int test = 10; printf("inilah bilangan yang ingin ditampilkan: %d",test);

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 kemudian diletakkan pada parameter [argument] dari fungsi printf. Jika anda ingin menggunakan lebih banyak angka lagi (yang berbeda posisinya dan dipisahkan karakter lain) maka anda cukup menmbah lagi [argument] dan meletakkan penanda seperti %d di atas pada posisi yang anda inginkan. 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. Alasan mengapa pointer diperlukan, yaitu: 1. Dalam kasus tertentu kita perlu mengubah isi dari sebuah variabel yang sebenarnya, kita tidak bisa melakukan hal ini dengan fungsi seperti yang telah kita pelajari sebab fungsi tersebut hanya memanipulasi "kopian" dari variabel yang sebenarnya ingin kita manipulasi (yang di simpan di stack ketika fungsi tersebut diproses ) 2. Jika kita bisa merubah secara langsung variabel yang ingin kita manipulasi maka hal itu adalah lebih efisien dibandingkan mengkopi dan memanipulasinya, kemudian mengkopi kembali hasil manipulasi tersebut dari stack ke variabel aslinya. 3. Dalam kasus sebuah fungsi yang harus mengembalikan 2 atau lebih return value. Jelas hal ini tidak mungkin dilakukan dengan metode yang telah kita ketahui, sebab sebuah fungsi hanya mungkin mempunyai 1 return value (baca kembali bagian fungsi).

40

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

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

41

42 Diagram blok secara keseluruhan seperti tampak pada gambar berikut

keypad

Mikrokontroller

LCD

RS 232 PC dapur

RS 232 PC kasir

printer

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

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

Start

Input/ Kirim Data

Buka Database

Input Data Baru

Terima database Di Komp Dapur

Kirim Data

Buka Database / Olah Database di Komptr Kasir

Simpan Database / Reset

Print Data

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

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

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

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

46 START Cek semua tombol

N

Ada tombol diekan ?

Y Cek kolom

N

Kolom tombol ditemukan ?

Y Cek baris

N

Baris tombol ditemukan ?

Y Data kolom dan baris diolah menadi tombol yang ditekan

return

Gambar 3.4 Flowchart scanning keypad dengan metode polling

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

-

4

5

6

Send

7

8

9

Up

Can

0

Ent

Dow n

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

Gambar 3.6 Alokasi Pin Pin Pada Keypad

48

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

49

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

50 Start

Inisialisasi

Tampilkan pesan pesan inforamasi

Tampilan menu utama

Tampilan data sesuai instruksi keypad

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

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

1 uF/16 V

IC MAX 232

IC AT89S51

1 uF/16 V

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.

DB 9

Gambar 3.10 Rangkaian Downloader ISP Flash

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

53 (ke akhir). Sedangkan jika yang digunakan adalah “>” atau “>=”, maka pencarian dilakukan dari akhir file dengan arah mundur (ke awal). Pernyataan kunci1, kunci2, dan seterusnya adalah suatu nilai yang dicari. Perhatikan bahwa pencarian index dapat menggunakan beberapa kunci yang berurutan sesuai dengan kunci indexnya. Sebagai contoh, jika data mempunyai index dengan kunci pertama nomor kode dan kunci ke dua adalah nama makanan , maka bisa memberikan perintah pencarian seperti berikut : object.recordset.Seek “=”, MNoKode, MNamaMakanan Apabila data mempunyai index dengan dua kunci field atau lebih, maka pencarian harus ditulis lengkap sesuai dengan jumlah kunci indexnya. Untuk memahami pencarian dengan index, kami memberikan contoh program yang kami gunakan untuk pengembangan TA ini.

Gambar 3.11 Contoh Program yang dikembangkan Tabel 3.1 Properti tool Data pada Gambar 3.11 Properti Name Caption Connect DatabaseName

Setting dbBeli Database Beli Acces Database yang dipakai

54 RecordsetType

RecordSource

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

Sekarang kita coba memahami baris baris isi prosedur pencarian data yang akan dijalankan jika tombol Cari diklik, yaitu sebagai berikut : Dim MKode As String *6 MKode = txtCari.Text Pertama kali program mendeklarasikan variable level prosedur dengan nama MKode bertipe string dengan lebar 6 karakter. Setelah itu program mengisi variable MKode dengan isi teks pencarian. ‘aktifkan index berdasar kode barang dbPembelian.Recordset.Index = “KodeBrg” ‘cari data pertama yang nomornya sama dengan MKode dbPembelian.Recordset.Seek “=”, MKode Program kemudian mengaktifkan index (urutan data) bernama KodeBrg, yaitu index berdasar kode barang. Setelah itu program melakukan pencarian data yang kode baranganya sama dengan isi variable MKode. If dbPembelian.Recordset.NoMatch Then x = MsgBox("Data tak ditemukan ! vbOKOnly, "Pencarian nama barang") End If

",

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

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

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

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

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

58

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

BAB 4 PENGUJIAN DAN ANALISA 4.1 Tujuan Dalam proyek akhir ini dilakukan dua macam pengujian, yaitu pengujian database dan perangkat keras.. Tujuan dari pengujian ini adalah untuk mengetahui kinerja yang berupa kehandalan dan ketepatan eksekusi antara program dengan modul yang telah dibuat. Sehingga akan diperoleh kesimpulan apakah program yang dibuat dapat mengontrol sistem yang ada. 4.2 Pengujian Database Database yang akan kita analisa berikut ini berbasis Visual Basic 6.0. Sistem yang dari database ini prosesnya hanya melakukan pemanggilan saja. Jadi data data yang sudah diisikan sebelumnya akan dipanggil dengan memakai kode sebagai index. Untu penyimpanan data data menu digunakan fasilitas Visual Data Manager. Yaitu fasilitas yang menghubungkan Microsoft Acces dengan Visual Basic. Berikut merupakan tampilan database yang ada di computer kasir.

Gambar 4.1 Tampilan Form Database Pada PC Kasir Dilihat dari gambar diatas, proses pemanggilan dilakukan dengan mengisi kolom kode dengan kode angka yang sudah diisikan.

59

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

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

61 4. 5. 6.

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

Gambar 4.3 Contoh Tampilan Ride51

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

Gambar 4.4 ISP - Flash Programmer Version 3.0a

63 4.5 Pengujian Perangkat Keras Dalam proses ini modul modul yang akan diuji harus dirangkai sedemikian rupa sehingga layak dan bisa diuji secara sempurna. Modul modul yang harus disiapkan adalah keypad, LCD, Minimum Sistem AT89S51 dan Komputer serta kabel serial sebagai pengujian hubungan antara Minimum Sistem dengan komputer. 4.5.1 Pengujian Hubungan antara Keypad dengan LCD dan PC Dapur Pengujian kali ini mengacu pada keypad, LCD dan hyperterminal yang ada di windows untuk mengetahui berhasil tidaknya koneksi. Dengan listing program di bawah ini, dapat diketahui bahwa koneksi antara keypad dengan LCD sudah berhasil baik kedua module tersebut maupun rangkaian mikrokontroller serta proses pengiriman data ke PC. Tinggal bagaimana pengembangan selanjutnya. Proses dari pecobaan ini hanya mengirimkan karakter atau angka sesuai dengan yang ada di keypad. Missal, ketika ditekan angka “1” maka di LCD tampil angka 1 sedangkan tampilan pada hiperteminal ialah angka “1” yang terkirim secara terus menerus. #include void void void void

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

void keypad(); sbit sbit sbit sbit sbit sbit sbit sbit

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

sbit rs=P3^4; sbit e=P3^5; char fkey,tombol; void main() { TMOD=0x20;//Timer1,mode2

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

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

//enter

P1=0xff; c4=0; if(r1==0) {fkey=1;tombol=' ';} if(r2==0) {fkey=1;tombol='$';}//ok if(r3==0) {fkey=1;tombol='<';}//up if(r4==0) {fkey=1;tombol='>';}//down if(fkey==1) delay(20000); } void delay(int tunda) { while(tunda>0) tunda--; }

void kirim(int kar) {while(TI==0) {} SBUF=kar; TI=0; } void printf(int gg) {rs=1; e=1; P2=gg; delay(50); e=0; delay(50); e=1; delay(50); } void ins(int gf) {rs=0; e=1; P2=gf; delay(50);

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

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

67 ■ ■

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

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

Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari Mikrokontroller Variable yang dimasukkan pada kolom kolom VB pada gambar di atas ialah pada kolom kode dan kolom banyak. Jadi pada percobaan pemesanan kali ini, data yang diinputkan adalah kode 11 dengan banyak 6, kode 17 dengan banyak 7, kode 15 dengan banyak 6, dan kode 20 dengan banyak 4. 4.5.5 Pengujian Hubungan Minimum Sistem Dengan PC (Serial) Untuk mengetahui bisa terkoneksinya minimum sistem dengan PC maka perlu diadakan pengujian dengan menggunakan program serial yang sedikit ini. Dengan program dibawah ini, maka akan diketahui

68 bahwa rangkaian mikrokontroller sudah benar dapat terhubung dengan PC. Hasil dari percobaan kali ini ialah terkirimnya huruf ”a” di hyperterminal secara terus menerus ketika menghidupkan dan menghubungkan rangkaian ke PC untuk pertama kali. #include void kirim(int kar); void main() { TMOD=0x20;//Timer1,mode2 SCON=0x52; TH1=0xf4; TR1=1;//meangktifkan timer; ES=1;//mengaktifkan interupsi port serial EA=1; //mengaktifkan while(1) kirim('a'); }

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

}

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

69

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

70

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

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

71

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

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

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

73

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

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

Listing Program C #include void main() {

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

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

}

void keypad() { fkey=0;

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

//enter

while(kar1[x]!=0) { kirim(kar1[x]); x++; } } e=1; delay(50); } e=1; P2=gf; delay(50); e=0; x++; } } { gambar(" gambar("3.",0xc0); gambar(kode3,0xc2); if(kj==0) printf('_'); gambar(jml3,0xca);

",0xc0);

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

4X4 Keypad Module

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

R1 (J3) R2 (J3)

P1.6 (Pin 9 PORT 1)

R3 (J3)

P1.7 (Pin 10 PORT 1)

R4 (J3)

4 x 4 Keypad Module merupakan suatu modul keypad

berukuran 4 kolom x 4 baris. Modul ini dapat difungsikan sebagai input dalam aplikasi seperti pengaman digital, datalogger, absensi, pengendali kecepatan motor, robotik, dan sebagainya.

DT-51™ Minimum System v3.0 dan PetraFuz

DT-I/O 4x4 Keypad Module

Spesifikasi Hardware

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

VCC (J5) C1 (J3)

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

C2 (J3) C3 (J3)

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

C4 (J3)

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

R1 (J3)

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

R2 (J3)

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

R3 (J3)

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

R4 (J3)

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 DTAVR Low Cost Series. Mendukung DT-51™ Minimum System (MinSys) ver 3.0, DT-51™ PetraFuz, DT-BASIC Series, dan lainlain. Tata Letak

Contoh Program Berikut ini merupakan contoh program menggunakan DT-51™ Low Cost Series Port 1. Program akan mengirimkan hasil penekanan secara UART dengan baud rate 19200 bps, 8 bit data, tanpa bit parity, 1 bit stop, dan tanpa flow control. $TITLE(4x4 KEYPAD MODULE TESTING PROGRAM) $MOD51 CSEG ORG 0000H LJMP Start

LDelay: LDel:

Alokasi Pin J3 R3 R1 C3 C1 NC

2 1

R4 R2 C4 C2 VCC

NC = tidak terhubung ke mana-mana Cx = kolom ke-x Rx = baris ke-x Contoh Koneksi Pada dasarnya pin Cx dan Rx pada J3 bebas dihubungkan ke pin input/output manapun pada mikrokontroler. Koneksi berikut ini hanya contoh dan tidak mutlak. DT-51™ Low Cost Series dan DT-AVR Low Cost Series VCC (Pin 2 PORT1) atau +5VDC P1.0 (Pin 3 PORT1) P1.1 (Pin 4 PORT1) P1.2 (Pin 5 PORT1) P1.3 (Pin 6 PORT1)

DT-I/O 4x4 Keypad Module VCC (J3) C1 (J3) C2 (J3) C3 (J3) C4 (J3)

TxByte:

ORG

0100H

PUSH PUSH MOV MOV DJNZ DJNZ POP POP RET

06H 07H R6,#080H R7,#0FFH R7,$ R6,LDel 07H 06H

MOV JNB CLR RET

SBUF,A TI,$ TI

InitSerial: ORL ANL MOV MOV MOV MOV SETB RET

TMOD,#00100000B TMOD,#00101111B TH1,#0FDH TL1,#0FDH SCON,#01010000B PCON,#10000000B TR1

Start:

MOV P1,#0FFH MOV SP,#40H LCALL InitSerial

ChkB1:

SETB CLR JB MOV LCALL LCALL

ChkB1K1:

P1.7 P1.4 P1.0,ChkB1K2 A,#'1' LDelay LDelay

ChkB3K1:

$

[email protected]

1

R3

47K

R2

47K

R1

VCC

Keypad Rubber 4X4

1 2 3 4 5 6 7 8

AJMP END

C4

C3

C2

C1

2 4 6 8 10

IN4148 R4

CR4

D4

IN4148 R3

D3

IN4148 CR3

D2 R2

CR2

R1

CR1

C1 C3 R1 R3

D1

IN4148

1 3 5 7 9

J3 Header 5x2

VCC

C2 C4 R2 R4

CR1 CR2 CR3 CR4 C1 C2 C3 C4

J1

ChkB1

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

J5

ChkB3K2:

AJMP

Copyright © 2005 Innovative Electronics

ChkB3:

LoopChk:

47K

ChkB2K4:

ChkB4K4:

R4

ChkB2K3:

ChkB4K3:

VCC

ChkB2K2:

ChkB4K2:

47K

ChkB2K1:

P1.6 P1.7 P1.0,ChkB4K2 A,#'*' LDelay LDelay TxByte P1.1,ChkB4K3 A,#'0' LDelay LDelay TxByte P1.2,ChkB4K4 A,#'#' LDelay LDelay TxByte P1.3,LoopChk A,#'D' LDelay LDelay TxByte

47K R8

P1.5 P1.6 P1.0,ChkB3K2 A,#'7' LDelay LDelay TxByte P1.1,ChkB3K3 A,#'8'

ChkB4K1: ChkB2:

SETB CLR JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL

R7

SETB CLR JB MOV LCALL LCALL LCALL JB MOV

ChkB4:

47K

P1.4 P1.5 P1.0,ChkB2K2 A,#'4' LDelay LDelay TxByte P1.1,ChkB2K3 A,#'5' LDelay LDelay TxByte P1.2,ChkB2K4 A,#'6' LDelay LDelay TxByte P1.3,ChkB3 A,#'B' LDelay LDelay TxByte

ChkB3K4:

LDelay LDelay TxByte P1.2,ChkB3K4 A,#'9' LDelay LDelay TxByte P1.3,ChkB4 A,#'C' LDelay LDelay TxByte

R6

SETB CLR JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL

ChkB3K3:

LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL

47K

ChkB1K4:

TxByte P1.1,ChkB1K3 A,#'2' LDelay LDelay TxByte P1.2,ChkB1K4 A,#'3' LDelay LDelay TxByte P1.3,ChkB2 A,#'A' LDelay LDelay TxByte

R5

ChkB1K3:

LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL JB MOV LCALL LCALL LCALL

47K

ChkB1K2:

  

  

                 

       

              

        



  



         



  



         



  



  



  



     

     

 

  

  !  



"  # 

                                                                                              ! " #     $  % &! %                                        '( )    * ++                                                   ,%- .   &*   &,   * .        /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  .  .  @  #    %%            



&' #  (                                           



         

              

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

      



, ' -# !                                           



.#' +/!'!   A #

 #@

-

- ;

!  (  

( (



+ 

1+

/2%(  

( 

+ 

 +

=   #    >  

 

+

<,+

    #    >  

 

7 

 (

 +

                     



<*+

> # 

 2  

0# #     '                              *0   .      A #  #@

 

- ;

7 

 (   5/8

( (



',

,+

,,

(

 (   5/2% 8

( 



'1



(

+1( 



( <+ 

(

+ 



+( 

(



,



#)



+'+



#)





 9*

#)

A     (  

B.

/

    5/8     5/2% 8     5/0% 8            

-

( ( C,+



( ( C,+

(



A (

C,+



A A (  C'





*A $    !  #@ 

(

+(



(

,+(

!  %  $ /25<8



( 

+ (

!  %  $/258

'

>

B&/

     5B  / A  8

,

>&?

B&/

     

*

0

B&/

  &   @  

1

+

B&/

 @ +

9



B&/

 @ 

3



B&/

 @ 

+

 

B&/

 @ 



'

B&/

 @ '



,

B&/

 @ ,

 

*

B&/

 @ *

'

1

B&/

 @ 1

!

)

'(

!  %  $/05<8



6

+(

!  %  $/058



































































   

/ %     



6.3 Interface Timing Chart AC  Characteristics(V =4.5V~5.5V,Ta=-30~+85   0RGH      :ULWHý0RGH õ5HIHUýWRý)LJðçô         5HDGý0RGH õ5HIHUýWRý)LJðæô                           

&KDUDFWHULVWLF

7

6\PERO

0LQï

7\Sï

0D[ï

WF

èíí

ð

ð

W5ñW)

ð

ð

ëí

WZ

ëêí

ð

ð

5î:ýDQGý56ý6HWXSý7LPH

WVXì

éí

ð

ð

5î:ýDQGý56ý+ROGý7LPH

W+ì

ìí

ð

ð

'DWDý6HWXSý7LPH

WVXë

åí

ð

ð

'DWDý+ROGý7LPH

W+ë

ìí

ð

ð

(ý&\FOHý7LPH

WF

èíí

ð

ð

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

è

ð

ð

(ý&\FOHý7LPH (ý5LVHýîý)DOOý7LPH (ý3XOVHý:LGWKýõ+LJKñý/RZô

(ý5LVHýîý)DOOý7LPH



8QLW

QV

QV

       56    5î:    (   '%ía'%æ        56    5î:    (   '%ía'%æ              

9 , +ì 9 , /ì W68ì

W Kì

9 , /ì 9 , +ì 9 , /ì

W 68ë

WU 9 , +ì 9 , /ì

9 , /ì

W Kì

WZ

WI

9 , +ì 9 , /ì

9 , /ì

W Kë 9 , +ì 9 , /ì

9DOLG 'DWD W&

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

9 , +ì 9 , /ì

WK

W 68

9 , +ì

9 , +ì WK

WZ

WU

9 , +ì 9 , /ì

9 , +ì 9 , /ì

W' 9 , +ì 9 , /ì

9DOLG 'DWD W&

WI 9 , /ì

W' + 9 , +ì 9 , /ì

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

   

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

 

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

 

1 #    1=  2.                                        C, A #

 #@

2 



 C+

>   # 

 $$

- ;

2  

7 

 ,      +



 



 

 

2≥2

( ) 

2   > 

-



 C+  C+



 C+



 C+



 C+



                     



 +      +



'+









,+



# 



,+

1 $ $=  2.     1 $ $( )                                                

                 #                           # 1 $ $2   > 



      - 2           8)#@   #   ,

            



F   8: # $ G 

*'B"  

1  $ $>   # 

     #      C     <        $$ #      C     <                            - 2          8/2=  (  '1(   8: # $ G 

*'B"  



2##  92  $>  @                                  C,         A # 2  $     B. #    0       . .. *+           #   $  #  3*B / #    0       .  +           #   $  #  3*B 0       .   B. #        5%      8  ,+  =    .  . #     .  3*B  #  $  #  0       .  / #    +  '       =   3*B #   $  #  0       . .. '+  B. #    , #    ...#  3+H>B &B#        $  #  3*B 0       .  .. #        #    + &*+  + , *+ ,   * 2   +# ,#  +# ,# +        1

(@    5    8

0       .  %@    

9

.   5    8

0       . .    

3

) #.  !    

0       .  #.       @  

       



+B"D,+B"E ,+#&E '+# B $  % E ++#&E # '+!  *B

9:  I#  2  2  A #

  A #  

 ' , * 1 9 3

:  I #  2 

   $ 

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

0     $ 

√ √ √ √ √ 

- .    $ 



=   2.    

√ √ √ √ √ √ 

  > #  















  √ √ 



= $ .       $   = $ . # .    $   

√ = $ .    $  

:   # $  9    $  C =    $  < - .    $   

            



345*67** 0; #  )  C,     5  .   8

A   - - ;

7 

A/

)J/

- K + AA - , - K + AA - ,  - K $   =  #  ##E. E  #  E/         -  $   = .        #  $# 99 7  #  #  0;        .   E .   ) ;) (     @     A   /2,# 7  #  #   .   E    ) ;      $  

                     



$8'  5* +'# 

+B !     + .        #   $      @K       # .   .@  $# ..  E   +A$ .     #    . G  @       E@        # .E$ . @  #      .  . E#   . $$     +     ; % $   .  $   .  K     .#    .    %    +'.  " %  .  $  $ . /2# $     . B   . "   $    +,A$ .  $   # E@ .  . $          . $   .A$  #   E#  .  . $ . $%                                                       A  .                  0 .  .         %    .  .  .  #    @%  #   #   .   "    0   E   . $                  ?                                                                      6                                                                      )# %                                                 +*  #    #@  . /2-  +1A$ .   $$E    .        +9 %     $ .   #  @      E@   $  #    ## %#                           . @ . .  . /2-        @ G $  #@ E.  E# @                                  .  #  $          E       #@   .                       . /2-   . $#    .  $      .  $$ .  % $#      #  @                                



+                                                         +?.   . /2# E % ;    .   . . $$    #                              +. /2# .@     .     #      A$ .  /2 #   @     $   # E .   ##                                                     #           +   '+                                            >  %  .#

  9+H            + . /2# .@    . # .  E    . #$       +  .  /2 #  . @   $   %   .    E   . % ; %   E  E  #  .                                  

 / A   #   $     $   

A #

2  

2  

/    



  # 

> @ 



)  . #  # 

  ! "  

? "  .#  

  # 

@@ @    "   

  

 . $  " 

)  . #  # 

φL+ ##

+ ## φ +,##

   - ;     

    5%   8

4L+## 

    5%   8

- ;  $    

+## 4 +,##

4C5 <@8&    - ;      L++##

! %   

   #  

 

  

 



++## ++,##         @ +##

- ;    5 8   

 /- A   #   $  $   

A #

2  

2  

=  #   ##

  # 

. 

  # 

?%   

  # 

2     % 

)  . #  # 

2 

)  . #  # 

      ! .       #   5=8  

  

- ;    

4L+##

+## 4 +##

  4C5 <@8&     )L+##

- ;   

     - ;     

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

       5%   8

   - ;     4L+##

+## 4 +##

4C5 <@8&       5%   8

   - ;     L++##

  

++## ++,##          @ +,##

    - ;    5 8  

 /-  A #              $ #  $ #   

A   #   $  $  5  8 2  

2     

- ; $    

;

+## ;

+##

+##

;C5 <@8&    

- ; $    

 +##

 +## +##        M+

 

 - ; $     +9? ?   C#  %  $ . ?C# %  $ .

 



       - ;   $    

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

D Meet or Exceed TIA/EIA-232-F and ITU D D D D D D D

MAX232 . . . D, DW, N, OR NS PACKAGE MAX232I . . . D, DW, OR N PACKAGE (TOP VIEW)

Recommendation 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

C1+ VS+ C1− C2+ C2− VS− T2OUT R2IN

1

16

2

15

3

14

4

13

5

12

6

11

7

10

8

9

VCC GND T1OUT R1IN R1OUT T1IN T2IN R2OUT

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

PDIP (N)

TOP-SIDE MARKING

Tube of 25

MAX232N

Tube of 40

MAX232D

Reel of 2500

MAX232DR

Tube of 40

MAX232DW

Reel of 2000

MAX232DWR

SOP (NS)

Reel of 2000

MAX232NSR

MAX232

PDIP (N)

Tube of 25

MAX232IN

MAX232IN

Tube of 40

MAX232ID

Reel of 2500

MAX232IDR

Tube of 40

MAX232IDW

Reel of 2000

MAX232IDWR

SOIC (D) 0°C to 70°C SOIC (DW)

−40°C −40 C to 85 85°C C

ORDERABLE PART NUMBER

PACKAGE†

TA

SOIC (D) SOIC (DW)

MAX232N MAX232 MAX232

MAX232I MAX232I

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

Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. LinASIC is a trademark of Texas Instruments. Copyright  2004, Texas Instruments Incorporated

      !"#   $"%&! '#( '"! !  $#!! $# )# #  #* "# '' +,( '"! $!#- '#  #!#&, !&"'# #-  && $##(

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

1

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

Function Tables EACH DRIVER INPUT TIN

OUTPUT TOUT

L

H

H

L

H = high level, L = low level EACH RECEIVER INPUT RIN

OUTPUT ROUT

L

H

H

L

H = high level, L = low level

logic diagram (positive logic) 11

14

T1IN

T1OUT 10

7

T2IN

T2OUT 12

13

R1OUT

R1IN 9

R2OUT

2

POST OFFICE BOX 655303

8 R2IN

• DALLAS, TEXAS 75265

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

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, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. NOTES: 1. All voltages are with respect to network GND. 2. Maximum power dissipation is a function of 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 conditions VCC VIH

Supply voltage

VIL R1IN, R2IN

Low-level input voltage (T1IN, T2IN)

TA

High-level input voltage (T1IN,T2IN)

MIN

NOM

MAX

4.5

5

5.5

2

V V

Receiver input voltage Operating free-air temperature

UNIT

0.8

V

±30

V

MAX232

0

70

MAX232I

−40

85

°C

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

TEST CONDITIONS VCC = 5.5 V, TA = 25°C

Supply current

All outputs open,

MIN

TYP‡

MAX

8

10

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

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

3

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

DRIVER SECTION electrical characteristics over recommended ranges of supply voltage and operating free-air temperature range (see Note 4) PARAMETER

TEST CONDITIONS

VOH

High-level output voltage

T1OUT, T2OUT

RL = 3 kΩ to GND

VOL

Low-level output voltage‡

T1OUT, T2OUT

RL = 3 kΩ to GND

MIN 5

TYP†

MAX

7 −7

UNIT V

−5

V

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

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

TEST CONDITIONS

SR

Driver slew rate

RL = 3 kΩ to 7 kΩ, See Figure 2

SR(t)

Driver transition region slew rate

See Figure 3

Data rate

One TOUT switching

MIN

TYP

MAX

UNIT

30

V/µs

3

V/µs

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-air temperature range (see Note 4) PARAMETER

TEST CONDITIONS

VOH

High-level output voltage

R1OUT, R2OUT

IOH = −1 mA

VOL

Low-level output voltage‡

R1OUT, R2OUT

IOL = 3.2 mA

VIT+

Receiver positive-going input threshold voltage

R1IN, R2IN

VCC = 5 V,

TA = 25°C

VIT−

Receiver negative-going input threshold voltage

R1IN, R2IN

VCC = 5 V,

TA = 25°C

MIN

TYP†

MAX

3.5

V

1.7 0.8

UNIT

0.4

V

2.4

V

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, VCC = 5 V, TA = 25°C (see Note 4 and Figure 1) PARAMETER tPLH(R) tPHL(R)

TYP

UNIT

Receiver propagation delay time, low- to high-level output

500

ns

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.

4

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

PARAMETER MEASUREMENT INFORMATION VCC

Pulse Generator (see Note A)

RL = 1.3 kΩ

R1OUT or R2OUT

R1IN or R2IN

See Note C

CL = 50 pF (see Note B) TEST CIRCUIT ≤10 ns

Input

≤10 ns

10%

90% 50%

90% 50%

3V 10%

0V

500 ns tPLH

tPHL

VOH Output

1.5 V

1.5 V

VOL

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

Figure 1. Receiver Test Circuit and Waveforms for tPHL and tPLH Measurements

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

5

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

PARAMETER MEASUREMENT INFORMATION T1IN or T2IN

Pulse Generator (see Note A)

T1OUT or T2OUT EIA-232 Output CL = 10 pF (see Note B)

RL

TEST CIRCUIT ≤10 ns

≤10 ns 90% 50%

Input 10%

3V

90% 50%

10%

0V

5 µs tPLH

tPHL 90% Output

VOH

90%

10%

10%

VOL tTLH

tTHL 0.8 (V

SR +

–V ) 0.8 (V –V ) OH OL OL OH or t t TLH THL WAVEFORMS

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

Figure 2. Driver Test Circuit and Waveforms for tPHL and tPLH Measurements (5-µs Input) Pulse Generator (see Note A)

EIA-232 Output 3 kΩ

CL = 2.5 nF

TEST CIRCUIT ≤10 ns

≤10 ns

Input 90% 1.5 V

10%

90% 1.5 V

10%

20 µs tTLH

tTHL Output

3V

3V −3 V

−3 V SR +

t

THL

6V or t

VOH VOL

TLH

WAVEFORMS NOTE A:

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

Figure 3. Test Circuit and Waveforms for tTHL and tTLH Measurements (20-µs Input)

6

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

            



SLLS047K − FEBRUARY 1989 − REVISED JANUARY 2004

APPLICATION INFORMATION 5V CBYPASS = 1 µF

+ − 16

C1

C1+

1 µF 3

From CMOS or TTL

To CMOS or TTL

8.5 V

1 µF 5

6

VS−

C2+

1 µF

2 VS+

C1−

4 C2

C3†

VCC

1

C4 +

C2−

11

14

10

7

12

13 8

9 0V

−8.5 V 1 µF

EIA-232 Output EIA-232 Output EIA-232 Input EIA-232 Input

15 GND † 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 be connected as shown.

Figure 4. Typical Operating Circuit

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

7

MECHANICAL MPDI002C – JANUARY 1995 – REVISED DECEMBER 20002

N (R-PDIP-T**)

PLASTIC DUAL-IN-LINE PACKAGE

16 PINS SHOWN PINS **

14

16

18

20

A MAX

0.775 (19,69)

0.775 (19,69)

0.920 (23,37)

1.060 (26,92)

A MIN

0.745 (18,92)

0.745 (18,92)

0.850 (21,59)

0.940 (23,88)

MS-100 VARIATION

AA

BB

AC

DIM A 16

9

0.260 (6,60) 0.240 (6,10)

1

C

AD

8 0.070 (1,78) 0.045 (1,14)

0.045 (1,14) 0.030 (0,76)

D

D

0.325 (8,26) 0.300 (7,62)

0.020 (0,51) MIN

0.015 (0,38) Gauge Plane

0.200 (5,08) MAX Seating Plane

0.010 (0,25) NOM

0.125 (3,18) MIN

0.100 (2,54)

0.430 (10,92) MAX

0.021 (0,53) 0.015 (0,38) 0.010 (0,25) M

14/18 PIN ONLY 20 pin vendor option

D 4040049/E 12/2002

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.

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

MECHANICAL DATA MSOI002B – JANUARY 1995 – REVISED SEPTEMBER 2001

D (R-PDSO-G**)

PLASTIC SMALL-OUTLINE PACKAGE

8 PINS SHOWN 0.020 (0,51) 0.014 (0,35)

0.050 (1,27) 8

0.010 (0,25)

5

0.008 (0,20) NOM

0.244 (6,20) 0.228 (5,80) 0.157 (4,00) 0.150 (3,81)

Gage Plane 1

4

0.010 (0,25) 0°– 8°

A

0.044 (1,12) 0.016 (0,40)

Seating Plane 0.010 (0,25) 0.004 (0,10)

0.069 (1,75) MAX

PINS **

0.004 (0,10)

8

14

16

A MAX

0.197 (5,00)

0.344 (8,75)

0.394 (10,00)

A MIN

0.189 (4,80)

0.337 (8,55)

0.386 (9,80)

DIM

4040047/E 09/01 NOTES: A. B. C. D.

All linear dimensions are in inches (millimeters). This drawing is subject to change without notice. Body dimensions do not include mold flash or protrusion, not to exceed 0.006 (0,15). Falls within JEDEC MS-012

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

MECHANICAL DATA MSOI003E – JANUARY 1995 – REVISED SEPTEMBER 2001

DW (R-PDSO-G**)

PLASTIC SMALL-OUTLINE PACKAGE

16 PINS SHOWN 0.020 (0,51) 0.014 (0,35) 9

0.050 (1,27) 16

0.010 (0,25)

0.419 (10,65) 0.400 (10,15) 0.010 (0,25) NOM

0.299 (7,59) 0.291 (7,39)

Gage Plane 0.010 (0,25) 1

8

0°– 8°

0.050 (1,27) 0.016 (0,40)

A

Seating Plane 0.104 (2,65) MAX

0.012 (0,30) 0.004 (0,10) PINS **

0.004 (0,10)

16

18

20

24

28

A MAX

0.410 (10,41)

0.462 (11,73)

0.510 (12,95)

0.610 (15,49)

0.710 (18,03)

A MIN

0.400 (10,16)

0.453 (11,51)

0.500 (12,70)

0.600 (15,24)

0.700 (17,78)

DIM

4040000/E 08/01 NOTES: A. B. C. D.

All linear dimensions are in inches (millimeters). This drawing is subject to change without notice. Body dimensions do not include mold flash or protrusion not to exceed 0.006 (0,15). Falls within JEDEC MS-013

POST OFFICE BOX 655303

• DALLAS, TEXAS 75265

IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products

Applications

Amplifiers

amplifier.ti.com

Audio

www.ti.com/audio

Data Converters

dataconverter.ti.com

Automotive

www.ti.com/automotive

DSP

dsp.ti.com

Broadband

www.ti.com/broadband

Interface

interface.ti.com

Digital Control

www.ti.com/digitalcontrol

Logic

logic.ti.com

Military

www.ti.com/military

Power Mgmt

power.ti.com

Optical Networking

www.ti.com/opticalnetwork

Microcontrollers

microcontroller.ti.com

Security

www.ti.com/security

Telephony

www.ti.com/telephony

Video & Imaging

www.ti.com/video

Wireless

www.ti.com/wireless

Mailing Address:

Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Copyright  2004, Texas Instruments Incorporated

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

Riwayat pendidikan formal yang pernah ditempuh: ‰ SD Negeri 1 Slambur, Geger, Madiun lulus tahun 1997. ‰ SMP Negeri 1 Geger, Madiun lulus tahun 2000. ‰ SMK Telekomunikasi Darul Ulum Jombang lulus tahun 2003. ‰ D3 Jurusan Telekomunikasi, Politeknik Elektronika Negeri Surabaya, Institut Teknologi Sepuluh Nopember Surabaya (ITS). Pada tanggal 2 Agustus 2003 mengikuti Seminar Proyek Akhir sebagai salah satu persyaratan untuk mendapatkan gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya, Institut Teknologi Sepuluh Nopember Surabaya (ITS).

Related Documents