Sabtu, 28 Januari 2012

Jawaban Soal Nomor (3) Pemrograman Visual


Public Class LOGIN

    Private Sub btnmasuk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnmasuk.Click
        If username.Text = "arwin" And password.Text = "putra" Then
            Menu_Utama.Show()
            Me.Hide()


        Else
            MsgBox("data username/password salah, Caba kembali!!!")
            username.Text = ""
            password.Text = ""
        End If

    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End
    End Sub
End Class

Maka Tampilan :



Public Class Menu_Utama

    Private Sub DataPembayaranPDAMToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataPembayaranPDAMToolStripMenuItem.Click
        Tagihan_PDAM.show()
    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub
End Class


Maka Tampilan:






Public Class Tagihan_PDAM

    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click
        Dim x As String
        x = Microsoft.VisualBasic.Left(kodepelanggan.Text, 3)
        If x = "TOK" Then
            tipepelanggan.TabIndex = "TOKO"
            biayabeban.Text = 25000
            hargaperm3.Text = 300

        ElseIf x = "RUM" Then
            tipepelanggan.Text = "RUMAH"
            biayabeban.Text = 15000
            hargaperm3.Text = 100

        ElseIf x = "SWA" Then
            tipepelanggan.Text = "SWALYAN"
            biayabeban.Text = 10000
            hargaperm3.Text = 200

        ElseIf x = "PAB" Then
            tipepelanggan.Text = "PABRIK"
            biayabeban.Text = 25000
            hargaperm3.Text = 500

        End If

        x = Microsoft.VisualBasic.Mid(kodepelanggan.Text, 4, 1)

        If x = "-" Then


        End If

        x = Microsoft.VisualBasic.Mid(kodepelanggan.Text, 5, 3)
        If x = "MED" Then
            daerahpelanggan.Text = "MEDAN"
        ElseIf x = "BEL" Then
            daerahpelanggan.Text = "BELAWAN"
        ElseIf x = "TEM" Then
            daerahpelanggan.Text = "AKSARA"
        ElseIf x = "BIN" Then
            daerahpelanggan.Text = "BINJAI"
        ElseIf x = "PAK" Then
            daerahpelanggan.Text = "LUBUK-PAKAM"



        End If

        x = Microsoft.VisualBasic.Mid(kodepelanggan.Text, 8, 1)

        If x = "-" Then


        End If


        nomorurut.Text = Microsoft.VisualBasic.Mid(kodepelanggan.Text, 9, 3)

        totaltagihan.Text = Val(biayabeban.Text) + Val(hargaperm3.Text) * Val(jumlahpemakaian.Text)

        totaltagihanppn.Text = (0.01) * Val(totaltagihan.Text) + Val(totaltagihan.Text)
    End Sub
    Private Sub btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click
        kodepelanggan.Text = ""
        daerahpelanggan.Text = ""
        tipepelanggan.Text = ""
        biayabeban.Text = ""
        hargaperm3.Text = ""
        jumlahpemakaian.Text = ""
        totaltagihan.Text = ""
        totaltagihanppn.Text = ""
        nomorurut.Text = ""

    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        End
    End Sub
End Class


Maka Hasil Akhir Adalah:


Jawaban Quiz Online No (2) Pemrograman Visual Semester V

 Lihat kasus di Link Soal ini!

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        kodebarang.Items.Add("TS001")
        kodebarang.Items.Add("TS002")
        kodebarang.Items.Add("VG001")
        kodebarang.Items.Add("VG002")
        buattabel()

    End Sub

    Private Sub kodebarang_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kodebarang.SelectedIndexChanged
        Dim x As String
        x = Microsoft.VisualBasic.Left(kodebarang.Text, 2)
        If x = "TS" Then
            merk.Text = "Toshiba"
        ElseIf x = "VG" Then
            merk.Text = "V-Gen"
        End If
        x = Microsoft.VisualBasic.Right(kodebarang.Text, 3)
        If x = "001" Then
            namabarang.Text = "Flashdisk 4GB"
        ElseIf x = "002" Then
            namabarang.Text = "Flashdisk 2GB"
        End If
        If kodebarang.Text = "TS001" Then
            harga.Text = "105000"
        ElseIf kodebarang.Text = "TS002" Then
            harga.Text = "75000"
        ElseIf kodebarang.Text = "VG001" Then
            harga.Text = "90000"
        ElseIf kodebarang.Text = "VG002" Then
            harga.Text = "60000"
        End If
    End Sub


    Private Sub jumlahbeli_KeyPress1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles jumlahbeli.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)
        If tombol = 13 Then
            btnproses_Click(sender, e)
        End If
    End Sub


    Private Sub btnproses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnproses.Click
        totalharga.Text = Val(jumlahbeli.Text) * Val(harga.Text)
    End Sub


    Sub buattabel()
        With LV
            .Columns.Add("Nomor Pembelian", 100, HorizontalAlignment.Center)
            .Columns.Add("Kode Barang", 100, HorizontalAlignment.Left)
            .Columns.Add("Nama Barang", 100, HorizontalAlignment.Left)
            .Columns.Add("Merk", 110, HorizontalAlignment.Left)
            .Columns.Add("Harga", 110, HorizontalAlignment.Left)
            .Columns.Add("Jumlah Beli", 110, HorizontalAlignment.Left)
            .Columns.Add("Total Harga", 120, HorizontalAlignment.Center)
            .View = View.Details
            .GridLines = True
            .FullRowSelect = True
        End With
    End Sub

    Sub isitabel()
        Dim lst As New ListViewItem
        lst.Text = nopembelian.Text
        lst.SubItems.Add(kodebarang.Text)
        lst.SubItems.Add(namabarang.Text)
        lst.SubItems.Add(merk.Text)
        lst.SubItems.Add(harga.Text)
        lst.SubItems.Add(jumlahbeli.Text)
        lst.SubItems.Add(totalharga.Text)
        LV.Items.Add(lst)
    End Sub
    Sub clean()
        nopembelian.Text = ""
        kodebarang.Text = ""
        namabarang.Text = ""
        merk.Text = ""
        harga.Text = ""
        jumlahbeli.Text = ""
        totalharga.Text = ""
    End Sub

    Private Sub btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsimpan.Click
        Call isitabel()
        Call buattabel()
        Call clean()
    End Sub

    Private Sub btnbersih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbersih.Click
        Call clean()
    End Sub

    Private Sub btnhapusdatapilihan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapusdatapilihan.Click
        If LV.SelectedItems.Count <> 0 Then
            LV.Items.Remove(LV.SelectedItems(0))
        Else
            MsgBox("Maaf, Anda Belum Memilih Item Yang Ingin Di Hapus! Silahkan Pilih Dulu!!")
        End If
    End Sub

    Private Sub btnhapussemua_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapussemua.Click
        LV.Items.Clear()
    End Sub

    Private Sub btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
        Close()
    End Sub


End Class

Hasil Gambar:

Selasa, 24 Januari 2012

Cara Mempercepat Running / Performa Komputer (Windows XP)

Hello2..
Mau berbagi pengetahuan dan tips lagi nih buat komputer atau laptop Kamu biar awet mudah and ga cepet rusak.. Lagi testing juga di laptopku.. Kalo komputernya rusak gara2 cpu nya di banting2 si itu tanggungan Sendiri ya!!! Hhehehehee, (jangan tanya saya)

OK, langsung aja nih tips2 yar komputernya awet muda..

1. Untuk menurunkan waktu booting dan meningkatkan performa, tidak usah menggunakan software defrag pihak ketiga, gunakan saja perangkat Defragmenter yang buatan (built-in) Windows, tidak akan jauh beda. Dan juga, sebaiknya menggunakan Harddisk dengan tipe Ultra-133 atau Serial ATA (SATA) dengan buffer 8-MB.

2. Jika RAM PC kurang dari 512 MB, maka sebaiknya ditambah kapasitas memorinya. Hal ini relatif tidak mahal dan akan membantu meningkatkan performa sistem Anda

3. Pastikan file system yang digunakan Windows XP adalah NTFS. Cara memeriksanya:
a. Buka Windows Explorer
b. Klik kanan pada drive C:
c. Klik Properties.
Kalau ternyata file system Anda menggunakan FAT32, maka untuk mengubahnya adalah dengan cara sebagai berikut:
- Backup data-data penting dulu ya.
- Klik Start > Run > ketik CMD
- Setelah muncul jendela Command Prompt, ketik:
Code:
CONVERT C: /FS:NTFS
Catatan: Komputer jangan disela ketika melakukan konversi ini, dan juga dalam keadaan bebas dari virus. File system yang digunakan oleh drive bootable (biasanya C: ) bisa FAT32 atau NTFS. Saya sangat merekomendasikan untuk menggunakan NTFS demi keamanan superior, ketahanan dan efisiensi ruang yang lebih besar.

4. Non aktifkan File Indexing. Layanan File Indexing mengekstraksi informasi dari dokumen-dokumen dan file-file lainnya yang ada pada harddisk dan membuat sebuah “searchable keyword index” (index keyword pencarian). Bisa dibayangkan proses ini sangat memberatkan sistem. 
Cara kerjanya sbb:
Seorang user mencari kata, frase, atau properti sebuah dokumen, dari dokumen-dokumen yang jumlahnya ratusan atau ribuan dan ia tidak tahu nama dari dokumen yang dicari. Windows XP dengan fungsi built-in search masih bisa melakukan berbagai macam jenis pencarian tanpa melibatkan Indexing Service. Tapi agak lebih lama. Sistem Operasi harus membuka tiap file ketika diminta tolong mencari apa yang user inginkan. Kebanyakan orang tidak membutuhkan fitur pencarian ini. Yang biasanya membutuhkan adalah lingkungan perusahaan yang besar dimana ribuan dokumen diletakkan pada paling tidak satu server. Akan tetapi jika hanya semacam system builder, yang kebanyakan kliennya adalah bisnis kecil dan menengah, dan jika para klien tidak membutuhkan fitur tersebut, saya rekomendasikan supaya mendisfungsikannnya (disable) layanan tersebut.
Caranya Mendisfungsikannya:
a. Buka Windows Explorer (My Computer)
b. Klik kanan pada drive C:
c. Pilih Properties
d. Hilangkan tanda centang (checklist) “Allow Indexing Service to index this disk for
fast file searching.”
e. Klik tombol Apply, muncul: apply changes to “C: subfolders and files”
f. Klik tombol OK.
Jika ada pesan peringatan atau error muncul (seperti “Access is denied”), klik tombol
Ignore All.

5. Update driver VGA dan chipset motherboard, termasuk update BIOS dan konfigurasinya. Carilah info-info tentang konfigurasi BIOS secara tepat di internet.

6. Kosongkan folder Prefetch windows setiap 3 bulan atau lebih.  Windows XP merekam sebagian dari data atau aplikasi yang sering digunakan agar membuat proses load kelihatan lebih cepat ketika dipanggil oleh user. Hal ini bagus, tetapi untuk waktu yang lama, folder prefetch bisa jadi kelebihan muatan referensi file dan aplikasi yang tidak lagi digunakan. Jika hal itu terjadi, Windows XP akan membuang-buang waktu dan memperlambat performa sistem, ketika melakukan load aplikasi atau file. Tidak ada yang penting dalam folder tersebut, dan seluruh isinya aman untuk dihapus.
Folder tersebut terletak di: C:¥WINDOWS¥Prefetch¥

7. Sekali sebulan jalankan disk cleanup.
Caranya:
a. Buka Windows Explorer (My Computer)
b. Klik kanan pada drive C:
c. Pilih Properties
d. Klik tombol Disk Cleanup dan delete semua file temporer.

8. Pada Device Manager, klik ganda pada IDE ATA/ATAPI Controllers device, dan pastikan DMA di-enable (diaktifkan) untuk tiap drive yang terhubung ke Primary Controller dan atau Secondary controller.
Lakukan hal ini dengan cara:
a. Klik ganda pada Primary IDE Channel. kemudian klik tab Advance Settings.
b. Pastikan Transfer Mode -nya diset pada “DMA if Available” untuk kedua Device 0 dan Device 1.
c. Lakukan hal serupa pada Secondary IDE Channel.

