pi1043 struktur data 2_rev1

5
13/03/2011 1 PI1043 Struktur Data Program Studi Diploma Teknik Informatika Fakultas Informatika IT Telkom Bandung By Tjokorda Agung Budi Wirayuda, ST, MT Tujuan Instruksional Khusus Mahasiswa memahami konsep abstract data type Mahasiswa mengetahui dan dapat mengimplementasikan ADT dalam bahasa C 3 Perhatikan Gambar Berikut! 4 Conceptual Module Information hiding Abstract data type(ADT) 5 ADT ADT adalah definisi TYPE dan sekumpulan PRIMITIF terhadap TYPE tersebut. TYPE adalah gambaran lengkap mengenai sebuah data yang terdiri dari beberapa atribut. (Mahasiswa Nama, NIM, Tgl Lahir). PRIMITIF adalah operasi dasar terhadap TYPE tersebut. (Pendaftaran Mahasiswa, Pencetakan Mahasiswa) 6 ADT TYPE diterjemahkan menjadi type terdefinisi dalam bahasa yang bersangkutan, misalnya struct dalam bahasa C atau record dalam bahasa Ada/Pascal. PRIMITIF, dalam konteks prosedural, diterjemahkan menjadi fungsi atau prosedur berupa: Proc Konstruktor Proc Destruktor Fungsi Selektor Fungsi/Proc Pengubah Nilai Fungsi/Proc Validator Fungsi/Proc Operasi Relational Fungsi/Proc Aritmetika Fungsi/Proc Konversi Fungsi/Proc Baca Tulis

Upload: tjokorda-agung-budi-w

Post on 30-Jun-2015

162 views

Category:

Documents


6 download

DESCRIPTION

Revisi Slide 2 PI1043 Struktur Data, Program Studi Diploma3 Teknik Informatika Fakultas Informatika IT Telkom Bandung

TRANSCRIPT

13/03/2011

1

PI1043 Struktur DataProgram Studi Diploma Teknik InformatikaFakultas InformatikaIT Telkom BandungBy Tjokorda Agung Budi Wirayuda, ST, MT

Tujuan Instruksional Khusus

• Mahasiswa memahami konsep abstract data type

• Mahasiswa mengetahui dan dapat mengimplementasikan ADT dalam bahasa C

3

Perhatikan Gambar Berikut!

4

Conceptual

• Module • Information hiding• Abstract data type(ADT)

5

ADTADT adalah definisi TYPE dan sekumpulan PRIMITIF

terhadap TYPE tersebut.TYPE adalah gambaran lengkap mengenai sebuah data

yang terdiri dari beberapa atribut. (Mahasiswa Nama, NIM, Tgl Lahir).

PRIMITIF adalah operasi dasar terhadap TYPE tersebut. (Pendaftaran Mahasiswa, Pencetakan Mahasiswa)

6

ADTTYPE diterjemahkan menjadi type terdefinisi dalam bahasa yang

bersangkutan, misalnya struct dalam bahasa C atau record dalam bahasa Ada/Pascal.

PRIMITIF, dalam konteks prosedural, diterjemahkan menjadi fungsi atau prosedur berupa:

• Proc Konstruktor• Proc Destruktor• Fungsi Selektor• Fungsi/Proc Pengubah Nilai• Fungsi/Proc Validator• Fungsi/Proc Operasi Relational• Fungsi/Proc Aritmetika• Fungsi/Proc Konversi• Fungsi/Proc Baca Tulis

13/03/2011

2

7

Pustaka Pustaka biasanya berisi fitur-fitur tertentu. Pustaka

biasanya dipisah menjadi 2 bagian yaitu:1. Spesifikasi

Berisi penjelasan/kontrak penggunaan fitur-fitur pustaka.

2. ImplementasiBerisi kode implementasi lengkap fitur-fitur pustaka.

8

Pustaka Manfaat:

1. ReusabilityBeberapa program dapat menggunakan fitur-fitur di pustaka tersebut tanpa menulis ulang implementasinya. 2. SecurityPengguna pustaka hanya perlu mengetahui spesifikasi fitur tanpa perlu diberikan implementasi detail fitur tersebut.

9

Pustaka

Pustaka.h

Pustaka.c Pustaka.objkompilasi

Pustaka.h danpustaka.obj yang diberikan kepengguna pustaka

Utama.c

spesifikasi

implementasi

10

ADT JAMContoh ADT JAM

Tipe JAM terdiri dari atribut Hour, Minute, SecondTYPE Hour : integer {0..23}TYPE Minute : integer {0..59}TYPE Second : integer {0..59}

TYPE Jam : <

HH: Hour,MM: Minute;SS: Second;

>

11

ADT JAMPrimitif Jam:- Validator Function IsJValid(H,M,S: integer) boolean- KonstruktorFunction MakeJam(HH, MM, SS: integer) Jam;- SelektorFunction GetHour(J: Jam) Jam- Pengubah NilaiProcedure SetHour(Input/Output J: Jam, newHH:

integer);

12

ADT JAM

Primitif Jam (cont’d)- Operasi RelationalFunction (J1: Jam, J2: Jam) boolean- Operasi AritmetikaFunction Jplus(J1: Jam, J2: Jam) Jam- Baca/TulisProcedure PrintJam(J: Jam)

13/03/2011

3

13

ADT JAMDiagram Implementasi ADT Jam

//Jam.H//deklarasi TYPE Jam//deklarasi PRIMITIF Jam

//Jam.C//implementasi PRIMITIF Jam

//MainJam.C//Driver ADT Jam

14

Exercise

• Design an ADT-Counter

15

Struktur dasar Perancangan ADT

16

ADT dalam modul bahasa C Sebuah ADT modul dalam bahasa C

diimplementasikan menjadi dua file:

[1)] interface file: (.h) berisi deklarasi seluruhentitas modul yang dapat dilihat oleh user.

[2)] implementation file: (.c) berisi seluruhdefinisi dari entitas yang telah dideklarasikan

17

Interface & Implementation Files

18

Main Program menggunakan dua Modules A dan B

13/03/2011

4

19

Evaluasi 1. Apa yang dimaksud C module ?2. Apa yang dimaksudinterface file sebuah

module ?3. Apa yang dimaksud implementation file sebuah

module ?4. Bagaimana Anda mengetahui layanan-layanan

yang disediakan oleh modul?

Solusi ExerciseADT-Counter

InterfaceTYPE AlatCounter :< CounterValue: integer; >PROSEDURE Reset(I/O AC: AlatCounter);PROSEDURE Increase(I/O AC: AlatCounter);

ImplementationPROSEDURE Reset(I/O AC: AlatCounter)

AC.CounterValue=0;PROSEDURE Increase(I/O AC: AlatCounter)

AC.CounterValue= AC.CounterValue+1;

Solusi Dalam Bahasa C

Spesifikasi Implementasi Program Utama

Spesifikasi

Mendefinisikan prosedure dalam C yaitu dengan nama Void dan mengatur parameter menjadi I/O dengan menggunakan simbol ‘*’

Mendefiisikan sebuah tyoe bentukan dalam bahasa C dengan nama AlatCounter

Implementasi

Perhatikan bahwa mengakses Element menggunakan simbol ‘->’ karena bertipe pointer.

Main Program

Pemanggilan void resetAC dan increment dengan tipe I/O

Digunakan simbol ‘&’ untuk mengirimkan alamat memory dari variabel AC agar saling terkait

Import Pustaka yang dibuat yaitu: “adtac.h”

Mendefinisikan variabel bertipe AlatCounter dan perhatikan pada baris-8 cara akses Element menggunakan simbol ‘;.’ Karena bukan Pointer

13/03/2011

5

Tugas

• Bangunlah ADT dari 5 Hal yang anda temukan dalam kehidupan sehari hari

• PRIMITIF dasar berupa SET dan GET

26

Reference

• Thomas A Standish, Data structures, algorithms, and software principles in C