Pascal : source code untuk menghitung luas permukaan dan volume bangun ruang

1
program mencariLuasVolume;
2
uses
3
    {* digunakan untuk fungsi clrscr}
4
    crt;
5
const
6
    phi  = 3.14;
7
var
8
    {* pendeklarasian semua variabel *}
9
    RusukKubus, PanjangBlk, LebarBlk, TinggiBlk,SisiALasLimas, TinggiLimas,
10
    AlasSegitigaPrismaSegitiga, PanjangPrismaSegitiga,
11
    TinggiSegitigaPrismaSegitiga, TinggiPrismaSegitiga,
12
    TinggiLimasSegitiga, TinggiAlasLimasSegitiga, LebarAlasLimasSegitiga,
13
    TinggiTabung, JariTabung,TinggiKerucut, JariKerucut,
14
    JariBola,SisiMiringKerucut,LuasBola,SisiMiringLimas,LuasLimas,    
15
    VolumeLimas, VolumeBola,LuasTabung,VolumeTabung,LuasKubus,
16
    VolumeKubus,LuasBalok,VolumeBalok, LuasPrismaSegitiga,
17
    VolumePrismaSegitiga,SisiMiringLimasSegitiga,
18
    LuasLimasSegitiga,VolumeLimasSegitiga,LuasKerucut, VolumeKerucut: real;
19

20
Begin
21
    {* menu *}
22
    clrscr;
23
    writeln('selamat datang kedalam program menghitung luas dan volume bangun ruang');
24
    writeln('berikut urutan ruang bangun yang akan dihitung :');
25
    writeln('1. Kubus');
26
    writeln('2.Balok');
27
    writeln('3.limas segiempat');
28
    writeln('4. Prisma Segitiga');
29
    writeln('5. Limas Segitiga');
30
    writeln('6. Silinder');
31
    writeln('7. Kerucut');
32
    writeln('8. Bola');
33
    writeln('klik enter untuk mulai!!');
34
    readln;
35

36
    clrscr;
37
    writeln('---------------------------');
38
    writeln('    LUAS DAN VOLUME KUBUS');
39
    writeln('---------------------------');
40
    write('masukan rusuk kubus : ');readln(RusukKubus);
41
    LuasKubus:= 6 * (SQR(RusukKubus));
42
    VolumeKubus := RusukKubus * RusukKubus * RusukKubus;
43
    writeln('Luas Permukaan Kubus adalah : ',LuasKubus:2:0,', Volume Kubus : ',VolumeKubus:0:2);
44
    writeln('tekan enter untuk melanjutkan...');
45
    readln;
46

47

48
    clrscr;
49
    writeln('---------------------------');
50
    writeln('    LUAS DAN VOLUME BALOK');
51
    writeln('---------------------------');
52
    write('masukan panjang balok : ');readln(PanjangBlk);
53
    write('masukan lebar balok : ');readln(LebarBlk);
54
    write('masukan tinggi balok : ');readln(TinggiBlk);
55
    LuasBalok := (2*PanjangBlk*TinggiBlk) + (2*PanjangBlk*LebarBlk) + (2*LebarBlk*TinggiBlk);
56
    VolumeBalok := PanjangBlk*LebarBlk*TinggiBlk;
57
    writeln('Luas Permukaan Balok adalah : ',LuasBalok:2:0,', Volume Balok : ',VolumeBalok:2:0);
58
    writeln('tekan enter untuk melanjutkan...');
59
    readln;
60

61
    clrscr;
62
    writeln('------------------------------');
63
    writeln('LUAS DAN VOLUME LIMAS SEGIEMPAT');
64
    writeln('------------------------------');
65
    write('masukan sisi alas limas : ');readln(SisiAlasLimas);
66
    write('masukan tinggi limas : ');readln(TinggiLimas);
67
    SisiMiringLimas := sqrt(sqr(TinggiLimas)+sqr(SisiAlasLimas/2));
68
    LuasLimas := (sqr(SisiAlasLimas)) + (((SisiAlasLimas * SisiMiringLimas)/2)*4);
69
    VolumeLimas := ((sqr(SisiAlasLimas)) * TinggiLimas)/3;
70
    writeln('Luas Permukaan Limas adalah : ',LuasLimas:2:0,', Volume Limas : ',VolumeLimas:2:0);
71
    writeln('tekan enter untuk melanjutkan...');
72
    readln;
73

74
    clrscr;
75
    writeln('------------------------------');
76
    writeln('LUAS DAN VOLUME PRISMA SEGITIGA');
77
    writeln('-------------------------------');
78
    write('masukan alas segitiga prisma : ');readln(AlasSegitigaPrismaSegitiga);
79
    write('masukan panjang prisma : ');readln(PanjangPrismaSegitiga);
80
    write('masukan tinggi segitiga dari prisma : ');readln(TinggiSegitigaPrismaSegitiga);
81
    write('masukan tinggi prisma : ');readln(TinggiPrismaSegitiga);
82
    LuasPrismaSegitiga := (2*0.5*AlasSegitigaPrismaSegitiga*TinggiSegitigaPrismaSegitiga) + 3*(TinggiPrismaSegitiga*PanjangPrismaSegitiga);
83
    VolumePrismaSegitiga := ((AlasSegitigaPrismaSegitiga*TinggiSegitigaPrismaSegitiga)/2)*TinggiPrismaSegitiga;
84
    writeln('Luas Permukaan Prisma Segitiga adalah : ',LuasPrismaSegitiga:2:0,', Volume Prisma Segitiga : ',VolumePrismaSegitiga:2:0);
85
    writeln('tekan enter untuk melanjutkan...');
86
    readln;
87
    clrscr;
88
    writeln('---------------------------');
89
    writeln('    LUAS DAN VOLUME LIMAS SEGITIGA');
90
    writeln('---------------------------');
91
    write('masukan tinggi limas : ');readln(TinggiLimasSegitiga);
92
    write('masukan tinggi alas limas : ');readln(TinggiAlasLimasSegitiga);
93
    write('masukan lebar alas limas : ');readln(LebarAlasLimasSegitiga);
94
    SisiMiringLimasSegitiga := sqrt(sqr(TinggiLimasSegitiga)+sqr(TinggiAlasLimasSegitiga/2));
95
    LuasLimasSegitiga :=  (TinggiAlasLimasSegitiga * LebarAlasLimasSegitiga / 2)+((SisiMiringLimasSegitiga * LebarAlasLimasSegitiga / 2)*3);
96
    VolumeLimasSegitiga := (TinggiLimasSegitiga * TinggiAlasLimasSegitiga * LebarAlasLimasSegitiga)/2;
97
    writeln('Luas Permukaan Limas Segitiga adalah : ',LuasLimasSegitiga:2:0,', Volume Limas Segitiga : ',VolumeLimasSegitiga:2:0);
98
    writeln('tekan enter untuk melanjutkan...');
99
    readln;
100

101
    clrscr;
102
    writeln('---------------------------');
103
    writeln('    LUAS DAN VOLUME tABUNG');
104
    writeln('---------------------------');
105
    write('masukan tinggi tabung : ');readln(TinggiTabung);
106
    write('masukan jari - jari tabung : ');readln(JariTabung);
107
    LuasTabung := (2 * phi * JariTabung * TinggiTabung) + (2 * phi * sqr(JariTabung));
108
    VolumeTabung := (phi * sqr(JariTabung)) * TinggiTabung;
109
    writeln('Luas Permukaan Tabung adalah : ',LuasTabung:2:0,', Volume Tabung : ',VolumeTabung:2:0);
110
    writeln('tekan enter untuk melanjutkan...');
111
    readln;
112

113
    clrscr;
114
    writeln('---------------------------');
115
    writeln('    LUAS DAN VOLUME KERUCUT');
116
    writeln('---------------------------');
117
    write('masukan tinggi kerucut : ');readln(TinggiKerucut);
118
    write('masukan jari - jari kerucut : ');readln(JariKerucut);
119
    SisiMiringKerucut := sqrt(sqr(TinggiKerucut)+sqr(JariKerucut));
120
    LuasKerucut :=  (phi * JariKerucut * SisiMiringKerucut) + (phi * sqr(JariKerucut));
121
    VolumeKerucut := (phi * sqr(JariKerucut) / 3) * TinggiKerucut;
122
    writeln('Luas Permukaan Kerucut adalah : ',LuasKerucut:2:0,', Volume Kerucut : ',VolumeKerucut:2:0);
123
    writeln('tekan enter untuk melanjutkan...');
124
    readln;
125

126
    clrscr;
127
    writeln('---------------------------');
128
    writeln('    LUAS DAN VOLUME BOLA');
129
    writeln('---------------------------');
130
    write('masukan jari - jari bola : ');readln(JariBola);
131
    LuasBola := 4 * phi * (sqr(JariBola));
132
    VolumeBola := (4 * phi * JariBola * JariBola * JariBola)/3;
133
    writeln('Luas Permukaan Bola adalah : ',LuasBola:2:0,', Volume Bola : ',VolumeBola:2:0);
134
    writeln('tekan enter untuk melanjutkan...');
135
    readln;
136
    readln;
137
End.



penjelasan :
·         Pada baris ke – 4 diimport crt agar dapat menggunakan fungsi clrscr untuk menghapus layar
·         pada barus 5 dan 6 di deklarasikan sebuah konstanta bernama phi yang bernilai 3.14, nilai ini tidak dapat diubah karena merupakan sebuah konstanta
·         pada baris ke 7 sampai 18, semua variabel di deklarasikan dengan variabel yang berbeda beda tiap bangun ruangnnya, semua variabel memiliki tipe real agar dapat mengolah bilangan pecahan sekalipun
·         pada awal program (baris 22) menggunakan clrscr agar monitor di bersihkan oleh system sehingga menjadi blank
·         pada baris 23 – 34 merupakan menu awal dengan menggunakan fungsi writeln dan readln untuk memberi tahukan urutan dari bangun ruang yang akan dihitung
·         selanjutnya merupakan bagian dari perhitungan bangun ruang, berikut bagian bagian yang ada dalam mini program nya :
o   clrscr, membersihkan output (layar)
o   mencetak keterangan judul bangun ruang yang sedang dikerjakan
o   meminta input berupa angka baik decimal maupun pecahan dari user berupa input keyboard
o   menyimpan input userke variabel masing – masing
o   menghitung luas dengan rumus yang sudah ditentukan, beberapa fungsi yang digunakan :
§  SQR, mengkuadratkan bilangan
§  SQRT, mengakar kuadratkan bilangan
o   Mencetak hasil dengan menyertakan 2 angka dibelakang koma dengan syntax :0:2 setelah variabel

Anonymous

Saya adalah orang yang sangat suka dengan mendesign dan memprogram, juga sangat suka dengan hal yang baru.

No comments:

Post a Comment