Advertisement

Jumat, 21 September 2018

Belajar Pointer dalam Bahasa C

Pengertian Pointer
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori
dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua Operator Pointer ada dua, yaitu :
1. Operator &
o Operator & bersifat unary (hanya memerlukan satu operand saja).
o Operator & menghasilkan alamat dari operandnya.
2. Operator *
o Operator * bersifat unary (hanya memerlukan satu operand saja).
o Operator * menghasilkan nilai yang berada pada sebuah alamat.

Deklarasi Pointer
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan.

Bentuk Umum :
Tipe_data *nama_pointer;
Tipe data pointer mendefinisikan tipe dari obyek yang ditunjuk oleh pointer. Secara teknis, tipe apapun dari pointer dapat menunjukkan lokasi (dimanapun) dalam memori. Bahkan operasi pointer dapat dilaksanakan relatif terhadap tipe dasar apapun yang ditunjuk.
 
Contoh, ketika kita mendeklarasikan pointer dengan tipe int*, kompiler akan menganggap alamat yang ditunjuk menyimpan nilai integer - walaupun sebenarnya bukan (sebuah pointer int* selalu menganggap bahwa ia menunjuk ke sebuah obyek bertipe integer, tidak peduli isi sebenarnya). Karenanya, sebelum mendeklarasikan sebuah pointer, pastikan tipenya sesuai dengan tipe obyek yang akan ditunjuk.

Tabel ukuran Variabel Pointer
Contoh :
char *ptr;
data char *ptr;

Sdcc juga mendukung deklarasi pointer yang mengarahkan fisik pointer ke kelas memori tertentu.
Contoh:
/*secara fisik pointer berada di internal RAM yang
menunjukan ke RAM eksternal*/
xdata unsigned char *data p:
/* secara fisik pointer berada di eksternal RAM yang
menunjukan ke RAM internal*/
data unsigned char *data p:
/* secara fisik pointer berada di code ROM yang menunjukan
ke RAM eksternal*/
/* p harus diinisialisasi ketika dideklarasikan*/
xdata unsigned char *code p = 0x1000:
/* secara fisik pointer berada code ROM yang menunjukan ke
ROM*/
/* p harus diinisialisasi ketika dideklarasikan*/
code unsigned char *code p = 0x1000:
/* secara fisik pointer generic berada di eksternal RAM*/
char *xdata p:

Inisialisasi Pointer
Setelah dideklarasikan pointer belum menunjuk ke suatu alamat tertentu, oleh
karena itu perlu untuk diinisialisasi agar pointer menunjuk ke alamat tertentu sesuai dengan kebutuhan.

Menunjukkan alamat Variabel
Menunjuk alamat variabel dilakukan dengan cara sebagai berikut:
int aku; // deklarasi variabel
int *ptr; // deklarasi pointer
prt=&aku; // inisialisasi pointer
// ptr = alamat variabel aku
atau
int aku;
int *ptr=&aku;
Tanda ‘&’ di depan variabel menyatakan alamat memori variabel tersebut.

Menunjukkan alamat absolut
Disamping diarahkan untuk menunjukan alamat variabel, pointer juga dapat
diinisialisasi untuk menunjukan alamat absolut dengan cara sebagai berikut:
int *ptrku;
ptrku= (int *) 0x8000;
atau
int *ptrku=(int *) 0x8000;

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.


Kamis, 20 September 2018

Belajar Tipe Struktur Pemrograman Bahasa C


Struktur merupakan sekelompok data (variabel) yang mempunyai tipe yang sama atau berbeda yang dikemas dalam satu nama.

Deklarasi Struktur
Deklarasi struktur dilakukan dengan format sebagai berikut:
Struct nama_struktur
{
deklarasi variabel;
}

Contoh:
Struct kar_sensor
{
unsigned char impedan;
unsigned char koefi_suhu;
unsigned char gain;
}
atau
typedef struct
{
deklarasi variabel
nama_struktur;
}

Contoh:
Typedef struct
{
unsigned char impedan;
unsigned char koefi_suhu;
unsigned char gain;
}

Pendefinisian Variabel Struktur

