• Tidak ada hasil yang ditemukan

Perancangan Sistem Multi Locker Dengan Penyandian Berbasis Mikrokontroler Atmega 8 Menggunakan Android Phone

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Sistem Multi Locker Dengan Penyandian Berbasis Mikrokontroler Atmega 8 Menggunakan Android Phone"

Copied!
21
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Pengertian Sistem

Berdasarkan kutipan buku yang berjudul Analisis dan Desain Sistem

Informasi karangan Jogiyanto HM (2005,1) : ”Suatu sistem adalah suatu

jaringan kerja dari prosedur-prosedur yang saling berhubungan,berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu

sasaran yang tertentu”. Sebuah sistem dapat terdiri dari sistem-sistem bagian (subsistem) masing-masing dapat terdiri dari subsistem-subsistem yang lebih kecil lagi atau terdiri dari komponen-komponen yang saling berinteraksi dan saling berhubungan membentuk suatu ksesatuan sehingga tujuan atau sasaran

sistem dapat tercapai.

2.2 Locker

Locker atau lemari barang barang adalah benda. Lemari adalah perkakas rumah, tempat menyimpan pakaian dan sebagainya (Hamzah Ahmad, Nanda Santoso:1996:44, 222). Merujuk dari referensi tersebut, maka penulis menyimpulkan bahwa lemari barang adalah perkakas rumah yang memiliki fungsi untuk menyimpan benda.

2.3 Android

(2)

Android adalah sistem operasi untuk handphone yang berbasis linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Android merupakan salah satu sistem operasi yang banyak digunakan saat ini. Hal ini didukung dengan support-nya beberapa vendor besar, seperti Samsung, HTC, LG yang menggunkan system opersai ini. Sehingga menjadikan andoid lebih cepat popular dibandingkan system operasi smartphone lainnya.

“(Winarno, Edy & Zaki, Ali :2012) Android adalah sistem operasi untuk telepon

seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat 8 peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi,

termasuk Google, HTC, Intel, Motorola,Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama

di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).

2.3.1 Karakteristik Android

(3)

akan tetapi, pada tulisan selanjutnya, penulis akan menggunakan Eclipse karena OHA secara resmi membuat plugin untuk IDE Eclipse.

2.4 Buzzer

Buzzer adalah suatu alat yang dapat mengubah sinyal listrik menjadi sinyal suara. Pada umumnya buzzer digunakan untuk alarm, karena penggunaannya cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara yang di keluarkan oleh buzzer yaitu antara 1-5 KHz. (Albert Paul, Prinsip-prinsip Elektronika, 1989 hal: 134).

Gambar 2.2 Simbol dan Fisik Buzzer

Rangkaian Buzzer atau yang biasa disebut sebagai rangkaian alarm pengingat pesan dan tanda pastinya sudah sering ditemukan di beberapa perangkat

(4)

2.5 Mikrokontroler Atmega8

Gambar 2.3 Bentuk Fisik ATmega 8

AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR

RISC yang memiliki 8K byte in-System Programmable Flash.

(5)

2.6 Bluetooth Module HC-05

Gambar 2.4 Bentuk Fisik Bluetooth HC-05

Bluetooth Module HC-05 merupakan module komunikasi nirkabel pada frekuensi 2.4 GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai master.

Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi wireless. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built in LED sebagai indikator koneksi bluetooth. Modul BT ini terdiri dari dua jenis yaitu Master dan Slave. Seri modul BT HC bisa dikenali dari nomor serinya, jika nomer serinya genap maka modul BT tersebut sudah diset oleh pabrik, bekerja sebagai slave atau master dan tidak dapat diubah mode kerjanya, contoh adalah HC-06-S. Modul BT ini akan bekerja sebagai BT Slave dan tidak bisa diubah menjadi Master, demikian juga sebaliknya misalnya HC-04M. Default mode kerja untuk modul BT HC dengan seri genap adalah sebagai Slave.

