PEMODELAN DAN OPERASI GRAFIK VEKTOR SURVACE 3D DENGAN MEMANFAATKAN FUNGSI RUMUS-RUMUS MATEMATIK TRIGONOMETRI

Teks penuh

(1)

P

EMODELAN DAN

O

PERASI

G

RAFIK

V

EKTOR

S

URVACE

3D

D

ENGAN

M

EMANFAATKAN

F

UNGSI

R

UMUS

-R

UMUS

M

ATEMATIK

T

RIGONOMETRI  

Dede Suryana,Ir.,M.Si

Teknik Informatika, STMIK IM, Jl.Jakarta No.79 Bandung Suryana_ds@yahoo.co.id

 

Abstrak

Grafik komputer adalah salah satu disiplin ilmu yang mendukung komputerisasi grafis. Saat ini kita dapat melihat bahwa teknologi grafik komputer telah banyak dimanfaatkan oleh berbagai kalangan untuk menunjang berbagai kebutuhan manusia, salah satunya kalangan matematikawan untuk menampilkan secara visual formula-formula matematika ke dalam grafik komputer tiga dimensi. Teknik penyajian objek gambarnya juga berbeda-beda, salah satunya model rangka.

Pendekatan model operasi grafik vektor dilakukan dengan transformasi rotasi objek grafik tiga dimensi dengan pendekatan algoritma yang digunakan untuk membangkitkan dan memanipulasi gambar pada layar tampilan, Untuk proses transformasi banyak melibatkan fungsi matematika, salah satunya menggunakan fungsi matriks dan vektor, sehingga objek grafis tersebut dapat dimanipulasi dan di proyeksikan dari berbagai arah dan sudut pandang yang berbeda.

Keyword: grafik komputer, pemodelan, trigonometri

1. Pendahuluan

Teknologi grafika komputer telah banyak dimanfaatkan untuk menunjang berbagai kebutuhan manusia, salah satunya yang sangat terkenal adalah pemanfaatan grafik komputer dalam pembuatan permukaan tiga dimensi yang banyak di gunakan oleh bidang sains dan teknologi, kalangan matematikawan untuk menggambar, mengukur dan menyajikan hasil formulasi ke bentuk objek secara visual, misalnya menampilkan objek berdasarkan fungsi rumus matematika biasa, berdasarkan fungsi invers dan juga hyperbola yang bisa di evaluasi dalam berbagai bentuk dan sudut pandang yang berbeda dan banyak hal lagi yang memanfaatkan grafik komputer.

Topik tentang grafik komputer tentu tidak terlepas dari berbagai metoda dan algoritma yang diperlukan untuk membangkitkan gambar pada layar tampilan dan cara memanipulasi gambar agar sesuai dengan yang di inginkan. lebih jauh, fungsi rumus-rumus matematika dapat menghasilkan gambar grafik yang indah. Salah satunya adalah pemanfaatan fungsi matematika trigonometri, fungsi matematika ini merupakan metode dasar yang paling penting dalam menggambar suatu objek dengan teknik transformasi, seperti salah satunya transformasi rotasi, dan pemberian efek pencerminan serta proyeksi perspektif maka objek grafik tersebut terkesan lebih hidup dan variatif. Teknik transformasi ini pula dapat di manfaatkan pada objek dua dimensi atau tiga dimensi. Untuk mendukung proses transformasi dalam studi ini, objek gambar yang di gunakan penulis adalah bervariasi sesuai dengan rumus yang dimasukkan, misalnya, garis-garis yang saling sambung menyambung membentuk permukaan bola, permukaan hiperbola terbuka kebawah atau keatas, permukaan elipsoida, dan lain-lain. Dengan transformasi objek ini dapat dimanfaatkan untuk menggambar struktur suatu objek tiga dimensi dari berbagai arah dan memanipulasinya sesuai dengan kebutuhan.

“Microsoft Visual Basic 6.0” menjadi pilihan penulis untuk mengaplikasikan secara visual teknik transformasi grafik vektor tiga dimensi dengan menggunakan fungsi matematika trigonometri.

2. Perancangan Model Objek Grafik Vektor 3D

Tahapan perancangan yang dilakukan dalam studi ini adalah “

A. Tahap Konsep Pembentukan Model Objek Tiga Dimensi B. Tahap Perancangan Model

Implementasi dari tahap perancangan tersebut adalah :

(2)

a. Perancangan Struktur Menu

implementasi perancangan struktur menu sebagai berikut.

Gambar 2.1 Struktur menu program

b. Perancangan Antarmuka (interface) GUI

Antarmuka merupakan sarana untuk berkomunikasi antara komputer dengan user, tujuannya supaya user dapat berinteraksi dengan tingkat kemudahan yang tinggi. Antarmuka yang baik harus memenuhi aturan perancangan seperti penggunaan warna yang baik, tata letak yang sesuai serta dialog yang sesuai dengan pesan yang ditulisnya. Pada program Memanfaatkan Fungsi-fungsi Rumus Matematika Trigonometri Dalam Menggambar Objek Permukaan Grafik Vektor Tiga Dimensi ini terdiri dari beberapa window diantaranya window utama untuk menampilkan objek gambar dan mengatur arah perputaran dan window yang berisi tentang informasi program. Adapun rancangan antarmuka program adalah sebagai berikut:

(3)

Gambar 2.2. Rancangan antarmuka untuk menampilkan objek gambar tiga dimensi

c. Rancangan Proses (flowchart)

Gambar 2.3. Flowchart Program

3. Implementasi Grafik 3D

Pada bagian ini penulis akan membahas bagaimana mengimplementasikan hasil rancangan yang dilakukan pada tahap merancang model. Dalam mengimplementasikan hasil rancangan tersebut penulis menggunakan bahasa pemograman “VISUAL BASIC 6.0”.

Visual Basic dipilih karena banyak menyediakan kemudahan–kemudahan dalam pemograman grafik dengan adanya suatu komponen, yaitu GDI (graphics device interface) yang khusus di rancang untuk memudahkan dalam membuat pemograman berbasis grafik.

(4)

'--- Program Utama untuk menampilkan Objek Grafik Tiga Dimensi ' Berdasarkan Fungsi Matematika Trigonometri.

'--Array dimulai pada subscript 1 sebagai default Option Base 1

'--Standar Integers

DefInt A-Q

'--Mendeklarasikan titik rst, uvw, xyz adalah Real DefSng R-Z

'--Batas Low & High sumbu x dan y dibaca dari file Dim YH(), YL(), XH(), XL()

'--Batas +/- sumbu z dibaca dari file Dim ZL()

'--Jarak Perspektif dibaca dari file Dim PD()

'--Nilai fungsi asli 3D Dim svrx(), svry(), svrz() '--Nilai fungsi Rotasi 3D Dim rx(), ry(), rz() '--Titik Layar

Dim xs(), zs()

'--Batas Tinggi Grid sumbu x dan y Dim grxhi, gryhi

'--Konversi nilai grid ke nilai sumbu x,y Dim scx, scy

'--Batas Rendah dan Tinggi sumbu x & y Dim xxlo, xxhi, yylo, yyhi

'--Batas +/- sumbu z

Dim batasZ '--Sudut putar sumbu x & z Dim sudutX, sudutZ

'--Digunakan untuk skala plot kebawah Dim zpL, zpH

(5)

'--Fungsi -> faktor skala picDisplay Dim xoff, yoff, zoff, scfx, scfy, scfz '--Digunakan dengan faktor skala

Dim xmin, zmin '--Titik mata (pada y=0) Dim titikMataX, titikMataZ '--Jarak Perspektif

Dim JarakPersp Const pi = 3.1415927

'--Simpan koordinat mouse pada klik-kanan MouseDown Dim XMouse, YMouse

'---- Nilai fungsi asli ---- ReDim svrx(1 To grxhi, 1 To gryhi) ReDim svry(1 To gryhi, 1 To gryhi) ReDim svrz(1 To grxhi, 1 To gryhi) '---- Nilai fungsi Rotasi ---- ReDim rx(1 To grxhi, 1 To gryhi) ReDim ry(1 To gryhi, 1 To gryhi) ReDim rz(1 To grxhi, 1 To gryhi) '---- Nilai Tampilan ----

ReDim xs(1 To grxhi, 1 To gryhi) ReDim ys(1 To grxhi, 1 To gryhi) ReDim zs(1 To grxhi, 1 To gryhi)

