• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PERANCANGAN"

Copied!
8
0
0

Teks penuh

(1)

ANALISIS DAN PERANCANGAN

Bab ini memaparkan proses analisis dan perancangan perangkat lunak yang akan dikembangkan. Metode analisis dan perancangan yang digunakan berbasis aliran data dan kelas.

3.1 Metodologi Pembangunan Perangkat Lunak

Pembangunan perangkat lunak menggunakan metodologi unified modelling language. Metodologi ini berpusat pada tiga tipe kelas, yaitu kelas entity, boundary, dan control. Selain ketiga tipe kelas tersebut, terdapat kelas yang lain, yaitu kelas antar muka, yang berfungsi untuk menyimpan semua properti dari antar muka yang digunkan.

3.2 Analisis

Proses analisis perangkat lunak dilakukan dengan langkah-langkah sebagai berikut: 1. Mendeskripsikan secara global perangkat lunak dan interaksinya dengan

entitas-entitas luar.

2. Berdasarkan kajian teori dan penerapan teori yang telah dilakukan, mendefinisikan fungsi-fungsi utama yang harus dimiliki oleh sistem. Fungsi-fungsi ini kemudian didekomposisi menjadi Fungsi-fungsi-Fungsi-fungsi yang lebih kecil dan sederhana.

3. Menentukan keterkaitan antar fungsi dengan membuat diagram aliran data (Data Flow Diagram)

4. Menentukan kebutuhan data, baik data masukan, keluaran, maupun data yang berperan pada setiap fungsi utama.

5. Menentukan kebutuhan antar muka pengguna sebagai fasilitas bagi pengguna untuk berinteraksi dengan perangkat lunak.

(2)

3.2.1 Deskripsi Global Sistem dalam Model Fungsional

Sistem ini adalah sebuah aplikasi perangkat lunak yang menerapkan Image Preprocessing, jaringan saraf tiruan, dan algoritma genetik untuk menyelesaikan masalah OCR. Sistem menerima masukan dari pengguna berupa data angka MNIST melalui fasilitas antar muka yang disediakan. Secara iteratif, sistem akan membangkitkan solusi dan menampilkannya kepada pengguna. Output yang dihasilkan pada proses training adalah rules. Sedangkan output yang dihasilkan pada proses testing adalah nilai akurasi dan guess output.

Aspek sistem yang berkaitan dengan transformasi nilai, dengan suatu fungsi atau pemetaan tertentu akan digambarkan oleh model fungsional. Model fungsional menunjukkan apa yang dilakukan oleh suatu sistem, tanpa memperhatikan bagaimana ataupun kapan hal itu akan dilakukan. Model fungsional direpresentasikan dengan konteks diagram dan diagram aliran data (data flow diagram, disingkat DFD). Konteks diagram dan diagram aliran data menunjukkan ketergantungan antara nilai dan perhitungan nilai keluaran dengan menggunakan nilai masukan dan fungsi tertentu, tanpa mempedulikan kapan fungsi tersebut dieksekusi. Diagram Flowchart aplikasi dapat dilihat di LAMPIRAN A. Diagram konteks dapat dilihat pada Gambar III.11

Sistem Data MNIST Akurasi Image Guess output Rule Parameter

Gambar III.1 Diagram Konteks

Pada proses pelatihan, data training MNIST akan melalui proses image preprocessing yang akan menghasilkan data normal. Data normal tersebut akan menjadi masukan dari GA. GA akan membangkitkan populasi dengan menggunakan mini JST (1 epoch). GA akan menghasilkan sebuah rule / bobot awal yang akan digunakan oleh JST. Rule hasil GA dan data normal akan diproses oleh JST untuk menghasilkan rule akhir. Rule akhir

(3)

inilah yang akan digunakan untuk pengujian. Dapat dikatakan bahwa GA akan mengoptimasi bobot awal dari JST.

Pada proses pengujian, data testing MNIST akan melalui proses image preprocessing yang sama dengan training dan menghasilkan data normal. Data normal tersebut akan dimasukan pada rule akhir hasil training untuk menghasilkan guess output. Guess output akan dibandingkan dengan label dari data testing MNIST dalam proses pengujian. Proses tersebut akan menghasilkan akurasi dari rule hasil pelatihan tersebut.

3.2.1.1 Analisis Kebutuhan Fungsional

Mengacu kepada hasil kajian penerapan GA dan JST pada sistem dan teori OCR dan diagram konteks, maka sistem perlu mengimplementasi fungsi-fungsi utama sebagai berikut:

1. Sistem mampu menerima masukan parameter-parameter indikator dari pengguna dalam bentuk data MNIST.

2. Sistem mampu membangkitkan populasi awal valid GA atau JST secara acak. 3. Sistem mampu mengimplementasi operator-operator genetik (reproduksi,

persilangan, dan mutasi).

4. Sistem mampu mengimplementasi operator evaluasi dan seleksi. 5. Sistem mampu mengimplementasi prosedur JST.

6. Sistem mampu menampilkan hasil eksekusi dan menampilkan solusi terbaik.

3.2.2 Analisis Kebutuhan Data

Sistem bertugas untuk menghasilkan sebuah rule untuk masalah OCR, dan untuk itu dibutuhkan beberapa data masukan dari pengguna.

3.2.2.1 Data Masukan (Input)

Data masukan yang diperlukan oleh sistem adalah sebagai berikut: 1. Ukuran populasi, yaitu ukuran populasi yang dikehendaki.

(4)

2. Pc, yaitu nilai probabilitas terjadinya persilangan. 3. Pm, yaitu nilai probabilitas terjadinya mutasi.

4. Jumlah iterasi, yaitu jumlah iterasi yang akan dilakukan oleh sistem.

5. Jumlah hidden unit, yaitu jumlah unit tersembunyi antara input dan output JST. 6. Learning rate, yaitu kecepatan pembelajaran sistem JST.

7. Epoch, yaitu jumlah iterasi pada JST.

3.2.2.2 Data Keluaran (Output)

Output yang dihasilkan oleh sistem training adalah sebuah rule solusi terbaik terhadap masalah OCR. Sedangkan output yang dihasilkan oleh sistem testing adalah guess output dan nilai akurasi dari rule hasil training tersebut.

3.2.3 Analisis Kebutuhan Antarmuka Pangguna

Antar muka pengguna dibutuhkan untuk menerima dan menampilkan hasil eksekusi program. Beberapa antar muka yang diperlukan adalah:

1. Antar muka training dan testing

2. Antar muka untuk pemilihan arsip set data 3. Antar muka image preprocessing

4. Antar muka parameter GA (Pm, Pc, jumlah iterasi, ukuran populasi) 5. Antar muka parameter JST (hidden unit, learning rate, epoch) 6. Antar muka keluaran sistem.

3.3 Perancangan

Perancangan akan berisi perancangan antar muka, perancangan use case, perancangan kelas dan realisasi use case.

(5)

3.3.1 Perancangan Antar Muka

Tujuan dari perancangan antarmuka adalah agar pengguna bisa berinteraksi dengan perangkat lunak dengan baik. Aplikasi ini mempunyai dua antar muka utama. Antar muka pertama adalah antar muka training. Antar muka ini berguna untuk melakukan pelatihan pada sistem untuk dapat menghasilkan rule terbaik untuk masalah OCR. Antar muka kedua adalah antar muka testing. Antar muka ini berguna untuk melakukan pengujian terhadap rule yang telah didapat pada proses pelatihan.

Input Data

Preprocessing

Genetic Algorithm

Artificial Neural Network

Tampilan Data Digit

Input

Proses

Run GA

Run ANN Tampilkan

(6)

3.3.2 Perancangan Use Case

Tabel III.1 Use Case menggambarkan semua use case yang akan terdapat pada sistem.

Tabel III.1 Use Case

No Nama Use Case

Keterangan

1. Input data Untuk aktor memasukkan nama dari arsip yang berisi data MNIST. 2. Input parameter

GA

Untuk aktor memasukkan nilai dari parameter. Terdapat empat parameter yang akan dimasukkan oleh aktor. Parameter Ukuran Populasi berguna untuk menentukan ukuran populasi yang akan dibuat oleh sistem. Parameter Jumlah Iterasi berguna untuk menentukan berapa kali sistem akan melakukan iterasi proses. Parameter Pc berguna untuk menentukan kemungkinan terjadinya persilangan dalam sistem. Parameter Pm berguna untuk menentukan kemungkinan terjadinya mutasi dalam sistem.

3. Input parameter JST

Untuk aktor memasukkan nilai dari parameter. Terdapat tiga parameter yang akan dimasukkan oleh aktor, yaitu jumlah hidden unit, lerning rate, dan jumlah epoch.

4. Output hasil Untuk menampilkan hasil pengujian dan rule terbaiknyanya pada pengguna.

5. Membangkitkan

populasi

Untuk membangkitkan populasi secara acak dengan ukuran populasi seperti yang dimasukkan oleh pengguna.

6. Melakukan

evaluasi

Untuk menghitung nilai fitness dari setiap kromosom yang terdapat pada populasi.

7. Melakukan

seleksi

Untuk memilih kromosom-kromosom terbaik dari populasi.

8. Melakukan

persilangan

Untuk melakukan persilangan antara kromosom-kromosom terbaik dan menghasilkan kromosom-kromosom turunan atau offspring dengan nilai Pc sesuai dengan yang dimasukkan oleh pengguna.

9. Melakukan

mutasi

Untuk melakukan mutasi terhadap kromosom-kromosom terbaik dan offspring dengan nilai Pm sesuai dengan yang dimasukkan oleh pengguna.

10. Melakukan

proses JST

Untuk melakukan proses JST dengan jumlah hidden unit, learning rate, dan jumlah epoch yang telah dimasukkan oleh pengguna.

