// Fungsi untuk mengalikan dua matriks
function multiplyMatrices(matrixA, matrixB) {
    // Mendapatkan ukuran matriks
    const rowsA = matrixA.length;
    const colsA = matrixA[0].length;
    const rowsB = matrixB.length;
    const colsB = matrixB[0].length;
    // Pastikan jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua
    if (colsA !== rowsB) {
        throw new Error("Jumlah kolom matriks pertama harus sama dengan jumlah baris matriks kedua.");
    }
    // Inisialisasi matriks hasil
    let result = new Array(rowsA).fill(0).map(() => new Array(colsB).fill(0));
    // Perkalian matriks menggunakan nested loop
    for (let i = 0; i < rowsA; i++) { // [0] []
        for (let j = 0; j < colsB; j++) { //[0]. [1]
            for (let k = 0; k < colsA; k++) { //[0]
                result[i][j] += matrixA[i][k] * matrixB[k][j]; //[0,0] [0,0] | [0,1], [1,0], [1,0], [0,1]
            }
        }
    }
    return result;
}
// Contoh penggunaan
const matrixA = [
    [1, 2],
    [3, 4]
];
const matrixB = [
    [5, 6],
    [7, 8]
];
console.log(matrixA[1][0]);
const result = multiplyMatrices(matrixA, matrixB);
console.log("Hasil Perkalian Matriks:", result);