Program Hitung Luas Lingkaran, Segitiga dan Persegi dengan Bahasa Pascal


Seperti biasa ada teman yang minta tolong dibuatin program untuk menghitung luas Lingkaran, Segitiga dan Persegi dengan menggunakan bahasa Pascal. Katanya ketentuan programnya sebagai berikut.

  1. Saat pertama dijalankan, program menampilkan menu hitung luas lingkaran, segitiga atau persegi.
  2. Saat yang dipilih nomor 1 maka ditampilkan program menghitung luas lingkaran, begitu seterusnya
  3. Saat yang dipilih tidak ada di menu maka tampil "Pilihan Anda Salah!"

Nah, langsung deh saya buatin programnya, langsung dech copy aja kode program berikut ini. Jika sobat ada masalah saat menjalankan program ini cukup ubah saja bagian USES WINCRT; menjadi USES CRT; atau sebaliknya.
program hitungluas; {nama program} 
uses crt; 
var   {deklarasi variabel untuk program utama}
pilih : integer;    
hasil : real;    
ulang : char;   

{membuat fungsi menu bertipe data integer} 
function menu : integer;  
var    pil:integer; {deklarasi variabel utk fungsi menu}  
begin      {tampilkan menu program}      
writeln('==============================');     
writeln('     Program Hitung Luas');      
writeln('==============================');      
writeln('1. Hitung Luas Lingkaran');      
writeln('2. Hitung Luas Segitiga');      
writeln('3. Hitung Luas Persegi');      
writeln('==============================');      
write  ('     Pilihan Anda: ');
readln(pil); {meminta input dari user dan disimpan di variabel pil}      
writeln('==============================');      
menu := pil; {mengembalikan nilai variabel pil pada fungsi menu}  
end;   {akhir fungsi menu}   

{membuat fungsi lingkaran bertipe data real} 
function lingkaran : real;  
var    {deklarasi variabel utk fungsi lingkaran}    
pi, r : real;  
begin      
write('Jari-jari Lingkaran: '); {meminta input jari-jari lingkaran}      
read(r);                     {dan disimpan di variabel r}       
pi := 3.14; {memasukkan nilai 3.14 pd variabel pi}       
lingkaran := pi*r*r; {menghitung luas lingkaran dan mengembalikan nilai hasil pada fungsi lingkaran}  
end;  {akhir fungsi lingkaran}   

{membuat fungsi segitiga bertipe data real} 
function segitiga : real;  
var    a, t : real; {deklarasi variabel utk fungsi segitiga}  
begin     
write('Alas Segitiga : ');{meminta input alas segitiga}     
readln(a);               {dan disimpan di variabel a }      
write('Tinggi Segitiga : ');{meminta input tinggi segitiga}     
readln(t);                  {dan disimpan di variabel t }      
segitiga := 0.5*a*t;  {menghitung luas segitiga dan mengembalikan nilai hasil pada fungsi segitiga}  
end; {akhir fungsi segitiga}   

{membuat fungsi persegi bertipe data real} 
function persegi : real ;  
var    p, l : real;  {deklarasi variabel utk fungsi persegi}  
begin      
write('Panjang Persegi : '); {meminta input panjang persegi}      
readln(p);                   {dan disimpan di variabel p }       
write('Lebar Persegi : ');  {meminta input lebar persegi}      
readln(l);                  {dan disimpan di variabel l }       
persegi := p*l;  {menghitung luas persegi dan mengembalikan nilai hasil pada fungsi persegi}  
end; {akhir fungsi persegi}   

{membuat prosedur nama utk menampilkan nama pembuat program ini} 
procedure nama; begin      writeln('==============================');      
writeln('           Andi Sholihin');  {tampilkan nama pembuat program}     
writeln('      Teknik Informatika');      
writeln('==============================');      
writeln; 
end;   {akhir prosedur nama}   

{Program utama} 
begin    
repeat  {lakukan perulangan repeat-until}       
clrscr;  {clear screen, membersihkan layar}       
nama; {memanggil prosedur nama}       
pilih := menu; {memanggil fungsi menu dan menyimpan pengembalian nilainya di variabel pilih}       
case pilih of {penyeleksian kondisi variabel pilih dgn struktur Case}            
1 : hasil := lingkaran ; {jika pilih = 1 maka panggil fungsi lingkaran dan masukkan hasilnya ke variabel hasil}            
2 : hasil := segitiga ;  {jika pilih = 2 maka panggil fungsi segitiga dan masukkan hasilnya ke variabel hasil}            
3 : hasil := persegi ;   {jika pilih = 3 maka panggil fungsi persegi dan masukkan hasilnya ke variabel hasil}            
else writeln('Pilihan Anda Salah!');   {jika pilihan salah maka tampilkan peringatan}                writeln('==============================');      
end;       
if (pilih < 4) and (pilih > 0) then {jika nilai pilih lebih kecil dari 4 dan lebih besar dari 0}        
begin          
writeln('=============================='); {maka tampilkan nilai dari variabel hasil}          
writeln('Hasil Perhitungan: ',hasil:5:2);          
writeln('==============================');        
end;    
write('Coba lagi? (y/n) : ');
readln(ulang); {meminta input apakah akan mengulang program? inputan disimpan di variabel ulang}    
until (ulang = 'n') or (ulang = 'N') ;  {perulangan repeat berhenti jika nilai variabel ulang = 'n' atau 'N'}    
end.  {akhir program utama}        

BAGIKAN KE:

5 komentar:

  1. thank's gan ilmunya..

    ijin copas ya gan ;)

    jangan lupa kunjung k'blog ane ya gan,ya walaupun post'y masih sdkit.

    BalasHapus
  2. nice postingan..... buat yang belajar progamer.. fllow gan blog ane http://redanorak.blogspot.com ane flloow back nanti...

    BalasHapus
  3. ada ngak cara mengetahui luas lingkaran yang berada di dalam segitiga

    BalasHapus