Lompat ke konten Lompat ke sidebar Lompat ke footer

Getc, Getchar, Getch, dan Getche Bahasa C Beserta Perbedaannya

Dalam bahasa pemrograman C, terdapat beberapa fungsi input standar yang digunakan untuk membaca karakter dari input pengguna. Empat fungsi yang umum digunakan adalah getc(), getchar(), getch(), dan getche(). Artikel ini akan menjelaskan penggunaan dan perbedaan antara keempat fungsi tersebut.


Sebelum lebih lanjut mempelajari materi tentang Getc, Getchar, Getch, dan Getche Bahasa Beserta Perbedaannya, terlebih dahulu pelajari materi tentang: Printf %n Bahasa C dan Fungsinya, Mencetak Simbol % Menggunakan Printf Bahasa C, dan Printf, Sprintf, dan Fprintf Bahasa C Beserta Fungsinya.

Semua fungsi membaca sebuah karakter dari input dan mengembalikan nilai integer. Integer dikembalikan nilainya untuk mengakomodasi sebuah nilai spesial yang digunakan untuk mengindikasi kesalahan. Nilai EOF umumnya digunakan untuk mengakhiri proses ini.

Fungsi Getc

getc() adalah fungsi dalam bahasa C yang digunakan untuk membaca karakter dari sebuah berkas. Fungsi ini memiliki sintaks umum sebagai berikut:

Sintak: int getc(FILE *stream);

Di mana stream adalah pointer ke berkas dari mana karakter akan dibaca. Fungsi ini mengembalikan nilai ASCII dari karakter yang dibaca atau EOF jika akhir berkas telah tercapai atau terjadi kesalahan. 

getc() membaca karakter tunggal dari input stream yang diberikan dan mengembalikan nilai koresponden integer (yang umumnnya membaca nilai karakter ASCII) ketika program telah sukses dijalankan. Kemudian mengembalikan EOF pada nilai kesalahan.

Contoh:

// Contoh penggunaan getc()

// pada bahasa C

#include <stdio.h>

 

int main()

{

printf("%c", getc(stdin));

return(0);

}

Output:
Input: g (masukkan sebuah karakter)
Output: g

Contoh:

#include <stdio.h>


int main() {


FILE *file;

char character;

    

file = fopen("input.txt", "r");


if (file != NULL

{character = getc(file);

printf("Karakter pertama:

 %c\n", character);


fclose(file);}


return 0;}


Fungsi Getchar

getchar() adalah fungsi dalam bahasa C yang digunakan untuk membaca sebuah karakter dari stdin (standar input). Fungsi ini memiliki sintaks umum sebagai berikut:

Sintak: int getchar(void);

Fungsi ini tidak memerlukan argumen, dan membaca satu karakter dari stdin (biasanya keyboard) setiap kali dipanggil. Fungsi ini mengembalikan nilai ASCII dari karakter yang dibaca atau EOF jika akhir file atau kesalahan terjadi. Perbedaan antara getc() dan getchar() adalah getc() dapat membaca dari input stream apapun, tetapi getchar() membaca dari input standar. Sehingga getchar() adalah sama dengan getc(stdin).

Contoh:

// Contoh penggunaan getchar()

// pada bahasa C

#include <stdio.h>

 

int main()

{

printf("%c", getchar());

return 0;

}

Output:
Input: g(masukkan sebuah karakter)
Output: g

Baca Juga:

Contoh:

#include <stdio.h>


int main() {


char character;

printf("Masukkan sebuah

karakter: ");


character = getchar();

printf("Karakter yang 

dimasukkan: %c\n", character);


return 0;}


Fungsi Getch

getch() adalah fungsi dalam bahasa C yang digunakan untuk membaca sebuah karakter dari stdin tanpa menampilkan karakter tersebut di layar. Fungsi ini sering digunakan dalam pengembangan aplikasi konsol yang memerlukan input dari pengguna tanpa menampilkan karakter yang dimasukkan. Namun, perlu diperhatikan bahwa fungsi getch() tidak standar dan mungkin tidak tersedia di semua lingkungan pengembangan. Fungsi getch() merupakan fungsi non-standar dan ditampilkan pada header file conio.h yang umumnya digunakan oleh kompilator MS-DOS seperti Turbo C. Fungsi ini bukanlah merupakan bagian dari library C standar ataupun ISO C, juga bukan merupakan bagian dari POSIX.

Sintak: int getch();

Seperti halnya pada fungsi sebelumnya, fungsi ini membaca karakter tunggal dari keyboard. Tetapi tidak menggunakan buffer, sehingga karakter yang masuk akan dikembalikan segera tanpa menunggu untuk enter key.

Contoh:

// Contoh penggunaan getch()

// pada bahasa C

#include <stdio.h>

#include <conio.h>

 

int main()

{

printf("%c", getch());

return 0;

}

Input:  
g (tanpa menekan tombol enter)

Output:
Program langsung dieksekusi,
Namun ketikan digunakan DOS shell pada Turbo C,
maka akan menampilkan karakter tunggal 'g'

Contoh:

#include <conio.h>

#include <stdio.h>


int main() {


char character;

printf("Masukkan sebuah

 karakter: ");


character = getch();

printf("\nKarakter yang

 dimasukkan: %c\n",

 character);


return 0;}


Fungsi Getche

getche() adalah fungsi dalam bahasa C yang mirip dengan getch(), namun karakter yang dimasukkan oleh pengguna akan ditampilkan di layar. Fungsi ini sering digunakan dalam aplikasi konsol yang memerlukan input dari pengguna dan ingin menampilkan karakter yang dimasukkan di layar. Namun, perlu diingat bahwa fungsi getche() juga tidak standar dan mungkin tidak tersedia di semua lingkungan pengembangan. getche(); seperti halnya getch(), fungsi ini juga merupakan fungsi non-standar yang ditampilakan pada conio.g. Fungsi ini membaca karakter tunggal dari keyboard dan menambilkannya segera setelah pada output screen tanpa menunggu enter key.

Sintak: int getche(void);

Contoh:

// Contoh penggunaan getche()

// pada bahasa C

#include <stdio.h>

#include <conio.h>

 

int main()

{

printf("%c", getche());

return 0;

}

Output:
Input: g(tanpa mengetik karakter karena tidak buffer)
Output: Program akan dieksekusi secepatnya,
Namun ketika menggunakan DOS shell pada Turbo C,
double g, i.e., 'gg'

Contoh:

#include <conio.h>

#include <stdio.h>


int main() {


char character;

printf("Masukkan sebuah

 karakter: ");


character = getche();

printf("\nKarakter yang

 dimasukkan: %c\n",

 character);


return 0;}


Perbedaan Antara Getc, Getchar, Getch, dan Getche:
  • getc(): Digunakan untuk membaca karakter dari sebuah berkas.
  • getchar(): Digunakan untuk membaca karakter dari stdin (standar input) tanpa menampilkan karakter tersebut di layar.
  • getch(): Digunakan untuk membaca karakter dari stdin tanpa menampilkan karakter tersebut di layar (non-standar).
  • getche(): Digunakan untuk membaca karakter dari stdin dan menampilkannya di layar (non-standar).

Ketiga fungsi standar (getc(), getchar(), getch()) digunakan untuk membaca karakter dari input, sementara getche() tambahan menampilkan karakter yang dimasukkan di layar.

Berikut adalah beberapa kelebihan dari penggunaan getc(), getchar(), getch(), dan getche() dalam bahasa C:
  • Kemudahan Penggunaan: Keempat fungsi ini relatif mudah digunakan dan memiliki sintaks yang sederhana, sehingga memungkinkan pengguna untuk dengan cepat membaca input karakter dari pengguna atau dari berkas.
  • Portabilitas: Fungsi getc() dan getchar() merupakan bagian dari standar bahasa C, sehingga dapat diandalkan untuk digunakan di berbagai platform dan lingkungan pengembangan yang berbeda. Meskipun getch() dan getche() tidak termasuk dalam standar bahasa C, fungsi tersebut tersedia di beberapa lingkungan pengembangan dan dapat digunakan dengan baik.
  • Interaksi dengan Pengguna: Fungsi getchar(), getch(), dan getche() memungkinkan pengguna untuk berinteraksi langsung dengan program, karena fungsi tersebut membaca input langsung dari pengguna melalui keyboard. Ini sangat berguna dalam pengembangan aplikasi yang memerlukan input langsung dari pengguna, seperti aplikasi konsol dan permainan sederhana.
  • Tidak Memerlukan Buffering: Fungsi getchar(), getch(), dan getche() tidak memerlukan buffering, sehingga fungsi tersebut dapat langsung membaca input karakter satu per satu dari pengguna. Hal ini memungkinkan aplikasi untuk merespons input pengguna secara instan tanpa menunggu pengguna menekan tombol "Enter".
  • Kemampuan untuk Menampilkan Input: Fungsi getche() memiliki kelebihan tambahan dibandingkan dengan fungsi lainnya yaitu kemampuan untuk menampilkan karakter yang dimasukkan oleh pengguna secara langsung di layar. Hal ini berguna dalam situasi di mana pengguna memerlukan umpan balik langsung tentang karakter yang dimasukkan.
  • Fleksibilitas dalam Pengolahan Input: Penggunaan fungsi-fungsi ini memberikan fleksibilitas dalam pengolahan input, karena fungsi tersebut dapat digunakan untuk membaca karakter dari berbagai sumber, termasuk stdin (standar input) dan berkas.

Dengan kelebihan-kelebihan ini, penggunaan getc(), getchar(), getch(), dan getche() menjadi pilihan yang kuat untuk membaca input karakter dalam bahasa C, memungkinkan pengembang untuk berinteraksi dengan pengguna dengan mudah dan efektif dalam berbagai aplikasi konsol dan pengolahan berkas.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Amalia Intan Nurani Utomo, Anisya Sekar Sari, Arvidhea Safira Gunawan, Dovan Ardy Setyawan, dan Dyas Sangga Anggita.

6 komentar untuk "Getc, Getchar, Getch, dan Getche Bahasa C Beserta Perbedaannya"

  1. "getc" merupakan salah satu fungsi input karakter. getc membaca karakter berikutnya dari sebuah file, dimana proses tersebut membutuhkan sebuah pointer dari file ke file. FUngsi ini adalah fungsi yang paling sederhana untuk membaca sebuah file dalam bahasa C.

    getch mengembalikan karakter berikutnya dari stream yang dirujuk oleh fp; dan mengembalikan EOF atau error.

    BalasHapus
  2. getchar adalah fungsi dalam bahasa pemrograman C yang membaca satu karakter dari stream input standar stdin, apapun bentuk inputnya, dan mengembalikannya ke program atau fungsi pemanggil sebelumnya. Fungsi ini ditentukan dalam ANSI-C dan merupakan fungsi input paling dasar dalam bahasa C. Fungsi getchar juga termasuk dalam file header stdio.h.

    BalasHapus
  3. Fungsi getch() menghentikan konsol output hingga sebuah tombol keyboard ditekan. Fungsi tersebut tidak menggunakan buffer apapun untuk menyimpan karakter input. Karakter yang dimasukkan segera dikembalikan tanpa menunggu tombol enter ditekan. Karakter yang dimasukkan dengan menggunakan fungsi getch() yang telah dimasukkan tidak akan muncul di konsol.

    BalasHapus
  4. Fungsi getche() adalah fungsi dalam bahasa pemrograman C yang menunggu inputan karakter dari keyboard dan juga akan menggemakan karakter input tersebut ke layar output.

    BalasHapus
  5. kenapa menggunakan fungsi getch() dalam bahasa C?

    BalasHapus
    Balasan
    1. Digunakan fungsi getch() dalam bahasa pemrograman C atau C++ adalah untuk menahan layar keluaran untuk beberapa waktu sampai pengguna melewati tombol dari keyboard untuk keluar dari layar konsol. Dengan bantuan dari fungsi getch(), maka karakter input dapat disembunyikan dari pengguna seperti pada penerapan input pada sistem PIN ATM, kata sandi, dan lain sebagainya.

      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 -