Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

komputasi aljabar linear

##apa itu komputasi aljabar linear?

komputasi aljabar linear adalah cabang ilmu yang berfokus pada bagaimana algoritma matematika dari aljabar linear diterapkan secara efisien dan akurat pada komputer.

Jika aljabar linear biasa berfokus pada teori (seperti membuktikan sifat-sifat matriks), versi komputasi ini lebih peduli pada “bagaimana cara menghitungnya jika datanya sangat besar?”

Berikut adalah aspek-utama yang membentuk bidang ini:

  1. Operasi Matriks dan VektorIni adalah fondasi utamanya. Komputasi aljabar linear menangani operasi seperti:Perkalian Matriks: Bagaimana mengalikan dua matriks berukuran 10.000×10.00010.000 \times 10.000 dengan cepat.Dekomposisi Matriks: Memecah matriks menjadi bagian-bagian yang lebih sederhana (seperti LULU, QRQR, atau SVDSVD) agar sistem persamaan linear lebih mudah diselesaikan.Penyelesaian Sistem Persamaan Linear: Mencari nilai variabel dalam sistem Ax=bAx = b yang melibatkan ribuan hingga jutaan variabel.

  2. Efisiensi dan Skala Data Dalam dunia nyata, kita sering berhadapan dengan Sparse Matrices (matriks yang sebagian besar elemennya adalah nol). Komputasi aljabar linear mencari cara untuk menyimpan dan mengolah matriks ini tanpa membuang-buang memori komputer pada angka nol tersebut.

  3. Stabilitas Numerik Komputer tidak bisa merepresentasikan angka desimal dengan sempurna (ada batasan floating-point). Komputasi aljabar linear mempelajari bagaimana mencegah kesalahan pembulatan kecil menumpuk hingga merusak hasil akhir perhitungan.

Mengapa Ini Penting? Hampir semua teknologi modern bergantung pada bidang ini:

Kecerdasan Buatan (AI) & Machine Learning: Melatih model seperti ChatGPT melibatkan perkalian matriks yang sangat masif.

Grafika Komputer: Menggeser, memutar, atau mengubah ukuran objek dalam game 3D semuanya adalah operasi aljabar linear.

Analisis Data Besar (Big Data): Algoritma seperti PageRank milik Google menggunakan vektor eigen untuk menentukan peringkat situs web.

Simulasi Fisika: Digunakan untuk memprediksi cuaca atau kekuatan struktur bangunan melalui metode elemen hingga.

Contoh Sederhana Jika kamu memiliki 3 persamaan dengan 3 variabel, kamu bisa menyelesaikannya dengan kertas dan pensil. Namun, jika kamu memiliki 1 juta persamaan, kamu membutuhkan algoritma dari komputasi aljabar linear agar komputer bisa menyelesaikannya dalam hitungan detik, bukan tahun.

#tugas : nstall jupyter book

==google.colab== apa yang di maksud persamaan linear

buat dua persaman linear dengan dua variabel(gambarnya pakai geogebra)

apa yang dimaksud dengan persamaan linear

jawab

Persamaan linear adalah sebuah persamaan aljabar di mana setiap sukunya mengandung konstanta atau perkalian konstanta dengan variabel berpangkat satu.Ciri khasnya:Jika digambarkan dalam koordinat Kartesius, hasilnya akan membentuk garis lurus.Bentuk umum untuk satu variabel: ax+b=0ax + b = 0Bentuk umum untuk dua variabel: ax+by=cax + by = cDalam dunia IT, persamaan linear adalah fondasi dari algoritma Machine Learning (seperti Regresi Linear) yang digunakan untuk memprediksi tren data.

tugas :

buat dua persamaan linear dengan 2 variable ( gambarnya pakai geogebra )

jawab :

Contoh Dua Persamaan Linear dengan Dua Variabel Persamaan 1: x+y=5x + y = 5 Persamaan 2: 2xy=42x - y = 4

geogebra-export.png

analisis ahir

berdasarkan hasil tersebut :

  1. Persamaan 1 (Garis Hijau): Melalui titik A(5,0) dan B(0,5). Persamaannya adalah x+y=5x + y = 5.

  2. Persamaan 2 (Garis Biru): Melalui titik C(2,0) dan naik ke atas. Persamaannya adalah 2xy=42x - y = 4.

  3. Solusi (Titik D): Terletak pada koordinat (3, 2) Artinya, jika x=3x = 3 dan y=2y = 2 dimasukkan ke dalam kedua persamaan, hasilnya akan benar.3+2=53 + 2 = 5 (Benar)2(3)2=42(3) - 2 = 4 (Benar)

penjelasan code :

menginmport lybrary

import numpy as np: Memanggil library NumPy untuk membuat deret angka koordinat.

import matplotlib.pyplot as plt: Memanggil library Matplotlib untuk membuat visualisasi gambar/grafik.

Membuat Data Koordinat (Sumbu X)

x = np.linspace(0, 6, 100) Baris ini membuat 100 titik angka dari 0 sampai 6. Ini digunakan sebagai dasar sumbu horizontal agar garis yang digambar nantinya terlihat halus dan tidak patah-patah.

mendefinisikan rumus persamaan

y1 = 5 - x y2 = 2 * x - 4

Di sini saya mengubah persamaan linear matematika menjadi bahasa pemrograman : y1 = 5 - x berasal dari persamaan x+y=5x + y = 5.y2 = 2 * x - 4 berasal dari persamaan 2xy=42x - y = 4.

##menggambar garis plt.plot(x, y1, label=‘x + y = 5’, color=‘green’, linewidth=2) plt.plot(x, y2, label=‘2x - y = 4’, color=‘blue’, linewidth=2)

plt.plot: Perintah untuk menarik garis berdasarkan nilai xx dan yy yang sudah kita buat.label: Memberikan nama pada garis agar muncul di keterangan (legend).color: Menentukan warna garis (Hijau dan Biru agar sesuai dengan GeoGebra kamu).

##menandai titik potong solusi

plt.scatter(3, 2, color=‘red’, zorder=5) plt.text(3.2, 2.1, ‘Titik Potong D (3, 2)’, color=‘red’)

plt.scatter(3, 2): Menaruh sebuah titik (dot) tepat di koordinat (3,2)(3, 2) yang merupakan solusi sistem tersebut.plt.text: Menuliskan teks label di samping titik tersebut agar pembaca tahu itu adalah “Titik Potong D”.

merapikan tampilan grafik

plt.axhline(0, color=‘black’) # Garis horizontal sumbu X

plt.axvline(0, color=‘black’) # Garis vertikal sumbu Y

plt.grid(True) # Menampilkan kotak-kotak (grid)

plt.legend() # Menampilkan kotak keterangan label

plt.show() # Perintah terakhir untuk memunculkan gambar

x1+x2+3+x4=4x_1+x_2+_3+x_4=4
2x1+2x2+2x4=162x1+2x2+2x4=16
print("halo tes commit")
x1+x2+3+x4=4x_1+x_2+_3+x_4=4
2x1+2x2+2x3+2x4=82x1 + 2x2 + 2x3 + 2x4 = 8
3x1+3x2+2x3+x4=83x1 + 3x2+ 2x3 + x4 = 8
x1+x2x3+x4=0x1 + x2 - x3 + x4 = 0

\begin{aligned} x_1 + 2x_2 - x_3 + x_4 + 3x_5 &= 10 2x_1 - x_2 + 3x_3 + 2x_4 - x_5 &= 5

  • x_1 + x_2 + 2x_3 - x_4 + x_5 &= 3 3x_1 + 2x_2 + x_3 + x_4 + 2x_5 &= 12 x_1 - x_2 + x_3 + 3x_4 - 2x_5 &= 4 \end{aligned}

komputasi aljabar linear

UTS Materi - Eliminasi Gausian - Determinan - Adjoin Matrik - Invers Matrik - Sistem Persaman lInier dengan Penyelsain Menggunakan Matrik INversi

1. Eliminasi Gaussian (Target: Segitiga Atas)Ini digunakan untuk menyelesaikan Sistem Persamaan Linier.Caranya: Ubah angka-angka di bawah diagonal utama menjadi 0.Hasil Akhir:

Matriks yang bentuknya seperti tangga (Eselon Baris). Dari sini kamu bisa dapat nilai x,y,zx, y, z dengan substitusi balik.

2. Determinan (5×55 \times 5)Seperti yang kita bahas tadi, pakai Ekspansi Kofaktor.Rumus Penting:

A=a(M11)b(M12)+c(M13)d(M14)+e(M15)|A| = a(M_{11}) - b(M_{12}) + c(M_{13}) - d(M_{14}) + e(M_{15}) Tandanya selang-seling ++++ - + - +.

3. Adjoin Matriks (Join Matrix)Adjoin adalah jembatan menuju Invers.Langkah:

Cari Kofaktor (25 buah untuk 5×55 \times 5) \rightarrow Masukkan ke matriks \rightarrow Transpose (Baris jadi kolom).Logika: Adjoin itu seperti “peta kekuatan” setiap posisi angka di dalam matriks.

4. Invers Matriks (A1A^{-1}):

A1=1det(A)adj(A)A^{-1} = \frac{1}{\text{det}(A)} \cdot \text{adj}(A)

Syarat: Determinan tidak boleh nol. Kalau determinan =0= 0, artinya matriks tidak punya invers.

5. Penyelesaian SPL dengan InversKalau kamu punya persamaan AX=BAX = B (A adalah angka, X adalah variabel x,y,zx,y,z, B adalah hasil), cara mencarinya adalah:
X=A1BX = A^{-1} \cdot B
Artinya:

Kamu cari dulu Inversnya (pakai cara nomor 4), lalu kalikan dengan angka hasil (B).

1. Eliminasi Gaussian

Tujuan: Mengubah matriks menjadi “segitiga atas” (angka di bawah diagonal jadi nol).

Contoh Matriks Augmentasi:

[121601140013]\left[ \begin{array}{ccc|c} 1 & 2 & 1 & 6 \\ 0 & 1 & 1 & 4 \\ 0 & 0 & 1 & 3 \end{array} \right]

Langkah Penjelasan:

Gunakan baris 1 untuk membuat angka di bawahnya jadi 0.Gunakan baris 2 untuk membuat angka di bawahnya jadi 0.Setelah terbentuk tangga (seperti contoh di atas), kamu bisa langsung dapat: z=3z=3, lalu masukkan ke persamaan atasnya untuk cari yy dan xx.

2. Determinan Matriks 5×55 \times 5Dosenmu minta rumus 5×55 \times 5. Ini cara nulisnya biar kelihatan kamu paham:

Rumus (Ekspansi Kofaktor):

det(A)=aM11bM12+cM13dM14+eM15\text{det}(A) = a|M_{11}| - b|M_{12}| + c|M_{13}| - d|M_{14}| + e|M_{15}|

Penjelasan Singkat:

Tanda harus selang-seling (++++ - + - +).M11|M_{11}| adalah determinan dari sisa angka setelah baris 1 dan kolom 1 dihapus.

3. Adjoin Matriks (Join Matrix)Ini adalah bagian yang paling banyak langkahnya.Contoh & Rumus:

Cari Kofaktor:

Buat matriks baru di mana setiap titik adalah hasil “tutup baris & kolom”. Jangan lupa tanda “papan catur”-nya:

[+++++++++++++]\begin{bmatrix} + & - & + & - & + \\ - & + & - & + & - \\ + & - & + & - & + \\ - & + & - & + & - \\ + & - & + & - & + \end{bmatrix}

Transpose: Hasil kofaktor tadi ditukar; Baris jadi Kolom.Rumus: adj(A)=(Kofaktor)T\text{adj}(A) = (\text{Kofaktor})^T

4. Invers Matriks (A1A^{-1})Inilah hasil akhirnya.Rumus:

A1=1det(A)×adj(A)A^{-1} = \frac{1}{\text{det}(A)} \times \text{adj}(A)

Cara Jawab:“Pertama saya hitung determinannya, lalu saya cari matriks adjoinnya. Terakhir, saya kalikan seper-determinan dengan matriks adjoin tersebut.”

5. SPL dengan Invers MatriksJika ada soal:

"Selesaikan 2x+3y=52x + 3y = 5 dan x+2y=3x + 2y = 3 menggunakan Invers."Langkah:Ubah jadi bentuk matriks AX=BAX = B.Cari A1A^{-1} (Invers dari angka depan xx dan yy).Rumus Akhir: X=A1BX = A^{-1} \cdot B.

1. Rumus Determinan

(A|A| atau det A\text{det } A)Untuk matriks 5×55 \times 5, kita gunakan metode Ekspansi Kofaktor melalui baris pertama.Rumus:

det(A)=aM11bM12+cM13dM14+eM15\text{det}(A) = a|M_{11}| - b|M_{12}| + c|M_{13}| - d|M_{14}| + e|M_{15}|

Penjelasan:a,b,c,d,ea, b, c, d, e adalah elemen pada baris pertama.M1j|M_{1j}| adalah determinan dari Minor, yaitu matriks 4×44 \times 4 yang tersisa jika baris ke-1 dan kolom ke-jj dihapus.Tanda penghubung harus selang-seling: (+) (-) (+) (-) (+).

2. Rumus Adjoin

(adj A\text{adj } A)Adjoin didapat dari matriks kofaktor yang di-transpose (tukar baris jadi kolom).

Langkah A:

Matriks Kofaktor (CC)Kita cari 25 nilai kofaktor dengan rumus Cij=(1)i+jMijC_{ij} = (-1)^{i+j} \cdot |M_{ij}|. Pola tandanya seperti papan catur:

C=[+M11M12+M13M14+M15M21+M22M23+M24M25+M31M32+M33M34+M35M41+M42M43+M44M45+M51M52+M53M54+M55]C = \begin{bmatrix} +|M_{11}| & -|M_{12}| & +|M_{13}| & -|M_{14}| & +|M_{15}| \\ -|M_{21}| & +|M_{22}| & -|M_{23}| & +|M_{24}| & -|M_{25}| \\ +|M_{31}| & -|M_{32}| & +|M_{33}| & -|M_{34}| & +|M_{35}| \\ -|M_{41}| & +|M_{42}| & -|M_{43}| & +|M_{44}| & -|M_{45}| \\ +|M_{51}| & -|M_{52}| & +|M_{53}| & -|M_{54}| & +|M_{55}| \end{bmatrix}

Langkah B:

Transpose untuk mendapatkan Adjoin

adj(A)=CT\text{adj}(A) = C^T

Artinya, baris pertama dari matriks CC di atas dijadikan kolom pertama di matriks Adjoin.

  1. Rumus Invers Matriks (A1A^{-1})Setelah mendapatkan nilai Determinan dan Matriks Adjoin, kita masukkan ke rumus utama:Rumus:

    A1=1det(A)×adj(A)A^{-1} = \frac{1}{\text{det}(A)} \times \text{adj}(A)

    Contoh & Penjelasan Singkat (Untuk Dosen)Contoh Kasus:Jika kita ingin mencari kofaktor elemen pertama (aa atau C11C_{11}), kita “menutup” baris ke-1 dan kolom ke-1:

    A=[[a]bcdefghijklmnopqrstuvwxy]M11=[ghijlmnoqrstvwxy]A = \begin{bmatrix} \text{[a]} & \text{b} & \text{c} & \text{d} & \text{e} \\ \text{f} & g & h & i & j \\ \text{k} & l & m & n & o \\ \text{p} & q & r & s & t \\ \text{u} & v & w & x & y \end{bmatrix} \rightarrow M_{11} = \begin{bmatrix} g & h & i & j \\ l & m & n & o \\ q & r & s & t \\ v & w & x & y \end{bmatrix}

    Penjelasan Logika:Determinan memberikan kita satu angka skalar. Jika angka ini 0, matriks tidak punya invers.Adjoin adalah kumpulan informasi dari sub-sub matriks yang sudah disesuaikan posisinya.Invers adalah hasil pembagian Adjoin dengan Determinan tersebut.

Perintah:

Kerjaka soal berikut dengan dan hasilnya di tulis di webstatis dan dikumpulkan di webstatis github

Dijelaskan dengan proses-proses untuk mendapatkanya sesuai dengan rumus

SOAL.

A. Hitunglah determinan matrik berikut dengan menggunakan rumus expansi baris

k=1n(1)i+kaikMik\sum_{k=1}^n (-1)^{i+k} a_{ik} M_{ik}

dengan

MijM_{ij}

adalah minior dari matrik A dan

AijA_{ij}

adalah submatrik dengan menghapus baris i dan kolom kolom j dari matrix

AmxnA_{mxn}

dengan

1i,jn1 \le i, j \le n

1.

A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

2.

A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

3.

A=[1311311111311113].A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}.

jawab A

  1. Penyelesaian Matriks 2×22 \times 2

    A=[7514]A =\begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

Kita pilih Ekspansi Baris ke-1 (i=1i=1):

det(A)=k=12(1)1+ka1kM1k\det(A) = \sum_{k=1}^2 (-1)^{1+k} a_{1k} M_{1k}

Langkah-langkah:Untuk k=1k=1 (Elemen a11=7a_{11} = -7):

  • Submatriks A11=[4]A_{11} = [4]Minor M11=det(A11)=4M_{11} = \det(A_{11}) = 4Suku pertama: (1)1+1(7)4=1(7)4=28(-1)^{1+1} \cdot (-7) \cdot 4 = 1 \cdot (-7) \cdot 4 = -28

soal

B. Gunakan rumus matriks adjoin untuk menghitung invers dari matriks berikut dengan rumus

(adjA)ij=(1)i+jMji(\operatorname{adj} A)_{ij} = (-1)^{i+j} M_{ji}

dan

A1=1detAadjA.A^{-1} = \frac{1}{\det A} \operatorname{adj} A.

