Minggu, 04 Januari 2026

Tahap 4: Input Data (Bahasa C – Pemula)(04)

 

Tahap 4: Input Data (Bahasa C – Pemula)(04)


Tujuan

Peserta didik mampu mengambil data dari pengguna menggunakan fungsi scanf() serta menampilkannya kembali dengan format yang sesuai.


Materi Pokok

1. Fungsi scanf()

scanf() digunakan untuk menerima input dari pengguna melalui keyboard.

Bentuk umum:

scanf("format", &variabel);

📌 Catatan penting:

  • Menggunakan tanda & (address of) untuk menyimpan input ke variabel

  • Harus sesuai dengan tipe data & format specifier


2. Format Specifier pada scanf()

Tipe DataFormat Specifier
int%d
float%f
double%lf
char%c
string (char[])%s

Contoh:

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

3. Input Lebih dari Satu Variabel

scanf() dapat digunakan untuk menerima beberapa input sekaligus.

Contoh:

int panjang, lebar; scanf("%d %d", &panjang, &lebar);

Latihan Praktik

✔️ Program Input Nilai dan Menampilkan Hasil

#include <stdio.h> int main() { int nilai; char grade; printf("Masukkan nilai: "); scanf("%d", &nilai); printf("Masukkan grade: "); scanf(" %c", &grade); // spasi sebelum %c untuk menghindari enter terbaca printf("\n=== HASIL INPUT ===\n"); printf("Nilai: %d\n", nilai); printf("Grade: %c\n", grade); return 0; }

Contoh Input Beberapa Variabel

#include <stdio.h> int main() { int nilai1, nilai2; float rata; printf("Masukkan dua nilai: "); scanf("%d %d", &nilai1, &nilai2); rata = (nilai1 + nilai2) / 2.0; printf("Rata-rata: %.2f\n", rata); return 0; }

Kesalahan Umum Pemula

❌ Lupa tanda &
❌ Format specifier tidak sesuai tipe data
❌ Input char tanpa spasi " %c"


Tugas Mandiri

  1. Buat program input:

    • Nama (string)

    • Umur (int)

    • Tinggi badan (float)

  2. Tampilkan kembali dengan format rapi


Soal Pilihan Ganda

Materi: Fungsi scanf(), Format Specifier, dan Input Banyak Variabel

1.

Fungsi utama dari scanf() dalam bahasa C adalah …
A. Menampilkan data ke layar
B. Menyimpan data ke file
C. Mengambil input dari pengguna
D. Menghapus data
E. Menghentikan program


2.

Bentuk umum penulisan fungsi scanf() yang benar adalah …
A. scanf(format, variabel);
B. scanf("format", variabel);
C. scanf("format", &variabel);
D. scanf(format, &variabel);
E. scanf("format" &variabel);


3.

Mengapa pada scanf() diperlukan tanda & sebelum nama variabel?
A. Untuk menampilkan data
B. Untuk mengubah tipe data
C. Untuk menunjukkan alamat memori variabel
D. Untuk mempercepat program
E. Untuk memformat output


4.

Manakah penulisan yang benar untuk menerima input bilangan bulat ke variabel umur?
A. scanf("%d", umur);
B. scanf("%f", &umur);
C. scanf("%d", &umur);
D. scanf("%i", umur);
E. scanf("%lf", &umur);


5.

Format specifier yang tepat untuk tipe data double pada scanf() adalah …
A. %d
B. %f
C. %c
D. %s
E. %lf


6.

Jika sebuah variabel bertipe float, maka format specifier yang sesuai pada scanf() adalah …
A. %d
B. %f
C. %lf
D. %c
E. %s


7.

Perhatikan kode berikut:

int nilai; scanf("%d", nilai);

Kesalahan pada kode tersebut adalah …
A. Salah format specifier
B. Tidak ada tanda petik
C. Lupa tanda &
D. Salah tipe data
E. Tidak ada kesalahan


8.

Manakah pasangan tipe data dan format specifier scanf() yang benar?
A. char – %s
B. string – %c
C. int – %d
D. double – %f
E. float – %lf


9.

Untuk menerima input satu karakter bertipe char, penulisan yang benar adalah …
A. scanf("%c", grade);
B. scanf("%c", &grade);
C. scanf("%s", &grade);
D. scanf("%d", &grade);
E. scanf("%f", &grade);


10.

Mengapa pada input karakter sering ditulis " %c" (ada spasi sebelum %c)?
A. Agar lebih cepat diproses
B. Agar tidak terjadi error
C. Untuk membaca spasi sebagai karakter
D. Untuk mengabaikan karakter newline sebelumnya
E. Untuk menambah karakter baru


11.

Perhatikan kode berikut:

int a, b; scanf("%d %d", &a, &b);

Maksud dari kode tersebut adalah …
A. Menginput satu angka saja
B. Menginput dua angka secara terpisah
C. Menginput dua angka dalam satu baris
D. Menginput karakter
E. Menginput string


12.

Jika pengguna memasukkan input:
10 20

Maka nilai variabel a dan b adalah …
A. a = 0, b = 0
B. a = 10, b = 20
C. a = 20, b = 10
D. a = 30, b = 0
E. Error


13.

Perhatikan kode berikut:

int nilai1 = 80, nilai2 = 90; float rata; rata = (nilai1 + nilai2) / 2;

Nilai rata yang dihasilkan adalah …
A. 85
B. 85.0
C. 85.5
D. 86
E. 80


14.

Agar hasil pembagian berupa bilangan desimal, maka penulisan yang benar adalah …
A. (a + b) / 2
B. (a + b) / 2.0
C. (a + b) / 2,0
D. (a + b) * 2
E. (a + b) % 2


15.

Manakah yang termasuk kesalahan umum pemula dalam penggunaan scanf()?
A. Lupa menggunakan printf
B. Lupa menggunakan return 0
C. Lupa tanda &
D. Menggunakan kurung kurawal
E. Menggunakan komentar

0 komentar:

Posting Komentar