Langsung ke konten utama

tugas materi teknik komputasi matriks

berikut ini merupakan program c++ Contoh soal Penyelesaian Persamaan Linear Serentak (PLS) menggunakan Metode Matriks untuk mata kuliah teknik komputasi yang diajarkan di perkuliahan. semoga bisa bermanfaat.


/* Contoh soal Penyelesaian Persamaan Linear Serentak (PLS) menggunakan Metode Matriks
/* Nama Program : m_augmented.cpp */
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define baris 10
#define kolom 10
main()
{
FILE *m_augmented;
double A[baris][kolom],/* Matriks Persamaan (A) */
AH[baris][kolom], /*Matriks Augmented (AH) */
x[baris],/* Matriks Solusi (x) */
H[baris],/* Matriks Persamaan(H) */
m,temp;
int i,j,k,n,p,q,r;
char lagi;
do
{

m_augmented=fopen("m_augmented.txt","w+");
cout<<"\n\nMetode Invers-Determinan Matriks untuk PLS\n";
cout<<"=======================================================\n\n";
/*******************************\
\* Algoritma */
/* --------- 8\
\* */
/* 1. Masukkan Matriks A *\
\* 2. masukkan Matriks H */
/* 3. Ubah ke Bentuk Matriks AH *\
\* 4. Buat matriks Segitiga Bawah */
/* 5. Hitung Solusi Matriks *\
\* */
/*******************************************/
/***************************************************************/
/*Pengisian Matriks A(3x3) dan H(3x1)*/
/***************************************************************/
cout<<"\nMasukkan Nilai Matriks A (umumnya (3x3))\n";
cout<<"---------------------------------\n";
cout<<"\nMasukkan Jumlah Baris ?";
cin>>p;
cout<<"\nMasukkan Jumlah Kolom ?";
cin>>q;
/***************************************************************/
/*Matriks A(3X3)*/
/**************************************************************/
printf("\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
printf("A[%d][%d]=",i+1,j+1);
cin>>A[i][j];
}
printf("\n");
}
/*Pengisian Data Matriks H(umumnya(3x1))*/
cout<<"\n Masukan nilai matriks H(umumnya(3x1))\n";
cout<<"-------------------------------------------\n";
cout<<"\n Masukan Jumlah baris?";
cin>>r;
/************************************************************/
/*Matriks H(3X1)*/
/***********************************************************/
printf("\n");
for(i=0;i<r;i++)
{
printf("H[%d]=",i+1);
cin>>H[i];
}
/*********************************************************/
/*Tampilkan Matriks A(3X3)dan Matriks(3X1)*/
/********************************************************/
/*Cetak Matriks A*/
printf("\nA=");
fprintf(m_augmented,"\n\nA=");
for(i=0;i<p;i++)
{
printf("\n=");
fprintf(m_augmented,"\n");
for(j=0;j<q;j++)
{
printf("\t.2f",A[i][j]);
fprintf(m_augmented,"\t.3f",A[i][j]);
}
}
/* Cetak Matriks H*/
printf("\n\nH=\n");
fprintf(m_augmented,"\n\nH=\n");
for(i=0;i<r;i++)
{
printf("\n\t%.2f",H[i]);
fprintf(m_augmented,"\t%.3f\n",H[i]);
}
/********************************************************/
/*Inisialisasi Matriks x (3x1)*/
/********************************************************/
/*Inisialisasi x[i]=0*/
for(i=0; i<r; i++)
{
x[i]=0;
}
/********************************************************/
/*Proses membentuk Matriks Augmented AH*/
/********************************************************/
cout<<"\n\n\nMatriks AH sebelum proses Segitiga Bawah\n";
cout<<"-------------------------------";
/*Augmented Matriks*/
printf("\n\nAH=");
fprintf(m_augmented,"\n\nAH=\n");
for(i=0; i<p; i++)
{
printf("\n");
fprintf(m_augmented,"\n");
for(j=0; j<q; j++)
{
if(j!=q)
{
AH[i][j]=A[i][j];
printf("\t%.2f",AH[i][j]);
fprintf(m_augmented,"\t%.3f",AH[i][j]);
}
else
{
AH[i][j]=H[i];
printf("\t%.2f",AH[i][j]);
fprintf(m_augmented,"\t%.3f",AH[i][j]);
}
}
}
/***************************************************/
/*Proses Membuat Matriks Segitiga Bawah AH*/
/***************************************************/
for(k=0; k<p-1; k++)
{
for(i=k+1; i<q+1; i++)
{
m=AH[i][k]/AH[k][k];
for(j=k; j<q+1; j++)
{
AH[i][j]=AH[i][j]-m*AH[k][j];
}
}
}
cout<<"\n\n\n Matriks AH setelah proses segitiga bawah\n";
cout<<"-------------------------------------------------";
/*Cetak Matriks AH*/
printf("\n\nAH=");
fprintf(m_augmented,"\n\nAH=\n");
for(i=0; i<p; i++)
{
printf("\n");
fprintf(m_augmented,"\n");
{
if(j!=q)
{
A[i][j]=AH[i][j];
printf("\t%.2f",A[i][j]);
fprintf(m_augmented,"\t%.3f",A[i][j]);
}
else
{
H[i]=AH[i][j];
fprintf(m_augmented,"\t%.3f",H[i]);
}
}
}
/* Cetak Matriks H*/
printf("\n\nH=");
fprintf(m_augmented,"\n\nH=\n");
for(i=0; i<r; i++)
{
printf("\t%.2f",H[i]);
fprintf(m_augmented,"\t%.3f",H[i]);
}
/**************************************************/
/*Matriks x(3x1)Hasil perhitungan */
/**************************************************/
/*Solusi*/
for(k=p-1;k>=0;k--);
{
x[k]=(H[k]-temp)/A[k][k];
}
/*Cetak Matriks x hasil Perhitungan*/
cout<<"\n\nx=\n";
cout<<"--------";
printf("\n\nx=\n");
fprintf(m_augmented,"\n\nSolusi x\n");
for(n=r-1;n>=0;n--)
{
printf("\tx[%d]=%.3f\n",n+1,x[n]);
fprintf(m_augmented,"\tx[%d]=%.3f\n",n+1,x[n]);
}
fclose(m_augmented);
cout<<"\n\n\nCoba lagi dengan data yang berbeda (y/t)?";
cin>>lagi;
}while(lagi!='t');
return 0;
}

Komentar

Postingan populer dari blog ini

Cara Menambahkan Plugin TextFX di notepad++

TextFX adalah plugin pada notepad++ yang digunakan untuk menyortir kata atau kalimat yang sama atau istilah kerenya duplikat data. Berikut saya share cara untuk menambahkan plugin TextFX, perhatikan langkah-langkah berikut! 1. install notepad++ dulu dengan mengunduh filenya disini 2. setelah diunduh kemudian install, setelah di install lalu buka menu Plugins>Plugin Manager>Show Plugin Manager  3. pada Plugin Manager, klik tab Available kemudia geser kebawah dan cari TextFx. klik centang lalu Install. 4. Berhasil, setelah itu restart program notepad++ sekian share dari saya semoga bermanfaat, silahkan bertanya dikolom komentar jika kurang paham. terimakasih

Tenggorokan Kering dan Sakit? Hati-hati! Bisa Jadi Itu Adalah Gejala Kanker Stadium Awal

Kamu harus perhatikan dengan baik! Kanker tenggorokan adalah salah satu kanker yang sering dijumpai pada kebanyakan orang, dan tentu saja hasil pengobatan kanker ini tergantung pada seberapa cepat kita menyadari tingkat keparahan kanker tersebut. Seorang ahli bedah mengatakan bahwa kanker yang didiagnosa pada 5 tahun pertama itu mempunyai tingkat kesembuhan sebesar 90%, tetapi sebaliknya, kanker yang baru diketahui setelah 5 tahun, hanya mempunyai tingkat kesembuhan sekitar 20-30% saja.  Kanker tenggorokan ini tumbuh dari sel Mesothelial yang berkembang pada selaput kerongkongan, dan karena faktor inilah yang akhirnya tumbuh menjadi kanker secara bertahap. Waktu yang diperlukan kanker ini untuk berkembang pada tenggorokan mencapai beberapa tahun lamanya, bahkan dari stadium awal hingga stadium menengah membutuhkan waktu sekitar satu tahun.  Gejala-gejala kanker tenggorokan stadium awal ini adalah sebagai berikut: 1. Merasa kesulitan ketika menelan; biasanya disebabkan oleh ma...

Setting Hamachi

Hamachi adalah zero-configuration virtual private network (VPN) atau jaringan virtual pribadi tanpa konfigurasi. Hamachi merupakan aplikasi opensource yang didistribusikan secara bebas yang mampu membangun hubungan secara langsung antar-komputer yang terkoneksi ke dalam jaringan internet tanpa ada konfigurasi yang rumit, dengan kata lain, membentuk hubungan antar-komputer yang saling berjauhan melalui jaringan internet, seakan-akan komputer tersebut terhubung ke dalam jaringan lokal atau LAN. Pertama-tama  Download softwarenya DISINI  Cara Instal seperti biasa, tinggal next next next :) yang perlu diperhatikan adalah pada saat proses instal beri tanda cek pada Disable vulnerable .... (mungkin windows mendeteksinya sebagai virus)     Setelah proses instalasi berhasil, jalankan program hamachi maka akan tampil seperti berikut :   Klik tombol Power On maka akan berubah menjadi hijau dan tampil ip dari Hamachi 5.X.X.X, selanjutnya secara otomatis saat anda menjala...