semua tentang cara penggunaan char pada C

 Hai sobat semua kali ini kita akan bahas mengenai char pada C. 

Dalam bahasa pemrograman C, tipe data char digunakan untuk menyimpan satu karakter. Karakter ini dapat berupa huruf, angka, atau simbol lainnya yang dinyatakan dalam kode ASCII atau Unicode. Tipe data char biasanya digunakan untuk merepresentasikan teks, seperti dalam string atau dalam variabel tunggal untuk menyimpan karakter tunggal.

Contoh penggunaan char dalam C:

char pada C

#include <stdio.h>

int main() {

    char huruf = 'A'; // Mendefinisikan variabel char dengan nilai karakter 'A'

    printf("Karakter: %c\n", huruf); // Mencetak karakter ke layar

    return 0;

}

Dalam contoh di atas, kita mendefinisikan variabel huruf sebagai char dan memberikan nilai karakter 'A' kepadanya. Kemudian, kita mencetak karakter tersebut ke layar dengan %c dalam printf.

Lalu bagaimana jika ingin input pada variabel dengan char?

Oke berikut caranya!

char pada C

#include <stdio.h>

int main() {

    char huruf;

    printf("Ketik 1 huruf :");

    scanf("%c", &huruf);

    printf("Karakter: %c\n", huruf); // Mencetak karakter ke layar

    return 0;

}

Program diatas jika di run maka akan berjalan dengan baik, contoh :


Namun apabila sebelum huruf kita juga input space atau newline(enter) maka program akan membaca space atau newline sebagai karakternya. Contohnya liat pada output berikut ini :

Nah untuk menyiasati kekurangan tersebut, sobat bisa menambahkan spasi sebulum %c menjadi seperti ini " %c". Jika ditulis ulang pada program akan terlihat seperti ini :

char pada C

#include <stdio.h>

int main() {

    char huruf;

    printf("Ketik 1 huruf :");

    scanf(" %c", &huruf); //tambahkan spasi sebelum %c

    printf("Karakter: %c\n", huruf); // Mencetak karakter ke layar

    return 0;

}

Bagaimana sudah bekerja dengan baik bukan algoritmanya. Kenapa penambahakn space bisa berpengaruh pada char ? berikut alasannya :

scanf(" %c", &huruf);

Pernyataan pertama memiliki spasi sebelum format string "%c", yaitu " %c". Spasi ini disebut spasi format dan digunakan untuk mengabaikan karakter whitespace (seperti spasi, tab, atau baris baru) sebelum mengambil karakter. Dengan kata lain, jika ada karakter whitespace sebelum karakter yang dimasukkan oleh pengguna, spasi format akan mengabaikannya dan hanya akan mengambil karakter non-whitespace pertama.

scanf("%c", &huruf);

Pernyataan kedua hanya menggunakan format string "%c" tanpa spasi. Ini akan langsung mengambil karakter apa pun yang dimasukkan oleh pengguna, termasuk karakter whitespace seperti spasi atau baris baru.


Sekarang bagaimana jika ingin input lebih dari satu karakter menggunakan char?

Caranya adalah dengan menjadikan char bertipe data array dan pada scanf tidak lagi menggunakan %c melainkan %s ini berarti dia adalah string. Mari perhatikan contoh program berikut ini :

array char pada C

#include <stdio.h>

int main() {

    char nama[25];

    char nim[25];

    printf("Ketik nama: ");

    scanf("%s", nama);

    printf("Ketik NIM: ");

    scanf("%s", nim); 


    printf("Nama: %s\n", nama);

    printf("NIM: %s\n", nim);

    return 0;

}

Jika kita input nama tanpa spasi maka program akan berjalan dengan lancar. Masalahnya adalah kita menggunakan %s dalam scanf untuk membaca string, yang berfungsi untuk membaca satu kata (hingga bertemu spasi atau karakter whitespace lainnya). Jadi, ketika kita memasukkan "belajar bareng c" untuk nama, %s akan membaca "belajar" sebagai nama dan "bareng" sebagai NIM. Perhatikan output berikut ini!


Untuk memperbaiki program sehingga dapat mengambil nama dan NIM yang lebih dari satu kata, kita bisa menggunakan fgets untuk membaca input sebagai string. Di sini adalah program yang diperbaiki:

array char pada C

#include <stdio.h>


int main() {

    char nama[25];

    char nim[25];


    printf("Ketik nama: ");

    fgets(nama, sizeof(nama), stdin);

    printf("Ketik NIM: ");

    fgets(nim, sizeof(nim), stdin);


    printf("Nama: %s", nama);

    printf("NIM: %s", nim);


    return 0;

}

berikut output dari program :


Dengan menggunakan fgets, program akan dapat mengambil seluruh baris teks, termasuk spasi dan karakter whitespace lainnya, untuk nama dan NIM.

Oke silahkan sobat eksplore lebih banyak lagi mengenai penggunaan char pada C. Jika sobat ada pertannyaan bisa langsung chat di kolom komentar atau hubungi email rosebravo2020@gmail.com. Kami juga menyediakan private course bagi sobat yang butuh bantuan dalam menyelesaikan tugas atau memahami materi perkuliahan. Thank you.


Post a Comment for "semua tentang cara penggunaan char pada C"