Instruksi masukan adalah function atau macro yang digunakan untuk membaca data. (berada pada file header stdio.h)

  Deklarasi Fungsi Sebuah fungsi dalam C dideklarasikan sbb :

  INSTRUKSI INPUT / Syntax : tipe_return nama_function(argumen);

  OUTPUT Argumen disebut 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_return adalah tipe data  yang dikembalikan

  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

  INPUT sama dengan jumlah alamat %[*][width][F|N][h|l|L]type_character

  • assignment-suppression character width panjang maksimum F|N pointer size modifier h|l|L argument-type modifier
Contoh Instruksi Input dan Output Instruksi Input (masukan) Contoh :

  Format untuk menerima input data dengan scanf #include <stdio.h>

  %d Untuk variabel bertipe int #include <stdlib.h>

  %f Untuk variabel bertipe float int main() {

  %ld Untuk variabel bertipe long int nilai;

  %e atau %lf Untuk variabel bertipe double printf(“masukkan nilai : “);

  %c Untuk variabel bertipe char scanf(“%d”,&nilai); /* & adalah operator untuk menyatakan alamat tempat

  %s Untuk variabel bertipe string (lebih dari disimpannya variabel memory */

  1 karakter) printf(“nilai yang anda masukkan %d”,nilai);

  %o Mencetak unsigned octal integer system(“PAUSE”); return 0;

  %x Mencetak unsigned hexadecimal dengan } a,b,c,d,e,f

  Instruksi Input Instruksi Input Syntax : int getche(void); Syntax : int getchar(void); Function ini membaca satu karakter dari keyboard dan Function ini mengembalikan karakter berikutnya dari menampilkannyake layar . standard input, berupa nilaiASCII-nya. Function ini tidak memerlukan input parameter karena bernilai

  Syntax : char *gets(char *s); void.

  Function ini mengembalikan sekumpulan karakter (yang diakhiri dengan karakter newline) dari standard Syntax : int getch(void); input dan menyimpannya di variabel s. Karakter Function ini membaca satu karakter dari keyboard tapi newline diganti dengan karakter null. tidak menampilkannya di layar.

MASUKAN TIDAK BERFORMAT

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; }

  AB A B 65 66 10 AB

  A B 65 66 10

  Contoh getchar()

  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()

  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; }

MASUKAN TIDAK BERFORMAT

MASUKAN BERFORMAT

  Contoh gets()

  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 data ke-1 ? 125 data ke-2 ? 150

  data ke-1 ? 125 data ke-2 ? 150

  nama ? Pongki halo Pongki, kenal Pengki?

  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?

MASUKAN BERFORMAT

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; scanf("%2d %2d", &a, &b); printf("%d %d\n", a, b); return 0; }

  OUTPUT

  12 34

  12345 678 12 34 12345 678

  1 23

  1 2345 1 23 1 2345

  12 34

  scanf() dengan width 1234567 12 34 1234567

  int main() { int a, b; scanf("%2d %2d", &a, &b); printf("%d %d\n", a, b); return 0; }

  tgl [dd-mm-yy] ? 15-12-08 waktu [hh:mm:ss] ? 10:15:20 15 12 8 10 15 20

  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; }

  Entri karakter tertentu tgl [dd-mm-yy] ? 15-12-08 waktu [hh:mm:ss] ? 10:15:20 15 12 8 10 15 20

  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; }

  10 x 6 = 60

  6

  10

  ketik dua bilangan :

  6 10 x 6 = 60

  Entri dua bilangan sekaligus ketik dua bilangan : 10

  ketik dua bilangan : 10 6 10 x 6 = 60

  ketik dua bilangan : 10 6 10 x 6 = 60

MASUKAN BERFORMAT

  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

KELUARAN TIDAK BERFORMAT

  Instruksi Output Syntax : int putch(int c); Digunakan untuk mencetak karakter ASCII untuk c ke layar monitor tanpa memindahkan cursor ke baris berikutnya.

  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; }

  ABC

  ABC

  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; }

  abc

  abc

  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

KELUARAN TIDAK BERFORMAT

KELUARAN BERFORMAT

  int main() { char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah); puts("***************"); return 0; }

  ALGORITMA dan C ***************

  ALGORITMA dan C ***************

  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; }

  1234567890 1234 -5678 +1234 -5678 00001234 -0005678 1234 -5678

  1234567890 1234 -5678 +1234 -5678 00001234 -0005678 1234 -5678

  Flag dan width

  int main() { char *mtkuliah = "ALGORITMA dan C"; puts(mtkuliah); puts("***************"); return 0; }

KELUARAN BERFORMAT

KELUARAN BERFORMAT

  Flag dan width

  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

  String

  123456789012345 12345678 +12345678 000012345678 12345678

  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

KELUARAN BERFORMAT

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; }

  Printf dengan beberapa format TAMBAHAN

  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; }

  Cetak double precision

  123.4560012817 123.4560000000

  123.4560012817 123.4560000000

  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; }

  Cetak data float

  1.23E+002

  123456789012345 123.250000 123.250000 123.25 1.232500e+002

  123456789012345 123.250000 123.250000 123.25 1.232500e+002

1.23E+002

KELUARAN BERFORMAT

SEARCH SET

SEARCH SET

  „ Search set ‰ himpunan karakter yang akan diambil dari masukan

  ‰ [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

  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

  ‰ Dituliskan di dalam [ ]

SEARCH SET

  „ 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 60001234 3.20

  ipk = 3.20

  60001245 1.75 ipk = 1.75 60001245 1.75

  ipk = 1.75

  Contoh pemakaian search set ASSIGNMENT SUPPRESSION CHAR.

  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; }