bahasa c

34
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.{}

Upload: irma14hack

Post on 24-Jun-2015

942 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: BAHASA C

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.cgcc [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 */

Page 2: BAHASA C

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 :

jumlahIpk_Kuliah_NilaiP10

Sedangkan contoh penamaan variabel yang salah adalah seperti berikut:

10nilai //di dahului oleh angkanilai ipk //ada spasibreak //kata kunci bahasa c

Page 3: 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;Atauint 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 (bytes) Batas Bawah Batas Atas Format DataChar 1 - - %cunsigned char 1 0 255 %cshort int 2 32678 32767 %i , %dunsigned short int 2 0 65536 %i , %d , %u(long) int 4 -231 +231-1 %i , %dfloat 4 -3.2x1038 +3.2x1038 %fdouble 4 -1.7x10308 +1.7x10308 %f

Page 4: BAHASA C

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

Page 5: BAHASA C

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 menyenangkannilai = 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 menyenangkanBelajar bahasa C

12.putchar

Page 6: BAHASA C

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 = 12Data yang anda masukkan1

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()

Page 7: BAHASA C

{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 = naufalb = 12Data yang anda masukkan

a = naufalb = 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 :

Page 8: BAHASA C

Nama : Naufal RasendriyaAlamat : Makassar

Data yang anda masukkanNama : Naufal RasendriyaAlamat : 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 : ANilai yang anda masukkan = A

OPERATOR ARITMATIKA

Page 9: BAHASA C

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

Page 10: BAHASA C

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 :

Page 11: BAHASA C

#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

Page 12: BAHASA C

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 :123

Page 13: BAHASA C

45

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;

Page 14: BAHASA C

printf(“a += 10 Hasilnya %d \n”,a);printf(“c += b Hasilnya %d \n,c”);}

Tampilan program :a += 10 Hasilnya 20c += 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 5c -= 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.00c /= 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

Page 15: BAHASA C

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 12c *= 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

Page 16: BAHASA C

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 < 72 <= 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 : 66 < 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> 1214>= 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);

Page 17: BAHASA C

if(x>=13)printf(“%d >= 13 \n”,x);}

Tampilan program :

Bilangan : 1414 > 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”);elseprintf(“password salah ! \n”);}

Tampilan program :

Masukkan password anda : 1234Selamat 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”);elseprintf(“selamat datang ! \n”);}

Tampilan program :

Masukkan password anda : 1234Password salah !

OPERATOR LOGIKA

Page 18: BAHASA C

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 qTrue True TrueTrue False FalseFalse True FalseFalse 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) ;elseprintf(“%d bukan faktor persekutuan dari 12 dan 8 \n”,x) ;}

Tampilan program :

Faktor persekutuan dari 12 dan 8 :Bilangan yang akan dicek : 44 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 qTrue True TrueTrue False TrueFalse True TrueFalse 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>

Page 19: BAHASA C

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);elseprintf(“%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 : 77 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 pTrue FalseFalse 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 : 2y = 0

Nilai x : 1y = 0

Nilai x : -1y = 0

Nilai x : 0y = 1

OPERATOR BITWISE

35. <<

Page 20: BAHASA C

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 = 2Nilai b = 4Nilai 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 = 8Nilai b = 4Nilai 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.

Page 21: BAHASA C

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 <=> 00100010 <=> 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 = 11Nilai b = 2Nilai 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:

Page 22: BAHASA C

Nilai a = 11Nilai b = 2Nilai 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 <=> 10112 <=> 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 = 11Nilai b = 2Nilai 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 = 11Nilai ~a = -1Nilai c = 1

Page 23: BAHASA C

Nilai ~c = -2Nilai ~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

Page 24: BAHASA C

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. includePrapocessor 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);

Page 25: BAHASA C

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 12data 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 12data yang anda masukkan :12

FUNGSI MATEMATIKA

43.

Page 26: BAHASA C

ARRAY44.JFHGJ