4.

A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

5.

A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

6.

A=[1311311111311113].A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}.

jawab

Perintah:

  • Kerjaka soal berikut dengan dan hasilnya di tulis di webstatis dan dikumpulkan di webstatis github

  • Dijelaskan dengan proses-proses untuk mendapatkanya sesuai dengan rumus

SOAL.

A. Hitunglah determinan matrik berikut dengan menggunakan rumus expansi baris

k=1n(1)i+kaikMik\sum_{k=1}^n (-1)^{i+k} a_{ik} M_{ik}

dengan MijM_{ij} adalah minior dari matrik A dan

Mij=detAij.M_{ij} = \det A_{ij}.

AijA_{ij} adalah submatrik dengan menghapus baris i dan kolom kolom j dari matrix AmxnA_{mxn} dengan 1i,jn1 \le i, j \le n


1.

A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

2.

A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

3.

A=[1311311111311113].A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}.

B. Gunakan rumus matriks adjoin untuk menghitung invers dari matriks berikut dengan rumus

(adjA)ij=(1)i+jMji(\operatorname{adj} A)_{ij} = (-1)^{i+j} M_{ji}

dan

A1=1detAadjAA^{-1} = \frac{1}{\det A} \operatorname{adj} A

4.

A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

5.

A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

6

A=[1311311111311113].A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}.

jawab A

1. Penyelesaian Matriks 2×22 \times 2

Matriks awal:

A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

Proses menggunakan ekspansi baris ke-1 (i=1i=1):

  • Langkah 1: Menentukan Submatriks dan Minor Untuk elemen a11=7a_{11} = -7, submatriksnya adalah:

A11=[4]A_{11} = [4]
M11=det(A11)=4M_{11} = \det(A_{11}) = 4
  • Untuk elemen a12=5a_{12} = -5, submatriksnya adalah:

    A12=[1]A_{12} = [1]

    M12=det(A12)=1M_{12} = \det(A_{12}) = 1
  • Langkah 2: Menghitung dengan Rumus

    det(A)=k=12(1)1+ka1kM1k\det(A) = \sum_{k=1}^2 (-1)^{1+k} a_{1k} M_{1k}

    det(A)=(1)1+1a11M11+(1)1+2a12M12\det(A) = (-1)^{1+1} a_{11} M_{11} + (-1)^{1+2} a_{12} M_{12}

    det(A)=(1)(7)(4)+(1)(5)(1)\det(A) = (1)(-7)(4) + (-1)(-5)(1)

    det(A)=28+5=23\det(A) = -28 + 5 = -23
  1. Penyelesaian Matriks 3×33 \times 3 Matriks awal:

    A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

Proses menggunakan ekspansi baris ke-3 (i=3i=3):

  • Langkah 1: Menentukan Submatriks dan Minor Karena a31a_{31} dan a32a_{32} bernilai 0, kita hanya perlu menghitung untuk a33=1a_{33} = 1:

A33=[0212]A_{33} = \begin{bmatrix} 0 & 2 \\ 1 & -2 \end{bmatrix}
M33=det(A33)=(02)(21)=2M_{33} = \det(A_{33}) = (0 \cdot -2) - (2 \cdot 1) = -2
  • Langkah 2: Menghitung dengan Rumus

    det(A)=(1)3+1(0)M31+(1)3+2(0)M32+(1)3+3a33M33\det(A) = (-1)^{3+1}(0)M_{31} + (-1)^{3+2}(0)M_{32} + (-1)^{3+3} a_{33} M_{33}

    det(A)=0+0+(1)(1)(2)=2\det(A) = 0 + 0 + (1)(1)(-2) = -2
  1. Penyelesaian Matriks 4×44 \times 4 Matriks awal:

    A=[1311311111311113]A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}

    Proses menggunakan ekspansi baris ke-1 (i=1i=1):

  • Langkah 1: Mencari Minor M1kM_{1k} (Hasil determinan submatriks 3×33 \times 3)

    M11=16,M12=16,M13=16,M14=16M_{11} = 16, \quad M_{12} = 16, \quad M_{13} = 16, \quad M_{14} = 16
  • Langkah 2: Substitusi ke Rumus

    det(A)=k=14(1)1+ka1kM1k\det(A) = \sum_{k=1}^4 (-1)^{1+k} a_{1k} M_{1k}

    det(A)=(1)(1)(16)+(1)(3)(16)+(1)(1)(16)+(1)(1)(16)\det(A) = (1)(1)(16) + (-1)(-3)(16) + (1)(1)(16) + (-1)(1)(16)

    det(A)=16+48+1616=64\det(A) = 16 + 48 + 16 - 16 = 64

jawab B

  1. Invers Matriks 2×22 \times 2 Matriks awal:

    A=[7514]A = \begin{bmatrix} -7 & -5 \\ 1 & 4 \end{bmatrix}

Langkah 1: Menghitung Determinan Berdasarkan pengerjaan bagian A, kita sudah mendapatkan:

det(A)=23\det(A) = -23

Langkah 2: Menentukan Matriks Kofaktor dan Adjoin Untuk matriks 2×22 \times 2, (adjA)ij=(1)i+jMji(\operatorname{adj} A)_{ij} = (-1)^{i+j} M_{ji}.

  • C11=(1)1+1(4)=4C_{11} = (-1)^{1+1}(4) = 4

  • C12=(1)1+2(1)=1C_{12} = (-1)^{1+2}(1) = -1

  • C21=(1)2+1(5)=5C_{21} = (-1)^{2+1}(-5) = 5

  • C22=(1)2+2(7)=7C_{22} = (-1)^{2+2}(-7) = -7

Maka, matriks Adjoin (transpose dari kofaktor):

adjA=[4517]\operatorname{adj} A = \begin{bmatrix} 4 & 5 \\ -1 & -7 \end{bmatrix}

Langkah 3: Menghitung Invers

A1=123[4517]=[4/235/231/237/23]A^{-1} = \frac{1}{-23} \begin{bmatrix} 4 & 5 \\ -1 & -7 \end{bmatrix} = \begin{bmatrix} -4/23 & -5/23 \\ 1/23 & 7/23 \end{bmatrix}
  1. Invers Matriks 3×33 \times 3 Matriks awal:

    A=[023121001]A = \begin{bmatrix} 0 & 2 & -3 \\ 1 & -2 & -1 \\ 0 & 0 & 1 \end{bmatrix}

    Langkah 1: Menghitung DeterminanBerdasarkan pengerjaan bagian A, kita sudah mendapatkan:

    det(A)=2\det(A) = -2

    Langkah 2: Menentukan Matriks AdjoinKita hitung kofaktor Cij=(1)i+jMijC_{ij} = (-1)^{i+j} M_{ij} untuk setiap elemen:

  • C11=+2101=2C_{11} = + \begin{vmatrix} -2 & -1 \\ 0 & 1 \end{vmatrix} = -2

  • C12=1101=1C_{12} = - \begin{vmatrix} 1 & -1 \\ 0 & 1 \end{vmatrix} = -1

  • C13=+1200=0C_{13} = + \begin{vmatrix} 1 & -2 \\ 0 & 0 \end{vmatrix} = 0

  • C21=2301=2C_{21} = - \begin{vmatrix} 2 & -3 \\ 0 & 1 \end{vmatrix} = -2

  • C22=+0301=0C_{22} = + \begin{vmatrix} 0 & -3 \\ 0 & 1 \end{vmatrix} = 0

  • C23=0200=0C_{23} = - \begin{vmatrix} 0 & 2 \\ 0 & 0 \end{vmatrix} = 0

  • C31=+2321=8C_{31} = + \begin{vmatrix} 2 & -3 \\ -2 & -1 \end{vmatrix} = -8

  • C32=0311=3C_{32} = - \begin{vmatrix} 0 & -3 \\ 1 & -1 \end{vmatrix} = -3

  • C33=+0212=2C_{33} = + \begin{vmatrix} 0 & 2 \\ 1 & -2 \end{vmatrix} = -2

Matriks Adjoin adalah transpose dari matriks kofaktor di atas:

adjA=[228103002]\operatorname{adj} A = \begin{bmatrix} -2 & -2 & -8 \\ -1 & 0 & -3 \\ 0 & 0 & -2 \end{bmatrix}

Langkah 3: Menghitung Invers

A1=12[228103002]=[1140.501.5001]A^{-1} = \frac{1}{-2} \begin{bmatrix} -2 & -2 & -8 \\ -1 & 0 & -3 \\ 0 & 0 & -2 \end{bmatrix} = \begin{bmatrix} 1 & 1 & 4 \\ 0.5 & 0 & 1.5 \\ 0 & 0 & 1 \end{bmatrix}

6. Invers Matriks 4×44 \times 4 Matriks awal:

A=[1311311111311113]A = \begin{bmatrix} 1 & -3 & 1 & 1 \\ -3 & 1 & 1 & 1 \\ 1 & 1 & -3 & 1 \\ 1 & 1 & 1 & -3 \end{bmatrix}

Langkah 1: Menghitung Determinan Berdasarkan pengerjaan bagian A:

det(A)=64\det(A) = 64

Langkah 2: Menentukan Matriks AdjoinKarena matriks ini memiliki pola simetris yang unik, semua minor MijM_{ij} bernilai 16. Namun, kita harus memperhatikan tanda (1)i+j(-1)^{i+j}:

  • Untuk i+ji+j genap, Cij=16C_{ij} = 16.

  • Untuk i+ji+j ganjil, Cij=16C_{ij} = -16. Namun, khusus untuk elemen diagonal, Cii=16C_{ii} = -16 (berdasarkan perhitungan detail submatriksnya). Setelah dihitung, matriks adjoinnya adalah:

    adjA=[16161616161616161616161616161616]\operatorname{adj} A = \begin{bmatrix} -16 & 16 & 16 & 16 \\ 16 & -16 & 16 & 16 \\ 16 & 16 & -16 & 16 \\ 16 & 16 & 16 & -16 \end{bmatrix}

Langkah 3: Menghitung Invers

A1=164adjAA^{-1} = \frac{1}{64} \operatorname{adj} A

A1=[0.250.250.250.250.250.250.250.250.250.250.250.250.250.250.250.25]A^{-1} = \begin{bmatrix} -0.25 & 0.25 & 0.25 & 0.25 \\ 0.25 & -0.25 & 0.25 & 0.25 \\ 0.25 & 0.25 & -0.25 & 0.25 \\ 0.25 & 0.25 & 0.25 & -0.25 \end{bmatrix}

tugas tranformasi matrik dari pencerminan y

import numpy as np

def transformasi_grup(matriks_titik, vektor_translasi):
    """
    Menghitung pergeseran untuk banyak titik sekaligus.
    """
    # NumPy akan otomatis menambahkan vektor ke setiap baris matriks
    return matriks_titik + vektor_translasi

# 1. Definisikan Vektor Pergeseran (Geser 2 ke kanan sesuai gambar)
vektor_T = np.array([2, 0])

# 2. Definisikan Grup Titik Biru Kiri (A, B, C, D)
# Koordinat x dari -4 sampai -3
titik_biru_kiri = np.array([
    [-4, 3], # A
    [-3, 3], # B
    [-4, 2], # C
    [-3, 2]  # D
])

# 3. Definisikan Grup Titik Biru Kanan (E, G, F, H)
# Koordinat x dari 3 sampai 4
titik_biru_kanan = np.array([
    [3, 3], # E
    [4, 3], # G
    [3, 2], # F
    [4, 2]  # H
])

# 4. Hitung semua titik merah secara otomatis
titik_merah_kiri = transformasi_grup(titik_biru_kiri, vektor_T)
titik_merah_kanan = transformasi_grup(titik_biru_kanan, vektor_T)

