You are on page 1of 26

SEKILAS TENTANG BAHASA C

Bahasa C selain dapat dijalankan pada sistem operasi Windows juga dapat
dijalankan pada sistem operasi Linux. Baris program yang kita buat pada sebuah text
editor belum bisa dijalankan sebelum dieksekusi. Oleh karena itu program yang telah kita
buat harus kita eksekusi terlabih dahulu. Berikut adalah cara mengeksekusi program yang
ditulis manggunakan bahasa C pada sistem operasi Linux :

gcc programku.c
gcc [option] program programku.c

GCC merupakan singkatan dari GNU C Compiler, yaitu kompiler yang digunakan
untuk mengkompilasi program yang ditulis dalam bahasa C. Jika kita mengkompilasi
program dengan perintah yang pertama tanpa disertai option maka hasil eksekusi
program kita secara otomatis akan memiliki nama file a.out. File ini dapat dijalankan
dengan menggunakan perintah ./a.out. Tetapi jika kita menggunakan option yang
disediakan oleh kompiler tersebut maka kita dapat mengatur hasil keluaran dari eksekusi
program tersebut.

STRUKTUR BAHASA C

1. Fungsi main()

Fungsi main () adalah fungsi yang menjadi inti dati program dan
merupakan awal dan akhir dari eksekusi program. Fungsi main() harus ada
dalam setiap program.
Berikut adalah contoh deklarasi fungsio main :

main ()
{
}

2. {}
Tanda kurung kurawal buka dan kurung kurawal tutup {} merupakan
bagian yang berisi perintah-perintah yang akan dijalankan oleh bagian fungsi.
Tanda “{” yang diletakkan dibawah nama fungsi main menunjukkan tanda awal
dari perintah-perintah yang akan dieksekusi atau biasa disebut dengan awal dari
fungtion body. Sedangkan tanda “}” merupakan akhir dari fungtion body. Tanda
{} ini akan sering kita pergunakan dalam program.

3. Komentar

Cara membuat komentar program dalam bahasa C adalah sebagai berikut :

//ini adalah komentarku


/*ini cara yang kedua */
Cara yang pertama adalah menggunakan tanda garis miring ganda //. Bila
komentar program hanya satu baris, tetapi jika komentar yang kita buat lebih dari
satu baris maka sebaiknya kita memggunakan tanda garis miring dan asterik dan
ditutupi dengan asterik dan garis miring /* dan */.

4. Aturan-aturan dalam Bahasa C

a. Bahasa C merupakan bahasa pemrograman yang case sensitif, artinya


bahasa C membedakan penulisan huruf besar dan huruf kecil. Misalnya bila
kita mendeklarasikan sebuah variabel dengan nama Data maka akan
dianggap berbeda dengan variabel data.
b. Setiap baris statement harus diakhiri dengan titik koma “;” , tetapi untuk
fungsi dan bentuk struktur tidak boleh menggunakan titik koma. Barikut
adalah contoh penggunaan titik koma yang salah :

main();
if(a==100);
for(i=1;i<=100;i++);

c. Semua variabel yang menggunakan bahasa C wajib dideklarasikan terlebih


dahulu.
d. Seperti dijelaskan diatas, komentar dapat ditulis menggunakan // atau /*
dan */.
e. Awal dan akhir suatu program harus diapit oleh {}.
f. Varibel atau pengenal tidak boleh mengandung spasi.
g. Tidak boleh mengandung simbol-simbol khusus kecuali tanda garis
bawah_.
h. Untuk pemisah kata dapat digunakan tanda garis bawah _.
i. Tidak boleh menggunakan kata kunci yang telah ada dalam bahasa C.

5. Variabel

Deklarasi varibel harus mengikuti aturan-aturan yang berlaku dalam


bahasa C. selain itu sebuah variabel dapat terdiri dari gabungan huruf (A…Z, a…
z) dan juga angka (0…9) dengan karakter pertama harus menggunakan huruf atau
garis bawah, tidak boleh angka. Berikut adalah contoh pemberian nama sebuah
variabel :
jumlah
Ipk_Kuliah
_Nilai
P10

Sedangkan contoh penamaan variabel yang salah adalah seperti berikut:

10nilai //di dahului oleh angka


nilai ipk //ada spasi
break //kata kunci bahasa c
Dalam bahasa C, sebuah variabel harus dideklarasikan beserta dengan tipe
datanya. Contoh :
Int nilai ;
float ipk ;
char nilai_huruf;
char nama [25] ;

Bila kita mempunyai beberapa variabel yang memiliki tipe data sama,
variabel dipisahkan dengan tanda koma “,” dan diakhiri dengan tanda titik koma
“;”. Perhatikan contoh berikut ini :
Int nilai1,nilai2,nilai3;
float ipk1,ipk2,ipk3;
char nama1[20],nama2[25],nama3[30];

6. Inisialisasi Nilai Variabel

Jika kita ingin memberikan nilai lain ke variabel yang telah diberi nilai.
Misalnya seperti berikut:
int nilai=0;
Atau
int nilai;
nilai=0;

Nilai yang terakhir dimasukkan akan menjadi nilai akhir dari variabel
nilai tersebut. Seperti contoh :
int nilai;
nilai=0;
nilai=1;
nilai=2;

7. Tipe Data dan Format Data

Berikut adalah tipe-tipe data yang dimiliki oleh bahasa C :

Tipe Ukuran Batas Batas Atas Format


(bytes) Bawah Data
Char 1 - - %c
unsigned char 1 0 255 %c
short int 2 32678 32767 %i , %d
unsigned 2 0 65536 %i , %d , %u
short int
(long) int 4 -231 +231-1 %i , %d
float 4 -3.2x1038 +3.2x1038 %f
double 4 -1.7x10308 +1.7x10308 %f
Dalam bahasa C tidak dikenal tipe data string. Tetapi kita tetap dapat
mendeklarasikan sebuah string dengan menggunakan array. Contoh sebuah
variabel yang bertipe string :
char nama[25];

Variabel nama merupakan sebuah string yang dapat mempunyai 25


karakter. Format data string adalah %s.

8. Konstanta

Ada dua cara mendeklarasikan konstanta :


a. Menggunakan praprosessor #define
Berikut adalah cara mendeklarasikan konstanta menggunakan praprosessor
#define :
#define phi 3.14

b. Memberi nilai secara langsung kesuatu variabel.


Berikut adalah cara membuat sebuah konstanta dengan memberi nilai
langsung ke sebuah variabel dan kita tidak melakukan operasi apapun yang
dapat mengubah nilai variabel ini.

int phi=3.14;

9. Escape Sequence

“\n” merupakan salah satu contoh Escape Sequence. Semua Escape


Sequence diawali dengan tanda garis miring “\”. Berikut adalah daftar Escape
Sequence yang dimiliki bahasa C :

Sequence Arti Hasil


\0 Null karakter Akhir dari sebuah
string
\a Bell/beep Bunyi bell
\b Backspace Mundur satu karakter
\f Form feed Ganti halaman
\n Line feed Ganti baris
\r Carriage returned Kembali ke awal
kolom
\t Horisontal tab Tabulasi horisontal
\v Vertical tab Tabulasi vertikal
\\ Backslash Garis miring
\’ Single quota Petik tunggal
\” Double quota Petik ganda
\% Percent Karakter persen
\? Question mark Tanda tanya
\xddd Octal constsnt ddd adalah digit nilai
oktal

OPERASI INPUT/OUTPUT

10.printf
Fungsi printf digunakan untuk menampilkan suatu keluaran pada
layar. Perhatikan penggunaan printf berikut ini :

#include<stdio.h>
main()
{
int nilai=3;
printf(“Bahasa C menyenangkan \n”);
printf(“nilai = %d \n”,nilai);
}

Fungsi printf yang pertama disertai dengan escape sequance yang


berfungsi untuk pindah baris. Jadi dengan fungsi printf yang pertama maka
kursor akan turun satu baris. Sedangkan fungsi printf yang kedua dimana
terdapat format data %d berfungsi untuk menampilkan data dengan tipe integer.
Jangan lupa dengan variabel yang menyimpan nilai tersebut harus disertakan
setalah tanda petik terakhir.

Tampilan program tersebut :

Bahasa C menyenangkan
nilai = 3

11.puts
Cara lain untuk menampilkan suatu keluaran ke layar adalah
menggunakan fungsi puts. Tetapi fungsi puts hanya digunakan untuk
menampilkan nilai string dan sudah mengandung line feed atau escape sequence
ganti baris. Perhatikan contoh berikut :

#include<stdio.h>
main()
{
puts(“Bahasa C menyenangkan ”);
puts(“Belajar bahasa C “);
}

Kini tidak perlu lagi mengguanakan “\n” untuk ganti baris baru. Tampilan
program :
Bahasa C menyenangkan
Belajar bahasa C

12.putchar
Fungsi ini digunakan untuk menampilkan sebuah karakter saja dan tidak
mengandung escape sequence “\n”. perhatikan contoh berikut :

#include<stdio.h>
main()
{
Char a;
printf(“a = ”);scanf(“%c”,&a);
printf(“Data yang anda masukkan ”);
putchar(‘\n’);
putchar(a);
}

Pada putchar yang petama kita ingin membuat program untuk ganti
baris menggunakan “\n”. kita menggunakan tanda petik tunggal (‘) karena
karakter dalam program akan dikenal jika diberi tanda petik tunggal. Fungsi
putchar ini hanya bisa menampilkan satu buah karakter saja sehingga apapun
nilai yang kita masukkan hanya karakter pertama yang akan ditampilkan.

Berikut tampilan programnya :

a = 12
Data yang anda masukkan
1

13.scanf
Jika kita ingin memasukkan data dari keyboard, kita dapat menggunakan
fungsi scanf ini. Data selanjutnya akan didefenisikan sebagai data variabel. Jika
fungsi scanf ini digunakan untuk membaca data dengan tipe array, karakter
yang selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan
membaca data sampai ditemukan blank. Dengan demikian nilai setelah blank
dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut.
Fungsi scanf lebih cocok digunakan untuk data-data numerik.

Fungi scanf jika digunakan maka harus disertai operator penanda alamat
& didepan nama variabel yang digunakan untuk menyimpan data tersebut. Jika
tidak mempergunakan operator alamat & ini maka ketika data diinputkan akan
muncul pesan error Segmentation fault. Sedangkan untuk data string
tidak perlu menggunakan operator ini. Tetapi jika digunakan tidak menjadi
masalah. Fungsi scanf biasanya digunakan bersama-sama dengan fungsi
printf. Perhatikan contoh berikut :
#include<stdio.h>
main()
{
char a[25];
int b;
printf(“a = ”);scanf(“%s”,a);
printf(“b = ”);scanf(“%d”,&b);

printf(“Data yang anda masukkan \n”);


printf(“a = %s \n”,a);
printf(“b = %d \n”,b);
}

Setiap kali memasukkan data harus diikuti dengan menekan ENTER.


Berikut adalah tampilan programnya.

a = naufal
b = 12
Data yang anda masukkan
a = naufal
b = 12

14.gets
Jika kita menggunakan fungsi scanf untuk membaca data yang bertipe
string, maka data tersebut hanya akan dibaca sampai ditemukan spasi. Misalnya
nama “naufal rasendriya” hanya kata “naufal” yang akan dibaca oleh program,
sedangkan kata “resendriya” tidak terbaca karena sebelum kata tersebut program
telah menemukan spasi yang mengakibatkan data ke varibel yang menyimpan
nama dianggap selesai.

Untuk keperluan pemasukan data string yang panjang dipisahkan dengan


spasi, bahasa C menyediakan fungsi gets. Perhatikan contoh berikut ini :

#include<stdio.h>
main()
{
char nama[25];
char alamat[50];
printf(“Nama : ”);gets(nama);
printf(“Alamat : ”);gets(alamat);
printf(“\n”);
printf(“Data yang anda masukkan \n”);
printf(“Nama : %s \n”,nama);
printf(“Alamat : %s \n”,alamat);
}
Tampilan program :

Nama : Naufal Rasendriya


Alamat : Makassar

Data yang anda masukkan


Nama : Naufal Rasendriya
Alamat : Makassar

15.getchar

Jika ingin memasukkan sebuah nilai karakter ke variabel yang bertipe


karakter maka kita dapat menggunakan perintah getchar. Perhatikan contoh
program berikut ini :

#include<stdio.h>
main()
{
Char nilai;
printf(“Nilai anda : ”);
nilai=getchar();
printf(“Nilai yang anda masukkan = %c \n”,nilai );
}

Berikut tampilannya :
Nilai anda : A
Nilai yang anda masukkan = A
OPERATOR ARITMATIKA
Operator merupakan simbol khusus yang merepresentasikan perhitungan
sederhana seperti penambahan dan perkalian. Nilai yang digunakan oleh operator sebagai
operand. Ekspresi merupakan kombinasi dari operator dan operand-nya. Dalam sebuah
eksekusi program, suatu ekspresi akan dievaluasi sehingga menghasilkan suatu nilai
tunggal. Didalam bahasa pemrograman C ada beberapa tipe operator seperti operator
penunjukan, aritmatika, relasional, logika dan pernyataan. Pada bagian ini kita akan
membahas tentang operator aritmatika.
Dalam C dan bahasa pemrograman lainnya dikenal standar aritmatika yang
merupakan simbol-simbol matematika.

16. +
Dalam bahasa C, operasi penambahan menggunakan simbol plus (+). Operasi
ini sama dengan operasi matematika. Contoh pemakaiannya dalam program :

#include<stdio.h>
main()
{
int a,b,c;
printf(“a = ”);
scanf(“%d”,&a);
printf(“b = ”);
scanf(“%d”,&b);
c=a+b;
printf(“%d + %d = %d \n”,a,b,c);
}

Tampilan program:
a = 6
b = 4
6 + 4 = 10

17. –
Dalam bahasa C, operasi pengurangan menggunakan simbol minus (-).
Contoh pemakainnya dalam program :

#include<stdio.h>
main()
{
int a,b,c;
printf(“a = ”);
scanf(“%d”,&a);
printf(“b = ”);
scanf(“%d”,&b);
c=a-b;
printf(“%d - %d = %d \n”,a,b,c);
}

Tampilan program:
a = 6
b = 4
6 - 4 = 2

18. *
Operasi perkalian dalam bahasa C menggunakan tanda asterik (*). Contoh
pemakaian dalam program :

#include<stdio.h>
main()
{
int a,b,c;
printf(“a = ”);
scanf(“%d”,&a);
printf(“b = ”);
scanf(“%d”,&b);
c=a*b;
printf(“%d * %d = %d \n”,a,b,c);
}

Tampilan program:
a = 6
b = 4
6 * 4 = 24
19. /
Operasi pembagian menggunakan simbol /, dapat digunakan baik unutk data
bertipe integer maupun float. Contoh program :

#include<stdio.h>
main()
{
int a,b,c;
printf(“a = ”);
scanf(“%d”,&a);
printf(“b = ”);
scanf(“%d”,&b);
c=a/b;
printf(“%d / %d = %d \n”,a,b,c);
}

Tampilan program:
a = 6
b = 4
6 / 4 = 1.50
20. %
Sisa hasil bagi atau modulus menggunakan simbol persen % hanya dapat
digunakan untuk tipe integer. Perhatikan contoh operasi modulus berikut ini :
7%3=1

7 dibagi dengan 3 akan menghasilkan nilai 2. Sedangkan sisa dari pembagian


tersebut adalah 1 yang didapat dari 7 – (2 * 3) = 7 – 6 = 1.
Contoh program berikut digunakan untuk operasi modulus tersebut :

#include<stdio.h>
main()
{
int a,b,c;
printf(“a = ”);
scanf(“%d”,&a);
printf(“b = ”);
scanf(“%d”,&b);
c=a%b;
printf(“%d mod %d = %d \n”,a,b,c);
}

Tampilan program:
a = 7
b = 6
7 mod 6 = 1

Operasi aritmatika juga menggunakan aturan umum yang dipakai dalam bahasa
matematika. Misalnya operasi perkalian dan pembagian akan dikerjakan lebih dulu.
Tanda kurung juga berpengaruh pada operasi aritmatika.
OPERATOR PENINGKATAN, PENURUNAN, DAN
GABUNGAN
21. ++
Dalam bahasa C kita mengenal operator peningkatan (increment operator)
yang menggunakan tanda plus ganda (++). Operator ini berfungsi menambahkan nilai
1 pada nilai sebelumnya. Proses penambahan nilai tergantung dari posisi tanda ++
tersebut. Perhatikan contoh program berikut ini :
#include<stdio.h>
main()
{
int a,b=10;
a= 10 + b++;
printf(“a = %d, b = %d\n”,a,b);
}

Nilai a dan b diberi nilai 10. Dalam hal ini a akan berisi nilai 10 ditambah
nilai b terlebih dahulu sebelum ditambah dengan 1. Setelah itu b ditambah dengan
1. b++ berarti lakukan proses kemudian naikkan. Dengan demikian hasil dari
program di atas adalah a = 20, b = 11.
Bandingkan dengan program berikut ini :

#include<stdio.h>
main()
{
int a,b=10;
a= 10 + ++b;
printf(“a = %d, b = %d\n”,a,b);
}

Nilai a dan b diberi nilai 10. nilai b akan ditambah dengan nilai 1 terlebih
dahulu kemudian baru ditambahkan ke nilai 10 dan hasilnya disimpan di variabel a.
++b berarti menaikkan nilai b kemudian lakukan proses. Hasil dari program diatas
adalah a = 21, b = 11.
Operator peningkatan sering dipakai dalam struktur perulangan for, seperti
tampak pada contoh berkut ini :
#include<stdio.h>
main()
{
int i;
for (i=1;i<=5;i++);
printf(“%d \n”,i);
}
Tampilan programnya sebagai berikut :
1
2
3
4
5

Perhatikan bahwa operator ++ ini digunakan untuk melakukan proses


penambahan nilai i yang akan menyebabkan proses perulangan selesai.

22. - -
Operator penurunan (decremen operator) yang menggunakan tanda minus
ganda - - berfungsi untuk mengurangkan nilai 1 dari nilai sebelumnya. Proses yang
dilakukan oleh operator ini sama dengan operator ++, hanya saja operator ini akan
mengurangi nilai. Perhatikan contoh berikut ini :

#include<stdio.h>
main()
{
int a,b=10;
a= 10 + b--;
printf(“a = %d, b = %d\n”,a,b);
}

Mula-mula a dan b diberi nilai 10. Nilai a akan ditambahkan dengan nilai b
kemudian nilai b akan berkurang 1 sehingga nilai akhir dari a adalah 20 dan nilai
akhir dari nilai b adalah 9.
Sama halnya dalam operator ++, jika posisi tanda - - kita ubah, bandingkan
dengan contoh program berikut :

#include<stdio.h>
main()
{
int a,b=10;
a= 10 + --b;
printf(“a = %d, b = %d\n”,a,b);
}

Nilai a dan b diberi nilai 10. Nilai a ditambahkan dengan nilai b tetapi
sebelum proses penambahan nilai b akan berkurang 1 terlebih dahulu sehingga pada
akhir program nilai a adalah 19 dan b adalah 9.

23. +=
Operator sama dengan (=) dapat digabungkan dengan operator lain. Sebuah
persamaan a + = 3 sama artinya dengan a = a + 3. Begitu juga dengan persamaan a +
= b sama artinya dengan a = a + b. Nilai hasil penjumlahan akan disimpan di a.
Perhatikan contoh program berikut ini :

#include<stdio.h>
main()
{
int a=10,b=5,c=7;
a += 10;
a += b;
printf(“a += 10 Hasilnya %d \n”,a);
printf(“c += b Hasilnya %d \n,c”);
}

Tampilan program :
a += 10 Hasilnya 20
c += b Hasilnya 12

24. - =
Fungsi operator ini hampir sama dengan operator += hanya saja digunakan
untuk proses pengurangan. Perhatikan contoh berikut ini :
#include<stdio.h>
main()
{
int a=10,b=5,c=7;
a -=5;
c -= b;
printf(“a -= 5 Hasilnya %d \n”,a);
printf(“c -= b Hasilnya %d \n,c”);
}

Tampilan program :

a -= 5 Hasilnya 5
c -= b Hasilnya 2

Perhatikan bahwa kita memberi niali awal a = 10,b =5 dan c =7. Pada
baris program a -=5; nilai a akan dikurangi dengan 5 sehingga nilai akhir a adalah
5. Sedangkan pada baris c -= b; nilai c akan dikurangi dengan nilai b dan
kemudian ditampung dalam c sehingga nilai c adalah 2.

25. /=
Operator gabungan pembagian. Perhatikan contoh berikut ini :
#include<stdio.h>
main()
{
float a=10,b=5,c=15;
a /=2;
c /= b;
printf(“a /= 5 Hasilnya %d \n”,a);
printf(“c /= b Hasilnya %d \n,c”);
}
Tampilan program :

a /= 5 Hasilnya 5.00
c /= b Hasilnya 3.00
Sama halnya dalam operator += dan operator -=. Mula-mula nilai
a adalah 10, b = 5, dan c = 15. baris perintah a /=2 berfungsi untuk
membagi nilai a dengan 2 dan hasilnya ditampung di a. selanjutnya
c /=b; berfungsi untuk membagi nilai c dengan nilai b. hasilnya
ditampung dalam c.

26. *=
Operator gabungan pembagian. Perhatikan contoh berikut ini:
#include<stdio.h>
main()
{
int a=3,b=5,c=10;
a *=4;
c *= b;
printf(“a *= 4 Hasilnya %d \n”,a);
printf(“c *= b Hasilnya %d \n,c”);
}

Tampilan program :

a 8= 4 Hasilnya 12
c *= b Hasilnya 50

Nilai awal a adalah 3, kemudian baris perintah a *=4 berfungsi untuk


mengalikan nilai a dengan 4 sehingga nilai akhir a =12. Sedangkan nilai b pada
awal program kita beri nilai 5 dan c =10. Pada baris perintah c *= b; berfungsi
untuk mengalikan nilai c dengan nilai b dan hasilnya disimpan dalam c.

27. %=
Operator gabungan modulus atau sisa pembagian. Perhatikan contoh berikut
ini:
#include<stdio.h>
main()
{
int a=7,b=3,c=9;
a %=6;
c %= b;
printf(“a \%= 6 Hasilnya”);
printf(“%d \n”,a);
printf(“c \%= b Hasilnya”);
printf(“%d \n”,c);
}

Tampilan program :

a %= 6 Hasilnya 1
c %= b Hasilnya 0
Nilai awal a = 7, kemudian dilakukan operasi modulus dengan 6 sehingga
nilai akhir a = 1. Nilai awal b = 3 dan c = 9, kemudian dilakukan operasi c
modulus b sehingga nilai akhir c adalah 0

OPERATOR HUBUNGAN

Operator ini juga sering dipakai dalam operasi if. Operator ini digunakan untuk
membandingkan dua buah nilai. Jika nilai tersebut memenuhi maka akan dikembalikan
nilai true atau 1.

28. < dan <=


Operator ini masing-masing berarti lebih kecil (<) dan lebih kecil sama
dengan (<=). Kedua operator ini bisa saling menggantikan satu sama lain. Misalnya :

2<7
2 <= 6

Jika bilangan-bilangan tersebut adalah bilangan bulat maka kedua pernyataan


tersebut adalah sama. perhatikan contoh berikut ini :

#include<stdio.h>
main()
{
int x;
printf(“Bilangan”);
scanf(“%d”,&x);
if(x<7)
printf(“%d < 7 \n”,x);
if(x<=6)
printf(“%d <= 6 \n”,x);
}

Tampilan program :

Bilangan : 6
6 < 7
6 <= 6

29. > dan >=


Bentuk lebih besar (>) dan lebih besar atau sama dengan (>=) juga sering
dipakai dalam operasi if. Kedua operator juga bisa saling menggatikan. Perhtikan
contoh berikut :

14> 12
14>= 13

Jika bilangan-bilangan tersebut adalah bilangan bulat maka kedua pernyataan


tersebut mempunyai maksud yang sama. contoh sederhananya adalah sebagai berikut:
#include<stdio.h>
main()
{
int x;
printf(“Bilangan :”);
scanf(“%d”,&x);
if(x>12)
printf(“%d > 12 \n”,x);
if(x>=13)
printf(“%d >= 13 \n”,x);
}

Tampilan program :

Bilangan : 14
14 > 12
14 >= 13

30. ==
Opeator sama dengan digunakan untuk membandingkan dua buah nilai. Jika
kedua nilai tersebut bernilai sama maka nilai yang dikembalikan adalah true atau 1.
ingat bahwa untuk operasi hubungan kita menggunakan tanda sama dengan ganda.
Perhatiakan contoh berikut ini :
#include<stdio.h>
main()
{
int password=12345.pass;
printf(“Masukkan password anda : ”);
scanf(“%d”,&pass);
if(pass==password)
printf(“Selamat datang ! \n”);
else
printf(“password salah ! \n”);
}

Tampilan program :

Masukkan password anda : 1234


Selamat datang !

31. !=
Operasi tidak sama dengan dilambangkan dengan =!, merupakan kebalikan
dari operator = =. Berikut adalah contoh programnya:
#include<stdio.h>
main()
{
int password=12345.pass;
printf(“Masukkan password anda : ”);
scanf(“%d”,&pass);
if(pass==password)
printf(“Password salah ! \n”);
else
printf(“selamat datang ! \n”);
}
Tampilan program :

Masukkan password anda : 1234


Password salah !
OPERATOR LOGIKA

32. &&
Operator ini merupakan operator logika AND. Nilai yang dikembalikan akan
bernilai true jika pernyataan yang di-AND-kan bernilai true semua. Berikut adalah
tabel kebenaran logika AND :
P Q p dan q
True True True
True False False
False True False
False False False

Operator logika && sering digunakan untuk operasi if. Misalnya seorang
pegawai akan mendapat bonus jika tiap hari masuk kerja dan tidak pernah terlambat
masuk kerja. Contoh lain, misalnya program yang digunakan untuk menentukan
apakah suatu bilangan merupakan faktor persekutuan dari 2 bilangan atau bukan.
Perhatikan contoh berikut ini :
#include<stdio.h>
main()
{
int x;
printf(“faktor persekutuan dari 12 dan 8 : \n”);
printf(“bilangan yang akan dicek : ”);
scanf(“%d”,&x);
if ((12%x==0)&&(8%c)==0)
printf(“%d adalah faktor persekutuan dari 12 dan 8 \n”,x) ;
else
printf(“%d bukan faktor persekutuan dari 12 dan 8 \n”,x) ;
}

Tampilan program :
Faktor persekutuan dari 12 dan 8 :
Bilangan yang akan dicek : 4
4 adalah faktor persekutuan dari 12 dan 8

33. ||
Operator logoka yang lain adalah operator OR yang dilambangkan dengan ||.
Operator ini akan mengembalikan nilai true jika salah satu atau kedua pernyataan
bernilai true. Operator ini juga sering dipakai dalam operasi if. Jika nilai kembalian
adalah true maka blok statemen dalam if akan diproses. Berikut adalah tabel
kebenaran dari logika OR.
P Q p or q
True True True
True False True
False True True
False False False
Contoh penggunaan operator ini adalah mengecek apakah suatu bilangan x
merupakan faktor dari bilangan y atau faktor dari bilangan z. Berikut adalah contoh
program :
#include<stdio.h>
main()
{
int x;
printf(“faktor dari 5 atau faktor dari 21 : \n”);
printf(“bilangan yang akan dicek : ”);
scanf(“%d”,&x);
if ((15%x==0) || (21%x)==0)
printf(“%d adalah faktor perskutuan dari 15 atau faktor dari \n”,x);
else
printf(“%d bukan faktor dari 15 maupun dari faktor dari 21 \n”,x) ;
}

Tampilan program :
Faktor dari 15 atau faktor dari 21 :
Bilangan yang akan dicek : 7
7 adalah faktor dari 15 atau faktor dari 21
34. !
Dalam bahasa C operator NOT manggunakan tanda seru (!). Operator NOT
memiliki tabel kebenaran sebagai berikut :
P not p
True False
False True

Jika nilai yang dimasukkan adalah 0 maka NOT untuk nilai tersebut adalah 1
sedangkan NOT untuk semua bilangan selain 0 adalah 0. Operasi ini hanya memiliki
2 buah nilai true yang dinyatakan dengan 1 atau false yang dinyatakan dengan 0.
dengan demikian nilai selain 0 dianggap nilai true. Contoh dalam program :
#include<stdio.h>
main()
{
int x,y;
printf(“Nilai x : ”);
scanf(“%d”,&x);
y=!x;
printf(“y = %d \n”,y);
}
Tampilan program :
Nilai x : 2
y = 0

Nilai x : 1
y = 0

Nilai x : -1
y = 0
Nilai x : 0
y = 1
OPERATOR BITWISE

35. <<
Operator yang kita gunakan ini << berfungsi untuk menggeser bit ke kiri.
Sebuah karakter maupun angka disimpan dalam bentuk biner. Misalnya 2 binernya
adalah 10, A didalam tabel ASCII mempunyai nilai 65 jika dinyatakan dalam biner
adalaj 1000001. Dengan menggunakan operator “<<”, nilai bit akan digeser ke kiri
dan bit terkhir ditambah dengan 0. Misalnya 2 digeser bitnya ke kiri akan
menghasilkan 10 <=> 100 yang sama dengan 4. Dalam bahasa C kita bisa menggeser
beberapa bit data secara langsung. Berikut ini contoh programnya:
#include<stdio.h>
main()
{
int a,b,c;
a=2;
b=a<<1;
c=a<<2;
printf(“Nilai a = %d\n”,a);
printf(“Nilai b = %d\n”,b);
printf(“Nilai c = %d\n”,c);
}

Tampilam program:
Nilai a = 2
Nilai b = 4
Nilai c = 8

Dalam program tersebut terlihat bahwa nilai b diambil dari nilai a, digeser
satu bit ke kiri, yaitu 10 <=> 100 maka b akan bernilai 4. Sedangkan nilai c diambil
dari nilai a digeser dua bit ke kiri,yaitu 10 <=> 1000 dan nilai c akan bernilai 8.

36. >>
Operator ini berfungsi untuk menggeser bit ke kanan, merupakan kebalikan
dari operator <<. Bit kanan akan bergeser sehingga bit terakhir akan dihilangkan.
Perhatikan contoh berikut ini:
#include<stdio.h>
main()
{
int a,b,c;
a=8;
b=a>>1;
c=a>>2;
printf(“Nilai a = %d\n”,a);
printf(“Nilai b = %d\n”,b);
printf(“Nilai c = %d\n”,c);
}

Tampilam program:
Nilai a = 8
Nilai b = 4
Nilai c = 2
Mula-mula nilai a adalah 8. Nilai b diambil dari nilai a digeser ke kanan
sebanyak satu bit, yaitu 1000 <=> 100 sehingga nilai b adalah 4. Demikian halnya
dengan nilai c yang menggeser nilai a sebanyak dua bit,yaitu 1000 <=> 10 sehingga
nilai c adalah 2.

37. &
Operator ini merupakan operator logika AND. Operator ini hanya akan
mengembalikan nilai 1 jika dua variabel bernilai 1. Semua data atau nilai variabel
dinyatakan dalam bentuk biner. Misalnya:
11 <=> 1011
2 <=> 0010
0010 <=> 2

Lihat bahwa nilai bit akan bernilai 1 jika kedua bit yang di-AND-kan bernilai
1. Berikut adalah contoh programnya:
#include<stdio.h>
main()
{
int a,b,c;
a=11;
b=2;
c=a&b;
printf(“Nilai a = %d\n”,a);
printf(“Nilai b = %d\n”,b);
printf(“Nilai c = %d\n”,c);
}

Tampilam program:
Nilai a = 11
Nilai b = 2
Nilai c = 2

38. |
Tanda ini merupakan operator OR untuk dua buah nilai. Jika salah satu nilai
atau kedua nilai yang dibandingkan bernilai 1 maka hasilnya adalah 1 juga.
Perhatikan contoh berikut ini :
11 <=> 1011
2 <=> 0010
1011 <=> 11

Berikut adalah contoh programnya :

#include<stdio.h>
main()
{
int a,b,c;
a=11;
b=2;
c=a|b;
printf(“Nilai a = %d\n”,a);
printf(“Nilai b = %d\n”,b);
printf(“Nilai c = %d\n”,c);
}

Tampilam program:
Nilai a = 11
Nilai b = 2
Nilai c = 11

39. ^
Tanda ^ merupakan operator XOR yang akan menghasilkan nilai 1 jika salah
satu dari kedua bit data yang dibandingkan bernilai 1. Misalnya :
11 <=> 1011
2 <=> 0010
1011 <=> 9

Berikut adalah contoh programnya :


#include<stdio.h>
main()
{
int a,b,c;
a=11;
b=2;
c=a^b;
printf(“Nilai a = %d\n”,a);
printf(“Nilai b = %d\n”,b);
printf(“Nilai c = %d\n”,c);
}

Tampilam program:
Nilai a = 11
Nilai b = 2
Nilai c = 9

40. ~
Operator NOT digunakan untuk membalikkan nilai bit. Hal itu berbeda
dengan operasi logika. Jika dalam operasi logika ~1 adalah 0 dan ~0 adalah 1. Coba
perhatikan program berikut ini :

#include<stdio.h>
main()
{
int a,b,c,d;
a=0;
b=~a;
c=1;
d=~1;
printf(“Nilai a = %d\n”,a);
printf(“Nilai ~a = %d\n”,b);
printf(“Nilai c = %d\n”,c);
printf(“Nilai ~c = %d\n”,d);
printf(“Nilai ~5 = %d\n”,~5);
}

Tampilam program:

Nilai a = 11
Nilai ~a = -1
Nilai c = 1
Nilai ~c = -2
Nilai ~5 = -6

Mengapa <=> 0 bukan melainkan -1? Mari kita telusuri. Dalam komputer
nilai 0 disimpan dalam bentuk biner.

