• Tidak ada hasil yang ditemukan

BAB V IMPLEMENTASI PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V IMPLEMENTASI PERANGKAT LUNAK"

Copied!
14
0
0

Teks penuh

(1)

BAB V

IMPLEMENTASI PERANGKAT LUNAK

Bab ini menjelaskan tahap implementasi serta pengujian yang dilakukan pada

pembangunan aplikasi transformasi warna untuk penderita buta warna yang

disebut dengan CoolOur.

V.1 Implementasi

Aplikasi CoolOur yang dibangun adalah aplikasi transformasi warna untuk

membantu penderita buta warna dalam mengakses informasi yang berkaitan

terhadap warna pada suatu citra. Sub bab ini membahas implementasi aplikasi

CoolOur meliputi lingkungan implementasi, implementasi metoda, implementasi

antarmuka, serta batasan dalam implementasi. Dalam hal ini, implementasi adalah

proses konstruksi, yaitu pembangunan aplikasi melalui pengodean program

(coding).

V.1.1 Lingkungan Implementasi

Lingkungan implementasi terdiri dari lingkungan perangkat keras dan lingkungan

perangkat lunak yang digunakan dalam pengembangan sistem. Lingkungan

perangkat keras digunakan untuk keseluruhan sistem adalah sebagai berikut :

1. Processor Intel Pentium 4 1.70 GHz

2. RAM 512 MB.

Sedangkan lingkungan perangkat lunak yang digunakan dalam pengembangan

sistem adalah sebagai berikut:

1. Sistem Operasi Windows 2000

2. IDE Borland Delphi 7.0

V.1.2 Implementasi Aplikasi CoolOur

Aplikasi CoolOur dibangun dalam lingkungan Windows dengan menggunakan

IDE Borland Delphi 7.0. Dari hasil perancangan, implementasi CoolOur

dijabarkan dalam kelas-kelas implementasi, termasuk di dalamnya implementasi

metoda transformasi warna yang telah dijabarkan pada bab sebelumnya. Kelas

(2)

perancangan yang diimplementasikan pada aplikasi CoolOur ini dapat dilihat pada

Tabel IV-1.

Tabel V-1 Implementasi Kelas Perancangan

No Paket

Kelas

Implementasi

(.pas)

Keterangan

1.

UInterface CoolOur

Kelas ini berfungsi sebagai kelas

utama yang menyediakan fitur

browse, sebagai acuan pengguna

dalam memilih citra yang terdapat

pada harddisk.

TestForm

Kelas ini bertujuan untuk

menyediakan fitur pengujian jenis

buta warna yang diderita pengguna.

Kelas ini berhubungan dengan

ColorSetting yang akan secara

otomatis menyesuaikan filter warna

dengan jenis buta warna yang diderita.

Kelas ini menggunakan ColorTest

sebagai kelas yang mengatur dan

menentukan jenis buta warna

pengguna.

ViewerForm

Kelas ini adalah kelas user interface

yang digunakan untuk menampilkan

citra yang telah dipilih oleh pengguna.

Kelas ini menggunakan kelas Viewer

yang berfungsi meakukan pengolahan

tampilan.

SettingForm

Kelas ini adalah kelas user interface

yang berfungsi menampilkan

pengaturan yang dapat dilakukan oeh

pengguna.

Kelas ini menggunakan kelas

ColorSetting sebagai kelas yang

(3)

melakukan pengaturan terhadap filter

warna.

Filter

ColorSetting

Kelas ini digunakan oleh SettingForm

yang berfungsi melakukan pengaturan

terhadap setting filter warna yang

akan digunakan pada citra.

Kelas ini menggunakan kelas

ColorFilter yang nantinya akan

melakukan filter terhadap citra yang

telah dipilih oleh pengguna.

Viewer

Kelas ini berfungsi untuk

menampilkan citra yang telah dipilih

oleh pengguna, serta bertugas untuk

mengubah tampilan seperti zoom, dan

pengenalan piksel terpilih dalam

bentuk nilai RGB dan HSV.

ColorFilter

Kelas ini adalah kelas yang bertugas

untuk melakukan filter terhadap citra

terpilih berdasarkan

pengaturan-pengaturan yang telah ditentukan

sebelumnya.

Deuteran

Kelas ini adalah kelas turunan dari

kelas ColorFilter yang berfungsi untuk

melakukan filter citra yang

dikhususkan kepada penderita dengan

jenis buta warna deuteran.

Protan

Kelas ini adalah kelas turunan dari

kelas ColorFilter yang berfungsi untuk

melakukan filter citra yang

dikhususkan kepada penderita dengan

jenis buta warna protan.

(4)

kelas ColorFilter yang berfungsi untuk

melakukan filter citra yang

