• Tidak ada hasil yang ditemukan

Aplikasi Alat Pengecek Barang Menggunakan MMC (Multi Media Card) dan Scanner Barcode Berbasis Miktokontroler.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Alat Pengecek Barang Menggunakan MMC (Multi Media Card) dan Scanner Barcode Berbasis Miktokontroler."

Copied!
28
0
0

Teks penuh

(1)

i

ABSTRAK

Perkembangan teknologi pada saat ini menuntut dalam segala hal, terciptanya suatu sistem yang cepat dan dilakukan secara otomatis. Salah satu aplikasi yang membutuhkan perkembangan teknologi yang cepat dan otomatis adalah proses pemeriksaan barang dengan teknik pengkodean baris atau barcode. Tujuan dari tugas akhir ini adalah memberikan fondasi perancangan suatu sistem pemeriksaan barang di supermarket berbasis mikrokontroler.

Dalam aplikasi barcode ini digunakan MMC (Multi Media Card) sebagai media penyimpan data yang berisi data-data keterangan yang diolah dengan menggunakan mikrokontroler. Hardware yang dibutuhkan adalah scanner barcode, MMC untuk menyimpan data, dan mikrokontroler dengan tipe ATMega16.

Scanner barcode memindai kode barang dari label data yang ada di barang. Lalu kode barang tersebut dibandingkan dengan data yang ada di MMC (Multi Media Card). Jika detail barang yang bersangkutan ada di dalam MMC, maka LCD akan menampilkan nama barang beserta harganya. Jika detail barang yang bersangkutan tidak ada di dalam MMC, maka LCD akan menampilkan “Tidak Ada Data”.

Keseluruhan mekanisme diatas dikendalikan oleh mikrokontroler yang telah diprogram untuk menulis dan membaca detail barang yang telah dipindai oleh scanner barcode. Mikrokontroler yang digunakan adalah mikrokontroler AVR ATMega16 dari keluarga ATMEL.

(2)

ii

ABSTRACT

Technological growth at the moment claim in all matter, creation of a system which is quick and conducted automatically. One of the application requiring technological growth which is quick and automatic is a process of automatic goods inspection with a system of code of line or barcode . The purpose of this final assignment is to give the foundation of engineering of a system goods inspection in supermarket based on the microcontroller.

This barcode application is using MMC (Multi Media Card) as a data storing media containing data processed by using microcontroller. Hardwares required are barcode scanner, MMC for data storing, and type ATMega16 microcontroller.

Barcode scanner scans the barcode from data label on the goods. Then the goods code is compared to the data that exist in the MMC ( Multi Media Card). If there is the goods detail in the MMC, then the LCD will show the goods name and its price. If there is no goods detail in the MMC, then the LCD will show "Tidak Ada Data" (No Data).

Overall mechanism above is controlled by microcontroller which has been programmed to write and read the goods detail which have been scanned by barcode scanner. Microcontroller used is AVR microcontroller, ATMega16 from ATMEL.

(3)

II.4 Komunikasi MMC dengan Mikrokontroler ATMega16 8

II.5 Sekilas Tentang Barcode 9

II.6 Jenis-jenis Barcode 10

II.6.1 Barcode Jenis Code 39/3 of 9 10

II.6.2 Jenis-jenis Pembaca Barcode 12

II.7 Komunikasi Scanner Barcode dengan Mikrokontroler ATMega16 13

BAB II I PERANCANGAN HARDWARE DAN SOFTWARE 16

(4)

iv

III.2 Perancangan Hardware 16

III.2.1 Scanner Barcode 17

III.2.2 Skematik Rangkaian Scanner Barcode 17

III.2.3 Mikrokontroler ATMega16 18

III.2.4 Konfigurasi Pin-pin ATMega16 18

III.2.5 MMC (Multi Media Card) 20

III.2.6 Konfigurasi Pin-pin MMC 20

III.2.7 Konfigurasi Rangkaian Secara Keseluruhan 21

III.3 Perancangan Software 22

IV.1 Barang Yang Digunakan Dalam Percobaan 29

(5)

v

BAB V KESIMPULAN DAN SARAN 44

V.1 Kesimpulan 44

V.2 Saran 44

DAFTAR PUSTAKA 45

LAMPIRAN A LISTING PROGRAM A-1

(6)

vi

DAFTAR TABEL

Tabel II.1 Definisi Mode 5

Tabel II.2 Karakter Dan Nilai Barcode Code 39 11

