Array 2 Dimensi

|| || || Leave a komentar
Lama tidak posting, akhirnya ada kesempatan untuk kembali share dengan teman-teman sekalian. Pada kesempatan ini ingin share masalah Pascal Array 2 Dimensi. Array dimensi dua biasanya digunakan untuk matrik. Bentuk Umum: nama_variabel : array[index1,index2]of tipe_data; 
Dalam tutorial ini kita ingin membuat program seperti ini

Dalam program ini terdapat:
  • sortting (mengurutkan data)
  • selecting (memilih data yang ingin ditampilkan)
  • searcing atau pencarian

Listing programnya adalah sebagai berikut:

Program nilai;
Uses wincrt;
Type nilaimahasiswa = record
Nama,nim,prodi,huruf : string;
name,class:string;
Quiz,UTS,UAS : integer;
rerata : real;
cari:boolean;
End;


const
garis1='----------------------------------------------------------------------------';
garis2='============================================================================';


Var
mahasiswa : array[1..6] of nilaimahasiswa;
i,n,j,x,pilih : integer;
temp : nilaimahasiswa;
label menu;
label exit;
label ulangmenu;
label ulangheader;
label ulangtampil;


Begin
  clrscr;
  gotoxy(5,3);write('Berapa Data Yang Ingin Dimasukkan? : ');readln(n);


  for i:=1 to n do
  begin
    clrscr;
    gotoxy(5,4) ;write('Data Mahasisa ke - ',i);
    gotoxy(5,5) ;write('---------------------');
    gotoxy(5,7) ;write('Nama Mahasiswa     : '); readln(mahasiswa[i].nama);
    gotoxy(5,8) ;write('NIM                : '); readln(mahasiswa[i].nim);
    gotoxy(5,9) ;write('Prodi <TI,SI,MI,SK>: '); readln(mahasiswa[i].prodi);
    gotoxy(5,10);write('Nilai Quis         : '); readln(mahasiswa[i].quiz);
    gotoxy(5,11);write('Nilai UTS          : '); readln(mahasiswa[i].UTS);
    gotoxy(5,12);write('Nilai UAS          : '); readln(mahasiswa[i].uas);
  end;


  clrscr;
  gotoxy(23,1);write('Data Nilai Alogoritma dan Pemrograman');
  gotoxy(25,2);write('Universitas Teknologi Yogyakarta');
  gotoxy(33,3);write('Tahun 2011/2012');
  begin;
  ulangheader:
  gotoxy(3,4) ;write(garis2);
  gotoxy(4,5) ;write('|');
  gotoxy(4,6) ;write('|');
  gotoxy(4,7) ;write('|');
  gotoxy(6,6) ;write('NO');
  gotoxy(9,5) ;write('|');
  gotoxy(9,6) ;write('|');
  gotoxy(9,7) ;write('|');
  gotoxy(16,6);write('NAMA');
  gotoxy(26,5);write('|');
  gotoxy(26,6);write('|');
  gotoxy(26,7);write('|');
  gotoxy(31,6);write('NIM');
  gotoxy(39,5);write('|');
  gotoxy(39,6);write('|');
  gotoxy(39,7);write('|');
  gotoxy(41,6);write('Prodi');
  gotoxy(47,5);write('|');
  gotoxy(47,7);write('|');
  gotoxy(55,5);write('NILAI        |');
  gotoxy(47,6);write('|--------------------|');
  gotoxy(49,7);write('Quiz');
  gotoxy(54,7);write('|');
  gotoxy(56,7);write('UTS');
  gotoxy(61,7);write('|');
  gotoxy(63,7);write('UAS           |');
  gotoxy(68,7);write('|');
  gotoxy(70,6);write('HURUF');
  gotoxy(77,5);write('|');
  gotoxy(77,6);write('|');
  gotoxy(3,8) ;write(garis2);
  end;


  for i:=1 to n do
  begin
     ulangtampil:
     gotoxy(6,8+i) ;write(i);
     gotoxy(11,8+i);write(mahasiswa[i].nama);
     gotoxy(28,8+i);write(mahasiswa[i].nim);
     gotoxy(42,8+i);write(mahasiswa[i].prodi);
     gotoxy(50,8+i);write(mahasiswa[i].quiz);
     gotoxy(57,8+i);write(mahasiswa[i].UTS);
     gotoxy(64,8+i);write(mahasiswa[i].UAS);
     mahasiswa[i].rerata:=((mahasiswa[i].quiz+mahasiswa[i].uts+mahasiswa[i].uas)/3);
            if (mahasiswa[i].rerata) >=60 then mahasiswa[i].huruf:='Lulus' else
            mahasiswa[i].huruf:='Gagal';
     gotoxy(70,8+i);write(mahasiswa[i].huruf);
     gotoxy(4,8+i) ;write('|');
     gotoxy(9,8+i) ;write('|');
     gotoxy(26,8+i);write('|');
     gotoxy(39,8+i);write('|');
     gotoxy(47,8+i);write('|');
     gotoxy(54,8+i);write('|');
     gotoxy(61,8+i);write('|');
     gotoxy(68,8+i);write('|');
     gotoxy(77,8+i);write('|');
     writeln;
     gotoxy(3,n+9) ;write(garis2);
  end;
  readln;


  begin
  ulangmenu:
  Writeln;
  writeln('   Pilih Menu : ');
  writeln('   1. Sort Nama');
  writeln('   2. Sort NIM');
  writeln('   3. Tampilkan Nilai Per Prodi');
  writeln('   4. Tampilkan Kelulusan');
  writeln('   5. Cari');
  writeln('   6. Kembali');
  writeln('   7. Exit');
  writeln('   Pilih pilihan anda : ');readln(pilih);
  end;


