BAB IV Input dan Output Data

  DISU USUN OLEH H : ADAM MU UKHARIL BA ACHTIAR, S. .Kom.

  

DIK KTAT MATA A KULIAH P PEMROGRA AMAN I

  

m en nent ukan f form at t ipe dat a y ang g akan diin put kan. Ad dapun form m at t ipe dat t a y ang

seri ng digunak k an ant ara lain:

Tabel 4.1 Form at t ipe e dat a inpu ut an

  For m a t F K Ke gu na a n

  % c Digunakan n unt uk inp put an bert ip pe dat a cha ar % i at au % d Digunakan n unt uk inp put an bert ip pe dat a int e eger % u Digunakan n unt uk inp put an bert ip pe dat a uns signed int eg ger % f Digunakan n unt uk inp put an bert ip pe dat a floa at % o Digunakan n unt uk inp put an dat a angka berb basis ok t al % x Digunakan n unt uk inp put an dat a angka berb basis hexad desim al

  % s Digunakan n unt uk inp put an bert ip pe dat a st ri ing Ben nt uk um um dari fungs i scanf( ) ad dalah sebag gai berikut : :

s sca n f( “for m a t ”,& n a m a _ v a r ia b be l) ;

da a n u n t uk s st r in g

sca n f( “for r m a t ”,n a m m a _ va r ia b be l) ;

  Con nt oh:

  1 /*

  2 Progr ram 4.1

  3 Nama File : Lat-4.1 1.c 4 Progr rammer : Adam Mu ukharil Bachtiar r, S.Kom m. 5 */

  6 7 #includ de <stdi io.h> 8 #includ de <stdl lib.h>

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  9 10 int main(int argc, char *argv[]) 11 { 12 int x,jam,menit,detik; 13 unsigned int y; 14 float z; 15 char nama[31]; 16 scanf("%i",&x); 17 scanf("%u",&y); 18 scanf("%f",&z); 19 scanf("%i %i %i",&jam,&menit,&detik); 20 fflush(stdin);scanf("%s",nama); 21 system("PAUSE"); 22 return 0; 23 }

  Fungsi scanf( ) punya suat u kelem ahan, yait u dalam m enginput kan dat a

st ring. Dat a st ring yang disim pan hanya sam pai m enem ukan spasi. Apabila dat a

st ring yang diinput kan m engandung spasi m aka dat a set elah spasi t idak akan

t ersim pan. Ada sat u pem ecahan unt uk perm asalahan ini yait u m enggunakan fungsi

get s( ) . Bent uk um um fungsi get s( ) adalah sebagai berikut :

ge t s( n a m a _ va r ia be l) ;

  Cont oh: 1. get s( nam a) ; 2. get s( pekerj aan) ; Selain fungsi scanf( ) dan fungsi get s( ) , ada fungsi yang bisa digunakan unt uk m enginput kan dat a karakt er. Fungsinya ant ara lain: 1. get ch( )

  

Mem baca t ipe karakt er t anpa m enam pilkan karakt er t ersebut ke layar.

2. get che( ) Mem baca t ipe kar akt er dengan m enam pilkan karakt er yang diinput k an ke layar . Cont oh:

  1 /*

  2 Program 4.2

  3 Nama File : Lat-4.2.c 4 Programmer : Adam Mukharil Bachtiar, S.Kom. 5 */

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  6 7 #include <stdio.h> 8 #include <stdlib.h>

  9 10 int main(int argc, char *argv[]) 11 { 12 char k1,k2; 13 printf("Masukkan karakter pertama : "); 14 k1=getch();printf("\n"); 15 printf("Masukkan karakter kedua : "); 16 k2=getche();printf("\n"); 17 printf("Karakter yang dimasukkan adalah %c dan %c\n\n",k1,k2); 18 system("PAUSE"); 19 return 0; 20 }

  Hasil eksekusi:

Gam bar 4.1 Hasil eksekusi program Lat 4.1

Pemasukkan (Input) Data C++

  Fungsi pada bahasa C+ + yang digunakan unt uk m enginput kan dat a adalah fungsi cin. Bent uk um um dari fungsi cin adalah sebagai berikut :

cin > > n a m a _ va r ia be l; DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Unt uk m enggunakan fungsi ini, kit a t idak perlu m em asukk an form at t ipe dat a dari

variabel yang digunakan. Tent unya hal ini akan m em udahkan bagi pengguna fungsi

