Page 165 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 165

sama dilakukan kembali terhadap elemen array yang tersisa, yaitu memilih elemen minimum
                  kemudian mempertukarkan elemen minimum tersebut dengan elemen paling akhir/pertama dari

                  array  yang  tersisa  tadi.  Kemudian  diisolasi  kembali.  Demikian  seterusnya  hingga  semua

                  elemen terurut.

                  D.  Metode Exchange Sort

                      Algoritma  exchange  merupakan  algoritma  yang  mirip  dengan  bubble  sort,  perbedaan
                  keduanya ada pada bagaimana membandingkan antar elemen. Pada Bubble Sort, elemen yang

                  dibandingkan adalah elemen yang berdekatan, sedangkan algoritma ini membandingkan suatu

                  elemen dengan elemen lainnya dalam array dan melakukan pertukaran jika diperlukan. Jadi ada
                  elemen  yang  selalu  menjadi  elemen  pusat  (pivot).  Untuk  jelasnya  mari  kita  lihat  ilustrasi

                  selanjutnya.

                  E.  Metode Insertion Sort


                      Insertion  berasal  dari  kata  insert  yang  kalo  kita  artikan  ke  bahasa  indonesia  adalah
                  memasukkan  atau  menyisipkan.  Jadi  insertion  sort  adalah  algoritma  pengurutan  yang  cara

                  kerjanya adalah dengan mengambil elemen pada array, kemudian menyisipkan data tersebut

                  pada posisi yang tepat. Algoritma ini membandingkan 2 elemen yaitu elemen pertama dengan
                  elemen yang sudah diurutkan. Perbandingan akan terus dilakukan hingga tidak ada elemen yang

                  tersisa.
                      Pertama akan dilakukan perulangan, dimana setiap perulangan,  Insertion Sort  ini akan

                  memindahkan nilai elemen kemudian menyisipkannya secara berulangan hingga nilai elemen

                  berada di posisi yang tepat. Untuk lebih mudah memahami, yuk kita lihat ilustrasi selanjutnya.

                  F.  Contoh Program

                  1.  Contoh 1 – Program penggunaan bubble sort
                                                      KODE PROGRAM
                  #include <iostream>
                  using namespace std;
                  void tukar(int *, int *);
                  void cetakArray(int arr[], int ukuranArray);

                  int main() {
                      int ukuranArray = 5;
                      int arr[ukuranArray] = {3, 7, 1, 9, 5};

                      cout << "Keadaan awal array" << endl;
                      cetakArray(arr, ukuranArray);
                      cout << endl;

                      // algoritma Bubble Sort
                      for (int i = 0; i < ukuranArray-1; i++) {
                          cout << "\nPerulangan ke #" << i+1 << endl;
                          for (int j = 0; j < ukuranArray-i-1; j++) {                                    142
                              // menampilkan keadaan array
                                cetakArray(arr, ukuranArray);

                              // logika pertukaran
                              if (arr[j] > arr[j+1]) {
   160   161   162   163   164   165   166   167   168   169   170