Algoritma dan Struktur Data

advertisement
Computer Science, University of Brawijaya
Putra Pandu Adikara, S.Kom
Algoritma dan Struktur Data
Tipe Data: Array dan String
Macam Tipe Data
Tipe data digunakan untuk menentukan
batasan nilai yang digunakan suatu
peubah (variabel)
Macam tipe data :




Tipe Sederhana (primitif)
Tipe Terstruktur
Tipe String
Tipe Reference/Pointer
Tipe Data Sederhana
 Disebut juga tipe data skalar, yaitu suatu tipe data yang
memungkinkan sebuah peubah untuk menyimpan sebuah
nilai
 Macam tipe sederhana :
 Tipe ordinal/integral
• ShortInt, Integer, LongInt, Byte, Word
subrange, dan enumerated
 Tipe floating point/real
• Real, Single, Double, Extended
 Tipe char
• Char
 Tipe boolean
• Boolean
Tipe Data Terstruktur
Adalah suatu tipe data yang membolehkan
sebuah peubah untuk menyimpan lebih dari satu
data
Macam tipe terstruktur :





Tipe Larik (Array)
Tipe Rekaman (Record/Struct)
Tipe Objek (Objek/Class)
Tipe Himpunan (Set/Enum)
Tipe Berkas (File)
Larik (Array)
Adalah suatu struktur data yng dapat
menyimpan sekumpulan elemen dengan tipe
yang sama
Larik disimpan pada memory yang berurutan
pada komputer
Berbeda dengan variabel biasa yang hanya bisa
menyimpan sebuah nilai
Nama lain : tabel, vektor atau peubah majemuk
Penggunaan Larik
Bila dibutuhkan suatu tempat
penyimpanan (di memory) yang dapat
menyimpan banyak data dengan jenis data
yang seragam
Deklarasi Larik
 Larik adalah struktur data yang Statik, artinya jumlah elemen
larik harus sudah diketahui sebelum program dieksekusi
 Ada 2 cara mendeklarasikan (Pada TP) :
 1. Sebagai Peubah,
misal :
Data : array[0..4] of integer;
 2. Sebagai Tipe Baru,
misal : Type Data : array[0..4] 0f integer;
var Nilai: Data;
Nim : Data;
 Inisialisasi biasanya memberikan nilai harga awal pada
seluruh elemen larik. Biasanya digunakan nilai 0 (nol) atau ' '
(karakter kosong).
Memproses Larik 1 Dimensi
Untuk mengakses dan memprosesnya
digunakan Indeks.
Contoh :
Larik A yang memiliki 4 elemen, biasa ditulis :
A[0], A[1], A[2],A[3]
Misal
WriteLn(A[0]);
A[0] := 10;
Array MultiDimensi
adalah suatu array/larik yang memiliki dimensi
dgn indeks lebih dari satu
dapat juga disebut sebagai suatu array yang
beranggotakan elemen yang juga berupa suatu
array
Contoh : Matrik, dan Tabel
Karakteristik Array Multi Dimensi
Karena juga merupakan suatu array, maka
semua elemennya harus memiliki tipe data yang
sama
Merupakan struktur data yang statik, artinya
jumlah elemennya sudah harus ditentukan
terlebih dahulu sebelum progran dijalankan, dan
jumlah tersebut tidak dapat diubah ketika
program dijalankan
Pemanfaatan Memory pada Array Multi Dimensi
Semakin banyak Dimensi arraynya, semakin
besar memory yang digunakan
Contoh : untuk array 2 dimensi berukuran 4 x 4
berari membutuhkan tempat 16 ruang memory
Penyimpanan pada komputernya tetap tersusun
sebagai memory yang berurutan
Deklarasi Array Multi Dimensi
sama seperti pendeklarasian suatu array, tetapi
indexnya jumlahnya lebih dari satu
Contoh :
Data : array [1..4,1..4] of integer;
Keluarga : array[1..50,1..4,1..4] of
integer;
Inisialisasi sama seperti array 1 dimensi
Memproses Larik Multi Dimensi
diproses berdasarkan indexnya
indexnya sebanyak dimensi arraynya
di dalam pemrograman biasanya digunakan
looping bersarang/yang bertumpuk (looping
dalam looping)
Larik A yang memiliki dimensi 1x3, biasa ditulis :
A[0][0], A[0][1], A[0],A[3]
Misal
WriteLn(A[0][1]);
A[0][3] := 10;
Enumerasi
Konstanta dengan tipe array/list yang bisa diakses
menggunakan indeks berupa nama
Contoh:
type
Status = (Active, Passive, Waiting);
StatusMap = array[Status] of string[7];
const
StatStr: StatusMap = ('Active', 'Passive',
'Waiting');
Memproses Enumerasi
contoh nilai yang diisikan ke StatStr:
StatStr[Active] = 'Active'
StatStr[Passive] = 'Passive'
StatStr[Waiting] = 'Waiting'
Subrange
 Subrange adalah kelompok/himpunan nilai yang dibuat
dari kelompok yang sudah ada sebelumnya.
 Deklarasi Subrange:
type RangeName = Low..High;
 Misal:
type AdultMemberAge =
18...30;
type Players = (GoalKeeper, RightDefender, Stopper,
Libero, LeftDefender, MiddleLeft,
MiddleCenterLeft, MiddleCenterRight, MiddleRight,
Forward1, Forward2 );
type MiddleCourt = MiddleLeft..MiddleRight;
String
 String pada dasarnya merupakan rentetan karakter
(char). Konstanta string ditulis dengan awalan dan
akhiran null terminated char ('') dgn kode ASCII #0,
 String 'Hello‘
H
e
l
l
o
\0
 Deklarasi string:
str: string[10];
str: string;
contoh pertama array str dapat menyimpan 10 elemen
bertipe char.
Download