bab ii tinjauan pustaka 2.1 tinjauan mutakhir … ii.pdf · 2.2.1.1 sejarah rfid ... pada dasarnya...

36
6 BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Mutakhir Penelitian ini diperuntukan untuk tugas akhir dengan judul ” Rancang Bangun Sistem Aplikasi Keanggontaan Konsumen Berbasis RFID Untuk Pengumpulan Poin Pada Proses Transaksi Retail”. Penelitian ini mengacu pada beberapa sumber dan tinjauan yang sudah ada dimana masing-masing penulis menggunakan teknologi RFID untuk beberapa permasalahan sehari-hari. Berikut merupakan uraian singkat referensi tersebut: 1. Penelitian yang dilakukan oleh Muliarsha (2009) tentang alat absensi elektronik dengan bantuan aplikasi RFID, dimana ID yang terdapat pada kartu UEM4100 dibaca oleh RFID Reader yang bekerja pada level tegangan 5V DC dengan frekuensi 125 KHz dan menggunakan koneksi udara (wireless), sehingga pada saat tag RFID didekatkan pada reader, reader akan menmindai data ID. Jika cocok dengan data ID tag yang disimpan dalam database maka lampu LED indikator akan menyala pada hardware, ID yang terbaca ini akan dikeluarkan menuju mikrokontroler AT89S51 kemudian diolah dan akan ditampilkan ke komputer dengan menggunakan bahasa pemrograman C#, dan program akan langsung menampilkan detail data user. Adapun format data keluaran yang digunakan dalam penelitian ini adalah ABA Track2 10 Desimal. Absensi elektronik dengan aplikasi RFID diharapkan dapat mempermudah karyawan dalam melakukan absensi harian sebelum melakukan aktivitas pekerjaannya di perusahaan. 2. Penelitian yang dilakukan oleh Eviriantari (2010) tentang penggunaan kunci elektronik yang didesain untuk membuka dan menutup pintu dengan bantuan aplikasi SMS gateway sebagai penghubung antara ponsel yang terhubung langsung dengan sistem dan ponsel user pengguna kunci. Selain itu kunci elektronik ini dibantu oleh Motor Stepper sebagai penggerak dan Mikrokontroler ATmega8535 sebagai pusat kendali dan penghubung antara komputer dan kunci. Kunci elektronik bekerja dengan cara menerima data

Upload: hamien

Post on 25-Feb-2018

223 views

Category:

Documents


4 download

TRANSCRIPT

6

BAB II

TINJAUAN PUSTAKA

2.1 Tinjauan Mutakhir

Penelitian ini diperuntukan untuk tugas akhir dengan judul ”Rancang

Bangun Sistem Aplikasi Keanggontaan Konsumen Berbasis RFID Untuk

Pengumpulan Poin Pada Proses Transaksi Retail”. Penelitian ini mengacu pada

beberapa sumber dan tinjauan yang sudah ada dimana masing-masing penulis

menggunakan teknologi RFID untuk beberapa permasalahan sehari-hari. Berikut

merupakan uraian singkat referensi tersebut:

1. Penelitian yang dilakukan oleh Muliarsha (2009) tentang alat absensi

elektronik dengan bantuan aplikasi RFID, dimana ID yang terdapat pada

kartu UEM4100 dibaca oleh RFID Reader yang bekerja pada level tegangan

5V DC dengan frekuensi 125 KHz dan menggunakan koneksi udara

(wireless), sehingga pada saat tag RFID didekatkan pada reader, reader akan

menmindai data ID. Jika cocok dengan data ID tag yang disimpan dalam

database maka lampu LED indikator akan menyala pada hardware, ID yang

terbaca ini akan dikeluarkan menuju mikrokontroler AT89S51 kemudian

diolah dan akan ditampilkan ke komputer dengan menggunakan bahasa

pemrograman C#, dan program akan langsung menampilkan detail data user.

Adapun format data keluaran yang digunakan dalam penelitian ini adalah

ABA Track2 10 Desimal. Absensi elektronik dengan aplikasi RFID

diharapkan dapat mempermudah karyawan dalam melakukan absensi harian

sebelum melakukan aktivitas pekerjaannya di perusahaan.

2. Penelitian yang dilakukan oleh Eviriantari (2010) tentang penggunaan kunci

elektronik yang didesain untuk membuka dan menutup pintu dengan bantuan

aplikasi SMS gateway sebagai penghubung antara ponsel yang terhubung

langsung dengan sistem dan ponsel user pengguna kunci. Selain itu kunci

elektronik ini dibantu oleh Motor Stepper sebagai penggerak dan

Mikrokontroler ATmega8535 sebagai pusat kendali dan penghubung antara

komputer dan kunci. Kunci elektronik bekerja dengan cara menerima data

7

dari ponsel pengirim yang kemudian diterima oleh ponsel sistem, diproses

lebih lanjut oleh sms gateway dan disimpan dalam database, jika format SMS

yang dikirim sesuai dengan perintah yang tersimpan maka kunci pintu dapat

terbuka atau tertutup sesuai dengan perintah yang dikirm.

3. Penelitian yang dilakukan oleh Jaya (2009) tentang pemanfaatan RFID dalam

sistem parkir. RFID digunakan sebagai penanda tiap kendaraan yang parkir.

ID Tag yang masuk ke program billing akan dicocokkan dengan database.

Apabila ID Tag cocok dengan database maka program akan dilanjutkan ke

langkah selanjutnya yaitu pengisian data parkir dan perhitungan tarif parkir.

Tetapi jika data tidak cocok dengan database, maka sistem akan memberi

informasi bahwa data yang masuk salah dan sistem akan berhenti.

Berdasarkan ketiga penelitian tersebut, maka dirancanglah penelitian

tentang penyimpanan uang kembalian dengan pemanfaatan RFID. RFID yang

digunakan pada penelitian pertama sebagai penanda tiap-tiap karyawan pada

penelitian ini akan digunakan sebagai penanda tiap-tiap anggota pada outlet ritel.

Kemudian cara kerja sistem pada penelitian ini mengacu pada penelitian kedua.

Jika pada penelitian di atas kunci yang digunakan untuk membuka pintu ialah

format SMS, maka pada penelitian ini format SMS yang merupakan kode unik,

digantikan oleh RFID tag yang juga memiliki kode unik pada setiap tag. Pintu

