Materi 2 - Tipe Data Abstrak

  • Uploaded by: Euis Marlina
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Materi 2 - Tipe Data Abstrak as PDF for free.

More details

  • Words: 850
  • Pages: 15
Abstract Data Type (ADT)

Euis Marlina, S.Kom Email : [email protected] http://euismarlina.edublogs.org HP : 08179424319

Mata Kuliah Struktur Data - 2008

Pengantar  

Tipe data dapat kaji dari sisi kelas maupun level abstraksinya. Terdapat dua kelas tipe data kalau kita lihat dari kompleksitasnya, yaitu : - Tipe data atomik Tipe data yg dipandang sebagai satu kesatuan tunggal dan tidak dapat dipecah-pecah lagi (non decomposible entity). Contoh : Integer, Char, float/real. - Tipe data berstruktur Tipe data yang dipandang sebagai satu kesatuan tunggal dan dapat dipecah-pecah lagi (decomposibleentity). Contoh : Array, Struct/Record, dll. Mata Kuliah Struktur Data - 2008



Sedangkan atas level abstraksinya, tipe data dapat dikelompokkan ke dalam tiga level, yaitu : - Tipe data abstrak/ADT Tipe data yang merupakan hasil imajinasi kita dengan memberikan beberapa batasan domain maupun operasinya. Contoh : usia, daftarnilai. - Tipe data virtual Tipe data yang ada/dikenal oleh bahasa pemrograman. Contoh : integer, array of integer. - Tipe data fisikal Tipe data yang nyata dalam main processor.

Mata Kuliah Struktur Data - 2008

Modul Program 



Modul pada bahasa pemrograman berorientasi objek, diimplementasikan dengan kelas dengan sekumpulan layanan berupa metode publik yang dapat dipanggil oleh pemakai kelas Pada bahasa prosedural, modul diimplementasikan sebagai struktur, dan sekumpulan operasi berupa prosedur dan fungsi yang dipanggil pemakai modul lewat pemanggilan prosedur dan fungsi. Mata Kuliah Struktur Data - 2008

Abstraksi Data/ADT Persoalan abstraksi data, yaitu :  Struktur data seharusnya menjadi satu bagian internal yang tersembunyi  Pemakai modul tidak perlu mengetahui struktur data yang digunakan untuk mengimplementasikan suatu modul  Pemakai modul hanya diberikan gambaran perilaku, bukan struktur internal dari modul  Fokus pada prilaku objek, membentuk basis pemrograman berorientasi objek. Mata Kuliah Struktur Data - 2008





 

Abstraksi data memungkinkan kita memperluas bahasa pemrograman dengan tipe data baru Abstraksi data memungkinkan kita mengabstraksikan rincian2 cara data diimplementasikan, menjadi bagaimana objek-objek berprilaku Abstraksi data berisi sekumpulan objek Abstraksi data pada prinsipnya merupakan dasar pemrograman berorientasi objek (Object Oriented Programming/OOP) Mata Kuliah Struktur Data - 2008

Pengertian 





ADT adalah kumpulan nilai dan kumpulan operasi yang diizinkan ADT memungkinkan pendefinisian suatu himpunan nilai di variabel disertai operasi-operasi yang izinkan padanya ADT menyatakan prilaku suatu variabel. Mata Kuliah Struktur Data - 2008

Tujuan ADT 









ADT memisah struktur penyimpanan (lokasi memori) dari perilaku. ADT menyembunyikan informasi (information hiding) atau pengkapsulan (encapsulation), yaitu : Perubahan implementasi ADT tidak mengubah teks program lain bila antarmuka (interface) tidak berubah Pemakaian dan pembuatan ADT dapat dilakukan terpisah, hanya perlu kesepakatan antarmuka pemakaian ADT ADT merupakan sarana pemrograman modular dan menjadi landasan pembentukan tim pemrograman

Mata Kuliah Struktur Data - 2008







ADT merupakan sarana untuk membuat modul-modul yang menyerupai dengan konsep-konsep yang ditemukan pada domain persoalan Pada sistem akademik ditemukan konsep student, lecturer, room dll Maka dapat dibuat ADT student, ADT lecturer, ADT Room dsb, yang serupa namanya dengan konsep2 yang dijumpai pada domain persoalan. Mata Kuliah Struktur Data - 2008

Pembuatan ADT Tahap pembuatan ADT :  Spesifikasi  Implementasi  Pemrograman

Mata Kuliah Struktur Data - 2008

Contoh 

Spesifikasi untuk tipe data abstrak letterstring : Elements : Nilai elemennya adalah karakter ‘a’-’z’,’A’-’Z’, dan termasuk juga spasi. Kita sebut nilai-nilai tersebut sebagai kumpulan karakter (letters). Structure : Terdapat hubungan secara linear di antara elemen letters di dalam suatu string. Domain : letterstring berisi 0 sampai 80 karakter. Domain dari tipe letterstring adalah seluruh kemungkinan nilai yang memenuhi aturan-aturan tersebut.

Mata Kuliah Struktur Data - 2008



Operations : letter leftletter( letterstring s) Kondisi awal :Jumlah karakter input s minimal 1. Kondisi akhir :leftletter berisi karakter awal (paling kiri) di dalam string s. append( letter l; letterstring s) Kondisi awal : Jumlah karakter input s kurang dari 80. Kondisi akhir :String s lebih panjang dibandingkan sebelumnya, dan isi l adalah karakter terbaru dan berada paling kanan di dalam s. boolean empty( letterstring s ) Kondisi awal :Tidak ada. Kondisi akhir :Jika s tidak berisi satupun karakter maka empty bernilai true selain itu empty bernilai false.

Mata Kuliah Struktur Data - 2008



boolean full( letterstring s ) Kondisi awal :Tidak ada. Kondisi akhir :Jika s berisi 80 karakter maka full bernilai true selain itu full bernilai false. reverse ( letterstring s ) Kondisi awal :Tidak ada. Kondisi akhir :Urutan dari isi s dibalik, sehingga elemen pertama dan terakhir bertukar tempat, elemen kedua dari awal dan kedua dari akhir bertukar tempat, demikian seterusnya. Dengan memilih bahasa C sebagai bahasa yang akan digunakan untuk penulisan program, maka representasi dan implementasinya adalah sebagai berikut :

Mata Kuliah Struktur Data - 2008



Representation struct letterstring { int n; letter str[80]; }; Implementation int empty( letterstring s ) { if (s.n<1) return(1); else return(0); }; int full( letterstring s ) { if (s.n>=80) return(1); else return(0); };

Mata Kuliah Struktur Data - 2008



void append( letter l; letterstring *s) { if (s.n<80) s.str[++s.n] = l; }; letter leftletter( letterstring s) { if (s.n>0) return(s.str[0] ); }; void reverse ( letterstring *s ) { int i; letterstring temp; for(i=0;i<80;i++) temp.str[i] = temp.str[80-i+1]; for(i=0;i<80;i++) s.str[i] = temp.str[i]; }; Mata Kuliah Struktur Data - 2008

Related Documents

Tipe Data
November 2019 32
Materi 2. Penyajian Data
April 2020 19
Paper Tipe Data
June 2020 14
Presentasi 3 Tipe Data
November 2019 25

More Documents from ""