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 DIV
Sisa Hasil Bagi 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