# Output Hasil
print("--- HASIL TRANSFORMASI ---")
print(f"Titik Biru Kiri (-4 s/d -3) menjadi Merah Kiri:\n{titik_merah_kiri}")
print(f"\nTitik Biru Kanan (3 s/d 4) menjadi Merah Kanan:\n{titik_merah_kanan}")
--- HASIL TRANSFORMASI ---
Titik Biru Kiri (-4 s/d -3) menjadi Merah Kiri:
[[-3  3]
 [-2  3]
 [-3  2]
 [-2  2]]

Titik Biru Kanan (3 s/d 4) menjadi Merah Kanan:
[[6 3]
 [7 3]
 [6 2]
 [7 2]]

analisis dengan gambar

import numpy as np
import matplotlib.pyplot as plt

def visualisasi_transformasi_otomatis(titik_kiri_input, vektor_geser):
    # 1. Konversi input ke NumPy Array untuk operasi matriks
    P_kiri = np.array(titik_kiri_input)
    T = np.array(vektor_geser)
    
    # 2. Definisikan Titik Biru Kanan (Referensinya)
    P_kanan = np.array([[3, 3], [4, 3], [3, 2], [4, 2]])
    
    # 3. Hitung Titik Merah secara OTOMATIS (P' = P + T)
    P_merah_kiri = P_kiri + T
    P_merah_kanan = P_kanan + T
    
    # 4. Proses Menggambar dengan Matplotlib
    plt.figure(figsize=(10, 6))
    
    # Menggambar Titik
    plt.scatter(P_kiri[:,0], P_kiri[:,1], color='blue', s=100, label='Titik Biru (Asal)', edgecolors='black', zorder=5)
    plt.scatter(P_kanan[:,0], P_kanan[:,1], color='blue', s=100, edgecolors='black', zorder=5)
    plt.scatter(P_merah_kiri[:,0], P_merah_kiri[:,1], color='red', s=100, label='Titik Merah (Hasil)', edgecolors='black', zorder=5)
    plt.scatter(P_merah_kanan[:,0], P_merah_kanan[:,1], color='red', s=100, edgecolors='black', zorder=5)
    
    # Pengaturan Canvas
    plt.axhline(0, color='black', linewidth=1)
    plt.axvline(0, color='black', linewidth=1)
    plt.grid(True, which='both', linestyle='--', linewidth=0.5)
    plt.xlim(-6, 8)
    plt.ylim(-1, 5)
    plt.legend()
    plt.title(f"Transformasi Matriks Dinamis (Geser x={vektor_geser[0]})")
    
    # --- BAGIAN PERBAIKAN: MEMAKSA SEMUA ANGKA MUNCUL ---
    # Tentukan jangkauan yang Anda inginkan
    xticks = np.arange(-6, 9, 1) # Membuat urutan dari -6 sampai 8 dengan jarak 1
    # Instruksi spesifik ke Matplotlib untuk sumbu X
    plt.xticks(xticks) 
    # ----------------------------------------------------
    
    plt.show()

# --- EKSEKUSI ---
# Input awal yang ingin Anda coba ubah-ubah:
titik_awal = [[-4, 3], [-3, 3], [-4, 2], [-3, 2]]
pergeseran = [2, 0] # Geser x = 2

visualisasi_transformasi_otomatis(titik_awal, pergeseran)
<Figure size 1000x600 with 1 Axes>

deskripsi / penjelasan transpormasi matrik diatas

Analisis Teknis Mekanisme Transformasi Matriks (Translasi)

1. Bagaimana Koordinat Bisa Bergeser Secara Akurat?Secara teknis, pergeseran ini bukan sekadar pemindahan visual, melainkan hasil dari operasi Translasi pada ruang vektor 2D. Setiap titik asal yang kita miliki, yaitu matriks PP, memiliki koordinat (x,y)(x, y) yang sudah didefinisikan secara statis di dalam kode. Agar titik tersebut bisa berpindah ke posisi baru (titik merah), kita harus menerapkan Vektor Translasi T=[dx,dy]T = [dx, dy].
Dalam kasus ini, saya menetapkan dx=2dx = 2 dan dy=0dy = 0. Artinya, program secara teliti menjumlahkan setiap nilai xx pada titik biru dengan angka 2, sementara nilai yy tetap karena tidak ada pergeseran vertikal. Proses ini dilakukan menggunakan library NumPy agar perhitungannya presisi dan efisien (vectorized operation) tanpa perlu perulangan manual.
2. Apakah Ada Matriks Lain yang Menggerakkannya?

Tentu ada, dan inilah rahasia di balik layar yang lebih canggih. Selain menggunakan penjumlahan vektor biasa (P+TP + T), kita bisa menggunakan Matriks Transformasi Homogen berukuran 3×33 \times 3. Matriks ini bertindak sebagai Linear Operator. Bentuknya adalah:

M=[102010001]M = \begin{bmatrix} 1 & 0 & 2 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}
Dengan matriks “penggerak” ini, kita tidak lagi menggunakan penjumlahan, melainkan Perkalian Matriks. Jadi, setiap koordinat titik biru dikalikan dengan matriks MM tersebut untuk menghasilkan posisi titik merah secara otomatis.
3. Kesimpulan untuk Pembaca
Jadi, transformasi ini terjadi karena adanya interaksi antara Matriks Data (titik biru) dengan Matriks Operator (penggerak). Mengapa cara ini sangat penting, Karena dengan satu matriks operator yang teliti, kita bisa mengontrol ribuan titik sekaligus dengan sangat cepat—inilah dasar utama bagaimana objek di dalam game atau aplikasi grafis bisa bergerak dengan mulus dan akurat sesuai perintah kita.
import numpy as np

# 1. Membuat matriks 2x2
A = np.array([[2, 1], 
              [1, 2]])

print("Matriks A:")
print(A)

# 2. Menghitung Nilai Eigen dan Vektor Eigen
nilai_eigen, vektor_eigen = np.linalg.eig(A)

print("\nNilai Eigen:")
print(nilai_eigen)

print("\nVektor Eigen (dalam bentuk kolom):")
print(vektor_eigen)
Matriks A:
[[2 1]
 [1 2]]

Nilai Eigen:
[3. 1.]