'---- Memakai rotasi untuk data asli tentang sumbu-z ---- For J = 1 To gryhi

For I = 1 To grxhi

rx(I, J) = svrx(I, J) * Cos(sudutX) + svry(I, J) * Sin(sudutX) ry(I, J) = svry(I, J) * Cos(sudutX) - svrx(I, J) * Sin(sudutX) rz(I, J) = svrz(I, J)

Next I Next J

'-- Memakai rotasi tentang sumbu-x For J = 1 To gryhi

For I = 1 To grxhi rx(I, J) = rx(I, J)

ry(I, J) = ry(I, J) * Cos(xang) - rz(I, J) * Sin(xang) rz(I, J) = ry(I, J) * Sin(xang) + rz(I, J) * Cos(xang) Next I

Next J

‘---- Proses penggambaran garis saat rotasi '---- Gambar garis sumbu X ----

picDisplay.ForeColor = culgreen& For J = 1 To gryhi

res& = MoveToEx(phdc&, xs(1, J), zs(1, J), pp) For I = 1 + 1 To grxhi

res& = LineTo(phdc&, xs(I, J), zs(I, J)) Next I

Next J

'---- Gambar garis sumbu Y ----

picDisplay.ForeColor = culcyan& For I = 1 To grxhi

(6)

Next I Next J

'---- Gambar garis sumbu-Y ----

picDisplay.ForeColor = culcyan& For I = 1 To grxhi

res& = MoveToEx(phdc&, xs(I, 1), p - zs(I, 1), pp) For J = 1 + 1 To gryhi

res& = LineTo(phdc&, xs(I, J), p - zs(I, J)) Next J

Next I End If

A.2. Pengkodean Untuk Objek Gambar 

  Pengkodean objek gambar meliputi pengkodean untuk masing–masing objek permukaan berdasarkan rumus yang di masukkan, sedangkan fungsi dan prosedur yang dibuat untuk lebih jelasnya dapat dilihat pada listing program berikut ini, sedangkan untuk listing program yang utuh dapat dilihat pada lampiran.

'--- Program Utama untuk menampilkan Objek Grafik Tiga Dimensi '---- Gambar garis sumbu X ----

picDisplay.ForeColor = culgreen& For J = 1 To gryhi

res& = MoveToEx(phdc&, xs(1, J), zs(1, J), pp) For I = 1 + 1 To grxhi

res& = LineTo(phdc&, xs(I, J), zs(I, J)) Next I

Next J

'---- Gambar garis sumbu Y ----

picDisplay.ForeColor = culcyan& For I = 1 To grxhi

res& = MoveToEx(phdc&, xs(I, 1), zs(I, 1), pp) For J = 1 + 1 To gryhi

res& = LineTo(phdc&, xs(I, J), zs(I, J)) Next J

Next I

'---- Untuk mengeksekusi formula yang dipilih pada daftar formula ---- Private Sub cmdEvaluasi_Click()

On Error GoTo evalerror yyhi = Val(txtYHI.Text) yylo = Val(txtYLO.Text) xxhi = Val(txtXHI.Text) xxlo = Val(txtXLO.Text) batasZ = Val(txtZLIM.Text) JarakPersp = Val(txtPERSPEC.Text)

(7)

If (yyhi = 0 And yylo = 0) Or (xxhi = 0 And xxlo = 0) Then

MsgBox ("Batas nol dapat menyebabkan terlalu banyak error" + vbCrLf + "Ganti batas")

Exit Sub End If

If yylo > yyhi Then

MsgBox ("Y-High harus lebih tinggi dari Y-Low!" + vbCrLf + "Ganti batas")

Exit Sub End If

If xxlo > xxhi Then

MsgBox ("X-High harus lebih tinggi dari X-Low!" + vbCrLf + "Ganti batas") Exit Sub End If     A.3.  Pengkodean Untuk Konversi Rumus 

  Fungsi konversi rumus adalah suatu fungsi yang digunakan untuk memproses rumus yang dimasukkan baik yang ada pada daftar atau rumus baru agar bisa dimengerti oleh program. Untuk lebih jelasnya fungsi dan prosedur yang terdapat pada modul ini dapat dilihat pada potongan listing program dibawah ini.

