Page 242 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 242

Penjelasan:
                  1)  Meminta input jumlah angka:
                      •  Program meminta pengguna untuk memasukkan jumlah angka yang ingin diurutkan
                         menggunakan variabel n.
                  2)  Deklarasi array:
                      •  Deklarasi  array  angka  dengan  ukuran  n  untuk  menyimpan  nilai-nilai  angka  yang
                         diinputkan.
                  3)  Meminta input nilai-nilai angka:
                      •  Loop for digunakan untuk mengulang sebanyak n kali.
                      •  Pada setiap iterasi, program meminta pengguna untuk memasukkan nilai angka dan
                         disimpan dalam array angka[i].
                  4)  Algoritma Bubble Sort:
                      •  Loop for luar (i) diulang sebanyak n - 1 kali.
                      •  Loop for dalam (j) diulang sebanyak n - i - 1 kali.
                      •  Pernyataan if membandingkan nilai pada indeks j dan j + 1.
                      •  Jika nilai pada indeks j lebih besar dari j + 1, lakukan penukaran nilai menggunakan
                         fungsi swap.
                  5)  Menampilkan hasil pengurutan:
                      •  Loop  for  digunakan  untuk  menampilkan  nilai-nilai  dalam  array  angka  dari  indeks  0
                         sampai n - 1.

                  2.  Program
                  #include <iostream>

                  using namespace std;

                  int main() {
                    // Meminta input jumlah angka yang ingin diurutkan
                    int n;
                    cout << "Masukkan jumlah angka yang ingin diurutkan: ";
                    cin >> n;

                    // Deklarasi array untuk menyimpan angka-angka
                    int angka[n];

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

                    // Algoritma Selection Sort
                    for (int i = 0; i < n - 1; i++) {
                      int minIndex = i; // Indeks nilai terkecil saat ini

                      for (int j = i + 1; j < n; j++) {
                        if (angka[j] < angka[minIndex]) {
                          minIndex = j; // Memperbarui indeks nilai terkecil
                        }
                      }

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


                    // Menampilkan hasil pengurutan
                    cout << "Hasil pengurutan (dari terkecil ke terbesar):" << endl;
                    for (int i = 0; i < n; i++) {
                      cout << angka[i] << " ";
   237   238   239   240   241   242   243   244   245   246   247