Anda di halaman 1dari 9

JOBSHEET

TRANSFORMASI 2D (ROTASI)

Oleh:
FACHRI YANUAR RUDI F, MT.

PROGRAM STUDI TEKNOLOGI REKAYASA KOMPUTER JARINGAN


JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER
POLITEKNIK NEGERI LHOKSEUMAWE
2020

i
HALAMAN PENGESAHAN INSTITUS I

TRANSFORMAS1 2D (ROTASI)

Kegiatan Pengembangan Jobsheet ini Dibiayai dengan Sumber Dana DIPA Politeknik
NegCri Lhokseumawe 4“ahun Anggaran 2020

Mengetahui,
An. Ketua Jurusan Penulis,
Teknologi Informasi dan Komputer
Sekretaris

Muhammad Nasir ST. MT.

Fachri Yanuar Rudi F MT.

NIP. 197507071999031002 NIP. 19880106201 8031001

Mengetahui / Mengesahkan:
Wakil Direktur Bidang Akadeinik,
Keinahasiswaan dan Alumni
Joliteknik Negeri Lhokseuinawe

‹r,
HALAMAN PENGESAHAN REVIEWER

.Iobsheet Transformasi 2D (Rotasi) yang disusun oleh:


Nama Fachri Yanuar Rudi F, MT.
NI P 198801062018031001
Jurusan . Teknologi Informasi dan Komputer

Telah memenuhi syarat-syarat penulisan Jobsheet yang dibiayai dengan sumber dana
DIPA Politeknik Negeri Lhokseumawe Tahun Anggaran 2020

Reviewer :

1. Mursyidah, ST., MT.


NIP. 197301051999032003

2. Ir. Herri Mahyar, MT.


NI P. 1962120 1198902100 I

Mengetahui, Menyetujui,
Kepala Pusat Pengeirbangan Ketua Departeiren Pendidikan dan
Pembelajaran dan Penjaininan Mutu Pengeinbang eirbelajaran.

MT
196212011989021001 NIP. 41 1002

Ill
LABORATORIUM : KEAMANAN JARINGAN DAN CLOUD COMPUTING
POLITEKNIK NEGERI LHOKSEUMAWE PENGUJIAN : TRANSFORMASI 2 DIMENSI (ROTASI)

I. Capaian Praktikum
Capaian yang diinginkan dalam praktikum ini adalah:
1. Mahasiswa mampu membuat struktur data titik dan vektor
2. Mahasiswa mampu membuat prosedur konversi diantara titik dan vektor dan
sebaliknya diantara vektor dan titik
3. Mahasiswa mampu membuat macam – macam prosedur transformasi : refleksi,
rotasi, dua dimensi
4. Mahasiswa mampu mengaplikasikan matrik transformasi pada objek dua
dimensi
5. Mahasiswa mampu melakukan komposisi transformasi

II. Keselamatan Kerja


Untuk menghindari kejadian yang tidak diinginkan selama praktikum ini dan
juga agar praktikum ini dapat berjalan dengan baik terdapat beberapa hal yang harus
diperhatikan, yaitu:
1. Selalu gunakan seragam laboratorium selama berada di dalam Laboratorium.
2. Patuhi peraturan baik berupa peraturan laboratorium maupun peraturan yang
diberlakukan oleh dosen selama di dalam laboratorium.
3. Dilarang makan / minum selama melaksanakan praktikum di dalam
laboratorium.
4. Selalu berhati-hati dengan listrik.
5. Tidak bermain – main selama praktikum.
6. Selalu berkonsultasi atau meminta saran kepada dosen terhadap langkah-langkah
yang dirasa akan menimbulkan resiko.

1
III. Teori
a. Refleksi
Jika faktor skala yang diberikan pada scalling bernilai negatif maka gambar
dikatakan di refleksi tehadap koordinat axis. Persamaan refleksi ditulis seperti
persamaan (1).

(1)

Jika nilai fx =− 1 maka terjadi percerminan terhadap sumbu y, sedangkan jika


fy =− 1 maka akan terjadi pencerminan terhadap sumbu x dan jika fx = fy = − 1
maka akan terjadi pencerminan terhadap origin.

b. Rotasi
Rotasi adalah perpindahan obyek dari titik P(x,y) ke titik P’(x’,y’), yang berupa
pemindahan berputar sebesar sudut  dapat digambarkan pada gambar 2 dan persamaan
rotasi dituliskan pada persamaan (2).

x' = x.cos (θ)


y' = y.sin (8) (2)

y
P’(x’,y’)

 P(x,y)

Gambar 1 Ilustrasi rotasi dari titik P ke titik P’ dengan perputaran sebesar θ


IV. Alat / bahan
1. Komputer PC / Laptop
2. Sistem Operasi Microsoft Windows atau Linux
3. Bahasa C++: dalam hal ini menggunakan Microsoft Visual C++ untuk sistem
operasi MS-Windows, dan g++ untuk sistem operasi Linux.
4. Open-GL, sebagai library untuk grafika komputer.

V. Prosedur Praktikum
a. Transformasi 2 dimensi 5.A (Refleksi)
1. Buat Project pada Microsoft Visual Studio C++ dengan nama Project 5A,
kemudian add file pada project dan beri nama file proj5A.cpp dengan langkah-
langkah pembuatan project dan file seperti yang telah dijelaskan pada Modul 1.
2. Source code yang digunakan sama seperti pada modul 4, hanya fungsi
userdraw yang diubah menjadi:

1. void userdraw(void)
2. {
3. static int tick = 0;
4. point2D_t ef[10] =
{{10,100},{10,10},{30,10},{30,40},{60,40},{60,60},{30,60},{30,80}
,{70,80},{70,100}};
5. vector2D_t vec[10];
6. matrix2D_t refxaxis, refyaxis, reforg;
7.
8. //operasi matrix refleksi
9. point2D_t buff[10]; //obj f temporary refleksi
10. int i, loop;
11.
12. setColor(0,0,0);
13. drawAxes();
14.
15. setColor(0,0,0);
16. drawPolygon(ef, 10);
17. glutSetWindowTitle("Reflection F");
18. refxaxis = scalingMTX(1.,-1.);
19. refyaxis =scalingMTX(-1.,1.);
20. reforg = scalingMTX(-1.,-1.);
21.
22. for (i = 0; i < 10; i++)
23. {
24. //refleksi sb x
25. vec[i] = Point2Vector(ef[i]);
26. vec[i] = multiply(refxaxis, vec[i]);
27. buff[i] = Vector2Point(vec[i]);
28. }
29. drawPolygon(buff,10);//gambar f stlh translasi
30.
31. for (i = 0; i < 10; i++)
32. {
33. //refleksi sb y
34. vec[i] = Point2Vector(ef[i]);
35. vec[i] = multiply(refyaxis, vec[i]);
36. buff[i] = Vector2Point(vec[i]);
37. }
38. drawPolygon(buff,10);//gambar f stlh translasi
39.
40. for (i = 0; i < 10; i++)
41. {
42. //refleksi sb x & y
43. vec[i] = Point2Vector(ef[i]);
44. vec[i] = multiply(reforg, vec[i]);
45. buff[i] = Vector2Point(vec[i]);
46. }
47. drawPolygon(buff,10);//gambar f stlh translasi
48. }

3. Jalankan program yang telah diketik..


4. Ubah nilai refleksi terhadap sumbu x menjadi (1.2,-1.2)
5. Ubah nilai refleksi terhadap sumbu y menjadi (-1.3,1.3)
6. Ubah nilai refleksi terhadap origin menjadi (-1.5,-1.5)

b. Transformasi 2 Dimensi 4.B (Rotasi)


1. Buat Project pada Microsoft Visual Studio C++ dengan nama Project 5B,
kemudian add file pada project dan beri nama file proj5B.cpp dengan langkah-
langkah pembuatan project dan file seperti yang telah dijelaskan pada Modul 1.
2. Pada bagian userdraw program proj4A.cpp ganti dengan program berikut:

1. void userdraw(void)
2. {
3. static int tick = 0;
4. point2D_t ef[10] =
{{10,100},{10,10},{30,10},{30,40},{60,40},{60,60},{30,60},
{30,80},{70,80},{70,100}};
5. vector2D_t vec[10];
6. matrix2D_t rotate;
7.
8. int i, loop;
9.
10. setColor(0,0,0);
11. drawAxes();
12.
13. setColor(0,0,0);
14. drawPolygon(ef, 10);
15. glutSetWindowTitle("Rotasi F");
16.
17. rotate = rotationMTX(1.);
18.
19. for (loop = 0; loop < 4; loop++)
20. {
21. for (i = 0; i < 10; i++)
22. {
23. vec[i] = Point2Vector(ef[i]);
24. vec[i] = multiply(rotate, vec[i]);
25. ef[i] = Vector2Point(vec[i]);
26. }
27. drawPolygon(ef,10);//gambar f stlh translasi
28. }
29. tick++;
30. }

3. Jalankan program yang telah diketik..


4. Ubah nilai rotasi menjadi 45 derajat.

VI. Data Percobaan


Lakukan pengisian tabel 1 dengan tampilan (printscreen) dari hasil percobaan
yang telah dilakukan. Pada percobaan refleksi, nilai sudut yang digunakan adalah radian,
sehingga jika ingin mengubah sudut derajat menjadi radian maka gunakan persamaan (3)

dimana r 㤱㐠 adalah sudut dalam radian dan 㐠 th adalah sudut dalam derajat.

r 㤱㐠 = 㐠 th ā n/18⑛ (3)

Tabel 1 Hasil Praktikum Transformasi 2D Refleksi dan Rotasi

Percobaan Hasil (Printscreen) Keterangan


Percobaan Refleksi langkah 3
Percobaan Refleksi langkah 4
Percobaan Refleksi langkah 5
Percobaan Refleksi langkah 6
Percobaan Scalling langkah 3
Percobaan Scalling langkah 4
VII. Analisa dan Kesimpulan
Analisa hasil dari keempat percobaan yang telah dilakukan kemudian beri
penjelasan mengenai perbedaan dari masing-masing percobaan.
Kesimpulan, setelah melakukan praktikum dan menganalisa hasilnya.
Mahasiswa dapat menyimpulkan hasil analisa dari praktikum tersebut sehingga
tercapainya capaian dari praktikum.

VIII. Daftar Pustaka


Gordon, V. S., & Clevenger, J. (2017). Computer Graphic Programming in OpenGL
with Java. Dulles: Mercury Learning and Information.
khronos.org. (2020, Maret 28). OpenGL® 4.5 Reference Pages. Diambil kembali dari
khronos.org: https://www.khronos.org/registry/OpenGL-Refpages/gl4/

Anda mungkin juga menyukai