9. Upgrade Pengkabelan. Untuk peningkatan teknologi harddisk, dibutuhkan pengakabelan yang akan mendorong performa lebih baik. Pastikan untuk menggunakan kabel 80-wire Ultra-133 untuk semua device IDE dan gunakan konektor yang cocok dengan socket Master/Slave/Motherboard. Kalo Device-nya cuma satu, harus dihubungkan pada konektor yang paling ujung dari kabel pita (kabel data), jangan pada konektor yang di tengah kabel pita, jika tidak, maka akan terjadi masalah sinyal. Pada harddisk ultra DMA, masalah sinyal ini bisa mencegah harddisk memaksimalkan potensinya.

10. Buang semua spyware dari komputer. Gunakan program gratisan seperti AdAware buatan Lavasoft atau SpyBot Search &\ Destroy. Setelah program ini terinstal, pastikan untuk melakukan cek update dan mendownloadnya jika ada, sebelum melakukan pencarian spyware di komputer. Apapun program yang ditemukan bisa dihapus secara aman. Semua program gratisan yang meminta spyware untuk dijalankan tidak akan berfungsi lagi. Jika program-program gratisan itu masih dibutuhkan tinggal instal lagi saja.

11. Buang semua program atau item yang tidak perlu dari rutin (routin) Windows Startup dengan menggunakan utilitas MSCONFIG.
Caranya:
a. Klik Start > Run > ketik MSCONFIG > klik OK
b. Klik tab StartUp >? kemudian hilangkan checklist (tanda centang) dari program yang tidak diinginkan. Tidak paham dengan item-item tersebut? Kunjungi WinTasks Process Library. Situs itu memuat proses sistem, aplikasi yang diketahui dan juga tentang referensi spyware dan penjelsannya. Atau bisa diidentifikasi nama item-item tersebut secara langsung dengan menggunakan google.

12. Buang semua program yang tidak digunakan dari Add/Remove Programs di Control Panel.

13. Matikan beberapa atau semua animasi yang tidak dibutuhkan dan nonaktifkan (disable) active desktop. Pada kenyataannya, untuk optimasi performa, matikan semua animasi. Windows Xp menawarkan banyak setting-setting yang berbeda pada bagian ini.
Caranya:
a. Klik System Icon di Control Panel
b. Klik tab Advance
c. Klik tombol Settings pada kotak Performance.
d. Hilangkan checklist (tanda centang) opsi apa saja yang tidak ingin dijalankan.
Atau bisa langsung klik pada Radio Button: Adjust for best performance.

14. Kalo bisa mengedit Registry Windows XP, lakukan untuk meningkatkan performa XP. Bisa menggunakan software tweak atau manual mengedit registry. Di internet sudah banyak tersebar.

15. Kunjungi situs update Microsoft Windows secara rutin dan download semua update yang berlabel Critical. Download juga Optional update yang dibutuhkan. (ingat, kalau software OS windows XP -nya bajakan, jangan coba-coba untuk mengupdate, bisa dikasih “stempel” tanda bajakan sama Microsoft yang justru akan memperlambat sistem ketika booting dan running).

16. Update anti virus dalam sepekan sekali atau bahkan harian. Pastikan hanya satu software yang terinstal. Menggabungkan lebih dari satu antivirus hanya akan mengundang penyakit bagi performa dan kahandalan komputer.

17. Pastikan font yang terinstal kurang dari 500 jenis saja pada komputer. Makin banyak font, makin lambatlah sistem. Walaupun windows XP lebih efisien dalam menangani font dari pada versi sebelumnya, tapi kelebihan font akan berdampak pada melemahnya sistem.

