Modul 01 - ADT PDF

Title Modul 01 - ADT
Author Boby Prananto
Pages 5
File Size 37.2 KB
File Type PDF
Total Downloads 368
Total Views 591

Summary

MODUL I – ADT (Abstract Data Type) I. TUJUAN 1. Memahami konsep dan implementasi ADT dalam bahasa C. 2. Memahami penggunaan ADT sederhana dan majemuk dalam aplikasi sehari-hari. II. DASAR TEORI Tipe data merupakan sebuah abstraksi yang digunakan sebagai template untuk tipe data yang akan disimpan. T...


Description

MODUL I – ADT (Abstract Data Type) I. TUJUAN 1. Memahami konsep dan implementasi ADT dalam bahasa C. 2. Memahami penggunaan ADT sederhana dan majemuk dalam aplikasi sehari-hari. II. DASAR TEORI Tipe data merupakan sebuah abstraksi yang digunakan sebagai template untuk tipe data yang akan disimpan. Tipe data digunakan untuk memodelkan sekumpulan data tertentu. Tipe data dibedakan menjadi 2 jenis, yaitu: tipe data dasar dan tipe data bentukan. •

Tipe data dasar adalah tipe data yang sudah ada pada bahasa pemrograman yang digunakan, seperti : bilangan bulat (integer), bilangan real presisi tunggal (float),



bilangan real presisi ganda (double), karakter (char), dan kosong (void). Tipe data bentukan adalah suatu tipe data yang didefinisikan sendiri oleh Programmer misalnya saat menemui kebutuhan tertentu yang tidak dapat hanya diwakilkan oleh 1 tipe data dasar, misalnya kebutuhan untuk mengakses buku atau mahasiswa. Tipe data bentukan merupakan gabungan dari 1 atau lebih tipe data dasar. Tipe data bentukan memiliki 2 struktur utama, yaitu : nama tipe data baru dan record (satu atau lebih tipe data dasar yang didefinisikan )

Tipe data abstract (ADT) adalah sebuah entitas dengan sejumlah atribut dan sekumpulan operasi yang didefinisikan pada atribut-atribut tersebut. ADT terdiri atas 2 bagian: 1. Spesifikasi (WHAT) Terdiri dari nama ADT, deskripsi domain tipe data, dan daftar operasi-operasi yang diterapkan pada contoh tipe data. 2. Implementasi (HOW) Berisi badan dari setiap operasi yang disediakan. ADT dapat berupa tipe data dasar namun diberi nama baru atau berupa kumpulan tipe data berbeda yang diberi nama baru. Kumpulan data penyusun ADT dapat berupa tipe data dasar maupun ADT lain. Untuk pembuatan ADT pada bahasa C menggunakan keyword typedef. Contoh pendefinisian ADT yang merupakan tipe data dasar namun diberi nama baru:

typedef struct { int jumlah; }Quantity;

Quantity adalah ADT yang memiliki 1 tipe data dasar, yaitu integer (bilangan bulat). Contoh ADT yang mengandung beberapa tipe data dasar adalah titip (Point) yang tergambar pada digram Cartesius. Terdapat 2 tipe data dasar, yaitu bilangan bulat (integer). Bilangan pertama digunakan untuk menunjukkan posiis absis (sumbu x) dan bilangan kedua untuk menunjukkan posisi ordinat (sumbu y). Dapat didefinisikan sebagai berikut: typedef struct { int Absis; int Ordinat; }Point;

Selain kedua jenis ADT di atas, terdapat pula ADT yang terdiri dari ADT lain. Misalnya ADT Line yang mengandung ADT lain, yaitu Point. Garis (Line) terbentuk dari beberapa titik (Point). Sehingga ADT Line dapat didefinisikan sebagai berikut: typedef struct { Point Start; Point End; }Line;

Setelah ADT didefinisikan, lalu dibuat pendeklarasian variabelnya, misalnya pada ADT Point yang telah dibuat, maka dapat dibuat variabel P dengan cara : Point P;

Cara membaca pendeklarasian variabel di atas : Point adalah tipe data dan P adalah variabel dari tipe data Point. Variabel di dalam ADT dapat diakses dengan tanda titik (.) misalnya pengaksesan nilai absis pada titik koordinat, maka syntax yang digunakan adalah P.Absis atau pengaksesan nilai ordinat pada titik koordinat maka syntax yang digunakan adalah P.Ordinat. Pendeklarasian variabel Line, misalnya Line L; Contoh cara pengaksesan nilai ordinat titik awal pada Line dengan L.Start.Ordinat L adalah nama variabel dari tipe data Line diikuti tanda titik (.) kemudian variabel dari tipe data penyusun Line (Start/End) diikuti tanda titik (.) kemudian variabel dari tipe data penyusun

Point (Absis/Ordinat). III. DEMO //file point.h

#include #include #include //mendefinisikan tipe data baru dengan nama tipe data “Point” typedef struct { int Absis; int Ordinat; }Point; // Inisialisasi prosedur/fungsi yang akan digunakan : void InitPoint(Point *P, int x, int y); void PrintPoint(Point P); int IsSame(Point P1, Point P2); float Jarak(Point P1, Point P2);

//file point.c #include "point.h" void InitPoint(Point *P, int x, int y) { (*P).Absis=x; (*P).Ordinat=y; }

void PrintPoint(Point P); { printf("[%d,%d]", P.Absis, P.Ordinat); } int IsSame(Point P1, Point P2) { return P1.Absis==P2.Absis && P1.Ordinat==P2.Ordinat; } float Jarak(Point P1, Point P2) { float deltaX, deltaY; deltaX=P2.Absis-P1.Absis; deltaY=P2.Ordinat-P1.Ordinat; return(sqrt(deltaX*deltaX+deltaY*deltaY));//rumus phytagoras } //file mainPoint.c #include "point.h" void main() { int x1,y1,x2,y2; Point koordinat1, koordinat2; printf("Masukkan scanf("%d",&x1); printf("Masukkan scanf("%d",&y1); printf("Masukkan scanf("%d",&x2); printf("Masukkan scanf("%d",&y2);

koordinat titik pertama sumbu x : "); koordinat titik pertama sumbu y : "); koordinat titik kedua sumbu x : "); koordinat titik kedua sumbu y : ");

InitPoint(&koordinat1,x1,y1); InitPoint(&koordinat2,x2,y2); printf("\n\nKoordinat titik pertama : "); PrintPoint(koordinat1); printf("\nKoordinat titik kedua : "); PrintPoint(koordinat2); if(IsSame(koordinat1, koordinat2)) printf("\nKedua titik koordinatnya sama…"); else printf("\nKedua titik koordinatnya berbeda…"); printf("\nJarak kedua titik : %5.2f",Jarak(koordinat1,koordinat2)); getch(); }

3...


Similar Free PDFs