Minggu, 10 April 2011

Operasi Memasukkan data (Input)

5.1 FUNGSI-FUNGSI YANG DIGUNAKAN
Seperti halnya proses menampilkan hasil di alat-alat output yang menggunakan fungsi-fungsi pustaka, maka proses memasukkan data juga dilakukan dengan cara yang sama. Pada bab ini akan dibahas cara memasukkan data melalui alat input standar keyboard. Fungsi-fungsi ini prototypenya berada di file judul (header file) stdio.h. dan conio.h.
Fungsi-fungsi pustaka yang prototipenya berada di file judul stdio.h adalah gets( ) dan scanf( ). Sedangkan fungsi-fungsi pustaka yang prototipenya berada di file judul conio.h adalah getche( ), getchar( ) dan getch( ).
5.2 MEMASUKKAN DATA TIDAK TERFORMAT
Fungsi-fungsi yang digunakan untuk memasukkan data tidak terformat adalah fungsi-fungsi getche( ), getchar( ), getch( ) dan gets( ). Fungsi-fungsi ini digunakan untuk memasukkan nilai sebuah karakter atau nilai string.
5.2.1 Memasukkan Nilai Karakter
Pemilihan fungsi-fungsi ini didasarkan pada karakteristik masing-masing. Yaitu :
1. getche( )
Jika nilai karakter yang diinginkan dimasukkan tanpa harus diakhiri dengan penekanan tombol Enter.
Contoh 5.1:
#include
#include
main( )
{ char C;
printf(”Masukkan sebuah karakter ? ”);
C = getche( );
printf(”\n Nilai yang anda masukkan adalah : %c \n ”,C);
}
2. getchar( )
Jika nilai karakter yang diinginkan dimasukkan harus diakhiri dengan penekanan tombol Enter.
Contoh 5.2:
#include
#include
main( )
{ char C;
printf(”Masukkan sebuah karakter ? ”);
C = getchar( );
printf(”\n Nilai yang anda masukkan adalah : %c \n ”,C);
}
1
3. getch( )
Jika nilai karakter yang diinginkan dimasukkan tanpa diakhiri dengan penekanan tombol Enter dan karakter yang diketikkan tidak tampak di layar monitor.
Contoh 5.3 :
#include
#include
main( )
{ char C;
printf(”Masukkan sebuah karakter ? ”);
C = getch( );
printf(”\n Nilai yang anda masukkan adalah : %c \n ”,C);
}
5.2.2 Memasukkan Nilai String
Untuk memasukkan nilai string dapat digunakan fungsi gets( ). Fungsi gets( ) menggunakan argumen variabel string yang akan menerima data yang dimasukkan.
Contoh 5.4:
#include
main( )
{ char nama[20];
printf(”Masukkan Nama Anda ?: ”);
gets(nama );
printf(”\n Nama anda adalah : %s \n ”,nama);
}
5.3 MEMASUKKAN DATA TERFORMAT
Memasukkan data terformat berarti data yang diterima akan diatur bentuk dan lebarnya dengan kode-kode format. Fungsi yang digunakan adalah fungsi scanf( ). Fungsi scanf( ) menggunakan kode-kode format untuk menunjukkan format dan tipe data yang akan dimasukkan lewat keyboard. Dibawah ini menunjukkan kode-kode format yang umum digunakan untuk fungsi scanf( ).
Kode Format
Kegunaan
%c
Membaca sebuah karakter
%s
Membaca sebuah data string
%d
Membaca sebuah nilai integer desimal
%i
Membaca sebuah nilai integer desimal
%h
Membaca sebuah nilai short integer desimal
%e
Membaca sebuah nilai data pecahan
%f
Membaca sebuah nilai data pecahan
%o
Membaca sebuah nilai oktal
%x
Membaca sebuah nilai heksadesimal
2
5.3.1 Memasukkan Nilai Karakter
Sebuah nilai karakter dapat dimasukkan sebagai data menggunakan fungsi scanf() dengan kode format “%c”.
Contoh 5.5:
#include
main()
{
char C;
printf(“ Masukkan Sebuah Karakter ? “);
scanf(“%c”,&C);
printf(“ Nilai Karakter yang dimasukkan adalah : %c \n”, C);
}
5.3.2 Memasukkan Nilai String
Nilai string dapat dimasukkan sebagai data menggunakan fungsi scanf() dengan kode format “%s”. Khusus untuk nilai string, variabel yang digunakan di fungsi scanf() tidak perlu menggunakan operator pointer “&”, karena pengenal ini sudah berbentuk pointer.
Contoh 5.6:
#include
main()
{
char NAMA[20];
printf(“ Masukkan Nama Anda ? “);
scanf(“%s”,NAMA);
printf(“ Hallo %s Selamat Belajar Bahasa C \n”, NAMA);
}
Didalam pemasukkan nilai string dengan fungsi scanf(), kadang-kadang ditemui masalah yang sering terjadi, yaitu nilai stringnya mengandung nilai blank atau spasi dan tabulasi. Fungsi scanf() menganggap blank atau spasi dan tabulasi sebagai akhir dari suatu nilai data yang dimasukkan (whitespace character).
Untuk mengatasi masalah ini, maka kode format “%s” dapat diganti dengan bentuk “%[^\n]”. Bentuk ini mempunyai arti bahwa karakter-karakter nilai string akan dibaca terus sampai ditemui penekanan tombol Enter (bentuk ‘^’ = ‘tidak’ dan ‘\n’=’Enter).
Contoh 5.7:
#include
main()
{
char NAMA[20];
printf(“ Masukkan Nama Anda ? “);
scanf(“%[^\n]”,NAMA);
printf(“ Hallo %s Selamat Belajar Bahasa C \n”, NAMA);
}
3
5.3.3 Memasukkan Nilai Numerik
Untuk nilai-nilai numerik, beberapa versi dari C juga menggunakan pengubah ‘l’ dan ‘L’ yang dikombinasikan dengan kode-kode format numerik. Pengubah ‘l’ untuk nilai integer digunakan untuk data long int. Pengubah ‘l’ untuk nilai pecahan digunakan untuk data pecahan ketepatan ganda atau double. Pengubah ‘L’ (huruf besar) digunakan untuk long double. Pengubah ini ditulis di muka huruf konversi dari kode formatnya, yaitu sebagai berikut :
“%i” 􀃆 int
“%li” atau “%ld” 􀃆 long int
“%le”, “%lf” atau “%lg” 􀃆 double
“%Le”, “%Lf” atau “%Lg” 􀃆 long double
Contoh 5.8:
Program ini menunjukkan contoh nilai numerik integer akan dimasukkan sebagai data yang diketikkan lewat keyboard. Kode format yang digunakan pada fungsi scanf() adalah “%i”.
#include
main()
{
int nilai;
printf(“ Masukkan Nilai Integer? “);
scanf(“%i”,&nilai);
printf(“ Nilai Integer yang dimasukkan adalah: %i \n”, nilai);
}
5.4 MENDETEKSI PENEKANAN TOMBOL KEYBOARD
Fungsi pustaka kbhit( ) dapat digunakan untuk mendeteksi apakah suatu tombol keyboard sudah ditekan atau belum. Keadaan logika awal fungsi kbhit( ) adalah bernilai 0, dan jika tombol keyboard ditekan, maka fungsi kbhit bernilai bukan nol, yaitu 1. Prototype fungsi ini terdapat pada file judul conio.h.
Contoh 5.7:
#include
#include
main()
{
int i;
for (i=1; i <=1000; i++)
{
printf(“ i = %d\n”,i);
if (kbhit()) /* sama dengan if(kbhit() !=0) */
{
printf(“ Berhenti karena ada tombol keyboard ditekan ! \n”);
break;
}
}
}
4

Reaksi:

0 komentar:

Posting Komentar

WARNING !
Komentar anda tidak boleh mengandung unsur:
1.Penghinaan, Rasis dan Pelecehan
2.Spamming (Spam Comments)
3.Link Iklan, ads etc
Terima Kasih.


Jika ada request ato laporan tentang :
1.Request Software atau Tutorial
2.Bad Link & Re-active link (akibat broken link)
Silakan comment di bawah atau kirim pesan ke saya via facebook >> Akunku : Adhieresthenes Hier Banu Arfakhshad