fork download
  1. { NIM/Nama : Ryutaka Yudhistira }
  2. { Nama file : B03-16514250-141029-1 }
  3. { Tanggal : 29 Oktober 2014 }
  4. { Deskripsi : Program Penghitung Luas dan Volume }
  5.  
  6. program penghitungluasdanvolume;
  7. {menghitung luas bangun bujur sangkar, segitiga, persegi panjang,
  8.  dan lingkaran, serta menghitung volume kubus, balok,dan limas
  9.  segiempat dengan alas bujur sangkar}
  10.  
  11. const {konstanta global}
  12. pi=3.14;
  13.  
  14. var {variabel global}
  15. ulang:boolean;
  16. a,b,c,hasil:real;
  17. pil:integer;
  18.  
  19. procedure mainmenu (var pil:integer);
  20. {Prosedur untuk menampilkan menu utama pilihan bangun yang akan diukur
  21.  dan menghasilkan pilihan menu yang disimpan dan parameter pil}
  22. {I.S. : -}
  23. {F.S. : Pilihan menu 0 s.d. 7 ditampilkan ke layar, pengguna memberikan
  24.  pilihan, dan pilihan pengguna disimpan dalam parameter pil}
  25.  
  26. begin
  27.  
  28. writeln('==========================');
  29. writeln('Penghitung Luas dan Volume');
  30. writeln('==========================');
  31. writeln('Pilih salah satu bangun berikut : ');
  32. writeln(' 1. Bujur Sangkar');
  33. writeln(' 2. Segitiga');
  34. writeln(' 3. Persegi Panjang');
  35. Writeln(' 4. Lingkaran');
  36. Writeln(' 5. Kubus');
  37. writeln(' 6. Balok');
  38. Writeln(' 7. Limas Segiempat');
  39. Writeln(' 0. Keluar');
  40. write('Pilihan anda : ');readln(pil);
  41. end;
  42.  
  43. function bujursangkar (s:real):real;
  44. {Fungsi untuk menghitung luas bujur sangkar berdasarkan input sisi s}
  45.  
  46. begin
  47. bujursangkar:=s*s;
  48. end;
  49.  
  50. function segitiga (a,t:real):real;
  51. {Fungsi untuk menghitung luas segitiga berdasarkan input alas a dan tinggi t}
  52.  
  53. begin
  54. segitiga:=a*t/2;
  55. end;
  56.  
  57. function persegipanjang (p,l:real):real;
  58. {Fungsi untuk menghitung luas persegi panjang berdasarkan input panjang p dan lebar l}
  59.  
  60. begin
  61. persegipanjang:=p*l;
  62. end;
  63.  
  64. function lingkaran (r:real):real;
  65. {Fungsi untuk menghitung luas lingkaran berdasarkan input jari - jari r dan konstanta pi}
  66.  
  67. begin
  68. lingkaran:=r*r*pi;
  69. end;
  70.  
  71. function kubus(s:real):real;
  72. {Fungsi untuk menghitung volume kubus berdasarkan input sisi s dan menggunakan fungsi bujursangkar}
  73.  
  74. begin
  75. kubus:=bujursangkar(s)*s;
  76. end;
  77.  
  78. function balok(p,l,t:real):real;
  79. {Fungsi untuk menghitung volume balok berdasarkan input panjang p, lebar l, tinggi t, dan menggunakan fungsi persegipanjang}
  80.  
  81. begin
  82. balok:=persegipanjang(p,l)*t;
  83. end;
  84.  
  85. function limassegiempat(s,t:real):real;
  86. {Fungsi untuk menghitung volume limas segi empat berdasarkan input sisi s, tinggi t, dan menggunakan fungsi bujursangkar}
  87.  
  88. begin
  89. limassegiempat:= bujursangkar(s)*t/3;
  90. end;
  91.  
  92. {Algoritma Program Utama}
  93. begin
  94. ulang:=true;{User tidak input nilai 0}
  95. while (ulang) do
  96. begin
  97. mainmenu(pil);{Menampilkan menu utama dan menyimpan pilihan}
  98. case pil of {Menampilkan kasus berdasarkan pilihan}
  99.  
  100. 1: {Menghitung luas bujur sangkar}
  101. begin
  102. writeln('==================');
  103. writeln('Luas Bujur Sangkar');
  104. writeln('==================');
  105. write('Input sisi = '); readln(a);
  106. hasil := bujursangkar(a);
  107. writeln;
  108. writeln('Luas bujur sangkar = ',hasil:2:1);
  109. end;
  110.  
  111. 2: {Menghitung luas segitiga}
  112. begin
  113. writeln('=============');
  114. writeln('Luas Segitiga');
  115. writeln('=============');
  116. write('Input alas = ');readln(a);
  117. write('Input tinggi = ');readln(b);
  118. hasil := segitiga(a,b);
  119. writeln;
  120. writeln('Luas segitiga = ', hasil:2:1);
  121. end;
  122.  
  123. 3: {Menghitung luas persegi panjang}
  124. begin
  125. writeln('====================');
  126. writeln('Luas Persegi Panjang');
  127. writeln('====================');
  128. write('Input panjang = ');readln(a);
  129. write('Input lebar = ');readln(b);
  130. hasil := persegipanjang(a,b);
  131. writeln;
  132. writeln('Luas persegi panjang = ',hasil:2:1);
  133. end;
  134.  
  135. 4: {Menghitung luas lingaran}
  136. begin
  137. writeln('==============');
  138. writeln('Luas Lingkaran');
  139. writeln('==============');
  140. write('Input jari-jari = '); readln(a);
  141. hasil := lingkaran(a);
  142. writeln;
  143. writeln('Luas lingkaran = ',hasil:2:1);
  144. end;
  145.  
  146. 5: {Menghitung volume kubus}
  147. begin
  148. writeln('============');
  149. writeln('Volume Kubus');
  150. writeln('============');
  151. write('Input sisi '); readln(a);
  152. hasil:=kubus(a);
  153. writeln;
  154. writeln('Volume kubus = ',hasil:2:1);
  155. end;
  156.  
  157. 6: {Menghitung volume balok}
  158. begin
  159. writeln('============');
  160. writeln('Volume Balok');
  161. writeln('============');
  162. write('Input panjang = ');readln(a);
  163. write('Input lebar = ');readln(b);
  164. write('Input tinggi = ');readln(c);
  165. hasil:=balok(a,b,c);
  166. writeln;
  167. writeln('Volume balok = ',hasil:2:1);
  168. end;
  169.  
  170. 7: {Menghitung volume limas segiempat}
  171. begin
  172. writeln('======================');
  173. writeln('Volume Limas Segiempat');
  174. writeln('======================');
  175. write('Input sisi = ');readln(a);
  176. write('Input tinggi = ');readln(b);
  177. hasil:=limassegiempat(a,b);
  178. writeln;
  179. writeln('Volume limas segiempat = ',hasil:2:1);
  180. end;
  181.  
  182. 0: {User memilih untuk mengakhiri program}
  183. ulang:=false;
  184.  
  185. else
  186. writeln('Pilihan Anda Salah!');
  187. end;
  188. end;
  189. writeln('Selesai');
  190. end.
  191. program ideone;
  192. begin
  193. (* your code goes here *)
  194. end.
Success #stdin #stdout 0.01s 5268KB
stdin
1
5.00
6
5
3
2
10
0
stdout
==========================
Penghitung Luas dan Volume
==========================
Pilih salah satu bangun berikut : 
	1. Bujur Sangkar
	2. Segitiga
	3. Persegi Panjang
	4. Lingkaran
	5. Kubus
	6. Balok
	7. Limas Segiempat
	0. Keluar
Pilihan anda : ==================
Luas Bujur Sangkar
==================
Input sisi = 
Luas bujur sangkar = 25.0
==========================
Penghitung Luas dan Volume
==========================
Pilih salah satu bangun berikut : 
	1. Bujur Sangkar
	2. Segitiga
	3. Persegi Panjang
	4. Lingkaran
	5. Kubus
	6. Balok
	7. Limas Segiempat
	0. Keluar
Pilihan anda : ============
Volume Balok
============
Input panjang = Input lebar	 = Input tinggi	 = 
Volume balok = 30.0
==========================
Penghitung Luas dan Volume
==========================
Pilih salah satu bangun berikut : 
	1. Bujur Sangkar
	2. Segitiga
	3. Persegi Panjang
	4. Lingkaran
	5. Kubus
	6. Balok
	7. Limas Segiempat
	0. Keluar
Pilihan anda : Pilihan Anda Salah!
==========================
Penghitung Luas dan Volume
==========================
Pilih salah satu bangun berikut : 
	1. Bujur Sangkar
	2. Segitiga
	3. Persegi Panjang
	4. Lingkaran
	5. Kubus
	6. Balok
	7. Limas Segiempat
	0. Keluar
Pilihan anda : Selesai