Abstract Data Type.

Slides:



Advertisements
Presentasi serupa
Pertemuan 5 Struktur Data
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
STRUKTUR DATA JAIDUP BANJARNAHOR.
Sekolah Tinggi Manajemen Informatika dan Komputer
QUEUE II. IMPLEMENTASI QUEUE
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Struktur Data & Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) ‏ 1 Fasilkom UI SUR – HMM – AAFasilkom UI - IKI20100/ IKI80110P.
Struktur Data Bambang Irawan.
Queue.
PERTEMUAN KE-1. Mata Kuliah STRUKTUR DATA SKS : 3 Penilaian: Tugas-Tugas, UTS, UAS Kehadiran, dll: Peraturan Akademik.
STRUKTUR DATA.
Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom UI - IKI20100 IKI 20100: Struktur.
Algoritma dan Struktur Data
STACK (Tumpukan).
Queue.
Queue.
STRUKTUR DATA (1).
Algoritma & Struktur Data Abstract Data Type Evangs Mailoa.
Abstract Data Types dan Java Collections API
Linear Data Structures (Stack)
SEMESTER GANJIL 2009/2010.
Abstract Data Type (C++ and Java)
Pemrograman Berorientasi Obyek Lanjut (IT251)
IKI 20100: Struktur Data & Algoritma Ruli Manurung & Ade Azurat (acknowledgments: Denny, Suryana Setiawan) ‏ 1 Fasilkom UI Ruli Manurung & Ade AzuratFasilkom.
Pertemuan 5 STACK & QUEUE
Pertemuan ke 3 Algoritma dan struktur data
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Struktur Data dan Penyajian Data
STRUKTUR DATA (1).
STRUKTUR DATA Nanik Susanti, S.Kom.
Pengantar Struktur Data & TREE
Pengantar Struktur Data Pertemuan 1 Season 1
Tipe Data By Serdiwansyah N. A..
Pemrograman Visual I Outline: ARRAY Array multidimensi
Pengantar Struktur Data Sri Nurhayati, MT
Pengenalan Struktur Data Universitas Muhammadiyah Jakarta
Pengantar Struktur Data Sri Nurhayati, MT
Defri Kurniawan ADT STACK Defri Kurniawan
Abstract Data Type (ADT) and Stack Array
STRUKTUR DATA QUIZ.
Struktur Organisasi Data 2
Pengantar struktur data
Struktur Data Khoiriya Latifa, M.Kom.
Struktur Data Tipe data & Struktur Data
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Standard Template Library STL
STRUKTUR DATA (1) Sri Nurhayati, MT.
Pertemuan 5 Review Berbagai Struktur Data
Struktur Data Yuniansyah.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Algoritma dan Pemrograman RECORD (REKAMAN)
STRUKTUR DATA.
STRUKTUR DATA (1).
Struktur Data Sri Nurhayati, MT
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STRUCT Imam Fahrur Rozi.
Larik.
Algoritme dan Stuktur Data
Algoritma dan struktur data
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
Pengantar Struktur Data Sri Nurhayati, MT
Aktivitas Struktur Data
Hani Atun Mumtahana, S.Kom
Tipe Data Bentukan Pertemuan ke-5.
PERTEMUAN II PENGANTAR
TIF 4201 Algoritma Dan Struktur Data Abstract Data Type
Matakuliah : Algoritma & Struktur Data Versi Materi Larik
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Pengenalan Struktur Data
Transcript presentasi:

Abstract Data Type

PENGANTAR Bagaimana cara mengatasi masalah implementasi program dengan komputer? Pemahaman masalah secara menyeluruh dan persiapan data Keputusan operasi-operasi yang dilakukan terhadap data Penyimpanan data-data pada memori sehingga tersimpan dan terstruktur secara logis, operasinya efisien Pengambilan keputusan terhadap bahasa pemrograman mana yang paling cocok untuk jenis data yang ada

Perbedaan Tipe Data, Obyek Data & Struktur Data (1) Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer. Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan: Deklarasi terhadap variabel tipe data tersebut Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut Jenis obyek data yang mungkin Contoh tipe data di C? Java? Pascal? .NET?

Perbedaan Tipe Data, Obyek Data & Struktur Data (2) Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu. Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.

Aktivitas Struktur Data Di dalam struktur data kita berhubungan dengan 2 aktivitas: Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada Menunjukkan mekanisme kerja operasi-operasinya Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb. Struktur data = obyek data + [operasi manipulasi data]

Hubungan SD dan Algoritma Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat. Tidak semua struktur data baik dan sesuai. Contoh untuk problem pemrosesan image, record informasi mahasiswa.

ADT dan UDT atau Tipe Data Bentukan Bahasa pemrograman bisa memiliki tipe data: Built-in : sudah tersedia oleh bahasa pemrograman tersebut Tidak berorientasi pada persoalan yang dihadapi. UDT : User Defined Type, dibuat oleh pemrogram. Mendekati penyelesaian persoalan yang dihadapi Contoh: record pada Pascal, struct pada C. ADT : Abstract Data Type memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut. Contoh: class pada Java

Abstract Data Type (ADT) Spesifikasi dari sekumpulan data termasuk operasi yang dapat dilakukan pada data tersebut. (Wikipedia) Sekumpulan data dan operasi terhadap data tersebut yang definisi-nya tidak bergantung pada implementasi tertentu. (/www.nist.gov/dads/)

Interface Spesifikasi Abstract Data Type biasa disebut sebagai interface. Interface menyatakan apa yang dapat dilihat dan digunakan oleh programmer. Dalam Java, hal tersebut dinyatakan sebagai public method. Operasi-operasi yang dapat dilakukan pada abstract data type dituliskan dalam interface dan dinyatakan public.

Pemisahan interface dengan implementasi Pengguna dari sebuah abstract data type hanya perlu memikirkan dan mempelajari interface yang diberikan tanpa perlu mengetahui banyak bagaimana implementasi dilakukan. (prinsip: enkapsulasi) Implementasi dapat saja berubah namun interface tetap. Dengan kata lain, implementasi dari sebuah abstract data type dapat saja berbeda-beda namun selama masih mengikuti interface yang diberikan maka program yang menggunakan abstract data type tersebut tidak akan terpengaruh.

Struktur data = container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat dilakukan: Menaruh benda Mengambil benda Mencari benda tertentu Mengosongkannya (atau periksa apakah kosong)‏ Contoh Interface struktur data : void add(Benda x); void remove(Benda x); Benda access(Benda x); void makeEmpty(); boolean isEmpty(); Data

ADT: List 1 2 3 4 Indeks Sebuah List adalah kumpulan benda di mana setiap benda memiliki posisi. Setiap benda dalam List dapat diakses melalui indeks-nya. Contoh paling gampang: array! Contoh Interface list : void insert(int indeks, Benda x); void append(Benda x); void remove(int indeks); void remove(Benda x); Benda get(int indeks);

ADT: Stack Least recent Most recent push pop,top Sebuah Stack adalah kumpulan benda di mana hanya benda yang most recently inserted dapat diakses. Bayangkan setumpuk koran. Benda yang paling terakhir ditambahkan ditaruh di atas tumpukan (top). Operasi pada Stack membutuhkan waktu konstan (O(1)). Contoh Interface stack : void push(Benda x); Benda pop(); Benda top();

ADT: Queue enqueue Most recent Least recent dequeue getFront Sebuah Queue adalah kumpulan benda di mana hanya benda yang least recently inserted dapat diakses. Bayangkan antrian printer job pada jaringan. Benda yang paling awal ditambahkan berada di depan antrian (front). Operasi pada Queue membutuhkan waktu konstan (O(1)). Contoh Interface queue : void enqueue(Benda x); Benda dequeue(); Benda getFront();

ADT: Set tambah Set adalah struktur data yang tidak mengizinkan duplikasi data. Bandingkan dengan struktur data lain yang mengizinkan kita menyimpan dua data yang sama. Bayangkan peserta kuliah ini: Setiap peserta unik, tidak ada yang terdaftar dua kali! Contoh Interface set : void add(Benda x); void remove(Benda x); boolean isMember(Benda x);

ADT: Map Abdul Betty Chairul Dian Nama: Nilai: Map adalah struktur data yang berisi sekumpulan pasangan nama (keys) dan nilai (values) dari nama tersebut. Nama (Keys) harus unik, tapi nilai (values) tidak. Bayangkan basis-data yang berisi informasi peserta kuliah. Apa yang menjadi “nama” (keys)? Contoh Interface sebuah Map : void put(Kunci id, Nilai x); void remove(Kunci id); Nilai get(Kunci id);

ADT: Priority Queue Highest priority insert deleteMin findMin Priority Queue adalah struktur data queue yang tiap elemen data dapat miliki nilai prioritas. Data dengan nilai prioritas tertinggilah yang dapat diakses terlebih dulu. Bayangkan sebuah antrian pada printer jaringan. Misalkan ada sebuah permintaan cetak untuk 100 halaman hanya beberapa detik lebih awal dari permintaan cetak selembar halaman. Contoh Interface sebuah Priority Queue : void insert(Benda x); (Menambahkan) void deleteMin(); (menghapus) Benda findMin(); (meng-akses)