BAB II STRUKTUR BAHASA C - Modul Turbo C BAB II

BAB II STRUKTUR BAHASA C

2.1. StrukturPenulisanBahasa C

  Sebagaimanat radisidalambelajarbahasakomput eradalahdimulaidenganmembuat program Hello World, perhatikankodingberikut : / / Menampilkantulisan Hello World #include <st dio.h> void main() { printf (“ Hello World” );

  } Jika program diat asdijalankan, maka di layarakantercet akt ulisan " Hello World! ",Marilahkit aanalisabagian program t ersebut sat u per sat u.

  / / M enampilkantulisan Hello W orld

  Iniadalahbaris comment (koment ar/ keterangan). Semuabaris yang dimulaidengant anda (/ / ) dianggapsebagai comment .

  #include <stdio.h>

  Perint ah yang dimulaidengant anda (#) adalah directives (pet unjuk) unt uk preprocessor.Barisinitidakakandieksekusi, t apimerupakan direct ives bagi compiler. Dalamhalinikalimat #include <iost ream.h>memberit ahukankepada preprocessor compiler unt uk include (memasukan) header file st andariost ream. File iniberisideklarasi input -out put st andar library didalamBahasa C yang diperlukanpadabagianberikutnyadalam program ini.

  void main ()

  Barisinimerupakandeklarasi main funct ion (fungsiut ama). Main f unction merupakantit ikdimanadimana program akanmulaidijalankan. mainselaludiikutioleht andakurung () karenamerupakansebuah funct ion. Padabahasa Csemuamodular adalahf unction.Isi dari function main diapit dengant andakuraw al({}).

  printf (“Hello W orld”);

  printf merupakan st andard out put padabahasa C (biasanyakelayar), yang dalamhaliniakanmencet aktulisan " Hello World" . print fdideklarasikandalam header f ile st dio.h, sehinggauntukmemanf aat kannyaperlu di #include.

UNIVERSITAS KOM PUTER INDONESIA

  Cat at an :setiapperint ah C++ diakhiridengankarakter semicolon (;).

  2.2. Komentar/ Keterangan

  Ketikaandasedangmenulissebuah program, segalanyaadalahjelastent angpada yang sedangandakerjakan.Tet apisetelahsatubulan, andakembalimelihat program t ersebut, mungkinsajaandat elahlupadanmerasabingung.Unt ukmengurangikeraguantersebut , andaperlumembuatkoment arsecukupnyapadakodeanda.Koment ar/ keteranganadalahba giandari source code yang akandiabaikanoleh compiler. Ada duacarapenulisankoment arpadabahasa C: / / bariskoment ar / * blokkoment ar * / Yang pert amaadalahmengaw alisetiapbariskoment ardengant anda (/ / ), sedangkanbent ukkeduamengaw alikoment ardengan / * dandiakhiridengan * / ,jeniskoment arinicocokunt ukkoment ar/ keterangan yang lebihdarisat ubaris. Perhatikancont ohberikut : / * Menampilkant ulisan Hello World dan Hello Bandung * / #include <iost ream.h> void main () { printf (" Hello World \ n" ); / / menampilkan Hello World printf (" Hello Bandung" ); / / menampilkan Hello Bandung

  }

  2.3. Variable

  Cobabayangkankalausayamemint aandauntukmengingat angka 8, danangka 2, kemudiansayamemint aandaunt ukmenjumlahkanangkapert amadengan 1, sehinggamenjadi 9 (8+1), danakhirnyahasilnyadikurangidenganbilangankedua (2). Proses diat assecarakomput erdapat dit ulissebagaiberikut : a = 8; b = 2; a = a + 1; result = a - b;