case pilih of
1:begin
    {Urut Nama}
    Clrscr;
    for i:=1 to n-1 do
    begin
         for j:=n downto i+1 do
         begin
           if ((mahasiswa[j].nama)<(mahasiswa[i].nama)) then
           begin
             temp:=mahasiswa[j];
             mahasiswa[j]:=mahasiswa[i];
             mahasiswa[i]:=temp;
           end;
         end;
    end;


     gotoxy(4,2);write('***Hasil Sort Berdasar Nama***');
     goto ulangheader;
     for i:=1 to n do
     begin
       goto ulangtampil;
     end;
     writeln;
     gotoxy(3,n+9) ;write(garis2);


  end;


2:begin
    {Urut NIM}
    Clrscr;
    for i:=1 to n-1 do
    begin
         for j:=n downto i+1 do
         begin
           if ((mahasiswa[j].nim)<(mahasiswa[i].nim)) then
           begin
             temp:=mahasiswa[j];
             mahasiswa[j]:=mahasiswa[i];
             mahasiswa[i]:=temp;
           end;
         end;
    end;


     gotoxy(4,2);write('***Hasil Sort Berdasar NIM***');
     goto ulangheader;
     for i:=1 to n do
     begin
       goto ulangtampil;
     end;
     writeln;
     gotoxy(3,n+9) ;write(garis2);
  end;


3:begin
  end;


4:begin
  end;


5:begin
    clrscr;       
    mahasiswa[i].cari:=false;
    writeln ('Mencari Mahasiswa Dengan Prodi Tertentu');
    Write('Tulis nama yang anda cari : ');readln(mahasiswa[j].name);
    write('jurusan yang anda cari <SI,TI,MI,SK> ? : ');readln(mahasiswa[j].class);
    for i:=1 to n do
      begin
        if (mahasiswa[j].name=mahasiswa[i].nama) and (mahasiswa[j].class=mahasiswa[i].prodi) then
        begin
           mahasiswa[i].cari:=true;
           clrscr;
           gotoxy(5,4) ; write(garis2);
           gotoxy(30,1); write('Data yang Anda Cari Ditemukan');
           gotoxy(9,5) ; write('NIM');
           gotoxy(22,5); write('NAMA');
           gotoxy(37,5); write('KELAS');
           gotoxy(67,5); write('KELULUSAN');
           gotoxy(5,6) ; write(garis2);
                       gotoxy(9,8) ; writeln(mahasiswa[i].nim);
                       gotoxy(22,8); writeln(mahasiswa[j].Name);
                       gotoxy(37,8); writeln(mahasiswa[j].class);
                       gotoxy(67,8); writeln(mahasiswa[i].huruf);
                       
        end;
        end;
        if not mahasiswa[i].cari then
        writeln('nama ',mahasiswa[j].name,' dengan prodi ',mahasiswa[j].class,' tidak ada');
  end;


6:begin
    clrscr;
    gotoxy(23,1);write('Data Nilai Alogoritma dan Pemrograman');
    gotoxy(25,2);write('Universitas Teknologi Yogyakarta');
    gotoxy(33,3);write('Tahun 2011/2012');
    goto ulangheader;
    for i:=1 to n do
      begin
        goto ulangtampil;
      end;
  end;


7:begin
   clrscr;
   gotoxy(30,14);Writeln('1. Mustoharoh - 3115113005');
   gotoxy(30,16);writeln('2. Riefki R.A - 3115113015');
   gotoxy(38,12);writeln('Terimakasih');
   exit:
   readln;
  end;


end;
writeln;
goto ulangmenu;            
End.

Saya sengaja mengurangi listing, bukan pelit tapi agar kalian lebih berusaha.. :D. untuk listing lengkapnya boleh hubungi saya langsung melalui e-mail tau massage by phone.
/[ 0 komentar Untuk Artikel Array 2 Dimensi]\

Posting Komentar