dikhususkan kepada penderita dengan

jenis buta warna tritan.

Custom

Kelas ini adalah kelas turunan dari

kelas ColorFilter yang berfungsi untuk

melakukan filter citra yang dapat

dikostumisasi sesuai keinginan

pengguna.

EPoints

Kelas ini adalah kelas entity tambahan

yang digunakan untuk menyimpan

titik-titik acuan penggeseran nilai hue,

saturation dan value.

CBTest

ColorTest

Kelas ini adalah kelas abstrak untuk

acuan test buta warna.

Ishihara

Kelas ini adalah kelas turunan dari

ColorTest yang menggunakan

plate-plate Ishihara sebagai penentu jenis

buta warna seseorang.

V.1.3 Implementasi Antarmuka

Antarmuka yang diimplementasikan adalah antarmuka untuk aplikasi CoolOur. Implementasi antarmuka dapat dilihat pada Gambar IV-2, sub bab IV.2.3 Prosedur pengujian fungsionalitas aplikasi.

V.1.4 Batasan dalam Implementasi

Berdasarkan analisis kebutuhan pengembangan sistem kini yang telah didefinisikan serta proses implementasi yang telah dilakukan, batasan implementasi pada tesis ini yaitu :

1. Format citra yang didukung oleh aplikasi CoolOur ini adalah format jpg, dan bmp.

2. Metoda transformasi warna yang di implementasi dalam aplikasi ini hanya jenis buta warna parsial, dan tidak implementasi jenis total.

(5)

V.2 Pengujian

Sub bab ini berisi pengujian terhadap aplikasi yang telah dibuat. Pengujian dilakukan dengan menjalankan seluruh aplikasi pada sistem CoolOur, kemudian melakukan pengujian terhadap fungsionalitas aplikasi dalam lingkup tesis ini.

V.2.1 Tujuan Pengujian

Pengujian dilakukan dengan tujuan sebagai berikut:

1. Membuktikan kesesuaian aplikasi dengan spesifikasi kebutuhan pada bagian analisis dan perancangan.

2. Mengetahui kinerja aplikasi. Hal ini berkaitan dengan diimplementasikannya metoda transformasi warna pada citra dengan dimensi yang berbeda.

V.2.2 Lingkungan Pengujian

Pengujian perangkat lunak dilakukan dengan menggunakan komputer dan telah terinstalasi aplikasi CoolOur. Spesifikasi perangkat keras pengujian dapat dilihat pada Tabel IV-2.

Tabel V-2 Spesifikasi Perangkat Pengujian No. Spesifikasi Perangkat Keras Pengujian

1 Prosesor Intel Pentium 4 2 Memori 512 RAM

3 Sistem Operasi Windows XP Professional 4 Layar Monitor LCD

V.2.3 Prosedur Pengujian

Pengujian fungsionalitas aplikasi dilakukan dengan memasukkan data-data sesuai kebutuhan pada setiap layanan yang disediakan, mengeksekusi layanan yang disediakan tersebut, kemudian mengamati hasil keluaran aplikasi. Pengujian ini dilakukan untuk setiap use case dalam sistem. Hasil pengujian fungsionalitas aplikasi berdasarkan use case yang telah dilakukan adalah sebagai berikut :

1. Use case Browse.

Langkah awal dalam melakukan transformasi warna adalah pemilihan citra yang akan dilakukan transformasi. Fungsi tersebut digambarkan dalam use case browse, di mana pengguna memilih citra yang akan diubah. Hasil pengujian untuk use case browse dokumen adalah sebagai berikut.

(6)

Tabel V-3 Tabel Pengujian Use Case Browse

Kondisi Awal Masukkan Pengguna Kondisi Akhir Pengguna dihadapkan

pada file explorer dan path direktori awal yang terbuka adalah Desktop.

- Path direktori tempat data citra berada dapat dilakukan dengan menyeleksi folder yang tersedia dalam tree view.

Pada bagian kanan akan muncul isi dari folder terpilih yang berupa berkas citra berekstensi jpg ataupun bmp.

Hasil input serta output fungsi browse berdasarkan Tabel IV-3 dapat dilihat pada Gambar IV-2.

Gambar V-1 Antarmuka Browse

2. Use case Test

Fungsi pengujian jenis buta warna ini terdapat dalam modul CBTest yang diimplementasikan pada sub menu ‘menu’ pada antarmuka browse. Hasil pengujian untuk pencarian data dokumen adalah sebagai berikut.

(7)

Tabel V-4 Pengujian use caseTest

Kondisi Awal Masukkan Pengguna Kondisi Akhir Pengguna akan

dihadapkan pada suatu citra, di mana citra tersebut merupakan plate dari Ishihara

