PERKALIAN MATRIKS PERSEGI MENGGUNAKAN ALGORITMA STRASSEN

Evi Yanti, Helmi Noviani
2014 Buletin Ilmiah Mat. Stat. dan Terapannya (Bimaster)   unpublished
INTISARI Perkalian matriks merupakan salah satu operasi dasar dalam aljabar linear dan sering digunakan dalam komputasi ilmiah.Kasus komputasi ilmiah yang melibatkan perkalian matriks umumnya menggunakan matriks berordo besar.Algoritma Strassen merupakan salah satu algoritma yang dapat menjadi alternatif digunakan pada perkalian matriks yang berordo besar. Algoritma Strassen melakukan perkalian matriks persegi menggunakan 18 bentuk penjumlahan skalar dan 7 bentuk perkalian skalar sebagai dasar
more » ... erhitungannya, yang diteruskan secara rekursif hingga diperoleh hasil perkalian. Algoritma ini memiliki kompleksitas waktu O(n 2,81) untuk mengalikan matriks ordo n×n. Saat awal perkembangannya, algoritma ini hanya dapat digunakan untuk matriks ordo syarat yaitu, bilangan pangkat dari 2. Namun algoritma ini terus dikembangkan sehingga telah dapat digunakan untuk semua matriks persegi ordo sebarang dengan menambahkan baris dan kolom nol hingga memenuhi ordo syarat. Hasil yang diperoleh dari perhitungan flops (jumlah operasi aritmatika dasar yang diperlukan algoritma) menunjukkan bahwa, algoritma Strassen lebih optimal apabila digunakan pada matriks dengan ordo yaitu bilangan pangkat dari 2, yaitu tepatnya mulai dari ordo 1024×1024. Namun untuk perkalian matriks ordo bilangan pangkat dari 2 dibawah 1024×1024, penggunaan algoritma Strassen tidak menunjukkan keoptimalannya. Oleh karena itu algoritma Strassen dapat disarankan sebagai suatu alternatif pada proses komputasi ilmiah yang melibatkan perkalian matriks persegi dengan ordo besar mulai dari 1024×1024 dimana ordo matriks merupakan bilangan pangkat dari 2. Kata Kunci :Perkalian Matriks, Kompleksitas Waktu, Algoritma Strassen. PENDAHULUAN Perkalian matriks merupakan salah satu operasi dasar yang penting dalam aljabar linear, misalnya dalam penentuan invers dari matriks, penyelesaian system persamaan linear juga sering digunakan dalam komputasi ilmiah. Kasus pada komputasi ilmiah yang melibatkan perkalian matriks berordo besar yaitu dalam proses klasterisasi data ekspresi gen kanker paru-paru dengan menggunakan algoritma Higham. Matriks yang digunakan memiliki ordo puluhan ribu hingga ratusan ribu [1]. Pada tahun 1969 Volker Strassen memperkenalkan suatu algoritma yang dapat mengalikan matriks ordo dalam 7 operasi perkalian skalar dan 18 penjumlahan skalar [2]. Algoritma Strassen lebih ditujukan dalam menghitung perkalian matriks persegi untuk ordo besar [3]. Algoritma ini memiliki kompleksitas waktu yaitu () untuk menghitung perkalian matriks ordo [3]. Sehingga algoritma Strassen dapat menjadi salah satu alternatif untuk perkalian matriks yang digunakan pada komputasi ilmiah. Pada mulanya algoritma Strassen hanya terbatas untuk matriks berordo dengan , namun hingga saat ini telah dikembangkan sehingga dapat diperluas secara rekursif untuk menangani perkalian matriks persegi dengan ordo sebarang [3]. Berdasarkan latar belakang yang telah diuraikan, rumusan permasalahan yang menjadi topik pembahasan dalam penelitian ini yaitu bagaimana proses perkalian yang digunakan pada algoritma Strassen sehingga dikatakan dapat lebih optimal digunakan pada proses perkalian matriks persegi berordo besar. Sementara tujuan dari penelitian ini, yaitu mengkaji proses perkalian matriks persegi dengan menggunakan algoritma Strassen. Permasalahan yang dikaji dalam penelitian ini dibatasi hanya untuk perkalian matriks persegi dengan ordo sebarang. Sementara untuk implementasi dari algoritma ini masih menggunakan cara manual dan belum menggunakan program. Langkah-langkah perkalian matriks persegi dengan menggunakan algoritma Strassen dijabarkan sebagai berikut. Pertama-tama dilakukan pengecekan ordo matriks, jika ordo matriks telah memenuhi dengan , maka algoritma Strassen dapat digunakan secara langsung. Namun jika belum
fatcat:3qujhmng25fz5g3th7wlgjskg4