P. 1
Materi 2 - Tipe Data Abstrak

Materi 2 - Tipe Data Abstrak

5.0

|Views: 3,564|Likes:
Dipublikasikan oleh Euis Marlina

More info:

Published by: Euis Marlina on Sep 24, 2008
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

06/22/2013

pdf

text

original

Abstract Data Type (ADT

)

Euis Marlina, S.Kom Email : euismarlina@gmail.com 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

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->