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

ipk3.Dalam bahasa C. Bila kita mempunyai beberapa variabel yang memiliki tipe data sama. sebuah variabel harus dideklarasikan beserta dengan tipe datanya.7x10308 Batas Atas 255 32767 65536 +231-1 +3. Seperti contoh : int nilai. %d %i .nilai3.nilai2.nama3[30].2x1038 -1. float ipk1. char nama [25] . Inisialisasi Nilai Variabel Jika kita ingin memberikan nilai lain ke variabel yang telah diberi nilai.nama2[25]. nilai=2. Tipe Data dan Format Data Berikut adalah tipe-tipe data yang dimiliki oleh bahasa C : Tipe Char unsigned char short int unsigned short int (long) int float double Ukuran (bytes) 1 1 2 2 4 4 4 Batas Bawah 0 32678 0 -231 -3. char nama1[20]. %d %f %f . float ipk . 7. char nilai_huruf. variabel dipisahkan dengan tanda koma “.2x1038 +1. nilai=0. 6. nilai=0. nilai=1. %d . %u %i . Atau int nilai. Contoh : Int nilai . Perhatikan contoh berikut ini : Int nilai1. Nilai yang terakhir dimasukkan akan menjadi nilai akhir dari variabel nilai tersebut.” dan diakhiri dengan tanda titik koma “.7x10308 Format Data %c %c %i .ipk2.”. Misalnya seperti berikut: int nilai=0.

Tetapi kita tetap dapat mendeklarasikan sebuah string dengan menggunakan array. Berikut adalah daftar Escape Sequence yang dimiliki bahasa C : Sequence \0 \a \b \f \n \r \t \v \\ \’ \” \% Arti Null karakter Bell/beep Backspace Form feed Line feed Carriage returned Horisontal tab Vertical tab Backslash Single quota Double quota Percent Hasil Akhir dari sebuah string Bunyi bell Mundur satu karakter Ganti halaman Ganti baris Kembali ke awal kolom Tabulasi horisontal Tabulasi vertikal Garis miring Petik tunggal Petik ganda Karakter persen . 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. Contoh sebuah variabel yang bertipe string : char nama[25]. Memberi nilai secara langsung kesuatu variabel.14 b. 8. Menggunakan praprosessor #define Berikut adalah cara mendeklarasikan konstanta menggunakan praprosessor #define : #define phi 3. Variabel nama merupakan sebuah string yang dapat mempunyai 25 karakter. Escape Sequence “\n” merupakan salah satu contoh Escape Sequence.14. 9. int phi=3. Format data string adalah %s.Dalam bahasa C tidak dikenal tipe data string. Semua Escape Sequence diawali dengan tanda garis miring “\”. Konstanta Ada dua cara mendeklarasikan konstanta : a.

printf(“Bahasa C menyenangkan \n”). Tampilan program : . Perhatikan contoh berikut : #include<stdio.nilai).printf Fungsi printf digunakan untuk menampilkan suatu keluaran pada layar. Tetapi fungsi puts hanya digunakan untuk menampilkan nilai string dan sudah mengandung line feed atau escape sequence ganti baris. Jangan lupa dengan variabel yang menyimpan nilai tersebut harus disertakan setalah tanda petik terakhir. Jadi dengan fungsi printf yang pertama maka kursor akan turun satu baris.\? \xddd Question mark Octal constsnt Tanda tanya ddd adalah digit nilai oktal OPERASI INPUT/OUTPUT 10. } Fungsi printf yang pertama disertai dengan escape sequance yang berfungsi untuk pindah baris.puts Cara lain untuk menampilkan suatu keluaran ke layar adalah menggunakan fungsi puts.h> main() { puts(“Bahasa C menyenangkan ”). printf(“nilai = %d \n”. Perhatikan penggunaan printf berikut ini : #include<stdio. } Kini tidak perlu lagi mengguanakan “\n” untuk ganti baris baru. puts(“Belajar bahasa C “). Sedangkan fungsi printf yang kedua dimana terdapat format data %d berfungsi untuk menampilkan data dengan tipe integer.h> main() { int nilai=3. Tampilan program tersebut : Bahasa C menyenangkan nilai = 3 11.

putchar(‘\n’). printf(“a = ”). maka fungsi ini hanya akan membaca data sampai ditemukan blank.h> main() { Char a. } Pada putchar yang petama kita ingin membuat program untuk ganti baris menggunakan “\n”. Dengan demikian nilai setelah blank dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut. Fungsi putchar ini hanya bisa menampilkan satu buah karakter saja sehingga apapun nilai yang kita masukkan hanya karakter pertama yang akan ditampilkan.&a). Fungsi scanf lebih cocok digunakan untuk data-data numerik.scanf(“%c”. karakter yang selanjutnya kita sebut dengan istilah string. Fungsi scanf biasanya digunakan bersama-sama dengan fungsi printf. printf(“Data yang anda masukkan ”).Bahasa C menyenangkan Belajar bahasa C 12.putchar Fungsi ini digunakan untuk menampilkan sebuah karakter saja dan tidak mengandung escape sequence “\n”. Berikut tampilan programnya : a = 12 Data yang anda masukkan 1 13. Perhatikan contoh berikut : .scanf Jika kita ingin memasukkan data dari keyboard. kita dapat menggunakan fungsi scanf ini. Data selanjutnya akan didefenisikan sebagai data variabel. Sedangkan untuk data string tidak perlu menggunakan operator ini. Tetapi jika digunakan tidak menjadi masalah. Jika tidak mempergunakan operator alamat & ini maka ketika data diinputkan akan muncul pesan error Segmentation fault. kita menggunakan tanda petik tunggal (‘) karena karakter dalam program akan dikenal jika diberi tanda petik tunggal. Fungi scanf jika digunakan maka harus disertai operator penanda alamat & didepan nama variabel yang digunakan untuk menyimpan data tersebut. putchar(a). Jika fungsi scanf ini digunakan untuk membaca data dengan tipe array. perhatikan contoh berikut : #include<stdio.

printf(“a = ”). printf(“Nama : ”). printf(“Alamat : %s \n”. printf(“Nama : %s \n”. printf(“a = %s \n”.gets(alamat). int b. a = naufal b = 12 Data yang anda masukkan a = naufal b = 12 14.h> main() { char nama[25]. Misalnya nama “naufal rasendriya” hanya kata “naufal” yang akan dibaca oleh program. printf(“b = ”).gets Jika kita menggunakan fungsi scanf untuk membaca data yang bertipe string. printf(“b = %d \n”.h> main() { char a[25]. Perhatikan contoh berikut ini : #include<stdio.&b).a). } . printf(“Alamat : ”). char alamat[50]. bahasa C menyediakan fungsi gets.nama).a). printf(“\n”).b).scanf(“%s”. printf(“Data yang anda masukkan \n”). Untuk keperluan pemasukan data string yang panjang dipisahkan dengan spasi.#include<stdio.gets(nama).alamat). printf(“Data yang anda masukkan \n”).scanf(“%d”. Berikut adalah tampilan programnya. sedangkan kata “resendriya” tidak terbaca karena sebelum kata tersebut program telah menemukan spasi yang mengakibatkan data ke varibel yang menyimpan nama dianggap selesai. maka data tersebut hanya akan dibaca sampai ditemukan spasi. } Setiap kali memasukkan data harus diikuti dengan menekan ENTER.

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. printf(“Nilai yang anda masukkan = %c \n”.nilai ). nilai=getchar(). printf(“Nilai anda : ”). } Berikut tampilannya : Nilai anda : A Nilai yang anda masukkan = A .h> main() { Char nilai.

&a). – Dalam bahasa C. relasional. printf(“%d + %d = %d \n”. Didalam bahasa pemrograman C ada beberapa tipe operator seperti operator penunjukan. + Dalam bahasa C.c). scanf(“%d”. . c=a-b.&b).&a).h> main() { int a.h> main() { int a. c=a+b. Ekspresi merupakan kombinasi dari operator dan operand-nya. Dalam sebuah eksekusi program. scanf(“%d”.&b). printf(“a = ”).a.OPERATOR ARITMATIKA Operator merupakan simbol khusus yang merepresentasikan perhitungan sederhana seperti penambahan dan perkalian. } Tampilan a = b = 6 + program: 6 4 4 = 10 17. Nilai yang digunakan oleh operator sebagai operand. operasi penambahan menggunakan simbol plus (+).c.b.b. Dalam C dan bahasa pemrograman lainnya dikenal standar aritmatika yang merupakan simbol-simbol matematika. Contoh pemakainnya dalam program : #include<stdio. Operasi ini sama dengan operasi matematika. Pada bagian ini kita akan membahas tentang operator aritmatika. suatu ekspresi akan dievaluasi sehingga menghasilkan suatu nilai tunggal.b. printf(“a = ”). scanf(“%d”. scanf(“%d”. printf(“b = ”). printf(“b = ”). aritmatika. Contoh pemakaiannya dalam program : #include<stdio. 16. operasi pengurangan menggunakan simbol minus (-).c. logika dan pernyataan.

4 = 2 18.a.a.c. Contoh pemakaian dalam program : #include<stdio. % Sisa hasil bagi atau modulus menggunakan simbol persen % hanya dapat digunakan untuk tipe integer.c). * Operasi perkalian dalam bahasa C menggunakan tanda asterik (*). printf(“a = ”). printf(“b = ”). scanf(“%d”. / Operasi pembagian menggunakan simbol /.a. printf(“b = ”).b. c=a/b.&b). scanf(“%d”. } Tampilan program: a = 6 b = 4 6 . dapat digunakan baik unutk data bertipe integer maupun float.b.c).&a). } Tampilan program: a = 6 b = 4 6 * 4 = 24 19.c.printf(“%d .%d = %d \n”. printf(“%d * %d = %d \n”. scanf(“%d”.b.b. Perhatikan contoh operasi modulus berikut ini : . printf(“a = ”). c=a*b.50 20.&a). } Tampilan program: a = 6 b = 4 6 / 4 = 1. Contoh program : #include<stdio.h> main() { int a.&b).h> main() { int a.c). scanf(“%d”.b. printf(“%d / %d = %d \n”.

7%3=1 7 dibagi dengan 3 akan menghasilkan nilai 2. printf(“b = ”).h> main() { int a. c=a%b. scanf(“%d”. printf(“a = ”).a. . Sedangkan sisa dari pembagian tersebut adalah 1 yang didapat dari 7 – (2 * 3) = 7 – 6 = 1. Tanda kurung juga berpengaruh pada operasi aritmatika. Misalnya operasi perkalian dan pembagian akan dikerjakan lebih dulu.&b). printf(“%d mod %d = %d \n”.c. } Tampilan program: a = 7 b = 6 7 mod 6 = 1 Operasi aritmatika juga menggunakan aturan umum yang dipakai dalam bahasa matematika.b.c). Contoh program berikut digunakan untuk operasi modulus tersebut : #include<stdio. scanf(“%d”.b.&a).

b).a. a= 10 + b++. Operator ini berfungsi menambahkan nilai 1 pada nilai sebelumnya.h> main() { int a. Dalam hal ini a akan berisi nilai 10 ditambah nilai b terlebih dahulu sebelum ditambah dengan 1.i). Hasil dari program diatas adalah a = 21.i++). b++ berarti lakukan proses kemudian naikkan. Perhatikan contoh program berikut ini : #include<stdio.h> main() { int i. b = %d\n”.i<=5. b = 11.b). nilai b akan ditambah dengan nilai 1 terlebih dahulu kemudian baru ditambahkan ke nilai 10 dan hasilnya disimpan di variabel a.h> main() { int a. Proses penambahan nilai tergantung dari posisi tanda ++ tersebut. printf(“a = %d. printf(“a = %d. } Nilai a dan b diberi nilai 10. for (i=1. } .b=10. Dengan demikian hasil dari program di atas adalah a = 20. PENURUNAN. seperti tampak pada contoh berkut ini : #include<stdio. Bandingkan dengan program berikut ini : #include<stdio. a= 10 + ++b. Setelah itu b ditambah dengan 1. ++ Dalam bahasa C kita mengenal operator peningkatan (increment operator) yang menggunakan tanda plus ganda (++). b = %d\n”.b=10. b = 11. Operator peningkatan sering dipakai dalam struktur perulangan for.OPERATOR PENINGKATAN.a. printf(“%d \n”. DAN GABUNGAN 21. } Nilai a dan b diberi nilai 10. ++b berarti menaikkan nilai b kemudian lakukan proses.

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. 22.a. Perhatikan contoh berikut ini : #include<stdio.b=10. printf(“a = %d.berfungsi untuk mengurangkan nilai 1 dari nilai sebelumnya.a. printf(“a = %d. } Mula-mula a dan b diberi nilai 10.h> main() { int a. Proses yang dilakukan oleh operator ini sama dengan operator ++. } Nilai a dan b diberi nilai 10.h> main() { int a. Sama halnya dalam operator ++. Begitu juga dengan persamaan a + . jika posisi tanda .kita ubah. Sebuah persamaan a + = 3 sama artinya dengan a = a + 3. b = %d\n”.b=10. 23.. bandingkan dengan contoh program berikut : #include<stdio. += Operator sama dengan (=) dapat digabungkan dengan operator lain. . hanya saja operator ini akan mengurangi nilai. a= 10 + --b.b). a= 10 + b--..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. 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.b). b = %d\n”.Operator penurunan (decremen operator) yang menggunakan tanda minus ganda .

a += b. a += 10. Sedangkan pada baris c -= b. Perhatikan contoh program berikut ini : #include<stdio. printf(“c /= b Hasilnya %d \n. Pada baris program a -=5.c=7.h> main() { int a=10. a -=5. 25. .b=5.= Fungsi operator ini hampir sama dengan operator += hanya saja digunakan untuk proses pengurangan. } .c”). } Tampilan program : a -= 5 Hasilnya 5 c -= b Hasilnya 2 Perhatikan bahwa kita memberi niali awal a = 10.c=7. /= Operator gabungan pembagian.b=5.b=5.a). printf(“a += 10 Hasilnya %d \n”. c /= b.= b sama artinya dengan a = a + b.c”). nilai c akan dikurangi dengan nilai b dan kemudian ditampung dalam c sehingga nilai c adalah 2. a /=2. printf(“c -= b Hasilnya %d \n. Perhatikan contoh berikut ini : #include<stdio. nilai a akan dikurangi dengan 5 sehingga nilai akhir a adalah 5.h> main() { float a=10. printf(“a /= 5 Hasilnya %d \n”.a). } Tampilan program : a += 10 Hasilnya 20 c += b Hasilnya 12 24.c”). c -= b.b =5 dan c =7.c=15.a). printf(“a -= 5 Hasilnya %d \n”. Perhatikan contoh berikut ini : #include<stdio.h> main() { int a=10. printf(“c += b Hasilnya %d \n. Nilai hasil penjumlahan akan disimpan di a.

hasilnya ditampung dalam c. selanjutnya c /=b. 26. a %=6.b=5. printf(“%d \n”.a). Perhatikan contoh berikut ini: #include<stdio.00 c /= b Hasilnya 3.Tampilan program : a /= 5 Hasilnya 5. c %= b. c *= b. 27. kemudian baris perintah a *=4 berfungsi untuk mengalikan nilai a dengan 4 sehingga nilai akhir a =12. } Tampilan program : a 8= 4 Hasilnya 12 c *= b Hasilnya 50 Nilai awal a adalah 3.c).h> main() { int a=7.h> main() { int a=3. *= Operator gabungan pembagian. berfungsi untuk membagi nilai c dengan nilai b.c=9.b=3. printf(“a \%= 6 Hasilnya”).00 Sama halnya dalam operator += dan operator -=. a *=4.c=10. b = 5. } Tampilan program : a %= 6 Hasilnya 1 c %= b Hasilnya 0 . printf(“%d \n”. Sedangkan nilai b pada awal program kita beri nilai 5 dan c =10. dan c = 15. printf(“a *= 4 Hasilnya %d \n”. baris perintah a /=2 berfungsi untuk membagi nilai a dengan 2 dan hasilnya ditampung di a. Perhatikan contoh berikut ini: #include<stdio. Mula-mula nilai a adalah 10. %= Operator gabungan modulus atau sisa pembagian. Pada baris perintah c *= b.a). berfungsi untuk mengalikan nilai c dengan nilai b dan hasilnya disimpan dalam c. printf(“c *= b Hasilnya %d \n. printf(“c \%= b Hasilnya”).c”).

if(x<=6) printf(“%d <= 6 \n”. perhatikan contoh berikut ini : #include<stdio.x). kemudian dilakukan operasi c modulus b sehingga nilai akhir c adalah 0 OPERATOR HUBUNGAN Operator ini juga sering dipakai dalam operasi if. } Tampilan program : Bilangan : 6 6 < 7 6 <= 6 29.h> main() { int x.x). Operator ini digunakan untuk membandingkan dua buah nilai. 28. Nilai awal b = 3 dan c = 9. if(x<7) printf(“%d < 7 \n”. Misalnya : 2<7 2 <= 6 Jika bilangan-bilangan tersebut adalah bilangan bulat maka kedua pernyataan tersebut adalah sama. scanf(“%d”. contoh sederhananya adalah sebagai berikut: .&x). Perhtikan contoh berikut : 14> 12 14>= 13 Jika bilangan-bilangan tersebut adalah bilangan bulat maka kedua pernyataan tersebut mempunyai maksud yang sama. Jika nilai tersebut memenuhi maka akan dikembalikan nilai true atau 1. > dan >= Bentuk lebih besar (>) dan lebih besar atau sama dengan (>=) juga sering dipakai dalam operasi if. < dan <= Operator ini masing-masing berarti lebih kecil (<) dan lebih kecil sama dengan (<=). Kedua operator ini bisa saling menggantikan satu sama lain.Nilai awal a = 7. kemudian dilakukan operasi modulus dengan 6 sehingga nilai akhir a = 1. printf(“Bilangan”). Kedua operator juga bisa saling menggatikan.

if(x>12) printf(“%d > 12 \n”. scanf(“%d”. if(pass==password) printf(“Selamat datang ! \n”).h> main() { int x.pass. scanf(“%d”. else printf(“password salah ! \n”). } Tampilan program : Bilangan : 14 14 > 12 14 >= 13 30.x). printf(“Masukkan password anda : ”).x). ingat bahwa untuk operasi hubungan kita menggunakan tanda sama dengan ganda. Perhatiakan contoh berikut ini : #include<stdio.h> main() { int password=12345.&pass).#include<stdio. != Operasi tidak sama dengan dilambangkan dengan =!. printf(“Bilangan :”). if(x>=13) printf(“%d >= 13 \n”. == Opeator sama dengan digunakan untuk membandingkan dua buah nilai.h> main() { int password=12345. scanf(“%d”. } . Berikut adalah contoh programnya: #include<stdio.&pass). merupakan kebalikan dari operator = =. if(pass==password) printf(“Password salah ! \n”).pass. } Tampilan program : Masukkan password anda : 1234 Selamat datang ! 31. Jika kedua nilai tersebut bernilai sama maka nilai yang dikembalikan adalah true atau 1. printf(“Masukkan password anda : ”). else printf(“selamat datang ! \n”).&x).

|| Operator logoka yang lain adalah operator OR yang dilambangkan dengan ||. misalnya program yang digunakan untuk menentukan apakah suatu bilangan merupakan faktor persekutuan dari 2 bilangan atau bukan. Berikut adalah tabel kebenaran dari logika OR. Operator ini akan mengembalikan nilai true jika salah satu atau kedua pernyataan bernilai true. Berikut adalah tabel kebenaran logika AND : P True True False False True False True False Q True False False False p dan q Operator logika && sering digunakan untuk operasi if. if ((12%x==0)&&(8%c)==0) printf(“%d adalah faktor persekutuan dari 12 dan 8 \n”. Operator ini juga sering dipakai dalam operasi if.Tampilan program : Masukkan password anda : 1234 Password salah ! OPERATOR LOGIKA 32.&x). printf(“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.x) .h> main() { int x. && Operator ini merupakan operator logika AND. printf(“bilangan yang akan dicek : ”). scanf(“%d”. Contoh lain. P True True True False Q True True p or q . Perhatikan contoh berikut ini : #include<stdio. else printf(“%d bukan faktor persekutuan dari 12 dan 8 \n”. Nilai yang dikembalikan akan bernilai true jika pernyataan yang di-AND-kan bernilai true semua. Misalnya seorang pegawai akan mendapat bonus jika tiap hari masuk kerja dan tidak pernah terlambat masuk kerja. Jika nilai kembalian adalah true maka blok statemen dalam if akan diproses.

dengan demikian nilai selain 0 dianggap nilai true. } Tampilan program : Nilai x : 2 y = 0 Nilai x : 1 y = 0 Nilai x : -1 y = 0 .x) . printf(“faktor dari 5 atau faktor dari 21 : \n”). Berikut adalah contoh program : #include<stdio.False False True False True False Contoh penggunaan operator ini adalah mengecek apakah suatu bilangan x merupakan faktor dari bilangan y atau faktor dari bilangan z. scanf(“%d”. Operasi ini hanya memiliki 2 buah nilai true yang dinyatakan dengan 1 atau false yang dinyatakan dengan 0. if ((15%x==0) || (21%x)==0) printf(“%d adalah faktor perskutuan dari 15 atau faktor dari \n”. Operator NOT memiliki tabel kebenaran sebagai berikut : P True False not p False True Jika nilai yang dimasukkan adalah 0 maka NOT untuk nilai tersebut adalah 1 sedangkan NOT untuk semua bilangan selain 0 adalah 0. else printf(“%d bukan faktor dari 15 maupun dari faktor dari 21 \n”. printf(“Nilai x : ”). scanf(“%d”.y). } 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 (!). y=!x.&x).&x). printf(“y = %d \n”.h> main() { int x.h> main() { int x. printf(“bilangan yang akan dicek : ”).x).y. Contoh dalam program : #include<stdio.

a).c.c). Perhatikan contoh berikut ini: #include<stdio. a=8. Sebuah karakter maupun angka disimpan dalam bentuk biner. yaitu 10 <=> 100 maka b akan bernilai 4. Dalam bahasa C kita bisa menggeser beberapa bit data secara langsung. A didalam tabel ASCII mempunyai nilai 65 jika dinyatakan dalam biner adalaj 1000001. printf(“Nilai b = %d\n”. c=a>>2. printf(“Nilai a = %d\n”. printf(“Nilai a = %d\n”.b. Misalnya 2 binernya adalah 10. Dengan menggunakan operator “<<”. printf(“Nilai b = %d\n”. 36. printf(“Nilai c = %d\n”. b=a>>1. nilai bit akan digeser ke kiri dan bit terkhir ditambah dengan 0.a).Nilai x : 0 y = 1 OPERATOR BITWISE 35. Sedangkan nilai c diambil dari nilai a digeser dua bit ke kiri. printf(“Nilai c = %d\n”.h> main() { int a.c. << Operator yang kita gunakan ini << berfungsi untuk menggeser bit ke kiri. merupakan kebalikan dari operator <<. Berikut ini contoh programnya: #include<stdio. } Tampilam program: Nilai a = 2 Nilai b = 4 Nilai c = 8 Dalam program tersebut terlihat bahwa nilai b diambil dari nilai a. Bit kanan akan bergeser sehingga bit terakhir akan dihilangkan. Misalnya 2 digeser bitnya ke kiri akan menghasilkan 10 <=> 100 yang sama dengan 4.c).b.b). >> Operator ini berfungsi untuk menggeser bit ke kanan. c=a<<2.h> main() { int a. digeser satu bit ke kiri. a=2. b=a<<1.yaitu 10 <=> 1000 dan nilai c akan bernilai 8.b). } Tampilam program: .

a). b=2. printf(“Nilai b = %d\n”.b. Nilai b diambil dari nilai a digeser ke kanan sebanyak satu bit.c.b). Misalnya: 11 <=> 1011 2 <=> 0010 0010 <=> 2 Lihat bahwa nilai bit akan bernilai 1 jika kedua bit yang di-AND-kan bernilai 1. . | Tanda ini merupakan operator OR untuk dua buah nilai. Berikut adalah contoh programnya: #include<stdio. Jika salah satu nilai atau kedua nilai yang dibandingkan bernilai 1 maka hasilnya adalah 1 juga.h> main() { int a. printf(“Nilai a = %d\n”. a=11. a=11. & Operator ini merupakan operator logika AND.b. yaitu 1000 <=> 100 sehingga nilai b adalah 4.c. Demikian halnya dengan nilai c yang menggeser nilai a sebanyak dua bit. Perhatikan contoh berikut ini : 11 <=> 1011 2 <=> 0010 1011 <=> 11 Berikut adalah contoh programnya : #include<stdio.yaitu 1000 <=> 10 sehingga nilai c adalah 2. printf(“Nilai c = %d\n”.Nilai a = 8 Nilai b = 4 Nilai c = 2 Mula-mula nilai a adalah 8.c). Operator ini hanya akan mengembalikan nilai 1 jika dua variabel bernilai 1. } Tampilam program: Nilai a = 11 Nilai b = 2 Nilai c = 2 38. Semua data atau nilai variabel dinyatakan dalam bentuk biner.h> main() { int a. c=a&b. 37.

Misalnya : 11 <=> 1011 2 <=> 0010 1011 <=> 9 Berikut adalah contoh programnya : #include<stdio. printf(“Nilai c = %d\n”.h> main() { int a.b). c=a^b. c=1.a). printf(“Nilai ~a = %d\n”.c).d.b). ^ Tanda ^ merupakan operator XOR yang akan menghasilkan nilai 1 jika salah satu dari kedua bit data yang dibandingkan bernilai 1.c.a). printf(“Nilai a = %d\n”. c=a|b.c.b. d=~1. printf(“Nilai b = %d\n”.b).c). printf(“Nilai b = %d\n”.b=2. b=2. Coba perhatikan program berikut ini : #include<stdio. ~ Operator NOT digunakan untuk membalikkan nilai bit.h> main() { int a.a). printf(“Nilai a = %d\n”. . Jika dalam operasi logika ~1 adalah 0 dan ~0 adalah 1. } Tampilam program: Nilai a = 11 Nilai b = 2 Nilai c = 11 39. a=11. } Tampilam program: Nilai a = 11 Nilai b = 2 Nilai c = 9 40. printf(“Nilai c = %d\n”.c). b=~a.b. printf(“Nilai a = %d\n”. Hal itu berbeda dengan operasi logika. printf(“Nilai c = %d\n”. a=0.

anda bisa mencoba menghitung ~1 dan ~5 seperti yang ada dalam program.~5). 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. 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. ~0 memiliki sign bit 1 sehingga nilai yang dihasilkan pasti bernilai negatif. . Bilangan akan bertanda positif jika sign bitnya adalah 0 dan akan bernilai negatif jika sign bitnya adalah 1. yaitu sebagai berikut : 11111111 1 --------------11111110 - Kemudian semua nilai bit dibalik : 11111110 --------------00000001 Bit data 00000001 sama dengan nilai 1. Dalam komputer nilai 0 disimpan dalam bentuk biner.printf(“Nilai ~c = %d\n”. yaitu bila nilainya negatif maka diartikan nilai tersebut dikurangi dengan niali 1. printf(“Nilai ~5 = %d\n”. Bahasa C menggunakan cara komplemen 2. } Tampilam program: Nilai Nilai Nilai Nilai Nilai a = 11 ~a = -1 c = 1 ~c = -2 ~5 = -6 Mengapa <=> 0 bukan melainkan -1? Mari kita telusuri.d).

Beberapa prapocessor yang terdapat dalam bahasa C adalah sebagai berikut : #define #else #endif #ifdef #ifndef #include #undef #warn Prapocessor yang sering digunakan dalam bahasa C adalah #define dan #include. Perhatikan contoh berikut ini : #include<stdio. Dengan prapocessor inilah bahasa C mempunyai kemampuan yang lebih dibandingkan dengan bahasa pemrograman yang lain. Pernyataan-pernyataan ini akan dikompilasi program yang sebenarnya dilakukan. ketika kita akan menggunakan fungsi printf maka kita harus menyertakan stdio. untuk memberi nilai konstanta. yaitu dengan nilai yang telah ditentukan.h”. define Prapocessor ini digunakan untuk mendefenisikan suatu makro.h yang merupakan kepanjangan dari standard input/output header.h> dan dapat juga ditulis dengan #inlude “stdio. include Prapocessor ini digunakan untuk menyertakan kode program yang tersimpan ke program yang sedang kita buat.PRAPOCESSOR DIRECTIVES Prapocessor directive merupakan suatu pernyataan yang akan diikutsertakan dalam sebuah program. Misalnya. Jika kita menggunakan fungsi printf tetapi kita tidak menyertakan header stdio. Prapocessor biasanya ditulis diawal program dan ditandai dengan tanda pagar “#”.h>. mengganti nama suatu pertintah dengan perintah yang kita inginkan. atau dipisahkan dengan spasi #include <stdio. Untuk menyertakan header ini kita harus menggunakan prapocessor #include yang ditulis dengan cara #include<stdio. Seperti contoh.h maka akan muncul pesan error bahwa fungsi printf tidak terdefenisi. 41. Header inilah yang menyimpan fungsi printf.h> #define fungsi_utama() main() #define awal { #define akhir } #define cetak printf #define input scanf . 42.

a). misalnya. cetak(“Data yang anda masukkan : %d \n”. makro-makro berikut disimpan dengan nama file headerku.#define bulat int fungsi_utama() awal bulat a. kita cukup menyertakan makro yang disimpan sebagai sebuah header dengan menggunakan prapocessor include seperti contoh berikut ini : #include”headerku. kita mengganti main() dengan fungsi_utama() .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. cetak(“Masukkan sebuah nilai ”). cetak(“Bahasa C menyenangkan \n”). Tampilan program tetap sama.&a). cetak(“Data yang anda masukkan : %d \n”.h.h” fungsi_utama() awal bulat a.a). kemudian { dengan awal dan seterusnya. akhir Perhatikan bahwa kita dapat mengganti nama-nama perintah dalam bahasa C dengan bahasa kita sendiri dengan menggunakan prapocessor #define. 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 *. Seperti contoh. cetak(“Bahasa C menyenangkan \n”). cetak(“Masukkan sebuah nilai”).h #include<stdio.&a). input(“%d”. input(“%d”. akhir Tampilannya juga sama dengan yang di atas : bahasa C menyenangkan masukkan sebuah nilai 12 data yang anda masukkan :12 .

JFHGJ . ARRAY 44.FUNGSI MATEMATIKA 43.

Sign up to vote on this title
UsefulNot useful