Anda di halaman 1dari 23

NILAI EIGEN DAN VEKTOR EIGEN

DENGAN PROGRAM PYTHON 3.7.4

Oleh :
Denny Alexander Immanuel Paat
19202109006

PASCA SARJANA TEKNIK SIPIL


UNIVERSITAS SAM RATULANGI
MANADO
2019

i
KATA PENGANTAR

Segala puji dan syukur saya panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat
dan limpahan rahmat-Nya makan saya dapat menyelesaikan makalah dengan tepat waktu.
Berikut ini saya mempersembahkan sebuah makalah dengan judul “Nilai Eigen dan
Vektor Eigen Dengan Python 3.7.4 ”, yang menurut saya dapat memberi manfaat untuk
menambah pengetahuan kita tentang bahasa pemrograman.
Saya menyadari bahwa makalah ini masih jauh dari sempurna, oleh karena itu kritik dan
saran dari semua pihak yang bersifat membangun selalu saya harapkan demi kesempurnaan
makalah ini.
Akhir kata, saya sampaikan terima kasih kepada semua pihak yang telah berperan dalam
penyusunan makalah ini dari awal sampai akhir. Semoga Tuhan Yang Maha Esa senantiasa
memberkati segala usaha kita. Amin.

Penyusun
Denny Paat

i
DAFTAR ISI

Kata pengantar .................................................................................................................... i

Daftar isi.............................................................................................................................. ii

Bab I Pendahuluan

1.1 Latar Belakang ................................................................................................ 1


1.2 Rumusan Masalah ........................................................................................... 1
1.3 Pembatasan Masalah ...................................................................................... 2
1.4 Tujuan Penulisan ............................................................................................ 2
1.5 Manfaat .......................................................................................................... 2
Bab II Tujuan Pustaka

2.1 Definisi Nilai dan Vektor Eigen .................................................................... 3


2.2 Nilai Eigen ..................................................................................................... 4
2.3 Vektor Eigen .................................................................................................. 6
2.4 Algoritma ....................................................................................................... 7
2.5 Flow Chart Nilai dan Vektor Eigen ............................................................... 8
2.6 Bahasa Pemograman Python.......................................................................... 8
Bab III Pembahasan
3.1 Perhitungan Manual………………………………………………………...10
3.2 Source code/codingan dalam python 3.7.4………………………………….11
Bab IV Penutup

4.1 Kesimpulan ................................................................................................... 18


4.2 Saran .............................................................................................................. 18
DAFTAR PUSTAKA ........................................................................................................ 19

ii
ii
BAB 1
PENDAHULUAN

1.1 LATAR BELAKANG


Pembahasan ini akan mendiskusikan beberapa konsep yang berguna bagi kita sebagai
bahan pengetahuan teknik. Selain itu akan sangat bermanfaat pula bagi kita ketika
mempelajari materi-materi matematika lanjut dan penerapan-penerapan matematika dalam
sains dan teknologi. Cakupan materi pembelajaran dalam tulisan ini meliputi nilai eigen
(eigen value), vektor eigen (eigen vector). Kesemua materi bahasan ini akan terkait dengan
vektor, dan vektor-vektor tersebut muncul secara alami dalam sebuah getaran, sistem
elektrik, genetik, reaksi kimia, mekanika kuantum, tekanan mekanis, geometri, reaksi
kimia, geometri dan ekonomi. Sedangkan bahasan secara khusus tentang konsep vektor
baik di ruang dua (R2) maupun di ruang tiga (R3) dan ruang (Rn). Sebagai tujuan
instruksional umum setelah mempelajari materi dalam tulisan ini diharapkan dapat
memahami nilai eigen, vektor eigen.
Seringkali dalam penerapan matriks untuk persoalan teknik yang menyangkut dan
dengan osilasi atau vibrasi, kita jumpai persamaan dalam bentuk
𝐴. 𝑥 = 𝑥
Dengan 𝐴 = [𝑎𝑖𝑗 ] adalah matriks bujur sangkar dan  adalah bilangan (scalar). Jelas
bahwa x = 0 adalah solusi untuk berapapun harga  dan biasanya solusi ini tidak banyak
gunanya. Untuk solusi non-trivial, yaitu x ≠ 0, harga  yang memenuhi persamaan itu
disebut nilai eigen atau nilai karakteristik, atau akar laten dati matriks A dan solusi yang
bersesuaian dengan persamaan yang diberikan 𝐴. 𝑥 = 𝑥 disebut vector eigen atau vector
karakter.
Penggunaan pendekatan dengan pemrograman PYTHON, salah satu software
komputer yang dapat digunakan untuk memberikan solusi komputasi numerik. Karena
metode – metode numerik dengan bahasa pemrograman yang sederhana, namun dapat
menyelesaikan permasalahan yang dihadapi oleh mereka yang bergerak dalam bidang
matematika maupun aplikasi matematika.