UNIVERSITAS KOM PUTER INDONESIA

  Dalamhalini a dan b adalah variable, jadi variable di program komput ermenyerupai variable padamatemat ika.Sehingga, kit adapatmendefinsikan variable sebagaibagiandarimemoriunt ukmenyimpannilai, dalamhalini a danb disebut sebagai identifier (pengenal).

  2.4. Identifiers

  Suat u ident if ier harusmemenuhisyaratberikut : a) Terdiridarihuruf , angkadan symbol garisbaw ah( _ ).

  b) Unt uk compiler t ertentumaksimum 32 karakt er.

  c) Tidakbolehpakaispasiat aut andabacalainnya .

  d) Bolehdiaw alidengan symbol garisbaw ah( _ ), t et apibiasanyadicadangkanunt uk external link.

  e) Tidakbolehsamadengan keyw ord (kat a kunci). Key w ord st andarmenurut ANSI-C++ yang t idakbolehandagunakansebagai ident if ier: asm, aut o, bool, break, case, cat ch, char, class, const , const _cast , cont inue, def ault, delete, do, double, dynamic_cast , else, enum, explicit, ext ern, f alse, f loat , f or, f riend, got o, if , inline, int , long, mut able, namespace, new, operat or, private, protected, public, regist er, reinterpret _cast , ret urn, short , signed, sizeof , st atic, st atic_cast , st ruct , swit ch, t emplate, t his, t hrow, t rue, t ry, typedef , typeid, t ypename, union, unsigned, using, virt ual, void, volat ile, w char_t Operat or lainnya yang t idakbolehdigunakansebagai ident if ier: and, and_eq, bit and, bitor, compl, not , not _eq, or, or_eq, xor, xor_eq Sangat pentingdiingat : Bahasa C++ language adalah " case sensitive" , haliniberartibahw a identifier yang dit ulisdenganhuruf besardankeciladalaht idaksama. Jadi, variable

  HASIL t idaksamadengan variable hasilat aupun variable Hasil.

  2.5. Tipe Data

  Tipe dat a merupakanbagian program yang paling pentingkarenatipe data mempengaruhiset iapinst ruksi yang akandilaksanakanoleh computer. Misalnyasaja 5 dibagi 2 bisasajamenghasilkanhasil yang berbedat ergant ungt ipedat anya.Jika 5 dan 2

UNIVERSITAS KOM PUTER INDONESIA

  bertipe integer makaakanmenghasilkannilai 2, namunjikakeduanyabertipe f loat makaakanmenghasilkannilai 2.5000000. Pemilihant ipe dat a yang t epat akanmembuat proses operasi dat a menjadilebihefisiendanef ekt if . Dalambahasa C t erdapat lima t ipe dat a dasar, yait u :

  NO Tipe Data Ukuran Range (Jangkauan) Format Keterangan

  1

  • 128 s/ d 127
  • 32768 s/ d 32767
  • 3.4E-38 s/ d 3.4E+38
  • 1.7E-308 s/ d 1.7+308

  2

  3

  4

  5 char int f loat double void

  1 byt e 2 byt e 4 byt e 8 byt e 0 byt e

  %c %i , %d %f %lf

  Karakt er/ St ring BilBulat BilPecahan BilPecahanGanda TidakBert ipe

  Cont ohProgram : #include <st dio.h> #include <conio.h> void main(){ int x; f loat y; char z; double w ; clrscr(); / / untukmembersihkanlayar x = 10; / / variable x diisidengan 10 y = 9.45; / / variable y diisidengan 9.45 z = ‘C’; / / variable z diisidengankarakter “ C” w = 3.45E+20; / / variable w diisidengan 3.45E+20 printf (“Nilaidari x adalah : %i\ n” , x); / / Menampilkanisi variable x printf (“Nilaidari y adalah : %f \ n” , y); / / Menampilkanisi variable y printf (“Nilaidari z adalah : %c\ n”, z); / / Menampilkanisi variable z printf (“Nilaidari w adalah : %lf\ n” , w); / / Menampilkanisi variable w get ch();

  }

UNIVERSITAS KOM PUTER INDONESIA

2.6. Konstanta

  Suat ukonst ant aadalahekspresi yang memilikinilaitet ap yang dapat berupa dat a t ype Int eger, Floating-Point, Charact er dan St ring.

  2.6.1. Defined Constants (#define)

  Andadapat mendefinisikannamatert ent upadakonst ant a yang seringandagunakandenganmenggunakanprepocessor directive #def ine preprocessor direct ive yang memiliki synt ax berikut :

  #define ident if ier value Sebagaicontoh :

  #define PI 3.14159265 #define NEWLINE '\ n' #define WIDTH 100

  Setelahdefinisidiat as, kit adapatmemakainyasepertiberikut : circle = 2 * PI * r; printf (“%d” ,WIDTH);

  Sesuat u yang harisdiingat adalahbahw a directive #def ine bukanmerupakanbarisperint ah, t et apimerupakan direct ive unt uk preprocessor, sehinggaandatidakperlumemberikan semicolon (;) padaakhirannya.

  2.6.2. Declared Constants (const)

  Andadapat jugamenggunakanaw alanconst unt ukmendeklarasikankonst ant aden gan t ype tertent usebagaimanaandalakukanpadavariabel: const int widt h = 100; const char t ab = '\ t '; const zip = 12440;

  Dalam hal ini, jika t ype t idak ditent ukan (sepert i pada cont oh terakhir), maka compiler akan mengasumsikan t ype-nya sebagai int.

UNIVERSITAS KOM PUTER INDONESIA

  2.7. Karakter Escape

  Karakt er escape merupakan karakter spesial yang tidak dapat diekspresikan kecuali dalam source code, seperti newline (\ n) at au t ab (\ t). Berikut ini adalah daf t ar dari kode escape :

  Cont oh : int x; / / Deklarasi x bertipe integer char y, huruf, nim[ 10] ; / / Deklarasi variable bert ipe char f loat nilai; / / Deklarasi variable bertipe f loat double bet a; / / Deklarasi variable bertipe double int array[ 5][ 4] ; / / Deklarasi array bertipe int eger char * p; / / Deklarasi point er p bertipe char

  Bent uk umum pendeklarasian suat u variable adalah : Nama_t ipe nama_variabel;

  Ident if ier dapat berupa variable, konst ant a dan f ungsi.

  2.8. Deklarasi Deklarasi diperlukan bila kit a akan menggunakan pengenal (identif ier) dalam program.

  \ \ : karakt er garis miring

  Ø

  \ ” : karakt er pet ik ganda

  Ø

  \ ’ : karakt er pet ik t unggal

  Ø

  \ 0 : nilai kosong (null)

  Ø

  \ v : t abulasi vert ical

  Ø

  \ r : ke kolom pert ama, baris yang sama (carriage return)

  Ø

  \ n : gant i baris baru (new line)

  Ø

  \ f : gant i halaman (f orm feed)

  Ø

  \ b : mundur sat u spasi (backspace)

  Ø

  \ a : unt uk bunyi bell (alert)

  Ø

2.8.1. Deklarasi Variabel

UNIVERSITAS KOM PUTER INDONESIA

2.8.2. Deklarasi Fungsi

  Fungsi merupakan bagian yang t erpisah dari program dan dapat diakt if kan at au dipanggil di manapun di dalam program. Fungsi dalam bahasa C ada yang sudah disediakan sebagai f ungsi pust aka seperti print f(), scanf (), get ch() dan unt uk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan t erlebih dahulu adalah f ungsi yang dibuat oleh programmer. Bent uk umum deklarasi sebuah f ungsi adalah :

  Tipe_f ungsi nama_f ungsi(parameter_f ungsi); Cont ohnya : f loat luas_lingkaran(int jari); void t ampil(); int t ambah(int x, int y);

2.9. Operator

  Sebagaimana pada Pascal unt uk mengoperasikan variable dan konst ant a kita membut uhkan operator, adapun operator yang disediakan oleh C++ adalah sebagai berikut :

2.9.1. Operator Penugasan

  Operat or Penugasan (Assignment operator) dalam bahasa C berupa t anda sama dengan (“ =” ). Cont oh : nilai = 80;

  A = x * y; Art inya : variable “ nilai” diisi dengan 80 dan variable “ A” diisi dengan hasil perkalian ant ara x dan y.

UNIVERSITAS KOM PUTER INDONESIA

2.9.2. Operator Aritmatika

  Bahasa C menyediakan lima operat or aritmat ika, yait u :

  • : unt uk perkalian

  Ø

  Ø

  / : unt uk pembagian

  Ø

  % : unt uk sisa pembagian (modulus)

  • : unt uk pert ambahan

  Ø

  • : unt uk pengurangan Cat at an : operat or % digunakan unt uk mencari sisa pembagian ant ara dua bilangan. Misalnya : 9 % 2 = 1 9 % 3 = 0 9 % 5 = 4 9 % 6 = 3

  Ø

  Cont oh Program 1 : #include<stdio.h> #include<conio.h> void main() { clrscr(); / / unt uk membersihkan layar printf (“Nilai dari 9 + 4 = %i” , 9 + 4); / * mencet ak hasil 9 + 4 * / printf (“Nilai dari 9 - 4 = %i” , 9 - 4); / * mencet ak hasil 9 - 4 * / printf (“Nilai dari 9 * 4 = %i” , 9 * 4); / * mencet ak hasil 9 * 4 * / printf (“Nilai dari 9 / 4 = %i” , 9 / 4); / * mencet ak hasil 9 / 4 * / printf (“Nilai dari 9 \ % 4 = %i” , 9 % 4); / * mencet ak hasil 9 % 4 * / get ch();

  } Cont oh Program 2 : / * Penggunaan operat or % unt uk mencet ak deret bilangan genap ant ara 1 – 100 * / #include<stdio.h> #include<conio.h> void main() { int bil; clrscr(); / / unt uk membersihkan layar

UNIVERSITAS KOM PUTER INDONESIA

  f or (bil=1; bil<100; bil++) { if(bil % 2 == 0) / / periksa apakah ‘bil’ genap printf (“%5.0i” , bil);

  } get ch(); }

  2.9.3. Operator Hubungan (Perbandingan)

  Operat or Hubungan digunakan untuk membandingkan hubungan ant ara dua buah operand (sebuah nilai at au variable). Operat or hubungan dalam bahasa C :

  Operator Arti Contoh

  < Kurang dari X < Y Apakah X kurang dari Y <= Kurang dari sama dengan X <= Y Apakah X kurang dari sama dengan Y

  > Lebih dari X > Y Apakah X lebih besar dari Y >= Lebih dari sama dengan X >= Y Apakah X lebih besar sama dengan Y == Sama dengan X == Y Apakah X sama dengan Y ! = Tidak sama dengan X ! = Y Apakah X tidak sama dengan Y

  2.9.4. Operator Logika

  Jika operator hubungan membandingkan hubungan ant ara dua buah operand, maka operat or logika digunakan unt uk membandingkan logika hasil dari operat or- operat or hubungan. Operat or logika ada t iga macam, yaitu :

  & & : Logika AND (DAN)

  Ø

  | | : Logika OR (ATAU)

  Ø

  ! : Logika NOT (INGKARAN/ BUKAN)

  Ø

UNIVERSITAS KOM PUTER INDONESIA

  | : Bit w ise OR

  Ø

  Ø

  Operat or Unary merupakan operat or yang hanya membut uhkan sat u operand saja. Dalam bahasa C t erdapat beberapa operator unary, yait u :

  Ø

  ^ : Bit w ise XOR (exclusive OR)

  Ø

  & : Bit w ise AND

  >> : Pergeseran bit ke kanan

  2.9.6. Operator Unary

  Ø

  << : Pergeseran bit ke kiri

  Ø

  Operat or bitw ise digunakan untuk memanipulasi bit-bit dari nilai dat a yang ada di memori. Operat or bitw ise dalam bahasa C :

  2.9.5. Operator Bitwise

  Operator M aksud Letak Contoh Equivalen

  ~ : Bit w ise NOT

  • Unary minus Sebelum operat or A + -B * C A + (-B) * C ++

  Peningkat an dengan penambahan nilai 1 Sebelum dan sesudah

  A++ A = A + 1

  Sebelum dan sesudah A-- A = A – 1 sizeof

  • Penurunan dengan pengurangan nilai 1

  Ukuran dari operand dalam byt e Sebelum sizeof (I)

  ! Unary NOT Sebelum ! A ~ Bit wise NOT Sebelum ~A

  & Menghasilkan alamat memori operand

  Sebelum & A

  • Menghasilkan nilai dari point er

  Sebelum * A Cat at an Pent ing: Operat or peningkat an ++ dan penurunan -- jika dilet akkan sebelum at au sesudah operand t erdapat perbedaan. Perhatikan contoh berikut :

UNIVERSITAS KOM PUTER INDONESIA

  Cont oh Program 1 : / * Perbedaan operat or peningkat an ++ yang dilet akkan di depan dan dibelakang operand * / #include <st dio.h> #include <conio.h> void main() { int x, nilai; clrscr(); x = 5; nilai = ++x; / * berart i x = x + 1; nilai = x; * / printf ("nilai = %d, x = %d\ n" , nilai, x); nilai = x++; / * berart i nilai = x; nilai = x + 1; * / printf ("nilai = %d, x = %d\ n" , nilai, x); get ch();

  } Cont oh Program 2 : #include <st dio.h> #include <conio.h> void main() { int b, nilai; clrscr(); / / unt uk membersihkan layar b = 15; nilai = --b; / * berart i b = b - 1; nilai = b; * / printf ("nilai = %d, b = %d\ n", nilai, b); nilai = b--; / * berart i nilai = b; b = b + 1; * / printf ("nilai = %d, b = %d\ n", nilai, b); get ch();

  }