Sedangkan modul BT HC dengan nomer seri ganjil, misalkan HC-05, kondisi default biasanya diset sebagai Slave mode, tetapi pengguna bisa mengubahnya menjadi mode Master dengan AT Command tertentu.

Penggunaan utama dari modul BT ini adalah menggantikan komunikasi serial via kabel, sebagai contoh:

1. Jika akan menghubungkan dua sistem mikrokontroler agar bisa berkomunikasi via serial port maka dipasang sebuah modul BT Master

(6)

Koneksi via bluetooth ini menyerupai komunikasi serial biasa, yaitu adanya pin TXD dan RXD.

2. Jika sistem mikrokontroler dipasangi modul BT Slave maka ia dapat berkomunikasi dengan perangkat lain semisal PC yang dilengkapi adapter BT ataupun dengan perangkat ponsel, smartphone dan lain-lain

3. Saat ini banyak perangkat seperti printer, GPS modul dan lain-lain yang bekerja menggunakan media bluetooth, tentunya sistem mikrokontroler yang dilengkapi dengan BT Master dapat bekerja mengakses device-device tersebut

Pemakaian module BT pada sistem komunikasi baik antar dua sistem mikrokontrol maupun antara suatu sistem ke device lain tidak perlu menggunakan driver, tetapi komunikasi dapat terjadi dengan dua syarat yaitu :

1. Komunikasi terjadi antara modul BT Master dan BT Slave, komunikasi tidak akan pernah terjadi jika kedua modul sama Master atau

sama-sama Slave, karena tidak akan pernah pairing diantara keduanya 2. Password yang dimasukkan cocok

Modul BT yang banyak beredar di sini adalah modul HC-06 atau sejenisnya dan modul HC-05 dan sejenisnya. Perbedaan utama adalah modul HC-06 tidak bisa mengganti mode karena sudah diset oleh pabrik, selain itu tidak banyak AT Command dan fungsi yang bisa dilakukan pada modul tersebut. Diantaranya hanya bisa mengganti nama, baud rate dan password saja.

(7)

2.7 Motor Stepper Unipolar

Gambar 2.5 Bentuk Fisik Motor Stepper Unipolar

Motor stepper adalah motor yang digunakan sebagai penggerak/pemutar. Prinsip kerja motor stepper mirip dengan motor DC, sama-sama dicatu dengan tegangan DC untuk memperoleh medan magnet. Bila motor DC memiliki magnet tetap pada stator, motor stepper mempunyai magnet tetap pada rotor. Motor stepper dinyatakan dengan spesifikasi : “berapa phasa “, “berapa derajat perstep”,

“berapa volt tegangan catu untuk tiap lilitan” dan ”berapa ampere/miliampere arus yang dibutuhkan untuk tiap lilitan”. Motor stepper tidak dapat bergerak

sendirinya, tetapi bergerak secara per-step sesuai dengan spesifikasinya, dan bergerak dari satu step ke step berikutnya memerlukan waktu, serta menghasilkan torsi yang besar pada kecepatan rendah. Motor stepper juga memiliki karakteristik yang lain yaitu torsi penahan, yang memungkinkan menahan posisinya. Hal ini sangat berguna untuk aplikasi dimana suatu sistem memerlukan keadaan start dan stop (Syarkawi, 2007).

Motor stepper tidak merespon sinyal clock dan mempunyai beberapa

lilitan dimana lilitan-lilitan tersebut harus dicatu (tegangan) dahulu dengan suatu urutan tertentu agar dapat berotasi. Membalik urutan pemberian tegangan tersebut

(8)

Karakteristik dari motor stepper menurut Trianto adalah sebagai berikut: 1. Tegangan

Tiap motor stepper mempunyai tegangan rata-rata yang tertulis pada tiap unitnya atau tercantum pada datasheet masing-masing motor stepper. Tegangan rata-rata ini harus diperhatikan dengan seksama karena bila melebihi dari tegangan rata-rata ini akan menimbulkan panas yang menyebabkan kinerja putarannya tidak maksimal atau bahkan motor stepper akan rusak dengan sendirinya.

