Nita Gici's Blog

^^trusted information found here^^

Pemrograman C February 10, 2010

Filed under: Programming — nitagici @ 8:45 am
Tags: , , , ,

C  merupakan bahasa pemrograman yang powerful dan fleksibel (kok bisa??) karena  telah terbukti dapat menyelesaikan program-program besar seperti pembuatan sistem operasi, pengolah kata, pengolahan gambar (seperti pembuatan game) dan juga pembuatan kompilator untuk bahasa pemrograman baru.

1.Elemen dasar

Sebelum melangkah ke pembahasan selanjutnya, terlebih dahulu akan dibahas tentang elemen-elemen dasar yang terdapat dalam bahasa C. Elemen-elemen dasar yang dimaksud adalah komentar, variabel, konstanta dan tipe data.

a.Komentar program

Definisi dari komentar itu sendiri adalah bagian (berupa teks) didalam program yang tidak ikut dieksekusi pada saat program dikompilasi.

Contoh:

int X;  /*Deklarasi variabel X*/

b. Variabel

Variabel adalah suatu pengenal dalam program yang berguna untuk menyimpan suatu nilai dari tipe data tertentu. Adapun nilai yang disimpan dalam sebuah variabel nilainya bersifat dinamis artinya nilai tersebut dapat diubah selama program berjalan. Agar kompilator dapat mengenali,variabel yang digunakan harus dideklarasikan.

Contoh:

int x;      /*Deklarasi variael x dengan tipe data int*/

float y;  /*Deklarasi variael y dengan tipe data float*/

char z;  /*Deklarasi variael z dengan tipe data char*/

Nama variabel tidak boleh berupa angka ataupun diawali oleh karakter berupa angka,simbol kemudian variabel tidak boleh mengandung spasi dan tidak boleh menggunakan kata kunci maupun makro yang telah didefinisikan dalam bahasa C.

Contoh:

int 246;   /*SALAH karena diawali dengan angka*/

int 3dimensi;   /*SALAH karena diawali dengan angka*/

int d4;   /*BENAR karena awalannya adalah huruf*/

float bilangan riil;  /*SALAH karena  mengandung spasi*/

int #lima;   /*SALAH karena  mengandung  tanda ‘#’ */

int void;   /*SALAH karena  void adalah keyword */

c. Konstanta

Konstanta adlah sebuah tetapan yang tidak dapat diubah nilainya ketika program sedang berjalan. Biasanya digunakan sebuah makro untuk membuat suatu konstanta yaitu dengan mendefinisikannya melalui directive #define.

Contoh:

#define PI           3.1416

#define FALSE   0

#define TRUE     1

d. Tipe Data

Tipe data dikelompokkan kedalam 4 kategori yaitu bilangan bulat (integer), bilangan riil (floating-point), karakter atau string serta tipe logika (boolean).

Bilangan bulat

Sesuai dengan namanya, tipe ini adalah suatu tipe data yang digunakan untuk menyimpan nilai-nilai yang berbentuk bilangan bulat (tidak mengandung koma). Namun ada 2 jenis yaitu negatif dan positif.

–   Bilangan Riil

Tipe data ini digunakan untuk menyimpan nilai-nilai bilangan riil (mengandung koma). Adapun yang termasuk ke dalam tipe ini adalah:

Apabila akan menuliskan bilangan riil tersebut kedalam bentuk eksponen maka format yang akan digunakan adalah %e atau %E.

Karakter dan String

Tipe ini digunakan untuk merepresentasikan data-data yang berupa karakter, Adapun yang termasuk kedalam tipe ini adalah:

Data dianggap karakter apabila diapit oleh tanda petik tunggal misal ‘A’ atau ‘a’ dan sebagainya. Namun bila diapit oleh tanda petik ganda seperti “A” atau  “a” maka digunakan tipe string dengan format %s.

Logika

Tipe ini adalah tipe data yang merepresentasikan nilai benar (true) atau salah (false). Bahasa C tidak menefinisikan tipe khusus untuk menampung nilai-nilai tersebut. Pada umumnya mendefinisikan tipe logika melalui pembuatan makro maupun tipe enumerasi.

Contoh:

#define TRUE     1

#define FALSE   0

typedef enum   {FALSE,TRUE} boolean;

2. Kontrol Program

a. Pemilihan

Dalam kehidupan sehari-hari kadangkala kita disudutkan pada beberapa pilihan dimana pilihan-pilihan tersebut hanya dapat dilakukan apabila kondisi terpenuhi. Contohnya “Jika Maya memiliki banyak uang, maka ia akan membeli rumah”. Pada statemen tersebut Maya akan dapat membeli rumah hanya apabila ia memiliki banyak uang. Dengan kata lain, apabila Maya tidak memiliki banyak uang maka ia tidak akan pernah membeli rumah.

