Proses operasi (input output) I/O



Operasi Input Output



    Memasukkan data dan menampilkannya merupakan hal yang sering dilakukan dalam pemrograman.  Salah satu jenis pernyataan yang hampir selalu digunakan pada tiap program adalah pernyataan pemanggilan fungsi untuk keperluan input/output. Untuk operasi input output dibutuhkan praprosessor  berupa  #include <stdio.h>. Ada beberapa fungsi dasar dalam fasilitas I/O, yaitu : putchar dan getchar. Fungsi putchar digunakan khusus untuk menampilkan sebuah karakter ke layar, sedangkan getchar digunakan untuk membaca sebuah karakter. Contoh penggunaan fungsi dasar I/O adalah sebagai berikut:
/* -------------------------------*/
/* Penggunaan Fungsi Dasar I/O    */
/* ------------------------------­_*/
#include <stdio.h>
main()
{
  int c;
  while ((c=getchar()) != EOF)
    putchar(c);
}

Setelah program di atas dijalankan, selama belum dienter data diinputkan terus. Untuk menghentikan penginputan tekan CTRL c sehingga muncul shell prompt.
Selain fasilitas dasar I/O, bahasa C juga mempunyai fasilitas I/O yang terformat, yaitu dengan fungsi scanf dan printf. Terformat artinya lebar dan bentuk tampilannya dapat diatur. Tabel 4 merupakan penggunaan fasilitas I/O terformat.

Tabel 3.1. Fasilitas I/O terformat
Format %
Tipe
Hasil
c
char
Satu karakter
i , d
int
Angka desimal
o
int
Angka oktal
x
int
Angka heksadesimal
u
int
Desimal tak bertanda
s
string
String
f
float
Angka pecahan
e
float
Angka pecahan dalam notasi saintifik
g
float
Angka pecahan pengganti %f atu %e tergantung yang terpendek
p

Alamat memori untuk printer
%

Menampilkan pesan

Simbol % dinamakan momen, sering juga disebut penentu format. Memon digunakan untuk mengeluarkan nilai dari suatu dengan tipe data tertentu. Antara tanda % dan format dapat diberi (-) tanda minus atau angka-angka integer. Tanda minus dapat menjadikankarakter rata-kiri. Tanda minus dapat menjadikan karakter rata – kiri, sedangkan angka integer menunjukkan lebar field. Tanda m.n dengan m=lebar field dan n = digit presisi setelah titik koma. Misalnya:

  1. % ns artinya menampilkan hasil bertipe string rata kanan selebar n
  2. %-ns artinya menampilkan hasil bertipe string rata kiri selebar n
  3. %n.ms artinya menampilkan hasil bertipe string rata kanan, m buah karakter pertama saja dengan lebar n posisi

3.1.       FUNGSI printf
Fungsi printf() merupakan fungsi yang digunakan untuk menampilkan berbagai jenis data yang dapat diformat karena fungsi ini dapat menggunakan kode-kode format, yaitu karakter-karakter konversi. Bentuk umum fungsi ini adalah :
printf(“string kontrol”, argumen1, argumen2,.....);

string kontrol dapat  berupa keterangan beserta penentu format ( seperti %d, %f dan lain-lain). Argumen adalah data yang akan ditampilkan dapat berupa variabel, konstanta, maupun ungkapan. Contoh program untuk menampilkan karakter terformat adalah sebagaai berikut:

/*----------------------------------*/
/*    Format karakter               */
/*----------------------------------*/
#include <stdio.h>
main()
{
  int tahun = 2002;
  float pi = 3.14159;
  printf(“ Tahun %d \n”, tahun);
  printf(“Tahun %5d\n”,tahun);
  printf(“Nilai pi %.3f\n”,pi);
  printf(“Nilai pi %f\n”,pi);
  printf(“ Komisi 15 %%\n”);
  printf(“ Nilai 15 \%\n”);
}

Tampilan program:
Tahun 2002
Tahun 2002
Nilai pi 3.142
Nilai pi 3.141590
Komisi 15%
Nilai 15%

Contoh lain dari karakter terformat adalah :
/* ---------------------------- */
/* Karakter Terformat     */
/*----------------------------*/
#include <stdio.h> main o
main()
{
/* ---------------------------- */
/* Karakter Terformat     */
/*----------------------------*/
#include <stdio.h> main o
main()
{
printf(" Berikut contoh karakter terformat\n");
printf(" -----------------------------------\n");
printf(" | %-7s | % -30s | %3s |\n","Kode", "Mata Kuliah", "SKS");
printf(" | %-7s | % -30s | %3d |\n", "MKP3203", "Pemrograman C", 2);
printf(" | %-7s | % -30s | %3d |\n", "DKM2408", "Logika dan Algoritma", 4);
printf(" | %-7s | % -30s | %3d |\n", "KKM3045", "Pemrograman Client Server", 4);
printf(" | %-7s | % -30s | %3d |\n", "KKM5417", "Sistem Operasi", 4);

}

Tampilan program:

contoh karakter terformat
-----------------------------------------
| Kode             |           Mata Kuliah             | SKS
| MKP 3203    | Pemrograman C                               | 2
| DKM 2408   | Logika dan Algoritma                      | 4
| KKM 3045   | Pemrogramman Client Server4        | 4
| KKM 5417   | Sistem Operasi                                 | 4

3.2 Fungsi scanf
Fungsi scanf() merupakan fungsi yang digunakan untuk memasukkan jenis data. Fungsi ini mirip dengan printf. Pada contoh-contoh program di atas sudah ditentukan dari dalam program, sedangkan program-program di bawah akan membaca masukan dari keyboard, artinya ditentukan oleh pemakai masukan dari keyboard. Contoh penggunaan fungsi scanf dapat dilihat pada program berikut:


 /* -------------------------------------------*/

/* Menghitung Luas persegi Panjang           */
/* ------------------------------------------*/
#include <stdio.h>
main()
{

float a,b,hasil;
printf(“Masukkan nilai panjang = “);
scanf(“%f”,&a);
printf("Masukkan nilai lebar =”);
scanf("%f",&b);
hasil=a*b;
printf("Luas = %.2f\n",hasil);
}

Tampilan program:

Masukkan nilai panjang = 9.7
Masukkan nilai lebar = 6.5
Luas = 63.05

Program berikut adalah untuk menghitung rata-rata dari dua buah data

#include <stdio.h>
main()

{
float a,b,hasil;
printf("Masukan dua buah nilai "\
"dipisahkan dengan koma “);
scanf("%f,%f", &a,&b);
hasil=(a+b)/2;
printf("Rata-rata =%f\n",hasil);

}
Tampilan program:
Masukan dua buah nilai dipisahkan dengan koma 7,9
Rata-rata =8.000000

 Contoh-Contoh soal

1.    Buatlah program untuk menghitung luas dan keliling lingkaran dengan besarnya jari-jari lingkaran dimasukkan melalui keyboard.

Jawab :

/* -------------------------------------*/
/* Menghitung Luas dan keliling Lingkaran*/
/* -------------------------------------*/
# include <stdio.h>
main()
{

float phi=3.14,jari,luas,keliling;
printf("Masukan jari-jari lingkaran = “);
scanf(“%f”, &jari);
luas=phi*jari*jari;
keliling=2*phi*jari;
printf("Lingkaran berjari-jari %.2f mempunyai luas %.2f dan keliling %.2f\n",jari,luas,keliling);
}
Tampilan program:

Masukan jari-jari lingkaran = 100
Lingkaran berjari-jari 100.00 mempunyai luas 31400.00 dan Keliling 628.00

Pada program di atas perhitungan jari-jari kuadrat ditulis jari*jari. Bayangkan jika ada kasus yang membutuhkan perhitungan perpangkatan yang bilangan pemangkatnya bernilai lebih dari satu. Penulisan perintahnya men­jadi panjang. Misalnya 5 pangkat 10 akan ditulis 5*5*5*5*5*5*5*.  Ini tidak efisien. Alternatif lain untuk menghitung perpangkatan adalah menggunakan pow(argumenl,argumen2) yang terdapat dalam library math. Karena itu, untuk perhitungan tersebut dibutuhkan praprosessor #include<math.h>. argumenl adalah bilangan yang akan dipangkatkan, sedangkan argumen2 adalah bilangan yang akan digunakan sebagai pemangkat. Program di atas dapat ditulis sebagai berikut:

/* ---------------------------------------------- */
/*   Menghitung Luas & Keliling Lingkaran         */
/* ---------------------------------------------- */

#include <stdio.h>
#include <math.h> main o
main()
{
float phi=3.14,jari,luas,keliling;
printf("Masukan jari-jari lingkaran  = “);
scanf ( "%f", &jari) ;
luas=phi *pow ( jari , 2 ) ;                  
keliling=2*phi*jari;
printf ( "Lingkaran berjari-jari %.2f mempunyai luas  %.2f dan keliling %.2f\n",jari,luas,keliling);
}                                             

Karena program di atas menggunakan header yang tidak standar,yaitu math, maka ketika mengkompile agak berbeda diperlukan proses me-link        ke library math. Misalkan script di atas disimpan sebagai lingkaran.c, maka pengkompilelannya seperti berikut:        

gcc -o lingkaran lingkaran.c –lm




2. Buatlah program untuk menghitung sisi miring segitiga siku-siku dengan
   sisi tegak dan sisi mendatar merupakan input dari masukkan keyboard.

JAWAB
/*
_______________________*/

/***
Sisi Miring Segitiga Siku-Siku */

/*
_______________________*/

#include <stdio.h>
#include <math.h>
main()
{

float datar,tegak, miring;
printf("Masukkan sisi datar & sisi tegak (dipisahkan titik koma)-“);

scanf("%f;%f",&datar,&tegak);
miring=sqrt(pow(datar,2)+pow(tegak,2));
printf("Sisi miring dari segitiga yang mempunyai sisi datar %.2f dan sisi tegak %.2f adalah %.2f\n : ,datar,tegak,miring);

}

Fungsi sqrt digunakan untuk menghitung akar pangkat. Fungsi ini ter­dapat di library math.

Tampilan program:
Masukan sisi datar & sisi tegak (dipisahkan titik koma) = 7;9
Sisi miring segitiga yang mempunyai sisi datar 7.00 dan sisi tegak 9.00 adalah 11.40


3.    Buatlah program untuk mengkonversikan total detik menjadi berapa jam lebih berapa menit lebih           berapa detik.

Jawab:

/*------------------------------*/
/* Konversi Total Detik         */
/* -----------------------------*/

#include<stdio.h>

main()
{
int jam,menit,detik,sisa;
printf("Waktu ujian (dalam detik) =");
scanf(“%i”, &detik);
jam=detik/3600;
sisa=detik%3600;
menit=sisa/60;
detik=sisa%60;
printf(“Setara dengan %i jam %i Menit %i detik \n”, jam, menit, detik);
}

Tampilan program:
Waktu ujian (dalam detik) = 7244
Setara dengan 2 jam 0 menit 44 detik


4.  Buatlah program untuk menukar dua buah nilai.

Jawab:
/* ---------------------------------------*/
/* Menukar 2 buah Nilai             */
/* --------------------------------------*/
#include <stdio.h>
main()
{
float a, b, temp;




printf("Enter first number
scanf("%f",&a);
printf("Enter second number
scanf("$f",&b);
temp=a;
a=b;
b=temp;
printf("First number is $.2f and second number is %.2f \n",a,b);


}}}
}

Tampilan program :
Enter first number  : 99
Enter second number      : 75
Fisrt number is 75.00 and second number is 99.00

















Related product you might see:

Share this product :

Posting Komentar

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. BAGI ILMU TEKNIK INFORMATIKA - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger Template