P. 1
BAHASA C

BAHASA C

|Views: 688|Likes:
Published by irma14hack

More info:

Published by: irma14hack on Oct 17, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/14/2013

pdf

text

original

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

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

8. Variabel nama merupakan sebuah string yang dapat mempunyai 25 karakter. int phi=3. Escape Sequence “\n” merupakan salah satu contoh Escape Sequence. Contoh sebuah variabel yang bertipe string : char nama[25].14 b. Tetapi kita tetap dapat mendeklarasikan sebuah string dengan menggunakan array. Memberi nilai secara langsung kesuatu variabel. 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 .14. Format data string adalah %s. Menggunakan praprosessor #define Berikut adalah cara mendeklarasikan konstanta menggunakan praprosessor #define : #define phi 3. 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. Konstanta Ada dua cara mendeklarasikan konstanta : a.Dalam bahasa C tidak dikenal tipe data string. Semua Escape Sequence diawali dengan tanda garis miring “\”. 9.

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

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

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

} Berikut tampilannya : Nilai anda : A Nilai yang anda masukkan = A .Tampilan program : Nama : Naufal Rasendriya Alamat : Makassar Data yang anda masukkan Nama : Naufal Rasendriya Alamat : Makassar 15. nilai=getchar(). printf(“Nilai anda : ”).getchar Jika ingin memasukkan sebuah nilai karakter ke variabel yang bertipe karakter maka kita dapat menggunakan perintah getchar. printf(“Nilai yang anda masukkan = %c \n”. Perhatikan contoh program berikut ini : #include<stdio.h> main() { Char nilai.nilai ).

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

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

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

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

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

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

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

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

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

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

y). y=!x. printf(“bilangan yang akan dicek : ”). scanf(“%d”. ! Dalam bahasa C operator NOT manggunakan tanda seru (!).x). 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.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.&x). else printf(“%d bukan faktor dari 15 maupun dari faktor dari 21 \n”. Operasi ini hanya memiliki 2 buah nilai true yang dinyatakan dengan 1 atau false yang dinyatakan dengan 0.y. dengan demikian nilai selain 0 dianggap nilai true. printf(“faktor dari 5 atau faktor dari 21 : \n”). Berikut adalah contoh program : #include<stdio. } Tampilan program : Nilai x : 2 y = 0 Nilai x : 1 y = 0 Nilai x : -1 y = 0 . if ((15%x==0) || (21%x)==0) printf(“%d adalah faktor perskutuan dari 15 atau faktor dari \n”. printf(“Nilai x : ”).x) . scanf(“%d”. Contoh dalam program : #include<stdio. } Tampilan program : Faktor dari 15 atau faktor dari 21 : Bilangan yang akan dicek : 7 7 adalah faktor dari 15 atau faktor dari 21 34.h> main() { int x.&x). printf(“y = %d \n”.h> main() { int x.

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

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

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

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

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

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

ARRAY 44.FUNGSI MATEMATIKA 43.JFHGJ .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->