2. Resistansi

Resistansi per lilitan adalah karakteristik yang lain dari motor stepper. Resistansi ini akan menentukan arus yang mengalir, selain itu juga akan mempengaruhi torsi dan kecepatan maksimum dan motor stepper.

3. Derajat per step

Derajat per step adalah faktor terpenting dalam pemilihan motor stepper

sesuai dengan aplikasinya. Tiap-tiap motor stepper mempunyai spesifikasi masing-masing, antara lain: 0.72° per step, 1.8° per step, 3.6° per step, 7.5°

per step, 15° per step, dan bahkan ada yang 90° per step. Dalam pengoperasiannya kita dapat menggunakan 2 prinsip yaitu full step atau half step. Dengan full step berarti motor stepper berputar sesuai dengan spesifikasi derajat per stepnya, sedangkan half step berarti motor stepper berputar setengah derajat per step dari spesifikasi motor stepper tersebut. Motor stepper dibedakan menjadi dua kategori besar yaitu: magnet permanen dan reluktansi variabel. Tipe magnet permanen terbagi menjadi dua motor stepper yaitu motor stepper unipolar dan bipolar.

Motor stepper unipolar sangat mudah untuk dikontrol dengan

menggunakan rangkaian counter „-n‟. Motor stepper unipolar mempunyai karakteristik khusus yaitu berupa lilitan center-tapped dan 1 lilitan sebagai common. Lilitan common akan mencatu tegangan pada center-tapped dan sebagai ground adalah rangkaian drivernya.

(9)

koilnya. Umumnya pada motor stepper unipolar terdapat dua buah koil (Syarkawi, 2007).

Gambar 2.6 Susunan Koil Motor Stepper Unipolar

Tabel 2.1 Pola 1-Phase Putaran Motor Stepper Unipolar

Pada prinsipnya ada dua macam cara kerja motor stepper unipolar, yaitu full-step dan half-step. Terlihat pada Tabel 2.2 dan Tabel 2.3

Tabel 2.2 Pemberian Tegangan Untuk Operasi Full-Step FULLSTEP

Tegangan yang diberikan pada lilitan

Arah putar searah jarum jam Arah putar melawan jarum jam

L3 L2 L1 L0 L3 L2 L1 L0

1 1 0 0 0 0 0 0 1

2 0 1 0 0 0 0 1 0

3 0 0 1 0 0 1 0 0

(10)

Pada full step, suatu titik pada sebuah kutub magnet di rotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step ke 4, dan berikutnya dapat diberikan lagi mulai dari step 1. Setiap step, rotor bergerak searah atau berlawanan dengan jarum jam sebesar spesifikasi derajat per step dan motor stepper. Setiap step hanya menarik sebuah kutub saja. Tegangan „1‟ adalah menunjukkan logika dalam level Transistor Transistor Logic (TTL). Besar tegangan sesungguhnya diatur dengan spesifikasi motor stepper yang dipakai, misalnya dengan menggunakan buffer.

Tabel 2.3 Pemberian Tegangan Untuk Operasi Half-Step HALFSTEP

Tegangan yang diberikan pada lilitan

Arah putar searah jarum jam Arah putar melawan jarum jam

L3 L2 L1 L0 L3 L2 L1 L0

1 1 0 0 0 0 0 0 1

2 1 1 0 0 0 0 1 1

3 0 1 0 0 0 0 1 0

4 0 1 1 0 1 1 1 0

5 0 0 1 0 1 1 0 0

6 0 0 1 1 1 1 0 0

7 0 0 0 1 0 0 0 0

8 1 0 0 1 0 0 0 1

Untuk half step, setiap kutub magnet pada rotor akan kembali mendapatkan tarikan dan medan magnet lilitan yang sama setelah step ke 8. berikutnya kembali mulai step 1. Setiap step posisi rotor berubah sebesar setengah derajat dan spesifikasi derajat per step motor stepper.

(11)