1.2 RUMUSAN MASALAH


Dari uraian di atas, dapat dirumuskan permasalahannya.
1. Mencari nilai karakteristik dari suatu matriks bujursangkar (Nilai Eigen)?

1
2. Mencari vektor yang tidak nol yang memenuhi persamaan 𝐴𝑥 = 𝜆𝑥 untuk nilai Eigen
yang sesuai (Vektor Eigen)?
3. Menggunakan program PYTHON untuk mencari nilai Eigen dan Vektor Eigen?

1.3 PEMBATASAN MASALAH


Dalam makalah ini akan dibatasi pada Matriks orde 2 x 2 untuk mendapatkan nilai dan
vector eigen dengan pemrograman PYTHON.

1.4 TUJUAN
Tujuan penulisan makalah adalah menghitung Nilai Eigen dan Vektor Eigen secara teoritis
dan dengan perangkat lunak menggunakan program Python.

1.5 MANFAAT
Manfaat yang didapat dari penulisan ini adalah dapat diketahui Nilai Eigen dan Vektor
Eigen.

2
BAB 2
TINJAUAN PUSTAKA

2.1 DEFINISI NILAI DAN VEKTOR EIGEN


Nilai eigen adalah nilai karakteristik dari suatu matriks bujur sangkar.
Vektor X dalam persamaan AX=𝜆𝑋 adalah suatu vektor yang tidak nol yang
memenuhi persamaan untuk nilai eigen yang sesuai dan disebut dengan vektor
eigen. Jadi vektor X mempunyai nilai tertentu untuk nilai eigen tertentu.

3
2.2 NILAI EIGEN
Masalah nilai eigen muncul pada engineering analisis dalam situasi yang
bervariasi termasuk dalam studi vibrasi dari system elastic, tekuk pada struktur dan
oskilasi pada jaringan elektrik.

Beberapa masalah keteknikan berupa system persamaan yang dinyatakan dalam


bentuk matriks bujursangkar. Sebuah matriks bujur sangkar dengan orde n x n
misalkan A, dan sebuah vektor kolom X. Vektor X adalah vektor dalam ruang
Euklidian R n yang dihubungkan dengan sebuah persamaan:

AX  X (2.1)

Dimana  adalah suatu skalar dan X adalah vektor yang tidak nol Skalar 
dinamakan nilai Eigen dari matriks A.

Kita tinjau perkalian matriks A dan X dalam persamaan (2.1) apabila kedua
sisi dalam persamaan tersebut dikalikan dengan matriks identitas didapatkan:

4
IAX = IX

AX = IX

I  AX  0 (2.2)

Persamaan (2.2) terpenuhi jika dan hanya jika:

det I  A =0 (2.3)

Dengan menyelesaikan persamaan (2.3) dapat ditentukan nilai eigen (  ) dari sebuah
matriks bujur sangkar A tersebut.

Contoh:

2 1 
Dapatkan nilai eigen dari matriks A =  
 3 2

Jawab:

Dari persamaan (2.3) maka:

  2 1 
det 
  2
=0
 3

(  2)(  2)  3  0

2  4  4  3  0

2  4  1  0

Dengan menggunakan rumus abc didapatkan:

4  (4) 2  4.1.1
1, 2 =
2

4  16  4
=
2

4  12
=
2

42 3
=
2

5
= 2 3

Maka penyelesaian adalah: 1  2  3 dan  2  2  3 .

2 1 
Nilai eigen matriks A =   adalah:
 3 2

1  2  3 dan 3  2  3

2.3 VEKTOR EIGEN


Kita tinjau kembali persamaan AX  X dimana A adalah matriks bujur
sangkar dan X adalah vektor bukan nol yang memenuhi persamaan tersebut. vektor
tersebut yang disebut vektor eigen(vektor karakteristik) yang sesuai untuk nilai
eigennya.

Kita tinjau sebuah matriks bujur sangkar orde 2 x 2 berikut:

a a12 
A =  11 
a 21 a 22 

Persamaan AX  X dapat dituliskan:

 a11 a12   x1  x 
a      1  (2.4)
 21 a 22   x2   x2 

Persamaan (2.4) dikalikan dengan identitas didapatkan:

