520 likes | 698 Views
Operasi Output Input. Pertemuan 0 3. Dasar Pemrograman Komputer [TKL-4002] 2010. Learning Outcomes. Pada akhir pertemuan , diharapkan mahasiswa akan mampu : Menggunakan standard library function yang berhubungan dengan operasi output dan input standart dalam bahasa pemrograman C.
E N D
Operasi Output Input Pertemuan 03 Dasar Pemrograman Komputer [TKL-4002] 2010
Learning Outcomes Padaakhirpertemuan, diharapkanmahasiswaakanmampu : • Menggunakan standard library function yang berhubungandenganoperasioutput daninput standart dalam bahasa pemrograman C.
Outline Materi Operasi Output-Input • Operasi Output standart, spt: putchar, putch, puts, printf, dll. • Format Output • Operasi Input standart, spt: getchar, getch, getche, gets, scanf, dll • Format Input
Operasi Output • Operasioutput dipakaiuntukmenampilkannilai data keperalatan output sebagai data keluaran. Beberapafungsi (standardlibrary function) yang terdapat padabahasapemrograman C di antaranya: • Menampilkan Data Tidak Terformat putchar(); putch(); puts(); • Menampilkan Data Terformat printf();
Output Standart Cetak ............... • Peralatan output standart adalah layar monitor. • Simbol yg lazim digunakan dalam flowchart untuk output standart adalah:
Fungsiputchar() • Sintak: intputchar(int c) • Fungsi: • Menampilkankarakterkelayar monitor pada cursor, kemudiansetelahditampilkan cursor bergerakkeposisiberikutnya. • Mengembalikan EOF jika error, danmengembalikankarakter yang ditampilkanjikasukses • Putcharadalah macro yang samaartinyadengan: putc(c,stdout ) • Header File : stdio.h • Contoh: char ch=’A’; putchar(ch);
Fungsiputch() • Sintak: • intputch(intch); • Fungsi : • Seperti putchar(ch) untuk menampilkankarakterASCII darichdilayar monitor. • Header file : conio.h • Mengembalikan EOF jika error, danmengembalikankarakter yang ditampilkanjikasukses. • Contoh: char ch=’b’; putch(ch);
Fungsi puts() • Sintak: int puts(const char *str); • Fungsi: • Menampilkan string strkelayar monitor danmemindahkankursorkebarisbaru. • Header file: stdio.h • Mengembalikannilai non-negative jikasuksesdan EOF jikaada error. • Contoh: puts(”SelamatDatang”); puts(”Di Bahasa Pemrograman C”);
Fungsiputch(), putchar() & puts() #include<stdio.h> #include<conio.h> #include<iostream.h> int main(){ char c, s[20]="Ini data String"; c='A'; putch(65); putchar(65); putch(c); putchar(c); puts(s); putch('\n'); putchar('\n'); system("PAUSE"); return(0); } Output: AAAAIni data String Press any key to continue . . . Contoh Program
Fungsiprintf • Menampilkan sejumlah nilai data ke standard output, dengan format tertentu. • Standard output adalah Layar Monitor, sedangkan Standard Input adalah Keyboard. • Header file untuk printfadalah: stdio.h • Sintak : printf(const char *format[,argument, …]);
Fungsiprintf • Spesifikai format sbb: %[flags][width][.precision] type
Format Karakter Contoh: #include<stdio.h> #include<iostream.h> int main(){ printf("%c\n",65); printf("%5c%5c%5c\n",65,66,67); printf("%-5c%-5c%-5c\n",65,66,67); system("PAUSE"); return(0); }
Contoh Menampilkan String #include<stdio.h> #include<iostream.h> int main(){ char s[20]="Pemrograman C"; printf("%s%c\n",s,'|'); printf("%30s%c\n",s,'|'); printf("%-30s%c\n",s,'|'); printf("%30.5s%c\n",s,'|'); printf("%-30.5s%c\n\n\n",s,'|'); system("PAUSE"); return(0); }
Contoh Menampilkan Desimal Integer #include<stdio.h> #include<iostream.h> int main(){ int x=1234, y=-567; long int z = -567; printf("%d %u %hi %lu\n",y,y,y,z); printf("Size of short:%d int:%d long:%d\n\n", sizeof(short int), sizeof(int), sizeof(long int)); printf("%d %+8d %+8d %+8ld\n",x,x,y,z); printf("%d %-8d %-8d %-8ld\n",x,x,y,z); printf("%d %-+8d %-+8d %-+8ld\n",x,x,y,z); printf("%d %+-8d %+-8d %+-8ld\n",x,x,y,z); printf("%0d %+08d %+08d %+08ld\n\n",x,x,y,z); system("PAUSE"); return(0); }
Contoh Menampilkan Hexadesimal #include<stdio.h> #include<iostream.h> int main(){ int x=7654; printf("%x %X %10x %10X\n\n",x,x,x,x); printf("%x %X %-10x %-10X\n\n",x,x,x,x); printf("%x %X %010x %010X\n\n",x,x,x,x); printf("%#x %#X %#10x %#10X\n\n",x,x,x,x); printf("%#x %#X %#010x %#010X\n\n",x,x,x,x); printf("%#x %#X %#-10x %#-10X\n\n",x,x,x,x); system("PAUSE"); return(0); }
Contoh Menampilkan Oktal #include<stdio.h> #include<iostream.h> int main(){ int x=7654; printf("%o %10o%c\n\n",x,x,'|'); printf("%o %-10o%c\n\n",x,x,'|'); printf("%o %010o%c\n\n",x,x,'|'); printf("%o %#o%c\n\n",x,x,'|'); printf("%o %#o%c\n\n",x,x,'|'); printf("%o %#-10o%c\n\n\n",x,x,'|'); system("PAUSE"); return(0); }
Contoh Menampilkan Nilai Pecahan #include<stdio.h> #include<iostream.h> int main(){ float x=7654.123456789; double d = 7654.123456789012345l; printf("%f %15f %15.3f\n\n",x,x,x); printf("%e %15e %15.3e\n\n",x,x,x); printf("%g %15g %15.3g\n\n",x,x,x); printf("%lf %20lf %+20.9lf\n\n",d,d,d); system("PAUSE"); return(0); }
Contoh Menampilkan Data Keluaran #include<stdio.h> #include<math.h> #include<iostream.h> int main(){ int n; float l; double fb; printf(" TABEL FAKTOR BUNGA MAJEMUK\n\n"); printf(" n %10s %10s %10s %10s %10s\n\n", "1.0%","2.0%","3.0%","4.0%","5.0%"); for(n=1; n<=15; n++){ printf("%02d ",n); for(int i=1; i<=5; i++){ fb = pow(1.0 + i/100.0, n); printf("%11.7lf",fb); } printf("\n"); } printf("\n"); system("PAUSE"); return(0); }
(80,1) (1,1) x y (80,25) (1,25) Penempatan Kursor Layar dibagi dalam kolom dan baris, umumnya digunakan ukuran kolom = 80 dan baris = 25.
Penempatan Kursor Pada Turbo-C Layar dapat dihapus dengan menggunakan fungsi: clrscr(); Kursor dapat dipindahkan ke posisi manapun di dalam layar monitor dengan menggunakan fungsi : gotoxy(col,row); dimanacol = kolom dan row = baris Sebagian dari baris, mulai posisi kursor hingga akhir baris (end of line), dapat dihapus dengan fungsi: clreol(); Function prototype untuk fungsi gotoxy(), clrscr(), clreol() pada bahasa C terdapat pada header file : <conio.h>
Penempatan Kursor #include <stdio.h> #include <conio.h> int main() { float panjang, lebar, luas, keliling; /* local variable */ clrscr(); /*membersihkan layar*/ gotoxy(30,10); printf(”Panjang : ”); scanf(“%f”,&panjang); gotoxy(30,11); printf(“Lebar :” ); scanf(“%f”,&lebar); keliling = 2 * panjang * lebar; luas = panjang * lebar; gotoxy(30,13); printf(“Keliling = %8.2f ”, keliling); gotoxy(30,14); printf(“Luas = %8.2f‘, luas ); return(0); } Contoh :
Operasi Input • Operasi input: operasi untuk menyimpan nilai data ke variabel tertentu melalui peralatan I/O, spt: keyboard, disk, dll. • Standard library function berkaitan operasi input standartdi bahasa pemrograman C di antaranya: getchar(); getch(); getche(); gets(); scanf();
Input Standart Baca ............... • Peralatan input standart adalah keyboard. • Simbol yg lazim digunakan dalam flowchart untuk input standart adalah:
Fungsigetchar() • Sintak: intgetchar(void): • Fungsi: • mengembalikansebuahkarakter (nilai ASCII) daribuffer keyboard. • Karakterditampilkandilayar monitor • Menunggusampaiditekan ENTER • Header file terdapatdistdio.h • Contoh: char ch; ch = getchar();
Fungsigetch() • Sintak: intgetch(void): • Fungsi: • mengembalikansatukarakterdari buffer keyboard • karaktertidakditampilkandilayar monitor (no echo) • Tidakmenunggusampaiada ENTER • Cocokuntukmembuat password • Header file terdapat diconio.h • Contoh: char ch; ch = getch();
Fungsigetche() • Sintak: intgetche(void) • Fungsi : • mengembalikansatukarakterdari keyboard • Karakterditampilkandilayar (echo) • Tidakmenunggusampaiada ENTER • Header file terdapat diconio.h • Contoh: char ch; ch = getche();
Fungsi gets() • Sintak: voidgets(char*buffer) • Fungsi: • membaca string dari keyboard sampainew-linedandisimpanpadabuffer. • Kemudiannew-linediubah menjadi karakter null • MengembalikannilaiNULLjikaada error danmengembalikanargumentnya(buffer) jikasukses. • Contoh: char buffer[40]; gets(buffer);
Fungsiscanf() • Header file dari scanf terletak distdio.h • Format: • intscanf( const char *format [,argument]... ); • Semuatipe argument padascanfadalahpointer(alamatdarivariabel yang akandiisi data). • Untukmemperoleh alamatdarivariabeldigunakanoperator &. • Fungsiscanfdidefinisikandi header file stdio.h • Contoh : • intumurTahun; • scanf(”%d”,&umurTahun);
Fungsiscanf() • Spesifikaiformatadalah : ”% type” dimanatypebisadigantidengansalahsatudarisbb:
Fungsiscanf() Nilai Data/isi-memori Nama Variabel Alamat-Memori (&x) X 234 45678 • Bila: • y = x; maka y akanberisi data 234 • y = &x; maka y akanberisialamatdari x yaitu 45678 • Jikaxadalahvariabelinteger bernilai 234 dan memiliki alamat 4567.Apakahbedaantara xdgn&x? Jawab:
Fungsiscanf() • Fungsiscanfmengembalikantipe integer, dimananilainyamenyatakanjumlah field yang suksesdiassigned. • Contoh: intx,y,z,w; x =scanf("%d %d %d",&y,&z,&w); • Jikadi input dari keyboard 3 buahnilaiinterger 6 7 8, makanilai x = 3; • Jikadi input dari keyboard 4 buahnilaiinterger 6 7 8 9 makanilai x = 3 (karena 3 nilaiygsuksesdi-assigned masing-masingkevariabel y, z dan w)
Fungsiscanf() /* Program Luas_Segi_Empat v1*/ #include <stdio.h> #include <iostream.h> int main() { int panjang, lebar, luas; printf("Menghitung Luas Segiempat\n\n"); printf("Panjang : "); scanf("%d",&panjang); printf("Panjang : "); scanf("%d",&lebar); luas = panjang * lebar; printf("\nLuas = %d x %d = %d\n\n", panjang, lebar, luas); system("PAUSE"); return(0); } Contoh Program Luas Segi Empat
Fungsiscanf() • Mengambil data string dari keyboard dengan fungsi scanf menggunakan format: %s. • Contoh: char ss[40]; scanf(”%s”,ss); • Perhatikan contoh diatas, karena variabel ss tipenya sudah pointer(Topik tentang pointer akan dibahas tersendiri),maka tidak perlu ditambah tanda & (&ss). • String yang diambil hanya sampai karakter whitespace.
Fungsiscanf() • Karakter Space, tab, linefeed, carriage-return, formfeed, vertical-tab, dan newline disebut ”white-space characters” • Contoh : • Pada potongan program diatas, jika dimasukkan string ”Selamat Pagi Pak” dari keyboard maka yg dimasukkan ke variabel ss hanya “Selamat” saja. • Untuk mengambil string yang diakhiri karakter tertentu (misalnya ENTER), dengan scanf dapat menggunakan format [^\n]
Fungsiscanf() • Contoh: char ss[40]; scanf(”%[^\n]”,ss); • Pada potongan program diatas, jika dimasukkan string ”Selamat Pagi Pak” kemudian tekan ENTER dari keyboard maka variabel ss berisi string “Selamat Pagi Pak”
Fungsiscanf() • Contoh: char ss[40]; scanf(”%[a-z]”,ss); • Pada potongan program diatas, jika dimasukkan string: http://brawijaya.ac.id kemudian tekan ENTER dari keyboard maka variabel ss hanya berisi string: http karena titik dua (:) tidak ada diantara a s/d z, dan titik dua dianggap sebagai akhir dari string.
Fungsiscanf() • Contoh: int x; scanf("%o", &x); • Pada potongan program diatas, jika dimasukkan bilangan : 44 kemudian tekan ENTER dari keyboard maka variabel x akan berisi nilai : 36 desimal, karena 44 dianggap bilangan berbasis oktal.
Fungsiscanf() • Contoh: int x; scanf("%x", &x); • Pada potongan program diatas, jika dimasukkan bilangan : 44 kemudian tekan ENTER dari keyboard maka variabel x akan berisi nilai : 68 desimal, karena 44 dianggap bilangan berbasis heksadesimal.
Latihan int x,y,z,w; x=scanf("%d %d %d",&y,&z,&w); • Apa yang terjadi jika pada program diatas di input 2 nilai integer dari keyboard? • Berapa nilai x jika diinput dari keyboard 3 buah character ?
Latihan char ss1[40]; char ss2[40]; x=scanf(”%s %s”,ss1,ss2); • Apa isi variabel ss1 dan ss2, jika dari keyboard diinput string ”Selamat Pagi Pak” ? • Berapa nilai x jika diinput dari keyboard : ”Kelas 1PAT”
Latihan char ss[40]; scanf(”%4s”, ss); • Apaisivariabelss, jikadari keyboard diinput string ”SelamatPagi” ? char ch; ch = getchar(); • Apaisivariabelch, jikadari keyboard di-input : TIF-FTUB char ch1, ch2; ch1 = getchar(); //masukkankataTIF-FTUB! ch2 = getchar(); • Apaisivariabel ch1 dan ch2, jikadari keyboard di-input : TIF-FTUB
Latihan • Buatlah program untukmenerima input dari keyboard, berupanilai : • TugasKelompok (NTK) • NilaiKuis (NK) • Nilai UAS (NUAS) • Hitungdantampilkannilaiakhirdenganrumus : NA = 20 % * NilaiNTK+ 30 % NilaiKuis+ 50 % Nilai UAS
Latihan #include <stdio.h> int main() { char nama[40]; intnim; char jk; printf("Nama:"); scanf("%[^\n]",nama); printf("Nim:"); scanf("%d",&nim); printf("JenisKelamin (L/P):"); jk=getchar(); return 0; } Perhatikan Program diatas! Setelahmemasukkannamadannimdari keyboard, program langsungkeluar, instruksijk=getchar(); seolah-olahtdkpernahdieksekusi, jelaskanmengapademikian?
Latihan #include <stdio.h> int main(){ char ss[]="10 % 3 = 1\n"; char str[]="SelamatDatangdiBinus\n"; printf(ss); printf("%s",ss); printf(str); printf("%s",str); return 0; } Apakah output dari program diatas ?