Wednesday, December 14, 2011

Bahasa C


-->
Pemrograman Bahasa C untuk AVR digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

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
·         Bahasa C termasuk bahasa tingkat tinggi
·         Secepat bahasa mesin
·         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.
·         Boros memory
·         Arah program jadi sulit diketahui karrena kita tidak berhadapan langsung
dengan register bawaan MCU, melainkan register telah diwakilkan oleh kompiler.
·         Jika dilihat dari hasil asembllernya terkadang terdapat sub program yang diulang-ulang, padahal jika dengan menggunakan bahasa assembler cukup dilakukan satu kalisaja.
·         Program terlalu panjang.

Berikut ini yang harus diketahui mengenai pemrograman bahasa C:
1.      Struktur penulisan program
#include < [library1.h] > // Opsional
#include < [library2.h] > // Opsional
#define [nama1] [nilai] ; // Opsional
#define [nama2] [nilai] ; // Opsional
[global variables] // Opsional
[functions] // Opsional
void main(void) // Program Utama
{ [Deklarasi local variable/constant] [Isi Program Utama] }
2.      Tipe data
char                 : 1 byte ( -128 s/d 127 )
unsigned char             : 1 byte ( 0 s/d 255 )
int                    : 2 byte ( -32768 s/d 32767 )
unsigned int    : 2 byte ( 0 s/d 65535 )
long                 : 4 byte ( -2147483648 s/d 2147483647 )
unsigned long : 4 byte ( 0 s/d 4294967295 )
float                 : bilangan desimal
array               : kumpulan data-data yang sama tipenya.
3.      Deklarasi variabel & konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.  Penulisan : [tipe data] [nama] = [nilai] ;
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah. Penulisan : const [nama] = [nilai] ;
Tambahan: Global variabel/konstanta yang dapat diakses di seluruh bagian program.
Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.
4.      Statement
Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
Contoh: suhu=adc/255*100; //contoh rumus perhitungan suhu
5.      Function Function
Adalah bagian program yang dapat dipanggil oleh program utama. Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }
6.      Conditional statement dan looping if else
Digunakan untuk penyeleksian kondisi if ( [persyaratan] ) { [statement1]; [statement2]; } else { [statement3]; [statement4]; }
for : digunakan untuk looping dengan jumlah yang sudah diketahui
for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2]; }
while : digunakan untuk looping jika dan salama memenuhi syarat tertentu
while ( [persyaratan] ) { [statement1]; [statement2]; }
do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali
do { [statement1]; [statement2]; } while ( [persyaratan] )
switch case : digunakan untuk seleksi dengan banyak kondisi switch ( [nama variabel] ) { case [nilai1]: [statement]; break; case [nilai2]: [statement]; break; }
7.      Operasi logika dan biner Logika
AND                 :&&
NOT                 : !
OR                   : ||
Biner AND       : &
OR                   : |
XOR                 : ^
Shift right        : >>
Shift left          : <<
Komplemen     : ~
8.       Operasi relasional (perbandingan)
Sama dengan              : ==
Tidak sama dengan     : !=
Lebih besar                 : >
Lebih besar sama dengan : >=
Lebih kecil                   : <
Lebih kecil sama dengan : <=
9.       Operasi aritmatika
+ , - , * , / : tambah,kurang,kali,bagi
+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
% : sisa bagi
++ , -- : tambah satu (increment) , kurang satu (decrement)
Contoh :
a = 5 * 6 + 2 / 2 -1 ;
maka nilai a adalah 30 a *= 5 ;
jika nilai awal a adalah 30, maka nilai a = 30x5 = 150. a += 3 ;
jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ;
jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a-- ;
jika nilai awal a adalah 5 maka nilai a = a-1 = 4.

No comments:

Post a Comment

Cara Menyenangkan Mengajarkan Bahasa Inggris Pada Anak

pic from : bnu.edu.iq Mumpung lagi on-fire nulis blog, mari lanjutkan tulisan yang udah terlanjur numpuk di otak. Hehe.. Kali ini saya...