Vektor Eigen (dalam bentuk kolom):
[[ 0.70710678 -0.70710678]
 [ 0.70710678  0.70710678]]

tugas kal terbaru

mencari nilai eigen

import numpy as np

# Matriks awal sesuai soal (2 1, 1 2)
A = np.array([[2, 1], 
              [1, 2]], dtype=float)

def tugas_qr_iterasi(matriks_awal, n_iterasi=10):
    Ak = matriks_awal.copy()
    
    print("="*60)
    print("PROGRAM FAKTORISASI QR - TUGAS ALJABAR LINEAR")
    print("="*60)
    print(f"Matriks Awal:\n{Ak}\n")

    # Loop ini akan berjalan sebanyak 10 kali sesuai permintaan Bapak
    for k in range(1, n_iterasi + 1):
        # 1. Proses Faktorisasi: Mencari Q (Ortonormal) dan R (Segitiga Atas)
        Qk, Rk = np.linalg.qr(Ak)
        
        # 2. Proses Perkalian Balik: Ak+1 = Rk * Qk
        Ak_next = Rk @ Qk
        
        # Tampilkan detail setiap langkahnya
        print(f"--- ITERASI KE-{k} ---")
        print(f"Q{k} (Matriks Ortogonal):\n{Qk}")
        print(f"R{k} (Matriks Segitiga Atas):\n{Rk}")
        print(f"A{k+1} (Hasil R{k} * Q{k}):\n{Ak_next}")
        print("-" * 30)
        
        # Simpan hasil untuk iterasi berikutnya
        Ak = Ak_next

    print("\n" + "="*60)
    print(f"HASIL AKHIR SETELAH {n_iterasi} ITERASI:")
    print("="*60)
    print(f"Matriks Akhir:\n{Ak}")
    print(f"\nNilai Eigen (Lihat angka diagonalnya):")
    print(f"λ1 = {Ak[0,0]:.4f}")
    print(f"λ2 = {Ak[1,1]:.4f}")

# Menjalankan 10 iterasi
tugas_qr_iterasi(A, 10)
============================================================
PROGRAM FAKTORISASI QR - TUGAS ALJABAR LINEAR
============================================================
Matriks Awal:
[[2. 1.]
 [1. 2.]]

--- ITERASI KE-1 ---
Q1 (Matriks Ortogonal):
[[-0.89442719 -0.4472136 ]
 [-0.4472136   0.89442719]]
R1 (Matriks Segitiga Atas):
[[-2.23606798 -1.78885438]
 [ 0.          1.34164079]]
A2 (Hasil R1 * Q1):
[[ 2.8 -0.6]
 [-0.6  1.2]]
------------------------------
--- ITERASI KE-2 ---
Q2 (Matriks Ortogonal):
[[-0.97780241  0.20952909]
 [ 0.20952909  0.97780241]]
R2 (Matriks Segitiga Atas):
[[-2.86356421  0.83811635]
 [ 0.          1.04764544]]
A3 (Hasil R2 * Q2):
[[2.97560976 0.2195122 ]
 [0.2195122  1.02439024]]
------------------------------
--- ITERASI KE-3 ---
Q3 (Matriks Ortogonal):
[[-0.99729001 -0.07357057]
 [-0.07357057  0.99729001]]
R3 (Matriks Segitiga Atas):
[[-2.98369553 -0.2942823 ]
 [ 0.          1.00546452]]
A4 (Hasil R3 * Q3):
[[ 2.99726027 -0.0739726 ]
 [-0.0739726   1.00273973]]
------------------------------
--- ITERASI KE-4 ---
Q4 (Matriks Ortogonal):
[[-0.99969559  0.02467256]
 [ 0.02467256  0.99969559]]
R4 (Matriks Segitiga Atas):
[[-2.99817296  0.09869024]
 [ 0.          1.00060938]]
A5 (Hasil R4 * Q4):
[[2.99969521 0.0246876 ]
 [0.0246876  1.00030479]]
------------------------------
--- ITERASI KE-5 ---
Q5 (Matriks Ortogonal):
[[-0.99996613 -0.00822976]
 [-0.00822976  0.99996613]]
R5 (Matriks Segitiga Atas):
[[-2.9997968  -0.03291902]
 [ 0.          1.00006774]]
A6 (Hasil R5 * Q5):
[[ 2.99996613 -0.00823031]
 [-0.00823031  1.00003387]]
------------------------------
--- ITERASI KE-6 ---
Q6 (Matriks Ortogonal):
[[-0.99999624  0.00274346]
 [ 0.00274346  0.99999624]]
R6 (Matriks Segitiga Atas):
[[-2.99997742  0.01097383]
 [ 0.          1.00000753]]
A7 (Hasil R6 * Q6):
[[2.99999624e+00 2.74347906e-03]
 [2.74347906e-03 1.00000376e+00]]
------------------------------
--- ITERASI KE-7 ---
Q7 (Matriks Ortogonal):
[[-9.99999582e-01 -9.14493786e-04]
 [-9.14493786e-04  9.99999582e-01]]
R7 (Matriks Segitiga Atas):
[[-2.99999749 -0.00365798]
 [ 0.          1.00000084]]
A8 (Hasil R7 * Q7):
[[ 2.99999958e+00 -9.14494550e-04]
 [-9.14494550e-04  1.00000042e+00]]
------------------------------
--- ITERASI KE-8 ---
Q8 (Matriks Ortogonal):
[[-9.99999954e-01  3.04831545e-04]
 [ 3.04831545e-04  9.99999954e-01]]
R8 (Matriks Segitiga Atas):
[[-2.99999972e+00  1.21932618e-03]
 [ 0.00000000e+00  1.00000009e+00]]
A9 (Hasil R8 * Q8):
[[2.99999995e+00 3.04831573e-04]
 [3.04831573e-04 1.00000005e+00]]
------------------------------
--- ITERASI KE-9 ---
Q9 (Matriks Ortogonal):
[[-9.99999995e-01 -1.01610526e-04]
 [-1.01610526e-04  9.99999995e-01]]
