Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

dokumen-dokumen yang mirip
Kata Kunci: computer adaptive test, adaptive learning, algoritma cohen-sutherland

Tampilan 2 Dimensi. Clipping 2 Dimensi. Tampilan 2 Dimensi. Penggambaran 2 Dimensi. Clipping 2 Dimensi. Ketampakan Garis 10/20/2017

Viewing and Clipping 2D. Farah Zakiyah Rahmanti 2014

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

BAB VI Clipping. OBJEKTIF : Pada Bab ini mahasiswa mempelajari tentang : 1. Operasi Clippling 2. Antialiasing

Pendahuluan. Komang Anom Budi Utama, SKom

PENGGUNAAN PROCESSING DALAM KOMPUTER GRAFIK

PENGEMBANGAN APLIKASI DASBOR CUACA DENGAN SUMBER DATA DARI YAHOO WEATHER

PERANCANGAN APLIKASI PEMANTAUAN SUHU DAN KELEMBABAN RUANGAN MENGGUNAKAN BAHASA PEMROGRAMAN PROCESSING

Contoh Teknik Clipping

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar 2 dimensi. Penggunaan aplikasi pengolah grafis 3D

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar dan interaksi 2 dimensi

Grafik Komputer : KLIPING

BAB 2 LANDASAN TEORI. Jogiyanto (2008, hal : 34) Suatu sistem dapat didefenisikan sebagai kumpulan

Grafika Komputer. Pendahuluan. Dr. Ahmad Sabri Universitas Gunadarma

Pembahasan berikut ini adalah berkaitan dengan sejumlah teknik pemotongan primitif berdasarkan metoda analitis di atas.

Window /jendela area koordinat yg digunakan untuk menampilkan gambar Viewport area koordinat dimana suatu window dimapping

VISUALISASI POHON RENTANG MINIMUM MENGGUNAKAN ALGORITMA KRUSKAL DAN PRIM

Grafika Komputer Pertemuan Ke-9

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan

Clipping. Grafika Komputer. Murinto, M.Kom

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Pembuatan Aplikasi Visualisasi 3D Interaktif Sebagai Media Pemasaran Perumahan Adam Regency Pengembang CV. Dua Tangkai TUGAS AKHIR

Visual Basic (VB) Tatik yuniati. Abstrak.

VISUALISASI PENCARIAN LINTASAN TERPENDEK ALGORITMA FLOYD- WARSHALL DAN DIJKSTRA MENGGUNAKAN TEX

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

BAB 2 LANDASAN TEORI. prosedurnya dan menekankan pada komponen atau elemennya.

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah

SILABUS MATAKULIAH. Indikator Pokok Bahasan Aktifitas Pembelajaran

BAB 2 LANDASAN TEORI. yang saling berinteraksi untuk mencapai tujuan. yang dimaksud dengan data dan informasi? Data adalah fakta fakta yang

Aplikasi Peta 3-Dimensi Universitas Negeri Manado

Deteksi Tepi pada Citra Digital menggunakan Metode Kirsch dan Robinson

2.5 Sekilas tentang Visual Basic Keistimewaan Visual Baic 6.0

Modul. Grafika Komputer. Disusun Oleh: Maya Amelia

GRAFIK KOMPUTER & PENGOLAHAN CITRA

BAB 2 TINJAUAN TEORITIS. Sistem berasal dari bahasa Yunani yaitu Systema, yang artinya sekumpulan objek

KAJIAN PENERAPAN OPERASI BITWISE PADA STEGANOGRAFI

UJIAN TENGAH SEMESTER. Contoh Teknik Clipping. Clipping. Sesi 09 CLIPPING. Dosen Pembina : Sriyani Violina Danang Junaedi

BAB 2 LANDASAN TEORI. adalah perintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu.

MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA

RANCANG BANGUN APLIKASI PENGABURAN GAMBAR

APLIKASI BERBASIS WEB PEMETAAN INFORMASI PADA GAMBAR BITMAP

PENGANTAR GRAFIKA KOMPUTER

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Pemotongan Poligon Menggunakan Algoritma Weiler Atherton

Pemrograman Visual (Borland Delphi 7.0)

BAB II LANDASAN TEORI

Analisis dan Perancangan Perangkat Ajar Bahasa Jepang Berbasis Multimedia Untuk Siswa Kelas X UPTD SMA Negeri 7 Kota Tangerang

Pengenalan PowerWorld Simulator

BAB 2 LANDASAN TEORI. Data adalah fakta atau bagian dari fakta yang digambarkan dengan simbol-simbol,

MODUL PRAKTIKUM KE 1

Tujuan. Pengenalan Konsep Interaksi Manusia dan Komputer. memahami aspek teoritis dan praktis tentang perancangan user-interface.

Pengantar Grafika Komputer

PERBANDINGAN ALGORITMA HIDDEN SPACE REMOVAL: Z- BUFFER DAN SCANLINE DILIHAT DARI PENGGUNAAN MEMORI DAN KECEPATAN

BAB II LANDASAN TEORI

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN

BAB III ANALISA DAN PERANCANGAN

RANCANG BANGUN MODUL AJAR GRAFIKA KOMPUTER BERBASIS WEB

BAB III ANALISIS DAN DESAIN SISTEM

Visual Basic 6.0 For Beginners

SATUAN ACARA PERKULIAHAN

BAB II LANDASAN TEORI. sistem komputer tersusun atas tiga elemen, yaitu. 1. Hardware (Perangkat Keras), merupakan rangkaian elektronika

BAB 2 LANDASAN TEORI. Sistem informasi terdiri dari dua kata, yaitu Sistem dan Informasi. Sistem

Pendahuluan 9/7/2011. Overview. Deskripsi

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

Rancang Bangun Aplikasi Location-Based Service Pencarian Lokasi Wisata Di Kota Semarang Berbasis Android

BAB I PENDAHULUAN. menggunakan beberapa komputer yang terhubung dalam Local Area Network

RENCANA PEMBELAJARAN SEMESTER (RPS)

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK. Maimunah, S.Si,M.Kom

PAGI. SOAL PILIHAN GANDA : No

PEMBUATAN AUGMENTED REALITY ALAT MUSIK TRADISIONAL BERBASIS DESKOP

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. menampilkan efek realistis dari penyajiannya. Dengan kemampuan yang

ALGORITMA MIDPOINT UNTUK PENGGAMBARAN GRAFIK BERKECEPATANG TINGGI

MEDIA PEMBELAJARAN MATERI VISIBLE SURFACE DETERMINATION PADA MATA KULIAH GRAFIKA KOMPUTER

BAB I PENDAHULUAN , hal 9. 1 Subagyo D., Asri M., Handoko H.T., Dasar-dasar Operation Research, BPFE, Yogyakarta,

Komunikasi Serial. Menggunakan Arduino Uno MinSys

BAB 1 PENDAHULUAN. Augmented Reality menjadi semakin luas. Teknologi Computer Vision berperan

BAB 2 LANDASAN TEORI

1. MENGENAL VISUAL BASIC

LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA. Oleh: NIM : Materi:

BAB 2 LANDASAN TEORI. tergantung pada keberhasilan dalam melakukan analisa kebutuhan. Jika terjadi

AP2B-Dini Triasanti KONSEP DASAR PYTHON

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat. Computer Graphics C Version 2 Ed by Donald Hearn

BAB II LANDASAN TEORI

Universitas Ahmad Dahlan ---- Lingkungan Pemrograman Visual. Teknik Informatika

Analisis Kinerja Struktur Data Kd-Tree Pada Metode K-Nearest Neighbors

BAB II LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER (RPS)

PENGENALAN NETBEANS Algoritma & Pemrograman 2016/2017 Hastha Sunardi 2016 PENGENALAN NETBEANS. (Pertemuan: K[-]/L[1])

ALGORITMA PERPOTONGAN OBJEK

RANCANG BANGUN APLIKASI PEMBELAJARAN PEMROGRAMAN BERORIENTASI OBJEK DENGAN BAHASA JAVA ABSTRAK

