Lompat ke konten Lompat ke sidebar Lompat ke footer

Mencetak dan Menginput Nilai Bahasa C Menggunakan Printf dan Scanf

Pada artikel ini akan dijelaskan mengenai cara Mencetak dan Menginput Nilai Bahasa C menggunakan fungi Printf dan fungsi Scanf.


Sebelum lebih lanjut mempelajari materi tentang cara Mencetak dan Menginput Nilai Bahasa C Menggunakan Printf dan Scanf, terlebih dahulu pelajari materi tentang: Membuat Nilai Variabel Tidak Berubah pada Bahasa C Menggunakan Konstanta Qualifier, Inisialisasi Variabel Statik Bahasa C dan Larangannya, dan Keyword Register Bahasa C dan Fungsinya.

Dalam pemrograman bahasa C, dua fungsi kunci yang sangat penting untuk berinteraksi dengan pengguna adalah printf dan scanf. Fungsi ini digunakan untuk mencetak (output) dan menginput (input) nilai, memungkinkan pengembang untuk berkomunikasi dengan pengguna program. Artikel ini akan menjelaskan cara penggunaan printf dan scanf untuk mencetak dan menginput nilai dalam bahasa C.

Mencetak Nilai dengan printf

Fungsi printf digunakan untuk mencetak nilai atau teks ke dalam output standar (biasanya layar). Format umum printf adalah sebagai berikut:

Sintak: printf(format, nilai1, nilai2, ...);

Keterangan:
  • format: Menentukan tata letak dan jenis data yang akan dicetak.
  • nilai1, nilai2, ...: Nilai atau variabel yang akan dicetak sesuai dengan format yang ditentukan.

Contoh: Penggunaan printf.

#include <stdio.h>


