• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM FISIKA KOMPUTASI INTERPRETASI GRAFIS INTENSITAS WARNA DASAR RGB PADA GAMBAR BITMAP MENGGUNAKAN DELPHI7

N/A
N/A
Protected

Academic year: 2021

Membagikan "LAPORAN PRAKTIKUM FISIKA KOMPUTASI INTERPRETASI GRAFIS INTENSITAS WARNA DASAR RGB PADA GAMBAR BITMAP MENGGUNAKAN DELPHI7"

Copied!
11
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM FISIKA KOMPUTASI

INTERPRETASI GRAFIS INTENSITAS WARNA DASAR RGB

PADA GAMBAR BITMAP MENGGUNAKAN DELPHI7

Disusun untuk Memenuhi Tugas Mata Kuliah Praktikum Fisika Komputasi

Oleh :

SISKA ARIANI W.A

NIM. 080913081

JURUSAN FISIKA

DEPARTEMEN FISIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS AIRLANGGA

(2)

A. Judul praktikum

Interpretasi grafis intensitas warna RGB( Red Green Blue) pada suatu gambar bitmap menggunakan program Delphi7

B. Tujuan praktikum

 Menentukan intensitas warna dasar RGB(Red Green Blue) pada suatu gambar bitmap berdasarkan fungsi posisi

 Membuat suatu program aplikasi Image Processing berbasis intensitas RGB

C. Alat dan Bahan

Alat yang digunakan adalah Program Delphi7. Bahan atau komponen didalamnya adalah:

 1 buah TImage (pada toolbar Additional)  1 buah TChart (pada toolbar Additional)  1buah TOpenDialog (pada toolbar Dialog)  3 buah TLabel ( pada toolbar Standard)  1 buah TScrollBar (pada toolbar Standard)  1 buah TButton (pada toolbar Standard)

D. Algoritma

Algoritma secara umum adalah sebagai berikut:

 procedure ketika Button di klik serta opendialog ke gambar bitmap

 procedure ScrollBar digeser, maka posisi X, Y, Z akan berubah menunjukkan intensitas RGB

 procedure FormCreate menyatakan format posisi, ukuran dan warna pada form ketika ada gambar dan tidak, serta procedure Chart dengan 3 line masing-masing Red, Green dan Blue

 prosedur Image1Click

 procedure Image1MouseMove, berubahnya label X, Y, Z yang menyatakan posisi

 Prosedur FormClose, yaitu prosedur yang akan diberi perintah agar program dapat dijalankan.

(3)

Pertama, masing-masing komponen disusun dalam form seperti berikut:

Selanjutnya:

Untuk mengedit Label1, Label2, Label3, Ukuran TImage dan TOpenDialog dapat dilakukan di Object Inspector. Pada ukuran TImage kita atur dalam Object

Inspector>Height dan Width kita ganti masing-masing 300. Artinya panjang

image yang dapat ditampilkan kita batasi berukuran 300x300. Atau dapat diganti Edit di sini...

Ini dia Object Inspector...

(4)

sesuka kita jika ingin menurut ukuran gambar yang dimiliki. Label1, Label2, Label3 digunakan untuk menampilkan X,Y,dan Z.

Untuk mengedit grafik dapat dilakukan dengan meng-klik kanan komponen

TChart, kemudian pilih Chart--series untuk membuat garis grafik, pada

praktikum ini kita buat 3 buah series untuk masing-masing Red, Green dan Blue. Edit label pada Line Chart dapat dilakukan di Chart--Title, sedangkan edit bentuk grafik terdapat pilihan bentuk (pie, Histogram, panah, diagram bagian dsb) serta pilihan 2D atau 3D dapat dilakukan di Chart—Series—Change—TeeChart Gallery. Edit warna line chart dapat dilakukan di Chart--Series--Border. Edit nama Grafik di Chart—Titles.

Sedangkan source code secara lengkapnnya adalah sebagai berikut: unit Unit1;

interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart, jpeg;

type TForm1 = class(TForm) Image1: TImage; OpenDialog1: TOpenDialog; Chart1: TChart; Series1: TLineSeries; Series2: TLineSeries; Series3: TLineSeries; Label1: TLabel; Label2: TLabel; Label3: TLabel; ScrollBar1: TScrollBar; Button1: TButton;

