1 / 18

TE E 2 103 Algoritma dan Pemrograman

TE E 2 103 Algoritma dan Pemrograman. Input dan Output. Dosen: Abdillah, MIT Hp : 0853 6581 8665 Email: abdill 01 @ gmail.com Website: www. abdill01.wordpress.com. Tujuan. Mahasiswa memahami proses input dan output dalam program C. Standar Input.

gianna
Download Presentation

TE E 2 103 Algoritma dan Pemrograman

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEE 2103Algoritma dan Pemrograman Input dan Output Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: abdill01@gmail.com Website: www.abdill01.wordpress.com

  2. Tujuan • Mahasiswamemahami proses input dan output dalam program C.

  3. Standar Input • Mekanisme input paling sederhana adalah membaca satu karakter per waktu dari piranti masukan (keyboard) dengan getchar: • Setiap dipanggil, getchar mengembalikan karakter input berikutnya atau EOF ketika menemukan akhir kalimat. • Konstanta EOF didefinisikan dalam <stdio.h> dan nilainya adalah -1. int getchar(void);

  4. Standar Output • Mekanisme output paling sederhana adalah mencetak satu karakter per waktu ke piranti keluaran (layar) dengan putchar: • Setiap kode program yang mengacu pada fungsi pustaka input dan output harus mengandung baris • Ketika sebuah nama dimasukkan dalam <>, pencarian dilakukan dalam /djgpp/include. int putchar(int); include <stdio.h>

  5. Program /* Konversi input kehuruf kecil */ #include <stdio.h> #include <ctype.h> main() { int c while ((c = getchar()) != EOF) putchar(tolower(c)); return 0; }

  6. Format Output - printf • Fungsi printf mencetak argumennya pada layar monitor dibawah kendali format. • Format string mengandung dua jenis objek, yakni karakter biasa dan spesifikasi konversi. • Setiap spesifikasi konversi diawali dengan tanda % dan diakhiri dengan karakter konversi.

  7. Spesifikasi Konversi • Karakter konversidisesuaikan dengan tipe argumen yang akan dicetak. int %d unsigned int %u long %ld float %f double %lf char %c string %s

  8. Format Output - printf • Antara tanda % dan karakter konversi dapat ditambahkan: • tanda minus untuk rata kiri • jumlah lebar kolom minimum • tanda titik untuk presisi • jumlah angka di belakang koma • huruf h jika short dan l jika long.

  9. Presisi String • Tabel berikut memperlihatkan efek dari berbagai spesifikasi mencetak “hello, world” (12 karakter) :%s: :hello, world: :%10s: :hello, world: :%.10s: :hello, wor: :%-10s: :hello, world: :hello, world: :%.15s: :hello, world : :%-15s: : hello, wor: :%15.10s: :hello, wor : :%-15.10s:

  10. Format Input - scanf • Fungsi scanf membaca karakter dari piranti masukan dan menyimpannya melalui sisa argumen. • Format string mengandung dua jenis objek, yakni karakter biasa dan spesifikasi konversi. • Setiap spesifikasi konversi diawali dengan tanda % dan diakhiri dengan karakter konversi.

  11. Program #include <stdio.h> main() /* kalkulator dasar */ { double sum, v; sum = 0; while (scanf("%lf", &v) == 1) printf("\t%.2f\n", sum += v); return 0; }

  12. Baris Input • Misalkan baris input yang akan dibaca adalah: • Statement scanf adalah: • Perhatikan bahwa tidak ada operator & digunakan untuk namabulan, karena nama array adalah sebuah pointer. 24 Desember 2013 int tgl, tahun; char namabulan[20]; scanf("%d %s %d", &tgl, namabulan, &tahun);

  13. Baris Input • Karakter literal yang muncul dalam string format scanfharus sama dengan karakter input. Sehingga bisa membaca tanggal dalam format dd/mm/yy dengan statement scanf: int day, month, year; scanf("%d/%d/%d", &month, &day, &year);

  14. Akses File • Sejauh ini contoh-contoh program membaca dari keyboard dan menulis di layar. Langkah berikut adalah menulis program yang mengakses sebuah file .txt yang belum terhubung ke program. • Sebelum dapat dibaca atau ditulis, sebuah file dibuka oleh fungsi fopen yang mengembalikan sebuah pointer file yang digunakan dalam pembacaan atau penulisan file. • Pointer file ini menunjuk pada sebuah nama tipe struktur yang mengandung informasi tentang file. FILE adalah nama tipe struktur yang dideklarasikan dalam <stdio.h>.

  15. Deklarasi Pointer File FILE *fp; FILE *fopen(char *name, char *mode); fp = fopen(name, mode); • Statement di atas adalah deklarasikan fp, sebuah pointer ke sebuah FILE dan deklarasi fopen yang mengembalikan sebuah pointer ke sebuah FILE. • Argumen pertama dari fopen adalah string karakter yang mengandung nama file. Argumen kedua juga string karakter yang mengindikasikan bagaimana file digunakan: read (“r”), write (“w”) dan append (“a”).

  16. Membaca & Menulis File • Setelah file dibuka, berikutnya adalah membaca atau menulis file. Fungsi getc membaca dan fungsi putc menulis karakter dari sebuah file. Fungsi ini membutuhkan argumen pointer file untuk menunjuk file mana yang dibaca. • Fungsi getc mengembalikan karakter berikutnya dari file yang ditunjuk oleh fp, dan mengembalikan EOF jika akhir file atau error. Sedangkan fungsi putc menulis karakter c ke file fp dan mengembalikan karakter yang ditulis atau EOF jika error. int getc(FILE *fp); int putc(int c, FILE *fp);

  17. Format Input dan Output • Ketika sebuah program C dimulai, environment dari sistem operasi bertanggung jawab untuk membuka tiga file dan menyediakan pointer file untuk mereka, yakni stdin, stdout dan stderr yang dideklarasikan dalam <stdio.h>. • Biasanya stdin terhubung ke keyboard, sedangkan stdout dan stderr terhubung ke layar. Tapi stdin dan stdout dapat dialihkan ke file. • Untuk melakukan format input atau output file, fungsi fscanf dan fprintf dapat digunakan. int fscanf(FILE *fp, char *format, ...) int fprintf(FILE *fp, char *format, ...)

  18. Program Akses File #include <stdio.h> main() { int N, x, i, jumlah; float rerata; FILE *Fin; Fin = fopen(“data.txt”, “r”); fscanf(Fin, “%d”, &N); jumlah = 0; i = 1; while(i<=N) { fscanf(Fin, “%d”, &x); jumlah = jumlah + x; i=i+1: } rerata = (float)jumlah/N; printf(“Rata-rata = %f”, rerata); }

More Related