INSTRUKSI INPUT /
OUTPUT
Deklarasi Fungsi
Sebuah fungsi dalam C dideklarasikan sbb :
Syntax : tipe_return nama_function(argumen);
Argumendisebut juga formal parameter, yaitu data yang harus diberikan Kepada fungsi ini untuk diolah.
Argumen bersifat opsional, boleh ada boleh juga tidak. Setiap argumen Ditunjukkan dengan tipe datanya
Tipe_returnadalah tipe data yang dikembalikan
INPUT
Instruksi Input (masukan)
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. Jumlahformat harus sama dengan jumlah alamat
Instruksi Input (masukan)
Mencetak unsigned hexadecimal dengan a,b,c,d,e,f
%x
Mencetak unsigned octal integer %o
Untuk variabel bertipe string (lebih dari 1 karakter)
%s
Untuk variabel bertipe char %c
Untuk variabel bertipe double %e atau %lf
Untuk variabel bertipe long %ld
Untuk variabel bertipe float %f
Untuk variabel bertipe int %d
Format untuk menerima input data dengan scanf
Contoh Instruksi Input dan Output
Contoh :
#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; }
Instruksi Input
Syntax : int getchar(void);
Function ini mengembalikan karakter berikutnya dari
standard input, berupa nilaiASCII-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.
Instruksi Input
Syntax : int getche(void);
Function ini membaca satu karakter dari keyboard dan
menampilkannyake layar .
Syntax : char *gets(char *s);
MASUKAN TIDAK BERFORMAT
int main() {
int kar1, kar2, kar3;
kar1 = getchar(); kar2 = getchar(); kar3 = getchar();
printf("%c %c %c\n", kar1, kar2, kar3); printf("%d %d %d\n", kar1, kar2, kar3); return 0;
}
int main() {
int kar1, kar2, kar3; kar1 = getchar(); kar2 = getchar(); kar3 = getchar();
printf("%c %c %c\n", kar1, kar2, kar3); printf("%d %d %d\n", kar1, kar2, kar3); return 0;
}
Contoh getchar()
MASUKAN TIDAK BERFORMAT
int main() {
int k1, k2, k3, k4;
printf("ketik empat karakter: "); k1 = getch(); putch('*'); k2 = getch(); putch('*'); k3 = getch(); putch('*'); k4 = getch(); puts("*"); printf("ketikan Anda"
" = %c%c%c%c\n", k1, k2, k3, k4); return 0;
}
int main() {
int k1, k2, k3, k4;
printf("ketik empat karakter: "); k1 = getch(); putch('*'); k2 = getch(); putch('*'); k3 = getch(); putch('*'); k4 = getch(); puts("*"); printf("ketikan Anda"
" = %c%c%c%c\n", k1, k2, k3, k4); return 0;
}
ketik empat karakter: **** ketikan Anda = algo
ketik empat karakter: ****
ketikan Anda = algo
Contoh getch()
MASUKAN TIDAK BERFORMAT
int main() { char nama[26];
printf("nama ? "); gets(nama);
printf("halo %s, kenal Pengki?\n", nama); return 0;
}
int main() { char nama[26];
printf("nama ? "); gets(nama);
printf("halo %s, kenal Pengki?\n", nama); return 0;
}
nama ? Pongki
halo Pongki, kenal Pengki?
nama ? Pongki
halo Pongki, kenal Pengki?
Contoh gets()
MASUKAN BERFORMAT
int main() { int a, b;
printf("data ke-1 ? "); scanf("%d", &a); printf("data ke-2 ? "); scanf("%d", &b);
printf("%d %d\n", a * 2, b * 2); return 0;
}
int main() { int a, b;
printf("data ke-1 ? "); scanf("%d", &a); printf("data ke-2 ? "); scanf("%d", &b);
printf("%d %d\n", a * 2, b * 2); return 0;
}
data ke-1 ? 125 150 data ke-2 ? 250 300
data ke-1 ? 125 150
data ke-2 ? 250 300
Entri data bilangan
MASUKAN BERFORMAT
int main() { int a, b;
printf("ketik dua bilangan : "); scanf("%d %d", &a, &b);
printf("%d x %d = %d\n", a, b, a*b); return 0;
}
int main() { int a, b;
printf("ketik dua bilangan : "); scanf("%d %d", &a, &b);
printf("%d x %d = %d\n", a, b, a*b); return 0;
}
ketik dua bilangan : 10 6 10 x 6 = 60
ketik dua bilangan : 10 6
10 x 6 = 60
Entri dua bilangan sekaligus
ketik dua bilangan : 10 6
10 x 6 = 60
ketik dua bilangan : 10 6
10 x 6 = 60
MASUKAN BERFORMAT
int main() {
int dd, mm, yy, hh, mm1, ss; printf("tgl [dd-mm-yy] ? "); scanf("%d-%d-%d", &dd, &mm, &yy); printf("waktu [hh:mm:ss] ? "); scanf("%d:%d:%d", &hh, &mm1, &ss); printf("%d %d %d\n", dd, mm, yy); printf("%d %d %d\n", hh, mm1, ss); return 0;
}
int main() {
int dd, mm, yy, hh, mm1, ss; printf("tgl [dd-mm-yy] ? "); scanf("%d-%d-%d", &dd, &mm, &yy); printf("waktu [hh:mm:ss] ? "); scanf("%d:%d:%d", &hh, &mm1, &ss); printf("%d %d %d\n", dd, mm, yy); printf("%d %d %d\n", hh, mm1, ss); return 0;
}
Entri karakter tertentu
tgl [dd-mm-yy] ? 15-12-08 waktu [hh:mm:ss] ? 10:15:20 15 12 8
10 15 20
tgl [dd-mm-yy] ? 15-12-08
waktu [hh:mm:ss] ? 10:15:20
15 12 8 10 15 20
MASUKAN BERFORMAT
int main() { int a, b;
scanf("%2d %2d", &a, &b); printf("%d %d\n", a, b); return 0;
}
int main() { int a, b;
scanf("%2d %2d", &a, &b); printf("%d %d\n", a, b); return 0;
}
scanf() dengan width
1234567 12 34 1234567
12 34
1 2345 1 23 1 2345
1 23
12345 678 12 34 12345 678
12 34
Instruksi Output (keluaran)
Perintah yang digunakan untuj mencetak
tulisan ke layar. Statement standar yang
digunakan untuk mencetak tulisan di C
berada di file header stdio.h
Syntax :
int printf(const char
*format[,argument,…]);
%[flags][width][.prec][F|N|h|l|L]
Function menampilkan sejumlah keluaran dengan format tertentu, setiap argument sesuai dengan format masing-masing.
Instruksi Output
Format untuk mencetak variabel dengan printf
Mencetak unsigned hexadecimal dengan a,b,c,d,e,f
%x
Mencetak unsigned octal integer %o
Untuk variabel bertipe string (lebih dari 1 karakter)
%s
Untuk variabel bertipe char %c
Untuk variabel bertipe long double %lF
Untuk variabel bertipe double %lf
Untuk variabel bertipe long %ld atau %li
Untuk variabel bertipe float %f
Untuk variabel bertipe int %d atau %i
Instruksi Output
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
KELUARAN TIDAK BERFORMAT
int main() { int angka = 65; char huruf = 'B';
putch(angka); putch(huruf); putch('C'); putch('\n'); return 0;
}
int main() { int angka = 65; char huruf = 'B';
putch(angka); putch(huruf); putch('C'); putch('\n'); return 0;
} ABCABC
int main() { int angka = 97; char huruf = 'b';
putchar(angka); putchar(huruf); putchar(‘c'); putchar('\n'); return 0;
}
int main() { int angka = 97; char huruf = 'b';
putchar(angka); putchar(huruf); putchar(‘c'); putchar('\n'); return 0;
KELUARAN TIDAK BERFORMAT
int main() {
char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah);
puts("***************"); return 0;
}
int main() {
char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah);
puts("***************"); return 0;
}
ALGORITMA dan C ***************
ALGORITMA dan C ***************
KELUARAN BERFORMAT
int main() {
int bulatpos = 1234; int bulatneg = -5678; puts("1234567890"); printf("%6d\n", bulatpos); printf("%6d\n", bulatneg); printf("%+10d\n", bulatpos); printf("%+10d\n", bulatneg); printf("%08d\n", bulatpos); printf("%08d\n", bulatneg); printf("%2d\n", bulatpos); printf("%2d\n", bulatneg); return 0;
}
int main() {
int bulatpos = 1234; int bulatneg = -5678; puts("1234567890"); printf("%6d\n", bulatpos); printf("%6d\n", bulatneg); printf("%+10d\n", bulatpos); printf("%+10d\n", bulatneg); printf("%08d\n", bulatpos); printf("%08d\n", bulatneg); printf("%2d\n", bulatpos); printf("%2d\n", bulatneg); return 0;
}
Flag dan width
KELUARAN BERFORMAT
int main() {
long bulatpos = 12345678; puts("123456789012345"); printf("%10ld\n", bulatpos); printf("%+10ld\n", bulatpos); printf("%012ld\n", bulatpos); printf("%2ld\n", bulatpos); return 0;
}
int main() {
long bulatpos = 12345678; puts("123456789012345"); printf("%10ld\n", bulatpos); printf("%+10ld\n", bulatpos); printf("%012ld\n", bulatpos); printf("%2ld\n", bulatpos); return 0;
}
123456789012345 12345678 +12345678 000012345678 12345678
123456789012345 12345678 +12345678 000012345678 12345678
Flag dan width
KELUARAN BERFORMAT
int main() {
char *s = "algoritma dan c"; puts("12345678901234567890"); printf("%s\n", s);
printf("%18s\n", s); printf("%10.4s\n", s); printf("%.3s\n", s); return 0;
}
int main() {
char *s = "algoritma dan c"; puts("12345678901234567890"); printf("%s\n", s);
printf("%18s\n", s); printf("%10.4s\n", s); printf("%.3s\n", s); return 0;
}
12345678901234567890 algoritma dan c
algoritma dan c algo alg
12345678901234567890 algoritma dan c
algoritma dan c algo alg
KELUARAN BERFORMAT
int main() {
float pecah = 123.25; puts("123456789012345"); printf("%f\n", pecah); printf("%15f\n", pecah); printf("%10.2f\n", pecah); printf("%e\n", pecah); printf("%.2E\n", pecah); return 0;
}
int main() {
float pecah = 123.25; puts("123456789012345"); printf("%f\n", pecah); printf("%15f\n", pecah); printf("%10.2f\n", pecah); printf("%e\n", pecah); printf("%.2E\n", pecah); return 0;
}
123456789012345 123.250000
123.250000 123.25 1.232500e+002 1.23E+002
123456789012345 123.250000
123.250000 123.25 1.232500e+002 1.23E+002
Cetak data float
KELUARAN BERFORMAT
int main() {
float pecah_f = 123.456; double pecah_d = 123.456; printf("%.10f\n", pecah_f); printf("%.10lf\n", pecah_d); return 0;
}
int main() {
float pecah_f = 123.456; double pecah_d = 123.456; printf("%.10f\n", pecah_f); printf("%.10lf\n", pecah_d); return 0;
}
123.4560012817 123.4560000000
123.4560012817 123.4560000000
Cetak double precision
KELUARAN BERFORMAT
int main() {
int umur = 50, nilai = 70; char *nama = "Botun"; float ipk = 2.75;
printf("%s, teman kuliahku yang berumur %d\n" "dan ber-IPK %.2f mendapat nilai algo %d", nama, umur, ipk, nilai);
return 0; }
int main() {
int umur = 50, nilai = 70; char *nama = "Botun"; float ipk = 2.75;
printf("%s, teman kuliahku yang berumur %d\n" "dan ber-IPK %.2f mendapat nilai algo %d", nama, umur, ipk, nilai);
return 0; }
Printf dengan beberapa format
SEARCH SET
Search set
himpunan karakter yang akan diambil dari
masukan
Dituliskan di dalam
[ ]
[a b c d e ]
⇒
hanya 5 huruf pertama yang
diambil
[^123]
⇒
selain 1, selain 2, selain 3
[a -z]
⇒
hanya huruf kecil yang diambil
[a -zA-Z]
⇒
hanya huruf yang diambil
SEARCH SET
int main() {
char nim[9], nama[26]; float ipk;
scanf("%[0123456789] %[^0123456789] %f", nim, nama, &ipk);
printf("NIM = %s\n", nim); printf("nama = %s\n", nama); printf("IPK = %.2f\n", ipk); return 0;
}
int main() {
char nim[9], nama[26]; float ipk;
scanf("%[0123456789] %[^0123456789] %f", nim, nama, &ipk);
printf("NIM = %s\n", nim); printf("nama = %s\n", nama); printf("IPK = %.2f\n", ipk); return 0;
}
Contoh pemakaian search set
50671238 Andy Hasten 3.70 NIM = 50671238
nama = Andy Hasten IPK = 3.70
50671238 Andy Hasten 3.70
NIM = 50671238 nama = Andy Hasten IPK = 3.70
SEARCH SET
int main() {
char nim[9], nama[26]; float ipk;
scanf("%[0123456789]",nim); printf("NIM = %s\n", nim); return 0;
}
int main() {
char nim[9], nama[26]; float ipk;
scanf("%[0123456789]",nim); printf("NIM = %s\n", nim); return 0;
}
Contoh pemakaian search set
ASSIGNMENT SUPPRESSION CHAR.
Assignment suppression character
Membuang isian yang tidak diperlukan
Menggunakan simbol *
int main() { float ipk;
scanf("%*s %f", &ipk); printf("ipk = %.2f\n", ipk); printf("%s", (ipk >= 2.00) ?
"calon sarjana" : "calon drop-out"); return 0;
}
int main() { float ipk;
scanf("%*s %f", &ipk); printf("ipk = %.2f\n", ipk); printf("%s", (ipk >= 2.00) ?
"calon sarjana" : "calon drop-out"); return 0;
}
60001234 3.20 ipk = 3.20 calon sarjana 60001234 3.20
ipk = 3.20 calon sarjana
60001245 1.75 ipk = 1.75 calon drop-out 60001245 1.75