Anda di halaman 1dari 47

ALGORITMA DAN PEMROGRAMAN 1

DENGAN BAHASA PASCAL


WINDA ASTARI (09360027) 20 JANUARI 2010

JURUSAN TEKNIK INFORMATIKA FAKULTAS MATEMATIKA ILMU PENGETAHUAN ALAM

INSTITUT SAINS DAN TEKNOLOGI NASIONAL

BAB I PENDAHULUAN
I.1 LATAR BELAKANG
Bahasa program merupakan sua u !ahana un uk menuangkan p"k"ran manus"a #ang $apa $"menger " o%eh mes"n kompu er seh"ngga &ern"%a" guna. Sua u &ahasa program akan er"ka a uran $ar" para$"gma &ahasa. A$a &er&aga" ma'am para$"gma &ahasa ( Prose$ura%) *ungs"ona%) Dek%ara "+) O&,e' Or"en e$) Konkuren. Per%u $"perha "kan per&e$aan an ara &e%a,ar bahasa program $engan &e%a,ar memprogram--Be%a,ar &ahasa program han#a &e%a,ar en ang s"n ak .a uran/ $ar" &ahasa se$angkan &e%a,ar memprogram akan er'akup &e&erapa ha% #ang $"$a%amn#a erkan$ung en ang &e%a,ar &ahasa program " u sen$"r". 0ang harus $"perha "kan o%eh mahas"s!a #ang se$ang &e%a,ar memprogram) #a" u ( Simulasi ) sens"&"%" as erha$ap masa%ah $an kemungk"nan so%us". Keg"a an $"%akukan $" ke%as) me%a%u" perma"nan. 1on oh ( 2enguru kan "ngg" &a$an mahas"s!a $ar" "ngg" ke pen$ek a au se&a%"kn#a. Perma"nan $apa $"%akukan se'ara manua% maupun $engan kompu er. Analisis masa%ah se'ara %e&"h +orma% $an mem&ua spes"+"kas" $an a%gor" ma $a%am no as" #ang $" e apkan. 2ahas"s!a harus menu%"skan so%us" a%gor" m"kn#a $a%am no as" s an$ar $" ke%as. Penu%"san no as" a%gor" m"k &er u,uan un uk men#eragamkan pemahaman en ang a%gor" ma program #ang er&e&as $ar" s"n ak .a uran/ penu%"san &ahasa program . Menulis program) #a" u men er,emahkan no as" a%gor" m"k ke $a%am s"n ak &ahasa program. Debugging dan menguji coba program. Ha% "n" &er u,uan un uk men$apa kan program #ang &enar. Program $"ka akan &enar ,"ka er&e&as $ar" sa%ah %o,"k $an s"n ak &ahasa. Se'ara "$ea% mahas"s!a han#a $"&er" kesempa an un uk me3run program se&an#ak 4 ka%" ( per ama un uk mem&ers"hkan program $ar" kesa%ahan s"n ak $an ke$ua un uk men$apa kan program &enar. Pa$a ahap "n" $"harapkan "$ak er,a$" kesa%ahan %o,"k ,"ka ana%"sa &enar. Mengamati peristiwa eksekusi ) per%u $"%akukan un uk men"ngka kan keper'a#aan &ah!a ,"ka ana%"sa &enar maka s"sa peker,aan men,a$" mu$ah. Pa$a pemrograman prose$ura%) aspek "n" pen "ng un uk memaham" +enomena eksekus" $an peru&ahaan n"%a" sua u s ruk ur $a a.

Membaca program ( orang akan $apa menu%"s $engan &a"k ka%au ser"ng mem&a'a. Ha% "n" ,uga &er%aku $a%am memprogram. Keg"a an #ang $apa $"%akukan $" ke%as a$a%ah $engan sa%"ng ukar menukar eks a%gor" ma) $an sa%"ng mengkr" "k a%gor" ma eman. 2ahas"s!a harus &er%a "h sen$"r" pa$a keg"a an &e%a,ar &ersama.

Membuktikan kebenaran program secara formal ) sa u3sa un#a ha% #ang men,am"n ke&enaran) e ap" kon ra$"k "+ $an su%" $" erapkan $a%am keh"$upan sehar"3har". Program #ang han#a %"ma &ar"s pem&uk "ann#a &"sa seha%aman) seh"ngga ser"ngka%" "$ak pernah $" erapkan $a%am ap%"kas" n#a a.

2aka%ah "n" akan mem&ahas en ang a%gor" ma $an pemrograman $a%am Bahasa Pas'a%.

I.4 RUANG LINGKUP


Pa$a penu%"san maka%ah "n") Sa#a mem&a as" permasa%ahan) #akn" sepu ar run unan) pem"%"han .sa u kasus) $ua kasus) "ga kasus5%e&"h) 'ase/) pengu%angan .+or6$o) !h"%e6$o) repea 6un "%/) prose$ur) +ungs") $an %ar"k.

I.7 RU2USAN 2ASALAH


1. Apa sa,a e%emen3e%emen &ahasa $a%am Pas'a% 8 4. Baga"mana s ruk ur program Pas'a% 8 7. Apa #ang $"maksu$ $engan s ruk ur run unan) pem"%"han) pengu%angan) prose$ur) +ungs") $an %ar"k 8 9. Baga"mana a%gor" ma $an program $ar" s ruk ur erse&u 8

I.9 TU:UAN
A$apun u,uan pem&ua an maka%ah "n" a$a%ah ( 1. Un uk me%engkap" n"%a" ugas ma a ku%"ah A%gor" ma $an Pemrograman 1 4. Se&aga" me$"a un uk &er&ag" penge ahuan 7. Un uk mengka," kem&a%" penge ahuan #ang e%ah sa#a $apa pa$a ku%"ah A%gor" ma $an Pemrograman 1

I.; 2AN*AAT
Dengan a$an#a maka%ah "n" $"harapkan mahas"s!a5" $apa %e&"h memaham" $an menger " en ang A%gor" ma $an $apa Pemrograman.

BAB II PE2BAHASAN
II.1 ELE2EN < ELE2EN BAHASA DALA2 PAS1AL
Pascal a$a%ah &ahasa pemrograman #ang per ama ka%" $" &ua o%eh Pro+esor N"k%aus ="r h) seorang anggo a In erna "ona% *e$era "on o+ In+orma "on Pro'ess"ng .I*IP/ pa$a ahun 1>?1. Dengan mengam&"% nama $ar" ma ema "ka!an Peran'"s) B%a"se Pas'a%) #ang per ama ka%" men'"p akan mes"n pengh" ung) Pro+esor N"k%aus ="r h mem&ua &ahasa Pas'a% "n" se&aga" a%a &an u un uk menga,arkan konsep pemrograman kompu er kepa$a mahas"s!an#a. Se%a"n " u) Pro+esor N"k%aus ="r h mem&ua Pas'a% ,uga un uk me%engkap" kekurangan3kekurangan &ahasa pemrograman #ang a$a pa$a saa " u. Se&e%um k" a mem&ua se&uah program) maka er%e&"h $ahu%u k" a harus menger " en ang e%emen3 e%emen &ahasa .Language e%emen s/ Tur&o Pas'a%) seper " Reser@e$ !or$) S a emen ) T#pe) 1ons an s) Aar"a&e%) T"pe $a a) La&e%) Opera or) $an %a"n3%a"n.

a. Reser@e$ =or$
Reser@e$ !or$ a$a%ah ka a < ka a #ang "$ak $apa $",a$"kan men,a$" "$en "+"er .pengena%/) karena ka a < ka erse&u su$ah mempun#a" ar " ersen$"r" $a%am Tur&o Pas'a%. A$apun ka a < ka a #ang ermasuk ke $a%am "$en "+"er a$a%ah( An$) asm) arra#) &eg"n) 'ase) 'ons ) 'ons ru' or) $es ru' or) $"@) $o) $o!n o) e%se) en$) eBpor s) +"%e) +or) +un' "on) go o) "+) "mp%emen a "on) "n) "nher" e$) "n%"ne) "n er+a'e) %a&e%) %"&rar#) mo$) n"%) no ) o&,e' ) o+) or)pa'ke$) pro'e$ure) program) re'or$) repea ) se ) sh%) shr) s r"ng) hen) o) #pe) un" ) un "%) uses) @ar) !h"%e) !" h) Bor.

&. S a emen
S a emen a$a%ah sa%ah sa u $ar" &er"ku "n"( 3 3 3 3 3 3 3 3 3 3 Ass"gnmen .(C/ Beg"n..en$ 1ase..o+..e%se..en$ *or.. o5$o!n o..$o Go o I+.. hen..e%se In%"ne.../ Pro'e$ure 'a%% Repea ..un "% =h"%e..$o

=" h..$o

'. T#pe
Ben uk umum( T#pe Pengena% C "pe $a aD EEE. Pengena% C "pe $a aD

$. 1ons .1ons an /
1ons an #ang $"s"ngka $engan 'ons a$a%ah n"%a" kons an a . n"%a" e ap/ #ang $"pasang $a%am program. Ben uk umum( 1ons Pengena% C ekspres" EEE Pengena% C ekspres" 1ons Pengena%( #pe C n"%a"D EEE.. Pengena%( #pe C n"%a"D

e. Aar . Aar"a&e%/
:"ka 'ons an a$a%ah n"%a" e ap) maka Aar"a&e% a$a%ah n"%a" #ang "s"n#a $apa &eru&ah < u&ah. Da%am program) Aar"a&e% $"s"ngka men,a$" Aar. Ben uk umum( Aar Pengena%) E pengena% ( T"pe $a aD EE Pengena%)E pengena%( T"pe $a aD

+. T"pe Da a
T"pe a au ,en"s $a a $a%am Tur&o Pas'a% $"&ag" ke$a%am F ke%ompok &esar) an ara %a"n(

1.

T"pe s"mp%e(

T"pe or$"na% ( $"&ag" ke$a%am ; "pe(

T"pe Shor "n In eger Long"n

Range 14H..14? 374?FH..74?F? 3 419?9H7F9H..419?9H7F9 ? I.4;; I.F;;7;

S"Ge H3&" 1F3&" 743&"

B# e =or$

H3&" 1F3&"

T"pe "n eger ( $"&ag" ke$a% ; &ag"an #a" u(

T"pe Shor "n In eger Long"n

Range 314H..14? 374?FH..74?F? 3 419?9H7F9H..419?9H7F9 ? I.4;; I.F;;7;

*orma H3&" &er an$a 1F3&" &er an$a 743&" &er an$a

B# e =or$

H3&" ak &er an$a 1F3&" ak &er an$a

1a a an ( Semua "pe "n eger a$a%ah "pe or$"na%. T"pe rea% ( $"&ag" ke$a%m ; &ag"an #a" u( T"pe Rea% S"ng%e Dou&%e EB en$e$ 'omp Range 4.>e37>..1.?e7H 1.;e39;..7.9e7H ;.Ie3749..1.?e7IH 7.9e9>74..1.1e9>74 3>.4e1H..>.4e1H D"g" 11 3 14 ?3H 1; 3 1F 1> 3 4I 1> 3 4I B# e F 9 H 1I H

Tur&o Pas'a% ,uga men#e$"akan 4 mo$e% +%oa "ng3po"n ( 3 3 So+ !are +%oa "ng po"n )JKN3L HIMH? +%oa "ng po"n ) JKNNL

T"pe 'har 1har a$a%ah semua om&o% #ang er$apa pa$a ke#&oar$) a au %e&"h %engkapn#a semua er$apa pa$a ko$e AS1II.

karak er #ang

Apa&"%a "pe 'har $",a$"kan kons an a) maka karak er #ang $"masukkan harus $"ap" o%eh an$a ku "p sa u. Dan apa&"%a karak er erse&u &erupa an$a ku "p sa u) maka harus $"ap" o%eh $ua an$a ku "p sa u. T"pe Boo%ean A$a empa #ang ermasuk ke$a%am "pe Boo%ean (Boo%ean) !or$&oo%) %ong&oo%) &# e&oo%. Keempa "pe Boo%ean erse&u a$a%ah "pe un uk kompa "&"%" as $engan ="n$o!s. T"pe enumera e$

Ben uk umum( T#pe Nama C .pengena%) Pengena%)E) Pengena% /D T"pe su&range

Ben uk umum( 1ons an 1 .. 'ons an 4 4. T"pe S r"ng S r"ng a$a%ah kumpu%an $ar" &e&erapa karak er $an pan,angn#a "$ak &o%eh me%e&"h" 4;; karak er. :"ka s r"ng mengan$ung an$a ku "p sa u) maka an$a ku "p erse&u harus $"&er" an$a ku "p %ag". Ben uk umum( S r"ng O 'ons an P A au S r"ng 1"r" < '"r"

Apa&"%a pan,ang s r"ng "$ak $" en ukan maka pan,angn#a $"anggap4;; karak er. O%eh karena " u) un uk menghema memor") &"asakan%ah se%a%u menen ukan pan,ang s r"ng #ang akan $"&ua . 7. T"pe S ru' ure$ T"pe s ru' ure$ a$a%ah "pe #ang er$"r" %e&"h $ar" sa u n"%a". Se$angkan "pe s ru' ure$ er$"r" $ar" ; "pe ( a/ T"pe arra# Ben uk umum( Arra# OIn$eksP o+ T"pe Da a &/ T"pe +"%e Ben uk umum( *"%e o+ #pe A au *"%e '/ T"pe o&,e' T"pe o&,e' a$a%ah $a a &ers ruk ur #ang &er"s" komponen &"%angan +"Be$. Ben uk umum( O&,e' *"e%$D *"e%$D EE.. 2e ho$D 2e ho$D En$D $/ T"pe re'or$ Ben uk umum( Re'or$ *"e%$D *"e%$D EE. En$D

e/ T"pe se Ben uk umum( Se o+ T"pe Da a 9. T"pe Po"n er T"pe po"n er a$a%ah "pe #ang &er"s" a%ama memor") $an &er%am&ang Q. An$a $apa menun,uk se&uah n"%a" ke$a%am @ar"a&%e po"n er $engan( 3 3 3 ;. Pro'e$ure Ne! a au Ge 2em Opera or R *ungs" P r T"pe Pro'e$ura% Pro'e$ure $an *un' "on a$a%ah &ag"an Tur&o Pas'a% $a%am me&ua se&uah program. 2e%a%u" "pe Pro'e$ura%) maka an$a $apa memper%akukan Pro'e$ure $an *un' "on se&aga" o&,e' seh"ngga $apa $"masukkan ke$a%am se&uah @ar"a&%e $an parame er. Has"% +un' "on harus%ah &erupa s r"ng) rea%) "n eger) 'har) Boo%ean) a au po"n er. g. La&e% La&e% a$a%ah sua u $ek%aras" un uk mem&ua per'a&angan $a%am proram. La&e% &"sa &erupa huru+) m"sa%n#a( A=AL) AKHIR) a au angka an ara I an$ >>>. Dan un uk menu,u ke%a&e% #ang e%ah $"$ek%aras"kan harus menggunakan "ns ruks" GOTO. Ben uk umum( La&e% pengena%)E.. pengena%D h. Opera or Opera or a$a%ah %am&"ng3 %am&"ng un uk me%akukan perka%"an) pen,um%ahan $an %a"n3 %a"n seper " $a%am ka%ku%a or. Te ap" opera or $a%am 'ompu er %e&"h komp%eks $"&an$"ngkan ka%ku%a or. :en"s3,en"s opera or( Opera or penghu&ung . re%a "ona% opera ors / Opera or ar" hma "k . ar" hme "' opera ors / Opera or %og"ka . %og"'a% opera ors / Opera or pem&an$"ng . Boo%ean opera ors / Opera or s r"ng . s r"ng opera ors /

Opera or se . se opera ors / Opera or R . R opera ors / Opera or P'har . P'har opera ors

II.4 STRUKTUR PROGRA2 PAS1AL


S ruk ur $asar $a%am pemrograman pas'a% (
PROGRA2 NamaProgram .*"%eL"s /D 1ONST .SDek%aras" Kons an aS/ T0PE .SDek%aras" T#peS/ AAR .SDek%aras" Aar"a&e%S/ .SDe+"n"s" Su&ProgramS/ BEGIN .SS a emenS/ END.

E%emen3e%emen $a%am program harus sesua" $engan uru ann#a) &e&erapa e%emen &"sa $"h"%angkan &"%a "$ak $"per%ukan. Seper " 'on oh $"&a!ah) program #ang a$a merupakan program #ang &enar) ap" "$ak me%akukan apapun.
PROGRA2 "n+orma "kaD BEGIN END.

Komen ar $apa $"ser akan $a%am penu%"san ko$e. Komen ar "$ak akan $"ser akan $a%am komp"%as" .'omp"%e/ a au saa program $",a%ankan .eBe'u e/. Penan$a komen ar a$a%ah .S $an $"akh"r" $engan S/. a au $apa pu%a $engan an$a J $engan akh"ran L. Pemaka"an komen ar $a%am &ahasa pas'a% "$ak &o%eh sa%ah) karena akan men"m&u%kan masa%ah. Penu%"san komen ar #ang sa%ah seper " ( J J $"s"n" komen ar L L Pa$a saa 'o$e $"'omp"%e) akan mem&er"kan pesan kesa%ahan karena 'omp"%er akan me%"ha an$a J #ang per ama $an an$a L #ang per ama pu%a) seh"ngga an$a L #ang ke$ua akan $"anggap kesa%ahan. Ber"ku &e&erapa 'on oh penu%"san komen ar #ang &enar ( J J $"s"n" komen ar L J $"s"n" komen ar L !r" e%n.T es komen arT/D J komen ar %ag" L .S $"s"n" komen ar S/

Pem&er"an komen ar akan mempermu$ah $a%am memaham" sua u ko$e program .sour'e 'o$e/. B"%a k" a menu%"s program anpa mem&er"kan komen ar) saa k" a mem&uka kem&a%" ko$e #ang k" a u%"s $a%am ,angka !ak u &erse%ang %ama. Akan mempersu%" k" a memaham" program #ang k" a &ua se&e%umn#a .&"%a program sanga rum" /.

II.7 RUNTUNAN
A%gor" ma merupakan run unan .seUuen'e/ sa u a au %e&"h "ns ruks") #ang &erar " &ah!a ( 1. T"ap "ns ruks" $"ker,akan sa u per sa u 4. T"ap "ns ruks" $"%aksanakan epa seka%") "$ak a$a "ns ruks" #ang $"u%ang 7. Uru an "ns ruks" #ang $"%aksanakan pemroses sama $engan uru an "ns ruks" se&aga"mana #ang er u%"s $" $a%am eks a%gor" man#a 9. Akh"r $ar" "ns ruks" erakh"r merupakan akh"r a%gor" ma Uru an "ns ruks" $" $a%am a%gor" ma a$a%ah pen "ng. Uru an "ns ruks" menun,ukkan uru an %og"k pen#e%esa"an masa%ah. Bergan ung pa$a masa%ahn#a) uru an "ns ruks" #ang &er&e$a mungk"n "$ak a$a pengaruhn#a eha$ap so%us" persoa%an) e ap" mungk"n ,uga menghas"%kan ke%uaran #ang &er&e$a pu%a. 1on oh kasus 1 ( uru an "ns ruks" "$ak &erpengaruh erha$ap so%us" persoa%an. D"&a'a $ua &uah n"%a" integer $ar" p"ran " masukan) A $an B. h" ung ,um%ah ke$uan#a $an has"% ka%" ke$uan#a) %a%u 'e ak ,um%ah $an has"% ka%" " u ke p"ran " ke%uaran.
Algoritma RUNTUNAN_1 { contoh algorima yang menghasilkan keluaran yang sam jika urutan instruksi diubah. } D !"ARA#$ A% &% '% D ( integer D #!R$)#$ read*A%&+ ',A-& D,A.& /rite*'%D+

Has"% a%gor" ma $" a as sama sa,a ,"ka uru an ',A-& $an D,A.& $"u&ah se&aga" &er"ku (
Algoritma RUNTUNAN_1 { contoh algorima yang menghasilkan keluaran yang sam jika urutan instruksi diubah. } D !"ARA#$ A% &% '% D ( integer D #!R$)#$ read*A%&+ D,A.& ',A-& /rite*'%D+

1on oh kasus 4 ( uru an "ns ruks" &erpengaruh erha$ap so%us" persoa%an. D"ke ahu" $ua &uah n"%a" integer) mas"ng3mas"ng $"s"mpan $" $a%am $ua peu&ah) A $an B. &aga"mana 'ara memper ukarkan n"%a" A $an B 8 2"sa%n#a) se&e%um per ukaran n"%a" ACH) n"%a" BC;) maka se e%ah per ukaran) n"%a" AC; $an BCH.
Algoritma TU!AR_1 { mem0ertukarkan nilai A dan &. Nilai A dan & dibaca dari 0iranti masukan. Nilai A dan & dicetak ke 0iranti keluaran% baik sebelum 0ertukaran mau0un sesudah 0ertukaran. A"12R$T3A 4AN1 & NAR 5 } D !"ARA#$ A & Tem0 D #!R$)#$ { baca nilai A dan & } Read*A%&+ { cetak nilai A dan & sebelum 0ertukaran } /rite*A%&+ { 0roses 0ertukaran } tem0,A A,& &,tem0 /rite*A%&+ { sim0an nilai A di 0enam0ungan sementara% tem0 } { sekarang A da0at diisi dengan nilai & } { isi & dengan nilai A semula yang tadi disim0an di tem0 } ( integer ( integer ( integer { nilai 0ertama } { nilai kedua } { 0eubah bantu }

{ cetak nilai A dan & setelah 0ertukaran }

Proses per ukaran n"%a" akan sa%ah ,"ka an$a "$ak &enar menu%"skan uru an "ns ruks") m"sa%n#a run unan
{ 0roses 0ertukaran } tem0,A A,& &,tem0 { sim0an nilai A di 0enam0ungan sementara% tem0 } { sekarang A da0at diisi dengan nilai & } { isi & dengan nilai A semula yang tadi disim0an di tem0 }

D"u&ah uru ann#a se&aga" &er"ku (


{ 0roses 0ertukaran } tem0,A &,tem0 A,& { sim0an nilai A di 0enam0ungan sementara% tem0 } { isi & dengan nilai A semula yang tadi disim0an di tem0 } { sekarang A da0at diisi dengan nilai & }

maka run unan #ang erakh"r "n" sama sa,a $engan run unan (
&,A A,&

Contoh runtunan :
D"&a'a !ak u empuh seorang pe%ar" mara hon $a%am ,am3men" 3$e "k . hh:mm:ss/. D"m"n a mengkon@ers" !ak u empuh erse&u ke $a%am $e "k. Tu%"skan a%gor" man#a. Inga %ah 1 men" C FI $e "k 1 ,am C 7FII $e "k 2"sa%n#a !ak u empuh seorang pe%ar" mara hon a$a%ah 1 ,am) ; men" ) 9I $e "k. Da%am $e "k) !ak u empuh se%uruhn#a a$a%ah . 1 B 7FII / N . ; B FI / N 9I C 7>9I $e "k.

Pen#e%esa"an
Algoritma !2N6 R#$_7A3_! _D T$! { dibaca jam8menit8detik *hh(mm(ss+. Nilai jam8menit8detik dikon9ersi ke dalam detik% lalu ditam0ilkan ke 0iranti keluaran } D !"ARA#$ Ty0e jam ( record :hh ( integer mm ( integer ss ( integer @ 7 ( jam TotalDetik ( integer D #!R$)#$ read*7.hh%7.mm%7.ss++ {;..<=}% {;..>?}% {;..>?}% {jam} {menit} {detik}

:"ka an$a men rans%as"kan a%gor" ma KONAERSI6:A26KE6DETIK ke $a%am &ahasa pas'a%) an$a harus memperha "kan "pe &"%angan &u%a #ang $"gunakan. Karena ranah n"%a" "pe "n eger er&a as) maka a$a kemungk"nan has"% pengu&ahan ,am3men" 3$e "k ke o a% $e "k &ern"%a" nega "+) se&a& n"%a" .:.hhS7FII/ N .:.mmSFI/ N :.ss &era$a $" %uar ren ang "pe "n eger. T"pe %ong"n #ang mempun#a" ranah #ang %e&"h &esar $apa $"paka" un uk masa%ah "n". :a$") program KONAERSI6:A26KE6DETIK $a%am &ahasa pas'a% a$a%ah se&aga" &er"ku (
program !2N6 R#$_7A3_! _D T$!A { dibaca jam8menit8detik *hh(mm(ss+. Nilai jam8menit8detik dikon9ersi ke dalam detik% lalu ditam0ilkan ke 0iranti keluaran.} uses BincrtA *. D !"ARA#$ .+ ty0e 7am C record hh ( longintA mm ( longintA ss ( longintA endA var 7 ( 7amA TotalDetik ( longintA *. deskri0si .+ begin write*D7am (E+A readln*7.hh+A write*D3enit(E+A readln*7.mm+A write*DDetik(E+A readln*7.ss+A TotalDetik(C *7.hh.=F;;+ - *7.mm.F;+ - 7.ssA {jam} {menit} {detik}

II.9 PE2ILIHAN
S ruk ur run unan han#a er$apa pa$a program se$erhana. Pa$a umumn#a) masa%ah #ang akan $"se%esa"kan mem"%"k" &e&erapa a% erna "@e pe%aksanaan aks". Sua u aks" han#a $"%akukan &"%a pers#ara an a au kon$"s" er en u $"penuh". K" a ka akan &ah!a masa%ah erse&u mem"%"k" &e&erapa kasus. :a$") $a%am meme'ahkan masa%ah) k" a harus mengana%"s"s kasus3kasus apa sa,a #ang mungk"n a$a) %a%u aks" apa #ang $"%akukan &"%a sua u kasus $"masuk". A$an#a pem"%ahan kasus3kasus men#e&a&kan er,a$"n#a pem"%"han "ns ruks" $" $a%am a%gor" ma) &ergan ung pa$a kasus #ang memenuh". 2engana%"s"s kasus $ar" sua u masa%ah a$a%ah menen ukan kon$"s" &oo%ean .&ern"%a" rue a au +a%se/ un uk se "ap kasus $an menen ukan aks" #ang $"%akukan ,"ka kon$"s" erse&u &er%aku .memenuh"/. Kon$"s" &oo%ean a$a%ah ekspres" &oo%ean #ang &ern"%a" rue a au +a%se &ergan ung pa$a n"%a" mas"ng3mas"ng operan$ #ang er%"&a $" $a%amn#a. Ekspres" &oo%ean $"&en uk $engan mengkom&"nas"kan operan$ #ang &er "pe sama $engan sa%ah sa u $ar" opera or re%as"ona% ( C) V) W) X) Y) Z) $an opera or uner no . 1on oh3'on oh ekspres" &oo%ean (
G @ y a H 1; m C n 0 I J a - b @ 1 str C DitbE k mod K C ; ketemu C true not berhenti *G @ ;+ and *y : ;+

Aks" #ang $"ker,akan &"%a kon$"s" &oo%ean $"penuh" $apa &erupa peng"s"an n"%a" .ass"gnmen /) ka%ku%as") &a'a) u%"s) $an se&aga"n#a) &ergan ung pa$a masa%ahn#a. Penen uan kon$"s" &oo%ean $an aks" #ang $"%akukan &ergan ung pa$a ,um%ah kasus #ang er$apa pa$a masa%ah erse&u ( sa u kasus) $ua kasus) a au %e&"h $ar" $ua kasus.

Satu Kasus
No as" a%gor" m"k un uk ana%"s"s $engan sa u kasus a$a%ah $engan menggunakan s ruk ur I*3THEN .,"ka3maka/ (

iL kondisi then aksi endiL

Aks" sesu$ah ka a then .$apa &erupa sa u a au %e&"h aks"/ han#a akan $"%aksanakan &"%a kon$"s" &ern"%a" &enar . rue/. B"%a kon$"s" &ern"%a" sa%ah .+a%se/) "$ak a$a aks" apapun #ang $"ker,akan. Ka a endiL senga,a $" am&ahkan un uk memper egas a!a% $an akh"r s ruk ur iL8
then.

1on oh3'on oh (
a. iL G @ 1;; then G,G-1 endiL b. iL adaCLalse then read *cc+ Brite *cc+ endiL

catatan: 'on oh .&/ $" a as $apa ,uga $" u%"s se&aga" &er"ku (
iL not ada then read*cc+ Brite*cc+ endiL

Inga %ah &ah!a aks" sesu$ah ka a then akan $"ker,akan han#a ,"ka kon$"s" &ern"%a" true . $a%am ha% "n") not ada &ern"%a" true &"%a ada C Lalse /. 1on oh ana%"s"s ( D"&a'a se&uah karak er. D"m"n a menu%"skan pesan [huru+ h"$upT ,"ka karak er erse&u merupakan huru+ @oka%.

Pen#e%esa"an
Algoritma MURUN_62!A" { mencetak 0esan OhuruL 9okalP bila sebuah karakter yang dibaca meru0akan huruL hidu0% asumsikan karakter yang dibaca adalah huruL kecil } D !"ARA#$ c ( char D #!R$)#$ read*c+ iL *cCEaE+ or *cCEiE+ or *cCEuE+ or *cCEeE+ or *cCEoE+ then Brite*DhuruL hidu0E+

:a$") program HURU*6AOKAL $a%am &ahasa pas'a% a$a%ah se&aga" &er"ku (


program MURUN_62!A"A uses BincrtA *. D !"ARA#$ .+ var c ( charA *. D #!R$)#$ .+ begin writeln*Qmasukkan huruLQ+Aread*c+A if *cCQaQ+ or *cCQiQ+ or *cCQuQ+ or *cCQeQ+ or *cCQoQ+ then write*QhuruL hidu0Q+

Dua Kasus
No as" a%gor" ma un uk ana%"s"s $engan $ua &uah kasus a$a%ah $engan menggunakan s ruk ur I*3THEN3ELSE .,"ka3maka3ka%au "$ak/ (
iL kondisi then aksi1 else aksi< endiL Aksi1

akan $"%aksanakan ,"ka kondisi &ern"%a" &enar) e ap" ,"ka kondisi &ern"%a"

sa%ah) maka aksi< #ang akan $"%aksanakan. Perha "kan%ah &ah!a \elseP men#a akan "ngkaran .nega "on/ $ar" kon$"s". 1on oh ana%"s"s ( Bua %ah a%gor" ma $an program #ang mem&a'a angka ahun maseh" $ar" papan kun'")%a%u menen ukan apakah ahun erse&u merupakan ahun ka&"sa . Se'ara se$erhana) ahun ka&"sa

a$a%ah ahun #ang ha&"s $"&ag" $engan 9. Pa$a ahun ka&"sa ) &u%an +e&ruar" &er,um%ah 4> har". 1on oh ahun ka&"sa a$a%ah 1>>F $an 4III. Tahun 4II4 &ukan ahun ka&"sa karena "$ak ha&"s $"&ag" 9.

Pen#e%esa"an
2"sa%kan ahun maseh" erse&u a$a%ah Tahun. Ana%"s"s kasus ( Kasus 1 ( Tahun mo$ 9 C I) maka u%"s Tahun a$a%ah ahun ka&"sa Kasus 4 ( Tahun mo$ 9 V I) maka u%"s Tahun &ukan ahun ka&"sa
Algoritma TAMUN_!A&$#AT { menentukan a0akah suatu tahun meru0an tahun kabisat atau bukan kabisat } D !"ARA#$ Tahun ( integer D #!R$)#$ read*Tahun+ iL Tahun mod K C ; then Brite*Tahun% D adalah tahun kabisatE+ else Brite*Tahun% D bukan tahun kabisatE+

:a$") program TAHUN6KABISAT $a%am &ahasa pas'a% a$a%ah se&aga" &er"ku (


program TAMUN_!A&$#ATA *. menentukan a0akah suatu tahun meru0an tahun kabisat atau bukan kabisat .+ uses BincrtA *. D !"ARA#$ .+ var Tahun ( integerA *. D #!R$)#$ .+ begin write*QTAMUN Q+Aread*Tahun+A if Tahun mod K C ; then write*Q adalah tahun kabisatQ+ else write*Q bukan tahun kabisatQ+

Tiga Kasus atau ebih


2asa%ah #ang mempun#a" "ga &uah kasus a au %e&"h e ap $apa $"ana%"s"s $engan s ruk ur I*3THEN3ELSE se&aga"mana ha%n#a pa$a masa%ah $engan $ua kasus. T"ga Kasus ( Empa Kasus (
iL kondisi1 then aksi1 else iL kondisi< then aksi< else iL kondisi= aksi= endiL iL kondisi= then aksi= else iL kondisi K aksiK endiL endiL

iL kondisi1 then aksi1 else iL kondisi< then aksi< else

$an se erusn#a. 1on oh ana%"s"s ( Bua %ah a%gor" ma $an program #ang mem&a'a empera ur a"r) T) .$a%am sua u $era,a 'e%'"us/ pa$a ekanan norma%) %a%u menen ukan apakah !u,u$ a"r erse&u $a%am kea$aan pa$a .T Y I]1/) 'a"r .I W T W 1II/) a au gas .T X 1II/.

Pen#e%esa"an
2"sa%kan suhu a"r a$a%ah T. Ana%"s"s kasus ( Kasus 1( T Y I) maka u%"s \pa$a ^ Kasus 4( I W T W 1II) maka u%"s \'a"r^ Kasus 7( T Z 1II) maka u%"s \uap^

Algoritma /U7UD_A$R {menentukan Bujud air ( 0adat% cair% atau gas% bergantung 0ada suhunya } D !"ARA#$ T ( real D #!R$)#$ read*T+ iL T I ; then Brite*D0adatE+ else iL * T @ ;+ and * T : 1;; + then Brite*DcairE+ else iL T R 1;; then Brite*Dgas atau ua0E+A endiL { kasus = } { kasus < } { kasus 1 } { suhu air% dalam derajat celcius }

:a$") program =U:UD6AIR $a%am penu%"san I*3THEN3ELSE #ang &er "ngka 3 "ngka .
0rogram /U7UD_A$RA { menentukan Bujud air ( 0adat% cair% atau gas% bergantung 0ada suhunya } uses BincrtA *. D !"ARA#$ .+ 9ar T ( realA { suhu air% dalam derajat celcius } *. D #!R$)#$ .+ begin Brite*Qsuhu Q+Aread*T+A Brite*Qadalah Q+A iL T :C ; then Brite*Q0adatQ+ else iL * T @ ;+ and * T : 1;; + then Brite*QcairQ+ else iL T @C 1;; then Brite*Qgas atau ua0Q+A { kasus = } { kasus < } { kasus 1 }

Struktur CAS!
T"$ak semua &ahasa pemrograman men#e$"akan s ruk ur 1ASE .m"sa%n#a Bahasa *or ran/. Bahasa pas'a% men#e$"akan s ruk ur "n". :"ka &ahasa pemrograman "$ak #ang ek"@a%en. 1on oh ana%"s"s ( Bua %ah a%gor" ma $an program #ang mem&a'a angka &u%an $an ahun) %a%u menu%"skan ,um%ah har" $a%am &u%an erse&u . 2"sa%n#a ,"ka $"&a'a &u%an H .agus us/) maka ,um%ah har"n#a a$a%ah 71.

Pen#e%esa"an
K" a harus meng"$en "+"kas" &u%an3&u%an $an ,um%ah har"n#a se&aga" &er"ku ( "ulan $% &% '% (% )% $*% $+ ,% -% .% $$ +
Algoritma 7U3"AM_MAR$ { menentukan jumlah hari dalam satu bulan } D !"ARA#$ Angka&ulan Tahun 7umlahMari D #!R$)#$ read*Angka&ulan%Tahun+ case*Angka&ulan+ Angka&ulanC S1% =% >% T% U% 1;% 1< V Angka&ulanC S K% F% ?% 11 V Angka&ulanC < ( case Tahun Tahun mod K C ; Tahun mod K H ; endcase endcase ( 7umlahMari,<? ( 7umlahMari,<U ( 7umlahMari,=1 ( 7umlahMari,=1 ( integer ( integer ( integer { 1 . . 1< } { @ ; }

#umlah hari 71 7I 4> .,"ka ahun ka&"sa /) 4H .,"ka &ukan ka&"sa /

:a$") program :U2LAH6HARI $a%am &ahasa pas'a% a$a%ah se&aga" &er"ku (


0rogram 7U3"AM_MAR$A { menentukan jumlah hari dalam satu bulan } uses BincrtA *. D !"ARA#$ .+ 9ar Angka&ulan ( integerA Tahun ( integerA 7umlahMari ( integerA *. D #!R$)#$ .+ begin Brite*Q&ulan *181<+ C Q+Areadln*Angka&ulan+A Brite*QTahun C Q+Areadln*Tahun+A case Angka&ulan oL 1% =% >% T% U% 1;% 1< K% F% ?% 11 < ( 7umlahMari(C=1A ( 7umlahMari(C=;A ( iL Tahun mod K C ; then 7umlahMari(C<? else 7umlahMari(C<UA {endiL} endA { 1 . . 1< } { @ ; }

II.; PENGULANGAN
S ruk ur pengu%angan se'ara umum er$"r" a as $ua &ag"an (

1. kon$"s" pengu%angan) #a" u ekspres" Boo%ean #ang harus $"penuh" un uk me%aksanakan pengu%angan. Kon$"s" "n" a$a #ang $"n#a akan se'ara eksp%"s" o%eh pemrogram a au $"ke%o%a sen$"r" o%eh kompu er ."mp%"s" /D 4. &a$an .&o$#/ pengu%angan) #a" u &ag"an a%gor" ma #ang $"u%ang. D"samp"ng " u) s ruk ur pengu%angan &"asan#a $"ser a" $engan &ag"an ( 1. "n"s"a%"sas") #a" u aks" #ang $"%akukan se&e%um pengu%angan $"%akukan per ama ka%" 4. erm"nas") #a" u aks" #ang $"%akukan se e%ah pengu%angan se%esa" $"%aksanakan In"s"a%"sas" $an erm"nas" "$ak se%a%u harus a$a) namun pa$a &er&aga" kasus "n"s"a%"sas" umumn#a $"per%ukan. S ruk ur pengu%angan se'ara umum (
:inisialisasi@ aBal 0engulangan badan 0engulangan akhir 0engulangan :terminasi@

#ang $a%am ha% "n" a!a% $an akh"r pengu%angan $"n#a akan se&aga" ka a kun'" #ang &ergan ung pa$a s ruk ur pengu%angan #ang $"gunakan. Se%a"n " u) :inisialisasi@ $an :terminasi@ a$a%ah &ag"an #ang ops"ona%. D" $a%am a%gor" ma er$apa &e&erapa ma'am s ruk ur pengu%angan #ang &er&e$a. Be&erapa s ruk ur $apa $"paka" un uk masa%ah #ang sama) namun a$a no as" pengu%angan #ang han#a 'o'ok $"paka" un uk masa%ah er en u. Pem"%"han s ruk ur pengu%angan un uk masa%ah er en u $apa mempengaruh" ke&enaran a%gor" ma. Pem"%"han s ruk ur pengu%angan #ang epa &ergan ung pa$a masa%ah #ang akan $eprogram. T"ga .7/ ma'am no as" s ruk ur pengu%angan) #a" u ( 1/ s ruk ur *OR 4/ s ruk ur =HILE 7/ s ruk ur REPEAT

Struktur /01
S ruk ur pengu%angan *OR $"gunakan un uk menghas"%kan pengu%angan se,um%ah ka%" #ang $"spes"+"kas"kan. :um%ah pengu%angan $"ke ahu" a au $apa $" en ukan se&e%um eksekus". Un uk men'a'ah su$ah &erapa ka%" pengu%angan $"%akukan) k" a memer%ukan se&uah peu&ah

.@ar"a&%e/ pen'a'ah .'oun er/. Peu&ah "n" n"%a"n#a se%a%u &er am&ah sa u se "ap ka%" pengu%angan $"%akukan. :"ka 'a'ah pengu%angan su$ah men'apa" ,um%ah #ang $"spes"+"kas"kan) maka proses pengu%angan &erhen " Ben uk umum s ruk ur *OR a$a $ua ma'am ( mena"k .as'en$"ng/ a au menurun .$es'en$"ng/. *OR mena"k (
Lor 0encacah,nilai_aBal to nilai_akhir do aksi endLor

Keterangan : ". pen'a'ah harus%ah $ar" "pe $a a #ang mem"%"k" pre$e'essor $an su''essor) #a" u "n eger a au karak er. T"pe r""% "$ak $apa $"gunakan se&aga" pen'a'ah. "". Aks" a$a%ah sa u a au %e&"h "ns ruks" #ang $"u%ang.
""". nilai_aBal harus %e&"h ke'"% a au sama $engan nilai_akhir. :"ka nilai_aBal %e&"h &esar

$ar" nilai_akhir) maka &a$an pengu%angan "$ak $"masuk".


"@. Pa$a a!a%n#a)pen'a'ah $""n"s"a%"sas" $engan nilai_aBal.N"%a" pen'a'ah se'ara o oma "s

&er am&ah sa u se "ap ka%" pengu%angan $"masuk") sampa" akh"rn#a n"%a" pen'a'ah sama $engan nilai_akhir.
@. :um%ah pengu%angan #ang e,a$" a$a%ah nilai_akhir 8 nilai_aBal - 1.

1on oh ana%"s"s ( Bua %ah a%gor" ma $an program men'e ak angka 1) 4) ..) N) #ang $a%am ha% "n" n"%a" N $"&a'a er%e&"h $ahu%u $ar" p"ran " masukan.
Algoritma ' TA!_N_AN1!A { mencetak 1% <% W% N ke 0iranti keluaran } D !"ARA#$ N ( integer k ( integer D #!R$)#$ read*N+ Lor k,1 to N do Brite*k+ { ulangi sebanyak N kali }

:a$") program 1ETAK6N6ANGKA $a%am &ahasa pas'a% a$a%ah se&aga" &er"ku (

0rogram ' TA!_N_AN1!AA { mencetak 1% <% W% N ke 0iranti keluaran } uses BincrtA *. D !"ARA#$ .+ 9ar N ( integerA k ( integerA

*. D #!R$)#$ .+ begin Brite*Qjumlah 0engulangan C Q+Aread*N+A Lor k(C1 to N do Briteln*k+ { ulangi sebanyak N kali }

Per an#aan ( Apa #ang er,a$" &"%a NCI8 NC318 NC18 :a!a& ( :"ka N C I a au N C 31) proses pengu%angan "$ak er,a$") karena n"%a" akh"r pen'a'ah pengu%angan %e&"h &esar $ar" n"%a" a!a%n#a .1/. :"ka N C 1) pengu%angan #ang er,a$" a$a%ah 1 ka%") karena 1 < 1 N 1 C 1.

*or menurun (
Lor 0encacah,nilai_akhir doBnto nilai_aBal do aksi endLor

Ke erangan ( ". Pen'a'ah harus%ah $ar" "pe $a a #ang mem"%"k" pre$e'essor $an su''essor) #a" u "n eger a au karak er. T"pe r""% "$ak $apa $"gunakan se&aga" pen'a'ah. "". Aks" a$a%ah sa u a au %e&"h "ns ruks" #ang $"u%ang.
""". nilai_akhir harus %e&"h &esar a au sama $engan nilai_aBal. :"ka nilai_akhir %e&"h ke'"%

$ar" nilai_aBal) maka &a$an pengu%angan "$ak $"masuk".


"@. Pa$a a!a%n#a) pen'a'ah $""n"s"a%"sas" $engan nilai_akhir. N"%a" pen'a'ah se'ara o oma "s

&erkurang sa u se "ap ka%" aks" $"u%ang) sampa" akh"rn#a n"%a" pen'a'ah sama $engan
nilai_aBal.

@. :um%ah pengu%angan #ang er,a$" a$a%ah nilai_aBal8nilai_akhir-1.

1on oh ana%"s"s ( A%gor"ma $an program pe%un'uran roke $engan h" ung mun$ur) mu%a" $ar" 1I) >) H) E) I.
Algoritma ) "UN'URAN_R2! T { Mitung mundur 0eluncuran D !"ARA#$ ! ( integer D #!R$)#$ Lor k,1;; doBnto ; do Brite*k+ endLor roket }

0rogram ) "UN'URAN_R2! TA { hitung mundur 0eluncuran roket } uses BincrtA *. D !"ARA#$ .+ 9ar k ( integerA *. D #!R$)#$ .+ begin Lor k(C1; doBnto ; do Briteln*k+A Brite*Q1o5555Q+A { roket meluncur }

Struktur 234 !
Ben uk umum (
Bhile kondisi do aksi endBhile

Aks" .a au run unan aks"/ akan $"%aksanakan&eru%angka%" se%ama kon$"s" &en"%a" rue. :"ka kon$"s" &ern"%a" +a%se) &a$an pengu%angan "$ak akan $"%aksanakan) #ang &erar " pengu%angan se%esa". 0ang harus $"perha "kan a$a%ah pengu%angan harus &erhen ". Pengu%angan #ang "$ak pernah &erhen " menan$akan &ah!a %og"ka a%gor" ma erse&u sa%ah. Pengu%angan &erhen " apa&"%a kon$"s" &ern"%a" +a%se. Agar kon$"s" sua u saa &ern"%a" +a%se) maka $" $a%am &a$an pengu%angan harus a$a "ns ruks" #ang mengu&ah n"%a" peu&ah kon$"s". 1on oh ana%"sa ( D"&ua se,um%ah $a a &"%angan &u%a pos" "+ $ar" p"ran " masukan. Ban#akn#a $a a "$ak $"ke ahu" se&e%umn#a) e ap" akh"r pemasukan $a a a$a%ah &"%a $a a #ang $"masukkan &ern"%a" 3>>. B"%angan 3>> akan $""n erpre as"kan se&aga" an$a &erhen " proses peng"s"an $a a. K" a $"m"n a mengh" ung ,um%ah se%uruh n"%a" #ang $"maskkan .3>> "$ak ermasuk $a a #ang $",um%ahkan/. Se&aga" "%us ras" ( ". m"sa%kan $"&a'a &er uru 3 uru $a a( 1I) 9) ;) H) 3>>. maka ,um%ah se%uruh n"%a" a$a%ah 1I N 9 N ; N H C 4? "". m"sa%kan $"&a'a &er uru 3 uru $a a ( >) 3>> maka ,um%ah se%uruh n"%a" a$a%ah > """. m"sa%kan $"&a'a &er uru 3 uru $a a ( 3>> maka ,um%ah se%uruh n"%a" a$a%ah I
Algoritma 7U3"AM_DATAA { menghitung jumlah seluruh nilai bilangan bulat 0ositiL yang dibaca dari 0iranti masukan. akhir 0embacaan data( 8?? } D !"ARA#$ G ( integer { data yang dibaca } jumlah ( integer { 0encatat jumlah seluruh data } D #!R$)#$ jumlah,; read*G+ Bhile G H 8?? do jumlah,jumlah - G read*G+ endBhile {inisialisasi 0enjumlah bilangan}

0rogram 7U3"AM_DATAA { menghitung jumlah seluruh nilai bilangan bulat 0ositiL yang dibaca dari 0iranti masukan. akhir 0embacaan data( 8?? } uses BincrtA *. D !"ARA#$ .+ 9ar G% jumlah ( integerA

*. D #!R$)#$ .+ begin jumlah(C;A Brite*Q!etikkan sembarang bilangan bulat * 8?? mengakhiri +Q+A readln*G+A Bhile G :@ 8?? do begin jumlah(Cjumlah - GA Brite*Q!etikkan sembarang bilangan bulat * 8?? mengakhiri +Q+A readln*G+A endA

Struktur 1!P!AT
Ben uk umum (
re0eat aksi until kondisi

No as" "n" men$asarkan pengu%angan pa$a kon$"s" &oo%ean. Aks" $" $a%am &a$an ka%ang $"u%ang samopa" kon$"s" &oo%ean &ern"%a" rue. Dengan ka a %a"n) ,"ka kon$"s" &oo%ean mas"h +a%se)

pengu%angan mas"h erus $"%akukan. Karena proses pengu%angan sua u saa harus &erhen ") maka $" $a%am &a$an pengu%angan harus a$a aks" #ang mengu&ah n"%a" peu&ah kon$"s". S ruk ur REPEAT mem"%"k" makna #ang sama $engan =HILE) $an $a%am &e&erapa masa%ah ke$ua s ruk ur erse&u komp%emen sa u sama %a"n. 1on oh ana%"sa ( A%gor" ma $an program un uk mengh" ung ,um%ah angka $ar" 1 sampa" N. N"%a" N $"&a'a $ar" papan kun'". 2"sa%n#a N C ;) maka 1 N 4 N 7 N 9 N ; C 1;.
Algoritma ) N7U3"AMAN_D R TA { menjumlahkan deret 1 - < - = - ... - N dengan N adalah bilangan bulat 0ositiL yang dibaca dari 0iranti masukan. jumlah deret dicetek ke 0iranti keluaran. } D !"ARA#$ N% k% jumlah ( integerA D #!R$)#$ read*N+ jumlah,; k,1 re0eat jumlah,jumlah - k k,k-1 0rogram ) N7U3"AMAN_D R TA { menjumlahkan deret 1 - < - = - ... - N dengan N adalah bilangan bulat 0ositiL yang dibaca dari 0iranti masukan. jumlah deret dicetek ke 0iranti keluaran. } uses BincrtA *. D !"ARA#$ .+ 9ar N% k% jumlah ( integerA *. D #!R$)#$ .+ begin Brite*QN C Q+Areadln*N+A k(C1A re0eat jumlah(Cjumlah - kA k(Ck-1A until k @ NA {jumlah deret sekarang} {suku deret berikutnya} { suku deret } {banyaknya suku deret} jumlah(C;A { inisialisasi jumlah deret } {jumlah deret sekarang} {suku deret berikutnya} {banyaknya suku deret} { inisialisasi jumlah deret } { suku deret yang 0ertama }

II.F PROSEDUR DAN *UNGSI


Se&uah program #ang &a"k a$a%ah program #ang mem&ag" permasa%ahan u ama men,a$" &ag"an3&ag"an ke'"% $"mana se "ap &ag"an ke'"% $" angan" o%eh se&uah su&program) 'ara "n" $"se&u $engan mo$u%ar programm"ng .pemrograman er&ag"5 erpe'ah/. 1ara "n" ermasuk pemrograman ers ruk ur $an sanga $"$ukung o%eh &ahasa Pas'a%. Un uk " u) Pas'a% e%ah men#e$"akan $ua ,en"s su&program) #a" u pro'e$ure $an +un' "on .prose$ur $an +ungs"/. Dengan mo$u%ar programm"ng) program %e&"h mu$ah $"&a'a $an $"menger ". Se%a"n " u) pem&enahan program $an pene%usuran ,a%ann#a program .$e&ugg"ng/ men,a$" %e&"h mu$ah se&a& $apa %angsung $"ke ahu" su&program mana #ang &er,a%an "$ak sesua" $engan #ang $"harapkan.
1.

Prosedur

Prose$ur a$a%ah su&program #ang mener"ma masukan e ap" "$ak mempun#a" ke%uaran se'ara %angsung. Pa$a $asarn#a) s ruk ur prose$ur sama $engan s ruk ur a%gor" ma #ang su$ah an$a kena%. Se "ap prose$ur mempun#a" nama #ang un"k. Nama prose$ur se&a"kn#a $"a!a%" $engan ka a ker,a karena prose$ur &er"s" sua u ak "@" as. No as" a%gor" ma #ang $"gunakan un uk men$e+"n"s"kan s ruk ur prose$ur . anpa parame er/ a$a%ah ( Procedur namaprosedur {spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan oleh prosedur ini.} {k.awal : keadaan sebelum prosedur dilaksanakan} {k.akhir : keadaan setelah prosedur dilaksanakan} Deklarasi {semua nama yang dipakai dalam prosedur dan hanya berlaku local di dalam prosedur di definisikan disini} Deskripsi {badan prosedur, yang berisi kumpulan instruksi}

1ara men$ek%aras"kan se&uah prose$ur a$a%ah se&aga" &er"ku (


0rocedure AA { nama 0rosedur adalah A } begin { statement } endA

Pen$ek%aras"an prose$ur $" a as a$a%ah un uk prose$ur #ang "$ak memer%ukan parame er. Parame er a$a%ah $a a masukan un uk su&program #ang nan "n#a akan $"proses %e&"h %an,u $a%am su&program erse&u . Da%am Pas'a%) $"kena% $ua ma'am parame er #a" u ( 1. parame er n"%a" .@a%ue parame er/) $an 4. parame er re+erens" .re+eren'e parame er/. 1ara men$ek%aras"kan parame er erse&u a$a%ah se&aga" &er"ku (
0rocedure &*X ( integerA 9ar 4 ( integer+A begin { statement } endA

Pa$a $ek%aras" prose$ur $" a as) parame er _ a$a%ah parame er n"%a" se$ang parame er 0 a$a%ah parame er re+erens". :a$") pen$ek%aras"an parame er re+erens" $"$ahu%u" o%eh reser@e$ !or$ @ar. Parame er re+erens" "n" nan "n#a $apa $",a$"kan se&aga" @ar"a&e% ke%uaran $ar" prose$ur. Un uk %e&"h memaham" penggunaan prose$ur $a%am Pas'a%) perha "kan 'on oh program $" &a!ah "n" (
0rogram )rosedurA uses BincrtA 9ar &il_1% &il_<% Masil ( integerA 0rocedure ABalA

begin /riteln*Q"atihan )ascal < ( )rosedur dan NungsiQ+A /riteln*Q88888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure &aca_DataA begin /rite*Q3asukkan bilangan 0ertama ( Q+A Readln*&il_1+A /rite*Q3asukkan bilangan kedua ( Q+A Readln*&il_<+A /ritelnA endA 0rocedure !ali*A%& ( integer+A 9ar $ ( integerA begin Masil (C ;A Lor $ (C 1 to & do Masil (C Masil - AA endA 0rocedure !alikan*A%& ( integerA 9ar ' ( integer+A 9ar $ ( integerA begin ' (C ;A Lor $ (C 1 to & do ' (C ' - AA endA begin 'lr#crA ABalA &aca_DataA !ali*&il_1% &il_<+A /riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%Masil(>+A !alikan*&il_1% &il_<% Masil+A /riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%Masil(>+A /ritelnA /rite*QTekan ReadlnA end. nter...Q+A

Perha "kan program $" a as. Dua prose$ur erakh"r mem"%"k" kem"r"pan) &e$an#a han#a pa$a ,um%ah parame er $an @ar"a&e% has"% perka%"ann#a. Un uk %e&"h ,e%as) ,a%ankan program $an perha "kan apa #ang $"%akukan o%eh $ua prose$ur erse&u maka akan nampak per&e$aan ke$uan#a.

+5 / u n g s i
*ungs" a$a%ah su&program #ang mener"ma masukan $an mempun#a" ke%uaran se'ara %angsung. 1ara men$ek%aras"kan se&uah +ungs" a$a%ah se&aga" &er"ku (
Lunction A ( integerA { nama Lungsi adalah A dengan } begin { ti0e data keluaran adalah integer } { statement } A (C =A { nilai yang dikeluarkan Lungsi } endA

Se&aga"mana $a%am prose$ur) +ungs" ,uga $apa $"&er"kan parame er. 1ara men$ek%aras"kan +ungs" $engan parame er ,uga "$ak ,auh &er&e$a $engan pen$ek%aras"an parame er pa$a prose$ur.
Lunction &*X ( integer+ ( integerA begin { statement } & (C X . <A endA

Per&e$aan u ama an ara prose$ur $an +ungs" a$a%ah $a%am menghas"%kan ke%uaran. =a%aupun prose$ur &"sa menghas"%kan n"%a" ke%uaran) e ap" n"%a" erse&u "$ak $apa $"am&"% se'ara %angsung) me%a"nkan harus $"am&"% me%a%u" parame er re+erens". Se$angkan ke%uaran $ar" +ungs" $apa $"am&"% %angsung $ar" +ungs" erse&u . Un uk %e&"h memaham" per&e$aan prose$ur $an +ungs") perha "kan 'on oh &er"ku "n" (
0rogram NungsiA uses BincrtA

9ar &il_1% &il_<% Masil ( integerA 0rocedure ABalA begin /riteln*Q"atihan )ascal < ( )rosedur dan NungsiQ+A /riteln*Q88888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure &aca_DataA begin /rite*Q3asukkan bilangan 0ertama ( Q+A Readln*&il_1+A /rite*Q3asukkan bilangan kedua ( Q+A Readln*&il_<+A /ritelnA endA Lunction !ali*A%& ( integer+ ( integerA 9ar $%7 ( integerA begin 7 (C ;A Lor $ (C 1 to & do 7 (C 7 - AA !ali (C 7A endA 0rocedure !alikan*A%& ( integerA 9ar ' ( integer+A 9ar $ ( integerA begin ' (C ;A Lor $ (C 1 to & do ' (C ' - AA endA begin

'lr#crA ABalA &aca_DataA /riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%!ali*&il_1%&il_<+(>+A !alikan*&il_1% &il_<% Masil+A

/riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%Masil(>+A /ritelnA /rite*QTekan ReadlnA end. nter...Q+A

Perha "kan program $" a as. Prose$ur Ka%"kan $an +ungs" Ka%" mempun#a" ke%uaran #ang sama) e ap" 'ara mengam&"% ke%uarann#a &er&e$a. Perha "kan $an ,e%askan apa #ang er,a$" ,"ka &ar"s keempa $a%am program u ama #ang semu%a per"n ah (
/riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%!ali*&il_1%&il_<+(>+A

$"u&ah men,a$" (
/riteln*&il_1(=%Q G Q%&il_<(=%Q C Q%!alikan*&il_1%&il_<%Masil+(>+A

&5 1ekursi
Da%am Pas'a%) a$a sa u ke%e&"han $a%am 'ara pemangg"%an su&program. Pas'a% meng","nkan pemangg"%an sua u su&program $ar" $a%am su&program " u sen$"r". T"$ak semua &ahasa pemrograman meng","nkan 'ara pemangg"%an su&program seper " " u karena akan &an#ak memakan memor". Un uk %e&"h ,e%asn#a perha "kan po ongan program $" &a!ah "n" (
0rocedure YA begin { statement } YA endA

Pa$a &ar"s erakh"r prose$ur ` $" a as) er$apa pemangg"%an kem&a%" erha$ap prose$ur `)

seh"ngga prose$ur $" a as "$ak akan pernah se%esa" $",a%ankan se&a& &eg" u sampa" pa$a &ar"s erakh"r $ar" prose$ur) program akan kem&a%" %ag" ke a!a% prose$ur. 0ang er,a$" a$a%ah sema'am peru%angan anpa per"n ah peru%angan Pas'a%) $an peru%angan $engan 'ara "n" $"se&u $engan rekurs". Rekurs" &er%aku erha$ap semua su&program $a%am Pas'a%) #a" u prose$ur $an +ungs". Dengan a$an#a rekurs" "n") &an#ak a%gor" ma kompu er men,a$" %e&"h mu$ah $"&ua programn#a. Ber"ku "n" a$a%ah program mengh" ung suku &an#ak Legen$re) sa%ah sa u 'on oh perh" ungan #ang $apa $"se%esa"kan $engan menggunakan rekurs" (
0rogram RekursiA uses BincrtA 9ar 7um_#uku% $ ( integerA &il_X ( realA Lunction "egendre*X ( realA N ( integer+ ( realA 9ar #uku_1% #uku_< ( realA begin iL N C ; then "egendre (C 1 else iL N C 1 then "egendre (C X else begin #uku_1 (C **<.N 8 1+ . *X . "egendre*X% N81+++ Z NA #uku_< (C **N81+ . "egendre*X% N8<++ Z NA "egendre (C #uku_1 - #uku_<A endA endA 0rocedure ABalA begin /riteln*Q"atihan )ascal < ( )rosedur dan NungsiQ+A /riteln*Q88888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure &aca_DataA

begin /riteln*Q3enghitung #uku &anyak "egendreQ+A /ritelnA /rite*Q#am0ai suku ke ( Q+A Readln*7um_#uku+A /rite*Q3asukkan nilai X ( Q+A Readln*&il_X+A /ritelnA endA begin 'lr#crA ABalA &aca_DataA Lor $ (C ; to 7um_#uku do begin /riteln*Q#uku ke8Q%$(<%Q% Nilainya C Q%"egendre*&il_X% $+(U(=+A endA /ritelnA /rite*QTekan ReadlnA end. nter...Q+A

Un uk %e&"h ,e%as memaham" program) ,a%ankan program $engan *?. Perha "kan pu%a apa #ang $"%akukan o%eh +ungs" Legen$re. Ama " peru&ahan @ar"a&e%3@ar"a&e% #ang er%"&a $a%am +ungs".

II.? ARRA0 DAN RE1ORD


Da%am &ahasa Pas'a%) se'ara gar"s &esar $"kena% $ua ma'am "pe $a a #a" u "pe $a a se$erhana .pr"m" "@e #pe/ $an "pe $a a komp%eks .'omp%eB #pe/. 1on oh "pe $a a se$erhana a$a%ah "pe numer"k ."n eger $an rea%/) "pe $a a karak er) "pe $a a &oo%ean $an "pe $a a enumeras". 1on oh "pe $a a komp%eks a$a%ah s r"ng) arra# .%ar"k/) re'or$ $an o&,e' . T"pe $a a se$erhana a$a%ah "pe $a a #ang han#a mampu men#"mpan sa u n"%a" "ap sa u @ar"a&e%n#a. Se&a%"kn#a "pe $a a komp%eks a$a%ah "pe $a a #ang mampu men#"mpan %e&"h $ar" sa u n"%a" $a%am "ap sa u @ar"a&e%n#a. Da%am %a "han "n" han#a akan $"&ahas $ua "pe $a a komp%eks #a" u arra# $an re'or$.

$5 A r r a 6
Arra# a$a%ah "pe $a a komp%eks #ang e%emen3e%emenn#a mempun#a" "pe $a a #ang sama. :um%ah e%emen arra# &ers"+a e ap $an "$ak &"sa $" am&ah a au $"kurang" se e%ah pen$ek%aras"ann#a. T"ap e%emen mempun#a" nomer "n$eks sen$"r" $an pengaksesan erha$ap e%emen arra# $"%akukan $engan menun,ukkan nomer "n$eks $ar" e%emen #ang akan $"akses. 1ara pen$ek%aras"an sua u @ar"a&e% &er "pe arra# a$a%ah se&aga" &er"ku (
9ar A ( arrayS1..1;V oL integerA

Pa$a po ongan program $" a as) maksu$n#a a$a%ah se&aga" &er"ku ( @ar"a&e% A &erupa arra# $ar" "n eger $engan ,um%ah e%emen se&an#ak 1I) nomer "n$eks erke'"% a$a%ah 1 $an nomer "n$eks er&esar a$a%ah 1I. Un uk mengakses e%emen $ar" @ar"a&e% A $apa $"%akukan $engan menun,ukkan nomer "n$eks e%emen A seper " "n" (
ASnomer_indeksV

'on oh ( AO1P (C 1ID Un uk %e&"h memaham" penggunaan arra# $a%am program) perha "kan 'on oh program $" &a!ah "n" (
0rogram NibonacciA uses BincrtA 9ar $ ( integerA

Data ( arrayS1..1;V oL integerA 0rocedure ABalA begin /riteln*Q)raktikum D!) $$$ ( Array dan RecordQ+A /riteln*Q888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure NiboA begin Lor $ (C 1 to 1; do begin iL $ : = then DataS$V (C $ 8 1 else DataS$V (C DataS$81V - DataS$8<VA endA /riteln*QDeret Nibonacci suku ke81 hingga suku ke81; (Q+A Lor $ (C 1 to 1; do /rite*DataS$V(=+A /ritelnA endA begin 'lr#crA ABalA NiboA /ritelnA /rite*QTekan ReadlnA end. nter...Q+A

Perha "kan program $" a as) eru ama 'ara mengakses @ar"a&e% arra# pa$a prose$ur *"&o. Un uk %e&"h memaham" ,a%ann#a program) ,a%ankan program $engan *? $an perha "kan peru&ahan e%emen3e%emen @ar"a&e% Da a #ang &erupa arra#. :"ka program $" a as e%ah $"menger ") &ua %ah program mengh" ung $ere *"&ona''" e ap" "$ak menggunakan @ar"a&e% arra#. Kemu$"an &an$"ngkan $an perha "kan per&e$aan ke$ua program erse&u . Arra# #ang $"gunakan pa$a program $" a as a$a%ah arra# &er$"mens" ungga% a au arra# &er$"mens" sa u. Dengan $em"k"an) $apa pu%a $"$ek%aras"kan @ar"a&e% arra# $engan $"mens" %e&"h $ar" sa u a au arra# &er$"mens" &an#ak. Ber"ku a$a%ah 'ara men$ek%aras"kan arra# &er$"mens" $ua (

An ara $"mens" sa u $engan $"mens" %a"nn#a $"p"sahkan o%eh an$a koma .)/) $em"k"an ,uga un uk men$ek%aras"kan arra# &er$"mens" %e&"h $ar" $ua. 1ara mengakses e%emen arra# ,uga "$ak ,auh &er&e$a $engan 'ara mengakses e%emen arra# &er$"mens" sa u) #a" u menggunakan nomer "n$eksn#a. 1on ohn#a se&aga" &er"ku ( AO4)7P (C 1ID ar "n#a e%emen #ang er%e ak pa$a nomer 4 $"mens" per ama $an nomer 7 $"mens" ke$ua $""s" $engan n"%a" 1I. Arra# &er$"mens" $ua "n" &an#ak $"gunakan $a%am perh" ungan ma r"k) o%eh se&a& " u arra# &er$"mens" $ua $"se&u ,uga $engan arra# ma r"k. Perha "kan 'on oh program &er"ku "n" (
9ar A ( arrayS1..1;%1..1;V oL integerA 0rogram 7umlah_3atrikA uses BincrtA const 2rde C =A ty0e 3atrik C arrayS1..orde%1..ordeV oL integerA 9ar 31% 3<% M ( matrikA $% 7 ( integerA 0rocedure ABalA begin /riteln*Q"atihan )ascal = ( Array dan RecordQ+A /riteln*Q888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure 7umlah3atrik*9ar 3at1% 3at<% 3atMasil ( matrik+A begin

Lor $ (C 1 to orde do Lor 7 (C 1 to orde do 3atMasilS$%7V (C 3at1S$%7V - 3at<S$%7VA endA 0rocedure &acaData*9ar 3at ( matrik+A begin Lor $ (C 1 to orde do Lor 7 (C 1 to orde do begin /rite*QNilaiSQ%$%Q%Q%7%QV C Q+A Readln*3atS$%7V+A endA endA 0rocedure Tulis3atrik*9ar 3at ( matrik+A begin Lor $ (C 1 to orde do begin Lor 7 (C 1 to orde do begin /rite*3atS$%7V(>+A endA /ritelnA endA endA begin 'lr#crA ABalA /riteln*Q$si matrik 0ertama (Q+A &acaData*31+A /ritelnA /riteln*Q$si matrik kedua (Q+A &acaData*3<+A /ritelnA 7umlah3atrik*31% 3<% M+A /riteln*Q)enjumlahan matrik 0ertama dan kedua (Q+A Tulis3atrik*M+A /ritelnA /rite*QTekan ReadlnA nter...Q+A

end.

Perha "kan program $" a as. Teru ama 'ara mengakses "s" arra# $ua $"mens" se'ara &eruru an seper " pa$a "ga prose$ur erakh"r.

4.

1ecord

Re'or$ a$a%ah "pe $a a komp%eks #ang e%emen3e%emenn#a &o%eh mempun#a" "pe $a a #ang &er&e$a. Re'or$ %e&"h komp%eks $ar"pa$a arra# karena re'or$ merupakan kumpu%an &e&erapa @ar"a&e% $engan "pe $a a #ang &er&e$a. Ber&e$a $engan arra# #ang "ap e%emenn#a $" an$a" $engan nomer "n$eks maka re'or$ $" an$a" $engan nama @ar"a&e% anggo an#a. 1ara mengakses e%emen $ar" re'or$ $"%akukan $engan men#e&u kan nama @ar"a&e% anggo a se e%ah men#e&u kan nama re'or$ #ang akan $"akses. D" an ara nama re'or$ $an nama @ar"a&e% anggo a $"p"sahkan an$a " "k ../. Un uk %e&"h memaham" penggunaan re'or$ $a%am program) perha "kan 'on oh
9ar "n" ( &er"ku & ( record X ( integerA 0rogram 7umlah_!om0leksA 4 ( realA uses BincrtA endA Ty0e !om0leks C record bil_real ( integerA bil_imaj ( integerA endA 9ar !1% !<% M ( kom0leksA 0rocedure ABalA begin /riteln*Q "atihan )ascal = ( Array dan RecordQ+A /riteln*Q888888888888888888888888888888888888Q+A /ritelnA /riteln*QNama ( ____________________Q+A /riteln*QN$3 ( __________Q+A /ritelnA endA 0rocedure 7umlah!om0leks*9ar !om01% !om0<% !om0Masil ( kom0leks+A begin !om0Masil.bil_real (C !om01.bil_real - !om0<.bil_realA !om0Masil.bil_imaj (C !om01.bil_imaj - !om0<.bil_imajA endA 0rocedure &acaData*9ar !om0 ( kom0leks+A begin /rite*Q&ilangan real ( Q+A

Readln*!om0.bil_real+A /rite*Q&ilangan imajiner ( Q+A Readln*!om0.bil_imaj+A endA 0rocedure Tulis!om0leks*9ar !om0 ( kom0leks+A begin /rite*Q*Q%!om0.bil_real(=%Q - Q%!om0.bil_imaj(=%Qi+Q+A endA begin 'lr#crA ABalA /riteln*Q$si bilangan kom0leks 0ertama (Q+A &acaData*!1+A /ritelnA /riteln*Q$si bilangan kom0leks kedua (Q+A &acaData*!<+A /ritelnA 7umlah!om0leks*!1% !<% M+A /riteln*Q)enjumlahan bilangan kom0leks 0ertama dan kedua (Q+A Tulis!om0leks*!1+A /rite*Q - Q+A Tulis!om0leks*!<+A /rite*Q C Q+A Tulis!om0leks*M+A /ritelnA /ritelnA /rite*QTekan ReadlnA end. nter...Q+A

Perha "kan program $" a as. Un uk %e&"h ,e%asn#a) ,a%ankan program $engan *? seh"ngga akan er%"ha uru an ,a%ann#a program. Perha "kan pu%a &aga"mana 'ara mengakses e%emen re'or$ seper " pa$a prose$ur :um%ahKomp%eks.

BAB III PENUTUP


III.1 KESI2PULAN
Pascal a$a%ah &ahasa pemrograman #ang per ama ka%" $" &ua o%eh Pro+esor N"k%aus ="r h) seorang anggo a In erna "ona% *e$era "on o+ In+orma "on Pro'ess"ng .I*IP/ pa$a ahun 1>?1. Dengan mengam&"% nama $ar" ma ema "ka!an Peran'"s) B%a"se Pas'a%) #ang per ama ka%" men'"p akan mes"n pengh" ung) Pro+esor N"k%aus ="r h mem&ua &ahasa Pas'a% "n" se&aga" a%a &an u un uk menga,arkan konsep pemrograman kompu er kepa$a mahas"s!an#a. Se%a"n " u) Pro+esor N"k%aus ="r h mem&ua Pas'a% ,uga un uk me%engkap" kekurangan3kekurangan &ahasa pemrograman #ang a$a pa$a saa " u. Bahasa Pas'a% a$a%ah &ahasa pemrograman "ngka "ngg" .h"gh %e@e% %anguage/ #ang 'ukup popu%er) khususn#a $" In$ones"a. Ha% "n" $"se&a&kan &ahasa Pas'a% %e&"h mu$ah $"paham" $"&an$"ng &ahasa pemrograman %a"nn#a) seper " &ahasa 1) &ahasa assem&%er) $an %a"n se&aga"n#a. Se%a"n " u) &ahasa Pas'a% a$a%ah &ahasa pemrograman #ang ers ruk ur $an %e&"h men$eka " &ahasa manus"a .&ahasa Inggr"s/ seh"ngga sanga 'o'ok $" erapkan $a%am $un"a pen$"$"kan. Da%am %a "han "n") $"gunakan 'omp"%er *reePas'a% .!!!.+reepas'a%.org/ #ang &ers"+a open

sour'e $an erse$"a $" &an#ak opera "ng s#s em .DOS) ="n$o!s) L"nuB) 2a'"n osh) *reeBSD) $an %a"n se&aga"n#a/. Se&e%um mempe%a,ar" pemrograman $engan &ahasa Pas'a%) se&a"kn#a menger " er%e&"h $ahu%u en ang konsep $an ekn"k pemrograman. Konsep pemrograman a$a%ah &en uk $asar $ar" sua u program #a" u a%gor" ma program. A%gor" ma a$a%ah uru an proses #ang $"%akukan o%eh se&uah program) umumn#a a%gor" ma "n" &er&en uk +%o!'har .$"agram a%"r/. Tekn"k pemrograman a$a%ah 'ara mengu&ah sua u a%gor" ma men,a$" program #ang se&enarn#a $engan &ahasa pemrograman er en u. Konsep $an ekn"k pemrograman a$a%ah $asar $ar" pemrograman kompu er) $engan menguasa" ke$ua ha% erse&u maka mempe%a,ar" pemrograman men,a$" %e&"h mu$ah. Ke%e&"han $ar" &ahasa pemrograman Pas'a% a$a%ah(

Tipe Data Standar) "pe3 "pe $a a s an$ar #ang e%ah erse$"a pa$a ke&an#akan &ahasa pemrograman. Pas'a% mem"%"k" "pe $a a s an$ar( boolean) integer) real) char) string) 7ser defined Data T6pes) programmer $apa mem&ua "pe $a a %a"n #ang $" urunkan $ar" "pe $a a s an$ar. Strongl68t6ped) programmer harus menen ukan "pe $a a $ar" sua u @ar"a&e%) $an @ar"a&e% erse&u "$ak $apa $"pergunakan un uk men#"mpan "pe $a a se%a"n $ar" +orma #ang $" en ukan.

Terstruktur) mem"%"k" s"n aks #ang memungk"nkan penu%"san program $"pe'ah men,a$" +ungs"3+ungs" ke'"% .procedure $an function/ #ang $apa $"pergunakan &eru%ang3u%ang. Sederhana dan !kspresif) mem"%"k" s ruk ur #ang se$erhana $an sanga men$eka " &ahasa manus"a .&ahasa Inggr"s/ seh"ngga mu$ah $"pe%a,ar" $an $"paham".

Bahasa PAS1AL ,uga merupakan &ahasa #ang $"gunakan se&aga" s an$ar &ahasa pemrograman &ag" "m nas"ona% O%"mp"a$e Kompu er In$ones"a .TOKI/. Se%a"n " u) Bahasa PAS1AL mas"h $"gunakan $a%am IOI .International Olympiad in Informatics/.

DA*TAR PUSTAKA
h p(55&e%a,ar3program.ueuo.'om h p(55goog%e.'om h p(55!"k"pe$"a.'om h p(55nus"nau.'om mun"r)R"na%$".4II4.Algoritma dan Pemrograman.Ban$ung(In+orma "ka.

Anda mungkin juga menyukai