Pada deklarasi struktur belum ada pengalokasian memori, oleh karena itu agar dapat digunakan maka perlu dilakukan pendefinisian variabel struktur. Pendefinisian variabel struktur dilakukan dengan format sebagai berikut:

Bentuk 1:
Struct nama_struktur nama_variabel;
Contoh:
Struct kar_sensor sem_suhu;
Bentuk 2:
Nama_struktur nama_  variabel
Contoh:
Kar_sensor sen_suhu;

Mengakses Anggota Struktur
Untuk mengakses anggota struktur dapat dilakukan dengan cara sebagai berikut:
Nama_variabel.anggota = data; //untuk penulisan
Tampung = nama_variabel.anggota //untuk pembacaan

Contoh:
Sen_suhu.impedansi = 0x5;
Sen_suhu.kofi_suhu = 0x01;
Sen_suhu.gain = 0x04;
#include <mega8535.h>
#include <delay.h>
struct kar_sensor
{
unsigned char impedan;
unsigned char koefi_suhu;
unsigned char gain;
};
void main()
{
struct kar_sensor sen_suhu;
DDRA=0xFF;
DDRB=0xFF;
DDRD=0xFF;
sen_suhu.impedan=0x5;
sen_suhu.koefi_suhu=0x01;
sen_suhu.gain=0x04;
PORTA=sen_suhu.impedan;
PORTB=sen_suhu.koefi_suhu;
PORTD=sen_suhu.gain;
}

Larik Struktur
Struktur dapat juag didefinisikan sebagai larik seperti berikut ini:
Struct kar_sensor dbase_sensor[4];
Untuk mengakses anggota struktur harus disertakan indeks lariknya.
 
Contoh:
Mengakses larik ke 0:
Dbase_sensor [0].impedan=0x5;
Dbase_sensor [0].koefi_suhu=0x01;
Dbase_sensor [0].gain=0x04;
Mengakses larik ke 1:
Dbase_sensor [1].impedan=0x6;
Dbase_sensor [1].koefi_suhu=0x05;
Dbase_sensor [1].gain=0x02;
#include <mega8535.h>
#include <delay.h>
struct kar_sensor
{
unsigned char impedan;
unsigned char koefi_suhu;
unsigned char gain;
};
void main()
{
struct kar_sensor sen_suhu[2];
DDRA=0xFF;
DDRB=0xFF;
DDRD=0xFF;
sen_suhu[0].impedan=0x5;
sen_suhu[0].koefi_suhu=0x01;
sen_suhu[0].gain=0x4;
PORTA=sen_suhu[0].impedan;
PORTB=sen_suhu[0].koefi_suhu;
PORTD=sen_suhu[0].gain;
}

Inisialisasi Struktur
Anggota struktur dapat diberi nilai ketika pendefinisian variabel struktur seperti pada berikut ini:
Struct kar_sensor sen_suhu = {0x05, 0x09, 0x01};
Contoh:
Struct kar_sensor dbase_sensor[4] =
{
{0x05, 0x07, 0x09};
{0x02, 0x04, 0x01};
{0x04, 0x01, 0x03};
{0x07, 0x03, 0x04};
}
#include <mega8535.h>
#include <delay.h>
struct kar_sensor
{
unsigned char impedan;
unsigned char koefi_suhu;
unsigned char gain;
};
void main()
{
struct kar_sensor
sen_suhu[2]={{0x05,0x01,0x04},{0x7,0x02,0x01}};
DDRA=0xFF;
DDRB=0xFF;
DDRD=0xFF;
PORTA=sen_suhu[0].impedan;
PORTB=sen_suhu[0].koefi_suhu;
PORTD=sen_suhu[0].gain;
}

Pointer Struktur
Struktur dapat didefinisikan sebagai pointer seperti berikut ini:
Struct kar_sensor * dbase_sensor; //variabel //pointer
Struct kar_sensor base; //variabel

Untuk mengakses data anggota dilakukan dengan cara seperti berikut ini:
Dbase_sensor = &base;
Dbase_sensor −> impedan = 0x05;
Dbase_sensor −> koefi_suhu = 0x02;
Dbase_sensor −> gain = 0x03;
P1 = Dbase_sensor −> impedan
P2 = Dbase_sensor −> koefi_suhu;
P3 = Dbase_sensor −> gain

Melewatkan Pointer Struktur ke Fungsi
Penggunaan pointer struktur untuk melewatkan parameter ke fungsi dapat mencegah pelewatan data anggota struktur yang banyak, karena hanya parameter tertentu saja yang akan dilewatkan. Melewatkan pointer struktur ke fungsi dapat juga didefinisikan sebagai seperti berikut ini:
Struct kar_sensor base * dbase_sensor;
Dbase_sensor = &base;
Dbase_sensor −> impedan = 0x05;
Dbase_sensor −> koefi_suhu = 0x02;
Dbase_sensor −> gain = 0x03;
Kali_impedan(Struct kar_sensor *Structpointer)
{
Structpointer −> impedan *= 2
}
P1 = Dbase_sensor −> impedan
P2 = Dbase_sensor −> koefi_suhu;
P3 = Dbase_sensor −> gain
}
P1 = Dbase_sensor −> impedan
P2 = Dbase_sensor −> koefi_suhu;
P3 = Dbase_sensor −> gain

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.

Rabu, 19 September 2018

Belajar Pemrograman Fungsi Bahasa C

Pengertian Fungsi
Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Fungsi merupakan elemen utama dalam bahasa C karena bahasa C sendiri terbentuk dari kumpulan fungsi-fungsi.

Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitu fungsi main(). Fungsi banyak diterapkan dalam program-program C yang terstruktur. Keuntungan penggunaan fungsi dalam program yaitu program akan memiliki struktur yang jelas (mempunyai readability yang tinggi) dan juga akan menghindari penulisan bagian program yang sama.

Pendefinisian Fungsi
Sebelum digunakan fungsi harus didefinisikan terlebih dahulu. Bentuk definisi fungsi adalah:

Tipe_Nilai_Balik nama_fungsi(argumen1, argumen2)
{
Pernyataan1;
Pernyataan1;
return(ekspresi);
}

Contoh:
int jumlah(int bil1,int bil2) //definisi fungsi jumlah
{
int hasil;
hasil = bil1 + bil2
return(hasil);
}

#include <mega8535.h>
#include <delay.h>
int jumlah(int bil1,int bil2)
{
return(bil1+bil2);
}
void main()
{
DDRA=0xFF;
PORTA=jumlah(20,50);
}

Prototype Fungsi
Ketentuan pendefinisian fungsi yang mendahului fungsi pemanggil dapat merepotkan untuk program yang komplek atau besar. Untuk mengatasi hal tersebut maka fungsi dapat dideklarasikan sebelum digunakan, terletak sebelum fungsi main. Deklarasi fungsi dikenal dengan prototype fungsi. Cara mendeklarasikan fungsi sama dengan header fungsi dan diakhiri tanda titik koma ( ; ).

#include <mega8535.h>
#include <delay.h>
int jumlah(int bil1,int bil2);
void main()
{
DDRA=0xFF;
PORTA=jumlah(20,50);
}
int jumlah(int bil1,int bil2)
{
return(bil1+bil2);
}

Variasi Lokal dan Global
Variabel lokal adalah variabel yang dideklarasikan di dalam suatu fungsi, variabel ini hanya dikenal fungsi tersebut. Setelah keluar dari fungsi ini maka variabel ini akan hilang. Variabel global adalah variabel yang dideklarasikan di luar fungsi, sehingga semua fungsi dapat memakainya.

#include <mega8535.h>
#include <delay.h>
int jumlah(int bil1,int bil2);
int data1;
void main()
{
int data1;
DDRA=0xFF;
data1=jumlah(20,50);
PORTA = data1;
}
int jumlah(int bil1,int bil2)
{
return(bil1+bil2);
}

Kata Kunci Ekstern dan Static
Kata kunci extern dan static digunakan untuk menyatakan sifat dari variabel atau fungsi. Suatu variabel atau fungsi yang didepannya ditambah dengan kata kunci extern maka artinya variabel atau fungsi tersebut didefinisikan di luar file tersebut.

