• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
16
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1.Sensor Mpu6050

cahaya atau sinar, magnetis, dan kimia menjadi tegangan serta arus listrik. berfungsi sebagai alat untuk mendeteksi dan juga untuk mengetahui magnitude. Transduser sendiri memiliki arti mengubah, resapan dari bahasa latin traducere Bentuk perubahan yang dimaksud adalah kemampuan merubah suatu energi kedalam bentuk energi lain

Sensor Mpu6050 adalah sensor mampu membaca kemiringan sudut berdasarkan data dari sensor accelerometer dan sensor gyroscope.Sensor ini juga dilengkapi oleh sensor suhu yang dapat digunakan untuk mengukur suhu dikeadaan sekitar.Jalur data yang digunakan pada sensor ini adalah jalur data I2C.

Sensor MPU-6050 berisi sebuah MEMS Accelerometer dan sebuah MEMS Gyro yang saling terintegrasi. Sensor ini sangat akurat dengan fasilitas hardware internal 16 bit ADC untuk setiap kanalnya. Sensor ini akan menangkap nilai kanal axis X, Y dan Z bersamaan dalam satu waktu.

Adapun spesifikasi dari sensor Mpu6050 yaitu :

- Sensitifitas Accelerometer yang dapat dipilih mulai 2/4/8 samapai 16 g - Sensitifitas Gyrocope yang dapat dipilih mulai 250/500/1000 sampai 2000

degrees/s

- Range 16 bit untuk kedua sensor

- Data rate output hingga 1000Hz, dilengkapi digital low pass filter dan memiliki frekuensi sudut maksimum 256Hz.

- Acceleration range: ± 2 ± 4 ± 8 ± 16 g

(2)

2.2 Regulator

Regulator adalah rangkaian regulasi atau pengatur tegangan keluaran dari sebuahcatu daya agar efek darinaik atau turunnya tegangan jala-jala tidak mempengaruhitegangan catu daya sehingga menjadi stabil.

2.3 Mikrokontroler ATMega 8535

Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi dengan CPU (Central Prosessing Unit); RAM ( RandomAcces Memory); ROM (

Readonly Memory), Input, dan Output, Timer\ Counter, Serial com port secara

spesifik digunakan untuk aplikasi –aplikasi control dan buka aplikasi serbaguna.Mikrokontroler umumnya bekerja pada frekuensi 4MHZ-40MHZ. perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggera motor.

Read only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS-51. Memorypenyimpanan program dinamakan sebagai memory program.Random Acces

Memory (RAM) isinya akan begitu sirna IC kehilangan catu daya dipakai untuk

menyimpan data pada saat program bekerja. RAM yang dipakaiuntuk menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal

AsychoronousReceiver Transmitter) yaiut port serial komunikasi serial asinkron,

USART (Universal Asychoronous\Asy choronous Receiver Transmitter) yaitu port yangdigunakan untuk komunikasi serial asinkron dan asinkron yang kecepatannya 16 kalilebih cepat dari Uart, SPI ( Serial Port Interface), SCI ( Serial CommunicationInterface ), Bus RC ( Intergrated circuit Bus ) merupakan 2 jalur yang terdapat 8 bit,CAN ( Control Area Network ) merupakan standard pengkabelan SAE (Society ofAutomatic Enggineers).

Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinyaprogram-program pengguna disimpan dalam ruang RAM yang relatif besar,sedangkanrutin-rutin antar muka pernagkat keras disimpan dalm ruang ROM yang kecil.Mikrokontroler saat ini sudah dikenal dan digunakan secar luas pada duniaindustri.Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroler yang dapat dibeli dengan harga yang relative murah. Hal inidikarenakan produksi missal yang dilakukan oleh para produse chip seperti

(3)

Atmel,Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hampirsetiap peralatan elektronika canggih. Alat-alat canggih pun sekarang ini sangatbergantung pada kemampuan mikrokontroler tersebut.Mikrikontroler AVR memilkiarsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bitword) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda denganinstruksi MCS51 yang membutuhkan siklus 12 clock.Tentu saja itu terjadi karenakedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVRberteknologi RISC (Reduce Instruction Set Computing), sedangkan seri MCS51berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapatdikelompokkan menjadi 4 kelas, yaitu keluarga AT90Sxx, keluarga ATmega, danAT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori,peripheral, dan fungsinya. Dari segi arsiektur dan instruksi yang digunakan, merekabias dikatakan hampir sama.

2.3.1. Fitur ATMega 8535

Kapabilitas detail dari ATMega8535 adalah sebagai berikut :

1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz.

2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte , dan EEPROM ( Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.

4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

2.3.2. Konfigurasi ATMega 8535

Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.3. di bawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai berikut:

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground.

3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.

4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus , yaitu Timer/Counter, komparator analog, dan SPI.

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilat.

(4)

6. Port D (PD0.. PD7 merupakan pin I/O dua arah dan fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial.

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan untuk ADC. 10.AREF merupakan pin masukan tegangan referensi ADC.

Gambar 2.2. Pin ATMega 8535

Berikut adalah penjelasan fungsi tiap kaki. 1. PORT A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D coverter.

(5)

2. PORT B

Merupakan 8 bit directional port I/O. setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi\fungsi alternatif khusus seperti yang terlihat pada table berikut.

Tabel 2.1. Konfigurasi Pin Port B ATMega 8535

PORT PIN FUNGSI KHUSUS

PB0 T0 = timer/ counter 0 external counterinput PB1 T1 = timer/counter 0 external counter input PB2 AINO = analog comparator positive input PB3 AINI =analog comparator negative input PB4 SS = SPI slave select input

PB5 MOSI = SPI bus master output/slave input PB6 MISO = SPI bus master input/slave output PB7 SCK = SPI bus serial clock

3. PORT C

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, DUA pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscilator untuk timer/counter 2.

4. PORT D

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu

(6)

sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi\fungsi alternatif khusus.

Tabel 2.2.Konfigurasi Pin Port D ATmega8535

Port Pin Fungsi Khusus

PD0 RDX (UART input line) PD1 TDX (UART output line)

PD2 INT0 ( external interrupt 0 input ) PD3 INT1 ( external interrupt 1 input )

PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match output) PD6 ICP (Timer/Counter1 input capture pin)

PD7 OC2 (Timer/Counter2 output compare match output)

5. RESET

RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.

6. XTAL1

XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock operating circuit.

7. XTAL2

XTAL2 adalah output dari inverting oscilator amplifier. 8. Avcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

9. AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasional ADC, suatu level tegangan antara AGND dan Avcc harus diberikan ka kaki ini.

10.AGND

AGND adalah kaki untuk analog ground.Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah.

(7)

2.2.3. Peta Memori

AVR ATMega8535 memilii ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Interanal.

Register keperluan umum menempati space data pada alamt terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadapmikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroller, seperti contoh register, timer/counter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat tabel ini. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F.

Konfigurasi memori data ditunjukkan pada gambar dibawah ini:

Gambar 2.3. Konfigurasi Memori Data AVR ATMega 8535

Memori program yang terletak dalam flash PEROM tersususn dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit, AVR ATMega8535 memiliki KByte 12-bit program Counter (PC) sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.

(8)

2.2.4. Status Register (SREG)

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Gambar 2.4 Status Register ATMega 8535 1. Bit 7-I: Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit control register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T:Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD.

3. Bit 5-H: Half Carry Flag 4. Bit 4-S: Sign Bit

Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag V (komplemen dua overflow).

5. Bit 3-V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika. 6. Bit 2-N: Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset. 7. Bit 1-Z: Zero Flag

Bit akan diset bila hasil operasi yang diperoleh adalah nol. 8. Bit 0-C: Carry Flag

(9)

Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O)untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.

I/O merupakan bagian yang paling menarik dan penting untuk diamati karena I/O merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller dengan dunia luar. Selain port I/O, bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan Timer. Komponen yang tercakup dalam workspace I/O meliputi berbagai register berikut :

1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL 2. ANALOG_COMPARATOR; register: ACSR

3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR, SPMCR

4. EEPROM; register: EEARH, EEARL, EEDR, EECR

5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR 6. PORTA; register: PORTA, DDRA, dan PINA

7. PORTB; register: PORTB, DDRB, dan PINB 8. PORTC; register: PORTC, DDRC, dan PINC 9. PORTD; register: PORTD,DDRD, dan PIND 10.SPI; register: SPDR, SPSR, SPCR

11.TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK, TIFR, SFIOR

12.TIMER _COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B, TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H, 1CR1L

13.TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2, ASSR, SFIOR

14.TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR

15.USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL 16.WATCDOG; register: WDTCR

(10)

2.3 IC(Integrated Circuit)

IC (Integrated Circuit) dapat dibedakan menjadi IC Linear, IC Digital dan juga gabungan dari keduanya.

IC Linear

IC Linear atau disebut juga dengan IC Analog adalah IC yang pada umumnya berfungsi sebagai :

 Penguat Daya (Power Amplifier)

 Penguat Sinyal (Signal Amplifier)

 Penguat Operasional (Operational Amplifier / Op Amp)

 Penguat Sinyal Mikro (Microwave Amplifier)

 Penguat RF dan IF (RF and IF Amplifier)

 Voltage Comparator

 Multiplier

 Penerima Frekuensi Radio (Radio Receiver) IC Digital

IC Digital pada dasarnya adalah rangkaian switching yang tegangan Input dan Outputnya hanya memiliki 2 (dua) level yaitu “Tinggi” dan “Rendah” atau dalam kode binary dilambangkan dengan “1” dan “0”.

IC Digital pada umumnya berfungsi sebagai :

 Flip-flop

 Gerbang Logika (Logic Gates)

 Timer  Counter  Multiplexer  Calculator  Memory  Clock  Microcontroller

Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian)maupun operasi nalar (AND, OR, dan EOR /eksklusif OR).

(11)

AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timer/counter 0 (8 bit)

2. Timer/ counter 1 (16 bit) 3. Timer/counter 2 (8 bit)

Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah

1. Mudah dalam pengoperasian. 2. Resolusi 10 bit.

3. Memiliki 8 masukan analog. 4. Konversi pada saat CPU sleep. 5. Interrupt waktu konversi selesai.

2.4 Bahasa Menggunakan Pemrogram Bahasa C

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada di antara bahasa beraras rendah dan beraras tinggi.Bahasa beraras rendah artinya bahasa yang berorientasi pada mesin dan beraras tinggi berorientasi pada manusia.Bahasa beraras rendah, misalnya bahasa assembler, bahasa ini ditulis dengan sandi yang dimengerti oleh mesin saja, oleh karena itu hanya digunakan bagi yang memprogram mikroprosesor.Bahasa beraras rendah merupakan bahasa yang membutuhkan kecermatan yang teliti bagi pemrogram karena perintahnya harus rinci, ditambah lagi masing-masing pabrik mempunyai sandi perintah sendiri.Bahasa tinggi relatif mudah digunakan, karena ditulis dengan bahasa manusia sehingga mudah dimengerti dan tidak tergantung mesinnya.Bahasa beraras tinggi biasanya digunakan pada komputer. Kelebihan Bahasa C:

- Bahasa C tersedia hampir di semua jenis computer.

- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer. - Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata

kunci.

- Proses executable program bahasa C lebih cepat - Dukungan pustaka yang banyak.

- C adalah bahasa yang terstruktur

(12)

Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi pada mesin.yang merupakan ciri bahasa tingkat rendah, melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin dengan cepat, secepat bahasa mesin. Inilah salah satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.

Kekurangan Bahasa C:

- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.

- Bagi pemula pada umumnya akan kesulitan menggunakan pointer. 2.4.1. Mengkopilasi Program

Suatu source program C baru dapat dijalankan setelah melalui tahap kompilasi dan penggabungan. Tahap kompilasi dimaksudkan untuk memeriksa source-program sesuai dengan kaidah-kaidah yang berlaku di dalam bahasa pemrograman C. Tahap kompilasi akan menghasilkan relocatable object file. File-file objek tersebut kemudian digabung dengan perpustakaan-fungsi yang sesuai. untuk menghasilkan suatu

executable-program.Shortcut yang digunakan untuk mengkompile:

• ALT + F9 → dipakai untuk melakukan pengecekan jika ada error pada program yang telah kita buat.

• CTRL + F9 → dipakai untuk menjalankan program yang telah kita buat atau bisa juga dengan mengklik tombol debug pada tool bar.

Gambar 2.5.Kompilasi Program 2.4.2. Struktur Bahasa Pemrograman C

1. Header Fileadalah berkas yang berisi prototype fungsi. definisi konstanta. dan definisi variable. Fungsi adalah kumpulan code C yang diberi nama dan ketika nama tersebut dipanggil maka kumpulan kode tersebut dijalankan.

(13)

Contoh : stdio.h math.h conio.h

2. Preprosesor Directive (#include)

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

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 dapat 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.4.3. Kata Kunci (Keyword)

Kata kunci-kata kunci yang terdapat di C, sebagai berikut: Tabel 2.3Kata Kunci

Auto Break Case Char

Const Continue Default Do Double Else Enum Extern

Float For Goto If

Int Long Register Return Short Signed Sizeof Static Struct Switch Typedef Union Unsigned Void Volatile While

(14)

2.4.4. Identifier

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll). Identifier punya ketentuan sebagai berikut :

1. Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan hanya 32 karakter pertama saja).

2. Case sensitive: membedakan huruf besar dan huruf kecilnya.

3. Karakter pertama harus karakter atau underscore ( _ ) . selebihnya boleh angka. 4. Tidak boleh mengandung spasi atau blank.

5. Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.

2.4.4.1 Variabel

Variabel adalah identifier yang nilainya dapat berubah atau diubah selama programberjalan (dieksekusi). Pengubahnya adalah user atau proses.

• Deklarasi variabel (tipe_data nama_variabel;)

Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebihdahulu. Pengertian deklarasi di sini berarti memesan memori dan menentukan jenisdata yang bisa disimpan di dalamnya.

Contoh :

• Inisialisasi variabel (tipe_data nama_variabel = nilai;)

2.4.4.2 Konstanta

Konstanta adalah identifier yang nilainya tetap selama program berjalan/dieksekusi.Cara untuk mengubahnya hanya melalui source codenya saja seperti halnya variabel, konstanta juga memiliki tipe.Penulisan konstanta mempunyai aturantersendiri, sesuai dengan tipe masing-masing.

1. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda petik tunggal, contohnya : ‘A’ dan ‘@’.

(15)

2. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tidak mengandung bagian pecahan, contohnya : –1 dan 32767.

3. Konstanta real (float dan double) bisa mengandung pecahan (dengan tanda berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya : 27.5f (untuk tipe float) atau 27.5 (untuk tipe double) dan 2.1e+5 (maksudnya 2,1 x 105 ).

4. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik-ganda (“), contohnya :“Pemrograman Dasar C”.

Contoh :

2.4.5 Tipe Data Dasar

Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel.Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.

Tabel 2.4Ukuran Memori untuk Tipe Data

Untuk mengetahui ukuran memory bisa dipakai fungsi sizeof (<tipe_data>). Catatan:

Ukuran dan kawasan dari masing-masing tipe data adalah bergantung pada jenis mesin yang digunakan (misalnya mesin 16 bit bisa jadi memberikan hasil berbeda dengan mesin 32 bit).

Untuk menampilkan hasil output dibutuhkan kode format, berikut adalah daftar kode format:

Tipe Data Ukuran Memori Kawasan

unsigned char 8 bits 0 s/d 255 Char 8 bits -128 s/d 127 short int 16 bits -32.768 s/d 32.767 unsigned int 32 bits 0 s/d 4.294.967.295

Int 32 bits -2.147.483.648 s/d 2.147.483.647 unsigned long 32 bits 0 s/d 4.294.967.295

Enum 16 bits -2147483.648 to 2.147.483.648 Long 32 bits -2.147.483.648 s/d 2.147.483.647 Float 32 bits 3,4 x 10-38 s/d 3,4 x 10+38 Double 64 bits 1.7 x 10-308 to 1.7 x 10+308 long double 80 bits 3.4 x 10-4932 to 3.4 x 10+4932 near (pointer) 32 bits not applicable

(16)

Tabel 2.5 Daftar Kode Format

Kode format Kegunaan

%c Menampilkan sebuah karakter %s Menampilkan nilai string

%d Menampilkan nilai decimal integer %i Menampilkan nilai decimal integer

%u Menampilkan nilai decimal integer tidak bertanda (unsigned integer) %ld Menampilkan nilai decimal long integer

%lu Menampilkan nilai decimal long integer tak bertanda %li Menampilkan nilai decimal long integer

%hu Menampilkan nilai decimal short integer tak bertanda %hi Menampilkan nilai decimal short integer

%x Menampilkan nilai heksa decimal integer %o Menampilkan nilai okta integer

%f Menampilkan nilai pecahan / float %e Menampilkan nilai float scientific

%g Sebagai pengganti %f atau %e tergantung yang terpendek %lf Menampilkan nilai pecahan double

%le Menampilkan nilai pecahan double %lg Menampilkan nilai pecahan double

%p Menampilkan suatu alamat memory untuk pointer

Contoh:

2.4.6 Karakter Escape

Karakter escape adalah karakter yang diawali dengan tanda backslash (/), yang masing-masing memiliki makna tertentu. Berikut adalah daftar karakter:

Tabel 2.6 Daftar Karakter KARAKTER

ESCAPE

Gambar

Gambar 2.2. Pin ATMega 8535
Tabel 2.1. Konfigurasi Pin Port B ATMega 8535
Tabel 2.2.Konfigurasi Pin Port D ATmega8535
Gambar 2.3. Konfigurasi Memori Data AVR ATMega 8535
+6

Referensi

Dokumen terkait

Dalam upaya menemukan metode pembelajaran yang sesuai dengan kondisi dan karakteristik siswa kelas VIII-F SMPN 3 Ngunut Kabupaten Tulungagung, dan sesuai dengan

Pemberian sediaan uji dilakukan pada hari ke-6 sampai pada hari ke-15 kehamilan, karena pada masa ini mencit sangat rentan terhadap senyawa yang bersifat teratogen,

Rumah kediaman atau premis perniagaan yang mempunyai sistem pembentungan berasingan, sisa kumbahan tandas, bilik air dan sinki dapur akan dikumpulkan dalam lurang sebelum disalur

Ke#iasaan 'an kon'isi fisik seseorang setiap pasien memiliki keinginan individu dan pilihan tentang kapan untuk mandi, bercukur, dan melakukan perawatan rambut. 3rang yang

MANAJEMEN LABA DAN RISIKO PASAR TERHADAP COST OF EQUITY CAPITAL (Studi Empiris pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia Periode

Suatu untuk bereaksi terhadap suatu perangsang atau yang sedang dihadapi. Marah adalah suatu emosi yang secara fisik mengakibatkan antara lain peningkatan denyut jantung,

Sedangkan berkaitan dengan dampak pelatihan dalam meningkatkan kesejahteraan keluarga, ada tiga bagian kesejahteraan keluarga yaitu kesejahteraan ekonomi yang

a) Geografi merupakan salah satu ilmu yang mempelajari tentang alam yaitu mempelajari klasual ilmu bumi baik fisik maupun yang menyangkut makhluk hidup beserta