Tipe Bentukan Tipe yang didefinisikan sendiri oleh pemrogram (user defined type data) Dua jenis tipe bentukan : Tipe dasar yang diberi nama tipe baru Tipe terstruktur (record)
Tipe Dasar dengan Nama Tipe Baru Nama baru untuk tipe dasar diberikan dengan kata kunci type Contoh : type BilanganBulat : integer
Tipe data terstruktur yang disusun oleh satu atau lebih field RECORD Tipe data terstruktur yang disusun oleh satu atau lebih field
Tipe terstruktur dengan N buah field ... Field N
Contoh 1 Didefinisikan record yang mewakili koordinat kartesian (x, y) Deklarasi : type Titik : record <x : real, y : real> Jika P adalah variabel bertipe Titik, maka untuk mengacu tiap field pada P adalah : P.x P.y x y
Contoh 2 Didefinisikan record yang mewakili tanggal dalam kalender Masehi Deklarasi : type Tanggal : record <dd : integer, {1..31} mm : integer, {1..12} yy : integer { > 0} > Jika D adalah variabel bertipe Tanggal, maka untuk mengacu tiap field pada D adalah : D.dd D.mm D.yy dd mm yy
Contoh 3 Didefinisikan record yang mewakili jadwal kereta api Deklarasi : type Jadwal_KA : record <NoKA : string, KotaAsal : string, JamBerangkat : Jam, KotaTujuan : string JamTiba : Jam > NoKA KotaAsal JamBerangkat KotaTujuan JamTiba
Contoh 3 (Lanj) Jika JKA adalah variabel bertipe Jadwal_KA, maka untuk mengacu tiap field pada JKA adalah : JKA.NoKA JKA.KotaAsal JKA.JamBerangkat.hh JKA.JamBerangkat.mm JKA.JamBerangkat.ss JKA.KotaTujuan JKA.JamTiba.hh JKA.JamTiba.mm JKA.JamTiba.ss
Latihan Tulislah algoritma yang membaca waktu tempuh seorang pelari maraton (jam, menit, detik), lalu mengkonversi waktu tempuh tersebut ke dalam detik. Tulislah algoritma untuk membaca nilai panjang dan lebar dua buah segi empat, lalu menghitung selisih luas kedua segi empat tersebut. Tulislah algoritma yang membaca dua buah titik P1(x1, y1) dan P2(x2, y2), lalu menghitung titik tengah dari P1 dan P2. Tulislah algoritma untuk membaca NIM, nama, tanggal lahir (hari, bulan, tahun), dan alamat seorang mahasiswa kemudian mencetaknya.