Angka/ Huruf yang terlukiskan pada citra, atau tanda minus (-) jika pengguna tidak dapat melihat apapun.

Tabel jawaban pengguna serta hasil analisis jenis buta warna pada setiap jawaban.

Atribut pilihan filter yang terdapat pada Form setting akan berubah sesuai jenis buta warna.

Antarmuka untuk proses pengujian jenis buta warna dapat dilihat pada Gambar IV-4.

   

Gambar V-2 Antarmuka pengujian jenis buta warna.

Hasil dari tes buta warna ini akan terdiri dari empat macam jenis yaitu normal, protan, deutan, atau total. Untuk hasil protan atau deutan akan mengubah pilihan filter yang terdapat pada kelas ColorSetting menjadi protan atau deutan. Sedangkan untuk jenis custom akan mengakibatkan pilihan filter menjadi custom.

3. Use case Customize Filter Attributes

Hasil pengujian untuk pengaturan atribut filter adalah sebagai berikut:

Tabel V-5 Pengujian Use case Customize Filter Attributes Kondisi Awal Masukkan Pengguna Kondisi Akhir

Pilihan filter adalah

- Memilih pada daerah

hue, saturation atau

Pilihan filter berubah menjadi custom, dan titik poin yang

(8)

deuteran/ protan.

Dengan beberapa titik

poin hue, saturation,

dan value yang telah

ditentukan.

value.

- Mengubah nilai titik acuan hue, saturation dan poin.

terubah tersimpan dalam memori.

Antarmuka untuk pengaturan atribut filter terdapat pada Gambar IV-5.

Gambar V-3 Antarmuka Filter Setting yang digunakan untuk mengatur atribut filter.

(9)

4. Use case Filter Image

Ini adalah fungsi utama dari aplikasi CoolOur di mana pengguna dapat melakukan transformasi warna pada citra (filter) sehingga informasi pada suatu citra dapat diambil dengan maksimal. Hasil pengujian untuk transformasi warna pada citra adalah sebagai berikut:

Tabel V-6 Pengujian Use case Customize Filter Attributes Kondisi Awal Masukkan Pengguna Kondisi Akhir

Pengguna telah

memilih suatu berkas

citra yang akan

ditransformasi melalui

use case browse yang

telah dijelaskan

sebelumnya

- Melakukan pengaturan skala transformasi warna terhadap hue, saturation, value.

Warna tiap-tiap piksel pada citra akan berubah, sesuai dengan atribut filter yang telah ditentukan serta skala

perubahan yang telah diatur.

Antarmuka untuk transformasi warna citra terdapat pada Gambar IV-6.

procedure TColorFilter.countClosest(var _hsv: array of Real); var h, s, v, _h, _s, _v: Real; begin h := _hsv[0]; s := _hsv[1]; v := _hsv[2]; { Shifts Hue }

if (h >= 0) and (h < Hue[1].getNode) then begin

_h := h - Round((Hue[1].getNode - h)*Hue[1].getMagMid2*hueLevel);

if _h < 0 then _h := 0; end

else if (h >= Hue[1].getNode) and (h < Hue[1].getMid) then begin

_h := h + Round((h -

Hue[1].getNode)*Hue[1].getMagMid1*hueLevel);

if _h > Hue[1].getMid then _h := Hue[1].getMid; end

(10)

else if (h >= Hue[1].getMid) and (h < Hue[2].getNode) then begin

_h := h - Round((Hue[2].getNode - h)*Hue[2].getMagMid2*hueLevel);

if _h < Hue[1].getMid then _h := Hue[1].getMid; end

else begin

_h := h + Round((h -

Hue[2].getNode)*Hue[2].getMagMid1*hueLevel);

if _h > Hue[2].getMid then _h := Hue[2].getMid; end;

{ Shifts Saturation and Level} _s := s + s*satLevel; _v := v + v*valLevel; _hsv[0] := _h; _hsv[1] := _s; _hsv[2] := _v; end;

Gambar V-5. Implementasi Fungsi countClosest.

function TCustom.countClosestHue(value: Integer): Integer; var

res, hp, mp: Integer; i: Integer;

begin

value := value - deltaHue;

if(value < 0) then value := value+360; res := 0;

for i:=1 to hueCount do begin

hp := (Hue[i].getNode - deltaHue); mp := (Hue[i].getMid - deltaHue); if (mp < 0) then mp := mp + 360;

if (value >= hp) and (value < mp) then begin

res := value + Round((value - hp)*hueLevel*Hue[i].getMagMid1);

(11)

if(res > mp) then res := mp; Break;

end

else if (value >= mp) and (value < (Hue[i+1].getNode -deltaHue)) then

begin

res := value - Round(((Hue[i+1].getNode -deltaHue) - value)*hueLevel*Hue[i].getMagMid2);