Sama seperti statemen tersebut, dalam bahasa C pemilihan statemen dapat dilakukan dengan menggunakan if dan switch.

Contoh:

1.

if (kondisi1)

{

statemen yang akan dieksekusi;

}

if (kondisi2)

{

statemen yang akan dieksekusi;

}

else

{

statemen alternatif yang akan dieksekusi; /*apabila semua kondisi tidak terpenuhi*/

}

2. Switch digunakan untuk melakukan pemilihan terhadap kondisi yang memiliki nilai konstan. Untuk mendefinisikan nilai konstan tersebut adalah dengan menggunakan kata kunci case dan break pada tiap nilai yang didefinisikan.

contoh:

printf(“Masukan no. hari=”);

scanf(“%d”,&hari);

switch(hari)

{

case1: printf(“hari Senin”); break;

case2: printf(“hari Selasa”); break;

case3: printf(“hari Rabu”); break;

case4: printf(“hari Kamis”); break;

case5: printf(“hari Jumat”); break;

case6: printf(“hari Sabtu”); break;

case7: printf(“hari Minggu”); break;

default: printf(“masukan salah”); break;

}

return 0;

}

b. Pengulangan

Dalam pembuatan program, terkadang dibutuhkan pengulangan dari suatu aksi misalnya untuk melakukan perhitungan berulang dengan formula yang sama. Misalnya menampilkan “Saya suka berenang” sebanyak 5 kali maka dapat menggunakan for dan while.

a. For

Struktur ini digunakan untuk menuliskan jenis pengulangan  yang banyaknya sudah pasti atau telah diketahui sebelumnya. Maka harus dilakukan inisialisasi nilai untuk kondisi awal penguangan dan juga menuliskan kondisi untuk menghentikan proses pengulangan. Adapun bentuk umumnya adalah

for (nilai awal pengulangan; nilai akhir pengulangan; step)

{

/*statemen yang akan diulang*/

}

nilai awal dapat berupa  i=0 atau  a=awal atau a=akhir dan sebagainya.

nilai akhir dapat berupa i<=9 atau a<=5 a<= akhir atau a>=2 dan sebagainya.

Untuk step dapat berupa  i=i++ atau i=i*2 dan sebagainya.

b. While

Pada pengulangan jenis ini kondisi akan diperikasa dibagian awal. Hal ini tentu menyebabkan kemungkinana bahwa apabila ternyata kondisi yang didefinisikan tidak terpenuhi (salah) , maka proses pengulangan tidak akan dilakukan. Adapun bentuk umumnya adalah:

while (ekspresi)

{

/*statemen yang diulang*/

}

contoh:

#include<stdio.h>

void main()

int j=1,jumlah=0;

while(j<=5)

{jumlah+=j;

j++;

}

printf(“Jumlah= %d”,jumlah);

return 0;

}

maka jumlah = 15 dari penjumlahan 1+2+3+4+5=15

3. Fungsi

Dalam bahasa C, sebuah program terdiri atas fungsi-fungsi baik yang disefinisikan secara langsung didalam program ataupun yang disimpan dalam file lain. Satu fungsi yang pasti terdapat dalam program yang ditulis adalah fungsi main(). Fungsi tersebut adalah fungsi utama dan akan dieksekusi pertama kali.

Menurut definisinya, fungsi adalah suatu blok diagram yang digunakan untuk melakukan proses-proses tertentu. Sebuah fungsi dibutuhkan untuk menjadikan program yang akan dibuat menjadi lebih modular dan mudah dipahami alurnya.

Fungsi terbagi menjadi dua macam yaitu fungsi yang mengembalikan nilai (retun value) dan fungsi yang tidak mengembalikan nilai (void function). Ilustrasinya seperti ini:

a. Fungsi tanpa nilai balik

Contoh:

#include<stdio.h>

void tulissepuluhkali()

{int j;

for(j=0;j<=10;j++)

printf(“Politeknik Elektronika Negeri Surabaya”);

}

void main()

{

tulissepuluhkali();

}

b. Fungsi dengan nilai balik

Contoh:

#include<stdio.h>

void luassegiempat(int sisi)

{int L;

L=sisi*sisi

return L;

}

void main()

{

int S,Luas;

printf(“Masukkan panjang sisi=”);

scanf(“%d”,&S)

Luas=  luassegiempat(S)

printf(“Luas bujur sangkar dengan sisi %d cm adalah %d cm2”,S,Luas);

}

Bila diperhatikan printf() dan scanf() merupakan fungsi. Printf() digunakan untuk menampilkan keluaran sedangkan scanf() digunakan untuk membaca masukan data. Berikut ini adalah daftar karakter yang dapat dijadikan sebagai format untuk menentukan tipe argumen pada fungsi printf().

4. Array dan String

a. Array

Array adalah suatu variabel yang merepresentasikan daftar (list) atau kumpulan data yang memiliki tipe data yang sama. Setiap data yang terdapat dalam suatu array tersebuat memiliki alamat memory yang berbeda serta disebuat sebagai elemen array. Indeks array selalu dimulai dari angka 0, bukan 1. Untuk mendeklarasikan suatu array dalam bahasa C menggunakan tanda []. Bentu pendeklarasiannya adalah

tipedata namaarray [banyakelemen];

misalkan akan mendeklarasikan array dengan nama A sebanyak 100 elemen data bertipe int maka sintaknya int A[100];

b. String

Dalam pemrograman,String merupakan suatu kumpulan karakter yang terangkai secara bersamaan. Sedangkan dalam bahasa C, string merupakan suatu pointer ke tipe char * atau dengan menggunakan array dari tipe char.

Contoh:

char string[10];  /*Membatasi string dengan 10 karakter*/

Perlu diingat bahwa dalam bahasa C, suatu string selalu diakhiri dengan karakter null. Dalam kode ASCII null memiliki nila 0. Untuk itu setiap pendeklarasian string juga harus dialokasikan ruang untuk menempatkan karakter null tersebut. Apabila mau menyimpan teks “Elektronika” maka dibutuhkan suatu array dengan 12 buah elemen. Hal ini berarti akan ditempatkan 12 buah karakter yaitu 11 karakter “Elektronika” dan 2 karakter untuk karakter null. Menampilkan string dengan format %s.

5. Pointer

Bahasa C adalah bahasa pemrograman yang syarat dengan pointer, artinya kehadiran pointer dalam suatu program yang ditulis dengan bahasa C adalah mutlak. Dengan menggunakan pointer maka kita dapat mengalokasikan alamat memori secara dinamis artinya kita dapat mengatur keberadaan suatu nilai dalam memori komputer sesuai dengan paruh waktu yang diinginkan. Dengan demikian ruang memori dapat diatur sesuai kebutuhan program sehingga tidak terdapat pemborosan memori. Hal ini tentu akan meningkatkan performa dari program yang dibuat.

Pointer adalah sebuah variabel yang berisikan alamat memori (bukan nilai) atau dengan kata lain suatu variabel penunjuk ke alamat memori tertentu.

Dari gambar diatas dapat dilihat bahwa pointer P sedang menunjuk ke alamat ke-1. Hal ini berati bahwa nilai dari pointer P adalah alamat ke-1. Berbeda dengan pendeklarasian berikut:

int X;

X=10;

Pendeklarasian diatas nilai X bukanlah berupa alamat melainkan nilai yang memiliki tipe data int yaitu bernilai 10.

Cara mendeklarasikan pointer adalah dengan menambahkan data asteriisk * didepan nama pointer yang akan dibuat.

Contoh:

#include<stdio.h>

void main()

{

int *P;

int X;

X=10;

P=&X;

printf(“X= %d \n”,X);

printf(“&X= %p \n”,&X);

printf(“*P= %d \n”,X);

printf(“P= %p \n”,P);

*P=20;

printf(“X= %d \n”,X);

printf(“&X= %p \n”,&X);

printf(“*P= %d \n”,X);

printf(“P= %p \n”,P);

Hasil:

X=10

&X=0074FDE0

*P=10

P=0074FDE0

X=20

&X=0074FDE0

*P=20

P=0074FDE0

6. Struktur

Struktur merupakan sekumpulan variabel yang mungkin terdiri dari beberapa tipe data berbeda dan dikelompokkan dalam satu nama untuk kemudian diakses oleh program.

Untuk mendefinisikan sebuah struktur digunakan kata kunci struct yang diikuti dengan nama struktur kemudian diikuti dengan blok (yang diapit dengan {}  ) dimana isinya  adalah variabel-variabel (member atau field) yang akan dideklarasikan didalam struktur tersebut.

Bentuk umum pendefinisian struktur sebagai berikut:

struct namastruktur

{ tipedata field1;

tipedata field2;

} var1,var2,…..; /*Diakhiri dengan tanda titik koma*/

Field1 dan Field2 diatas menunjukkan anggota dari struktur yang didefinisikan sedangkan var1 dan var2 menunjukkan variabel yang dideklarasikan dengan tipe struktur yang bersangkutan.

Berikut ini listing program sebagai implementasi yang sudah dijelaskan diatas:

#include <stdio.h>
struct Siswa
{
float nilai;
char nama[30],id[12];
};

void variabel(void);
void pemilihan(void);
void pengulangan(void);
void array(void);
void string(void);
void fungsi(void);
void string(void);
void pointer(void);
void struktur(void);
int fu(int f)
{
int i,b;
b=1;
for(i=f;i>=1;i–)
{b=b*i;
} return b;}

void main(){
int menu;
printf (“\n\nMARI BELAJAR PEMROGRAMAN C !!! \n\n\n”);
printf (“1.variabel \n”);
printf (“2.pemilihan \n”);
printf (“3.pengulangan \n”);
printf (“4.fungsi \n”);
printf (“5.array \n”);
printf (“6.string \n”);
printf (“7.pointer \n”);
printf (“8.struktur \n”);
printf (“\n\nMasukkan no. implementasi program: “);
scanf(“%d”,&menu);

if (menu==1){variabel();}
else if (menu==2){pemilihan();}
else if (menu==3){pengulangan();}
else if (menu==4){fungsi();}
else if (menu==5){array();}
else if (menu==6){string();}
else if (menu==7){pointer();}
else if (menu==8){struktur();}
else {main();}

}

void variabel()
{
int x,y;

printf (“Anda memilih bab variabel\n\n”);
printf (“Masukkan bilangan untuk variabel x: “);
scanf(“%d”,&x);
printf (“Masukkan bilangan untuk variabel y: “);
scanf(“%d”,&y);
printf (“variabel x= %d\nvariabel y=%d\n\n “,x,y);
printf(“\n———————————————–“);

main();

}

void pemilihan()
{
int suhu;
printf (“Anda memilih bab pemilihan\n\n”);
printf(“Masukkan besarnya suhu: “);
scanf(“%d”,&suhu);

if (suhu<0) {printf(“Pada suhu %d C, air akan berwujud padat atau es”,suhu);}
else if (suhu>0) {printf(“Pada suhu %d C, air akan berwujud cair”,suhu);}
else {printf(“Pada suhu %d C, air akan berwujud gas”,suhu);}
printf(“\n———————————————–“);
main();}

void pengulangan()
{int baris,kolom,a,b;
printf (“Anda memilih bab pengulangan\n\n”);
printf(“PROGRAM UNTUK TABEL PERKALIAN \n”);
printf(“Masukkan nilai untuk baris: “);
scanf(“%d”,&a);
printf(“Masukkan nilai untuk kolom: “);
scanf(“%d”,&b);
if (a&&b>10){printf(“MAAF! Tabel ini adalah tabel perkalian dari 1 sampai 10\n\n”);main();}
else{
for(baris=1;baris<=a;baris++)
{
for (kolom=1;kolom<=b;kolom++)
{printf(” %3d”,baris*kolom);}
printf(“\n”);}
printf(“\n———————————————–“);
main();}}

void fungsi()
{

int f,g;
printf (“Anda memilih bab fungsi\n\n”);

printf(“Masukkan bilangan= “);
scanf(“%d”,&f);
g=fu(f);
printf(“%d!= %d “,f,g);

printf(“\n———————————————–“);
main();}

void array()
{
int bil[100],n,x;
printf (“Anda memilih bab array\n\n”);
printf(“Masukkan banyaknya data= “);
scanf(“%d”,&n);

for(int j=1;j<=n;j++)
{printf(“Bilangan ke=%d = “,j);
scanf(“%d”,&bil[j]);}

printf(“Masukkan nilai yang akan dicari= “);
scanf(“%d”,&x);

int k=0;
while((k<n)&&(bil[k]!=x))
{
k++;}

if(bil[k]==x)
{printf(“%d ditemukan dalam array yaitu pada indeks ke-%d”,x,k);}
else
{printf(“\nWarning: Tidak ditemukan dalam array\n”);}

printf(“\n———————————————–“);
main();}

void string()
{
char n[30];
printf (“Anda memilih bab string\n\n”);
printf(“Masukkan nama Anda= “);
scanf(“%s”,&n);
printf(“\n\nPesan dari programmer:\n “);
printf(“Halooo %s, kamu imut dehhh! hehehe\n”,n);
printf(“\n———————————————–“);
main();}

void pointer()
{printf (“Anda memilih bab pointer\n\n”);
int *P;
int z,n;
printf(“Masukkan bilangan untuk z= “);
scanf(“%d”,&z);
P=&z;

printf(“Nilai z        : %d\n”,z);
printf(“Nilai &z    : %p\n”,&z);
printf(“Nilai *P    : %d\n”,*P);
printf(“Nilai P        : %p\n”,P);

printf(“\n\nMasukkan bilangan untuk *P= “);
scanf(“%d”,&n);
*P=n;
printf(“Nilai z        : %d\n”,z);
printf(“Nilai &z    : %p\n”,&z);
printf(“Nilai *P    : %d\n”,*P);
printf(“Nilai P        : %p\n”,P);

printf(“\n———————————————–“);

main();}

void struktur()
{printf (“Anda memilih bab struktur\n\n”);
struct Siswa siswa[100];
float jumlah=0;
int x,index;
printf(“Masukkan jumlah siswa= “);
scanf(“%d”,&x);

for(index=1;index<=x;index++)
{printf(“\n\nMasukkan NRP mahasiswa ke-%d : “,index);
scanf(“%s”,&siswa[index].id);

printf(“\nMasukkan nama mahasiswa ke-%d : “,index);
scanf(“%s”,&siswa[index].nama);

printf(“\nMasukkan nilai mahasiswa ke-%d : “,index);
scanf(“%f”,&siswa[index].nilai);

jumlah=jumlah+siswa[index].nilai;}

for(index=1;index<=x;index++)
{printf(“Data mahasiswa ke-%d  \n”,index);
printf(“NRP    : %s\n”,siswa[index].id);
printf(“Nama   : %s\n”,siswa[index].nama);
printf(“Nilai  : %.2f \n\n”,siswa[index].nilai);
}
printf(“\nNilai rata-rata kelas : %.2f “,jumlah/x);
printf(“\n———————————————–“);
main();}

Program tersebut dibagi dalam beberapa fungsi agar mudah memprogramnya. Fungsi-fungsi meliputi bab yang dibahas antara lain variabel,pengulangan,pemilihan,fungsi,array,string,pointer dan struktur. Anda akan diminta untuk memilih salah satu dari menu tersebut setelah diketahui hasilnya maka anda akan kembali ke menu awal yang memungkinkan Anda memilih menu lain.

dan hasilnya adalahhh…..

berikut adalah aplikasi variabel dan pemilihan (menggunakan if)

Pada menu variabel Anda saya ajak untuk mengisikan nilai pada variabel sedangkan pada menu pemilihan yang menggunakan keyword ‘if’ suhu dijadikan acuan wujud air apabila suhu <O  maka air berupa es atau padat sedangkan bila suhu >O maka air berwujud cair.

Berikut adalah implementasi dari pengulangan (menggunakan for) dan fungsi

Untuk menu pengulangan, Anda saya ajak untuk membuat tabel perkalian dimana nilai pada baris dan kolom dapat Anda set sendiri. Sedangkan untuk fungsi faktorial,pertama-tama dibuat suatu fungsi disitu saya beri nama “fu” dan setelah dipanggil maka fungsi tersebut akan dieksekusi. Seperti bawaan C, dimana fungsi printf dan scanf dapat kita pakai secara langsung sebagai penampil dan pembaca data.

Untuk implementasi array dan string dapat dilihat pada gambar berikut ini

Pada menu array kita dapat melakukan penyimpanan data yang nantinya data-data tersebut dapat kita tampilkan kembali seperti program yang telah dibuat. Setelah data disimpan satu-persatu pada alamat memory tertentu, data tersebut dapat dicari untuk suatu keperluan.

Kalo menu string ini merupakan kumpulan dari karakter. Dimana variabel tersebut menyimpan beberapa karakter dan hasilnya dapat ditampilkan kembali seperti nama “Amanda” tersebut.

Hasil running program Pointer dan Struktur ditunjukkan gambar berikut:

Seperti penjelasan sebelumnya,dengan menggunakan pointer kita dapat mengetahui dialamat mana variabel yang kita buat diletakkan. Lalu pada menu struktur ini dapat dibuat database lohhh… yahhh contoh diatas memang contoh emergency ya….

Feedback,please..

Pemrograman C

C  merupakan bahasa pemrograman yang powerful dan fleksibel (kok bisa??) karena  telah terbukti dapat menyelesaikan program-program besar seperti pembuatan sistem operasi, pengolah kata, pengolahan gambar (seperti pembuatan game) dan juga pembuatan kompilator untuk bahasa pemrograman baru.

1.Elemen dasar

Sebelum melangkah ke pembahasan selanjutnya, terlebih dahulu akan dibahas tentang elemen-elemen dasar yang terdapat dalam bahasa C. Elemen-elemen dasar yang dimaksud adalah komentar, variabel, konstanta dan tipe data.

a.Komentar program

Definisi dari komentar itu sendiri adalah bagian (berupa teks) didalam program yang tidak ikut dieksekusi pada saat program dikompilasi.

Contoh:

int X;  /*Deklarasi variael X*/

b. Variabel

Variabel adalah suatu pengenal dalam program yang berguna untuk menyimpan suatu nilai dari tipe data tertentu. Adapun nilai yang disimpan dalam sebuah variabel nilainya bersifat dinamis artinya nilai tersebut dapat diubah selama program berjalan. Agar kompilator dapat mengenali,variabel yang digunakan harus dideklarasikan.

Contoh:

int x;      /*Deklarasi variael x dengan tipe data int*/

float y;  /*Deklarasi variael y dengan tipe data float*/

char z;  /*Deklarasi variael z dengan tipe data char*/

Nama variabel tidak boleh berupa angka ataupun diawali oleh karakter berupa angka,simbol kemudian variabel tidak boleh mengandung spasi dan tidak boleh menggunakan kata kunci maupun makro yang telah didefinisikan dalam bahasa C.

Contoh:

int 246;   /*SALAH karena diawali dengan angka*/

int 3dimensi;   /*SALAH karena diawali dengan angka*/

int d4;   /*BENAR karena awalannya adalah huruf*/

float bilangan riil;  /*SALAH karena  mengandung spasi*/

int #lima;   /*SALAH karena  mengandung  tanda ‘#’ */

int void;   /*SALAH karena  void adalah keyword */

c. Konstanta

Konstanta adlah sebuah tetapan yang tidak dapat diubah nilainya ketika program sedang berjalan. Biasanya digunakan sebuah makro untuk membuat suatu konstanta yaitu dengan mendefinisikannya melalui directive #define.

Contoh:

#define PI           3.1416

#define FALSE   0

#define TRUE     1

d. Tipe Data

Tipe data dikelompokkan kedalam 4 kategori yaitu bilangan bulat (integer), bilangan riil (floating-point), karakter atau string serta tipe logika (boolean).

Bilangan bulat

Sesuai dengan namanya, tipe ini adalah suatu tipe data yang digunakan untuk menyimpan nilai-nilai yang berbentuk bilangan bulat (tidak mengandung koma). Namun ada 2 jenis yaitu negatif dan positif.

Tipe Data

Format

Rentang

int

%d

-32768 sampai 32767

unsigned int

%u

0 sampai 65535

signed int

%d

-32768 sampai 32767

short int

%d

-32768 sampai 32767

unsigned short int

%u

0 sampai 65535

signed short int

%d

-32768 sampai 32767

long int

%1

-2147483648 sampai  2147483647

signed long int

%1

-2147483648 sampai  2147483647

unsigned long int

%L

0 sampai 4294967295

Bilangan Riil

Tipe data ini digunakan untuk menyimpan nilai-nilai bilangan riil (mengandung koma). Adapun yang termasuk ke dalam tipe ini adalah:

Tipe Data

Format

Rentang

float

%f

3.4e-38 sampai 3.4e+38

Double

%lf

1.7e-308 sampai 1.37e+308

Long double

%lf

1.7e-308 sampai 1.37e+308

Apabila akan menuliskan bilangan riil tersebut kedalam bentuk eksponen maka format yang akan digunakan adalah %e atau %E.

Karakter dan String

Tipe ini digunakan untuk merepresentasikan data-data yang berupa karakter, Adapun yang termasuk kedalam tipe ini adalah:

Tipe Data

Format

Rentang

Char

%c

-128 sampai 127

Signed char

%c

-128 sampai 127

Unsigned char

%c

0 sampai 255

Data dianggap karakter apabila diapit oleh tanda petik tunggal misal ‘A’ atau ‘a’ dan sebagainya. Namun bila diapit oleh tanda petik ganda seperti “A” atau  “a” maka digunakan tipe string dengan format %s.

Logika

Tipe ini adalah tipe data yang merepresentasikan nilai benar (true) atau salah (false). Bahasa C tidak menefinisikan tipe khusus untuk menampung nilai-nilai tersebut. Pada umumnya mendefinisikan tipe logika melalui pembuatan makro maupun tipe enumerasi.

Contoh:

#define TRUE     1

#define FALSE   0

typedef enum   {FALSE,TRUE} boolean;

2. Kontrol Program

a. Pemilihan

Dalam kehidupan sehari-hari kadangkala kita disudutkan pada beberapa pilihan dimana pilihan-pilihan tersebut hanya dapat dilakukan apabila kondisi terpenuhi. Contohnya “Jika Maya memiliki banyak uang, maka ia akan membeli rumah”. Pada statemen tersebut Maya akan dapat membeli rumah hanya apabila ia memiliki banyak uang. Dengan kata lain, apabila Maya tidak memiliki banyak uang maka ia tidak akan pernah membeli rumah.

Sama seperti statemen tersebut, dalam bahasa C pemilihan statemen dapat dilakukan dengan menggunakan if dan switch.

Contoh:

1.

if (kondisi1)

{

statemen yang akan dieksekusi;

}

if (kondisi2)

{

statemen yang akan dieksekusi;

}

else

{

statemen alternatif yang akan dieksekusi; /*apabila semua kondisi tidak terpenuhi*/

}

2. Switch digunakan untuk melakukan pemilihan terhadap kondisi yang memiliki nilai konstan. Untuk mendefinisikan nilai konstan tersebut adalah dengan menggunakan kata kunci case dan break pada tiap nilai yang didefinisikan.

contoh:

printf(“Masukan no. hari=”);

scanf(“%d”,&hari);

switch(hari)

{

case1: printf(“hari Senin”); break;

case2: printf(“hari Selasa”); break;

case3: printf(“hari Rabu”); break;

case4: printf(“hari Kamis”); break;

case5: printf(“hari Jumat”); break;

case6: printf(“hari Sabtu”); break;

case7: printf(“hari Minggu”); break;

default: printf(“masukan salah”); break;

}

return 0;

}