yang dibuka, dianalogikan sebagai pintu loker, yang di dalamnya bisa digunakan

untuk menyimpan uang. Dalam penelitian ini, loker tersebut dibuat secara virtual,

yaitu sebagai rekening yang bisa dibuka dengan password. Karena password yang

digunakan adalah ID dari tag yang dimiliki oleh anggota outlet ritel, maka

rekening itu pun hanya bisa dibuka dengan RFID tag yang dimiliki oleh pemilik

rekening yang bersangkutan. Pada penelitian ketiga, tiap-tiap kendaraan ditandai

dengan sebuah RFID tag. Pada saat membayar, akan ditampilkan data tagihan

pembayaran retribusi parkir sesuai dengan durasi parkir kendaraan yang

bersangkutan. Dalam penelitian ini RFID akan digunakan oleh konsumen untuk

menampilkan data rekening konsumen yang bersangkutan pada saat pembayaran

di kasir.

8

2.2 Tinjauan Pustaka

2.2.1 RFID

RFID merupakan singkatan dari Radio Frequency Identification. Sebuah

tag RFID memiliki identitas berupa nomor seri yang unik, ditransmisikan secara

nirkabel menggunakan gelombang radio. Tag ini dapat dibaca hingga beberapa

meter jauhnya dari perangkat reader dan tidak membutuhkan area pandangan

langsung/line of sight. (Violino, 2005)

Sebuah sistem RFID terdiri dari dua bagian, yaitu sebuah tag atau label

dan pembaca. Sebuah tag RFID di dalamnya terbagi menjadi dua bagian, yaitu

microchip yang menyimpan dan memproses informasi, dan antena untuk

menerima dan mengirimkan sinyal. Tag yang memiliki nomor seri khusus ini

bekerjasama dengan RFID reader yang memancarkan sinyal ke tag RFID. Tag

akan merespon dengan informasi yang tertulis di bank memori. Informasi ini

dikirimkan kepada reader yang kemudian akan mengirimkan hasil pembacaan

untuk diolah lewat program komputer. (EPC RFID, 2013)

2.2.1.1 Sejarah RFID

Dalam sebuah artikel yang dilansir di website www.rfidjournal.com,

secara umum dapat dikatakan bahwa sejarah perkembangan RFID bermula dari

Perang Dunia II. Pasukan Jerman, Jepang, Amerika, dan Inggris, mereka semua

menggunakan radar yang telah ditemukan pada tahun 1935 oleh Sir Robert

Alexander Watson-Watt, untuk memperingatkan kedatangan pesawat walaupun

masih bermil-mil jauhnya. Namun permasalahannya ialah tidak ada cara untuk

mengetahui apakah pesawat itu berasal dari pihak musuh atau bukan.

Di bawah Watson-Watt yang mengepalai sebuah proyek rahasia, Inggris

mengembangkan sistem aktif pertama: Identify Friend or Foe (IFF). Setiap

pesawat Inggris dipasang sebuah transmitter. Ketika transmitter ini menerima

sinyal radar, transmitter ini mem-broadcast sinyal yang dapat diidentifikasi oleh

pasukan Inggris bahwa itu adalah pesawat milik pasukan Inggris.

9

RFID bekerja dengan konsep dasar yang sama. Sebuah sinyal dikirim

kepada transponder yang kemudian merefleksikan sinyal untuk sebuah tag pasif,

atau mem-broadcast sinyal untuk sebuah tag aktif.

Pengembangan dibidang radar dan komunikasi gelombang radio berlanjut

sepanjang dekade 50-60an. Ilmuwan dan akademisi di Amerika, Eropa, dan

Jepang melakukan riset dan menunjukkan bagaimana energi gelombang radio

dapat digunakan untuk mengidentifikasi objek. Hal ini kemudian digunakan

secara komersial dalam sistem anti-pencurian. Sebuah tag 1 bit digunakan untuk

mendeteksi status pembayaran sebuah item. Bit tersebut hanya bernilai on atau off.

Jika item tersebut sudah dibayar, bit dalam tag yang terdapat pada barang tersebut

diset off. Jika bit yang masih on keluar dari area perbelanjaan, reader akan

mendeteksinya dan kemudian membunyikan alarm (Roberti, 2005).

Pada tanggal 23 Januari 1973, Mario W. Cardullo mendapatkan US Patent

untuk tag RFID aktif dengan memori rewritable. Sepuluh tahun kemudian

seorang wirausahawan asal California, Charles Walton menerima paten untuk

transponder pasif yang digunakan untuk membuka pintu tanpa kunci. Paten inilah

yang kemudian menjadi paten pertama yang menggunakan nama RFID.

(Roberti, 2005)

2.2.1.2 Jenis-jenis tag RFID

Pada dasarnya terdapat dua macam jenis tag RFID menurut sumber

tenaganya, yaitu tag aktif, dan tag pasif.

1. Tag aktif RFID

Perangkat RFID tag terbagi menjadi dua kelas besar, yaitu tag aktif dan

tag pasif. Tag aktif menggunakan sumber daya tambahan untuk

pengoperasiannya. Sumber daya tambahan ini bisa didapat dari baterai, bisa juga

dari infrastruktur listrik. Penggunaan sumber daya dari baterai menyebabkan tag

aktif RFID memiliki masa pakai yang bergantung pada energi yang tersimpan di

dalam baterai. Jika energi di dalam baterai telah habis, maka tag tersebut tidak

berfungsi sebagaimana biasanya (Want, 2006).

10

Penggunaan tag aktif biasanya dikhususkan pada aset besar, misalnya peti

kontainer, kargo, mobil, dan sebagainya. Penggunaan tag aktif pada aset besar

dikarenakan jangkauan pembacaannya relatif jauh, bisa mencapai 20 meter,

bahkan ada pula yang mencapai 100 meter. Frekuensi yang digunakan oleh tag

aktif biasanya beroperasi pada 455MHz, 2.45MHz, atau 5.8MHz (Violino, 2005).

2. Tag pasif RFID

Penggunaan baterai menyebabkan tag RFID memiliki ukuran yang besar,

biaya produksi yang relatif besar, dan masa pakainya terbatas oleh baterai itu

sendiri. Karena itu tag pasif RFID menjadi lebih diminati. Tag pasif tidak

membutuhkan sumber daya tambahan untuk pengoperasiannya. Tag pasif juga

tidak membutuhkan penanganan khusus. Selain itu, tag pasif memiliki masa

