Berlangganan

About Me


INSTRUKSI MASUKAN DAN KELUARAN

INSTRUKSI MASUKAN

DAN KELUARAN

6

Tujuan Instruksi Umum (TIU):

Mampu mengetahui dan menggunakan instruksi masukan dan keluaran (I / O statement) dalam bahasa C untuk menyelesaikan masalah.

Tujuan Instruksi Khusus (TIK):

• Mengetahui fungsi-fungsi yang digunakan untuk instruksi masukan dan keluaran. • Mampu menampilkan hasil tidak terformat dan hasil terformat • Mengetahui statement untuk penempatan kursor. • Mengetahui statement untuk membersihkan layar.

Pembahasan Materi:

• Instruksi masukan: getchar(), getch(), getche(), gets(), scanf() • Instruksi keluaran: putch(), puts(), puchar(), printf() • Fungsi gotoxy(), wherex(), wherey() • Fungsi clrscr(), clreol()

Sebuah program tidak akan memberikan hasil yang maksimal jika kita tidak dapat mengetahui hasil atau keluaran dari program yang dibuat, sebaliknya program tidak akan maksimal pula bila tidak ada instruksi untuk meminta masukan. Oleh karena itu sebuah program sudah semestinya memiliki instruksi masukan baik melalui pengetikan keyboard atau dari file dan menampilkan keluaran atau hasil dari proses program ke layar monitor, dan atau ke printer, ataupun penulisan ke file.

6.1 Instruksi Keluaran

Bahasa C menggunakan fungsi-fungsi untuk menampilkan keluaran atau hasil proses program. Prototype

dari fungsi-fungsi keluaran berada di file judul ( header file ) stdio.h dan conio.h .

Fungsi-fungsi pustaka yang umum digunakan untuk menampilkan hasil yang prototype-nya berada di file judul stdio.h adalah printf() , putchar() , puts() , fprintf() . Sedangkan fungsi yang prototype-nya berada di file conio.h adalah fungsi putch() , getche() , clrscr() dan fungsi gotoxy() .



Menampilkan hasil tidak terformat

Untuk menampilkan hasil tidak terformat dapat menggunakan fungsi standar putch() , putchar() dan puts() . Tidak terformat dalam hal ini adalah lebar dan bentuk dari tampilannya tidak dapat diatur. Fungsi putchar()

47

-----------------------------------------------------Page 1-----------------------------------------------------

digunakan untuk menampilkan nilai karakter tidak terformat dan fungsi puts() digunakan untuk menampilkan nilai string tidak terformat.

Fungsi putch(int x)

Fungsi putchar(char) Fungsi puts(char *s)

akan menampilkan karakter ASCII dari nilai x ke layar monitor tanpa memindahkan letak kursor ke baris berikutnya.

akan menampilkan karakter tanpa memindahkan letak kursor ke baris berikutnya.

akan menampilkan string dan menambahkan karakter newline (memindahkan letak kursor

ke baris berikutnya).

Listing Program 6.1 Program Puts, Putchar dan Putch

#include <stdio.h> #include <conio.h>

main(void) {

char kata1[10]="Algoritma", kata2[12]="Pemrograman"; char kar1 = '1', kar2= 'A';; int kode= 165;

puts(kata1); puts(kata2);

putchar(kar1); putchar(kar2);

putch(kode);

/* hanya dapat menampilkan 1 argumen, jika menggunakan statemen

puts(kata1, kata2); akan menimbulkan kesalahan */

/* putchar(kar1, kar2); akan menimbulkan kesalahan */

/* akan menampilkan karakter ASCII dari nilai 165 */

return 0;

}

Algoritma

Pemrograman 1A¥

Penggunaan fungsi puts() dan putchar() relatif sederhana karena tidak diperlukan format, tetapi fungsi ini

tidak dapat menampilkan bentuk yang rumit dan hanya dapat menggunakan satu argumen saja.



