BAB3 Analisis dan Perancangan - thesis.binus.ac.idthesis.binus.ac.id/Asli/Bab3/2006-2-01302-MTIF-Bab...
Transcript of BAB3 Analisis dan Perancangan - thesis.binus.ac.idthesis.binus.ac.id/Asli/Bab3/2006-2-01302-MTIF-Bab...
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Permasalahan
Permasalahan mencari nilai eigen sangat penting untuk bermacam-macam
aplikasi misalnya mencari solusi untuk persamaan diferensial linear dan non-linear,
permasalahan nilai batas, teori chaos, rantai Markov, analisis jaringan, dan model
pertumbuhan populasi, dan sebagainya. Banyak tool statistik dan sistem pengambilan
keputusan misalnya Multi Dimensional Scaling (MDS) dan Principle Component
Analysis (PCA) sangat bergantung pada hal-hal seperti mencari nilai eigen suatu
matriks.
Pada model pertumbuhan populasi, khususnya pada model pertumbuhan Leslie,
perhitungan matriks untuk sekian periode ke depan dapat dilakukan dengan cara mencari
nilai eigen dan vektor eigen terlebih dahulu. Hal ini jelas lebih ‘murah’ secara
kompleksitas daripada melakukan perkalian matriks terus-menerus, apalagi bila matriks
tersebut berukuran besar.
Awalnya permasalahan mencari nilai eigen diselesaikan secara manual, tetapi hal
tersebut sangat menyulitkan terutama untuk matriks berukuran besar. Perkembangan
teknologi informasi telah memudahkan manusia untuk melakukan perhitungan yang
butuh dilakukan berulang-ulang (repetition). Dengan menggunakan alat bantu komputer,
masalah nilai eigen diselesaikan dengan menggunakan metode Power dan algoritma QR.
Tetapi perkembangan selanjutnya menuntut adanya algoritma yang lebih cepat dan
efisien.
51
3.2 Solusi Permasalahan
Berdasarkan masalah di atas, dibutuhkan suatu program aplikasi yang dapat
menghitung nilai dan vektor eigen dengan algoritma yang cukup ‘murah’. Dalam
aplikasi ini, akan diimplementasikan algoritma QR setelah matriks ditransformasi
menjadi matriks Hessenberg. Hasil nilai dan vektor eigen kemudian dapat dipakai untuk
memperkirakan berapa jumlah populasi yang ada setelah sekian waktu. Dengan kata
lain, aplikasi yang dibuat harus dapat menghitung nilai eigen dan vektor eigen suatu
matriks, menghitung pangkat yang dikenakan pada suatu matriks, dan juga dapat
digunakan untuk mengetahui data-data yang umumnya digunakan pada model
pertumbuhan Leslie. Untuk mempermudah penyebutan, selanjutnya aplikasi akan diberi
nama EigenSolver.
3.3 Analisis dan Perancangan Proses
3.3.1 Use Case Diagram
Gambar 3.1 Use case aplikasi
52
Penjelasan use case aplikasi:
1. Use Case Menghitung Nilai Eigen
Deskripsi:
Tujuan dari use case ‘Menghitung Nilai Eigen’ adalah untuk menghitung nilai
eigen dari suatu matriks. Setelah pengguna memasukkan input matriks dan batas
error, maka aplikasi akan melakukan validasi terhadap input dan kemudian
menghitung nilai dan vektor eigen dari matriks yang telah diinput tersebut.
Pengguna dapat memasukkan input matriks dari file .txt, atau mencetak hasil
nilai eigen dan vektor eigen ke file .txt.
Flow of events:
1. Masukkan input matriks dan batas error atau masukkan input matriks
dari file.
2. Sistem memvalidasi input matriks dan batas error.
3. Sistem menghitung nilai eigen dan vektor eigen.
4. Sistem menampilkan hasil nilai eigen dan vektor eigen.
5. Pengguna dapat mencetak hasil ke dalam file.
53
Pilih menu‘Menghitung Nilai
Eigen’
Menampilkan halaman‘Menghitung Nilai Eigen’
Memasukkan nilai inputmatriks dan batas error
Klik ‘Hitung Nilai danVektor Eigen’
Validasi input matriksdan batas error
Klik ‘MasukkanMatriks dari File’
Tampilkan dialog PilihFile
MenampilkanPesan Kesalahan
Menampilkan hasilnilai dan vektor eigen
Tampilkan dialogSimpan ke FileKlik ‘Keluar ke
Menu Utama’’
Klik ‘SimpanHasil’
[tidakvalid]
[valid]
User Sistem EigenSolver
Gambar 3.2 Activity Diagram Menghitung Nilai Eigen
2. Use Case Operasi Pangkat Matriks
Deskripsi:
Tujuan dari use case ‘Operasi Pangkat Matriks’ adalah untuk menghitung
pangkat dari matriks dengan suatu bilangan bulat positif atau perkalian dari
pangkat matriks dengan suatu vektor. Untuk pangkat matriks pengguna
memasukkan input matriks, pangkat, dan batas error. Sedangkan untuk perkalian
54
pangkat matriks dengan vektor, pengguna juga harus memasukkan input vektor.
Input matriks dapat dimasukkan melalui file. Aplikasi akan memvalidasi input–
input tersebut, lalu menghitung pangkat matriks atau perkalian pangkat matriks
dengan vektor. Hasil dari matriks dan vektor yang telah dihitung dapat disimpan
ke dalam file .txt.
Flow of events:
1. Masukkan input matriks, input vektor, pangkat dan batas error atau
masukkan input matriks dari file.
2. Pengguna dapat memilih pangkat matriks atau perkalian pangkat matriks
dengan vektor.
3. Jika pengguna memilih pangkat matriks, sistem memvalidasi input
matriks, pangkat, dan batas error. Sistem kemudian melakukan pangkat
matriks.
4. Jika pengguna memilih kalikan pangkat matriks dengan vektor, sistem
memvalidasi input matriks, input vektor, pangkat, dan batas error. Sistem
kemudian melakukan kalikan matriks dengan vektor.
5. Sistem menampilkan hasil pangkat matriks atau kalikan matriks dengan
vektor.
6. Pengguna dapat mencetak matriks hasil ke dalam file.
55
Gambar 3.3 Activity Diagram Operasi Pangkat Matriks
3. Use Case Data Leslie
Deskripsi:
56
Tujuan dari use case ’Data Leslie’ adalah untuk menghitung data-data yang
didapat dari input matriks Leslie dan input vektor awal. Input matriks Leslie
dapat dimasukkan melalui file. Aplikasi akan memvalidasi input matriks Leslie,
input vektor awal, dan batas error, lalu menghitung data-data dari input tersebut.
Data-data Leslie yang telah dihitung dapat disimpan ke dalam file .txt.
Flow of events :
1. Masukkan input matriks Leslie, input vektor awal, batas error. Pengguna
juga dapat memasukkan input matriks Leslie dari file .
2. Sistem memvalidasi input matriks Leslie, input vektor awal, dan batas
error.
3. Sistem menghitung data Leslie.
4. Sistem menampilkan hasil perhitungan data Leslie.
5. Pengguna dapat mencetak hasil ke dalam file.
57
Gambar 3.4 Activity Diagram Data Leslie
4. Use Case Masukkan Matriks dari File
Deskripsi:
Tujuan dari use case ‘Masukkan Matriks dari File’ adalah untuk membuka file
berformat .txt, kemudian memasukkan isinya ke input matriks.
Flow of events :
1. Pilih file .txt yang akan dimasukkan ke dalam input matriks.
58
2. Sistem membuka file dan memasukkan isinya ke input matriks.
Gambar 3.5 Activity Diagram Masukkan Matriks dari File
5. Use Case Simpan ke File
Deskripsi:
Tujuan dari use case ‘Simpan ke File’ adalah untuk menyimpan hasil matriks ke
dalam file berformat .txt.
Flow of events :
1. Masukkan nama file untuk penyimpanan hasil matriks.
2. Sistem menyimpan file ke dalam nama file yang telah diinput.
Gambar 3.6 Activity Diagram Simpan ke File
59
3.3.2 Class Diagram
Gambar 3.7 Class Diagram aplikasi
60
3.4 Perancangan Menu
3.4.1 Hierarki Menu
Gambar 3.8 Hierarki menu aplikasi
3.4.2 Statechart Diagram
3.4.2.1 Statechart Menu Utama
Gambar 3.9 Statechart Menu Utama
61
3.4.2.2 Statechart Form Menghitung Nilai Eigen
Gambar 3.10 Statechart Form Menghitung Nilai Eigen
3.4.2.3 Statechart Form Operasi Pangkat Matriks
Gambar 3.11 Statechart Form Operasi Pangkat Matriks
62
3.4.2.4 Statechart Form Data Leslie
Gambar 3.12 Statechart Form Data Leslie
3.5 Perancangan Modul
Modul utama ini berisikan tiga menu pilihan yaitu menu Menghitung Nilai
Eigen, menu Operasi Pangkat Matriks, dan menu Data Leslie. Modul yang akan
digunakan adalah modul menu utama, modul Menghitung Nilai Eigen, modul Operasi
Pangkat Matriks, dan modul Data Leslie. Seluruh modul dibuat dengan menggunakan
bahasa pemrograman C#.
3.5.1 Modul Menu Utama
Modul Menu Utama ini berisikan tiga menu pilihan yaitu menu Menghitung
Nilai Eigen, menu Operasi Pangkat Matriks, dan menu Data Leslie. Pengguna dapat
memilih menu Menghitung Nilai Eigen dengan mengklik button
63
buttonMenghitungNilaiEigen untuk menghitung nilai eigen dan vektor eigen dari sebuah
matriks dan memilih menu Operasi Pangkat Matriks dengan mengklik button
buttonOperasiPangkatMatriks untuk menghitung pangkat bilangan bulat dari matriks
tertentu serta memilih menu Data Leslie dengan mengklik buttonDataLeslie untuk
menghitung data-data berkaitan dengan matriks Leslie. Pengguna juga dapat keluar dari
aplikasi dengan mengklik button buttonKeluar.
3.5.2 Modul Menghitung Nilai Eigen
Modul Menghitung Nilai Eigen adalah modul yang berguna untuk menghitung
nilai eigen dan vektor eigen dari matriks yang diinput. Modul ini akan menghasilkan
nilai eigen dan vektor eigen dengan menggunakan algoritma QR. Hasil perhitungan dari
modul ini juga dapat disimpan ke dalam file dengan format .txt. Modul ini hanya dapat
digunakan untuk input matriks di mana elemen-elemennya merupakan bilangan real.
Secara teknis, modul Menghitung Nilai Eigen dibagi ke dalam 3 tahapan yang
dapat dilihat pada Gambar 3.13.
Gambar 3.13 Tahapan perancangan Menghitung Nilai Eigen
64
Tahap-tahap tersebut adalah sebagai berikut:
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
3. Menghitung nilai dan vektor eigen
Modul Menghitung Nilai Eigen berisikan fungsi untuk meminta input matriks
kepada pengguna berupa teks baik dari file dengan format .txt, maupun dari textbox yang
disediakan di aplikasi. Fasilitas meng-input matriks dari file dapat digunakan untuk
mempermudah pengguna. Modul Menghitung Nilai Eigen ini membutuhkan beberapa
class C# yaitu:
1. Eigenvalue.cs
2. Hessenberg.cs
3. QRDecomposition.cs
4. Matrix.cs
Class Eigenvalue.cs merupakan class yang digunakan untuk mencari nilai eigen
dan vektor eigen. Dari dalam class Eigenvalue.cs, program akan memanggil class
Hessenberg.cs yang digunakan untuk mentransformasi matriks menjadi matriks
Hessenberg. Setelah matriks yang diubah menjadi matriks bentuk Hessenberg, kemudian
akan dilakukan dekomposisi QR berulang-ulang, yaitu dengan menggunakan class
QRDecomposition.cs. Sementara class Matrix.cs merupakan class yang berisi
representasi bentuk matriks.
65
3.5.3 Modul Operasi Pangkat Matriks
Modul Operasi Pangkat Matriks merupakan modul yang digunakan untuk
menghitung operasi pangkat bilangan bulat yang dikenakan pada suatu matriks dan
menghitung perkalian antara matriks tersebut dengan suatu vektor. Hasil dari
perhitungan modul ini juga dapat disimpan ke dalam file dengan format .txt. Modul ini
hanya bekerja bila pangkat yang dikenakan pada matriks tersebut berupa bilangan bulat
positif, dan seluruh elemen dari matriks dan vektor yang hendak dipangkatkan berupa
bilangan real.
Secara teknis, perhitungan pangkat suatu matriks dengan bilangan bulat dibagi
ke dalam 4 tahapan yang dapat dilihat pada Gambar 3.14.
Gambar 3.14 Tahapan perancangan Perhitungan Pangkat Matriks
66
Tahap-tahap tersebut adalah sebagai berikut:
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
3. Menghitung nilai dan vektor eigen
4. Menghitung pangkat matriks
Sedangkan perhitungan perkalian pangkat suatu matriks dengan suatu vektor
dapat dibagi menjadi tahap-tahap seperti pada Gambar 3.15.
Gambar 3.15 Tahapan perancangan Perkalian Pangkat Matriks dengan Vektor
Tahap-tahap tersebut adalah sebagai berikut.
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
3. Menghitung nilai eigen dan vektor eigen
4. Menghitung perkalian pangkat matriks dengan vektor
67
Modul Operasi Pangkat Matriks berisikan fungsi meminta input matriks kepada
pengguna berupa teks baik dari file dengan format .txt, atau dari textbox yang disediakan
di aplikasi. Modul ini juga meminta input berupa bilangan bulat positif yang akan
menjadi pangkat yang dikenakan pada matriks. akan menghitung hasil dari pangkat yang
dikenakan pada matriks. Selain itu, untuk proses perhitugan perkalian pangkat matriks
dengan vektor, modul meminta input berupa vektor. Modul Operasi Pangkat Matriks
membutuhkan beberapa class C#, antara lain:
1. MatrixPower.cs
2. MatrixPowerVector.cs
3. Eigenvalue.cs
4. Hessenberg.cs
5. QRDecomposition.cs
6. Matrix.cs
Class MatrixPower.cs merupakan class yang digunakan untuk mencari pangkat
dari suatu matriks. Class MatrixPowerVector.cs digunakan untuk menghitung perkalian
pangkat matriks dengan vektor. Dalam kedua class tersebut, program akan memanggil
class Eigenvalue.cs untuk mencari nilai eigen dan vektor eigen dari matriks yang di-
input.
3.5.4 Modul Data Leslie
Modul Data Leslie merupakan modul yang digunakan untuk menghitung data-
data yang berkaitan dengan model pertumbuhan Leslie dari sebuah matriks Leslie dan
juga sebuah vektor awal. Modul ini hanya dapat bekerja apabila seluruh elemen dari
matriks Leslie dan vektor awal merupakan bilangan real, dan memiliki banyak baris
yang sama. Hasil dari perhitungan data-data Leslie dapat disimpan ke dalam file .txt.
68
Secara teknis, perhitungan data Leslie membutuhkan 4 tahap seperti pada
Gambar 3.16.
Gambar 3.16. Tahapan perancangan Data Leslie
Modul Data Leslie ini berisikan fungsi untuk meminta input berupa matriks baik
dari file .txt, maupun dari textbox yang disediakan. Pengguna juga diminta untuk
memasukkan vektor awal dan batas error yang masih diperbolehkan melalui textbox
yang ada. Modul Data Leslie membutuhkan beberapa class C#, antara lain:
1. Leslie.cs
2. Eigenvalue.cs
3. Hessenberg.cs
4. QRDecomposition.cs
5. Matrix.cs
69
Class Leslie.cs merupakan class yang digunakan untuk menghitung data-data
Leslie. Di dalam class Leslie.cs program akan memanggil class Eigenvalue.cs untuk
menghitung nilai eigen dan vektor eigen dari matriks yang di-input.
3.6 Perancangan Aplikasi
3.6.1 Form Menu Utama
3.6.1.1 Rancangan Layar Form Menu Utama
Form ini adalah form utama pada program aplikasi EigenSolver. Form ini diberi
nama formMenuUtama. Form ini terdiri dari button buttonMenghitungNilaiEigen,
buttonOperasiPangkatMatriks, buttonDataLeslie dan buttonKeluar. Form ini juga
terdiri dari menu, yaitu menu Calculate, menu About, menu Help, dan menu Keluar.
Menu Calculate terdiri atas tiga sub menu, yaitu sub menu Menghitung Nilai Keluar, sub
menu Operasi Pangkat Matriks, sub menu Data Leslie. Berikut ini adalah rancangan
layar untuk formMenuUtama:
Gambar 3.17 Rancangan layar Form Menu Utama
70
3.6.2 Form Menghitung Nilai Eigen
3.6.2.1 Rancangan Layar Form Menghitung Nilai Eigen
Form ini diberi nama formMenghitungNilaiEigen. Terdapat tiga buah textbox,
yaitu textBoxInputMatriks untuk memberi nilai pada input matriks, textBoxBatasError
untuk memberi nilai pada batas error, dan textBoxHasil untuk menampilkan hasil nilai
dan vektor eigen. Pada form ini juga terdapat empat buah button, yaitu
buttonMasukkanMatriks untuk memasukkan matriks dari file, buttonHitungEigen untuk
menghitung nilai dan vektor eigen, buttonSimpanHasil untuk menyimpan teks pada
textBoxHasil ke dalam file, dan buttonKeluar untuk keluar ke menu utama. Berikut
adalah rancangan layar untuk formMenghitungNilaiEigen:
Gambar 3.18 Rancangan layar Form Menghitung Nilai Eigen
71
3.6.2.2 Spesifikasi Proses Form Menghitung Nilai Eigen
Proses ini digunakan untuk menghitung nilai eigen dan vektor eigen berdasarkan
input matriks dan batas error oleh pengguna. Tahap-tahap yang dilakukan adalah:
1. Mengubah matriks ke dalam bentuk Hessenberg
Mulai
Deklarasi konstanta dan variabel
matriksH adalah inputMatriks
matriksS diisi dengan matriks Identitas dengan ukuran sama dengan
inputMatriks
Untuk i kolom pertama sampai terakhir - 2 dalam matriks lakukan
Cari norm dari kolom matriks tersebut
Bentuk vektor u =
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
−=
⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜
⎝
⎛
matriksHelemen
normmatriksHelemen
u
u
u
n
k
_
_
01
M
M
M
M
Bentuk matriks TTi uuuu
IS 2−=
matriksH = matriks Si × matriksH × matriks Si
matriksS dinyatakan perkalian matriks Si dengan matriksS
Akhir untuk
Tutup dan buang semua objek variabel
Akhir
72
2. Faktorisasi matriks dengan algoritma QR
Mulai
Deklarasi konstanta dan variabel
matriksA dinyatakan inputMatriks
Untuk i kolom pertama sampai terakhir - 1 dalam matriks lakukan
Jika i bukan kolom pertama, matriksA dinyatakan perkalian
matriks Qi-1 dengan matriksA
norm dinyatakan hipotenusa dari elemen matriks dengan baris ke-
i kolom ke-i dengan elemen matriks baris ke-i+1 kolom
ke-i
Elemen ke-i vektor u dinyatakan selisih elemen matriksA baris
ke-i kolom ke-i dengan norm
Elemen ke-i+1 vektor u dinyatakan elemen matriksA baris ke-i+1
kolom ke-i
Elemen vektor u lainnya dinyatakan dengan 0
Bentuk matriks TTi uuuu
IQ 22−=
matriksQ dinyatakan matriksQ dikalikan dengan Qi
Akhir Untuk
matriksR dinyatakan matriksQ transpose dikalikan dengan inputMatriks
Tutup dan buang semua objek variabel
Akhir
73
3. Menghitung nilai dan vektor eigen
Mulai
Deklarasi konstanta dan variabel
Panggil Modul Hessenberg dengan masukan inputMatriks
matriksA dinyatakan matriksH hasil Hessenberg
matriksVektorEigen dinyatakan matriksS hasil Hessenberg
Lakukan
Panggil QRDecomposition dengan masukan matriksA
matriksA dinyatakan perkalian antara matriksR dengan matriksQ
hasil QRDecomposition
error dinyatakan penjumlahan tiap elemen di bawah diagonal
utama pada matriksA
matriksVektorEigen dinyatakan perkalian matriksVektorEigen
dengan matriksQ
Selama error > batas_error
nilaiEigen dinyatakan sebagai elemen diagonal utama pada matriksA
Tutup dan buang semua objek variabel
Akhir
3.6.3 Form Operasi Pangkat Matriks
3.6.3.1 Rancangan Layar Form Operasi Pangkat Matriks
Form Operasi Pangkat Matriks ini diberi nama formOperasiPangkatMatriks. Di
dalam form ini terdapat lima buah textbox, yaitu textBoxInputMatriks untuk memberi
nilai pada input matriks, textBoxInputVektor untuk memberi nilai pada input vektor,
74
textBoxBatasError untuk memberi nilai pada batas error, textBoxPangkat untuk
memberi nilai pada pangkat dan textBoxHasil untuk menampilkan hasil pangkat matriks
atau hasil perkalian pangkat matriks dengan vektor. Pada form ini juga terdapat lima
buah button, yaitu buttonMasukkanMatriks untuk memasukkan matriks dari file,
buttonHitungPangkat untuk menghitung pangkat matriks, buttonKalikanMatriks untuk
menghitung peralikan pangkat matriks dengan vektor, buttonSimpanHasil untuk
menyimpan teks pada textBoxHasil ke dalam file, dan buttonKeluar untuk keluar ke
menu utama. Berikut adalah rancangan layar formOperasiPangkatMatriks:
Gambar 3.19 Rancangan layar Form Operasi Pangkat Matriks
75
3.6.3.2 Spesifikasi Proses Form Operasi Pangkat Matriks
Proses ini digunakan untuk menghitung operasi pangkat matriks dan perkalian
pangkat matriks dengan vektor berdasarkan input matriks, input vektor, pangkat dan
batas error oleh pengguna. Tahap-tahap yang dilakukan pada perhitungan pangkat
matriks adalah:
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
3. Menghitung nilai dan vektor eigen
4. Menghitung pangkat matriks
Mulai
Deklarasi konstanta dan variabel
Panggil modul Eigenvalue
Bentuk matriksNilaiEigen dengan matriks diagonal yang elemennya
berupa nilai eigen dengan pangkat
matriksHasil dinyatakan perkalian matriksVektorEigen dengan
matriksNilaiEigen
matriksHasil dinyatakan perkalian matriksHasil dengan invers
matriksVektorEigen
Tutup dan buang semua objek variabel
Akhir
Sedangkan tahap-tahap yang dilakukan dalam perhitungan perkalian pangkat
matriks dengan vektor adalah:
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
76
3. Menghitung nilai eigen dan vektor eigen
4. Menghitung perkalian pangkat matriks dengan vektor
Mulai
Deklarasi konstanta dan variabel
Panggil modul Eigenvalue dengan masukan inputMatriks dan batasError
matriksBobot dinyatakan perkalian invers matriksVektorEigen dengan
inputVektor
elemen matriksA dinyatakan pangkat nilai eigen dengan elemen
matriksVektorEigen
matriksHasil dinyatakan perkalian matriksA dengan matriksBobot
Tutup dan buang semua objek variabel
Akhir
3.6.4 Form Data Leslie
3.6.4.1 Rancangan Layar Form Data Leslie
Form ini diberi nama formDataLeslie. Dalam form ini terdapat empat buah
textbox, yaitu textBoxInputMatriks untuk memberi nilai pada input matriks,
textBoxInputVektor untuk memberi nilai pada input vektor, textBoxBatasError untuk
memberi nilai pada batas error, dan textBoxHasil untuk menampilkan hasil data-data
Leslie. Pada form ini juga terdapat empat buah yaitu buttonMasukkanMatriks untuk
memasukkan matriks dari file, buttonHitungLeslie untuk menghitung data-data Leslie,
buttonSimpanHasil untuk menyimpan teks pada textBoxHasil ke dalam file, dan
buttonKeluar untuk keluar ke menu utama. Berikut adalah rancangan layar dari
formDataLeslie.
77
Gambar 3.20 Rancangan layar Form Data Leslie
3.6.4.2 Spesifikasi Proses Form Data Leslie
Proses ini digunakan untuk menghitung data-data yang berkaitan dengan model
pertumbuhan Leslie berdasarkan input matriks, input vektor, dan batas error oleh
pengguna. Tahap-tahap yang dilakukan adalah:
1. Mengubah matriks ke dalam bentuk Hessenberg
2. Faktorisasi matriks dengan algoritma QR
3. Menghitung nilai eigen dan vektor eigen
4. Menghitung data-data Leslie
Mulai
Deklarasi konstanta dan variabel
Panggil modul Eigenvalue dengan masukan inputMatriks dan batasError
78
Elemen vektorAwal dinyatakan pembagian elemen inputVektor yang
bersesuaian dengan penjumlahan seluruh elemen inputVektor
vektorSatuPeriode dinyatakan perkalian inputMatriks dengan vektorAwal
vektorPertumbuhan dinyatakan pengurangan vektorSatuPeriode dengan
vektorAwal
nilaiEigenDominan dinyatakan nilaiEigen dengan modulus terbesar
vektorStabil dinyatakan vektorEigen yang bersesuaian dengan
nilaiEigenDominan
Tutup dan buang semua objek variabel
Akhir