program perhitungan_fisika;
uses wincrt;
type emay = RECORD
jarak : real;
kecepatan: real;
selang : real;
percepatan:real;
kcptn_akhir:real;
kcptn_awal:real;
g :real;
h:real;
end;
var
data : array [1..10] of emay;
m,may,my,mutzz:integer;
ulang:char;
pilih:byte;
procedure main_menu (var pil:byte);
begin
clrscr;
writeln('================================');
writeln('|| MENU UTAMA ||');
writeln('|| 1. Menghitung GLB ||');
writeln('|| 2. Menghitung GLBB ||');
writeln('|| 3. Menghitung GJB ||');
writeln('|| 4. Keluar Program ||');
writeln('================================');
writeln;
write('Masukan Pilihan [1-4] :');readln(pil)
end;
procedure glb ;
begin
writeln (' Menghitung GLB (Gerak Lurus Beraturan (GLB) :');
with data[m] do
begin
clrscr;
writeln('================================');
writeln('|| MENU GLB ||');
writeln('|| 1. Menghitung Jarak ||');
writeln('|| 2. Menghitung Kecepatan ||');
writeln('|| 3. Menghitung Selang Waktu ||');
writeln('================================');
writeln;
write('Masukan pilihan [1-3] :');readln(may);
case may of
1 : begin
repeat
clrscr;
writeln (' Menghitung Jarak :');
writeln (' Contoh Soal: ');
writeln (' Sebuah Mobil Melaju Dengan Kecepatan 40 m/s dengan waktu 2detik');
writeln ('Hitunglah berapa jarak yang ditempuh Mobil Tersebut');
writeln ('Dik : v=40 m/s t=2s Dit: s???? ');
writeln;
write('Masukan kecepatan(v)=meter/sekon :');readln(kecepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
jarak:=kecepatan*selang;
writeln('Jadi Jarak(s)= meter :',jarak:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan :');
writeln ('Contoh Soal:');
writeln ('Sebuah sepedah melaju kencang jarak tempuh yang dilalui sepedah tersebut 50meter');
writeln ('Waktu yang dibutuhkan adalah 10sekon berapa kecepatan sepedah tersebut????');
writeln ('Dik: s=50m t=10s Dit: v??? ');
writeln;
write('Masukan Jarak(s)= meter :');readln(jarak);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kecepatan:=jarak/selang;
writeln('Jadi Kecepatan(v)= meter/sekon :',kecepatan:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Selang Waktu :');
writeln ('Contoh Soal:');
writeln ('Sebuah sepedah motor melaju dengan kecepatan 40 m/s dan jarak yang ditempuh 80 m');
writeln ('Hitunglah berapa waktu yang dibutuhkan untuk menempuh jarak tersebut');
writeln ('Dik : v=40m/s s=80 m Dit: t?? ');
writeln;
write('Masukan Jarak(s)= meter :');readln(jarak);
write('Masukan Kecepatan(v) = meter/sekon :');readln(kecepatan);
selang:=jarak/kecepatan;
writeln('Jadi Selang Waktu(t)= sekon :',selang:0:0);
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure glbb ;
begin
writeln (' Menghitung Gerak Lurus Berubah Beraturan (GLBB) :');
with data[m] do
begin
clrscr;
writeln('=======================================================');
writeln('|| Menu GLBB ||');
writeln('|| 1. Menghitung Kecepatan Akhir ||');
writeln('|| 2. Menghitung Jarak Yang Ditempuh Setelah t sekon ||');
writeln('|| 3. Menghitung Kecepatan sesaat/saat t sekon ||');
writeln('|| 4. Menghitung Percepatan ||');
writeln('=======================================================');
writeln;
write('Masukan pilihan [1-3] :');readln(my);
case my of
1 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan Akhir ');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kcptn_akhir:=kcptn_awal+(percepatan*selang);
writeln('Jadi Kecepatan Akhir (Vt)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Jarak Yang Ditempuh Setelah t sekon :');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan selang waktu(t) =sekon :');readln(selang);
jarak:=(kcptn_awal*selang)+((0.5*percepatan)*(selang*selang));
writeln('Jadi Jarak Yang ditempuh setelah t sekon (St)= meter :',jarak:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan sesaat/saat t sekon :');
writeln;
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan Percepatan (a) =meter/sekon2 :');readln(percepatan);
write('Masukan Jarak (s) =meter :');readln(jarak);
kcptn_akhir:=(kcptn_awal*kcptn_awal)+(2*(percepatan*jarak));
writeln('Jadi Kecepatan sesaat/saat t sekon (m/s)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
4 : begin
repeat
clrscr;
writeln (' Menghitung Percepatan :');
writeln;
write('Masukan Kecepatan akhir (Vt) =meter/sekon :');readln(kcptn_akhir);
write('Masukan kecepatan awal(v0)=meter/sekon :');readln(kcptn_awal);
write('Masukan selang waktu (t) =sekon :');readln(selang);
percepatan:=(kcptn_akhir-kcptn_awal)/selang;
writeln('Jadi Percepatan (m/s2)= meter/sekon2 :',percepatan:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure gjb ;
begin
writeln (' Menghitung Gerak Jatuh Bebas (GJB) :');
with data[m] do
begin
clrscr;
writeln('=======================================================');
writeln('|| Menu GJB ||');
writeln('|| 1. Menghitung Kecepatan sesaat/saat t sekon ||');
writeln('|| 2. Menghitung Jarak Yang Ditempuh ||');
writeln('|| 3. Menghitung Waktu Gerak ||');
writeln('|| 4. Menghitung Kecepatan Benda ||');
writeln('=======================================================');
writeln;
write('Masukan pilihan [1-4] :');readln(mutzz);
case mutzz of
1 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan Sesaat/saat t sekon ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan selang waktu(t) =sekon :');readln(selang);
kcptn_akhir:=g*selang;
writeln('Jadi Kecepatan Akhir (Vt)= meter/sekon :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
2 : begin
repeat
clrscr;
writeln (' Menghitung Jarak Yang Ditempuh ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan selang waktu(t) =sekon :');readln(selang);
h:=(0.5*g)*(selang*selang);
writeln('Jadi Jarak Yang Ditempuh (h)= meter :',h:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
3 : begin
repeat
clrscr;
writeln (' Menghitung Waktu Gerak ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan Jarak Yang Ditempuh (h)=meter :');readln(h);
selang:=sqrt((2*h)/g);
writeln('Jadi Waktu Gerak (t)= sekon :',selang:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
4 : begin
repeat
clrscr;
writeln (' Menghitung Kecepatan benda ');
writeln;
write('Masukan grafitasi bumi(g)=meter/sekon2 :');readln(g);
write('Masukan Jarak Yang Ditempuh (h)=meter :');readln(h);
kcptn_akhir:=(2*g)*h;
writeln('Jadi Kecepatan Benda (Vt2)= meter/sekon2 :',kcptn_akhir:0:0);
writeln;
write('Apakah Mau Tambah Lagi Perhitungan???? Y/T :');readln(ulang);
until upcase (ulang) <> 'Y';
end;
end;
end;
end;
procedure keluar;
begin
donewincrt;
end;
begin
repeat
main_menu(pilih);
case pilih of
1: glb;
2: glbb;
3: gjb;
4 : keluar;
end;
until pilih =4;
end.
ada yg lebih pendek lagi gak?
BalasHapuspnajang kali ya kak????
BalasHapusterima kasih atas website nya
ini sangat bermanfaat :D
thankss yaahh..
BalasHapustrus kalo membuat flowchart gmn?
panjang amat ,, coz,,
BalasHapusMenghitung massa jenis benda gimana kak
BalasHapusThanks kak
BalasHapus