operasional yang tidak terbatas, disebabkan tidak adanya penggunaan baterai

untuk mengoperasikannya. Dengan ketiadaan baterai, tag pasif menjadi lebih kecil

ukurannya sehingga praktis digunakan.

Tag pasif hanya terdiri dari tiga bagian utama, yaitu antena, chip

semikonduktor, dan materi pembungkus/enkapsulasi. Agar dapat bekerja, RFID

reader memancarkan gelombang radio dengan daya tertentu. Daya inilah yang

kemudian digunakan oleh tag untuk beroperasi. Tag kemudian akan mengirimkan

kembali ID tag tersebut yang tersimpan di dalam chip semikonduktor. Antena

berfungsi menangkap gelombang radio, sedangkan enkapsulasi akan

mempertahankan chip dan antena dari kerusakan yang ditimbulkan oleh

lingkungan sekitar (Want, 2006).

2.2.1.3 RFID reader

RFID reader berkomunikasi dengan tag melalui gelombang radio untuk

mendapatkan identitas dari tag tersebut. Dalam lingkungan dengan banyak tag,

reader bisa saja melakukan kesalahan. Untuk itu RFID reader biasanya akan

menjalankan protokol anti-collision untuk memastikan konflik komunikasi tidak

terjadi. Protokol ini memungkinkan RFID reader untuk berkomunikasi dengan

tag secara berurutan dengan cepat (Weiss, 2007).

11

Lebih lanjut dikatakan oleh Weiss (2007) bahwa reader bertanggung

jawab untuk mengoperasikan tag pasif. Menggunakan antena, tag akan

menangkap gelombang radio yang dipancarkan oleh reader. Karena tag pasif

tidak memiliki “on-board power”, maka tag pasif hanya akan mengandalkan

energi dari gelombang radio yang dipancarkan reader untuk merespon

komunikasi dan mengirimkan identitasnya.

1. RFID Reader RDM6300

Salah satu jenis RFID reader adalah RDM6300. Bentuk fisik dan deskripsi

pin dari RDM6300 adalah seperti gambar 2.1 dan gambar 2.2 di bawah ini.

Gambar 2.1 RFID Reader RDM6300

Sumber: http://www.seeedstudio.com/depot/datasheet/RDM630-Spec.pdf

Dalam datasheet RDM6300, deskripsi pinnya adalah sebagai berikut

Gambar 2.2 Deskripsi pin RDM6300

Sumber: http://www.seeedstudio.com/depot/datasheet/RDM630-Spec..pdf

12

Penjelasan lebih lengkap mengenai pin dari RDM6300 tercantum dalam

tabel 2.1 hingga tabel 2.3.

P1:

Tabel 2.1 Tabel Pin 1

PIN 1 TX

PIN 2 RX

PIN 3

PIN 4 GND

PIN 5 +5V(DC)

P2:

Tabel 2.2 Tabel Pin 2

PIN 1 ANT1

PIN 2 ANT2

P3

Tabel 2.3 Tabel Pin 3

PIN 1 LED

PIN 2 +5V(DC)

PIN 3 GND

2.2.2 Mikrokontroler

Sejarah mikrokontroler bermula dari mikroprosesor di tahun 1969. Pada

tahun tersebut Intel memproduksi mikroprosesor Intel P4004. Mikroprosesor ini

merupakan mikroprosesor pertama di dunia, dibuat oleh Intel dengan Ted Hoff

dan Federico Faggin sebagai desainer utamanya. Intel P4004 merupakan

semikonduktor pertama yang memberikan fungsi komputer dalam kelas chip,

sementara saat itu semikonduktor dan sirkuit terpadu atau IC (Integrated Circuit)

diproduksi berdasarkan fungsi khusus. Walaupun Intel P4004 dibuat untuk

13

penggunaan pada kalkulator, namun mikroprosesor ini juga dapat ditemui dalam

banyak aplikasi yang lain.

Mikroprosesor yang telah dikembangkan tersebut kemudian dirasakan

memiliki keterbatasan. Oleh kerena itu, Intel kemudian terus mengembangkan

mikroprosesornya. Berkat pengembangan tersebut, kinerja mikroprosesor semakin

meningkat di setiap pengembangannya. Bukan hanya itu, bahkan keterbatasan dari

mikroprosesor mengantarkan pada penemuan mikrokontroler.

(Udayashankara, 2009)

Istilah mikrokontroler berbeda dengan mikroprosesor. Mikroprosesor

membutuhkan memori eksternal untuk dapat menjalankan program. Disamping

itu, mikroprosesor tidak dapat secara langsung dihubungkan dengan perangkat

input/output. Dibutuhkan peripheral chips untuk menghubungkan mikroprosesor

dengan perangkat input/output. Sedangkan mikrokontroler mengandung sebuah

mikroprosesor dan satu atau lebih dari komponen berikut:

- Memory

- Analog to Digital Converter

- Digital to Analog Converter

- Parallel I/O interface

- Serial I/O interface

- Timers and counters

Gambar 2.3 berikut menunjukkan diagram blok sebuah mikrokontroler

yang merupakan “komputer dalam sebuah chip”.

Gambar 2.3 Diagram Blok Mikrokontroler

Sumber: Udayashankara, 2009

14

Dengan demikian, mikrokontroler dapat dianggap sebagai sistem mandiri

dengan prosesor, memori dan peripheral (Heath, 2002). Dengan kata lain

mikrokontroler dapat dikatakan sebagai sebuah komputer kecil dalam sirkuit

terpadu yang biasa disebut chip, yang di dalamnya terkandung sebuah inti

prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan

perlengkapan input output. Lebih lanjut Heath menjelaskan bahwa chip tersebut,

karena merupakan sistem mandiri dengan prosesor, memori, dan peripheral,

dalam banyak kasus yang dibutuhkan untuk menggunakannya dalam embedded

system adalah hanya dengan menambahkan perangkat lunak.

Prosesor mikrokontroler biasanya didasarkan pada arsitektur 8 bit stack-

based seperti keluarga MC6800. Ada juga tersedia arsitektur versi 4 bit seperti seri

National COP yang tentu saja kekuatan pemrosesannya lebih kecil dan karena itu

biayanya juga lebih kecil.

2.2.2.1 Mikrokontroler ATmega 328P

Vendor mikrokontroler selain Intel ialah Atmel. Perusahaan ini

memperkenalkan mikrokontroler 8 bit pertama pada tahun 1993. Generasi

pertama flash microcontroller ini didasarkan pada standar industri 8051 core, dan

menggunakan suplai tegangan tinggi terpisah untuk pemrograman. Keuntungan

yang didapatkan pengguna dari flash microcontroller adalah bahwa perangkat

mikrokontroler dapat diprogram sebelum perangkaian sistem. Jika ditemukan bug

pada sistem, atau jika dibutuhkan beberapa perubahan, perangkat mikrokontroler

dapat dilepaskan dan diprogram ulang. (Svendsli, 2003)

Salah satu produk flash microcontroller dari Atmel adalah ATmega 328P.

mikrokontroler ini mempunyai arsitektur RISC (Reduce Instruction Set Computer)

yang dimana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC

(Completed Instruction Set Computer).

Dalam datasheet ATmega328P, disebutkan fitur-fitur yang dimiliki

mikrokontroler ATmega328P adalah sebagai berkut :

130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus

clock.

15

32 x 8-bit register serba guna.

Kecepatan hingga 16 MIPS pada frekuensi 16MHz.

Memiliki 512 Bytes EPROM (Electically Erasable Programmable Read Only

Memory) sebagai tempat penyimpanan data meskipun catu daya dimatikan

dan 1 KB SRAM (Static Random Access Memory).

32 KB Flash Memory dan pada arduino memiliki bootloader yang

menggunakan 2 KB dari flash memori sebagai bootloader.

Memiliki pin I/O digital sebanyak 14 pin, 6 diantaranya PWM (Pulse Width

Modulation) output.

Tegangan pada saat operasi sekitar 4.5 – 5.5 V.

2.2.2.2 Konfigurasi pin ATmega328P

Gambar 2.4 berikut menunjukkan konfigurasi pin ATmega328P.

Gambar 2.4 Konfigurasi pin ATmega328P

Sumber: Datasheet ATmega328P

16

2.2.2.3 Pin Descriptions

1. VCC

Suplai digital tegangan

2. GND

Ground.

3. Port B

Tabel 2.4 Konfigurasi Pin Port B

Port Pin Alternate Function

PB7 XTAL2 (Chip Clock Oscillator pin 2)

TOSC2 (Timer Oscillator pin 2)

PCINT7 (Pin Change Interrupt 7)

PB6 XTAL1 (Chip Clock Oscillator pin 1 or External clock input)

TOSC1 (Timer Oscillator pin 1)

PCINT6 (Pin Change Interrupt 6)

PB5 SCK (SPI Bus Master clock Input)

PCINT5 (Pin Change Interrupt 5)

PB4 MISO (SPI Bus Master Input/Slave Output)

PCINT4 (Pin Change Interrupt 4)

PB3 MOSI (SPI Bus Master Output/Slave Input)

OC2A (Timer/Counter2 Output Compare Match A Output)

PCINT3 (Pin Change Interrupt 3)

PB2 SS (SPI Bus Master Slave select)

OC1B (Timer/Counter1 Output Compare Match B Output)

PCINT2 (Pin Change Interrupt 2)

PB1 OC1A (Timer/Counter1 Output Compare Match A Output)

PCINT1 (Pin Change Interrupt 1)

PB0 ICP1 (Timer/Counter1 Input Capture Input)

CLKO (Divided System Clock Output)

PCINT0 (Pin Change Interrupt 0)

17

4. Port C

Tabel 2.5 Konfigurasi Pin Port C

Port Pin Alternate Function

PC6 RESET (Reset pin)

PCINT14 (Pin Change Interrupt 14)

PC5 ADC5 (ADC Input Channel 5)

SCL (2-wire Serial Bus Clock Line)

PCINT13 (Pin Change Interrupt 13)

PC4 ADC4 (ADC Input Channel 4)

SDA (2-wire Serial Bus Data Input/Output Line)

PCINT12 (Pin Change Interrupt 12)

PC3 ADC3 (ADC Input Channel 3)

PCINT11 (Pin Change Interrupt 11)

PC2 ADC2 (ADC Input Channel 2)

PCINT10 (Pin Change Interrupt 10)

PC1 ADC1 (ADC Input Channel 1)

PCINT9 (Pin Change Interrupt 9)

PC0 ADC0 (ADC Input Channel 0)

PCINT8 (Pin Change Interrupt 8)

18

5. Port D

Tabel 2.6 Konfigurasi Pin Port D

6. AVCC

AVCC merupakan suplai tegangan untuk A/D Converter, PC3:0, dan

ADC7:6. Pin ini harus dihubungkan secara eksternal ke VCC, walaupun ADC

tidak digunakan. Jika ADC digunakan, pin ini harus dihubungkan ke VCC melalui

low-pass filter.

Port Pin Alternate Function

PD7 AIN1 (Analog Comparator Negative Input)

PCINT23 (Pin Change Interrupt 23)

PD6 AIN0 (Analog Comparator Positive Input)

OC0A (Timer/Counter0 Output Compare Match A Output)

PCINT22 (Pin Change Interrupt 22)

PD5 T1 (Timer/Counter 1 External Counter Input)

OC0B (Timer/Counter0 Output Compare Match B Output)

PCINT21 (Pin Change Interrupt 21)

PD4 XCK (USART External Clock Input/Output)

T0 (Timer/Counter 0 External Counter Input)

PCINT20 (Pin Change Interrupt 20)

PD3 INT1 (External Interrupt 1 Input)

OC2B (Timer/Counter2 Output Compare Match B Output)

PCINT19 (Pin Change Interrupt 19)

PD2 INT0 (External Interrupt 0 Input)

PCINT18 (Pin Change Interrupt 18)

PD1 TXD (USART Output Pin)

PCINT17 (Pin Change Interrupt 17)

PD0 RXD (USART Input Pin)

PCINT16 (Pin Change Interrupt 16)

19

7. AREF

AREF merupakan pin referensi jika menggunakan A/D Converter.

2.2.3 Arduino

Arduino adalah kit elektronik atau papan rangkaian elektronik open

source yang didalamnya terdapat komponen utama yaitu sebuah

chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.

Arduino bersifat open source, tidak hanya software-nya yang bersifat

opensource melainkan hardware arduino pun bersifat open source. Diagram

rangkaian elektronik arduino digratiskan kepada semua orang. Semua orang bisa

bebas mengunduh gambar rangkaian arduino, membeli komponen-komponennya,

membuat PCB-nya dan merangkainya sendiri tanpa harus membayar kepada para

pembuat Arduino. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi

arduino merupakan kombinasi dari hardware, bahasa pemrograman dan

Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah

software yang sangat berperan untuk menulis program, meng-compile menjadi

kode biner dan meng-upload ke dalam memori mikrokontroler.

Mikrokontroler ada pada perangkat elektronik sehari-hari. Misalnya

handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai

untuk keperluan mengendalikan robot, baik robot mainan, maupun robot industri.

Komponen utama arduino adalah mikrokontroler, maka arduino juga dapat

diprogram menggunakan komputer sesuai kebutuhan.

2.2.3.1 Instalasi Software Arduino

Langkah-langkah instalasi software arduino adalah sebagai berikut :

1. Download software arduino

Halaman ini dapat diakses dengan alamat web

“http://arduino.cc/en/Main/Software”, seperti ditunjukkan pada gambar 2.5

berikut.

20

Gambar 2.5 Halaman download software Arduino.

2. Instalasi software

File yang diunduh berupa file berekstensi .exe, kemudian lakukan proses

instalasi dengan cara klik dua kali pada file tersebut. File instalasi tersebut

ditunjukkan pada gambar 2.6 di bawah ini.

Gambar 2.6 File instalasi software.Arduino

Setelah itu akan muncul jendela seperti gambar 2.7 berikut. Setelah license

agreement dibaca dan disetujui, klik pada pilihan I Agree.

Gambar 2.7 License Agreement.

21

Jendela berikutnya yang akan muncul adalah seperti gambar 2.8 berikut.

Pilih komponen yang akan di-install pada komputer, kemudian pilih Next.

Gambar 2.8 Pilihan instalasi komponen Arduino.

Tentukan lokasi instalasi software Arduino, kemudian pilih Install. Akan

muncul jendela instalasi software Arduino. gambar 2.9 dan 2.10 merupakan

proses instalasi.

Gambar 2.9 Lokasi instalasi software Arduino.

Gambar 2.10 Jendela instalasi.

22

Sistem operasi akan meminta persetujuan untuk instalasi Arduino USB

Driver. Pilih Install seperti ditunjukkan pada gambar 2.11.

Gambar 2.11 Permintaan persetujuan instalasi Arduino USB Driver.

Jika proses instalasi sudah selesai. Akan muncul tampilan seperti gambar

2.12 di bawah ini. Pilih Close, dan software Arduino siap digunakan.

Gambar 2.12 Instalasi software Arduino sudah selesai.

3. Buka software Arduino.exe

Setelah proses instalasi selesai, software Arduino sudah dapat digunakan.

Tampilan software Arduino adalah seperti gambar 2.13 berikut.

23

Gambar 2.13 Tampilan software Arduino.

4. Pilih board yang digunakan

Pada software Arduino, harus diatur terlebih dahulu board yang akan

digunakan, karena ada cukup banyak jenis board Arduino. Gambar 2.14 berikut

menampilkan cara memilih board pada software Arduino.

Gambar 2.14 Memilih board Arduino.

24

5. Pilih serial port

Pemilihan serial port pada software Arduino perlu dilakukan agar program

yang telah di buat dapat diupload pada board Arduino. Gambar 2.15 berikut

menampilkan pemilihan serial port pada software Arduino.

Gambar 2.15 Memilih serial port.

2.2.3.2 Bahasa Pemrograman Arduino

Bahasa pemrograman Arduino menggunakan bahasa C yang sudah

dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun

bisa mempelajarinya dengan cukup mudah. Software Arduino IDE

(Integrated Development Enviroment) dibutuhkan untuk membuat program

Arduino dan mengupload ke dalam board Arduino.

1. Struktur Pemrograman

Struktur dasar dari bahasa pemrograman Arduino terdiri dari dua bagian

yaitu setup() dan loop(). Setup() berfungsi untuk inisialisasi program yang

hanya dijalankan sekali di awal program, sedangkan loop() berfungsi untuk

25

menjalankan bagian program yang akan di jalankan berulang-ulang untuk

selamanya.

void setup( )

{

// Statement;

}

void loop( )

{

// Statement;

}

Fungsi setup() hanya dipanggil satu kali diawal program dijalankan.

Fungsi setup() biasaya digunakan untuk inisialisasi, menentukan mode pada pin,

memulai komunikasi serial dan fungsi-fungsi lainnya. Fungsi setup() harus di

terdapat pada program walaupun tidak ada statement yang di jalankan.

void setup()

{

pinMode (5, INPUT); // Berfungsi mengatur pin 5

// pada arduino sebagai input

}

Setelah fungsi setup() di jalankan maka secara langsung akan di

lanjutkan ke fungsi loop(). Fungsi loop() di jalankan berurutan dari statement

awal sampai akhir dan kemudian akan terus-menerus diulang.

void loop()

{

digitalWrite(3, HIGH); // menyalakan pin 3 arduino

delay(2000); // pause selama 2 detik

digitalWrit(3, LOW); //mematikan pin 3 arduino

delay(500); // pause selama 1/2 detik

}

Kurung kurawal (Curly brace, {}) berfungsi untuk mendefinisikan awal

dan akhir dari sebuah blok fungsi. Ketika suatu blok fungsi tidak berisi kurung

kurawal maka akan terjadi laporan error ketika di compile.

26

Semicolon (;) berfungsi untuk memberikan batas antara statement program

dan statement program lainnya.

2. Function

Function (fungsi) adalah blok pemrograman yang mempunyai nama dan

mempunyai statement yang akan di jalankan ketika fungsi di panggil. Void

setup() dan void loop() juga merupakan fungsi pada pemrograman Arduino.

Adapun fungsi lain dapat dibuat sesuai dengan keperluan. Adapun cara

pendeklarasian fungsi adalah sebagai berikut :

type functionName(parameters)

{

//statement;

}

Contoh:

int jumlah()

{

int a; // membuat variabel ‘a’ bertipe integer

a = analogRead(1); // baca nilai pada pin 1

return a; // return nilai a

}

Pada contoh di atas merupakan fungsi yang memiliki nilai balik int

(integer). Jika suatu fungsi tidak membutuhkan adanya nilai balik maka type

function harus void.

3. Comment