Menampilkan hasil terformat

Untuk menampilkan hasil terformat dapat digunakan fungsi printf() . Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter) yang dapat diatur formatnya karena fungsi ini dapat menggunakan kode-kode format. Tabel 6.1 menunjukkan kode-kode format dan tabel 6.2 menunjukkan karakter flag yang umum digunakan untuk fungsi printf().

Bentuk umum fungsi printf():

% [ flags] [width][.prec][F|N|h|l|L] type

flags

width

.prec

F|N|h|l|L

Type

: kumpulan flag karakter

: panjang tampilan

: presisi (jumlah angka setelah titik)

: input-size modifier

: kode format untuk konversi data

48

-----------------------------------------------------Page 2-----------------------------------------------------

Tabel 6.1 Kode Format untuk Fungsi printf()

Kode Format

%c

%s

%i, %d

%f, %e

%o

%x

%u

Kode Format

_

+

blank

Kegunaan

Membaca sebuah karakter

Membaca sebuah string

Membaca sebuah bilangan bulat (integer)

Membaca sebuah bilangan pecahan (real)

Membaca sebuah bilangan octal integer

Membaca sebuah bilangan heksadesimal

Membaca sebuah bilangan tak bertanda

Tabel 6.2 Karakter Flag

Kegunaan

Rata kiri

Sertakan tanda + atau _ untuk data numerik

Jika data bernilai positif maka keluaran diawali dengan spasi, jika

data bernilai negative maka keluaran diawali -

Listing Program 6.2 Program Fungsi printf()

#include <stdio.h>

main(void) {

char kata[10]= "Bahasa C"; int a=456, b= -789; float c=0.123;

printf("%15s\n", kata);

printf("%d %07d %+5d", a, a, b);

printf("\n%08.5f",c);

printf("\n%-13.2f", c);

printf("\n%.3e %.3E", c, c);

/* 20 tempat lebar rata kanan */

/* minimum selebar 7 digit rata kanan, blank

disi dengan 0 */

/* 8 digit dengan 5 digit di belakang koma,

blank diganti dengan 0 */

/* 13 digit dengan 2 digit di belakang

koma,rata kiri */

/* 3 digit dibelakang koma menggunakan bentuk

Exponen */

return 0;

}

49

-----------------------------------------------------Page 3-----------------------------------------------------

6.2 Instruksi Masukan

Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa fungsi pustaka yang

telah tersedia. Beberapa fungsi pustaka yang bisa digunakan adalah :



scanf()

Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara

terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :

Fungsi scanf() memakai penentu format

Fungsi scanf() memberi pergantian baris secara otomatis

Fungsi scanf() tidak memerlukan penentu lebar field

Variabelnya harus menggunakan operator alamat &

Bentuk umum fungsi scanf():

“% type “, &variabel

type

&

variabel

: kode format untuk konversi data

: Operator untuk pointer, yang digunakan untuk penempatanalamat dari nilai variabel di memori.

: varaibel yang akan menampung nilai yang dimasukkan

Listing Program 6.3 Program Fungsi scanf()

#include <stdio.h>

