Anda di halaman 1dari 10

ALUR PROGRAM SELEKSI KONDISI Statement If a.

Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ; Bentuk ini menun ukkan ika kondisi !ernilai !enar" maka statement #ang mngikutin#a akan di$ eksekusi. %ika tidak maka statement selan utn#a #ang akan di&roses. !. Bentuk If tunggal !lok statement Sintaks : if ( kondisi ) ' !lok statement; ( )er!edaan dengan !entuk se!elumn#a statement #ang akan dilaksanakan ada dalam satu !lok kurung kura*al. +. Bentuk If..Else sintaks : if ( kondisi ) statement,; else statement-; Statement setelah kondisi atau statement sesudah else da&at !eru&a statement kosong" statement tunggal mau&un !lok statement. statement, akan di alankan ika kondisi !enar" ika salah maka statement- #ang akan di&roses. +ontoh : ..)rogram menentukan gan il atau gena& /in+lude0stdio.h1 int main()' int Bilangan; +har Lagi; &rintf(23en+ari Bilangan 4an il atau 4ena&5n5n2); &rintf(2In&ut Bilangan : 2); s+anf(26d2" 7Bilangan); if(Bilangan 6- 88 ,) &rintf(25n5nIni Bilangan 4an il2); else &rintf(25n5nIni Bilangan 4ena&2); return 9; ( Out&ut : 3en+ari Bilangan 4an il atau 4ena& In&ut Bilangan : ,: Ini Bilangan 4an il

AP3/KD-045211/TI/Ayuliana,ST/2009

d.

Bentuk If..else if;else Sintaks : if ( kondisi ,) statement,; else if ( kondisi - ) statement-; else if ( kondisi <) statement<; . else statement default; )roses akan mulai dari &en#eleksian kondisi ," ika !enar maka statement #ang mengikutin#a akan dieksekusi" ika salah maka akan masuk &roses seleksi kondisi -" !egitu seterusn#a. %ika semua kondisi tidak ada #ang ter&enuhi" maka &rogram akan men alankan statement default. +ontoh : ..)rogram 3en+ari 3utu Nilai /in+lude0stdio.h1 int main()' int Nilai; +har 3utu; &rintf(23en+ari 3utu Nilai5n5n2); &rintf(2In&ut Nilai 3ahasis*a : 2);s+anf(26d2" 7Nilai); if (Nilai0:9) 3utu 8 =E=; else if(Nilai0>:) 3utu 8 =D=; else if(Nilai0?:) 3utu 8=@=; else if (Nilai0A:) 3utu 8=B=; else 3utu 8 =B=; &rintf(25n5nNilai 3ahasis*a #ang diin&ut 8 6d2" Nilai); &rintf(25n3utu Nilai 8 6+2" 3utu); return 9; ( Out&ut : 3en+ari 3utu Nilai In&ut Nilai 3ahasis*a : ?A Nilai 3ahasis*a #ang diin&ut 8 ?A 3utu Nilai 8 B

e.

Bentuk If !ersarang ( nested if ) Sintaks : if ( kondisi ,) if ( kondisi -) . . if (kondisi n ) statement; else statement; . . else statement else statement;
2

AP3/KD-045211/TI/Ayuliana,ST/2009

Kondisi #ang akan diseleksi &ertama kali adalah kondisi #ang &aling luar (kondisi ,). %ika !ernilai tidak !enar maka statement setelah else #ang terluar ( &asangan dari if #ang !ersangkutan ) #ang akan di&roses. f. Bentuk If dengan kondisi !eru&a Caria!le @ontoh : if ( D 88 9 ) &rintf (DNilai D sama dengan Nol 5nE); else &rintf (DNilai D tidak sama dengan Nol 5nE); Bentuk If dengan kondisi %amak Be!era&a kondisi da&at diseleksi sekaligus dalam statement if dengan menggunakan o&erator logika BND ( 77 )" OF ( GG )" atau NOH ( I ) O&erator J Da&at digunakan untuk menggantikan statement if..else.. sintaks : ( kondisi ) J statement, : statement-; ika !enar statement, akan di&roses" ika salah statement- #ang akan di&roses. Statement S*it+h a. Statement S*it+h tunggal Sintaks : s*it+h ( kondisi ) ' +ase konstanta, : statement$statement; !reak; +ase konstanta- : statement$statement; !reak; . . default : statement$statement; ( +ontoh : ..)rogram dengan s*it+h @ase /in+lude0stdio.h1 int main()' int )ilih; &rintf(2$$$$3ENK BKBL$$$$5n2); &rintf(25n,. B)EL2); &rintf(25n-. 3BN44B2); &rintf(25n<. %EFKK2); &rintf(25nM. KELKBF2); &rintf(25n5n)ilihan Bnda N,$MO : 2); s+anf(26d2"7)ilih); s*it+h()ilih)' +ase , : &rintf(25n5nBNDB )ILIL B)EL2); !reak;
AP3/KD-045211/TI/Ayuliana,ST/2009 3

g.

h.

+ase - : &rintf(25n5nBNDB )ILIL 3BN44B2); !reak; +ase < : &rintf(25n5nBNDB )ILIL %EFKK2); !reak; +ase M : ePit(9); default : &rintf(25n5nBNDB SBLBL IN)KH...2); ( return 9; ( !. Statement nested s*it+h Qaitu statement s*it+h #ang !erada didalam s*it+h lainn#a. Sintaks : s*it+h ( kondisi ) ' +ase konstanta , : statement$statement ; s*it+h ( kondisi P ) ' +ase konstanta ,a : statement$statement ; !reak; +ase konstanta ,! : statement$statement ; !reak; ( !reak; +ase konstanta - : statement$statement; !reak; (

)EFKLBN4BN a. Statement for Sintaks : for ( inisialisasi; terminasi; iterasi ) statement; inisialisasi adalah &em!erian nilai a*al Caria!le untuk &erulangan" terminasi adalah &em!erian nilai akhir atau !atas &erulangan" iterasi adalah &eru!ahan Caria!le kontrol (+ounter). !. Statement *hile Sintaks : *hile (kondisi ) statement; Statement da&at !eru&a statement kosong" statement tunggal mau&un !lok statement. )roses &erulangan akan terus dilaksanakan ika kondisi dalam *hile masih !ernilai !enar. +. Statement do;*hile Sintaks : do *hile statement ( kondisi )

d.

Sedikitn#a statement akan di&roses se!an#ak , kali karena seleksi kondisi dilaksanakan diakhir statement. Statement +ontinue Statement +ontinue akan men#e!a!kan &roses &erulangan kem!ali ke a*al &erulangan dengan menga!aikan statement setelah statement +ontinue.
4

AP3/KD-045211/TI/Ayuliana,ST/2009

+ontoh : ..)rogram dengan for 7 +ontinue /in+lude0stdio.h1 int main()' int R; for (R89; R0,9; RSS)' if (R88:) +ontinue; &rintf(D6d E" R); ( return 9;( e.

Out&ut :

9 , - < M > ? A T

Statement !reak Statement !reak akan men#e!a!kan &roses keluar dari !lok loo&ing atau !lok statement &ada +ase. +ontoh : ..)rogram dengan for 7 !reak /in+lude0stdio.h1 int main()' int R; for (R89; R0,9; RSS)' if (R88:) !reak; &rintf(D6d E" R); ( return 9;( Out&ut : 9 , - < M

f.

Statement goto la!el Digunakan untuk melom&at dari satu &roses ke &roses tertentu didalam &rogram. Sintaks : goto la!el; )roses lain #ang ditun uk se!agai lom&atan akan ditulis la!el : BFFBQ(LBFIK)

Larik adalah kum&ulan nilai$nilai data !erti&e sama dalam urutan tertentu #ang menggunakan se!uah nama #ang sama. Nilai$nilai data di suatu larik dise!ut dengan elemen larik #ang letak urutann#a ditun ukkan oleh suatu subscript atau suatu index #ang dimulai dengan indeP nol. Larik da&at !erdimensi satu (one dimensional arra#) #ang me*akili suatu Cektor" larik !erdimensi dua (t*o dimensional arra#) me*akili !entuk suatu matrik atau ta!el" larik !erdimensi tiga (three dimensional arra#) me*akili suatu !entuk ruang atau !erdimensi le!ih dari tiga. Brra# Dimensi , Suatu larik da&at dideklarasikan dengan men#e!utkan umlah dari elemenn#a #ang dituliskan diantara tanda UN OV. @ontoh : Int RN:O; Berarti Caria!el R !erti&e integer dan meru&akan larik dimensi satu.
AP3/KD-045211/TI/Ayuliana,ST/2009 5

@ontoh larik !erdimensi Satu : /in+lude 0stdio.h1 main() ' float RN<O 8 ':"<"?(" Hotal 8 9; int I; for(I89;I08-;ISS) Hotal 8 Hotal S RNIO; &rintf(UHotal 8 6f 5nE"Hotal); (

Out&ut : Hotal 8 ,:.999999

Brra# Dimensi )endeklarasian larik dimensi dua : int RN<ONMO; !erarti akan mem!entuk matrik dengan ukuran < !aris R M kolom int RN-ON<O8',"-"<"M":">( matrik -R< atau larik tidak !erukuran se&erti : int RN ONMO 8',"-"<"M":">"?"A( matrik -RM @ontoh larik dimensi dua : /in+lude 0stdio.h1 main()' int I"%; float RN<ONMO 8 ' ,-.<M" <M.:>" :>.?A" ?A.T9" -<.M:" M:.>?" >?.AT" AT.9," <M.:>" :>.?A" ?A.T9" T9.,-(; .W3enam&ilkan dalam !entuk matrikW. for(I89;I0<;ISS)' for(%89;%0<;%SS) &rintf(D6A.-fE" RNION%O); &rintf(D5nE); ( &rintf(D5nE); ( Larik String Lu!ungan antara nilai larik string dengan nilai larik karakter String @hara+ter Nilai string tunggal Larik karakter dimensi satu Larik string dimensi satu Larik karakter dimensi dua Larik string dimensi dua Larik karakter dimensi tiga Larik string dimensi N Larik karakter dimensi N S , @ontoh , : /in+lude 0stdio.h1 main()' int I"%; +har LariN?ON,9O 8 'D3ingguE" DSeninE" DSelasaE" DFa!uE" DKamisE" D%umVatE" DSa!tuE (; for(I89;I0?;ISS) ' for(%89;%0,9;%SS) &rintf(D6+E" LariNION%O); &rintf(D5nE); ( ( Out&ut : ,-.<M <M.:> :>.?A -<.M: M:.>? >?.AT <M.:> :>.?A ?A.T9 ?A.T9 AT.9, T9.,-

AP3/KD-045211/TI/Ayuliana,ST/2009

Out&ut : 3inggu Senin Selasa Fa!u Kamis %umVat Sa!tu @ontoh : /in+lude 0stdio.h1 main()' int I; +har LariN?ON,9O 8 'D3ingguE" DSeninE" DSelasaE" DFa!uE" DKamisE" D%umVatE" DSa!tuE (; for(I89;I0?;ISS) &rintf(D6s 5nE" LariNIO); ( Out&ut : 3inggu Senin Selasa Fa!u Kamis %umVat Sa!tu @ontoh < : /in+lude 0stdio.h1 main()' int I"%; +har NamaN:ON<ON,9O 8 'DBditE" DBa#uE" D@okiE" DDhaniE" DEr*inE" DXent#E" D4unartoE" DLenr#E" DI!rahimE" D%okoE" DKemalE" DLukmanE" D3en#E" DNon#E" DOnieE (; for(I89;I0:;ISS) ' &rintf(DNama$nama dikelas 6,d adalah : 5nD" IS,); for(%89;%0<;%SS) &rintf(D6s 5nE" NamaNION%O); ( ( Out&ut : Nama$nama dikelas , adalah Bdit Ba#u @oki Nama$nama dikelas - adalah Dhani Er*in Xent# Nama$nama dikelas < adalah 4unarto Lenr# I!rahim Nama$nama dikelas M adalah :

:
7

AP3/KD-045211/TI/Ayuliana,ST/2009

%oko Kemal Lukman Nama$nama dikelas : adalah : 3en# Non# Onie )OINHEF Suatu &ointer (Caria!el &enun uk) adalah suatu Caria!el #ang !erisi dengan alamat lokasi suatu memori tertentu. Bahasa @ men#ediakan - !uah o&erator untuk o&erasi &ointer #aitu o&erator UWV dan o&erator U7V. O&erator Blamat (Bddress o&erator (7)) )ada saat &endeklarasian Caria!le" user tidak diharuskan menentukan lokasi sesungguhn#a &ada memor#" hal ini akan dilakukan se+ara otomatis oleh kom&ilerdan o&erating s#sem &ada saat run$ time. %ika ingin mengetahui dimana suatu Caria!le akan disim&an" da&at dilakukan dengan mem!erikan tanda ampersand (7) dide&an Caria!le " #ang !erarti "address of". @ontoh: ted 8 7and#; Bkan mem!erikan Caria!le ted alamat dari Caria!le and#" karena Caria!le and# di!eri a*alan karakter ampersand (7)" maka #ang men adi &okok disini adalah alamat dalam memor#" !ukan isi Caria!le. 3isalkan and# diletakkan &ada alamat ,??> kemudian dituliskan instruksi s!! : and# 8 -:; fred 8 and#; ted 8 7and#; 3aka hasiln#a :

O&erator Feferen+e (W) Dengan menggunakan &ointer" kita da&at mengakses nilai #ang tersim&an se+ara langsung dengan mem!erikan a*alan o&erator asterisk (W) &ada identifier &ointer" #ang !erarti "value pointed by". @ontoh: !eth 8 Wted; (da&at dikatakan:2!eth sama dengan nilai #ang ditun uk oleh ted2) !eth 8 -:" karena ted dialamat ,??>" dan nilai #ang !erada &ada alamat ,??> adalah -:.

AP3/KD-045211/TI/Ayuliana,ST/2009

Eks&resi di!a*ah ini semuan#a !enar" &erhatikan : and# 88 -: 7and# 88 ,??> ted 88 ,??> Wted 88 -: Eks&resi &ertama meru&akan assignation !ah*a and#8-:;. Kedua" menggunakan o&erator alamat (address.derefen+e o&erator (7))" sehingga akan mengem!alikan alamat dari Caria!el and#. Ketiga !ernilai !enar karena assignation untuk ted adalah ted 8 7and#;. Keem&at menggunakan referen+e o&erator (W) #ang !erarti nilai #ang ada &ada alamat #ang ditun uk oleh ted" #aitu -:. 3aka eks&resi di!a*ah ini &un akan !ernilai !enar : Wted 88 and# @ontoh: /in+lude 0stdio.h1 int main ()' int Calue, 8 :" Calue- 8 ,:; int W m#&ointer; m#&ointer 8 7Calue,; Wm#&ointer 8 ,9; m#&ointer 8 7Calue-; Wm#&ointer 8 -9; &rintf (DCalue,88 6d 2" Calue,); &rintf (D5NCalue-88 6d D" Calue-); return 9; ( Deklarasi )ointer Yaria!el &ointer dideklarasikan dengan nama Caria!eln#a ditulis dengan dia*ali karakter asterik. Bentuk umum : Hi&e$data Wnama$Caria!el$&ointer; Yaria!el &ointer #ang dideklarasikan da&at uga langsung di!erikan nilai a*al. Yaria!el &ointer harus dideklarasikan dengan ti&e #ang sesuai dengan ti&e data di memori #ang ditun ukn#a. 3isaln#a data #ang ada dimemori !erti&e float(M !#te) dan Caria!el &ointer #ang menun ukkan kealamat ini adalah !erti&e int(- !#te)" maka han#a - !#te &ertama sa a #ang akan diam!il dengan hasil #ang tidak sesuai dengan #ang dihara&kan.
AP3/KD-045211/TI/Ayuliana,ST/2009 9

Out&ut : Calue,88,9 . Calue-88-9

Brra# dan )ointer

Identifier suatu arra# eZuiCalen dengan alamat dari elemen &ertama" &ointer eZuiCalen dengan alamat elemen &ertama #ang ditun uk. )erhatikan deklarasi !erikut : int num!ers N-9O; int W &; maka deklarasi di!a*ah ini uga !enar & 8 num!ers; :

& dan num!ers eZuiCalen" dan memiliki sifat (properties) #ang sama. )er!edaann#a" user da&at menentukan nilai lain untuk &ointer & dimana num!ers akan selalu menun uk nilai #ang sama se&erti #ang telah didefinisikan. &" meru&akan variable pointer" num!ers adalah constant pointer. Karena itu *alau&un instruksi diatas !enar" teta&i tidak untuk instruksi di!a*ah ini : num!ers 8 &; karena num!ers adalah arra# (+onstant &ointer)" dan tidak ada nilai #ang da&at di!erikan untuk identifier konstant (constant identifiers). @ontoh: /in+lude 0stdio.h1 int main ()' int num!ersN:O; int W &; & 8 num!ers; W& 8 ,9; &SS; W& 8 -9; & 8 7num!ersN-O; W& 8 <9; & 8 num!ers S <; W& 8 M9; & 8 num!ers; W(&SM) 8 :9; for (int n89; n0:; nSS) &rintf (D6d" D" num!ersNnO); return 9;( Out&ut : ,9" -9" <9" M9" :9"

AP3/KD-045211/TI/Ayuliana,ST/2009

10

Anda mungkin juga menyukai