BAB 3 PE GEMBA GA METODE DA ALGORITMA PEMESI A MULTI AXIS

BAB IV IMPLEMENTASI DAN EVALUASI

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat.

BAB IV IMPLEMENTASI DAN PENGUJIAN. Pada bab 4 ini akan dilakukan implementasi dan pengujian terhadap sistem.

BAB V IMPLEMENTASI SISTEM. Sistem setelah dianalisa dan dirancang, maka sistem tersebut siap diterapkan

Pemrograman Visual. Pengenalan Visual Basic. Sisilia Thya Safitri, MT Agus Priyanto, M.KOM

BAB III ANALISA DAN PERANCANGAN

Transkripsi:

Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga Veronica Lusiana Program Studi Teknik Informatika, Universitas Stikubank Semarang Email: verolusiana@yahoo.com Abstrak Menentukan potongan garis yang perlu atau tidak perlu digambar di daerah jendela dikenal dengan istilah clipping. Salah satu algoritma clipping diusulkan oleh Danny Cohen and Ivan Sutherland pada tahun 1967 yaitu algoritma Cohen-Sutherland. Algoritma ini digunakan untuk menentukan apakah terdapat potongan garis yang digambar di dalam jendela dan sebaliknya akan menghilangkan potongan garis yang berada di luar jendela. Penggambaran obyek di jendela dapat menggunakan pendekatan dimensi dua atau dimensi tiga. Analisa dilakukan terhadap proses pemotongan garis (clipping) pada ruang dimensi tiga menggunakan algoritma Cohen-Sutherland. Disediakan contoh enam buah garis dengan letak titik ujung bervariasi seperti pada kode pembagian area Cohen-Sutherland. Ruang dimensi tiga, ruas garis, dan hasil pemotongan garis dalam ruang dimensi tiga digambarkan menggunakan perangkat lunak Processing. Pada pendekatan dimensi tiga, untuk pengujian pada titik awal dan titik akhir garis maka algoritma Cohen-Sutherland membagi sebanyak 27 macam wilayah. Masing-masing wilayah diberi kode yang unik. Kata kunci: clipping, algoritma Cohen-Sutherland, kode area Cohen-Sutherland. PENDAHULUAN Salah satu pokok bahasan yang cukup menarik pada grafika komputer (computer graphics) adalah bagaimana cara menggambarkan atau menampilkan obyek yang ada di dunia nyata atau dimensi tiga ke dalam media dimensi dua seperti layar monitor komputer. Ruang atau kedalaman yang dimiliki oleh obyek di dunia nyata masih dapat dilihat meskipun digambarkan di media dimensi dua. Obyek di dunia nyata yang akan digambarkan pada layar monitor komputer biasanya mempunyai ukuran yang lebih besar dibandingkan dengan ukuran media penampilnya, sehingga untuk menggambarkannya perlu dilakukan pemilihan dari bagian-bagian obyek. Kita bisa menggunakan seluruh atau sebagian luas layar monitor komputer untuk menampilkan sebagian atau seluruh obyek secara utuh. Di dalam prakteknya, daerah layar monitor tidak harus secara penuh (full screen) untuk menampilkan obyek. Daerah yang dipilih untuk menampilkan obyek disebut dengan jendela atau viewport berbentuk persegi panjang. Penempatan dan luas jendela pada layar monitor bisa bervariasi. Penelitian ini akan difokuskan pada bagaimana menentukan obyek garis akan digambarkan atau tidak pada sebuah jendela. Disini garis mewakili suatu obyek yang ada di dunia nyata. Metode untuk menentukan potongan garis yang perlu atau tidak perlu digambar di daerah jendela dikenal dengan istilah clipping. Salah satu algoritma clipping diusulkan oleh Danny Cohen and Ivan Sutherland pada tahun 1967 yaitu algoritma Cohen-Sutherland. Algoritma ini cukup popular digunakan untuk menentukan apakah terdapat potongan garis yang digambar di dalam jendela, dan sebaliknya menghilangkan potongan garis yang berada di luar jendela. Penggambaran obyek di jendela dapat menggunakan Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga 77