b. Pengulangan

Dalam pembuatan program, terkadang dibutuhkan pengulangan dari suatu aksi misalnya untuk melakukan perhitungan berulang dengan formula yang sama. Misalnya menampilkan “Saya suka berenang” sebanyak 5 kali maka dapat menggunakan for dan while.

a. For

Struktur ini digunakan untuk menuliskan jenis pengulangan  yang banyaknya sudah pasti atau telah diketahui sebelumnya. Maka harus dilakukan inisialisasi nilai untuk kondisi awal penguangan dan juga menuliskan kondisi untuk menghentikan proses pengulangan. Adapun bentuk umumnya adalah

for (nilai awal pengulangan; nilai akhir pengulangan; step)

{

/*statemen yang akan diulang*/

}

nilai awal dapat berupa  i=0 atau  a=awal atau a=akhir dan sebagainya.

nilai akhir dapat berupa i<=9 atau a<=5 a<= akhir atau a>=2 dan sebagainya.

Untuk step dapat berupa  i=i++ atau i=i*2 dan sebagainya.

b. While

Pada pengulangan jenis ini kondisi akan diperikasa dibagian awal. Hal ini tentu menyebabkan kemungkinana bahwa apabila ternyata kondisi yang didefinisikan tidak terpenuhi (salah) , maka proses pengulangan tidak akan dilakukan. Adapun bentuk umumnya adalah:

while (ekspresi)

{

/*statemen yang diulang*/

}

contoh:

#include<stdio.h>

void main()

int j=1,jumlah=0;

while(j<=5)

{jumlah+=j;

j++;

}

printf(“Jumlah= %d”,jumlah);

return 0;

}

maka jumlah = 15 dari penjumlahan 1+2+3+4+5=15

3. Fungsi

Dalam bahasa C, sebuah program terdiri atas fungsi-fungsi baik yang disefinisikan secara langsung didalam program ataupun yang disimpan dalam file lain. Satu fungsi yang pasti terdapat dalam program yang ditulis adalah fungsi main(). Fungsi tersebut adalah fungsi utama dan akan dieksekusi pertama kali.

Menurut definisinya, fungsi adalah suatu blok diagram yang digunakan untuk melakukan proses-proses tertentu. Sebuah fungsi dibutuhkan untuk menjadikan program yang akan dibuat menjadi lebih modular dan mudah dipahami alurnya.

Fungsi terbagi menjadi dua macam yaitu fungsi yang mengembalikan nilai (retun value) dan fungsi yang tidak mengembalikan nilai (void function). Ilustrasinya seperti ini:

a. Fungsi tanpa nilai balik

Contoh:

#include<stdio.h>

void tulissepuluhkali()

