Pemrograman Dasar Contoh-1: Hitunglah nilai x, y, z, p, dan q dengan persamaan : x = a + b y = a x b z = a/b p = (a² + b²)/ √b q = ((b² - a) x (a + b))/ (a x b ) Data masukan adalah nilai a dan b. Jawab : Yang perlu diperhatikan adalah tipe variabel dari x,y,z,p,dan q. Variabel z,p, q harus bertipe real karena meyimpan hasil pembagian yang nilainya berupa bil. desimal. Sedangkan a,b,x, dan y bisa bertipe integer (bil. bulat) atau real (bil. desimal).
Pr o gr am Program Dasar1; uses crt; z:= a/b; p:= (sqr(a) + sqr(b))/sqrt(b); q:= ((sqr(b)-a)*x)/y; var a,b,x,y : integer; z,p,q : real; Begin c l r s cr ; write('Nilai a = ');readln(a); write('Nilai b = ');readln(b); x:= a + b; y:= a*b; writeln('Hasil Perhitungan'); writeln('================='); writeln('x = ',x); writeln('y = ',y); writeln('z = ',z:6:2); writeln('p = ',p:6:2); writeln('q = ',q:6:2); readkey; End.
Contoh-2: Car i la h h a s i l b a gi d a n s i s a pe m b a g ia n d ar i 2 bu a h bilangan bulat (integer). Jawab : Gunakan fungsi div untuk mencari hasil bagi dan fungsi mod untuk mecari sisa pembagian dari 2 buah bil. bulat.
Pr o gr am Program Dasar2; uses crt; p:= a div b; q:= b div a; writeln; writeln('Hasil Perhitungan'); var a,b,x,y,p,q : integer; Begin c l r s cr ; write('Nilai a = ');readln(a); write('Nilai b = ');readln(b); x:= a mod b ; y:= b mod a; writeln('================='); writeln('x = ',x); writeln('y = ',y); writeln('p = ',p); writeln('q = ',q); re a d k e y; End.
IF-THEN Bentuk : If <kondisi > then Begin <pernyataan-1> < per n ya t aa n - 2 > End; Digunakan untuk memilih sebuah Pilihan pernyataan. Jika kondisi bernilai True, maka kerjakan pernyataan dalam blok Begin-End. Jika salah, kerjakan pernyataan selanjutnya. Contoh : Tentukan 3 buah bil. n, x, dan y. Jika x lebih besar dari n, ganti nilai x menjadi nilai n. Jika y lebih kecil dari n, ganti nilai y menjadi nilai n.
Program Program IFTHEN; Uses crt; write('Masukkan bil. y ='); readln(y); w r it e l n; Var x,y,n : real; Begin cl r sc r; write('Masukkan bil. n ='); readln(n); write('Masukkan bil. x ='); readln(x); if n>x then x:=n; if y<n then y:=n; writeln(' Nilai x = ',x:6:2); writeln(' Nilai y = ',y:6:2); r e a dl n; End.
IF-THEN-ELSE Bentuk : If <kondisi> then Begin <pernyataan-1>; <pernyataan-2>; En d else Begin <pernyataan-3>; <p e r ny ataa n - 4 >; End; Digunakan untuk memilih salah satu dari 2 pilihan yang ada. Jika kondisi bernilai True,maka kerjakan pilihan I (pernyataan 1 & 2). Jika bernilai False, kerjalan pilihan II (pernyataan 3 & 4). Contoh-2: Tentukanlah satu nilai input, apakah bil. positip atau negatip.
Program Program IFTHEN1; Uses crt; Var n : integer; Begin clrscr; write('Masukkan bilangan n = '); readln(n);writeln; if n>0 then writeln('Anda memasukkan bilangan positip') {titik koma tidak boleh} else writeln('Anda memasukkan bilangan negatip'); read l n; End.
O p er ator A N D , O R O per a to r A N D d an OR d i g u n a k an u n t uk m e m b a n d i n gk an d u a pernyataan logika pada kondisi IF. M i sa l n ya a n d a d i n y a t a k an ‘L u l u s ” j i k a N il a i Praktikum (p) sbb : IF (n>=80) AND (p>=60) then writeln(‘Lulus’); U j i an ( n ) d an Ni l ai Artinya jika kedua kondisi bernilai True, maka dinyatakan “Lulus”. IF (n>=80) OR (p>=60) then writeln(‘Lulus’); Artinya jika salah satu kondisi bernilai True, maka dinyatakan “Lulus”.
Contoh Buatlah program untuk menentukan nilai kelulusan. yang ditentukan sebagai berikut: <= N<= 40 40< N <=55 55<N <=65 65<N<=75 75<N<=100 : E : D : C : B : A Bila nilai input 55, maka akan ditampilkan nila D.
Program Program LOGIKA_AND_DLM_IF; uses crt; var n: integer; w r i t el n ( ' N il a i C' ) else if( 6 5< n ) A N D ( n <= 7 5) t hen writeln('Nilai B') else if( 7 5< n ) A N D ( n <= 100 ) t hen w r i t el n ( ' N il a i A ' ) else writeln('Nilai masukan s a l a h ' ); readkey; End. Begin clrscr; write('Input nilai N = ');readln(n); if( >= n ) A N D ( n <= 4 ) t hen writeln('Nilai E') else if( 4 > n ) A N D ( n <=55) t hen writeln('Nilai D') else if(55<= n ) A N D ( n <= 6 5) t hen
Case - of Bentuk : Case <Variabel> of Label-1 : Begin – End; Label-2 : Begin – End; ... … Label… : Begin – End; End; Digunakan untuk memilih salah satu pilihan dari beberapa pilihan yang ada. Misalnya, Jika Variabel pada case-of nilainya sama dengan 4, maka pilihan dengan label 4 yang akan dikerjakan.
Contoh Tentukan nilai masukan berupa huruf ( A-E). Jika input salah satu nilai, maka akan diberikan keterangan lulus sbb : ' A ' : K e t : = ' S a ng a t B a ik ' ; 'B' : Ket := ' Baik ' ; 'C' : Ket := ' Cukup ' ; 'D' : Ket := ' Kurang ' ; 'E' : Ket := ' Gagal ' ;
Pr og r am 'A' : Ket := ' Sangat Baik ' ; 'B' : Ket := ' Baik ' ; 'C' : Ket := ' Cukup ' ; 'D' : Ket := ' Kurang ' ; Pr o g ram Cas e _ O f1; uses crt; Var : C h ar; : String [12]; Nil ai Ket Begin c l rscr; Write ('Nilai Huruf (A-E) = '); Readln(Nilai) ; Case Nilai Of 'E' : Ket := ' Gagal ' ; End; writeln; Write (' Nilai Anda = ', Ket) ; Readln ; End.
Contoh Nilai Kelulusan ditentukan sebagai berikut: <= N<= 40 : E 40< N <=55 : D 55<N <= 6 5 : C 65<N<=75 : B 7 5<N<= 1 00: A Buatlah program untuk menentukan nilai kelulusan. Mis. Bila nilai input 55, maka akan ditampilkan nila D. Bandingkan dengan cara penyelesaian pada IF-Then-Else.
Pr og r a m Program case_of2; uses crt; 0..40 : n2 := 'E'; 40..55 : n2 := 'D'; 55..65 : n2 := 'C'; 65..75 : n2 := 'B'; 75..100:n2 := 'A'; end; var n1 : integer; n2 : char; Begin Clrscr; write('Input Nilai angka = '); readln(n1); case n1 of writeln; writeln('Anda mendapat nilai:',n2); r e a dl n; End.
Perulangan For-To-Do dan For-Downto-Do Bentuk : For n1 to n2 do Begin <pernyataan-1>; <pernyataan-1>; ……… End; Untuk : For-to-do : n1 > n2 For-downto-do : n1 < n2
Contoh-1: Buatlah program untuk menampilkan data pada satu baris seperti berikut. 1 2 3 4 5 6 7 8 9 10 dan 20 19 18 17 16 15 14 13 12 1 1 10 9
Pr og r am Program Fortodo1; uses crt; var i : integer; Begin clrscr; w rit e l n ; w rit e l n; w rit e (i, ' ' ) ; for i:=1 to 10 do writeln;writeln;writeln; {pindah baris} for i:=20 downto 9 do write(i,' '); r ead k e y ; End.
Contoh-2 Buatlah program untuk menampilkan data seperti berikut : 11 12 13 14 13 12 11 10 11 12 13 14 13 12 11 10 11 12 13 14 13 12 11 10
Pr og r a m Program Fortodo2; uses crt; var i,j : integer; writeln;writeln; {pindah baris} for i:=1 to 3 do Begin Begin clrscr; writeln;writeln; for i:=1 to 3 do Begin for j:=11 to 14 do write(j,' '); writeln; {pindah baris} End; for j:=13 downto 10 do write(j,' '); writeln; {pindah baris} End; r ead k e y; End.
Pr og r am Program Fortodo3; uses crt; var i,j : integer; E nd; writeln; {pindah baris} Begin clrscr; w riteln; for i:=5 downto 1 do Begin for j:=1 to i do write(' ',j); writeln; {pindah baris} for i:=1 to 5 do Begin for j:=1 to i do write(' ',j); writeln; {pindah baris} End; writeln; {pindah baris}
for i:=5 downto 1 do Begin for j:=5 downto i do write(' ',j); writeln; {pindah baris} End; for i:=1 to 5 do Begin for j:=5 downto i do write(' ',j); writeln; {pindah baris} End; writeln; {pindah baris} r e a d k e y; End.
Loo p W h i l e- D o Bentuk : While <kondisi> do Begin <pernyataan>; ………… End; Selama kondisi pada while bernilai True, kerjakan pernyataan dalam blok Begin-End. Jika bernilai False, maka perulangan selesai.
Contoh : Buatlah program untuk menampilkan data sbb: 1 2 3 4 5 6 4 5 6 7 1 3 5 7 9 10 15 20 25
Program-1 Program Whiledo1; uses crt; in c( n ); End; w r i t eln ; w r i t eln ; n:=4; var n : byte; Begin c l rscr; n:=1; while n<=6 do Begin write(n,' '); ' , n ); while n<=7 do Begin w r i t eln (' inc(n); End; readln; End.
P r og r am - 2 : Program Whiledo2; uses crt; w r i t e l n ; w r i t e l n ; n:=10; while n<=25 do Begin writeln(' n:=n + 5; End; readln; End. var n : byte; Begin c l r sc r; n:=1; while n<=7 do Begin w r i t e ( n , ' '); n:=n + 2; End; ' , n );
Contoh : Buatlah program untuk menghitung Luas, Volume, dan Keliling balok dengan menggunakan Menu Pilihan sbb : Menu Perhitungan Balok Input Data Luas Balok V o l u m e B a l o k Keliling Balok Selesai Pilihan anda(1-5)
Program Program Menu1; uses crt; var p,q,r,k,v,l : real; x,ya : char; label selesai; go t o x y( 2 , 9) ; w r i t el n ( ' 3. V olu m e B a lo k' ); gotoxy(20,10);writeln('4. Keliling Balok'); gotoxy(20,11);writeln('5. Selesai'); gotoxy(20,13);write('Pilihan anda(1-5)? ');readln(x); case x of '1' : Begin clrscr; gotoxy(20,7);write('Panjang = ');readln(p); go t o x y( 2 , 8 ) ; w r i t e( 'L e b a r = ');readln(q); gotoxy(20,9);write('Tinggi = ');readln(r); Begin y a := 'Y' ; clrscr; while ya='Y' do Begin clrscr; gotoxy(20,5);writeln('Menu Perhitungan Balok'); gotoxy(20,7);writeln('1. Input Data'); gotoxy(20,8);writeln('2. Luas Balok'); E nd ;
'2' : Begin clrscr; L := 2*p*q + 2*p*r + 2*q*r; gotoxy(20,9); writeln('Luas = ',L:6:2); readln; clrscr; K:= 4*p + 4*q + 4*r; gotoxy(20,9); writeln('Keliling = ',k:6:2); readln; End; End; '3' : Begin clrscr; v:=p*q*r; g oto x y( 2 , 9); writeln('Volume = ',v:6:2); readln; End; '4' : Begin '5' : Begin goto selesai; E n d ; End; End; selesai: End.
Loop Repeat – Until Bentuk : Kerjakan blok pernyataan selama kondisi pada until bernilai salah. Jika kondisi pada until bernilai True, maka proses perulangan akan berhenti. Repeat Begin < pern y a t aan> ………….. End; Until <kondisi>
Program : Program RepeatUntil1; uses crt; var n : byte; writeln;writeln; n:=12; R epe at Begin ' , n ); Begin c l r s cr ; n:=1; R epe at Begin wr i t e (' inc(n); end; until (n=7); {Berhenti jika n = 7} wr i t e (' ' , n ); dec ( n ); e n d ; until (n=6); {Berhenti jika n = 6} re a d l n ; End.
Program RepeatUntil2; uses crt; var n : byte; n:= n + 3; end; until (n=19); {Berhenti jika n = 19} Begin c lr sc r ; n:=1; Repeat Begin write(' ' , n ) ; r ead l n; End .
Buatlah program menu seperti pada while-do u nt u k m eng h it u ng V o l um e, L u as, d an K eliling Balok dengan Repeat-Until. Menu Perhitungan Balok Input Data Luas Balok V olu m e B a lo k K e lilin g B a lo k Selesai P ilih a n a n d a ( 1 - 5 )
Program Program Menu1; uses crt; var p,q,r,k,v,l : real; x,ya : char; label selesai; Begin y a : = ' Y ' ; clrscr; R e p e a t Begin clrscr; gotoxy(20,5); writeln('Menu Perhitungan Balok'); gotoxy(20,7); writeln('1. Input Data'); gotoxy(20,8); writeln('2. Luas Balok'); gotoxy(20,9); writeln('3. Volume Balok'); gotoxy(20,10); writeln('4. Keliling Balok'); gotoxy(20,11); writeln('5. Selesai'); gotoxy(20,13); write('Pilihan anda(1-5)? '); readln(x); case x of
'1' : Begin clrscr; gotoxy(20,7);write('Panjang = '); readln(p); gotoxy(20,8);write('Lebar = '); readln(q); gotoxy(20,9);write('Tinggi = '); readln(r); End; '2' : Begin clrscr; L := 2*p*q + 2*p*r + 2*q*r; gotoxy(20,9);writeln('Luas = ',L:6:2); readln; End; '3' : Begin clrscr; v : = p * q * r ; gotoxy(20,9);writeln('Volume = ',v:6:2); readln; End; g o t ox y ( 20 , 9 ) ; w r i t e ln ( ' Ke lil i n g = ' , k : 6 : 2 ) ; readln; End; '5' : Begin g o t o s e l e s a i ; End; End; '4' : Begin clrscr; K:= 4*p + 4*q + 4*r; End; U n t il ( y a = ' T ' ) ; selesai: End.