main(void) {

int bil;

char kar, nama[10]; float pecah;

printf("Masukkan sebuah karakter : scanf("%c", &kar);
 ");

/* membaca sebuah karakter */

printf("Masukkan sebuah bilangan bulat : ");

scanf("%d", &bil); /* membaca sebuah bilangan bulat */

printf("Masukkan Nama Anda : ");

scanf("%s", &nama);
 /* membaca sebuah string */

printf("Masukkan sebuah bilangan pecahan : ");

scanf("%f", &pecah); /* membaca sebuah bilangan float */

printf("\nNilai variable printf("Bilangan Bulat = printf("Karakter = printf("Nama = printf("Bil. Pecahan =
 yang Anda masukkan adalah :\n"); %d\n", bil); %c\n", kar); %s\n", nama); %f\n", pecah);

}

Hasil program:

50

-----------------------------------------------------Page 4-----------------------------------------------------



gets()

Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik. Penulisan fungsi gets() harus diakhiri dengan penekanan tombol enter. Fungsi gets() akan menyebabkan kursor secara otomatis akan pindah baris, fungsi gets() tidak memerlukan penentu format.

Listing Program 6.4 Program Fungsi gets()

#include <stdio.h>

main(void) {

char nama[20];

printf("Masukkan nama Anda : "); gets(nama);

printf("Hello %s Apa Kabar !!!", nama);



}

return 0;

getchar()

Masukkan nama Anda : Rafi Hello Rafi Apa Kabar !!!

Fungsi getchar() digunakan untuk membaca data yang bertipe karakter, penggunaan fungsi getchar harus diakhiri dengan penekanan tombol enter. Karakter yang dimasukkan akan terlihat pada layar dan pergantian baris akan dilakukan secara otomatis tanpa penekanan tombol enter. Fungsi getchar tidak menggunakan argument, tetapi langsung memberikan hasil karakter yang dimasukkan.

Listing Program 6.5 Program Fungsi getchar()

#include <stdio.h>

main(void) {

char c;

Masukkan sebuah karakter : z

Karakter yang dimasukkan adalah z

printf("Masukkan sebuah karakter : "); c= getchar();

printf("Karakter yang dimasukkan adalah %c", c);

return 0;

}

51

-----------------------------------------------------Page 5-----------------------------------------------------



getche()

Fungsi getche() digunakan untuk memasukkan sebuah karakter dari keyboard , fungsi getche() tidak menggunakan argumen. Nilai karakter yang dimasukkan tidak memerlukan penekanan tombol enter. Fungsi getche() tidak menyebabkan pemindahan kursor ke baris baru, karakter yang dimasukkan akan ditampilkan di layar. Prototype fungsi getche() ada pada file judul conio.h , sehingga file judul conio.h harus disertakan.

Listing Program 6.6 Program Fungsi getche()

#include <stdio.h>

#include <conio.h>
 /* prototype getche() berada pada file header ini */

main(void) {

char c;

printf("Masukkan sebuah karakter "); c= getche();

printf("\nKarakter yang dimasukkan adalah %c", c);

return 0;



}

getch ()

Masukkan sebuah karakter g

Karakter yang dimasukkan adalah g

Fungsi getch() sama seperti fungsi getchar() maupun getche() yang tidak menggunakan argumen, tetapi langsung memberikan hasil karakter yang dimasukkan. Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter dan fungsi getch() tidak memberikan efek pergantian baris secara otomatis. Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada layar sehingga sering digunakan untuk meminta inputan berupa password atau untuk memberi kesempatan kepada pemakai program untuk membaca tampilan yang ada di layar dan setelah selesai dapat langsung meneruskan kembali proses dari program dengan menekan sembarang tombol, seperti program di bawah ini.

Listing Program 6.7 Program Fungsi getch ()

#include <stdio.h>

#include <conio.h>
 /* prototype getch() berada pada file header ini */

main(void) {

printf("Press any key to continue.... "); getche();

puts("Thank you for pressed the key");

return 0;

}

Untuk melihat bagaimana program di atas berjalan, anda harus mencobanya sehingga mengetahui perbedaan antara menggunakan getchar(), getche() maupun getch().

52

-----------------------------------------------------Page 6-----------------------------------------------------



gets ()

Fungsi gets() mengembalikan sekumpulan karakter dari standar input dan menyimpannya di variabel

yang ditentukan.

Listing Program 6.8 Program Fungsi gets ()

#include <stdio.h>

main(void) {

char warna[10];

printf("Masukkan warna favorit anda : "); gets(warna);

printf("Warna favorit anda adalah %s", warna);

return 0;

}

Masukkan warna favorit anda : Merah

Warna favorit anda adalah Merah

6.3 Instruksi Penempatan Layar

Tampilan di layar merupakan salah satu keluaran dari sebuah program. Layar monitor pada umumnya memiliki ukuran 25 baris dan 80 kolm dalam bentuk teks. Posisi baris pertama dan kolom pertama berada di pojok kiri atas. Pada bahasa C khususnya kompiler Borland, fungsi-fungsi untuk mengatur penempatan kursor berada pada file header conio.h .









void gotoxy (int x, int y);

fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.

int wherex (void);

fungsi wherex digunakan untuk mengembalikan posisi kolom kursor. int wherey (void);

fungsi wherey digunakan untuk mengembalikan posisi baris kursor.

void window (int left, int top, int right, int bottom);

fungsi window digunakan untuk mendefinisikan sebuah window berdasarkan koordinat kiri atas dan kanan bawah.

Contoh penggunaan fungsi-fungsi di atas dapat dilihat pada listing program 6.9 di bawah ini:

#include <stdio.h> #include <conio.h>

void main(void) {

char kata[20]= "Hallo Apa Kabar"; int b;

gotoxy(20,5); printf("%s",kata);

gotoxy(wherex()+22,wherey()-2);printf("%s",kata); gotoxy(wherex()-30,wherey()+10);printf("%s",kata);

}

53

-----------------------------------------------------Page 7-----------------------------------------------------

Output:

6.4 Instruksi Pembersihan Layar

Untuk pembersihan layar dapat digunakan fungsi clrscr( ) dan clreol( ) . Kedua fungsi ini terdapat pada file

header conio.h .





void clrscr (void);

Fungsi ini digunkan untuk membersihkan layar window dan memindahkan posisi kursor ke baris 1 kolom 1 (pojok kiri atas).

void clreol (void);

Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom terakhir, posisi kursor tiak berubah.

Latihan:

Tunjukkan apa yang dicetak oleh instruksi-instruksi di bawah ini. Jika menurut anda ada kesalahan sintaks perbaiki kesalahan tersebut dan bagaimana hasilnya jika telah diperbaiki?

a. printf(“%c”, “Good Day Everyone !”); b. printf(“%+05d”, 657);

c.
 printf(“%+10d”, 58657);

d. printf(“s”, “Hallo”) e. putch(‘x’);

Tugas Mandiri:

1. Buatlah Program dalam Bahasa C untuk Menginput dan menampilkan biodata pribadi seseorang yang terdiri

dari nama, tempat, tanggal lahir, alamat, nomor telepon, agama, dan jenis kelamin.

54

-----------------------------------------------------Page 8-----------------------------------------------------

2. Program di bawah tidak mempunyai kesalahan sintaks tetapi masih memiliki masalah, carilah penyebab

masalah tersebut dan perbaiki.

#include <stdio.h> #include <conio.h>

main(void) {

int bil1, bil2; long bilangan;

clrscr();

printf("Bilangan printf("Bilangan printf("Bilangan printf("Bilangan printf("Bilangan printf("Bilangan
 Bulat Bulat Bulat Bulat Bulat Bulat
 1 2 3 1 2 3
 = = = = = =
 "); scanf("%d", &bil1); "); scanf("%d", &bil2);

"); scanf("%l d", &bilangan); %d\n", bil1); %d\n", bil2);

%ld\n", bilangan);

return 0;

}

============

Referensi:

Cheltenham Computer Training, C Programming , www.cctglobal.com , United Kingdom, 1997

Deitel & Deitel, C How to Program 3rd Edition , Prentice Hall, New Jersey, 2001

Jogiyanto, Konsep Dasar Pemrograman Bahasa C , Andi Offset, Yogyakarta, 1993

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C , Salemba Teknika, Jakarta, 2004

☺☺☺

55

-----------------------------------------------------Page 9-----------------------------------------------------

0 Response to "INSTRUKSI MASUKAN DAN KELUARAN"

Post a Comment