Disusun oleh:
Daftar Isi....................................................................................................................................................................................
BAB I..........................................................................................................................................................................................
1. Tujuan...............................................................................................................................................................................
2. Spesifikasi Program..........................................................................................................................................................
BAB II.........................................................................................................................................................................................
1. Sistem Persamaan Linear.................................................................................................................................................
2. Determinan.......................................................................................................................................................................
3. Matriks Balikan................................................................................................................................................................
4. Interpolasi Polinom..........................................................................................................................................................
5. Regresi Linier Berganda...................................................................................................................................................
6. Bicubic Spline Interpolation.............................................................................................................................................
BAB III.......................................................................................................................................................................................
1. Class Matriks....................................................................................................................................................................
2. Class DriverMatriks.........................................................................................................................................................
3. Class FileHandling...........................................................................................................................................................
4. Class ImageScaling..........................................................................................................................................................
5. Garis Besar Program........................................................................................................................................................
BAB IV.......................................................................................................................................................................................
1. Menentukan solusi dari SPL Ax = b................................................................................................................................
2. Menentukan solusi SPL dalam matriks augmented.........................................................................................................
3. Menentukan solusi SPL berbentuk...................................................................................................................................
4. Menentukan solusi x1,x2, dan x3 dari sistem reaktor dengan persamaan.......................................................................
5. Menentukan interpolasi polinom......................................................................................................................................
6. Menentukan regresi linear berganda................................................................................................................................
7. Menentukan bicubic spline interpolation.........................................................................................................................
BAB V.........................................................................................................................................................................................
1. Kesimpulan.......................................................................................................................................................................
2. Saran dan Komentar.........................................................................................................................................................
3. Refleksi.............................................................................................................................................................................
DAFTAR REFERENSI............................................................................................................................................................
2
BAB I
Deskripsi Masalah
1. Tujuan
Tujuan pengerjaan tugas besar ini adalah:
1.1. Membuat satu atau lebih library aljabar linier dalam Bahasa Java yang berisi:
● Fungsi-fungsi yang dapat menentukan solusi sistem persamaan linier
dengan Metode Eliminasi Gauss, Metode Eliminasi Gauss-Jordan, Metode
Matriks Balikan, dan Kaidah Cramer
● Fungsi-fungsi yang dapat menghitung determinan sebuah matriks dengan
Metode Reduksi Baris dan Metode Ekspansi Kofaktor
● Fungsi-fungsi yang dapat menentukan balikan dari sebuah matriks persegi
1.2. Menggunakan library yang telah disebutkan pada poin (1) untuk menyelesaikan
persoalan Interpolasi Polinom, Interpolasi Bikubik Spline, dan Regresi Linier
Berganda
2. Spesifikasi Program
Adapun spesifikasi dari program yang akan diimplementasikan adalah sebagai berikut.
2.1. Program dapat menerima masukan (input) baik dari keyboard maupun membaca
masukan dari file text. Untuk SPL, masukan dari keyboard adalah m, n, koefisien
aij , dan bi. Masukan dari file berbentuk matriks augmented tanpa tanda kurung,
setiap elemen matriks dipisah oleh spasi. Misalnya,
3 4.5 2.8 10 12
-3 7 8.3 11 -4
0.5 -10 -9 12 0
2.2. Untuk persoalan menghitung determinan dan matriks balikan, masukan dari
keyboard adalah n dan koefisien aij. Masukan dari file berbentuk matriks, setiap
elemen matriks dipisah oleh spasi. Misalnya,
3 4.5 2.8
-3 7 8.3
0.5 -10 -9
Luaran (output) disesuaikan dengan persoalan (determinan atau invers) dan
penghitungan balikan/invers dilakukan dengan metode matriks balikan dan
adjoin.
2.3. Untuk persoalan interpolasi, masukannya jika dari keyboard adalah n, (x0, y0), (x1,
y1), …, (xn, yn), dan nilai x yang akan ditaksir nilai fungsinya. Jika masukannya
dari file, maka titik-titik dinyatakan pada setiap baris tanpa koma dan tanda
kurung. Masukan kemudian dilanjutkan dengan satu buah baris berisi satu buah
nilai x yang akan ditaksir menggunakan fungsi interpolasi yang telah
3
didefinisikan. Misalnya jika titik-titik datanya adalah (8.0, 2.0794), (9.0, 2.1972),
dan (9.5, 2.2513) dan akan mencari nilai y saat x = 8.3, maka di dalam file text
ditulis sebagai berikut:
8.0 2.0794
9.0 2.1972
9.5 2.2513
8.3
2.4. Untuk persoalan regresi, masukannya jika dari keyboard adalah n (jumlah peubah
x), m (jumlah sampel), semua nilai-nilai x1i, x2i, …, xni, nilai yi, dan nilai-nilai xk
yang akan ditaksir nilai fungsinya. Jika masukannya dari file, maka titik-titik
dinyatakan pada setiap baris tanpa koma dan tanda kurung.
2.5. Untuk persoalan SPL, luaran program adalah solusi SPL. Jika solusinya tunggal,
tuliskan nilainya. Jika solusinya tidak ada, tuliskan solusi tidak ada, jika solusinya
banyak, maka tuliskan solusinya dalam bentuk parametrik (misalnya x4 = -2, x3 =
2s – t, x2 = s, dan x1 = t).
2.6. Untuk persoalan polinom interpolasi dan regresi, luarannya adalah persamaan
polinom/regresi dan taksiran nilai fungsi pada x yang diberikan. Contoh luaran
untuk interpolasi adalah
f(x) = -0.0064x2 + 0.2266 x + 0.6762, f(5) = …
dan untuk regresi adalah
f(x) = -9.5872 + 1.0732x1, f(xk) = …
2.7. Untuk persoalan bicubic spline interpolation, masukan dari file text (.txt) yang
berisi matriks berukuran 4 x 4 yang berisi konfigurasi nilai fungsi dan turunan
berarah disekitarnya, diikuti dengan nilai a dan b untuk mencari nilai f(a, b).
Misalnya jika nilai dari f(0, 0), f(1, 0), f(0, 1), f(1, 1), fx(0, 0), fx(1, 0), fx(0, 1), fx(1,
1), fy(0, 0), fy(1, 0), fy(0, 1), fy(1, 1), fxy(0, 0), fxy(1, 0), fxy(0, 1), fxy(1, 1) berturut-
turut adalah 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 serta nilai a dan b
yang dicari berturut-turut adalah 0.5 dan 0.5 maka isi file text ditulis sebagai
berikut:
1234
5678
9 10 11 12
13 14 15 16
0.5 0.5
Luaran yang dihasilkan adalah nilai dari f(0.5, 0.5).
2.8. Luaran program harus dapat ditampilkan pada layar komputer dan dapat
disimpan ke dalam file.
2.9. Program tidak berbasis GUI, melainkan CLI (Command Line Interface).
2.10. Program dapat dibuat dengan pilihan menu. Misalnya, menu:
MENU
4
1. Sistem Persamaaan Linier
2. Determinan
3. Matriks balikan
4. Interpolasi Polinom
5. Interpolasi Bicubic Spline
6. Regresi linier berganda
7. Keluar
Untuk pilihan menu nomor 1 ada sub-menu lagi yaitu pilihan metode:
1. Metode eliminasi Gauss
2. Metode eliminasi Gauss-Jordan
3. Metode matriks balikan
4. Kaidah Cramer
Begitu juga untuk pilihan menu nomor 2 dan 3.
5
BAB II
Teori Singkat
6
Gambar 2.2. Konversi sebuah matriks augmented sembarang menjadi matriks
eselon
Setelah dilakukan konversi matriks ke bentuk eselon baris, proses dilanjutkan
dengan melakukan penyulihan mundur untuk mencari solusi dari masing-masing
variabel.
Dengan metode Gauss, 3 kemungkinan solusi dari Sistem Persamaan Linear dapat
divisualisasikan dalam bentuk matriks, yakni sebagai berikut.
Gambar 2.5. Contoh hasil eliminasi Gauss dengan solusi tidak ada
7
1.2. Metode Gauss-Jordan
Sama halnya dengan metode Gauss, metode Gauss-Jordan juga melibatkan
pengubahan bentuk matriks A dan matriks B menjadi bentuk matriks augmented.
Kemudian, dilakukan konversi matriks augmented ke bentuk matriks eselon baris
tereduksi. Matriks eselon tereduksi adalah matriks dengan tiap kolom yang
memiliki 1 utama memiliki nol di baris yang lain. Fase yang digunakan pada
metode Gauss-Jordan antara lain forward phase (menghasilkan 0 di bawah 1
utama) dan backward phase (menghasilkan 0 di atas 1 utama).
Gambar 2.6. Konversi matriks augmented menjadi matriks eselon baris tereduksi
Berbeda dengan metode Gauss, pada metode ini tidak perlu dilakukan penyulihan
mundur karena nilai variabel langsung diperoleh dari matriks augmented akhir
(jika solusinya unik).
2. Determinan
Pada sebuah matriks, determinan hanya dapat dihitung jika matriks tersebut
merupakan matriks persegi, yaitu matriks yang memiliki jumlah baris dan kolom yang
8
sama. Ada dua metode yang dapat digunakan untuk menghitung determinan pada sebuah
matriks, yaitu metode reduksi baris dan metode ekspansi kofaktor.
2.1. Metode Reduksi Baris
Pada program ini, metode reduksi baris dilakukan dengan melakukan operasi
baris elementer pada sebuah matriks persegi untuk menghasilkan sebuah matriks segitiga,
baik matriks segitiga bawah maupun matriks segitiga atas. Matriks segitiga bawah adalah
matriks yang memiliki nilai nol pada semua elemen di atas diagonal utama. Matriks
segitiga atas adalah matriks yang memiliki nilai nol pada semua elemen di bawah
diagonal utama. Setelah mendapatkan matriks segitiga, determinan dapat dihitung dengan
mengalikan semua elemen pada diagonal utama matriks segitiga.
Gambar 2.8. Contoh matriks segitiga atas dan rumus mencari determinan untuk matriks
segitiga
2.2. Metode Ekspansi Kofaktor
Misalkan terdapat sebuah matriks persegi A. Minor entri (M ij) merupakan
determinan submatriks A yang terdiri dari elemen-elemen A yang tidak terletak pada
baris ke-i dan kolom ke-j. Kofaktor entri (Cij) didefinisikan sebagai (-1)i+jMij.
Gambar 2.9. Pembuatan minor entri dengan mencoret baris ke-1 dan kolom ke-1
Gambar 2.10. Menghitung kofaktor entri dari minor entri pada gambar 2.9.
Determinan sebuah matriks dapat dihitung dengan memilih salah satu dari rumus
berikut:
9
Gambar 2.11. Rumus menghitung determinan dengan metode ekspansi kofaktor
3. Matriks Balikan
Pada sebuah matriks, terdapat balikan dari matriks tersebut. Matriks balikan bisa
disebut juga matriks invers (balikan). Matriks invers adalah balikan dari matriks itu
sendiri. Misalkan matriks A , maka inversnya adalah A−1. Perlu diketahui bahwa untuk
mendapatkan sebuah matriks balikan, determinan dari matriks tersebut tidak boleh sama
dengan 0. Jika determinan matriks = 0, matriks tersebut disebut sebagai matriks singular.
Ada 2 cara untuk mencari matriks balikan, yaitu metode Kofaktor dan metode OBE.
Gambar 2.12. Proses menghitung invers sebuah matriks dengan metode adjoin
Bisa dilihat kalau determinan matriksnya 0, akan mendapatkan bentuk 1/0 yang
artinya hasil pembagian tersebut undefined. Oleh karena itu, determinan yang didapat
tidak boleh 0.
10
3.2. Metode OBE
Pada program ini, metode OBE dilakukan dengan melakukan operasi baris
elementer pada sebuah matriks persegi untuk menghasilkan sebuah matriks segitiga, baik
matriks segitiga bawah maupun matriks segitiga atas. Kali ini matriks augmentasi-nya
adalah matriks identitas.
−1
[ A∨I ]=[I ∨A ]
Jadi, metode OBE dilakukan sampai terbentuk matriks identitas di sebelah kirinya
dan hasil matriks yang nantinya akan menjadi matriks invers yang ada di sebelahnya.
Disini disajikan contoh dari matriks balikan metode OBE :
11
sehingga yi = pn(xi) untuk i = 0, 1, 2, …, n dalam interval tertutup [x0, xn]. Dengan
menyulihkan (xi, yi) ke dalam persamaan polinom pn(x) = a0 + a1x + a2x2 + … + anxn untuk
i = 0, 1, 2, …, n, akan diperoleh n buah sistem persamaan linear dalam a0, a1, a2, …, an,
12
f (1 ,1), f x (0 , 0), f x (0 , 1), f x (1 , 0), f x (1 , 1), f y (0 , 0), f y (0 , 1), f y (1 , 0), f y (1 ,1), f xy (0 ,0),
f xy (0 ,1), f xy (1 , 0), f xy (1 , 1). 16 nilai tersebut dibuat menjadi matriks 16 x 1. Lalu terdapat
matriks 16 x 16 yang merepresentasikan hasil dari ke-4 persamaan ini.
13
Gambar 2.18. Rumus untuk mendapatkan f (a , b)
Dari persamaan ini, akan didapat hasil dari f (a , b) ini. Contoh persamaan-
persamaan yang dapat diterima adalah f (0.5 , 0.5), f (0.2 , 0.8).
BAB III
Implementasi Pustaka dan Program dalam Java
1. Class Matriks
Berikut adalah atribut yang dimiliki oleh Class Matriks:
14
Berikut adalah daftar method yang dimiliki oleh Class Matriks:
15
tertentu
16
tukarBaris public void int a, int b Tukar 1 baris
matriks dengan
yang lain
17
persamaan SPL
dengan metode
Gauss
18
DeterminanMinor public float Matriks m Mengerjakan
determinan dengan
metode Kofaktor
dan minor
19
memanfaatkan
beberapa sampel
2. Class DriverMatriks
Class ini tidak memiliki atribut.
Nama Tipe Parameter Deskripsi
3. Class FileHandling
Berikut adalah atribut yang dimiliki oleh Class FileHandling:
Nama Tipe Deskripsi
20
file eksternal
4. Class ImageScaling
Tidak ada atribut di Class ImageHandling
Berikut adalah daftar method yang dimiliki oleh Class ImageHandling
Nama Tipe Parameter
Setelah memasuki program, pengguna akan melihat tampilan berupa menu dengan
beberapa pilihan perhitungan yang ingin dilakukan. Pilihan tersebut dapat memiliki sub-menu
untuk memilih metode perhitungan yang diinginkan, memilih opsi masukan, atau memilih opsi
penyimpanan luaran. Masukan dapat berasal dari ketikan pengguna ataupun dari sebuah file.
Terdapat juga opsi untuk menyimpan luaran program ke dalam suatu file. Setelah selesai
menjalankan sebuah fitur, pengguna akan dikembalikan ke menu utama dan dapat menggunakan
fitur-fitur lain atau keluar dari program.
21
Gambar 3.2. Tampilan menu utama program
22
pengguna akan menginput path untuk menjadi lokasi gambar yang diperbesar tersebut disimpan.
Beginilah contohnya.
Gambar yang
sebelah kiri adalah
gambar yang
berukuran 500 x 453 dan gambar yang sebelah kanan adalah gambar yang berukuran 5000 x
4530. Terlihat bahwa gambar berhasil diperbesar.
23
BAB IV
Eksperimen
1.2.
24
1.3.
25
1.4.
n=6
n = 10
26
2. Menentukan solusi SPL dalam matriks augmented
2.1.
27
2.2.
28
3.2.
29
5. Menentukan interpolasi polinom
5.1.
x = 0.2
30
x = 0.55
x = 0.85
x = 1.28
5.2.
16/07/2022
10/08/2022
31
05/09/2022
13/07/2022
5.3.
32
6. Menentukan regresi linear berganda
33
7. Menentukan bicubic spline interpolation
f(0,0) =
f(0,5,0,5) =
34
f(0,25,0,75) =
f(0,1,0,9) =
BAB V
Penutup
35
1. Kesimpulan
Berdasarkan implementasi dari program yang telah dirancang, dapat disimpulkan
beberapa poin berikut.
1.1. Program berbasis Command Line Interface (CLI) yang dapat menerima masukan
dari keyboard maupun dari file eksternal, serta dapat mencetak keluaran pada
layar maupun pada file eksternal.
1.2. Program tersusun atas 3 file (library), yakni Matriks.java sebagai library matriks
utama, DriverMatriks.java sebagai program utama, serta FileHandling.java
sebagai library untuk membaca dan menulis matriks dari/ke file eksternal.
1.3. Program terbagi menjadi 6 menu utama, yakni Sistem Persamaan Linier,
Determinan, Invers Matriks, Interpolasi Polinomial, Interpolasi Bicubic Spline,
dan Regresi Linier Berganda.
1.4. Detail dan teknis lebih lanjut mengenai library dan implementasi dari masing-
masing menu dapat dilihat pada bab III dan bab IV.
3. Refleksi
Tubes ini adalah media yang baik untuk memperkenalkan kami dengan Object-
Oriented Programming melalui Java. Tubes ini juga adalah gambaran kami untuk tubes-
tubes kedepannya dan memberi kami insight yang baru tentang time-management dan
priority-management. Selain itu, tubes ini menjadi tempat kami untuk bonding dengan
satu sama lain dan belajar bagaimana bekerja sebagai satu tim karena tentu masih ada
kekurangan dari kami yang membuat tubes ini tidak selalu berjalan dengan mulus dan
hasilnya pun juga masih dapat dimaksimalkan.
36
DAFTAR REFERENSI
Anton, Howard. Elementary Linear Algebra with Applications Eleventh Edition. USA:
Wiley, 2014.
https://informatika.stei.itb.ac.id/~rinaldi.munir/AljabarGeometri/2023-2024/Algeo-03-
Sistem-Persamaan-Linier-2023.pdf (Diakses pada 28 September 2023)
https://informatika.stei.itb.ac.id/~rinaldi.munir/AljabarGeometri/2023-2024/Algeo-05-
Sistem-Persamaan-Linier-2023.pdf (Diakses pada 28 September 2023)
https://informatika.stei.itb.ac.id/~rinaldi.munir/AljabarGeometri/2023-2024/Algeo-08-
Determinan-bagian1-2023.pdf (Diakses pada 28 September 2023)
https://informatika.stei.itb.ac.id/~rinaldi.munir/AljabarGeometri/2023-2024/Algeo-09-
Determinan-bagian2-2023.pdf (Diakses pada 28 September 2023)
37