"~Selamat Datang di Web Blog Sri Winda~"

Pages

Subscribe:

Selasa, 30 Januari 2018

MODUL 13 TIPE DATA (bagian 3) RECORD

MODUL XIII
TIPE DATA (BAG. 3)
RECORD

A.    TUJUAN
  1. Mengenal bermacam-macam tipe data terstruktur dalam Pascal
  2. Mengenal dan memahami tipe data terstruktur record
  3. Mampu mengaplikasikan berbagai macam tipe data dalam Pascal

B.     DASAR TEORI
Record merupakan jenis data terstruktur yang mengandung sejumlah elemen dengan setiap elemen mempunyai tipe data yang berlainan atau sama. Masing-masing elemen dalam record dikenal dengan sebutan field. Bentuk umum deklarasi tipe data record adalah sebagai berikut :

TYPE
  data_record = RECORD
    field1 : tipe_data1;
    field2 : tipe_data2;
    field3 : tipe_data3;
    ...
    ...
    fieldn : tipe_datan;
  END;
VAR
  nama_var : data_record;

Record terdiri dari beberapa field. Untuk itu, perlu operator untuk memanggil field dalam suatu field. Ada dua cara pemanggilan field, yaitu :
1.      Menggunakan operator titik (.) yang bentuk umumnya adalah nama_var.fieldn.
2.      Menggunakan statement berikut :
WITH nama_var DO
BEGIN
  field1;
  field2;
  ...
  ...
  fieldn;
END;

C.    LATIHAN SOAL
  1. Nomor Program 1301
a.       Tulislah program berikut dan amatilah outputnya!

PROGRAM myrecord;
USES CRT;
TYPE
  pohon = RECORD
    daun : integer;
    batang : real;
    akar : string[20];
  END;
VAR
  mangga : pohon;
BEGIN
  CLRSCR;
  mangga.daun := 500;
  mangga.batang := 60.3;
  mangga.akar := ‘tunggang’;
  WRITELN(‘Ini adalah data-data pohon mangga saya’);
  WRITELN(‘Jumlah daun ‘,mangga.daun:8);
  WRITELN(‘Diameter batan : ‘,mangga.batang:8:2);
  WRITELN(‘Jenis akar : ‘,mangga.akar);
  READLN;
END.

b.      Pada program di atas, buatlah sebuah variabel lagi dan beri nama padi, dengan tipe data yang sama dengan variabel mangga, yaitu pohon. Kemudian isilah nilai pada tiap field, yaitu jumlah daun 20, diameter 2, dan jenis akar adalah serabut.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................

  1. Nomor Program 1302
Perhatikan kartu mahasiswa anda. Buatlah deklarasi tipe data record yang diberi nama ktm. Tentukan field-field pada record tersebut dengan mengacu pada kartu mahasiswa anda, misalnya nomor induk mahasiswa, nama, jurusan, dan sebagainya. Jangan lupa untuk menentukan tipe data pada tiap-tiap field dengan benar.
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
Nomor Program 1303
a.       Perhatikan kembali modul mengenai larik. Apabila sebuah tipe data larik digunakan, kita harus mendeklarasikan terlebih dahulu dalam deklarasi TYPE. Sebuah larik memiliki data dengan tipe data tertentu, misalnya char, real, atau integer. Selain itu, larik dapat memiliki data yang bertipe record. Contoh :


TYPE
  mahasiswa = record
    nim : string[7];
    ipk : real;
  END;
  larik = array[1..15] of mahasiswa;
VAR
  praktikan : larik;

Jadi, variabel praktikan adalah variabel yang berisi maksimal 15 data yang berupa record mahasiswa. Tulislah program berikut dan amati outputnya!

PROGRAM data_record;
USES CRT;
TYPE
  mahasiswa = RECORD
    nama: string[30];
 nim : string[7];
    ipk : real;
  END;
  larik : array[1..15] of mahasiswa;
VAR
  mhs : larik; i, jml_mhs : integer;
BEGIN
  CLRSCR;
  WRITELN(‘Program Memasukkan Data Mahasiswa’);
  WRITE(‘Berapa data yang akan dimasukkan (1-15)? ‘);
  READLN(jml_mhs);
  FOR i := 1 TO jml_mhs DO
  BEGIN
    WRITE(‘nama: ‘); READLN(mhs[i].nama);
 WRITE(‘nim : ‘); READLN(mhs[i].nim);
    WRITE(‘ipk : ‘); READLN(mhs[i].ipk);
  END;
  WRITELN;
  WRITE(‘Data ke berapa yang ingin ditampilkan (1-15) ?);
  READLN(i);
  WRITELN(‘nama: ‘,mhs[i].nama);
  WRITELN(‘nim : ‘,mhs[i].nim);
  WRITELN(‘ipk : ‘,mhs[i].ipk);
  READLN;
END.

b.      Program di atas masih kurang sempurna, karena tidak bisa menghindari kesalahan, yaitu : misalnya data yang dimasukkan ada 5, sedangkan user ingin melihat data ke-10, maka seharusnya muncul pesan :

Data ke-10 tidak bisa ditampilkan, karena data yang dimiliki hanya 5 buah.

Sekarang modifikasilah program di atas sehingga memungkinkan untuk muncul pesan tersebut.
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................
..................................................................................................................

  1. Nomor Program 1304
Buatlah program untuk memasukkan data-data mahasiswa yang ingin menjadi asisten Praktikum Pemrograman 1. Gunakan record seperti pada program 1303. Syarat untuk menjadi asisten adalah IPK minimal 2.75. Jika kurang dari itu, maka pendaftaran ditolak. Maka, buatlah fasilitas untuk meminta data (input data) dari user berupa nomor induk mahasiswa beserta IPK. Kemudian tampilkan pesan “Dilarang Mendaftar” apabila syarat tidak terpenuhi. Contoh :

Tulislah NIM anda : 3200916001
IPK               : 2.60
Maaf, anda tidak diterima, tekan enter untuk melanjutkan.

........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................

  1. Nomor Program 1305
Buatlah program dengan mengacu pada program 1303 (Gunakan perintah SAVE AS). Dari data yang dimasukkan, tampilkan hal-hal sebagai berikut

IPK tertinggi = ...
IPK terendah  = ...
Nomor Induk Mahasiswa dengan IPK tertinggi = ...
Rata-rata IPK = ...
Jumlah mahasiswa dengan IPK < 2.50 = ...
Jumlah mahasiswa dengan IPK >= 2.50 = ...

........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................
........................................................................................................................



Tidak ada komentar:

Posting Komentar

 
Blogger Templates