INSTRUKSI MASUKAN DAN KELUARAN (INPUT / OUTPUT)
FUNCTION PROTOTYPE Semua instruksi masukan (input) dan keluaran (output) berbentuk function. Function-function dikumpulkan di dalam function library (perpustakaan fungsi). Header file (misalnya stdio.h, stdlib.h, conio2.h) berisi deklarasi function-function. Deklarasi function disebut function prototype Input yang harus dikirim kepada function Output yang dikembalikan function Input/Output Thompson SN
Function Declaration Sebuah fungsi dalam C dideklarasikan sbb : Syntax : tipe_return nama_function(argumen); Argumen disebut juga formal parameter, yaitu data yang harus diberikan (input) kepada fungsi ini untuk diolah. Argumen bersifat opsional, boleh ada boleh juga tidak. Setiap argumen ditunjukkan dengan tipe datanya Tipe_return adalah tipe data yang dikembalikan (output)
MEMBACA FUNCTION PROTOTYPE void clrscr (void); clrscr() tidak memerlukan data masukan clrscr() tidak mengembalikan hasil int rand (void); rand() tidak memerlukan data masukan rand() mengembalikan sebuah integer sebagai hasil int abs (int x); abs() memerlukan sebuah integer sebagai masukan abs() mengembalikan sebuah integer sebagai hasil Input/Output Thompson SN
MEMBACA FUNCTION PROTOTYPE double pow(double x, double y); pow() memerlukan 2 bilangan pecahan presisi ganda pow() mengembalikan bilangan pecahan presisi ganda void gotoxy(int x, int y); gotoxy() memerlukan 2 bilangan bulat gotoxy() tidak mengembalikan sesuatu char * gets (char *s); gets() memerlukan sebuah pointer to character gets() mengembalikan integer alamat memori Input/Output Thompson SN
MEMANGGIL FUNCTION Function dengan return type void Cukup dengan menuliskan nama function rand(); getch(); Function dengan return type selain void Menulis dalam bentuk assignment statement hasil = getch(); bil_pos = abs(bil); Input/Output Thompson SN
KELUARAN BERFORMAT Perintah yang digunakan untuk mencetak text ke layar. Statement standar yang digunakan untuk mencetak text di C berada di file header stdio.h Syntax : int printf(const char *format[,argument,…]); Function menampilkan sejumlah keluaran dengan format tertentu, setiap argument sesuai dengan format masing-masing.
KELUARAN BERFORMAT format: % [flags] [width] [.prec] [modifier] type flags kumpulan flag characters width jumlah kolom tampilan .prec presisi (jumlah digit setelah titik) modifier input-size modifier type karakter konversi tipe data
KELUARAN BERFORMAT Flag characters - Rata kiri + Karakter Kegunaan - Rata kiri + Sertakan tanda + atau – untuk data numerik blank Jika data bernilai positif maka keluaran diawali spasi. Jika data bernilai negatif maka keluaran diawali – # Mengawali dengan 0 jika bilangan dicetak dengan format oktal, dan 0x jika bilangan dicetak dengan format heksadesimal Menambahkan sejumlah digit nol disebelah kiri bilangan Input/Output Thompson SN
KELUARAN BERFORMAT Input Size modifier h Karakter Kegunaan h Memperlakukan sebagai short integer l Memperlakukan sebagai long integer L Memperlakukan sebagai long double Input/Output Thompson SN
KELUARAN BERFORMAT Karakter konversi tipe data d Kegunaan d Signed decimal integer i o Unsigned octal integer u Unsigned decimal integer x Unsigned hexadecimal integer dengan a, b, c, d, e, f X Unsigned hexadecimal integer dengan A, B, C, D, E, F Input/Output Thompson SN
KELUARAN BERFORMAT Karakter konversi tipe data f Kegunaan f Signed floating-point number berbentuk [-]dddd.dddd e [-]d.dddd atau e[+|-]ddd E Seperti e tapi dengan huruf E c s Sejumlah karakter (string) p Alamat yang ditunjuk pointer Input/Output Thompson SN
KELUARAN TIDAK BERFORMAT Syntax : int putch(int c); Digunakan untuk mencetak karakter ASCII untuk C ke layar monitor tanpa memindahkan cursor ke baris berikutnya. Syntax : int putchar(int c); Instruksi ini merupakan macro yang didefinisikan untuk menjalankan function putch() Syntax : int puts(const char *s); Digunakan untuk mencetak string s ke standard output stream dan memindahkan cursor ke baris berikutnya
MASUKAN BERFORMAT Instruksi masukan adalah function atau macro yang digunakan untuk membaca data. (berada pada file header stdio.h) Syntax : int scanf (const char *format,[address,…]); Function ini membaca sejumlah masukan berformat dari standard input stream. Data yang dimasukkan disesuaikan dengan formatnya dan disimpan di alamat variabel. Jumlah format harus sama dengan jumlah alamat
MASUKAN BERFORMAT * assignment-suppression character Bentuk Format : %[*][width][F|N][h|l|L]type_char * assignment-suppression character width panjang maksimum F|N pointer size modifier [h|l|L] argument-type modifier
MASUKAN BERFORMAT Type character d integer desimal D Karakter Kegunaan d integer desimal D long integer desimal o integer oktal O long integer oktal i integer desimal, oktal, atau heksadesimal I long integer desimal, oktal, atau heksadesimal u unsigned integer desimal U unsigned long integer desimal Input/Output Thompson SN
MASUKAN BERFORMAT Type character x integer heksadesimal X Karakter Kegunaan x integer heksadesimal X long integer heksadesimal e E Bilangan pecahan dalam bentuk notasi E f Bilangan pecahan dalam bentuk desimal g G s character string c character Input/Output Thompson SN
MASUKAN BERFORMAT Input Size modifier h Karakter Kegunaan h Memperlakukan sebagai short integer l Memperlakukan sebagai long integer L Memperlakukan sebagai long double Input/Output Thompson SN
MASUKAN BERFORMAT Format untuk menerima input data dengan scanf %d atau %D Untuk variabel bertipe int %f Untuk variabel bertipe float %ld Untuk variabel bertipe long %e atau %lf Untuk variabel bertipe double %c Untuk variabel bertipe char %s Untuk variabel bertipe string (lebih dari 1 karakter) %o Mencetak unsigned octal integer %x Mencetak unsigned hexadecimal dengan a,b,c,d,e,f
MASUKAN TIDAK BERFORMAT Syntax : int getchar(void); Function ini mengembalikan karakter berikutnya dari standard input, berupa nilai ASCII-nya. Function ini tidak memerlukan input parameter karena bernilai void. Syntax : int getch(void); Function ini membaca satu karakter dari keyboard tapi tidak menampilkannya di layar.
MASUKAN TIDAK BERFORMAT Syntax : int getche(void); Function ini membaca satu karakter dari keyboard dan menampilkannya ke layar . Syntax : char *gets(char *s); Function ini mengembalikan sekumpulan karakter (yang diakhiri dengan karakter newline) dari standard input dan menyimpannya di variabel s. Karakter newline diganti dengan karakter null.
Contoh Instruksi masukan dan keluaran (Input dan Output) #include <stdio.h> #include <stdlib.h> int main() { int nilai; printf(“masukkan nilai : “); scanf(“%d”,&nilai); /* & adalah operator untuk menyatakan alamat tempat disimpannya variabel memory */ printf(“nilai yang anda masukkan %d”,nilai); system(“PAUSE”); return 0; }
References : Thompson SN, 2009, Algoritma dan Struktur Data dengan C. Deitel, PJ, HM.Deitel, 2007, C How to Program, 5th Edition.