13 0 354 KB
LAPORAN PRAKTIKUM STRUKTUR DATA
MODUL 3 Abstract Data Type TabInt
Nama : Dimas Singgih NIM
: 3411201039
JURUSAN INFORMATIKA FAKULTAS SAINS DAN INFORMATIKA UNIVERSITAS JENDERAL ACHMAD YANI 2020
BAB I PENDAHULUAN 1.1 Latar Belakang Sebuah ADT Tabel integer adalah pembentukan Tabel (array) yang berisi sekumpulan data bertipe integer. ADT tabel integer terdiri dari tempat penyimpanan obyek dalam array yang terdefinisi dengan tipe integer, serta variable pencacah bagi obyek tersebut, sehingga proses akses terhadap obyek dapat dilakukan dengan mudah. Variable pencacah dapat disebut juga sebagai variable yang menyimpan jumlah data/ elemen yang ada pada tabel.
BAB II TUGAS PRAKTIKUM 2.1 File I Boolean.h a. Source Code /* Program Author Kelas Deskripsi Tanggal */ #ifndef #define #define #define #define #endif
: : : : :
boolean.h Dimas Singgih B Membuat tipe boolean 06-04-2021
boolean_H boolean_H true 1 false 0 boolean unsigned char
b. Analisa File I boolean.h merupakan file header dengan ekstensi .h yang berisi deklarasi fungsi C dan definisi makro yang akan digunakan di sebuah program. File ini membandingkan kondisi antara true atau false dalam sebuah program.
2.2 File II tabint.h a. Source Code /* Program Author Kelas Deskripsi Tanggal */
: : : : :
tabint.h 3411201039 Dimas Singgih B Header file dari prototype Tab Integer 06-04-2021
#ifndef _TABINT_H #define _TABINT_H #include "boolean.h" #include #include #define nMax 10 #define IdxUndef -999 #define ElType int /** Definisi ABSTRACT DATA TYPE Tab Integer **/ typedef struct { ElType T1[nMax]; // koleksi bilangan bertipe integer int nEff; // jumlah data atau elemen pada tabel }TabInt;
/* Prototype TabInt */ /* Konstruktor membentuk TabInt */ void CreateTabInt (TabInt *T); /* I.S : T terdefinisi, tidak diketahui nilainya F.S : membentuk sebuah TabInt dengan nEff = 0 */ /* Selektor TabInt **/ int GetJumElmt(TabInt T); // Mengirimkan banyaknya elemen tabel atau mengirimkan nol jika tabel kosong int GetFirstIdx (TabInt T); // Mengirimkan elemen pertama dari tabel int GetLastIdx (TabInt T); // Mengirimkan elemen terakhir dari tabel int GetElmt (TabInt T, int idx); // Mengirimkan elemen pada index ke-idx dari tabel, dengan syarat x 0) (*T).T1[i] = v; else printf("kosong"); } /* Destruktor/Dealokator: tidak perlu */ /** { KELOMPOK OPERASI Cek Elemen kosong atau penuh} **/ boolean IsEmpty(TabInt T){ // mengecek apakah jumlah data pada tabel kosong // mengirimkan true jika tabel kosong atau mengirimkan false jika tidak if(T.nEff==0) return(true); else return(false); } boolean IsFull(TabInt T){ // mengecek apakah jumlah data pada tabel penuh // mengirimkan true jika tabel penuh, mengirimkan false jika tidak if(T.nEff==nMax) return(true); else return(false); } /** { KELOMPOK Interaksi dengan I/O device, BACA/TULIS } **/ void BacaElmt (TabInt *T){ /* I.S : T terdefinisi, mungkin kosong F.S : Mengisi komponen T dengan nilai elemen tabel dari yang dibaca */ int i,x; (*T).nEff = 0; printf("Masukan Nilai : ");scanf("%d",&x); while(x != IdxUndef){ (*T).nEff = (*T).nEff + 1; (*T).T1[(*T).nEff] = x; printf("Masukan Nilai : ");scanf("%d",&x); } } void CetakTabInt(TabInt T){ /* I.S : T terdefinisi, mungkin kosong F.S : menampilkan semua elemen tabel ke layar */
int i,X; if(!IsEmpty(T)){ for(i=1;i