Tabel II.3 Jenis-jenis Pembaca Barcode 13

(7)

vii

DAFTAR GAMBAR

Gambar II.1 Partisi Array MMC 4

Gambar II.2 Format Transfer Data 5

Gambar II.3 Blok Diagram Fungsional ATMega16 7

Gambar II.4 Struktur Barcode Code 39 12

Gambar II.5 Alat-alat Pendukung Barcode 13

Gambar III.1 Blok Diagram Aplikasi Alat Pengecek Barang 13 Gambar III.2 Skematik Rangkaian Scanner Barcode 17

Gambar III.3 Pin-pin ATMega16 19

Gambar III.15 Flowchart Program Aplikasi Alat Pengecek Barang 28

(8)

viii

Gambar IV.10 Tampilan LCD Barang Pertama, ”Susu Ultra” 35 Gambar IV.11 Penekanan tombol push button 1/reset 36 Gambar IV.12 Input Barang Kedua, ”Kacang Garuda” 37

Gambar IV.13 Penekanan tombol push button 2 37

Gambar IV.14 Tampilan LCD Barang Kedua, ”Kacang Garuda” 38 Gambar IV.15 Penekanan tombol push button 1/reset 38

Gambar IV.16 Input Barang Ketiga, ”OREO” 39

Gambar IV.17 Penekanan tombol push button 2 40

(9)
(10)

LAMPIRAN A

LISTING PROGRAM

Di bawah ini adalah Listing Program Aplikasi Alar Pengecek Harga:

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

#include <stdlib.h>

#include <spi.h>

unsigned char mystring[]="Ultra Milk Rp 3800 Kacang Garuda Rp 1500 Kue Bollu Rp

1000 Biskuit Oreo Rp 1000";

unsigned char tampung[40];

unsigned char tampung2[40];

unsigned char tampung3[40];

unsigned char sector[512];

void nodata(void);

void lihatdata(void);

char Command(char befF, unsigned int AdrH, unsigned int AdrL, char befH ) ;

int writeramtommc(void);

int sendmmc(void);

int i,a,aa,b,bb,j,c,z;

(11)

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

{

// Place your code here

}

#define RXB8 1

#define TXB8 0

#define UPE 2

#define OVR 3

#define FE 4

#define UDRE 5

#define RXC 7

#define FRAMING_ERROR (1<<FE)

#define PARITY_ERROR (1<<UPE)

#define DATA_OVERRUN (1<<OVR)

#define DATA_REGISTER_EMPTY (1<<UDRE)

#define RX_COMPLETE (1<<RXC)

// USART Receiver buffer

#define RX_BUFFER_SIZE 8

(12)

// This flag is set on USART Receiver buffer overflow

bit rx_buffer_overflow;

// USART Receiver interrupt service routine

interrupt [USART_RXC] void usart_rx_isr(void)

{

char status,data;

status=UCSRA;

data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

rx_buffer[rx_wr_index]=data;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;

if (++rx_counter == RX_BUFFER_SIZE)

{

(13)

#define _ALTERNATE_GETCHAR_

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;

#asm("cli")

// USART Transmitter buffer

#define TX_BUFFER_SIZE 8

// USART Transmitter interrupt service routine

interrupt [USART_TXC] void usart_tx_isr(void)

{

if (tx_counter)

(14)

--tx_counter;

UDR=tx_buffer[tx_rd_index];

if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0;

};

}

#ifndef _DEBUG_TERMINAL_IO_

// Write a character to the USART Transmitter buffer

#define _ALTERNATE_PUTCHAR_

#pragma used+

void putchar(char c)

{

while (tx_counter == TX_BUFFER_SIZE);

#asm("cli")

if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0))

