UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
3
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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
4 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;
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
5 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
HASILt 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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
6 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
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
Qua l it y I s Our Tra dit ion
7 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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
8 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 :
Ø
\ a : unt uk bunyi bell (alert)Ø
\ b : mundur sat u spasi (backspace)Ø
\ f : gant i halaman (f orm feed)Ø
\ n : gant i baris baru (new line)Ø
\ r : ke kolom pert ama, baris yang sama (carriage return)Ø
\ v : t abulasi vert icalØ
\ 0 : nilai kosong (null)Ø
\ ’ : karakt er pet ik t unggalØ
\ ” : karakt er pet ik gandaØ
\ \ : karakt er garis miring2.8. Deklarasi
Deklarasi diperlukan bila kit a akan menggunakan pengenal (identif ier) dalam program.
Ident if ier dapat berupa variable, konst ant a dan f ungsi.
2.8.1. Deklarasi Variabel
Bent uk umum pendeklarasian suat u variable adalah :
Nama_t ipe nama_variabel;
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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
9 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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
10 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 penguranganCat 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;
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
11 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)UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
12 2.9.5. Operator Bitwise
Operat or bitw ise digunakan untuk memanipulasi bit-bit dari nilai dat a yang ada
di memori.
Operat or bitw ise dalam bahasa C :
Ø
<< : Pergeseran bit ke kiri2.9.6. Operator Unary
Operat or Unary merupakan operat or yang hanya membut uhkan sat u operand
saja. Dalam bahasa C t erdapat beberapa operator unary, yait u :
Operator M aksud Letak Contoh Equivalen
- Unary minus Sebelum operat or A + -B * C A + (-B) * C
sizeof Ukuran dari operand dalam byt e
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
UNIVERSITAS KOM PUTER INDONESIA
Qua l it y I s Our Tra dit ion
13 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();