Pengantar Struktur Data - Brigida Arie Minartiningtyas

advertisement
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
Download