際際滷

際際滷Share a Scribd company logo
Oleh:
                                  Kelompok IV
                   Irwan Anwar (5520111125)
             Dian Silviana Dewi (5520111111)
                 Winda Oktami (5520111126)
                 Rizqi Nugraha (5520111107)
                  Sugih Waluya (5520111119)


     Teknik Informatika
UNIVERSITAS SURYAKANCANA
            2012
  Algoritma Pemrograman Lanjut
I. PENGERTIAN
           Insertion sort adalah sebuah algoritma pengurutan
            yang membandingkan dua elemen data pertama,
            mengurutkannya, kemudian mengecek elemen
            data berikutnya satu persatu dan
            membandingkannya dengan elemen data yang
            telah diurutkan.

           Metode Insertion Sort adalah proses pengurutan
            yang dimulai dari data ke-2 sampai dengan data ke-
            N, jika ditemukan data yang lebih kecil, maka akan
            ditempatkan (diinsert) diposisi yang seharusnya.



                Algoritma Pemrograman Lanjut
Kelebihan Insertion Sort:
 Implementasi yang sederhana
 Merupakan online algorithmic, yang berarti
  bisa langsun melakukan sort setiap ada data
  baru
 Mangkus dalam pengelolahan data kecil
 Mangkus dalam data yang sudah sebagian
  terurut
 Stabil.
                 Algoritma Pemrograman Lanjut
II. Proses Insertion Sort
   Konsep




             Algoritma Pemrograman Lanjut
 Proses

   Proses dilakukan sebanyak N-1 tahapan
    (dalam sorting disebut sebagai "pass").
   Indeks dimulai dari 0.
   proses sorting dengan cara membandingkan
    data ke-i (dimana i dimulai dari data ke-2
    sampai dengan data terakhir) dengan data
    berikutnya.
   Jika ditemukan data yang lebih kecil maka
    data tersebut disisipkan ke depan sesuai
    dengan posisi yang seharusnya.


                 Algoritma Pemrograman Lanjut
 Contoh
  Urutkan data di bawah ini secara ascending dengan metode insertion sort.



   Penyelesainanya:



                                                       Pass 1 dimulai dari
                                                       kolom L[1], X=L[1]=10.

                                                       15 >X(10), maka geser
                                                       15 ke kanan.

                                                       Kemudian insert X
                                                       menggantikan 15.




                      Algoritma Pemrograman Lanjut
Lanjutan



                                          Pass 2 dimulai dari
                                          L[2], X=L[2]=7.

                                          15 >7, maka geser 15 ke kanan.

                                          10 >7,maka geser 10 ke kanan.

                                          Kemudian insert X menggantikan
                                          10.




           Algoritma Pemrograman Lanjut
Lanjutan




           Pass 3 dimulai dari L[3], X = L[3] = 22.

           15 < 22, maka proses selesai.

           Proses berlanjut sampai Pass 6.




                     Algoritma Pemrograman Lanjut
Lanjutan
           Hasil tiap pass dabat di gambarkan sebagai berikut:




                            Algoritma Pemrograman Lanjut
III. Pseudocode Insertion Sort (Ascending)

   procedure insertionsort(input/output A: array[0..6] of integer input N:integer)
   Deklarasi
             k,X,i:integer
   Deskripsi
             k1
             while (k<=N-1)
                ik
                XA[i]
                while (i>=1 && A[i-1]>X)
                     A[i] A[i-1]
                     ii-1
                endwhile
                A[i] X
                kk+1
             endwhile
   endprocedure
                               Algoritma Pemrograman Lanjut
IV. Program C++
      #include <iostream.h>
      #include <conio.h>
      void insertionsort(int A[7],int N)
      {
           int k,X,i;
           //insertion sort ascending
           k=1;
           while(k<=N-1)
           {
             i=k;
             X=A[i];
             while(i>=1 && A[i-1]>X)
             {
      A[i]=A[i-1];
      i--;
             } //endwhile
             A[i]=X;
             k++;
           } //endwhile
      } //end procedure          Algoritma Pemrograman Lanjut