Pada pemrograman Arduino ada dua jenis comment yaitu blok comment

dan line comment. Semua statement yang terdapat pada blok comments tidak akan

di jalankan dan tidak di compile pada board Arduino sehingga tidak

mempengaruhi besar program yang di masukkan ke dalan board Arduino.

Line comment mempunyai fungsi yang sama seperti blok comment hanya

pada line comment semua statement yang berada setelah garis miring (/) tidak

akan dijalankan dan di compile pada board Arduino.

27

/*

block comment

*/

// line comment

4. Variabel

Variabel berfungsi sebagai penyimpan nilai yang digunakan pada program.

Variabel dapat dirubah nilainya sesuai dengan statement yang dijalankan.

Variabel dapat dideklarasikan dengan menentukan tipe variabel dan nilai awal

variabel.

Type variableName = 0;

Variabel yang dideklarasikan pada awal program sebelum void setup()

disebut dengan variabel global. Variabel global dapat digunakan pada semua blok

fungsi dan statement dalam program. Sedangkan variabel lokal dapat

dideklarasikan secara lokal di dalam sebuah fungsi ataupun di dalam suatu blok

pengulangan. Variabel lokal hanya dapat digunakan pada blok yang bersangkutan.

5. Tipe Data

Tipe data yang digunakan pada bahasa pemrograman Arduino dapat dilihat

pada tabel 2.7.

28

Tabel 2.7 Tipe data bahasa pemrograman Arduino. No. Tipe

Data

Penulisan Keterangan Range

1 Byte byte Tipe data yang dapat menyimpan 8-bit nilai

angka bilangan asli tanapa koma.

0-255

2 Integer int Tipe data yang dapat menyimpan 16-bit

nilai bilangan bulat tanpa koma.

-32.768 s/d

32.767

2 Long long Tipe data yang lebih besar dari integer,

dapat menyimpan 32-bit nilai bilangan bulat

tanpa koma.

-2.147.483.648

s/d 2.147.483.647

3 Float float Tipe data yang dapat menyimpan 32-bit

nilai angka bilangan desimal.

-3.4028235E+38

s/d

3.4028235E+38

4 Word word Tipe data yang dapat menyimpan 16-bit

nilai bilangan bulat tanpa koma.

0 s/d 65535

5 Short short Tipe data yang dapat menyimpan 16-bit

nilai bilangan sama seperti tipe data int.

-32.768 s/d

32.767

6 Double double Tipe data yang dapat menyimpan 32-bit

nilai angka bilangan decimal sama seperti

tipe data float.

-3.4028235E+38

s/d

3.4028235E+38

7 Array tipeData

x[]

Tipe data array merupakan kumpulan nilai

yang dapat di akses dengan indeks number

dan perlu dideklarasikan tipe datanya

terlebih dahulu. Nilai array dapat di panggil

dengan cara menuliskan nama array dan

index numbernya. Indeks pada array

dimulai dari 0.

8 Boolean boolean Tipe data yang hanya mempunyai dua nilai,

yaitu true atau false (benar atau salah).

9 Void void Tipe data yang hanya digunakan pada

deklarasi fungsi.

10 Char char Tipe data yang dapat menyimpan nilai

karakter.

11 String String Tipe data yang berfungsi untuk

memanipulasi data teks.

6. Operator Aritmatika

Operator aritmatika pada bahasa pemrograman Arduino terdiri dari

penjumlahan (+), pengurangan(-), pengkalian(*), dan pembagian(/). Pemilihan

tipe data harus diperhatikan dalam pemilihan operator aritmatika agar tidak terjadi

overflow range data.

Pada bahasa pemrograman Arduino terdapat kombinasi operator aritmatika

yang biasanya digunakan pada pengulangan. Berikut operator kombinasi pada

bahasa pemrograman Arduino :

1. x++; memiliki fungsi menaikan nilai x sebesar 1.

29

2. x--; memiliki fungsi mengurangi nilai x sebesar 1.

3. x += y; memiliki fungsi sama seperti x = x + y.

4. x -= y; memiliki fungsi sama seperti x = x – y.

5. x *= y; memiliki fungsi sama seperti x = x * y.

6. x /= y; memiliki fungsi sama seperti x = x / y.

Pada bahasa pemrograman Arduino terdapat operator perbandingan seperti

pada bahasa pemrograman yang lain. Operator perbandingan pada bahasa

pemrograman Arduino membandingkan dua variabel dan apabila terpenuhi akan

bernilai 1 atau true. Operator perbandingan ini banyak digunakan dalam operator

bersyarat. Berikut operator perbandingan pada bahasa pemrograman Arduino :

1. x == y; membandingkan nilai x sama dengan y.

2. x != y; membandingkan nilai x tidak sama dengan y.

3. x < y; membandingkan nilai x lebih kecil dari y.

4. x > y; membandingkan nilai x lebih besar dari y.

5. x <= y; membandingkan nilai x lebih kecil dari sama dengan y.

6. x >= y; membandingkan nilai x lebih besar dari sama dengan y.

Pada bahasa pemrograman Arduino terdapat 3 operator logika yaitu :

AND, OR, dan NOT. Operator logika digunakan untuk membandingkan 2

ekspresi dan mengembalikan nilai balik baik benar ataupun salah. Operator logika

biasanya digunakan pada if statement.

a. Logika AND

Logika AND bernilai benar jika kedua operator perbandingan terpenuhi.

Contoh :

If ( x > 0 && x < 3)

b. Logika OR

Logika OR bernilai benar jika salah satu operator perbandingan terpenuhi.

Contoh :

If (x < 5 || x = 0)

30

c. Logika NOT

Logika NOT bernilai benar jika ekspresi operator salah.

Contoh :

If (x != 0)

7. Konstanta

Arduino mempunyai beberapa variabel konstanta. Konstanta

diklasifikasikan berdasarkan group.

a. TRUE / FALSE

Merupakan konstanta boolean yang mendefinisikan logika TRUE/FALSE.

False mendifinisikan 0 dan True mendifinisikan 1.

Contoh :

If ( x == TRUE );

{

//statement

}

b. HIGH / LOW

Konstanta HIGH/LOW biasanya digunakan pada saat membaca dan

menulis ke pin digital. HIGH di definisikan sebagai 1 sedangkan LOW sebagai 0.

digitalWrite( 3, HIGH );

c. INPUT / OUTPUT

