## Transformasi Bangun Ruang Tiga Dimensi
menggunakan Visual Basic 6.0

## Sulastri
Fakultas Teknologi Informasi, Universitas Stikubank Semarang email : strieq@unisbank.ac.id
ABSTRAK  : Pemanfaatan  grafika  komputer  dapat  dilihat  pada  saat  seorang  insinyur  atau  seorang ahli gedung sedang melakukan perancangan gedung yang akan di bangun. Insinyur tersebut dapat merancang gedung  yang  akan  dibangun  menggunakan teori  grafika  komputer  sebelum  gedung  tersebut  benar-benar berdiri.  Pemanfaatan  unsur  grafika  komputer  khususnya  tranformasi  dipergunakan  untuk  menekan  biaya yang akan ditanggung oleh perusahaan yang menangani pembangunan gedung tersebut. Apabila insinyur menggunakan miniatur-miniatur dari gedung yang akan dibangun, otomatis akan memerlukan biaya yang lebih besar.
Kata kunci : transformasi, bangun ruang, tiga dimensi

## PENDAHULUAN
Matematika, mungkin bagi sebagian orang merupakan  salah  satu  mata  pelajaran  yang membingungkan  dan  membosankan.  Karena didalam  mata pelajaran  Matematika  terdapat berbagai  macam  unsur.  Diantaranya  mengenai geometri.  Pada  bagian  geometri  juga  di  bagi menjadi  2,  yaitu  geometri  dua  dimensi  serta geometri tiga dimensi.
Dan  apabila  pembahasan  mengenai geometri bangun ruang tiga dimensi ini dibahas lebih  mendalam  didalamnya  akan  menjumpai hal yang membahas mengenai grafika komputer. Karena  matematika  dan  grafika  komputer mempunyai  saling  keterkaitan.  Didalam  grafika komputer  terdapat  unsur  yang  membahas tentang  Transformasi.  Baik  transformasi  Dua dimensi maupun Transformasi Tiga dimensi.
Perkembangan  teknologi  pada  bidang komputer  dewasa  ini  berkembang  sangat  pesat. Hal  ini  juga  terjadi  pada  bidang  grafika komputer. Perkembangan grafika komputer yang sangat  pesat  dapat  dilihat  dari  banyaknya aplikasi-aplikasi grafika komputer yang dimanfaatkan dalam kehidupan manusia sehari - hari.
Pemanfaatan  grafika  komputer  dapat dilihat  pada  saat  seorang  insinyur  atau  seorang ahli  gedung  sedang  melakukan  perancangan
gedung  yang  akan  di  bangun.  Insinyur  tersebut dapat  merancang  gedung  yang  akan  di  bangun menggunakan  teori  grafika  komputer  sebelum gedung tersebut benar-benar berdiri.
Perancangan dapat dilakukan dengan cara membuat  objek  gedung  yang  akan  dibuat terlebih  dulu  pada  suatu  program  komputer, setelah  obyek  telah  jadi  kemudian  dapat dilakukan transformasi terhadap objek tersebut.
Pemanfaatan  unsur  grafika  komputer khususnya  tranformasi  dipergunakan  untuk menekan  biaya  yang  akan  ditanggung  oleh perusahaan  yang  menangani  pembangunan gedung tersebut. Apabila insinyur menggunakan miniatur-  miniatur  dari  gedung yang  akan dibangun,  otomatis  akan memerlukan  biaya yang lebih besar.
Dengan  menggunakan  transformasi  pada grafika  komputer  biaya  yang  digunakan  dapat ditekan dengan sekecil mungkin.

## PERUMUSAN DAN BATASAN MASALAH
Sebelum melakukan Transformasi bangun ruang  tiga  dimensi  terlebih  dahulu  harus ditentukan  nilai  dari  titik-titik  koordinat  yang akan  menjadi  sudut  dari  benda  (objek)  yang akan  ditransformasikan.  Untuk  Transformasi tiga  dimensi  menggunakan  tiga  buah  koordinat. Yaitu  koordinat  sumbu  x,  sumbu  y, dan koordinat sumbu z. Koordinat sumbu x mewakili
ukuran  lebar  dan  koordinat  sumbu  y  mewakili ukuran  panjang.  Sedangkan  koordinat  sumbu  z mewakili ukuran tinggi (kedalaman).
Setelah  koordinat  titik-titik  tersebut ditentukan, tahapan selanjutnya adalah menghubungkan  titik-titik  koordinat  tersebut dengan  garis  (edge)  yang  telah  ditentukan pasangannya  dengan  titik-titik  yang  telah  ada. Penentuan  dari  masing-masing  pasangan  antara titik dan garis ditentukan oleh pembuat program. Kemudian  benda  yang  dihasilkan  tersebut  akan ditransformasikan .
Adapun  perumusan  masalah  yang  akan dibahas adalah mengenai :
1. Struktur data dari benda tiga dimensi.
2. Cara menampilkan benda tiga dimensi yang telah dihasilkan.
3. Struktur  dan  Algoritma  program  yang  akan digunakan untuk menampilkan dan mentransformasi benda tiga dimensi.
Sedangkan  batasan  masalah  yang  akan  di bahas  di  dalam  penyusunan  laporan  tugas  akhir ini  adalah  mengenai  bagaimana  benda  (objek) yang  telah  dihasilkan  dapat  ditransformasikan (translasi,  skala  maupun  rotasi)  sesuai  dengan keinginan pengguna program.

