Rabu, 25 Mei 2016

Mengalikan vaktor 2 elemen dengan MATRIK 2*3 dan vaktor 3 elemen

1

1. Identifikasi masalah
    mengalikan vektor 2 elemen dengan matriks berukuran 2*3 dan    vektor 3 elemen

2. Menentukan input dan output
    Input : matrix[2][3]={6,3,1,4,2,5}
                vektor[3]={1,2,4}
                vek[2]={4,6}
    Output : matrix 2*3 dan vektor 3 elemen
                  16
                  28
                  vektor 2 elemen dengan matrix 2*3 dan vetor 3 elemen
                  64
                  168

3. Membuat flowchart atau algoritma

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

Deskripsi :
Write(“Matrix 2*3”)
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 Matrix 2*3 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 Vektor 2 Elemen dengan Matrix 2*3 dan Vektor 3 Elemen“)
            for int iß 0 to 2 then i++
hasil[i] ßhasil[i]*vekt[i];
write (“hasil[i]”)
end for

4. Test data
    Input : MATRIX[2][3]=[6 3 1]
                                      [4 2 5 ]
                vektor[3]=[1 2 4]
                vek[2]=[4 6 ]
    Output : MATRIX 2*3 dan vektor 3 elemen
                  [16]
                  [28]
                  vektor 2 elemen dengan matrix 2*3 dan vetor 3 elemen
                  [64]
                  [168]

5. Implementasi C++

#include <cstdlib>
#include <iostream>

using namespace std;

void perkalian(int matrix[2][3],int vektor[3],int hasil[2]){
 cout<<"Matrix 2X3 : \n";
 for(int a=0;a<2;a++){
  for(int b=0;b<3;b++)
   hasil[a]=hasil[a]+(matrix[a][b]*vektor[b]);
 }
}

void cetak_trix(int hasil[][3]){
 for(int a=0;a<2;a++){
  for(int b=0;b<3;b++)
   cout<<hasil[a][b]<<" ";
   cout<<endl;
 }
}

void cetak_vek(int vektor[]){
 cout<<"Vektor 3 Elemen : \n";
 for(int a=0;a<3;a++){
  cout<<vektor[a]<<endl;
 }
}

void cetak_br(int vek[]){
 cout<<"Vektor 2 Elemen : \n";
 for(int a=0;a<2;a++){
  cout<<vek[a]<<endl;
 }
}
void cetak(int hasil[]){
 cout<<"Hasil Matrix 2X3 dan Vektor 3 Elemen : \n";
 for(int a=0;a<2;a++){
  cout<<hasil[a]<<endl;
 }
}

void cetakhasil(int vek[2],int hasil[]){
 cout<<"Hasil Vektor 2 Elemen dengan Matrix 2X3 dan Vektor 3 Elemen : \n";
    for(int a=0;a<2;a++){
 hasil[a]=hasil[a]*vek[a];
 cout<<hasil[a]<<endl;
}
}

int main(int argc, char** argv) {
 int matrix[2][3]={6,3,1,4,2,5}, vektor[3]={1,2,4},vek[2]={4,6},hasil[2]={0};
 perkalian(matrix,vektor,hasil);
 cetak_trix(matrix);
 cetak_vek(vektor);
 cetak(hasil);
 cetak_br(vek);
 cetakhasil(vek,hasil);

 return 0;
}

6. Eksekusi



Selasa, 17 Mei 2016

Selection Sort

0

RENCANA KULIAH MINGGU KE SEMBILAN TENTANG SORTING
Selection Sort
Algoritma pengurutan dengan metode seleksi dapat diilustrasikan demikian. Misalkan
diberikan data awal :
[8, 4, 7, 3, 1, 2, 6, 5]
Data pertama adalah 8. Akan dicari (atau tepatnya “dipilih/diseleksi”) data terkecil dari data
kedua sampai terakhir yang terkecil untuk menempati posisi pertama (i=1) ini. Data terkecil
ditemukan pada posisi ke-5 (t=5). Maka data pertama ditukar dengan data ke-5, menjadi :
[1, 4, 7, 3, 8, 2, 6, 5]
Langkah ini diulang untuk data kedua (i=2). Ditemukan data terkecil pada posisi ke-6 (t=6). Datake-2 ditukar dengan data ke-6, menjadi :
[1, 2, 7, 3, 8, 4, 6, 5]

Fase selengkapnya dapat dilihat pada data berikut ini.
Data awal :      [8, 4, 7, 3, 1, 2, 6, 5]   1 terkecil, 8àß1
fase 1               [1, 4, 7, 3, 8, 2, 6, 5]   2 terkecil, 4àß2
fase 2               [1, 2, 7, 3, 8, 4, 6, 5]   3 terkecil, 7àß3
fase 3               [1, 2, 3, 7, 8, 4, 6, 5]   4 terkecil, 7àß4
fase 4               [1, 2, 3, 4, 8, 7, 6, 5]   5 terkecil, 8àß5
fase 5               [1, 2, 3, 4, 5, 7, 6, 8]   6 terkecil, 7àß6
fase 6               [1, 2, 3, 4, 5, 6, 7, 8]   7 terkecil, tetap
fase 7               [1, 2, 3, 4, 5, 6, 7, 8]
fase 8               [1, 2, 3, 4, 5, 6, 7, 8]

1.       Identifikasi masalah : metode SELCTION SORT mengurutkan angka dimana   elemen- elemen di perbandingkan satu-persatu sampai pada elemen terakhir dan di susun berdasarkan ketentuan berlaku (terbesar atau terkecil).


2.      Analisis:
àinput  : int data[10], n;
            cout<<"Banyak data : ";
            cin>>n;
            baca_data(data,n);
àoutput : cetak_data(data,n);
            selection_sort(data,n);
            cout<<endl;
            cout<<"DATA YANG TELAH TERSUSUN DARI TERKECIL HINGGA TERBESAR "<<endl;
            cetak_data(data,n);


3.      Membuat flowchare









4.      Tes menggunakan data
è Input               : 7 6 5 4 3
è Output             : 3 4 5 6 7

5.       C++

#include <cstdlib>
#include <iostream>

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]);
}
}

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);
        cout<<endl;
        cout<<"DATA YANG TELAH TERSUSUN DARI TERKECIL HINGGA TERBESAR "<<endl;
        cetak_data(data,n);
       
       
        system ("pause");
        return 0;
}


6.       Eksekusi (hasil runing C++)


waktu pengerjaan : 3 jam 




Jumat, 06 Mei 2016

c++ mencari mean, median, modus, max, min dari banyak nilai yang di inputkan

0

#include<iostream>
#include<conio.h>
using namespace std;

main(){
int pil,banyak[10


float nilai[100],jumlah=0,max,min, rata,med;
cout<<"masukan jumlah bilangan= ";cin>>n;    
for(int i=0;i<n;i++){
cout<<"masukan nilai bil ke "<<i+1<<" = "; cin>>nilai[i];        
}    
    


//(1) menetukan nilai maksimum minimum
for(int i=0;i<n;i++){
if(nilai[i]>max){
max=nilai[i];        
}
}
cout<<"nilai maksimum= "<<max;
cout<<endl;
min=nilai[0];
for(int i=0;i<n;i++)
{
if(nilai[i]<min)
{
min=nilai[i];
}
}
cout<<"nilai minimum= "<<min;
cout<<endl;
//(2) menetukan modus
 //untuk mengurutkan secara ascending
 cout<<"nilai yang diurutkan"<<endl;
   for(int i=0;i<n;i++)
   {
     for(int j=(i+1);j<n;j++)
      {
       if(nilai[i]>nilai[j])
        {
         int tmp;
         tmp=nilai[i];
         nilai[i]=nilai[j];     //mengurutkan data
         nilai[j]=tmp;
        }
      }
     
      cout<<nilai[i]<<"  ";
   }

   //menghitung berapa kali muncul tiap angka
   for(int i=0;i<n;i++)
   {
     banyak[i]=0;
      for(int j=0;j<n;j++)
      {
       if(nilai[i]==nilai[j])
         {
          banyak[i]++;
         }
      }
   }

   //menentukan nilai yang paling sering muncul
   for(int i=0;i<n;i++)
 {
  if(banyak[i]>k)
  {
   k=banyak[i];
  }
     
 }

   //jika modus lebih dari satu
   for(int i=0;i<n;i++)
 {
  if(x==0)
   modus[x]=0;
  else
   modus[x]=modus[x-1];

  if(banyak[i]==k)
  {
   if(nilai[i]!=modus[x])
   {
    modus[x]=nilai[i];
    x++;
   }
  }
 }

   //Jika Semua angka muncul sama banyak
   int z=0;
   for(int i=0;i<n;i++)
  {
   if(banyak[i]==k)
   {
          z++;
   }
  }
   if(z==n)
  {
   x=0;
  }

 if (x==0)
  cout<<"\nTidak Ada Modus!"<<endl;
 else
  {cout<<"\nModus ada "<<x<<" = "<<endl;
   for(int i=0;i<x;i++)
   {
   cout<<modus[i]<<" ";
   }


}

cout<<endl;
//(3) mencari mean 
for(int i=0;i<n;i++){
jumlah=jumlah+nilai[i];
    
}
rata=jumlah/n;    
cout<<"mean= "<<rata;

cout<<endl;

//(4) mencari median
if(n%2==0){
    med=(nilai[(n/2)]+nilai[(n/2)-1])/2;
}
else{
    med=nilai[(n/2)];
}
cout<<"median= "<<med;
    
}0],x,modus[100],k=1,n;

LINK TEMAN
LINK TEMAN