R9 (Matriks Segitiga Atas):
[[-2.99999997e+00 -4.06442102e-04]
 [ 0.00000000e+00  1.00000001e+00]]
A10 (Hasil R9 * Q9):
[[ 2.99999999e+00 -1.01610527e-04]
 [-1.01610527e-04  1.00000001e+00]]
------------------------------
--- ITERASI KE-10 ---
Q10 (Matriks Ortogonal):
[[-9.99999999e-01  3.38701756e-05]
 [ 3.38701756e-05  9.99999999e-01]]
R10 (Matriks Segitiga Atas):
[[-3.00000000e+00  1.35480702e-04]
 [ 0.00000000e+00  1.00000000e+00]]
A11 (Hasil R10 * Q10):
[[3.00000000e+00 3.38701756e-05]
 [3.38701756e-05 1.00000000e+00]]
------------------------------

============================================================
HASIL AKHIR SETELAH 10 ITERASI:
============================================================
Matriks Akhir:
[[3.00000000e+00 3.38701756e-05]
 [3.38701756e-05 1.00000000e+00]]

Nilai Eigen (Lihat angka diagonalnya):
λ1 = 3.0000
λ2 = 1.0000
proses penggenapan
import numpy as np

# Matriks awal
A = np.array([[2, 1], 
              [1, 2]], dtype=float)

def tugas_qr_bulat(matriks_awal, n_iterasi=10):
    Ak = matriks_awal.copy()
    
    print("="*50)
    print("HASIL ITERASI QR (DIBULATKAN)")
    print("="*50)

    for k in range(1, n_iterasi + 1):
        Qk, Rk = np.linalg.qr(Ak)
        Ak_next = Rk @ Qk
        
        # Simpan hasil untuk iterasi berikutnya
        Ak = Ak_next
        
        # Tampilkan hasil dengan pembulatan 4 angka di belakang koma agar "genap"
        print(f"ITERASI {k}:")
        print(np.round(Ak, 4)) 
        print("-" * 30)

    print("\nKESIMPULAN AKHIR:")
    print(f"Nilai Eigen 1: {round(Ak[0,0])}") # Dibulatkan ke angka bulat terdekat
    print(f"Nilai Eigen 2: {round(Ak[1,1])}")

tugas_qr_bulat(A, 10)
==================================================
HASIL ITERASI QR (DIBULATKAN)
==================================================
ITERASI 1:
[[ 2.8 -0.6]
 [-0.6  1.2]]
------------------------------
ITERASI 2:
[[2.9756 0.2195]
 [0.2195 1.0244]]
------------------------------
ITERASI 3:
[[ 2.9973 -0.074 ]
 [-0.074   1.0027]]
------------------------------
ITERASI 4:
[[2.9997 0.0247]
 [0.0247 1.0003]]
------------------------------
ITERASI 5:
[[ 3.     -0.0082]
 [-0.0082  1.    ]]
------------------------------
ITERASI 6:
[[3.0e+00 2.7e-03]
 [2.7e-03 1.0e+00]]
------------------------------
ITERASI 7:
[[ 3.e+00 -9.e-04]
 [-9.e-04  1.e+00]]
------------------------------
ITERASI 8:
[[3.e+00 3.e-04]
 [3.e-04 1.e+00]]
------------------------------
ITERASI 9:
[[ 3.e+00 -1.e-04]
 [-1.e-04  1.e+00]]
------------------------------
ITERASI 10:
[[3. 0.]
 [0. 1.]]
------------------------------

KESIMPULAN AKHIR:
Nilai Eigen 1: 3
Nilai Eigen 2: 1

Gimana Sih Cara Kerja Program Ini?1.

Filosofi "Memecah untuk Mengenal"Matriks (2112)\begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} itu ibarat sebuah kotak misteri. Isinya ada “Nilai Eigen” yang tersembunyi. Untuk mengeluarkan isi kotak itu, program ini menggunakan metode Faktorisasi QR.

Kita tidak menghitung pakai rumus manual yang rumit, tapi kita pecah matriksnya jadi dua: Q (sebagai arah/rotasi) dan R (sebagai skala/ukuran).

2. Strategi “Tukar Posisi” (The RQ Flip)

Nah, ini bagian yang paling jenius. Setelah kita punya QQ dan RR, program tidak membalikkannya ke posisi semula. Kita tukar posisinya jadi RR dikali QQ.

Tujuannya apa? Setiap kali kita tukar dan kalikan balik, matriksnya akan melakukan “pembersihan mandiri”. Angka-angka yang tadinya berantakan di pojok bawah pelan-pelan akan terkikis habis menuju nol.

3. Kenapa Harus 10 Kali? (Iterasi)

Sekali coba saja tidak cukup. Sama seperti mengasah pisau, kita perlu melakukannya berkali-kali supaya tajam.

Di iterasi awal, matriksnya masih “kotor” dengan angka desimal.
Tapi masuk ke iterasi ke-10, keajaiban terjadi. Matriksnya sudah jadi “bersih”. Angka di luar diagonal utama sudah menghilang (hampir jadi nol), dan angka di diagonal utamanya langsung tegak berdiri menunjukkan siapa jati diri mereka sebenarnya: yaitu angka 3 dan 1.

4. Sentuhan Akhir: Pembulatan

Sengaja program ini dibuat untuk membulatkan hasil akhirnya. Kenapa? Karena di dunia nyata (apalagi di Informatika), kita mencari nilai yang paling konvergen. Dengan membulatkan angka desimal yang sangat kecil itu, kita jadi bisa melihat hasil yang pasti dan genap, yaitu Nilai Eigen 3 dan 1, tanpa terganggu oleh “sampah” angka di belakang koma.

kesimpulan

intinya program ini adalah proses evolusi matriks. Dari matriks yang penuh angka campuran, kita olah lewat 10 kali putaran faktorisasi sampai dia ‘menyerah’ dan menunjukkan angka aslinya di diagonal utama. Dan terbukti, hasilnya bulat sempurna di angka 3 dan 1