Membuat ADT JAM Dalam Bahasa C#

ADT JAM DALAM BAHASA C#

Pada postingan sebelumnya sudah dijelaskan tentang Abstract Data Type (ADT) Dalam Bahasa C#, untuk kali ini kita akan mengimplementasikan ADT JAM Dalam Notasi Algoritma ke dalam Bahasa C#.

Untuk praktiknya menggunakan aplikasi Devcpp.

DOWNLOAD DISINI : DEVCPP

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

ADT JAM dalam Notasi Algoritma

{ Definisi TYPE JAM <HH : MM : S>}
TYPE Hour : integer [0..23]
TYPE Minute : integer [0..59]
TYPE Second : integer [0..59]
TYPE JAM    : <  HH : Hour, {Hour [0..23]}
MM : Minute, {Minute [0..59]}
SS : Second {Second [0..59]}
>
{ DEFINISI PRIMITIF }
{ KELOMPOK VALIDASI TERHADAP TYPE }
function IsJValid (H, M, S : integer) boolean
{**Kontruktor**}
function MakeJam (HH:integer, MM:integer, SS:integer) JAM
{**Selektor**}
function GetHour (J:JAM) integer
function GetMinute (H:JAM) integer
function GerSecond (H:JAM) integer
{**Pengubah nilai komponen**}
procedure SetHour (input/output J:JAM, input newHH:integer)
procedure SetMinute (input/output J:JAM, input newMM:integer)
procedure Second (input/output J:JAM, input newSS:integer)
{**Destructor**}
{ KELOMPOK BACA/TULIS }
Procedure BacaJam(Output J:JAM)
Procedure TulisJam (input J:JAM)
{ KELOMPOK KONVERSI TERHADAP TYPE }
Function JamToDetik (J:JAM) integer
Function DetikToJam (N : integer) JAM
{ KELOMPOK OPERASI TERHADAP TYPE }
Function JEQ (J1:JAM, J2:JAM) boolean
Function JNEQ (J1:JAM, J2:JAM) boolean
Function JLQ (J1:JAM, J2:JAM) boolean
Function JGQ (J1:JAM, J2:JAM) boolean
{ Operasi Aritmatika JAM }
Function NextDetik (J:JAM) JAM
Function NextNDetik (J:JAM; N:integer) JAM
Function PrevDetik (J:JAM) JAM
Function PrevNDetik (J:JAM; N:integer) JAM
{ Kelompok Operator Aritmatika }
Function Durasi (Jaw:JAM, Jakh:JAM) boolean

Dari notasi algoritma itu kita akan implementasikan menggunakan bahasa C. Untuk mengimplementasikannya kita akan menggunakan 4 file header, yaitu :

  1. boolean.h
  2. jam.h
  3. jam.c
  4. mjam.c

Keempat file tersebut harus disave dalam 1 folder!

1. boolean.h

/* File : boolean.h */
#ifndef Boolean_H
#define Boolean_H
#define boolean unsigned char
#define true 1
#define false 0
#endif

2. jam.h

/* File : jam.h */
#ifndef jam_H
#define jam_H
#include "boolean.h"
#include "stdio.h"
#define Hour(J) (J).HH
#define Minute(J) (J).MM
#define Second(J) (J).SS
typedef struct {
int HH;
int MM;
int SS;
}
Jam;
Jam MakeJam(int H, int M, int S);
boolean IsJValid(int H, int M, int S);
void BacaJam(Jam *J);
void TulisJam(Jam J);
int JamToDetik(Jam J);
Jam DetikToJam(int d);
#endif

3. jam.c

/* File : jam.c */
#include "jam.h"
Jam MakeJam(int H, int M, int S)
{
Jam J1;
Hour(J1) = H;
Minute(J1) = M;
Second(J1) = S;
return J1;
}
boolean IsJValid(int H, int M, int S)
{
return ((H >= 0 && H <= 23) && (M >= 0 && M <= 59) && (S >= 0 && S <= 59));
}
void BacaJam(Jam *J)
{
int H, M, S;
do {
printf(" *********************** PROGRAM ADT SUGIHPAMELA.PE.HU ****************************n");
printf("Masukkan jam : ");scanf("%d",&H);
printf("Masukkan menit : ");scanf("%d",&M);
printf("Masukkan detik : ");scanf("%d",&S);
} while(!IsJValid(H,M,S));
*J = MakeJam(H,M,S);
}
void TulisJam(Jam J)
{
printf("%d:%d:%d",Hour(J),Minute(J),Second(J));
}
int JamToDetik(Jam J)
{
return(3600 *Hour(J) + 60 *Minute(J) + Second(J));
}
Jam DetikToJam(int N)
{
int sisa;
Jam JOut;
Hour(JOut) = N / 3600;
sisa = N % 3600;
Minute(JOut) = sisa / 60;
Second(JOut) = sisa % 60;
return JOut;
}

4. mjam.c

/*  File : mjam.c  */
#include "jam.h"
#include "jam.c"
int main()
{
Jam J1, J2;
BacaJam(&J1);
printf("Jam sekarang: ");
TulisJam(J1); printf("n");
printf("Konversi menjadi detik: %dn",JamToDetik(J1));
J2 = DetikToJam(5000);
printf("5000 detik sama dengan jam : ");
TulisJam(J2);
return 0;
}

Setelah keempat file tersebut dalam 1 folder, selanjutnya lakukan compile & run pada file mjam.c, karena file ini merupakan sebuah main program untuk menjalankan program tersebut.

Hasil

3

Jika programnya tidak jalan, kemungkinannya tanda kutipnya error, karena beda font, atau bisa langsung saja download programnya.

DISINI

//ylx-4.com/fullpage.php?section=General&pub=139976&ga=g

Semoga Bermanfaat🙂

key :
ADT JAM
Membuat ADT JAM
ADT JAM Dalam Bahasa C#
Membuat ADT JAM Dalam Bahasa C#

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s