Page 243 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 243

// Penukaran nilai angka
                      swap(angka[i], angka[minIndex]);
                    }

                    // Menampilkan hasil pengurutan
                    cout << "Hasil pengurutan (dari terkecil ke terbesar):" << endl;
                    for (int i = 0; i < n; i++) {
                      cout << angka[i] << " ";
                    }
                    cout << endl;

                    return 0;
                  }

                  Output:

                  Masukkan jumlah angka yang ingin diurutkan: 5
                  Masukkan angka ke-1: 6
                  Masukkan angka ke-2: 8
                  Masukkan angka ke-3: 9
                  Masukkan angka ke-4: 2
                  Masukkan angka ke-5: 4
                  Hasil pengurutan (dari terkecil ke terbesar):
                  2 4 6 8 9

                  3.  Berikut adalah langkah-langkah algoritma exchange sort:
                      •  Iterasi: Lakukan perulangan sebanyak n - 1 kali, di mana n adalah jumlah elemen dalam array.
                      •  Perbandingan: Pada setiap iterasi, bandingkan elemen pada indeks i dengan elemen pada indeks
                         i + 1.
                      •  Penukaran: Jika elemen pada indeks i lebih besar dari elemen pada indeks i + 1, tukar posisinya.
                      •  Pengecekan Pertukaran: Setelah setiap iterasi, periksa apakah ada pertukaran yang terjadi. Jika
                         tidak ada pertukaran, hentikan algoritma karena array sudah terurut.
                  Program

                  #include <iostream>
                  using namespace std;

                  void exchangeSort(int array[], int n) {
                    bool swapped = true; // Bendera untuk menandakan adanya pertukaran

                    for (int i = 0; i < n - 1 && swapped; i++) {
                      swapped = false; // Asumsi awal tidak ada pertukaran pada iterasi ini
                      for (int j = 0; j < n - i - 1; j++) {
                        if (array[j] > array[j + 1]) {
                          swap(array[j], array[j + 1]);
                          swapped = true; // Tandai bahwa ada pertukaran
                        }
                      }
                    }
                  }

                  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++) {                                                        234
                        cout << "Masukkan data ke-" << i + 1 << ": ";
                      cin >> array[i];
                    }

                    // Proses pengurutan
   238   239   240   241   242   243   244   245   246   247   248