Rainbow Arch Over Clouds

DINI FEBRIANI

Just Blogger Templates

Minggu, 18 Maret 2012

Struktur pemrograman C
Struktur penulisan bahasa C secara umum terdiri atas empat blok, yaitu :
  1. header,
  2. deklarasi konstanta global atau variabel,
  3. fungsi dan prosedur
  4. program utama.

Secara umum, pemrograman C paling sederhana dilakukan dengan hanya menuliskan program utamanya saja, yaitu :
void main (void)
{

}
A. Header
Header berisi include file (.hex), yaitu library (pustaka) yang akan digunakan dalam pemrograman.
Contoh:
#include <mega8535.h>
B. Tipe Data
Berikut ini adalah tabel tipe-tipe variabel data yang dapat digunakan di kompiler Code Vision AVR:
Type
Size(Bits)
Range

Bit
1
0, 1

Char
8
-128 to 127

Unsigned char
8
0 to 255

Signed char
8
-128 to 127

Int
16
-32768 to 32767

Short int
16
-32768 to 32767

Unsigned int
16
0 to 65535

Signed int
16
-32768 to 32767

Long int
32
-2147483648 to  2147483647

Unsigned long int
32
0 to 4294967295

Signed long int
32
-2147483648 to  2147483647

Float
32
±1.175e-38 to ±3.402e38

Double
32
±1.175e-38 to ±3.402e38

Khusus untuk tipe data bit hanya bisa dideklarasikan untuk variabel global.
C. Konstanta
Penulisan konstanta adalah sebagai berikut:
  • Integer atau lng integer dpat ditulis dengan format desimal (contoh 1234), biner dengan awlan 0b contoh (0b101001), heksadesimal dengan awalan 0x (contoh 0xff) atau oktal dengan awalan 0 (0777).
  • Unsigned integer ditulis dengan diakhiri U (contoh 10000U).
  • Long integer diulis dengan diakhiri L (contoh99L)
  • Unsigned long integer ditulis dengan diakhiri UL (contoh 99UL).
  • Floating point ditulis dengan diakhiri F (contoh 1.234F).
Karakter konstanta harus dituliskan dalam tanda kutip (contoh ‘a’), sedangkan konstanta string harus dalam tanda kutip dua (contoh “Saya Belajar C).
D. Komentar
Komentar diawali dengan tanda ‘/*’ dan diakhiri dengan ‘*/’.
Contoh:
/* ini komentar */
/* ini komentar
multi baris*/
Contoh:
// Ini juga komentar
E. Reserved Keywords
Break                                       flash                                        signed bit                                            float                                         sizeof
case                                         for                                           sfrb
char                                        funcused                                 sfrw
const                                        goto                                         static
continue                                  if                                              struct
default                                     inline                                       switch
do                                            int                                            typedef
double                                     interrupt                                  union
eeprom                                    long                                         unsigned
else                                          register                                    void
enum                                       return                                       volatile
extern                                      short                                        while
F. Aritmatika
Simbol Contoh Aritmatika
+ c=a+b n=n+2 Penjumlahan
- c=a-b n=n-2 Pengurangan
++ ++i Kenaikan(increment, sama dengan i=i+1
- –i Penurunan(decrement, sama dengan i=i-1
* c=a*b n=n*2 Perkalian
/ c=a/b n=n/2 Pembagian
% sisa=a % b Menghasilkan sisa dari pembagian. A dan b bilangan bulat
= a=b Pemberian nilai
+= a+=2 Penambahan suatu nilai pada suatu variabel yang sudah ada sebelumnya. Sama dengan a=a+2
-= a-=2 Pengurangan suatu nilai pada suatu variabel yang sudah ada sebelumnya. Sama dengan a=a-2
*= a*=2 Pengalian suatu nilai pada suatu variabel yang sudah ada sebelumnya. Sama dengan a=a*2
/= a/=2 Pembagian dari suatu nilai pada suatu variabel yang sudah ada sebelumnya. Sama dengan a=a/2
%= a/=2 Sisa dari suatu nilai pada suatu variabel yang sudah ada sebelumnya yang dibagi oleh nilai atau variabel lain. Sama dengan a=a/2
* *pointer Menunjukkan isi dari pointer
G. Simbol
Symbol Contoh Logika Pembanding
“==” if(a==b) Logika sama dengan, digunakan untuk pembanding. Menghasilkan nilai true jika a = b.
!= if(a!=b) Tidak sama dengan. Menghasilkan nilai true jika a ≠ b.
< if(a<b) Logika lebih kecil dari. Menghasilkan nilai true jika a < b.
<= if(a<=b) Logika lebih kecil sama dengan dari. Menghasilkan nilai true jika a ≤ b.
> if(a>b) Logika lebih besar dari. Menghasilkan nilai true jika a > b.
>= if(a>=b) Logika lebih besar sama dengan dari. Menghasilkan nilai true jika a ≥ b.
! If(!a) NOT
&& if(a==b && a==c) AND
| | if(a==b | | a==c) OR
H. Manipulasi Bit
~ a=~b Complement b=1100;a=0011
& c= a & b AND untuk manipulasi bit. a=1100; b=1001; maka c=1000
| c=a | b OR untuk manipulasi bit. a=1100; b=1001; maka c=1101
^ c=a ^ b XOR untuk manipulasi bit. a=1100; b=1001; makac=0101.
<< c=a << n Shift left, manipulasi bit menggeser ke kiri sejauh n bit. a=1101;  n=2; maka c=110100
>> C= a >> n Shift Right, manipulasi bit menggeser ke kiri sejauh n bit. a=11010; n=2; maka c=0110.
I. Percabangan

  • if-then
Contoh:
if (a<0×50) {
PORTC=0×55; // PORTC akan dikirim data 0×55
};
  • if-then-else
Contoh:
if (a<0×50) {
PORTC=0×55;
}
else {
PORTC=0xAA;
};
  • Switch – case
Contoh :
.  .  .
switch (a) {
case 1:
PORTC=0×01;
break;
case 2:
PORTC=0×02;
break;
case 3:
PORTC=0×03;
break;
}
.  .  .
  • Switch – case – default
Contoh:
.  .  .
switch (a) {
case 1:
PORTC=0×01;
break;
case 2:
PORTC=0×02;
break;
case 3:
PORTC=0×03;
break;
default:
PORTC=0xFF;
}
.  .  .
J. Perulangan
  • For
Contoh:
.  .  .
a=1;
for (i=1; i<50; i++) {
a=a*2
PORTC=a;
};
.  .  .
  • While
Contoh:
.  .  .
i=1;
a=1;
while (i<50) {
a=a*2;
PORTC=a;
i++;
};
.  .  .
  • Do – While
Contoh:
.  .  .
i=1;
a=1;
do {
a=a*2;
PORTC=a;
i++;
}
while (i<50);
.  .  .
Referensi :
Bahasa C Untuk Mikrokontroler ATMEGA8535, M.ary heryanto, ST & Ir. Wisnu Adi P.
http://catatansaad.wordpress.com/2009/07/26/bahasa-pemrograman-c-untuk-avr/

0 komentar: