Pemrograman
Jobsheet 1
Input dan Output
1.1 Tujuan Instruksional Khusus (TIK)
1. Mahasiswa dapat membedakan konstanta dengan variabel.
2. Mahasiswa dapat menggunakan tipe data (integer, float, character , dan string) yang
sesuai pada sebuah program.
3. Mahasiswa mampu menggunakan kata tercadang printf() untuk mencetak keluaran,
dan scanf() untuk member input pada variabel dengan benar.
4. Mahasiswa mampu menggunakan penentu format sesuai dengan tipe data dari output
yang diinginkan.
1.2
Pendahuluan
Input dan Output memegang peranan yang cukup penting dalam suatu program, karena
bagian dari program inilah yang membuka jalur komunikasi dengan manusia. Sebelum
menginjak pada pembahasan Input/Output, kita akan meninjau beberapa hal penting yang
berhubungan erat dengan penggunaan Input/Output itu sendiri, seperti pengertian tentang
Konstanta dan Variabel, serta tipe-tipe data yang dikenal oleh Turbo C.
1.2.1 Konstanta
Konstanta adalah suatu nilai yang sifatnya tetap, misalnya angka 21, dan abjad k. Bahasa
C membagi konstanta bilangan (numerik) menjadi tiga kelompok, yaitu:
a. Bilangan Bulat (integer)
b. Bilangan Desimal Berpresisi Tunggal (floating point)
Bilangan ini dapat dinyatakan dalam dua tampilan:
Bentuk Desimal
Contoh: 2.1333
Bentuk Eksponen Contoh: 2.1333e2 yang artinya 2.1333 * 102
c. Bilangan Desimal Berpresisi Ganda (double precision).
Konstanta teks dibedakan dalam dua jenis, yaitu: karakter dan string. Data karakter terdiri
dari sebuah karakter saja, dan ditandai dengan dua tanda kutip tunggal () sebagai
pembatasnya. Karakter dapat berupa abjad, baik huruf besar maupun kecil, angka, ataupun
notasi-notasi lain, seperti ^ % * dan lain-lain. Contoh: A, k, 2, * dan lain-lain.
Data string merupakan rangkaian dari beberapa karakter dan ditandai dengan tanda kutip
ganda () sebagai pembatasnya. Contoh: Telekomunikasi, belajar, Semarang, 50
tahun, Jalan Telaga Blok G88 Telepon 024-7612345, dan lain-lain.
1.2.2 Variabel
Variabel dapat kita andaikan seperti sebuah tempat penampung data atau konstanta.
Sedangkan konstanta lebih bersifat sebagai data yang akan mengisi variabel tersebut. Bila
konstanta memiliki arti atau nilai yang selalu tetap, variabel dapat berubah-ubah. Sebuah
variabel yang sama dapat mengandung data yang berbeda pada saat yang berbeda. Bahasa
pemrograman apapun yang anda gunakan, variabel selau memegang peranan yang sangat
besar dalam pembuatan program. Karena itu amatlah penting mempelajari sifat-sifat variabel
dalam setiap bahasa pemrograman. Pemberian nama umumnya dapat dilakukan secara bebas,
namun demikian tetap ada batasan-batasan tertentu yang tidak boleh dilanggar.
Jobsheet 1: Input dan Output
Halaman 1
Algoritma dan
Pemrograman
Beberapa hal penting perlu diperhatikan dalam memberikan nama pada variabel Bahasa C
adalah sebagai berikut:
a. Nama variabel Turbo C hanya boleh terdiri dari abjad, bilangan, dan tanda hubung(_).
Contoh: no1, Gaji_pegawai, Pajak_tahunan.
b. Nama variabel boleh dimulai oleh tanda hubung (_) , atau abjad. Contoh: _gaji_pokok,
_tunj_isteri, Laba_bersih.
c. Nama variabel tidak boleh dimulai oleh angka. Contoh nama variabel yang salah: 2no,
90_tahun, 4nilai_max.
d. Nama variabel tidak boleh menggunakan operator aritmatika (+-/*%). Contoh nama
variabel yang salah: Nilai+min, Tunj-anak, Nama/pegawai, Alamat*rumah, Potongan
%.
e. Nama variabel tidak boleh menggunakan karakter-karakter khusus sebagai berikut:
;:,#@$^!& dan titik(.). Contoh nama variabel yang salah: Luas:segitiga, Sisi#kubus,
Luas;tanah! , kell@linkaran,
gaji$tahunan, tempat&tgl.lahir.
f. Nama variabel tidak boleh mengandung spasi. Contoh nama variabel yang salah: Gaji
bulanan, _kota asal .
g. Jangan menggunakan nama fungsi atau kata-kata lain yang mempunyai arti khusus dalam
Turbo C (reversed words). Contoh nama variabel yang salah: main, printf, float, char.
h. Nama variabel boleh terdiri dari reversed words yang digabungkan dengan kata lain.
Contoh nama variabel yang benar: char_pertama, fungsi_printf, data_float,
i. Turbo C membedakan antara huruf besar dan huruf kecil. Contoh: gaji, GAJI, dan Gaji,
merupakan tiga nama variabel yang berbeda.
Sebuah anjuran: untuk mencegah kesalahan semacam ini sebaiknya semua nama
variabel dituliskan dalam huruf kecil, kecuali bila anda dangan sengaja memang ingin
menggunakan dua nama variabel yang sama untuk variabel yang berbeda, maka salah
satu bias dituliskan dengan huruf besar.
1.2.3 Jenis-jenis Variabel
Seperti halnya konstanta, variabel juga terbagi menjadi dua kelompok besar, yaitu variabel
numerik dan variabel teks. Variabel numerik digolongkan atas:
a. Bilangan bulat atau integer
Integer ini mampu menampung bilangan bulat yang bekisar antara -32,768 hingga
+32,767.
b. Bilangan desimal berpresisi tunggal atau floating point
Dalam bentuk bilangan berpangkat floating point dapat digunakan untuk menampung data
dari 10-38 hingga 1038, sedangkan dalam bentuk decimal jenis variabel ini umumnya dapat
menampung hingga 6 desimal (6 angka di belakang koma). Contoh: nilai_max=2.3e-20,
Std_dev=100.234567 (6 digit di belakang titik decimal).
c. Bilangan desimal berpresisi ganda atau double precision
Bila data numeric yang akan diolah melebihi kapasitas yang dimiliki oleh floating point,
anda dapat menggunakan double precision ini sebagai alternative. Dalam bentuk bilangan
berpangkat, double precision dapat mengolah angka-angka dengan ketelitian yang
berkisar antara 10-308 hingga 10+308.Sedangkan dalam bentuk bilangan decimal mampu
menampung hingga 15 digit. Jadi double precision banyak digunakan dalam hal
Jobsheet 1: Input dan Output
Halaman 2
Algoritma dan
Pemrograman
pengolahan data numeric yang besar atau bila diperlukan tingkat ketelitian yang tinggi.
Contoh: teliti=1234.5678901234, A=1.34567e-100
Sedangkan variabel teks dibedakan atas:
a. Karakter (untuk karakter tunggal)
Selain dapat digunakan untuk menampung sebuah karakter, variabel ini dapat pula
dikonversikan dalam bentuk bilangan (ASCII code), bilangan hasil konversi data ini
dinyatakan dengan bilangan bulat yang berkisar dari -128 hingga +127.
b. String (untuk rangkaian karakter)
String pada prinsipnya merupakan rangkaian karakter yang diakhiri dengan karakter null
(0). Variabel string tidak akan dibahas disini karena Turbo C menganggap string sebagai
array (jajaran) dari character.
Ditinjau dari nama variabel, sama sekali tidak ada perbedaan antara variabel numerik dan
variabel teks. Perbedaan dari kedua jenis variabel ini hanya dapat kita pantau pada waktu
variabel-variabel tersebut di deklarasikan.
1.2.4 Deklarasi Variabel
Sebelum sebuah variabel digunakan, variabel tersebut harus diperkenalkan lebih dahulu
kepada Turbo C. Proses memperkenalkan variabel kepada Turbo C ini dikenal dengan istilah
Deklarasi Variabel. Deklarasi variabel ini sifatnya mutlak, artinya tanpa adanya deklarasi
variabel, Turbo C tidak akan menerima variabel tersebut. Perkenalan atau deklarasi variabel
meliputi tipe variabel, seperti integer atau character, dan nama variabel itu sendiri. Contoh: int
gaji. Urutan deklarasi variabel ini baku, yaitu tipe variabel dulu kemudian disusul dengan
nama variabel (lihat contoh di atas). Daftar tipe variabel dapat anda lihat dalam table 1.1.
Contoh: kita akan mendeklarasikan variabel jumlah sebagai integer, variabel nilai_max
sebagai floating point, dan variabel gaji sebagai double precision.
int jumlah;
float nilai_max;
double gaji;
Table 1.1. Tipe-tipe variabel serta simbol yang digunakan.
TIPE VARIABEL
Integer
Floating point
Double
precision
Karakter
SIMBOL
DEKLARASI
int
float
double
char
Beberapa variabel yang bertipe sama dapat dideklarasikan sekaligus, dengan memberikan
koma (,) sebagai pemisah variabel-variabel tadi. Contoh: Kita akan mendeklarasikan variabelvariabel bil dan no sebagai integer, variabel-variabel harga_jual, harga_beli, serta keuntungan
sebagai float, dan variabel-variabel nilai_max, nilai_min sebagai double.
int bil,no;
float harga_beli,harga_jual,keuntungan;
double nilai_max,nilai_min;
Halaman 3
Algoritma dan
Pemrograman
Variabel dengan nama yang sama TIDAK BOLEH dideklarasikan ulang. Contoh: Kita
mendeklarasikan variabel nilai dua kali, pertama sebagai integer kemudian sebagai float pada
program yang sama.
int nilai;
float nilai;
Program ini akan memberikan pesan kesalahan redeclaration, yang berarti adanya deklarasi
ulang atas variabel yanga sama.
1.2.5 Inisialisasi Suatu Variabel
Inisialisasi adalah proses pemberian nilai awal terhadap suatu variabel. Pemberian nilai
terhadap suatu variabel ini dapat dinyatakan dengan penggunaan tanda sama dengan (=).
Contoh: Variabel harga_satuan dan jumlah yang bertipe float terlebih dahulu akan diberi nilai
sebesar 12.50 dan 40 sebelum digunakan untuk menghitung harga_total yang juga bertipe
float.
/*inisialisasi*/
Harga_satuan=12.50;
Jumlah=40;
1.2.6 Output program
Agar hasil proses yang telah dilakukan oleh computer dapat dibaca oleh pemakai, hasil
tersebut harus dapat ditampilkan dalam media output (dapat printer atau monitor atau media
yang lain). Untuk menampilkan hasil proses tadi, tentunya diperlukan adanya perintahperintah atau fungsi-fungsi yang mengatur output itu. Dalam bahasa C, salah satu fungsi
output yang paling umum adalah printf(). Fungsi printf() dapat digunakan untuk mencetak
data baik yang bertipe numeric atau teks, baik konstanta ataupun variabel. Contoh di bawah
ini menunjukan pemakaian fungsi printf() dalam bentuk yang paling sederhana.
main()
{
printf(saya belajar bahasa pemrograman C);
Fungsi
argumen
}
Keluaran dari program adalah sebagai berikut :
Saya belajar bahasa pemrograman C
Contoh program berikut ini digunakan untuk mencetak konstanta string dengan konstanta atau
variabel secara bersamaan.
main()
{
koma pemisah
printf(Jumlah ikan Koi dikolam sebanyak %d , 14);
Halaman 4
Algoritma dan
Pemrograman
}
Konstanta String
konstanta integer
Penentu format
Keluaran dari program tersebut adalah
Jumlah ikan Koi dikolam sebanyak 14
Di dalam contoh program diatas penentu format yang sebenarnya berfungsi untuk
menunjukkan dimana data lain (tidak hanya terbatas pada konstanta saja) akan diletakkan bila
dicetak menjadi satu kesatuan dengan konstanta string di depannya. Program dibawah ini
akan memperjelas penggunaan penentu format.
main()
{
printf (%c merupakan abjad yang ke %d, z,26);
}
Hasil output program ini adalah:
z merupakan abjad yang ke 26
Penggunaan penentu format berkaitan erat dengan tipe-tipe data yang akan dicetak. Artinya
setiap tipe data memiliki penentu format-nya masing-masing. Pada tabel 1.2, diberikan
penentu format untuk setiap tipe data yang telah anda kenal.
Tabel 1.2 penentu format untuk fungsi printf().
TIPE DATA
Integer
Bentuk Desimal
Character
String
Satu hal yang sangat penting diperhatikan adalah urutan dari letak penentu format harus
sesuai dengan urutan data yang akan mengisi penentu format tersebut.
printf(%c merupakan abjad yang ke %d , b , 2 );
Penentu format untuk b adalah %c, sedangkan untuk 2 adalah %d. karena %c mendahului
%d, maka b harus diletakkan didepan 2. Bila urutan data yang akan diambil tidak sesuai
dengan urutan penentu formatnya maka akan terjadi kesalahan program.
printf(%c merupakan abjad yang ke %d ,2, b );
Halaman 5
Algoritma dan
Pemrograman
Angka desimal yang diberikan sebenarnya dapat diatur, demilkian juga dengan panjang data
(panjang field-nya ). Cara mengatur lebar field dan jumlah desimal yang akan dicetak dengan
format tambahan %f seperti berikut :
%a.bf
Lebar field
jumlah decimal
Dimana a dan b berupa bilangan bulat. Contoh dari format tersebut dapat dilihat pada contoh
berikut ini :
main()
{
float bil=0.5 , nomor=30.756;
clrscr();
printf(bilangan = %10.2f \n,bil );
printf(nomor = %10.2f,nomor);
}
Data tersebuat akan dicetakkan dengan format sebagai berikut:
bilangan
Nomor
.
3
5
0
jumlah decimal = 2
0
.
7
=
6
lebar field = 10
Bila jumlah desimal yang ada lebih panjang dari yang akan dicetak, maka desimal tersebut
akn dibulatkan ke angka terdekat, dapat dibulatkan ke atas atau ke bawah. Pengaturan lebar
field juga dapat diabaikan, dengan pengertian bahwa kita tidak ambil pusing berapapun
jumlah angka didepan koma, di sini yang kita perhatikan hanya jumlah angka di belakang
komanya saja. Untuk keadaan yang demikian maka lebar field dapat dibuang dari format
tambahan tadi. Sebagai Ilustrasi, dapat dilihat pada contoh berikut ini:
main()
{
float bil=2.5 , nomor=30.756;
clrscr();
printf(bilangan = %2.f \n,bil);
printf(nomor = %2f,nomor);
}
Output yang dihasilkan akan menjadi:
2
bilangan
Halaman 6
Algoritma dan
Pemrograman
nomor
penentuan lebar field berlaku juga untuk data yang bertipe integer. Berhubung integer tidak
mengandung bilangan pecahan, maka pengaturan jumlah angka di belakang titik decimal
tidak diperlukan. Bentuk penentu lebar field untuk integer adalah:
%ad
dimana:
%10d
contoh:
Bila lebar field ditentukan, data umumnya dicetak rata kanan. Untuk kebutuhan khusus, kita
dapat juga mencetak data dalam format rata kiri dengan cara menyisipkan tanda minus (-)
pada format tambahan tadi. Sebagai contoh perhatikan program berikut ini:
main()
{
float bilangan=2.5 , nomor=30.756;
printf(bilangan
= %-10.2f \n,bilangan);
printf(nomor
= %-10.2f,nomor);
}
titik ini jangan lupa
outputnya adalah:
bilangan
2 . 5 0
nomor
PENGERTIAN
Halaman 7
Algoritma dan
Pemrograman
\b
\f
\n
\r
\t
\
\
\\
\xaa
\aaa
Backspace
Formfeed
Baris Baru
Carriage Return
Tab (default = 8 karakter )
Tanda kutip tuggal ()
Tanda kutip ganda ()
Backslash
Kode ASCII dalam
hexadecimal
(aa menunjukkan angka
ASCII ybs.)
Kode ASCII dalam octal
(aa menunjukkan angka
ASCII ybs.)
Halaman 8
Algoritma dan
Pemrograman
: 45.5
: 30.25
: 75.750
Langkah Kerja
Halaman 9
Algoritma dan
Pemrograman
1. Aktifkan software bahasa C, dan lakukanlah setting directories dengan cara pilih
Options pada menu utama software, kemudian pilih Directories pada sub-menu
options.
Halaman 10
Algoritma dan
Pemrograman
3. Buatlah program seperti berikut ini, dan File Save dalam file Coba12.C kemudian
lakukan Compile dan Run.
/* mencetak tipe data karakter dan integer */
main()
{
clrscr();
printf (%c merupakan abjad yang ke %d, z,26);
getche();
}
4. Buatlah program seperti berikut ini, dan File Save dalam file Coba13.C kemudian
lakukan Compile dan Run.
main()
{
clrscr();
float bilangan=2.5 , nomor=30.756;
printf(bilangan
= %-10.2f \n,bilangan);
printf(nomor
= %-10.2f,nomor);
getche();
}
5. Buatlah program seperti berikut ini, dan File Save dalam file Coba14.C kemudian
lakukan Compile dan Run.
/*Menghitung Luas segiempat */
main()
{
float panjang , lebar , luas ;
clrscr();
/* Input data panjang dan lebar */
printf(panjang segiempat :);
scanf(%f, &panjang);
printf(lebar segiempat
:);
scanf(%f, &lebar);
/* Menghitung luas segiempat */
luas=panjang*lebar ;
/* Mencetak luas segiempat */
printf(\nLuas segiempat
: %10.4f , luas);
getche();
}
6. Buatlah program seperti berikut ini, dan File Save dalam file Coba15.C kemudian
lakukan Compile dan Run.
/* Penggunaan getche() tanpa variabel
*/
main()
{
clrscr();
printf("\nSaya mempelajari penggunaan getche()");
/* Contoh penggunaan getche()
*/
printf("\nTekan sembarang tombol");
Jobsheet 1: Input dan Output
Halaman 11
Algoritma dan
Pemrograman
getche();
/* periksa tombol yang Anda tekan
*/
printf("\nAnda telah menekan sebuah tombol");
}
1.5
Lembar Kerja
Tuliskanlah hasil dari langkah kerja 2 hingga 6 kedalam tabel berikut ini:
No
1.6
Nama File
Hasil Keluaran
Halaman 12
Algoritma dan
Pemrograman
Yen = rupiah/4000
Peso = rupiah/3000
6. Buatlah program untuk menghitung nilai persamaan berikut ini:
X = a2+b2+c
Hitunglah nilai X dengan nilai a,b, dan c sebagai nilai input.
7. Buatlah program untuk menghitung berapa bulan lamanya cicilan dari seseorang
yang membeli mobil seharga Rp. 50.000.000,- dengan DP Rp. 10.000.000,- dan tiap
bulan dia harus mencicil sebesar Rp. 300.000,-
Halaman 13