LAMPIRA AN A Berikut inni adalah conntoh pengguunaan sistem m berbasiskkan fuzzy unntuk menenttukan durasi pennyiraman aiir yang haruus dilakukaan jika dikettahui suhu dan kelemb baban udara. Missalkan nilaii crisp yangg diterima oleh o sensor suhu adalahh 370 C dan n nilai crisp yanng diterimaa sensor kelembaban k n adalah 12%. 1 Berappa lama durasi d penyiramaan yang haruus dilakukaan? Proses perrtama yangg harus dilaakukan adallah fuzzificaation. Misaalkan untuk suhu udara diddefinisikan dengan fuungsi keang ggotaan yaang memiliki lima peeubah linguistik yang terddiri dari Cold, C Cool,, Normal, Warm, daan Hot. Fungsi keanggotaaan ini diggambarkan pada p gambar A-1. Seddangkan keelembaban udara u didefinisikkan dengann fungsi keeanggotaan yang mem miliki tiga ppeubah lingu uistik yang terdiiri dari dry, moist dan wet w yang dig gambarkan pada gambaar A-2
G Gambar A-1 Derajat D Kean nggotaan Suh hu Udara
Gam mbar A-2 Deraajat Keanggo otaan Kelemb baban Udara
Dengan fuungsi yang didefinisikaan untuk suhu udara, maka m crisp iinput suhu 37 3 0C dapat dikoonversi ke nilai n fuzzy deengan langk kah-langkahh berikut: 1.
Suhu 370 C beradda pada nilaai linguistik k Warm dan Hot.
2.
Semaantik atau derajat keaanggotaan untuk Warrm dihitungg menggun nakan rumuss:
A-1
A-2
•
-(x-d)/(d-c), c < x ≤ d , di mana c = 36, dan d = 39 (dapat dilihat pada gambar A-1) . Sehingga derajat keanggotaan Warm adalah -(37-39)/(3936) = 2/3
3.
Derajat keanggotaan untuk Hot dihitung menggunakan rumus : •
(x-a)/(b-a), a < x < b, di mana a=36, dan b = 39. Sehingga derajat keanggotaan untuk Hot adalah (37-36)/(39-36) = 1/3
Sedangkan crisp input kelembaban udara yang bernilai 12% akan dikonversi ke nilai fuzzy dengan langkah-langkah berikut : 1.
Kelembaban 12% berada pada nilai linguistik Dry dan Moist.
2.
Semantik atau derajat keanggotaan untuk Dry dihitung menggunakan rumus: •
-(x-d)/(d-c), c < x ≤ d, di mana c=10, dan d=20. Sehingga derajat keanggotaan untuk Dry adalah -(12-20)/(20-10)= 4/5.
3.
Derajat keanggotaan untuk Moist dihitung dengan menggunakan rumus: •
(x-a)/(b-a), a < x < b, di mana a=10, dan b=20. Sehingga derajat keanggotaan Moist = (12-10)/(20-10)=1/5
Jadi, proses fuzzification yang telah dilakukan menghasilkan empat fuzzy input yaitu Suhu Udara Warm (2/3) dan Hot (1/3) serta kelembaban tanah Dry (4/5) dan Moist (1/5). Langkah selanjutnya adalah melakukan proses inferensi. Misalkan, untuk durasi penyiraman digunakan fungsi keanggotaan dengan tiga nilai linguistik: Short, Medium, dan Long seperti yang terlihat pada gambar A-3.
Gambar A-3 Derajat Keanggotaan Durasi
Tabel A- 1 Rule pada Sistem Penyemprot Air
Dry
Cold Long
Cool Long
Normal Long
Warm Long
Hot Long
A-3
Moist Wet
Long Short
Medium Short
Medium Short
Medium Short
Medium Short
Dan aturan fuzzy yang diberikan untuk sistem berbasis fuzzy ini seperti yang terlihat pada tabel A-1. Maka akan didapatkan 15 aturan fuzzy, yaitu: •
IF Suhu Cold AND Kelembaban Dry THEN Durasi Long
•
....
•
IF Suhu Hot AND Kelembaban wet THEN Durasi Short
Dari proses fuzzification, telah didapat bahwa ada empat buah data fuzzy input yang dihasilkan yaitu Warm (2/3), Hot (1/3), Dry (4/5), dan Moist (1/5). Keempat fuzzy input ini akan diperiksa apakah akan membangkitkan aturan yang tersedia atau tidak. Dalam kasus ini, dengan keempat fuzzy input yang dihasilkan pada proses fuzzification akan terdapat empat dari lima belas aturan fuzzy yang dibangkitkan. Keempat rule tersebut yaitu : 1.
IF Suhu is Warm AND Kelembaban is Dry THEN Durasi is Long
2.
IF Suhu is Warm AND Kelembaban is Moist THEN Durasi is Medium
3.
IF Suhu is Hot AND Kelembaban is Dry THEN Durasi is Long
4.
IF Suhu is Hot AND Kelembaban is Moist THEN Durasi is Medium
Dari keempat rule tersebut perlu dilakukan inferensi dengan memasukkan nilai derajat keanggotaan fuzzy input yang didapat dengan langkah-langkah berikut : 1.
Gunakan aturan Conjunction (^) dengan memilih derajat keanggotaan minimum dari nilai-nilai linguistik yang dihubungkan oleh ^ dan lakukan clipping pada fungsi keanggotaan trapesium untuk Durasi Penyiraman, sehingga diperoleh: •
IF Suhu is Warm (2/3) AND Kelembaban is Dry (4/5) THEN Durasi is Long (2/3)
•
IF Suhu is Warm (2/3) AND Kelembaban is Moist (1/5) THEN Durasi is Medium (1/5)
•
IF Suhu is Hot (1/3) AND Kelembaban is Dry (4/5) THEN Durasi is Long (1/3)
A-4
•
IF Suhu is Hot (1/3) AND Kelembaban is Moist (1/5) THEN Durasi is Medium (1/5)
2.
Gunakan aturan Disjunction (∨) dengan memilih derajat keanggotaan maksimum dari nilai-nilai linguistik yang dihubungkan oleh ∨. •
Dari ‘Durasi is Long (2/3) ∨ Durasi is Long (1/3)’ dihasilkan ‘Durasi is Long (2/3)’.
•
Sedangkan dari ‘Durasi is Medium (1/5) ∨ ‘Durasi is Medium (1/5) dihasilkan ‘Durasi is Medium (1/5) ‘
Dengan demikian, dari proses inferensi ini didapatkan hasil akhir bahwa derajat keanggotaan dari “durasi is long” adalah (2/3) dan “durasi is medium” sebesar (1.5). Jika inferensi menggunakan Model Mamdani, proses inferensi selanjutnya dapat menggunakan dua pendekatan , yaitu clipping (alpha-cut) atau scaling. Metode yang paling umum digunakan adalah clipping karena mudah diimplementasikan dan bila diagregasikan dengan fungsi lain akan menghasilkan bentuk yang mudah dilakukan defuzzification. Langkah selanjutnya adalah melakukan proses clipping seperti yang terlihat pada gambar A-4 dan A-5.
Gambar A-4 Proses Clipping untuk Durasi Medium (1/5)
Gambar A- 5 Proses Clipping untuk Durasi Long (2/3)
A-5
Setelah proses clipping selesai dilakukan, selanjutnya perlu dilakukan proses composition, yaitu agregasi hasil clipping dari semua aturan fuzzy sehingga didapatkan satu fuzzy set tunggal. Pada contoh diatas, proses composition dari dua fuzzy set yang diberikan, “Durasi is Medium” (1/5) dan “Durasi is Long” (2/3) menghasilkan satu fuzzy set tunggal seperti pada gambar A-6.
Gambar A-6 Hasil Komposisi Fuzzy Set Durasi
Langkah terakhir adalah melakukan defuzzification. Jika menggunakan centroid method maka perlu ditentukan titik-titik pada area abu-abu, titik-titik ini boleh dipilih secara acak namun sebaiknya dipilih keseluruhan titik dari interval yang ada. Dari titik-titik ini akan didapatkan satu titik pusat area (center of area atau center of gravity). Misalkan titik-titik dipilih secara acak dan didapatkan titik: 24, 28, 32, 36, 40, 48, 60, 70, 80, 90 maka dengan menggunakan titik-titik tersebut dan persamaan
∑ ∑
akan didapatkan nilai y* sebesar
24
28
32 1 5
36 1 5
40 1 5
1 5
1 48 60 5 1 2 2 2 5 3 3 3
70
80
2 3
2/3
90
2/3
60.97
Jadi, dengan menggunakan Model Mamdani, untuk Suhu Udara 370 C dan Kelembaban Tanah 12%, sprinkle akan secara otomatis menyiramkan air selama 60,97 menit.
LAMPIRAN B
Scenario Usecase Skenario use case digunakan untuk memodelkan jalannya aplikasi perangkat lunak. Skenario use case juga memperlihatkan bagaimana interaksi yang terjadi antara aktor dan sistem pada aplikasi perangkat lunak.
Usecase Memasukkan Citra Digital ID Nama Use Case Aktor terlibat Deskripsi perangkat lunak Pre-kondisi Skenario
: SC-01-01 : Memasukkan Citra Digital : Pengguna : Pengguna memilih berkas citra hasil pemindaian sebagai input awal : Actor telah menjalankan sistem, sistem berada pada menu utama
Aksi Aktor Skenario Normal 1. Memilih file citra hasil pemindaian
Reaksi Sistem 2. melakukan penyesuaian berkas masukan dengan citra acuan 3. Melakukan pengukuran parameter yang diperlukan 4. Melakukan penyimpanan pengukuran hasil parameter yang didapat 5. Membuat file hasil pengukuran yang berformat XML
Usecase Memasukkan File Hasil Pengukuran ID Nama Use Case Aktor terlibat Deskripsi Pre-kondisi Skenario
: SC-01-02 : Memasukkan File Hasil Pengukuran : Pengguna : Pengguna memilih berkas file hasil pemindaian : Berkas File telah tersedia
Aksi Aktor Skenario Normal 1. Memilih file berkas hasil pengukuran parameter
Reaksi Sistem
2. melakukan interpretasi bersarkan data yang dibaca dari file yang diberikan 3. menampilkan hasil interpretasi pada layar
B-1
B-2
Aksi Aktor
Reaksi Sistem 4. Membuat file hasil intrepretasi dengan format XML
Usecase Menambahkan Pengetahuan Baru ID Nama Use Case Aktor terlibat Deskripsi Pre-kondisi Skenario
: SC-01-03 : Menambahkan Aturan Baru : Pengguna : Pengguna memilih berkas library eksternal : Berkas File telah tersedia dan benar
Aksi Aktor Skenario Normal 1. Memilih file berkas library eksternal
Reaksi Sistem 2. sistem melakukan validasi terhadap library yang dimasukkan 3. sistem menambahkan library eksternal kedalam perangkat lunak utama kemudian menampilkan informasi library yang berhasil dimasukkan
Model Analisis Pada bagian ini akan dijelaskan model analisis perangkat lunak yang dibuat berdasarkan kebutuhan perangkat lunak yang telah diidentifikasi. Model analisis akan dibuat dalam bentuk diagram kelas analisis baik diagram kelas analisis per use case dan diagram kelas analisis keseluruhan.
Realisasi Use Case Tahap Analisis Usecase Memasukkan File Citra Tulisan Use Case ini memiliki satu skenario yaitu skenario normal. Berikut adalah diagram class analisis (gambar B-1), identifikasi kelas (tabel B-1) dan sequence diagram tahap analisis (gambar B-2) dari usecase memasukkan file citra tulisan.
B-3
Main Controller
Main Panel
Parameter Controller
File Controller
Preprosesor
Gambar B-1 Diagram Kelas Analisis Usecase Memasukkan File Citra Tulisan
Tabel B-1 Identifikasi Kelas Usecase Memasukkan File Citra Tulisan
No 1 2 3 4 5
Nama Kelas Main Panel Main Controller Parameter Controller Preprocessor File Controller
: Admin Memilih Menu Memasukkan File Citra Tulisan Melakukan Preprocessing Citra Masukan
: Main Panel
Jenis Kelas Interface Controller Controller Controller Controller
: Main Controller
: Preprosesor
: File Controll
1 : memilih menu()
2 : memulai subsistem pengukuran parameter() 3 : lakukan preprocessing()
4 : lakukan pengukuran()
Melakukan Pengukuran Parameter
5 : menggenerate file()
Menggenerate File Hasil Pengukuran Memberi Notifikasi
: Parameter Controller
6 : memberikan notifikasi()
Gambar B- 2 Sequence Diagram Usecase Memasukkan File Citra Tulisan
Usecase Memasukkan File Hasil Pengukuran Use Case ini memiliki satu skenario yaitu skenario normal. Berikut adalah diagram class analisis (gambar B-3), identifikasi kelas (tabel B-2) dan sequence diagram tahap analisis (gambar B-4) dari usecase memasukkan hasil pengukuran.
B-4
Main Controller
Main Panel
File Controller
Interpretasi Controller
Gambar B- 3 Sequence Diagram Usecase Memasukkan File Citra Tulisan
Tabel B- 2 Identifikasi Kelas Usecase Memasukkan File Hasil Pengukuran
No 1 2 3 4
Nama Kelas Main Panel Main Controller Interpretasi Controller File Controller
: Admin Admin memilih menu memasukkan file berkas hasil pengukuran
Jenis Kelas Interface Controller Controller Controller
: Main Panel
: Main Controller
: Interpretasi Controller
: File Controll
1 : pilih menu() 2 : memulai subsistem interpretasi()
Melakukan Interpretasi dari data hasil pengukuran
3 : interpretasi parameter()
4 : generate file()
Menggenerate File Hasil Interpretasi Memberikan Notifikasi
5 : memberikan notifikasi()
Gambar B- 4 Sequence Diagram Usecase Memasukkan File Hasil Pengukuran
Usecase Menambahkan Library Eksternal Use Case ini memiliki satu skenario yaitu skenario normal. Berikut adalah diagram class analisis (gambar B-5), identifikasi kelas (tabel B-3) dan sequence diagram tahap analisis (gambar B-6) dari usecase menambahkan library eksternal.
B-5
Main Controller Library Controller
Main Panel
Gambar B- 5 Diagram Kelas Analisis Usecase Menambahkan Library Eksternal
Tabel B- 3 Identifikasi Kelas Usecase Menambahkan Library Eksternal
No 1 2 3
Nama Kelas Main Panel Main Controller Library Controller
Jenis Kelas Interface Controller Controller
: Pengguna Admin memilih menu memasukkan file library eksternal Memulai subsistem tambah library Melakukan validasi library eksternal Mengirimkan hasil validasi library masukan
Menampilkan informasi library eksternal
: Main Panel
: Main Controller
: Library Controller
1 : pilih menu() 2 : memulai subsistem penambahan library() 3 : validasi library()
4 : memberikanhasil validasi()
5 : menampilkan informasi()
Gambar B-6 Sequence Diagram Usecase Menambahkan Library Eksternal
Diagram Kelas Keseluruhan Gambar B-7 menunjukkan diagram kelas analisis secara keseluruhan dari perangkat lunak AGI yang menggambarkan keterhubungan antar kelas yang terlibat pada model analisis.
B-6
Interpretasi Controller
Main Panel
Parameter Controller
Main Controller
Library Controller
File Controller Preprosesor
Gambar B-7 Diagram Kelas Analisis Keseluruhan
Model Perancangan Pada bagian ini akan dijelaskan model perancangan perangkat lunak yang dibuat berdasarkan analisis perangkat lunak yang telah diidentifikasi. Model perancangan akan dibuat dalam bentuk sequence diagram dan diagram kelas perancangan baik diagram kelas perancangan per use case dan diagram kelas perancangan secara keseluruhan.
Realisasi Use Case Tahap Perancangan
Usecase Memasukkan File Citra Tulisan Use Case ini memiliki satu skenario yaitu skenario normal. Gambar B-8 menunjukkan diagram class perancangan serta gambar B-9 menunjukkan sequence diagram dari use case memasukkan file citra tulisan.
B-7
<<entity>> Tulisan
<
> Main Panel
+gambarTeks +gambarFix +marginKiri +marginKanan +sizeTulisan +slantTulisan +baselineTulisan +spaceTulisan +idSubjek +namaSubjek +usiaSubjek +genderSubjek
<> Parameter Controller +slantTulisan +baselineTulisan +sizeTulisan +spaceTulisan +marginKiriTulisan +marginKananTulisan +getMarginKiri(Bitmap) +getMarginRight(Bitmap) +getBaseline(Bitmap) +getSlant(Bitmap) +getSize(Bitmap) +getSpace(Bitmap)
<> Main Controller
+setImage(Image) +getImage() +setGambarFix(Bitmap) +getGambarFix() +setMarginKiri(double) +getMarginKiri() +setMarginKanan(double) +getMarginKanan() +setSizeTulisan(double) +getSizeTulisan() +setSlantTulisan(double) +getSlantTulisan() +setBaselineTulisan(double) +getBaselineTulisan() +setSpaceTulisan(double) +getSpaceTulisan() +setIDSubjek(String) +getIDSUbjek() +setNamaSubjek(String) +getNamaSubjek() +setUsiaSubjek(String) +getUSiaSubjek() +setGenderSubjek(String) +getGenderSubjek(String)
+tulisan +doPreProcessing() +doGetParamater() +doSave() +doOpenFile() +doInterpretasi() +doOpenXML()
<> XML Writer +WriteXML(String, tulisan)
<> Preprosesor +grayScale(Bitmap) +threshold(Bitmap) +threshold2(Bitmap) +cekAngle(Bitmap) +cekSize(Bitmap) +RadianToDegree(double) +cropImage(Bitmap, Rectangle) +rotateImage(Bitmap, double) +smearing(Bitmap) +resizeImage(Bitmap) +doPreprocessing(Bitmap)
Gambar B-8 Diagram Kelas Perancangan Usecase Memasukkan File Citra Tulisan <> : Main Panel
<> : Main Controller
<> : Preprosesor
<> : Parameter Controller
<> : XML Writer
<<entity>> : Tulisan
: Pengguna 1 : memilih menu() 2 : doPreProcessing() 3 : doPreprocessing() 4 : doGetParameter() 6 : doWrite()
5 : doGetParameter() 7 : setTulisan() 8 : writeXML()
9 : memberikan notifikasi()
Gambar B-9 Sequence Diagram Perancangan Usecase Memasukkan File Citra Tulisan
B-8
Usecase Memasukkan File Hasil Pengukuran Use Case ini memiliki satu skenario yaitu skenario normal. Gambar B-10 menunjukkan diagram class perancangan serta gambar B-11 menunjukkan sequence diagram dari use case memasukkan file hasil pengukuran. <<entity>> Tulisan
<> Main Panel
+gambarTeks +gambarFix +marginKiri +marginKanan +sizeTulisan +slantTulisan +baselineTulisan +spaceTulisan +idSubjek +namaSubjek +usiaSubjek +genderSubjek
<> Interpretasi Controller
<> Main Controller
+setImage(Image) +getImage() +setGambarFix(Bitmap) +getGambarFix() +setMarginKiri(double) +getMarginKiri() +setMarginKanan(double) +getMarginKanan() +setSizeTulisan(double) +getSizeTulisan() +setSlantTulisan(double) +getSlantTulisan() +setBaselineTulisan(double) +getBaselineTulisan() +setSpaceTulisan(double) +getSpaceTulisan() +setIDSubjek(String) +getIDSUbjek() +setNamaSubjek(String) +getNamaSubjek() +setUsiaSubjek(String) +getUSiaSubjek() +setGenderSubjek(String) +getGenderSubjek(String)
+fromSizeCog() +fromSizeSugeno() +fromSpaceCog() +fromSpaceSugeno() +fromBaselineCog() +fromBaselineSugeno() +fromSlantCog() +fromSlantSugeno() +fromMarginCog() +fromMarginSugeno() +doInterpretasi()
+tulisan +doPreProcessing() +doGetParamater() +doSave() +doOpenFile() +doInterpretasi() +doOpenXML()
<> XML Reader +readXML()
Gambar B-10 Diagram Kelas Perancangan Usecase Memasukkan File Hasil Pengukuran
: Pengguna
<> : Main Panel
<> : Main Controller
<> : Interpretasi Controller
<> : XML Reader
1 : pilih menu() 2 : doOpenFile() 5 : doInterpretasi()
3 : readXML() 4 : file() 6 : doInterpretasi() 7 : hasilInterpretasi()
8 : informasiHasil()
Gambar B-11Sequence Diagram Usecase Memasukkan File Hasil Pengukura
B-9
Usecase Menambahkan Library Eksternal Use Case ini memiliki satu skenario yaitu skenario normal. Gambar B-12 menunjukkan diagram class perancangan serta gambar B-13 menunjukkan sequence diagram dari use case menambahkan library eksternal.
<> Main Controller <> Main Panel
+tulisan +doPreProcessing() +doGetParamater() +doSave() +doOpenFile() +doInterpretasi() +doOpenXML() +doAddLibrary()
<> Library Controller +tulisan +updateAssembly() +getAssembly() +cekAssembly()
Gambar B-12 Diagram Kelas Perancangan Usecase Menambahkan Library Eksternal
: Pengguna
<> : Main Panel
<> : Main Controller
<> : Library Controller
1 : pilih menu() 2 : doAddLibrary() 3 : cekAssembly() 4 : updateAssembly()
Gambar B-13 Sequence Diagram Usecase Menambahkan Library Eksternal
Diagram Kelas Keseluruhan Gambar B-14 menunjukkan diagram kelas perancangan secara keseluruhan dari perangkat lunak AGI yang menggambarkan keterhubungan antar kelas yang terlibat pada model perancangan.
B-10
<<entity>> Tulisan +gambarTeks +gambarFix +marginKiri +marginKanan +sizeTulisan +slantTulisan +baselineTulisan +spaceTulisan +idSubjek +namaSubjek +usiaSubjek +genderSubjek
<> Main Panel
<> Library Controller
<> Main Controller
+tulisan
+tulisan
+setImage(Image) +getImage() +setGambarFix(Bitmap) +getGambarFix() +setMarginKiri(double) +getMarginKiri() +setMarginKanan(double) +getMarginKanan() +setSizeTulisan(double) +getSizeTulisan() +setSlantTulisan(double) +getSlantTulisan() +setBaselineTulisan(double) +getBaselineTulisan() +setSpaceTulisan(double) +getSpaceTulisan() +setIDSubjek(String) +getIDSUbjek() +setNamaSubjek(String) +getNamaSubjek() +setUsiaSubjek(String) +getUSiaSubjek() +setGenderSubjek(String) +getGenderSubjek(String)
+updateAssembly() +getAssembly() +cekAssembly()
+doPreProcessing() +doGetParamater() +doSave() +doOpenFile() +doInterpretasi() +doOpenXML() +doAddLibrary()
<> Preprosesor <> XML Writer +WriteXML(String, tulisan)
<> XML Reader +readXML()
+grayScale(Bitmap) +threshold(Bitmap) +threshold2(Bitmap) +cekAngle(Bitmap) +cekSize(Bitmap) +RadianToDegree(double) +cropImage(Bitmap, Rectangle) +rotateImage(Bitmap, double) +smearing(Bitmap) +resizeImage(Bitmap) +doPreprocessing(Bitmap)
Gambar B- 14 Diagram Kelas Keseluruhan
Perancangan Antar Muka Antar muka dari perangkat lunak AGI dibuat dirancang agar dapat mudah digunakan oleh penggunanya. Antar muka AGI terdiri atas satu buah form utama yang terdiri atas beberapa tab panel yang berfungsi untuk memisahkan fitur fitur yang terdapat di perangkat lunak AGI. Terdapat juga informasi mengenai gambar masukan dan nilai-nilai parameter yang berhasil didapatkan.
B-11
Methods dan Atribut Kelas Berikut ini akan dijelaskan beberapa fungsi, prosedur dan atribut-atribut utama pada kelas-kelas utama yang diimplementasikan. Beberapa kelas utama yang akan dijabarkan tersebut adalah mainPanel, preprocessing, parameter, interpretasi, library, tulisan, 1.
Kelas mainPanel Kelas mainPanel ini bertanggung jawab untuk menghubungkan kelas-kelas utama yang terdapat di perangkat lunak AGI. Tabel B-4 mendeskripsikan atribut dan method utama yang terdapat pada kelas mainPanel.
Tabel B-4 Daftar Atribut dan Method Kelas MainPanel
No 1 No 1 2 3 4 5 6 7 2.
Tipe, Nama Atribut Tulisan, Agi Nama Fungsi mainPanel() doOpenImage() doPreprocessing(Bitmap b) doGetParameter() doInterpretasi doSave() doRead()
Modifier Public Modifier Public Private Private Private Private Private Private
Keterangan/Tipe Keterangan/Tipe Default Konstruktor
Kelas Preprocessing Kelas Preprocessing bertanggung jawab untuk melakukan processing awal terhadap citra masukan. Tabel B-5 mendeskripsikan atribut dan method utama yang terdapat pada kelas Preprocessing.
Tabel B-5 Daftar Atribut dan Method Kelas Preprocessing
No No
Tipe, Nama Atribut Nama Fungsi
1 2
Preprocessing() doPreprocessing()
Modifier Akses Modifier Public Public
Keterangan/Tipe Keterangan/Tipe Default Konstruktor
B-12
3 4 5 6 7 3.
Bitmap grayscale(Bitmap) Bitmap resize(Bitmap, Size) Bitmap threshold (Bitmap) double cekAngle(Bitmap) Bitmap rotateImage(Bitmap,double)
Private Private Private Private Private
Kelas Parameter Kelas Parameter bertanggung jawab untuk mengambil parameter-parameter yang dibutuhkan dari citra masukan. Tabel B-6 mendeskripsikan atribut dan method utama yang terdapat pada kelas Parameter
Tabel B-6 Daftar Atribut dan Method Kelas Parameter
No 1 3 4 5 6 No 1 2 4 5 6 7 4.
Tipe, Nama Atribut baselineTulisan sizeTulisan spaceTulisan marginKiriTulisan marginKananTulisan Nama Fungsi Parameter() double getBaselineTulisan(Bitmap b) double getSizeTulisan(Bitmap b) double getSpaceTulisan(Bitmap b) double getMarginKiri(Bitmap b) double getMarginKanan(Bitmap b)
Modifier private private private private private Modifier Public Public Public Public Public Public
Keterangan/Tipe Keterangan/Tipe Default Konstruktor -
Kelas Interpretasi Kelas Interpretasi
bertanggung jawab untuk menginterpretasi hasil
pengukuran berdasarkan kaidah grafologi. Tabel B-7 mendeskripsikan atribut dan method utama yang terdapat pada kelas Interpretasi.
Tabel B-7 Daftar Atribut dan Method Kelas Parameter
No 1 No 1 2 3 4
Tipe, Nama Atribut Nama Fungsi Interpretasi() double fromSizeCOG(double) double fromSizeSugeno(double) double fromSpaceCOG(double)
Modifier Modifier Public Public Public Public
Keterangan/Tipe Keterangan/Tipe Default Konstruktor -
B-13
5 6 7 10 11 5.
double fromSpaceSugeno(double) double fromMarginsCOG(double) double fromMarginsSugeno(double) double fromBaselineCOG(double) double fromBaselineSugeno(double)
Public Public Public Public Public
-
Kelas Library Kelas Library bertanggung jawab untuk mengatur penambahan aturan baru melalui mekanisme library eksternal. Tabel B-8 mendeskripsikan atribut dan method utama yang terdapat pada kelas Library.
Tabel B- 8 Daftar Atribut dan Method Kelas Parameter
No 1 No 1 2 3 4
Tipe, Nama Atribut Tulisan, Agi Nama Fungsi Library(tulisan) updateAssembly(String) getAssembly(String) cekAssembly(String)
Modifier private Modifier Public Public Public Public
Keterangan/Tipe Keterangan/Tipe Default Konstruktor -
LAMPIRAN C Berikut ini adalah dokumen pengujian yang digunakan dalam pengetesan perangkat lunak AGI. Tabel C-1 menunjukkan informasi file pengujian yang digunakan untk pengtesan modul pemprosesan citra masukan awal perangkat lunak.
Tabel C- 1 Berkas File Pengujian Preprocessing Awal Citra
No
1
Nama File
Informasi
Keterangan
Ukuran
595 x 842 px
Tipe File
BMP
prePro1 Preview
2
Ukuran
653 x 678 px
Tipe File
JPG
prePro2 Preview
3
prePro3
Ukuran
250 x 232 px
Tipe File
JPG C-1
C-2
Preview
Tabel C-2 menunjukkan informasi berkas file yang digunakan dalam pengujian pengambilan paramater.
Tabel C- 2 Berkas File Pengujian Pengukuran Parameter
No
1
Nama File
Informasi
Keterangan
Ukuran
595 x 803 px
Tipe File
JPG
Sample1 Preview
2
Sample2
Ukuran
595 x 806 px
Tipe File
JPG
C-3
Preview
3
Ukuran
595 x 803 px
Tipe File
JPG
Sample3 Preview
4
Sample4
Ukuran
595 x 799 px
Tipe File
JPG
C-4
Preview
5
Ukuran
595 x 800 px
Tipe File
JPG
Sample5 Preview
6
Sample6
Ukuran
595 x 803 px
Tipe File
JPG
C-5
Preview
7
Ukuran
595 x 803 px
Tipe File
JPG
Sample7 Preview
8
Sample8
Ukuran
595 x 803 px
Tipe File
JPG
C-6
Preview
9
Ukuran
595 x 803 px
Tipe File
JPG
Sample9 Preview
10
Ukuran
595 x 803 px
Tipe File
JPG
Sample10 Preview
C-7
Tabel C-3 menunjukkan berkas file yang digunakan pada pengujian interpretasi hasil pengukuran parameter
Tabel C- 3 Berkas File Pengujian Interpretasi Hasil Pengukuran
No Nama File
Preview
1
Sample1.xml
2
Sample2.xml
3
Sample3.xml
4
Sample4.xml
sample1 sample1 <Usia>19 <JenisKelamin>Pria <MarginKiri>1,41176470588235 <MarginKanan>0,741176470588235 <SizeTulisan>0,216413343861034 <SpaceTulisan>1,1389466978127 -3 <SlantTulisan>0 sample2 sample2 <Usia>19 <JenisKelamin>Pria <MarginKiri>1,58823529411765 <MarginKanan>0,423529411764706 <SizeTulisan>0,264572060278117 <SpaceTulisan>0,78975613024253 2 <SlantTulisan>0 sample3 sample3 <Usia>19 <JenisKelamin>Pria <MarginKiri>2,32941176470588 <MarginKanan>1,8 <SizeTulisan>0,457076948426429 <SpaceTulisan>1,22043744643027 2 <SlantTulisan>0 sample4 sample4 <Usia>19 <JenisKelamin>Pria <MarginKiri>1,09411764705882 <MarginKanan>0,988235294117647
C-8
5
Sample5.xml
6
Sample6.xml
7
Sample7.xml
8
Sample8.xml
<SizeTulisan>0,235393818544367 <SpaceTulisan>0,627241740069522 1 <SlantTulisan>0 sample5 sample5 <Usia>19 <JenisKelamin>Pria <MarginKiri>0,670588235294118 <MarginKanan>1,30588235294118 <SizeTulisan>0,262596049489907 <SpaceTulisan>0,746638387326852 1 <SlantTulisan>0 sample6 sample6 <Usia>19 <JenisKelamin>Pria <MarginKiri>0,6 <MarginKanan>0,952941176470588 <SizeTulisan>0,3145896552119 <SpaceTulisan>0,447170551388872 1 <SlantTulisan>0 sample7 sample7 <Usia>19 <JenisKelamin>Pria <MarginKiri>2,01176470588235 <MarginKanan>1,65882352941176 <SizeTulisan>0,299969626404779 <SpaceTulisan>0,636127709510771 -2 <SlantTulisan>0 Sample8 Sample8 <Usia>19 <JenisKelamin>Pria <MarginKiri>1,27058823529412 <MarginKanan>1,76470588235294 <SizeTulisan>0,319087100715657 <SpaceTulisan>0,817619465696727 -1 <SlantTulisan>0
C-9
9
Sample9.xml
10
Sample10.xml
sample9 sample9 <Usia>19 <JenisKelamin>Pria <MarginKiri>0,882352941176471 <MarginKanan>1,48235294117647 <SizeTulisan>0,216785294117647 <SpaceTulisan>0,838289782771898 -2 <SlantTulisan>0 sample10 sample10 <Usia>19 <JenisKelamin>Pria <MarginKiri>1,55294117647059 <MarginKanan>1,44705882352941 <SizeTulisan>0,204580734441748 <SpaceTulisan>0,484412874583796 3 <SlantTulisan>0