Ejemplo n.º 1
0
int Panjang (POINT P1, POINT P2)
/* Menghitung jarak antara 2 titik yaitu tiik P1 dan titik P2 */
{	//Kamus
	float Jx=Absis(P1)-Absis(P2), Jy=Ordinat(P1)-Ordinat(P2);
	//Algoritma
	return abs(Jx) + abs(Jy);
}
Ejemplo n.º 2
0
void Geser(POINT *P, int deltaX, int deltaY)
/* I.S. P terdefinisi */
/* F.S. P digeser, absisnya sebesar deltaX dan ordinatnya sebesar deltaY */
{
    Absis(*P) += deltaX;
    Ordinat(*P) += deltaY;
}
Ejemplo n.º 3
0
int main(){
	int x, y;
	POINT P1, P2;
	x = 2;
	y = 3;
	printf("Nilai yang akan dimasukkan ke titik 1 x = %d, y = %d\n", x, y);
	P1 = MakePOINT(x,y);
	printf("Nilai titik 1 x = %d, y = %d\n", Absis(P1), Ordinat(P1));
	printf("Hasil fungsi TulisPOINT untuk titik 1 : ");
	TulisPOINT(P1);
	puts("");
	x = 1;
	y = 4;
	printf("Nilai yang akan dimasukkan ke titik 1 x = %d, y = %d\n", x, y);
	P2 = MakePOINT(x,y);
	puts("Tes  fungsi EQ dan NEQ (0 = false, 1 = true)");
	printf("EQ titik 1 dan 2 adalah %d\n", EQ(P1,P2));
	printf("NEQ titik 1 dan 2 adalah %d\n", NEQ(P1,P2));
	x = 2;
	y = 3;
	printf("Nilai yang akan dimasukkan ke titik 1 x = %d, y = %d\n", x, y);
	P2 = MakePOINT(x,y);
	puts("Tes  fungsi EQ dan NEQ (0 = false, 1 = true)");
	printf("EQ titik 1 dan 2 adalah %d\n", EQ(P1,P2));
	printf("NEQ titik 1 dan 2 adalah %d\n", NEQ(P1,P2));
	return 0;
}
Ejemplo n.º 4
0
POINT PlusDelta (POINT P, int deltaX, int deltaY)
/* Mengirim salinan P yang absisnya adalah Absis(P) + deltaX dan ordinatnya adalah Ordinat(P) + deltaY */
{	//Algoritma
	Absis(P)+=deltaX;
	Ordinat(P)+=deltaY;
	return P;
}
Ejemplo n.º 5
0
/* *** Konstruktor membentuk POINT *** */
POINT MakePOINT (int X, int Y)
/* Membentuk sebuah POINT dari komponen-komponennya */
{	//Kamus
	POINT P;
	//Algoritma
	Absis(P)=X;
	Ordinat(P)=Y;
	return P;
}
Ejemplo n.º 6
0
/* *** Konstruktor membentuk POINT *** */
POINT MakePOINT(int X, int Y)
/* Membentuk sebuah POINT dari komponen-komponennya */
{
    POINT point;

    Absis(point) = X;
    Ordinat(point) = Y;

    return point;
}
Ejemplo n.º 7
0
/* *** KELOMPOK Interaksi dengan I/O device, BACA/TULIS  *** */                                                 
void TulisPOINT (POINT P)
/* Nilai P ditulis ke layar dengan format "(X,Y)" 
   tanpa spasi, enter, atau karakter lain di depan, belakang, 
   atau di antaranya 
   Output X dan Y harus dituliskan dalam bilangan riil dengan 2 angka di belakang koma.
*/
/* I.S. P terdefinisi */
/* F.S. P tertulis di layar dengan format "(X,Y)" */                
{	//Algoritma
	printf("(%d,%d)\n",Absis(P),Ordinat(P));
}
Ejemplo n.º 8
0
POINT PlusDelta(POINT P, int deltaX, int deltaY)
/* Mengirim salinan P yang absisnya adalah Absis(P) + deltaX dan ordinatnya adalah Ordinat(P) + deltaY */
{
    return MakePOINT(Absis(P) + deltaX, Ordinat(P) + deltaY);
}
Ejemplo n.º 9
0
POINT NextY(POINT P)
/* Mengirim salinan P dengan ordinat ditambah satu */
{
    return MakePOINT(Absis(P), Ordinat(P) + 1);
}
Ejemplo n.º 10
0
/* *** KELOMPOK OPERASI LAIN TERHADAP TYPE *** */
POINT NextX(POINT P)
/* Mengirim salinan P dengan absis ditambah satu */
{
    return MakePOINT(Absis(P) + 1, Ordinat(P));
}
Ejemplo n.º 11
0
boolean NEQ(POINT P1, POINT P2)
/* Mengirimkan true jika P1 tidak sama dengan P2 */
{
    return Absis(P1) != Absis(P2) || Ordinat(P1) != Ordinat(P2);
}
Ejemplo n.º 12
0
/* *** Kelompok operasi relasional terhadap POINT *** */
boolean EQ(POINT P1, POINT P2)
/* Mengirimkan true jika P1 = P2 : absis dan ordinatnya sama */
{
    return Absis(P1) == Absis(P2) && Ordinat(P1) == Ordinat(P2);
}
Ejemplo n.º 13
0
POINT NextY (POINT P)
/* Mengirim salinan P dengan ordinat ditambah satu */
{	//Algoritma
	Ordinat(P)+=1;
	return P;
}
Ejemplo n.º 14
0
/* *** Kelompok operasi relasional terhadap POINT *** */
boolean EQ (POINT P1, POINT P2)
/* Mengirimkan true jika P1 = P2 : absis dan ordinatnya sama */
{	//Algoritma
	return (Absis(P1)==Absis(P2))&&(Ordinat(P1)==Ordinat(P2));
}