## TUJUAN DAN MANFAAT
Adapun  tujuannya  adalah  untuk  membuat software  yang  dapat  menunjukkan  bahwa  suatu benda  tiga  dimensi  dapat  di  transformasikan berdasarkan fungsi  fungsi geometri.
Adapun  manfaat  bagi  pengguna  adalah pengguna  dapat  mensimulasikan  apa  yang  akan dibuat,  khususnya  mengenai  bangun  tiga dimensi dengan transformasi.

## METODE PENGEMBANGAN SISTEM
Metode  pengembangan  sistem  yang digunakan  adalah  suatu  sistem  yang  dikenal dengan  nama  SDLC (System  Development  Live Cycle) yang  merupakan  metode  klasik  yang digunakan  untuk  mengembangkan,  memelihara, dan menggunakan sistem informasi (Kadir, 2003 :  398).  Yang  didalamnya  terdapat  tahapan- tahapan  yang  dilalui  dalam  pengolahan  data yaitu:
1. Tahapan Perencanaan
Tahapan  ini  merupakan  awal  dalam pembuatan  system,  untuk  memehami permasalahan  yang  muncul,  menentukan tujuan pembuatan system dan mengidentifikasi kendalanya
2. Tahapan Analisis
Tahapan  ini  adalah  untuk  menentukan  hal- hal  detail  tentang  apa yang  akan  dikerjakan oleh system tersebut.
3. Tahapan Desain
Sasaran  dari  tahapan  ini  adalah  membuat transformasi  bangun ruang  tiga  dimensi secara terperinci dan tertulis beserta dengan penjelasannya.
4. Tahapan Implementasi
Tahapan  ini  merupakan  kegiatan  untuk mengimplementasikan rancangan yang telah disusun  agar  dapat  diwujudkan  dengan melakukan  pemprograman  dan  pengujian untuk  mengetahui  efektifitas  dan  efisiensi system  serta  melakukan  dokumentasi terhadap system yang diterapkan.
5. Tahapan Operasi dan Pemeliharaan
Pada  tahapan  ini  system  telah  dinyatakan lolos  uji  coba,  maka  dapat  dioperasikan untuk menangani masalah yang sesungguhnya  dengan  pemeliharaan  system untuk menjaga keutuhan data dan informasi yang telah terhimpun.

## TRANSFORMASI
Transformasi dapat diartikan sebagai suatu metode  yang  dapat  digunakan    untuk memanipulasi  lokasi  sebuah  titik.  Apabila transformasi  dikenakan  terhadap  sekumpulan titik  yang  membentuk  sebuah  benda    (obyek) maka benda tersebut akan mengalami perubahan.  Perubahan  dalam  hal  ini  adalah perubahan dari  lokasi awal suatu benda menuju lokasi yang baru dari benda tersebut.
Sebuah benda dengan titik P ditransformasikan  ke  titik  Q  menggunakan rumus    rumus  tertentu,  sehingga  titik  Q merupakan lokasi baru dari titik P.

## Transformasi affine
Metode  yang  paling  umum  digunakan dalam  grafika  komputer  adalah  metode affine transformation. Affine  transformation  adalah suatu  transformasi  yang  menggunakan  matrik dalam menghitung posisi obyek yang baru.
Keuntungan  menggunakan  matrik  adalah transformasi  yang  berbeda    beda  dapat digabungkan  dengan  mengkalikan  matrik   matrik  tersebut  sehingga  diperoleh  satu  matrik transformasi.
Pemetaan titik koordinat P = (Px, Py) ke Q =  (Qx,  Qy)  dapat  dilakukan  dengan menggunakan rumus:
Q x = aPx + cPy + trx
Q y = bPy +dPy + try

## Transformasi Homogeneous
Selain  menggunakan  transformasi  affine, transformasi  juga  dapat  dilakukan  dengan menggunakan transformasi homogeneous.
Transformasi  homogeneous  adalah  transformasi yang  menggunakan  matrik  transformasi  yang menggabungkan
transformasi translasi, penskalaan,  dan  rotasi  kedalam  suatu  model transformasi..
Dengan  menggunakan  matrik  tidak  perlu dibuat  prosedur    prosedur  khusus  untuk  setiap jenis  transformasi  tetapi  cukup  melakukan perkalian matrik saja.
Isi  dari  matriks  transformasi  bergantung pada  jenis  transformasi  yang  dilakukan. Sebagaimana berikut :
Translasi :
M = Skala : M =
Rotasi : M =

## TRANSFORMASI  DUA  DIMENSI  DAN TRANSFORMASI TIGA DIMENSI
Pada  dasarnya  yang  membedakan  antara transformasi  dua  dimensi  dengan  transformasi tiga  dimensi  adalah  satu  buah  sumbu  tambahan yang  mewakili  jarak  pandang  kedalaman  yang terdapat pada transformasi tiga dimensi. Sumbu ini biasanya ditulis dengan perwakilan huruf z.

