The Standard Input and Output (I/O)

Standar Input dan Output (I/O)

Pada umumnya, dalam baasa C terdapat 3 “file streams” yang telah tersedia:

  • stdin–standard input untuk membaca.

  • stdout–standard output untuk menulis.

  • stderr–standard error untuk menunjukkan pesan yang error.

standard input (stdin) file stream Terhubung ke keyboard

standard output (stdout) dan the standard error (stderr) file streams mengacu pada tampilan di layar.

Ketika kita menjalankan perintah printf, sebenarnya kita mengirim output tersebut ke file stream stdout yang kemudian memunculkannya ke layar.

Mendapatkan Input dari User

Bahasa C memiliki beberapa fungsi yang dapat memerintahkan komputer untuk membaca input yang diberikan oleh user(umumnya melalui keyboard).

Menggunakan Fungsi getc()

Fungsi getc() membaca karakter dari file stream dan mengubahnya dalam bentuk integer.

Penulisan perintah fungsi getc() :

#include <stdio.h>

int getc(FILE *stream);

Disini FILE *stream menunjukkan file stream yang digunakan. Fungsi tersebut memasukkan nilai dari karakter yang dibaca. Jika terjadi error atau end-of-file ,fungsi tersebut akan memberikan nilai EOF.
Contoh menggunakan fungsi getc() untuk memasukkan karakter dari keyboard

int ch;
ch = getc( stdin );

Sebuah variabel integer “ch” dideklarasikan; variabel ini akan menjadi wadah bagi nilai yang diterima oleh fungsi getc()

stdin dimasukkan dalam fungsi getc() menunjukkan bahwa file stream yang digunakan adalah dari keyboard.

Menggunakan fungsi getchar()

Terdapat pula fungsi getchar(), yang dapat melakukan operasi yang mirip dengan getc(). Lebih tepatnya, fungsi getchar() adalah sama dengan fungsi getc(stdin).

Penulisan perintah untuk fungsi getchar() :

#include <stdio.h>

int getchar(void);

Void disini menunjukkan bahwa tidak diperlukan penjelasan lebih lanjut untuk menjalankan fungsi tersebut.

Jadi kita dapat menggunakan perintah

ch = getc( stdin );

atau

ch = getchar( );

Untuk menginputkan karakter dari keyboard.

Perlu diingat bahwa tipe variabel yang digunakan dalam perintah getc() dan getchar() adalah integer, tapi gunakan %c pada perintah printf() untuk menampilkan karakter tersebut ke layar.

Menampilkan output ke layar

Selain fungsi getc() and getchar() untuk membaca, bahasa C juga menyediakan 2 fungsi, putc() and putchar(), untuk mencetak.

Menggunakan Fungsi putc()

Fungsi putc() mencetak karakter ke file stream yang telah ditentukan, yaitu standard output.

Penulisan perintah putc()

#include <stdio.h>

int putc(int c, FILE *stream);

Argumen pertama berisi variabel integer “c” menunjukkan bahwa output diperoleh dari data tipe integer yang disimpan dalam variabel bernama c; argumen kedua, FILE *stream, menentukan file stream yang digunakan. Jika berhasil, putc() akan menampilkan karakter berdasarkan nillai yang telah diberikan. Bila gagal akan muncul EOF.

Cintih penggunaan perintah putc() :

putc(ch, stdout);

Perintah diatas akan menampilkan karakter berdasarkan nilai yang terdapat dalam variabel ch

Fungsi putchar()

putchar() juga dapat digunakan untuk mencetak karakter ke layar. Perbedaannya adalah putchar() hanya membutuhkan satu argumen untuk menampilkan karakter. Kita tidak perlu mengisikan tipe file stream yang digunakan seperti pada fungsi putc() karena putchar() telah menggunakan standar output sebagai tipe filestreamnya.

Penulisan perintah putchar() :

#include <stdio.h>

int putchar(int c);

Contoh penggunaan perintah putchar() :

putchar(65);

Ouput yang ditampilkan adalah sebagai berikut:

A

Muncul karakter A karena 65 adalah kode ASCII untuk huruf A

Format specifier

Berikut adalah penulisan perintah printf()

#include <stdio.h>

int printf(const char *format-string, ...);

Disini const char *format-string adalah argumen pertama dimana terdapat format specifier yang dibutuhkan; argumen ini maksudnya adalah dalam printf dibutuhkan penentuan format specifier yang akan digunakan untuk menampilkan isi dari variabel yang sesuai terhadap format specifiernya. Banyak argumen selanjutnya bergantung pada banyaknya format specifier yang digunakan.

Berikut adalah daftar dari format specifier yang dapat digunakan dalam printf():

%c format specifier untuk karakter
%d format specifier untuk integer.
%i format specifier untuk integer(sama dengan %d).
%f format specifier untuk bilangan pecahan desimal.
%e format specifier untuk bilangan baku(huruf kecil).
%E format specifier untuk bilangan baku(huruf kapital).
%g penggunaan %f atau %e, akan memunculkan hasil yang lebih pendek.
%G penggunaan %f atau %E, akan memunculkan hasil yang lebih pendek.
%o format specifier untuk bilangan oktal tanpa tanda(+/-).
%s format specifier untuk variabel tipe string.
%u format specifier untuk bilangan integer tak bertanda(+/-).
%x format specifier untuk bilangan hexadesimal tak bertanda(huruf kecil).
%X format specifier untuk bilangan hexadesimal tak bertanda(huruf kapital).
%p menampilkan corresponding argument yang merupakan pointer.
%n Mencatat jumlah karakter yang sudah ditulis
%% Menampilkan persentase (%).

Mengubah ke bilangan Heksadesimal

Heksadesimal adalah penomoran yang berbasiskan 16. Sebuah angka hexadesimal dapat ditampilkan dalam bentuk 4 bit. (24 sama dengan 16, yang berarti 4 bit dapat menghasilkan 16 angka yang berbeda.) Heksadesimal biasa disingkat dengan Hex.

Angka 0 sampai 9 tidak berubah dalam heksadesimal, hanya saja untuk angka 10 sampai 15 digunakan A,B,C,D,E dan F( atau a,b,c,d,e dan f)

Untuk menampilkan bilangan heksadesimal dalam bahasa C, gunakan format specifier %x atau %X dalam printf.

Menggunakan lebar minimum

Rata kanan

Kita dapat menambahkan sebuah nilai diantara % dan huruf pada format specifier. Nilai tersebut akan menentukan lebar minimum yang akan ditampilkan di layar . Contohnya adalah%10f, 10 menunjukkan lebar minimum yang akan ditampilkan. Jadi output yang ditampilkan akan memiliki lebar minimum 10dengan format rata kanan

Rata Kiri

Untuk menggunakan format rata kanan, dapat diperoleh dengan menambahkan tanda “-” setelah % sebelum angka yang akan menentukan lebar minimum, maka output yang diperoleh akan rata kanan selama output yang ditampilkan tidak lebih panjang dari lebar minimum yang telah ditentukan.

Menentukan banyak angka dibelakang koma(pecahan desimal)

Setelah menentukan panjang minimum yang digunakan, kita dapat menambahkan “.” dan sebuah nilai lagi untuk menentukan berapa banyaknya angka dibelakang koma yang akan ditampilkan. Perintah tambahan ini selain dapat digunakan untuk menentukan banyaknya angka dibelakang koma pada variabel tipe floating point(pecahan desimal), dapat juga digunakan untuk menentukan lebar maksimum yang ditampilkan bagi variabel integer dan string .

Leave a Reply

Your email address will not be published. Required fields are marked *