728x90 AdSpace

  • Latest News

    Categories

    Jumat, 13 Mei 2016

    kasus 8.4 (Insertion Sort)

    Algoritma nya :

    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;
    }
     muhammadsutiknocronosal.blogspot.com


    Output/hasil compiler dari program tersebut :
      

    kunjungi blog saudaran ku untuk nomor yg lain :
    • Blogger Comments
    • Facebook Comments

    0 komentar:

    Posting Komentar

    Item Reviewed: kasus 8.4 (Insertion Sort) Rating: 5 Reviewed By: Unknown
    Scroll to Top