## Transformasi Dua Dimensi
Transformasi  dua  dimensi  menggunakan dua  buah  sumbu,  yaitu  sumbu  x  dan  sumbu  y. Sumbu  x  mewakili  ukuran  panjang,  sedangkan sumbu y mewakili ukuran lebar.
Transformasi  dasar  pada  objek  dua  dimensi dapat berupa :
1. Translasi
Translasi dapat diartikan dengan perubahan lokasi dari lokasi awal menuju ke lokasi  baru. Titik  A  (x, y)  digeser  sejumlah Trx pada sumbu x dan digeser sejumlah Try pada  sumbu  y.  Sehingga  akan  didapatkan rumus umum sebagai berikut :
Q(x, y)= P (x, y) + Tr
= P (x + Trx, y +Try)
2. Skala
Skala  dapat  diartikan  dengan  sebuah lokasi  awal  dikalikan  dengan  besaran  yang di  inginkan.  Lokasi  asli  dikalikan  dengan besaran  Sx  pada  sumbu  x  dan  Sy   pada sumbu  y.  Sehingga  akan  diperoleh  rumus umum sebagai berikut :
Q(x, y) = A *  S
= A(x, y) * S (x, y)
= A (x * Sx, y * Sy)
3. Rotasi
Rotasi dapat diartikan dengan perpindahan  lokasi  awal  dari  sebuah  benda 1       0        0 0       1        0 Trx   Try    1 Sx       0        0 0       Sy        0 0         0        1
cos � sin �
0 -sin � cos � 0 0            0        1
(objek) dengan cara diputar terhadap sumbu x  atau sumbu  y,  dengan  asumsi bahwa  titik pusat  (0,  0).  Dengan  sudut  positif berlawanan  dengan  arah  jarum  jam.  Dan sudut  negatif  searah  dengan  jarum  jam. Rumus  yang  digunakan  untuk  melakukan rotasi adalah sebagai berikut :
x   = x cos �  y sin � y   = y cos � + x sin �

## Transformasi Tiga Dimensi
Tranformasi  tiga  dimensi  pada  dasarnya tidak  jauh  berbeda  dengan  transformasi  pada benda  (objek)  dua  dimensi.  Pada  transformasi tiga  dimensi  menggunakan  1  buah  sumbu tambahan,  yaitu  sumbu  z.  Dengan  demikian pada  transformasi  tiga  dimensi  sumbu  yang dipergunakan  adalah  sumbu  x,  sumbu  y, dan sumbu z.
Pada  transformasi  tiga  dimensi  sumbu  z berfungsi  untuk  menampilkan  kesan  kedalaman yang akan dilihat oleh mata manusia.
Transformasi tiga dimensi dapat berupa :
1. Translasi
Translasi pada objek tiga dimensi tidak jauh berbeda dengan translasi pada benda (objek) dua  dimensi.  Translasi  tiga  dimensi menggunakan  sumbu  x,  sumbu  y,  dan sumbu  z.  Translasi  berfungsi  untuk menggeser  benda  dari  suatu  posisi  awal menuju posisi baru sesuai dengan keinginan pengguna.
Translasi  pada  benda  (objek)  tiga  dimensi dapat menggunakan matrik sebagai berikut :
Mt =
2. Skala
Skala pada benda (objek) tiga dimensi tidak jauh berbeda dengan skala pada transformasi dua  dimensi.  Skala  berfungsi  untuk memperbesar atau  memperkecil  benda
(objek)  sesuai  dengan  ukuran  yang diinginkan oleh pengguna program.
Skala pada benda (objek) tiga dimensi dapat dilakukan  dengan  menggunakan  matrik sebagai berikut :
M s=
3. Rotasi
Berbeda  dengan  rotasi  dua  dimensi  yang menggunakan titik pusat (0, 0) sebagai pusat perputaran,  rotasi  pada  benda  (objek)  tiga dimensi  menggunakan  sumbu  koordinat sebagai pusat perputaran.
Karena  pada  benda  (objek)  tiga  dimensi terdapat  3  buah  sumbu  koordinat,  maka terdapat  3  macam rotasi  yang  dapat dilakukan, yaitu :
a. Rotasi sumbu x
Rotasi  pada  sumbu  x  menggunakan matrik sebagai berikut:
Mrx =
b. Rotasi sumbu y Rotasi  pada  sumbu  y menggunakan matrik sebagai berikut: Mry = 1 0 0 0 0 1 0 0 0
0 1 0
Trx Try Trz 1
Sx 0 0 0 0
Sy 0 0 0 0           Sz 0 0 0 0 1
1       0           0          0 0    cos ( � )     sin ( � )    0
0   -sin ( � )     cos ( � )    0
0       0             0          1
cos ( � )     0     -sin ( � )    0 0      1 0         0 sin ( � )      0     cos( � )     0
0         0          0         1
Y Z X
c. Rotasi sumbu z Rotasi  pada  sumbu  z  menggunakan matrik sebagai berikut:
Mrz =

## DUNIA TIGA DIMENSI
Yang  membedakan  antara  benda  dua dimensi  dan  benda  tiga  dimensi  adalah kedalaman.  Kedalaman  dapat  diartikan  sebagai jarak pandang antar mata (viewer) dengan benda yang  dilihat.  Karena  pada  benda  dua  dimensi hanya  menggunakan  2  ukuran  yaitu  ukuran panjang  dan  ukuran  lebar.  Sedangkan  pada benda  tiga  dimensi  menggunakan  3  ukuran  , yaitu ukuran panjang, lebar dan kedalaman.
Ukuran  tersebut  disimbolkan  dengan sumbu  x,  sumbu  y  serta  sumbu  z.  Sumbu  x mewakili  ukuran  panjang,  sumbu  y mewakili ukuran  lebar  sedangkan  sumbu  z  mewakili ukuran tinggi atau kedalaman.

## KOORDINAT
Koordinat  dapat  diartikan  sebagai  tata keseimbangan  yang  membantu    di  dalam menentukan suatu kondisi dengan nilai dan batas dalam  konteks  geometri.  Koordinat  diciptakan dengan  tujuan  untuk  membantu  manusia  agar dapat dengan lebih mudah mengenal, menguasai serta mengendalikannya.
Pada  saat  menggambar  sebuah  koordinat, mungkin  akan  menjadi  sebuah  pertanyaan, dimana  letak  koordinat ini  berada.  Karena koordinat  satu  dengan  yang  lain  hampir  sama. Untuk itu perlu diketahui dimana letak koordinat yang  sedang  digambar.  Hal  ini  untuk menghindari  kerancuan  yang  mungkin  akan terjadi.
Pada  komputer  grafik,  ada  3  macam sistem koordinat yang harus di perhatikan.yaitu:
1. Koordinat Nyata (World Coordinate)

## 2.  Koordinat Sistem
3.  Koordinat Layar

## Koordinat Nyata (World Coordinate)
Yang  dimaksud  dengan  koordinat  nyata adalah koordinat yang menyatakan  lokasi benda itu  di  dunia.  Dunia  yang  dimaksud  adalah dimana  benda  itu  berada.  Koordinat  nyata mempunyai batas -  ~ (tak hingga) sampai  +  ~ untuk sumbu x dan sumbu y.

## Koordinat Sistem
Yang  dimaksud  dengan    koordinat  sistem adalah koordinat yang biasanya digunakan untuk perhitungan data yang hasilnya perlu ditampilkan  kembali  pada  layar  maupun  diatas kertas. Koordinat ini lebih banyak digunakan di bidang geometri.
Koordinat  sistem  sendiri  terbagi  menjadi dua macam.yaitu;
1. Sistem koordinat Cartessian
Sistem koordinat Cartessian
menggunakan  pasangan  sumbu    x  dan sumbu y untuk menyatakan lokasi  benda di bidang dua dimensi. Sedangkan untuk benda dibidang tiga dimensi menggunakan pasangan sumbu x , y , z.
Sistem  koordinat  Cartessian  untuk benda  dua  dimensi  dapat  digambarkan sebagai berikut:
Gambar 1.  Gambar Sistem Koordinat Cartessian Dua Dimensi.
Sedangkan  untuk  benda  yang  tiga dimensi dapat di gambarkan sebagai berikut:
Gambar 2. Gambar Sistem Koordinat Cartessian Tiga Dimensi.
cos ( � )    sin ( � )     0          0
-sin ( � )    cos ( � )    0          0 0          0       1          0
0             0       0          1
Y Y X
� R

## 2. Sistem koordinat  Polar
Sistem  koordinat  Polar  menggunakan sudut  terhadap  garis    horizon  ( � )  dan  jarak dari  titik  pusat  (R)  untuk  menunjukkan lokasi sebuah benda.
Sistem koordinat Polar dapat
digambarkan sebagai berikut:
Gambar 3. Gambar Sistem Koordinat Polar.

## Koordinat Layar
Koordinat  Layar  atau  screen  coordinate adalah  koordinat  yang  dipakai  untuk mengatur penampilan  suatu  obyek  pada  layar,  baik  itu layar komputer ataupun layar lainnya.

## SISTEM KOORDINAT TIGA DIMENSI
Sistem  koordinat  tiga  dimensi  dapat dibedakan menjadi :
� Sistem koordinat tangan kanan
Sistem  ini  disebut  sistem koordinat  tangan kanan    karena  sistem  koordinat  ini  meniru sistem yang ada pada tangan kanan, dimana jari  telunjuk  untuk  sumbu  x,  jari  tengah untuk sumbu y sedangkan jari jempol untuk sumbu  z.
� Sistem koordinat tangan kiri
Sistem  ini  disebut  sistem koordinat  tangan kiri    karena  sistem  koordinat  ini  meniru sistem  yang  ada  pada  tangan  kiri,  dimana jari  telunjuk  untuk  sumbu  x,  jari  tengah untuk sumbu y sedangkan jari jempol untuk sumbu  z.

## STRUKTUR DATA 3 DIMENSI
Sebuah  benda  yang berada  di  ruangtiga dimensi  dapat  disusun  dengan  menghubungkan sebuah titik dengan titik-titik lainnya. Kumpulan titik  yang  saling  terhubung  itu  di  sebut wire frame (kerangka).  Sedangkan  benda  yang disusun  dari  kumpulan  titik  dan  permukaan  di sebut dengan mesh.
Yang paling menentukan pada pembuatan benda  yang  berada  pada  ruang  tiga  dimensi adalah definisi sumbu koordinat yang digunakan untuk mengidentifikasikan benda tersebut.
Struktur data benda di ruang tiga dimensi antara lain yaitu:
1. Garis (Line)
2. Segi Tiga (Triangle)
3. Segi Empat (Rectangle)
4. Lingkaran (Circle)
5. Elips
6. Piramid
7. Kotak

## ANATOMI BENDA TIGA DIMENSI
Benda  tiga  dimensi  dapat  disusun  dari sekumpulan  kulit.  Kulit  terdiri  .dari  rangkaian polygon. Polygon dapat diartikan sebagai bentuk yang disusun dari serangkaian garis. Titik sudut dari  polygon  disebut vertex sedangkan  garis penyusun polygon disebut edge
Polygon selalu ditentukan oleh :
1. Jumlah vertex
2. Koordinat vertex
3. Data lokasi tiap vertex
Polygon  digambar  dengan  menggambar masing-masing  edge  dengan  setiap  edge merupakan pasangan dari vertex-vertex.

