BEBERAPA PROGRAM-PROGRAM TURBO PASCAL
1. luas daerah persegi panjang dan
kelilingnya.
program Luas_Persegi_Panjang_dan_Kelilingnya;
uses wincrt;
var
panjang:real;
lebar:real;
luas:real;
keliling:real;
begin
write('masukkan panjang =');readln(panjang);
write('masukkan lebar =');readln(lebar);
luas:=panjang*lebar;
keliling:=2*(panjang+lebar);
writeln('Luas=',luas:10:5);
writeln('Keliling=',keliling:10:5);
end.
2. Volum Kubus dan luas permukaan kubus.
program Volume_Kubus_dan_Luas_Permukaan_Kubus;
uses wincrt;
var
alas:real;
volume:real;
luas_permukaan:real;
begin
write('masukkan alas =');readln(alas);
volume:=alas*alas*alas;
luas_permukaan:=6*(alas*alas);
writeln('volume=',volume:5:2);
writeln('luas_permukaan=',luas_permukaan:5:2);
end.
3. Luas daerah lingkaran dan keliling lingkaran.
Program Luas_Lingkaran_dan_Keliling_Lingkaran;
uses wincrt;
const
phi=3.141596;
var
r:real;
Luas:real;
Keliling:real;
Begin
write ('masukkan jari-jari lingkaran: ');readln(r);
Luas:=(phi*r*r);
Keliling:=(phi*2*r);
writeln ('luas:', Luas:10:3);
writeln ('keliling:', Keliling:10:3);
end.
4. Luas permukaan tabung dan kerucut.
program Luas_Permukaan_Tabung_dan_Kerucut;
uses wincrt;
const
phi=3.141596;
var
r:real;
t:real;
luas_permukaan_tabung:real;
luas_permukaan_kerucut:real;
begin
write('masukkan jari-jari =');readln(r);
write('masukkan tinggi =');readln(t);
luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t));
luas_permukaan_kerucut:=((2*phi*r*r)+(2*phi*r*t)/3);
writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2);
writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);
end.
5. Penjumlahan, pengurangan, perkalian, pembagian, pembagian bulat, dan sisa hasil bagi dalam sebuah program.
Program Operasi_Tambah_Kurang_Kali_Bagi_Div_Mod;
Uses Wincrt;
Var
a,b:longint;
c,d,e,f,g,h:real;
Begin
Write ('Masukkan bilangan pertama=');readln (a);
Write ('Masukkan bilangan kedua=');readln (b);
c:=a+b;
d:=a-b;
e:=a*b;
f:=a/b;
g:=a div b;
h:=a mod b;
Writeln ('Hasil Penjumlahan adalah ',(c):5:0);
Writeln ('Hasil Pengurangan adalah ',(d):5:0);
Writeln ('Hasil Perkalian adalah ',(e):5:0);
Writeln ('Hasil Pembagian adalah ',(f):5:2);
Writeln ('Hasil Pembaian Bulat adalah ',(g):5:0);
Writeln ('Sisa Hasil Pembagian adalah ',(h):5:0);
End.
6. Meghitung gaji karyawan apabila diinput nama orang, gaji pokok, tunjangan istri 15 % dari gaji pokok, tunjangan tiap anak 20 % dari gaji pokok, pajak 15 % dari gaji keseluruhan.
Program Gaji_Karyawan;
uses wincrt;
var
nama_orang:string;
a:real;
gaji_pokok:real;
tunjangan_istri:real;
tunjangan_anak:real;
pajak:real;
total_gaji:real;
begin
write ('masukkan nama orang =');readln(nama_orang);
write ('masukkan gaji pokok =');readln(gaji_pokok);
write ('masukkan jumlah anak=');readln(a);
tunjangan_istri:=(0.15*gaji_pokok);
tunjangan_anak:=a*(0.2*gaji_pokok);
pajak:=(0.15*(tunjangan_istri+tunjangan_anak+gaji_pokok));
total_gaji:=(gaji_pokok+tunjangan_istri+tunjangan_anak-pajak);
writeln('tunjangan_istri=',tunjangan_istri:10:2);
writeln('tunjangan_anak=',tunjangan_anak:10:2);
writeln('pajak=',pajak:10:2);
writeln('total_gaji=',total_gaji:10:2);
end.
7. Koordinat titik tengah dari kedua titik yang diketahui.
Program Koordinat_Titik_Tengah;
uses wincrt;
var
x1:real;
x2:real;
y1:real;
y2:real;
titik_tengah_x:real;
titik_tengah_y:real;
begin
write('masukkan nilai x1 =');readln(x1);
write('masukkan nilai x2 =');readln(x2);
write('masukkan nilai y1 =');readln(y1);
write('masukkan nilai y2 =');readln(y2);
titik_tengah_x:=((x1+x2)/2);
titik_tengah_y:=((y1+y2)/2);
writeln('titik_tengah_x=',titik_tengah_x:10:5);
writeln('titik_tengah_y=',titik_tengah_y:10:5);
end.
8. Konversi dari jam ke detik.
Program Konversi_Jam_ke_Detik;
uses wincrt;
var jam:real;
detik:real;
begin
write('masukkan jam :');readln(jam);
detik:=jam*3600;
writeln('detik =',detik:10:2);
end.
10. Konversi detik ke jam
Program Konversi_Detik_ke_Jam;
uses wincrt;
var detik:real;
jam:real;
begin
write('masukkan detik :');readln(detik);
jam:=detik / 3600;
writeln('jam =',(jam):10:2);
end.
9. Apabila diketahui waktu mulai telepon(jam,menit,detik) dan waktu selesai telepon(jam,menit,detik), berapakah lamanya telepon dalam detik.
Program Menghitung_Lama_Waktu_Telepon_dalam_Detik;
Uses Wincrt;
Var
hh1,mm1,ss1,hh2,mm2,ss2,Total_Detik:real;
Begin
Writeln ('Waktu mulai telepon:');
Write ('Jam =');read (hh1);
Write ('Menit=');read (mm1);
Write ('Detik=');read (ss1);
Writeln ('Waktu selesai telepon:');
Write ('Jam =');read (hh2);
Write ('Menit=');read (mm2);
Write ('Detik=');read (ss2);
Total_Detik:=(hh2-hh1)*3600+(mm2-mm1)*60+(ss2-ss1);
Writeln ('Lama Waktu Telepon dalam Detik adalah ',(Total_Detik):2:0, (' detik.'));
End.
10. Biaya telepon apabila diinput mulai telepon dan selesai telepon, dan biaya pulsa per Rp 200,- dan 1 pulsa adalah 5 detik ( sisa < 5 detik diabaikan).
Program Menghitung_Biaya_Telepon;
Uses Wincrt;
Type Jam = record
hh:longint;
mm:longint;
ss:longint;
end;
Var
J1,J2:Jam;
Total_Detik:longint;
Biaya_Telepon:longint;
Begin
Writeln ('Waktu mulai telepon:');
Write ('Jam =');read (J1.hh);
Write ('Menit=');read (J1.mm);
Write ('Detik=');read (J1.ss);
Writeln ('Waktu selesai telepon:');
Write ('Jam =');read (J2.hh);
Write ('Menit=');read (J2.mm);
Write ('Detik=');read (J2.ss);
Total_Detik:=(J2.hh-J1.hh)*3600+(J2.mm-J1.mm)*60+(J2.ss-J1.ss);
Biaya_Telepon:=(Total_Detik div 5)*200;
Writeln ('Lama Waktu Telepon dalam Detik adalah ',(Total_Detik), (' detik.'));
Writeln ('Biaya Telepon adalah Rp ',Biaya_Telepon);
End.
11. Konversi Suhu dari Celcius ke Kelvin dan Fahrenhet.
program suhu;
uses wincrt;
var
celcius,kelvin:integer;
fahrenheit:real;
begin
write('masukkan suhu dalam celcius = ');readln(celcius);
fahrenheit:=(9/5*celcius)+32;
kelvin:=celcius+273;
writeln('suhu dalam fahrenheit=',fahrenheit:5:2);
writeln('suhu dalam kelvin=',kelvin);
end.
12. Menghitung umur seseorang apabila diasumsikan dalam 1 bulan ada 30 hari dan dalam 1 tahun ada 365 hari.
Program Menghitung_Umur_Seseorang;
Uses Wincrt;
Var
yy1,yy2,mm1,mm2,dd1,dd2,Total_Hari,Umur_Tahun,Umur_Bulan,Umur_Hari:longint;
Begin
Writeln ('Masukkan Tanggal Sekarang:');
Write ('Tanggal=');read (dd1);
Write ('Bulan =');read (mm1);
Write ('Tahun =');read (yy1);
Writeln ('Masukkan Tanggal Lahir:');
Write ('Tanggal=');read (dd2);
Write ('Bulan =');read (mm2);
Write ('Tahun =');read (yy2);
Total_Hari:=(yy1-yy2)*365+(mm1-mm2)*30+(dd1-dd2);
Umur_Tahun:=Total_Hari div 365;
Umur_Bulan:=(Total_Hari mod 365) div 30;
Umur_Hari:=(Total_Hari mod 365) mod 30;
Writeln ('Umur Anda Sekarang adalah ',(Umur_Tahun),(' tahun,'),(Umur_Bulan),(' bulan,'),(Umur_Hari),(' hari.'));
End.
program Luas_Persegi_Panjang_dan_Kelilingnya;
uses wincrt;
var
panjang:real;
lebar:real;
luas:real;
keliling:real;
begin
write('masukkan panjang =');readln(panjang);
write('masukkan lebar =');readln(lebar);
luas:=panjang*lebar;
keliling:=2*(panjang+lebar);
writeln('Luas=',luas:10:5);
writeln('Keliling=',keliling:10:5);
end.
2. Volum Kubus dan luas permukaan kubus.
program Volume_Kubus_dan_Luas_Permukaan_Kubus;
uses wincrt;
var
alas:real;
volume:real;
luas_permukaan:real;
begin
write('masukkan alas =');readln(alas);
volume:=alas*alas*alas;
luas_permukaan:=6*(alas*alas);
writeln('volume=',volume:5:2);
writeln('luas_permukaan=',luas_permukaan:5:2);
end.
3. Luas daerah lingkaran dan keliling lingkaran.
Program Luas_Lingkaran_dan_Keliling_Lingkaran;
uses wincrt;
const
phi=3.141596;
var
r:real;
Luas:real;
Keliling:real;
Begin
write ('masukkan jari-jari lingkaran: ');readln(r);
Luas:=(phi*r*r);
Keliling:=(phi*2*r);
writeln ('luas:', Luas:10:3);
writeln ('keliling:', Keliling:10:3);
end.
4. Luas permukaan tabung dan kerucut.
program Luas_Permukaan_Tabung_dan_Kerucut;
uses wincrt;
const
phi=3.141596;
var
r:real;
t:real;
luas_permukaan_tabung:real;
luas_permukaan_kerucut:real;
begin
write('masukkan jari-jari =');readln(r);
write('masukkan tinggi =');readln(t);
luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t));
luas_permukaan_kerucut:=((2*phi*r*r)+(2*phi*r*t)/3);
writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2);
writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);
end.
5. Penjumlahan, pengurangan, perkalian, pembagian, pembagian bulat, dan sisa hasil bagi dalam sebuah program.
Program Operasi_Tambah_Kurang_Kali_Bagi_Div_Mod;
Uses Wincrt;
Var
a,b:longint;
c,d,e,f,g,h:real;
Begin
Write ('Masukkan bilangan pertama=');readln (a);
Write ('Masukkan bilangan kedua=');readln (b);
c:=a+b;
d:=a-b;
e:=a*b;
f:=a/b;
g:=a div b;
h:=a mod b;
Writeln ('Hasil Penjumlahan adalah ',(c):5:0);
Writeln ('Hasil Pengurangan adalah ',(d):5:0);
Writeln ('Hasil Perkalian adalah ',(e):5:0);
Writeln ('Hasil Pembagian adalah ',(f):5:2);
Writeln ('Hasil Pembaian Bulat adalah ',(g):5:0);
Writeln ('Sisa Hasil Pembagian adalah ',(h):5:0);
End.
6. Meghitung gaji karyawan apabila diinput nama orang, gaji pokok, tunjangan istri 15 % dari gaji pokok, tunjangan tiap anak 20 % dari gaji pokok, pajak 15 % dari gaji keseluruhan.
Program Gaji_Karyawan;
uses wincrt;
var
nama_orang:string;
a:real;
gaji_pokok:real;
tunjangan_istri:real;
tunjangan_anak:real;
pajak:real;
total_gaji:real;
begin
write ('masukkan nama orang =');readln(nama_orang);
write ('masukkan gaji pokok =');readln(gaji_pokok);
write ('masukkan jumlah anak=');readln(a);
tunjangan_istri:=(0.15*gaji_pokok);
tunjangan_anak:=a*(0.2*gaji_pokok);
pajak:=(0.15*(tunjangan_istri+tunjangan_anak+gaji_pokok));
total_gaji:=(gaji_pokok+tunjangan_istri+tunjangan_anak-pajak);
writeln('tunjangan_istri=',tunjangan_istri:10:2);
writeln('tunjangan_anak=',tunjangan_anak:10:2);
writeln('pajak=',pajak:10:2);
writeln('total_gaji=',total_gaji:10:2);
end.
7. Koordinat titik tengah dari kedua titik yang diketahui.
Program Koordinat_Titik_Tengah;
uses wincrt;
var
x1:real;
x2:real;
y1:real;
y2:real;
titik_tengah_x:real;
titik_tengah_y:real;
begin
write('masukkan nilai x1 =');readln(x1);
write('masukkan nilai x2 =');readln(x2);
write('masukkan nilai y1 =');readln(y1);
write('masukkan nilai y2 =');readln(y2);
titik_tengah_x:=((x1+x2)/2);
titik_tengah_y:=((y1+y2)/2);
writeln('titik_tengah_x=',titik_tengah_x:10:5);
writeln('titik_tengah_y=',titik_tengah_y:10:5);
end.
8. Konversi dari jam ke detik.
Program Konversi_Jam_ke_Detik;
uses wincrt;
var jam:real;
detik:real;
begin
write('masukkan jam :');readln(jam);
detik:=jam*3600;
writeln('detik =',detik:10:2);
end.
10. Konversi detik ke jam
Program Konversi_Detik_ke_Jam;
uses wincrt;
var detik:real;
jam:real;
begin
write('masukkan detik :');readln(detik);
jam:=detik / 3600;
writeln('jam =',(jam):10:2);
end.
9. Apabila diketahui waktu mulai telepon(jam,menit,detik) dan waktu selesai telepon(jam,menit,detik), berapakah lamanya telepon dalam detik.
Program Menghitung_Lama_Waktu_Telepon_dalam_Detik;
Uses Wincrt;
Var
hh1,mm1,ss1,hh2,mm2,ss2,Total_Detik:real;
Begin
Writeln ('Waktu mulai telepon:');
Write ('Jam =');read (hh1);
Write ('Menit=');read (mm1);
Write ('Detik=');read (ss1);
Writeln ('Waktu selesai telepon:');
Write ('Jam =');read (hh2);
Write ('Menit=');read (mm2);
Write ('Detik=');read (ss2);
Total_Detik:=(hh2-hh1)*3600+(mm2-mm1)*60+(ss2-ss1);
Writeln ('Lama Waktu Telepon dalam Detik adalah ',(Total_Detik):2:0, (' detik.'));
End.
10. Biaya telepon apabila diinput mulai telepon dan selesai telepon, dan biaya pulsa per Rp 200,- dan 1 pulsa adalah 5 detik ( sisa < 5 detik diabaikan).
Program Menghitung_Biaya_Telepon;
Uses Wincrt;
Type Jam = record
hh:longint;
mm:longint;
ss:longint;
end;
Var
J1,J2:Jam;
Total_Detik:longint;
Biaya_Telepon:longint;
Begin
Writeln ('Waktu mulai telepon:');
Write ('Jam =');read (J1.hh);
Write ('Menit=');read (J1.mm);
Write ('Detik=');read (J1.ss);
Writeln ('Waktu selesai telepon:');
Write ('Jam =');read (J2.hh);
Write ('Menit=');read (J2.mm);
Write ('Detik=');read (J2.ss);
Total_Detik:=(J2.hh-J1.hh)*3600+(J2.mm-J1.mm)*60+(J2.ss-J1.ss);
Biaya_Telepon:=(Total_Detik div 5)*200;
Writeln ('Lama Waktu Telepon dalam Detik adalah ',(Total_Detik), (' detik.'));
Writeln ('Biaya Telepon adalah Rp ',Biaya_Telepon);
End.
11. Konversi Suhu dari Celcius ke Kelvin dan Fahrenhet.
program suhu;
uses wincrt;
var
celcius,kelvin:integer;
fahrenheit:real;
begin
write('masukkan suhu dalam celcius = ');readln(celcius);
fahrenheit:=(9/5*celcius)+32;
kelvin:=celcius+273;
writeln('suhu dalam fahrenheit=',fahrenheit:5:2);
writeln('suhu dalam kelvin=',kelvin);
end.
12. Menghitung umur seseorang apabila diasumsikan dalam 1 bulan ada 30 hari dan dalam 1 tahun ada 365 hari.
Program Menghitung_Umur_Seseorang;
Uses Wincrt;
Var
yy1,yy2,mm1,mm2,dd1,dd2,Total_Hari,Umur_Tahun,Umur_Bulan,Umur_Hari:longint;
Begin
Writeln ('Masukkan Tanggal Sekarang:');
Write ('Tanggal=');read (dd1);
Write ('Bulan =');read (mm1);
Write ('Tahun =');read (yy1);
Writeln ('Masukkan Tanggal Lahir:');
Write ('Tanggal=');read (dd2);
Write ('Bulan =');read (mm2);
Write ('Tahun =');read (yy2);
Total_Hari:=(yy1-yy2)*365+(mm1-mm2)*30+(dd1-dd2);
Umur_Tahun:=Total_Hari div 365;
Umur_Bulan:=(Total_Hari mod 365) div 30;
Umur_Hari:=(Total_Hari mod 365) mod 30;
Writeln ('Umur Anda Sekarang adalah ',(Umur_Tahun),(' tahun,'),(Umur_Bulan),(' bulan,'),(Umur_Hari),(' hari.'));
End.
13.Program
Latihan_Rekursi_2;
uses wincrt;
Procedure Rekursi(a:integer);
var
y:integer;
begin
If a<10 then
begin
writeln('Pascal');
writeln;
a:=a+1;
Rekursi(a);
end;
end;
var
x:integer;
begin
writeln('Berapa batas awalnya?');readln(x);
Rekursi(x);
end.
14.program rekursi;
Var
I : integer ;
Procedure Rekursi ;
Begin
Writeln ( ‘Hallo saya Pascal ‘ ) ;
I : = I + 1 ;
If I < 10 Then
Rekursi ;
End ;
Begin
I : = 1 ;
Rekursi ;
End.
uses wincrt;
Procedure Rekursi(a:integer);
var
y:integer;
begin
If a<10 then
begin
writeln('Pascal');
writeln;
a:=a+1;
Rekursi(a);
end;
end;
var
x:integer;
begin
writeln('Berapa batas awalnya?');readln(x);
Rekursi(x);
end.
14.program rekursi;
Var
I : integer ;
Procedure Rekursi ;
Begin
Writeln ( ‘Hallo saya Pascal ‘ ) ;
I : = I + 1 ;
If I < 10 Then
Rekursi ;
End ;
Begin
I : = 1 ;
Rekursi ;
End.
15. Program Faktorial;
uses wincrt;
function Faktorial(a:integer):longint;
begin
if (A=1)then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
end;
var
x:integer;
begin
writeln('Faktorial sequence');
writeln;
write('Berapa Faktorial ?');readln(x);
writeln(x ,' faktorial ',' = ',faktorial(x));
end.
16. Program Fibonacci;
uses wincrt;
Var fibo: array [1..10] of integer;
A,i,hasil:integer;
begin
clrscr;
write('Masukkan suku keberapa dalam deret fibonacci : ');readln(A);
if (A=1) or (A=2) then hasil:=1 else
begin
fibo[1]:=1; fibo[2]:=1;
for i:=3 to A do
begin
fibo[i]:=fibo[i-1]+fibo[i-2];
hasil:=fibo[i];
end;
end;
writeln;
for i:=1 to A do
write(fibo[i],' ');
writeln;
writeln('Suku Ke-',A,' dari deret fibonacci adalah ',hasil);
end.
17. Program pangkat;
uses wincrt;
var A,x,i,hasil:longint;
begin
write('masukkan bilangan yang akan dipangkatkan = ');readln(A);
write('masukkan bilangan pangkat = ');readln(x);
hasil:=1;
for i:=1 to x do
hasil:=hasil*A;
writeln('hasil dari ',A,' pangkat ',x,' adalah ',hasil);
end.
18. Program
Latihan_Function;
uses wincrt;
var
x,y:longint;
Function Tambah(a,b:longint):longint;
var
Hasil:longint;
begin
Hasil:=a+b;
Tambah:=Hasil;
end;
begin
write('Masukkan bilangan pertama: ');readln(x);
write('Masukkan bilangan kedua: ');readln(y);
write('Hasilnya adalah ',(Tambah(x,y)));
end.
19. Program Menukar_Nilai_A_dan_C;
uses wincrt;
var
A,B,C:longint;
Function Tukar(Var A1,B1,C1:longint):longint;
var
temp:longint;
begin
temp:=A1;
A1:=C1;
C1:=temp;
end;
begin
write ('Masukkan Nilai A=');readln (A);
write ('Masukkan Nilai B=');readln (B);
write ('Masukkan Nilai C=');readln (C);
Tukar(A,B,C);
writeln ('Nilai A setelah ditukar ',A);
writeln ('Nilai B setelah ditukar ',B);
writeln ('Nilai C setelah ditukar ',C);
end.
uses wincrt;
var
x,y:longint;
Function Tambah(a,b:longint):longint;
var
Hasil:longint;
begin
Hasil:=a+b;
Tambah:=Hasil;
end;
begin
write('Masukkan bilangan pertama: ');readln(x);
write('Masukkan bilangan kedua: ');readln(y);
write('Hasilnya adalah ',(Tambah(x,y)));
end.
19. Program Menukar_Nilai_A_dan_C;
uses wincrt;
var
A,B,C:longint;
Function Tukar(Var A1,B1,C1:longint):longint;
var
temp:longint;
begin
temp:=A1;
A1:=C1;
C1:=temp;
end;
begin
write ('Masukkan Nilai A=');readln (A);
write ('Masukkan Nilai B=');readln (B);
write ('Masukkan Nilai C=');readln (C);
Tukar(A,B,C);
writeln ('Nilai A setelah ditukar ',A);
writeln ('Nilai B setelah ditukar ',B);
writeln ('Nilai C setelah ditukar ',C);
end.
19. Program Fungsi;
uses wincrt;
var x,y:integer;
FUNCTION Tambah (A,B:real):real;
var
Hasil:real;
begin
Hasil:=A+B;
Tambah:=Hasil;
end;
begin
clrscr;
writeln (Tambah(10,30):1);
end.
Program Fungsi;
uses wincrt;
var x,y:integer;
FUNCTION Tambah (A,B:real):real;
var
Hasil:real;
begin
Hasil:=A+B;
Tambah:=Hasil;
end;
begin
write('masukkan nilai x = ');readln (x);
write('masukkan nilai y = ');readln (y);
writeln (Tambah(x,y):1);
end.
Contoh procedure
20. Program Operasi_Tambah_Kurang_Kali_Procedure;
uses wincrt;
Procedure Penjumlahan(Var a,b:longint);
var
c:longint;
begin
writeln ('Operasi yang anda pilih adalah Penjumlahan');
gotoxy (20,5); write ('Masukkan bilangan pertama=');readln (a);
gotoxy (20,6); write ('Masukkan bilangan kedua=');readln (b);
c:=a+b;
gotoxy (20,7); writeln ('Hasil Penjumlahan adalah ',c);
end;
Procedure Pengurangan(Var a,b:longint);
var
d:longint;
begin
writeln ('Operasi yang anda pilih adalah Pengurangan');
gotoxy (20,5); write ('Masukkan bilangan pertama=');readln (a);
gotoxy (20,6); write ('Masukkan bilangan kedua=');readln (b);
d:=a-b;
gotoxy (20,7); writeln ('Hasil Pengurangan adalah ',d);
end;
Procedure Perkalian(Var a,b:longint);
var
e:longint;
begin
writeln ('Operasi yang anda pilih adalah Perkalian');
gotoxy (20,5); write ('Masukkan bilangan pertama=');readln (a);
gotoxy (20,6); write ('Masukkan bilangan kedua=');readln (b);
e:=a*b;
gotoxy (20,7); writeln ('Hasil Perkalian adalah ',e);
end;
var
a,b,c,d,e,i:longint;
f,y,n:string;
begin
f:='y';
while f='y' do
begin
gotoxy (25,3); writeln ('Menu Opersai Dua Bilangan');
gotoxy (25,5); writeln ('1. Penjumlahan');
gotoxy (25,6); writeln ('2. Pengurangan');
gotoxy (25,7); writeln ('3. Perkalian');
gotoxy (25,9); write ('Masukkan Pilihan Anda= '); readln (i);
clrscr;
gotoxy (20,3); If i=1 then
begin
penjumlahan(a,b);
end
else If i=2 then
begin
pengurangan(a,b);
end
else If i=3 then
begin
perkalian(a,b);
end
else writeln ('Pilihan Anda Salah');
gotoxy (20,9); write ('Apakah anda ingin mengulang(y/n)?');read (f);
clrscr;
end;
end.
21. Program procedur1;
uses wincrt;
procedure kuadrat;
var
x,y:real;
begin
write ('nilai x = ');readln(x);
y:=x*x;
writeln ('nilai y =',y:6:2);
end;
begin
kuadrat;
end
.
22 . Program
Matriks;
uses wincrt;
var tabel:array[1..3,1..2] of integer;
i,j:integer;
begin
tabel [1,1]:=50;
tabel [1,2]:=55;
tabel [2,1]:=21;
tabel [2,2]:=26;
tabel [3,1]:=10;
tabel [3,2]:=1;
for i:=1 to 3 do
begin
for j:=1 to 2 do
write(tabel[i,j],' ');
writeln;
end;
end.
Program Penjumlahan_Matriks;
uses wincrt;
var a,b,c:array[1..25,1..25] of integer;
i,j,k,l,m,n:byte;
begin
writeln(' PENJUMLAHAN MATRIKS ');
writeln(' ================= ');
write ('Baris Matriks Pertama = Baris Matriks Kedua = ');readln(m);
write ('Kolom Matriks pertama = Kolom Matriks Kedua = ');readln(n);
writeln;
writeln('Komponen matriks yang pertama');
for i:=1 to m do
begin
for j:=1 to n do
begin
write ('Nilai[',i,',',j,']=');readln(a[i,j]);
end;
writeln;
end;
writeln('Komponen matriks yang kedua');
for i:=1 to m do
begin
for j:=1 to n do
begin
write ('Nilai[',i,',',j,']=');readln(b[i,j]);
end;
writeln;
end;
for i:=1 to m do
begin
for j:=1 to n do
begin
c[i,j]:=a[i,j]+b[i,j];
end;
end;
writeln;
writeln('Hasil Penjumlahan Matriks');
writeln;
for i:=1 to m do
begin
writeln;
for j:=1 to n do
write(c[i,j]:4);
end;
end.
uses wincrt;
var tabel:array[1..3,1..2] of integer;
i,j:integer;
begin
tabel [1,1]:=50;
tabel [1,2]:=55;
tabel [2,1]:=21;
tabel [2,2]:=26;
tabel [3,1]:=10;
tabel [3,2]:=1;
for i:=1 to 3 do
begin
for j:=1 to 2 do
write(tabel[i,j],' ');
writeln;
end;
end.
Program Penjumlahan_Matriks;
uses wincrt;
var a,b,c:array[1..25,1..25] of integer;
i,j,k,l,m,n:byte;
begin
writeln(' PENJUMLAHAN MATRIKS ');
writeln(' ================= ');
write ('Baris Matriks Pertama = Baris Matriks Kedua = ');readln(m);
write ('Kolom Matriks pertama = Kolom Matriks Kedua = ');readln(n);
writeln;
writeln('Komponen matriks yang pertama');
for i:=1 to m do
begin
for j:=1 to n do
begin
write ('Nilai[',i,',',j,']=');readln(a[i,j]);
end;
writeln;
end;
writeln('Komponen matriks yang kedua');
for i:=1 to m do
begin
for j:=1 to n do
begin
write ('Nilai[',i,',',j,']=');readln(b[i,j]);
end;
writeln;
end;
for i:=1 to m do
begin
for j:=1 to n do
begin
c[i,j]:=a[i,j]+b[i,j];
end;
end;
writeln;
writeln('Hasil Penjumlahan Matriks');
writeln;
for i:=1 to m do
begin
writeln;
for j:=1 to n do
write(c[i,j]:4);
end;
end.
23. Program Memasukkan_Nilai_Matriks;
uses wincrt;
var tabel:array[1..100,1..100] of integer;
i,j:integer;
begin
write('masukkan baris = ');readln(i);
write('masukkan kolom = ');readln(j);
writeln('matriks anda berukuran = ',i,'x',j);
for i:=1 to i do
for j:=1 to j do
begin
write('nilai : ','');readln(tabel[i,j]);
end;
writeln;
writeln('Matriksnya:','');
for i:=1 to i do
begin
for j:=1 to j do
write(tabel[i,j]:3);writeln;
end;
end.
24. Program Menghitung_Rata_Rata;
uses wincrt;
var x:array[1..10] of integer;
i,n:integer;
jumlah,u:real;
begin
write('berapa kali data yang anda masukkan ? ');readln(n);
for i:=1 to n do
begin
write ('masukkan data = ');readln(x[i]);
end;
begin
clrscr;
for n:= 1 to i do
writeln('data = ' ,(x[n]));
end;
jumlah:=0;
for i:=1 to n do
jumlah:=jumlah+(x[i]);
u:=jumlah/n;
writeln ('u = ' ,u:2:2);
end.
25. Program Membuat_matriks_3x2;
uses wincrt;
var tabel:array[1..3,1..2]of integer;
i,j:integer;
begin
tabel[1,1]:=5;
tabel[1,2]:=25;
tabel[2,1]:=32;
tabel[2,2]:=22;
tabel[3,1]:=45;
tabel[3,2]:=11;
for i:=1 to 3 do
begin
for j:=1 to 2 do
write(tabel[i,j]:10);
writeln;
end;
end.
26. Program Membuat_matriks_baris_dan_kolom_belum_ditentukan;
uses wincrt;
var tabel:array[1..10,1..10]of integer;
i,j,m,n:integer;
begin
write('masukkan baris = ');read(m);
write('masukkan kolom = ');read(n);
clrscr;
for i:= 1 to m do
begin
for j:= 1 to n do
begin
write('nilai[',i,',',j,']?');read(tabel[i,j]);
end;
writeln;
end;
for i:= 1 to m do
begin
for j:= 1to n do
begin
write(tabel[i,j]:9);
end;
writeln;
end;
end.
27. program segitiga_pascal;
uses wincrt;var n,i,j:integer;
begin
write('Masukkan angka untuk segitiga asyik: ');readln(n);
for j:=1 to n do
begin
for i:=1 to j do
write (2:4);
writeln;
end;
end.
Apabila program dijalankan, maka tampilannya :
Masukkan angka untuk segitiga asyik: 4 (Masukkan angka, misal 4)
2
2 2
2 2 2
2 2 2 2
PROGRAM PEGULANGAN
1. Program
Pengulangan_for_do;
Uses Wincrt;
Var
a,b:longint;
Begin
Write ('Kita akan mengulang berapa kali : '); read (b);
For b:=1 to b do
a:=1;
For a:=1 to b do
Writeln (a,'.','Aku Suka Indonesia');
End.
2. Program For…do;
Uses Wincrt;
Var
a:longint;
Begin
For a:=1 to 5 do
Writeln (a,' . Pemrograman Komputer');
End.
3. Program Repeat_until;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
Repeat
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
Until a>4;
End.
4. Program While_do;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
While a<5 do
Begin
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
End;
End.
5. Program Cetak_BilGanjil;
Uses wincrt;
Var
I : Integer;
Begin
I:=1;
While I < 10 Do
begin
I:=I +2;
Write(I:6);
end;
End.
Uses Wincrt;
Var
a,b:longint;
Begin
Write ('Kita akan mengulang berapa kali : '); read (b);
For b:=1 to b do
a:=1;
For a:=1 to b do
Writeln (a,'.','Aku Suka Indonesia');
End.
2. Program For…do;
Uses Wincrt;
Var
a:longint;
Begin
For a:=1 to 5 do
Writeln (a,' . Pemrograman Komputer');
End.
3. Program Repeat_until;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
Repeat
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
Until a>4;
End.
4. Program While_do;
Uses Wincrt;
Var
a:longint;
Begin
a:=0;
While a<5 do
Begin
a:=a+1;
Writeln (a,' . Pemrograman Komputer');
End;
End.
5. Program Cetak_BilGanjil;
Uses wincrt;
Var
I : Integer;
Begin
I:=1;
While I < 10 Do
begin
I:=I +2;
Write(I:6);
end;
End.
6. Program Segitiga_Asyik;
Uses Wincrt;
Var
a,b,c:longint;
Begin
Write ('Berapa baris segitiga asyik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Write (c:3);
Writeln;
Writeln;
End;
End.
7. Program Jumlah_Segitiga_Asyik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asyik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to 1 do
Write (c:2);
For b:=2 to c do
Write (' +',c:2);
For b:=1 to c do
d:=c*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.
8. Program Jumlah_Segitiga_Asik;
Uses Wincrt;
Var
a,b,c,d:longint;
Begin
Write ('Berapa baris segitiga asik yang kamu inginkan: '); read (a);
For c:=1 to a do
Begin
For b:=1 to c do
Begin
Write (c:2);
If b
End;
For b:=1 to c do
d:=b*b;
Write (' = ');
Write (d);
Writeln;
Writeln;
End;
End.
9. Program Menampilkan_Bilangan_Genap;
Uses Wincrt;
Var
x,angka_awal:longint;
Begin
angka_awal:=2;
Repeat
Write (angka_awal,' ');
angka_awal:=angka_awal+2;
Until angka_awal>50
End.
10. Program Penjumlahan_Deret_Bilangan_Bulat_1_Sampai_n;
Uses Wincrt;
Var
bilangan_akhir,bilangan_awal,jumlah:longint;
Begin
bilangan_awal:=1;
jumlah:=0;
Write ('Masukkan bilangan akhir yang diinginkan = '); readln (bilangan_akhir);
Repeat
Write (bilangan_awal);
If bilangan_awal
jumlah:=jumlah+bilangan_awal;
bilangan_awal:=bilangan_awal+1;
Until bilangan_awal>bilangan_akhir;
Write (' = ',jumlah);
End.
11. Program Penjumlahan_Deret_Bilangan_1_sd_12;
Uses Wincrt;
Var
bilangan_awal,bilangan_akhir,jumlah:integer;
Begin
bilangan_akhir:=12;
jumlah:=0;
bilangan_awal:=1;
Repeat
Write (bilangan_awal,' + ');
jumlah:=jumlah+bilangan_awal;
bilangan_awal:=bilangan_awal+1;
Until bilangan_awal>bilangan_akhir;
Writeln ('=',jumlah);
End.
12. Program Penjumlahan_Deret_Bilangan_Bulat;
uses wincrt;
var
bilangan_awal,bilangan_akhir,bilangan_setelah_awal,bilangan_penolong1,bilangan_penolong2:longint;
jumlah1,jumlah2,jumlah_akhir:longint;
begin
write ('Masukkan bilangan awal yang diinginkan = '); readln (bilangan_awal);
write ('Masukkan bilangan akhir yang diinginkan = '); readln (bilangan_akhir);
If bilangan_akhir=bilangan_awal then write (bilangan_awal)
else begin
jumlah_akhir:=0;
jumlah1:=0;
jumlah2:=0;
bilangan_setelah_awal:=bilangan_awal+1;
bilangan_penolong1:=0;
bilangan_penolong2:=0;
Write (bilangan_awal);
repeat
jumlah2:=jumlah2+bilangan_penolong2;
bilangan_penolong2:=bilangan_penolong2+1;
until bilangan_penolong2>=bilangan_awal;
Repeat
jumlah1:=jumlah1+bilangan_penolong1;
bilangan_penolong1:=bilangan_penolong1+1;
Until bilangan_penolong1>bilangan_akhir;
repeat
write (' + ',bilangan_setelah_awal);
bilangan_setelah_awal:=bilangan_setelah_awal+1;
jumlah_akhir:=jumlah1-jumlah2;
until bilangan_setelah_awal>bilangan_akhir;
write (' = ',jumlah_akhir);
end
End.
Case c of
1.Program
Menu_Makanan;
uses wincrt;
var x:integer;
menu:string;
begin
gotoxy(10,1);writeln('========================');
gotoxy(10,2);writeln('Menu Makanan Rumah Makan');
gotoxy(10,3);writeln('========================');
gotoxy(10,5);writeln('1. Ayam Bakar');
gotoxy(10,6);writeln('2. Ayam Goreng');
gotoxy(10,7);writeln('3. Ayam Panggang');
gotoxy(10,10);writeln('Pilih Menu Favoritmu!');
gotoxy(10,12);readln(x);
case x of
1: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Bakar = Rp 7.000,00 <<');
end;
2: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Goreng = Rp 7.000,00 <<');
end;
3: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Panggang = Rp 7.000,00 <<');
end;
end;
end.
6.Program Terbilang;
Uses Wincrt;
Var
a,b,c:longint;
Begin
Write('Masukkan Angka: ');readln(a);
b:=a div 10;
c:=a mod 10;
Writeln;
Begin
If (b=1) and (c=0) then write('sepuluh');
If (b=1) and (c=1) then write('sebelas');
If (b=1) and (c=2) then write('dua belas');
If (b=1) and (c=3) then write('tiga belas');
If (b=1) and (c=4) then write('empat belas');
If (b=1) and (c=5) then write('lima belas');
If (b=1) and (c=6) then write('enam belas');
If (b=1) and (c=7) then write('tujuh belas');
If (b=1) and (c=8) then write('delapan belas');
If (b=1) and (c=9) then write('sembilan belas');
Begin
If (b=0) and (c=1) then write('satu');
If (b=0) and (c=2) then write('dua');
If (b=0) and (c=3) then write('tiga');
If (b=0) and (c=4) then write('empat');
If (b=0) and (c=5) then write('lima');
If (b=0) and (c=6) then write('enam');
If (b=0) and (c=7) then write('tujuh');
If (b=0) and (c=8) then write('delapan');
If (b=0) and (c=9) then write('sembilan');
End;
Case b of
2: Write('dua puluh ');
3: Write('tiga puluh ');
4: Write('empat puluh ');
5: Write('lima puluh ');
6: Write('enam puluh ');
7: Write('tujuh puluh ');
8: Write('delapan puluh ');
9: Write('sembilan puluh ');
End;
If b>1 then
Case c of
1: Write('satu');
2: Write('dua');
3: Write('tiga');
4: Write('empat');
5: Write('lima');
6: Write('enam');
7: Write('tujuh');
8: Write('delapan');
9: Write('sembilan');
End;
End;
End.
uses wincrt;
var x:integer;
menu:string;
begin
gotoxy(10,1);writeln('========================');
gotoxy(10,2);writeln('Menu Makanan Rumah Makan');
gotoxy(10,3);writeln('========================');
gotoxy(10,5);writeln('1. Ayam Bakar');
gotoxy(10,6);writeln('2. Ayam Goreng');
gotoxy(10,7);writeln('3. Ayam Panggang');
gotoxy(10,10);writeln('Pilih Menu Favoritmu!');
gotoxy(10,12);readln(x);
case x of
1: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Bakar = Rp 7.000,00 <<');
end;
2: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Goreng = Rp 7.000,00 <<');
end;
3: begin
clrscr;
gotoxy(10,4);writeln('>> Ayam Panggang = Rp 7.000,00 <<');
end;
end;
end.
6.Program Terbilang;
Uses Wincrt;
Var
a,b,c:longint;
Begin
Write('Masukkan Angka: ');readln(a);
b:=a div 10;
c:=a mod 10;
Writeln;
Begin
If (b=1) and (c=0) then write('sepuluh');
If (b=1) and (c=1) then write('sebelas');
If (b=1) and (c=2) then write('dua belas');
If (b=1) and (c=3) then write('tiga belas');
If (b=1) and (c=4) then write('empat belas');
If (b=1) and (c=5) then write('lima belas');
If (b=1) and (c=6) then write('enam belas');
If (b=1) and (c=7) then write('tujuh belas');
If (b=1) and (c=8) then write('delapan belas');
If (b=1) and (c=9) then write('sembilan belas');
Begin
If (b=0) and (c=1) then write('satu');
If (b=0) and (c=2) then write('dua');
If (b=0) and (c=3) then write('tiga');
If (b=0) and (c=4) then write('empat');
If (b=0) and (c=5) then write('lima');
If (b=0) and (c=6) then write('enam');
If (b=0) and (c=7) then write('tujuh');
If (b=0) and (c=8) then write('delapan');
If (b=0) and (c=9) then write('sembilan');
End;
Case b of
2: Write('dua puluh ');
3: Write('tiga puluh ');
4: Write('empat puluh ');
5: Write('lima puluh ');
6: Write('enam puluh ');
7: Write('tujuh puluh ');
8: Write('delapan puluh ');
9: Write('sembilan puluh ');
End;
If b>1 then
Case c of
1: Write('satu');
2: Write('dua');
3: Write('tiga');
4: Write('empat');
5: Write('lima');
6: Write('enam');
7: Write('tujuh');
8: Write('delapan');
9: Write('sembilan');
End;
End;
End.
CASE
program
case1;
uses
wincrt;
var
nip,nama : string;
pendapatan,pajak : real;
gol : char;
begin
clrscr;
writeln('---------
DAFTAR PAJAK ----------');
writeln('_________________________________');
write ('NIP : ');readln(nip);
write ('Nama Karyawan : ');readln(nama);
write ('Golongan [A,B,C] : ');readln(gol);
write ('Pendapatan : ');readln(pendapatan);
case upcase(gol) of
'A' : begin
writeln('Golongan ini bebas pajak');
pajak := 0;
end;
'B' : pajak := 0.1 * pendapatan;
'C' : pajak := 0.2 * pendapatan;
else write('Salah melakukan Penginputan
data ');
end;
writeln('Pajak : Rp. ',pajak:9:2);
end.
Tampilan saat case Di running
Sedangkan
untuk program IF
program
if1;
uses
wincrt;
var
nip,nama : string;
pendapatan,pajak : real;
gol : char;
begin
clrscr;
writeln('---------
DAFTAR PAJAK ----------');
writeln('_________________________________');
write ('NIP : ');readln(nip);
write ('Nama Karyawan : ');readln(nama);
write ('Golongan [A,B,C] : ');readln(gol);
write ('Pendapatan : ');readln(pendapatan);
if (gol = 'A' )or (gol = 'a') then
pajak := 0
else if (gol = 'B') or (gol = 'b') then
pajak := 0.1 * pendapatan
else if (gol = 'C') or (gol = 'c') then
pajak := 0.2 * pendapatan
else write('Salah melakukan Penginputan
data ');
writeln('Pajak : Rp. ',pajak:9:2);
end.
0 comments:
Post a Comment