Postingan

Menampilkan postingan dari Mei, 2020

Eliminasi Gauss-Jordan untuk Invers Matrix dengan C++

Gambar
Setelah mencoba menyelesaikan dengan Java dan Javascript , penulis juga mencoba mengimplementasi algoritma eliminasi Gauss-Jordan untuk mencari solusi invers matrix dengan bahasa C++. Langkah pembuatannya adalah sebagaimana video di bawah ini: Penulis menggunakan compiler C++ online yang beralamat di http://cpp.sh . Dimana kekurangan dibanding dengan bahasa Java, karena tidak ada fungsi menghitung jumlah array atau dimensi matrix, sehingga program tidak bisa fleksibel. Yaitu diperlukan peubahan secara manual, mulai dari jumlah matrix dan nilai matrixnya itu sendiri. Sedangkan jika di Java, hanya perlu mengganti matrixnya saja. Berikut ini kode C++ implementasi eliminasi Gauss-Jordan untuk menghitung invers matrix. // Example program #include <iostream> #include <string> int N=3; double A[3][3]={ {0,-3,-2}, {1,-4,-2}, {-3,4,1} }; double Ainvers[3][3]; using namespace std; int cekDiagonal( int a); int main() { for ( int i=0;i<N;i++){ f

Eliminasi Gauss-Jordan untuk Invers Matrix dengan Java

Gambar
Terkait dengan posting sebelumnya tentang algorithma eliminasi Gauss-Jordan , penulis mencoba mengimplementasikannya dengan bahasa pemrograman Java. Untuk tahapan pembuatannya dapat dilihat pada video di bawah ini: Sedangkan kode Java-nya adalah sebagaimana berikut: package tutorialjava; import java.text.DecimalFormat; import java.util.Random; /** * @author Edugameapp */ public class TutorialJava { private double[][] A= new double[][]{ {0,-3,-2}, {1,-4,-2}, {-3,4,1} }; private double[][] B; public boolean cekDiagonal( int a) { if (a>10*A.length)return false ; for ( int i=0;i<A.length;i++){ if (A[i][i]==0){ Random rand= new Random(); int k=(i+rand.nextInt(A.length))%A.length; for ( int j=0;j<A[0].length;j++){ double tmp=A[i][j]; A[i][j]=A[k][j]; A[k][j]=tmp;

Algorithma Gauss-Jordan untuk Mencari Invers Matrix dengan Javascript

Gambar
Awal Mula Suatu hari, penulis mendapat email dari pengguna aplikasi Invers Matrix penulis yang berbunyi seperti di bawah ini. Intinya berdasarkan aplikasi yang penulis buat, dia meminta bantuan penulis untuk menyelesaikan algorithma perkalian matrix-nya, untuk problem perkalian pangkat. Yang mana problem itu merupakan tugas kuliahnya. Karena sudah memiliki kode, mulanya penulis menganggap dia hanya butuh bantuan sedikit saja menyelesaikan algorithmanya tersebut. Maka untuk praktisnya, agar tidak ribet menjelaskan, penulis meminta kode yang dia buat, lalu membantu mengoreksi kodenya saja secara langsung. Dia menggunakan GUI (Graphic User Interface) berbasis C++, entah menggunakan compiler apa, dan penulis hanya mengedit bagian fungsi perhitungan matrix perpangkatannya saja. Perbaikan itu selesai, dan hasilnya sesuai dengan yang penulis post di tulisan blog ini yang berjudul " Algorithma Perkalian Pangkat Matrix dengan C++ ". Menggangu Selama beberapa hari kemudian, tidak disa

Perbedaan Algorithma Perkalian Matrix dengan C++ dan Java

Gambar
Misalkan terdapat dua matrix yang akan dikalikan, A dan B dibawah ini: Dimana C=AB.  Berikut ini adalah contoh perbandingan implementasi pemrograman perkalian matrix di bahasa C++ dan Java. C++ #include <iostream> using namespace std; int main() { int M=2,N=3; int A[M][N]={ {1,2,3}, {4,5,6} }; int B[N][M]={ {10,11}, {20,21}, {30,31} }; int C[M][M]; for ( int i=0;i<M;i++){ for ( int j=0;j<M;j++){ int jum=0; for ( int k=0;k<N;k++){ jum+=A[i][k]*B[k][j]; } C[i][j]=jum; } } for ( int i=0;i<M;i++){ for ( int j=0;j<M;j++){ cout<<C[i][j]<< " " ; } cout<<endl; } return 0; } Java package tutorialjava; /** * * @author Edugameapp */ public class TutorialJava { public static void main(St

Algorithma Perkalian Pangkat Matrix dengan C++

Gambar
Seorang pengguna aplikasi Matrix Inverse penulis, meminta bantuan untuk menyelesaikan problem matematikanya, yaitu mengenai perpangkatan matrix. Pengguna itu bertanya, bagaimana algorithma perkalian pangkat matrix. Misalnya jika mempunyai matrix A dengan nilai sebagai berikut: Bagaimana jika dipangkatkan tiga, menjadi A 3 . Karena pengguna meminta menggunakan bahasa C++, berikut ini penulis tuliskan kode C++, implementasi algorithma perpangkatan matrix tersebut: #include <iostream> using namespace std; int main() { int row1, col1, n; int **c,**d; int a[2][2]={ {3,2}, {4,-2} }; n = 3; col1 = 2; row1=col1; c = new int *[row1]; d = new int *[row1]; for ( int i = 0; i < row1; i++) { c[i] = new int[col1]; d[i] = new int[col1]; for ( int j = 0; j < col1; j++) { c[i][j] = a[i][j]; d[i][j] = 0; } } for ( int b = 0; b < n-1; b++) { // Multiplication for ( int i = 0; i < row1; i++) {

Algorithma Game Spaceship War dengan Greenfoot

Gambar
Dalam kebingungan banyak pekerjaan yang mana harus diselesaikan terlebih dahulu, penulis frustasi dan akhirnya memilih melepaskan penat dengan mencoba menyelesaikan algorithma game spaceship war seperti gambar di atas. Idenya adalah bagaimana mengimplimentasikan spaceship yang saling tembak-menembak antara penyerang dengan defender yang dikendalikan . Penulis mengimplementasikannya dalam video berikut: Penulis menggunakan Greenfoot dan dengan gambar spaceship yang disediakan oleh OpenGameArt.org dengan link di sini . Kode Greenfoot hasil project di atas, dapat di download di link Google drive dibawah ini: https://drive.google.com/open?id=1Dayr4zpkTRYdcWhYwRkZtrxVGXDa5YqW Untuk versi Android, dapat dimainkan dengan mendowonlod link Play Store di: https://play.google.com/store/apps/details?id=com.jetlab.spaceshipwar Selain itu, dibawah ini contoh dasar algorithma game-game sederhana lain, yang penulis coba buat dengan Greenfoot: Game Tic Tac Toe Game Flappy Bird Like Game Snake Perlu dip