Bambang Irawan Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Sedangkan 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 Sedangkan 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 1. 2. 3. 4. Rinaldi Munir. 2003. Algoritma dan Pemrograman II. Bandung : Penerbit Informatika Bambang Wahyudi. 2004. Struktur Data dan Algoritma. Yogyakarta : Andi Offset Dwi Sanjaya. 2001. Bertualang dengan Struktur Data di Planet Pascal. Yogyakarta : JJ Learning P. Insap Santoso.1997. Struktur Data dengan Turbo Pascal. Yogyakarta : Andi Offset 1. Type data sederhana a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter b. Type data sederhana majemuk, misalnya String 2. Struktur Data, meliputi a. Struktur data sederhana, misalnya array dan record b. Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan Multilist Non Linier : Pohon Biner dan Graph Perangkat lunak diimplementasikan dalam bentuk program. Program = Algoritma + Struktur Data Mengenal bentuk organisasi penyimpanan data dan pengoperasiannya. Menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Mengurangi duplikasi data (data redudancy) Hubungan data dapat ditingkatkan (data relatability) Mengurangi pemborosan tempat simpanan luar Tempat Penyimpanan Data • • • • Operasi terhadap data Traversal (Traversing) : mengunjungi setiap elemen SD Pencarian (Searching) : menemukan elemen/lokasi pada SD Penyisipan (Inserting) : menambah elemen baru pada SD Penghapusan (Deleting) : menghapus elemen dari SD • Struktur Data Statis – array/larik , rekord, himpunan. • Struktur Data Dinamis - list/senarai, queue /antrian /giliran, tumpukan /stack /timbunan, pohon, graf. Pendahuluan Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau k Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain. Nama lain array adalah Larik, tabel atau vektor Cara Pendefinisian Array 1. Sebagai Peubah Contoh : L : array[1..50] of integer NamaMhs : array[‘a’..’j’] of string 2. Sebagai tipe baru Contoh : type LarikInt : array[1..100] of integer P : LarikInt Cara Mengacu Elemen Larik Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi. Contoh cara mengacu elemen larik adalah : L[4] {mengacu elemen keempat dari larik L } NamaMhs[‘b’] {mengacu elemen kedua dari larik NamaMhs} P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi Array A satu dimensi : 8 indeks (1 s/d 8) dan data 1, 7, 18 dst. 1 7 18 03 69 24 08 70 1 2 3 4 5 6 7 8 Array B dua dimensi (matriks) : - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70. 1 2 3 1 18 03 69 2 24 08 70 List Berkait / Senarai Tumpukan dengan tiga data ( 18, 03, dan 69 yang mer upakan posisi terakhir / TOP ) 69 03 18 << TOP Pohon dengan akar A A B C D E F Graf dengan simpul X, Y, T dan S 7 3 2 Y 6 X 1 T S 4 5 Contoh Operasi terhadap data Array A satu dimensi : 8 indeks (1 s/d 8) dan data 1, 7, 18 dst. 1 7 18 03 69 24 08 70 1 2 3 4 5 6 7 8 1. Insert data pada array ke-1 2. Cari data 18 ada dimana ? 3. Telusuri semua data 4. Hapus data ke-6