UNIVERSITAS BINA NUSANTARA
Program Studi Ganda Teknik Informatika – Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2005/2006
PERANCANGAN APLIKASI MENCARI NILAI EIGEN MENGGUNAKAN ALGORITMA QR DAN PENERAPANNYA PADA MODEL PERTUMBUHAN LESLIE Johan NIM : 0500588676
Abstrak
Permasalahan nilai eigen merupakan permasalahan bagaimana menghitung nilai eigen dan vektor eigen dari suatu matriks bujur sangkar. Sampai saat ini telah berkembang bermacam metode untuk menyelesaikan masalah nilai eigen ini secara numerik, karena secara analitik penghitungan nilai eigen untuk matriks berukuran besar ( n > 4 ) adalah tidak mungkin. Masalah dinamika populasi banyak dipengaruhi oleh penghitungan nilai eigen, yaitu untuk tingkat pertumbuhan populasi ataupun untuk proyeksi ukuran populasi untuk beberapa periode ke depan. Pada penulisan ini, penghitungan nilai eigen dan vektor eigen akan diterapkan pada masalah dinamika populasi yaitu pada model pertumbuhan Leslie. Adapun algoritma yang akan digunakan adalah algoritma QR dengan Hessenberg. Yaitu dengan mengubah matriks menjadi bentuk Hessenberg dengan transformasi householder, lalu kemudian dari hasilnya dilakukan algoritma QR untuk mencari nilai eigen dan vektor eigennya. Dari nilai eigen dan vektor eigen sebuah matriks, dapat dihitung pangkat dari matriks, dan juga data-data yang berkaitan dengan matriks Leslie. Dari perancangan ini memperlihatkan hasil yang cukup baik dengan error yang cukup kecil dan dengan waktu yang relatif cepat.
Kata Kunci : nilai eigen, vektor eigen, model pertumbuhan Leslie, algoritma QR, matriks Hessenberg.
v
PRAKATA Puji syukur kepada Tuhan Yang Maha Esa, karena atas karunia dan penyertaan – Nya sehingga penulis dapat menyusun dan menyelesaikan skripsi ini dengan lancar dan tepat pada waktunya. Skripsi ini disusun sebagai syarat untuk memperoleh gelar kesarjanaan pada Program Studi Ganda, Jurusan Teknik Informatika – Matematika, Jenjang Pendidikan Strata 1. Dalam menyelesaikan tugas skripsi ini, penulis juga mengucapkan terima kasih kepada: 1. Prof. Dr. Drs. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara, Jakarta. 2. Wikaria Gazali, S.Si, M.T., selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam (MIPA) Universitas Bina Nusantara, Jakarta. 3. Ngarap Imanuel Manik, Drs., M.Kom., selaku Kepala Jurusan Matematika/Statistika Universitas Bina Nusantara, Jakarta. 4. Rojali, S.Si., selaku Sekretaris Jurusan Matematika/Statistika Universitas Bina Nusantara, Jakarta. 5. Sangadji, Drs., M.Sc., Ph.D dan Djunaidy Santoso, Dipl.Ing., M.Kom. selaku dosen pembimbing yang telah membimbing dengan penuh kesabaran dan juga telah mengorbankan waktunya untuk memberikan bimbingan, dukungan, saran maupun kritik selama penyusunan skripsi. 6. Bapak/Ibu dosen Universitas Bina Nusantara yang tidak dapat disebutkan satu per satu dimana telah memberikan berbagai ilmu yang berguna untuk bekal hidup penulis kelak. 7. Orang tua dan keluarga yang tiada hentinya memberikan dukungan baik moril dan materil serta atas doa yang ditujukan demi kesuksesan pendidikan penulis. 8. Teman-teman yang banyak memberikan masukan, dukungan, kritik dan saran yang penulis butuhkan. Kiranya skripsi ini bermanfaat bagi para pembaca dan pihak-pihak yang membutuhkan. Dengan tangan terbuka, penulis menerima kritik dan saran agar tulisan ini dapat menjadi lebih berguna dan berkualitas. Terima kasih. Jakarta, Januari 2006
Penulis
vi
DAFTAR ISI Halaman v vi
Abstrak Prakata Daftar Tabel Daftar Gambar
ix x
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Rumusan Rancangan 1.3 Spesifikasi Rancangan 1.4 Ruang Lingkup Masalah 1.5 Tujuan Rancangan 1.6 Manfaat Rancangan
1 1 3 3 3 3 4
BAB 2 LANDASAN TEORI 2.1 Matriks 2.1.1 Pengertian Matriks 2.1.2 Ukuran dan Bentuk Matriks 2.1.3 Jenis Matriks dan Operasi Aljabar pada Matriks 2.1.4 Determinan 2.1.5 Cara Mencari Invers Matriks 2.2 Nilai Eigen dan Vektor Eigen 2.2.1 Definisi 2.2.2 Cara Menghitung Nilai Eigen dan Vektor Eigen 2.3 Metode Power 2.4 Metode QR 2.5 Metode QR dengan Hessenberg 2.6 Dinamika Populasi 2.7 Model Pertumbuhan Leslie 2.8 Analisis Nilai Eigen terhadap Model Pertumbuhan Leslie 2.9 Rekayasa Piranti Lunak 2.9.1 Definisi Rekayasa Piranti Lunak 2.9.2 Model Rekayasa Piranti Lunak 2.10 UML (Unified Modelling Language)
5 5 5 6 7 17 20 21 21 22 27 27 34 35 35 38 40 40 42 44
BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Permasalahan 3.2 Solusi Permasalahan 3.3 Analisis dan Perancangan Proses 3.3.1 Use Case Diagram 3.3.2 Class Diagram 3.4 Perancangan Menu
50 50 51 51 51 59 60
vii
3.4.1 Hierarki Menu 3.4.2 Statechart Diagram 3.4.2.1 Statechart Menu Utama 3.4.2.2 Statechart Form Menghitung Nilai Eigen 3.4.2.3 Statechart Form Operasi Pangkat Matriks 3.4.2.4 Statechart Form Data Leslie 3.5 Perancangan Modul 3.5.1 Modul Menu Utama 3.5.2 Modul Menghitung Nilai Eigen 3.5.3 Modul Operasi Pangkat Matriks 3.5.4 Modul Data Leslie 3.6 Perancangan Aplikasi 3.6.1 Form Menu Utama 3.6.1.1 Rancangan Layar Form Menu Utama 3.6.2 Form Menghitung Nilai Eigen 3.6.2.1 Rancangan Layar Form Menghitung Nilai Eigen 3.6.2.2 Spesifikasi Proses Form Menghitung Nilai Eigen 3.6.3 Form Operasi Pangkat Matriks 3.6.3.1 Rancangan Layar Form Operasi Pangkat Matriks 3.6.3.2 Spesifikasi Proses Form Operasi Pangkat Matriks 3.6.4 Form Data Leslie 3.6.4.1 Rancangan Layar Form Data Leslie 3.6.4.2 Spesifikasi Proses Form Data Leslie
60 60 60 61 61 62 62 62 63 65 67 69 69 69 70 70 71 73 73 75 76 76 77
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Spesifikasi Kebutuhan Perangkat Keras dan Lunak 4.1.2 Cara Penggunaan Aplikasi 4.1.2.1 Form Menghitung Nilai Eigen 4.1.2.2 Form Operasi Pangkat Matriks 4.1.2.3 Form Data Leslie 4.1.2.4 Form About 4.1.2.5 Form Help 4.2 Evaluasi
79 79 79 79 81 83 87 91 91 92
BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 5.2 Saran DAFTAR PUSTAKA RIWAYAT HIDUP
97 97 97 98 100
viii
DAFTAR TABEL Tabel 2.1 Tabel notasi activity diagram Tabel 4.1 Tingkat kesuburan dan tingkat bertahan hidup biri-biri Tabel 4.2 Evaluasi formMenghitungNilaiEigen untuk matriks berukuran 3 × 3 Tabel 4.3 Evaluasi formMenghitungNilaiEigen untuk matriks berukuran 4 × 4 Tabel 4.4 Evaluasi formMenghitungNilaiEigen untuk matriks berukuran 5 × 5 Tabel 4.5 Evaluasi formMenghitungNilaiEigen untuk matriks berukuran 6 × 6 Tabel 4.6 Evaluasi Hitung Pangkat Matriks untuk matriks berukuran 3 × 3 Tabel 4.7 Evaluasi Hitung Pangkat Matriks untuk matriks berukuran 4 × 4 Tabel 4.8 Evaluasi Hitung Pangkat Matriks untuk matriks berukuran 5 × 5 Tabel 4.9 Evaluasi Hitung Pangkat Matriks untuk matriks berukuran 6 × 6 Tabel 4.10 Evaluasi Kalikan Pangkat Matriks dengan Vektor
ix
48 88 93 93 93 93 94 94 94 94 95
DAFTAR GAMBAR Gambar 2.1 Flowchart algritma QR Gambar 2.2 Lapisan-lapisan rekayasa piranti lunak Gambar 2.3 Model sekuensial linear Gambar 2.4 Notasi class Gambar 2.5 Contoh multiplicity Gambar 2.6 Contoh aggregation Gambar 2.7 Notasi actor Gambar 2.8 Notasi use case Gambar 2.9 Contoh include relationship Gambar 2.10 Contoh extend relationship Gambar 3.1 Use Case aplikasi Gambar 3.2 Activity Diagram Menghitung Nilai Eigen Gambar 3.3 Activity Diagram Operasi Pangkat Matriks Gambar 3.4 Activity Diagram Data Leslie Gambar 3.5 Activity Diagram Masukkan Matriks dari File Gambar 3.6 Activity Diagram Simpan ke File Gambar 3.7 Class Diagram aplikasi Gambar 3.8 Hierarki menu aplikasi Gambar 3.9 Statechart Menu Utama Gambar 3.10 Statechart Form Menghitung Nilai Eigen Gambar 3.11 Statechart Form Operasi Pangkat Matriks Gambar 3.12 Statechart Form Data Leslie Gambar 3.13 Tahapan perancangan Menghitung Nilai Eigen Gambar 3.14 Tahapan perancangan Perhitungan Pangkat Matriks Gambar 3.15 Tahapan perancangan Perkalian Pangkat Matriks dengan Vektor Gambar 3.16 Tahapan perancangan Data Leslie Gambar 3.17 Rancangan layar Form Menu Utama Gambar 3.18 Rancangan layar Form Menghitung Nilai Eigen Gambar 3.19 Rancangan layar Form Opearsi Pangkat Matriks Gambar 3.20 Rancangan layar Form Data Leslie Gambar 4.1 Tampilan layar Menu Utama Gambar 4.2 Tampilan layar formMenghitungNilaiEigen Gambar 4.3 Contoh hasil Hitung Nilai dan Vektor Eigen Gambar 4.4 Tampilan layar formMenghitungNilaiEigen yang telah diisi Gambar 4.5 Tampilan Layar formOperasiPangkatMatriks Gambar 4.6 Contoh hasil Hitung Pangkat Matriks Gambar 4.7 Contoh hasil Kalikan Matriks dan Vektor Gambar 4.8 Tampilan layar formOperasiPangkatMatriks yang telah diisi Gambar 4.9 Tampilan layar formDataLeslie Gambar 4.10 Contoh hasil Hitung Data-data Leslie Gambar 4.11 Tampilan layar formDataLeslie yang telah diisi Gambar 4.12 Tampilan layar formAbout Gambar 4.13 Tampilan layar formHelp
x
33 41 42 45 45 46 46 47 47 48 51 53 55 57 58 58 59 60 60 61 61 62 63 65 66 68 69 70 74 77 80 81 82 83 84 85 86 86 87 90 90 91 92