procedure Button1Click(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Image1Click(Sender: TObject);

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure FormClose(Sender: TObject; var Action: TCloseAction); private

{ Private declarations }

public

Part 1

(5)

{ Public declarations } end; var Form1: TForm1; gambar2 :Tbitmap; implementation {$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); var red,green,blue:byte; a,b,lebar:Integer; warna:TColor; open:string; begin OpenDialog1.Execute; open:=OpenDialog1.FileName; Image1.Picture.LoadFromFile(open); scrollbar1.Enabled := True; gambar2.Assign(Image1.Picture); ScrollBar1.Max:=Image1.Picture.Height; end;

procedure TForm1.FormCreate(Sender: TObject); begin

gambar2:=TBitmap.Create;

// ScrollBar1.Max:=Image1.Picture.Height;

end;

procedure TForm1.ScrollBar1Change(Sender: TObject); var red,green,blue:byte; a,b,lebar:Integer; warna:TColor; garis:TBitmap; begin Series1.Clear; Series2.Clear; Series3.Clear; b:=ScrollBar1.Position; lebar:=Image1.Picture.Bitmap.Width; garis:=TBitmap.Create; garis.Assign(gambar2); garis.Canvas.MoveTo(0,b); Part 3 Part 4

(6)

garis.Canvas.LineTo(lebar,b); for a:=0 to lebar -1 do

begin warna:=Image1.Picture.Bitmap.Canvas.Pixels[a,b]; red:=GetRValue(warna); green:=GetGValue(warna); blue:=GetBValue(warna); Series1.AddXY(a,red); Series2.AddXY(a,green); Series3.AddXY(a,blue); end; Image1.Picture.Assign(garis); garis.Free; end;

procedure TForm1.Button2Click(Sender: TObject); var open:string; begin OpenDialog1.Execute; open:=OpenDialog1.FileName; Image1.Picture.LoadFromFile(open); end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); var warna:TColor; begin warna:=Image1.Picture.Bitmap.Canvas.Pixels[X,Y]; Label1.Caption:= inttostr(GetRValue(warna)); Label2.Caption:= IntToStr(GetGValue(warna)); Label3.Caption:= IntToStr(GetBValue(warna)); end;

procedure TForm1.Image1Click(Sender: TObject); begin

gambar2:=TBitmap.Create;

ScrollBar1.Max:=Image1.Picture.Height; end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin

gambar2.Free; end;

end.

Selebihnya akan diulas pada pembahasan per-part-nya. Part 5

(7)

E. Pembahasan

Penjelasan Tiap Part untuk source code diatas: Part 1

Uses dalam source code Delphi7 adalah kode umum yang harus ada untuk

mengawali source code dan merupakan macam-macam perintah yang digunakan dalam pembuatan program aplikasi.

Part 2

Type, yang dibawahnya bertuliskan TForm dan macam-macam komponen lain,

yaitu TChart, TScrollBar, Label, Button dan Series. Maksudnya adalah dalam satu form ini dapat kita tempelkan berbagai macam komponen lain sesuai program aplikasi yang kita buat. Dalam kode inilah, komponen apasaja yang akan kita gunakan dideklarasikan. Tak lupa, di setiap komponen yang kita masukkan tadi harus disertai prosedur dibawahnya. Ini menerangkan bagaimana komponen-komponen tersebut bekerja.

Part 3

Bagian dibawah Implementation adalah urutan kerja sebuah program yang sebenarnya. Pada prosedur Button1.Click, pertama harus mendeklarasikan variable, yaitu byte yangdipakai sebagai perintah untuk membaca warna dalam bite, kemudian variable batasan integer yang digunakan sebagai perintah untuk pembacaan batas yang digunakan dalam gambar berupa integer, yaitu angka real yang kita definisikan sendiri dan Tcolor untuk membaca warna Tcolor, agar program dapat membaca Red Green Blue. Selanjutnya TOpenDialog digunakan sebagai prosedur agar ketika button di eksekusi dengan klik, akan membuka kotak dialog yang bertujuan untuk membuka file image. Nah, pada program ini kita batasi file image ber-ekstensi Bitmap saja, sehingga ketika kita klik Button, membuka Open Dialog yang terdeteksi hanya image yang Bitmap saja.

Part 4

Prosedur TScrollBar1.Change merupakan prosedur yang menjalankan Scrollbar, meliputi apa yang terjadi apabila Scrollbar tergeser. Source code pada bagian ini merupakan perintah untuk menjalankan komponen scrollbar sesuai variable yang sudah dideklarasikan sebelumnya, yaitu integer. garis:TBitmap merupakan perintah agar image yang dapat dibaca adalah bitmap saja dan pembacaan

(8)

TColor berdasarkan garis. Selanjutnya, Series1.Clear merupakan perintah agar

disetiap perubahan geser yang ada, mengalami looping sesuai posisi terupdate sesuai TScrollBar Change-nya, posisi-clear-posisi dan seterusnya. Dan

