Tidak ada niat untuk mengajari hanya ingin berbagi

28 Mei 2016

REFLEKSI MINGGU KE 11

Assalamualaikum warahmatullahi wabarakatuh...

Pertrmuan ke 11 matakuliah Algoritma dan Pemrograman kita belajar tentang array 2 dimensi, di array dua dimensi ini bisa kita buat sebuah matrix yang dimana dimensi pertama menjadi barisnya dan dimensi ke dua menjadi kolomnya, 
contohnya:
Sebagai ilustrasi, array dua dimensi dapat digambarkan sebagai sebuah matriks : 
Misalkan matriks A berordo 2 x 3 : 
  
Dalam memori, setiap elemen matriks A dapat dipetakan seperti :
Itu hanya sekilas saja tentang array 2 dimensi. Untuk lebih detailnya bisa dilihat di diktat atau postingan saya selanjutnya. Mungkin itu saja refleksi minggu ini.

 wassalamualaikum warahmatullahi wabarakatuh
Read More

25 Mei 2016

Perkalian vektor 2 elemen, matrix 2x3 dan vektor 3 elemen

1Assalamualaikum warahmatullahi wabarakatuh..
Kali ini saya akan memposting mengenai  vektor 2 elemen yang dikalikan  dengan matriks berukuran 2x3 dan vektor 3 elemen melalui 6 tahap. 







11.    Identifikasi Masalah
→ Mengalikan Vektor (2 Elemen) dengan Matriks Berukuran 2x3 dan Vektor (3 Elemen)


22.           Menentukan Input dan Output
→ input:              Matrik [2][3] ={ 1,7,6,4,10,9}
                                Vektor[3] ={3,4,5}
                                   Vekt[2]  ={2,3} 
     
→Output:            Hasil matrik berukuran 2 x 3 dengan vektor 3 elemen =| 61    |
                                                                                                                   |124   |
                              
                                hasilil akhir=|122  |
                                                    |291 |
3 3.       Membuat Flowchart/ algoritma

Deklarasi  
: Matrik [2][3]   ={ 1,7,6,4,10,9}  : interger
  Vektor[3]       ={3,4,5}              : interger
  Vekt[2]           ={2,3}                 : interger
  Hasil[2]           =0                       : interger

Deskripsi :
Write(“Matriks Berukuran 2x3”)
For i ß 0 to  2 do then i++
            For j ß0 to 3 then j++
                        hasil[i] ß hasil[i]+(matrik[i][j]*vektor[j]);

end for
end for
for i ß 0 to 2 do then i++
                        for j ß0 to 3 then j++
                                    write (“hasil[i][j]”)
end for
end for
write(“vektor 3 elemen”)
            for iß0 to 2 do then i++
                        write(“vektor[i]”)
end for
write (“Hasil Matrik 2x3 dan Vektor 3 Elemen “)
            for i ß0 to 2 then i++
                        write(“hasil[i]”)
write(“Vektor 2 elemen “ )
for ißto2 then i++
            write(“vekt”)
end for
write (“hasil akhir “)
            for int iß 0 to 2 then i++
hasil[i] ßhasil[i]*vekt[i];
write (“hasil[i]”)
end for
4.4.   Test menggunakan data

Input à
 B =          |           1          7          6          |
                        |           4          10        9          |

A =          |              2              |
                 |              3              |

C =         |              3              |
                |              4              |
                |              5              |

Output à D       = B*C
                                 = |          61           |
                                    |          97           |

Hasil Akhir à     = D* A
                                = |          122         |
                                = |          291         |


5.5.      Implementasi dengan C++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

void kali(int matrik[2][3],int vektor[3],int hasil[2]){
     cout<<"Matriks 2x3 : \n\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<<hasil[i][j]<<" ";
                                     cout<<endl;
     }
}
void cetakve(int vektor[]){
     cout<<"vektor 3 elemen : \n\n";
     for(int i=0;i<3;i++){
                     cout<<vektor[i]<<endl;
     }
}

void cetak(int hasil[]){
     cout<<"Hasil Matrik 2x3 dan Vektor 3 Elemen : \n\n";
     for(int i=0;i<2;i++){
                     cout<<hasil[i]<<endl;
     }
}
void cetakelemenb(int vekt[]){
     cout<<"Vektor 2 Elemen : \n\n";
     for(int i=0;i<2;i++){
                     cout<<vekt[i]<<endl;
     }
}

void cetakelemena(int vekt[2],int hasil[]){
     cout<<"hasil : \n\n";
     for(int i=0;i<2;i++){
     hasil[i]=hasil[i]*vekt[i];
     cout<<hasil[i]<<endl;
}
}
int main(int argc, char** argv) {
     int matrik[2][3]={1,7,6,4,10,9}, vektor[3]={3,4,5},vek[2]={2,3},hasil[2]={0};
     kali(matrik,vektor,hasil);
     cetakm(matrik);
     cetakve(vektor);
     cetak(hasil);
     cetakelemenb(vek);
     cetakelemena(vek,hasil);
     return 0;

}

6. Eksekusi 




Sekian yang bisa saya bagikan semoga bermanfaat 
wassalamualaikum warahmatullahi wabarakatuh
Read More

23 Mei 2016

REFLEKSI MINGGU KE 10

Assalamualaikum warahmatullahi wabarakatuh...

              Rabu, 18 Mei 2016 adalah pertemuan matakuliah Algoritma dan pemrograman. perkuliahan kali ini dosen menjelaskan tentang searching. Dimana shearcing di bagi menjadi 2 yaitu :
1. Pencarian Linier (linier search)
      Andaikan terdapat array aray dengan banyak data sebanyak ukuran. Misalkan kitaingin mencari data kunci dalam array aray. Prinsip pada pencarian linier, setiap data pada arayakan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk). Bila pada posisi ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i. Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada aray.
2. Biner (Binary Search)
        Pada algoritma pencarian biner, data sudah dalam keadaan terurut (untuk mudahnya diasumsikan urut naik). Contoh dalam kehidupan sehari-hari, seperti orang mencari nomor telepon pada buku telepon. Setiap kali pencarian, kunci akan selalu dibandingkan dengan data yang berada di tengah (middle), bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah). Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan). Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).



Trimakasih sudah membaca 
wassalamualaikum warahmatullahi wabarakatuh






Read More

18 Mei 2016

Bubble Sort

Assalamualaikum warahmatullahi wabarakatuh..
      kali ini saya akan menggaerjakan soal dari rencana kuliah bulan 3 minggu ke 2. di sini saya menggerjakan dengan metode yang berbeda dari biasanya langsung saja  ke pekerjaan saya  


1. Mengidentifikasi masalah
    Mengurutkan nilai acak dengan sorting metode bubble sort
2. Input/output
       In            : Y[x], x
       Out        : nilai, x
3. Menggunakan tes data
                                                input :
banyak data : 6 
data ke 1 : 9
data ke 2 : 8 
data ke 3 : 7
data ke 4 : 6
data ke 5 : 5
data ke 6 : 4
Data Awal : 9 8 7 6 5 4  
data setelah diurutkan : 4 5 6 7 8 9

Proses pengurutan secara manual 
For I ← 1 to x-1
Jika T[i]>T[i+1] Maka
Pindahkan (T[i], T[i+1])
Jika elemen kiri > elemen kanan maka kita pindahkan.
Data awal : 9 8 7 6 5 4
Baris 1: 8 9 7 6 5 4
Baris 2 : 8 7 9 6 5 4
Baris 3 : 8 7 6 9 5 4
Baris 4 : 8 7 6 5 9 4
Baris 5 : 8 7 6 5 4 9
Baris 6 : 7 8 6 5 4 9
Baris 7 : 7 6 8 5 4 9
Baris 8 : 7 6 5 8 4 9
Baris9 : 7 6 5 4 8 9
Baris 10 : 6 7 5 4 8 9
Baris 11 : 6 5 7 4 8 9
Baris 12 : 6 5 4 7 8 9
Baris13 : 5 6 4 7 8 9
Baris 14 : 5 4 6 7 8 9
Baris 15 : 4 5 6 7 8 9
4. Inplementasikan dengan C++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void baca_data(int Y[], int x){
            int i;
            for(i=0; i<x; i++){
            cout<<"Data ke - "<<i+1<<" : ";
            cin>>Y[i];
}
}
void cetak_data(int Y[], int x){
            int i;
            for(i=0; i<x;i++)
            cout<<Y[i]<<" ";
            cout<<" \n";
}
void tukar(int *p, int*q){
            int temp;
            temp = *p;
            *p = *q;
            *q = temp;
}
void bubble_sort(int T[], int x){
            int i, j;
            for(i = 0; i<x-1; i++)
            for(j = i+1; j<x; j++)
            if(T[i] > T[j])
            tukar(&T[i], &T[j]);

}
int main(int argc, char** argv) {
int nilai[100], x;
cout<<"Banyak data : ";
cin>>x;
baca_data(nilai,x);
cout<<"\ndata awal : "<<endl;
cetak_data(nilai,x);
bubble_sort(nilai,x);
cout<<"data setelah di urutkan : "<<endl;
cetak_data(nilai,x);

            return 0;
}
5. Outputnya : 


untuk menyelesaikan permasalahan tersebut saya memerlukan waktu kurang lebih 5 jam.

Sekian yang bisa saya bagikan semoga bermanfaat 
wassalamualaikum warahmatullahi wabarakatuh
Read More
Diberdayakan oleh Blogger.