September 27, 2011

Contoh Penggunaan Record di Pascal

Program ini saya buat sebenarnya untuk laporan tugas mata kuliah algoritma & pemrograman I (baca : alpro I). Secara sederhana, program ini memiliki 3 menu utama. Untuk dapat menyimpan data buku yang diinput oleh user, dapat dilakukan dengan memilih menu pertama. Jika user selesai menginput data, maka data yang telah terinput dapat dilihat pada menu kedua. Menu ketiga digunakan untuk mengakhiri program (exit). 
Program yang dibuat menggunakan gabungan implementasi array dengan record.
Array, secara bahasa dapat diartikan sebagai larik. Dalam pascal, array memiliki indeks yang unik, dimulai dari indeks terkecil sampai indeks terbesar (misalnya indeks dari [1 sampai 10] ).
Record atau rekaman merupakan kumpulan dari kumpulan data-data yang memiliki makna dan terkait antara satu dengan lainnya.
Pada Pascal suatu record dapat memiliki tipe data yang berbeda. Untuk melihat implementasinya silakan lihat kode di bawah ini.




Source Code :


" program data_buku;
uses wincrt;

type
 buku = record
      kode_buku : string[5];
      judul_buku: string[30];
      tahun_terbit: string[4];
 end;

var
 dtbk : array [1..10] of buku;
 pilih:byte;
 a, i, j : integer;

procedure main_menu(var pil:byte);
begin
     clrscr;
     writeln('.: Aplikasi Data Buku :.');
     writeln('1. Tambah Data Buku');
     writeln('2. Lihat Data Buku');
     writeln('3. Exit');
     writeln;
     write('Masukkan Pilihan [1-3] : ');readln(pil);
end;

procedure tambah_data;
begin
     clrscr;
     writeln('_== Menambah Data Buku ==_');
     writeln;
     for i:=1 to 10 do
     begin
      if dtbk[i].kode_buku = '' then
      begin
       with dtbk[i] do
       begin
          write('Kode Buku    : ');readln(kode_buku);
          write('Judul Buku   : ');readln(judul_buku);
          write('Tahun Terbit : ');readln(tahun_terbit);
          j:=i;
          exit;
       end;
      end;
     end;
end;

procedure tampil_data;
begin
     clrscr;
     writeln('_== Data Buku Yang Sudah Masuk ==_');
     writeln;
     for a:=1 to j do
     begin
      with dtbk[a] do
      begin
       writeln('Data Buku Ke - ', a);
       writeln('Kode Buku    : ', kode_buku);
       writeln('Judul Buku   : ', judul_buku);
       writeln('Tahun Terbit : ', tahun_terbit);
       writeln;
      end;
     end;
     readln;
end;

begin
repeat
      main_menu(pilih);

      case pilih of
      1 : tambah_data;
      2 : tampil_data; 
      end;
until pilih = 3; 
end. "

Tampilan :

Menu Utama

Menambah Data Buku Pertama

Menambah Data Buku Kedua

Menu Tampil Data Buku

Nah, mungkin itu saja yang dapat saya sharing pada hari ini.
di mohon kritik & sarannya untuk perbaikan.

See you in next sharing.

# Program selesai dibuat saat hujan menemani dengan setianya.

0 comments:

Post a Comment