Variabel global atau fungsi yang didepannya ditambah kata kunci static mempunyai arti bahwa variabel global atau fungsi tersebut bersifat pivate bagi file tersebut, sehingga tidak dapat diakses dari file yang lain. Kata kunci static yang ditambahkan didepan variabel lokal (variabel di dalam suatu fungsi) artinya variabel tersebut dialokasikan pada memori statik. Nilai yang tersimpan dalam variabel statik tidak hilang walaupun sudah keluar dari fungsi.

Fungsi Tanpa Nilai Balik
Fungsi yang tidak mempunyai nilai balik menggunakan kata kunci void sedangkan fungsi yang tidak mempunyai argumen, setelah nama fungsi dalam kurung dapat kosong atau dengan menggunakan kata kunci void.

Contoh:
void tunda(void)
{
for(i = 0; i < 10 ; i++);
}
atau
void tunda()
{
for(i=0;i<10;i++);
{}
}
/* fungsi tunda_panjang */
void tunda_panjang(int n)
{
int i;
for (i=0; i<n;i++)
tunda();
}

Fungsi dengan Nilai Balik
Nilai balik dinyatakan delam pernyataan return. Tipe nilai balik dapat berupa char, int, short, long, atau float.
Contoh:
int jumlah(int bil1,int bil2)
{
return(bil1+bil2);
}

Argumen/Parameter Fungsi
Argumen dilewatkan ke dalam fungsi terdiri atas dua macam, yaitu:
a. Pelewatan secara nilai
Bentuk definisi pelewatan secara nilai adalah:
tipe nama_fungsi (tipe argumen1, tipe argumen2, ...)
{
....................
....................
}
#include <mega8535.h>
#include <delay.h>
void Tambahv(int A)
{
A=A+1;
}
void main()
{
int B;
DDRA=0xFF;
B=4;
Tambahv(B);
PORTA=B;
}
b. Pelewatan secara pointer
Bentuk definisi pelewatan secara pointer adalah:
tipe nama_fungsi (tipe *argumen1, tipe *argumen2, ...)
{
....................
....................
}
#include <mega8535.h>
#include <delay.h>
void Tambahp(int *A)
{
*A=*A+1;
}
void main()
{
int B;
DDRA=0xFF;
B=4;
Tambahp(&B);
PORTA=B;
}

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.

Selasa, 18 September 2018

Belajar Macam-Macam Array Bahasa C


Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi.

Array Dimensi Satu
Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0. Deklarasi Array Bentuk umum :
Deklarasi array dimensi satu:
[Tipe_array][ nama_array][elemen1];

Array Dimensi Dua
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom. Bentuknya dapat berupa matriks atau tabel.
Deklarasi array dimensi dua :
[Tipe_array][nama_array][elemen1][elemen2];

Array Multi-dimensi
Array multi-dimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi dua.
Bentuk umumnya yaitu :
[tipe_array][nama_array][elemen1][elemen2]…[elemenN];

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.

Minggu, 16 September 2018

Belajar Perulangan Dalam Bahasa C


Dalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang berulangulang sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur perulangan dalam bahasa C mempunyai bentuk yang bermacam-macam.

Struktur Pengulangan “While”
Perulangan While banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.

Bentuk umum dari struktur kondisi ini adalah:
{

Pernyataan_1
Pernyataan_2
}
Contoh Program 1 :
while (!TF0);
{
TF0 = 0;
TR0 = 0;
}
#include <mega8535.h>
#include <delay.h>
void main()
{
char a=10;
DDRA=0xFF;
while(a>=0)
{
PORTA=a;
a--;
}
}

Struktur Pengulangan “DO.....WHILE…”
Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do…while sekurang-kurangnya akan terjadi satu kali perulangan.

Bentuk umum dari struktur kondisi ini adalah:
Do
{
Pernyataan_1
Pernyataan_2
}
While (ekspresi)
#include <delay.h>
void main()
{
char a=10;
DDRA=0xFF;
do
{
PORTA=a;
a--;
} while(a>=0);
}

Struktur Pengulangan “FOR
Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.

Bentuk umum perulangan for adalah sebagai berikut :
for(inisialisasi; syarat; penambahan) pernyataan;