garis:=TBitmap.Create adalah Garis yang menyatakan TScrollBar yang ada,

perintah dibuat dengan memunculkan garis ketika posisi scrollbar diubah-ubah pada batas (0,b).

Part 5

Selanjutnya adalah perintah warna:=Image1.Picture.Bitmap.Canvas.Pixels[a,b]; ini menyatakan warna yang dibaca dari image bitmap dengan menggunakan canvas yang bersatuan pixel, mengapa gambar harus bitmap?? Jawabnya karena bitmap adalah gambar yang tersusun dari titik-titik atau dot dan banyaknya dot disetiap luasan dinyatakan sebagai pixel, sehingga suatu gambar ber-ekstensi bitmap dengan luasan per-inci yang memiliki satu juta dot dinyatakan sebagai 1MegaPixel. Itulah mengapa semakin besar pixel suatu kamera atau semakin besar dpi (dot per-Inch) suatu printer, maka akan menghasilkan kualitas gambar yang semakin baik. Semakin besar pixel berarti semakin baik pula resolusi gambar, karena pixel menyatakan kepadatan titik yang men-detailkan gambar. Kemudian red:=GetRValue(warna);… Series1.AddXY(a,red); menyatakan warna yang harus dipilih oleh masing-masing series. Sedangkan Garis.Free digunakan untuk memunculkan garis jika posisi scrollbar diubah.

Part 6

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y:

Integer); merupakan perintah yang dijalankan ketika mouse digerakkan di atas

(9)

Hasil Running Program setelah klik button dan sebelum Scrollbar digeser:

Running setelah ScrollBar tergeser:

Kita lihat dalam program ini, ketika scrollbar digeser maka intensitas juga berubah seiring berubahnya posisi garis dan ketika kita menggeser posisi mouse diatas gambar maka angka pada label berhighlight biru tersebut jga berubah sesuai posisi kita meletakkan mouse pointer.

(10)

Pada grafik interpretasi RGB, sumbu Y menyatakan intensitas yang mana skala warna ini adalah 255 sesuai dengan byte. Sedangkan sumbu X menyatakan 0-300 skala garis yang kita buat untuk menyatakan gambar bitmap. Pembacaan skala warna di tiap posisi titik menyatakan intensitas masing-masing Red, Green dan Blue. Pada gambar ini dapat kita lihat pada bagian mana dominan warna merah, hehe karena kebetulan saya memakai baju merah. Dan juga dapat kita simpulkan bahwa setiap warna sebenarnya adalah campuran dari warna-warna lain. Setiap warna terdiri dari campuran 3 warna dasar yaitu merah, hijau dan biru. Warna yang kita lihat, warna yang terdefinisi pada mata kita adalah warna dominan dari campuran tersebut. Warna dominan dalam Image Processing ini sering disebut sebagai Hue. Sedangkan warna putih dapat diuraikan sebagai campuran maksimum semua warna(Red+Green+Blue), jika putih sempurna maka Red, Green, Ble masing-masing bernilai 255.

(11)

Daftar Pustaka

Soelistiono, Soegianto. 2010. Delphi5; dibuat untuk Mata Kuliah Fisika Komputasi UNAIR. Halaman 136-155.

Referensi

Dokumen terkait

Nilai signifikansi Profitabilitas yang lebih kecil dari yang diharapkan 0.05 menunjukkan bahwa variabel Profitabilitas berpengaruh terhadap Kebijakan Hutang. Bahwa

Sehingga diharapkan seorang ayah ketika mengetahui kenyataan bahwa memiliki anak autis dapat menerima serta memperlakukan anak autis tersebut seperti ketika ia memiliki anak

Imam Bukhari dan Imam Muslim telah memberi kesaksian mereka akan kevalidan nasabnya tersebut dan ketersambungannya dengan nasab Nabi, kemudian mereka membantah

[r]

Neraca saldo setelah penutupan buku merupakan suatu daftar yang berisi saldo-saldo rekening buku besar setelah perusahaan melakukan penutupan buku. Neraca ini

Hal ini menyebabkan keberadaan makanan yang dikonsumsi ikan akan berkurang sehingga penyerapan makanan di saluran pencernaan (khususnya pada usus) akan mengalami

Meskipun belum ada data pasti kasus kejadian di Sulawesi Selatan, terutama di Kabupaten Gowa namun melihat proses penyebaran penyakit yang begitu cepat sehingga

Dan juga memberikan pertimbangan bagi para guru untuk menggunakan media kartu bilangan sebagai media dalam meningkatkan kemampuan konsep bilangan pada anak