Selasa, 24 Mei 2016

perkalian matriks dengan vektor



Pada kali ini saya membuat perogram tentang perkalian matriks dengan vektor, menggunakan Dev c++ dan reptor, program ini juga dibuat dengan 6 langkan yaitu :




1. mengerti masalah :




Bagai mana mengalikan dengan vektor.




2. menentukan input dan output :




Input -> Matriks : | 1  3  7 |

| 0  2  5 |

Vaktor : | 3 |

| 1 |

| 4 |

Output -> hasil : | 34 |

| 22 |




3. membuat algoritma :



Procedur kali matrik ( input/output i,j matrikvektor)




Deklarasi :

i,j = integer

Deskripsi :

for i <- 1 to 2 do

for j <- 1 to 3 do

([i,j]=(]i,j]+a[i,j]*b[i,j])

endfor

endfor

end




4. mengimplementasikan ke bahasa c++ :



#include <iostream>

#include <cstdlib>




/* run this program using the console pauser or add your own getch, system("pause") or input loop */




using namespace std;




void kali(int matrik[2][3],int vektor[3],int hasil[2]){

cout<<"Matrik : \n";

for(int i=0;i<2;i++){

for(int j=0;j<3;j++)

hasil[i]=hasil[i]+(matrik[i][j]*vektor[j]);

}

}

void cetakm(int hasil[][3]){

for(int i=0;i<2;i++){

for(int j=0;j<3;j++)

cout<<"\t"<<hasil[i][j]<<" ";

cout<<endl;

}

}

void cetakv(int vektor[]){

cout<<"\nVektor : \n";

for(int i=0;i<3;i++){

cout<<"\t"<<vektor[i]<<endl;

}

}




void cetak(int hasil[]){

cout<<"\nHasil Terakhir : \n";

for(int i=0;i<2;i++){

cout<<"\t"<<hasil[i]<<endl;

}

}




int main(int argc, char** argv) {

int matrik[2][3]={1,3,7,0,2,5}, vektor[3]={3,1,4},hasil[2]={0};




kali(matrik,vektor,hasil);

cetakm(matrik);

cetakv(vektor);

cetak(hasil);



return 0;

}















5. outputnya









6. menguji coba data




Matriks :

A = | 1  3  7 |

| 0  2  5 |

Vektor :

B = | 3 |

| 1 |

| 4 |

Perkalian :

C = | a11.b11 + a12.b12 + a13.b13 |

| a21.b11 + a22.b12 + a23.b13 |




= | 1x3 + 3x1 + 7x4 | = | 3 + 3 + 28 |

| 0x3 + 2x1 + 5x4 | | 0 + 2 + 20 |




Hasil = | 34 |


| 22|

Jumat, 13 Mei 2016

Refleksi Pertemuan 9


Assalamualaikum w.r.w.b

pertemuan 9  kali ini kami membahas materi tentang shorting. Sorting adalah materi tentang mengurutkan bilangan yang belum terurut menjadi terurut, kita bisa menggunkan aplikasi Dev C++ dan Raptor.

Pertemuan kali dosen sedikit ngambek sehingga perkuliahanpun di ganti menjadi jam 18.30. Setelah perkuliahan di mulai dosen memberikan kami materi sorting dan sedikit panjang menjelaskannya, setelah selesai menjelaskan ada beberapa orang yang di suruh maju untuk menyelesaikan soal yang ada di papan tulis.


Kunjungin juga blog temen kelompok saya
http://ajiekurniass.blogspot.co.id/
cyberclaza.blogspot.co.id

Wassalmualikum W.r.w.b

Kasus 8.7 (Quick Sort)






Assalamu’alaikum w.r.w.b


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Quick Sort.

Algoritma :


procedure quick_sort(output data : larik; input L, R : integer)


Deklarasi
i, j, p : integer
Deskripsi
p <-- data[(L+R) div 2]
i <-- L
j <--R
{ mulai membuat partisi }
while (i<=j) do
while (data[i] < p) do i <-- i+1 endwhile
while (data[j] > p) do j <-- j -1 endwhile
if (i<=j) then
tukar(data[i], data[j])
i <-- i+1
j <-- j-1
endif
endwhile
if (L < j) then quick_sort(data,L,j) endif
if (i < R) then quick_sort(data,i,R) endif


Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

void masuk_data(int A[], int n) {
int i;
for (i = 0; i < n; i++) {
cout << "Data ke-%d : ",i+1;
cin >> A[i];
}
}
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << "%d ",A[i];
cout << "\n";
}
void tukar (int *a, int *b){
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void quick_sort(int data[], int L, int R) {
int i, j, p;
p = data[(L+R) / 2];
i = L;
j = R;
while (i<=j) {
while (data[i] < p) i++;
while (data[j] > p) j--;
if (i<=j){
tukar(&data[i], &data[j]);
i++;
j--;
}
}
if (L < j) quick_sort(data,L,j);
if (i < R) quick_sort(data,i,R);
}

int main(int argc, char** argv) {
int data[10], n;

cout << "Banyak data : ";
cin >> n;
masuk_data(data,n);
quick_sort(data,0,n-1);
cetak_data(data,n);

return 0;
}









Selamat mencoba, dan Semoga bermanfaat :-)



Wassalamu’alaikum w..r.w.b

Kasus 8.6 (Merge Sort)





Assalamu’alaikum w.r.w.b


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Merge Sort.


Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :


#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

typedef int larik[10];
void masuk_data(int A[], int n){
int i;
for (i = 0; i < n; i++){
cout << "Data ke-%d : ",i+1;
cin >> A[i];
}
}
void cetak_data(const int A[], int n) {
int i;
for (i = 0; i < n; i++)
cout << "%d ",A[i];
cout << "\n";
}
void merge(larik a, int kiri, int tengah, int kanan){
int bagianKiri, posTemp, banyakElemen, i;
larik temp;
bagianKiri = tengah - 1;
posTemp = kiri;
banyakElemen = kanan - kiri + 1;
while ((kiri <= bagianKiri) &&(tengah <= kanan))
if ((a[kiri] <= a[tengah])){
temp[posTemp] = a[kiri];
posTemp = posTemp + 1;
kiri = kiri + 1;
}
else{
temp[posTemp] = a[tengah];
posTemp = posTemp + 1;
tengah = tengah + 1;
}
/* kopi bagian kiri */
while ((kiri <= bagianKiri)) {
temp[posTemp] = a[kiri];
posTemp = posTemp + 1;
kiri = kiri + 1;
}
/* kopi bagian kanan */
while ((tengah <= kanan)) {
temp[posTemp] = a[tengah];
posTemp = posTemp + 1;
tengah = tengah + 1;
}
/* kopi kembali ke array asal */
for (i = 1; i <= banyakElemen; i++){
a[kanan] = temp[kanan];
kanan = kanan - 1;
}
}
void merge_sort(larik A, int kiri, int kanan){
int tengah;
if ((kiri < kanan)){
tengah = (kiri + kanan) / 2;
merge_sort(A, kiri, tengah);
merge_sort(A, tengah + 1, kanan);
merge(A, kiri, tengah + 1, kanan);
}
}

int main(int argc, char** argv) {
int n;
larik data;
cout << "Berapa data array : ";
cin >> n;
masuk_data(data, n);
cetak_data(data, n);
merge_sort(data, 0, n-1);
cetak_data(data, n);

return 0;
}



m

muhammadsutiknocronosal.blogspot.com







Output/hasil compiler dari program tersebut :

muhammadsutiknocronosal.blogspot.com


Selamat mencoba, dan Semoga bermanfaat



Wassalamu’alaikum w.r.w.b

Kasus 8.5 (Selection Sort)




Assalamu’alaikum w.w.,


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Selection Sort.
Algoritma :
Procedure selection_sort(output A : larik; input n : integer)


Deklarasi
i, t : integer
Deskripsi
for i <-- 1 to n do
minimum(A, i, n, t);
tukar(A[i], A[t]); {tukar tempat elemen saat ini j dengan elemen terkecil yang ditemukan t}
endfor


Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :


















Output/hasil compiler dari program tersebut :





Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>

using namespace std;

void baca_data(int A[], int n){
int i;
for (i = 0; i < n; i++){
cout << "Data ke-%d : ",i+1);
cin >> A[i]);
}
}
void cetak_data(const int A[], int n){
int i;
for (i = 0; i < n; i++)
cout << "%d ",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]);
}
}

