Anda di halaman 1dari 14

Algoritma & Struktur Data

Kode MK: 0807003 | Semester: Ganjil 2022/2023 | Pertemuan Ke-10


Menilik Kembali Konstruksi Dasar Algoritma
Struktur Data:
Struktur Data Primitif dan Non-Primitif
Bagan Struktur Data
Struktur Data:
Tipe Data Abstrak
Tipe Data Abstrak (Abstract Data Type)
ADT Array & Matriks
Struktur Data, Representasi Lojik,
Representasi Fisik (Implementasi)
• Setiap struktur data pasti memiliki representasi lojik dan
representasi fisik.
• Representasi fisik merupakan cara mengimplementasikan
representasi lojik dari suatu struktur data.
• Representasi fisik dari suatu struktur data biasanya berupa struktur
data pula, tetapi pada level abstraksi yang lebih rendah
Struktur Data, Representasi Lojik,
Representasi Fisik (Implementasi)
Struktur Data (Representasi) Lojik Struktur Data (Representasi) Fisik
Array Array (Kontigu)
List List berkait (dengan pointer atau array), Array
(kontigu)
Stack List berkait (dengan pointer atau array), Array
(kontigu)
Queue List berkait (dengan pointer atau array), Array
(kontigu)
Tree List berkait dengan pointer
Graph List berkait dengan pointer
Tipe Data Abstrak (Abstract Data Type)
• Tipe Data Abstrak (TDA) adalah Tipe Data yang representasi fisik struktur
datanya disembunyikan. Pengguna TDA hanya perlu mengetahui
representasi lojiknya untuk memanipulasi/melakukan berbagai operasi
pada objek bertipe TDA tersebut.
• Tipe Data Abstrak terdiri definisi TIPE dan sekumpulan PRIMITIF (operasi
dasar) terhadap TIPE tersebut.
• TIPE yang dimaksudkan di sini adalah Tipe Bentukan yang berupa tipe
terstruktur (ingat kembali kuliah pertemuan kedua!)
• PRIMITIF, dalam konteks prosedural, diterjemahkan menjadi fungsi dan
prosedur.
Tipe Data Abstrak (Abstract Data Type)
• PRIMITIF dikelompokkan menjadi:
• Konstruktor/Kreator: primitif pembentuk nilai tipe. Semua peubah ber-tipe tersebut
harus melalui konstruktor. Nama konstruktor biasanya diawali oleh “Make”
• Selektor: primitif untuk mengakses komponen tipe (nilai dari peubah). Nama selector
biasanya diawali oleh “Get”
• Modifier: primitif untuk mengubah nilai objek. Nama prosedur ini biasanya diawali
oleh “Set”
• Validator komponen tipe: primitif yang dipakai untuk menguji apakah dapat
membentuk tipe sesuai dengan batasan
• Destruktor/Dealokator: primitif untuk “menghancurkan”/meniadakan nilai objek
sekaligus mendealokasi memori yang digunakan untuk menyimpan nilai tersebut.
• Iterator: primitif untuk mengakses semua bagian yang ada di objek tersebut
Tipe Data Abstrak (Abstract Data Type)
• PRIMITIF dikelompokkan menjadi:
• Baca/Tulis: primitif untuk menerima input dari piranti masukan (contoh:
keyboard) dan menuliskan output pada piranti keluaran (contoh: layar
monitor)
• Operator relasional: primitif untuk mendefinisikan “lebih kecil”, “lebih besar”,
“sama dengan”, dan sebagainya.
• Aritmatika terhadap tipe tersebut karena biasanya aritmatika dalam bahasa
pemrograman hanya terdefinisi untuk bilangan numerik.
• Konversi dari tipe tersebut ke tipe dasar atau sebaliknya.
Implementasi Tipe Data Abstrak
Terdiri atas dua modul
• Modul definisi / spesifikasi tipe dan primitif (Interface)
• Spesifikasi tipe sesuai dengan bahasa yang bersangkutan
• Spesifikasi dari primitif sesuai dengan kaidah dalam konteks procedural, yaitu:
• Fungsi
• Prosedur
• Modul body / realisasi dari primitif, berupa kode program dalam
bahasa pemrograman tertentu. Realisasi fungsi dan prosedur harus
sedapat mungkin memanfaatkan selektor dan konstruktor.
Implementasi Tipe Data Abstrak
• Untuk menguji suatu ADT, biasanya dibuat sebuah program utama
yang di dalamnya terdapat pengujian setiap fungsi dan prosedur
dengan mencakup semua kasus parameter. Program utama tersebut
disebut driver.
Tipe Data Abstrak: Array
Array Dengan Elemen Kontigu

Buatlah kode program dari setiap prosedur dan fungsi pada Tipe Data
Abstrak Array tersebut dengan menggunakan notasi algoritmik
Kuis
• Buat Tipe Data Abstrak “Jam” dengan menggunakan notasi algoritmik
yang digunakan dalam kuliah ini

Anda mungkin juga menyukai