pemesanan makanan

of 128/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
  • date post

    07-Jun-2015
  • Category

    Documents

  • view

    4.901
  • download

    20

Embed Size (px)

Transcript of pemesanan makanan

PROYEK AKHIR PEMBUATAN SISTEM OTOMATISASI PEMESANAN MAKANAN PADA RESTORAN CEPAT SAJI DENGAN MENGGUNAKAN MIKROKONTROLLER Adib Karisma Putra NRP. 7203 030 016 Dosen Pembimbing : Akuwan Saleh, SSTNIP. 131 831 467

JURUSAN TEKNIK TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA S U R A B A Y A2006 PEMBUATAN SISTEM OTOMATISASI PEMESANAN MAKANAN PADA RESTORAN CEPAT SAJI DENGAN MENGGUNAKAN MIKROKONTROLLER Oleh: ADIB KARISMA PUTRA 7203.030.016 Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Ahli Madya (A.Md.) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh Tim Penguji Proyek Akhir:Dosen Pembimbing: 1.Ir. Anang Budikarso, MT 1.Akuwan Saleh, SSTNIP. 131 793 744 NIP. 131 831 467 2.I Gede Puja Astawa, ST, MTNIP. 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 Sistempelayananrestaurantdieramoderninimasih menggunakansistemmanual.Dalamproyekakhiriniakanmenyajikan penggunaanmodulsistemminimumMikrokontrollerAT89S51untuk perancangandanpembuatansistemminimumuntukpemesananmenu padamejakonsumen.MicrosoftAccessdigunakansebagaidatabase danVisualBasic6.0difungsikanuntukformpemanggildatadatadari MicrosoftAccessdenganmemanfaatkanfasilitasVisualDataManager yang ada di Visual Basic 6.0. Masukandarimejamakanyangberisikankodemenudan jumlahmenu.AkanditampilkanpadaLCDdandenganmenggunakan komunikasi serial RS 232 DB9, data akan dikirimkan dari mikroprosesorkePCbagiandapurselanjutnyaditransferkePCkasirdengan menggunakan komunikasi yang sama. Kata kunci : Mikrokontroller AT89S51, LCD, Keypad,Visual Basic 6.0, Microsoft Acces iii ABSTRACT Therestaurantservicesysteminthismodernerastillsusethe manual system. In this Preface Of The Final Project Paper present using ofMicrocontrollerAT89S51indesigningandmakingofminimum systemfororderingmenuonconsumerdesk.MicrosoftAccessuseda databaseand VisualBasic6.0functionedfortheformof callerofdata 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.Thisinformationfromthetableaboutthecodesoffoodwillbe show to the LCD. This information from the table will be sent with RS-232DB9toPCKitchenhereinaftertransferredtoPCcashierbyusing same communication. Keywords :Microcontroller AT89S51, LCD, Keypad, Visual Basic 6.0, Microsoft Access iv KATAPENGANTAR Assalamualaikum Wr. Wb. Alhamdulillah,segalapujihanyamilikALLAHyang memilikiapayangadadilangitdandibumi.Dialahyang mempunyai segala ilmu dan karena limpahan kasih sayang, karunia, petunjuk,danbimbingan-NYAkamidapatmenyelesaikanProyek Akhir ini dengan baik yang berjudulPembuatan Sistem Otomatisasi Pemesanan Makanan pada Restoran Cepat Saji Dengan Menggunakan Mikrokontroller Dalam menyelesaikan proyek akhir ini kami berpegang pada teoriyangpernahkamiperolehsertabimbingandaridosen pembimbing.Danjugakepadapihak-pihaklainyangtelahsangat membantu hingga sampai terselesainya proyek akhir ini. Kamimenyadaribahwamasihbanyakkekurangandalam hasilpembuatanproyekakhirini.Segalasarandankritiksangat diharapkanuntukmemberikanyangterbaikgunapengembangan lebihlanjutkearahyanglebihbaik.Dansemogabukuinidapat memberikanmanfaatbagiparamahasiswapoliteknikelektronika negeriSurabayapadaumumnyadandapatmemberikannilailebih untuk para pembaca pada khususnya. Wassalamualaikum Wr. Wb. Surabaya, Agustus 2006 Penulis v UCAPAN TERIMA KASIH Padakesempatanyangmembahagiakanini,penulisingin mengucapkanterimakasihkepadasemuapihakyangtelahmembantu penulis dalam menyelesaikan Proyek Akhir ini. 1.AllahSWT,AlhamdulillahirrabbilAlaminatassegalaberkah, rahmat,karuniadanpertolongan-Nyayangtiadahentiyang diberikankepadasemuahamba-Nya,dansemuapetunjuk-Nya yang kadang tak sanggup dilihat. 2.Shalawatsertasalamtercurahselalukepadajunjunganbesar NabiMuhammadSAWyangmengajarkankebenaran-kebenaran hakiki. 3.Bapak,Ibu,danKakakkutercinta,terimakasihatassemua cinta,kasihsayang,doadandukunganyangterus-menerus mengalir.Semogasayaselalumenjadianakyangshalehdan berbakti. 4.Dr.TitonDuthono,M.Eng,selakudirekturPoliteknik ElektronikaNegeriSurabaya-InstitutTeknologisepuluh Nopember. 5.BapakDrs.MiftahulHuda,MT,selakuketuajurusanTeknik TelekomunikasiPoliteknikElektronikaNegeriSurabaya. Terima kasih telah membimbing kami dengan penuh kesabaran dan atas semua yang bapak berikan kepada kami.6.BapakAkuwanSalehselakuDosenPembimbingyangtelah meluangkanwaktu,pikirandantenagasertadengansabar membimbingkamijugamemberikanfasilitashingga terselesaikannya Proyek akhir ini.7.Adikadikkutercinta,terimakasihatasmotivasi,doadan dukungan kalian. 8.Semuateman-temandariberbagaijurusandanangkatantahun 2003yangikutmembantudalampenyelesaianProyekAkhir ini. Sertabanyakpihaklainyangtidakdapatdisebutkansatu persatu.SemogasemuaamalkebaikanditerimaALLAHSWTdan mendapatkanbalasanyangtinggidisisiALLAHSWT.Akhirkata, vipenulisberharapsemogaProyekAkhirinidapatmemberikanmanfaat dan tambahan ilmu bagi pembaca. Amin Surabaya, Agustus 2006 Penulis vii DAFTARISI JUDUL..i PENGESAHAN......ii ABSTRAKiii ABSTRACT......iv KATA PENGANTAR... v UCAPAN TERIMA KASIH.vi DAFTAR ISI.....viii DAFTAR GAMBAR ...xi DAFTAR TABEL xiii BAB 1 PENDAHULUAN..1 1.1. LATAR BELAKANG....1 1.2. PERUMUSAN MASALAH.....1 1.3. BATASAN MASALAH...1 1.4. METODOLOGI .2 1.5. SISTEMATIKA PEMBAHASAN .3 1.6TUJUAN DAN MANFAAT...3 1.7RELEVANSI .................................................................4 BAB 2 TEORI PENUNJANG....5 2.1.Umum.........................................5 2.2 Mikrokontroller AT89S515 2.1.1 Struktur Memori 8 2.3 Komunikasi Data Serial ...9 2.3.1. Metode Komunikasi .................................................9 2.3.1.1 Mode Komunikasi Simplex .....................9 2.3.1.2 Mode Komunikasi Half Duplex ..............10 2.3.1.3 Mode komunikasi Full-Duplex ................10 2.3.2 Format data komunikasi serial ..................................10 2.3.2.1 Kecepatan mobilisasi data per bit ............11 2.3.2.2 Jumlah bit data per karakter .....................11 2.3.2.3 Parity bit ..................................................11 2.3.3 Konfigurasi Port Serial .11 2.3.4 Komunikasi serial pada Mikrokontroller ..13 2.3.5 Konektor Interface RS-232 .......................................14 2.3.6 IC serial MAX 232 ....................................................15 2.3.7 Pengaksesan dengan menggunakan control MSComm 16 viii 2.4 Pemrograman Dan Database VISUAL BASIC 6.0 .................16 2.4.1 Pendahuluan ..............................................................16 2.4.2 Dasar Teori Visual Basic 6.0 ....................................16 2.4.2.1 Pemakaian Komponen .............................17 2.4.2.1a Menu ........................................17 2.4.2.1b Toolbar Standart ......................18 2.4.2.1c Tool Box ..................................19 2.4.2.1d Form ........................................20 2.4.2.1e Project Explorer .......................22 2.4.2.1fPropertise ................................22 2.4.2.2 Database ...................................................23 2.4.2.2a Membuat Database ..................24 2.4.2.2b Memodifikasi database ............27 2.4.2.2c Menambah index data .............28 2.4.2.2dMengaitkanDatakedalam Form ........................................ 30 2.5 Pemrograman Bahasa C .............................................................32 2.5.1 Pendahuluan ..............................................................32 2.5.2Alasan Penggunaan Bahasa C ..................................33 2.5.3 Pengenalan Sintaks Bahasa C ...................................33 2.5.3.1 Keyword #include ....................................33 2.5.3.2 Keyword #define .....................................34 2.5.3.3 Keyword #if..............................................34 2.5.3.4 Keyword #ifdef ........................................34 2.5.3.5 Keyword #ifndef.....................................35 2.5.3.6 Keyword #endif......................................35 2.5.3.7 Keyword #undef ......................................35 2.5.3.8 Keyword #else .........................................35 2.5.4 Perintah Perintah Dalam Bahasa C ...........................35 2.5.4.1 Compiler ..................................................35 2.5.4.2 Pernyataan ...............................................36 2.5.4.3 Variabel ...................................................36 2.5.4.4 Operator ...................................................37 2.5.4.5 Percabangan .............................................37 2.5.4.6 Perulangan ...............................................38 2.5.4.7 Fungsi untuk Input dan Output ................38 2.5.4.8 Pointer dan Array .....................................39 BAB 3 PERENCANAAN DAN PEMBUATAN ALAT .41 3.1 Umum .41 3.2 Perencanaan Sistem Kerja ..........................................................41 ix 3.3 Perancangan Perangkat Keras 43 3.3.1PerancangandanPembuatanAntarMuka (Interfaces) Dengan Mikrokontroller AT89S51 .. 44 3.3.2 Rangkaian Keypad 45 3.3.3 Rangkaian LCD 48 3.3.4PembuatanPerangkatKerasDownloader Mikrokontroller AT89S51 .. 51 3.3.5 Konektor RS 232 ...52 3.4 Konversi Data .52 3.5 Perencanaan Database 52 3.6 Perencanaan Program C pada Mikrokontroller ..56 BAB 4 PENGUJIAN DAN ANALISA ............................................59 4.1 Tujuan .........................................................................................59 4.2 Pengujian Database 59 4.3 Proses Penulisan dan Kompile program .60 4.4 Proses Download ke dalam Mikrokontroller ..62 4.5 Pengujian Perangkat Keras .63 4.5.1 Pengujian Hubungan antara Keypad dengan LCD dan PC Dapur. 63 4.5.2 Keypad ..66 4.5.3 Tampilan pada LCD ..66 4.5.4 Tampilan Pada PC Dapur ..67 4.5.5 Pengujian Hubungan Minimum Sistem Dengan PC (Serial) . 67 BAB 5 PENUTUP.71 5.1 Kesimpulan .71 5.2 Saran ...71 DAFTAR PUSTAKA ...73 LAMPIRAN RIWAYAT HIDUP x DAFTAR GAMBAR Gambar 1.1 Blok Diagram Sistem Pemesanan ...............................2 Gambar 2.1 Konfigurasi Pin Mikrokontroller AT89S5 ..8 Gambar 2.2 Struktur Memori AT89S51 .........................................10 Gambar 2.3 Hubungan Simplex .11 Gambar 2.4 Hubungan Half-duplex ...12 Gambar 2.5 Hubungan Full-Duplex ...12 Gambar 2.6 Konektor serial DB-9 pada bagian belakang CPU .....14 Gambar 2.7 Koneksi RS-232 pada mikrokontroller dan PC ..........16 Gambar 2.8 Level tegangan RS-232 pada pengiriman huruf Atanpa bit paritas ......................................................... 16 Gambar 2.9Interface ICL 232 .......................................................17 Gambar 2.10 Menu di dalam Visual Basic 6.0 ...............................19 Gambar 2.11 Tool tool standart pada Visual Basic 6.0 ..20 Gambar 2.12 Tool Box didalam Visual Basic 6.0 ..........................21 Gambar 2.13 Tampilan Tool Box didalam Form Visual Basic 6.0 22 Gambar 2.14 Tombol Eksekusi Program ........................................23 Gambar 2.15 Tampilan Saat Dieksekusi ........................................23 Gambar 2.16 Tampilan Jendela Project ..........................................24 Gambar 2.17 Tampilan Jendela Properties .....................................25 Gambar 2.18 Membuat Database ...................................................26 Gambar 2.19 Menentukan Nama Database ....................................27 Gambar 2.20 Jendela Database .......................................................27 Gambar 2.21 Menentukan Struktur Tabel Database .......................28 Gambar 2.22 Menambah Filed (kolom) .........................................28 Gambar 2.23 Proses Untuk Memodifikasi Database ......................29 Gambar 2.24 Menambahkan Index Data Didalam Database ..........30 Gambar 2.25 Proses Menambah Table Baru Di dalam Database ...31 Gambar 2.26 Mengaitkan Database ke Dalam Form ......................32 Gambar 2.27 Menentukan Properti ConnectionString ...................33 Gambar 2.28 Menentukan properti RecordSource .........................34 Gambar 3.1 Schematic Rangkaian Minimum AT89S51 44 Gambar 3.2 Flowchart scanning keypad dengan metode polling ...46 Gambar 3.3 Susunan tombol pada keypad .47 Gambar 3.4 Alokasi Pin Pin Pada Keypad .47 Gambar 3.5 Schematic Keypd 4x4 .48 Gambar 3.6 Blok Rangkaian LCD .49 Gambar 3.7 Flowchart Subrutin Kirim Data ke LCD .50 xi Gambar 3.8 Rangkaian Downloader ISP Flash ..51 Gambar 3.9 Contoh Program yang dikembangkan .........................53 Gambar 3.10 Pembuatan index pada Visual Data Manager ...........55 Gambar 4.1 Tampilan Form Database Pada PC Kasir ...59 Gambar 4.2 Tampilan Form Database Pada PC Dapur ..60 Gambar 4.3 Contoh Tampilan Ride51 61 Gambar 4.4 ISP - Flash Programmer Version 3.0a 62 Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari Mikrokontroller . 67 Gambar 4.6 Tampilan pada hyperterminal yang bersamaan dengan dinyalakannya rangkaian Minimum Sistem . 69 xii DAFTAR TABEL Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial ...........12 Table 2.2 Untuk Tool Adodc pada gambar Gambar 2.25 ...............31 Tabel 3.1 Properti tool Data pada Gambar 3.11..............53 xiii BAB 1 PENDAHULUAN 1.1LATAR BELAKANG Perkembanganilmupengetahuandanteknologiyangsangat pesatinimerupakansalahsatudampakdarimeningkatnyatarafhidup manusia.Untukitusetiapmanusiamenginginkanadanyakemudahan dankecepatandalammemenuhisetiapkebutuhannya.Dalamhalini, faktorefisiensidanefektifitaskerjasangatmempengaruhiterciptanya upaya tersebut. Oleh karena itu, dikembangkan suatau cara yang mampu mengatasigejalagejaladankeinginantersebutseiringdengan perkembanganperadabanteknologisaatini.Salahsatucara penerapannyaadalahdalambidangrumahmakan.Carakonvensional yangmenggunakanjasamanusiauntukmemintamenupesanandari pembelidapatdigantidenganmenggunakanalatpemesananyang langsungdapatdigunakandarimejapembeli.Sehinggaefisiensidan efektifitaspelayanandapatterpenuhidenganmaksimal.Menupesanan daripembeliinidapatdiketahuiolehpetugasyangadadibagiandapur untuksegeramenyiapkanmenumenuyangsudahdipesanmelalui sebuah PC. 1.2PERUMUSAHAN MASALAHPermasalahan yang ditangani pada pembuatan proyek akhir ini adalah bagaimana dapat memprogram sebuah mikrokontroller agar bisa tampil pada LCD dan terkirim secara serial ke PC. Masalahyangditanganiialahpembuatanperangkatkeras (hardware)maupunlunak(software)adalahlebihmemfungsikan mikrokontrollerAT89S51 dikombinasi denganbahasa pemrogramanC. Database yang dibuat dengan menggunanakan Visual Basic 6.0. 1.3BATASAN MASALAHDalamtugasakhirinipermasalahanakandibatasipada pembahasan perangkat lunak tentang komunikasi serial antara minimum sistemMikrokontrollerdengankomputerdapur.dimanahanyaterjadi komunikasisearahsaja.Begitujugauntukkomunikasidapurkekasir yang hanya searah. 1 2 Jadi,padasisteminiapabilamenumakananyangsudah dipesan telah terkirim ke komputer dapur. Maka, tidak dapat diulang lagi seandainyapembeliinginmembatalkanpesananyangtelahdikirimke PC Dapur. 1.4METODOLOGI Untuklangkahlangkahpembuatanproyekakhirinilangkah langkahnyaadalah sebagai berikut : (a)Perancangan Sistem Perancangansistemberdasarkanpadapetunjukpengoperasian (instructionmanual)Mikrokontrollertersebutdandikembangkan dengancaramenghubungkanfungsi-fungsiMikrokontrolleryang kemudian dihubungkan dengan PC-PC yang ada. (b)PembuatanPerangkat Keras (Hardware)HardwareuntukMikrokontrollerAT89S51sudahtersediaditoko tokoelektronik.Yangharusdisediakanlainnyauntuktugasakirini ialahLCDyangberukuran6X2yangnantinyaakandihubungkan denganMikrokontrollersebagaitampilanmenudankeypad4X4 sebagai inputan.(c)Perangkat Lunak (Software)pada Mikrokontroller PembuatansoftwarepadaTAinidibagimenjadibeberapabagian yaitupembuatanprogramuntukmenampilkantulisandiLCD. Instruksiinstruksipadakeypaddanprogramuntukmengoneksikan antaraMikrokontrollerdenganPCdapuryangnantinyaakan diteruska ke PC kasir.(d)Pembuatan database Sebagaimediapenyimpandata,makadiperlukansuatudatabase yangnantinyaakandibukamelaluiMikrokontrollerdibagian pelanggan.DisinidigunakanVisualBasic6.0sebagaidatabasedan database itu berisi tentang menu menu pesanan beserta harganya. 31.5SISTEMATIKA PEMBAHASAN Buku laporan proyek akhir ini terdiri dari 5 (lima) bab, dimana masing-masing bab mempunyai kaitan satu sama lain, yaitu: BAB I: PendahuluanBabiniberisitentanguraianlatarbelakang, tujuan,permasalahan,batasanmasalah, metodologi dan sistematika laporan. BAB II:Teori Penunjang Bab ini berisi tentang teori teori penunjang yangdipergunakandalampenyelesaian proyek akhir ini. BAB III:Perancangan Dan Implementasi Perancangan perangkat lunak disini akan dibahas masalah perancangan program komunikasi data serial baik pada Mikrokontroller maupun pada pada PC. Sedangkan pada perancangan perangkat keras akan dibahas tentang pembuatan alat yang digunakan. BAB IV:Analisa Dan Pengujian Babiniakandibahasmasalahpengujian perangkatlunakdanperangkatkerasserta komunikasidataserialbaikpadakomputer maupun di Mikrokontroller. BAB V:Kesimpulan Babiniberisitentangkesimpulandari pembahasanyangtelahadasertasaran saran guna pengembangan proyek akhir lebih lanjut. 1.6TUJUAN DAN MANFAAT Tujuan dari proyek akhir ini adalah memfungsikan penggunaan MikrokontrollerAT89S51danbahasapemrogramanVisualBasic6.0 untukaplikasipadasebuahsistemkeamananparkir.Denganlebih memberdaya-gunakanMikrokontrollerAT89S51danbahasa pemrogamanVisualBasic6.0sebagaidatabasedengancara mengembangkannyasedemikianrupa,baikpadasisiinputdanoutput denganmenambahperangkatkeras(hardware)danperangkatlunak 4 (software),sehinggadapatdigunakansebagaialatbantupadasebuah restoran cepat saji. 1.7RELEVANSI Tugasakhirinidiharapkanbisadijadikanbahan pembelajaran untuk dapatmentransfer data antara PC 1 ke PC 2 dansuatuPCdengansebuahMikrokontroller.Sertadapat digunakansebagaibahanpembelajaranuntukmatakuliah Mikrokontroller. . BAB 2 TEORIPENUNJANG 2.1Umum Pada bab ini akan diberikan teori dasar yang melandasi permasa- lahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Teori dasaryangdiberikanmeliputi:pembuatandatabase,yangmemberikan definisidanklasifikasitentangpenyimpanansertakoneksidatabase antara Visual Basic dan Microsoft access. Selanjutnya, diberikan tentang teorikomunikasidataserial,pararel,connectorinterfaceRS232, pengaksesanportserialpadaVisualBasicsertakomunikasiserialpada Mikrokontroller AT89S51. 2.2Mikrokontroller AT89S51 AT89S51adalahmikrokontrollerkeluaranAtmeldengan4K 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 inibiasadigunakanuntukmenyimpaninstruksi(perintah)berstandar MCS-51 code sehingga memungkinkan mikrokontroller ini untuk bekerja dalammodesinglechipoperation(modeoperasikepingtunggal)yang tidakmemerlukanexternalmemory(memoriluar)unrukmenyimpan 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 Port0dapatberfungsisebagaiI/Obiasa,lowordermultiplex addres/dataataupunmenerimakodebyepadasaatFlash Programming.PadasaatsebagaiI/Obiasaportinidapat memberikanoutputsinkkedelapanbuahTransistorTransistor Logic(TTL)inputataudapatdiubahsebagaiinputdengan memberikan logika 1 pada port tersebut. Port 1, yaitu pin p1.0...p1.7 Port1berfungsisebagaiI/Obiasaataumenerimaloworder addressbytesselamapadasaatFlashProgramming.Portini mempunyaiinternalpullupdanberfungsisebagaiinputdengan 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 mengaksesmemorisecara8bit([email protected]),portiniakan mengeluarkansisidariSpecialFunctionRegister.Portini mempunyaipullupdanberfungsisebagaiinputdengan 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. SedangkanpadasaatFlashProgramming(PROG)berfungsi sebagai pulse input. Pada operasi normal ALE akan mengeluarkan sinyalclocksebesar1/16frekwensioscillator,kecualipadasaat mengakses memori external. Sinyal clock pada saat ini dapat pula di disable dengan men-set bit 0 Special Function Register. Pin 29, sebagai PSEN Pininiberfungsipadasaatmengeksekusiprogramyangterletak pada memori eksteranal. PSEN akan aktif dua kali setiap cycle. Pin 31, Sebagai EA/VPP Padakondisilow,pininiakanberfungsisebagaiEAyaitu mikrokontrollerakanmenjalankanprogramyangadapada memori eksternal setelah sistem di reset. Jika berkondisi high, pin iniakanberfungsiuntukmenjalankanprogramyangadapada memoriinternal.PadasaatFlashProgrammingpininiakan mendapat tegangan 12 Volt (VPP). Pin 19, sebagai XTALL1 (Input Oscillator). Pin 18, sebagai XTALL2 (Output Oscillator). 8 2.2.1Struktur Memori AT89S51 mempunyai stuktur memori yang terdiri atas : RAM Internal, memori sebesar 128 byte yang biasanya digunakanuntukmenyimpanvariabelataudatayangbersifat sementara. Special Function Register (Register Fungsi Khusus), memori yangberisiregister-registeryangmempunyaifungsi-fungsi khususyangdisediakanolehmikrokontrollertersebut,seperti timer, serial dan lain-lain. FlashPEROM,memoriyangdigunakanuntukmenyimpan instruksi-instruksi MCS51. Gambar 2.2 Struktur Memori AT89S51 AT89S51mempunyaistrukturmemoriyangterpisahantaraRAM InternaldanFlashPEROMnya.RAMInternaldialamatiolehRAM Address Register (Register Alamat RAM) sedangkan Flash PEROM yang menyimpanperintah-perintahMCS-51dialamtiolehProgramAdderss Register(RegisterAlamatProgram).Denganadanyastrukturmemori yangterpisahtersebut,walaupunRAMInternaldanFlashPEROM mempunyaialamatyangsama,yaitualamat00,namunsecarafisiknya kedua memori tidak saling berhubungan. 92.3 Komunikasi Data Serial Komunikasidataserialsangatberbedadenganformat pemindahandatapararel.Disinipengirimanbitbittidakdilakukan sekaligus seperti pada saluran pararel, tetapi stiap bit dikirimkan satu per satumelaluisalurantunggal.Dalampengirimandatasecaraserialharus ada sinkronisasi atau penyesuaian antara pengirim dan penerima agar data yangdikirimkandapatditerimadengantepatdanbenarolehpenerima. Dalamkomunikasisecaraserialterdapattigamacammodetransmisi serial dalam mentransmisikan bit bit data yaitu : syncronous, asyncronous da isochronous. Dalam proyek akhir ini hanya membahas mode transmisi asyncronous saja yang digunakan. Transmisiserialmodeasyncronousdigunakanbilapengiriman data dilakukan satu karakter tiap pengiriman. Antara satu karakter dengan karakterlainnyatidakadawaktuantarayangtetap.Karakterdapat 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 padatransmisiserialasinchronousadalahdenganmemberikanbitbit penandaawaldaridatadanpenandaakhirdaridatapadasisipengirim maupun dari sisi penerima. 2.3.1. Metode Komunikasi Metode yang dimaksud adalah