int main(int argc, char** argv) {
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;
}
m














Selamat mencoba, dan Semoga bermanfaat ....


Wassalamu’alaikum w.w.

kasus 8.4 (Insertion Sort)


Assalamu’alaikum w.w.,


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Insertion Sort.
Algoritma :

procedure insertion_sort(input/output data:larik; input n:integer)


Deklarasi
k, j, temp : integer
Deskripsi
for k <-- 2 to n do
temp := data [k];
j := k-1;
while (temp <= data [j]) and (j > 1) do
data [j+1] := data [j];
j := j-1;
endwhile
if (temp >= data [j]) then data [j+1] := temp
else
data [j+1] := data [j];
data [j] := temp;
endif
endfor


Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :















Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <conio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

class Sorting {
friend istream& operator>>(istream& in, Sorting& a);
friend ostream& operator<<(ostream& out, Sorting& a);
public:
void baca_data();
void cetak_data();
void buble_sort();
void insertion_sort();
void selection_sort();
private:
void minimum(int , int, int&);
void tukar (int&, int&);
int data[10], n;
};
istream& operator>>(istream& in, Sorting& a) {
cout<<"Banyak data : ";
in>>a.n;
for (int i = 0; i < a.n; i++) {
cout<<"Data ke-" <<i+1<< " : ";
in>>a.data[i];
}
return in;
}
ostream& operator<<(ostream& out, Sorting& a) {
for (int i = 0; i < a.n; i++)
out<<a.data[i] << " ";
out<<"\n";
return out;
}
void Sorting::tukar (int &a, int &b){
int temp;
temp = a;
a = b;
b = temp;
}
void Sorting::insertion_sort(){
int i, j, temp;
cout<<"Data pertama sudah ada ditangan kiri, yaitu : " << data[0] << '\n';
for(j = 1; j < n; j++){
temp = data[j];
cout<<"\nData ke-" << j+1 << " yaitu " << data[j] << " diambil dari meja\n";
cout<<"Dilakukan penggeseran elemen :\n";
for(i = j - 1; (i >= 0) && (data[i] > temp); i--){
cout<<"data pd posisi ke-[" << i+1 << "] digeser ke posisi [" << i+2 << "]\n";
data[i+1] = data[i];
}
cout<<"Data baru masuk pada posisi ke-[" << i+2 << "]\n";
data[i+1] = temp; //Insert key into proper position
cout<<"Data saat ini adalah : ";
for (int k=0; k<=j; k++) cout << data[k] << " ";
getch();
}
}
int main(int argc, char** argv) {
Sorting angka;
cin>>angka;
angka.insertion_sort();
cout<<"\nHasil akhir adalah : \n";
cout<<angka;

return 0;
}






Output/hasil compiler dari program tersebut :





Selamat mencoba, dan Semoga bermanfaat ....


Wassalamu’alaikum w.w.

Kasus 8.3 : (Bubble Sort)






Assalamu’alaikum w.w.,


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Bubble Sort.

Algoritma :



Procedure Bubble_Sort (input/output x : larik, input n : byte)


Deklarasi
larik = array [1..100] of integer
i, a : byte
k : larik
j, bantu : integer
Deskripsi
for i <-- 1 to n-1 do
for j <-- i+1 to n do
if x[i] > x[j] then
tukar(x[i], x[j])
endif
endfor
endfor


Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :











Output/hasil compiler dari program tersebut :





Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

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 buble_sort (int x[], int n){
int i, j;
for (i = 0; i<n-1; i++)
for (j = i+1; j<n; j++)
if (x[i] > x[j]) tukar(&x[i], &x[j]);
}

int main(int argc, char** argv) {
int data[10], n;
cout<<"Banyak data : ";
cin>>n;
baca_data(data,n);
cetak_data(data,n);
buble_sort(data,n);
cetak_data(data,n);

return 0;
}













Selamat mencoba, dan Semoga bermanfaat ....


Wassalamu’alaikum w.w.

Kasus 8.2 : Pencarian Biner (Binary Search).






Assalamu’alaikum w,r,w,b


Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam Dev C++ .

Algoritma :



function pencarianBiner(input aray : larik; kunci, low, high : integer) : integer


