Page 264 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 264

Program
                  #include <iostream>
                  using namespace std;

                  void insertionSort(int array[], int n) {
                    for (int i = 1; i < n; i++) {
                      int valueToInsert = array[i]; // Elemen yang akan disisipkan
                      int j = i - 1; // Indeks elemen yang dibandingkan

                      while (j >= 0 && array[j] > valueToInsert) {
                        array[j + 1] = array[j]; // Geser elemen ke kanan
                        j--;
                      }

                      array[j + 1] = valueToInsert; // Sisipkan elemen pada posisinya yang
                  benar
                    }
                  }

                  int main() {
                    // Deklarasi variabel
                    int n; // Jumlah elemen dalam array
                    int array[100]; // Array untuk menyimpan data

                    // Meminta input jumlah elemen
                    cout << "Masukkan jumlah elemen array: ";
                    cin >> n;

                    // Meminta input data array
                    for (int i = 0; i < n; i++) {
                      cout << "Masukkan data ke-" << i + 1 << ": ";
                      cin >> array[i];
                    }

                    // Proses pengurutan
                    insertionSort(array, n);

                    // Menampilkan hasil pengurutan
                    cout << "\nHasil pengurutan (ascending):" << endl;
                    for (int i = 0; i < n; i++) {
                      cout << array[i] << " ";
                    }
                    return 0;
                  }

                  Output:
                  Masukkan jumlah elemen array: 4
                  Masukkan data ke-1: 8
                  Masukkan data ke-2: 6
                  Masukkan data ke-3: 4
                  Masukkan data ke-4: 2

                  Hasil pengurutan (ascending):
                  2 4 6 8

                  Penjelasan:

                  1)  Fungsi insertionSort:


                                                                                                         241
   259   260   261   262   263   264   265   266   267   268   269