Contoh-contoh Soal dan Penyelesaiannya; Program Turbo Pascal for Windows (TPW)

Assalamu'alaikum.. Bagi temen-temen yang sedang mempelajari software Matematika, program Turbo Pascal for Windows (TPW), saya ingin share contoh-contoh soal dan penyelesaiannya.. Kalau temen-temen belum punya softwarenya, silahkan Download softwarenya, disini.. Posting ini mudah-mudahan ada makna bagi kita semua.. Amin ^_^




Langsung aja kita coba aplikasikan contoh-contoh soal berikut ;

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

b. Program Konversi Detik

uses wincrt;
   type jam     =record
                    hh:longint;
                    mm:longint;
                    ss:longint;
                 end;
 var
   J  :jam;
   totaldetik  :longint;

begin
     write ('Jam : '); readln (J.hh);
     write ('menit : '); readln (J.mm);
     write ('detik : '); readln (J.ss);
     totaldetik:= (J.hh*3600) + (J.mm*60) + J.ss;
     write ('totaldetik= ', totaldetik);
end.

c. Konversi 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('total detik=',detik:10:2);
end.

d. Koordinat titik tengah dari kedua titik yang diketahui


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.

e. Mencari Luas Bujur Sangkar

uses wincrt;
var
   sisi : real;
   luas :real;

begin
     write('berapa sisi bujursangkar? ');readln(sisi);
     write('berapa sisi bujursangkar? ');readln(sisi);
     luas := sisi * sisi;

     writeln('luas bujursangkar= ', luas);
end.

f. Mencari Luas 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.


g. Mencari 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.

h. Mencari Luas Segitiga

Uses wincrt;
Var
pjg, lbr, als, tg, NomorMenu:Integer;
l_persegi, l_segitiga, kll_segitiga, kll_persegi:integer;
Begin
clrscr;
writeln('rumus luas segitiga');
write('masukan alas segitiga: '); readln(als);
write('masukan tinggi segitiga: '); readln(tg);
l_segitiga:= als*tg div 2;
writeln('luas segitiga adalah ',l_segitiga);
readln;
end.



i. Luas Trapesium

Uses wincrt;
Var
sisi_a,sisi_b,tinggi,luas:real;
Begin
clrscr;
write (‘masukkan sisi a:’);
readln (sisi_a);
write(‘masukkan sisi b:’);
readln(sisi_b);
write (‘masukkan tinggi:’);
readln(tinggi);
Luas:=(sisi_a+sisi_b)/2*tinggi;
writeln(‘Luas Trapesium adalah:’,Luas:8:2);
readln;
end.

j. Menentukan Volume Bola

Uses wincrt;
Var
jari_jari,volume:real;
Begin
clrscr;
write (‘masukkan jari-jari:’);
readln (jari_jari);
volume:=jari_jari*jari_jari*4/3*pi;
writeln(‘Volume Bola adalah:’,volume:8:2);
readln;
end.

k. Luas Segi Empat

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.


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

m. Jenis Akar Persamaan (1)

uses wincrt;
var
   a,b,c,x,x1,x2,D : real;
begin
     writeln ('berapa a?'); read (a);
     writeln ('berapa b?'); read (b);
     writeln ('berapa c?'); read (c);
     D:=b*b-4*a*c   ;
     if D=0 then
     begin
     x:= -b/(2*a);             
     write ('akar-akarnya real kembar yaitu ',x);
     end else
     if D>0 then
     begin
     x1:= (-b + sqrt(D))/(2*a);
     x2:= (-b - sqrt(D))/(2*a);
     writeln('akarnya real berbeda yaitu x1= ',x1:0:0);
     writeln('x2= ',x2:0:0);
     end else
     begin
     writeln('akarnya tidak real yaitu ');
     end;
end.


n. Jenis Akar Persamaan (2)

uses wincrt;
var
   a,b,c,x,x1,x2,D : real;
begin
     writeln ('berapa a?'); read (a);
     writeln ('berapa b?'); read (b);
     writeln ('berapa c?'); read (c);
     D:=b*b-4*a*c   ;
     if D=0 then
     begin
     x:= -b/(2*a);             
     write ('akar-akarnya real kembar yaitu ',x);
     end else
     if D>0 then
     begin
     x1:= (-b + sqrt(D))/(2*a);
     x2:= (-b - sqrt(D))/(2*a);
     writeln('akarnya real berbeda yaitu x1= ',x1:0:0);
     writeln('x2= ',x2:0:0);
     end else
     begin
     writeln('akarnya tidak real yaitu ');
     end;
end.


o. Konversi Hari ke Tahun, Bulan, Hari

uses wincrt;
   type hari     = record
                    yy:longint;
                    mm:longint;
                    dd:longint;
                 end;
 var 
   d            : hari;
   totalhari    : longint;
   sisa         : longint;

 begin
     write ('total hari: '); readln (totalhari);
     d.yy:= totalhari div 365 ;
     sisa:= totalhari mod 365 ;
     d.mm:= totalhari div 30;
     sisa:= totalhari mod 30;
     d.dd:= totalhari div 1;
     sisa:= totalhari mod 1;
     writeln ('d.yy= ', d.yy);
     writeln ('d.mm= ', d.mm);
     writeln ('d.dd= ', d.dd); 

end.

p. Menu Persamaan Kuadrat

uses wincrt;
var
   nomormenu :integer;
   a, b, c, D, x, x1, x2, jumlahakar, perkalianakar :real;

begin
     writeln('menu persamaan kuadrat');
     writeln('1.mencari diskriminan');
     writeln('2.jenis-jenis akar persamaan');
     writeln('3.mencari akar-akar persamaan');
     writeln('4.jumlah akar persamaan');
     writeln('5.hasil kali akar persamaan');
     writeln('6.keluar');
     writeln('masukan pilihan anda'); read(nomormenu);

case nomormenu of
    1 : begin
        write('berapa a?'); readln (a);
        write('berapa b?'); readln (b);
        write('berapa c?'); readln(c);
        D:=b*b-4*a*c;
        writeln('D= ',D);
        end;
    2 : begin
        writeln ('berapa a?'); read (a);
        writeln ('berapa b?'); read (b);
        writeln ('berapa c?'); read (c);
        D:=b*b-4*a*c   ;
        if D=0 then    
        write ('akar-akarnya real sama')
        else
        if D>0 then
        write ('akar-akarnya real berbeda')
        else
        write ('tidak memiliki akar real')
        end;
    3 : begin
        writeln ('berapa a?'); read (a);
        writeln ('berapa b?'); read (b);
        writeln ('berapa c?'); read (c);
        D:=b*b-4*a*c   ;
        if D=0 then
        begin
        x:= -b/(2*a);             
        write ('akar-akarnya real kembar yaitu ',x);
        end else
        if D>0 then
        begin
        x1:= (-b + sqrt(D))/(2*a);
        x2:= (-b - sqrt(D))/(2*a);
        writeln('akarnya real berbeda yaitu x1= ',x1:0:0);
        writeln('x2= ',x2:0:0);
        end else
        begin
        writeln('akarnya tidak real yaitu ');
        end;
    end;
    4 : begin
        writeln ('berapa a?'); read (a);
        writeln ('berapa b?'); read (b);
        jumlahakar:= -(b/a);
        writeln('jumlahakar= ', jumlahakar);   
        end;
    5 : begin
        writeln ('berapa a?'); read (a);
        writeln ('berapa c?'); read (c);
        perkalianakar:= c/a ;
        writeln('perkalianakar= ', perkalianakar);
        end;
    6 : write('keluar program .... sampai jumpa')
        end;
end.

q. Volume dan Luas Permukaan Kubus 

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.



Mungkin lumayan banyak. Cukup buat temen-temen latihan Program Turbo Pascal for Windows nya..
Lumayan capeek juga :D
Mungkin sampe sini Admin ngepost nya.. Sampai ketemu di posting selanjutnya. Mudah-mudahan temen-temen yang sudah mencoba, ataupun sekedar menyimak, mendapatkan ilmu baru..
"Orang yang mau mencoba, sesungguhnya dekat dengan keberhasilan. Orang yang sedang belajar, terlihat sedang pusing, yang gak belajar pasti terlihat biasa saja.. Sukses dekat dengan orang yang mau belajar" - Pepatah

Terima kasih :)


 

6 comments:

  1. artikelnya menarik...sangat membantu para siswa smp dalam belajar pascal dasar...ditunggu postingan tentang perulangan for i to n, while do dan repeat until...salam kenal dari ponorogo

    ReplyDelete
  2. makasihh Kak..
    sangat membantu.. :D

    ReplyDelete
  3. terimakasih bt telah berbagi ilmu,,,

    ReplyDelete
  4. makasih gan dah berbagi ilmu nya, salam kenal

    ReplyDelete