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