18. Jangan partisi harddisk. NTFS File System Windows XP berjalan lebih efisien pada satu partisi yang besar. Data tidak lebih aman pada partisi terpisah, dan format ulang tidak dibutuhkan untuk instal ulang Sistem Operasi (OS). Satu partisi ini berfungsi agar tidak ada pembatasan oleh partisi akan tetapi akan dibatasi oleh ukuran kapasitas harddisk itu sendiri. Sehingga tidak perlu melakukan resize partisi yang meghabiskan waktu dan resiko kehilangan data.

19. Lakukan pengecekan terhadap sistem RAM untuk memastikan beroperasi dengan baik. Saya merekomendasikan untuk menggunakan program gratisan MemTest86. Setelah didownload, bisa membuat bootable CD atau disket (sesuai pilihan) yang akan melakukan 10 macam tes pada memory PC secara otomatis setelah malakukan boot dengan CD atau disket yang dibuat. Biarkan semua tes berjalan sampai paling tidak melewati 3 tes selesai dari 10 tes. Jika program mendapati error, matikan dan cabut listrik komputer, cabut RAM memory, ganti dengan yang lain dan lakukan tes lagi.

20. Jika terdapat CD atau DVD recorder / writer, carilah update firmware dari pabriknya. Pada beberapa kasus, upgrade terbukti bisa mempercepat recorder tersebut dan biasanya gratis.

21. Non aktifkan (disable) service (layanan) yang tidak penting. Windows XP memasang banyak service yang tidak dibutuhkan. Untuk menentukan service apa saja yang tidak dibutuhkan, buka situs Black Viper untuk konfigurasi Windows XP.


Rahasia tersembunyi Google Chrome

Hai, pengguna chrome.. Mau bagi2 rahasia neh.. dan buat kamu2 yang belum baca, jgn salahkan aku kalo ntar kamu ikutan pake chrome..
Rahasia2 ini di peruntuhkan buat kamu yang makai chrome, google chrome ini ternyata memiliki rahasia2 yang tak kita ketahui, dan memang ada sedikit pada mozilla,.
Apa aja itu

1. ‘incognito’ window (Control + Shift + N)

Fitur ini memungkinkan netter untuk browsing secara aman lewat windows browser, karena dengan fitur ini netter tidak akan meninggalkan jejak seperti ‘browser & search history’ dan cookies. Jadi kalau netter tidak yakin akan situs yang dikunjungi atau tidak ingin orang lain di tempat kerja tahu netter mengunjungi sebuah situs, fitur ini tentu berguna.

2. Alt + Home atau Control + T

Menampilkan semua situs dan bookmark yang pernah dibuka oleh netter sebelumnya dalam bentuk thumbnail. Fitur ini terdapat pada browser Opera dan add ons pada FireFox. Alt + Home untuk membuka situs pada halaman yang sama, sedangkan Control + T pada halaman baru.

3. Control + Shift + T

Membuka kembali tab yang tidak sengaja ditutup oleh netter ketika browsing. Google Chrome bisa mengingat hingga 10 tab yang tidak sengaja ditutup.

4. Control + Tab (Control + Shift + Tab)

Cobalah menggunakan shortcut ini untuk berpindah tab dengan cepat, Control + tab untuk maju dan Control + Shift + Tab untuk mundur. Cara lainnya untuk langsung ke posisi yang tuju secara urut adalah dengan shortcut Control + 1, Control + 2 hingga Control + 9.

5. Membuka Link Situs Dengan Cepat

Untuk membuka link situs dengan cepat, Google Chrome menyediakan fitur yang sama dengan FireFox 3, yaitu dengan klik pada mouse scroll atau netter langsung klik dan drag link ke tab browser.

6. Bookmark Situs Dengan Cepat

Klik tanda bintang pada bagian kiri dari address bar dari browser. Address bar Chrome juga bisa langsung berfungsi sebagai seacrh page yang langsung ke search engine yang kita inginkan

7. Control + B

Hilangkan dan tampilkan Bookmark browser dengan cepat.

8. Control + H

Buka semua situs yang pernah dikunjungi (history) dengan cepat. Pada bagian kanan ada pilihan delete history for this day, kalau netter ingin menghapus history situs yang pernah dikunjungi pada hari tersebut.