Keterangan:
Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
penambahan : pengatur perubahan nilai variabel kontrol.
Contoh
for (k = 0; k<4 ; k++)
{
i=tabel1(k);
PORTA = i;
tunda50(100);
}
#include <mega8535.h>
#include <delay.h>
void main()
{
char a;
DDRA=0xFF;
for(a=10;a>=0;a--)
PORTA=a;
}



Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.

Penyelesaian Kondisi Bahasa C


Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks.

1. Struktur Kondisi “If….”
Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan.

Bentuk umum struktur kondisi if adalah :
if(kondisi)
pernyataan;
#include <mega8535.h>
#include <delay.h>
void main()
{
char inp1;
DDRA=0xFF;
DDRB=0xFF;
inp1=PORTB;
if(inp1==0x40)
{PORTA = 0x20;}
}

2. Struktur Kondisi “If......Else….”
Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut :

if(kondisi)
pernyataan-1
else
pernyataan-2
Contoh
IF
if (angka = fo) /* bila angka sama dengan fo */
{ /*kerjakan berikut ini */
for (k = 0; k<4 ; k++)
{
i=tabel1(k);
PORTA = i; // pernyataan dalam blok ini bisa kosong
tunda50(100); // berarti tidak ada yang dikerjakan
}
}
else //bila tidak sama kerjakan berikut ini
{
PORTA = i; // berarti tidak ada yang dikerjakan
tunda50(100);
}
}
#include <mega8535.h>
#include <delay.h>
void main()
{
char inp1;
DDRA=0xFF;
DDRB=0xFF;
inp1=PORTB;
if(inp1==0x01)
{PORTA = 0x20;}
else
{PORTA=0x80;}
}

3. Struktur Kondisi “Switch... Case”
Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah ‘default’.

Bentuk umum dari struktur kondisi ini adalah :
switch(kondisi)
{
case 1 : pernyataan-1;
break;
case 2 : pernyataan-2;
break;
.....
case n : pernyataan-n;
break;
default : pernyataan-m
}
Contoh
SWITCH …. CASE …
switch(fo)
{
case 1:
for (k = 0; k<4 ; k++)
{
i=tabel1(k);
PORTA = i;
tunda(100);
}
break;
case 2:
for (k = 0; k<4 ; k++)
{
i=tabel2(k);
PORTA = i;
tunda(100);
}
break;
#include <mega8535.h>
#include <delay.h>
void main()
{
char a;
DDRA=0xFF;
DDRB=0xFF;
a=PORTA;
switch(a)
{
case 0: PORTB=5;break;
case 1: PORTB=10;break;
case 2: PORTB=15;break;
case 3: PORTB=20;break;
case 4: PORTB=40;break;
case 5: PORTB=60;break;
default: PORTB=0;break;
}
}

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.


Sabtu, 15 September 2018

Operator Unary, Majemuk, dan Komentar Program Bahasa C

1. Operator Unary
Operator Unary merupakan operator yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa operator unary, yaitu :

Tabel Operasi Unary

Contohnya :
n = 0
Jum = 2 * ++n;
Jum = 2 * n++;
#include <mega8535.h>
#include <delay.h>
void main()
{
int a;
DDRB=0xFF;
for(a=0;a<20;a++)
PORTB=a;
}

2. Operator Majemuk
Operator majemuk terdiri dari dua operator yang digunakan untuk menyingkat penulisan. Operasi majemuk seperti pada tabel dibawah ini

Tabel Operasi majemuk


3. Komentar Program

Komentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar program hanya merupakan keterangan atau penjelasan program. Untuk memberikan komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar program tidak akan ikut diproses dalam program (akan diabaikan).

Contoh pertama :

// program ini dibuat oleh ….
Dibelakang tanda // tak akan diproses dalam kompilasi. Tanda ini hanya untuk satu baris
kalimat.
Contoh kedua :
/* program untuk memutar motor DC atau
motor stepper */
Bentuk ini berguna kalau pernyataannya berupa kalimat yang panjang sampai beberapa baris.

Artikel ini dipetik dari Universitas Muhammadiyah Yogyakarta dari file yang didapat dari salah satu guru penulis blog ini. Penulis blog ini melakukan penyuntingan kembali untuk membuat tulisan lebih rapi.