## ANALISA MASALAH
Proses pembuatan benda (obyek) di ruang tiga  dimensi  yang  akan  ditampilkan  pada  layar komputer  harus  memperhatikan  letak  dimana koordinat  benda  tersebut  berada. Didalam pembuatan  benda  (objek)  tiga  dimensi  yang perlu  diperhatikan  adalah  dimana  letak  masing masing  koordinat  yang  nantinya  akan  menjadi titik  sudut  dari  benda  (objek)  yang  akan dihasilkan.
Proses  pembuatan  benda  (objek)  di  ruang tiga dimensi juga tidak akan terlepas dari berapa jumlah vertek yang akan menjadi titik koordinat yang  nantinya  akan  dihubungkan  oleh  garis ( edge ).  Dalam  pembuatan  benda  di  ruang  tiga dimensi,  penentuan  koordinat  menggunakan  3
Y X Z 1 2 3 4 6 5 8 7
buah  sumbu,  yaitu  sumbu  x,  sumbu  y  serta sumbu  z.  Sumbu  x  mewakili  ukuran  panjang, sumbu  y  mewakili  ukuran  lebar.  Sedangkan untuk sumbu z mewakili ukuran kedalaman.
Setelah  vertex-vertex  tersebut  ditentukan lokasinya, tahapan selanjutnya adalah menghubungkan  vertex-vertex  yang  sudah tersedia    dengan  garis  (edge)  yang  telah ditentukan  arah  dan  pasangannya masing- masing.  Setelah  tahapan  ini  selesai  dikerjakan, maka  akan  terbentuk  sebuah  benda  (objek)  tiga dimensi.
Tahapan selanjutnya adalah benda (objek) yang  telah    terbentuk    akan  di  transformasikan sesuai dengan keinginan dari pengguna program (user).  Transformasi  yang  dapat  dilakukan  oleh pengguna  program meliputi  ;  translasi
(pergeseran),  skala  (mengubah  ukuran)  dan rotasi (perputaran).
Besar kecilnya
nilai transformasi (translasi,  skala  maupun  rotasi)  harus  terlebih dahulu  ditentukan  oleh  pengguna  dengan  cara menginputkan  berapa  nilai  transformasi  yang diinginkan.  Untuk  kemudian  nilai  dari transformasi  tersebut  akan  dikenakan  pada benda (objek)yang telah terbentuk.

## PERANCANGAN PROGRAM
Perancangan program adalah suatu proses untuk  merancang  suatu  desain  program  yang akan  digunakan  dalam  pembuatan  transformasi bangun  tiga  dimensi.  Perancangan  program sangat diperlukan agar pada saat program dibuat dapat tersusun secara sistematis.
Permasalahan  yang  dihadapi  dalam pembuatan  benda  (objek)  di  ruang  tiga  dimensi diantaranya adalah  sebagai berikut:
1. Penentuan lokasi titik koordinat objek.
2. Pembentukkan garis sebagai penghubung tiap-tiap titik.
3. Transformasi  dari  objek  yang  telah terbentuk.

## Penentuan lokasi titik koordinat obyek
Penentuan lokasi titik koordinat dilakukan dengan  cara  menentukan  titik  pusat  dari  benda (objek)  yang  akan  dibuat  secara  tiga  dimensi). Dimana  untuk  benda  (objek)  tiga  dimensi
terletak pada titik koordinat (0, 0, 0) pada suatu kuadran garis.
Kuadran  garis  pada  benda  yang  ada  di ruang  tiga  dimensi  dapat  diperlihatkan  dengan gambar sebagai berikut:
Gambar 4. Kuadran Garis Tiga Dimensi.
Adapun  nilai  dari  masing-masing  sumbu  yang terletak  di  masing    masing  kuadran  adalah sebagai berikut:
Tabel 1. Tabel Kuadran Tiga Dimensi
Dari  tabel  yang  telah  diperlihatkan diatas,  maka  nilai  dari  masing-masing  sumbu koordinat adalah sebagai berikut:
� Pada  kuadran  1  nilai  dari  sumbu  X  adalah positif  (+),  sumbu  Y  adalah  positif  (+), sumbu Z adalah positif (+).
� Pada  kuadran 2 nilai dari  sumbu X adalah negatif  (-),  sumbu  Y  adalah  positif  (+), sumbu Z adalah positif (+).
� Pada  kuadran 3 nilai dari  sumbu X adalah negatif  (-),  sumbu  Y  adalah  negatif  (-), sumbu Z adalah positif (+).
� Pada  kuadran 4 nilai dari  sumbu X adalah positif  (+),  sumbu  Y  adalah  negatif  (-), sumbu Z adalah positif (+).
� Pada  kuadran 5 nilai dari  sumbu X adalah positif  (+),  sumbu  Y  adalah  positif  (+), sumbu Z adalah negatif (-).
� Pada  kuadran 6 nilai dari  sumbu X adalah negatif  (-),  sumbu  Y  adalah  positif  (+), sumbu Z adalah negatif (-).
� Pada  kuadran 7 nilai dari  sumbu X adalah negatif  (-),  sumbu  Y  adalah  negatif  (-), sumbu Z adalah negatif (-).
� Pada  kuadran 8 nilai dari  sumbu X adalah positif  (+),  sumbu  Y  adalah  negatif  (-), sumbu Z adalah negatif (-).
Penentuan  lokasi  titik  koordinat  obyek  3 dimensi dapat juga dilakukan dengan menggunakan beberapa cara. Diantaranya adalah dengan  penentuan  langsung,  menggunakan paramertric surface dan surface of revolution.
1. Penentuan langsung menggunakan peralatan seperti mouse 3D, scanner 3D dan berbagai peralatan lain.
Scanner  3D  merupakan  peralatan  yang dipergunakan  untuk  menghasilkan  lokasi titik-titik  3D  secara  langsung  dengan menunjukkan lokasi dari titik tersebut.
2. Mengunakan parametric surface.
Parametric  Surface digunakan  untuk menghasilkan  benda-benda  yang  dapat direpresentasikan  dalam  rumus matematika seperti bola, tabung  dan lain sebagainya.
3. Menggunakan  prosedur  khusus  seperti extrude dan surface of revolution.
Extrude merupakan prosedur yang digunakan  untuk  menghasilkan  lokasi  titik 3D  dengan  menarik  titik-titik  2D  ke  satu arah tertentu.
Surface  of  Revolution merupakan  prosedur yang  digunakan  untuk  menghasilkan  lokasi titik  3D  dengan  cara  memutar  profile  pada sumbu putar.

## Pembentukan garis sebagai penghubung tiap titik
Pembentukan garis yang berfungsi sebagai penghubung sejumlah titik yang telah dihasilkan akan dilakukan setelah titik yang menjadi sudut dari  benda  tersebut  sudah  tersedia.  Setiap  garis yang  telah  dihasilkan  akan  menghubungkan masing-masing titik yang ada.
Garis-garis  yang  telah  dihasilkan  akan meghubungkan  titik  yang  telah  tersedia  sesuai dengan aturan-aturan yang telah ditentukan oleh pembuat  program.  Hal  ini  dilakukan  agar  tidak terjadi kerancuan.
Sebagai contoh terdapat 5 buah titik yang menjadi  sudut  suatu  benda  dengan  nilai koordinat sebagai berikut:
Tabel 2. Tabel Nilai Koordinat
Dari  titik  yang  telah  tersedia  diatas  akan dihubungkan  dengan  garis  yang  mempunyai ketentuan sebagai berikut:
Tabel 3. Tabel Pasangan Garis
Dari daftar tabel garis diatas dapat dibaca sebagai berikut :
� Edge  1  akan  menghubungkan  titik  1  dan titik 2
� Edge  2  akan  menghubungkan  titik  2  dan titik 3
� Edge  3  akan  menghubungkan  titik  3  dan titik 4
� Edge  4  akan  menghubungkan  titik  1  dan titik 5
� Edge  5  akan  menghubungkan  titik  2  dan titik 5
� Edge  6  akan  menghubungkan  titik  3  dan titik 5
� Edge  7  akan  menghubungkan  titik  4  dan titik 5
Setelah titik tersebut dihubungkan dengan garis  yang  mempunyai  ketentuan  seperti  yang ada  pada  tabel,  maka  akan  terbentuk  sebuah benda (objek) tiga dimensi yaitu LIMAS.

## Transformasi dari benda yang dihasilkan.
Transformasi  dilakukan  setelah  benda yang  diinginkan  terbentuk.  Benda  (objek)  yang telah ada tersebut akan ditransformasikan sesuai dengan  apa  yang  diinginkan  oleh  pengguna program  (user).  Dapat  ditranslasi  atau  digeser, diperbesar atau diperkecil (skala) sesuai dengan ukuran  yang  dikehendaki,  maupun  dirotasi (diputar) menurut sumbu x, sumbu y dan sumbu z.
Transformasi  dari  benda  yang  telah dihasilkan dapat berupa:
1. Translasi
Translasi  atau  pergeseran  bertujuan  untuk mengubah  letak  posisi  benda  yang  telah dihasilkan  dari  posisi  awal  menuju  posisi baru  sesuai  dengan  keinginan  pengguna program ini.
2. Skala
Skala  bertujuan  untuk  mengubah  ukuran dari benda yang telah dihasilkan. Perubahan ukuran  ini  dapat  berupa  ukuran  benda  awal berubah  menjadi  lebih  besar  dari  ukuran benda  sebelumnya  atau  menjadi  lebih  kecil dari  benda  sebelumnya.  Besar  maupun kecilnya ukuran  skala  tergantung  dari  nilai perubahan  yang  diinginkan  oleh  pengguna program.
3. Rotasi
Rotasi atau perputaran dipergunakan apabila pengguna program akan melihat benda yang sudah  dihasilkan  dari  sudut  pandang yang
berbeda.  Rotasi  terhadap  benda  dapat dilakukan  terhadap  sumbu  x,  sumbu  y maupun pada sumbu z.

## PENYUSUNAN PROGRAM
Untuk menyusun sebuah program, pemprogram  (user)  membutuhkan  tahapan penyusunan yang sistematis dan terpadu. Berikut ini  adalah  beberapa  langkah yang  harus dilakukan dalam mendesain suatu program:
1. Pendefinisian Masalah
Tujuan  dari  langkah  pendefinisian  masalah adalah  untuk  mendapatkan  pengertian  atau pemahaman  yang  lebih  mendalam  tentang masalah yang ada.
2. Menentukan solusi
Langkah  ini bertujuan  untuk  mencari  jalan bagaimana  masalah  tersebut  diselesaikan. Apabila permasalahan terlalu rumit, biasanya  harus  dibagi  ke  dalam  beberapa modul kecil agar mudah diselesaikan.
3. Memilih algoritma
Memilih  algoritma  merupakan  salah  satu langkah  penting  dalam  pemprograman komputer. Karena pemilihan algoritma yang salah  akan  menyebabkan  program  memiliki unjuk kerja yang kurang baik.
4. Menulis program
Pada  langkah  ini  pemprogram  (user)  mulai menuliskan  program  komputer  untuk memecahkan masalah yang diberikan.
5. Menguji program
Setelah  program  selesai ditulis,  langkah selanjutnya  adalah  menguji  program. Pengujian program meliputi: apakah program  yang  telah  dibuat  dapat  berjalan dengan  baik?  Pengujian  berikutnya  adalah apakah program dapat menampilkan keluaran sesuai dengan yang diinginkan?
6. Menulis dokumentasi
Langkah  ini  biasa  dilakukan  bersamaan dengan  menulis  program.  Pada  baris program  dapat  ditambahkan  komentar  yang menjelaskan kegunaan dari suatu pernyataan.

