author Ahmad Muhardian

Belajar C++ #04: Mengenal Fungsi Input dan Output pada C++


Tutorial C++: Fungsi Input dan Output di C++

Pada dasarnya, program komputer hanya terdiri dari tiga bagian:

Struktur dasar program komputer

Input adalah sesuatu data yang kita masukan ke dalam program.

Input biasanya diambil dari perangkat inputan seperti keyboard, mouse, kamera, microphone, dll.

Proses adalah langkah-langkah yang harus dilakukan program untuk menghasilkan output.

Output adalah informasi yang dihasilkan setelah dilakukan proses. Output biasanya ditampilkan ke layar komputer.

Pada bahasa pemrograman C++, terdapat beberapa fungsi dasar untuk menampilkan output dan mengambil input.

Apa saja itu?

Mari kita bahas…

Fungsi Output pada C++

C++ memiliki empat fungsi dasar untuk menampilkan output:

  1. cout untuk menampilkan teks ke layar;
  2. cerr untuk menampilkan error;
  3. clog untuk menampilkan log;
  4. printf() untuk menampilkan output, fungsi ini dari C;

Kita akan fokus membahas yang dua saja, yakni cout dan printf().

Soalnya cerr dan clog, cara pakainya sama seperti cout.

Bedanya sih pada konteks penggunaannya, yakni untuk error dan log.

1. Fungsi cout

Fungsi cout adalah fungsi standar pada C++ untuk menampilkan output ke layar.

Berikut ini struktur dasar fungsi cout:

Struktur dasar fungsi cout

Setelah simbol << kita bisa menuliskan teks yang akan ditampilkan ke layar.

Teks harus diapit dengan tanda petik dan untuk membuat baris baru bisa menggunakan endl atau simbol \n.

Pembuatan baris baru bersifat opsional, terserah kita mau ditambahkan atau tidak.

Contoh:

cout << "Namaku adalah ";
cout << "Petani kode";

Maka outputnya akan ditampilkan dalam satu baris:

Namaku adalah Petani Kode

Sedangkan kalau kita menggunakan endl atau \n.

cout << "Namaku adalah " << endl;
cout << "Petani kode";

Hasilnya akan ditampilkan dalam dua baris:

Namaku adalah
Petani kode

Apapun setelah simbol << akan ditampilkan ke layar. Jika kita ingin menampilkan variabel, kita bisa menulisnya seperti ini:

string nama = "Petani Kode";
cout << "Hello " << nama << endl;

Hasilnya:

Hello Petani Kode

Gampang ‘kan?

Mari kita coba berlatih.

Buatlah program bernama program_output.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){

  cout << "=========== PROGRAM OUTPUT ===========" << endl;
  cout << "Program ini adalah program untuk\n";
  cout << "Menampilkan output ke layar komputer.\n";
  cout << "Output sangat penting buat menampilkan\n";
  cout << "informasi kepada user.\n";
  cout << "======================================" << endl;

  cout << endl;
  cout << "Program ini dibuat oleh Dian" << endl;

  return 0;
}

Coba compile dan jalankan, maka hasilnya:

Program output di C++

2. Fungsi printf()

Fungsi printf() merupakan fungsi yang aslinya dari bahasa C, tapi bisa juga dipakai pada C++.

Fungsi printf() merupakan fungsi untuk menampilkan output ke layar komputer.

Fungsi ini terdapat pada library <stdio.h> dan juga <iostream>.

Berikut ini struktur dasar fungsi printf():

Fungsi printf di c++

Perhatikan:

"format" adalah sebuah teks (string) untuk ditampilkan. Lalu tanda ... akan berisi sebuah variabel atau nilai untuk ditampilkan berdasarkan format yang diberikan pada teks "format".

Mari kita lihat contohnya:

Buatlah sebuah program C++ bernama program_output_printf.cpp, lalu isi dengan kode berikut.

#include <iostream>
using namespace std;

int main(){
    printf("Hello, ini adalah teks output\n");
    printf("Nama saya %s\n", "Dian");
    printf("Usia saya %d\n", 20);
    return 0;
}

Hasilnya:

Output program C++

Ada beberapa hal yang perlu di perhatikan…

Pada fungsi printf() kita menggunakan simbol %s, %d, dan \n untuk format teks.

Mari kita bahas arti dari simbol tersebut:

  • %s adalah simbol untuk menampilkan nilai string;
  • %d adalah simbol untuk menampilkan nilai angka atau bilangan desimal;
  • \n adalah simbol untuk membuat baris baru.

Selain tiga simbol tersebut, masih banyak lagi simbol yang lain.

SimbolArti atau Fungsi
%cuntuk menampilkan karakter
%suntuk menampilkan teks (string)
%d, %iuntuk menampilkan bilangan desimal
%funtuk menampilkan bilangan pecahan
%ountuk menampilkan bilangan oktal
%xuntuk menampilkan bilangan heksadesimal
\tuntuk membuat tabs

