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 User
Sistem EigenSolver
Pilih menu ‘Menghitung Nilai Eigen’
Menampilkan halaman ‘Menghitung Nilai Eigen’
Klik ‘Masukkan Matriks dari File’
Tampilkan dialog Pilih File
Memasukkan nilai input matriks dan batas error
Klik ‘Hitung Nilai dan Vektor Eigen’
Validasi input matriks dan batas error [tidak valid]
Menampilkan Pesan Kesalahan
[valid] Klik ‘Simpan Hasil’
Menampilkan hasil nilai dan vektor eigen
Tampilkan dialog Simpan ke File
Klik ‘Keluar ke Menu Utama’’
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 diinput. 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 0 ⎛ u1 ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ M ⎜ M ⎟ ⎜ ⎟ ⎟ ⎜ ⎜ Bentuk vektor u = u k = elemen _ matriksH − norm ⎟ ⎜ ⎟ ⎜ ⎟ M ⎜ M ⎟ ⎜ ⎟ ⎜u ⎟ ⎜ ⎟ elemen _ matriksH ⎠ ⎝ n⎠ ⎝
Bentuk matriks S i = I −
2 uu T T u u
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 kei 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 Qi = I −
2 2uu T T u u
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
nilaiEigenDominan Tutup dan buang semua objek variabel Akhir
yang
bersesuaian
dengan