Laman

Selasa, 27 November 2012

Minggu, 11 November 2012

Bahasa C (Instruksi Input dan Outpu)

PEMBAHASAN

Instruksi input/masukan dalam bahasa C
1. Getchar(void);Sintak::intgetchar(void):
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.
Contoh Program

#include <stdio.h>
main(void)
{
char c;
printf("Masukkan sebuah karakter : ");
c= getchar();
printf("Karakter yang dimasukkan adalah %c", c);
return 0;
}
Hasil Program
Masukan sebuah karakter : A
Karakter yang dimasukan adalah A


2. Getch()
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.
Fungsi getch() adalah :
– mengembalikan satu karakter dari buffer keyboard
– karakter tidak ditampilkan di layar monitor (no echo)
– Tidak menunggu sampai ada ENTER
– Cocok untuk membuat password
– Header file ada di conio.h
Contoh Program:
#include <stdio>
#include <conio>
main()
{
char a;
printf("Tekan sebuah tombol pada keyboard!");
a=getch();
printf("\nTombol yang baru anda tekan adalah %c",a);
getch();
}
Maka hasil nya adalah
Tekan sebuah tombol pada keyboard!


Tekan sebuah tombol pada keyboard!
Tombol yang baru anda tekan adalah r

3. Getche(void);Sintak:intgetche(void)
Fungsi ini membaca satu karakter dari keyboard dan menampilkan dilayar. Fungsi getche() tidak menggunakan argument. Nilai karakter yang dimasukkan tidak perlu menggunakan tombol enter.
Fungsi :
– mengembalikan satu karakter dari keyboard
– Karakter ditampilkan di layar (echo)
– Tidak menunggu sampai ada ENTER
– Header file ada di conio.h


Contoh Program
#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;
}
Hasil Program:
Masukan sebuah karakter : g
Karakter yang dimasukan adalah g

4. Gets(char*s);Sintak:char*gets(char*buffer)
Function ini membaca input dari keyboard berupa string atau kumpulan char dan tidak digunakan untuk memasukkan tipe data numenik. Penulisan gets() hanya diakhiri dengan menekan tombol enter. Fungsi gets() akan menyebabkan kursos secara otomatis akan pindah baris, fingsi gets() tidak memerlukan penentu format.
Fungsi:
– membaca string dari keyboard sampai ketemu new-line dan disimpan pada buffer.
– Kemudian new-line di replace dengan null character
– Mengembalikan nilai NULL jika ada error dan mengembalikan argument-nya (buffer) jika
    sukses.
#include <stdio.h>
main(void)
{
char nama[20];
printf("Masukkan nama Anda : ");
gets(nama);
printf("Hello %s Apa Kabar !!!", nama);
return 0;
}
Hasil Programnya
Masukan nama Anda : Wira
Hello Wira Apa Kabar !!!

5. Scanf(constcahr*format,[address,...]);
Fuction ini membaca sejumlah masukan berformat dari standar input stream. Data yang dimasukkan sesuai dengan formatnya dan disimpan di alamat variabel. Jumlah format harus sama dengan jumlah alamat. Fungsi scanf() digunakan untuk menginput data berupa data numeric, karakter, dan string.
Pemakaian fungsi scanf():
1.      Memakai penentu format.
2.      Memberi pergatian baris secara otomatis.
3.      Tidak memerlukan penentu lebar field.
4.      Variabelnya harus menggunakan operator alamat &.
Bentuk umum fungsi scanf():
“%.type”, &variable


Keterangan:
Type                : kode format untuk konversi data.
&                     : operator untuk pointer yang digunakan untuk penempatan dari nilai variable     
  dimemori.
Variable           : variable yang akan menampung nilai yang dimasukan.