t ersebut . Sebagai cont oh:

  1

  15

  25 /* Program 4.1 Nama File : Lat-4.1.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int x,jam,menit,detik; unsigned int y; float z; char nama[31]; cin>>x; cin>>y; cin>>z; cin>>jam>>menit>>detik; cin>>nama; system("PAUSE"); return EXIT_SUCCESS; }

  24

  23

  22

  21

  20

  19

  18

  17

  16

  14

  2

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  Sam a halnya dengan scanf( ) , fungsi cin hany a bisa m enyim pan dat a st ring

sam pai m enem uk an spasi saj a. Apabila ingin m enginput kan dat a st ring yang

m engandung spasi m aka fungsi yang kit a gunakan adalah fungsi cin.get . bent uk um um dari fungsi cin.get adalah sebagai berik ut :

cin .ge t ( n a m a _ v a r ia be l,j u m la h _ k a r a t e r _ in pu t ) ; DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Pengeluaran (Output) Data C

  17

  31 /* Program 4.3 Nama File : Lat-4.3.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x=25000; unsigned int y=5000; float z=12345.678; char univ[35]="UNIVERSITAS KOMPUTER INDONESIA"; char kota[10]="BANDUNG"; system("cls"); //untuk mengosongkan layar printf("Tampilan Data Tanpa Diformat\n"); printf("Nilai x : %d\n",x); printf("Nilai y : %u\n",y); printf("Nilai z : %f\n",z); printf("String : %s %s\n\n",univ,kota); printf("Tampilan Data Sudah Diformat\n"); printf("Nilai x : %8d\n",x); printf("Nilai y : %8u\n",y); printf("Nilai z : %11.2f\n",z); printf("String 1: %40s %10s\n",univ,kota);//rata kanan printf("String 2: %-40s %-10s\n\n",univ,kota);//rata kiri system("PAUSE"); return 0; }

  30

  29

  28

  27

  26

  25

  24

  23

  22

  21

  20

  19

  18

  Unt uk out put dat a, perint ah yang digunakan adalah print f( ) . Bent uk um um fungsi print f( ) adalah sebagai ber ikut :

pr int f( “% for m a t ”,na m a _ v a r ia be l) ;

  Sebagai cont oh buat program dengan sint aks berikut ini:

  7

  1

  2

  3

  4

  5

  6

  8

  15

  9

  10

  11

  12

  13

  14

  16

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. Hasil eksekusi:

  

Gam bar 4.2 Hasil eksekusi progr am Lat 4.3

Pengeluaran (Output) Data C++

  Unt uk out put dat a dalam bahasa C+ + digunakan fungsi cout . Bent uk um um dari fungsi cout adalah sebagai berikut :

cout < < n a m a _ v a r ia be l;

  Sebagai cont oh buat program dengan sint aks sepert i di bawah ini:

  1 /*

  2 Program 4.2

  3 Nama File : Lat-4.2.cpp 4 Programmer : Adam Mukharil Bachtiar, S.Kom. 5 */

  6 7 #include <cstdlib> 8 #include <iostream> 9 #include <iomanip>

  10 11 using namespace std;

  12 13 int main(int argc, char *argv[]) 14 { 15 int x=25000; 16 unsigned int y=5000; 17 float z=12345.678;

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  27

  34 char univ[35]="UNIVERSITAS KOMPUTER INDONESIA"; char kota[10]="BANDUNG"; system("cls"); //untuk mengosongkan layar cout<<"Tampilan Data Tanpa Diformat"<<endl; cout<<"Nilai x :"<<x<<endl; cout<<"Nilai y :"<<y<<endl; cout<<"Nilai z :"<<z<<endl; cout<<"String :"<<univ<<" "<<kota<<"\n\n"; cout<<"Tampilan Data Sudah Diformat"<<endl; cout<<"Nilai x :"<<setw(10)<<x<<endl; cout<<"Nilai y :"<<setw(10)<<y<<endl; cout<<"Nilai z :"<<setw(10)<<z<<endl; cout<<"String 1:"<<setw(40)<<univ <<" "<<setw(10)<<kota<<endl; cout<<"String 2:"<<setw(-40)<<univ<<" " <<setw(-10)<<kota<<"\n\n"; system("PAUSE"); return EXIT_SUCCESS; }

  33

  32

  31

  30

  29

  28

  26

  18

  25

  24

  23

  22

  21

  20

  19

  Hasil eksekusi:

Gam bar 4.3 Hasil eksekusi program Lat 4.2

Cat at an Apabila nilai pada fungsi set w berupa angka posit if m aka t am pilan t eks ak an rat a kanan. Sebalik nya, apabila nilai pada fungsi set w berupa angk a negat if m aka t am pilan t ek s akan rat a kiri.

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Contoh Program

  1. Gaj i Pokok : Rp. 1000000

  12

  26 /* Program 4.4 Nama File : Lat-4.4.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int jam_lembur; long int gaji_pokok=1000000,gaji_kotor, total_gaji_lembur; float pajak,gaji_bersih; char nama[31]; system("cls"); printf("Nama Pegawai : ");fflush(stdin);gets(nama); printf("Lama Lembur : ");scanf("%i",&jam_lembur); total_gaji_lembur=(long int)5000*jam_lembur; //konversi tipe data gaji_kotor=gaji_pokok+total_gaji_lembur; pajak=0.1*gaji_kotor; gaji_bersih=gaji_kotor-pajak; system("cls"); printf("Hasil Perhitungan\n"); printf("Nama Pegawai : %s\n",nama); printf("Gaji Pokok : Rp. %10li\n",gaji_pokok);

  25

  24

  23

  22

  21

  20

  19

  18

  17

  16

  15

  14

  13

  11

  2. Gaj i Lem bur/ Jam : Rp. 5000

  Cont oh kasus: Di suat u perusahaan, dat a penggaj ian dihit ung dengan ket ent uan sebagai berikut :

  9

  8

  7

  6

  5

  4

  3

  2

  1

  6. Gaj i Bersih : Gaj i Kot or – Paj ak 7. Dat a yang Diinput kan : Nam a Pegawai, Lam a Lem bur. Buat lah program dengan m enggunakan bahasa C dan C+ + !

  5. Paj ak : 10% * Gaj i Kot or

  4. Gaj i Kot or : Gaj i Pokok + Tot al Gaj i Lem bur

  3. Tot al Gaj i Lem bur : Lam a Lem bur * Gaj i Lem bur/ Jam

  10

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  27

  28

  29

  30

  31

  32

  33

  34 printf("Lama Lembur : %i jam\n",jam_lembur); printf("Total Gaji Lembur : Rp. %10li\n",total_gaji_lembur); printf("Gaji Kotor : Rp. %10li\n",gaji_kotor); printf("Pajak (10%%) : Rp. %10.0f\n",pajak); printf("Gaji Bersih : Rp. %10.0f\n\n",gaji_bersih); system("PAUSE"); return 0; }

  Hasil eksekusi:

Gam bar 4.4 Hasil eksekusi program Lat 4.4 input dat a

  

Gam bar 4.5 Hasil eksekusi program Lat 4.4 out put dat a DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  1

  28

  22

  23

  24

  25

  26

  27

  29

  20

  30

  31

  32

  33

  34

  35

  21

  19

  2

  9

  3

  4

  5

  6

  7

  8

  10

  18

  11

  12

  13

  14

  15

  16

  17

  36 /* Program 4.3 Nama File : Lat-4.3.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { int jam_lembur; long int gaji_pokok=1000000,gaji_kotor, total_gaji_lembur; float pajak,gaji_bersih; char nama[31]; system("cls"); cout<<"Nama Pegawai : ";cin.get(nama,30); cout<<"Lama Lembur : ";cin>>jam_lembur; total_gaji_lembur=(long int)5000*jam_lembur; //konversi tipe data gaji_kotor=gaji_pokok+total_gaji_lembur; pajak=0.1*gaji_kotor; gaji_bersih=gaji_kotor-pajak; system("cls"); cout<<"Hasil Perhitungan"<<endl; cout<<"Nama Pegawai : "<<nama<<endl; cout<<"Gaji Pokok : " <<gaji_pokok<<endl; cout<<"Lama Lembur : "<<jam_lembur <<" jam"<<endl; cout<<"Total Gaji Lembur : Rp. " <<setw(10)<<total_gaji_lembur<<endl; cout<<"Gaji Kotor : Rp. " <<setw(10)<<gaji_kotor<<endl; cout<<setiosflags(ios::fixed); //mengatur bilangan pecahan cout<<"Pajak (10%) : Rp. " <<setw(10)<<setprecision(2)<<pajak<<endl; cout<<"Gaji Bersih : Rp. " <<setw(10)<<setprecision(2)<<gaji_bersih <<endl<<endl; system("PAUSE");

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  37 return EXIT_SUCCESS; 38 }

  Hasil eksekusi:

Gam bar 4.6 Hasil eksekusi program Lat 4.3 input dat a

  

Gam bar 4.7 Hasil eksekusi program Lat 4.3 out put dat a DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Conio2.h

  Kalau diperhat ikan, hasil out put ke layar berupa t eks yang m em iliki w ar na sesuai pengat uran pada layar DOS. Apabila ingin m em berik an w arna pada t eks yang akan dit am pilkan, kit a t idak bisa m enggunakan file header conio.h ( pada t urbo dan borland C bisa) . Unt uk dev- c+ + k it a bisa m enggunakan library t am bahan yang bisa

didownload pada sit us ht t p: / / conio.sf.net yait u conio2. Adapun cara

penginst alasiannya adalah sebagai berikut :

  1. Akt ifkan file inst alasi conio- 2.0- 1m ol.Devpak.

  2. Klik I nst all pada form berikut ini: Gam bar 4.8 Form pert am a inst alasi conio2 3. Tunggu proses inst alasinya.

  4. Klik Finish pada form t erakhir. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  

Gam bar 4.9 Form t erakhir inst alasi conio2

  5. Set elah it u secara ot om at is akan keluar sebuah j endele baru yait u j endela Pack age Manager yang di dalam nya t erdapat library yang ada di dev- c+ + .

  Tut up j endela ini. Pr oses inst alasi selesai. Penggunaan conio2.h adalah sebagai berikut :

  1. Buat lah program dengan sint ak s di bawah ini:

  1 /*

  2 Program 4.5

  3 Nama File : Lat-4.5.c 4 Programmer : Adam Mukharil Bachtiar, S.Kom. 5 */

  6 7 #include <stdio.h> 8 #include <stdlib.h> 9 #include <conio2.h> //file header tambahan

  10 11 int main(int argc, char *argv[]) 12 { 13 textbackground(WHITE);//memberi background pada teks dan layar 14 clrscr(); //pengganti system("cls");

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  14

  7

  8

  9

  10

  11

  12

  13

  15

  5

  16

  17

  18

  19

  20

  21

  22

  6

  4

  15

  23

  16

  17

  18

  19

  20

  21

  22

  24

  3

  25

  26

  27

  28

  29 textcolor(GREEN); //warna harus dalam huruf besar printf("Tulisan ini akan berwarna hijau tua\n"); textcolor(LIGHTBLUE);//tidak semua warna bisa printf("Tulisan ini akan berwarna biru terang\n"); textcolor(RED); printf("Tulisan ini akan berwarna merah\n"); textcolor(10); //bisa diganti dengan angka karena parameter fungsi ini bertipe integer textbackground(BLACK); printf("Tulisan ini akan berwarna hijau muda dan berlatar hitam\n\n"); textcolor(BLACK); textbackground(WHITE); gotoxy(25,10); //mengatur letak dengan aturan gotoxy(kolom,baris) system("PAUSE"); return 0; }

  1

  2

  23 /* Program 4.4 Nama File : Lat-4.4.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <conio2.h> //file header tambahan using namespace std; int main(int argc, char *argv[]) { textbackground(WHITE);//memberi background pada teks dan layar clrscr(); //pengganti system("cls"); textcolor(GREEN); //warna harus dalam huruf besar cout<<"Tulisan ini akan berwarna hijau tua"<<endl; textcolor(LIGHTBLUE);//tidak semua warna bisa cout<<"Tulisan ini akan berwarna biru terang"<<endl; textcolor(RED); cout<<"Tulisan ini akan berwarna merah"<<endl; textcolor(10); //bisa diganti dengan angka karena parameter fungsi ini bertipe integer

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  24

  25

  26

  27

  28

  29

  30

  31 textbackground(BLACK); cout<<"Tulisan ini akan berwarna hijau muda dan berlatar hitam"<<endl<<endl; textcolor(BLACK); textbackground(WHITE); gotoxy(25,10); //mengatur letak dengan aturan gotoxy(kolom,baris) system("PAUSE"); return EXIT_SUCCESS; }

  2. Set elah it u klik m enu Pr oj e ct Æ Pr oj e ct Opt ion s. Maka akan t am pil for m seper t i ini:

Gam bar 4.10 Form Proj ect Opt ions DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  

Gam bar 4.11 Form Proj ect Opt ions t ab Param et ers

  4. I si di bagian Linker dengan t eks –lconio ( perint ah yang m enghubungkan dengan library conio2) . At au klik t om bol Add Libr a r y or Obj e ct lalu pilih library yang diinginkan. Klik Ok.

  

Gam bar 4.11 Linker DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  5. Lalu j alankan program yang sudah dibuat . Hasil ek sekusiny a adalah sebagai berikut :

Gam bar 4.12 Hasil eksekusi progr am Lat 4.5 bahasa C dan Lat 4.4 bahasa C+ +