‘--- Modul Program MdlTrigonometri.Bas

‘---Deklarasi Global untuk dipanggil oleh unit lain Public Sub GantiPI(inval$)

Public Sub GantiLN(inval$) Public Sub GantiLOG(inval$) Public Sub GantiASIN(inval$) Public Sub GantiACOS(inval$) Public Sub GantiCOSH(inval$) Public Sub GantiTANH(inval$)

'--- Ganti sub-string p1->p2 dalam inval$ dengan rep$ Public Sub GantiStr(inval$, p1, p2, rep$)

Public Sub GantiXY(inval$, ByVal X, ByVal Y)

'--- Tekanan diluar spasi, trim & hapus beberapa penunjuk + Public Sub TekananSpasi(inval$)

'--- Cari angka jadi pada karakter c$ dalam inval$ Public Function NumOccStr(inval$, c$)

'---pin adalah posisi pada (pout jika posisi kurung sesuai ) Public Sub CariKurungTutupYgSesuai(inval$, pin, pout)

Public Function zAtn2(Y, X) B. Hasil

Hasil dari implementasi pada rancangan pembuatan objek grafik tiga dimensi ini yaitu terbentuknya perangkat lunak, dimana perangkat lunak ini terdiri dari beberapa bagian yaitu seting yang berguna untuk mengatur objek gambar dan bidang gambar yang berfungsi sebagai tempat untuk menampilkan gambar tersebut.

(8)

Gambar 3.2. Antarmuka dan contoh tampilan objek pada bidang gambar.

4. Kesimpulan

Hasil Studi dari pemodelan computer grafik yang telah disajikan maka didapat beberapa kesimpulan sebagai berikut:

1. Grafik dapat digunakan dan dimanfaatkan dalam berbagai disiplin ilmu, salah satunya adalah dalam pemodelan suatu objek.

2. Suatu objek grafik dapat ditampilkan dengan baik jika didukung oleh piranti yang baik pula. 3. Fungsi-fungsi rumus trigonometri menghasilkan suatu objek grafik yang indah dan unik.

4. Program grafik vektor ini sangat membantu bagi pengguna yang berprofesi di bidang perencanaan yang banyak menggunakan rumus-rumus matematika untuk pemodelan.

Daftar Pustaka

[1] Agustinus Nalwan, “Pemograman Animasi dan Game Professional 1,2 dan 3”.

[2] Cornel Pokorny, 1994, “Computer Graphics An Object-Oriented Approach To The Art and Science Implemented In C++”, Franklin, Beedle & Associates Incorporated, Wilsonville, Oregon.

[3] Dani Okianto, 1997, “Panduan Belajar Microsoft Visual Basic 6.0”, Jakarta, PT. Elex Media Komputindo. [4] P. Insap Santosa, Ir., M.Sc., 1994, “Grafika Komputer dan Antarmuka Grafis”, Penerbit Andi Offset

Yogyakarta, Cetakan Pertama,

[5] Rahadian Hadi, 2001,”Pemrograman Window API dengan Microsof Visual Basic, Jakarta, PT. Elex Media Komputindo.

[6] Sunaryat, Anang, 2003, Pemodelan dan Operasi Grafik Vektor Surface 3D , Bandung [7] http://3Dblackhole.base.org “Mathematics of 3D Graphics”.

[8] http://3Dblackhole.base.org “3D Transformations Second part of The 3D Coding Blackhole Tutorial  

Figur

Gambar 2.1  Struktur menu program

Gambar 2.1

Struktur menu program p.2
Gambar 2.2. Rancangan  antarmuka untuk menampilkan objek gambar tiga dimensi  c.  Rancangan Proses (flowchart)

Gambar 2.2.

Rancangan antarmuka untuk menampilkan objek gambar tiga dimensi c. Rancangan Proses (flowchart) p.3
Gambar 2.3.  Flowchart Program

Gambar 2.3.

Flowchart Program p.3
Gambar 3.2.  Antarmuka dan contoh tampilan objek pada bidang gambar.

Gambar 3.2.

Antarmuka dan contoh tampilan objek pada bidang gambar. p.8

Referensi

Memperbarui...

Related subjects :