Konstanta INPUT/OUTPUT biasanya digunakan pada fungsi pinMode()

untuk mendifinisikam mode pin digital sebagai input ataupun sebagai output.

pinMode( 3, INPUT );

8. Flow Control

a. If

Operator if akan menjalankan statement yang ada di dalamnya jika kondisi

pada operator if sudah terpenuhi dan jika kondisi if tidak terpenuhi maka

statement yang berada di dalam if akan diabaikan.

31

Contoh :

If ( variabel == value )

{

//statement

}

b. If... else

Operator if .. else akan menjalankan statement yang ada di dalamnya

apabila kondisi pada operator if sudah terpenuhi dan jika kondisi if tidak terpenuhi

maka akan menjalankan statement yang berada di dalam operator else.

Contoh : If ( variabel == value )

{

// statement

}

Else

{

// statement

}

c. For

Operator for berfungsi untuk melakukan pengulangan statement yang

berada di dalam kurung kurawal, sampai kondisi pengulangan terpenuhi.

For ( initialization; condition; expression )

{

// statement;

}

d. While

Operator berfungsi mengulang statement yang berada di dalam kurung

kurawal terus-menerus apabila kondisi terpenuhi. Operator while akan berhenti

dijalankan apabila kondisi pengulangan bernilai salah.

While ( variabel == value ) {

// statement;

}

32

e. Do... while

Operator do…while mempunyai fungsi yang sama dengan operator while,

tetapi pada operator do…while pengecekan dilakukan diakhir, jadi pengulangan

akan tetap dijalankan walaupun kondisi awalnya tidak terpenuhi.

Do

{

// statement;

}

While ( variabel == value );

9. Digital dan Analog I/O

a. Digital I/O

Input / output digital pada board Arduino mempunyai jumlah berbeda-

beda tergantung jenis board Arduino yang digunakan.

Pada fungsi void setup() digunakan mengkonfigurasi pin sebagai input

atau output. Pin digital Arduino pada konfigurasi awal diatur sebagai input

sehingga untuk merubahnya harus menggunakan operator pinMode(pin, mode).

pinMode (pin, OUTPUT); // mengset pin sebagai output

digitalWrite(pin, HIGH); // pin ditulis HIGH

digitalRead(pin); //membaca nilai dari pin

b. Analog I/O

Input / ouput analog pada board Arduino mempunyai jumlah berbeda-

beda tergantung jenis board Arduino yang digunakan. Pada board Arduino Uno

terdapat 6 pin analog, pengalamatnya mulai A0 – A5.

Membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya

dapat bekerja pada analog pin (A0 - A5). Hasil dari pembacaan berupa nilai

integer dengan range 0 sampai 1023.

analogRead(pin); // membaca nilai analog pin

analogWrite(pin, value); // menulis ke pin analog

33

10. Time

a. Delay(ms)

Delay berfungsi menghentikan program dalam waktu tertentu dengan

satuan millisecond.

delay(2000); // menunggu selama dua detik

b. Millis()

Millis berfungsi mengembalikan nilai dalam millisecond dihitung sejak

Arduino board menyala. Penapungnya harus long integer.

x = millis(); // set ‘x’ equal to millis()

11. Math

a. Min(x,y)

Min(x,y) berfungsi mengembalikan nilai yang paling kecil dengan

membandingkan kedua variabel.

b. Max(x,y)

Max(x,y) merupakan kebalikan dari min, berfungsi mengembalikan nilai

yang paling kecil dengan membandingkan kedua variabel.

12. Serial

a. Serial.begin(rate)

Statement yang berfungsi untuk mengaktifkan komunikasi serial dan

mengeset baudrate.

Contoh :

void setup()

{

Serial.begin(9600); //mengaktifkan serial port dan

//mengatur baudrate 9600 bps

}

b. Serial.prinln(x)

Berfungsi mengirimkan x ke serial port.

Contoh :

Serial.println(25); // mengirimkan 25

34

2.2.3.3 Hardware Board Arduino

Hardware pada Arduino adalah seperangkat sistem komponen yang telah

terkombinasi dengan mikrokontroler sebagai otak dari sistem dan antarmuka

(interface) yang akan menghubungkan sistem mikrokontroler dengan sistem

komputer. Komponen utama di dalam board Arduino adalah sebuah

mikrokontroler dengan merek ATmega yang dibuat oleh perusahaan Atmel

Corporation. Arduino memiliki 15 jenis board yaitu Arduino Uno, Arduino

Leonardo, Arduino Due, Arduino Esplora, Arduino Mega 2560, Arduino Mega

ADK, Arduino Ethernet, Arduino Mini, Lilypad Arduino, Lilypad Arduino USB,

Arduino Micro, Arduino Nano, Arduino Pro, Arduino Pro Mini, dan Arduino Flo.

Jenis-jenis Arduino ini dibedakan sesuai fungsi dan juga jumlah pin yang terdapat

pada board, karena terdapat jenis Arduino yang dapat melakukan fungsi khusus

seperti Arduino Mega ADK dapat berkoneksi terhadap handphone android, dan

Arduino Ethernet dapat melakukan komunikasi melalui kabel LAN. Jenis Arduino

yang umum digunakan oleh pengguna adalah Arduino Uno.

1. Arduino Uno

Arduino Uno adalah board berbasis mikrokontroler ATmega 328,

memiliki 20 pin yaitu 6 pin input analog, dan 14 pin I/O digital yang 6

diantaranya dapat digunakan sebagai output PWM, dilengkapi koneksi USB, jack

listrik, header ICSP, dan tombol reset. Arduino Uno memiliki flash memory

32KB, SRAM 2 KB dan EEPROM 1KB. Gambar 2.16 menunjukkan board

Arduino Uno.

Gambar 2.16 Board Arduino Uno.

Sumber : http://arduino.cc/en/Main/ArduinoBoardUno.

35

2.2.3.4 Keunggulan Arduino

Keunggulan dari board Arduino adalah sebagai berikut:

a. Bahasa pemrograman Arduino relatif mudah karena dilengkapi dengan

kumpulan library yang cukup lengkap.

b. Pada board Arduino terdapat boatloader yang berfungsi untuk upload program

dari komputer sehingga tidak memerlukan perangkat chip programmer.

c. Arduino memiliki sarana komunikasi USB sehingga tidak memerlukan port

serial (RS323).