#include <stdio.h>
main(void)
{
int bil;
char kar, nama[10];
float pecah;
    /* membaca sebuah karakter */
printf("Masukkan sebuah karakter : ");
scanf("%c", &kar);
   /* membaca sebuah bilangan bulat */
printf("Masukkan sebuah bilangan bulat : ");
scanf("%d", &bil);
   /* membaca sebuah string */
printf("Masukkan Nama Anda : ");
scanf("%s", &nama);
         /* membaca sebuah bilangan float */
printf("Masukkan sebuah bilangan pecahan : ");
scanf("%f", &pecah);
printf("\nNilai variable yang Anda masukkan adalah :\n");
printf("Bilangan Bulat = %d\n", bil);
printf("Karakter = %c\n", kar);
printf("Nama = %s\n", nama);
printf("Bil. Pecahan = %f\n", pecah);
}

Hasil Program
Masukan sebuah karakter : x
Masukan sebuah bilangan bulat : 12
Masukan nama Anda : Dedek
Masukan sebuah bilangan pecahan : 23.4
Nilai variable yang Anda masukan adalah :
Bilangan Bulat            = 12
Karakter                       = x
Nama                           = Dedek
Bil. Pecahan                 = 23.400000

Berikut ini adalah Tabel jenis-jenis masukan untuk scanf();

Karakter
Jenis masukan
contoh
d atau D
Desimal integer
1245
o atau O
Oktal integer
452
x atau X
Hexa desimal integer
BCD45
f atau F
Floating point
45.12
S
Karakter string
saya
C
Karakter
c

%c
Membaca sebuah karakter.
%s
Membaca nilai string.
%d
Membaca nilai desimal integer.
%i
Membaca nilai desimal integer.
%x
Membaca nilai heksa desimal integer.
%o
Membaca nilai oktal integer.
%f
Membaca nilai pecahan.
%e
Membaca nilai pecahan.
%g
Membaca nilai pecahan.
%h
Membaca nilai short integer decimal..
[…]
Membaca karakter string yg diakhiri dengan karakter yg tidak ada didalam.
[^..]
Membaca karakter string yg diakhiri dengan karakter yg ada didalam.

Contoh Program:
#include<stdio.h>
main()
   float p,l,luas;
                           printf(“Masukkan nilai panjang = ”);
                           scanf(“%f”,&p)
                           printf(“Masukkan nilai lebar = ”);
                           scanf(“%f”,&l)
                           luas=p*l
                           printf(“Luas = %.2f\n”, Luas);
                        }

Tampilan program:
Masukkan nilai panjang = 9.7
Masukkan nilai lebar = 6.5
Luas = 63.05




Instruksi Output dalam bahasa C
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() digunakan untuk menampilkan nilai karakter tidak terformat dan fungsi puts() digunakan untuk menampilkan nilai string tidak terformat.

1.      Putchar(char ) Sintak: int putchar(char)
Fungsi :
– Menampilkan karakter ke layar monitor pada cursor, kemudian setelah ditampilkan
   cursor bergerak ke posisi berikutnya.
– Mengembalikan EOF jika error, dan mengembalikan karakter yang ditampilkan jika
   sukses
– Putchar adalah macro yang sama artinya dengan: putc(c, stdout )
– Header File : stdio.h.

2.      Putch(int )  Sintak : int putch(int x)
Fungsi :
– Menampilkan karakter ascii di ch di monitor tanpa memindahkan kursor ke posisi
   berikutnya.
– Header file : conio.h
– Mengembalikan EOF jika error, dan mengembalikan karakter yang di tampilkan jika  
    sukses.

3.       Puts(char *s ) Sintak : int puts(const char *str)
 Fungsinya:
– Menampilkan string str ke layar monitor dan memindahkan kursor ke baris baru.
– Header file: stdio.h
– Mengembalikan nilai non-negative jika sukses dan EOF jika ada error.

Contoh Program :
puts(”Selamat Datang”);
puts(”Di GUNDAR”);

Output:
Selamat Datang
Di GUNDAR

Contoh Program Putchar, Putch, Puts :
#include <stdio.h>
#include <conio.h>
void main(void)
{
char kata1[10]="Algoritma", kata2[12]="Pemrograman";
char kar1 = '2', kar2= 'A';
int kode= 165;
puts(kata1);     /* hanya dapat menampilkan 1 argumen, jika menggunakan statemen puts(kata1,                            kata2); akan menimbulkan kesalahan */
puts(kata2);
putchar(kar1);
putchar(kar2);              /* putchar(kar1, kar2); akan menimbulkan
kesalahan */
putch(kode);        /* akan menampilkan karakter ASCII dari nilai 165 */
getch();
}



