Aku mau share syntax pascal untuk menjalankan program transformasi geometri..
Ini syntax nya ...
program Transformasi_Geometri;
uses wincrt;
var pil, nomor : byte;
Ul : char;
pilihan : byte;
plhn:byte;
procedure Titik_Bayangan;
var
a,b : integer;
x,y : integer;
x1,y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('Titik Koordinat Bayangan');
gotoxy(20,3);writeln('========================');
writeln('Tentukan bayangan titik A(x,y) oleh translasi (a,b) ');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('a = '); readln(a);
write('b = '); readln(b);
x1 := x+a;
y1 := y+b;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Hasil translasi oleh translasi (',a,',',b,')');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
end;
procedure Translasinya;
var
a,b : integer;
x,y : integer;
x1,y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('Translasinya');
gotoxy(20,3);writeln('============');
writeln('Jika titik A(x,y) dan banyangan titik A atau A''(x'',y'') ');
writeln('maka itu berarti ditranslasikan oleh titik (a,b), tentukan titik(a,b)!');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('x'' = '); readln(x1);
write('y'' = '); readln(y1);
a := x1-x;
b := y1-y;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Jika diketahui titik :');
writeln('x = ',x,' dan x'' = ',x1);
writeln('serta y = ',y,' dan y'' = ',y1);
writeln('maka berarti titik (a,b) adalah (',a,',',b,')');
end;
procedure Titik_Benda;
var
a,b : integer;
x,y : integer;
x1,y1 : integer;
pil : byte;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('Titik Koordinat Benda');
gotoxy(20,3);writeln('=====================');
writeln('Tentukan titik A(x,y) yang memiliki banyangan(x'',y'') dan ditranslasikan oleh (a,b)');
writeln('jika diketahui :');
write('x'' = '); readln(x1);
write('y'' = '); readln(y1);
write('a = '); readln(a);
write('b = '); readln(b);
x := x1-a;
y := y1-b;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Jika ditranslasikan oleh titik (',a,',',b,') dan memiliki banyangan (',x1,',',y1,')');
writeln('maka berarti titik (x,y) adalah (',x,',',y,')');
end;
procedure Pencerminan_Terhadap_Sumbu_X;
var
x : integer;
y : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('==============================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Sumbu X |');
gotoxy(20,4);writeln('==============================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap sumbu X dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
x1 := x;
y1 := -y;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Hasil pencerminan terhadap sumbu X dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap sumbu X');
writeln('y'' adalah hasil pencerminan y terhadap sumbu X');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Sumbu_Y;
var
x : integer;
y : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('==============================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Sumbu Y |');
gotoxy(20,4);writeln('==============================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap sumbu Y dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
x1 := -x;
y1 := y;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap sumbu Y dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap sumbu Y');
writeln('y'' adalah hasil pencerminan y terhadap sumbu Y');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Garis_x_SamaDengan_h;
var
x : integer;
y : integer;
h : integer;
x1 : integer;
y1 :integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('==================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Garis x = h |');
gotoxy(20,4);writeln('==================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap garis x = h dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('h = '); readln(h);
x1 := (2*h) - x;
y1 := y;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap garis x = ',h,' dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap garis x = h');
writeln('y'' adalah hasil pencerminan y terhadap garis x = h');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Garis_y_SamaDengan_h;
var
x : integer;
y : integer;
h : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('==================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Garis y = h |');
gotoxy(20,4);writeln('==================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap garis y = h dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('h = '); readln(h);
x1 := x;
y1 := (2*h)-y;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap garis y = ',h,' dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah x'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap garis y = h');
writeln('y'' adalah hasil pencerminan y terhadap garis y = h');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Pusat_Koordinat;
{Pusat koordinat O(0,0)}
var
x : integer;
y : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('======================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Pusat Koordinat |');
gotoxy(20,4);writeln('======================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap pusat koordinat O(0,0) dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
x1 := -x;
y1 := -y;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap pusat koordinat O(0,0) dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah x'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap pusat koordinat O(0,0)');
writeln('y'' adalah hasil pencerminan y terhadap pusat koordinat O(0,0)');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Sebuah_Titik;
{Titik P(a,b)}
var
x : integer;
y : integer;
a : integer;
b : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('===================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Titik P(a,b) |');
gotoxy(20,4);writeln('===================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap titik P(a,b) dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('a = '); readln(a);
write('b = '); readln(b);
x1 := -x;
y1 := -y;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap titik P(',a,',',b,') dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah x'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap titik P(a,b)');
writeln('y'' adalah hasil pencerminan y terhadap titik P(a,b)');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Garis_y_SamaDengan_x;
var
x : integer;
y : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('==================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Garis y = x |');
gotoxy(20,4);writeln('==================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap garis y = x dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
x1 := y;
y1 := x;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap garis y = x dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah x'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap garis y = x');
writeln('y'' adalah hasil pencerminan y terhadap garis y = x');
writeln('A'' adalah bayangan titik A');
end;
procedure Pencerminan_Terhadap_Garis_y_SamaDengan_Minus_x;
var
x : integer;
y : integer;
x1 : integer;
y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('===================================================');
gotoxy(20,3);writeln('| Refleksi atau Pencerminan Terhadap Garis y = -x |');
gotoxy(20,4);writeln('===================================================');
gotoxy(20,5);writeln(' ');
writeln('Tentukan bayangan titik A(x,y) jika dicerminkan terhadap garis y = -x dan');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
x1 := -y;
y1 := -x;
writeln(' ');
writeln('JAWAB :');
writeln(' ');
writeln('Hasil pencerminan terhadap garis y = -x dengan');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah x'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
writeln('x'' adalah hasil pencerminan x terhadap garis y = -x');
writeln('y'' adalah hasil pencerminan y terhadap garis y = -x');
writeln('A'' adalah bayangan titik A');
end;
procedure Dilatasi_Berpusat_di_O;
var
k : integer;
x,y : integer;
x1,y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('Dilatasi yang Berpusat di O(0,0) dan Skala k');
gotoxy(20,3);writeln('============================================');
writeln('Tentukan bayangan titik A(x,y) karena dilatasi [O,k] ');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('k = '); readln(k);
x1 := k*x;
y1 := k*y;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Bayangan karena dilatasi [O,',k,']');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
end;
procedure Dilatasi_Berpusat_di_P;
var
a,b,k : integer;
x,y : integer;
x1,y1 : integer;
{x1 = x' dan y1 = y'}
begin
clrscr;
gotoxy(20,2);writeln('Dilatasi yang Berpusat di P(a,b) dan Skala k');
gotoxy(20,3);writeln('============================================');
writeln('Tentukan bayangan titik A(x,y) karena dilatasi [P(a,b),k] ');
writeln('jika diketahui :');
write('x = '); readln(x);
write('y = '); readln(y);
write('k = '); readln(k);
write('a = '); readln(a);
write('b = '); readln(b);
x1 := k*(x-a) + a;
y1 := k*(y-b) + b;
writeln(' ');
writeln('JAWAB : ');
writeln(' ');
writeln('Bayangan karena dilatasi [P(',a,',',b,'),',k,']');
writeln('x = ',x,' adalah x'' = ',x1);
writeln('y = ',y,' adalah y'' = ',y1);
writeln('A(',x,',',y,') ----> A''(',x1,',',y1,')');
end;
procedure Translasi_atau_Pergeseran;
var
pil : byte;
begin
clrscr;
gotoxy(30,2);writeln(' TRANSLASI (PERGESERAN)');
gotoxy(30,3);writeln('************************');
writeln;
gotoxy(10,5);writeln('Translasi adalah transformasi atau perubahan setiap titik ');
gotoxy(10,6);writeln('dengan jarak dan arah yang tetap.');
gotoxy(10,7);writeln('Dalam vektor, translasi atau pergeseran adalah penambahan setiap ');
gotoxy(10,8);writeln('titik (x,y) dengan vektor tertentu (a,b) sehingga menghasilkan ');
gotoxy(10,9);writeln('(x + a, y + b).');
gotoxy(10,11);writeln('Dalam pembahasan translasi ini dapat ditentukan : ');
gotoxy(10,12);writeln('1. Titik koordinat bayangan');
gotoxy(10,13);writeln('2. Translasinya');
gotoxy(10,14);writeln('3. Titik koordinat benda');
gotoxy(10,16);write('Apa yang ingin Anda tentukan? Masukkan nomor urut pilihan Anda : '); readln(pil);
begin
clrscr;
case pil of
1 : begin
Titik_Bayangan;
end;
2 : begin
Translasinya;
end;
3 : begin
Titik_Benda;
end;
end;
end;
end;
procedure Refleksi_atau_Pencerminan;
var
nomor : byte;
begin
clrscr;
gotoxy(30,2);writeln(' REFLEKSI (PENCERMINAN)');
gotoxy(30,3);writeln('************************');
writeln;
gotoxy(5,5);writeln('Refleksi (pencerminan) adalah transformasi yang memindahkan tiap titik pada ');
gotoxy(5,6);writeln('suatu bidang dengan menggunakan sifat-sifat bayangan pada suatu cermin.');
gotoxy(20,8);writeln(' Refleksi(pencerminan) ada 8 kategori, yaitu :');
gotoxy(20,9);writeln(' 1. Pencerminan terhadap sumbu X ');
gotoxy(20,10);writeln(' 2. Pencerminan terhadap sumbu Y ');
gotoxy(20,11);writeln(' 3. Pencerminan terhadap garis x = h ');
gotoxy(20,12);writeln(' 4. Pencerminan terhadap garis y = h ');
gotoxy(20,13);writeln(' 5. Pencerminan terhadap pusat koordinat O(0,0) ');
gotoxy(20,14);writeln(' 6. Pencerminan terhadap titik P(a,b) ');
gotoxy(20,15);writeln(' 7. Pencerminan terhadap garis y = x ');
gotoxy(20,16);writeln(' 8. Pencerminan terhadap garis y = -x ');
gotoxy(10,18);write('Apa yang ingin Anda tentukan? Masukkan nomor urut pilihan Anda : '); readln(nomor);
begin
case nomor of
1 : begin
Pencerminan_Terhadap_Sumbu_X;
end;
2 : begin
Pencerminan_Terhadap_Sumbu_Y;
end;
3 : begin
Pencerminan_Terhadap_Garis_x_SamaDengan_h;
end;
4 : begin
Pencerminan_Terhadap_Garis_y_SamaDengan_h;
end;
5 : begin
Pencerminan_Terhadap_Pusat_Koordinat;
end;
6 : begin
Pencerminan_Terhadap_Sebuah_Titik;
end;
7 : begin
Pencerminan_Terhadap_Garis_y_SamaDengan_x;
end;
8 : begin
Pencerminan_Terhadap_Garis_y_SamaDengan_Minus_x;
end;
end;
end;
end;
procedure Dilatasi_atau_Perkalian;
var
plhn: byte;
begin
clrscr;
gotoxy(30,2);writeln(' DILATASI (PERKALIAN) ');
gotoxy(30,3);writeln('**********************');
writeln;
gotoxy(10,5);writeln('Diltasi (perkalian) adalah transformasi yang mengubah ukuran ');
gotoxy(10,6);writeln('(memperbesar atau memperkecil) suatu bangun yang sebangun. ');
gotoxy(10,7);writeln('Sebuah dilatasi berpusat di O(0,0) dengan faktor skala k dinotasikan ');
gotoxy(10,8);writeln('oleh [O,k]. ');
gotoxy(10,11);writeln('Dalam pembahasan dilatasi ini ada 2 kategori, yaitu : ');
gotoxy(10,12);writeln('1. Dilatasi yang Berpusat di O(0,0) dan Skala k ');
gotoxy(10,13);writeln('2. Dilatasi yang Berpusat di P(a,b) dan Skala k ');
gotoxy(10,16);write('Kategori mana yang ingin dipilih? Masukkan nomor pilihan Anda : '); readln(plhn);
begin
clrscr;
case plhn of
1 : begin
Dilatasi_Berpusat_di_O;
end;
2 : begin
Dilatasi_Berpusat_di_P;
end;
end;
end;
end;
{program utama}
begin
repeat
clrscr;
gotoxy(20,2);writeln('****************************************');
gotoxy(20,3);writeln('* TRANSFORMASI GEOMETRI *');
gotoxy(20,4);writeln('****************************************');
gotoxy(10,6);writeln(' Transformasi adalah pemetaan suatu titik A pada suatu bidang');
gotoxy(10,7);writeln(' ke titik A''. Titik A'' itu disebut bayangan titik A.');
gotoxy(10,9);writeln(' Sekarang akan membahas beberapa jenis transformasi, yaitu :');
gotoxy(20,10);writeln(' 1. Translasi atau Pergeseran ');
gotoxy(20,11);writeln(' 2. Refleksi atau Pencerminan ');
gotoxy(20,12);writeln(' 3. Dilatasi atau Perkalian ');
gotoxy(10,14);writeln(' Jenis transformasi mana yang ingin Anda pilih ? ? ');
gotoxy(10,15);write(' Masukkan nomor urut jenis transformasi yang Anda pilih : '); readln(pilihan);
begin
case pilihan of
1 : begin
Translasi_atau_Pergeseran;
end;
2 : begin
Refleksi_atau_Pencerminan;
end;
3 : begin
Dilatasi_atau_Perkalian;
end;
end;
writeln;
write('Mau Ulangi Lagi ? (Y/T) : '); readln(Ul);
end;
Until upcase(Ul) <> 'Y' ;
end.