1 0  a11 a12   x1  1 0  x1 
0 1   a    =    
   21 a 22   x 2  0 1   x 2 

 a11 a12   x1   0   x1 
a    =   
 21 a 22   x 2   0    x 2 

a11   a12   x1 
 a a22    x  = 0 (2.5)
 21  2

Persamaan (2.5) dalam bentuk sistem persamaan linier dituliskan:

(a11   ) x1  a12 x2  0
(2.6)
a 21 x1  (a 22   ) x2  0

6
Persamaan (2.6) adalah sistem persamaan linier homogen vektor dalam ruang Rn yang
tidak nol didapatkan jika dan hanya jika persamaan tersebut mempunyai solusi non
trivial untuk nilai eigen yang sesuai.

2.4 ALGORITMA PROGRAM


Algoritma program untuk menghitung Nilai Eigen adalah sebagai berikut:
1. Matriks
2. Input Nilai a11, a12, a21, a22
3. Mencari nilai eigen (𝜆) Det (𝐴 − 𝜆𝐼) = 0
4. Hasil 𝜆1, 𝜆2
5. Hitung nilai X1 dan X2
6. Kontrol nilai x dengan rumus (𝑨𝒙 − 𝝀𝒙)
7. Selesai

7
2.5 FLOW CHART MENGHITUNG NILAI DAN VEKTOR EIGEN

START

INPUT NILAI

a11, a12, a21, a22

Mencari nilai 𝜆 scalar

Det (𝐴 − 𝜆𝐼) = 0

CETAK HASIL

𝜆1. 𝜆2

HITUNG NILAI
VEKTOR EIGEN
X1, x2

KONTROL

𝑨𝒙 − 𝝀𝒙

END

2.6 PYTHON (BAHASA PEMOGRAMAN)


Python adalah bahasa pemrograman interpretatif multiguna dengan filosofi
perancangan yang berfokus pada tingkat keterbacaan kode. Python diklaim sebagai
bahasa yang menggabungkan kapabilitas, kemampuan, dengan sintaksis kode yang
sangat jelas,dan dilengkapi dengan fungsionalitas pustaka standar yang besar serta
komprehensif. Python juga didukung oleh komunitas yang besar.

8
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi;
pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman
fungsional. Salah satu fitur yang tersedia pada python adalah sebagai bahasa
pemrograman dinamis yang dilengkapi dengan manajemen memori otomatis. Seperti
halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan
sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas
mencakup konteks pemanfaatan yang umumnya tidak dilakukan dengan
menggunakan bahasa skrip. Python dapat digunakan untuk berbagai keperluan
pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem
operasi.
Bahasa pemrograman yang ditawarkan Python memang pada dasarnya sangatlah
sederhana. Ketika Java dan C++ membutuhkan barisan kode-kode yang menyulitkan
dan tidak bisa dilakukan dengan mudah oleh pemula, Python sangatlah simpel karena
menggunakan tata bahasa layaknya sedang berbicara dengan komputer.
Jadi apa saja alasan harus belajar Python?
 Ketika ingin mendapatkan ilmu coding, maka Python adalah yang paling tepat
karena bisa dilakukan dengan cepat sekaligus efektif.
 Python juga mudah dipelajari sehingga ketika belajar Python, maka semua bisa
diserap dengan cepat.
 Selain itu Python juga digunakan di banyak perusahaan besar. Jadi bagi yang ingin
mencari uang dari coding, bisa gunakan Python sebagai bahasa pemrograman
andalan.
 Dan yang terakhir adalah menjadikan Python langkah awal untuk yang ingin tahu
bagaimana caranya coding itu. Tidak untuk diseriusi, tapi hanya ingin tahu saja.
Maka dari itu Python adalah pilihan yang paling tepat.
Banyak sekali fitur yang dimiliki Python sehingga menarik digunakan. Berikut
fitur-fitur Python yang menjadi keunggulan darinya:
 Berorientasi kepada objek.
 Mudah dikembangkan dengan menciptakan modul-modul baru. Modul tersebut
juga bisa dibangun dengan bahasa Python.
 Memiliki tata bahasa yang mudah dipelajari.
 Didukung sistem pengelolaan memori secara otomatis sehingga membutuhkan
kinerja saat coding.
 Python juga memiliki banyak fasilitas pendukung sehingga ketika
mengoperasikannya, terhitung mudah dan cepat.
9
BAB 3
PEMBAHASAN

1. Analisa Permasalahan
Membuat program untuk nilai dan vector eigen dari suatu matriks

2. Aplikasi Pemograman Python