{int j;

for(j=0;j<=10;j++)

printf(“Politeknik Elektronika Negeri Surabaya”);

}

void main()

{

tulissepuluhkali();

}

b. Fungsi dengan nilai balik

Contoh:

#include<stdio.h>

void luassegiempat(int sisi)

{int L;

L=sisi*sisi

return L;

}

void main()

{

int S,Luas;

printf(“Masukkan panjang sisi=”);

scanf(“%d”,&S)

Luas=  luassegiempat(S)

printf(“Luas bujur sangkar dengan sisi %d cm adalah %d cm2”,S,Luas);

}

Bila diperhatikan printf() dan scanf() merupakan fungsi. Printf() digunakan untuk menampilkan keluaran sedangkan scanf() digunakan untuk membaca masukan data. Berikut ini adalah daftar karakter yang dapat dijadikan sebagai format untuk menentukan tipe argumen pada fungsi printf().

Karakter

Tipe Argumen

Keterangan

d,i

int

Menampilkan tipe bilangan bulat dalam desimal (basis 10)

o

int

Menampilkan tipe bilangan bulat dalam oktal(basis 8)

x, X

int

Menampilkan tipe bilangan bulat dalam bentuk heksadesimal (basis 16). Format x menampilkan hasil dalam huruf kecil sedangkan X dalam huruf besar.

u

int

Menampilkan bilangan bulat tanpa tanda

c

char

Menampilkan karakter

s

char*

Menampilkan string (kumpulan string)

