Selasa, 03 Februari 2015

Program menentukan grade, nilai min, nilai max, pascal

PROGRAM PROCEDURE DAN FUNCTION PASCAL

uses wincrt;
var
   pilihan : integer;
   a,b     : real;

procedure LS;
var
   a,t  : real;
   LS   : real;
begin
     clrscr;
     writeln('MENGHITUNG LUAS SEGITIGA');
     writeln;
     write('Nilai Alasnya   : ');readln(a);
     write('Nilai Tingginya : ');readln(t);
     writeln;
     LS:= 0.5*a*t;
     writeln('Luas Segitiganya : ',LS :10:2);
end;

procedure LBS;
var
   l,s : real;
begin
     clrscr;
     writeln('MENGHITUNG LUAS BUJUR SANGKAR');
     writeln;
     write('Masukkan Nilai Sisinya : '); readln(s);
     l:= s*s;
     writeln;
     writeln('Luas Bujur Sangkar Adalah : ',l:10:2);
   
end;

procedure L4PP;
var
   luas,pan,leb : real;
begin
     clrscr;
     writeln('MENGHITUNG LUAS EMPAT PERSEGI PANJANG');
     writeln;
     write('Masukkan Nilai Panjangnya : '); readln(pan);
     write('Masukkan Nilai Lebarnya   : '); readln(leb);
     writeln;
     luas:= pan*leb;
     writeln('Luas Empat Persegi Panjangnya  : ', luas:10:2);
                   
end;

procedure terimakasih;
const
     judul1 = 'TERIMA KASIH SUDAH MENGGUNAKAN PROGRAM INI' ;
     judul2 = 'Created By @hidayatfatmayan' ;
begin
     clrscr;
     writeln(judul1);
     writeln(judul2);
end;

function min (x,y: real): real;
begin
     if x>y then
     min:=y
     else
     min:=x
end;

function max (x,y: real): real;
begin
     if x > y then
     max:=x
     else
     max:=y
end;
{uji coba}

procedure nilaiterbesar;
var
   a                                  : integer;
   nilai, total, tinggi, rendah, rata2 : real;
begin
     clrscr;
     total :=0;
     write('jumlah bilangan : 3 bilangan ');
     writeln;
     for a := 1 to 3 do
     begin
          write('nilai bilangan ke ',a,' : ');readln(nilai);
          total := total+nilai;
          if a = 1 then
             begin
               tinggi := nilai;
               rendah := nilai;
             end
          else
          begin
               if nilai > tinggi then
               tinggi:= nilai
               else
               begin
                    if nilai < rendah then
                    rendah := nilai;
               end;
          end;
     end;

     writeln;
     writeln('nilai terrendah   : ',rendah :1:2);
     writeln('nilai tertinggi   : ',tinggi :1:2);

end;
{batas baru}

procedure rata2;
var
   a,nbuahbilangan                    : integer;
   nilai, total, tinggi, rendah, rata : real;
begin
     clrscr;
     total :=0;
     write('input total bilangan : '); readln(nbuahbilangan);
     writeln;
     for a := 1 to nbuahbilangan do
     begin
          write('nilai bilangan ke ',a,' : ');readln(nilai);
          total := total+nilai;
          if a = 1 then
             begin
               tinggi := nilai;
               rendah := nilai;
             end
          else
          begin
               if nilai > tinggi then
               tinggi:= nilai
               else
               begin
                    if nilai < rendah then
                    rendah := nilai;
               end;
          end;
     end;

     rata := total/nbuahbilangan;
     writeln;
     writeln('nilai terrendah   : ',rendah :1:2);
     writeln('nilai tertinggi   : ',tinggi :1:2);
     writeln('NILAI RATA-RATA   : ',rata   :1:2);

end;

procedure gred;
var
nama,nim,kelas,jurusan,mkuliah   : string[25];
ket    : string[50];
nilai  : real;
grade  : char;
n      : integer;
ulang  : integer;

   
    begin
          clrscr;
          ulang :=1;
          writeln('berapa total input data : ');readln(n);
          for ulang :=1 to n do

    begin
     clrscr;
     writeln('     PROGRAM GRADE NILAI MAHASISWA      ');
     writeln;
     write  (' nama        : '); readln(nama);
     write  (' nim         : '); readln(nim);
     write  (' kelas       : '); readln(kelas);
     write  (' jurusan     : '); readln(jurusan);
     write  (' mata kuliah : '); readln(mkuliah);
     write  (' nilai uts   : '); readln(nilai);
    
    

   if nilai <=45 then
      grade:='E'
   else
   if nilai <=55 then
      grade:='D'
   else
   if nilai <=65 then
      grade:='C'
   else
   if nilai <=75 then
      grade:='B'
   else
      grade:='A';

writeln    (' Gradenya adalah : ',grade);
writeln    ('========================================');
if ulang=n then
writeln    ('Selesai !!, tekan ENTER untuk menampilkan menu utama')
else
writeln    ('tekan ENTER untuk melanjutkan'); readln;

end

end;

begin
repeat
     
      writeln;
      writeln('============= MENU PROGRAM UTAMA ===============');
      writeln('[1] MENGHITUNG LUAS SEGITIGA');
      writeln('[2] MENGHITUNG LUAS BUJUR SANGKAR');
      writeln('[3] MENGHITUNG LUAS EMPAT PERSEGI PANJANG');
      writeln('[4] MENENTUKAN BILANGAN TERKECIL DARI 2 BILANGAN');
      writeln('[5] MENENTUKAN BILANGAN TERBESAR DARI 2 BILANGAN');
      writeln('[6] MENENTUKAN NILAI TERBESAR DR 3 BUAH BILANGAN');
      writeln('[7] MENENTUKAN NILAI RATA2 DR N BUAH BILANGAN');
      writeln('[8] MENENTUKAN NILAI GRADE DR N SISWA');
      writeln('[0] EXIT');
      writeln('================================================');
      writeln;
      write('PILIH MENU DIATAS [1 s/d 8, atau 0] ? '); readln(pilihan);

      case pilihan of
      1    : LS;
      2    : LBS;
      3    : L4PP;
      4    : begin
                  clrscr;
                  writeln('sub program prosedur');
                  writeln('mencari bil. min dari 2 bil.');
                  writeln;
                  write('masukkan bil. ke-1 : ');read(a);
                  write('masukkan bil. ke-2 : ');read(b);
                  write('bil terkecil adalah : ', min (a,b):10:2);
                  writeln;
                  readln;
                 
             end;
      5    : begin
                  clrscr;
                  writeln('sub program prosedur');
                  writeln('mencari bil. max dari 2 bil.');
                  writeln;
                  write('masukkan bil. ke-1 : ');read(a);
                  write('masukkan bil. ke-2 : ');read(b);
                  write('bil terbesar adalah : ', max(a,b):10:2);
                  writeln;
                  readln;
             end;

      6    : nilaiterbesar;
      7    : rata2;
      8    : gred;
      0    : terimakasih;

end;
    until pilihan = 0;
end.

sekian contoh dari saya... semoga bermanfaat ..

Tidak ada komentar:

Posting Komentar