Membuat ADT POINT Dalam Bahasa C#

ADT POINT DALAM BAHASA C#

Pada postingan sebelumnya sudah dijelaskan tentang Membuat ADT JAM Dalam Bahasa C#, untuk kali ini kita akan membuat ADT POINT dalam Bahasa C#.

Untuk praktiknya menggunakan aplikasi Devcpp.

DOWNLOAD DISINI : DEVCPP

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

Untuk membuat ADT POINT kita akan membuat 4 file header, yaitu :

  1. boolean.h
  2. point.h
  3. point.c
  4. mpoint.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. point.h
/* file : point.h */
#ifndef POINT_h
#define POINT_h
#include “BOOLEAN.h”
typedef struct
{
int x;
int y;
} point;
point makepoint(int x,int y);
int getabsis (point p);
int getordinat(point p);
void setabsis(point *p,int newx);
void setordinat(point *p,int newy);
void bacapoint(point *p);
void tulispoint(point p);
point pluspoint(point p1,point p2);
point minuspoint(point p1,point p2);
boolean EQ(point p1,point p2);
boolean NEQ(point p1,point p2);
boolean LT(point p1,point p2);
boolean GT(point p1,point p2);
boolean isorigin(point p);
boolean isonsbx(point p);
boolean isonsby(point p);
int kuadran(point p);
point nextx(point p);
point nexty(point p);
point plusdelta(point p,int deltax,int deltay);
point mirrorofpoint(point p,boolean sbx,boolean sby);
float jarak0(point p);
void geserpoint(point *p,int deltax,int deltay);
void geserpointkesbx(point *p);
void geserpointkesby(point *p);
void mirrorpoint(point *p,boolean sbx,boolean sby);
void putarpoint(point *p,float sudut);
#endif
3. point.c
/* file : point.c */
#include <stdio.h>
#include <math.h>
#include “point.h”
#include “boolean.h”
point makepoint(int x,int y){
point temp;
temp.x=x;
temp.y=y;
return temp;
}
int getabsis (point p){
return p.x;
}
int getordinat(point p){
return p.y;
}
void setabsis(point *p,int newx){
(*p).x=newx;
}
void setordinat(point *p,int newy){
(*p).y=newy;
}
void bacapoint(point *p){
printf(“masukkan nilai x : “);
scanf(“%d”,&(*p).x);
printf(“masukkan nilai y : “);
scanf(“%d”,&(*p).y);
}
void tulispoint(point p){
printf(“x : %d n”, p.x);
printf(“y : %d n n”, p.y);
}
point pluspoint(point p1,point p2){
point temp;
temp.x = p1.x + p2.x;
temp.y = p1.y + p2.y;
return temp;
}
point minuspoint(point p1,point p2){
point temp;
temp.x = p1.x – p2.x;
temp.y = p1.y – p2.y;
return temp;
}
boolean EQ(point p1,point p2){
if((p1.x==p2.x) && (p1.y==p2.y)){
return 1;
}
else{
return 0;
}
}
boolean NEQ(point p1,point p2){
if((p1.x != p2.x) && (p1.y != p2.y)){
return 1;
}else{
return 0;
}
}
boolean LT(point p1,point p2){
if((p1.x < p2.x) && (p1.y < p2.y)){
return 1;
}else{
return 0;
}
}
boolean GT(point p1,point p2){
if((p1.x > p2.x) && (p1.y > p2.y)){
return 1;
}else{
return 0;
}
}
boolean isorigin(point p){
if((p.x == 0) && (p.y == 0)){
return 1;
}else{
return 0;
}
}
boolean isonsbx(point p){
if(p.y == 0){
return 1;
}else{
return 0;
}
}
boolean isonsby(point p){
if(p.x == 0){
return 1;
}else{
return 0;
}
}
int kuadran(point p){
if (p.x>0 && p.y>0
return 1
else if (p.x<0 && p.y>0
return 2
else if (p.x<0 && p.y<0
return 3
else if (p.x>0 && p.y<0
return 4
}
point nextx(point p){
point temp;
temp.x=p.x + 1;
return temp;
}
point nexty(point p){
point temp;
temp.x=p.x;
temp.y=p.y + 1;
return temp;
}
point plusdelta(point p,int deltax,int deltay){
point temp;
temp.x=p.x + deltax;
temp.y=p.y + deltay;
return temp;
}
point mirrorofpoint(point p,boolean sbx,boolean sby){
point temp
if(sbx){
temp.x=-1 * (p.x
temp.y=p.y;
}
else if(sby){
temp.x=p.x;
temp.y=-1 * (p.y
return temp;
}
float jarak0(point p){
float jarak;
jarak = sqrt((p.x*p.x)+(p.y*p.y));
return jarak;
}
void geserpoint(point *p,int deltax,int deltay){
(*p).x=(*p).x+deltax;
(*p).y=(*p).y+deltay;
}
void geserpointkesbx(point *p){
(*p).x=(*p).x;
(*p).y=0;
}
void geserpointkesby(point *p){
(*p).y=(*p).y;
(*p).x=0;
}
void mirrorpoint(point *p,boolean sbx,boolean sby){
if(sbx){
(*p).y=-1*(*p).y;
(*p).x=(*p).x;
}else{
(*p).x=-1*(*p).x;
(*p).y=(*p).y;
}
}
void putarpoint(point *p,float sudut){
double (d1);
double (d2);
(d1)=(*p).x*cos(sudut)-(*p).y*sin(sudut);
(d2)=(*p).x*sin(sudut)+(*p).y*cos(sudut);
printf(“nilai data13 setelah diputar sebesar 30 derajat : (%0.2f,%0.2f) n”,d1,d2);
printf(” n”);
printf(” n”);
}
4. mpoint.c
/* file : main.c */
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include “boolean.h”
#include “point.h”
#include “point.c”
int main(){
point p,q,r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,plus,cermin;
p=makepoint(10,10);
q=makepoint(20,30);
printf(“=====================PROGRAM ADT POINT sugihpamela.pe.hu=========================n”);
printf(“nilai X1 test: %d n”,p.x);
printf(“nilai Y1 test: %d n”,p.y);
printf(“nilai X2 test: %d n”,q.x);
printf(“nilai Y2 test: %d n”,q.y);
setabsis(&q,20);
setordinat(&q,30);
printf(“nilai x yang baru setelah di set: %d n”,getabsis(q));
printf(“nilai y yang baru setelah di set: %d n” ,getordinat(q));
bacapoint(&q);
tulispoint(q);
a=makepoint(15,20);
printf(“DATA PERCOBAAN : n”);
printf(“Data1 : n”);
printf(“nilai X1: %d n”,a.x);
printf(“nilai Y1: %d n”,a.y);
b=makepoint(20,30);
printf(“Data2 : n”);
printf(“nilai X2: %d n”,b.x);
printf(“nilai Y2: %d n n”,b.y);
r=pluspoint(a,b);
printf(“Hasil penjumlahan Data1 dan Data2 : ( %d , %d )n”,r.x,r.y);
r=minuspoint(a,b);
printf(“Hasil pengurangan Data1 dan Data2 : ( %d , %d )n”,r.x,r.y);
if (EQ(a,b)){
printf(“nilai absis dan ordinat data percobaan sama(EQ) n”);}
else{
printf(“nilai absis dan ordinat data percobaan berbeda(NEQ) n”);
}
if (NEQ(a,b))
printf(“nilai absis dan ordinat data percobaan berbeda(NEQ) n”);
else
printf(“nilai absis dan ordinat data percobaan sama(EQ) n”);
if (LT(a,b))
printf(“data1 lebih kecil dari data2 n n”);
else
printf(“data1 tidak lebih kecil dari data2 n”);
printf(“DATA PERCOBAAN : n”);
printf(“Data3 : n”);
c=makepoint(10,15);
printf(“nilai X3: %d n”,c.x);
printf(“nilai Y3: %d n”,c.y);
printf(“Data4 : n”);
d=makepoint(5,9);
printf(“nilai X3: %d n”,d.x);
printf(“nilai Y3: %d n”,d.y);
if (GT(c,d))
printf(“data3 lebih besar dari data4 n”);
else
printf(“data3 lebih kecil dari data4 n”);
printf(“DATA PERCOBAAN : n”);
printf(“Data5 : n”);
e=makepoint(0,0);
printf(“nilai X5: %d n”,e.x);
printf(“nilai Y5: %d n”,e.y);
if(isorigin(e))
printf(“data5 merupakan titik origin n”);
else
printf(“data5 bukan titik origin n”);
printf(“DATA PERCOBAAN : n”);
printf(“Data6 : n”);
f=makepoint(2,0);
printf(“nilai X6: %d n”,f.x);
printf(“nilai Y6: %d n”,f.y);
if(isonsbx(f))
printf(“data6 terletak di sumbu x n”);
else
printf(“data6 tidak terletak di sumbu x n”);
printf(“DATA PERCOBAAN : n”);
printf(“Data7 : n”);
g=makepoint(0,3);
printf(“nilai X7: %d n”,g.x);
printf(“nilai Y7: %d n”,g.y);
if(isonsby(g))
printf(“data7 terletak di sumbu y n”);
else
printf(“data7 tidak terletak di sumbu y n”);
printf(“DATA PERCOBAAN : n”);
printf(“Data8 : n”);
h=makepoint(1,-2);
printf(“nilai X8: %d n”,h.x);
printf(“nilai Y8: %d n”,h.y);
if(kuadran(h)==1){
printf(“data8 berada di kuadran 1 n”);
}
else if (kuadran(h)==2){
printf(“data8 berada di kuadran 2 n”);
}
else if (kuadran(h)==3){
printf(“data8 berada di kuadran 3 n”);
}
else if (kuadran(h)==4){
printf(“data8 berada di kuadran 4 n”);
}
i = nextx(h);
printf(“nilai data8 baru setelah absisnya(x) ditambah 1 : (%d,%d) n”,i.x,i.y);
printf(“DATA PERCOBAAN : n”);
printf(“Data9 : n”);
j=makepoint(1,2);
printf(“nilai X9: %d n”,j.x);
printf(“nilai Y9: %d n”,j.y);
k = nexty(j);
printf(“nilai data9 baru setelah ordinatnya(y) ditambah 1 : (%d,%d) n”,k.x,k.y);
plus=plusdelta(j,10,20);
printf(“nilai data9 baru setelah x ditambah 10 dan y ditambah 20 : (%d,%d) n”,plus.x,plus.y);
printf(“DATA PERCOBAAN : n”);
printf(“Data10 : n”);
l=makepoint(3,0);
printf(“nilai X10: %d n”,l.x);
printf(“nilai Y10: %d n”,l.y);
cermin=mirrorofpoint(l,isonsbx(l),isonsby(l));
printf(“nilai data10 baru setelah pencerminan : (%d,%d) n”,cermin.x,cermin.y);
printf(“DATA PERCOBAAN : n”);
printf(“Data11 : n”);
m=makepoint(3,0);
printf(“nilai X11: %d n”,m.x);
printf(“nilai Y11: %d n”,m.y);
float jarak = jarak0(m);
printf(“Jarak data11 ke titik (0,0) : %0.0f n”,jarak);
printf(“DATA PERCOBAAN : n”);
printf(“Data12 : n”);
n=makepoint(20,30);
printf(“nilai X12: %d n”,n.x);
printf(“nilai Y12: %d n”,n.y);
geserpoint(&n,2,3);
printf(“nilai data12 setelah digeser sebesar deltax=2 dan deltay=3 : (%d,%d) n”,n.x,n.y);
geserpointkesbx(&n);
printf(“nilai data12 setelah digeser ke sumbux : (%d,%d) n”,n.x,n.y);
printf(“DATA PERCOBAAN : n”);
printf(“Data13 : n”);
o=makepoint(5,5);
printf(“nilai X13: %d n”,o.x);
printf(“nilai Y13: %d n”,o.y);
geserpointkesby(&o);
printf(“nilai data13 setelah digeser ke sumbuy : (%d,%d) n”,o.x,o.y);
putarpoint(&o,30);
printf(“===========================SELESAI=================================”);
getche();
}
Setelah keempat file tersebut dalam 1 folder, selanjutnya lakukan compile & run pada file main.c, karena file ini merupakan sebuah main program untuk menjalankan program tersebut.
Compile & Run
3
Misalkan x : 2 dan y : 3, lalu enter.
Hasil
33

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 POINT
Membuat ADT Point
ADT POINT Dalam Bahasa C#
Membuat ADT Point 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