{

tx_buffer[tx_wr_index]=c;

if (++tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0;

++tx_counter;

// Standard Input/Output functions

#include <stdio.h>

(15)

interrupt [SPI_STC] void spi_isr(void)

{

unsigned char data;

data=SPDR;

// Place your code here

}

// Declare your global variables here

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=Out Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In

// State7=0 State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0xB0;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

(16)

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, Even Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud rate: 38400

UCSRA=0x00;

UCSRB=0xD8;

UCSRC=0xA6;

UBRRH=0x00;

UBRRL=0x0B;

// SPI initialization

// SPI Type: Master

// SPI Clock Rate: 1843.200 kHz

// SPI Clock Phase: Cycle Half

// SPI Clock Polarity: Low

// SPI Data Order: MSB First

SPCR=0xD0;

(17)

// Clear the SPI interrupt flag

#asm

in r30,spsr

in r30,spdr

#endasm

// LCD module initialization

lcd_init(16);

// Global enable interrupts

(18)
(19)
(20)

tampung3[j] = sector[j+bb];

sprintf(tampung2,"tidak ada data");

lcd_puts(tampung2);

sprintf(tampung2,"lihat data");

lcd_puts(tampung2);

}

char Command(char befF, unsigned int AdrH, unsigned int AdrL, char befH )

{ // sends a command to the MMC

spi(0xFF);

spi(befF);

spi((unsigned int)(AdrH >> 8));

spi((unsigned int)AdrH);

spi((unsigned int)(AdrL >> 8));

spi((unsigned int)AdrL);

spi(befH);

(21)

return spi(0xFF); // return the last received character

}

int writeramtommc(void)//write ram sector to mmc

{

int i;

// 512 byte-write-mode

if (Command(0x58,0,512,0xFF) !=0) {

return 1;

while(spi(0xFF) != (char)0xFF);

return 0;

}

int sendmmc(void)//send 512 bytes from the mmc and save it to buffer variable

{

int i;

// 512 byte-read-mode

(22)

return 1;

}

// wait for 0xFE - start of any transmission

// ATT: typecast (char)0xFE is a must!

while(spi(0xFF) != (char)0xFE);

for(i=0; i < 512; i++) {

UDR = spi(0xFF); // send character

sector[i] = UDR;

}

// at the end, send 2 dummy bytes

spi(0xFF); // actually this returns the CRC/checksum byte

spi(0xFF);

return 0;

(23)
(24)

LAMPIRAN B

TABEL KODE BARCODE DAN FOTO ALAT

Tampilan Barcode CODE39

(25)

1

BAB I

PENDAHULUAN

I.1 Latar Belakang Masalah

Salah satu penggunaan barcode dilakukan untuk membantu proses

pemeriksaan barang secara otomatis pada kasir di supermarket. Tetapi dalam

laporan Tugas Akhir ini, dibuat aplikasi barcode sebagai alat pengecek barang

yang tidak hanya digunakan di kasir, tetapi juga untuk memfasilitasi bagi setiap

konsumen di supermarket. Keuntungan dari pemfasilitasan alat pengecek barang

pada setiap konsumen antara lain dapat memudahkan konsumen dalam berbelanja,

serta meningkatkan suasana belanja yang lebih tertib dan nyaman.

Barcode digambarkan dalam bentuk baris hitam tebal dan tipis yang

disusun berderet sejajar horisontal. Untuk membantu pembacaan secara manual

dicantumkan juga angka-angka dibawah barcode tersebut. Angka-angka tersebut

mendasari pola barcode yang tercantum. Ukuran dari barcode tersebut dapat

diperbesar ataupun diperkecil dari ukuran nominalnya tanpa tergantung dari mesin

yang membaca.

Dalam aplikasi barcode ini digunakan MMC (Multi media card) sebagai

penyimpan data yang berisi keterangan berupa nama-nama barang beserta

harganya dengan menggunakan mikrokontroler. Hardware yang dibutuhkan

adalah scanner barcode, MMC untuk menyimpan data barang, dan

mikrokontroler dengan tipe ATMega16.

I.2 Identifikasi Masalah

1. Bagaimana mendesain Hardware dan Software mikrokontroler untuk

mengenal kode barang yang digunakan dalam barcode ?

2. Bagaimana menginput data ke dalam MMC yang dapat diakses oleh

(26)

2

I.3 Tujuan

1. Mendesain Hardware dan software mikrokontroler untuk mengenal kode

barang yang digunakan dalam barcode.

2. Menginput data ke dalam MMC yang dapat diakses oleh mikrokontroler.

I.4 Pembatasan Masalah

1. Alat yang dibuat menggunakan mikrokontroler ATMega16.

2. Sebagai penyimpan data digunakan MMC.

3. Input menggunakan Scanner Barcode.

I.5 Sistematika Penulisan

Laporan tugas akhir ini disusun dengan urutan sebagai berikut:

BAB I : PENDAHULUAN

BAB I berisi hal-hal yang dapat memberikan gambaran mengenai

tugas akhir ini diawali dengan latar belakang, identifikasi masalah,

tujuan, pembatasan masalah dan sistematika penulisan.

BAB II : LANDASAN TEORI

BAB II berisi pembahasan bahan-bahan teori yang berkaitan dengan

latar belakang masalah, sebagai acuan untuk membuat laporan.

BAB III : PERANCANGAN HARDWARE DAN SOFTWARE

BAB III berisi pembahasan perancangan hardware dan software yang

telah dibuat.

BAB IV : DATA PENGAMATAN

BAB IV berisi data pengamatan dari pengujian hardware dan software

yang telah dibuat.

BAB V : KESIMPULAN DAN SARAN

BAB V berisi kesimpulan tugas akhir ini serta saran – saran untuk

(27)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Dari hasil percobaan, kode barcode barang sudah dapat diproses oleh

mikrokontroler untuk dibaca dan dibandingkan dengan Data yang

tersimpan di MMC untuk ditampilkan dilayar LCD. Hal ini

memungkinkan Perancangan hardware dan software dari TA yang

berjudul “Aplikasi Alat Pengecek Barang Menggunakan MMC (Multi

Media Card) dan Scanner Barcode Berbasis Mikrokontroler” sudah

dapat direalisasikan.

2. Proses penginputan data dari mikrokontroler ke MMC dengan

menggunakan software bahasa C dan tools CV AVR sudah berhasil

dilakukan, dan siap untuk dipanggil oleh mikrokontroler pada saat

aplikasi alat dijalankan.

5.2 Saran

1. Agar lebih banyak daya tampung memori yang dapat dipakai untuk

aplikasi TA ini, maka disarankan menggunakan MMC yang lebih

besar lagi kapasitas memorinya.

2. Agar lebih efisien, pada perancangan alat sebaiknya penekanan

tombol push button dapat dihilangkan, untuk lebih memudahkan

dalam penggunaan aplikasi alat pengecek barang.

(28)

DAFTAR PUSTAKA

1. Applied Barcode, 2000, Barcodes, Barcodes and Barcoding Systems,

www.appliedbarcode.co.uk/, Juni 2006.

2. Pratomo, Andi, “Panduan Praktis Pemrograman AVR Mikrokontroler”, Andi,

Yogyakarta, 2005.

3. Prestiliano, Jasson, “Strategi Bahasa Assembler”, Gava Media, Yogyakarta,

2005.

4. Setiawan, Sulhan, “Mudah Dan Menyenangkan Belajar Mikrokontroler”,

Andi, Yogyakarta, 2006.

5. Wardhana, Lingga, “Belajar Sendiri Mikrokontroler AVR Seri ATMega8535

Simulasi, Hardware, dan Aplikasi”, Andi, Yogyakarta, 2006.

6. http://www.assembler.com, Juni 2006.

7. http://www.atmel.com, Juni 2006.

8. http://www.epanorama.net, November 2006.

Gambar

TABEL KODE BARCODE DAN FOTO ALAT

Referensi

Dokumen terkait

Tujuan memberi nasehat pada mereka adalah untuk tidak (sekedar melamun) berangan-angan panjang saja (tanpa realisasi), dan mengajarkan pada mereka untuk mempersiapkan diri

Berdasarkan pengertian diatas dan dikaitkan dengan kegiatan organisasi pemerintahan maka kepemimpinan mempunyai arti sangat strategis dalam rangka mendorong dan menggerkan

Pengaruh Sudut Kontak Statis terhadap Penyebaran Droplet di Atas Permukaan Padat yang Dipanaskan pada Bilangan Weber Menengah.. Dyan

Kepuasan kerja diartikan sebagai kesenangan atau keadaan emosi yang positif yang dihasilkan dari penilaian pekerjaan atau pengalaman kerja seseorang (Locke

Hasil penelitian dari evaluasi kesesuaian lahan aktual adalah sebanyak sepuluh lokasi yang tergolong S3 yaitu sesuai marginal dan dua puluh lokasi tergolong N yaitu tidak sesuai,

Nambak Kecamatan Bungkal Kabupaten Ponorogo Kamis 13 Juli 2017 15.00 - 16.00 3 Lab. Edhy Mahfudh,

Penundaan proses pemuatan akan menimbulkan kerugian bagi semua pihak, terutama pihak perusahaan pelayaran atau pemilik kapal karena mengharuskan

Meskipun begitu, berbeda dengan kondisi sD dimana rasio murid terhadap guru di Kota Gorontalo memiliki angka terendah, rasio murid terhadap Guru tingkat sMP di Kota Gorontalo