## 7. Merawat program
Langkah  ini  dilakukan  setelah  program selesai  dibuat  dan  sudah  digunakan  oleh pengguna (user).
Tahapan  dalam  penyusunan  program dapat  dijabarkan  dengan  algoritma  flowchart sebagai berikut :

## Proses I
Gambar 5. Flowchart Proses I Input:
Berupa  nilai  koordinat  yang  akan  menjadi lokasi dari titik x, y dan titik z.
Proses:
Input  berupa  nilai  koordinat  yang  telah ditentukan letak posisinya sebagai sudut dari benda yang akan di hasilkan.
Output:
Output  dari  proses  (tahapan)  ke-1  adalah berupa  titik-titik  yang  nantinya  akan menjadi  titik  sudut  dari  benda  tiga  dimensi yang akan dihasilkan.

## Proses II
Gambar 6. Gambar Flowchart Proses II Input:
Pembentukan  garis  (edge)  yang  akan menghubungkan  titik-titik  yang  dihasilkan pada proses ke-2.
Proses:
Penentuan  masing-masing  dari  garis  (edge) akan menghubungkan titik satu dengan titik- titik  yang  lainnya  sesuai  dengan  ketentuan yang telah dibuat oleh pembuat program.
Output:
Output  dari  proses  (tahapan)  ke-2  berupa garis  yang  akan  menghubungkan  titik-titik yang telah di hasilkan pada proses (tahapan) ke-1  agar  dapat  terbentuk  suatu  bangun ruang tiga dimensi.

## Proses III
Gambar 7. Flowchart Proses III
Input:
Berupa  benda  yang  telah  terbentuk  dari penggabungan  antara  titik  dan  garis  yang nilai dan aturannya telah ditentukan.
Proses:
Langkah proses dari input dibagi menjadi 3 bagian  yaitu:  translasi, skala  dan  rotasi.
Apabila Pengguna program (user) menginginkan  benda  tersebut  ditranslasi, data  yang  telah  ada  akan  ditranslasikan. Begitu  juga  dengan  proses  skala  data  yang telah  ada  akan  diskala  ukurannya.  Apabila pengguna  program  (user)  akan  merotasi benda yang telah terbentuk data yang berupa benda tiga dimensi akan dirotasikan.
Output:
Output  dari  proses  (tahapan)  ke-3  adalah bangun  ruang  yang  telah  terbentuk  yang dapat  di  transformasi  meliputi  translasi, skala, dan rotasi.

## MENJALANKAN PROGRAM
Untuk  masuk  program  transformasi bangun ruang tiga dimensi menggunakan visual basic  6.0.  ini  adalah  dengan  mengklik  Start  => Menu => Program => Trans3d.

## Mainform
Pada  mainform  akan  ditampilkan  benda atau  obyek yang  hendak ditransformasi.  Disini benda yang menjadi default dari program adalah kotak.
Gambar 8. Tampilan Mainform
Pada tampilan main form terdapat perintah   perintah  untuk  mentransformasikan  benda yang  telah  dibuat.  Antara  lain  adalah  translasi, scala serta rotasi.
1. Translasi
Translasi  benda  meliputi:  translasi  terhadap sumbu x+, x-, y+, y- dan z+, z-.
2. Skala
Skala benda meliputi: skala terhadap sumbu x+, x-, y+, y- dan z+, z-.
3. Rotasi
Rotasi  benda  meliputi:  rotasi  terhadap sumbu x+, x-, y+, y- dan z+, z-.
Selain  perintah    perintah  untuk mentranformasikan  benda,  terdapat  pula command  Set  objek,  command  About  serta Keluar.
Kegunaan  dari  command    command tersebut adalah sebagai berikut :
4. Set  objek berguna  untuk  mengganti  objek yang akan ditransformasikan.
Set objek digunakan apabila pengguna program menghendaki benda  yang  akan ditransformasikan diganti, pengguna
program  dapat  mengganti  dengan  cara melakukan klik pada command set objek .
Didalam  set objek  terdapat  pilihan   pilihan  untuk  memilih  benda  yang  akan  di transformasikan.  Diantaranya  adalah  Garis, Segi  tiga,  Segi  empat,  Lingkaran,  Elips, Piramid dan Kotak.
Sebelum  benda  yang  dipilih  oleh pengguna ditampilkan di Mainform, pengguna  harus  terlebih  dahulu  mengisikan besarnya  variable  yang  terdapat  di  kolom scala, translasi dan rotasi.
Pengisian  variable  di  kolom  skala meliputi  panjang,  lebar  serta  tinggi.  Pada kolom translasi meliputi x, y, z. Variable x, y,  z  menerangkan  benda  tersebut  akan digeser  sesuai  dengan  nilai  yang  telah dimasukkan.
Sedangkan  pada  kolom  rotasi juga terdapat varible x, y, z. Variable x, y, z menerangkan benda tersebut
akan dirotasikan  sesuai  dengan  nilai  yang  telah dimasukkan.
Setelah  selesai  melakukan  langkah   langkah tersebut, langkah selanjutnya adalah melakukan klik pada command set & apply. Kemudian klik pada command keluar.
Gambar 9. Tampilan Set Bangun Ruang

## PEMBAHASAN PROGRAM
Pembahasan  dari  setiap  algoritma  akan dibahas  satu  demi  satu  dalam  Bab  ini.  Berikut adalah pembahasan untuk algoritma
transformasi  bangun  ruang  tiga  dimensi  yang dibahas  pada  Bab  III.  Adapun  pembahasan dari kode-kode program adalah sebagai berikut:

## ALGORITMA
PENENTUAN LOKASI TITIK KOORDINAT