Deklarasi
ketemu : boolean
i, middle : integer
Deskripsi
ketemu <-- false
while (low <= high) and (not ketemu) do
middle <-- (low+high) div 2
if (kunci = aray[middle]) then ketemu <-- true { data pencarian = data di tengah }
else if (kunci < aray[middle]) then high <-- middle – 1 {data akan dicari lagi di sebelah kiri}
else low <-- middle + 1 {data akan dicari lagi di sebelah kanan}
endif
endwhile
if ketemu then pencarianBiner := middle
else pencarianBiner := -1;
endif


Dan ini kodingan Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#define UKURAN 15

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

void cetakHeader(void){
int i;
cout<<"\nSubscript : \n";
for (i=0;i<=UKURAN-1;i++) cout<<i<<" ";
cout<<"\n";
for (i=1; i <= 4*UKURAN; i++) cout<<"-";
cout<<"\n";
}
void cetakBaris(int b[], int low, int mid, int high){
int i;
for (i=0; i<=UKURAN-1; i++)
if (i<low || i>high) cout<< " ";
else if (i==mid) cout<< "*" <<b[i];
else cout<<b[i] << " ";
cout<<"\n";
}
int pencarianBiner(int b[], int kunciPencarian, int low, int high){
int i, middle;
while (low <= high) {
middle = (low+high) / 2;
cetakBaris(b, low, middle, high);
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return -1;
}

int main(int argc, char** argv) {
int a[UKURAN], i, kunci, hasil;
for (i=0; i<=UKURAN-1; i++) a[i] = 2*i;
cout<<"Masukkan bilangan antara 0-28 : ";
cin>>kunci;
cetakHeader();
hasil=pencarianBiner(a,kunci,0,UKURAN-1);
if (hasil != -1) cout<<kunci<<" ditemukan pada posisi : "<< hasil;
else
cout<<kunci<<" tidak ditemukan";

return 0;
}




Selamat mencoba, dan Semoga bermanfaat.



Wassalamu’alaikum w.r.w.b

Kasus 8.1 : Pencarian Linear (Linear Search).





Assalamu’alaikum w.w.,



Pada kesempatan ini saya akan memposting Program dari materi SEARCHING AND SORTING , program ini akan dibuat dalam bentuk Flowchart dan C++ . Program yang akan di buat yaitu : Tentang : Pencarian Linear (Linear Search).

Algoritma :


function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer




Deklarasi
ketemu : boolean
i, n : integer
Deskripsi
ketemu <-- false;
n <-- 1
while ((n < ukuran) and (not ketemu)) do
if (aray[n] = kunci) then
ketemu <-- true { data ketemu }
i <-- n { pada posisi ke-i }
endif
else n <-- n+1 { cek data berikutnya }
endwhile
if ketemu then pencarianLinier <-- i { data ketemu pada posisi ke-i }
else pencarianLinier <-- -1 { data tidak ketemu }
endif
end


Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :












Output/hasil compiler dari program tersebut :








Dan ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#define UKURAN 100

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

int pencarianLinier(int array[], int kunci, int ukuran){
int i;

for (i=0; i<=ukuran-1; ++i)
if (array[i] == kunci)
return i;
return -1;
}

int main(int argc, char** argv) {

int a[UKURAN], x, kunciPencarian, elemen;

for (x=0; x<=UKURAN-1; x++) a[x] = 2*x;
cout<<"Bilangan yang mau dicari : ";
cin>>kunciPencarian;
elemen = pencarianLinier(a,kunciPencarian,UKURAN);
if (elemen != -1)
cout<<kunciPencarian<<" Ditemukan pada posisi elemen ke " << elemen;
else
cout<<kunciPencarian<<" Tidak ada.";

return 0;
}








Selamat mencoba, dan Semoga bermanfaat ....


Wassalamu’alaikum w.r.w.b

Diktat Bab 9

Workshop

Kasus 1

Algoritma

deklarasi
A[maks][maks],baris,kolom::integer
deskripsi
read (baris,kolom)
for i <-- 1 to n -1 do
for j <-- 1 to n-1 do
baris,kolom := A[i][j]
for i <-- 1 to n-1 do
for j <-- 1 to n-1 do
for z <-- 1 to n-1 do
hasil := A[i][j]*2[m]
endfor
endfor
endfor

C++

#include <iostream>

#define maks 10
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
int A[maks][maks], baris, kolom;
cout<<"input baris :"; cin>>baris;
cout<<"input kolom :"; cin>>kolom;
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<"Masukan data ke ["<<i<<"] ["<<j<<"] : "; cin>>A[i][j];
}
}
cout<<"Isi Matriks A :\n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
cout<<A[i][j]<<" ";
}
cout<<endl;
}
int m[baris],n;
cout<<"penghitungan vektor \n";
cout<<"berapa variabel : ";
cin>>m[kolom];
for(int z=0; z<kolom; z++){
cout<<"Masukan data ke ["<<z<<"] "" : "; cin>>m[z];
}
cout<<endl;