if(res < mp) then res := mp; Break;

end; end;

res := res+ deltaHue;

if(res >= 360) then res := res-360; countClosestHue := res;

end;

Gambar V-6. Implementasi Fungsi countClosestHue.

function TCustom.countClosestSat(value: Integer): Integer; var

i : Integer; begin

for i:=1 to satCount do begin

if (value >= Sat[i].getNode) and (value < Sat[i].getMid) then

begin

if(Sat[i].getTypeCount = -1) then begin

value := value - Round((Sat[i].getMid - value)*satLevel);

if(value < Sat[i].getNode) then value := Sat[i].getNode;

end

else if(Sat[i].getTypeCount = 1) then begin

value := value + Round((value - Sat[i].getNode)*satLevel);

if(value > Sat[i].getMid) then value := Sat[i].getMid;

(12)

end; end; end;

countClosestSat := value; end;

Gambar V-7. Imlementasi fungsi countClosestSat.

function TCustom.countClosestVal(value: Integer): Integer; var

i : Integer; begin

for i:=1 to valCount do begin

if (value >= Val[i].getHue) and (value < Val[i].getMid) then

begin

if(Val[i].getTypeCount = -1) then begin

value := value - Round((Val[i].getMid - value)*valLevel);

if(value < Val[i].getHue) then value := Sat[i].getHue;

end

else if(Val[i].getTypeCount = 1) then begin

value := value + Round((value - Val[i].getHue)*valLevel);

if(value > Val[i].getMid) then value := Sat[i].getMid; end; end; end; countClosestVal := value; end;

Gambar V-8. Implementasi Fungsi countClosestVal.

5. Use case Save Filtered Image

Ini adalah fungsi di mana pengguna dapat menyimpan citra yang telah ditransformasi. Hasil pengujian untuk penyimpanan citra hasil transformasi adalah sebagai berikut:

(13)

Tabel V-7 Pengujian Use case Save Filtered Image

Kondisi Awal Masukkan Pengguna Kondisi Akhir

Citra telah

ditransformasi, dan

tidak ada berkas citra

yang telah

ditransformasi tersebut

pada harddisk.

- Menekan tombol simpan - Memasukkan nama berkas dan memilih path tempat berkas citra tersebut akan disimpan

- Menekan tombol OK

Berkas citra hasil transformasi dengan nama terpilih telah tersimpan pada harddisk sesuai path yang telah dimasukkan.

(14)

V.2.4 Analisis Hasil Pengujian

Dari pengujian yang telah dilakukan, dapat diperoleh hasil pengamatan sebagai berikut: 1. Berdasarkan pengujian fungsionalitas aplikasi, dapat diambil kesimpulan bahwa

secara umum, fungsionalitas aplikasi CoolOur yang telah dibangun dapat berjalan dengan baik.

2. Transformasi warna yang dilakukan telah dapat menolong penderita buta warna jenis deuteran mengambil informasi pada citra lebih banyak. Namun untuk jenis buta warna protan perlu diuji lebih lanjut.

Gambar

Tabel V-1 Implementasi Kelas Perancangan
Tabel V-2 Spesifikasi Perangkat Pengujian  No.  Spesifikasi Perangkat Keras Pengujian
Gambar V-1 Antarmuka Browse
Tabel jawaban pengguna serta  hasil analisis jenis buta warna  pada setiap jawaban.
+7

Referensi

Dokumen terkait

2014 akan dilakukannya klarifikasi pembuktian kualifikasi dokumen kepada calon penyedia. Permata No.1 Halim Perdana Kusuma,

Revitalisasi Taman Rekreasi Keluarga Kebon Rojo Dalam Mewujudkan Green City di Kota Blitar (Studi Pada Badan Lingkungan Hidup Kota Blitar).. Adalah bukan karya tulis

komputer menunjukkan bahwa Asymp sig (2-tailed) sebesar p=0.018 yang berarti ada perbedaan yang signifikan antara lama pelepasan plasenta pada ibu bersalin kala III yang

Konsep desain LBWR tanpa pengisian bahan bakar di lokasi akan memiliki siklus operasi yang lebih panjang dengan menerapkan kisi teras yang lebih rapat ( Vm/Vf rendah).

[r]

Dari cerita di atas dapat terlihat persamaan penggunaan bendera karung untuk mengusir bajak laut. Selain itu dapat disimpulkan juga asal – usul perompak dari negeri Pua – Pua.

Dalam skripsi ini dijabarkan tentang analisis pengaruh penambahan ikan lele ( Clarias gariepinus ) dan Isolated Soy Protein (ISP) pada cilok terhadap daya terima, nilai gizi

berupa senam diabetes terhadap perubahan kadar gula darah pada pasien.