pendekatan dimensi tiga. Disediakan enam buah garis dengan posisi titik ujung bervariasi seperti pada kode pembagian area Cohen-Sutherland. Hasil pemotongan garis dalam dimensi tiga digambarkan menggunakan perangkat lunak Processing. TINJAUAN PUSTAKA Jendela (viewport) Jendela (viewport) merupakan wilayah di layar monitor yang digunakan untuk menampilkan atau menggambar obyek. Jendela (viewport) bisa diubah luas dan posisinya disesuaikan dengan bagian gambar yang akan dilihat dan bagian dari layar yang akan dipilih untuk menggambarkan bagian obyek tersebut. Jika ukuran jendela diperbesar maka kita melihat obyek dengan lebih luas, demikian pula sebaliknya. Contoh sebuah jendela dapat dilihat pada Gambar 1, dengan pengalamatan atau koordinat jendela dapat dilihat pada Gambar 2. Pemotongan garis (clipping) Pemotongan (clipping) perlu dilakukan terhadap sebagian dari obyek yang akan digambarkan pada jendela, yaitu apabila obyek yang ditampilkan memiliki luas yang lebih besar dibandingkan dengan luas jendela. Pada prinsipnya pemotongan ini akan memisahkan bagian obyek yang tampak dan bagian yang tidak tampak pada jendela. Pada Gambar 3 dapat dilihat contoh pemotongan terhadap obyek rangka dimensi dua, setelah pemotongan maka obyek digambar mengikuti luas jendela. Berikut ini adalah penjelasan bagaimana proses pemotongan terhadap titik dan garis. Seperti telah kita ketahui bahwa penyusun terkecil dari gambar adalah titik dan garis yang ditampilkan dengan intensitas warna dan pada lokasi tertentu (Santosa, 1996; Nugroho, 2005; Agoston, 2005). Gambar 1 Jendela yang menampilkan sebagian obyek (Hearn dan Baker, 1986) Gambar 2. Jendela dan sistem koordinat (Hearn dan Baker, 1986) Gambar 3. Pemotongan pada obyek rangka dimensi dua (Hearn dan Baker, 1986) Pemotongan titik Pemotongan titik dilakukan untuk mengetahui apakah suatu titik terdapat di dalam atau di luar jendela. Apabila titik terletak di dalam jendela maka titik tersebut akan ditampilkan, apabila sebaliknya maka titik tersebut tidak ditampilkan. Dengan menggunakan jendela berbentuk persegi panjang atau bujur sangkar yang memiliki koordinat batas kiri bawah (Xmin, Ymin) dan batas kanan atas (Xmax, Ymax), maka titik T (X t, Y t) akan ditampilkan di dalam jendela jika kedua pertidaksamaan berikut ini terpenuhi: Xmin <= X t <=Xmax..(1) Ymin <= Y t <= Ymax.(2) Dengan kata lain jika satu atau kedua pertidaksamaan di atas tidak terpenuhi maka 78 Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