0<=>00000000

Operator ~ akan membalik nilai setiap bit dari 0 menjadi 1 dan dari 1 menjadi
0 sehingga nilai ~0 akan berubah mwnjadi :

0<=>00000000
~0<=>11111111

Bit paling kiri adalah sign bit yang berfungsi untuk menunjukkan tanda dari
suatu bilangan. Bilangan akan bertanda positif jika sign bitnya adalah 0 dan akan
bernilai negatif jika sign bitnya adalah 1. ~0 memiliki sign bit 1 sehingga nilai yang
dihasilkan pasti bernilai negatif. Bahasa C menggunakan cara komplemen 2, yaitu
bila nilainya negatif maka diartikan nilai tersebut dikurangi dengan niali 1, yaitu
sebagai berikut :

11111111
1 -
---------------
11111110

Kemudian semua nilai bit dibalik :

11111110
---------------
00000001

Bit data 00000001 sama dengan nilai 1, dan kita tahu bahwa pada saat kita
melakukan operasi ini kita mendapatkan sign bit 1 yang artinya bilangan itu bernilai
negatif sehingga hasil akhir yang ditampilakan program adalah -1. anda bisa mencoba
menghitung ~1 dan ~5 seperti yang ada dalam program.
PRAPOCESSOR DIRECTIVES

Prapocessor directive merupakan suatu pernyataan yang akan diikutsertakan dalam


sebuah program. Pernyataan-pernyataan ini akan dikompilasi program yang sebenarnya
dilakukan. Prapocessor biasanya ditulis diawal program dan ditandai dengan tanda pagar
“#”. Dengan prapocessor inilah bahasa C mempunyai kemampuan yang lebih
dibandingkan dengan bahasa pemrograman yang lain. Beberapa prapocessor yang
terdapat dalam bahasa C adalah sebagai berikut :
#define #ifndef

#else #include

#endif #undef

#ifdef #warn

Prapocessor yang sering digunakan dalam bahasa C adalah #define dan


#include.

41. include
Prapocessor ini digunakan untuk menyertakan kode program yang tersimpan
ke program yang sedang kita buat. Seperti contoh, ketika kita akan menggunakan
fungsi printf maka kita harus menyertakan stdio.h yang merupakan
kepanjangan dari standard input/output header. Header inilah yang
menyimpan fungsi printf. Jika kita menggunakan fungsi printf tetapi kita tidak
menyertakan header stdio.h maka akan muncul pesan error bahwa fungsi
printf tidak terdefenisi.
Untuk menyertakan header ini kita harus menggunakan prapocessor
#include yang ditulis dengan cara #include<stdio.h>, atau dipisahkan
dengan spasi #include <stdio.h> dan dapat juga ditulis dengan #inlude
“stdio.h”.

42. define
Prapocessor ini digunakan untuk mendefenisikan suatu makro, yaitu dengan
nilai yang telah ditentukan. Misalnya, untuk memberi nilai konstanta, mengganti
nama suatu pertintah dengan perintah yang kita inginkan. Perhatikan contoh berikut
ini :

#include<stdio.h>
#define fungsi_utama() main()
#define awal {
#define akhir }
#define cetak printf
#define input scanf
#define bulat int

fungsi_utama()
awal
bulat a;
cetak(“Bahasa C menyenangkan \n”);
cetak(“Masukkan sebuah nilai”);
input(“%d”,&a);
cetak(“Data yang anda masukkan : %d \n”,a);
akhir

Perhatikan bahwa kita dapat mengganti nama-nama perintah dalam bahasa C


dengan bahasa kita sendiri dengan menggunakan prapocessor #define. Seperti
contoh, kita mengganti main() dengan fungsi_utama() , kemudian { dengan
awal dan seterusnya. Tampilan program tetap sama.

bahasa C menyenangkan
masukkan sebuah nilai 12
data yang anda masukkan :12

Jika defenisi makro yang kita buat ingin kita pakai terus maka kita bisa
menulis makro tersebut cukup satu kali dan kita simpan menjadi sebuah file header
dengan eksistensi *.h. misalnya, makro-makro berikut disimpan dengan nama file
headerku.h
#include<stdio.h>
#define fungsi_utama() main()
#define awal {
#define akhir }
#define cetak printf
#define input scanf
#define bulat int

Pada waktu membuat program yang melibatkan makro, kita cukup


menyertakan makro yang disimpan sebagai sebuah header dengan menggunakan
prapocessor include seperti contoh berikut ini :
#include”headerku.h”
fungsi_utama()
awal
bulat a;
cetak(“Bahasa C menyenangkan \n”);
cetak(“Masukkan sebuah nilai ”);
input(“%d”,&a);
cetak(“Data yang anda masukkan : %d \n”,a);
akhir

Tampilannya juga sama dengan yang di atas :


bahasa C menyenangkan
masukkan sebuah nilai 12
data yang anda masukkan :12
FUNGSI MATEMATIKA

43.

ARRAY
44.JFHGJ

You might also like