Page 237 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 237

4.  Program
                  #include <iostream>
                  #include <string>
                  #include <algorithm> // Untuk fungsi reverse() dan copy_if()

                  using namespace std;

                  int main() {
                    string kalimat; // Deklarasi variabel string untuk kalimat
                    cout << "Masukkan kalimat: "; // Prompt untuk pengguna
                    getline(cin, kalimat); // Membaca kalimat dari pengguna

                    // Menghitung jumlah kata
                    int jumlahKata = 1; // Minimal 1 kata
                    for (int i = 0; i < kalimat.length(); i++) {
                      if (kalimat[i] == ' ') {
                        jumlahKata++;
                      }
                    }

                    // Memisahkan kata-kata ke dalam array
                    string kata[jumlahKata]; // Array untuk menyimpan kata-kata
                    int indexKata = 0;
                    for (int i = 0; i < kalimat.length(); i++) {
                      if (kalimat[i] == ' ') {
                        kata[indexKata++] = kalimat.substr(0, i); // Menyimpan kata ke array
                        kalimat.erase(0, i + 1); // Menghapus kata yang sudah disimpan
                        i = -1; // Mengatur ulang indeks i
                      }
                    }
                    kata[indexKata++] = kalimat; // Menyimpan kata terakhir

                    // Membalik urutan kata
                    reverse(kata, kata + jumlahKata);

                    // Menampilkan kata-kata terbalik
                    cout << "Kalimat terbalik: ";
                    for (int i = 0; i < jumlahKata; i++) {
                      cout << kata[i] << " ";
                    }

                    return 0;
                  }
                  Output:
                  Masukkan kalimat: Saya mau belajar
                  Kalimat terbalik: belajar mau Saya

                  Penjelasan:

                  1)  Membaca Kalimat:
                       o  Program  menggunakan  getline(cin,  kalimat)  untuk  membaca  kalimat  dari

                           pengguna dan menyimpannya dalam variabel string kalimat.

                  2)  Menghitung Jumlah Kata:
                       o  Perulangan for iterasi melalui kalimat.



                                                                                                         214
   232   233   234   235   236   237   238   239   240   241   242