int main() {

int angka = 42;

float pi = 3.14;


// Mencetak nilai integer dan

// float

printf("Nilai integer:

 %d\n", angka);

printf("Nilai float:

 %f\n", pi);


// Mencetak teks

printf("Halo, dunia!\n");


return 0;}

Output:
Nilai integer: 42
Nilai float: 3.140000
Halo, dunia!

Dari contoh yang diperlihatkan sebelumnya, %d dan %f adalah format specifier yang menunjukkan tata letak nilai untuk jenis data tertentu.

Menginput Nilai dengan scanf

Fungsi scanf digunakan untuk menginput nilai dari pengguna atau sumber masukan lainnya. Format umum scanf adalah sebagai berikut:

Sintak: scanf(format, &variabel1, &variabel2, ...);

Keterangan:
  • format: Menentukan tata letak dan jenis data yang akan diinput.
  • &variabel1, &variabel2, ...: Alamat dari variabel yang akan menerima nilai dari input.

Contoh: Penggunana scanf.

#include <stdio.h>


int main() {

int umur;

float tinggi;


// Meminta input dari pengguna

printf("Masukkan umur Anda:

 ");scanf("%d", &umur);


printf("Masukkan tinggi Anda

 (dalam meter): ");

scanf("%f", &tinggi);


// Menampilkan nilai yang

// diinput

printf("Umur: %d tahun\n",

 umur);


printf("Tinggi: %.2f meter\n",

 tinggi);


return 0;

}

Output:
Masukkan umur Anda: 25
Masukkan tinggi Anda (dalam meter): 1.75
Umur: 25 tahun
Tinggi: 1.75 meter

Dari contoh yang diperlihatkan sebelumnya, %d dan %f pada scanf juga merupakan format specifier yang sesuai dengan jenis data variabel yang akan diinput.

Berikut ini adalah penjelasan terhadap nilai return yang diberikan oleh printf() dan scanf() pada fungsi yang terdapat dalam bahasa C:

satu, printf(): mengembalikan nilai angka total dari karakter yang dicetak, atau nilai negatif jika output error atau hasil encoding error.

Contoh: fungsi printf() pada kode yang ditulis akan mengembalikan nilai 6, karena pada karakter "CODING" terdiri dari enam karakter.

// Program bahasa C/C++ untuk

// mendemonstrasikan nilai 

// return darai printf()

#include <stdio.h>

 

int main()

{

char st[] = "CODING";

 

printf("Ketika mencetak ");

printf(", nilai return dari"

" printf() adalah :" 

"%d",printf("%s", st));

 

return 0;

}

Output:
Ketika mencetak CODING, nilai return dari printf() adalah : 6

Baca Juga:
Contoh: fungsi printf() pada kode program berikut mengembalikan nilai 9, karena pada karakter '123456789' terdiri dari sembilan karakter.

// Program bahasa C/C++ untuk

// mendemonstrasikan nilai

// return dari printf()

#include <stdio.h>

 

int main()

{

long int n = 123456789;

 

printf("Ketika mencetak ");

printf(", nilai return dari"

" printf() adalah :"

" %d",printf("%d", n));

 

return 0;

}

Output:
Ketika mencetak 123456789, nilai return dari printf() adalah : 9

dua, scanf(): mengembalikan total angka dari input scanf secara penuh, atau EOF (end of file) jika input gagal diterima sebelum argumen pertama yang diterima telah disetujui.

Contoh: fungsi scanf() pertama pada kode program berikut akan menghasilkan nilai kembalian 1, karena nilai yang di-input hanya satu item. Sama dengan nilai kembalian scanf() sebelumnya, input kedua akan mengembalikan nilai 2 karena nilai input scan yang diterima adalah 2, dan scanf() ketiga akan mengembalikan nilai 3 karena input yang diterima adalah 3.

// Program bahasa C/C++ untuk

// mendemonstrasikan nilai

// return dari printf()

#include <stdio.h>

 

int main()

{

char a[100], b[100], c[100];

 

// scanf() dengan satu 

// inputan

printf("\n Nilai return"

" scanf() pertama :"

" %d",scanf("%s", a));

 

// scanf() dengan dua inputan

printf("\n Nilai return"

" scanf() kedua :"

" %d",scanf("%s%s", a, b));

 

// scanf() dengan tiga

// inputan

printf("\n Nilai return"

" scanf() ketiga :"

" %d",scanf("%s%s%s", a, b, c));

 

return 0;

}

Input:
Hai
selamat datang
dunia bawah air

Output:
First scanf() returns : 1
Second scanf() returns : 2
Third scanf() returns : 3

Penanganan Karakter Spasi dalam scanf

Penting untuk dicatat bahwa scanf menggunakan karakter spasi atau karakter tab sebagai pemisah antara nilai input. Oleh karena itu, ketika ingin menginput beberapa nilai sekaligus, pengguna perlu memastikan bahwa karakter spasi atau karakter tab sesuai dengan format specifier yang digunakan.

Contoh:

#include <stdio.h>


int main() {

int nilai1, nilai2;


// Meminta input dua nilai

// integer

printf("Masukkan dua nilai

 integer dipisahkan oleh

 spasi: ");

scanf("%d %d", &nilai1,

 &nilai2);


// Menampilkan nilai yang

// diinput

printf("Nilai Pertama:

 %d\n", nilai1);

printf("Nilai Kedua:

 %d\n", nilai2);


return 0;

}


Dari contoh yang diperlihatkan sebelumnya, pengguna diminta untuk memasukkan dua nilai integer yang dipisahkan oleh spasi.

Kelebihan penggunaan printf dan scanf dalam bahasa C meliputi:
  • Format yang Dapat Disesuaikan: Kedua fungsi ini memungkinkan pengguna untuk mengontrol format output dan input. Format specifier seperti %d, %f, %s, dll., memungkinkan pengembang untuk menentukan tata letak dan jenis data yang sesuai.
  • Interaktif dan Dinamis: Dengan printf dan scanf, pengembang dapat membuat program yang lebih interaktif dan dinamis dengan berkomunikasi dengan pengguna melalui layar. Ini memungkinkan input dan output yang dapat dipahami oleh pengguna.
  • Mendukung Berbagai Jenis Data: Keduanya mendukung berbagai jenis data, termasuk integer, floating-point, karakter, dan string. Hal ini memberikan fleksibilitas dalam menangani berbagai tipe data dalam program.
  • Kemudahan Penggunaan: printf dan scanf merupakan fungsi standar yang telah lama digunakan dalam bahasa C. Oleh karena itu, pengembang dapat dengan mudah memahaminya dan menggunakannya tanpa memerlukan pembelajaran yang rumit.
  • Pengontrolan Tampilan Output: Dengan menggunakan printf, pengembang dapat mengontrol secara presisi jumlah digit yang ditampilkan, jumlah angka di belakang koma desimal, dan tata letak teks atau variabel dalam output.
  • Pengolahan Input dari Pengguna: scanf memungkinkan pengembang untuk menerima input dari pengguna melalui keyboard atau sumber masukan lainnya. Dengan menggunakan format specifier yang sesuai, pengembang dapat menangani input berbagai jenis data dengan mudah.
  • Kemudahan Debugging: Dengan menggunakan printf untuk mencetak nilai-nilai variabel selama eksekusi program, pengembang dapat melakukan debugging dengan melihat nilai-nilai yang dihasilkan pada setiap langkah program. Ini dapat membantu dalam mengidentifikasi masalah dan memperbaikinya.
  • Kompabilitas dan Portabilitas: printf dan scanf adalah fungsi standar yang didukung oleh sebagian besar kompilator dan sistem operasi. Oleh karena itu, program yang menggunakan fungsi ini dapat berjalan dengan baik di berbagai platform.

Meskipun demikian, penting untuk menggunakan fungsi ini dengan hati-hati dan memperhatikan keamanan program. Pengembang harus memvalidasi input pengguna untuk mencegah kerentanan keamanan seperti buffer overflow atau format string vulnerabilities. Selain itu, penggunaan fungsi modern seperti printf_s dan scanf_s (dengan tambahan keamanan) direkomendasikan untuk menghindari beberapa masalah keamanan yang potensial.

Dengan memahami penggunaan printf dan scanf, pengembang dapat dengan mudah berinteraksi dengan pengguna dan membuat program yang lebih dinamis dan interaktif dalam bahasa C. Format specifier pada printf dan scanf memungkinkan pengontrolan format output dan input dengan baik, sehingga pengembang dapat menyesuaikan tampilan dan penggunaan data sesuai dengan kebutuhan program.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Satoto Murti Tomo, Shabela Dwi Luvietasari, Uswatun Chasanah, Vidia Rachmanita Fauziah, dan Afriant Dinta Pratama.

6 komentar untuk "Mencetak dan Menginput Nilai Bahasa C Menggunakan Printf dan Scanf"

  1. Apa yang dimaksud dengan nilai return pada bahasa C?

    BalasHapus
    Balasan
    1. Nilai return atau nilai pengembalian adalah nilai yang dikembalikan oleh fungsi ke script atau fungsi pemanggil saat menyelesaikan suatu tugas. Nilai yang dikembalikan tersebut dapat berupa salah satu dari nilai variabel. Jenis nilai pengembalian fungsi sangat bergantung pada jenis tugas yang telah dijalankan sebelumnya oleh fungsi tersebut.

      Hapus
  2. Apa perbedaan return value dan return statement pada bahasa C?

    BalasHapus
    Balasan
    1. Return value mengembalikan nilai pada fungsi itu sendiri, baik itu untuk menampilkan suatu nilai pada layar, ataupun melakukan perubahan nilai pada nilai variabel yang dipanggil pada fungsi tersebut (tidak terlihat pada layar), sedangkan statement return adalah sebuah statment yang digunakan untuk mengakhiri suatu proses ketika proses tersebut dijalankan, dimana pada tahap akhir setelah proses berhenti statement return akan mengembalikan nilai null pada fungsi awal yang memanggil atau menjalankan fungsi tersebut (fungsi main).

      Hapus
    2. Hmm berarti statement return itu memang berupa sebuah statement atau sebuah keyword dalam bahasa C? sedangkan return value itu adalah istilah yang digunakan untuk sebuah pemanggilan nilai?

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -