BLOG'S DAMIR

TEKNIK KOMPUTER DAN JARINGAN

Sabtu, 25 September 2010

SOAL - SOAL TORBO PASCAL (TPW) BESERTA JAWABANNYA

1.Menghitung luas segi4
jawab:
Program luas_segi4;
uses wincrt;
var
panjang:integer;
lebar:integer;
luas:integer;
Begin
writeln('panjangnya');
readln(panjang);
writeln('lebarnya');
readln(lebar);
luas:=panjang*lebar;
writeln('luas segi4=',luas);
End.

2. Konversi jam ke detik
jawab :
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.

3.Konversi dari detik ke jam
jawab :
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.

4.Membuat program Segitiga bintang
jawab :
program segitiga_bintang;
uses wincrt;
var
i , j , N : longint;
begin
writeln('program segitiga bintang by ahmad dhamir salam');
writeln;
write('masukkan jumlah baris segitiga :');
readln(N);
for i:=1 to N do
begin
for j:=1 to i do
write('*');
writeln;
end;
end.

5.Program menghitung bilangan berpangkat dimana nilai bilangannya ditentukan oleh user
 jawab :
program pangkat;
uses wincrt;
var
hasil:longint;
a:longint;
n:integer;
m:integer;
k:integer;
begin
clrscr;
writeln('program pangkat by Ahmad Dhamir Salam');
writeln;
write('masukkan angka yang ingin dihitung: '); read(a);
write('pangkatnya: '); read(n);
if n < 0 then
m:=-n
else
m:=n;

hasil:=1;
for k:=1 to m do
hasil:=hasil*a;
if n<0 then
write(',1')
else
write('jadi hasil ',a,' dipangkatkan ',m,' = ',hasil);
readln;
readln;
end.

6. Program menghitung biangan Faktorial dimana nilaix di tentukan oleh user
jawab :
Program Faktorial_pascal;
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('Program Faktorial by Ahmad Dhamir Salam');
writeln;
write('masukkan nilai yang ingin dihitung faktorialnya :');readln(x);
writeln(x,'!','=',faktorial(x));
readln;
end.

7.Konversi Suhu
 Jawab:
program konversi_suhu;
uses wincrt;
var
farenheit:real;
celcius:real;
begin
writeln('masukkan program suhu farenheit ke celcius');
writeln('=============================================');
writeln;
write('masukkan suhu dalam farenheit=');readln(farenheit);
celcius:=5/9*(farenheit-32);
writeln;
writeln('jadi suhu dalam celcius adalah:',celcius:4:2);
end.

8.Konversi Celcius ke Farenheit
 jawab:
program konversi_celcius_ke_farenheit;
uses wincrt;
var
celcius:real;
farenheit:real;
begin
writeln('masukkan suhu dalam farenheit');
readln(farenheit);
celcius:=5/9*(farenheit-32);
writeln('jadi suhu dalam celcius=',celcius:4:2);
end.

9.progranm durasi telepon
jawab:
Program Durasi_Telepon;
uses wincrt;
var j1, j2, m1, m2, d1, d2, j, m, d, sisa, durasi:integer;
begin
write ('jam mulai=');read(j1,m1,d1);
write ('jam selesai =');readln(j2,m2,d2);
Durasi:=(j2-j1)*3600+(m2-m1)*60+(d2-d1);
j:=Durasi div 3600;
sisa:=Durasi mod 3600;
m:=sisa div 60;
d:=sisa mod 60;
writeln ('durasi jam=',j);
writeln ('durasi menit=',m);
writeln ('durasi detik=',d);
end.

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).

11.Menghitung biaya telepon
jawab :
Program Menghitung_Biaya_Telepon;
Uses Wincrt;
Var
hh1,mm1,ss1,hh2,mm2,ss2,Total_Detik,Biaya_Telepon:longint;
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);
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.

12.Konversi Suhu dari Celcius ke Kelvin dan Fahrenhet.
jawab :
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.

13.Menghitung umur seseorang apabila diasumsikan dalam 1 bulan ada 30 hari dan dalam 1 tahun ada 365 hari.
Jawab :
Program Menghitung_Umur_Seseorang;
uses wincrt;
var
d1,d2,m1,m2,y1,y2,H,I,J,K,L:integer;
begin
writeln('Menghitung umur seseorang');
write('Masukkan tanggal lahir = ');readln(d1,m1,y1);
write('Masukkan tanggal sekarang = ');readln(d2,m2,y2);
H:=(y2-y1)*365+(m2-m1)*30+(d2-d1);
I:=H div 365;
J:=H mod 365;
K:=J div 30;
L:=J mod 30;
write('umur anda sekarang adalah = ',I,' tahun ',K,' bulan ',L,' hari');
end.

14.Volum Kubus dan luas permukaan kubus.
Jawab :
Program Volume_Kubus_dan_Luas_Permukaan_Kubus;
uses wincrt;
var
alas, volume, 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.

15.Luas daerah lingkaran dan keliling lingkaran.
Jawab :
Program Luas_Lingkaran_dan_Keliling_Lingkaran;
uses wincrt;
const
phi=3.142857;
var
r, Luas, 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.

16.Mempertukarkan nilai A dan B, nilai A dan B diinput.
Jawab :
Program Mempertukarkan_Nilai;
uses wincrt;
var
A:integer;
B:integer;
temp:integer;
begin
write('masukkan nilai A =');readln(A);
write('masukkan nilai B =');readln(B);
temp:=A;
A:=B;
B:=temp;

writeln('A =',A);
writeln('B =',B);
end.

17. Luas permukaan tabung dan kerucut.
jawab :
Program Luas_Permukaan_Tabung_dan_Kerucut;
uses wincrt;
const
phi=3.142857;
var
r, t, s, luas_permukaan_tabung, luas_permukaan_kerucut:real;
begin
write('masukkan jari-jari =');readln(r);
write('masukkan tinggi =');readln(t);
write('masukkan selimut_kerucut =');readln(s);
luas_permukaan_tabung:=((2*phi*r*r)+(2*phi*r*t));
luas_permukaan_kerucut:=((phi*r*r)+(phi*r*s));
writeln('luas_permukaan_tabung=',luas_permukaan_tabung:5:2);
writeln('luas_permukaan_kerucut=',luas_permukaan_kerucut:5:2);
end.

18.Penjumlahan, pengurangan, perkalian, pembagian, pembagian bulat, dan sisa hasil bagi dalam sebuah program.
jawab :
Program Operasi_Bilangan;
uses wincrt;
var
a,b,c,d,e,h:integer;
f,g:real;
begin
write('masukkan nilai pertama = ');readln(a);
write('masukkan nilai 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 = ',c);
writeln('hasil pengurangan = ',d);
writeln('hasil perkalian = ',e);
writeln('hasil pembagian = ',f:0:2);
writeln('hasil pembagian bulat = ',g:0:2);
writeln('sisa hasil bagi = ',h);
end.

19.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.
jawab :
Program Gaji_Karyawan;
uses wincrt;
var
nama_orang:string;
gaji_pokok:real;
tunjangan_istri:real;
tunjangan_tiap_anak:real;
n:integer;
pajak:real;
total_gaji:real;
begin
write ('masukkan nama orang =');readln(nama_orang);
write ('masukkan gaji pokok =');read(gaji_pokok);
write ('masukkan banyaknya anak =');readln(n);
tunjangan_istri:=(0.15*gaji_pokok);
tunjangan_tiap_anak:=(0.2*n*gaji_pokok);
pajak:=(0.15*(gaji_pokok+tunjangan_istri+tunjangan_tiap_anak));
total_gaji:=(gaji_pokok+tunjangan_istri+tunjangan_tiap_anak-pajak);
writeln('tunjangan_istri=',tunjangan_istri:10:2);
writeln('tunjangan_tiap_anak=',tunjangan_tiap_anak:10:2);
writeln('pajak=',pajak:10:2);
writeln('total_gaji=',total_gaji:10:2);
end.

20.Koordinat titik tengah dari kedua titik yang diketahui.
Jawab :
Program Koordinat_Titik_Tengah;
uses wincrt;
var
x1, x2, y1, y2, a, b, titik_tengah_x, 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:2);
writeln('titik_tengah_y=',titik_tengah_y:10:2);
end.

21. Buatlah program untuk mengkonversi suhu dari Celcius menjadi Fahrenheit dan
Reamur ! ( 1 Fahrenheit = 9/5 x Celcius + 32, 1 Reamur = 4/5 x Celcius)
jawab:
program konversi_suhu;
uses crt;
var c,r,f:real'
begin
clrscr;
write('Masukkan suhu dalam celcius = ');readln(c);
f:=9/5*c+32;
r:=4/5*c;
writeln('Jadi suhu dalam Fahrenheit = ',f:4:2);
writeln('Jadi suhu dalam Reamur = ',r:4:2);
readln;
end.
22. Buatlah program untuk menghitung Luas dan keliling persegi panjang dengan
masukkan: panjang dan lebar !

jawab:

Uses crt;
Var p,l,Luas,Keliling:real;
Begin
Clrscr;
Write(‘Masukkan panjang persegi panjang = ‘);readln(p);
Write(‘Masukkan lebar persegi panjang = ‘);readln(l);
Luas:=p*l;
Keliling:=2*(p+l);
Writeln(‘Jadi luas persegi panjangnya adalah = ‘,Luas:4:2);
Writeln(‘Jadi keliling persegi panjangnya adalah = ‘,Keliling:4:2);
readln;
end.

23. Buatlah program untuk menghitung Luas dan keliling lingkaran dengan masukan jarijari
lingkaran !
jawab :
Program lingkaran;
Uses crt;
Var r,Luas,Keliling:real;
Begin
Clrscr;
Write(‘Masukkan jari-jari lingkaran= ‘);readln(r);
Luas:=22/7*r*r;
Keliling:=2*22/7*r*r;
Writeln(‘Jadi luas lingkarannya adalah = ‘,Luas:4:2);
Writeln(‘Jadi keliling lingkarannya adalah = ‘,Keliling:4:2);
readln;
end.

25: Gaji pegawai PT MAJU MUNDUR dihitung berdasarkan beberapa hal, yaitu: gaji
pokok, tunjangan pegawai dan upah lembur. Tunjangan pegawai adalah 16 % dari gaji
pokok. Upah lembur per jam adalah 0,5 % dari gaji pokok. Buatlah program untuk
menghitung gaji total yang diterima pegawai !

jawab :
program gajiku;
uses crt;
var gp,jl,tp,ul,gt:real;
begin
clrscr;
write('Input gaji pokok = ');readln(gp);
write('Input jumlah jam lembur = ');readln(jl);
tp:=16/100*gp;
ul:=0.5/100*gp*jl;
gt:=gp+tp+ul;
writeln('Jadi totalnya adalah = ',gt:4:2);
readln;
end.

MOHON KRITIKANNYA KALO ADA YG SALAH Y...

1 komentar: