Posted by : BayuBayyz Senin, 07 April 2014

Contoh Program Pascal - Data Nilai Mahasiswa

Penggunaan array pada program dapat membuat data menjadi dapat di olah secara tersusun berurutan dari 1 sampai nilai yang kita tentukan atau sebuah nilai pada konstanta. Sedangkan record itu sendiri merupakan kumpulan variabel data yang disimpan dalam sebuah wadah menjadi satu. Record dapat kita misalkan sebuah lemari yang di dalamnya dapat menyimpan berbagai macam bagian untuk pakaian seperti bagian baju, bagian celana, bagian surat surat penting dsb yang di simpan dalam lemari tersebut.

Berikut adalah coding progam membuat daftar nilai mahasiswa dalam pascal dan telah menggunakan array of record :

program Data_Nilai_MAhasiswa;
{I.S : User memasukkan banyaknya data (N) dan record Mahasiswa}
{F.S : Menampilkan Daftar Nilai Mahasiswa (1:N)}
//bayubayyz.blogspot.com
uses crt;
{Nama Konstanta}
const
    Maks_Mhs = 50; {Jumlah Maksimum Mahasiswa}
{Nama Tipe}
type
    Data_Mhs = record {Data Mahasiswa}
               NIM,Nama : string;
               Nilai    : integer;
               Indeks   : char;
               end;
    Mahasiswa = array [1..Maks_Mhs] of Data_Mhs; {array of record data mahasiswa}
var
    Mhs : Mahasiswa;
    N,i,IndeksA,IndeksB,IndeksC,IndeksD,IndeksE,Tertinggi,Terendah,TotalNilai       : integer;
    rata_rata : real;

{unikom 2013}
begin

    {Memasukkan Banyak Data}
    textcolor(15);
    write('Banyaknya Data : ');readln(N);
    {Validasi Banyaknya Data}
    while (N < 1) or (N > Maks_Mhs) do
      begin
         textcolor(red);
         writeln('Banyak Data Hanya 1-50, Ulangi !');
         write('Tekan Enter untuk melanjutkan !');
         readln;
         gotoxy(1,2);clreol;
         gotoxy(1,3);clreol;
         gotoxy(18,1);clreol;textcolor(15);readln(N);
      end;
    {Membuat Judul Tabel dan Header}
    clrscr;
    gotoxy(28,1);textcolor(15);
    write('Daftar Nilai Mahasiswa');
    gotoxy(28,2);
    write('======================');
    gotoxy(4,3);
    write('======================================================================');
    gotoxy(4,4);
    write('! No !    NIM    !       Nama Mahasiswa       ! Nilai ! Indeks Nilai !');
    gotoxy(4,5);
    write('======================================================================');

    {Jumlah Mula - Mula Indeks A - Indeks E}
    IndeksA := 0;
    IndeksB := 0;
    IndeksC := 0;
    IndeksD := 0;
    IndeksE := 0;
    {Nilai Tertinggi dan Terendah Mula Mula}
    Tertinggi := -999;
    Terendah  := 999;
    {Mula - Mula Total Nilai}
    TotalNilai := 0;

    {Mengolah Data Mahasiswa}
    for i := 1 to N do
       begin
         {Menampilkan No}

           gotoxy(4,i+5);
           write('!    !           !                            !       !              !');
           gotoxy(6,i+5);
           write(i);

         {Memasukkan NIM, Nama Mahasiswa dan Nilai}
         gotoxy(11,i+5);
         readln(Mhs[i].NIM);
         gotoxy(23,i+5);
         readln(Mhs[i].Nama);
         gotoxy(53,i+5);
         readln(Mhs[i].Nilai);

         {Menentukan Indeks Nilai dan Menghitung Banyaknya IndeksA, IndeksB, IndeksC, IndeksD & IndeksE}
         case (Mhs[i].Nilai) of
            80..100 : begin
                      Mhs[i].Indeks := 'A';
                      IndeksA := IndeksA + 1;
                      end;
            70..79  : begin Mhs[i].Indeks := 'B';
                      IndeksB := IndeksB + 1; end;
            60..69  : begin Mhs[i].Indeks := 'C';
                      IndeksC := IndeksC + 1; end;
            50..59  : begin Mhs[i].Indeks := 'D';
                      IndeksD := IndeksD + 1; end;
            0..49   : begin Mhs[i].Indeks := 'E';
                      IndeksE := IndeksE + 1; end;
         end;{endcase}
         {Menentukan Nilai Rata-rata}
         TotalNilai := TotalNilai + Mhs[i].Nilai;
         rata_rata  := TotalNilai div N;
         {Menentukan Nilai Tertinggi}
         if (Mhs[i].Nilai > Tertinggi)
         then
             Tertinggi := Mhs[i].Nilai;
         {Menentukan Nilai Terendah}
         if (Mhs[i].Nilai < Terendah)
         then
             Terendah := Mhs[i].Nilai;
         {Menampilkan Indeks Nilai}
         gotoxy(66,i+5);
         write(Mhs[i].Indeks);

      end;{endfor}
    {Penutup Tabel}
    gotoxy(4,i+6);
    write('======================================================================');

    {Menampilkan Nilai Rata-rata, Nilai Tertinggi, Nilai Terendah}
    gotoxy(4,i+7);
    write('Nilai Rata rata : ',rata_rata:0:2);
    gotoxy(4,i+8);
    write('Nilai Tertinggi : ',Tertinggi);
    gotoxy(4,i+9);//by bayuwpp
    write('Nilai Terendah  : ',Terendah);

    {Menampilkan Jumlah IndeksA, IndeksB, IndeksC, IndeksD & IndeksE}
    gotoxy(4,i+10);
    write('Jumlah Indeks A : ',IndeksA,' Mahasiswa');
    gotoxy(4,i+11);
    write('Jumlah Indeks B : ',IndeksB,' Mahasiswa');
    gotoxy(4,i+12);
    write('Jumlah Indeks C : ',IndeksC,' Mahasiswa');
    gotoxy(4,i+13);
    write('Jumlah Indeks D : ',IndeksD,' Mahasiswa');
    gotoxy(4,i+14);
    write('Jumlah Indeks E : ',IndeksE,' Mahasiswa');

    gotoxy(23,i+16);textcolor(red);//by bayuwpp
    write('Tekan Enter Untuk Menutup Program !');
    readln;
end. 

Semoga bermanfaat sob :D



[PENGUMUMAN]
Saya membutuhkan bantuan anda untuk mengisi survei singkat ini. Tolong bantu ya untuk mengisi, gampang ko hanya mengisi nama, email sama 5 pertanyaan saja kawan. Bantu isi ya surveinya disini !!!.
Terimakasih. Semoga bantuan temen temen mendapat balasan yang berlipat ganda dari Allah SWT, Amin

{ 4 comments... read them below or Comment }

  1. Gan ane ada program pascal data mahasiswa yang udah ada insert, edit, update deletenya... kunjungin disini gan bila ada yang butuh referensi juga silahkan kunjungi http://materi-it.blogspot.com/2014/08/program-data-mahasiswa-dalam-pascal.html ... makasih gan, di tunggu KUBAnya...

    BalasHapus
  2. gan yang versi borland c++ ada gak ?

    BalasHapus
    Balasan
    1. belum saya publikasi sis untuk c++, konsepnya sama ko hanya beda dalam penulisan programnya saja :)
      Insyaallah akan saya publikasi secepatnya (y)

      Hapus
  3. sama-sama gan, terimakasih telah mau membagikan postingan ini. semoga senantiasa bermanfaat..
    Saya telah berkunjung, terimakasih gan

    BalasHapus

Welcome to BIG !!!

Find BIG on Facebook

Popular Post

Copyright © 2013 Bayyz Informatics Gallery. Diberdayakan oleh Blogger.

- Copyright © Big Informatics Gallery by Bayu Wijaya Permana Putra - Powered by Blogger - Supported by Google -