2.3.1.1 Mode Komunikasi Simplex Padamodekomunikasisimplexinijalurkomunikasiyang diberikanadalahsatuarahsepertiyangditunjukkangambardibawah. Dalamkomunikasipengirimdanpenerimaadalahpermanen,dimana padapihakpengirimadalahselalumengirimdata,danpihakpenerima adalah selalu menerima data. Pengirim PenerimaGambar 2.3 Hubungan Simplex 102.3.1.2 Mode Komunikasi Half Duplex Padamodekomunikasihalf-duplexnikomunikasidata dilakukan dalam dua arah dimana pada masing masing pihak bisa sebagai penerimaatausebagaipengirimdatasepertiyangditunjukkanpada gambar2.2.Namunpadamodeinitidakdapatdilakukansecara bersamaan tetapi secara bergantian atau disebut two way alternative. Jika slahsatusebagaipengirimmakayanglainadalahsebagaipenerima demikian sebaliknya.

2.3.1.3 Mode komunikasi Full-Duplex Modekomunikasifullduplexdilakukandalamduaarahyang terjadi secara bersamaan seperti ditunjukkan pada gambar dibawah ini 2.3.2 Format data komunikasi serial Dalam teknik komunikasi dara serial dikenal istilah format data serial. Format data serial ini terdiri dari parameter parameter yang dipakai untukmenentukanbentukdataserialyangakandikomunikasikan.Ada beberapa macam format data serial yang dapat digunakan, dimana elemen elemennya terdiri dari : a)Kecepatan mobilisasi data per bit (baut rate). b)Jumlah bit data per karakter (data length). c)Pariti yang digunakan. d)Jumlah stop bit dan start bit. Pengirim PenerimaPengirim PenerimaPengirim PenerimaPengirim PenerimaGambar 2.4 Hubungan Half-duplexGambar 2.5 Hubungan Full-Duplex 112.3 .1 Kecepatan mobilisasi data per bit an dalam satuan baud. Laju aud daleerbagaibaudrate. audrat.3.2.2 Jumlah bit data per karakter modeasyncronousbiasanya rlangs.3.2.3 Parity bit adalahbityangdigunakansebagaialatpemeriksaan salaha.3.3 Konfigurasi Port Serial anbarkonektorportserialDB-9pada bagian bCOM1 dan COM2. .2Laju data serial seringkali dinyatakb am kanal komunikasi merupakan laju tercepat dari pemindahan bit. Laju pemindahan bit kanal jaringan biasanaya lebih rendah dari laju baud.Keterlambatantersebutkarenabitekstraditambahkanuntuk keperluanpewaktuan.Dalamsistemkecepatantinggi, pemindahanjuga dipelambat oleh tundaan aktif proses pengolahan. DataserialdapatdimobilisasikanpadabB eyangdigunakandalamteknikkomunikasidataserialnull modem asyncronous adalah 300 bps sampai 19200 bps. 2Dalamkomunikasidataserialbe ung transmisi data yang dikemas dalam bentuk karakter. Dalam satu karakter diperbolehkan terdiri dari beberapa variasi umlah bit. Dari sekian variasi yang diperbolehkan diantaranya adalah terdiri dari 7 bit dan 8 bit (panjang data karakternya saja). Kedua variasi ini adalah yang paling seringdigunakandalamkomunikasiserial.Tetapimeskipundemikian tidak menutup kemungkinan jika diinginkan untuk menggunakan variasi jumlahbityanglainasalkanmasihdiperkenankandalampenulisan inisialisasiperalatanserialyangbersangkutan.dalamkomunikasiserial. Tetapimeskipundemikiantidakmenutupkemungkinanjikadiinginkan untukmenggunakanvariasijumlahbityanglainasalkanmasih diperkenankandalampenulisaninisialisasiperalatanserialyang bersangkutan. 2Bitparityke nsederhanadalamprosestransmisidatadigital.Pemakaian parityiniakandiikutsertakandalamprosespenulisaninisialisasi peralatan serial yang bersangkutan. Bit pariti ini akan diletakkan setelah susunan bit data. Kemungkinan dari jenis pariti ini ada tiga macam , yaitu paritiganjil,paritigenapdantanpapariti(tidakdiikutkandalam pemeriksaan kesalahan). Level digital dari. 2Gambar2.3adalahgelakang CPU. Pada komputer IBM PC kompatibel biasanya kita dapatmenemukanduakonektorportserialDB-9yangbiasadinamai 12 Gambar 2.6 Konektor serial DB-9 pada bagian belakang CPU T abel 2.1Konfigurasi pin dan nama sinyal konektor serial DirectionKeterangan NomorNama PinSinyal 1DCDIn Data Car eceived Line Sinyal Detect rier Detect / R2RxDInReceive Data 3TxDOutTransmit Data 4DTROutDat dya Terminal Rea5GND-Ground 6DSRInData Set Ready 7RSTOutReq nduest to Se8CTSInClear to Send 9RIInRing Indicator Keteranganmengenaifungsisalu nRS-232padakonektorDB-9 adalah sebagai berikut: eDTEbahwapadaterminalmasukanadadata masuk. Receive Data,digunakan DTE pada saat menerima data dari DCE. raReceivedLineSignaldetect,dengansaluraniniDCE memberitahukank 13TransmitData,digunakanDTEpadasaatmengirimkandatake DCE. DataTe rminalReady,padasaluraniniDTEmemberitahukan cator, pada saluran ini DCE memberitahu ke DTE bahwa saluraniniDCEmemberitahukanbahwa iakandiberikanteoridasaryangmelandasipermasa- dasa kanmeliputi:terminologiantena,yangmemberikan defi si dan klasifikasi tentang antena yang telah berkembang sampai saat ini. munikasi serial pada Mikrokontroller Padamikrokontrollerterdapatparameter-parametersetupwindow rameterMSComm. Param2. . pen maka untuk 2 aiconnectori ahanyamenggunakan3pinsaja, kesiapan terminalnya. Signal Ground, merupakan saluran ground. Ring Indisebuah stasiun menghendaki hubungan dengannya. CleartoSend,denganDTE sudah dapat memulai pengiriman data. RequesttoSend,dengansaluraniniDCEdimintamengirimdata oleh DTE. DCE Ready, merupakan sinyal aktif yang menunjukkan bahwa DCE sudah siap. Padababinlahan dan penyelesaiannya yang diangkat dalam proyek akhir ini. Teori ryangdiberiniSelanjutnya, diberikan tentang pola radiasi dan faktor array, arti dan perlunyapembentukanpolaradiasi(beamforming),teoriresiprositas (reciprocity),teoritentangantenaarrayuntukkonfigurasilinierdan planar.Padabagianlain,diberikantentangalgoritmagenetikadan aplikasi-nya untuk menyelesaian optimasi dalam suatu permasalahan. 2.3.4 KoKomunikasi antara PC dengan mikrokontroller adalah komunikasi serial dimana menggunakan RS-232 sebagai connector interfacenya. yangharusdisetsesuaidenganpaeter-parameter tersebut antara lain: 1.Transmission Speed: pilih 2400. Data length: pilih 8 bit sebagai bit datanya. 3.Stop bit: pilih 1. 4.Parity check: pilih NONE.5.Flow control: pilih NONEUntuk melakukan giriman data ke mikrokontroller RS- 32sebag nterfacenyyaitu: 14 Gambar 2.7 Koneksi RS-232 pada mikrokontroller dan PC 5 Konektor Interface RS-232 KarakteristikdariRS-232memilikiketentuanleveltegang 2.3.an sebagai b1.Logika 1 disebut mark terletak antara -3 Volt hingga -25 Volt. letak antara +3 Volt hingga +25 Volt. 3.D daerah tegangan yang tidak memiliki level logika pasti pada perikut: 2.Logika 0 disebut space teraerahteganganantara-3Volthingga+3Voltadalahinvalid level, yaitusehinggaharusdihindari.Demikianjuga,levelteganganlebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232 Gambar 2.2 berikut ini adalah contoh level tegangan RS-232 pada engiriman huruf A dalam format ASCII tanpa bit paritas. Gambar 2.8 Level tegangan RS-232 pada pengiriman huruf A tanpa bit paritas 6DSR 2RxD 4DTR 1DCD 8CTS M okontrollerPC 2RxD 3TxD 5GND ikr9 pin 3TxD5GND 7RTS 9pin 152.3.Komunikasiseria akankomunikatoryang menghubungkanantaraterminaldat darisuatuperalatandanperalatan i menjalankan pertukaran data biner secara serial. Sedangkan IC yang jugamenyediakanpemrosesandatadan protocol6 IC serial MAX 232 lRS232merupaindipakaiuntukkomunikasi ,sedangyanglainberupainterfacekejalurkomunikasisecara fisik.Bagianyangmenanganikomunikasidapatdihubungkandengan berbagaiaplikasiyangberhubungandenganelektronik,tetapimemiliki kondisiarusdanteganganyangtakmenentu.ICserialRS232dipakai sebagai interface (antar muka) dari PC ke perangkat luar (level TTL) atau sebaliknya dariperangkatluar kePC.TeganganyangadapadaRS232 berbeda dengan level tegangan digital. Tegangan RS 232 tersebut antara +3voltsampaidengan+25voltuntuklogika0dan-3voltsampai dengan-25voltuntuklogika1.Teganganyangcukuptinggiini mengakibatkan data dapat ditransmisikan cukup jauh. Gambar 2.9Interface MAX 232 IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5 volt.kakike-16digunakansebagaiinputtegang (Vcc),kakike-15 sebagai Ground (G gai input RS-232, sedangka kaki7dan14sebagaioutputRS-232.RS-232merupakan suatanND). Kaki 8 dan 13 digunakan sebanuinterfaceyangdigunakanuntukmenghubungkanantaraterminal datadarisuatuperalatandanperalatankomunikasidatayang menjalankan pertukaran data biner secara serial. 162.3.7 Pengaksesan dengan menggunakan control MSComm KontrolMSCommmenyadiakanfasilitaskomunikasiantara prog m aplikasi yang kita buat dengan port serial untuk mengirim atau menerimadatamelaluiportserial.SetiapMSCommhanyamenangani yakport serial menentukan port mana yang akan digunakan. SettiramdahuTeknikrupakanmetodedanteknikdalam embuat menu utama program. Menu utama program berisiskan tentang ram utamanya dengangambarataugrafikyangmenerangkan nerja dramaplikasiyangberoperasidalamlingkungan indows.BahasapemrogramanVisualBasic6.0merupakansebuah dancanggihdalamhampirsemua spek.V rasatuportserial,kitajugaharusmenggunakanMSCommseban 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:Untukng:Untukmenentukansettingprotocolsesuaidenganparameter device. 2.4 Pemrog an Dan Database VISUAL BASIC 6.0 2.4.1 Pen luanperangkatlunakmemsemua parameter parameter dara yang digunakan pada progdandapatdilengkapiki ari sistem. 2.4.2 Dasar Teori Visual Basic 6.0 VisualBasic6.0merupakanperangkatpengembanganuntuk menghasilkanprogwbahasapemrogramanyangtangguh a isualBasicbisadisebutperangkatpengembangyangmampu dengan mudah dan cepat menghasilkan program aplikasi. Dengan VB 6.0 inidapatdibangunsuatuprogramaplikasidalamtatananGUImaupun Console.GUI(GraphicalUserInterface)adalahkarakterkarakter programaplikasiyangmenggunakansaranaperantaragrafis.Seperti kotak dialog, tombol, menu dan sebagainya. Contoh program GUI adalah programyanghanyamenekankansegikemampuankerja,segi tampilannyakurangdiperhatikan,contohnyaprogramDOS.Dengan Visual Basic 6.0 dapat dengan mudah menyusun sebuah windows yang mengandungtomboltombol,kotak,cekdankomponenlainnyadengan mudah. 172.4.2.1 Pemakaian Komponen Komponenadalahsuatukesatuanpembentukaplikasiyang igunakan untuk merancang user interface program aplikasi. Komponen rbagimenjadidua,yaituvsiualdannon-visual.Komponenvisual isalnyatombolsedangkancontohyangnon-visualadalahprintkotak enmemilikiatributtersendiridalam elakuk dtemdialog.Masingmasingkomponm an aksi kendalinya. 2.4.2.1a MenuMenu 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

