SAKSIKAN dan SUBSCRIBE CHANNEL Pak Anton Guru Esde

Translate

Follow Medsos dan Tokonya Ya !!!

Facebook Instagram shopee

Saturday, 6 April 2019

Algoritma Pascal


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 &gt; 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 &gt; y) THEN WRITE (‘Nilai X lebih besar dari pada Y’);


Readln;


IF (x &lt; 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&gt;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