stepper bipolar di desain dengan koil yang terpisah yang akan di catu dan dua arah (polaritas harus dibalik selama pencatuan). Motor stepper bipolar menggunakan

logika yang sama seperti motor stepper unipolar yaitu hanya „0‟ dan „1‟ untuk

merespon koilnya.

2.7.1 Prinsip Kerja Motor Stepper

Prinsip kerja motor stepper adalah mengubah pulsa-pulsa input menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik.

Berikut ini adalah ilustrasi struktur motor stepper sederhana dan pulasa yang dibutuhkan untuk menggerakkannya :

Gambar 2.7 Prinsip Kerja Motor Stepper Unipolar

Gambar diatas memberikan ilustrasi dari pulsa keluaran pengendali motor stepper dan penerpan pulsa tersebut pada motor stepper untuk menghasilkan arah putaran yang bersesuaian dengan pulsa kendali.

2.7.2 Driver Motor Stepper Unipolar

Secara teoritis, sebuah motor stepper dapat digerakkan langsung oleh mikrokontroller (Syarkawi, 2007). Dalam kenyataannya, arus dan tegangan yang dikeluarkan oleh mikrokontroller terlalu kecil untuk menggerakkan sebuah motor stepper. Gerbang-gerbang Transistor Transistor Logic (TTL) mikrokontroller hanya mampu mengeluarkan arus dalam orde mili-ampere dan tegangan antara 2 sampai 2,5 Volt. Sementara itu untuk menggerakkan motor stepper diperlukan

(12)

Volt. Untuk mengatasi masalah tersebut, diperlukan sebuah piranti tambahan yang memenuhi kebutuhan arus dan tegangan yang cukup besar. Rangkaian driver

motor stepper merupakan rangkaian “open collector”, dimana output rangkaian ini

terhubung dengan ground untuk mencatu lilitan-lilitan motor stepper.

Gambar 2.8 Skema Rangkaian Driver Motor Stepper

Arus keluaran mikrokontroler tidak dapat menggerakkan motor stepper. Maka diperlukan driver untuk mencatu arus motor stepper.

Motor stepper terdiri rotor dan stator yang bekerja berdasar sifat magnet, dimana magnet sejenis tolak menolak dan yang berlawanan tarik menarik. Kumparan pada stator membentuk medan magnet saat diberi arus, sehingga motor

yang menggunakan magnet akan bergerak untuk mencari kestabilan agar kutub magnet bersesuaian dengan medan magnet yang terjadi. Arah puran motor stepper

(13)

2.8 Bahasa Pemograman C

Struktur bahasa pemograman C (Andrian, 2013):

1. Header File

Header File adalah berkas yang berisi prototype fungsi, definisi konstanta dan definisi variable. Fungsi adalah kumpulan kode C yang diberi nama dan

ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan. Contoh : stdio.h, math.h, conio.h

2. Preprosesor Directive

Preprosesor directive adalah bagian yang berisi pengikutsertaan file atau berkas-berkas fungsi maupun pendefinisian konstanta.

Contoh: #include <stdio.h>, #include phi 3.14

3. Void

Void artinya fungsi yang mengikutinya tidak memiliki nilai kembalian

(return). 4. Main ( )

Fungsi main ( ) adalah fungsi yang pertama kali dijalankan ketika program dieksekusi tanpa fungsi main suatu program tidak d apat dieksekusi namun dapat dikompilasi.

5. Statement

Statement adalah instruksi atau perintah kepada suatu program ketika

program itu dieksekusi untuk menjalankan suatu aksi. Setiap statement diakhiri

dengan titik-koma (;)

2.9 Code Vision AVR

(14)

komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir mengimplementasikan semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded). Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi

I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. Untuk memudahkan pengembangan program

aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, Code Vision AVR ini telah mengintegrasikan perangkat lunak downloader (in system programmer) yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang deprogram.