182.4.2.1b Toolbar Standart Gambar yang mewakili suatu perintah Paste Project Explorer Open Menambah Project Menambah Form Menu Editor Cut Save Copy Stop ProgramForm Tool Box Propertise /Close Gambar 2.11 Tool tool standart pada Visual Basic 6.0 192.4.2.1c Tool Box Komponen Visual Basic yang akan ditempatkan pada form.

PointerPicture Tex Box Label Commond ButtonFrame Check BoxOption Button List Box VScrollBaCombo Box r HScrollBar Drive List Box Timer File List Box D ar 2.12 Tool Box didalam V l Basic 6.0 Beri ialahketerangandarimasingmasingToolBoxyang u tampdefault dari Visual Basic. Pointer: Mengklik suatu obyek. Label: Sebagai keterangan tanpa proses input. d Buttox dari satu utton oxgsung ox ir List Box Shape OLE Image Line Data Gamb isuakut ditampilkan pertama kali ata ilanPicture: Menyisipkan gambar pada form. TextBox: Dipakai untuk input atau output data. Frame : Untuk mengelompokkan Control Comman on : Tombol perintah Check B : Untuk memilih pilihan yang lebih Option B : Untuk memilih salah satu pilihan Combo B : Membuat daftar pilihan secara dropdown List Box : Membuat daftar pilihan tampak lan Hscroll Bar: Horisontal scroll bar Vscroll Bar: Vertikal scroll bar Timer: Mengatur waktu Drive List Box: Membuat daftar drive Dir List B : Membuat daftar direktori File List Box : Membuat daftar file 20 Shape: Membuat bentuk lingkaran, kotak dll le oltool yang ilakuka nganm trl+T.Ataupilihanmenu roject nt. .4.2.1d Control (Tool Box) ada 2 cara1.Click salah satu Control dan drag pada form dengan posisi dan tertentu. 2. Kemudian atur posisi dan ukurannya. Line : Membuat garis Image: Menyisipkan gambar Data : Menyisipkan data base OLE: Prosses Embeding FiApabilato yanglainingin ditambahkanmakastepd nialahde enekantombolCPCompone 2Form Tempatuntukmeletakkankontroldansebagailayarsecara visual Cara menempatkanukuranDouble Click salah satu Control maka akan tampil pada form. Contoh pemakaian Control pada form yaitu : Frame Label Gambar 2 lan Tool Box didalam Form Vis .0 .13 Tampi ual Basic 6Data Option Button Check Box HScrollBar List Box Option Button VScrollBar Combo Box Timer Dir List Box Tex Box File LisBox t 21Untuk menjalankan program aplikasi anda dapat melakukannya telah menyimpan program aplikasi yang telah dibuat, jalankan dengan me at jugamenjalankanprogramaplikasi enganmengklikiconStartseperti pada gamsemilih menu Run lalu Start atau tekan tombol fungsi F5. Anda dapdbar dibawah