Lanjutan
          main()
          {
             int L[7];
             int i,N;
             void insertionsort(int A[7],int N);
             //input data array
             cout<<"Input Data Arrayn";
             cout<<"nBanyak Data: ";
             cin>>N;
             for(i=0;i<N;i++)
             {
               cout<<"Nilai ke-"<<i+1<<" = ";
               cin>>L[i];
             } //end loop i
             insertionsort(L,N);//panggil procedure insertionsort
             //output data array
             cout<<"nData setelah diurutkan:n";
             for(i=0;i<N;i++)
             {
               cout<<L[i]<<" ";
             } //end loop i
          getche();
          }



                                       Algoritma Pemrograman Lanjut
Algoritma Pemrograman Lanjut
Alogaritma Pemrograman Lanjut




Algoritma Pemrograman Lanjut

More Related Content

Insertion sort

  • 1. Oleh: Kelompok IV Irwan Anwar (5520111125) Dian Silviana Dewi (5520111111) Winda Oktami (5520111126) Rizqi Nugraha (5520111107) Sugih Waluya (5520111119) Teknik Informatika UNIVERSITAS SURYAKANCANA 2012 Algoritma Pemrograman Lanjut
  • 2. I. PENGERTIAN Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan. Metode Insertion Sort adalah proses pengurutan yang dimulai dari data ke-2 sampai dengan data ke- N, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Algoritma Pemrograman Lanjut
  • 3. Kelebihan Insertion Sort: Implementasi yang sederhana Merupakan online algorithmic, yang berarti bisa langsun melakukan sort setiap ada data baru Mangkus dalam pengelolahan data kecil Mangkus dalam data yang sudah sebagian terurut Stabil. Algoritma Pemrograman Lanjut
  • 4. II. Proses Insertion Sort Konsep Algoritma Pemrograman Lanjut
  • 5. Proses Proses dilakukan sebanyak N-1 tahapan (dalam sorting disebut sebagai "pass"). Indeks dimulai dari 0. proses sorting dengan cara membandingkan data ke-i (dimana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai dengan posisi yang seharusnya. Algoritma Pemrograman Lanjut
  • 6. Contoh Urutkan data di bawah ini secara ascending dengan metode insertion sort. Penyelesainanya: Pass 1 dimulai dari kolom L[1], X=L[1]=10. 15 >X(10), maka geser 15 ke kanan. Kemudian insert X menggantikan 15. Algoritma Pemrograman Lanjut
  • 7. Lanjutan Pass 2 dimulai dari L[2], X=L[2]=7. 15 >7, maka geser 15 ke kanan. 10 >7,maka geser 10 ke kanan. Kemudian insert X menggantikan 10. Algoritma Pemrograman Lanjut
  • 8. Lanjutan Pass 3 dimulai dari L[3], X = L[3] = 22. 15 < 22, maka proses selesai. Proses berlanjut sampai Pass 6. Algoritma Pemrograman Lanjut
  • 9. Lanjutan Hasil tiap pass dabat di gambarkan sebagai berikut: Algoritma Pemrograman Lanjut
  • 10. III. Pseudocode Insertion Sort (Ascending) procedure insertionsort(input/output A: array[0..6] of integer input N:integer) Deklarasi k,X,i:integer Deskripsi k1 while (k<=N-1) ik XA[i] while (i>=1 && A[i-1]>X) A[i] A[i-1] ii-1 endwhile A[i] X kk+1 endwhile endprocedure Algoritma Pemrograman Lanjut
  • 11. IV. Program C++ #include <iostream.h> #include <conio.h> void insertionsort(int A[7],int N) { int k,X,i; //insertion sort ascending k=1; while(k<=N-1) { i=k; X=A[i]; while(i>=1 && A[i-1]>X) { A[i]=A[i-1]; i--; } //endwhile A[i]=X; k++; } //endwhile } //end procedure Algoritma Pemrograman Lanjut
  • 12. Lanjutan main() { int L[7]; int i,N; void insertionsort(int A[7],int N); //input data array cout<<"Input Data Arrayn"; cout<<"nBanyak Data: "; cin>>N; for(i=0;i<N;i++) { cout<<"Nilai ke-"<<i+1<<" = "; cin>>L[i]; } //end loop i insertionsort(L,N);//panggil procedure insertionsort //output data array cout<<"nData setelah diurutkan:n"; for(i=0;i<N;i++) { cout<<L[i]<<" "; } //end loop i getche(); } Algoritma Pemrograman Lanjut