cout<<" vektor b : \n";
for(int z=0; z<kolom; z++){
cout<<m[z]<<"\n";
}
cout<<"perkalian matrik dan vektor \n";
for(int i=0; i<baris; i++){
for(int j=0; j<kolom; j++){
for(int z=0; z<kolom; z++){
n=A[i][j]*m[z];
cout<<n<<" ";
}
}
}
return 0;
}






Kasus 2




C++




#include<iostream>




using namespace std;

main(){ int i,j,n;

cout<<"masukkan ordo matriks : "; cin>>n;

for(i=1;i<=n;i++){

for(j=1;j<=n;j++){

if(i==j) cout<<"1 ";

else cout<<"0 ";

}

cout<<endl;

}

}






Flowchart




Kasus 3




C++




#include <iostream>

#include <conio.h>

#include <cstdlib>




using namespace std;

main(){ int i,j,m,n,o;

cout<<"Program transpose matriks C(m,n)\nMasukkan nilai m : ";

cin>>m; cout<<"masukkan nilai n : "; cin>>n;

int mat[m][n];

for(i=0;i<m;i++){

for(j=0;j<n;j++){

cout<<"nilai C("<<i+1<<","<<j+1<<")=";

cin>>mat[i][j];

}

cout<<endl;

}

system("cls");

cout<<"matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n";

for(i=0;i<m;i++){

for(j=0;j<n;j++){

cout<<mat[i][j]<<" ";

}

cout<<endl;

}

o=m; m=n; n=o;

cout<<"\nTranspose matriksnya adalah seperti gambar dibawah ini\n\n";

for(j=0;j<m;j++){

for(i=0;i<n;i++){

cout<<mat[i][j]<<" ";

}

cout<<endl;

}

return 0;

}





Flowchart






Kasus 4




C++




#include <iostream>

#include <stdio.h>

#include <stdlib.h>

using namespace std;

void Masukan(int *q, int brs, int klm) {

int i, j;

for(i = 0; i < brs; i++) {

for(j = 0; j < klm; j++) {

cout << " Elemen [" << (i + 1) << "][" << (j + 1) << "]? ";

scanf("%d", (q + i * klm + j));

}

}

}




void Tampilkan(int *q, int brs, int klm) {

int i, j;

for(i = 0; i < brs; i++) {

cout << endl;

for(j = 0; j < klm; j++) {

cout <<" ";

cout << *(q + i * klm + j) << "\t";

}

}

cout << endl;

}




void Kali(int *p, int *q, int *z, int bA, int kA, int bB, int kB) {

int i, j, k;

for(i = 0; i < bA; i++) {

for(j = 0; j < kB; j++) {

*(z + i * bB + j) = 0;

for(k = 0; k < kA; k++) {

*(z + i * bB + j) += *(p + i * kA + k) * (*(q + k * kB + j));

}

}

}

}




