Showing posts with label diktat. Show all posts
Showing posts with label diktat. Show all posts

perkalian matriks dengan vektor

halo kawan-kawan,, gimana kabar nya ? selalu sehat ya,, kali ini saya ingin share tentang program perkalian matriks dengan vektor, nah , gimana ya ??, mari kita simakkk..

 Analisis : 
         Syarat dua matriks dapat dikalikan adalah ukuran kolom matriks pertama haruslah sama dengan ukuran baris matriks kedua. begitu juga jika perkalian matriks dan vektor. Cara kerja perkalian nya dapat diambarkan sebaga berikut. Misal matiks A berukuran 2 x 3 dan vektor B berukuran 3 x 1 dan akan menghasilkan matriks C berukuran 2 x 1.

 dari dua baris persamaan tersebut kita dapat menemukan suatu pola, yaitu untuk memperoleh elemen c[i,j] maka suku perkalian dari elemen a dengan baris i dan b dengan kolom j. Sedangkan kolom elemen a dan baris elemen b ternyata mempunyai perulangan tersendiri, yaitu k, dengan k= 1, 2, 3. Dapat dilihat bahwa k mengikuti perulangan p, sedangkan i mengikuti perulangan m dan j mengikuti perulangan n. Setiap persamaan memperlihatkan adanya kumulatif penjumlahan.

input :
mat[i][j]

output :
A[i][j]

Ilustrasi :




Algoritma :

procedure kali_matriks(input matriks1,matriks2 : matriks; baris, kolom, barkol : integer; output mat_kali : matriks)

Deklarasi i,j,k : integer




 Translasi :
C++

#include <iostream.h>
void baca_matriks (int mat[10][10], int baris, int kolom)
{ int i,j;
for (i=0; i<baris; i++)
for (j=0; j<kolom; j++)
{ cout << "Data [“ << i+1 << “,” << j+1 << “] : ”;
cin >> mat[i][j];
}
}
void kali_matriks(const int matriks1[10][10], const int matriks2[10][10],
int baris, int kolom, int barkol, int mat_kali[10][10])
{ int i,j,k;
for (i=0; i<baris; i++)
for (j=0; j<kolom; j++)
{ mat_kali[i][j] = 0;
for (k=0; k<barkol; k++)
mat_kali[i][j] = mat_kali[i][j] +
matriks1[i][k] * matriks2[k][j];
}
}
void cetak_matriks (const int A[10][10], int baris, int kolom)
{ int i,j;
for (i=0; i<baris; i++)
{ for (j=0; j<kolom; j++)
cout << A[i][j];
cout << endl;
}
}
void main() {
int m, n, p;
int matriks1[10][10], matriks2[10][10];
int hasil[10][10];
printf("Baris matriks ke-1 : ");
scanf("%d",&m);
printf("Banyak kolom : "); scanf("%d",&p);
printf("Kolom matriks ke-2 : ");
scanf("%d",&n);
printf("Data matriks ke-1\n");
baca_matriks(matriks1,m,p);
cetak_matriks(matriks1,m,p);
printf("Data matriks ke-2\n");
baca_matriks(matriks2,p,n);
cetak_matriks(matriks2,p,n);
kali_matriks(matriks1,matriks2,m,n,p,hasil);
printf("Hasil Perkalian : \n");
cetak_matriks(hasil,m,n);
}


flowchart :





















Read More

sorting c++

sorting c++ 

Halo guys , gimana kabar nya pada kesempatan kali ini kita akan belajar tentang Sorting pada c++. Ini merupakan pengetahuan dasar yang harus kamu pahami agar kedepanya menjadi lenih mudah, untuk itu langsung aja ya simak artikel berikut ini.


#include <iostream>
#include <string>

using namespace std;
void baca_data(int A[], int n)
{ int i;
for (i = 0; i < n; i++)
{ cout << "Data ke- "<<i+1<<": ";
cin >> A[i];
}
}
void cetak_data(const int A[], int n)
{ int i;
for (i = 0; i < n; i++)
cout <<A[i]<<" ";
cout << "\n";
}
void tukar (int *a, int *b)
{ int temp;
temp = *a;
*a = *b;
*b = temp;
}
void minimum(int A[], int dari, int n, int * tempat)
{ int i, min;
min = A[dari];
*tempat = dari;
for (i = dari+1; i<n; i++)
if (A[i] < min)
{ min = A[i];
*tempat = i;
}
}
void selection_sort(int A[], int n)
{ int i, t;
for (i = 0; i<n; i++)
{ minimum(A, i, n, &t);
tukar(&A[i], &A[t]);
}
}
main() {
int data[10], n;
cout << "Banyak data : ";
cin >> n;
baca_data(data,n);
cetak_data(data,n);
selection_sort(data,n);
cetak_data(data,n);
return 0;
}

Nah itulah tadi sedikit penjelasan dan pembahasan kali ini semoga menambah wawasan kamu ya....
Read More

menentukan nilai maksimum dari n bilangan (diktat 6.3)

menentukan nilai maksimum dari n bilangan.








#include <iostream>
#include <math.h>

using namespace std;

class HitungStatistik {
friend ostream& operator<<(ostream&, HitungStatistik&);
friend istream& operator>>(istream&, HitungStatistik&);
public:
int maksimum();
private:
int maksimum2(int, int);
int n;
int A[20];
};

istream& operator>>(istream& in, HitungStatistik& a)
{
cout << "Banyaknya data : ";
cin >> a.n;
for (int i = 0; i < a.n; i++)
{
cout << "Data ke- : " << i+1 << " > ";
cin >> a.A[i];
}
return in;
}

int HitungStatistik::maksimum2(int a, int b)
{ if (a>b) return(a);
else return(b);
}

int HitungStatistik::maksimum()
{ int temp = A[0];
for (int i = 1; i<n; i++)
temp = maksimum2(temp, A[i]);
return(temp);
}

ostream& operator<<(ostream& out, HitungStatistik& a) {
cout << "Nilai terbesar: " << a.maksimum();
return out;
}

main() {
HitungStatistik run;
cin >> run;
cout << run;
return 0;
}

sumber http://elpituyogi.blogspot.co.id/2016/04/tugas-diktat-bab-7-kasus-63.html


Read More