Professional Documents
Culture Documents
Mohamad Aditya M.G - 3411201006 - Kls A
Mohamad Aditya M.G - 3411201006 - Kls A
STRUKTUR DATA
MODUL
ADT JAM & ADT POINT
JURUSAN INFORMATIKA
FAKULTAS SAINS DAN INFORMATIKA
UNIVERSITAS JENDERAL AHMAD YANI
2021
DAFTAR ISI
BAB I.......................................................................................................................................3
HASIL PRAKTIKUM.............................................................................................................3
Sourcecode.h........................................................................................................................3
Sourcecode.c........................................................................................................................5
Main.c................................................................................................................................13
Screenshot hasil.................................................................................................................16
Analisa...............................................................................................................................17
BAB II...................................................................................................................................18
TUGAS..................................................................................................................................18
Sourcecode.h......................................................................................................................18
Sourcecode.c......................................................................................................................20
Main.c................................................................................................................................25
Screenshot Hasil.................................................................................................................27
Analisa...............................................................................................................................27
BAB III..................................................................................................................................28
KESIMPULAN......................................................................................................................28
BAB I
HASIL PRAKTIKUM
Sourcecode.h
#ifndef JAM_H
#define JAM_H
#include "boolean.h"
#define true 1
#define false 0
#define boolean unsigned char
typedef struct{
int Hour;
int Minute;
int Second;
}JAM;
void CreateJam (JAM *J, int HH, int MM, int SS);
//JAM CreateJam(int HH, int MM, int SS);
Sourcecode.c
#include <stdio.h>
#include <conio.h>
#include "jam.h"
void CreateJam (JAM *J, int HH, int MM, int SS){
SetHour(&(*J), HH);
SetMinute(&(*J), MM);
SetSecond(&(*J), SS);
}
jamBaru = J;
if(N> 0 && N <= 86400){
for(i=1; i<=N; i++){
jamBaru= NextDetik (jamBaru);
}
}
return (jamBaru);
}
detikAwl = JamToDetik(JAw);
detikAkh = JamToDetik(JAkhr);
result= detikAwl - detikAkh;
if(result < 0){
result = result *(-1);
}
return (result);
}
int main(){
//Kamus
JAM J1, J2, J3, J4;
int TambahanDetik;
int Konversi;
//Algoritma
ReadJam(&J1);
printf("Nilai J1 = ");
PrintJam(J1);
printf("\n");
J2= NextDetik(J1);
printf("Nilai J2 = ");PrintJam(J2);printf("\n");
Reset(&J4);
printf("Nilai J4 = ");PrintJam(J4);printf("\n");
printf("\nDurasi Jam J1 dengan Jam J3 adalah %d detik\n",Durasi(J1,J3));
getch();
printf("\nKonversi jam J2 ke detik adalah %d detik",JamToDetik(J2));
return 0;
}
Screenshot hasil
Analisa
Project pertama membuat ADT jam dan di dalam project pertama terdapat main.c,
jam.c, jam.h, dan boolean.h yang merupakan bagian-bagian program dari project
ini. Isi dari main.c adalah remote dari program yang akan dijalankan, lalu pada
jam.h berisi header dari procedure dan function, kemudian di jam.c berisi perintah
dari header yang sudah ditulis di jam.h. Pada hasil program J1 akan lebih kecil dari
J2 dan J3, lalu saat memasukan perbandingan detik maka durasi dari J1 dengan J2
berbanding dengan data yang dimasukan. Saat J1 lebih kecil dari J2 dan J3 maka J4
akan memiliki jam yang sama dengan J1, kemudian J2 akan di konversikan
kedalam detik.
BAB II
TUGAS
Sourcecode.h
#ifndef _POINT_H
#define _POINT_H
#include "boolean.h"
#include <stdio.h>
#include <conio.h>
#define Absis(P) (P).X
#define Ordinat(P) (P).Y
#define PI 3.14159265
typedef struct {
int X;
int Y;
}POINT;
#endif
Sourcecode.c
#include "boolean.h"
#include <stdio.h>
#include <conio.h>
#include "poin.h"
#define Absis(P) (P).X
#define Ordinat(P) (P).Y
#define PI 3.14159265
Main.c
#include "boolean.h"
#include <stdio.h>
#include <conio.h>
#include "poin.h"
#define Absis(P) (P).X
#define Ordinat(P) (P).Y
#define PI 3.14159265
if(IsOrigin(P1)){
printf("Titik (%d,%d): Origin",GetAbsis(P1),GetOrdinat(P1));
}
else{
printf("Titik (%d,%d): Tidak Origin",GetAbsis(P1),GetOrdinat(P1));
}
if(EQ(P1,P2))
printf("\nP1 dan P2 sama");
if(NEQ(P1,P2))
printf("\nP1 dan P2 tidak sama");
if(LT(P1,P2))
printf("\nP1 lebih kecil dari P2");
if(MT(P1,P2))
printf("\nP1 lebih besar dari P2");
}
Screenshot Hasil
Analisa
Project ke dua ini membuat ADT Point dan sama seperti pada project pertama di
dalam project nya terdapat beberapa bagian seperti main.c, poin.c, poin.h, dan
boolean.h. Pada hasil program ini terdapat 2 buat poin yang dimana masing-masing
nya diisi oleh data yang kitu inputkan, setelah data telah di inputkan maka si
program akan menentukan apakah poin ke satu dan kedua ini origin atau tidak.
Kedua poin akan origin jika poin satu dan dua sama, tetapi jika poin satu dan dua
tidak sama maka akan dinyatakan tidak origin oleh si program tersebut, dan juga
jika poin ke satu memiliki nilai yang lebih kecil dari poin ke dua maka program
akan menginputkan bahwa p1 lebih kecil dari p2. Dan setelah di coba kembali
dengan memasukan angka 0 pada semua poin maka p1 dan p2 akan sama dan
menyatakan origin.
BAB III
KESIMPULAN
Pada modul pertama ini membuat program ADT jam dan ADT poin dengan
menggunakan file project yang dimana project ini memiliki bagian-bagiannya. Di
project ini juga menggunakan procedure dan function yang dimasukan ke dalam
bagian-bagian yang ada di project ini. Isi dari project ini seperti main.c yang berperan
seperti remote dari program yang kita buat, lalu ada jam.h atau poin.h yang
digunakan untuk menuliskan header-header yang akan digunakan dalam membuat
program, kemudian ada jam.c atau poin.c yang digunakan untuk membuat perintah
agar si remote tersebut bisa digunakan atau main.c bisa di jalankan.