Materi Pascal
Target PencapaianMahasiswa dapat mengerti bagaimana cara menggunakan rekaman atau record dalam aplikasi yang dibuat dengan menggunakan Pascal
1. Rekord atau Rekaman
Dalam Pascal terdapat tipe data yang berisi kumpulan data, tipe data ini dikenal dengan nama Tipe Record (rekaman), perbedaan antara record dengan larik adalah bahwa dalam larik semua elemenya harus bertipe sama, tetapi dalam record setiap elemen bisa mempunyai tipe yang berbeda antara satu sama lainnya.
Pertama buat table mahasiswa dengan struktur table seperti berikut:
Bentuk Umum penulisan Rekord
Type
Pengenal = Record
Namafield-1 : Type
Namafield-2 : Type
……
Namafield-N : Type
End
Atau dapat juga dideklarasikan sebagai berikut:
Var
Pengenal = Record
Namafield-1 : Type
Namafield-2 : Type
……
Namafield-N : Type
End
Program berikut adalah contoh program untuk Memasukan dan menampilkan Data Nilai Mahasiswa.
- Contoh Program
- Uses Crt;
- Const
- JumlahSiswa = 1;
- Type Nilai = Record
- Nim : String;
- Nama: String;
- Tugas : Real;
- UTS : Real;
- UAS : Real;
- End;
- Var
- Mhs : Array[1..JumlahSiswa] of Nilai;
- I : Integer;
- Begin
- Clrscr;
- For I := 1 To JumlahSiswa Do
- Begin
- Writeln('Mahasiswa ke : ',i:2);
- Write('Nim : ');Readln(Mhs[i].Nim);
- Write('Nama : ');Readln(Mhs[i].Nama);
- Write('Tugas : ');Readln(Mhs[i].Tugas);
- Write('UTS : ');Readln(Mhs[i].Uts);
- Write('UAS : ');Readln(Mhs[i].Uas);
- End;
- Writeln('----------------------------------------------------------');
- Writeln(' NO NIM NAMA TUGAS UTS UAS NA GRADE ');
- Writeln('----------------------------------------------------------');
- For I := 1 To JumlahSiswa Do
- Begin
- Writeln(i:3,Mhs[i].Nim:10,Mhs[i].Nama:10,Mhs[i].Tugas:7:2,Mhs[i].Uts:7:2,
- Mhs[i].Uas:7:2);
- End;
- Readln;
- End.
Output program yang dihasilkan
8.2. Statement With
Dalam Turbo Pascal telah disediakan sebuah statement yang berfungsi untuk lebih mempersingkat penulisan dalam pembacaan field, statement yang digunakan adalah statement WITH, berikut adalah contoh penggunaannya:
- Uses Crt;
- Const
- JumlahSiswa = 3;
- Type Nilai = Record
- Nim : String;
- Nama: String;
- Tugas : Real;
- UTS : Real;
- UAS : Real;
- Na : Real;
- Grade : Char;
- End;
- Var
- Mhs : Array[1..JumlahSiswa] of Nilai;
- I : Integer;
- Begin
- Clrscr;
- For I := 1 To JumlahSiswa Do
- Begin
- With Mhs[i] Do
- Begin
- Writeln('Mahasiswa ke : ',i:2);
- Write('Nim : ');Readln(Nim);
- Write('Nama : ');Readln(Nama);
- Write('Tugas : ');Readln(Tugas);
- Write('UTS : ');Readln(Uts);
- Write('UAS : ');Readln(Uas);
- End;
- End;
- For I := 1 To JumlahSiswa Do
- Begin
- With Mhs[i] Do
- Begin
- Na := (Tugas + Uts + Uas) / 3;
- If (Na >= 80) Then Grade := 'A' Else
- If (Na < 80) and (Na>=70) Then Grade := 'B' Else
- If (Na < 70) and (Na>=60) Then Grade := 'C' Else
- If (Na < 60) and (Na>=50) Then Grade := 'D' Else
- Grade :='E';
- End;
- End;
- Writeln('----------------------------------------------------------');
- Writeln(' NO NIM NAMA TUGAS UTS UAS NA GRADE ');
- Writeln('----------------------------------------------------------');
- For I := 1 To JumlahSiswa Do
- Begin
- With Mhs[i] Do
- Begin
- Writeln(i:3,Nim:10,Nama:10,Tugas:7:2,Uts:7:2,
- Uas:7:2,Na:7:2,Grade:5);
- End;
- End;
- Readln;
- End.
Jika program ini dijalankan, maka akan mendapatkan hasil output yang sama seperti dengan tanpa menggunakan statement With
Sekian. Selamat Mencoba,
إرسال تعليق