Fungsi Input pada C++

Sementara untuk mengambil input, C++ memiliki fungsi cin dan bisa juga menggunakan scanf() dari bahasa C.

1. Fungsi cin

Fungsi cin (c input) adalah fungsi untuk mengambil input dari keyboard.

Berikut ini bentuk dasar fungsi cin:

Fungsi cin pada C++

Fungsi cin membutuhkan variabel untuk menyimpan data yang diinputkan.

Kita akan bahas variabel nanti di:

Intinya variabel berfungsi untuk menyimpan data saat program berjalan.

Mari kita coba menggunakan fungsi cin.

Buatlah program baru bernama program_input.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main(){
    string nama;
    cout << "Tuliskan nama: ";
    cin >> nama;

    cout << "Hi " << nama;
    cout << " elamat datang di club!" << endl;

    return 0;
}

Setelah itu, coba compile dan jalankan.

Maka hasilnya:

Program input di C++

2. Fungsi scanf()

Fungsi scanf() sebenarnya dari bahasa C, tapi bisa juga digunakan pada C++.

Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki format seperti fungsi printf().

Fungsi scanf di bahasa c

Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil.

Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i.

Mari kita lihat contohnya:

#include <iostream>
using namepsace std;

int main () {
    // membuat variabel
    char name[20], web_address[30];

    printf("Nama: ");
    scanf("%s", &name);

    printf("Alamat web: ");
    scanf("%s", &web_address);

    printf("\n------------------------------\n");
    printf("Nama yang diinputkan: %s\n", name);
    printf("Alamat Web yang diinputkan: %s\n", web_address);
   
    return 0;
}

Hasilnya:

Program input dengan scanf di C

Tapi saat kita menginputkan teks yang mengandung spasi, hasilnya akan dipecah menjadi dua seperti ini:

Input scanf mengandung spasi

Untuk mengatasi masalah ini, kita bisa ubah format yang digunakan pada scanf() menjadi seperti ini:

printf("Nama: ");
scanf("%[^\n]s", name);

Maka fungsi scanf() akan menerima spasi.

Dalam menggunakan scanf(), kita dianjurkan menggunakan simbol & sebelum nama variabel.

Contoh:

#include <stdio.h>

void main(){

    int a, b, c;

    printf("Inputkan nilai a: ");
    scanf("%i", &a);

    printf("Inputkan nilai b: ");
    scanf("%i", &b);

    c = a + b;

    printf("Hasil a + b: %i", c);

}

Simbol & berfungsi untuk mengambil alamat memori dari sebuah variabel.

Fungsi scanf() membutuhkan tempat untuk menyimpan nilai yang akan diinputkan.

Karena itu kita memberikan simbol & di depan nama variabel untuk menentukan alamat memori yang akan digunakan oleh scanf().

Apa Selanjutnya?

Nah itulah fungsi-fungsi dasar yang digunakan untuk mengambil input dan menampilkan output pada C++.

Kita bisa menggunakan fungsi bawaan C++ ataupun fungsi dari bahasa C seperti printf(), scanf(), puts() dll.

Kalau saya sih lebih senang menggunakan cin untuk mengambil input dan printf() untuk menampilkan output.

Kalau kamu bagaimana?

Oh iya, selanjutnya silakan pelajari tentang:

📖 Untuk daftar tutorial C++ lainnya, lihat di List Tutorial C++

Ada pertanyaan?

Tuliskan saja di kolom komentar!

Daftar isi tutorial

  1. Belajar C++ #01: Pengenalan Bahasa Pemrograman C++
  2. Belajar C++ #02: Persiapan Pemrograman C++ di Linux
  3. Belajar C++ #02: Persiapan Pemrograman C++ di Windows
  4. Belajar C++ #03: Struktur Dasar Program C++ yang Harus dipahami
  5. Belajar C++ #04: Fungsi Input dan Output
  6. Belajar C++ #05: Variabel, Konstanta, dan Tipe Data
  7. Belajar C++ #06: Operator
  8. Belajar C++ #07: Percabangan
  9. Belajar C++ #08: Perulangan
  10. Belajar C++ #09: Struktur Data Array
  11. Belajar C++ #10: Prosedur dan Fungsi
  12. Belajar C++ #11: Tipe Data Enum (Coming soon)
  13. Belajar C++ #12: Tipe Data Structure (Coming soon)
  14. Belajar C++ #13: Tipe Data Union (Coming soon)
  15. Belajar C++ #14: Pointer
  16. 🚧 Work in Progress 🚧

    Maaf jika ada link yang belum aktif. Link tersebut masih dalam draft atau sedang dikerjakan. Do'akan agar penulis tetap sehat dan tulisannya cepat terbit 🙏. Kamu juga bisa memberikan dukungan dengan mentrakteer kopi ☕ supaya penulis kuat begadang, hehe.