Brigida Arie Minartiningtyas, M.Kom
Struktur Data
Struktur dan Data
Struktur suatu susunan, bentuk, pola atau
bangunan
Data suatu fakta, segala sesuatu yang dapat
dikodekan atau disimbolkan dengan kode-kode atau
lambang-lambang yang telah disediakan di setiap
komputer.
Struktur Data
Struktur data dasar/sederhana
Array
Record
Struktur data lanjut/majemuk, yang terdiri dari :
Linier : Stack, Queue, serta List dan Multilist
Non Linier : Pohon Biner dan Graph
Latar Belakang
Struktur data menjadi dasar dalam langkah awal
perancangan program
Algoritma + Struktur Data = Program
Manfaat
Algoritma yang lebih jelas dan tepat, sehingga
menjadikan program secara keseluruhan lebih efisien
dan sederhana.
Membuat program lebih ringkas, lebih bersih, lebih
elegan, lebih mudah dan lebih mampu berkinerja
tinggi (karena efisien dalam penggunaan memori dan
waktu)
Program berjalan membutuhkan waktu beberapa
detik, di mana struktur yang lain mungkin akan
membutuhkan ribuan detik.
Pengertian
Struktur data adalah cara menyimpan atau
merepresentasikan data di dalam komputer agar bisa
dipakai secara efisien
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
Tipe Data
Menunjukkan suatu nilai yang dapat digunakan oleh
suatu variabel / konstanta.
Tipe data yg tepat program dpt dieksekusi secara
efektif
Secara umum dikelompokkan atas 2 bagian :
Tipe data tunggal / sederhana
Integer
Real
Boolean
Karakter
Tipe data majemuk / campuran
String
Integer
Nilai bilangan bulat (integer positif, integer negatif,
dan nol)
Turbo Pascal
Operator
Penjumlahan
Pengurangan
Perkalian
Pembagian
Sisa Hasil Bagi
+
*
DIV
MOD
Real
Jenis data ini ditulis menggunakan titik desimal
Terdiri atas 2 bagian : mantissa (pecahan) & eksponen
Ex : 123000 = 0.123 * 106
Turbo Pascal : 1E-38 sampai 1E+38
Operator Real
Hampir sama dengan operator pada bilangan integer,
namun ada beberapa operator yang hanya bisa
digunakan untuk bilangan real, misalnya:
Sqrt
Boolean
Tipe data logika yang memiliki dua nilai yaitu true dan
false
Operator
Operator Logika
Not
Or
And
Xor
Operator Relasional
Lebih dari
Kurang dari
Lebih dari sama dengan
Kurang dari sama dengan
Tidak sama dengan
Sama dengan
>
<
>=
<=
<>
=
Karakter
Elemen dari suatu himpunan yang terdiri atas
bilangan, abjad dan simbol-simbol khusus
TURBO Pascal
Deklarasi dengan tipe Char
Ditulis diantara tanda petik tunggal
Ex : ‘A’, ‘a’, ‘!’, ‘%’, ‘5’
STRING
Barisan hingga simbol yang diambil dari himpunan
karakter
Campuran elemen-elemennya dibentuk dari
karakter-karakter
Contoh :
Himpunan alphabet {A,A,1} -> string = (AB1), (A1B),
(1AB),…dst.
Termasuk string Null ( empty / kosong ) = { }
Karakter dan String
EBCDIC (Extended Binary Coded Decimal
Interchange Code)
Sistem peng-kode-an (mapping) yang menggunakan 8
binary digit (bit) untuk menyatakan suatu karakter
dalam alfabet.
( 1 karakter = 8 bit )
Dalam 8 bit terdapat 28 (256) kemungkinan karakter
yang dapat dibentuk
ASCII ( American Standard Code For Information
Interchange)
Cara peng-kode-an yang menggunakan 7 bit untuk
menyatakan suatu karakter dalam alfabet.
( 1 karakter = 7 bit).
Dalam 7 bit terdapat 27 (128) kemungkinan karakter
yang dapat dibentuk, separuh dari yang dimiliki
EBCDIC.
Bilangan Bulat/Integer
Bilangan bulat tak bertanda
bilangan biner – oktal - heksadesimal
gray code
BCD (binary coded decimal)
Bilangan bertanda (Positif atau Negatif)
Sign/Magnitude (S/M)
2’s complement
Terdapat persamaan dalam ketiga representasi
tersebut berupa digunakannya MSB (most significant
bit) sebagai penanda.
MSB bernilai ‘0’ untuk bilangan positif dan ‘1’ untuk
bilangan negatif
Sign Magnitude
Salah satu storage mapping yang dapat dilakukan
terhadap integer
Digit untuk tanda integer positif atau negatif dan
sebarisan digit untuk menyataka magnitude/besarnya.
Contoh
-7 = -111
+7 = +111
Sign-magnitude adalah metode yang umum
digunakan untuk mempresentasikan tanda dalam
bilangan float
Bagi kita mudah bekerja terhadap bilangan dalam
bentuk sign-and-magnitude
Namun apabila dilakukan penjumlahan dengan kedua
operand berbeda tanda, penjumlahan akan beralih
menjadi pengurangan yang kadang-kadang
menimbulkan kesukaran
Solusi COMPLEMENT
COMPLEMENT
Merubah tanda negatif pada bilangan pengurangan
menjadi tanda positif
X’ adalah complement dari X terhadap R ( R ‘s
complement dari X ) bila
X + X’ = R.
X’ = R – X menyatakan integer negatif -X.
Representasi negatif dari suatu bilangan diperoleh
dari bentuk positifnya dengan mengubah bit pada
MSB menjadi bernilai 1.
Contoh
+3 = 00011
-3 = 10011
Two’s Complement
Contoh : 0101100
Langkah pertama : mulai dari kanan, temukan angka
‘1’ yang pertama
Balikkan semua bit yang ada di sebelah kiri angka ‘1’
tersebut
Hasil : 1010100