KUMPULAN KUMPULAN PROGRAM TPW BY CINDY
1. Membuat bilangan ganjil dari 1 - 30 menggunakan for to do
uses wincrt ;
var c : integer ;
begin
clrscr ;
for c := 1 to 30 do
begin
writeln(c) ;
c := c+1 ;
end ;
readln ;
end.
outputnya :
2. membuat program bilangan ganjil dari 1 - 30 menggunakan while do
uses wincrt ;
var d : integer ;
begin
clrscr ;
d := 1 ;
while ( d <= 30 ) do
begin
writeln(d) ;
d := d + 2 ;
end ;
readln ;
end.
outputnya :
3. membuat program bilangan genap dari 1 - 30 menggunakan for to do
uses wincrt ;
var b : integer ;
begin
clrscr ;
for b := 2 to 30 do
begin
writeln(b) ;
b := b +1 ;
end ;
readln ;
end.
outputnya :
4. Membuat program bilangan genap dari 1 - 39 menggunakan while do
uses wincrt ;
var e : integer ;
begin
clrscr ;
e := 2
while (e<=30) do
begin
writeln(e) ;
e := e +2 ;
end ;
readln ;
end.
outputnya :
5. membuat program bilangan ganjil dari 1 - 30 menggunakan repeat until
uses wincrt ;
var a : integer ;
begin
clrscr ;
repeat
writeln (a) ;
a := a+2 ;
until a > 30 ;
readln ;
end.
outputnya :
6. membuat program bilangan genap dari 1 - 30 menggunakan repeat until
uses wincrt ;
var x : integer ;
begin
clrscr ;
x := 2 ;
repeat
writeln(x) ;
x := x+2 ;
until x > 30;
readln;
end.
outputnya :
7. membuat program konversi waktu :
program konversi_waktu1 ;
uses wincrt ;
var j, m, d, dm, sisa, sisa1 : integer ;
begin
writeln('program konversi waktu') ;
writeln('================') ;
writeln ;
write('masukan jumlah detik : ') ;readln(dm) ;
if (dm /3600)>0 then
begin
j:= dm div 3600 ;
sisa := dm- (j * 3600) ; end
else
begin
j := 0 ;
sisa := dm ;
end ;
if (sisa/60)> 0 then
begin
m := sisa div 60 ;
sisa1 := sisa -(m*60) ;
end
else
begin
m := 0 ;
sisa1 := sisa ;
end;
d := sisa1 ;
writeln ;
writeln(' hasil 1 =>',j,' jam ',m,' menit ',d,' detik');
end.
outputnya :
8. Membuat program operasi matematika :
uses wincrt ;
var a, c, d : integer ;
operator , z :char ;
begin
repeat
clrscr ;
writeln ('petunjuk :') ;
writeln('masukan angka pertama') ;
writeln('masukan operator (+, -, *, /)') ;
writeln('masukan angka kedua');
writeln('===============');
writeln('perhitunga :') ;
writeln('===========') ;
write('masukan angka :'); readln(a);
write('operator:'); readln(operator);
write('angka kedua:'); readln(c) ;
case operator of
'+' : d := a +c ;
'-' : d := a - c ;
'*' : d := a*c ;
'/' : d := a div c ;
end ;
writeln ('hasil :',d) ;
write('hitung lagi ?(y/n)') ; readln(z) ;
until upcase(z) <> 'y' ;
end.
outputnya :
9. program membuat nilai siswa
uses wincrt ;
var nilai : integer ;
begin
gotoxy(5,5); write('masukan nilai :') ; readln(nilai);
if nilai <= 50 then
begin
gotoxy(5,8); write('e');
end
else if nilai <=65 then
begin
gotoxy(5,8); write('d');
end
else if nilai <= 75 then
begin
gotoxy(5,8); write('c');
end
else if nilai <= 85 then
begin
gotoxy(5,8); write('b');
end
else if nilai <= 100 then
begin
gotoxy(5,8); write('a');
end
else if nilai >= 100 then
begin
gotoxy(5,8); write('salah');
end
end.
outputnya :
10. membuat program pangkat menggunakan procedure
uses wincrt ;
var x, i, n, kali, junlah : integer ;
procedure pangkat (x,n : integer ; var kali : integer);
begin
kali := 1 ;
for i:= 1 to n do ;
kali := kali * x;
end;
procedure factorial(n : integer ; var jumlah : integer);
begin
jumlah := 1;
for i:= 1 to n do ;
jumlah := jumlah * 1 ;
end ;
procedure bagi (x,n : integer);
var
hasil : real ;
begin
pangkat (x, n, kali);
factorial(n, jumlah);
hasil := kali/jumlah;
writeln('hasilnya :', hasil :7 :1 );
end ;
begin
clrscr;
writeln('masukan x :');
readln(x);
writeln('masukan n :');
readln(n);
bagi(x,n);
readln;
end.
outputnya :
11. membuat program pembuata record
program pembuatan_record ;
uses wincrt ;
procedure garis ;
begin
writeln('=============================')
end ;
type
reckaryawan = record
jab,nip,nama : string ;
gol : integer ;
gapok, tunj : real ;
end ;
var pegawai : reckaryawan ;
total : real ;
begin
clrscr ;
writeln('laporan perhitungan gaji karyawan');
garis;
writeln ;
write('masukan NIP karyawan :') ; readln(pegawai.nip) ;
write('masukan nama karyawan:') ; readln(pegawai.nama) ;
write('golongan [1/2/3]:') ; readln(pegawai.gol) ;
garis ;
case pegawai.gol of
1:
begin
pegawai.jab :=' staf dan tetap';
pegawai.gapok := '900000';
end;
2:
begin
pegawai.jab := 'staf dan kontrak';
pegawai.gapok :='700000';
end;
3:
begin
pegawai.jab :='kontrak' ;
pegawai.gapok :='500000';
end;
end;
if pegawai.jab = 'staf dan tetap' then
pegawai.tunj := 25/100* pegawai.gapok
else
if pegawai.jab = ' staf dan kontrak' then
pegawai.tunj := 10/100 * pegawai.gapok
else
if pegawai.tunj := 0 ;
total:= (pegawai.gapok)+(pegawai.tunj) ;
writeln('jabatan karyawan :', pegawai.jab);
writeln('gaji pokok:',pegawai.gapok :8:0);
writeln('tunjangan :', pegawai.tunj :8:0);
garis ;
writeln('total gaji karyawan:', total :8:0);
readln;
end.
outputnya :
12. membuat program menghitung keliling dan luas bangun datar
uses wincrt;
var
e : integer;
r,l,t,luas,a,b,c,d,k,s,f,g,h : real;
begin
clrscr;
while e<>5 do
begin
clrscr;
gotoxy(43,7);writeln('|');
gotoxy(43,8);writeln('|');
gotoxy(43,9);writeln('|');
gotoxy(43,10);writeln('|');
gotoxy(43,11);writeln('|');
gotoxy(43,12);writeln('|');
gotoxy(43,13);writeln('|');
gotoxy(43,14);writeln('|');
gotoxy(43,15);writeln('|');
gotoxy(43,16);writeln('|');
gotoxy(43,17);writeln('|');
gotoxy(30,1);write('PROGRAM MENGHITUNG KELILING');
gotoxy(43,2);write('DAN');
gotoxy(35,3);writeln('LUAS BANGUN DATAR');
gotoxy(0,4);writeln('================================================================================');
gotoxy(18,6);writeln('PILIHAN');
writeln;
gotoxy(0,8);writeln('1. Menghitung Keliling dan Luas Lingkaran.');
gotoxy(0,9);writeln('2. menghitung Keliling dan Luas Trapesium.');
gotoxy(0,10);writeln('3. Menghitung Keliling dan Luas Segitiga.');
gotoxy(0,11);writeln('4. Menghitung Keliling dan Luas persegi.');
gotoxy(0,12);writeln('5. Exit/Keluar Dari Program.');
gotoxy(5,14);write('Masukkan pilihan anda : ');read(e);
if e=1 then
begin
gotoxy(55,6);write('LINGKARAN');
gotoxy(45,8);write('Masukkan Jari-Jari Lingkaran = ');readln(r);
luas:=pi*sqr(r);
k:=2*pi*r;
gotoxy(45,10);writeln('Keliling Lingkaran = ',k:2:2);
gotoxy(45,12);writeln('Luas Lingkaran = ',luas:2:2);
readln;
end;
if e=2 then
begin
gotoxy(55,6);write('TRAPESIUM');
gotoxy(45,7);write('Masukkan sisi panjang trapesium = ');readln(a);
gotoxy(45,8);write('Masukkan sisi pendek trapesium = ');readln(b);
gotoxy(45,9);write('Masukkan tinggi trapesium = ');readln(c);
luas:=0.5*(a+b)*c;
f:=sqrt(sqr((a-b)/2)+sqr(c));
k:=a+b+2*f;
gotoxy(45,11);writeln('Keliling Trapesium = ',k:2:2);
gotoxy(45,13);writeln('Luas Trapesium = ',luas:2:2);
readln;
end;
if e=3 then
begin
gotoxy(55,6);write('SEGITIGA');
gotoxy(45,7);write('Masukkan panjang sisi alas = ');readln(l);
gotoxy(45,8);write('Masukkan panjang sisi 1 = ');readln(g);
gotoxy(45,9);write('Masukkan panjang sisi 2 = ');readln(h);
gotoxy(45,10);write('Masukkan tinggi segitiga = ');readln(t);
luas:=0.5*l*t;
k:=l+g+h;
gotoxy(45,12);writeln('Keliling segitiga = ',k:2:2);
gotoxy(45,14);writeln('Luas segitiga = ',luas:2:2);
readln;
end;
if e=4 then
begin
gotoxy(55,6);write('PERSEGI');
gotoxy(45,7);write('Masukkan panjang sisi persegi = ');readln(s);
luas:=sqr(s);
k:=4*s;
gotoxy(45,10);writeln('Keliling persegi = ',k:2:2);
gotoxy(45,12);writeln('Luas persegi = ',luas:2:2);
readln;
end;
if e>5 then
begin
gotoxy(18,20);writeln('MAAF, PILIHAN YANG ANDA MASUKKAN TIDAK TERSEDIA');
gotoxy(18,22);writeln('TEKAN " ENTER " UNTUK MELANJUTKAN PILIHAN ANDA !');
readln;
end;
if e<1 then
begin
gotoxy(18,20);writeln('MAAF, PILIHAN YANG ANDA MASUKKAN TIDAK TERSEDIA');
gotoxy(18,22);writeln('TEKAN " ENTER " UNTUK MELANJUTKAN PILIHAN ANDA !');
readln;
end;
if e=5 then
begin
gotoxy(18,22);write('***** TERIMA KASIH TELAH MENGGUNAKAN PROGRAM INI*****');
readln;
end;
readln;
end;
end.
outputnya :
sekian dan terimakasih