9. Control + J

Buka windows download file. Shortcut ini sama seperti pada FireFox

10. Shift + Escape

Buka task manager Google Chrome dengan cepat untuk melihat pemakaian memori dan untuk mematikan tab yang berpotensi membuat browser freeze (hang)

11. about :plugins & about:crash

Masukkan kata-kata about:plugins pada address bar untuk melihat plugins apa saja yang terinstall pada Chrome. Dan about:crash untuk melihat tab mana yang membuat Chrome crash, freeze atau hang. Fitur lainnya: about:stats, about:network, about:histograms, about:memory, about:cache, about:dns, about:internets
 
12. Akses menu pada Chrome

Netter bisa mengakses menu-menu untuk meng-customize ataupun optimize pada bagian kanan pada browser. Pilihlah menu yang ada gambar ‘Kunci Inggris’ lalu pilihlah option. Di dalamnya terdapat banyak pilihan seperti menjadikan Chrome sebagai default browser, mengganti default Search, mengganti bahasa, dan lain sebagainya


Minggu, 22 Januari 2012

Transformasi Antar Sistem Koordinat

Sistem-sistem Koordinat 

Dalam “dunia” model bisa terdefinisi sejumlah sistem koordinat. Sistem-sistem koordinat tersebut berada dalam skalanya serta titik referensi (origin) dan orientasinya masing-masing. Yang terpenting ialah bahwa suatu sistem koordinat memiliki hubungan geometris dengan sistem koordinat. Lain, dengan kata lain suatu sistem koordinat A bisa dipandang sebagai hasil transformasi geometris sistem koordinat B dan sebaliknya. Tetapi, biasanya di dalam pemodelannya hubungan tersebut hanya direpresentasikan untuk satu arah saja serta secara hirarkis. Biasanya pula, sistem koordinat world dijadikan sisten koordinat paling atas dalam hirarki ini. Pendefinisian sistem-sistem koordinat ini dimaksudkan untuk menyederhanakan deskripsi multi-obyek multi bagian sehingga setiap obyek bahkan bagian obyek dapat memiliki sistem koordinatnya sendiri. Dengan pendefinisian demikian maka suatu obyek atau bagian obyek mengalami transformasi geometris maka representasi obyek atau bagian obyek itu tidak perlu bertransformasi tersebut tetapi cukup hanya sistem koordinatnya saja yang bertransformasi. Keuntungan lainnya adalah bisa terjadi terdapat beberapa obyek dengan bentuk geometris yang sama. Obyek-obyek tersebut direpresentasikan dengan data gemetris yang sama kecuali transformasi dari sistem koordinatnya yang berbeda (serta sejumlah atribut yang lain).

Contohnya dalam sistem koordinat world terdapat suatu rumah dengan sistem koordinatnya sendiri. Sistem koordinat rumah tersebut dinyatakan dalam sistem koordinat world sementara bagian-bagian rumah dinyatakan dalam sistem koordinat rumah tersebut. Di dalam rumah terdapat sejumlah furniture yang dinyatakan dalam sistem koordinatnya masing-masing. Pada lemari terdapat bagian dari lemari yang dapat bergerak sehingga perlu juga deskripsi lemari tersebut berisikan suatu komponen yang memiliki sistem koordinatnya sendiri. Dalam contoh tersebut maka dalam sistem koordinat world terdapat sistem koordinat rumah, mobil, dll. Di dalam sistem koordinat rumah terdapat sejumlah meja, kursi, lemari, alat-alat dapur, elektronis, dll. Pada sistem koordinat lemari terdapat dua pintu lemari serta beberapa laci. Sementara pada sistem koordinat pintu lemari terdapat kunci dan anak kunci. Jika pada contoh masalah di atas semua obyek secara langsung dinyatakan sebagai primitif-primitif grafika dalam sistem koordinat world maka betapa rumitnya untuk melakukan transformasi lemari (misalnya lemari digeser dari satu posisi ke posisi lain). Sistem harus mengetahui primitif mana yang ikut ditransformasikan dan mana yang tidak. Keterhubungan satu bagian dengan bagian yang lain secara ideal harus dinamis misalnya laci lemari bisa dilepaskan dari badan lemarinya.

Formulasi Transformasi Antar Koordinat

Namun pada akhirnya dalam penggambaran di layar kita harus menyatakan seluruh primitif-primitif yang akan digambarkan itu dalam sistem koordinat layar. Jadi kita perlu memiliki transformasi antar sistem koordinat. Jika suatu sistem koordinat B dapat di pandang sebagai hasil transformasi geometris dari sistem koordinat A dengan matriks transformasi M maka setiap titik (xB, yB) yang dinyatakan dalam sistem koordinat B dapat dinyatakan dalam sistem koordinat A sebagai (xA, yA) dalam hubungan persamaan berikut ini.
[xA yA 1]T = M [xB yB 1]T
setiap titik (xA, yA) yang dinyatakan dalam sistem koordinat A dapat dinyatakan dalam sistem koordinat B sebagai (xB, yB) dalam hubungan persamaan berikut ini.
[xB yB 1]T = M-1 [xA yA 1]T
Ingat juga bahwa Untuk M = Mn M2 M1 maka M-1 = M1-1 M2-1 … Mn-1
Untuk M = R( ) maka M-1 = R( ) Untuk M = T(tx, ty, tz) maka M-1 = R(-tx, -ty, -tz)
Untuk M = S(sx, sy, sz) maka M-1 = S(1/sx, 1/sy, 1/sz)
Sehingga apabila kita mengetahui transformasi-transformasi komponen dari suatu transformasi dengan matriks transformasi M maka matriks transformasi arah kebalikkannya yaitu M-1 mudah didapat tanpa harus melakukan operasi inverse matriks M.

Misalnya suatu sistem koordinat 2D berada pada sistem koordinat world 2D pada posisi (10, 5) dan orientasi 30 maka matriks trasnformasi sistem koordinat ini terhadap sistem koordinat world adalah

M = T(10, 5).R(30 ).

Suatu titik (5, 2) yang dinyatakan pada sistem koordinat ini dinyatakan pada sistem koordinat world sebagai (x, y) dengan [x y 1]T = T(10, 5).R(30 ).[5 2 1]T = T(10, 5). [(5 cos 30 -2 sin 30 ) (5 sin 30 + 2 cos 30 ) 1]T = T(10, 5).[3.33 4.23 1]T = [13.33 9.23 1]T. Jadi titik (5, 2) dalam sistem koordinat tersebut, jika dalam sistem koordinat world menjadi (13.33, 9.23).



Sebaliknya titik (15, 15) pada sistem koordinat world jika dalam koordinat tersebut menjadi (u, v) dimana: [u v 1] T = R(-30 ).T(-10, -5).[15 15 1]T = R(-30 ).[5 10 1]T = [(5 cos -30 -10 sin -30 ) (5 sin -30 + 10 cos -30 ) 1]T = [9.33 6.16 1] T.
Formulasi Matriks Transformasi M Kita sudah ketahui bahwa jika transformasi hanya terdiri atas sejumlah rotasi maka matriks akan berbentuk sebegai berikut (baris keempat dan kolom keempat berharga 0 kecuali pada pojok kanan bawahnya.


Jika vektor-vektor unit (1, 0, 0), (0, 1, 0) dan (0, 0, 1) dalam sistem koordinat B -- masing-masing adalah vektor yang berimpit pada sumbu-sumbu yang berlainan sistem koordinat B -- maka vektor-vektor itu jika dinyatakan dalam sistem koordinat A akan menjadi (m1x, m2x, m3x), (m1y, m2y, m3y), (m1z, m2z, m3z) yan masing-masing adalah matriks kolom dari M tersebut. Dengan hal ini maka kita dapat menghitung matriks transformasi M secara umum jika sistem koordinat B

dinyatakan dengan vektor-vektor unit yang ortogonal (ux, uy, uz), (vx, vy, vz), dan (nx, ny, nz) serta origin berada pada titik (ox, oy, oz) diketahui (semuanya dalam sistem koordinat A).