d. Arduino memiliki modul siap pakai yang dapat langsung dipasang pada board

Arduino seperti : modul GPS, modul Ethernet, modul SD Card, dll.

2.2.4 Bahasa Pemrograman

Sebuah perangkat keras/hardware tidak dapat bekerja tanpa ada perintah.

Sebuah perangkat lunak/software dibutuhkan untuk memberikan sejumlah

perintah kepada hardware, sehingga hardware tersebut akan bekerja sebagaimana

fungsinya. Software dibangun dari sekumpulan perintah-perintah. Kumpulan

perintah inilah yang disebut bahasa pemrograman.

Delphi adalah sebuah bahasa pemrograman dan lingkungan

pengembangan perangkat lunak. Produk ini dikembangkan oleh Borland. Dengan

menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat

pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS

X dan Windows CE. Keunggulan bahasa pemrograman ini terletak pada

produktivitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi, pola

desain yang menarik yang menarik serta diperkuat dengan pemrogramannya yang

terstruktur.

2.2.4.1 IDE (Integrated Development Environment) Delphi

Lingkungan pengembangan terpadu atau Integrated Development

Environment (IDE) adalah bagian dari Delphi yang digunakan untuk

memungkinkan pemrograman secara visual merancang tampilan untuk para user

36

(antarmuka pemakai) dan menuliskan kode program. Gambar 2.16 di bawah ini

memperlihatkan tampilan utama IDE Delphi 7

Gambar 2. 17 Tampilan Utama IDE Delphi

1. Menu Bar

Berfungsi untuk memilih tugas-tugas tertentu , seperti memulai, membuka,

dan menyimpan project, mengompilasi project menjadi file executable (EXE), dan

lain-lain seperti ditunjukkan gambar 2.18 di bawah ini.

Gambar 2.18 Menu bar pada Delphi

37

2. Tool Bar

Tool bar merupakan sekumpulan ikon yang terkumpul dalam grup tertentu yang

terletak di bawah menu bar. Tool bar berguna untuk dapat mengakses perintah-

perintah tertentu secara lebih cepat. Gambar 2.19 berikut menunjukkan posisi

toolbar.

Gambar 2.19 Toolbar

3. Component Palette

Component Palette merupakan salah satu komponen tool bar yang berisi

kumpulan ikon yang melambangkan komponen-komponen yang terdapat pada

VCL (Visual Component Library). Pada Component Palette, akan ditemukan

beberapa page control, seperti Standard, Additional, Win32, System, Data Access

dan lain-lain. Ikon tombol pointer terdapat di setiap page control. Pada gambar

2.20 berikut merupakan posisi component palette.

38

Gambar 2.20 Compponent Palette pada Delphi

4. Form

Form Designer merupakan suatu objek yang dapat dipakai sebagai tempat

untuk merancang program aplikasi. Form berbentuk sebuah meja kerja yang dapat

diisi dengan komponen-komponen yang diambil dari Component Palette. Gambar

2.21 berikut ini merupakan jendela form designer.

Gambar 2.21 Form Designer pada Delphi

39

5. Object Inspector

Object Inspector digunakan untuk mengubah properti dan karakteristik

dari sebuah komponen. Object Inspector terdii dari dua tab, yaitu Properties dan

Events. Tab Properties digunakan untuk mengubah properti komponen. Properti

dengan tanda + menunjukkan bahwa propeti tersebut mempunyai subproperti. Tab

Events, bagian yang dapat diisi dengan kode program tertentu yang berfungsi

unuk menangani event-event (kejadian kejadian yang berupa sebuah procedure)

yang dapat direspon oleh sebuah komponen. Gambar 2.22 di bawah ini

menunjukkan object inspector.

Gambar 2.22 Object Inspector pada Delphi

6. Object Tree View

Object Tree View menampilkan diagram pohon dari komponen-komponen

yang bersifat visual maupun nonvisual yang telah terdapat dalam form, data

module, atau frame. Object Tree View juga menampilkan hubungan logika antar

komponen. Gambar 2.23 di bawah ini merupakan object tree view.

40

Gambar 2.23 Object TreeView pada Delphi

7. Code Editor

Code Editor merupaka tempat menuliskan kode program atau pernyataan-

pernyataan dalam Object Pascal. Code Editor dilengkapi dengan fasilitas highlight

yang memudahkan pemakai menemukan kesalahan. Title bar yang terletak pada

bagian atas jendela code editor menunjukkan nama file yang sedang disunting,

serta pada bagian informasi yang perlu untuk diperhatikan, yaitu: nomor

baris/kolom yang terletak pada bagian paling kiri.

Bagian ini berfungsi untuk menunjukkan posisi kursor di dalam jendela

Code Editor. Modified menunjukkan bahwa file yang sedang disunting telah

mengalami perubahan tersebut belum disimpan. Teks ini akan hilang jika telah

menyimpan perubahan. Insert/Overwrite yang terletak pada bagian paling kanan

menunjukkan bahwa modus pengetikan teks dalam jendela Code Editor. Insert

menunjukkan bahwa modus penyisipan teks dalam keadaan aktif, sedangkan

Overwrite menunjukkan bahwa modus penimpaan teks dalam keadaan aktif.

Berikut ini merupakan code editor seperti diperlihatkan pada gambar 2.24.

41

Gambar 2.24 Code Editor pada Delphi

2.2.5 Database

Dalam kamus online bahasa Inggris Oxford, disebutkan bahwa database

adalah satu set data yang terstruktur dalam penyimpanan komputer dan biasanya

diakses atau dimanipulasi dengan menggunakan perangkat lunak khusus.

Biasanya juga dibutuhkan dalam penggunaan yang berkepanjangan. Database

digunakan untuk menyimpan data sedemikian rupa sehingga tidak terjadi

penduplikatan data. Hal ini sangat berguna untuk efisiensi penyimpanan sehingga

ruang penyimpanan dapat dihemat sebisa mungkin.

Salah satu database server yang paling popular adalah MySQL. MySQL

merupakan sebuah database management system yang dikembangkan oleh

perusahaan Oracle. MySQL termasuk jenis RDBMS (Relational Database

Management System). Itulah sebabnya istilah seperti tabel, baris, dan kolom

digunakan pada MySQL. Pada MySQL, sebuah database mengandung satu atau

sejumlah tabel. Tabel terdiri atas sejumlah baris dan seiap baris mengandung satu

atau beberapa kolom.