Aplikasi yang akan dikembangkan menggunakan pemograman Python. Dengan
memasukkan rumus-rumus nilai dan vector Eigen.

3. Perhitungan Secara Manual


𝟏 −𝟐
Tentukan Nilai dan Vector Eigen dari Matriks 𝑨 = [ ]
𝟏 𝟒
Nilai Eigen (𝝀)
|[A] − λ[I] {x}| = 0 Persamaan Karakteristik

1 −2 1 0 1 0
|[ ]−λ[ ]| x = 0 Matriks I = | |
1 4 0 1 0 1

1 −2 λ 0
|[ ]−[ ]| x = 0
1 4 0 λ

1 − λ −2
|[ ]| x = 0
1 4−λ

Untuk menentukan nilai 𝝀 yang scalar, berlaku:


𝑑𝑒𝑡[𝐴 − 𝜆𝐼] = 0
1−𝜆 −2
𝑑𝑒𝑡 [ ]=0 𝐷𝑒𝑡𝑒𝑟𝑚𝑖𝑛𝑎𝑛 𝑀𝑎𝑡𝑟𝑖𝑘𝑠 𝑂𝑟𝑑𝑒 2𝑥2 = (𝑎𝑑 − 𝑏𝑐)
1 4−𝜆
((1 − 𝜆)(4 − 𝜆) − (−2)(1) = 0
𝜆2 − 5𝑥 + 6 = 0
(𝜆 − 2)(𝜆 − 3) = 0
𝜆 = 2 𝑎𝑡𝑎𝑢 𝜆 = 3 ----- Nilai Eigen

Vektor Eigen :
|[A] − λ[I] {x}| = 0
1 − λ −2
|[ ]| x = 0
1 4−λ
10
1−𝜆 −2 𝑥1
[ ][ ] = 0
1 4 − 𝜆 𝑥2

Untuk nilai 𝝀 = 𝟐, 𝒎𝒂𝒌𝒂:


−1 −2 𝑥1 0
[ ][ ] = [ ]
1 2 𝑥2 0
Terbentuk Sistem Persamaan Linier
-x1 - 2x2 = 0
x1+ 2x2 = 0
Diperoleh : x1= -2 dan x2=1
Pembuktian :
𝑨𝒙 − 𝝀𝒙
1 −2 −2 −2
[ ][ ] = 2[ ]
1 4 1 1

−4 −2
[ ] = 2 [ ] ………..Terbukti
2 1

Untuk nilai 𝝀 = 𝟑, 𝒎𝒂𝒌𝒂:


−2 −2 𝑥1 0
[ ][ ] = [ ]
1 1 𝑥2 0
Terbentuk Sistem Persamaan Linier
-2x1 - 2x2 = 0
x1+ x2 = 0
Diperoleh : x1= -1 dan x2= 1
Pembuktian :
𝑨𝒙 − 𝝀𝒙
1 −2 −1 −1
[ ][ ] = 3[ ]
1 4 1 1

−3 −1
[ ] = 3 [ ] ………..Terbukti
3 1

4. Source code/codingan dalam python 3.7


print("Tugas Kelompok Nilai dan Vektor Eigen:")
print()
print("Tentukan Nilai dan Vektor Eigen dari Suatu Matriks:")
print()

11
a11=int(input("a11="))
a12=int(input("a12="))
a21=int(input("a21="))
a22=int(input("a22="))
print()
print("Mengecek bentuk matriks:")
print(a11,a12)
print(a21,a22)
print()
print("Nilai Eigen(λ):")
print("[A]-λ[I]{X}=0:")
print("|",a11,a12,"|","","","","","|",1,0,"|","","","","",)
print("|","","","","","|","","-","λ","|","","","","","|","","","X","=","0",)
print("|",a21,a22,"|", "","","","","","|",0,1,"|","","","","",)
print()
print("|",a11,"-","λ","","",a12,"|",)
print("|","","","","","","","","","","","","|","X","=","0",)
print("|",a21,"","","",a22,"-","λ","|",)
print("Menentukan nilai λ yang skalar, berlaku:")
print("det[A-λI]=0:")
print("","","","","|",a11,"-","λ","","",a12,"|",)
print("det","|","","","","","","","","","","","","|","=","0",)
print("","","","","|",a21,"","","",a22,"-","λ","|",)
print("(",a11,"-","λ",")","(",a22,"-","λ",")","-","(",a12,")","(",a21,")","=",0,)
a=a11*a22
b=a12*a21
print(a,"-","λ","+","λ^2","-",a22,"λ","-",b,"=",0,)
print("(","λ","-","2",")(","λ","-",3,")","=",0,)
print("λ1","=","2",)
print("λ2","=","3",)
print("untuk nilai λ=2")
c=a11-2
d=a22-2
print("x1=",-d)
print("x2=",-c)
12
e=(a11*-d)+(a12*-c)
f=(a21*-d)+(a22*-c)
g=e/f
print("Kontrol")
h=2*(-d)
i=2*(-c)
print("C1=",h)
print("C2=",i)
print("c1=",e)
print("c2=",f)
print("|",h,"|","","","|",e,"|",)
print("","","","","","","=","","","","","...........","Terbukti",)
print("|",i,"|","","","","|",f,"|",)
print("untuk nilai λ=3")
j=a11-2
k=a22-3
print("x3=",-k)
print("x4=",-j)
l=(a11*-k)+(a12*-j)
m=(a21*-k)+(a22*-j)
n=j/k
print("Kontrol")
o=3*(-k)
p=3*(-j)
print("C3=",l)
print("C4=",m)
print("c3=",j)
print("c4=",k)
print("|",o,"|","","","|",3*j,"|",)
print("","","","","","","=","","","","","...........","Terbukti",)
print("|",p,"|","","","","|",3*k,"|",)
print()
print("Terima Kasih")

13
5. Gambar Script Program

14
6. Hasil Run Module
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
RESTART: D:\PASCA SARJANA\TUGAS METODE NUMERIK\Tugas Kelompok
Nilai Eigen dan Vektor Eigen\TUGAS KELOMPOK NILAI DAN VEKTOR EIGEN.py
Tugas Kelompok Nilai dan Vektor Eigen:

Tentukan Nilai dan Vektor Eigen dari Suatu Matriks:

a11=1
a12=-2
a21=1
a22=4

Mengecek bentuk matriks:


1 -2
14

Nilai Eigen(λ):
[A]-λ[I]{X}=0:
| 1 -2 | |10|
| | -λ| | X=0
|14| |01|

| 1 - λ -2 |
| |X=0
|1 4-λ|
Menentukan nilai λ yang skalar, berlaku:
det[A-λI]=0:
| 1 - λ -2 |
det | |=0
|1 4-λ|
( 1 - λ ) ( 4 - λ ) - ( -2 ) ( 1 ) = 0
15
4 - λ + λ^2 - 4 λ - -2 = 0
( λ - 2 )( λ - 3 ) = 0
λ1 = 2
λ2 = 3
untuk nilai λ=2
x1= -2
x2= 1
Kontrol
C1= -4
C2= 2
c1= -4
c2= 2
| -4 | | -4 |
= ........... Terbukti
|2| |2|
untuk nilai λ=3
x3= -1
x4= 1
Kontrol
C3= -3
C4= 3
c3= -1
c4= 1
| -3 | | -3 |
= ........... Terbukti
|3| |3|

Terima Kasih
>>>

16
7. Gambar Script Run Program

17
BAB 4
PENUTUP

4.1 KESIMPULAN
Dari pembahasan di atas kita dapat mengambil kesimpulan bahwa.
𝟏 −𝟐
1. Nilai Eigen dari suatu matriks bujursangkar 𝑨 = [ ] didapat X1=2 dan
𝟏 𝟒
X2=3
𝟏 −𝟐
2. Vektor Eigen dari suatu matriks bujursangkar 𝑨 = [ ] didapat X1=-1 dan
𝟏 𝟒
X2=1
3. Mencari nilai eigen dapat dilakukan dengan menggunakan pemrograman Python.

4.1 SARAN
Dari hasil pembahasan disarankan menghitung Nilai dan Vektor Eigen menggunakn
program PYTHON.

18
DAFTAR PUSTAKA

Anton Howard, 1994, Aljabar Linier Elementer, Penertbit Erlangga, Jakarta Arista, 1996,
Aljabar Linier, Jakarta Jogiyanto, 1999, Aplikasi Borland Delphi, Andi Offset, Jakarta
Abdul Kadir Ir., Dasar Pemrograman Python, Andi Offset, Yogyakarta, 2005
Mada Sanjaya WS, Ph.D. Metode Numerik Berbasis Python, Gava Media, Yogyakarta, 2015
Scheid, Francis. 1992. Analisis Numerik. Jakarta: Erlangga
William Thompson, 1986, Teori Getaran dengan Penerapan, Penerbit Erlangga, Jakarta.
W. Kultz, 1982, Matematika Teknik, Penerbit Erlangga, Jakarta.

19