Disusun Oleh : Ratih Maharani
035314028
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika
Disusun Oleh : Ratih Maharani
035314028
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Teknik Degree
in Department of Informatics Technology
Created by: Ratih Maharani
035314028
DEPARTMENT OF INFORMATICS TECHNOLOGY
FACULTY OF ENGINEERING
SANATA DHARMA UNIVERSITY
YOGYAKARTA
judul, isi dan gagasan yang tertuang dalam skripsi ini belum pernah dipakai untuk mendapatkan gelar kesarjanaan di tempat lain baik di Indonesia maupun di luar negeri. Pemikiran, metode atau hasil penelitian orang lain yang diambil disebutkan dengan jelas sebagai acuan. Hasil-hasil penelitian, jurnal, makalah, buku, termasuk informasi di internet yang dipakai sebagai acuan dan bahan literatur ditulis dalam daftar pustaka.
Yogyakarta, 27 Agustus 2007 Penulis
Ratih Maharani
Kupersembahkan Tugas Akhir ini kepada :
Tuhan Yesus Kristus yang mengijinkan semua ini, serta telah memberikan kehidupan beserta seluruh warnanya.
Papa dan Mama tercinta, serta adik-adikku ketulusan cinta kasih yang kalian berikan begitu besar tidak akan pudar sampai selama-lamanya, so that the time can not erase.
di saatku tak berdaya, KuasaMu yang sempurna Selama ku percaya, Mujizat itu nyata….
Apapun juga yang kamu perbuat, perbuatlah dengan segenap hatimu seperti untuk Tuhan dan bukan untuk manusia. Kolose 3:23
Segala kuatirku, kutaruh di kakiMu, Allah pemeliharaku Bila Kau yang mengankat aku, Tiada yang dapat merendahkanku….
menggunakan komputer digital untuk menghasilkan sebuah citra baru yang sesuai dengan keinginan pengguna. Suatu citra dapat dimanipulasi dengan memberikan berbagai macam efek yang terdapat pada program pengolahan citra yang ada pada saat ini. Salah satu contoh efek yang diterapkan untuk mempercantik tampilan sebuah citra adalah dengan melakukan penambahan frame dan background pada sebuah foto.
Dalam penelitian ini dibuat sebuah program pengolahan citra untuk menambahkan frame dan background pada suatu citra. Penambahan frame dan background dilakukan dengan menerapkan operasi logika OR dan AND pada operasi berbasis bingkai. Program pengolahan citra ini diimplementasikan dengan bahasa pemrograman Delphi.
various particular effects within image processing program at present. One example effect implemented for better image is by using adding frame and background in the photo image.
The purpose of the research is to make an image processing program to adding frame and background in the photo image. Adding frame and background use OR and AND logical operation in frame-based operation. Image processing program is implemented with Delphi programming language.
Questionnaire that distributed to two groups of respondents, such as digital photographic studio and university students in Yogyakarta indicate that the result of image processing program was quite satisfied and this program were usefull.
Yesus Kristus, Anak Allah yang hidup yang senantiasa melimpahkan berkat dan anugerah-Nya kepada penulis, sehingga penulis dapat dapat menyelesaikan skripsi yang berjudul “Penambahan Frame Dan Background pada Sebuah Citra Foto” dengan baik. Tiada kata yang sanggup menggambarkan betapa indahnya kasih karunia-Nya dalam kehidupan penulis.
Namun demikian perlu disadari bahwa penyusunan skripsi ini tidak akan berhasil dengan baik tanpa bantuan dari berbagai pihak. Maka pada kesempatan ini, penulis ingin mengucapkan terima kasih yang tak terhingga kepada:
1. Papa dan Mama yang selalu memberi support dan doanya dengan tanpa lelah dan tiada henti. Cinta kalian yang tanpa pamrih adalah semangat yang terus membakar jiwa untuk terus menggapai kesuksesan yang ada. Terima kasih untuk cinta dan kasih sayang kalian. Terima kasih karena telah berhasil menjadi orang tua yang terbaik di hidupku.
2. Ibu. Anastasia Rita Widiarti, S.Si., M.Kom., selaku dosen pembimbing I yang telah meluangkan waktu, tenaga, dan pikiran untuk membimbing penulis, memberikan masukan dan saran dalam penyusunan Tugas Akhir ini.
angkatan 2003 yang tidak pernah lupa menanyakan kabar skripsi.
6. Segenap dosen atas kesabarannya dalam mengajar dan membimbing penulis selama perkuliahan di Fakultas Farmasi Universitas Sanata Dharma.
7. Adik-adikku, nyo-nyo dan nonik-ku, Edwin dan Sonya yang lucu-lucu. Kehadiran kalian dalam keluarga membuat keluarga kita lebih ceria dan indah. Terima kasih untuk cinta kalian kepada cece-mu ini.
8. Keluarga besarku, ik Emi, Ik Ecui, ik Elin, ku Lok, ku Liem, mak engkong, yang tidak lupa selalu mendoakan dan telah mendukung penulis.
9. Almarhum Encik Rudi yang semasa hidupnya juga tidak pernah lelah memberikan semangatnya. Semoga saat aku memakai togaku, engkau bisa melihat dengan senyum manismu di Sorga.
10.Saudara sepupuku sekaligus sahabatku Zefanya Christin Mey, yang tidak pernah lupa mengingatkan untuk tetap semangat ketika mengerjakan skripsi dan menghiburku ketika aku mulai jenuh dengan skripsi ini.
11.Sahabat terbaikku yang tidak pernah lelah memberi semangat dan doanya Novita Sari. Persahabatan dan memiliki sahabat sepertimu adalah sebuah anugerah yang sangat indah yang Tuhan ijinkan itu ada di dalam hidupku. 12.Sahabatku baikku di kost Eunike dan Selvi, terima kasih untuk persahabatan
Isti, dan Marcellia Kusuma. Perasaan senasip seperjuangan yang saling menyemangati saat mengerjakan skripsi merupakan semangat untukku menyelesaikan skripsi ini.
15.Teman-teman kost Dewi, Reni, Lanny, Lia, Anink, Yohana, Indah, Novi, Mellissa dan semua temen2 di kost Dewi.
16.Teman-teman Komsel Gereja Keluarga Allah yang selalu mendoakan dan memberikan semagat kepada penulis.
17.Teman-teman pelayanan tim Sentuhan Kasih Keluarga Allah yang selalu mendoakan dan memberi dukungannya.
18.Temen-temen kost Wulung yang telah meminjamkan beberapa referensi buku, Roy, Hendra, dan Sigit.
19.Temen-temen reuni, Bobby, Iis, Lia, Johan, Hendra, Liana, Henny, Ninik, Ronny, Erick, yang tidak pernah lupa menanyakan kabar skripsiku.
20.Fatimah Sina teman senasip seperjuangan dalam menyusun dan menunggu ujian akhir.
21.Agus dan Fenddy yang selalu mengizinkan penulis untuk mengganggunya ketika penulis sedang menunggu dosen-dosen.
22.Teman-teman fakultas TI angkatan 2003, Yansen, Onez, Danang, Dhea, Tika, Dephi, Sarah, Merry, Abe, Ako, Oscar, dll.
26.Timotius Ronald yang mulai mengisi hari-hariku dengan kehadiran dan perhatiannya.
Penulis menyadari bahwa laporan ini masih jauh dari kesempurnaan, sehingga penulis membutuhkan kritik dan saran yang membangun agar penulis dapat lebih maju lagi dalam pengembangan kemampuan. Akhir kata penulis mengucapkan semoga tulisan ini dapat berguna di kemudian hari.
Yogyakarta, 29 September 2007
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN ... vi
HALAMAN MOTTO ... vii
ABSTRAKSI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xiv
DAFTAR GAMBAR ... xviii
DAFTAR TABEL ... xx
BAB I. PENDAHULUAN 1.1. Latar Belakang Masalah... 1
1.2. Rumusan Masalah ... 3
1.3. Batasan Masalah ... 3
1.4. Tujuan Penelitian ... 4
1.5. Metodologi Penelitian ... 4
1.6. Sistematika Penulisan ... 5
BAB II. LANDASAN TEORI 2.1. Pengertian Citra... 7
2.2. Format Citra ... 8
2.2.1. Citra Biner (Binary Image) ... 8
2.2.2. Citra Skala Keabuan (Grayscale Image)... 9
2.2.3. Citra Warna (Color Image) ... 10
2.2.4. Konversi Citra Warna ke Citra Skala Keabuan... 10
2.6. Pengolahan Citra (Image Processing)... 17
2.7. Operasi Berbasis Bingkai... 19
2.7.1. Operasi Aritmatika ... 20
2.7.1.1. Penjumlahan Dua Buah Citra... 20
2.7.1.2. Pengurangan Dua Buah Citra... 21
2.7.1.3. Perkalian Citra... 21
2.7.1.4. Penjumlahan/Pengurangan Citra dengan Skalar ... 22
2.7.1.4. Perkalian/Pembagian Citra dengan Skalar ... 22
2.7.2. Operasi Logika ... 23
2.7.2.1. Operasi Logika AND ... 23
2.7.2.2. Operasi Logika OR ... 23
2.7.2.3. Operasi Logika XOR... 24
2.7.2.4. Operasi Logika NOT... 24
2.8. Operasi Geometri ... 25
2.8.1. Operasi Rotasi ... 25
2.9. Flowchart ... 27
2.9.1. Simbol-simbol Flowchart... 28
BAB III. ANALISIS PERANCANGAN SISTEM 3.1. Spesifikasi Sistem ... 32
3.1.1. Perangkat Lunak (Software)... 32
3.1.1.1 Sistem Operasi ... 32
3.1.1.2 Bahasa Pemrograman... 32
3.1.2. Perangkat Keras (Hardware) ... 33
3.2. Perancangan Sistem ... 33
3.2.1.5. Flowchart Putar Frame 90º Searah Jarum Jam ... 40
3.2.1.6. Flowchart Frame Negatif ... 41
3.2.1.7. Flowchart Konversi Citra Warna Menjadi Citra Grayscale dan Citra Black-White... 42
3.3Perancangan Program ...43
3.3.1. Perancangan Tampilan ...43
3.3.1.1. Tampilan Awal...43
3.3.1.2. Tampilan Utama...44
3.3.1.3. Foto ...45
3.3.1.4. Frame ...46
3.3.1.5. Background ...47
3.3.1.6. Color...48
3.3.1.7. Save ...49
3.3.1.8. Help ...50
3.3.1.9. Tampilan Info...50
3.3.1.10. Keluar...51
3.3.3. Perancangan Input / Output...52
3.3.3.1. Perancangan Masukan...52
3.3.3.2. Perancangan Keluaran...52
BAB IV. IMPLEMENTASI SISTEM 4.1. Tampilan Sistem ... 53
4.1.1. Tampilan Awal...53
4.1.2. Tampilan Utama...54
4.1.3. Tampilan Foto ...56
4.1.4. Tampilan Exception Handling Frame ...57
4.1.10. Tampilan Save...74
4.1.11. Tampilan Help...75
4.1.12. Tampilan Info...75
4.1.13. Tampilan Keluar...76
BAB V. ANALISIS SISTEM 5.1. Uji Coba dan Analisa Sistem ... 77
5.1.1. Uji Coba Program ... 77
5.1.2. Analisa Sistem... 78
5.2. Kuesioner ... 79
5.2.1. Penentuan Pengguna Responden ... 80
5.2.2. Pengolahan dan Analisis Data... 80
5.2.3. Analisa Hasil Pengolahan Koesioner ... 81
5.3. Kelebihan dan Kelurangan Program ... 82
5.3.1. Kelebihan Program ... 82
5.3.2. Kelurangan Program ... 83
BAB VI. KESIMPULAN DAN SARAN 6.1. Kesimpulan ... 84
6.2. Saran... 85
DAFTAR PUSTAKA
BAB I
PENDAHULUAN
1.1Latar Belakang Masalah
Perkembangan teknologi komputer yang semakin pesat membawa pengaruh di segala bidang, tak terkecuali di bidang pengolahan citra. Apalagi hampir tidak ada satu bidang pun yang kemudian lepas dari kebutuhan penggunaan citra. Pada saat ini citra digunakan secara rutin pada bidang sains, engineering, kedokteran, industri, pemerintahan, disain grafis, fotografi, perfilman, video clip, acara televisi, iklan, game, dll.
Citra mempunyai karakterisitik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Meskipun demikian seringkali kita merasa tampilan dari citra tersebut kurang memuaskan. Hal ini mungkin disebabkan karena tampilan dari citra tersebut terlalu biasa. Penambahan beberapa efek pada sebuah citra agar menghasilkan tampilan yang lebih menarik dapat dilakukan. Salah satunya dengan penambahan efek frame dan background pada sebuah citra.
Penambahan efek frame dan background pada sebuah citra adalah suatu proses yang dikenakan pada sebuah citra asli sehingga dihasilkan sebuah citra baru yang memiliki sebuah frame dan background. Efek ini dihasilkan dari penambahan piksel citra, piksel frame, dan piksel background. Hasil yang didapat adalah sebuah foto yang telah digabungkan dengan frame dan background.
Gabungan antara citra frame dan background sendiri dapat dipilih sendiri oleh
Selama ini proses pengolahan citra dikerjakan dengan bantuan software- software pengolah citra yang telah banyak beredar luas, misalnya Adope Photoshop, Adope ImageReady, Adope Photoshop CS, Corel Photo-Paint, dll. Namun diperlukan keahlian khusus untuk dapat menggunakannya sehingga tidak banyak orang dapat menguasainya. Oleh karena itu diperlukan software yang khusus untuk membantu mengatasi masalah tersebut. Sebuah software khusus yang bersifat praktis dan dapat digunakan oleh siapapun, baik itu user yang biasa melakukan proses pengolahan image ataupun user yang jarang melakukan proses pengolahan image. Aplikasi software ini dapat diterapkan pada foto box atau percetakan foto digital.
Software yang ditujukan untuk stodio foto digital ini menyediakan fasilitas pengolahan citra praktis yang penggunaannya dapat langsung dilakukan oleh para
customer. Pada software ini customer dapat melakukan sendiri proses pengolahannya bahkan sekalipun mereka tidak memiliki keahlian apapun dalam melakukan proses pengolahan citra. Software ini dibuat dengan tujuan untuk mempermudah pengolahan citra, terutama bagi mereka yang tidak berkecimpung di dunia pengolahan citra. Namun software ini juga dibuat dengan tujuan untuk mengejar efisiensi waktu bagi mereka yang memang berkecimpung di dunia pengolahan citra
bitmap tersebut dalam segala jenis tampilan di layar monitor dan mengolahnya sehingga dapat memberikan hasil citra yang diinginkan. Citra yang sudah diolah dapat disimpan dengan nama lain.
1.2Rumusan Masalah
Berdasarkan latar belakang yang dikemukakan di atas, timbul permasalahan yang ingin dibahas yaitu bagaimana cara membuat sebuah software
yang dapat menggabungkan citra frame dan background pada sebuah citra foto.
1.3Batasan Masalah
Agar penulisan laporan tugas akhir ini lebih terarah, maka penulis hanya membatasi masalah:
1. Input file citra foto, citra frame, dan citra background dalam format file
Bitmap dan citra warna 24 bit.
2. Ukuran file citra foto dan file citra frame yang diinputkan tidak melebihi 800 x 600 piksel.
3. Ukuran file citra background yang diinputkan minimal 800 x 600 piksel. 4. Sistem tidak dilengkapi dengan pemrosesan perbaikan kualitas image.
5. Menitikberatkan pada operasi penggabungan citra dengan menggunakan operasi logika.
1.4Tujuan Penelitian
Tujuan penulisan tugas akhir ini adalah membuat sebuah software yang dapat menggabungkan sebuah frame dan background pada sebuah citra foto.
1.5Metodologi Penelitian
Metode penulisan yang digunakan dalam penulisan tugas akhir ini adalah: a) Studi literatur
Pada studi literatur ini penulis mempelajari beberapa metode penggabungan citra dengan menggunakan operasi logika melalui beberapa buku-buku pendukung, browsing di internet, hand out dari materi kuliah teknologi citra. b) Perancangan program
Langkah-langkah dalam perancangan program adalah sebagai berikut: 1. Rancangan sistem secara umum.
2. Rancangan tampilan (input, proces, output). 3. Rancangan userinterface secara detail. c) Implementasi program
Dalam implementasi program ini semua rancangan dikonversikan dengan menggunakan bahasa pemrograman Borland Delphi.
d) Menganalisa dan membagikan kuesioner
e) Penulisan laporan.
Penulisan laporan digunakan sebagai dokumentasi yang berisi setiap langkah pembuatan sistem.
1.6. Sistematika Penulisan
BAB I. PENDAHULUAN
Bab ini menjelaskan latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, metodologi penulisan yang digunakan dan sistematika penulisan dari tugas akhir ini.
BAB II. LANDASAN TEORI
Bab ini membahas tentang landasan teori yang digunakan dalam tugas akhir yang terdiri dari pengertian citra, format citra, model warna RGB, pengertian frame dan background, format file BMP, pengolahan citra, operasi berbasis bingkai, operasi geometri, flowchart, dan kuesioner.
BAB III. ANALISIS & PERANCANGAN SISTEM
BAB IV. IMPLEMENTASI
Bab ini membahas tentang langkah-langkah implementasi program yang terdiri dari tampilan program, alur program, dan penjelasan program.
BAB V. ANALISA HASIL
Hasil dari implementasi program akan dilakukan uji coba dan analisa. Uji coba yang dilakukan merupakan hasil survei dari beberapa studio foto digital di Yogyakarta dan beberapa user yang menjalankan software ini. Kemudian dari hasil yang didapat akan dilakukan analisa agar dapat diketahui kelebihan dan kekurangan dari program yang telah dibuat..
BAB VI. KESIMPULAN DAN SARAN
BAB II
LANDASAN TEORI
2.1Pengertian Citra
Citra merupakan sebuah keluaran dari suatu sistem perekaman data yang
mungkin bersifat optis (misalnya foto), bersifat analog (misalnya sinyal-sinyal
video seperti gambar pada monitor televisi), atau bersifat digital (file yang dapat
disimpan ke media penyimpanan) (Munir, 2004).
Komputer digital hanya dapat mengolah suatu citra yang sudah
direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari
fungsi malar (kontinu) menjadi nilai-nilai diskrit inilah yang disebut digitalisasi.
Citra yang dihasilkan dari proses digitalisasi disebut citra digital (digital image).
Citra yang tampak pada layar monitor merupakan kumpulan piksel- piksel
yang tersusun dalam bentuk array dua dimensi. Piksel (picture element)
merupakan elemen terkecil dari suatu citra yang berisi informasi untuk
menampilkan warna tertentu pada layar monitor (Prosise, 1994). Susunan piksel
dalam baris (sumbu x) dan kolom (sumbu y) dinamakan resolusi monitor.
Jumlah piksel yang dapat ditampilkan merupakan hasil kali antara jumlah
baris dan jumlah kolom dari layar tersebut. Misalnya layar monitor dengan
resolusi 640 x 480, berarti monitor mampu menampilkan piksel sejumlah 640
baris dan 480 kolom sehingga total piksel yang digunakan adalah 640 x 480 =
307.200 piksel. Semakin besar resolusi sebuah citra maka semakin banyak
semakin halus. Biasanya satuan yang digunakan adalah dpi (dot per inch).
Gambar 2.1 dibawah ini menunjukkan susunan array dua dimensi dari sebuah
citra.
f(0,0) f(1,0) f(2,0) … … f(i,0) f(0,1) f(1,1) f(2,1) … … f(i,1) f(0,2) f(1,2) f(2,2) … … f(i,2)
… … … … … …
… … … … … …
f(0,j) f(1,j) f(2,j) … … f(i,j)
Gambar 2.1. Citra digital dalam bentuk matrik
f : intensitas (derajat keabuan) pada titik (i, j)
i : indeks baris
j : indeks kolom
2.2Format Citra
Citra dalam format BMP terbagi atas empat macam, yakni:
2.2.1 Citra Biner (binary image)
Citra biner disebut juga citra monokrom. Setiap titik pada citra biner hanya
mempunyai dua nilai derajat keabuan, yakni hitam dan putih. Warna hitam
dipresentasikan dengan nilai 0 dan warna putih dipresentasikan dengan nilai 1.
Oleh karena itu setiap titik pada citra biner hanya membutuhkan 1 bit untuk
Gambar 2.2. Citra monokrom
2.2.2 Citra Skala Keabuan (grayscale image)
Citra grayscale memiliki kemungkinan warna yang lebih banyak daripada
citra biner karena ada nilai-nilai lain diantara nilai minimum dan nilai
maksismumnya. Banyaknya kemungkinan nilai minimum sampai nilai maksimum
tergantung pada ukuran bit yang dipakai. Pada umumnya warna citra grayscale
yang dipakai adalah warna hitam sebagai warna maksimal dan putih sebagai
warna minimalnya sehingga warna diantaranya adalah abu-abu.
Misalnya citra grayscale 8 bit berarti memiliki 256 kombinasi warna dari
0 sampai 255 dimana nilai intensitas 0 menyatakan hitam dan nilai intensitas 255
menyatakan putih, dan nilai antara 0 sampai 255 menyatakan warna keabuan yang
terletak antara hitam dan putih. Citra grayscale 8 bit membutuhkan 1 byte untuk
merepresentasikan setiap pikselnya.
2.2.3 Citra warna (color image)
Citra warna dikenal dengan nama citra spektral. Citra ini menerapkan
format warna RGB, dengan kombinasi warna piksel yang tersusun dari tiga warna
dasar, yaitu merah, hijau, dan biru. Setiap warna dasar mempunyai intensitas
sendiri dengan nilai maksimal 255. Kombinasi dari ketiga warna RGB akan
menghasilkan warna yang khas untuk piksel yang bersangkutan.
Citra berwarna dapat dibagi menurut kedalaman warnanya, yaitu: 4-bit,
8-bit, 16-bit dan 24-bit. Banyaknya bit ini akan menentukan kombinasi warna yang
dapat ditampilkan. Misalnya citra dengan panjang 8 bit akan memiliki 256
kombinasi warna. Ini dihasilkan dari 28 = 256. Begitu juga citra 24-bit yang
disebut juga citra 16 juta warna, karena ia mampu menghasilkan 224 = 16.777.216
kombinasi warna. Citra 24-bit dianggap mencakup semua warna (true color).
Citra warna membutuhkan 3 byte yang masing-masing byte menyatakan
komponen R, G, dan B.
Gambar 2.4. Citra warna
2.2.4 Konversi Citra Warna ke Citra Skala Keabuan
Citra warna dapat dikonversikan ke citra skala keabuan dengan operasi
titik. Secara intensitas nilai yang didapat didefinisikan sebagai nilai rerata dari
ketiga nilai elemen warna, sehingga nilai keabuan yang merepresentasikan
intensitas dapat dihitung dengan rumus:
2.2.5 Konversi Citra Skala Keabuan ke Citra Biner
Proses ini biasa disebut juga pengambangan (thresholding). Citra Skala
keabuan yang memiliki kemungkinan nilai lebih dari 2 (antara 0-255) akan diubah
menjadi citra dengan 2 nilai keabuan (0 dan 255). Pada proses ini, titik dengan
nilai rentan nilai keabuan tertentu diubah menjadi warna hitam dan sisanya
menjadi warna putih atau sebaliknya.
0, jika K1 < ambang
1, jika K1≥ ambang ....(2.2)
Ko =
{
atau
0, jika K1≥ ambang
1, jika K1 < ambang ....(2.3)
Ko =
{
2.3Model Warna
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh obyek. Setiap warna memiliki
panjang gelombang yang berbeda. Pemodelan warna merupakan suatu cara
bagaimana suatu warna dapat diterjemahkan menjadi data numerik.
2.3.1Model Warna RGB
Standar bagi format warna RGB (Red, Green, Blue) ditetapkan oleh CIE
(Commission Internationale d l’Eclairage) pada tahun 1931, dengan tiga
(G)reen, dan 435,8 nm (B)lue (Michael, 2001). Kombinasi dari ketiga warna RGB
akan menghasilkan warna yang khas untuk setiap piksel, yang dijelaskan pada
tabel 2.1.
Tabel 2.1. Tabel warna RGB
Nilai yang tersimpan dalam frame buffer Kode
warna red green blue
Tampilan warna
0 0 0 0 Hitam
1 0 0 1 Biru
2 0 1 0 Hijau
3 0 1 1 Cyan
4 1 0 0 Merah
5 1 0 1 Magenta
6 1 1 0 Kuning
7 1 1 1 Putih
Suatu piksel yang berukuran 24 bit terdiri dari 3 × 1 byte, masing-masing
terdiri dari 8 bit yang masing-masing mewakili komponen warna Red, Green, dan
Blue yang merupakan 3 warna primer. Nilai setiap byte berada pada rentang
0,...,255, dengan tipe unsigned.
Model warna RGB merupakan model warna penambahan (additive color
mode). Bentuk warna lain didapat dari proses penambahan warna primer,
misalnya untuk mendapatkan warna cyan maka dilakukan proses penambahan
warna biru dan hijau.
Caranya: R G B
Blue ( 0 ,0,1 ) cyan ( 0,1 ,1 )
m agent a ( 1 ,0,1 ) w h it e ( 1 ,1,1 )
black ( 1,1 ,1)
r ed ( 1 ,0 ,0) y ellow ( 1 ,1,0 )
gr een( 0 ,1 ,0)
Gambar 2.5. Model warna RGB
2.4Pengertian Frame dan Background
Frame (bingkai) adalah pingiran yang menggelilingi sebuah citra. Frame
yang digabungkan dengan sebuah citra akan membuat citra tersebut memiliki
pingiran yang dapat membuat tampilan dari citra tersebut lebih menarik lagi.
Frame memiliki banyak bentuk, antara lain persegi, oval, lingkaran, trapesium,
dan bentuk-bentuk lain, seperti bentuk bunga, hati, kupu-kupu, pita, dan
sebagainya.
Background adalah sebuah citra yang berisi pattern, corak, dan gambar.
Pada program ini background akan digabungkan dengan frame sehingga
gabungan dari keduanya akan menghasilkan sebuah frame yang memiliki gambar
background. Pada bagian frame yang dipertahankan akan tetap muncul citra frame
sedangkan bagian frame yang dihilangkan akan diisi dengan citra background.
Tujuan dari penggunaan frame dan background pada sebuah foto adalah
menambah daya tarik sebuah foto ketika disajikan. Frame memiliki bentuk
persegi, oval, lingkaran, polygon, dan berbagai bentuk lain akan didukung dengan
background yang menyediakan elemen warna dan corak yang dapat dicocokkan
background juga tidak terbatas pada bentuk-bentuk yang monoton tetapi juga bisa
berupa efek-efek seperti daun jendela, jeruji besi, pintu, lubang angin, daun,
batang pohon, awan, gelembung sabun, dll.
2.5Format File BMP
Sistem Operasi Windows mempunyai standart untuk format berkas citra
yaitu *.BMP (bitmap) yang dapat dipanggil langsung untuk dimanipulasi dan
ditampilkan karena sistem operasi Windows memiliki perintah API (Aplication
Programming Interface).
Citra bitmap ini dipetakan ke dalam sejumlah bit tertentu dengan nilai
intensitas piksel. Jumlah bit yang dipetakan ini mempresentasikan derajat keabuan
(graylevel) yang akan mempengaruhi kedalaman warna dari citra bitmap.
Setiap berkas bitmap terdiri atas header berkas (BitmapFileHeader),
header bitmap (bitmapinfoheader), informasi palet, dan data bitmap.
Header berkas Header bitmap Informasi palet Data bitmap
14 byte 12 s/d 64 byte 0 s/d 1024 bytes Nbyte
Gambar 2.6. Format berkas bitmap
Header berkas akan menentukan tipe, ukuran dan layout dari file bitmap.
Stuktur header file dijelaskan pada tabel 2.2.
Tabel 2.2. Tabel isi header berkas bitmap
Byte ke- Panjang (byte) Nama Keterangan
1 – 2 2 BmpType Tipe berkas Bitmap:
BA = bitmap array,
BM = bitmap,
CP = color pointer,
PT = pointer
3 – 6 4 BmpSize Ukuran berkas bitmap
7 – 8 2 XhotSpot X hotspot untuk kursor
9 – 10 2 YhotSpot Y hotspot untuk kursor
11 – 14 4 OffBits Ofset ke awal data bitmap (dalam byte)
Header bitmap akan menentukan dimensi, tipe pemampatan dan format
warna untuk bitmap. Stuktur header bitmap dijelaskan pada tabel 2.3.
Tabel 2.3. Tabel isi header bitmap
Byte ke- Panjang (byte) Nama Keterangan
1 – 4 4 HdrSize Ukuran header dalam satuan byte
5 – 8 4 Width Lebar bitmap dalam satuan piksel
9 – 12 4 Height Tinggi bitmap dalam satuan piksel
13 – 14 2 Planes Jumlah plane (umumnya selalu satu)
15 – 16 2 BitCount Jumlah bit per piksel
17 – 20 4 Compression 0 = tak dimampatkan,
1 = dimampatkan
21 – 24 4 ImgSize Ukuran bitmap dalam byte
25 – 28 4 HorzRes Resolusi horizontal
29 – 32 4 VertRes Resolusi vertikal
33 – 36 4 ClsrUsed Jumlah warna yang digunakan
Informasi palet warna berisi struktur RGBQuad yang berisi elemen warna
yang ada pada bitmap. Setiap entry pada tabel terdiri atas tiga buah field, yaitu R
(red), G (green), dan B (blue). Stuktur informasi palet warna dijelaskan pada tabel
2.4.
Tabel 2.4.Tabel isi data gambar
Ofset Nama Keterangan
0 RgbBlue Nilai warna biru
1 RgbGreen Nilai warna hijau
2 RgbRed Nilai warna merah
3 RgbReserved Selalu 0
Data bitmap diletakkan sesudah informasi palet. Penyimpanan data bitmap
di dalam berkas disusun terbalik dari bawah ke atas dalam bentuk matrik yang
berukuran Height × Width. Baris ke-0 pada matrik data bitmap menyatakan data
piksel di citra baris terbawah, sedangkan baris terakhir pada matrik menyatakan
data piksel di citra baris teratas. Stuktur informasi data bitmap dijelaskan pada
gambar 2.7.
< header bit m ap>
< dat a bit m ap>
220 56 256 255 255 255 10 120 120 … … 0 0 25 152 25 47 25 215 255
< header berkas>
2.6Pengolahan Citra
Pengolahan citra digital (digital image processing) adalah proses
memanipulasi suatu file citra dengan menggunakan komputer digital sehingga
menghasilkan suatu file citra yang sesuai dengan keinginan.
Pengolahan citra menggunakan komputer dapat digambarkan pada
diagram berikut ini:
Proses Pengolahan Citra File Citra Hasil File Citra
Gambar 2.8. Pengolahan Citra
Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi
setiap titik dalam citra tersebut. Secara garis besar, modifikasi citra
dikelompokkan menjadi:
1. Operasi titik adalah operasi pengolahan citra dimana setiap titik diolah
tidak berpengaruh antara satu titik dengan titik yang lain. Setiap titik
pada suatu citra mempunyai 2 karakteristik, yaitu koordinat yang
menunjukkan lokasi dari titik tersebut dalam citra dan nilai piksel.
Beberapa operasi pengolahan citra yang termasuk dalam kelompok
operasi titik adalah operasi modifikasi kecemerlangan (brightness
modification), peningkatan kontras (contrast enhancement), negasi
(negation), dan operasi pengambangan (thresholding).
2. Operasi global adalah operasi pengolahan citra dimana karakteristik
global dari citra tersebut digunakan untuk memodifikasi nilai setiap
3. Operasi geometri adalah operasi terhadap koordinat piksel dalam citra
yang memungkinkan terjadinya perubahan bentuk, ukuran, atau
orientasi. Operasi geometri di antaranya meliputi pencerminan
(flipping), rotasi / pemutaran (rorating), penskalaan (scaling /
zooming), dan pembengkokan (warping).
4. Operasi temporal/berbasis bingkai adalah operasi pengkombinasian
dua buah citra atau lebih dengan menggunakan operasi matematis.
Operasi ini dilakukan titik per titik dengan lokasi yang bersesuaian
pada citra-citra tersebut. Operasi temporal/berbasis bingkai di
antaranya meliputi pengurangan derau, penggabungan citra (image
blending), deteksi gerakan, dll.
5. Operasi titik bertetangga adalah operasi dimana data dari titik yang
bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan
dalam mengubah nilai. Operasi bertetangga pada dasarnya konvolusi
antara citra dengan sebuah filter atau mask. Operasi titik bertetangga di
antaranya meliputi penghalusan citra (smoothing), eliminasi derau,
pendeteksi tepi, penajaman citra (sharping).
6. Operasi morfologi adalah operasi yang didasarkan pada segmen atau
region dalam citra yang menjadi perhatian. Operasi morfologi di
antaranya meliputi operasi pencarian batas, dilasi (dilation), erosi
(erosion), penutupan (closing), pembukaan (opening), pengisian
Operasi citra pada pengolahan citra pada umumnya diterapkan bila:
1. Perbaikan kualitas penampakan atau untuk menonjolkan beberapa
aspek informasi yang terkandung dalam citra tersebut.
2. Elemen-elemen dalam citra perlu dikelompokkan atau dicocokkan
untuk diukur.
3. Sebagian citra perlu digabung dengan citra yang lain.
2.7Operasi Berbasis Bingkai
Operasi berbasis bingkai adalah operasi yang melibatkan 2 buah citra atau
lebih dan menghasilkan sebuah citra keluaran yang merupakan hasil operasi
matematis (Achmad, 2005).
Operasi berbasis bingkai antara citra A dan citra B akan menghasilkan citra
C, yang persamaannya dapat dituliskan sebagai berikut:
C(x,y) = A(x,y) op B(x,y)...(2-4)
dimana op adalah operator yang menghubungkan kedua citra tersebut.
Operasi berbasis bingkai juga dapat melibatkan N buah citra A1 sampai dengan AN
yang persamaannya dapat dituliskan sebagai berikut:
C(x,y) = A1(x,y) op A2(x,y) op A3(x,y) ... op AN(x,y)...(2-5)
Berdasarkan operator yang dipakai, operasi berbasis bingkai meliputi
2.7.1 Operasi Aritmatika
Operasi aritmatik biasanya diterapkan terhadap citra keabuan dan warna.
Berdasarkan operator aritmatika yang umum digunakan terdapat empat operasi
aritmatika yang dapat dirumuskan sebagai berikut:
2.7.1.1 Penjumlahan Dua Buah Citra
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) + B(x,y) ...(2-6)
C adalah citra baru yang intensitas setiap pixel-nya adalah jumlah dari
intensitas pada A dan B. Jika hasil penjumlahan intensitas lebih besar dari 255
maka intensitasnya akan dibulatkan menjadi 255.
Operasi penjumlahan citra dapat digunakan untuk mengurangi pengaruh
derau (noise) di dalam data, dengan cara merata-ratakan derajat keabuan setiap
piksel dari citra yang sama yang diambil berkali-kali.
Salah satu contoh penjumlahan dua buah citra adalah penggabungan citra
dilakukan dengan cara menimpakan (superimpose) sebuah citra pada citra yang
lain. Penggabungan citra dapat diberi bobot masing-masing. Rumus untuk
penggabungan dua buah citra adalah
C(x,y) = wA * A(x,y) + wB * B(x,y) ... (2-7)
dengan wA * dan wB adalah bobot untuk citra A dan citra B. Biasanya nilai
total dari bobot untuk sebuah lokasi piksel adalah 1, sehingga
2.7.1.2 Pengurangan Dua Buah Citra
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) - B(x,y) ...(2-9)
C adalah citra baru yang intensitas setiap pixel-nya adalah selisih dari
intensitas pada A dan B. Ada kemungkinan hasil operasi ini menghasilkan nilai
negatif, oleh karena itu, operasi pengurangan citra perlu melibatkan operasi
clipping.
Pengurangan citra dapat digunakan untuk mendeteksi perubahan yang
terjadi selama selang waktu tertentu bila dua buah citra yang diambil adalah citra
dari adegan yang sama. Teknik semacam ini dipakai pada moving images.
2.7.1.3 Perkalian Citra
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) * B(x,y) ...(2-10)
C adalah citra baru yang intensitas setiap pixel-nya adalah hasil perkalian
dari intensitas pada A dan B.
Perkalian citra sering digunakan untuk mengoreksi kenirlanjaran sensor
dengan cara mengalikan matrik citra dengan matrik koreksi. Jadi dalam hal ini A
adalah citra sedangkan B adalah matrik koreksi. Hasil operasi mungkin akan
bernilai rill, sehingga semua nilai dibulatkan ke nilai bulat terdekat. Nilai
2.7.1.4 Penjumlahan/Pengurangan Citra Dengan Skalar
Persamaan yang digunakan adalah:
B(x,y) = A(x,y) + c ...(2-11)
Penjumlahan citra A dengan skalar c adalah menambah setiap piksel di
dalam citra dengan sebuah skalar c, dan menghasilkan citra baru B yang
intensitasnya lebih terang daripada A. Kenaikan intensitas sama untuk seluruh
piksel, yaituc.
Pengurangan citra A dengan skalar c adalah mengurangkan setiap piksel
di dalam citra dengan sebuah skalar c, dan menghasilkan citra baru B yang
intensitasnya lebih gelap daripada A. Penurunan intensitas sama untuk seluruh
pixel, yaitu c. Contoh operasi penjumlahan/pengurangan citra dengan sebuah
skalar adalah operasi pencerahan citra.
2.7.1.5 Perkalian/Pembagian Citra Dengan Skalar
Persamaan yang digunakan adalah:
B(x,y) = c . A(x,y) ...(2-12)
dan
B(x,y) = A(x,y) / c ...(2-13)
Perkalian citra A dengan skalar c menghasilkan citra baru B yang
intensitasnya lebih terang daripada A. Kenaikan intensitas setiap piksel sebanding
dengan c. Operasi perkalian citra dengan skalar dipakai untuk kalibrasi kecerahan
(callibration of brightness).
Pembagian citra A dengan skalar c menghasilkan citra baru B yang
dengan c. Operasi pembagian citra dengan skalar dipakai untuk normalisasi
kecerahan (normalization of brightness).
2.7.2 Operasi Logika
Operasi logika juga dapat dilakukan terhadap dua atau lebih citra.
Beberapa operasi logika yang sering dipergunakan adalah:
2.7.2.1 Operasi Logika AND
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) AND B(x,y) ...(2-14)
AND
(A) AND (B)
B
A
Gambar 2.9. Citra hasil operasi logika AND
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra
dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan
menggunakan operasi logika AND maka citra hasil operasi yang didapat adalah
citra persegi panjang yang merupakan perpotongan kedua citra tersebut.
2.7.2.2 Operasi Logika OR
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) OR B(x,y) ...(2-15)
B
OR
(A) OR (B)
A
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra
dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan
menggunakan operasi logika OR maka citra hasil operasi yang didapat adalah
citra poligon yang merupakan perpaduan kedua citra tersebut.
2.7.2.3 Operasi Logika XOR
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) XOR B(x,y) ...(2-16)
XOR
(A) XOR (B)
B
A
Gambar 2.11. Citra hasil operasi logika XOR
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra
dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan
menggunakan operasi logika XOR maka citra hasil operasi yang didapat adalah
citra poligon yang berlubang dibagian tengah yang merupakan hasil perpaduan
kedua citra tersebut.
2.7.2.4 Operasi Logika NOT
Persamaan yang digunakan adalah:
C(x,y) = NOTA(x,y) ...(2-17)
A
NOT
NOT (A)
Jika A adalah citra dengan gambar persegi panjang maka setelah citra
tersebut dioperasikan dengan menggunakan operasi logika NOT maka citra hasil
operasi yang didapat adalah sebuah citra yang berlubang di bagian persegi
panjang. Hasil yang terbentuk merupakan komplemen dari citra awal.
2.8Operasi Geometri
Operasi geometri berhubungan dengan koordinat piksel dalam citra
tersebut sehingga memungkinkan terjadinya perubahan bentuk dan ukuran
(Achmad, 2005).
2.8.1 Operasi Rotasi
Operasi rotasi / pemutaran (rorating) merupakan salah satu operasi
geometri. Operasi rotasi merupakan operasi perputaran sebuah citra dengan besar
sudut tertentu dan dengan titik pusat rotasi pada koordinat tertentu.
Operasi rotasi dengan sudut bebas atau besar sudut yang sudah ditentukan
dimungkinkan menghasilkan nilai yang tidak bulat sehingga perlu dilakukan
interpolasi. Rumus yang digunakan untuk operasi rotasi sudut bebas yang searah
jarum jam dengan titik pusat rotasi pada koordinat (0,0) adalah:
x’ = x cos ( θ ) + y sin( θ )... (2-18)
y’ = - x sin ( θ ) + y cos ( θ )... (2-19)
Rumus yang digunakan untuk operasi rotasi sudut bebas yang berlawanan
dengan arah jarum jam dengan titik pusat rotasi pada koordinat (0,0) adalah:
x = x’ cos ( -θ ) + y’ sin( -θ )
y’ = - x’ sin ( -θ ) + y’ cos ( -θ )
= x’ sin ( θ ) + y’ cos ( θ )... (2-21)
Operasi rotasi 90º merupakan operasi penukaran nilai koordinat x dan y.
Rumus untuk rotasi 90º putaran searah jarum jam dengan pusat pada titik (0,0)
adalah:
x` = y ...(2-22)
y` = -x ...(2-23)
Rumus ini akan menghasilkan y` negatif sehingga perlu dilakukan
pemindahan pusat ke titik yang ada di tengah citra ( xc, yc ). Hal ini dapat
dilakukan dengan mentranslasi citra asal sebesar ( -xc, -yc ), merotasikannya,
kemudian mentranslasikan kembali citra hasilnya sebesar ( -xc’, -yc’ ). Terjadinya
perubahan ukuran citra yang disebabkan karena titik pusat citra yang berubah.
Ukuran citra yang baru menjadi:
w’ = h ...(2-24)
h’ = w ...(2-25)
Rumus yang digunakan untuk rotasi menjadi:
Dengan cara yang sama untuk y`
Transformasi balik dari persamaan di atas adalah:
x = y` ...(2-30)
y = w`-1-x` ...(2-31)
2.9Flowchart
Flowchart adalah bagan-bagan yang mempunyai arus yang
mnenggambarkan langkah-langkah penyelesaian masalah. Flowchart merupakan
cara penyajian dari suatu algoritma (Ladjamuddin, 2006).
Ada dua macam flowchart yang mengambarkan proses dengan komputer,
yaitu:
1. Sistem Flowchart
Bagan yang memperlihatkan urutan proses dalam sistem dengan
menunjukkan alat media input, output serta jenis media penyimpanan
dalam proses pengolahan data.
2. Program Flowchart
Bagan yang memperlihatkan urutan instruksi yang digambarkan
2.9.1 Simbol-simbol flowchart
Flowchart disusun dari simbol-simbol yang merupakan alat bantu untuk
menggambarkan sebuah proses pada suatu program. Simbol yang digunakan
dalam flowchart dibagi menjadi 3 kelompok, yaitu:
1. Flow Direction Symbols (Simbol penghubung / alur)
Simbol ini disebut juga connecting line digunakan untuk
menghubungkan antara simbol yang satu dengan simbol yang lain. Pada
tabel 2.5 menjelaskan tentang simbol-simbol flow direction symbols.
Tabel 2.5. Simbol-simbol Flow Direction Symbols
simbol nama fungsi
Symbol arus / flow Untuk menyatakan jalannya arus
suatu proses
Symbol communication
link
Untuk menyatakan bahwa
adanya transisi suatu data /
informasi dari satu lokasi ke
lokasi lainnya.
Simbol connector Untuk menyatakan sambungan
dari satu proses ke proses
lainnya dalam halaman yang
sama.
Symbol offline connector Untuk menyatakan sambungan
dari satu proses lainnya dalam
2. Processing symbols
Simbol ini menunjukkan jenis operasi pengolahan dalam suatu
proses / prosedur. Pada tabel 2.6 menjelaskan tentang simbol-simbol
processing symbols.
Tabel 2.6. Simbol-simbol Processing symbols
simbol nama fungsi
Simbol proses untuk mewakili suatu proses
Simbol kegiatan
manual
untuk menunjukkan pekerjaan
manual
Simbol keputusan untuk suatu penyelesaian kondisi di
dalam program.
Simbol persiapan untuk memberi nilai awal suatu
besaran.
Simbol Terminal untuk menyatakan permulaan atau
akhir suatu program.
Simbol Key
Operation
untuk menyatakan segala jenis
operasi yang diproses dengan
menggunakan suatu mesin yang
mempunyai keyboard.
Simbol simpanan
offline
Menunjukkan bahwa data dalam
tertentu.
Simbol manual
keyboard
Menunjukkan bahwa data secara
manual diinput dengan menggunakan
on – line keyboard.
3. Input-output symbols
Simbol yang menunjukkan jenis peralatan yang digunakan sebagai
media input atau output. Pada tabel 2.7 menjelaskan tentang
simbol-simbol input-output symbols.
Tabel 2.7. Simbol-simbol Input-output symbols
simbol nama fungsi
Simbol input / ouput Simbol ini digunakan untuk
menyatakan proses input / output
tanpa tergantung peralatannya.
Simbol Punched Card Simbol ini digunakan untuk
menyatakan input berasal dari
kartu atau output ditulis ke kartu
Simbol Magnetic-tape
unit
Untuk menyatakan input berasal
dari pita magnetic atau output
disimpan ke pita magnetic
Simbol Disk storage Untuk menyatakan input berasal
dari disk atau output disimpan
Simbol dokumen Untuk mencetak laporan ke
printer.
Simbol display Menunjukkan output yang di
tampilkan di monitor.
Secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama:
input proses output
Gambar 2.13. Proses Pengolahan Data
Pengolahan data dengan komputer dapat dirangkum urutan dasar untuk
pemecahan suatu masalah, yaitu:
• START
Berisi instruksi untuk instruksi persiapan peralatan yang diperlukan
sebelum menangani pemecahan masalah.
• READ
Berisi instruksi untuk membaca data dari suatu peralatan input.
• PROCESS
Berisi kegiatan yang berkaitan dengan pemecahan masalah sesuai dengan
data yang dibaca.
• WRITE
Berisi instruksi untuk merekam hasil kegiatan ke peralatan output.
• END
BAB III
ANALISIS & PERANCANGAN SISTEM
3.1 Spesifikasi Sistem
3.1.1. Perangkat Lunak (Software)
3.1.1.1. Sistem Operasi
Sistem operasi yang digunakan dalam pembuatan program “Penambahan
Frame dan Background pada Sebuah Citra Foto” adalah Windows XP. Namun penggunaan sistem operasi tidak hanya terpaku pada sistem informasi Windows XP saja melainkan hampir di semua sistem operasi dapat digunakan.
3.1.1.2. Bahasa Pemrograman
Perangkat lunak yang diperlukan dalam pembuatan program “Penambahan
Frame dan Background pada Sebuah Citra Foto” adalah Borland Delphi 7.0.
Delphi merupakan bahasa pemrograman yang mempunyai cakupan kemampuan yang luas dan canggih. Berbagai jenis aplikasi yang dibuat dengan Delphi
3.1.2. Perangkat Keras (Hardware)
Perangkat keras yang diperlukan dalam pembuatan tugas akhir memiliki spesifikasi sebagai berikut :
• Prosessor Intel Pentium IV 1,8 GHz
• VGA 64 Mb
• Memory 256 Mb
• Harddisk 40 Gb
• Keyboard dan Mouse
3.2Perancangan Sistem
Adanya perencanaan yang baik dan matang akan membuat proses pembuatan program aplikasi dapat berjalan dengan terencana, terarah dan benar. Tahap perancangan merupakan tahap dasar yang sangat penting dalam pembuatan program. Algoritma program merupakan langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah.
3.2.1 Perancangan Proses
3.2.1.1 Flowchart penambahan frame dan background pada citra foto
Mulai
End Open citra foto
Open background Open citra frame Inisialisasi tinggi & lebar foto
Inisialisasi tinggi & lebar frame
Inisialisasi tinggi & lebar background
Pesan kesalahan
Buat Frame grayscale
Pengambangan frame
Hasil1 = foto + frame
Hasil2 = hasil1 + background
tinggi 480-600 and lebar 640-800?
Tidak
Ya
Pesan kesalahan
tinggi & lebar foto = tinggi & lebar frame
?
Tidak
Ya
Gambar 3.1. Flowchart penambahan frame dan background
Algoritma yang dipakai merupakan algoritma berbasis matematika dimana algoritma ini menggunakan piksel/beberapa piksel untuk menjadi masukan suatu fungsi matematik untuk menentukan nilai piksel pada citra hasil.
melakukan pengecekan apakah ukuran lebar dan tinggi foto tersebut antara 640 x 480 piksel dan 800 x 600 piksel. Jika ukuran yang dimasukan di luar ukuran tersebut maka program akan menampilkan pesan agar user memasukkan lagi foto yang lain. Namun, jika ukuran foto yang dimasukkan sesuai maka sistem akan menampilkan foto tersebut dan inisialisasi lebar dan tinggi foto akan ditampilkan pada scrollbar.
3.2.1.2 Flowchart proses pengambangan frame
Mulai
End I := 0 j := 0
I := i+1 j := j+1 frame.piksel
Tidak
Tidak Ya
Ya
I =< tinggi frame j =< lebar frame
frame.piksel = round ( piksel[3*j] +
frame.
frame.piksel[3*j+1] + frame.piksel[3*j+2])
piksel.frame < ambang ?
frame.piksel[3*j] = 0 frame.piksel[3*j+1] = 0 frame.piksel[3*j+2] = 0
frame.piksel[3*j] = 255 frame.piksel[3*j+1] = 255 frame.piksel[3*j+2] = 255
Langkah berikutnya adalah memasukan frame ke dalam sistem. Pada bagian ini juga akan dilakukan pengecekan ukuran frame. Ukuran foto dan ukuran
frame akan dicocokkan Jika ukuran foto dan frame sama maka akan dilakukan proses pengambangan frame. Sedangkan jika ukuran foto dan frame tidak sama maka sistem akan menampilkan pesan untuk memasukkan ukuran frame yang sesuai dengan ukuran foto.
Penginisialisasian lebar dan tinggi frame akan ditampilkan dalam
scrollbar. Setelah itu, frame akan diproses menjadi grayscale dengan cara membuat rerata pada setiap titik pikselnya. Kemudian hasil rerata tersebut akan dibuat pengambangan agar setiap piksel yang ada di citra frame hanya bernilai 0 dan 255.
3.2.1.3 Flowchart Penggabungan Foto dan Frame
Mulai
End I := 0 j := 0
I := i+1 j := j+1 Hasil1.piksel
Hasil1.piksel = frame.piksel Hasil1.piksel = foto.piksel OR frame.piksel Tidak
Tidak
Ya
Ya
I =< tinggi foto j =< lebar foto
Piksel berwarna putih?
Gambar 3.3. Flowchart penggabungan foto dan frame
Kemudian sesuai dengan ukuran citra foto, akan dilakukan penggabungan antara foto dan frame dengan menggunakan operasi logika OR. Jika nilai pada piksel frame bernilai 255 atau berwarna putih maka hasil yang didapat adalah piksel frame tersebut tetap tetapi jika nilai pada piksel frame bernilai 0 atau berwarna hitam maka hasil yang didapat adalah gabungan antara foto yang dioperasikan dengan operasi logika OR.
Tabel 3.1. Tabel Kebenaran operasi logika OR
A B A OR B
Dari tabel 3.1 dapat disimpulkan bahwa ketika sebuah titik memiliki nilai 1 (jika dalam program diasumsikan nilainya adalah 255) maka hasil yang didapat adalah nilai 1 atau berwarna putih. Namun jika nilai yang dioperasikan bukan nilai 1 maka hasil operasi yang didapat adalah nilai x. Nilai x ini dapat diasumsikan semua nilai yang berada pada internal 0 sampai dengan 254.
3.2.1.4 Flowchart Penggabungan [Foto dan Frame] dan background
Mulai
End I := 0 j := 0
I := i+1 j := j+1 Hasil2.piksel
Hasil2.piksel = hasil1.piksel Hasil2.piksel = hasil1.piksel AND background.piksel Tidak
Tidak
Ya
Ya
I =< tinggi foto j =< lebar foto
Piksel berwarna putih?
Gambar 3.4. Flowchart penggabungan [foto dan frame] AND background
Langkah berikutnya adalah memasukan backround ke dalam sistem. Penginisialisasian lebar dan tinggi backround juga ditampilkan dalam scrollbar
akan digabungkan dengan background yang telah dimasukkan oleh user ke dalam sistem dengan menggunakan operasi logika AND.
Jika nilai pada piksel hasil dari penggabungan antara foto dan frame
bernilai 255 atau berwarna putih maka hasil yang didapat adalah piksel Hasil dari penggabungan antara foto dan frame tersebut akan dioperasikan dengan setiap titik piksel pada citra background. Sebaliknya jika nilai pada piksel hasil dari penggabungan antara foto dan frame bernilai selain 255 maka hasil yang didapat adalah piksel tersebut akan tetap apa adanya.
Tabel 3.2. Tabel Kebenaran operasi logika AND
A B A AND B
x x x x 1 x 1 x x 1 1 1
3.2.1.5 Flowchart Putar Frame 90º searah jarum jam
open citra frame
inisialisasi tinggi & lebar citra foto
Ki[x,y] := Frame.Pixel[x]
Gambar 3.5. Flowchart putar frame 90º searah jarum jam
3.2.1.6 Flowchart Frame Negatif
Hasil.Pixel[j] := ROUND ((Frame.pixel[3*j] + Frame.pixel[3*j+1] +
Gambar 3.6. Flowchart frame negative
3.2.1.7 Flowchart Konversi Citra Warna Menjadi Citra Grayscale dan Citra
Hasil.Pixel[j] := ROUND ((Frame.pixel[3*j] + Frame.pixel[3*j+1] + Frame.pixel[3*j+2]) /3)
Hasil.Pixel[j] := ROUND ((Frame.pixel[3*j] + Frame.pixel[3*j+1] +
Gambar 3.7. Flowchart konversi citra warna
menjadi citra grayscale dan citra biner
3.3Perancangan Program
Merancang sebuah arsitektur program pada awal pembangunan suatu program yang dibentuk akan memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, memiliki nilai seni, aspek user friendly dan memiliki dasar pengembangan selanjutnya.
3.3.1 Perancangan Tampilan
Perancangan tampilan berfungsi untuk merancang tata letak tampilan agar memudahkan user dalam menggunakan program aplikasi ini.
3.3.1.1 Tampilan Awal
Tampilan awal merupakan tampilan yang muncul pertama kali ketika program aplikasi tersebut dijalankan. Rancangan tampilan awal dapat dilihat pada gambar 3.8.
Penambahan Frame dan Background pada Sebuah Citra Foto
Disusun oleh:
Ratih Maharani (035314028)
KELUAR MULAI
INFO
Pada rancangan tampilan awal ini terdapat tiga tombol yang memiliki fungsi:
Mulai : berfungsi untuk masuk pada halaman utama program aplikasi
‘Penambahan Frame dan Background pada Sebuah Citra Foto’.
Info : berfungsi untuk menampilkan halaman yang berisi informasi
singkat mengenai program aplikasi ini.
Keluar : berfungsi untuk mengakiri program.
3.3.1.2 Tampilan Utama
Tampilan utama merupakan tampilan inti dari program aplikasi yang dibuat. Pada form ini semua proses akan ditampilkan dalam bentuk button. Pada rancangan antarmuka terdapat tujuh tombol yang memiliki fungsi:
Foto : berfungsi untuk memanggil open picture dialog untuk membuka
file citra foto yang akan diolah.
Frame : berfungsi untuk memanggil formframe.
Background : berfungsi untuk memanggil open picture dialog untuk
membuka file citra background yang akan diolah.
Color : berfungsi untuk memanggil halaman yang digunakan untuk
melakukan proses pengubahan warna citra hasil.
Save : berfungsi untuk memanggil save picture dialog untuk menyimpan
file citra hasil yang telah diolah.
Help : berfungsi untuk menampilkan langkah-langkah mengenai cara
Selesai : berfungsi untuk menutup tampilan utama dan kembali pada
tampilan awal.
Rancangan tampilan utama dapat dilihat pada gambar 3.9.
Background Foto
Frame
Color Save Help Selesai
frame
hasil foto
background
Gambar 3.9. Rancangan tampilan halaman utama
3.3.1.3 Foto
Foto merupakan tampilan open picture dialog, yaitu form untuk membuka
file citra foto yang akan diproses. File citra foto yang akan diproses berupa file
dengan ekstensi .bmp dengan ukuran gambar minimal 640 x 480 piksel dan ukuran gambar maksimal 800 x 600 piksel.
Rancangan tampilan foto dapat dilihat pada gambar 3.10.
Open citra
Look in :
File name :
File of type :
Open
Cancel
3.3.1.4 Frame
Frame merupakan halaman yang digunakan untuk melakukan proses penambahan dan pengolahan frame. Pada tampilan ini user dapat memilih sendiri jenis frame yang sudah tersedia pada sistem. Pada rancangan antarmuka terdapat lima tombol yang memiliki fungsi:
Open Frame : berfungsi untuk membuka file citra frame.
Putar 90º : berfungsi untuk memutar posisi frame menjadi 90º searah
jarum jam.
Negatif : berfungsi untuk merubah bentuk frame menjadi negatifnya.
Ok : berfungsi untuk menyetujui semua proses yang akan dilakukan.
Cancel : berfungsi untuk membatalkan semua proses yang akan
dilakukan.
Rancangan tampilan frame dapat dilihat pada gambar 3.11.
Ok
Open frame
Negatif Putar 90
Cancel frame
O
Gambar 3.11. Rancangan tampilan frame
user untuk melihat apakah frame yang dimasukkan cocok ketika digabungkan dengan fotonya.
3.3.1.5 Background
Open background akan menampilkan open picture dialog yang akan menampilkan semua jenis bentuk background yang ada. Pada bagian background
ini user juga dapat memilih menggunakan gambar yang dimilikinya sendiri. Ketika user telah memilih background yang sesuai keinginannya maka sistem akan menggabungkan dengan gambar foto dan frame.
Rancangan tampilan openbackground dapat dilihat pada gambar 3.12.
Open Background Look in :
File name : File of type :
Open Cancel
Preview
Gambar 3.12. Rancangan tampilan open background
Pada rancangan antarmuka terdapat dua tombol yang memiliki fungsi:
Open : berfungsi untuk membuka file background dan
menggabungkannya dengan file citra foto dan file citra frame yang telah dipilih user sebelumnya.
3.3.1.6 Color
Color akan menampilkan form yang digunakan untuk melakukan proses pengubahan warna. Pada halaman ini akan disediakan dua proses pengubahan warna, yaitu citra dengan warna black-white dan citra dengan warna grayscale.
Pada rancangan antarmuka terdapat empat tombol yang memiliki fungsi:
Black - white : berfungsi untuk mengubah warna citra hasil yang
seharusnya true color menjadi berwarna black-white..
Grayscale : berfungsi untuk mengubah warna citra hasil yang
seharusnya true color menjadi berwarna grayscale.
Ok : berfungsi untuk menyetujui proses pengubahan warna yang telah
dipilih.
Cancel : berfungsi untuk membatalkan semua proses pengubahan warna
yang telah dilakukan.
Rancangan tampilan color dapat dilihat pada gambar 3.13.
Ok Cancel
black-white grayscale
foto hasil
Gambar 3.13. Rancangan tampilan color
Save merupakan tampilan save picture dialog untuk menyimpan file citra hasil yang telah diproses dengan ekstensi file .bmp. Pada rancangan antarmuka terdapat dua tombol yang memiliki fungsi:
Save : berfungsi untuk menyimpan file citra yang telah diproses ke
dalam media penyimpanan.
Cancel : berfungsi untuk membatalkan pilihan.
Rancangan tampilan save citra dapat dilihat pada gambar 3.14 dan pada gambar 3.15 adalah tampilan ketika proses penyimpanan berhasil dilakukan.
Open picture Look in :
File name : File of type :
Open Cancel
Gambar 3.14. Rancangan tampilan save citra
info
OK Hasil berhasil
disimpan
Gambar 3.15. Rancangan tampilan save citra yang berhasil diproses
Help merupakan halaman untuk menampilkan keterangan informasi program ‘Penambahan Frame dan Background pada Sebuah Citra Foto’. Help ini sendiri terdiri dari dua bagian, yaitu bagian yang berisi penjelasan latar belakang program ini sendiri dan bagian kedua berisi langkah-langkah penggunaan program sehingga akan memudahkan user dalam menjalankan program aplikasi tersebut.
Rancangan tampilan help dapat dilihat pada gambar 3.16.
Help
How to start
Selesai
Pengenalan program aplikasi ini Introduction
Gambar 3.16. Rancangan tampilan help
3.3.1.9 Tampilan Info
Info merupakan tampilan yang berisi informasi singkat mengenai program aplikasi ‘Penambahan Frame dan Background pada Sebuah Citra Foto’, profil pembuat program, dan dosen pembimbing.
Info
Info program aplikasil.
biodata
dosen pembimbing foto
Gambar 3.17. Rancangan tampilan info
3.3.1.10 Keluar
Keluar merupakan tampilan yang berisi konfirmasi singkat yang menanyakan lagi kepada user apakah dia akan mengakiri penggunaan program ini. Rancangan tampilan keluar dapat dilihat pada gambar 3.18.
Warning
OK
Apakah Anda yakin akan mengakhiri program ini?
Gambar 3.18. Rancangan tampilan keluar
Pada rancangan antarmuka terdapat tombol-tombol yang menghubungkan dengan informasi yang dibutuhkan. Ini berarti ketika user ingin mengetahui informasi tertentu maka user tinggal mengklik tombol yang berhubungan.
3.3.2.1Perancangan Masukan
Hal yang perlu didesain untuk input adalah bentuk dari dokumen dasar yang digunakan untuk menangkap data citra. Input yang dimaksud adalah data citra yang dimasukkan ke dalam komputer melalui mouse. Input citra yang digunakan dalam program ini adalah citra dengan format file .bmp.
3.3.2.2Perancangan Keluaran
Perancangan keluaran diperlukan dalam pembuatan program aplikasi agar pemakai mendapatkan gambaran mengenai keluaran yang ditampilkan ke layar. Keluaran yang dihasilkan dalam aplikasi ini adalah citra hasil proses penambahan
frame dan background. Citra hasil ini langsung ditampilkan pada layar dan user
BAB IV
IMPLEMENTASI SISTEM
Program yang dibuat pada skripsi ini merupakan program untuk melakukan penambahan frame dan background pada citra foto dengan format .BMP. Pada bab ini akan dijelaskan mengenai implementasi sistem dan hasil dari implementasi tersebut akan dilakukan analisis.
4.1.Tampilan Sistem
4.1.1. Tampilan Awal
Pada saat pertama kali program dijalankan akan muncul form menu, seperti pada Gambar 4.1.
Gambar 4.1. Form menu
menampilkan form utama, yaitu form yang digunakan untuk pengolahan citra foto, frame, dan background. Program yang terdapat pada tombol masuk adalah:
ut am a.show; m enu_form .hide;
Perintah di atas akan menampilkan form utama dan menyembunyikan
form menu.
Untuk mengosongkan setiap form citra pada form utama maka digunakan perintah:
ut am a.I m age10.Pict ure: = nil; ut am a.I m age11.Pict ure: = nil; ut am a.I m age12.Pict ure: = nil; ut am a.I m age13.Pict ure: = nil;
Perintah ini dibutuhkan supaya ketika user telah mengakiri proses yang telah dilakukannya dan menutup program dan user lain ingin menggunakan program berikutnya maka citra-citra yang telah diproses sebelumnya telah dikosongkan sehingga tidak akan mempengaruhi proses yang akan terjadi pada pemrosesan berikutnya.
4.1.2. Tampilan Utama
Pada form utama ini semua proses penambahan frame dan background
dilakukan. Tombol yang berada di bagian kiri, yaitu tombol foto, tombol frame, dan tombol background digunakan untuk mengambil file citra masing-masing. Sedangkan tombol-tombol yang berada dibagian kanan bawah digunakan setelah
Gambar 4.2 akan menampilkan form utama, yaitu form yang digunakan untuk melakukan pemrosesan foto, frame, dan background.
Gambar 4.2. Form utama
User dapat mengambil file foto dengan menekan tombol foto. Perlu diketahui foto yang dimasukkan ke dalam program harus bertipe .BMP dengan format citra warna 24 bit dengan ukuran panjang dan lebar antara 640 x 480 sampai dengan 600x800 pixel.
if ( OpenPict ureDialog1.Execut e) t hen
begin
gam bar: = TBit m ap.Creat e;
gam bar.LoadFrom File( OpenPict ureDialog1.FileNam e) ;
if ( gam bar.Widt h > 801) or ( gam bar .Height > 601) t hen
begin
m essageDlg( 'Ukuran fot o m elebihi 800x600 pixel',m t error,[ m bOk] ,0) ;
exit ;
end
Else if ( gam bar.Widt h < 639) or ( gam bar.Height < 479) t hen
begin
m essageDlg( 'Ukuran fot o kurang dari 640x480
exit ;
end
Else
im age10.Pict ure.Bit m ap: = gam bar;
im age13.Pict ure.Bit m ap: = gam bar;
4.1.3. Tampilan Foto
Ketika user menekan tombol foto maka akan muncul tampilan dialog window open picture foto sehingga user dapat memilih foto apa yang akan dimasukkan ke dalam sistem. Gambar 4.3 merupakan tampilan dialog window open picture foto.
Gambar 4.3. Dialog window open picture foto