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
iii
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
A . x=x
Dengan A=[ aij ] 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 A . x=x 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 Ax=λx 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=λX 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
n
Euklidian R 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:

Dapatkan nilai eigen dari matriks A =


[32 12 ]
Jawab:

Dari persamaan (2.3) maka:

λ−2 1
det
[ 3 λ−2 ] =0

( λ−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 .

Nilai eigen matriks A =


[32 12 ] adalah:

λ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:

a11 a12

A=
[ a21 a22 ]
Persamaan AX =λX dapat dituliskan:

a11 a12 x1 x
[ a21 a22 ] [] [] x2
=λ 1
x2
(2.4)

Persamaan (2.4) dikalikan dengan identitas didapatkan:

1 0 a11 a12 x1 x1
λ1 0
[ ] [
0 1 a21 a22 ] [] x2
= 0 1[ ] [] x2

a11 a12 x1 λ 0 x1
[ a21 a22 ] [] [ ] []x2
= 0 λ
x2

a11 −λ a12 x1
[ a 21 a 22−λ ] [] x2
=0 (2.5)

Persamaan (2.5) dalam bentuk sistem persamaan linier dituliskan:

(a11 −λ )x 1 +a12 x 2 =0
a21 x1 +(a 22−λ )x 2 =0 (2.6)
6
Persamaan (2.6) adalah sistem persamaan linier homogen vektor dalam ruang R n
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 ( A−λI ¿=0
4. Hasil λ 1, λ 2
5. Hitung nilai X1 dan X2
6. Kontrol nilai x dengan rumus ( Ax−λx ¿
7. Selesai

2.5 FLOW CHART MENGHITUNG NILAI DAN VEKTOR EIGEN


7
START

INPUT NILAI
a11, a12, a21, a22

Mencari nilai scalar


Det (

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.
Python mendukung multi paradigma pemrograman, utamanya; namun tidak dibatasi;
pada pemrograman berorientasi objek, pemrograman imperatif, dan pemrograman

8
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.
BAB 3
9
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 A= [ 11 −24 ]


Nilai Eigen (λ)
|[ A ]− λ [ I ] { x }|=0 Persamaan Karakteristik

1 −2 −λ 1 0 x=0 Matriks I = 1 0
|[ 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:
det [ A−λI ] =0

det 1−λ −2 =0 Determinan Matriks Orde 2 x 2=(ad −bc)


1[ 4− λ ]
¿
λ 2−5 x +6=0
( λ−2)(λ−3)=0
λ=2 atau λ=3 ----- Nilai Eigen

Vektor Eigen :
|[ A ]− λ [ I ] { x }|=0

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

Untuk nilai λ=2 , maka:

[−11 −22 ][ xx 12]=[ 00]


Terbentuk Sistem Persamaan Linier

-x1 - 2x2 = 0

x1+ 2x2 = 0

Diperoleh : x1= -2 dan x2=1

Pembuktian :
Ax−λx

[ 11 −24 ][−21]=2[−21]
[−42 ]=2[−21] ………..Terbukti
Untuk nilai λ=3 , maka:

[−21 −21 ][ xx 12]=[ 00]


Terbentuk Sistem Persamaan Linier

-2x1 - 2x2 = 0

x1+ x2 = 0

Diperoleh : x1= -1 dan x2= 1

Pembuktian :
Ax−λx

[ 11 −24 ][−11]=3[−11]

11
[−33]=3[−11] ………..Terbukti

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()
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,)

12
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)
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)

13
print("c4=",k)
print("|",o,"|","","","|",3*j,"|",)
print("","","","","","","=","","","","","...........","Terbukti",)
print("|",p,"|","","","","|",3*k,"|",)
print()
print("Terima Kasih")

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 A= [ 11 −24 ] didapat X1=2 dan

X2=3
1 −2
2. Vektor Eigen dari suatu matriks bujursangkar A= [
1 4 ]
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

Anda mungkin juga menyukai