Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer.Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:
Deklarasi terhadap variabel tipe data tersebut
Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut
Jenis obyek data yang mungkin
Contoh tipe data di C? Java? Pascal? .NET?
• Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu.
• Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf
• Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.
• Di dalam struktur data kita berhubungan dengan 2 aktivitas:
• Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada
• Menunjukkan mekanisme kerja operasi-operasinya
• Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.
• Struktur data = obyek data + [operasi manipulasi data]
Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
- Elemen TOP (puncak) diketahui
- penisipan dan penghapusan elemen selalu dilakukan di TOP
- LIFO
Pemanfaatan Stack :
- Perhitungan ekspresi aritmatika (posfix)
- algoritma backtraking (runut balik)
- algoritma rekursif
Operasi Stack yang biasanya :
- Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
- Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
- IsEmpty ()
- IsFull ()
- dan beberapas selektor yang lain
Jenis/Tipe Data (Data Type)
n Terdiri dari
– Set nilai data
– Set operasi yang bisa diterapkan pada nilai tersebut
Klasifikasi Jenis Data
n Simple Data Type (Jenis Data Sederhana)
– Item data individual
n Data Structures / data aggregates (struktur data)
– Kombinasi dari item data individual
– Membentuk item data lain
Jenis Data Sederhana
n Numerik, terdiri dari :
– Numerik integer (bilangan bulat)
– Numerik real (bilangan riil)
n Karakter, terdiri dari :
– Alfabet : a .. z, A .. Z
– Angka : 0 .. 9
– Simbol khusus : + ? ‘ ! [ ] { } … dll
n Boolean (logika), terdiri dari :
– True
– False
Identifier
n Dalam bahasa pemrograman, item data diidentifikasi menurut namanya, bukan menurut alamat lokasinya dalam memori
n Identifier akan merupakan konstanta jika ia selalu dikaitkan dengan nilai data yang sama
n Identifier akan merupakan variabel jika nilai datanya yang terkait bisa berubah
n Literal, nilai data yang tertera dalam program namun bukan sebagai identifier
Deklarasi Data
n Jenis data konstanta dan variabel harus didefinisikan dalam program sehingga :
– operasi yang tepat dapat dijalankan pada nilai data dan
– Jumlah ruang penyimpanan yang tepat bisa ditentukan
n Statement untuk mendefinisikan jenis data disebut declarative statement
n Beberapa bahasa pemrograman memiliki sintaks pendeklarasian yang berbeda
n Beberapa contoh program (pendeklarasian data) yang akan diberikan ditulis dalam pseudo-code
Contoh
Constants
pi = 3.141592654
Variables
i, qty : integer
harga_satuan, harga_beli : real
status : boolean
nama : character(25)
Struktur Data
n Kelompok item data yang terorganisasi yang dianggap sebagai suatu unit
n Disebut juga sebagai jenis data kompleks (complex data type) atau data aggregates
n Beberapa struktur data :
– Array (larik)
– String
– Record
– List (daftar)
– Tree
Array (Larik)
n Set item data yang disusun secara baik menjadi rangkaian dan diacu atau ditunjuk oleh satu identifier
n Larik (Bahasa Inggris: array), dalam ilmu komputer, adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama yang sama dan menempati tempat di memori yang berurutan (kontigu) serta bertipe data sama pula.
n Larik dapat diakses berdasarkan indeksnya. Indeks larik umumnya dimulai dari 0 dan ada pula yang dimulai dari angka bukan 0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping).
n
n Contoh : Nilai = (56 42 89 65 48)
n Item data individual dalam array bisa ditunjuk secara terpisah dengan menyatakan posisinya dalam array itu
– Nilai(1) menunjuk 56
– Nilai(2) menunjuk 42
n Bilangan yang ditulis dalam tanda kurung menandakan posisi item individual dalam array (disebut juga subscript / indeks)
n Variabel bisa digunakan sebagai subscript, misalnya Nilai(i).
– Jika i = 2 maka menunjuk ke Nilai(2) yaitu 42
– Jika i = 4 maka menunjuk ke Nilai(4) yaitu 65
n Item data individual dalam suatu array sering disebut elemen
n Matriks
– Array yang hanya berisi bilangan dan tidak ada data alfabetisnya
n Klasifikasi Array
– Array 1 dimensi
– Array multi dimensi
Array Multi Dimensi
n Mempunyai elemen-elemen yang disusun ke dalam baris dan kolom dan digunakan sebagai tabel data
n Contoh : Nilai ujian dari mahasiswa satu kelas untuk beberapa mata kuliah bisa ditempatkan dalam array 2 dimensi
Siswa ke (no. baris) | B. Inggris (kolom 1) | Matematika (kolom 2) |
1 2 3 4 5 | A(1,1) = 56 A(2,1) = 42 A(3,1) = 89 A(4,1) = 65 A(5,1) = 48 | A(1,2) = 44 A(2,2) = 36 A(3,2) = 73 A(4,2) = 86 A(5,2) = 51 |
Penanganan Array
n Metode dasar penanganan array :
– Mencari nilai terbesar
– Mencari nilai terkecil
– Menghitung nilai rata-rata
– Menghitung nilai total
– Menghitung jumlah nilai di bawah rata-rata
n Menyortir Array (Sort)
– Buble sort
– Straight selection sort
n Mencari/Meneliti Array (Search)
– Linear search
n Contoh : Nilai ujian mahasiswa akan dibaca dalam array. Kemudian akan ditampilkan nilai terbesar, nilai terkecil, nilai rata-rata, nilai total, dan jumlah nilai di bawah rata-rata.
n Tahapan penanganan array
– Input nilai data ke dalam array
– Mengkalkulasi nilai terbesar, terkecil, total, dan rata-rata
– Mengkalkulasi jumlah nilai di bawah rata-rata
– Menampilkan hasilnya (output)
String
n Rangkaian karakter yang ditangani sebagai unit data tunggal
n Contoh (string literal) :
– “ABC, 32fl2. 3h”
– “Kucing dalam karung”
n Contoh (variabel string) :
– A = “Universitas”
– B = “Gunadarma”
n Berada dalam bentuk array karakter 1 dimensi
Record
n Seperti array 1 dimensi
n Terdiri dari serangkaian item data yang terkait
n Item data berurutan yang ada dalam record bisa mempunyai jenis yang berbeda
n Contoh : Mengorganisasikan 3 item data yang berbeda ke dalam struktur data tunggal
– NIP : string(8)
– Nilai : real
– Lulus : boolean
List
n Memberikan cara yang fleksibel untuk penanganan item data secara urut
n Perubahan terhadap urutan tersebut dapat dicapai (dilakukan) dengan perpindahan data yang minimal dan kehilangan ruang penyimpanan yang sedikit
Contoh : Kalimat "Ahmad does not like cake" dituliskan sebagai suatu
n Beberapa istilah
– Datum : item data dalam list
– Pointer : penunjuk yang menyambungkan item data satu dengan yang lain
– Node / elemen : elemen dari suatu list yang terbentuk dari datum dan pointer
– Terminator : pointer terakhir dari list
– Start pointer : menyatakan tempat datum pertama
– Free storage pointer : menyatakan di mana datum berikutnya bisa mengarah atau menuju
Operasi pada List
n Deletion : penghapusan elemen suatu list
– Ketika elemen suatu list dihapus, tempat penyimpanan yang telah dikosongkan dapat digunakan lagi
n Insertion : penyisipan elemen ke dalam suatu list
n Search : pencarian elemen dalam suatu list
Tree
n Struktur data hirarki
n Dikonstruksi menggunakan aturan preseden untuk item data, misal : menggunakan rangkaian alfabet atau numerik
n Beberapa Istilah :
– Node : elemen dari suatu tree
• Setiap node memiliki (sedikitnya) dua pointer yaitu left pointer dan right pointer
– Root node : datum pertama yang ditempatkan dalam tree
– Parent node : node yang memiliki node di bawahnya (sub-node)
– Child node : node yang berada di bawah parent
– Leaf node : node yang tidak mempunyai child
stack
Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
- Elemen TOP (puncak) diketahui
- penisipan dan penghapusan elemen selalu dilakukan di TOP
- LIFO
Pemanfaatan Stack :
- Perhitungan ekspresi aritmatika (posfix)
- algoritma backtraking (runut balik)
- algoritma rekursif
Operasi Stack yang biasanya :
1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
3. IsEmpty ()
4. IsFull ()
5. dan beberapas selektor yang lain
JENIS-JENIS DATA
Secara umum jenis-jenis data dapat dikelompokkan atas 2 bagian, yaitu :
1. Jenis data primitif, terdiri atas :
a. Integer
b. Real
c. Boolean
d. Karakter
2. Jenis data campuran, yaitu : "String".
n INTEGER
Suatu integer adalah anggota dari himpunan bilangan :
( ....., -(n+1), -n, ....., -2, -1, 0, 1, 2, ....., n, n+1, ..... )
Operasi-operasi dasar yang ada dalam integer antara lain :
Ÿ Penjumlahan
Ÿ Pengurangan
Ÿ Perkalian
Ÿ Pembagian
Ÿ Perpangkatan, dsb
Masing-masing operator pada operasi di atas, yang bekerja terhadap sepasang integer (operand) disebut sebagai : "binary operator". Sedangkan operator yang hanya bekerja terhadap satu operand saja disebut sebagai "unary operator". Contoh dari unary operator adalah operator negasi. Operator ini berfungsi untuk mengubah tanda suatu operand.
n REAL
Data numerik yang bukan termasuk integer, digolongkan dalam jenis data real. Jenis data ini ditulis menggunakan titik desimal (atau koma desimal). Bilangan real dimasukkan ke dalam memori komputer memakai sistem floating point, merupakan versi yang disebut Scientific Notation. Disini penyajiannya terdiri atas dua bagian, yaitu : mantissa (pecahan) & eksponen.
Contoh :
Di dalam sistim desimal, 123000 = 0.123 * 106.
Di sini 0.123 adalah mantissa atau pecahan, sedangkan 6 adalah eksponennya.
Secara umum suatu bilangan real X dituliskan M * RE
n BOOLEAN
Jenis data ini disebut juga jenis data "logical". Elemen dari jenis data ini mempunyai nilai salah satu dari "true" atau "false". Operator-operator yang dikenal pada jenis data ini terdiri atas:
A. Operator Logika, yaitu : NOT, AND dan OR.
Ÿ Operator OR akan menghasilkan nilai "true", jika salah satu atau kedua operand bernilai "true".
Ÿ Operator AND akan menghasilkan nilai "true", jika kedua operand bernilai "true".
Ÿ Sedangkan operator NOT akan menghasilkan nilai "true", jika operand bernilai "false", dan sebaliknya.
Ÿ Operator NOT merupakan "precedence" dari operator AND dan OR.
Dalam suatu ekspresi yang tidak menggunakan tanda kurung, operator NOT harus dievaluasi sebelum operator AND dan OR.
B. Operator Relasional, yaitu : >, <, >=, <=, <> dan =.
n KARAKTER & STRING
Jenis data karakter merupakan elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol-simbol khusus. Sedangkan jenis data string merupakan jenis data campuran, karena elemen-elemennya dibentuk dari karakter-karakter di atas. Karakter yang digunakan untuk membentuk suatu string disebut sebagai alphabet. Dalam penulisannya, suatu string berada dalam tanda "aphosthrope".
Contoh :
Misal, diberikan himpunan alphabet A = { C, D, 1 }.
String-string yang dapat dibentuk dari alphabet di atas antara lain adalah :
'CD1', 'CDD', 'DDC', 'CDC1', ...dsb, termasuk "null string" atau "empty string".
Himpunan yang anggotanya adalah semua string yang dapat dibentuk dari suatu himpunan alphabet disebut sebagai "vocabulary". Suatu vocabulary V yang dihasilkan dari himpunan alphabet A dinotasikan dengan VA atau A*.
Jika suatu string dibentuk dari alphabet { 0, 1 }, maka string yang terbentuk disebut dengan "Bit String".
Secara umum, suatu string S yang dibentuk dari himpunan alphabet A, dituliskan :
S = 'a1a2 ..... aN'
di mana setiap karakter ai anggota A untuk, 1 £ i £ N.
Dalam suatu string terdapat 3 operasi utama, yaitu :
1. Length
2. Concatenation
3. Substring
m LENGTH
Nilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string.
Contoh :
A. Jika diberikan string S = 'a1a2 ..... aN'.
Maka LENGTH(S) = N.
B. Jika diberikan string S = 'ABCD13AB', maka LENGTH(S) = 8.
m CONCATENATION
Operasi ini bekerja terhadap dua string dan hasilnya merupakan resultan dari kedua string tersebut. Operasi ini hampir sama dengan operasi gabungan. Jika S1 dan S2 masing-masing adalah suatu string, maka bentuk operasi concatenation dinotasikan dengna : CONCAT(S1,S2).
Contoh :
Misal S1 = 'a1a2 ..... aN' dan S2 = 'b1b2 ..... bM'
Maka CONCAT(S1,S2) = ' a1a2 ..... aNb1b2 ..... bM'
Panjang dari string yang baru (resultan) merupakan jumlah panjang dari masing-masing string atau :
LENGTH(CONCAT(S1,S2)) = LENGTH(S1) + LENGTH(S2)
m SUBSTRING
Operasi ini adalah operasi membentuk string baru, yang merupakan bagian dari string yang diketahui. Notasi adalah :
SUBSTR(S,i,j)
di mana : S = string yang diketahui.
i dan j adalah integer
i = posisi awal substring, 0 £ i £ LENGTH(S)
j = banyak karakter yang diambil, 0 £ j £ LENGTH(S) dan 0 £ i+j-1£ LENGTH(S)
Contoh :
Diberikan S = 'a1a2 ..... aN' ; i = 2 ; j = 4.
Maka SUBSTR(S,i,j) = SUBSTR(S,2,4) = 'a2a3a4a5'
Catatan :
1. LENGTH(SUBSTR(S,i,j)) = j
2. SUBSTR(CONCAT(S1,S2),1,LENGTH(S1)) = S1
3. SUBSTR(CONCAT(S1,S2),LENGTH(S1)+1,LENGTH(S2)) = S2
Selanjutnya selain tiga operasi utama di atas, ada beberapa operasi lain yang didefinisikan dalam suatu string, yaitu :
m INSERT
Operasi ini adalah untuk menyisipkan suatu string ke dalam string lain. Bentuk umumnya adalah : INSERT(S1,S2,i). S1 dan S2 masing-masing adalah suatu string dan i adalah posisi awal S2 pada S1.
Contoh :
Misalkan: S1 = 'a1a2 ..... aN'
S2 = 'b1b2 ..... bM'
INSERT(S1,S2,3) = 'a1a2b1b2 ..... bMa3a4 ..... aN'
m DELETE
Operasi ini digunakan untuk menghapuskan sebagian karakter dalam suatu string.
Bentuk umumnya adalah :
DELETE(S,i,j) Ã menghapuskan sebagian karakter dalam string S, mulai dari posisi i dengan panjang j.
Contoh :
Diberikan string S = 'a1a2 ..... aN'
DELETE(S,3,4) = 'a1a2a7a8 ..... aN'
Catatan :
INSERT(S1,S2,i) = CONCAT (CONCAT (SUBSTR(S1,1,i-1),S2), SUBSTR(S1,i,LENGTH(S1)-(i-1)))
DELETE(S,i,j) = CONCAT(SUBSTR(S,1,i-1),SUBSTR(S,i+j,LENGTH(S)-(i+j-1)))
di mana : 1 £ i £ LENGTH(S1)
0 £ i £ LENGTH(S1)
0 £ i+j-1 £ LENGTH(S1)
Untuk i,j integer.
DEKLARASI DALAM BAHASA PEMROGRAMAN
n PASCAL
Var Count : integer;
Switch : boolean;
Betha : char;
Alamat : packed array[1..25] of char;
n COBOL
DATA DIVISION
01 Count PICTURE S999.
01 Flda PICTURE X.
88 Switch VALUE 'Y'.
01 Betha PICTURE X.
01 Alamat PICTURE X(25).
MAPPING KE STORAGE
n INTEGER
Bentuk mapping ke storage dari integer dapat dilakukan dengan beberapa cara, yaitu :
1. Skema Sign dan Magnitude
2. Skema One's Complement
3. Skema Two's Complement
m SKEMA SIGN AND MAGNITUDE
Cara ini merupakan bentuk konvensional yang digunakan manusia untuk menyatakan suatu bilangan dalam bentuk biner. Di sini representasi bilangan positif dan negatif hanya dibedakan dengan tanda saja. Biasanya tanda positif atau negatif ditunjukkan oleh digit terdepan dari bentuk binernya, untuk representasi dengan jumlah digit tertentu.
Contoh :
+ 7 Ã + 111 Ã representasi dengan 4 digit : 0111
- 7 Ã - 111 Ã representasi dengan 4 digit : 1111
Dengan cara ini kita akan mendapatkan kesulitan dalam menentukan tanda pada saat melakukan operasi terhadap dua bilangan yang berbeda tandanya.
m SKEMA TWO'S COMPLEMENT DAN ONE'S COMPLEMENT
Kedua skema ini merupakan cara yang digunakan untuk mengatasi kesulitan yang telah disebutkan di atas. Diberikan bilangan integer non negatif X, X' dan R. Didefinisikan bahwa X' adalah komplemen dari X relatif terhadap R, jika X + X' = R. X disebut sebagai bentuk true, sedangkan X' = R - X disebut bentuk komplemen. Bentuk komplemen X' = R - X menyatakan bilangan integer negatif X. Sedangkan bentuk true X menyatakan integer positif X.
Skema Two's Complement menggunakan R = 2N.
Skema One's Complement menggunakan R = 2N - 1.
Contoh :
Misal diberikan integer = 7, akan dicari bentuk binernya dengan skema Two's Complement untuk representasi 4 digit.
X = 7 ; R = 24 ; Ã X + X' = R
X' = R - X
= 24 - 7
= 16 - 7
= 9 Ã dalam biner = 1001
n KARAKTER
Saat ini banyak sekali skema yang digunakan untuk merepresentasikan karakter dalam storage. Pada umumnya skema yang paling banyak digunakan adalah :
1. Extended Binary Coded Decimal Interchange Code (EBCDIC)
2. American Standard Code for Information Interchange (ASCII)
Pada skema EBCDIC digunakan kode 8 bit untuk menyatakan sebuah karakter. Jika dihitung, kemungkinan kombinasi seluruhnya adalah : 28. Sedangkan skema ASCII menggunakan kode 7 bit untuk menyatakan suatu karakter. Skema ini mempunyai jumlah kemungkinan kombinasi yang lebih sedikit jika dibandingkan dengan skema EBCDIC. Selain dua skema tersebut di atas ada sebuah skema yang disebut dengan kode Huffman. Pada cara ini, jumlah bit yang digunakan tergantung dari frekuensi penggunaan suatu karakter.
n STRING
Untuk mengetahui bentuk mapping pada storage dari suatu string, perlu diketahui beberapa hal yang menyangkut ruang untuk string yang bersangkutan, antara lain :
- letak posisi awal (start) dan posisi akhir (terminal)
- suatu pointer yang menunjukkan lokasi pada storage
Ada tiga cara yang umum digunakan untuk mapping suatu string ke dalam storage. Misal diberikan dua string, yaitu :
S1 = 'ABCDEFG' dan S2 = 'BCD'
m CARA 1
Jika diberikan suatu informasi tentang :
- nama string
- starting address
- panjang string
Contoh :
Nama String | Start | Panjang |
String1 | Ptr1 | 7 |
String2 | Ptr2 | 3 |
Maka secara fisik bentuk formatnya pada storage adalah :
atau
m CARA 2
Jika diberikan informasi sebagai berikut :
- nama string
- starting address
- terminal address
Misalnya diberikan tabel sbb :
Nama String | Start | Terminal |
String1 | Ptr1s | Ptr1t |
String2 | Ptr2s | Ptr2t |
Maka secara fisik bentuknya pada storage adalah :
atau
m CARA 3
Jika diberikan informasi :
- nama string
- starting address
- suatu tanda yang menunjukkan batas string
Misalnya :
Nama String | Start |
String1 | Ptr1 |
String2 | Ptr2 |
Maka bentuknya secara fisik pada storage adalah :
Selain cara-cara di atas, representasi suatu string pada storage dapat pula dalam bentuk packed atau unpacked. Suatu string yang direpresentasikan dalam bentuk packed terbagi atas beberapa word. Banyaknya karakter untuk masing-masing word tergantung dari kode yang digunakan oleh mesin (bitnya). Secara umum jumlah word yang digunakan untuk merepresentasikan string S dalam storage dengan R karakter per word adalah :
Contoh :
Misal diberikan string S = "ManajemenInformatika", direpresentasikan dalam 4 karakter per word dalam bentuk packed. Maka secara fisik dapat digambarkan :
Mana | jeme | nInf | orma | tika |
Jumlah Word : 5
Jumlah Karakter/Word : 4
Sedangkan cara unpacked, setiap word terdiri hanya satu karakter, berarti jumlah word yang diperlukan untuk merepresentasikan suatu string S adalah : LENGTH(S)
Contoh :
Diberikan string S = "StmikGunadarma". Representasinya dalam bentuk unpacked, adalah :
S | t | m | i | k | G | u | n | a | d | a | r | m | a |
PENGERTIAN STRUKTUR DATA
Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Sedangkan data adalah representasi dari fakta dunia nyata.
Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol
Secara garis besar type data dapat dikategorikan menjadi :
1. Type data sederhana
a. Type data sederhana tunggal, misalnya
Integer, real, boolean dan karakter
b. Type data sederhana majemuk, misalnya
String
2. Struktur Data, meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari
Linier : Stack, Queue, serta List dan Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
Struktur data yang ″standar″ yang biasanya digunakan dibidang informatika adalah :
�� List linier (Linked List) dan variasinya Multilist
�� Stack (Tumpukan)
�� Queue (Antrian)
�� Tree ( Pohon )
�� Graph ( Graf )
RECORD (REKAMAN)
Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram.
Rekaman disebut juga tipe terstruktur.
Contoh :
1. type Titik : record
jika P dideklarasikan sebagai Titik maka
mengacu field pada P adalah P.x dan P.y.
2. Didefinisikan tipe terstruktur yang mewakili Jam yang terdiri
atas jam (hh), menit (mm) dan detik (ss), maka cara menulis
type Jam adalah :
type JAM : record
mm : integer, {0…59}
ss : integer {0…59}>
Jika J adalah peubah (variabel) bertipe Jam
maka cara mengacu tiap field adalah J.hh, J.mm dan J.ss
Terjemahan dalam bahasa C :
1. type Titik : record
diterjemahkan menjadi :
typedef struct { float x;
float y;
} Titik;
2. type JAM : record
mm : integer, {0…59}
ss : integer {0…59}
>
Diterjemahkan menjadi :
typedef struct
{ int hh; /*0…23*/
int mm; /*0…59*/
int ss; /*0…59*/
} Jam;
Tidak ada komentar:
Posting Komentar