Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
ISSN : 1978-6603
ANALISA ALGORITMA BOUNDARY FILL 4-CONNECTED DAN 8-CONNECTED PADA IMAGE DUA DIMENSI (2d) Herriyance*1, Hendryan Winata*2 #1 Program Studi Ilmu Komputer, Universitas Sumatera Utara #2 Program Studi Sistem Informasi STMIK Triguna Dharma Email: 1
[email protected] ABSTRAK Dalam grafis, selain menggambar objek, juga diperlukan algoritma khusus untuk mengisi warna. mengisi warna hanya dapat diterapkan untuk objek yang memiliki bidang, seperti lingkaran, segitiga, atau persegi panjang. Isi batas adalah salah satu algoritma yang digunakan untuk tujuan mewarnai objek dalam komputer grafis. Dengan teknik ini warna mengisi dilakukan dengan menentukan titik awal, dan kemudian cat seluruh isi dari objek sejauh objek. Batas Isi Algoritma terdiri dari dua metode, yaitu 4-terhubung dan 8terhubung. Metode 4-terhubung lebih efisien untuk digunakan pada objek dengan batas segitiga, sedangkan metode 8-terhubung akan mengisi warna ke objek lebih cepat di bidang objek yang lebih besar. Kata kunci : Batas Isi Algoritma, 4-terhubung, 8-terhubung, objek primitif
ABSTRACT In graphics, other than drawing objects, it also required special algorithm to fill in the colors. Color filling can only be applied to objects that have fields, such as circles, triangles, or rectangles. Boundary Fill is one of the algorithms used for the purpose of coloring the objects in computer graphics. With this technique color filling is done by determining the starting point, and then paint the entire contents of the object to the extent of the object. Boundary Fill Algorithm consists of two methods, namely 4-connected and 8-connected. 4connected method is more efficient to use on the object with triangular boundary, while the 8-connected method would fill color to the object more quickly in areas of larger objects. Keywords : Boundary Fill Algorithm, 4-connected, 8-connected, primitive objects
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
41
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
A. PENDAHULUAN 1. Latar Belakang Paket grafika dilengkapi dengan fungsi untuk menyatakan scene dalam bentuk struktur. Paket pemrograman grafika dilengkapi dengan fungsi untuk menyatakan scene dalam bentuk struktur dasar geometri yang disebut output primitif, dengan memasukkan output primitive tersebut sebagai struktur yang lebih kompleks. Output primitif dapat berupa pembentukan garis dengan menggunakan algoritma DDA dan Bressenham. Pembentukan titik dilakukan dengan mengkonversi suatu posisi titik koordinat dengan program aplikasi ke dalam suatu operasi tertentu menggunakan output sedangkan pembentukan garis dengan menggunakan persamaan garis pada kartesius. Atribut pada output primitif dapat terdiri dari garis yang bisa berupa tipe garis, tebal garis, pilihan pen dan brush, dan warna garis. Selain itu atribut output primitif dapat berupa Fill Area Primitif. Fill area (pengisian area) output primitif standar pada paket aplikasi grafika pada umumnya adalah warna solid atau pola raster. Terdapat dua dasar pendekatan untuk mengisi area pada raster sistem. Menentukan overlap interval untuk scan line yang melintasi area Dengan memulai dari titik tertentu pada posisi di dalam poligon dan menggambar dengan arah menyebar ke pinggir, sampai batas poligon. Fill area ini dapat dilakukan dengan menggunakan dua algoritma, yaitu algoritma Boundary Fill dan algoritma Flood Fill. Pada makalah ini akan dibahas tentang penggunaan algoritma Boundary Fill sebagai pemenuhan tugas kelompok 42
mata kuliah Visualisasi.
Komputer
Grafik
dan
2. Rumusan Masalah Adapun yang menjadi rumusan masalah dalam penulisan makalah ini adalah sebagai berikut: a. Apa saja langkah-langkah pengisian area dengan algoritma Boundary-Fill? b. Bagaimana cara kerja dari algoritma Boundary Fill 4-Connected dan 8Connected? c. Bagaimana penerapan kedua algoritma tersebut pada citra 2 dimensi? 3. Tujuan Penulisan a. Untuk mengetahui langkah-langkah filling area dengan algoritma BoundaryFill. b. Untuk menganalisa cara kerja dari algoritma Boundary Fill 4-Connected dan 8-Connected. c. Untuk mengetahui bagaimana penerapan kedua algoritma tersebut pada citra 2 dimensi. 4. Manfaat Penulisan a. Memahami langkah-langkah pengisisan area dengan algoritma Boundary-Fill. b. Memahami cara kerja algoritma Boundary Fill 4 connected dan 8 connected c. Mampu membuat program dengan menggunakan algoritma Boundary-Fill. 5. Metode Penulisan Metode yang dipakai dalam karya tulis ini adalah: a. Metode Pustaka Yaitu metode yang dilakukan dengan mempelajari dan mengumpulkan data dari pustaka yang berhubungan dengan materi algoritma Boundary Fill. b. Diskusi
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Yaitu mendapatkan data dengan cara bertukar pikiran antar sesama penyusun dan senior yang mengetahui tentang algoritma Boundary Fill. c. Eksperimen Yaitu percobaan-percobaan yang penyusun lakukan terkait pengimplementasian algoritma Boundary Fill dengan menggunakan bahasa pemrograman C# (CSharp). B. LANDASAN TEORI 1. Apa Itu Boundary Fill Algoritma Boundary Fill bekerja sesuai namanya. Algoritma ini mengambil titik dalam sebuah obyek dan mulai mengisi sampai menyentuh batas objek. Warna batas dan warna yang kita isi harus berbeda untuk algoritma ini bekerja. Boundary Fill merupakan salah satu pendekatan untuk area filling pada output primitive dengan memulai dari suatu titik didalam region dan mewarnai interior keluar batas. Jika boundary dispesefikasikan dengan satu warna, fill algorithm diproses per piksel sampai warna boundary didapat. Algoritma ini menerima input koordinat titik interior (x,y), warna isi dan warna boundary. Mulai dari titik tersebut, prosedur akan menguji posisi connected untuk menentukan apakah posisi tersebut ada di boundary color. Pendekatan ini bermanfaat untuk paket aplikasi grafik interaktif, dimana titik dalam dapat dengan mudah ditentukan. Prosedurnya yaitu menerima input koordinat dari suatu titik (x,y), warna isi dan warna garis batas. Proses pengisian warna tertentu dimulai dari titik (x,y), kemudian memeriksa posisi titik connectednya, apakah titik connected tersebut memiliki warna batas: Jika tidak, warna titik tersebut dengan warna tertentu.
Selanjutnya periksa lagi posisi dan warna titik connected-nya. Proses diulangi terus hingga seluruh titik pada area pengisian telah diuji. Ada dua macam metode yaitu 4connected dan 8-connected. 2. Metode pada Boundary Fill a. Metode 4-connected (x, y + 1) (x - 1, y)
(x ,y)
(x + 1, y)
(x, y 1)
Dalam teknik ini 4 Connected digunakan seperti yang ditunjukkan pada gambar. Kita menempatkan piksel atas, di bawah , ke kanan , dan ke sisi kiri piksel dan proses ini akan berlanjut sampai kita menemukan batas dengan warna yang berbeda. Algoritma Langkah 1 - Inisialisasi nilai titik tengah (seedx , kumuh) , fcolor dan dcolor Langkah 2 - Menentukan nilai batas poligon Langkah 3 - Periksa apakah titik tengah saat ini adalah warna default, kemudian ulangi langkah 4 dan 5 sampaipiksel batas tercapai. If getpixel(x, y)= dcol then repeat step 4and5 Langkah 4 - Mengubah warna default dengan warna isi pada titik berikutnya. setPixel(seedx, seedy, fcol) Langkah 5 - Secara rekursif ikuti prosedur dengan empat poin titik sekitarnya. BoundaryFill (seedx – 1, seedy, fcol, dcol)
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
43
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
BoundaryFill (seedx + 1, seedy, fcol, dcol) BoundaryFill (seedx, seedy - 1, fcol, dcol) BoundaryFill (seedx – 1, seedy + 1, fcol, dcol) Langkah 6 – Selesai. a. Metode 8 Connected (x - 1, y + 1)
(x, y + 1)
(x + 1, y+1)
(x - 1, y)
(x ,y)
(x + 1, y)
(x - 1, y - 1)
(x, y - 1)
(x + 1, y-1)
Dalam teknik ini 8-connected digunakan seperti yang ditunjukkan pada gambar. Kita menempatkan piksel di atas, bawah, sisi kanan dan kiri dari pixel saatseperti yang kami lakukandalamteknik 4-connected dan juga pada bagian diagonal-diagonalnya. Algoritma Langkah 1 - Inisialisasi nilai titik tengah (seedx , seedy) , fcolor dan dcolor. Langkah 2 - Menentukan nilai batas poligon Langkah 3 - Periksa apakah titik tengah saat ini adalah warna default, kemudian ulangi langkah 4 dan 5 sampaipiksel batas tercapai. If getpixel(x, y)= dcol then repeat step 4and5 Langkah 4 - Mengubah warna default dengan warna isi pada titik berikutnya. setPixel(seedx, seedy, fcol) Langkah 5 - Secara rekursif ikuti prosedur dengan empat poin titik sekitarnya. 44
BoundaryFill (seedx – 1, seedy, fcol, dcol) BoundaryFill (seedx + 1, seedy, fcol, dcol) BoundaryFill (seedx, seedy - 1, fcol, dcol) BoundaryFill (seedx, seedy + 1, fcol, dcol) BoundaryFill (seedx – 1, seedy + 1, fcol, dcol) BoundaryFill (seedx + 1, seedy + 1, fcol, dcol) BoundaryFill (seedx + 1, seedy - 1, fcol, dcol) BoundaryFill (seedx – 1, seedy - 1, fcol, dcol) Langkah 6 – Selesai. 1. Kelebihan Boundary Fill Dibanding Algoritma Lain Pada daerah Flood-fill didefinisikan oleh seluruh daerah. Semua piksel di wilayah tersebut harus dibuat dengan warna yang sama ketika wilayah ini sedang dibuat. Wilayah tersebut tidak dapat ditranslasi, skala atau diputar . Daerah Boundary-Fill 4-connected dapatdidefinisikanolehgarisdanbusur. Dengan menerjemahkan garis dan busur endpoints kitabias mentranslasi, skala dan memutar seluruh wilayah Boundary-Fill. Oleh karena itu daerah boundary-fill yang lebih cocok untuk pemodelan ini. a. Penjelasan Translasi, Skala dan Rotasi 1) Translasi Transformasi translasi merupakan suatu operasi yang menyebabkan perpindahan objek 2D dari satu tempat ke tempat yang lain. Perubahan ini berlaku dalam arah yang sejajar dengan sumbu X dan sumbu Y. Translasi dilakukan dengan penambahan translasi pada suatu titik koordinat dengan translation vector, yaitu (tx,ty), dimana tx adalah translasi menurut sumbu x dan ty adalah translasi menurut sumbu y. Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Contoh:
C. PEMBAHASAN 1. Analisa Metode pada Boundary Fill a. Analisa Metode 4 Connected
2) Penskalaan Penskalaan adalah suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil ataupun membesar secara seragam atau tidak seragam tergantung pada faktor penskalaan (scalling factor) yaitu (sx,sy) yang diberikan. sx adalah faktor penskalaan menurut sumbu x dan sy faktor penskalaan menurut sumbu y. Contoh :
Langkah 1
3) Rotasi Putaran adalah suatu operasi yang menyebabkan objek bergerak berputar pada titik pusat atau pada sumbu putar yang dipilih berdasarkan sudut putaran tertentu. Untuk melakukan rotasi diperlukan sudut rotasi dan pivot point (xp,yp) dimana objek akan dirotasi. Contoh :
Diambil titik (3,3) sebagai titik tengah dan diberi warna merah, kemudian menentukan titik tetangga yaitu titik (2,3), (3,2), (3,4), dan (4,3). Karena titik-titik ini bukan batas poligon maka mereka juga diwarnai.
Langkah 2
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
45
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Kemudian diambil titik (3,4) sebagai titik tengah dan titik tetangganya yaitu (3,3), (2,4), (4,4) dan (3,5). Titik (3,3) telah diproses. Titik (2,4) dan (4,4) belum diproses dan masih dalam batas sehingga diberi warna yaitu hijau, sedangkan titik (3,5) berada diluar batas sehingga tidak diwarnai.
Langkah 3 Kemudian diambil titik (3,2) sebagai titik tengah dan titik tetangganya yaitu (3,3), (2,2), (4,2) dan (3,2). Titik (3,3) telah diproses. Titik (2,2) dan (4,2) belum diproses dan masih dalam batas sehingga diberi warna yaitu biru, sedangkan titik (3,1) berada diluar batas sehingga tidak diwarnai.
(4,4) telah diproses. Titik (5,3) belum diproses dan masih dalam batas sehingga diberi warna yaitu biru.
Langkah 5 Kemudian diambil titik (5,3) sebagai titik tengah dan titik tetangganya yaitu (4,3), (5,2), (5,4) dan (6,3). Titik (4,3) telah diproses. Titik (5,2) dan (6,3) belum diproses dan masih dalam batas sehingga diberi warna yaitu ungu. Sedangkan titik (5,4) merupakan titik batas sehingga tidak diberi warna.
Langkah 6
Langkah 4 Kemudian diambil titik (4,3) sebagai titik tengah dan titik tetangganya yaitu (3,3), (4,2), (4,4) dan (5,3). Titik (3,3), (4,2), dan 46
Kemudian diambil titik (6,3) sebagai titik tengah dan titik tetangganya yaitu (5,3), (6,2), (6,4) dan (7,3). Titik (5,3) telah diproses. Titik (6,2), (6,4) dan (7,3) belum diproses dan masih dalam batas sehingga diberi warna yaitu oranye. Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Langkah 7 Kemudian diambil titik (7,3) sebagai titik tengah dan titik tetangganya yaitu (6,3), (7,2), (7,4) dan (8,3). Titik (6,3) telah diproses. Titik (7,2), (7,4) dan (8,3) belum diproses dan masih dalam batas sehingga diberi warna yaitu biru tua.
Langkah 9 Kemudian diambil titik (8,4) sebagai titik tengah dan titik tetangganya yaitu (7,4), (8,3), (8,5) dan (9,4). Titik (7,4) dan (8,3) telah diproses. Titik (8,5) dan (9,4) belum diproses dan masih dalam batas sehingga diberi warna yaitu kuning.
Langkah 10 Langkah 8 Kemudian diambil titik (8,3) sebagai titik tengah dan titik tetangganya yaitu (7,3), (8,2), (8,4) dan (9,3). Titik (7,3) telah diproses. Titik (8,2), (8,4) dan (9,3) belum diproses dan masih dalam batas sehingga diberi warna yaitu hijau tua.
Kemudian diambil titik (8,5) sebagai titik tengah dan titik tetangganya yaitu (7,5), (8,4), (8,6) dan (9,5). Titik (8,4) telah diproses. Titik (7,5), (8,6) dan (9,5) belum diproses dan masih dalam batas sehingga diberi warna yaitu merah. Inilah hasil akhir dari pewarnaan dengan menggunakan metode 4-connected.
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
47
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
b. Analisa Metode 8 Connected
Langkah 1
Langkah 3
Diambil titik (3,3) sebagai titik tengah dan diberi warna merah, kemudian menentukan 8 titik tetangga yaitu titik (2,3), (2,4), (3,4), (4,4), (4,3),(4,2), (3,2) dan (2,2). Karena titik-titik ini bukan batas poligon maka mereka juga diwarnai.
Kemudian diambil titik (5,3) sebagai titik tengah dan titik tetangganya yaitu (4,3), (4,4), (5,4), (6,4), (6,3), (6,2), (5,2), dan (4,2). Titik (5,2), (4,2), (4,3) dan (4,4) telah diproses. Titik (6,4), (6,3) dan (6,2) belum diproses dan masih dalam batas sehingga diberi warna yaitu biru, sedangkan titik (5,4) berada pada batas sehingga tidak diwarnai.
Langkah 2 Kemudian diambil titik (4,3) sebagai titik tengah dan titik tetangganya yaitu (3,3), (3,4), (4,4), (5,4), (5,3), (5,2), (4,2), dan (3,2). Titik (4,2), (3,2), (3,3), (3,4) dan (4,4) telah diproses. Titik (5,3) dan (5,2) belum diproses dan masih dalam batas sehingga diberi warna yaitu oranye, sedangkan titik (5,4) berada pada batas sehingga tidak diwarnai. 48
Langkah 4 Kemudian diambil titik (6,3) sebagai titik tengah dan titik tetangganya yaitu (5,3), (5,4), (5,4), (7,4), (7,3), (7,2), (6,2), dan (5,2). Titik (6,2), (5,2), (5,3) dan (6,4) telah diproses. Titik (7,4), (7,3) dan (7,2) belum Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
diproses dan masih dalam batas sehingga diberi warna yaitu hijau, sedangkan titik (5,4) berada pada batas sehingga tidak diwarnai.
belum diproses dan masih dalam batas sehingga diberi warna yaitu kuning.
Langkah 7 Langkah 5 Kemudian diambil titik (7,3) sebagai titik tengah dan titik tetangganya yaitu (6,3), (6,4), (7,4), (8,4), (8,3), (8,2), (7,2), dan (6,2). Titik (7,2), (6,2), (6,3), (6,4) dan (7,4) telah diproses. Titik (8,4), (8,3) dan (8,2) belum diproses dan masih dalam batas sehingga diberi warna yaitu ungu.
Kemudian diambil titik (8,4) sebagai titik tengah dan titik tetangganya yaitu (7,4), (7,5), (8,5), (9,5), (9,4), (9,3), (8,3), dan (7,3). Titik (9,4), (9,3), (8,3), (7,3) dan (7,4) telah diproses. Titik (7,5), (8,5) dan (9,5) belum diproses dan masih dalam batas sehingga diberi warna yaitu merah.
Langkah 8 Langkah 6 Kemudian diambil titik (8,3) sebagai titik tengah dan titik tetangganya yaitu (7,3), (7,4), (8,4), (9,4), (9,3), (9,2), (8,2), dan (7,2). Titik (8,2), (7,2), (7,3), (7,4) dan (8,4) telah diproses. Titik (9,4), (9,3) dan (9,2)
Kemudian diambil titik (8,5) sebagai titik tengah dan titik tetangganya yaitu (7,5), (7,6), (8,6), (9,6), (9,5), (9,4), (8,4), dan (7,4). Titik (9,5), (9,4), (8,4), (7,4) dan (7,5) telah diproses. Titik (8,6) belum diproses dan masih dalam batas sehingga diberi
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
49
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
warna yaitu biru tua, sedangkan titik (7,6) dan (9,6) berada di luar batas sehingga tidak diwarnai.
2. Implementasi Program 4 Connected 1) Klik Open File, lalu pilih gambar yang akan diwarna
D. IMPLEMENTASI PROGRAM 1. Implementasi Program Boundary Fill Untuk mengilustrasikan cara kerja dari algoritma Boundary Fill, kami menggunakan sebuah aplikasi yang dibuat menggunakan bahasa pemrograman C# (CSharp).
2) Masukkan titik awal X dan Y pada text box yang telah disediakan Untuk Proses 5×5 rentang nilai X dan Y adalah 0-4, sedangkan untuk Proses 10×10 rentang nilainya adalah 0-9
Tampilan awal aplikasi Boundary Fill Gambar tersebut menunjukkan tampilan awal dari aplikasi ini. Tombol OPEN FILE berfungsi untuk membuka foto yang akan diubah warnanya. Text Box X dan Y berfungsi untuk menerima inputan titik awal yang akan diwarnai. Tombol SIMPAN TITIK AWAL berfungsi untuk menyimpan titik awal yang telah diinputkan sebelumnya. Tombol Proses 5×5 berarti dalam pewarnaan, aplikasi ini membagi gambar ke dalam 5 bagian atau matriks 5×5. Sedangkan Proses 10×10 berarti dalam pewarnaan, aplikasi ini membagi gambar ke dalam 10 bagian atau matriks 10×10. Sedangkan angka dalam kurung (4 atau 8) menunjukkan metode dalam proses pewarnaan yaitu 4connected atau 8-connected. 50
3) Klik Simpan Titik Awal, untuk menyimpan titik awal yang telah diinputkan Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
4) Klik Proses 5×5 (4), maka gambar akan terwarnai secara 4-connected
Keterangan: Ketika tombol Proses diklik, maka program akan mewarnai titik pada matriks gambar sesuai dengan yang telah diinputkan sebelumnya. Pada gambar ini, titik awal yang diwarnai adalah titik (1,1). Kemudian program akan mewarnai 4 titik tetangganya yaitu (0,1), (2,1), (3,1), (1,0). 5) Klik terus-menerus sampai seluruh gambar terwarnai
Keterangan: Kemudian program akan mengambil sebuah titik awal baru dari titik yang telah diwarnai sebelumnya. Pada gambar ini, titik awal tersebut adalah titik (0,1), dan hanya mewarnai 3 titik tetangganya karena titik di atasnya berada di luar batas sehingga tidak terwarnai.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (2,1) dan mewarnai 4 titik tetangganya yaitu (3,1), (2,2), (1,1), dan (2,0).
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
51
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
(0,2). Sedangkan titik di atasnya tidak diwarnai karena sudah di luar batas.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (1,2) dan mewarnai 4 titik tetangganya yaitu (1,1), (2,2), (1,3), dan (0,2)
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (0,2) dan mewarnai 3 titik tetangganya yaitu (0,1), (2,1), dan 52
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (3,1) dan mewarnai 4 titik tetangganya yaitu (4,1), (3,2), (2,1), dan (0,3)
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (2,2) dan mewarnai 4
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
titik tetangganya yaitu (2,1), (3,2), (3,2), dan (1,2)
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (1,3) dan mewarnai 4 titik tetangganya yaitu (1,2), (2,3), (4,1), dan (0,3)
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (3,0) dan mewarnai 3 titik tetangganya yaitu (2,0), (4,0), dan (1,3). Sedangkan titik di atasnya tidak diwarnai karena sudah di luar batas.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (4,1) dan mewarnai 3 titik tetangganya yaitu (4,2), (3,1), dan (4,0). Sedangkan titik di sisi kanannya tidak diwarnai karena sudah di luar batas.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (3,2) dan mewarnai 4 titik tetangganya yaitu (3,1), (2,4), (3,3), dan (2,2)
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
53
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (2,3) dan mewarnai 4 titik tetangganya yaitu (2,2), (3,3), (2,4), dan (1,3)
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (4,2) dan mewarnai 3 titik tetangganya yaitu (4,2), (3,3), dan (4,3). Sedangkan titik di sisi kanannya tidak diwarnai karena sudah di luar batas.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (1,4) dan mewarnai 3 titik tetangganya yaitu (1,3), (2,4), dan (0,4). Sedangkan titik di bawahnya tidak diwarnai karena sudah di luar batas.
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (3,3) dan mewarnai 4 titik tetangganya yaitu (3,2), (4,3), (3,4), dan (2,3)
54
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
Keterangan: Pada gambar ini, titik awal yang diambil oleh program adalah (4,3) dan mewarnai 3 titik tetangganya yaitu (4,2), (4,4), dan (3,3). Sedangkan titik di bawahnya tidak diwarnai karena sudah di luar batas.
1. Masukkan titik awal X dan Y pada text box yang telah disediakan Untuk Proses 5×5 rentang nilai X dan Y adalah 0-4, sedangkan untuk Proses 10×10 rentang nilainya adalah 0-9
Keterangan: Pada gambar ini, semua titik pada gambar telah diwarnai. 2. Implementasi Program 8 Connected 1) Klik Open File, lalu pilih gambar yang akan diwarnai Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
2. Klik Simpan Titik Awal, untuk menyimpan titik awal yang telah diinputkan 3. Klik Proses 5×5 (8), maka gambar akan terwarnai secara 8-connected
55
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
4. Klik terus-menerus sampai seluruh gambar terwarnai
Keterangan: Pada gambar ini titik awal yang diambil oleh program adalah (1,1) dan mewarnai titik tetangganya yaitu (0,0), (0,1), (0,2), (1,0), dan (1,2) sedangkan titik (2,1), (2,2), dan (1,2) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
56
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (2,1) dan mewarnai titik tetangganya yaitu (3,0) saja sedangkan titik (1,0), (2,0), (1,1), (1,2), (2,2), (3,1), dan (3,2) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (3,1) dan mewarnai titik tetangganya yaitu (4,0), (4,1), dan (4,2) sedangkan titik (2,0), (3,0), (2,1), (2,2), dan (3,2) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya. Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
(2,3) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (3,2) dan mewarnai titik tetangganya yaitu (4,3) sedangkan titik (2,1), (3,1), (4,1), (4,2), (2,2), (2,3), dan (3,3) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (3,3) dan mewarnai titik tetangganya yaitu (2,4), (3,4), dan (5,4) sedangkan titik (2,2), (3,2), (4,2), (4,3), dan
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (2,3) dan mewarnai titik tetangganya yaitu (1,4) sedangkan titik (1,2), (1,3), (2,2), (3,2), (3,3), (3,4), dan (2,4) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
Keterangan : Pada gambar ini titik awal yang diambil oleh program adalah (1,3) dan mewarnai titik tetangganya yaitu (0,3) dan (0,4) sedangkan titik (0,2), (1,2), (2,2), (2,3), 2,4),
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017
57
Herriyance, Hendryan Winata Analisa Algoritma Boundary…….
dan (1,4) tidak diwarnai lagi karena telah diwarnai pada proses sebelumnya.
DAFTAR PUSTAKA Sian, Jong Jek. 2009. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan MATLAB. Yogyakarta: CV ANDI OFFSET Darmawan,Erico. 2010. Dasar C-Java-C#. INFORMATIKA Bandung
Keterangan : Pada gambar ini, seluruh titik telah terwarnai. Kesimpulan Boundary Fill merupakan salah satu pendekatan untuk area filling pada output primitive dengan memulai dari suatu titik didalam region dan mewarnai interior sampai batas dari objek tersebut. Algoritma ini mengambil titik dalam sebuah obyek dan memulai mengisi sampai menyentuh batas objek. Warna batas dan warna yang kita isi harus berbeda agar algoritma ini bekerja. Algoritma ini mempunyai dua metode yaitu 4-connected dan 8connected dan mempunyai kelebihan dibanding algoritma lain yaitu Flood-Fill. Dari contoh yang telah dipaparkan sebelumnya, metode 8-connected terbukti lebih cepat mengisi warna pada objek daripada metode 4-connected. Yang menjadi kelemahan metode ini adalah ketika objek tersebut memiliki banyak sekat atau memiliki batas berupa zigzag, maka metode 8-connected tidak dapat menjangkau di luar batas sekat tersebut. Inilah yang menjadi kelebihan dari metode 4-connected yang dapat menjangkau apa yang tidak dapat dijangkau oleh metode 8connected.
58
Pemrograman Bandung:
Rosari, Renati Winong. 2008. Cepat Menguasai Visual Studio.Net 2008 Express. Yogyakarta: CV ANDI OFFSET Jalunke, Shanu. 2013. Modified Boundary Fill For Complete Surface Coverage by Robotic Agents, Volume73. No.13,http://research.ijcaonline.org/vol ume73/number13/pxc3889904.Pdf, 10 Juni 2016. J.M.M,Khorasanizade Sousa. 2015. A twodimensional Segmented Boundary Algorithm moving solid boundaries in Smoothed Particle Hydrodynamics”, Volume66, No.20,http://www. sciencedirect.com/ science/article/pii/ S0010465515004075.10 Juni2016. Kumar, Manish. 2015. An efficient immersed boundary algorithm for simulation of flows curved and moving geometries, Volume 159 , No.129, http://www.sciencedirect. com/science/article/pii/S004579301630 0275,10 Juni 2016.
Jurnal SAINTIKOM Vol. 16, No. 1, Januari 2017