0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan6 halaman

Input dan Output di C: printf dan scanf

Dokumen ini menjelaskan tentang fungsi input dan output dalam bahasa pemrograman C, termasuk penggunaan printf() untuk menampilkan data dan scanf() untuk menerima input dari pengguna. Ditekankan bahwa scanf() tidak dapat membaca string yang mengandung spasi, dan sebagai solusinya, fgets() dapat digunakan untuk membaca input lengkap dengan spasi. Selain itu, terdapat penjelasan mengenai cara menghapus karakter newline yang ditambahkan oleh fgets() menggunakan fungsi strcspn().

Diunggah oleh

Ardian Majid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan6 halaman

Input dan Output di C: printf dan scanf

Dokumen ini menjelaskan tentang fungsi input dan output dalam bahasa pemrograman C, termasuk penggunaan printf() untuk menampilkan data dan scanf() untuk menerima input dari pengguna. Ditekankan bahwa scanf() tidak dapat membaca string yang mengandung spasi, dan sebagai solusinya, fgets() dapat digunakan untuk membaca input lengkap dengan spasi. Selain itu, terdapat penjelasan mengenai cara menghapus karakter newline yang ditambahkan oleh fgets() menggunakan fungsi strcspn().

Diunggah oleh

Ardian Majid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Berikut adalah materi lengkap tentang Input dan Output di C, termasuk penjelasan tentang

bagaimana menangani input string, baik yang mengandung spasi maupun tidak.

Input dan Output di C

1. Fungsi printf() untuk Output

Fungsi printf() digunakan untuk menampilkan (output) data ke layar.

Sintaks:

printf("format string", argumen);

• "format string" adalah template teks yang akan dicetak. Di dalamnya, kita bisa
menggunakan format specifier untuk menampilkan variabel dengan tipe tertentu.

• argumen adalah nilai variabel yang akan digantikan di tempat format specifier.

Contoh:

#include <stdio.h>

int main() {

int a = 5;

float b = 3.14;

char c = 'A';

// Menampilkan berbagai tipe data

printf("Nilai integer: %d\n", a); // %d untuk integer

printf("Nilai float: %.2f\n", b); // %.2f untuk float dengan 2 digit desimal

printf("Nilai char: %c\n", c); // %c untuk char

return 0;

Output:

Nilai integer: 5

Nilai float: 3.14

Nilai char: A

2. Fungsi scanf() untuk Input


Fungsi scanf() digunakan untuk membaca input dari pengguna.

Sintaks:

scanf("format string", &argumen);

• "format string" adalah template yang mendefinisikan tipe data yang diinginkan dari input.

• &argumen adalah alamat variabel tempat input akan disimpan (menggunakan operator &
untuk mendapatkan alamat variabel).

Contoh:

#include <stdio.h>

int main() {

int a;

float b;

char c;

// Menerima input dari pengguna

printf("Masukkan sebuah integer: ");

scanf("%d", &a); // Input integer

printf("Masukkan sebuah float: ");

scanf("%f", &b); // Input float

printf("Masukkan sebuah karakter: ");

scanf(" %c", &c); // Input karakter (perhatikan spasi sebelum %c)

// Menampilkan hasil input

printf("Integer yang dimasukkan: %d\n", a);

printf("Float yang dimasukkan: %.2f\n", b);

printf("Karakter yang dimasukkan: %c\n", c);

return 0;

}
Output:

Masukkan sebuah integer: 10

Masukkan sebuah float: 3.5

Masukkan sebuah karakter: X

Integer yang dimasukkan: 10

Float yang dimasukkan: 3.50

Karakter yang dimasukkan: X

3. Format Specifiers di printf() dan scanf()

Berikut adalah beberapa format specifiers yang sering digunakan:

Tipe Data Format Specifier Penjelasan

int %d Menampilkan integer

float %f Menampilkan angka desimal

double %lf Menampilkan angka desimal ganda

char %c Menampilkan karakter

string %s Menampilkan string (array char)

unsigned int %u Menampilkan unsigned integer

long %ld Menampilkan long integer

4. Input String di C

Di C, kita bisa menggunakan scanf() untuk membaca string, tetapi perlu diperhatikan bahwa scanf()
tidak membaca spasi dalam string. Untuk input yang mengandung spasi, kita bisa menggunakan
fgets().

4.1 Menggunakan scanf() untuk Input String

Untuk membaca string yang tidak mengandung spasi, kita menggunakan format specifier %s pada
scanf().

Contoh:

#include <stdio.h>

int main() {

char str[100]; // Menyediakan array untuk string


printf("Masukkan sebuah string: ");

scanf("%s", str); // Membaca string tanpa spasi

printf("String yang dimasukkan: %s\n", str);

return 0;

Output:

Masukkan sebuah string: HelloWorld

String yang dimasukkan: HelloWorld

4.2 Masalah dengan scanf() untuk Input String dengan Spasi

Jika pengguna memasukkan kalimat yang mengandung spasi, scanf("%s", str) hanya akan membaca
kata pertama sebelum spasi.

Contoh:

#include <stdio.h>

int main() {

char str[100];

printf("Masukkan sebuah string: ");

scanf("%s", str); // Menggunakan %s, akan berhenti di spasi

printf("String yang dimasukkan: %s\n", str);

return 0;

Input:

Hello World

Output:

String yang dimasukkan: Hello


4.3 Solusi untuk Input String dengan Spasi: Gunakan fgets()

Untuk membaca input yang mengandung spasi, kita bisa menggunakan fgets(), yang membaca satu
baris input (termasuk spasi) dan memasukkannya ke dalam array karakter.

Contoh:

#include <stdio.h>

int main() {

char str[100];

printf("Masukkan sebuah string (termasuk spasi): ");

fgets(str, sizeof(str), stdin); // Membaca seluruh baris termasuk spasi

printf("String yang dimasukkan: %s\n", str);

return 0;

Input:

Hello World C Programming

Output:

String yang dimasukkan: Hello World C Programming

4.4 Menghapus Karakter Newline pada fgets()

Karakter newline (\n) akan ditambahkan di akhir input oleh fgets(). Untuk menghapusnya, kita bisa
menggunakan fungsi strcspn() untuk mencari posisi newline dan menggantinya dengan karakter null
(\0).

Contoh:

#include <stdio.h>

#include <string.h>

int main() {

char str[100];

printf("Masukkan sebuah string (termasuk spasi): ");


fgets(str, sizeof(str), stdin); // Membaca seluruh baris termasuk spasi

// Menghapus karakter newline (\n) yang ditambahkan oleh fgets

str[strcspn(str, "\n")] = '\0';

printf("String yang dimasukkan: %s\n", str);

return 0;

Input:

Hello World

Output:

String yang dimasukkan: Hello World

Kesimpulan:

• printf(): Digunakan untuk menampilkan output ke layar. Format specifiers seperti %d, %f, %s
digunakan untuk menampilkan data sesuai tipe yang diinginkan.

• scanf(): Digunakan untuk menerima input dari pengguna. %s digunakan untuk membaca
string tanpa spasi.

• fgets(): Digunakan untuk membaca seluruh baris input, termasuk spasi. Biasanya digunakan
ketika kita ingin memasukkan kalimat lengkap.

• Untuk menghapus karakter newline yang ditambahkan oleh fgets(), kita dapat menggunakan
strcspn().

Jika ada bagian yang masih kurang jelas atau kamu ingin contoh lain, beri tahu saya!

Anda mungkin juga menyukai