Senin, 16 Mei 2016

Rencana Kuliah 3

  • SELECTION SORT 
  • INSERTION SORT
  • BUBBLE SORT
1.    1.    Identifikasi Masalah
      => melakukan penukaran data dengan tepat disebelahnya secara       terus meneru
2. Menentukan input dan output
                Input: A[i]=i, A[i+1]=j
                Output: A[i]= A[i+1], A[i+1]=A[i]
3. Membuat flowchart 
    

     















 4. Tes menggunakan data
      → input banyak data : 6
          Input data ke 1 : 9
          Input data ke 2 : 8
          Input data ke 3 : 7
          Input data ke 4 : 6
          Input data ke 5 : 5
          Input data ke 6 : 4
          Output : Data setelah diurutkan : 4 5 6 7 8 9

Hasil tersebut diperoleh dari :
For I ← 1 to n-1
If A[i]>A[i+1] then
Tukar (A[i], A[i+1])
Jika elemen kiri > elemen kanan maka kita pindahkan.
Data awal : 9 8 7 6 5 4
Step 1 : 8 9 7 6 5 4 (9>8)
Step 2 : 8 7 9 6 5 4 (9>7)
Step 3 : 8 7 6 9 5 4 (9>5)
Step 4 : 8 7 6 5 9 4 (9>4)
Step 5 : 8 7 6 5 4 9 (8>7)
Step 6 : 7 8 6 5 4 9 (8>6)
Step 7 : 7 6 8 5 4 9 (8>5)
Step 8 : 7 6 5 8 4 9 (8>4)
Step 9 : 7 6 5 4 8 9 (7>6)
Step 10 : 6 7 5 4 8 9 (7>5)
Step 11 : 6 5 7 4 8 9 (7>4)
Step 12 : 6 5 4 7 8 9 (6>5)
Step 13 : 5 6 4 7 8 9 (6>4)
Step 14 : 5 4 6 7 8 9 (5>4)
Step 15 : 4 5 6 7 8 9

    5.  Implementasi c++

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


 main() {
//  nilai variable " nilai[100], n " disni digunakan untuk mengisi nilai parameter dalm prosedur    
int nilai[100], n;
cout << "Banyak data : ";
cin >> n;
baca_data(nilai,n);    //  pemgilan prosedur
cout<<endl;
cout<<"data awal"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur
buble_sort(nilai,n);   //  pemgilan prosedur
cout<<"data stelah diurutkan"<<endl;
cetak_data(nilai,n);   //  pemgilan prosedur

}






  • MENGGESER ELEMEN ARRAY

  • Menggeser elememn array ada dua cara yaitu dengan  menggeser ke kiri dan menggeser ke kanan
    berikut ini adalah algoritma mengeser ke kiri:

    1. Identifikasi masalah
         Menggeser element array
    2. Menentukan input dan output
         Input a, b, temp
         Output kiri
    3. Membuat flowchart
         


    4. Test menggunakan data
         | 4 | 6 |   |
         a = 4
         b = 6
         temp = a
         a = b
         b = c
         A[4] = A[3]
         A[3] = A[2]
         A[2] = A[1]

      5. implementasi c++
             
    MENGGESER KIRI
    #include <cstdlib>
    #include <iostream>
    #define maks5

    using namespace std;

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

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

    array::array(){
     for(int i=0;i<5;i++)
     a[i]='O';
    }
    void array::cetak(){
     for(int i=0;i<5;i++)
     cout<<a[i]<<" ";
    }
    ostream& operator<<(ostream& out, const array& keluar){
     for(int i=0;i<5;i++)
     out<<keluar.a[i]<<" ";
     out<<endl;
     return out;
    }

    istream& operator>>(istream& in, array& masuk){
     int posisi;
       cout<<" \t\tMenggeser elemen array ke kiri"<<endl;
     for (int posisi=1; posisi<=5; posisi++){
      cout<<endl;
     cout<<"Masukkan nilai array posisi ke "<<posisi<<"= ";
     //in>>masuk.posisi;
     if(posisi >= 0 && posisi <= 5){
     //cout<<"masukkan elemen arraynya :";
     in>>masuk.a[posisi-1];
     }
     }
     return in;
    }
    void array::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[])
    {
     array X;
    // cout<<"Array masih kosong : "<<X;

     cin>>X;
     cout<<"Isi Array saat ini : "<<X<<endl;
     X.geser_kiri();
     cout<<endl;
     cout<<"Isi Array setelah di geser kiri : "<<X;

     return 0;

    }



    2. RAPTOR


    Tidak ada komentar:

    Posting Komentar