titik T tidak akan ditampilkan. Pada Gambar 4 dapat dilihat contoh titik P1 berada di dalam jendela dan titik P2 di luar jendela. Gambar 4. Pemotongan pada obyek titik dan garis dimensi dua (Hearn dan Baker, 1986) Pemotongan garis Pemotongan garis dilakukan jika terdapat bagian garis yang terletak di luar jendela. Garis disusun oleh dua buah titik atau lebih. Untuk menguji apakah sebuah garis akan ditampilkan di dalam jendela maka kita dapat menguji seluruh titik yang menyusun garis tersebut. Kelemahan dari cara ini adalah metode ini kurang efisien untuk diterapkan jika garis tersebut cukup panjang dan banyak jumlahnya. Pada Gambar 4(a) dapat dilihat beberapa buah garis dalam tiga kondisi yang berbeda yaitu: a. Garis yang ditampilkan seluruhnya di jendela (garis P 5-P 6) b. Garis yang tidak ditampilkan di jendela (garis P 3-P 4) c. Garis yang ditampilkan sebagian di jendela (garis P 2-P 8, P 9-P 10) Setelah dilakukan proses pemotongan maka hasilnya dapat dilihat pada Gambar 4(b), terdapat tiga buah garis dan sebuah titik yang berada di dalam jendela. Algoritma Cohen Sutherland mengusulkan cara pengujian pada titik awal dan titik akhir garis untuk menentukan apakah sebuah garis berada di dalam atau di luar jendela, tanpa harus menguji seluruh titik penyusun garis tersebut. Algoritma ini membagi sebanyak 9 macam wilayah yang digunakan untuk memetakan titik awal dan titik akhir garis yang akan digambar menggunakan pendekatan dimensi dua (Pandey dan Jain, 2013). Pada pendekatan dimensi tiga, untuk keperluan yang sama maka algoritma ini membagi sebanyak 27 macam wilayah, dimana setiap wilayah diberi kode yang unik. Pada Gambar 5 merupakan contoh penamaan kode 4 bit untuk setiap wilayah pada dimensi dua. Setiap bit dapat bernilai 0 atau 1 digunakan untuk menyimpan informasi letak titik. Empat bit ini jika dibaca berurutan menyimpan informasi [atas/top (bit ke 3), bawah/bottom (bit ke 2), kanan/right (bit ke 1), kiri/left (bit ke 0)]. Gambar 5. Kode 4 bit algoritma Cohen- Sutherland (Angel dan Shreiner, 2012) Deskripsi wilayah tengah diberi kode 0000 berarti: tidak di atas y max, tidak di bawah y min, tidak di sebelah kanan x max, dan tidak di sebelah kiri x min. Wilayah ini merupakan jendela tempat garis digambarkan, apabila terdapat garis atau potongan garis di luar wilayah ini maka tidak akan digambar. Deskripsi untuk wilayah paling kiri bawah diberi kode 0101 berarti: tidak di atas y max, ya di bawah y min, tidak di sebelah kanan x max, dan ya di sebelah kiri x min. Sedangkan untuk wilayah paling kanan atas Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga 79

diberi kode 1010 berarti: ya di atas y max, tidak di bawah y min, ya di sebelah kanan x max, dan tidak di sebelah kiri x min. Demikian seterusnya untuk wilayah yang lain. Alternatif penamaan kode yang lain dapat dilihat pada Gambar 6. Gambar 6 Kode 4 bit algoritma Cohen- Sutherland (klawonn, 2012) Berdasarkan pembagian wilayah pada algoritma Cohen-Sutherland maka hasil uji sebuah garis dapat dibagi menjadi tiga kategori, yaitu: a. Garis terlihat seluruhnya (fully visible) Garis terlihat seluruhnya apabila titik awal dan akhir garis berada di dalam jendela. Garis yang memiliki titik ujung T1 (X t1, Y t1) dan T2 (X t2, Y t2) akan terletak di dalam viewport jika memenuhi kedua pertidaksamaan berikut ini: Xmin <= X t1, X t2 <=Xmax.(3) Ymin <= Y t1, Y t2 <= Ymax...(4) Melihat pada kode pembagian wilayah pada Gambar 5 maka garis terlihat jika kedua titik ujungnya mempunyai kode 0000. b. Garis tidak terlihat sama sekali (fully invisible) Garis tidak terlihat sama sekali atau seluruh garis terletak di luar jendela. Garis yang memiliki titik ujung T1 (X t1, Y t1) dan T2 (X t2, Y t2) akan terletak di luar jendela jika salah satu dari empat pertidaksamaan berikut ini dipenuhi: X t1, X t2 > Xmax..(5) X t1, X t2 < Xmin...(6) Y t1, Y t2 > Ymax. (7) Y t1, Y t2 < Ymin (8) Melihat pada kode pembagian wilayah pada Gambar 5 maka garis tidak terlihat jika terdapat nilai 1 pada urutan bit yang sama dari kedua titik ujung garis sehingga hasil operasi AND dari kedua ujung garis tidak sama dengan 0000. c. Garis terlihat sebagian (partially visible atau clipping candidate) Garis terlihat sebagian atau ada sebagian garis yang tidak tampak di dalam jendela, disini garis menjadi kandidat untuk dipotong. Melihat pada kode pembagian wilayah pada Gambar 5 maka kondisi ini terjadi jika syarat a dan b tidak terpenuhi. Pada kondisi ini, setelah diuji dapat juga terjadi ternyata garis tidak tampak seluruhnya. Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga Pada pendekatan dimensi tiga, untuk pengujian pada titik awal dan titik akhir garis maka algoritma Cohen-Sutherland membagi sebanyak 27 macam wilayah. Ini adalah perluasan dari pendekatan dimensi dua. Masingmasing wilayah diberi kode yang unik (Kodituwakku, dkk., 2012). Pada Gambar 7 dapat dilihat ruas garis pada dimensi tiga. Pada Gambar 8 digunakan untuk menyusun deskripsi dari 27 kode algoritma Cohen-Sutherland pada dimensi tiga. Pada Gambar 9 merupakan contoh penamaan kode 6 bit untuk setiap wilayah pada dimensi tiga. Setiap bit dapat bernilai 0 atau 1 digunakan untuk menyimpan informasi letak titik. Enam bit ini jika dibaca berurutan menyimpan informasi [depan/front (bit ke 5), belakang/back (bit ke 4), atas/top (bit ke 3), bawah/bottom (bit ke 2), kanan/right (bit ke 1), kiri/left (bit ke 0)]. Deskripsi wilayah tengah diberi kode 000000 berarti: tidak di depan z max, tidak di belakang z min, tidak di atas y max, tidak di bawah y min, tidak di sebelah kanan x max, dan tidak di sebelah kiri x min. Wilayah ini merupakan jendela tempat garis digambarkan, apabila terdapat garis atau potongan garis di luar wilayah ini maka 80 Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

tidak akan digambarkan. Deskripsi untuk wilayah paling belakang kiri bawah diberi kode 010101 berarti: tidak di depan z max, ya dibelakang z min, tidak di atas y max, ya di bawah y min, tidak di sebelah kanan x max, dan ya di sebelah kiri x min. Sedangkan untuk wilayah paling depan kanan atas diberi kode 101010 berarti: ya di depan z max, tidak di belakang z min, ya di atas y max, tidak di bawah y min, ya di sebelah kanan x max, dan tidak di sebelah kiri x min. Demikian seterusnya untuk wilayah yang lain. Gambar 7. Ruas garis pada ruang dimensi tiga (Angel dan Shreiner, 2012) Gambar 8. Deskripsi kode algoritma Cohen- Sutherland pada ruang dimensi tiga (Angel dan Shreiner, 2012) Gambar 9. Kode 6 bit algoritma Cohen- Sutherland (Angel dan Shreiner, 2012) Pengantar Processing Processing adalah sebuah bahasa pemrograman yang bersifat terbuka (open source) dan menyediakan lingkungan pemrograman yang terintegrasi (integrated development environment). Lingkungan pemrograman Processing terdiri dari: teks editor untuk menuliskan baris perintah atau dengan cara membuka file program, proses kompilasi perintah, dan jendela untuk menampilkan hasil keluaran (output) program beserta proses interaksi dengan pemakai. Processing digunakan untuk menampilan hasil proses pemotongan garis menggunakan algoritma Cohen- Sutherland. Jendela utama Processing dapat dilihat pada Gambar 10. Perangkat lunak ini banyak digunakan untuk membuat program yang mengimplementasikan antara lain teori grafika komputer, pengolahan citra, animasi dan interaksi gambar, serta pemodelan grafis (Shiffman, 2008; Reas dan Fry, 2007). Pengembangan Processing diinisiasi oleh Ben Fry dan Casey Reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Computation Group (ACG) di MIT Media Lab pada tahun 2001 sampai dengan 2004. Kini tersedia untuk sistem operasi GNU/Linux 32/64 bit, Mac OS X, dan Windows 32/64 bit, dengan versi stabil terbaru adalah 2.2.1 yang dirilis pada 19 Mei 2014. Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga 81

} strokeweight(10); point(335,100); point(125,268); Gambar 10. Jendela utama Processing PROSES PENELITIAN Proses penelitian dilakukan dengan cara menggambar enam buah ruas garis secara terpisah pada ruang dimensi tiga. Terdapat ruas garis yang berada di dalam maupun di luar jendela. Berikut ini adalah baris perintah (source code) untuk dua buah contoh garis pada ruang dimensi tiga yaitu Garis 1 dan Garis 2. Baris perintah Garis 1 void setup() { size(800,800); background(255); } void draw() { fill(5); textsize(18); text("garis 1",200,75); stroke(255,0,0); strokeweight(3); line(200,100,400,100); line(200,100,200,300); line(200,300,400,300); line(400,100,400,300); line(200,100,100,250); line(100,250,100,450); line(100,450,200,300); line(100,250,300,250); line(300,250,300,450); line(300,450,100,450); line(300,250,400,100); line(300,450,400,300); stroke(0,255,255); line(400,50,25,350); stroke(0,0,255); Baris perintah Garis 2 void setup() { size(800,800); background(255); } void draw() { fill(5); textsize(18); text("garis 2",200,500); stroke(255,0,0); strokeweight(3); line(200,100,400,100); line(200,100,200,300); line(200,300,400,300); line(400,100,400,300); line(200,100,100,250); line(100,250,100,450); line(100,450,200,300); line(100,250,300,250); line(300,250,300,450); line(300,450,100,450); line(300,250,400,100); line(300,450,400,300); stroke(0,255,255); line(25,400,500,400); stroke(0,0,255); strokeweight(10); point(300,400); point(100,400); } HASIL DAN PEMBAHASAN Penyusunan kode Cohen-Sutherland dapat dilihat pada Gambar 8 deskripsi kode algoritma Cohen-Sutherland pada ruang dimensi tiga, dan pada Gambar 9 kode enam bit algoritma Cohen- Sutherland. Disini, setiap bit dapat bernilai 0 atau 1 yang digunakan untuk menyimpan informasi letak titik awal dan akhir sebuah garis. Enam bit tersebut digunakan untuk menyimpan informasi, yaitu: a. bit ke 5 [depan/front; 0 = tidak di depan z max; 1 = di depan z max] b. bit ke 4 [belakang/back; 0 = tidak di belakang z min; 1 = di belakang z min] 82 Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

c. bit ke 3 [atas/top; 0 = tidak di atas y max; 1 = di atas y max] d. bit ke 2 [bawah/bottom; 0 = tidak di bawah y min; 1 = di bawah y min] e. bit ke 1 [kanan/right; 0 = tidak di sebelah kanan x max; 1 = di sebelah kanan x max] f. bit ke 0 [kiri/left; 0 = tidak di sebelah kiri x min; 1 = tidak di sebelah kiri x min] Pada Gambar 11, seluruh potongan Garis 1 disusun dari ujung garis yang berada di kiri bawah (u i) sampai dengan ujung garis yang berada kanan atas (u ii). Kode untuk (u i) adalah 100001 sedangkan kode untuk (u ii) adalah 011000. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {z=z max} di titik awal dan {y=y max; z=z min} di titik akhir pada batas jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. sedangkan kode untuk (u ii) adalah 000010. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {x=x min; z=z max} di titik awal dan {x=x max; z=z max} di titik akhir pada batas jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. Gambar 13. Garis 3 pada ruang dimensi tiga Pada Gambar 13, seluruh potongan Garis 3 disusun dari ujung garis yang berada di kiri (u i) sampai dengan ujung garis yang berada di kanan (u ii). Kode untuk (u i) adalah 000001 sedangkan kode untuk (u ii) adalah 010110. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {x=x min; z=z min} di titik awal dan {y=y max; z=z min} di titik akhir pada batas jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. Gambar 11. Garis 1 pada ruang dimensi tiga Gambar 12 Garis 2 pada ruang dimensi tiga Pada Gambar 12, seluruh potongan Garis 2 disusun dari ujung garis yang berada di kiri (u i) sampai dengan ujung garis yang berada di kanan (u ii). Kode untuk (u i) adalah 000001 Gambar 14 Garis 4 pada ruang dimensi tiga Pada Gambar 14, seluruh potongan Garis 4 disusun dari ujung garis yang berada di atas (u i) sampai dengan ujung garis yang berada di bawah (u ii). Kode untuk (u i) adalah 001000 sedangkan kode untuk (u ii) adalah 000100. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {x=x max; y=y max} di titik awal dan {x=x max; y=y min} di titik akhir pada batas Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga 83

jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. Gambar 15. Garis 5 pada ruang dimensi tiga Pada Gambar 15, seluruh potongan Garis 5 disusun dari ujung garis yang berada di kiri bawah (u i) sampai dengan ujung garis yang berada di kanan atas (u ii). Kode untuk (u i) adalah 000001 sedangkan kode untuk (u ii) adalah 000010. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {x=x min; z=z min} di titik awal dan {x=x max; z=z min} di titik akhir pada batas jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. Gambar 16 Garis 6 pada ruang dimensi tiga Pada Gambar 16, seluruh potongan Garis 6 disusun dari ujung garis yang berada di kiri (u i) sampai dengan ujung garis yang berada di kanan (u ii). Kode untuk (u i) adalah 000001 sedangkan kode untuk (u ii) adalah 101000. Ruas garis yang berada di dalam jendela dimensi tiga memiliki batas {x=x min} di titik awal dan {z=z max} di titik akhir pada batas jendela tersebut. Garis yang ada diluar batas jendela tersebut akan dipotong atau tidak ditampilkan. KESIMPULAN DAN SARAN Kesimpulan dan saran penelitian ini adalah: 1. Melalui penelitian ini maka dapat dipahami langkah-langkah algortima Cohen- Sutherland untuk menentukan dan memahami arti kode titik awal dan titik akhir garis pada ruang dimensi tiga, serta dapat menampilkan secara visual garis yang berada di dalam dan di luar jendela penampil. 2. Pengembangan dapat dilakukan dengan membuat perangkat lunak visualisasi jendela penampil (windowing, viewport) dan pemotongan garis (clipping) yang memiliki antar muka pengguna (user interface) lebih menarik dan interaktif. DAFTAR PUSTAKA Agoston, M.K., (2005). Computer Graphics and Geometric Modeling: Implementation and Algorithms. Springer-Verlag. Angel, E., Shreiner, D. (2012). Interactive Computer Graphics a Top-Down Approach with Shader-Based OpenGL 6th ed. Addison-Wesley. Hearn, D., Baker, M.P. (1986). Computer Graphics. Prentice-Hall International, USA. Klawonn, F. (2012). Introduction to Computer Graphics Using Java 2D and 3D 2nd ed. Springer-Verlag London. Kodituwakku, R., Wijeweera, K.R., Chamikara, M.A.P. (2012). An Efficient Line Clipping Algorithm for 3D Space. International Journal of Advanced Research in Computer Science and Software Engineering. Volume 2, Issue 5, May 2012. Nugroho, E. (2005). Teori dan Praktek Grafika Komputer Menggunakan Delphi dan OpenGL. Yogyakarta: Penerbit Graha Ilmu. 84 Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga

Pandey, A., Jain, S. (2013). Comparison of Various Line Clipping Algorithm for Improvement. International Journal of Modern Engineering Research (IJMER). pp-69-74, Vol.3, Issue.1, Jan-Feb 2013. Reas, C., Fry, B. (2007). Processing: a programming handbook for visual designers and artists. The MIT Press, Massachusetts. Santosa, P.I. (1996). Grafika komputer dan antarmuka grafis: teknik penyusunan program aplikasi berbasis grafis yang profesional. Yogyakarta: Andi Offset. Shiffman, D. (2008). Learning Processing A Beginner s Guide to Programming Images, Animation, and Interaction. Morgan Kaufmann Publishers. http://processingjs.org http://blogs.itb.ac.id/wnugroho/processing/ http://en.wikipedia.org/wiki/cohen Sutherland_algorithm http://en.wikipedia.org/wiki/line_clipping#fast _clipping Proses Clipping Menggunakan Algoritma Cohen-Sutherland pada Ruang Dimensi Tiga 85