Anda di halaman 1dari 6

1.

Transformasi STK ke SK Kutub


#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
cout << " ||==============================================||\n";
cout << " ||--TRANSFORMASI SISTEM KOORDINAT KARTESIAN 2D--||\n";
cout << " ||--------KE SISTEM KOORDINAT KUTUB 2D----------||\n";
cout << " ||==============================================|| " << endl;

float x,y;
cout << "\nMasukkan koordinat titik (meter)" << endl;

cout << "\nMasukkan nilai X : ";


cin >> x;
cout << "Masukkan nilai Y : ";
cin >> y;

double pi = atan(1)* 4.;


float a, aDd, as,r;
int aD,aM;

a = atan (y/x);
aDd = a*180./pi;
aD = aDd;
aM = (aDd-aD)*60;
as = (((aDd - aD) * 60)-aM)*60;
r

= sqrt(x*x + y*y);

cout << "\nMaka koordinat titik pada SISTEM KOORDINAT KUTUB 2D adalah " << endl;
cout << "\n teta (DMS) = " << aD << " " << aM << "' " << as << "'' \n";
cout << " r

= " << r << endl;

getch();
}
2. Transformasi STK ke SK geografik 3D
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{

clrscr();
cout << " ||==============================================||\n";
cout << " ||--TRANSFORMASI SISTEM KOORDINAT KARTESIAN 3D--||\n";
cout << " ||--------KE SISTEM KOORDINAT GEOGRAFIK---------||\n";
cout << " ||==============================================|| " << endl;

float X,Y,Z,R;
cout << "\nMasukkan jari-jari dan koordinat (meter)" << endl;

cout << "\nMasukkan nilai R : ";


cin >> R;
cout << "Masukkan nilai X : ";
cin >> X;
cout << "Masukkan nilai Y : ";
cin >> Y;
cout << "Masukkan nilai Z : ";

cin >> Z;

double pi = atan(1)* 4.;


float lg,lDd,ls,bg,bDd,bs,h;
int lD,lm,bD,bm;

lg = atan (Z / (sqrt(X*X + Y*Y)));


lDd = lg / pi*180.;
lD = lDd;
lm = (lDd - lD) * 60;
ls = (((lDd - lD) * 60) - lm)*60;
bg = atan (Y/X);
bDd = bg / pi*180.;
bD = bDd;
bm = (bDd - bD)*60;
bs = (((bDd - bD) * 60)-bm)*60;
h = (Z / sin(lg))- R;

cout << "\nMaka koordinat titik pada SISTEM KOORDINAT GEOGRAFIK adalah " << endl;
cout << "\n lintang (DMS) = " << lD << " " << lm << " ' " << ls << " '' " << endl;
cout << " bujur (DMS) = " << bD << " " << bm << " ' " << bs << " '' " << endl;
cout << " tinggi (h) = " << h << " meter" << endl;

getch();

}
3. Transformasi STK ke SK geodetik 3D
#include <iostream.h>
#include <conio.h>
#include <math.h>

double hitung (float a, float b, float lr0, float x, float y, float z);
double pi = atan(1)*4.;
float Lr, lr, br, h;

void main()
{
clrscr();
cout << " ||==============================================||\n";
cout << " ||--TRANSFORMASI SISTEM KOORDINAT KARTESIAN 3D--||\n";
cout << " ||--------KE SISTEM KOORDINAT GEODETIK----------||\n";
cout << " ||==============================================|| " << endl;

float a, b, x, y, z;
int ld,lm,ls;

cout << "\nMasukkan jari2 (meter)" << endl;


cout << "a = ";
cin >> a;
cout << "b = ";
cin >> b;

cout << "\Masukkan koordinat (meter)" << endl;


cout << " x = ";
cin >> x;
cout << " y = ";
cin >> y;
cout << " z = ";
cin >> z;

cout << "\nMasukkan lintang pendekatan (DMS) " << endl;


cout << " d = ";
cin >> ld;
cout << " m = ";
cin >> lm;
cout << " s = ";
cin >> ls;

float ldd;

ldd = ld + lm/60. + ls/3600;


Lr = ldd * pi / 180;

char yes(2);

do
{
hitung (a, b, Lr, x, y, z);
float bdd;
int bd, bm, bs;

ldd = lr/ pi * 180.;


ld = ldd;
lm = (ldd-ld) * 60;
ls = (((ldd-ld) * 60)- lm) * 60;
bdd = br / pi * 180.;
bd = bdd;
bm = (bdd-bd) * 60;
bs = (((bdd-bd)*60)- bm ) * 60;

cout << "\nselisih lintang perhitungan dengan lintang pendekatan = ";


cout << (lr - Lr) << endl;
cout << "\nMaka koordinat titik pada SISTEM KOORDINAR GEODETIK = " << endl;
cout << "lintang (DMS) = " << ld << " " << lm << "' " << ls << "'' " << endl;
cout << "bujur (DMS) = " << bd << " " << lm << "' " << ls << "'' " << endl;
cout << "tinggi (h) = " << h << " meter" << endl;

Lr = lr;

cout << "Lakukan iterasi? (y/n) ";


cin >> yes;
cout << endl;
} while (yes == 'y');
getch();
}

double hitung (float a, float b, float lr0, float x, float y, float z)


{
float e2, N;

e2 = ((a*a) - (b*b)) / (a*a);


N = a / (sqrt(1 - (e2*sin(lr0)*sin(lr0))));
h = ((sqrt(x*x + y*y)) / (cos (lr0))) - N;
br = atan (y / x);
lr = atan ((z / sqrt(x*x + y*y)) * (1 / (1 - (e2 * N) / (N + h))));

return(h,br,lr);

Anda mungkin juga menyukai