Saturday, April 6, 2013

Tugas 2.0 Struktur Data | Pascal Array & Record & Procedure With | Program Sederhana | Menghitung Volume Kerucut |

Alhamdulillah Tugas 2.0 Akhirnya Selesai juga, biar sederhana yang penting hasil kerja sendiri hehehe,
Tugas ini tentang  prosedur yang menggunakan with dan prosedur dot/tanpa with.


program tugas2;
uses crt;
type kerucut = record
     r,t : integer;
     v,Ls,Ltot,s : real;
end;

var  kucrut : kerucut;  //variable kucrut seharusnya diganti
       i,pilihan : integer;  // dgn variabel yg lebih singkat
       lagi : char;
       label ulangi;

//ini cuma buat judul atau headernya doank gak terlalu penting
procedure spasi(x:integer);
begin
    for i:=1 to x do
      begin
        write(' ');
      end;
end;

procedure garis(x:integer);
begin
 for i:=1 to x do
   begin
     write ('-');
   end;
end;

procedure batas;
 begin
    write('|');
 end;

procedure judul;
begin
   gotoxy(17,2); batas; garis(45); batas;
   gotoxy(17,3); write('|Program Sederhana Penghitungan Volume Kerucut|');
   gotoxy(17,4); write('|Procedure With "With" & Without "With" LOL!! |');
   gotoxy(17,5); batas; garis(45); batas;
   gotoxy(17,6); batas; spasi(10);write('Dicky Prastianto Pramudya'); spasi(10); batas;
   gotoxy(17,7); batas; spasi(16);write('5520 111 097'); spasi(17); batas;
   gotoxy(17,8); batas; spasi(19);Write('TI.IV-4'); spasi(19); batas;
   gotoxy(17,9); batas; garis(45);batas;
   gotoxy(1,25); spasi(32); write('*Program Konyol*'); spasi(32);
end;

//yang ini prosedur yang pake with
procedure usewith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 with kucrut do
 begin
   writeln('Ini Menggunakan "With" Lho! ');
   writeln;
   write('Jari-jari Kerucut : '); readln(r);
   write('Tinggi Kerucut    : '); readln(t);
   writeln;
   s := sqrt(sqr(r)+sqr(t));
   Ls := pi * r * s;
   Ltot := pi * r * (s+r);
   v := (1/3) * pi * sqr(r) * t;
   writeln('Luas Selimut Kerucut :', Ls:8:2);
   writeln('Luas Seluruh Sisi    :', Ltot:8:2);
   writeln('Volume Kerucut       :', v:8:2);
   writeln;
   garis(30);
   writeln;
 end;
end;

//kalo yang ini prosedur gak pake with lebih ribet alias pake dot atau titik
procedure withoutwith;
begin
 clrscr;
 judul;
 gotoxy(1,12);
 writeln('Ini Gak Pake "With" Lho! ');
 writeln;
 write('Jari-jari Kerucut : '); readln(kucrut.r);
 write('Tinggi Kerucut    : '); readln(kucrut.t);
   kucrut.s := sqrt(sqr(kucrut.r)+sqr(kucrut.t));
   kucrut.Ls := pi * kucrut.r * kucrut.s;
   kucrut.Ltot := pi * kucrut.r * (kucrut.s+kucrut.r);
   kucrut.v := (1/3) * pi * sqr(kucrut.r) * kucrut.t;
 writeln;
 writeln('Luas Selimut Kerucut :', kucrut.Ls:8:2);
 writeln('Luas Seluruh Sisi    :', kucrut.Ltot:8:2);
 writeln('Volume Kerucut       :', kucrut.v:8:2);
 writeln;
 garis(30);
 writeln;
 end;

//ini baru program utama
Begin
 lagii:
 clrscr;
 judul; //manggil prosedur judul

 gotoxy(1,12);
 writeln('1. Penghitungan Luas & Volume Kerucut dengan "With" ');
 writeln('2. Penghitungan Luas & Volume Kerucut Tanpa "With"  ');
 garis(50);writeln;
 spasi(3);
 write('Mau yang mana ? 1 atau 2? : '); readln(pilihan);
 if (pilihan = 1) then usewith
 else if (pilihan = 2) then withoutwith
 else
   begin
   writeln;
   writeln;
   write('Pilihannya Cuma 1 & 2 Lho!');
   end;

 write('Mau Menghitung Lagi [Y or N]?'); readln(lagi);
 if (lagi ='y') or (lagi ='Y') then goto ulangi
 else if (lagi='N') or (lagi='n') then end.
 readln;

End.

Ini Program Jadinya Disini


No comments:

Post a Comment