1.WHILE DO
Program Pitagoras;
Uses Crt;
Var
A,B,C : Real;
I : Integer;
Begin
Clrscr;
I:=0;
While ( I < 3 ) do
Begin
Write(‘Nilai A adalah ‘);Readln(A);
Write(‘Nilai B adalah ‘);Readln(B);
C := sqrt(Sqrt(A) + Sqrt(B));
Writeln;
Writeln(‘Hasil adalah’,C:8:2);
Inc(I);
End;
Readln;
End.
Program Bilangan_Genap
Uses Crt;
Var
I :Integer;
Begin
Clrscr;
I:=0;
Writeln(‘Sepuluh bilangan genap pertama : ’);
While (I < 10 ) do
Writeln(I+2);
Readln;
End.
Program Luas_Segitiga_While_Do;
Uses crt;
Var
A,t:integer;
Ls:real;
Label
Ulang;
Clrscr;
Begin
Write(‘Masukkan Alas: ‘);Readln(a);
Write(‘Masukkan Tinggi: ‘);Readln(t);
While a or t = 0 Do
Begin
Goto ulang;
Ls:= a * t / 2;
Write(‘Hasil Luas Segitiga: ‘,ls);
Readln;
End.
program whiledalamwhile1;
var
a, b : integer;
begin
a:= 1;
while a <= 5 do
begin
b:= 1;
while b <= 5 do
begin
write (a : 2);
b:= b + 1;
end;
writeln;
a:= a + 1
end;
readln;
end.
2. Contoh kedua
Pada contoh ini akan menghasilkan output seperti berikut:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Kode Program:
program whiledalamwhile2;
var
a, b : integer;
begin
a:= 1;
while a <= 5 do
begin
b:= 1;
while b <= a do
begin
write (a : 2);
b:= b + 1;
end;
writeln;
a:= a + 1
end;
readln;
end.
Pada contoh ini akan menghasilkan output seperti berikut:
5 5 5 5 5
4 4 4 4
3 3 3
2 2
1
Kode Program:
program whiledalamwhile3;
var
a, b : integer;
begin
a:= 5;
while a >= 1 do
begin
b:= 1;
while b <= a do
begin
write (a : 2);
b:= b + 1;
end;
writeln;
a:= a - 1
end;
readln;
end.
var
i : integer;
begin
i := 0;
while i < 5 do
begin
writeln(i, ' Turbo Pascal');
i := i + 1;
end;
end.
Perulangan While-Do tersarang
Perulangan while-do tersarang (nested While-Do) merupakan perulangan while-do yang berada didalam perulangan while-do lainnya.
uses wincrt;
var
i, j : integer;
begin
i := 1;
while i <= 5 do
begin
j := 1;
while j <= i do
begin
write(j, ' ');
j := j + 1;
end;
writeln;
i := i + 1;
end;
end.
Bila program dijalankan, akan didapatkan hasil:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
uses wincrt;
var
i, j, n : integer;
lagi : char;
begin
lagi := 'Y';
while lagi = 'Y' do
begin
clrscr;
write('Input jumlah perulangan : ');
readln(n);
i := 1;
while i <= n do
begin
j := 1;
while j <= n do
begin
write(i, ' ');
j := j + 1;
end;
writeln;
i := i + 1;
end;
write('Apakah anda ingin mengulang lagi ? ');
readln(lagi);
lagi := upcase(lagi);
end;
end.
Bila program dijalankan, maka akan meminta inputan jumlah perulangan terlebih dahulu. Sebagai contoh jika kita input jumlah perulangan dengan nilai 5, maka didapatkan hasil sebagai berikut:
Input jumlah perulangan : 5
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Apakah anda ingin mengulang lagi ? _
Kita bisa melakukan perulangan lagi dengan menginput nilai Y jika ada pertanyaan apakah anda ingin mengulang lagi. Jika ya maka perulangan akan dilakukan lagi. Sebagai contoh jika kita menginput nilai 3pada jumlah perulangan, maka akan didapatkan hasil sebagai berikut:
Input jumlah perulangan : 3
1 1 1
2 2 2
3 3 3
Apakah anda ingin mengulang lagi ? _
2.REPEAT UNTIL
program jumlah_perkalian_deret(faktorial);
var
i : integer;
batas : integer;
jumlah : integer;
begin
write('masukan Batas= '); readln (batas);
jumlah := 1;
i := 0;
repeat
i := i + 1;
write(i:2 ,'x' :2);
jumlah := jumlah * i;
until i = batas;
writeln('= ',jumlah);
readln;
end.
Hasil Program:
Program PanggilNama;
Var
I : integer;
Begin
Repeat
Begin
I := I + 1;
Writeln(‘Panggil Nama Saya’);
End;
Until I = 3 ;
Readln;
End.
Penjelasan Program
Pada program diatas akan menghasilkan output “Panggil Nama Saya” dan dicetak 3 kali. Nilai I pertama adalah 0 , ketika masuk perulangan jadi 1, kondisi belum terpenuhi jadi sattment dilakukan lagi sampai I = 3.
Setelah anda paham dengan program diatas, mari kita lanjutkan dengan program kedua yaitu program untuk mencari rata-rata dari data yang anda masukan.
Program RataRata;
Var
Nilai, I, Jumlah : Integer;
Rata : Real;
Begin
Repeat
Begin
I := I + 1 ;
Write(‘Masukan Nilai ke-’,I,’ : ‘);
Jumlah := jumlah + Nilai;
Readln(Nilai);
End;
Until Nilai = -1 ;
Rata := Jumlah/(I-1);
Writeln(‘Rata-rata dari data yang anda masukan adalah ‘,Rata:0:2);
Readln;
End.
berikan contoh lagi agar anda lebih paham tentang perulangan Repeat. Masih sama seperti artikel kemarin yaitu tentang faktorial, tapi disini menggunakan perulangan Repeat Until. Berikut program lengkapnya :
Program Faktorial;
Var
Faktor,I, Nilai : integer;
Begin
Faktor := 1 ;
Write(‘Faktorial dari : ‘);
Readln(Nilai);
Repeat
Begin
I := I + 1;
Faktor := Faktor*I;
End;
Until I = Nilai;
Writeln(‘Faktorial dari ‘,Nilai,’ adalah ‘,Faktor);
Readln;
End.
Setelah paham dengan program faktorial diatas saya akan lanjutkan tentang perulangan bertingkat menggunakan Repeat Until. Saya akan membuat program tabel perkalian seperti pada artikel saya yang sebelumnya yaitu Perulangan For Do Bertingkat. Berikut Program lengkapnya :
Program TabelPerkalian;
Uses Crt;
Var
I,j : integer;
Const
Dari = 1;
Sampai = 10;
Begin
Clrscr;
Write(‘ ‘:5);
I := Dari;
Repeat { Mencetak Baris Pertama }
Begin
Write(i:5);
I := i+1;
End;
Until I = Sampai+1;
Writeln;
I:= Dari;
Repeat { Mencetak Perkalian }
Begin
Write(i:5);
J := Dari;
Repeat
Begin
Write(i*j:5);
J := j + 1;
End;
Until J = Sampai+1;
Writeln;
I := I + 1;
End;
Until I = Sampai+1;
Readln;
End.
3.FOR TO DO
Uses Wincrt;
const
akhir = 4;
var
baris,kolom : integer;
begin
for baris := akhir downto 1 do
begin
for kolom := baris downto 1 do
write(kolom);
writeln;
end;
end.
Hasil :
4321
321
21
1
Uses Wincrt;
const
akhir = 4;
var
baris,kolom : integer;
begin
for baris := akhir downto 1 do
begin
for kolom := 1 to baris do
write(kolom);
writeln;
end;
end.
Hasil :
1234
123
12
1
Uses Wincrt;
const
akhir = 4;
var
baris,kolom : integer;
begin
for baris := 1 to akhir do
begin
for kolom := 1 to baris do
write(baris);
writeln;
end;
end.
Hasil :
1
22
333
4444
Uses Wincrt;
const
akhir = 4;
var
baris,kolom : integer;
begin
for baris := akhir downto 1 do
begin
for kolom := baris downto 1 do
write(baris);
writeln;
end;
end.
Hasil :
4444
333
22
1
Uses Wincrt;
const
akhir = 3;
var
baris,kolom : integer;
begin
for baris := akhir downto 1 do
begin
for kolom := baris downto 1 do
write(baris,' ',kolom);
writeln;
end;
end.
Hasil :
3 33 23 1
2 22 1
1 1
Uses wincrt;
var baris,kolom,jumbaris :integer;
begin
write ('Jumlah Baris : ');readln(jumbaris);
FOR BARIS:=1 TO jumbaris do
begin
write ('*': jumbaris baris);
FOR kolom := 2 TO (2 *baris -1 ) do
begin
write('*');
end;
writeln;
end;
end.
Hasil :
(baris = 4)
*
***
*****
*******
4. IF THEN
Contoh Program Pascal If Perhitungan Gaji
Uses crt;
Var nama:string[20];jabatan:string;
Gaji:longint;
Tunj,ppn,gajibersih:real;
Begin
Clrscr;
Write(‘Nama Karyawan : ‘); readln(nama);
Write(‘Masukkan Jabatan : ‘); readln(jabatan);
If (jabatan=’Direktur’) or (jabatan=’direktur’) then
Begin
Gaji:=3000000;
Tunj:=0.1* gaji;
End
Else If (jabatan=’Manager’) or (jabatan=’manager’) then
Begin
Gaji:=2000000;
Tunj:=0.05* gaji;
End
Else If (jabatan=’Karyawan’) or (jabatan=’karyawan’) then
Begin
Gaji:=1000000;
Tunj:=0.1* gaji;
End
Else
Begin
Gaji:=800000;
Tunj:=0.1* gaji;
End;
Writeln(‘Gaji Bersih : Rp.‘,gaji);
Writeln(‘Tunjangan Jabatan : Rp.‘,tunj:9:2);
Ppn:=0.1*gaji;
Writeln(‘PPN 10 % : Rp.‘,ppn:9:2);
Total:=(gaji+total)-ppn;
Writeln(‘Total Gaji : Rp.‘,total:9:2);
Readln;
End.
Program ContohIF;
Uses Crt;
Var
x, y = integral;
Begin
Clrscr;
Write(‘Masukan Nilai X = ’ );
Readln(x);
Write(‘Masukan Nilai Y = ’ );
Readln(y);
IF (x > y) THEN WRITE (‘Nilai X lebih besar dari pada Y’);
Readln
End.
Keluaran dari program diatas adalah
Jika anda memasuan nilai x lebih besar dari y maka program akan menampilkan ‘Nilai X lebih besar dari pada Y’.
Tetapi jika anda memasukan nilai X lebih kecil dari pada Y maka program tidak aan menampilkan apa – apa.
Lalu bagaimana bila kita mau menpilkan ‘Nilai Y lebih besar dari pada nilai X’. Programnya harus dirubah menjadi seperti ini.
Program ContohIF;
Uses Crt;
Var
x, y = integral;
Begin
Clrscr;
Write(‘Masukan Nilai X = ’ );
Readln(x);
Write(‘Masukan Nilai Y = ’ );
Readln(y);
IF (x > y) THEN WRITE (‘Nilai X lebih besar dari pada Y’);
Readln;
IF (x < y) THEN WRITE (‘Nilai Y lebih besar dari pada X’);
Readln
End.
{*Program Hitung Nilai*}
{*keterangan: Nilai per poin=10*}
uses wincrt;
var
Jumlahpoin, nilaiperpoin, nilai:integer;
begin
write('Jumlah poin:');
read(Jumlahpoin);
write('Nilai per poin:');
readln(nilaiperpoin);
nilai:=jumlahpoin*nilaiperpoin;
if Jumlahpoin>30 then
nilai:=nilai+(jumlahpoin-30)*nilaiperpoin;
write('Nilai yang diperoleh sebesar:',nilai);
End.
Contoh Program If Then:
Program Nilai Siswa;
Uses crt;
Var nilai:integer;
Begin
Clrscr;
Write(‘masukan nilai:’);
Readln(nilai);
If(nilai>=80)and(nilai<=100)
Then write(‘nilai anda A’)
Else if(nilai>=70)and(nilai<=79)
Then write(‘nilai anda B’)
Else if(nilai>=60)and(nilai<=69)
Then write(‘nilai anda C’)
Else if(nilai>=50)and(nilai<=59)
Then write(‘nilai anda D’)
Else write(‘nilai anda E’)
Readln;
End.
contoh program PASCAL perulangan for to do dan if then else
Program sukaya2;
Uses Crt;
Var
a, b: char;
Begin
ClrScr;
For a:= ‘A’ to ‘E’ do
Begin
For b:= ‘A’ to a do
begin
if(a=b) then
writeln (b)
else
write(b);
end;
end;
Readkey;
End.
Keluaran Program diatas
A
AB
ABC
ABCD
ABCDE
program pengulangan;
uses wincrt;
var a:string;
i,pilihan:integer;
begin
writeln('1.kata warna');
writeln('2.kata benda');
write('mau pilih yg mana ?=');readln(pilihan);
if pilihan=1 then
begin
writeln('1.kata warna');
write('masukkan kata warna =');readln(a);
write('mau ulang berapa kali ?');readln(i);
for i:=1 to i do
writeln(a);
end;
if pilihan=2 then
begin
writeln('2.kata benda');
write('masukkan kata benda =');readln(a);
write('mau ulang berapa kali ?');readln(i);
for i:=1 to i do
writeln(a);
end;
end.
program menumakan_
uses crt;
var pil:char;
begin
writeln(’1.nasi soto ‘ ) ;
writeln(’2.nasi rames ‘ );
writeln(’3.nasi rawon ‘ ) ;
write(’menu pilihan anda:’);readln(pil);
if pil=’1′ then
writeln(’anda memilih nasi soto ‘ )
else if pil=’2′ then
writeln(’anda memilih nasi rames ‘ )
else if pil=’3′ then
writeln(’anda memilih nasi rawon ‘ )
else
writeln(’coba1_3′);
readln;
end.
5.CASE OF
Contoh Program Case Of
program caseof
Uses crt;
Var a,t,NPM:integer;
Nama,kelas:string;
Pil:byte;
Luas:real;
Begin
Clrscr;
Writeln(‘program menu’);
Writeln(‘____________’);
Writeln(‘1.Biodata’);
Writeln(‘2.Luas Segitiga’);
Writeln(‘3.Exit’);
Writeln(‘Masukan Pilihan:’);readln(pil);
Case pil of
1:begin
Clrscr;
Writeln(‘Biodata’);
Writeln(‘Nama:’);readln(nama);
Wriiteln(‘N0’);readln(no);
Writeln(‘Kelas:’);readln(kelas);
Readln;
End;
2:begin
Writeln(‘program segitiga’);
Clrscr;
Writeln(‘Alas:’);readln(a);
Writeln(‘Tinggi:’);readln(t);
Luas:=1/2*a*t;
Writeln(‘luas:’,luas:5:2);readln;
End,
3:begin
End;
End;
End.
Readln;
End.
Program Angka;
uses wincrt;
var
a:integer;
begin
write('Angka (1-3) = ');readln(a);
writeln;
case a of
1:write('Satu');
2:write('Dua');
3:write('Tiga');
else
write('Pilihan Salah!');
end;
end.
.
uses wincrt;
var pil :integer;
p,l,t,kll,lu,vol:real;
begin
clrscr;
writeln('selamat datang ');
writeln('-------------- ');
writeln('1-->Mencari keliling persegi panjang');
writeln('2-->Mencari luas persegi panjang ');
writeln('3-->Mencari volume balok ');
write('input pilihan anda [1..3] : ');readln(pil);
case pil of
1 : begin
write('panjang = ');readln(p);
write('lebar = ');readln(l);
kll:=2*(p+l);
writeln('keliling = ',kll:0:2);
end;
2 : begin
write('panjang = ');readln(p);
write('lebar = ');readln(l);
lu:=p*l;
writeln('luas = ',lu:0:2);
end;
3 : begin
write('panjang = ');readln(p);
write('lebar = ');readln(l);
write('tinggi = ');readln(t);
vol:=p*l*t;
writeln('volume = ',vol:0:2);
end;
else writeln('maaf pilihan anda tidak ada ');
end;
end
program nilai_ujian;
uses crt;
var nama :string[25];
nim :string[20];
nilai_angka:integer;
nilai_huruf:char;
predikat :string[30];
begin
clrscr;
writeln(' Program Pemberian Nilai');
writeln;
write('Masukkan Nama Mahasiswa: ');readln(nama);
write('Masukkan Nim : ');readln(nim);
write('Masukkan Nilai Angka : ');readln(nilai_angka);
writeln;
case nilai_angka of
0..59 :nilai_huruf:='C';
60..79 :nilai_huruf:='B';
80..100:nilai_huruf:='A';
end;
case nilai_huruf of
'C' : predikat:='Kurang';
'B' : predikat:='memuaskan';
'A' : predikat:='Bagus Sekali';
end;
writeln('------------------------------');
writeln('Nama Mahasiswa: ',nama);
writeln('Nomor Stambuk : ',nim);
writeln('Nilai Angka : ',nilai_angka);
writeln('Nilai Huruf : ',nilai_huruf);
writeln('Predikat : ',predikat);
readln;
end.
HASIL EKSEKUSI:
Program Pemberian Nilai
Masukkan Nama Mahasiswa: baco'....
Masukkan Nim : H111 07 052
Masukkan Nilai Angka : 50
------------------------------
Nama Mahasiswa: bari
Nomor Stambuk : H111 07 052
Nilai Angka : 50
Nilai Huruf : C
Predikat : Kurang
Uses crt;
Var
Berat,harga,hargaperkg:integer;
Kualitas:char;
Begin
Clrscr;
Write(‘ Massukkan Kualitas Buah [A/B/C] : ‘); readln(kualitas);
Write(‘ Berapa Kg berat yang di beli : ‘ ); readln(berat);
Case kualitas of
‘A’,’a’: hargaperkg:=1000;
‘B’,’b’: hargaperkg:=750;
‘C’,’c’: hargaperkg:=500;
Else
Begin
Hargaperkg:=0;
Writeln(‘Salah Input’);
End;
End;
Harga:=hargaperkg*berat;
Writeln(‘ Harga Per Kg : Rp.’,hargaperkg);
Writeln(‘ Harga Total : Rp.’,harga);
End.
No comments:
Post a Comment
Hanya anggota Blog Yang Dapat Memberikan Komentar, Komentar yang belum tampil akan dicek terlebih dahulu oleh Admin.
Terima Kasih Atas Komentarnya