f

float

Menampilkan bilangan riil dengan tipe float. Bila bertipe double akan ditulis lf

e, E

double

menampilkan bilangan riil dalam bentuk eksponen

g,G

double

Menampilkan bilangan riil,format ini akan secara otomatis memanggil %e, %E maupun %f sesuai dengan nilai yang dimasukkan

p

void*

Menampilkan pointer (alamat memori)

4. Array dan String

a. Array

Array adalah suatu variabel yang merepresentasikan daftar (list) atau kumpulan data yang memiliki tipe data yang sama. Setiap data yang terdapat dalam suatu array tersebuat memiliki alamat memory yang berbeda serta disebuat sebagai elemen array. Indeks array selalu dimulai dari angka 0, bukan 1. Untuk mendeklarasikan suatu array dalam bahasa C menggunakan tanda []. Bentu pendeklarasiannya adalah

tipedata namaarray [banyakelemen];

misalkan akan mendeklarasikan array dengan nama A sebanyak 100 elemen data bertipe int maka sintaknya int A[100];

b. String

Dalam pemrograman,String merupakan suatu kumpulan karakter yang terangkai secara bersamaan. Sedangkan dalam bahasa C, string merupakan suatu pointer ke tipe char * atau dengan menggunakan array dari tipe char.

Contoh:

char string[10];  /*Membatasi string dengan 10 karakter*/

Perlu diingat bahwa dalam bahasa C, suatu string selalu diakhiri dengan karakter null. Dalam kode ASCII null memiliki nila 0. Untuk itu setiap pendeklarasian string juga harus dialokasikan ruang untuk menempatkan karakter null tersebut. Apabila mau menyimpan teks “Elektronika” maka dibutuhkan suatu array dengan 12 buah elemen. Hal ini berarti akan ditempatkan 12 buah karakter yaitu 11 karakter “Elektronika” dan 2 karakter untuk karakter null. Menampilkan string dengan format %s.

5. Pointer

Bahasa C adalah bahasa pemrograman yang syarat dengan pointer, artinya kehadiran pointer dalam suatu program yang ditulis dengan bahasa C adalah mutlak. Dengan menggunakan pointer maka kita dapat mengalokasikan alamat memori secara dinamis artinya kita dapat mengatur keberadaan suatu nilai dalam memori komputer sesuai dengan paruh waktu yang diinginkan. Dengan demikian ruang memori dapat diatur sesuai kebutuhan program sehingga tidak terdapat pemborosan memori. Hal ini tentu akan meningkatkan performa dari program yang dibuat.

Poniter adalah sebuah variabel yang berisikan alamat memori (bukan nilai) atau dengan kata lain suatu variabel penunjuk ke alamat memori tertentu.

Dari gambar diatas dapat dilihat bahwa pointer P sedang menunjuk ke alamat ke-1. Hal ini berati bahwa nilai dari pointer P adalah alamat ke-1. Berbeda dengan pendeklarasian berikut:

int X;

X=10;

Pendeklarasian diatas nilai X bukanlah berupa alamat melainkan nilai yang memiliki tipe data int yaitu bernilai 10.

Cara mendeklarasikan pointer adalah dengan menambahkan data asteriisk * didepan nama pointer yang akan dibuat.

Contoh:

#include<stdio.h>

void main()

{

int *P;

int X;

X=10;

P=&X;

printf(“X= %d \n”,X);

printf(“&X= %p \n”,&X);

printf(“*P= %d \n”,X);

printf(“P= %p \n”,P);

*P=20;

printf(“X= %d \n”,X);

printf(“&X= %p \n”,&X);

printf(“*P= %d \n”,X);

printf(“P= %p \n”,P);

Hasil:

X=10

&X=0074FDE0

*P=10

P=0074FDE0

X=20

&X=0074FDE0

*P=20

P=0074FDE0

6. Struktur

Struktur merupakan sekumpulan variabel yang mungkin terdiri dari beberapa tipe data berbeda dan dikelompokkan dalam satu nama untuk kemudian diakses oleh program.

Untuk mendefinisikan sebuah struktur digunakan kata kunci struct yang diikuti dengan nama struktur kemudian diikuti dengan blok (yang diapit dengan {}  ) dimana isinya  adalah variabel-variabel (member atau field) yang akan dideklarasikan didalam struktur tersebut.

Bentuk umum pendefinisian struktur sebagai berikut:

struct namastruktur

{ tipedata field1;

tipedata field2;

} var1,var2,…..; /*Diakhiri dengan tanda titik koma*/

Field1 dan Field2 diatas menunjukkan anggota dari struktur yang didefinisikan sedangkan var1 dan var2 menunjukkan variabel yang dideklarasikan dengan tipe struktur yang bersangkutan.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s