int main() {

cout<<"\t\t\tPROGRAM : PERKALIAN MATRIKS DENGAN SKALAR\n";

awal:

int *a, *b, *c, brsA, klmA, brsB, klmB;

cout<<"\n SYARAT...!!!\n";

cout<<" Jumlah Kolom A HARUS SAMA dengan Baris B\n\n";

cout << " Jumlah Baris Matriks A? ";

cin >> brsA;

cout << " Jumlah Kolom Matriks A? ";

cin >> klmA;

cout << " Jumlah Baris Matriks B? ";

cin >> brsB;

cout << " Jumlah Kolom Matriks B? ";

cin >> klmB;

if(klmA != brsB) {

cout << " Perkalian TIDAK Dapat Dilakukan." << endl;

cout << " Jumlah Kolom A TIDAK Sama Dengan Jumlah Baris B." << endl;

} else {

a = (int *) malloc(brsA * klmA * 4);

b = (int *) malloc(brsB * klmB * 4);

c = (int *) malloc(brsA * klmB * 4);




cout << "\n Kordinat Inputan [y][x]" ;

cout << "\n Contoh: ordo 2x2" ;

cout << "\n [1][1]\t[1][2]\t" ;

cout << "\n [2][1]\t[2][2]\t" ;

cout << "\n\n Input Matriks A:\n" ;

cout << " ----------------\n";

Masukan(a, brsA, klmA);

cout << "\n Input Matriks B:\n" ;

cout << " ----------------\n";

Masukan(b, brsB, klmB);




cout << "\n Matriks A:" << endl;

Tampilkan(a, brsA, klmA);

cout << "\n Matriks B:" << endl;

Tampilkan(b, brsB, klmB);

Kali(a, b, c, brsA, klmA, brsB, klmB);

cout << "\n Matriks A x B:" << endl;

Tampilkan(c, brsA, klmB);

}

cout<<"\n\n Apakah Anda Ingin Mengulang [Y/N] ? " ;

char m ;

cin>>m;

if (m == 'y' || m== 'Y')

goto awal;

else if (m == 'n' || m== 'N')

{

goto akhir;

}

akhir:

cout<<"\n\n\t\t\t \"TERMA KASIH\"";

return 0;

}







Kasus 5




C++




#include <iostream>




using namespace std;




main(){ int i,j; float det,temp;

float mat[2][2], c[2][2], ci[2][2], ch[2][2];

for(i=0;i<2;i++){

for(j=0;j<2;j++){

cout<<"nilai C("<<i+1<<","<<j+1<<")=";

cin>>mat[i][j];

c[i][j]=mat[i][j];

}

cout<<endl;

}

cout<<"matriks diatas diilustrasikan seperti gambaran dibawah ini\n\n";

for(i=0;i<2;i++){

for(j=0;j<2;j++){

cout<<mat[i][j]<<" ";

}

cout<<endl;

}

mat[0][1]=-mat[0][1]; mat[1][0]=-mat[1][0];

temp=mat[0][0]; mat[0][0]=mat[1][1]; mat[1][1]=temp;

cout<<"\nadjoin dari matriks diatas adalah\n";

for(i=0;i<2;i++){

for(j=0;j<2;j++){

cout<<mat[i][j]<<" ";

}

cout<<endl;

}

det=mat[0][0]*mat[1][1]-mat[1][0]*mat[0][1];

det=1/(float)det;

cout<<"\nSedangkan untuk inversnya adalah sebagai berikut\n";

for(i=0;i<2;i++){

for(j=0;j<2;j++){

ci[i][j]=det*mat[i][j];

cout<<ci[i][j]<<" ";

}

cout<<endl;

}

for(i=0;i<2;i++){

for(j=0;j<2;j++){

for(int k=0;k<2;k++){

temp=c[i][k]*ci[k][j];

ch[i][j]=ch[i][j]+temp;

}

}

}

cout<<"\nhasil perkalian matriks asal dengan\nmatriks yang telah di invers adalah\n";

for(i=0;i<2;i++){

for(j=0;j<2;j++){

cout<<ch[i][j]<<" ";

}

cout<<endl;

}

}





Flowchart









Jumat, 06 Mei 2016

Rencana Kuliah Bulan ke- 3

latihan 1 :


 Berikut ini adalah Gambar Program Flowchart yang menggunakan Aplikasi RAPTOR :



Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :


#include <iostream>
#include <cstdlib>
#include <string>

using namespace std;

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void geser_kiri();
 void geser_kanan();

private:
 char A[5];
 int posisi;
};

Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}

void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"\nMasukkan Nilai Array Posisi Ke- : ";
 in>>x.posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"Masukkan Elemen Array : ";
 in>>x.A[posisi-1];
 }
 }
 return in;
}

void Array1D::geser_kanan(){
 int n=5;
 int temp=A[n-1];
 for(int i=n-1;i>=0;i--)
 A[i+1]=A[i];
 A[0]=temp;
}

void Array1D::geser_kiri(){
 int n=5;
 int temp=A[0];
 for(int i=0;i<n;i++)
 A[i]=A[i+1];
 A[n-1]=temp;
}

int main(int argc, char *argv[]){
 Array1D x;
 cout<<"\t\t\tArray Masih Kosong : "<<x;
 cin>>x;

 cout<<"\nIsi Array Saat ini : "<<x;
 x.geser_kiri();
 cout<<"Isi Array Setelah di Geser Kiri  : "<<x;
 x.geser_kanan();
 cout<<"Isi Array Setelah di Geser Kanan : "<<x;
 cout<<"\nUrutan Elemen Pada Indeksnya Saat ini  : "<<x;
 system("PAUSE");

    return 0;
}




Outputnya yaitu :


Latihan 2 :
Kasus : Mencari Median

C++

#include <iostream>
#include <cstdlib>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

int main(int argc, char** argv) {
    int data[5];
    int median,i;

   for(i=0;i<5;i++){
    cout<<"Masukan Data : "<<(i+1)<<"\n";
    cin>>data[i];
   }
    i=i-1;
    median=(i+1)/2;
    cout<<endl<<data[median]<<endl;

 return 0;
}


Kasus : Mencari Mean
Raptor


outputnya 



Latihan 3 :
 Menghilangkan Duplikasi Dari Data Yang Diinputkan.

Dan yang ini Gambar Program C++ yang Menggunakan Aplikasi Dev C++ :

#include <iostream>
#include <cstdlib>
#include <string>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

class Array1D{
 friend ostream& operator<<(ostream&, const Array1D&);
 friend istream& operator>>(istream&, Array1D&);
public:
 Array1D();
 void cetak();
 void geser_kiri();
 void geser_kanan();
 void hapus_elemen();

private:
 char A[5];
 int posisi;
};

Array1D::Array1D(){
 for(int i=0;i<5;i++)
 A[i]='O';
}

void Array1D::cetak(){
 for(int i=0;i<5;i++)
 cout<<A[i]<<" ";
}

ostream& operator<<(ostream& out, const Array1D& x){
 for(int i=0;i<5;i++)
 out<<x.A[i]<<" ";
 out<<endl;
 return out;
}

istream& operator>>(istream& in, Array1D& x){
 int posisi;
 for (int posisi=1; posisi<=5; posisi++){
 cout<<"\nMasukkan Nilai Array Posisi Ke- : ";
 in>>x.posisi;
 if(posisi >= 0 && posisi <= 5){cout<<"Masukkan Elemen Array : ";
 in>>x.A[posisi-1];
 }
 }
 return in;
}

void Array1D::geser_kanan(){
 int n=5;
 int temp=A[n-1];
 for(int i=n-1;i>=0;i--)
 A[i+1]=A[i];
 A[0]=temp;
}

void Array1D::geser_kiri(){
 int n=5;
 int temp=A[0];
 for(int i=0;i<n;i++)
 A[i]=A[i+1];
 A[n-1]=temp;
}

void Array1D::hapus_elemen(){
 int posisi;
 cout<<"Pilih Indeks Berapa Yangg akan Di Hapus : ";
 cin>>posisi;
 if(posisi>0 && posisi<=5)
 A[posisi-1]='O';
 else cout<<"Indeks yang Anda Masuukan Salah Karena Indek Hanya Terdiri Dari 1 - 5\n";
}

int main(int argc, char *argv[]){
 Array1D x;
 cout<<"\t\t\tArray Masih Kosong : "<<x;
 cin>>x;

 cout<<"\nIsi Array Saat ini : "<<x;
 x.geser_kiri();
 cout<<"Isi Array Setelah di Geser Kiri  : "<<x;
 x.geser_kanan();
 cout<<"Isi Array Setelah di Geser Kanan : "<<x;
 cout<<"\nUrutan Elemen Pada Indeksnya Saat ini  : "<<x;
 x.hapus_elemen();
 cout<<"\nSetelah dihapus Menjadi : "<<x;

 system("PAUSE");

    return 0;
}



 Outputnya yaitu :