Skip to content

m-akma1/if2123-project-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

157 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tugas Besar 1 IF2123 – Aljabar Linier dan Geometri

Institut Teknologi Bandung — Semester I 2025/2026

Gambaran Umum

Xelat Matrix Calculator adalah aplikasi berbasis Java yang dikembangkan untuk mata kuliah IF2123 Aljabar Linier dan Geometri. Aplikasi ini mengimplementasikan berbagai algoritma dasar aljabar linier, termasuk penyelesai sistem persamaan linier, perhitungan determinan, invers matriks, interpolasi polinomial dan Bézier, serta regresi polinomial berganda. Seluruh perhitungan diimplementasikan secara mandiri tanpa menggunakan pustaka eksternal untuk operasi matriks atau aljabar. Proyek ini dikemas sebagai library modular (.jar) dan dilengkapi dengan antarmuka grafis berbasis JavaFX untuk visualisasi dan interaksi pengguna.

Struktur Proyek

.
├── README.md
├── bin/
│   └── xelat-matrix-calculator-1.0.jar
├── docs/
├── pom.xml
├── src/
│   └── main/
│       ├── java/algeo/
│       │   ├── App.java
│       │   ├── api/            
│       │   ├── data/           
│       │   ├── determinants/   
│       │   ├── inverses/       
│       │   ├── interpolations/ 
│       │   ├── regression/     
│       │   ├── solvers/        
│       │   ├── ui/             
│       │   └── util/           
│       └── resources/algeo/ui/ 
└── test/                       

Fitur Utama

1. Penyelesaian Sistem Persamaan Linier (algeo.solvers)

Menyediakan empat metode utama:

  • Eliminasi Gauss
  • Eliminasi Gauss-Jordan
  • Kaidah Cramer
  • Metode Matriks Balikan

2. Perhitungan Determinan (algeo.determinants)

  • Metode Ekspansi Kofaktor
  • Metode Operasi Baris Elementer (OBE)

3. Pencarian Matriks Invers (algeo.inverses)

  • Metode Augmentasi (Gauss-Jordan)
  • Metode Adjoin

4. Interpolasi (algeo.interpolations)

  • Interpolasi Polinomial untuk membangun polinomial yang melalui titik-titik sampel.
  • Interpolasi Splina Bézier Kubik untuk menghasilkan kurva halus berdasarkan titik kontrol.

5. Regresi (algeo.regression)

  • Regresi Polinomial Berganda dengan metode kuadrat terkecil (least squares).
  • Mendukung hingga 3 variabel dan derajat polinom maksimal 4 sesuai batasan tugas besar versi revisi 1.1.

6. Input dan Output

  • Mendukung input manual maupun berkas .txt (contoh tersedia di folder /test).

  • Dapat membaca notasi pecahan seperti 3/4 atau -2/5.

  • Menyediakan keluaran berupa:

    • Langkah-langkah penyelesaian.
    • Solusi atau hasil matriks.
    • Opsi penyimpanan hasil ke berkas .txt.

Antarmuka Pengguna (GUI)

Antarmuka aplikasi menggunakan JavaFX, terletak pada direktori src/main/java/algeo/ui/ dan src/main/resources/algeo/ui/. Setiap fitur memiliki berkas FXML dan pengendali tersendiri, di antaranya:

  • SolversView.fxmlSolversController.java
  • DeterminantView.fxmlDeterminantController.java
  • InverseView.fxmlInverseController.java
  • PolynomialView.fxmlPolynomialController.java
  • BezierView.fxmlBezierController.java
  • RegressionView.fxmlRegressionController.java

Antarmuka mendukung tampilan persamaan matematis menggunakan JLaTeXMath untuk hasil yang lebih rapi dan mudah dibaca.

Cara Build dan Menjalankan Program

Kebutuhan Sistem

  • Java 17 atau lebih baru
  • Apache Maven
  • JavaFX SDK
  • (Opsional) IDE seperti IntelliJ IDEA, VS Code, atau Eclipse

Perintah Menjalankan

mvn clean package

lalu jalankan

mvn javafx:run

Kasus Uji

Contoh berkas uji tersedia di direktori /test, meliputi:

  • spl_*.txt – Sistem Persamaan Linier
  • determinan_*.txt – Perhitungan Determinan
  • inverse_*.txt – Pencarian Invers Matriks
  • interpolasi_*.txt – Interpolasi Polinomial atau Bézier
  • regresi_*.txt, tc_algeo_regresi.csv – Data untuk Regresi

Seluruh berkas mengikuti format resmi pada dokumen spesifikasi bagian 3.1.4.

Kontributor

Dikembangkan oleh tim XeLaT

  1. Muhammad Akmal (13524099)
  2. Muhammad Iqbal Raihan (13524011)
  3. Muhammad Jordan Ferimeison (13524047)

Program Studi Teknik Informatika, Institut Teknologi Bandung

Referensi

  • IF2123 Tugas Besar 1: Sistem Persamaan Linier, Determinan, dan Penerapannya (Versi 1.1, 2025)
  • Gilbert Strang, Introduction to Linear Algebra, 5th Edition
  • Walpole et al., Probability and Statistics for Engineers and Scientists, 9th Edition

About

Project 1 for Linear Algebra (Semester 1 25/26), creating a matrix calculator with linear solver, Bezier interpolation, and polynomial regression and interpolation.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 100.0%