ar 2.14 TombEksek si Program Setelahdijalank ndapatkanhasiltampilan rogram yang sedang berjalan seperti gambar dibawah Gamb u ol anandaakanmep Gambar 2.15 Tampilan Saat Dieksekusi UntukmembuatfileEXEdariprogramaplikasiyangsudah dibuat, sehingga dapat dijalankan langsung oleh MS-Windows, misalnya lewaticonSta ram(setelah itambahkan dalam setting taskbar). Untuk membuat file berekstensi dot EXE darirtlalurun,ataulewaticonStartlaluprogd program aplikasi, caranya secara singkat adalah sebagai berikut 1.Pilih menu file2.Pilih Make .exe Icon End Icon Star Icon Break (Pause) 223.Tentukan nama file (misal dapur.exe) dan lokasinya dalam drive 4.TentukanpilihanpilihanpembuatanfileEXEjika lik tombol Options), kemudian 2.4.2.1ejProjprogram apli diri. Project disimpan dalam file berakhiran .VBP ada versi sebelumnya berakhiran .MAX). File ini menyimpan seluruh asukpilihanproyek,pilihanenvironment, pilihan fFolders. penyimpananfile).Berikutmerupakancontohgambardari kopdikehendaki (dengan mengkklik Ok. Pro ect Explorer ect adalah sekumpulan modul. Jadi project (proyek) adalah kasi itu sen(pkokmponenprogram,termile EXE dan segala sesuatu yang berhubungan dengan proyek. Jikaandamembuatprogramaplikasi,akanterdapatjendela proyekyangberisisemuafileyangdibutuhkanuntukmenjalankan program aplikasi MS Visual Basic 6.0 yang dibuat. Pada jendela proyek terdapattigaiconyaituViewCode,ViewObject,daniconToggle Icon View Code dipakai untuk menampilkan jendela editor kode program. Icon View Object dipakai untuk menampilkan bentuk formulir (form)daniconToggleFoldersbergunauntukmenampilkanfolder (tempat lom roject. Gambar 2.16 Tampilan Jendela Project 2.4.2.1fPropertisePropertisedigunakanuntuk menentukansettingsuatuobjek. Suatuobjekbia dapatdiatursanyamempunyaibeberapapropertiyang 23la sungdarijendelaPropertiseataulewatkodeprogram.Setting ukancarakerjadariobjekyangbersangkutansaat programngpropertiakanmenent 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,jikakitainginme buatsuatauprogrammanajemen database, kita m ile database i dibuat satu kali saja dan tidak perlu langsung diisi recordnya (dibuat yasaja).Selanjutnyafiledatabasetersebutdiproses wat precara terbatas, terutama untuk membuat dan engediukpertamakalinya,makamungkin memerlukan file database yang akan diproses. Finstrukturdatabasenle ogram. Untuk membuat file database, anda dapat menggunakan programVisualDataManager(VisData)atauprogramlain,misalnya program Microsoft Access. VisualDataManageradalahsuatuprogramadd-ins,yaitu programterpisahyangditempelkandalamMSVisualBasic6.0, sehinggabisadipakaisebagaibagiandariMSVisualBasic6.0.Visual Data Manager akan dibahas sm t struktur database.Cara memanggil Visual Data manager adalah sebagai berikut : 1.Pilih menu Add-Ins pada menu utama MS Visual Basic 6.0 2.PilihVisualDataManager.JikaandamemanggilVisual DataManageruntMS-VisualBasic6.0akanmemintaandamenambahkansuatusetting.UntukituharusdapatmemberitahuMS VisualBasic6.0letakfileyangakandiupdate,yaitu biasanyafilebernamaSistemyangterletakpadadirektori C:\WINDOWS\SISTEM. 243. 2.4.2.2a mMSdatabase, yai ase Microsoft Access, Microsoft Exel, DBase, FoxPro,Paradox,ODBCdanfileteks.Padapembahasansekarangkita databaseMicrosoftAccessaja.Untuk embuatuk memberikan nama file dan lokasi data bahwasatufiledatabasedapat kan AkanmuncultampilanprogramVisualDataManager sepertigambardibawahinidanandalangsungdapat memakainya. Me buat Database Visual Basic 6.0 dapat menangani bermacam macam format tu format databakanmembatasipadaformat m tdatabasedenganformatdatabaseMicrosoftAcces,lakukan langkah langkah berikut ini : 1.Pilih menu File lalu New 2.Pilih Microsoft Acces lalu pilih versi yang diinginkan. 3.SetelahituakanmuncultampilansepertiGambar2.19yang meminta unakandisimpan.Perhatikanberisibeberapatabeldatabase.Jadi,misalnyakitaamembuat tiga tabel database. Untuk data Pembelian, maka andadapatmemberinamadatabasenyaBeli.MDB,yang nantinya dapat berisi tabel Barang. Gambar 2.18 Membuat Database 25 Gam ase 4.Setelahditentukannamadatabasenya,pilihlahSave sehingga muncul tampilan seperti pada Gambar 2.20 5.TunjuktulisanPropertilaluklikkanan,sehinggamuncul menutambahan,lalupilihNewTablesampaimuncul tampilan seperti Gambar 2.21 bar 2.19 Menentukan Nama Datab Gambar 2.20 Jendela Database 26 Gambar 2.21 Menentukan Struktur Tabel Database 6.Ketik tulisan Barang pada Table Name7.Klik Add Field untuk menambahkan field (kolom), sampai muncul tampilan seperti Gambar 2.22 8.KetikKodepadakolomNamesebagainamafieldyang pertama. Field ini nantinya akan diisi data kode barang. 9.PilihTextpadakolomTypeuntukmenentukantipedata 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 bersifattetap,sehinggatidakdapatdiubahpadasaat program dijalankan. 12.Klik OK 13.Ulangilangkah8sampai12untukmenambahkanfield Nama (tipe Text, lebar 30), field Satuan (tipe Text, lebar 5) dan field Harga (tipe Single) 14.KlikClosesampaimuncullagitampilansepertipada Gambar 2.21 15.Klik Built The Table. 16.KlikClosesampaimuncultampilansepertiGambar2.20. Jika ingin keluar dari program Visual Data Manager, maka dapat dilakukan denga memilih menu File lalu Exit. 2.4.2.2b Memodifikasi databasepir samadefiledata baseData Manage la seperti di bawah ini. n Cara memodifikasi database yang sudah ada dalam disk hamngancaramembuatnya,yaitudenganmembukakembalinama melaluiVisualBasickemudian di panggilmelaluiVisual r hingga tampil jende Gambar 2.23 Proses Untuk Memodifikasi Database 28Untukmenampilkanjendelasepertidiatassudahdijelaskan sebelumnya. Jadi pada sub bab ini tidak perlu dijelaskan kembali proses awalnya. 2.4.2.2c Menambah index data Index dataadalah urutan datapadasuatutabel database. Index datadiperlukanterutamauntukpencariandatadengancepatdan pengelompokandata.Untukmembuatindexdatacaranyahampirsama denganmemodifikasidata.PertamaialahmemanggilprogramVisual Data Manager dengan memilih menu Add-Ins lalu Visual Data Manager. Kemudian pilih menu File lalu Open Database kemudian pilih Microsoft AccesskarnaVisualDataManagermerupakansourcedariMSAccess sehingga tampil jendela seperti Gambar 2.19 Klik pada file database yang diinginkanlalu pilih open, tunjuk pada nama table yang dikehendaki laklik kanan dan dilanjutkan dengan memilih2.21. emudianklikaddindexsampaimuncultampilansepertigambar bawahluDesignsampaimuncultampilansepertiGambarKdiini. Ketik nama index (misal KodeBrg) pada kolom Name. Gambar 2.24 Menambahkan Index Data Didalam Database SelanjutnyaklikkunciindexpadakolomAvailableFields. Perhatikan bahwa anda dapat menggunakan beberapa field sebagai kunci index,misalnyajika kitamemilikidataBeli,makadapat membuatsatu urutandata(index)berdasarkunciindexkodebarangsebagaikunci pertama dan tanggal faktur sebagai kunci ke dua. Dengan demikian, data 29Beliakanterurutberdasarkodebarangdandiantarakodebarangyang sama, akan terurut berdasar tanggal faktur. TentukanpilihanPrimary,UniqedanIgnoreNulls.Pilihan Primarydipilihjikaindexyangsekarangadalahindexprimary,yaitu index yang memuat satu atau lebih field dan bersifat unik (tidak ada yang samadalamsatutabel).Kunciprimaryinibiasadigunakansebagai pengenal suatu record jika tabel yang bersangkutan dihubungkan dengan tabellain.Ingat,dalamsatutabelhanyabolehadasatuprimarykey. Pilihan Uniqe dipilih jika ingin index bersifat unik dan pilihan IgnorNulls jikafieldyangkosongdiabaikan.KemudianklikOK.Bilaingin menambahkan index lain, maka proses selanjutnya adalah sama dengan proses pembuatan index yang pertama dan hanya boleh ada satu primary dalam satu table. Untukmenambahtabeldatadalamsatufiledatabase,proses angdigunakanadalahsamasaatpembuatantabelyangpertama. Beda kup embuka file database yang diinginkan, kemudian tinggal ditambahkan datynyahanyalahtidakperlumembuatfiledatabasenya,tetapicumtabel ayangbaru.Berikutmerupakancontohgambarsuatuproses 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 padaPropertieskemudianklikkiridiNewTable.Selanjutnyatinggal menambahkan nama nama database seperti pada proses awal. 302.4.2.2d Mengaitkan Data ke dalam Form Untuk dapat mengakses suatu database dalam suatu form, maka atabasetersebutharusdikaitkankedalamform.Untukitu,dapat digunakaniconAdodc(MicrosoftActiveXDataObjectsData Control)padatoolbox.JikapadatoolboxtidakterdapaticonAdodc, makadapatditambahkandenganmemilihmenuProject,Components (Ctrl+T)laluberitandapilihpadaMicrosoftADODataControl (OLEDB)danklikApply.Padaversisebelumnyayangdigunakan 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 sepertiGambar2.26.Objekyangtergambardalamform disebut objekData d. Gambar 2.26 Mengaitkan Database ke Dalam Form 314.Tentukan properti data sebagai berikut : Table 2.2 Untuk Tool Adodc pada gambar Gambar 2.25 PropertiSetting NamedbBeli CaptionData Barang EOFAction2-adDoAdNew 5.TentukanProperti Co ectionString dengan cara mengklikuncul nntombol.PadakolomConnectionStringsehinggamtampilan 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 Next8.Pilih dengan mengklik tombol ... atau ketik nama database yang dipakai pada kolom Select or enter a database name. 9.KlikTestConnectionjikaperlu,laluklikOKduakali sampai tampilan kembali ke jendela Form. 10.TentukanpropertiRecordSourcedengancaramengklik tombol...padakolomRecordSourcesehinggamuncul tampilan seperti pada Gambar 2.28 3211.PadakolomCommandTypepilih2-adCmdTable. Setelahkolominidiisi,makaakandapatandaakandapat mengisikolomTableorStoreProcedureName.Isilah dengan memilih tabel Barang seperti pada Gambar 2.28 12.Klik OK Sampaidisini,tabeldatabaseBarangpadafiledatabaseBeli sudah terkait dengan form dan siap diakses dengan menggunakan objek objek yang tersedia. Gambar 2.28 Menentukan properti RecordSource aman Bahasa C 2.5 Pemrogr2.5.1 Pepemrogramapanjang.Muprogramyangle oleh satu macam arsitektur komputer saja seperti yangdisebutkansebelumnya.Jikakitadapatmembuatprogramyang dapatberjalandiberbagaimacamarsitekturkomputermakaituakan mempercepat pengembangan software. Namun demikian, itu tidak berarti bahwa setiap program yang ditulis dengan bahasa C akan dapat berjalan pada semua mesin ndahuluan BahasaCadalahbahasatingkatmenengah.Padabahasa nini,machinecodedihasilkanmelaluitahapyanglebih ngkinandabertanya,kalauorangsudahbisamembuat bler.BahasaCkarenadenganmembuatbahasa denganassemvelnyalebihtinggi(lebihdekatkebahasamanusia)maka pengembanganperangkatlunak(software)akanlebihcepat,masihada satualasanlagidanmungkinyangterpentingyaitubahasaassembly hanya da at dieksekusi p 332.5.2Alasan 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,kitatidakdapatatausangatsulitmenggunakanbahasa pemrograman selain C 2.Beberapasoftwaremembutuhkankinerjayangtinggidari 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 iniadalahdarisegikompleksitaspemeliharaandanpengembangan softwareyangkitabuat,jikasoftwaretersebutsudahcukupkompleks. Sebagai contoh, software ExploChip pada artikel Tutorial M buat 5.3 Pengbentukdasar(biasanyakata)yangdapat mpiler.Padabagianiniakandibahas kurungpadadirektori-direktori mencari file test.h pada direktori test. em2. enalan Sintaks Bahasa C Sintaksadalahsuatu dipahamidandiolaholehcobeberapa sintaks yang umum digunakan dalam bahasa C, selain itu akan dijelaskanbagaimanacarakerjacompilerCsecaraumum.Sebelum melangkahlebihjauh,perluandaketahuibahwaCadalahbahasa pemrogramanyangcasesensitive,sehinggavar,Var,danVARadalah tiga hal yang berbeda pada bahasa C. 2.5.3.1 Keyword #include Keyword ini membuat kita seakan-akan telah mengetik isi dari fileyangdicantumkansesudahkeywordtersebut.Misalnya:#include< stdio.h > akan membuat preprocessor mengekspansikan file stdio.h pada tempatkeyword#includetadidiketikkan.#includemempunyaidua macam bentuk yaitu #include dan #include "..." , titik-titik tersebut adalah nama file. #include akan membuat preprocessor mencari file yangnamanyadicantumkandidalam yangtelahdidefinisikanolehsoftwaredevelopmenttoolyangkita gunakan,misalnyapadadirektoryINC,INCLUDE,danlain-lain. #include"..."akanmembuatpreprocessormencarifileyangnamanya dicantumkan di dalam tanda petik ganda pada direktori file yang memiliki keyword#includetersebut.Misalnyaandamengerjakanfiletest.cyang ada pada direktori bernama test, dan anda mengetikkan #include "test.h", maka preprocessor akan 342.5.3.2 Kstanta yang akan kita gunakanng ikosongkan, maka identifier tadi akan hilang dari source code program tifier menjadi tidak dikenali sebab tidak meler).Jikaekspresitersebutbenar aka baris-baris source code sesudah #if akan diolah dan sebaliknya jika lah.Keywordiniharusdigunakanbersama dengan rmatnya: ifdef identifier, identifier adalah sebuah konstanta. Jika identifier telah ngankeyword#define)makabaris-baris sourceceyword #define Keywordinimempunyaiformat:#defineidentifier token-stringopt. Identifier adalah nama sebuah kon dalam program kita, dan token-string adalah nilai dari identifier tersebut (nilai ini harus dapat dikenali oleh compiler), token-string dapat merupakansebuahekspresi6.Preprocessorakanmenggantisetiap kemunculanidentifierdengannilaipadatoken-string.Jikatoken-stridkita (pada baris-baris selanjutnya, idenmiliki nilai lagi). 2.5.3.3 Keyword #if Keywordinidigunakanuntukmenentukanpengolahan baris-barissourcecodesesudahnya,sampaidengankeyword#endif. Formatnyaadalah:#ifexpression,expressionadalahsebuahekspresi yangvalid(dapatdiolaholehcompimekspresitersebutbernilaisakeyword#endifuntukmenandakanbataspenggunaankeyword tersebut dalam source code. Contoh: #define TEST 2 #if (TEST > 0) ... baris source code; #endif Padapotonganprogramdiatas,barissourcecodeakandiolah sebab ekspresi TEST > 0 adalah benar. 2.5.3.4 Keyword #ifdef Keywordinipenggunaannyasamadengan#if.Fo#didefinisikansebelumnya(deodesesudah#ifdefakandiolaholehkompiler,demikianpula sebaliknya.Keywordiniharusdigunakanbersamadengankeyword #endifuntukmenandakanbataspenggunaankeywordtersebutdalam source code 352.5.3.5 Keyword #ifndefKeyword ini mempunyai format yang sama dengan #ifdef, tetapi carakerjanyaadalahkebalikandari#ifdef,sehinggajikabaris-baris program esudahnyajustrudiolahjikaidentifiertidakdidefinisikan niharusdigunakanbersamadengankeyword #endifu2.5.3.7 Keyword #undef menonaktifkanidentifieryangtelah didefinis fine,efeknyasamadengan#defineidentifier. Dengandemikiankitadapatmendefinisikankembaliidentifiertadi setelah #2.5.3.8 Keyword #else ada keyword #if, #ifdef, #ifndef benarm urcecodesesudah#else,tidakakandieksekusi,demikian baris source code2; #endifPadapotonganprogramdiatas,barissourcecode2; TEST > 0 adalah salah. repocessor menjadi bahasa assembly yang selanjutnya akan ssebelumnya.Keywordintukmenandakanbataspenggunaankeywordtersebutdalam source code 2.5.3.6 Keyword #endifKeywordinisebagaipembatasuntukmenadakanbagianakhir darisourcecodeyangakandikenaiefekjikakeyword#if,#ifdefdan #ifndef dievaluasi. Keyworduntukikandengan#deundef. Keywordinidigunakandiantarakeyword#if,#ifdef,#ifndef dengan keyword #endif. Jika ekspresi pakasopula sebaliknya.Contoh: #define TEST 0 #if (TEST > 0) ... baris source code1; #else ...

akan diolah sebab ekspresi 2.4.5 Perintah Perintah Dalam Bahasa C 2.5.4.1 Compiler Compiler adalah bagian dari Software Development Tool yang kitagunakan,yangbertugasmenerjemahkansourcecodeyangtelah diolah oleh p 36diolaho hassembleruntukdijadikanmachinecodeyangdapat asaCadalahsebuahbarisprogramyangdapat diproses oleh compiler. Pernyataan diakhiri dengan tanda ; (titik-koma). isibeberapaekspresi,operatormaupun operandadiperlakukansepertisebuahpernyataanbiasa,halini terutama bergunasaatandaakanmengatureksekusisekelompok h percabangan seperti contoh di bawah ini: ernyataan 3; alamkurungsesudahif(ekspresia>b) bernilainyataandidalamkurungkurawalakan diekseku benarnyakeywordifhanyadapatmengeksekusisatu pernyata ngdiujiolehnya(padacontohdiatas ekspresi mun dengan adanya kurung kurawal, pernyataan 1 s/d pernyataan3seolah-olahdianggapsatupernyataansajaolehcompiler yang kitAdalah sebuah simbol yang mewakili sebuah alamat di memory ma tersebut dan mempunyai kuraninidisebuttipedata.Tipedatayangberbeda kemungdata NamaVariabel ontoh: int variabel1; dalah tipe data dan ukurannya. int, unsigned int 4 int a = -255 ; unsigned int b = 10 ledieksekusi. 2.5.4.2 Pernyataan DalambahSetiappernyataandapatber. Contoh: return; Sekelompokpernyataanyangdisatukandalamsebuahkurung kurawal(kadangdisebutsebagaiblockofstatementataublok pernyataan)jug pernyataan dalam sebuaif (a > b) { pernyataan 1; pernyataan 2; p}jikaekspresididbenarmakaseluruhpersi.Seansesudahekspresiya a > b), naa gunakan. 2.5.4.3 Variabel yang nilainya dapat dimanipulasi melalui naukurantertentu.Ukinanmempunyaiukuranyangberbeda.Sintaksuntuk mendeklarasikan(menyatakanpertamakaliadanyasebuahvariabel) adalah: tipe-CBerikut ini aTipe data Ukuran (byte) Contoh bool 1 bool a = true ; bool b = false 37char, unsigned char 1 char a = -1 ; unsigned char b = 1 long, unsigned long 4 longc=0xFF;unsigned long d = 0xFFC short, unsigned short 2 shorte=0xFFF;unsigned short f = 067 float 4 float g = 0.001 double 8 double h = 1.02e8 double 8 long double h = 2.42e10 e bool hanya mempunyai dua nilai yaitu true atau false, jad pat mengisinya dengan nilai ini. dimiliki oleh operator tadi.n if (ekspresi1) . 2; Pada sourcecode ini, pertama-tama, if akan mengecek ekspresi1 , jika bena n ksekuh ke else if (ekspresi2), else if akan mengecek ekspresi2, jika eksp ecoakanram berpindah ke sourcecode3. Pada format di atas, else if long Variabel bertipi anda hanya da2.5.4.4 Operator Operatoradalahkarakterataukumpulankarakteryang digunakanuntukmemanipulasivariabel.Karakterataukumpulan karakter ini dikenali secara spesifik oleh compiler sehingga variabel yang diubah-ubahnilainya(operand)akandikenaioperasisesuaidengan definisi operasi yang 2.5.4.5 PercabangaPercabangan(ControlFlow)adalahteknikyangdigunakan untukmengalihkaneksekusiprogramsaatsuatuekspresiyangdiuji bernilai benar atau salah. Pertama, akan dibahas percabangan dengan if, elseif, danelse.Bentukpercabanganiniadalahyang palingsederhana. Format penggunaannya adalah: ..sourcecode1; else if (ekspresi2) ... sourcecodeelse ... sourcecode3; r maka sourcecode1; akadie si, jika tidak, maka eksekusi program berpindaresi2 benar maka sourc de2dieksekusi, jika salah maka eksekusi prog 38sebenarn ional(bol gatidak),jikaandahanya memilik atifagianelseiftidakperlu digunaka2.5.4.6 Punakanuntuk engatasipernyataanprogramyangharusdikerjakansecara rulangandalamCdapatdiimplementasikandengan beberapa... _ulang; rogramkembalilagikepernyataanfor daneksp evaluasi(ekspresi1tidaklagidieksekusi),jika benarm source_code_ulang;dieksekusi,setelahituekspresi3akan diekseku lannya program kembali lagi ke pernyataan for , hal ini d lang selama ekspresi2 masih bernilai benar.2.5.4.7 F nput dan Output tutorialiniada2buahfungsiinputdanoutputyang digunaka penulisakanmenjelaskannyaagarandatidakbingungsaat mempel deyangdiberikan.Fungsiyangpertamaadalah fungsioimal: t test = 10; h bilangan yang ingin ditampilkan: %d",test); yaops ehadabolehjuiduaaltern "jawaban"makabn. erulangan Perulanganadalahteknikpemrogramanyangdigmberulang-ulang.Pe keyword, yaitu for, do .. while , while . Ketiga keyword ini lah yang paling sering digunakan. Perulangan menggunakan for mempunyai format sebagai berikut. for( ekspresi1 ; ekspresi2 ;ekspresi3 ) {

source_code} padasourcecodediatasekspresi1adalahekspresiyangakan dievaluasipertamakali,kemudianekspresi2dievaluasi,jikanilainya benarmakasource_code_ulang;dieksekusi,setelahituekspresi3akan dieksekusi,kemudianjalannyapresi2kembalidiakasi, kemudian jailakukan berulang-u ungsi untuk IPadan, ajarisourcecoutput,yaitufungsiyangdigunakanuntukmenampilkanhasil yangdiperolehdariprogramkitakelayarkomputer,fungsitersebut adalahintprintf(constchar*[format],[argument]...).Andatidakperlu bingungmenggunakanfungsiyangagakkompleksini,andacukup mengganti [format] dengan petik ganda dan di antara petik ganda tersebut andatuliskankata-katayanginginditampilkan.[argument]adalah opsional.Berikutinicontohpengunaannyauntukmenampilkansebuah bilangan desinprintf("inila 39Pada source code di atas, di antara tanda petik ganda diketikkan kata-kata yang ingin ditampilkan. Tanda %d adalah sebuah kode khusus untukmemberitahukanfungsiprintfbahwakitainginmenampilkan bilanganinteger(untuktandayangharusdigunakansilahkanlihat dokumentasicompileryangandagunakan,untukVisualC++gunakan MSDN)padaposisitersebut,bilanganyanginginkitatampilkan kemudia t]darifungsiprintf.Jika andain menggunakanlebihbanyakangkalagi(yangberbeda posisinydipisahkan karakter lain) maka anda cukup menmbah lagi [argume anda seperti %d di atas pada posisi yang anda ingi an. lasan mengapa pointer diperlukan, yaitu: rlumengubahisidarisebuah variabel taketahui,sebabsebuahfungsihanyamungkin mempun lue (baca kembali bagian fungsi). ndiletakkan pada parameter[argumengina dannt] dan meletakkan pennk 2.5.4.8 Pointer dan Array Pointer adalah salah satu konsep yang paling sulit dipahami oleh programerpemuladalambahasaC danC++.Untukmemahamidengan baikbagaimanapointerbekerja,andaharusbisamembayangkan pergerakanvariabel-variabelantaramicroprocessordanmemoriutama, danakanlebihbaikjikaandatahubagaimanasistemoperasisemacam windows mengorganisasikan memori.A 1.Dalamkasustertentukitapeyang sebenarnya, kita tidak bisa melakukan hal ini dengan fungsi seperti yang telah kita pelajari sebab fungsi tersebut hanya memanipulasi "kopian"darivariabelyangsebenarnyainginkitamanipulasi(yangdi 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 danmemanipulasinya,kemudianmengkopikembalihasilmanipulasi tersebut dari stack ke variabel aslinya. 3.Dalamkasussebuahfungsiyangharusmengembalikan2 ataulebihreturnvalue.Jelashalinitidakmungkindilakukandengan metodeyangtelahkiyai 1 return va 40 -------------- halaman ini sengaja dikosongkan--------------- BAB 3 PERENCANAAN DAN PEMBUATAN ALAT 3.1 Umum Pada pengerjaan proyek akhir ini, dibagi menjadi 2 bagian yaitu bagianMikrokontrolleryangmeliputisoftware/hardwaredanbagian databaseyangadapada 2PCdapur-kasir. Sebelummembahastentang perencanaan dan pembuatan, maka harus ada perencanaan yang matang agarsistemdapatdirealisasikandenganbaiksesuaitarget.Olehkarena itu perlu kita perhatikan juga hardware yang hendak dikontrol. 3.2. Perencanaan Sistem Kerja Prosespemesanandiawaliolehkonsumenyangmemasukkan kodemenuyangakandipesanmelaluikeypadyangditampilkanke dalamLCD.SetelahkonsumentersebutmenekantombolSENDpada keypad.DatatersebutkemudiandikirimmelaluiRS232menuju komputer yang ada di dapur. Kemudian dari komputer yang ada di dapur iniakanditeruskankekomputeryangadadibagiankasiruntukproses pembayaran.Komputerkasirmenampilkanmenuyangdipesandan kemudianmenjumlahberapatotalhargayangharusdibayaroleh konsumen.Totalpembayaraninikemudianakandiprint-outsebagai notauntukpembeli.PadaPCkasiriniterdapatberbagaitableyang dapat diakses, diantaranya adalah : Databasemasteryangberisitentangmenumenuyangadabeserta harga yang dapat dipanggil dalam form tampilan di PC. TabelPembelian,yaitutabelyangberisitentangdatabase pembelian.Disitumemuatberapabanyaknyapesananbeserta harganya yang juga diinter face kan dengan printer. Sisteminimenggunakanduabuahkomputer,satubuah rangkaianminimumMikrokontrollerAT89S51,satubuahLCD,dan satubuah keypad. Komputerdapurdalamhalinihanyalahsebagaipenerima inputan berupa karakter dari keypad yang menjadi satu program dengan LCDdanminimumsistem.Adapunbahasapemrogramanyang digunakanpadaPCdapurmaupunPCkasirialahVisualBasic6.0. 41 42Diagrambloksecarakeseluruhansepertitampakpadagambarberikut keypad Mikrokontroller LCD PC dapur PC kasir printer RS 232 RS 232 Gambar 3.1 Blok Diagram Sistem Pemesanan Sistem ini dibagi dalam beberapa subyaitu : 1.Pengendalipengirimandataberbasissistemminimum MikrokontrollerAT89S51.yaitumerancangperangkat pengontrolpengirimandatakePCdanmenampilkandata yang dimasukkan pembeli dari keypad ke LCD. 2.InterfaceserialRS-232padaPCdapur,yaitumenerima datadariminimumsistemdanmeneruskandatakePC kasir. 3.Software dan komunikasi data PC dapur ke PC kasir. Yaitu mengirimdataberupakarakterkePCkasiryangtelah memuatdatabasemenumenupesanan.Sertainterfaceke line printerPengendalianseluruhsistemterletakpadaMikrokontroller AT89S51.dimanaMikrokontrollerharusmampumengintegrasikan seluruhalamatkerjadarialatalatpendukungnyasepertimasukandari keypadyangselanjutnyadikeluarkanmelaluiLCDdandikirimmelalui kabel serial DB9 ke komputer. Kode dimasukkan melalui keypad berupa tomboltombolangkadari0sampai9ditambahtomboltombollain yangdapatdifungsikanantaralainuntukUP,DOWN,CANCEL, ENTER, SEND. 43 Berikutinimerupakanflowchartdarisistemyangdipakai dalam Proyek Akhir ini. Input/ Kirim DataTerima databaseDi Komp Dapur Kirim Data Buka Database / Olah Database di Komptr Kasir Print Data Start Buka DatabaseInput Data BaruSimpan Database / Reset Gambar 3.2 Flowchart KeseluruhanSistem 3.3 Perancangan Perangkat Keras Padabagianiniakandibahastentangperancanganperangkat keras yang terdiri dari Minimum Sistem, Rangkaian Keypad, Rangkaian LCD, dan konektor RS 232. 44 3.3.1PerencanaandanPerancanganAntarMuka(Interfaces) Dengan Mikrokontroller AT89S51 DalamproyekakhirinidigunakanAT89S51sebagaiinterface antara komputer server dengan memanfaatkan pin Tx, Rx yang ada pada AT89S51sebagaikomunikasiserial,makaAT89S51fungsinyaakan samadenganPPI8255tetapipadaPPI8255digunakankomunikasi paralel sedangkan AT89S51 menggunakan komunikasi serial. Gambar 3.3 Schematic Rangkaian Minimum AT89S51 3.3.2 Rangkaian Keypad Pembuatankeypad,disinidimaksudkanuntukmemberikan inputandaripembeli.Scanningkeypadyagdilakukanolehminsistem 45harusmampumenentukanposisidaritombolyangditekan.Setelah posisikeypadyangaktifdapatditemukanmakadatatersebutdiolah menjadidatadatatombolyangditekan.Dalamaplikasiinidigunakan satumacamscanningyangdigunakanuntukmendeteksikeypad4x4. gambar3.2menunjukkanflowchartscanningkeypadmatriksyang digunakandalamprogram.Scanningkeypadinimenggunakanmetode polling. Yaitu scan terus menerus hingga ada tombol yang ditekan. 46Cek kolom Kolom tombol ditemukan ?Cek baris Baris tombol ditemukan ?Data kolom dan baris diolah menadi tombol yang ditekan returnNNNYYYGambar 3.4 Flowchart scanning keypad dengan metode polling STARTCek semua tombolAda tombol diekan ? 47Keypadyangdigunakandalamaplikasiiniadalahkeypad matriks4x4(4barisdan4kolom).Berisikanangka0sampai9.dan6 tomboltyangtersisadimanfaatkanuntukCAN,ENTER,SEND,UP, danDOWNsedangkan1tombollagitidakdipakai.Untukmengenali bagiankolomdanbarisyangaktifmakakeypadinidihubungkan denganminimumsistemAT89S51.kemudiandibuatprogramyang dapatmengenalitombolyangsedangditekan.Programyangdibuat harus mampu mengenali setiap tombol yang ditekan sesuai perencanaan. Dan berikut merupakan bagian bagian dari keypad tersebut. 1 2 3 -Send4 5 6Up 7 8 9Ent Down0CanGambar 3.5 Susunan tombol pada keypad Berikutinimerupakangambaralokasipinpinoutputpada module keypad 4x4 beserta schematicnya tersebut. Gambar 3.6 Alokasi Pin Pin Pada Keypad 48 Gambar 3.7 Schematic Keypd 4x4 3.3.3 Rangkaian LCD Liquid Crystal Display (LCD) TM162ABC merupakan display yang digunakan sebagai tampilan informasi infomasi pada pemesanan.TM162ABC merupakan ssebuah dot matrik LCD yang berdaya rendah dengan sebuah High-contrash. Panel LCD memiliki pengontrol CMOS yang terdapat generator ROM / RAM dan display data RAM di dalamnya, semua fungsi display dikontrol oleh perangkat lunak dan dapat dengan mudah di interfacekan dengan unit mikroprosesor, berikut beberapa kelebihan yang dimiliki TM162ABC. Terdiri dari 16 karakter, 2 baris display 5x7 dot matrik + 5x1 kursor (1 karakter) Memiliki 192 karakter pada ROM dan 8 karakter pada RAM (penulisan program). 80x8 display data RAM (80 karakter) Interface dengan 4 bit dan 8 bit data. Display data RAM dan karakter RAM dapat dibaca dari unit mikroprosesor Terdapat beberapa fungsi perintah, display clear, cursor home, display on/off, display character blink, cursor shift, dan display shift. Memiliki rangkaian osilator di dalamnya, reset pada power-on Dengan catu daya tunggal + 4,7 Volt. 49 Gambar 3.8 Blok Rangkaian LCD Algoritmadasaryangdigunakandalamperencanaansubrutin kirim data ke LCD adalah sebagai berikut1.Tampilkan pesan pesan informasi2.Tampilkan menu menu pesanan 3.Tampilkan data data yang dapat ditampilkan seperti instruksi dari keypad. Berikut merupakan flowchart dari program LCD 50StartInisialisasiTampilkan pesan pesan inforamasi Tampilan menu utama Tampilan data sesuai instruksi keypad ReturnGambar 3.9 Flowchart Subrutin Kirim Data ke LCD OperasidasardariLCDtediridaribeberapaoperasiyaitu instruksiuntukmemasukkankodedanbanyakpesanandanmembaca kondisiapabilakodesalah,danmemprosesperbaikankesalahandalam memasukkan kode untuk diulangi prosesnya. Kombinasi instruktur dasar inilah yang memanfaatkan untuk mengirim data ke LCD.Padasaatsistemmulaidiaktifkanmakaprosespertamayang dilakukan minimum sistem adalah inisialisasi. Selama proses inisialisasi iniakanditampilkanbeberapapesanyangberhubungandenganproses tersebut.Setelahprosesinisialisasiselesai,makaLCDakan menampilkanmenuutamasecaraterusmenerussampaiadareaksidari pembeli.Sepertiterlihatpadaalgoritmadasarperencanaansubrutinini, 51makadatadatayangdapatditampilkanakanterlihatdiLCDselama eksekusi. 3.3.4PerancanganPerangkatKerasDownloaderMikrokontroller AT89S51 Rangkaianinidigunakanuntukmen-download-kanprogramke mikrokontrolleruntukpengontrolanarahputaranmotorstepper.PadarangkaianinidigunakanICMAX232untukmengisolasidansebagai bufferdatapadaparalelport.SelainitudenganpemanfaatanICjenis HCTinimemungkinkanprogrammeruntukbekerjasecaraoptimaldan akuratdenganparalelport.PemrogramansecaraInSystem ProgrammingadalahprogrammertidakperlumelepasIC mikrokontrollerpadawaktuakandi-download-kan,haliniberarti pendownload-anprogramdapatlangsungdilakukanpadarangkaian aplikasi.Yaitudenganmemanfaatkanpin-pinpadamikrokontroller AT89S51. IC AT89S51IC MAX 2321 uF/16 V1 uF/16 VDB 9 Gambar 3.10 Rangkaian Downloader ISP Flash 523.3.5 Konektor RS 232 UntukmengirimkanpesanandarimikrokePCialah menggunakansistemdupleksatauhanyasearahsaja.Bautrateyang digunakanialah2400bpsataudapatdipakaiyanglainasalkansinkron baikPCmaupunMikrokontrollernya.Padakonektorserialiniyang digunakan hanya 3 pin saja yaitu TX, RX dan ground. Pada Proyek Akhir inidibutuhkan2kabelserialyangsamasusunanyaitupinTXdanRX disusunsalingbersilangan(cross).Satukabeldigunakanuntuk komunikasiMinimumSistemdenganPCDapurdansatukabel 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 DalamperancanganProyekakirinikonsumendapatmemesan menumelaluimejakonsumenhanyadenganmemasukkankodekode melalui keypad. Datayangdimasukkanberupakodekodedarikeypadtersebut kemudiandikirimkandandikonversibentukbentukkarakteryang ditampilkandalamtexboxpadaVisualBasic6,dimanaVisualBasic tersebut difungsikan sebagai database. 3.5 Perencanaan Database Didalamperencanaandatabaseinimengacupadapencarian data dengan index Untuk melakukan pencarian dengan cepat diperlukan index data. Dengan adanya index data, maka data akan terurut sehingga pencariantidakharusberurutan,tetapidapatdenganmelakukan pencarian biner, yaitu selalu mencari data dengan cara membandingkan data yang dicari dengan data tengah suatu set data. Jika data tidak sama, makasetdataakandipecahlagidansesuaisetelahdipecah.Demikian seterusnya,sehinggalangkahpencarianakankecil(sedikit)dan didapatkankecepatanpencarianyangbaik(cepat),walaupundatanya besar. Untuk melakukan pencarian data dengan index data, anda dapat menggunakan metode berikut ini : Object.recordset.Seek , kunci1, kunci2.... Pernyataanadalahekspresistring=,>, >=, New > C Files 6.Tulislistingprogrampadakotakdialogyangmuncul setelah proses no 5 di atas. 7.SetelahpenulisanlistingprogrampilihmenuFile>Save, maka file yang disimpan tersebut akan berekstensi dot C ( .C )8.KarenauntukdapatdidownloadkeMikrokontrollerharus berekstensi.HEXmakaharusdiubahduludengan mengkompile program. 9.PadakotadialogProject,klikkananpadanamaproject yang dibuat dan pilih Add node Source /Aplication. Hal ini dilakukanuntukmemasukkanfiledotCkedalamproject. Cari file yang tadi dibuat dan pilih Open. 10.SetelahitupilihmenuProject>BuildAllatauklikpada ikon yang sudah tertera pada toolbar. 11.SekarangfiledotHEXdansiapuntukdidownloadke mikrokontroller. BerikutmerupakancontohtampilandariRide51yang membuka salah satu contoh program. Gambar 4.3 Contoh Tampilan Ride51 624.4 Proses Download ke dalam Mikrokontroller Padasubbabdiatastelahdijelaskanbagaimanamembuatfile yangberekstensidothex.Sekarangtinggaldijelaskanbagaimana programtersebutdidownloadkedalamAT89S51.Softwareyang dipakaiialahmenggunakanISP-FlashProgrammerVersion3.0a yangmerupakankeluarandariATMELyaitusebuahperuasahaanIC. Langkah langkahnya adalah sebagai berikut1.Siapkan rangkaian downloader dengan menghubungkan port pararel ke PC dan memberikan supplytegangan 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 read4.Setelah itu pilih tombol Write untuk memulai download ke AT89S51 5.ICsiapuntukdipindahkedalamrangkaian Mikrokontroller Berikutmerupakantampilansoftware downloader ISP-Flash Programmer Version 3.0a Gambar 4.4 ISP - Flash Programmer Version 3.0a 634.5 Pengujian Perangkat Keras Dalam proses ini modul modul yang akan diuji harus dirangkai sedemikianrupasehinggalayakdan bisadiujisecarasempurna.Modul modulyangharusdisiapkanadalahkeypad,LCD,MinimumSistem AT89S51danKomputersertakabelserialsebagaipengujianhubungan antara Minimum Sistem dengan komputer. 4.5.1PengujianHubunganantaraKeypaddenganLCDdanPC Dapur Pengujiankaliinimengacupadakeypad,LCDdan hyperterminal yang ada di windows untuk mengetahui berhasil tidaknya koneksi.Denganlistingprogramdibawahini,dapatdiketahuibahwa koneksiantarakeypaddenganLCDsudahberhasilbaikkeduamodule tersebut maupun rangkaian mikrokontroller serta proses pengiriman data kePC.Tinggalbagaimanapengembanganselanjutnya.Prosesdari pecobaaninihanyamengirimkankarakteratauangkasesuaidengan yangadadikeypad.Missal,ketikaditekanangka1makadiLCD tampilangka1sedangkantampilanpadahiperteminalialahangka1 yang terkirim secara terus menerus. #include void delay(int tunda); void kirim(int kar); void ins(int gf); void printf(int gg); void keypad(); sbit c4=P1^0; sbit c3=P1^1; sbit c2=P1^2; sbit c1=P1^3; sbit r4=P1^4; sbit r3=P1^5; sbit r2=P1^6; sbit r1=P1^7; sbit rs=P3^4; sbit e=P3^5; char fkey,tombol; void main() {TMOD=0x20;//Timer1,mode2 64SCON=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';} 65if(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='';}//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. TombolENTberfungsiuntukmenyimpandata sementarapadaAT89S51sebelumdikirimke computer dapur. Tombolangka0sampai9berfungsimenampilkandata data berupa angka yang akan dikirim ke PC dapur. TombolUp dan Down berfungsi untuk berpindah baris Tombol CAN berfungsi untuk mengedit data yang sudah dimasukkankememorisementaraatauyangdatayang diinputkan dengan penekanan tombol ENT. TombolSENDberfungsiuntukmengirimkandatayang sudahdisiapkanmemorisementarakePCyangadadi dapur. 4.5.3 Tampilan pada LCD Padabaris1padaLCDakantampiltulisanKODEdan JUMLAH.Padabaris1initulisantersebuttidakdapatdieditdengan tomboltombolkeypad.Karenapadaprogram,barispertamadibuat sebagai tampilan tetap. Untukbagianbagianyangdapatdiedithanyadibariskedua saja.Tampilan tampilan yang terjadi pada LCD melalui keypad Angka0sampai9akanditampilkanpadaLCDsetiap ada penekanan tombol angka pada keypad Setiap kali pergantian baris pesanan terdapat no pesanan denganmaksimaldiangkaempat.Untukpergantianini digunakan tombol UP dan DOWN pada keypad. Kursorakanbergerakkebawahtulisanjumlahsetiap selesai mengisi angka dibawah tulisan kodebila ditekan tombolENTpadakeypad.Selanjutnyaakanberpindah barissetiapkaliselesaimengisidatadibawahtulisan jumlah dengan penekanan tombol yang sama 67Setiapangkayangsudahditampilkanolehkeypadakan terhapus apabila ada penekanan tombol CAN TampilanpadaLCDketikatombolSENDditekanialah kembalisepertisemula.Yaitu,nobarismenunjukke angka 1 dan tulisan di bawah kode dan jumlah semuanya hilang (reset). 4.5.4 Tampilan Pada PC Dapur BerikutinimerupakantampilanpadaPCdapuryangtelah terkoneksidanmenerimainputandarikeypadyangadadi mikrokontroller Gambar 4.5 Tampilan PC Dapur setelah menerima inputan dari Mikrokontroller Variable yang dimasukkan pada kolom kolom VB pada gambar diatasialahpadakolomkodedankolombanyak.Jadipadapercobaan pemesanan kali ini, data yang diinputkan adalah kode 11 dengan banyak 6,kode17denganbanyak7,kode15denganbanyak6,dankode20 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 yangsedikitini.Denganprogramdibawahini,makaakandiketahui 68bahwarangkaianmikrokontrollersudahbenardapatterhubungdengan PC.Hasildaripercobaankaliiniialahterkirimnyahurufadi hyperterminalsecaraterusmenerusketikamenghidupkandan 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 5PENUTUP 5.1 Kesimpulan Dari Pengujian Perangkat lunak dan perangkat keras yang telah dilakukanpadapembuatansistemlayananpadarestoraninidiperoleh kesimpulan yaitu : 1. RangkaianMikrokontrollerAT89S51digunakansebagaimedia penghubungantarmodulesepertikeypaddanLCD. MikrokontrollerAT89S51jugadigunakansebagaipengendali, karenadisinilahtempatprogramdidownloaduntukmengatur seluruhprosesbaikyangadadirangkaianitusendirimaupun pada PC. 2. UntukmengujikomunikasiserialantaraPCdengan Mikrokontroller maka digunakan tampilan pada hyperterminal. 3. Intervalpada propertiseTimeryangmerupakan fasilitasdariVB dapatmenentukankecepatanpengirimandatadari MikrokontrollerkePC.Jadisemakinkecilinterval,maka kecepatan pengiriman data akan semakin cepat. 5. PenggunaanMSCompadatiapkomputerbergantungpada kebutuhanportyangakandigunakan.KarenapadaPCdapur menggunakan 2 port, maka MSCom yang digunakan sebanyak 2. Sedangkan pada PC kasir cukup 1 buah karena hanya memakai 1 port.6. Prosesyangadadidatabasemerupakanaplikasidarifungsi pemanggilandatadenganmenggunakanindex,sedangkanuntuk PCyangadadiPCkasirditambahdenganprogramrecorddata, print data, dan program billing. 7. Untuk men-sinkronkan komunikasi antar Mikrokontroller dan PC Baudrate.Baudrateyangdigunakanpadakomunikasidisini adalah 2400 Kbps. 8. PengirimandatakePCdilakukansecaraserial,yaitusatuper satu. Karena pengaruh dari kecepatan pengiriman data, maka data yang tampil pada PC terlihat seperti bersamaan. 71 725.2 Saran Untukpenyempurnaanlebihlanjutmakabeberapasaranperlu ditambahkan antara lain : 1.Untukpengoperasiansisteminimasihdigunakanjasa manusiapadapangantaranpesanan.Halinidapat disempurnakan dengan sebuah robot pengantar makanan. 2.Sistempemesanmenuinimasihterbataspadarumah makanyangberskalabesar.Dimanabiasanyahanyaada sepuluh meja. Jadi untuk pelanggannya pun sangat sedikit. 3.Sisteminidapatjugadigunakanpadarumahmakanyang menyediakanfasilitasdrivethru.Pemesanandengan sisteminidilakukandenganmasihmengendaraiatau berada di dalam mobil. Jadi, pelanggan tersebut mengakses keypadyangdirancangsedemikanrupadenganLCDdan mikrotersebutuntukkemudiandapatmengambilnyapada 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. 73LAMPIRAN 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='#';}//enter if(r1==0) {fkey=1;tombol=' ';} if(r2==0) if(fkey==1) delay(20000); {intx; x=0; while(kar1[x]!=0) { kirim(kar1[x]); x++; } } e=1; delay(50); } e=1; P2=gf; delay(50); e=0; x++; } } { gambar("",0xc0); gambar("3.",0xc0); gambar(kode3,0xc2); if(kj==0) printf('_'); gambar(jml3,0xca);

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

if(baris==2) { if(kj==0) { if(kolkod2