Page 220 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 220
• kuadratNilai[]: Deklarasi array baru kuadratNilai dengan tipe int untuk menyimpan hasil
kuadrat dari nilai-nilai dalam array nilai[]. Ukuran array kuadratNilai dihitung dengan
membagi panjang array nilai dengan ukuran elemen array nilai (dalam hal ini, sizeof(int)).
3) Perulangan untuk Menghitung Kuadrat:
• Perulangan for iterasi dari 0 sampai dengan nilai terakhir dalam array nilai.
• Pada setiap iterasi:
o Indeks i digunakan untuk mengakses elemen array nilai dan kuadratNilai.
o Fungsi pow() dari pustaka cmath digunakan untuk menghitung pangkat dua dari
elemen array nilai[i].
o Hasil pangkat dua disimpan dalam elemen array kuadratNilai[i].
4) Menampilkan Hasil:
• Menampilkan pesan "Nilai Kuadrat: " ke konsol.
• Perulangan for iterasi dari 0 sampai dengan nilai terakhir dalam array kuadratNilai.
• Pada setiap iterasi:
o Elemen array kuadratNilai[i] dicetak ke konsol dengan spasi di antara setiap elemen.
5) Perhitungan Ukuran Array:
• Baris ini menghitung ukuran array kuadratNilai dengan membagi panjang array nilai
dengan ukuran elemen array nilai.
• sizeof(nilai): Mengambil panjang array nilai dalam byte.
• sizeof(int): Mengambil ukuran tipe data int dalam byte.
• Hasil pembagian sizeof(nilai) / sizeof(int) akan menghasilkan jumlah elemen dalam array
nilai, yang kemudian digunakan sebagai ukuran array kuadratNilai.
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
} 211
}
kata[indexKata++] = kalimat; // Menyimpan kata terakhir
// Membalik urutan kata
reverse(kata, kata + jumlahKata);