## DAN PEMBENTUKAN GARIS
Dalam  Algoritma  penentuan  lokasi  titik koordinat  objek  yang  diperlukan  adalah  letak posisi  titik    titik  dari  benda  yang  akan  di hasilkan atau di tampilkan. Adapun algoritmanya adalah sebagai mana berikut:
Public Sub ProjectObject(obj
As
Object3D, frm As Object)
Dim pnt As Long, dz As Single
For pnt = 0 To UBound(obj.vertex()) dz = obj.vertex(pnt).Z: If dz <= 0 Then dz = 0.001 obj.vertex(pnt).sx  =  (frm.ScaleWidth  /
2) + ((obj.vertex(pnt).X *              300) / dz) obj.vertex(pnt).sy  =  (frm.ScaleHeight  /  2)
+ ((obj.vertex(pnt).Y * 300) / dz) Next

## End Sub
Setelah  titik    titik  di  hasilkan  kemudian langkah  berikutnya  adalah  pembentukan  garis yang akan menghubungkan titik-titik tersebut.
Adapun  algoritmanya adalah sebagai berikut:
Private Sub DrawTriangle(obj As Object3D, poly As Long, frm As Object) Dim x0 As Long, y0 As Long Dim x1 As Long, y1 As Long x0 = obj.vertex(obj.polygon(poly).v_pointer(0)).sx y0 = obj.vertex(obj.polygon(poly).v_pointer(0)).sy x1 = obj.vertex(obj.polygon(poly).v_pointer(1)).sx y1 = obj.vertex(obj.polygon(poly).v_pointer(1)).sy frm.Line (x0, y0)-(x1, y1), obj.polygon(poly).colr frm.Line -(x0, y0), obj.polygon(poly).colr
End Sub

## ALGORITMA TRANSFORMASI OBJEK
Langkah  selanjutnya  adalah  melakukan transformasi  dari  benda  yang  telah  dihasilkan. Benda  yang telah  dihasilkan  dapat  ditranslasi, diskala maupun dirotasi.
Adapun  algoritmanya  adalah  sebagai berikut:
Public  Sub  RotateObject(yaw  As  Single,  pit As Single, rol As Single, obj As Object3D)
Dim pnt As Long Dim  x0  As  Single,  y0  As  Single,  z0  As Single Dim  x1  As  Single,  y1  As  Single,  z1  As Single Dim  x2  As  Single,  y2  As  Single,  z2  As Single ' For pnt = 0 To UBound(obj.vertex())
x0  =  Cos(yaw)  *  obj.vertex(pnt).X  + Sin(yaw) * obj.vertex(pnt).Z y0 = obj.vertex(pnt).Y z0  =  Sin(yaw)  *  obj.vertex(pnt).X  - Cos(yaw) * obj.vertex(pnt).Z
x1 = x0 y1 = Cos(pit) * y0 + Sin(pit) * z0 z1 = Sin(pit) * y0 - Cos(pit) * z0
x2 = Cos(rol) * x1 + Sin(rol) * y1 y2 = Sin(rol) * x1 - Cos(rol) * y1 z2 = z1
obj.vertex(pnt).X = x2 obj.vertex(pnt).Y = y2 obj.vertex(pnt).Z = z2
Next
End Sub Public  Sub  ScaleObject(xs  As  Single,  ys  As Single, zs As Single, obj As Object3D)
Dim pnt As Long
For pnt = 0 To UBound(obj.vertex()) obj.vertex(pnt).X = obj.vertex(pnt).X * xs obj.vertex(pnt).Y = obj.vertex(pnt).Y * ys obj.vertex(pnt).Z = obj.vertex(pnt).Z * zs Next
End Sub Public  Sub  TranslateObject(tx  As  Long,  ty As Long, tz As Long, obj As Object3D)
Dim pnt As Long
For pnt = 0 To UBound(obj.vertex()) obj.vertex(pnt).X = obj.vertex(pnt).X + tx obj.vertex(pnt).Y = obj.vertex(pnt).Y + ty obj.vertex(pnt).Z = obj.vertex(pnt).Z + tz Next End Sub

## KESIMPULAN
Setelah  dilakukan  implementasi  dari algoritma-algoritma  yang  dibahas  pada  bab  3, penulis dapat menyimpulkan sebagai berikut:
Algoritma  transformasi  bangun  di  ruang tiga dimensi, adalah:
a. Proses  penentuan  lokasi  titik  koordinat  dan pembentukan  garis  harus  terlebih  dahulu  di tentukan nilai  nilainya.
b. Proses  Transformasi  Objek  dapat  dilakukan setelah objek yang diinginkan telah dibuat.
c. Proses Transformasi Obyek berupa translasi, skala maupun rotasi.

## DAFTAR PUSTAKA
1. Nugroho, E., 2005, Teori & Praktek Grafika
Komputer menggunakan Delphi dan OpenGL , Graha Ilmu, Yogjakarta.
2. Bambangwirawan, P.,  2004, Grafika Komputer dengan C , Andi, Yogjakarta. 3. Suyoto, Dr., 2003, Teori dan Pemprograman  Grafika  Komputer  dengan Visual C++  V.b dan OpenGL , Gavamedia,
Yogjakarta.
4. Pranata, A., 2000,
Algoritma dan
Pemprograman , J&J Learning, Yogjakarta.
5. Santoso, I. P., 1994, Grafika Komputer dan Antarmuka Grafis , Andi, Yogjakarta.
6. Yuswanto,  2002, Visual  Basic  6.0 Pemprograman  Grafis  & Multimedia , Prestasi Pustaka Publisher, Surabaya.