C++ Input/Output Dasar: Contoh Cout, Cin, Cerr

โšก Ringkasan Cerdas

C++ Operasi input dan output bergantung pada objek stream yang memindahkan data sebagai urutan byte antara program dan perangkat, dengan cin membaca input keyboard dan cout, cerr, dan clog menulis output ke layar.

  • ๐Ÿ”˜ Aliran: Tugas input dan output berjalan sebagai urutan byte yang disebut stream, memindahkan data antara memori utama dan perangkat.
  • ๐Ÿ“ฅ File header: Pustaka iostream, iomanip, dan fstream mendefinisikan objek dan manipulator yang digunakan untuk input dan output dasar.
  • ๏ธ cout dan cin: Objek cout mencetak dengan operator penyisipan, sedangkan cin membaca nilai dengan operator ex.tracoperator tion.
  • โš ๏ธ cerr dan clog: Keduanya melaporkan kesalahan, namun cerr tetap tidak di-buffer untuk tampilan langsung sementara clog melakukan buffering pesan terlebih dahulu.
  • ๏ธ Penanganan kesalahan: Pemeriksaan "baik", "buruk", "gagal", dan "akhir dari" membaca status aliran data, sehingga operasi yang gagal dapat ditangkap dengan aman.
  • ๐Ÿค– Bantuan AI: Asisten pengkodean AI seperti GitHub Copilot menghasilkan kode standar untuk cin dan cout dari komentar singkat atau nama fungsi.

C++ Input Output Dasar

Apa yang dimaksud dengan Aliran C++?

C++ memberi pengguna sejumlah perpustakaan yang dapat mereka gunakan untuk melakukan tugas input/output. Tugas-tugas ini dilakukan dalam bentuk urutan byte, yang populer disebut stream.

Aliran tersebut terbagi menjadi dua:

Jenis aliran

  • Aliran Masukan: Ini adalah jenis aliran di mana byte mengalir dari perangkat seperti keyboard ke memori utama.
  • Aliran Keluaran: Ini adalah jenis aliran di mana byte mengalir dalam arah yang berlawanan, yaitu dari memori utama lalu ke perangkat seperti layar tampilan.

Bagaimana cara kerja streaming?

C++ aliran bekerja sebagai berikut:

  1. Pertama, aliran diinisialisasi dengan tipe yang tepat.
  2. Selanjutnya, Anda harus menentukan di mana operasi I/O akan terjadi menggunakan pointer get/put.
  3. Setelah mencapai lokasi yang tepat dalam aliran, Anda dapat melakukan tugas masukan dan keluaran masing-masing menggunakan operator >> dan <<.

Tabel Fungsi

Berikut ini adalah fungsi yang disediakan dalam file header stream.h:

KelasFungsi
FilebufIni mengatur buffer file untuk membaca/menulis. Ini memiliki fungsi close() dan open() di dalamnya
fstreambaseIni adalah kelas dasar untuk kelas ifstream, fstream, dan ofstream. Pengoperasiannya biasa terjadi pada aliran file.
ifstreamIni adalah kelas aliran file masukan untuk menyediakan operasi masukan.
arusIni adalah kelas aliran file keluaran untuk menyediakan operasi keluaran.
fstreamIni adalah kelas aliran input/output. Kelas ini mendukung operasi input/output secara bersamaan.

C++ File header untuk Input/Output

C++ menyediakan tiga perpustakaan yang dilengkapi dengan fungsi untuk melakukan tugas input/out dasar. Ini termasuk:

  • Aliran Io: Ini adalah singkatan dari aliran input/output standar. File header ini dilengkapi dengan definisi untuk objek seperti cin/cout/cerr.
  • Iomanip: Ini adalah singkatan dari manipulator input/output. Perpustakaan dilengkapi dengan fungsi yang dapat digunakan untuk manipulasi aliran. Ini berisi definisi untuk objek seperti setw, setprecision, dan lainnya.
  • Aliran pertama: Ini adalah file header untuk menjelaskan aliran file. Ini menangani data yang dibaca dari file sebagai input atau yang ditulis ke file, output.

Kata kunci cin dan cout sangat populer C++. Mereka masing-masing digunakan untuk mengambil masukan dan mencetak keluaran. Untuk menggunakannya, Anda harus menyertakan file header iostream dalam program Anda. Alasannya adalah karena mereka didefinisikan dalam file header tersebut. Kegagalan untuk menyertakan file header iostream akan menghasilkan kesalahan. Hal ini disebabkan oleh kegagalan yang dilakukan oleh C++ compiler untuk memahami arti kata kunci.

Objek utama yang didefinisikan dalam file header iostream adalah cin, cout, cerr, dan clog. Mari kita bahas.

std::keluar

Objek cout adalah turunan dari kelas iostream. Ini digunakan untuk menghasilkan keluaran pada perangkat keluaran standar, yang biasanya berupa layar. Ini digunakan bersama dengan operator penyisipan aliran (<<).

Example

#include <iostream>
using namespace std;
int main() {

	char welcome[] = "Welcome to Guru99";

	cout << welcome << endl;

	return 0;
}

Keluaran:

std::keluar

Berikut ini tangkapan layar kodenya:

std::keluar

Code Penjelasan:

  1. Sertakan file header iostream tempat objek cout didefinisikan.
  2. Sertakan namespace std sehingga kita tidak perlu memanggilnya saat menggunakan kelasnya.
  3. Panggil fungsi main(). Kode program harus ditambahkan di dalam tubuhnya. Kurung kurawal pembuka { menandai awal badannya.
  4. Buat variabel karakter bernama welcome untuk menyimpan string "Welcome to" (Selamat datang di). Guru99.
  5. Cetak nilai string selamat datang di konsol. Ujungnya adalah a C++ kata kunci yang berarti garis akhir. Ini menggerakkan kursor untuk mulai mencetak teks pada baris berikutnya.
  6. Program harus mengembalikan nilai setelah eksekusi berhasil.
  7. Akhir dari isi fungsi main().

std::cin

Objek cin adalah sebuah instance dari kelas istream. Objek ini membaca input dari perangkat input, yaitu keyboard. Objek ini biasanya digunakan bersama dengan ex.tracoperator tion (>>). Contohtracobjek tion bertanggung jawab atas extracdata yang dimasukkan melalui keyboard dari objek cin.

Example

Contoh berikut menunjukkan cara menggunakan kata kunci cin di C++:

#include <iostream>
using namespace std;
int main()
{
	int number;

	cout << "Enter a number:";
	cin >> number;
	cout << "\nYou entered: " << number;

	return 0;
}

Keluaran:

std::cin

Berikut ini tangkapan layar kodenya:

std::cin

Code Penjelasan:

  1. Sertakan file header iostream ke dalam program kami. Objek cin didefinisikan dalam file header ini.
  2. Sertakan namespace std untuk menggunakan kelasnya. Anda tidak perlu memanggil std saat menggunakan kelasnya.
  3. Panggil fungsi main(). Kode program harus ditambahkan di dalam tubuhnya.
  4. Awal dari isi program.
  5. Deklarasikan variabel bilangan bulat nomor bernama.
  6. Cetak pesan di layar yang meminta pengguna memasukkan nomor.
  7. Baca nilai yang dimasukkan oleh pengguna di konsol dari keyboard.
  8. Cetak nilai yang dibaca di atas pada konsol bersama teks lainnya.
  9. Program harus mengembalikan nilai jika berhasil dijalankan.
  10. Akhir dari badan fungsi utama.

std::cerr

Objek cerr membentuk aliran kesalahan standar untuk mengeluarkan kesalahan C++. Cerr adalah contoh kelas ostream. Objek cerr tidak memiliki buffer. Ini berarti objek ini digunakan saat pesan kesalahan akan segera ditampilkan.

Karena tidak di-buffer, ia tidak menyimpan pesan kesalahan untuk ditampilkan nanti. Ia digunakan bersama dengan operator penyisipan aliran (<<).

Example

#include <iostream>
using namespace std;
int main() {

	cerr << "An Error occurred!";

	return 0;
}

Keluaran:

std::cerr

Berikut ini tangkapan layar kodenya:

std::cerr

Code Penjelasan:

  1. Sertakan file header iostream tempat objek cerr telah ditentukan.
  2. Sertakan namespace std sehingga kita tidak perlu memanggilnya saat menggunakan kelasnya.
  3. Panggil fungsi main(). Logika program harus ditambahkan di dalam tubuhnya. Kurung kurawal pembuka menandai awal isi fungsi.
  4. Gunakan objek cerr untuk mencetak kesalahan di konsol.
  5. Program harus mengembalikan nilai setelah eksekusi berhasil.
  6. Akhir dari badan fungsi utama.

std::menyumbat

Objek clog adalah contoh dari kelas ostream. Objek ini digunakan untuk menampilkan kesalahan pada tampilan standar, monitor. Objek ini mirip dengan objek cerr, tetapi di-buffer. Karena di-buffer, objek ini menyimpan pesan kesalahan dalam buffer hingga buffer terisi/dibersihkan. Objek ini digunakan bersama dengan operator penyisipan aliran (<<).

Example

#include <iostream>
using namespace std;
int main() {
	clog << "An Error occurred!";
	return 0;
}

Keluaran:

std::menyumbat

Berikut ini tangkapan layar kodenya:

std::menyumbat

Code Penjelasan:

  1. Termasuk file header iostream tempat objek clog didefinisikan.
  2. Menyertakan namespace std sehingga kita dapat menggunakan kelasnya tanpa memanggilnya.
  3. Memanggil fungsi main(). Logika program harus ditambahkan di dalam tubuhnya. Tanda { menandai awal isi fungsi.
  4. Gunakan objek bakiak untuk mencetak kesalahan pada keluaran standar, monitor.
  5. Program harus mengembalikan nilai setelah berhasil diselesaikan.
  6. Akhir dari isi fungsi main().

Penanganan kesalahan dengan aliran IO

Objek aliran data yang sama juga melaporkan apakah suatu operasi berhasil atau tidak, yang diungkapkan oleh pemeriksaan status aliran data.

Untuk memeriksa apakah suatu aliran valid atau tidak, Anda dapat menggunakannya sebagai Boolean.

Berikut ini contohnya:

ifstream file( "myfile.txt" );
if ( ! file )
{
        cout << "File NOT opened!" << endl;
}

Untuk mendapatkan detail lebih lanjut tentang status aliran, Anda dapat menggunakan fungsi berikut:

  • bagus()- akan mengembalikan nilai true jika semuanya baik-baik saja.
  • buruk()- akan mengembalikan nilai true jika terjadi kesalahan fatal.
  • fail()- akan mengembalikan nilai true setelah operasi streaming gagal.
  • eof()- akan mengembalikan nilai true jika mencapai akhir file.

Untuk mengetahui apakah operasi baca/tulis tertentu gagal, uji hasil bacanya.

Misalnya, untuk memeriksa apakah pengguna memasukkan bilangan bulat yang valid, lakukan ini:

int p;
if ( cin >> p ) 
{
        cout << "Enter valid number" << endl;
}

Pertanyaan Umum Demo Slot

Objek `cout` bersifat type-safe dan menggunakan operator penyisipan, sehingga secara otomatis mendeteksi tipe setiap nilai. Fungsi `printf` pada bahasa C bergantung pada penentu format seperti `%d` yang harus dicocokkan dengan argumen secara manual.

Sang mantantracOperator `cin` berhenti pada spasi pertama, sehingga `cin` hanya membaca satu kata. Untuk menangkap seluruh baris beserta spasinya, panggil `getline(cin, variable)`, yang membaca hingga karakter baris baru.

Keduanya memulai baris baru, tetapi `endl` juga membersihkan buffer output setiap kali, yang dapat memperlambat loop yang sibuk. Lebih baik gunakan baris baru biasa dan gunakan `endl` hanya ketika buffer harus segera dibersihkan.

Objek cin, cout, cerr, dan clog berada di namespace std. Menulis menggunakan namespace std memungkinkan Anda mengetik cout alih-alih std::cout. Proyek besar sering mempertahankan awalan std secara eksplisit untuk menghindari bentrokan.

Sertakan header iomanip dan gunakan manipulator dengan cout. Manipulator setw memesan lebar bidang, dan setprecision mengatur berapa banyak digit yang muncul, memformat angka dan kolom tanpa mengubah nilai yang tersimpan.

Ya. Karena cout dan cerr adalah aliran terpisah, shell dapat mengarahkan output normal ke file sementara kesalahan masih mencapai layar. Dalam kode, rdbuf dapat mengarahkan aliran ke buffer lain.

Ya. Asisten pengkodean AI membaca komentar atau nama fungsi dan menghasilkan pernyataan cin dan cout, ditambah include iostream dan prompt yang diformat. RevMemperhatikan logika aliran data yang dihasilkan untuk kasus-kasus khusus adalah tindakan yang bijaksana.

Ya. Kopilot GitHub Menyelesaikan pemformatan cout, perulangan validasi cin, dan pemeriksaan kesalahan cerr saat Anda mengetik. Ini tahun 2026. C++ Kecerdasan kode menambahkan kesadaran simbol semantik, sehingga saran multi-file tetap konsisten.

Ringkaslah postingan ini dengan: