Materi Prompting C++ PJJ kelas X
Prompting adalah proses meminta pengguna untuk memasukkan data. Dalam C++, ini biasanya dilakukan dengan:
Menampilkan pesan (prompt) kepada pengguna. Pesan ini memberi tahu pengguna data apa yang harus mereka masukkan.
Menerima masukan (input) dari pengguna.
1. Menampilkan Pesan (Prompt)
Untuk menampilkan pesan di konsol, kita menggunakan objek cout yang merupakan bagian dari pustaka iostream. cout singkatan dari "console output".
#include <iostream>
int main() {
std::cout << "Masukkan nama Anda: ";
return 0;
}
Dalam contoh di atas, std::cout << "Masukkan nama Anda: "; akan menampilkan teks "Masukkan nama Anda: " di layar. Tanda << dikenal sebagai operator penyisipan (insertion operator), yang menyisipkan data ke cout.
2. Menerima Masukan (Input)
Untuk menerima masukan dari pengguna, kita menggunakan objek cin yang juga bagian dari pustaka iostream. cin singkatan dari "console input".
#include <iostream>
#include <string> // Pustaka untuk menggunakan tipe data string
int main() {
std::string nama; // Mendeklarasikan variabel 'nama' dengan tipe string
std::cout << "Masukkan nama Anda: "; // Menampilkan prompt
std::cin >> nama; // Menerima masukan dan menyimpannya ke variabel 'nama'
std::cout << "Halo, " << nama << "!"; // Menampilkan pesan sambutan
return 0;
}
Dalam contoh ini, std::cin >> nama; akan menunggu pengguna mengetikkan sesuatu dan menekan Enter. Data yang diketikkan akan disimpan ke dalam variabel nama. Operator >> dikenal sebagai operator ekstraksi (extraction operator).
Praktek Lanjutan dan Tips
Menggunakan getline untuk Teks dengan Spasi
Secara default, std::cin >> hanya akan membaca kata hingga menemukan spasi, tab, atau baris baru. Ini bermasalah jika Anda ingin membaca frasa atau kalimat lengkap, misalnya "Jakarta, Indonesia".
Untuk mengatasi ini, gunakan fungsi getline yang membaca seluruh baris hingga baris baru ditemukan.
#include <iostream>
#include <string>
int main() {
std::string alamat;
std::cout << "Masukkan alamat lengkap Anda: ";
std::getline(std::cin, alamat); // Menggunakan getline untuk membaca satu baris penuh
std::cout << "Alamat Anda adalah: " << alamat << std::endl;
return 0;
}
Penting: Saat menggunakan getline setelah cin, sisa karakter baris baru dari cin dapat mengganggu getline. Untuk menghindarinya, Anda perlu membersihkan buffer input dengan std::cin.ignore().
#include <iostream>
#include <string>
int main() {
int umur;
std::string nama;
std::cout << "Masukkan umur Anda: ";
std::cin >> umur;
// Membersihkan buffer input sebelum menggunakan getline
std::cin.ignore();
std::cout << "Masukkan nama lengkap Anda: ";
std::getline(std::cin, nama);
std::cout << "Halo, " << nama << "! Umur Anda adalah " << umur << " tahun." << std::endl;
return 0;
}
Validasi Masukan Pengguna
Program yang baik harus bisa menangani masukan yang tidak valid, misalnya jika pengguna memasukkan teks saat diminta angka.
Anda dapat menggunakan loop dan pemeriksaan status stream untuk memastikan masukan yang valid.
#include <iostream>
int main() {
int angka;
std::cout << "Masukkan sebuah angka: ";
while (!(std::cin >> angka)) { // Loop selama masukan gagal
std::cout << "Masukan tidak valid. Silakan masukkan angka: ";
std::cin.clear(); // Mengatur ulang status error stream
std::cin.ignore(10000, '\n'); // Mengabaikan sisa baris masukan
}
std::cout << "Anda memasukkan angka: " << angka << std::endl;
return 0;
}
Dalam contoh ini:
std::cin >> angkaakan mengevaluasi sebagai false jika masukan tidak cocok dengan tipe dataint.std::cin.clear()akan membersihkan status kesalahan padacin.std::cin.ignore()akan mengabaikan sisa karakter dalam buffer input, mencegah loop tak terbatas.
Ringkasan
Gunakan
coutuntuk menampilkan pesan (prompt) kepada pengguna.Gunakan
cinuntuk membaca masukan dari pengguna untuk satu kata.Gunakan
getline(cin, variabel)untuk membaca masukan yang mengandung spasi.Selalu pertimbangkan validasi masukan untuk membuat program Anda lebih tangguh.
Komentar
Posting Komentar