10. Melakukan

pengujian

Untuk menentukan nilai akurasi rule hasil training pada data test.

3.3.3 Perancangan Kelas

Sesuai dengan unified modelling language [BOG02], dalam aplikasi ini terdapat tiga tipe kelas. Yaitu kelas Boundary, Entity, dan Control. Diagram kelas dapat dilihat pada Gambar III.3.

(7)

+ANN2GA() +Inisialisasi() +Seleksi() +Crossover() +Mutasi() +Reproduksi() +Offspring2Populasi() +GA2ANN() +Evaluasi() +Proses() GeneticAlgorithm +GetnLabel() : Integer +GetnRow() : Integer +GetnCol() : Integer +GetnHVD() : Integer +GetnInput() : Integer +GetnHidden() : Integer +GetnOutput() : Integer +GetnKromosom() : Integer InitVar +GetnInput() : Integer +GetnHidden() : Integer +GetnOutput() : Integer +GetNilaiOutput() : Double +GetBobotIH() : Double +GetBobotHO() : Double +SetBobotIH() +SetBobotHO() +InisialisasiBobotRandom() +InisialisasiInputData() +Inj() : Double +Ginj() : Double +HitungHidden() +HitungIni() +Gini() : Double +HitungOutput() +G1ini() : Double +Errori() : Double +HitungDeltai() +G1inj() : Double +HitungDeltaj() +UbahBobotHO() +BackProp() +UbahBobotIH() +HitungSSE() : Double +HitungRMSE() : Double +HitungSalah() : Integer +HitungAkurasi() : Double +Proses() +InputRule() +Test() ArtificialNeuralNetwork +Binerisasi() +NoiseReduction() +Thinning() +Centering() +HitungDataHVD() +InputDataNormal() +GetDataNormal() : Double +Rata2() : Double +StdDev() : Double +Normalisasi() : Double +NormalisasiData() +TampilData() DataPreprocessing +GetnLabel() : Integer +GetnRow() : Integer +GetnCol() : Integer +GetDataLabel() : Integer +GetDataGambar() : Byte +InputDataLabel() +InputDataGambar() InputData +InputData() +ImagePreprocessing() +InputDataHVD() +NormalisasiData() +InputImageSkeleton() +InputDataNormal() +RunGA() +InisialisasiBobotANN() +RunANN() +InputTestRule() +RunTest() +Tampilkan() MainProcess -End1 * -End2 * -End3 * -End4 *-End5 * -End6 * -End7 * -End8 * -End9 * -End10 * -End11 * -End12 * -End13 * -End14 * -End15 * -End16 *

(8)

3.3.4 Realisasi Use Case

Rancangan realisasi dari use case yang terdapat dalam 3.3.3 Perancangan Use Case dapat dilihat dalam dua bentuk. Bentuk pertama adalah dalam diagram kelas yang menggambarkan hubungan dari kelas-kelas dalam merealisasikan suatu use case. Bentuk kedua adalah dalam sequence diagram yang menggambarkan aksi-aksi apa saja yang terdapat dalam use case tersebut. Diagram kelas use case dapat dilihat pada LAMPIRAN B.

Gambar

Gambar III.1 Diagram Konteks
Gambar III.2 Rancangan Antar Muka
Tabel III.1 Use  Case  menggambarkan semua use case yang akan terdapat pada sistem.
Gambar III.3 Diagram Kelas

Referensi

Dokumen terkait

Ketebalan bahan isolasi LDPE, dari hasil pengujian menunjukkan bahwa semakin tebal bahan tersebut, maka nilai ESDD yang diperoleh dipermukaannya semakin tinggi dan

Berdasarkan hasil pengolahan data dan analisis data, maka peneliti dapat mengemukakan simpulan untuk pelafalan anak usia 2 (dua) tahun dalam melafalkan kosakata dasar

Foto yang disebelah kanan adalah ketika Suraya mengecek kembali (dengan keyakinannya mengevaluasi embat gamelan yang telah dibuatnya) jarak nada atau interval pada

Maksudnya adalah merencanakan bagaimana anda akan mengekspresikan diri anda sendiri dalam menulis. Dalam busnis, tulisan seharusnya simple, direct, dan conversational.

Permasalahan pada kendaraan bermesin injeksi adalah bahwa sangat sulit untuk menetapkan waktu pengapian jika dikaitkan dengan tujuan yang ingin dicapai, misalnya

Penelitian Maiga dan Jacobs (2007); Maria dan Nahartyo (2014) menunjukkan bahwa keadilan distributif dalam proses anggaran dapat meminimalisasi kecenderungan karyawan

Penelitian ini berfokus pada pembuatan dan analisa kekuatan material untuk mendapatkan komposisi komposit polymeric foam yang tepat dengan kandungan serat tandan

Pola pengembangan industri mete yang bertumpu pada industri skala besar dengan ditunjang usaha untuk mengimpor gelondong mete dari negara lain yang memiliki masa panen yang