11
Struktur Data
22
• Struktur data adalah suatu
koleksi atau kelompok data
yang dapat dikarakterisasikanoleh organisasi serta operasi
yang didefinisikan
terhadapnya
• Struktur data diperlukan dalam
perencanaan Algoritma dan
penyusunan program sebagai dasar teknik dari Database.
Struktur Data
33
Data
• Data secara umum dapat dikategorikan :
• Tipe data sederhana ataudata sederhana1. Tunggal :Integer, Real, Boolean,
Karakter2. Majemuk :String
• Struktur Data1. Sederhana :Array dan Record2. MajemukLinier :Linier Linked List, Stack,
QueueNon Linier :Binary Tree, Binary
Search Tree, General Tree, Tree, Graf
44
Tipe Data Integer
• Anggota dari himpunan bilangan : • {..., -(n+1), -n, ..., -2, -1, 0, 1, 2, ..., n, n+1, ...}• Operasi dasar yaitu : penjumlahan, pengurangan,
perkalian, pembagian dan perpangkatan
• Pembagian Integer (DIV) • Hasil pembagian integer DIV adalah sebuah integer
(menghilangkan bagian pecahan dari hasil pembagian)Contoh : 27 DIV 4 = 6
• Selain itu terdapat operasi MOD (Modulo) adalah sisadari pembagian
Contoh : 27 MOD 4 = 3
• Operator yang bekerja terhadap sepasang integer (operand) disebut Binary Operator. Sedangkanoperator yang hanya bekerja terhadap satu operand saja disebut Unary Operator.
Contoh dari unary operator adalah negasi.
55
Tipe Data Real
• Data numerik yang bukan termasuk
integer, digolongkan dalam jenis data real.
Ditulis menggunakan titik desimal (atau
koma desimal). Dimasukkan ke dalam
memori komputer memakai sistem floating
point, disebut Scientific Notation.
• Penyajiannya terdiri dari : mantissa
(pecahan) dan eksponen.
Contoh :
• Di dalam sistem 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
• di sini : M dijadikan pecahan, R adalah
radixnya dan E merupakan eksponennya.66
Tipe Data Boolean
• Disebut juga jenis data logical. Anggota { true atau false}.
• Operator Logika, yaitu : AND, OR, NOT
• Operator AND akan menghasilkan nilaitrue, jika kedua operand bernilai true.
• Operator OR akan menghasilkan nilaitrue, jika salah satu operand bernilai true
• Operator NOT merupakan “precedence”dari operator AND dan OR.
• Dalam suatu ekspresi yang tidak menggunakantanda kurung, operator NOT harus dievaluasisebelum operator AND dan OR.B. Operator Relasional, yaitu : >, <, >=, <=, <> dan = Contoh : 6 < 8 = True
9 < 8 = False
77
Tipe Data karakter
• Elemen dari suatu himpunan yang terdiri atas bilangan, abjad dan simbol khusus.
• (0,1,...,8,9, A, B, ...,
Y,Z, +, -,*,√, ...}
88
Operasi string
• Barisan hingga karakter yang dibentuk oleh suatu kumpulan dari karakter.
• Karakter yang digunakan untuk membentuk suatu string disebut alfabet. Dalam penulisannya, suatustring berada dalam tanda “aphosthrope”.
Contoh :
• Misal diberikan himpunan alfabet A = {C,D,1}.
• String yang dapat dibentuk dari alfabet di atas diantaranya : ‘CD1’,’CDD’,’DDC’,’CDC1’,... dansebagainya, termasuk “null string” atau “empty string”
• Himpunan tak hingga dari string yang dibentukoleh alfabet A disebut VOCABULARY, Notasi : VA atau A*
• Jika suatu string dibentuk dari alfabet {0,1}, makastring yang terbentuk disebut dengan “Bit String”.
99
DELETEMenghapus karakter dalam string
INSERTMenyisipkan string ke dalam string yang lain
SUBSTRSub bagian dari string
CONCATGabungan 2 buah string
LENGTHJumlah karakter dalam string
OperatorOPERASI
LENGTHNilai dari operasi ini adalah suatu integer yang menunjukkan panjang dari suatu string .Notasi : LENGTH(S) = N (integer)
di sini S = String, N = integerContoh : Jika diberikan string S =‘a1a2 ... aN’
Maka LENGTH(S) = NJika diberikan string S =“SISTEMINFORMASI”
Maka LENGTH(S) = 15Jika diberikan string S =“SISTEM INFORMASI”
Maka LENGTH(S) = 16Jika diberikan string S = “ABCD20”
Maka LENGTH(S) = 6
Operasi string
1010
CONCAT
Operasi ini bekerja terhadap dua string dan hasilnyamerupakan resultan dari kedua string tersebut.
Jika S1 dan S2 masing-masing adalah suatu string, makabentuk operasi CONCATENATION dinotasikan dengan : CONCAT(S1, S2).
Contoh :
Misal S1 = ‘a1a2 ... aN’ dan S2 =‘b1b2 ... bM’
Maka CONCAT(S1,S2) = ‘a1a2 ... aNb1b2 ... bM’
String S1 = "Sistem"
String S2 = "Informasi"
CONCAT(S1, S2)= "SistemInformasi"
LENGTH(CONCAT(S1, S2)) = 15
LENGTH(S1) + LENGTH(S2) = LENGTH(CONCAT(S1, S2))
6 + 9 = 15
15 = 15
Operasi string
1111
SUBSTROperasi ini adalah operasi membentuk string baru, yang
merupakan bagian dari string yang diketahui.Notasi : SUBSTR(S, i, j)di sini : S = string yang diketahui
i dan j = integer
i = posisi awal substring 1 ≤ 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= 4Maka SUBSTR(S,i,j) = SUBSTR(S,2,4) =‘a2a3a4a5’String S = "Sistem Informasi"
SUBSTR(S,i, j) , i = 4 j = 8SUBSTR(S,4,8) = "tem Info"
String S = "Sistem"SUBSTR(S,1,3) = "Sis"LENGTH(SUBSTR(S,1,3)) = 3
String S = "Informasi"SUBSTR(S,4,5) = "ormas"LENGTH(SUBSTR(S,4,5)) = 5
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
Operasi string
1212
INSERTOperasi 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 padaS1.
Contoh : Misalkan : S1 = ‘a1a2 ... aN’
S2 = ‘b1b2 ... bM’INSERT(S1, S2,3) = ‘a1a2b1b2 ...
bMa3a4... aN’
String S1 = "Sistem"String S2 = "Informasi"INSERT(S1,S2,4) = “SisInformasitem”INSERT(S2,S1,4) = “InfSistemormasi”
DELETEOperasi ini digunakan untuk menghapus 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) = ‘a1 a2 a7a8 ... aN’
String S = "Sistem Informasi"
i = 4, j = 9DELETE(S,i,j) = “Sismasi”
DELETE(S,j,i) = “Sistem Imasi”
String S = “SistemInformasi”
DELETE(S, 4, 5) = “Sisformasi”
DELETE(S, 5, 4) = “Sistformasi”
Operasi string