Hasil Program:
Algoritma
Pemrograman
2A¥

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.
Bentuk umum fungsi printf():
% [flags] [width][.prec][F|N|h|l|L] type
Keterangan:
Flags                : kumpulan flag karakter.
Width              :panjang tampilan
.prec                : presisi (jumlah angka setelah titik).
F|N|h|l|L          : input size modifier
Type                : kode format untuk konversi data.

Kode Format untuk Fungsi printf()
Kode Format
Kegunaan
%c
Membaca sebuah karakter
%s
Membaca sebuah string
%i, %d
Membaca sebuah bilangan bulat (integer)
%f, %e
Membaca sebuah bilangan pecahan (real)
%o
Membaca sebuah bilangan octal integer
%x
Membaca sebuah bilangan heksadesimal
%u
Membaca sebuah bilangan tak bertanda




Karakter Flag
Kode Format
Kegunaan
_
Rata kiri
+
Sertakan tanda + atau _ untuk data numerik
blank

Jika data bernilai positif maka keluaran diawali dengan spasi, jika   
     data bernilai negative maka keluaran diawali -



Memformat Output dengan printf
Format output yang tepat dicapai dengan printf. Setiap panggilan printf berisi format mengontrol string yang menggambarkan format output. String kontrol Format terdiri dari konversi specifiers, bendera, lapangan lebar, presisi dan karakter literal. Bersama tanda persen (%), spesifikasi bentuk konversi tersebut.
Fungsi printf dapat melakukan kemampuan format berikut,
1. Pembulatan nilai floating-point untuk jumlah anggota tercantum desimal.
2. Menyelaraskan kolom angka dengan titik desimal muncul satu di atas yang lain.
3. Kanan pembenaran dan justifikasi kiri output.
4. Memasukkan karakter literal di lokasi tepat di garis output.
5. Mewakili floating-point dalam format eksponensial.
6. Mewakili unsigned integer dalam oktal dan format heksadesimal. Lihat Lampiran C Untuk       
    informasi lebih lanjut tentang oktal dan nilai-nilai heksadesimal.
7. Menampilkan semua jenis data dengan fixed-size lebar lapangan dan presisi.
  
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.
a.       void gotoxy (int x, int y)
Fungsi gotoxy digunakan untuk memindahkan kursor ke kolom x, baris y.

b.      int wherex (void)
Fungsi wherex digunakan untuk mengembalikan posisi kolom kursor.

c.        int wherey (void)
Fungsi wherey digunakan untuk mengembalikan posisi baris kursor.

d.      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  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);
}
Hasil Program
                                                                                                Hallao Apa Kabar
                        Hallo Apa Kabar
                                                           

                                                            Hallo Apa Kabar

Instruksi Pembersihan Layar
Untuk pembersihan layar dapat digunakan fungsi clrscr( ) dan clreol( ). Kedua fungsi ini terdapat pada file header conio.h.
1.      void clrscr(void)
Fungsi ini digunkan untuk membersihkan layar window dan memindahkan posisi kursor ke baris 1 kolom 1 (pojok kiri atas).

2.      void clreol(void)
Fungsi ini digunakan untuk membersihkan layar mulai dari posisi kursor hingga kolom terakhir, posisi kursor tiak berubah.





DAFTAR PUSTAKA
http://blog.its.ac.id/hannysaputro/2008/07/08/fungsi-fungsi-untuk-menampilkan-hasil-dalam-bahasa-c/
http://www.google.co.id/url?sa=t&rct=j&q=putch()%20dalam%20bahasa%20c&source=web&cd=2&cad=rja&ved=0CCIQFjAB&url=http%3A%2F%2Frisdawati.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F31800%2FBahasa%2BC_1.pdf&ei=8EJ7UJT5LoqyrAf9xICoAQ&usg=AFQjCNGzXDoXu92FokYiNGMJGVuj6i57MQ