Code Vision AVR 1.2.4.9 adalah suatu kompiler berbasis bahasa C, yang terintegrasi untuk memprogram dan sekaligus compiler aplikasi AVR (Alf and Vegard‟s Risc processor) terhadap mikrokontroler dengan sistem berbasis window. Code Vision AVR ini dapat mengimplematasikan hampir semua interuksi bahasa C yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa keunggulan tambahan untuk memenuhi keunggulan spesifikasi dari Code Vision AVR yaitu hasil kompilasi studio debugger dari ATMEL.

(15)

assembly/kompilasi berhasil. In-System Programmer software didesign untuk bekerja dan dapat berjalan dengan perangkat lunak lain seperti AVR Dragon, AVRISP, Atmel STK500, dan lain sebagainya.

Disamping library standar C, Code Vision AVR C compiler memiliki librari lain untuk:

 Modul LCD Alpanumerik  Delays

 Protokol semikonduktor Maxim/Dallas  Dan lainnya

Code Vision AVR juga memiliki Code Wizard AVR sebagaki generator program otomatis, yang memungkinkan kita untuk menulis, segala bentuk pengaturan Chip dalam waktu singkat, dan semua kode yang dibutuhkan untuk mengimplementasikan fungsi-fungsi seperti:

1. Pengaturan akses External Memory

Untuk chip-chip AVR yang memungkinkan koneksi memori eksternal SRAM, dapat juga mengatur ukuran memori dan wait state (tahap tunggu) dari

memori ketika memori tersebut diakses.

2. Identifikasi chip reset source

Adalah suatu layanan dimana kita dapat membuat kode secara otomatis yang dapat mengidentifikasi kondisi yang menyebabkan chip di reset.

3. Inisialisasi port input/output

Pengaturan port-port yang kan dijadikan gerbang masukan dan keluaran dapat secara otomatis digenerate codenya. Yang kita lakukan hanya memilih port-port yang akan digunakan sebagai input atau output.

4. Inisialisasi Interupsi external

Pengaturan interupsi eksternal yang nantinya akan digunakan untuk menginterupsi program utama

5. Inisialisasi timers/counters

(16)

6. Inisialisasi timer watchdog

Pengaturan timers yang berfungsi untuk mengatur frekwensi yang nantinya digunakan pada interupsi, sehingga interupsi akan dilayani oleh suatu fungsi wdt_timeout_isr.

7. Inisialisasi UART(USART) dan komunuikasi serial

Pengaturan komunikasi serial sebagai penerima atau pengirim data. 8. Inisialisasi komparasi analog

Pengaturan yang berkaitan dengan masukan data yang digunakan dalam aplikasi yang membutuhkan komparasi pada ADC nya.

9. Inisialisasi ADC

Pengaturan ADC(Analog-Digital Converter) yang berfungsi untuk merubah format analog menjadi format digital untuk diolah lebih lanjut.

10.Inisialisasi antarmuka SPI

Pengaturan chip yang berkaitan dengan Clock rate, Clock Phase, dan lainnya.

11.Inisialisasi antarmuka Two Wire BUS

Pengaturan Chip yang berhubungan dengan pola jalur komunikasi antara

register yang terdapat pada chip AVR.

12.Inisialisasi antarmuka CAN

Pengaturan chip yang lebih kompleks, yang dapat mengatur interupsi, transmisi data, timers, dan lainnya.

13.Inisialisasi sensor temperatur, thermometer, dan lainnya

Pengaturan yang berhubungan dengan sensor temperatur one wire bus, memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR.

14.Inisialisasi one wire bus

Pengaturan yang berhubungan dengan sensor temperatur yang memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR. Seperti Maxim/Dallas Semiconductor.

15.Inisialisasi modul LCD

(17)

Contoh cara kerja sebelum melakukan pemograman di AVR, dimana contoh disini adalah contoh pengaturan program agar mikrokontroler dapat berkomunikasi dengan komputer:

a. Memilih project baru dan melakukan penyetingan komponen yang digunakan pada board.

b. Pengaturan IC/Chip, pada chip yang kita harus dilakukan adalah IC apa yang kita gunakan, dalam hal ini ATMEGA8535l dengan Clock 16 MHz. Clock ini harus di atur dengan ukuran 16 MHz, karena pada komponen oksilator yang digunakan sebesar 16 MHz. c. Pengaturan ADC, pada ADC ini ada beberapa pilihan yang harus

dipilih. diantaranya ADC Enable di check list(v), Use 8 bit di check list(v), high speed di check list (v) dan Volt Ref dipilih

„AVCC PIN‟. AVCC PIN berguna sebagai referensi tegangan pada

ADC untuk nilainya sebesar 5 volt.

d. Pengaturan USART, usart ini yang nantinya menghubungkan rangkaian mikrokontroler dengan PC (komputer).

Langkah-langkah yang dilakukan dengan adanya pilihan Receiver di check list(v) dan Transmitter di check list(v). Pengaturan receiver berfungsi apakah serial itu sebagai penerima data, sedangkan transmitter berfungsi serial bisa digunakan sebagai pengiriman data.

Untuk lebih jelas tampilan pengaturan yang disediakan oleh AVR dapat dilihat pada gambar dibawah ini :

(18)

Selain bentuk konfigurasi hadware yang nantinya secara otomatis akan membentuk sebuah instruksi layaknya perintah program ke IC/Chip, adapula perintah program yang kita ketik sendiri. Selain itu, Code Vision AVR juga menyediakan sebuah tool yang dinamakan dengan Code Generator atau Code Wizard AVR. Secara praktis, tool ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada microcontroller AVR yang sedang diprogram. Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela Code Wizard AVR selesai dilakukan. Secara teknis, penggunaan tool ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman Visual untuk komputer (seperti Visual C, Borland Delphi, dan sebagainya). Disamping versi yang komersil, Perusahaan Pavel Haiduc juga mengeluarkan CodeVisionAVR versi Demo yang dapat

didownload dari internet secara gratis. Dalam versi ini, memori flash yang dapat diprogram dibatasi maksimal 2K, selain itu tidak semua fungsi library yang

tersedia dapat dipanggil secara bebas. Seperti halnya belajar pemrograman komputer, agar mendapatkan pemahaman yang kuat dalam pemrograman microcontroller AVR, anda sebaiknya mencoba langsung membuat aplikasi program pada microcontroller tersebut. Untuk tujuan latihan, perangkat lunak Code vision AVR versi demo pada dasarnya adalah sarana yang cocok dan telah cukup memenuhi kebutuhan minimal anda. Gambar 2.15 berikut memperlihatkan diagram blok yang mengilustrasikan alur pemrograman microcontroller AVR dengan Code vision AVR yang dapat anda lakukan :

(19)

Seperti terlihat pada gambar 2.10, Code vision AVR pada dasarnya telah mengintegrasikan komponen-komponen penting dalam pemrograman microcontroller AVR: Editor,Compiler C, assembler dan ISP (In System Programmer). Khusus dengan ISP, ada beberapa jenis perangkat keras programmer dongle (berikut papan pengembangnya) yang telah didukung oleh perangkat lunak Code vision AVR ini, salah satu diantaranya adalah Kanda System STK 200/300 produk Perusahaan Kanda yang terhubung pada saluran antarmuka port Paralel Komputer.

2.10 Mikrokontroler AVR Dan Bahasa C

Tidak dapat disangkal, dewasa ini penggunaan bahasa pemrograman aras tinggi (seperti C, Basic, Pascal dan sebagainya) semakin populer dan banyak digunakan untuk memprogram sistem microcontroller. Berdasarkan sifatnya yang sangat fleksibel dalam hal keleluasaan pemrogram untuk mengakses perangkat

keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya.

Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson pada tahun 1972, Bahasa C merupakan salah satu bahasa pemrograman yang paling populer untuk pengembangan program-program aplikasi yang berjalan pada sistem microprocessor (komputer). Karena kepopulerannya, vendor-vendor perangkat lunak kemudian mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C dan lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) sebagai standar bakunya. Perbedaan antara compiler-compiler tersebut umumnya hanya terletak pada pengembangan fungsi-fungsi library serta fasilitas IDE (Integrated Development Environment)–nya saja. Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal yang membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam program C

(20)

sebuah bilangan bulat (misal „2‟), dimana hal yang sama tidak mungkin dapat

dilakukan dengan menggunakan bahasa aras tinggi lainnya. Karena sifatnya ini, seringkali bahasa C dikatagorikan sebagai bahasa aras menengah (mid level language).

Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien

dalam mendekode serta mengeksekusi instruksi-instruksi yang umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur

AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut, yaituI ARC). Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk memprogram sistem microcontroller AVR. Dengan beberapa kelebihan yang dimilikinya, saat ini Code Vision AVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative banyak digunakan dibandingkan compiler-compiler C lainnya. Bahasa C telah dikritisi secara meluas, dan banyak orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yang telah hadir, C tetap tak tersentuh. Code Vision AVR adalah salah satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler.

Salah satu ungkapan menyatakan bahwa “jika kamu membuat perangkat lunak yang akan tetap layak suatu hari nanti, jangan belajar bahasa yang popular saat

(21)

LISP dan skema interpreters-interpreters/kompiler-kompiler ditulis dengan menggunakan C. kita dapat memproses list menggunakan C, meski tak semudah menggunakan LISP. C juga memiliki fitur-fitur tambahan seperti rekursi, prosedur sebagai tipe data kelas pertama, dan banyak lagi. Banyak orang yang merasakan C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C adalah bahasa yang sederhana. Tapi karena kesederhanaan ini dianggap kurang memadai sehingga membuat C diadaptasi sebagai perkenalan pertama ke tahap bahasa tingkat tinggi yang kompleks yang memungkinkan kita mengontrol dengan baik apa yang kita program tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun sampai kita memerintahkan untuk melakukan sesuatu. Bahasa yang ada adalah transparan, bahkan jika beberapa fitur dari JAVA seperti garbage collection diikutsertakan pada implementasi C yang akan digunakan. Sebagai bahasa pemrograman, C tetap ada. Ini adalah inti dari development dilingkungan system operasi UNIX. Dan juga inti dari revolusi mikrokomputer, diantara C++,

Gambar

Gambar 2.1 Logo Android
Gambar 2.2 Simbol dan Fisik Buzzer
Gambar 2.3 Bentuk Fisik ATmega 8
Gambar 2.4 Bentuk Fisik Bluetooth HC-05
+7

Referensi

Dokumen terkait

Demi pengembangan ilmu pengetahuan, dengan ini menyetujui untuk memberikan ijin kepada pihak Program Studi Sistem Informasi Fakultas Teknik Universitas Muria Kudus

Nomor (8) : Diisi dengan jenis dan masa/tahun ketetapan atau pemotongan/pemungutan pajak seperti Surat Ketetapan Pajak Kurang Bayar Pajak Pertambahan Nilai Barang dan Jasa

□ Status mula dapat ditentukan dalam mode monitor pemakai (MON) 5. Pada mesin mesin bubut mempunyai beberapa kemungkinan, tergantung dari kode G yang diaktifkan. Beberapa

Internal Tahun 2016.. Pedoman Program Penguatan Kopertis 1 Perguruan tinggi sebagai penyelenggara pendidikan tinggi merupakan institusi yang sangat berpengaruh dalam

BAB III METODE PELAKSANAAN PROGRAM……….... Metode Pelaksanaan Program……….... Proposal program kreativitas mahasiswa dengan judul Petualangan Dora

Jika sikap positif telah terbentuk, maka akan memunculkan semangat kerja karyawan dan pada akhirnya karyawan akan mengerahkan segenap kemampuannya untuk bekerja

Risk factors for severe early childhood caries in children younger than 4 years old in Bejing, China.. Efficiency of caries risk assessment in young adults

Menurut Skinner (1938) dalam Notoatmodjo (2012), perilaku kesehatan pada dasarnya adalah suatu respons seseorang terhadap stimulus yang berkaitan dengan sakit atau