Professional Documents
Culture Documents
ch06 Pemalar
ch06 Pemalar
PENGENALAN
Apabila pengguna mengguna aturcara, ia adalah interaktif dimana data akan dimasukkan
oleh pengguna. Setelah memproses data yang diinput tadi, data baru diproses akan
dipaparkan pada skrin atau dicetak ke printer.
Di topik ini, kita akan melihat cara-cara berlainan yang boleh digunakan oleh pengaturcara
untuk membaca data dari pengguna dan memaparkan data kepada skrin.
OBJEKTIF
Di akhir topik ini anda seharusnya dapat:
kawalan format : suatu rentetan yang menentukan bentuk output merujuk kepada
senarai nilai
senarai_nilai : boleh terdiri daripada pembolehubah, pemalar, ungkapan atau
gabungan
OUM 45
INPUT DAN OUTPUT TOPIK 7
Senarai nilai pada skrin boleh terdiri daripada nama-nama pembolehubah, pemalar, ungkapan,
dan nama fungsi yang nilainya hendak dicetak. Setiap aksara penentuan dalam kawalan
format mesti mempunyai satu pembolehubah dalam senarai.
Contoh 7.1:
#include <stdio.h>
void main()
{
char nama[20] = “Ahmad”;
int umur = 25;
printf(“Nama saya ialah %s dan saya berumur %d tahun.\n”,nama,umur);
}
Output:
Nama saya ialah Ahmad dan saya berumur 25 tahun.
Dalam contoh di atas, dua pembolehubah telah diisytiharkan, jenis aksara rentetan dan jenis
int. Untuk memaparkan nilai nama, %s digunakan, dan untuk memaparkan nilai integer umur,
%d digunakan.
46 OUM
TOPIK 7 INPUT DAN OUTPUT
Selain daripada jujukan pelepas ‘\n’ terdapat juga aksara lain yang boleh digunakan dalam
rentetan format_output seperti dalam Jadual 7.2
Latihan 7.1
1. Berikan format fungsi printf().
2. Sebelum anda boleh menggunakan fungsi printf() atau fungsi scanf(),
apakah harus anda lakukan?
Contoh 7.2:
OUM 47
INPUT DAN OUTPUT TOPIK 7
Output:
10 20
Pengubahsuai Penerangan
- nilai akan dipaparkan bermula dari kiri
+ menunjukkan tanda + atau – untuk nilai-nilai positif atau negatif
0 Memaparkan digit 0 dihadapan nilai yang dipaparkan
nombor memaparkan nilai menggunakan nombor sebagai had saiz paparan
Contoh 7.3:
#include <stdio.h>
void main()
{
int x = 123;
printf(“Baris pertama : %3d\n”, x);
printf(“Baris kedua : %10d\n”, x);
printf(“Baris ketiga : %-6d\n”, x);
printf(“Baris keempat : %05d\n”, x);
}
Output:
Latihan 7.2
1. Tulis aturcara C yang boleh memaparkan hasil tambah dua nombor
integer.
Contoh 7.4:
#include <stdio.h>
48 OUM
TOPIK 7 INPUT DAN OUTPUT
void main()
{
printf(“%c %c %c %c %c %c”,‘U’,‘N’,‘I’,‘T’,‘E’,‘M’);
}
Output:
UNITEM
Setiap pemalar aksara akan dipadankan dengan jujukan spesifikasi dan dioutputkan. Senarai
nilai tersebut boleh juga terdiri daripada pemboleh ubah. Pemadanan yang sama juga
dilakukan.
Contoh 7.5:
#include <stdio.h>
void main()
{
aksara1 = ‘U’;
aksara2 = ‘N’;
aksara3 = ‘I’;
aksara4 = ‘T’;
aksara5 = ‘E’;
aksara6 = ‘M’;
printf(“%c %c %c %c %c %c “,aksara1,aksara2,aksara3,
aksara4,aksara5,aksara6);
}
Output:
U N I T E M
Contoh 7.6:
OUM 49
INPUT DAN OUTPUT TOPIK 7
Latihan 7.3
1. Paparkan aksara tersebut dalam bentuk aksara dan numerik.
(a) ‘X’
(b) ‘x’
(c) ‘$’
(d) ‘%’
Atur cara di bawah menunjukkan cara untuk mencetak nilai integer dan nyata.
Contoh 7.7:
Pada panggilan fungsi printf() yang kedua, ungkapan nilai1 – nilai2 akan dinilaikan dahulu dan
hasilnya ialah 4.45. Nilai ini akan mengisi ruang spesifikasi %f dalam rentetan tersebut. Oleh
kerana jenis data float mempunyai kepersisan 6, maka output yang diperolehi adalah dalam
bentuk 6 titik perpuluhan. Berikut ialah output yang dipaparkan.
Nilai pertama = 10
Nilai kedua = 4.450000
Untuk mendapatkan nilai yang betul kepada 2 titik perpuluhan, boleh menggunakan
pengubahsuai nombor untuk menghadkan bilangan nombor yang dipaparkan selepas titik
perpuluhan.
50 OUM
TOPIK 7 INPUT DAN OUTPUT
Contoh 7.8:
/* Aturcara yang akan memaparkan hasil tambah 2 nombor jenis float */
#include <stdio.h>
void main()
{
float nom1, nom2, hasil = 0;
nom1 = 5.5;
nom2 = 7.12;
hasil = nom1 + nom2;
printf(“Hasil tambah %0.2f dan %0.2f ialah %0.2f”, nom1, nom2, hasil);
}
Output pada skrin :
Hasil tambah 5.50 dan 7.12 ialah 12.62
Latihan 7.4
1. Andaikan x1 dan x2 adalah nombor jenis float dan nilai x1 ialah 8.0 dan
x2 ialah -2.5. Paparkan nilai-nilai x1 dan x2 seperti dibawah:
x1 = 8.0 x2 = -2.5
Perhatikan yang semua aksara di dalam tanda “ “ akan dicetak termasuklah ruang kosong.
Jujukan pelepas ‘\n’ perlu diletakkan di hujung ayat jika kursor dikehendaki pada baris baru.
Andaikan nama adalah suatu pemboleh ubah rentetan yang diumpukkan nilai Mohamad Reza.
Perhatikan bagaimana spesifikasi %s menterjemahkan pemboleh ubah tersebut kepada output
dalam contoh dibawah.
Contoh 7.9:
/* Mencetak nama */
#include <stdio.h>
void main()
{
char nama[] = “Mohamad Reza”;
printf(“%s”, nama);
}
OUM 51
INPUT DAN OUTPUT TOPIK 7
Outputnya adalah:
Mohamad Reza
Nilai pemboleh ubah nama akan dipadankan dengan spesifikasi %s dan dioutputkan
Fungsi scanf() memerlukan kawalan format yang merupakan rentetan aksara yang
menentukan bentuk rentetan input. Rentetan ini hampir sama dengan kawalan format dalam
fungsi printf().
Contoh 7.10:
52 OUM
TOPIK 7 INPUT DAN OUTPUT
#include <stdio.h>
void main()
{
int nom1, nom2, hasiltambah;
printf(“Masukkan nombor pertama: “);
scanf(“%d”, &nom1);
printf(“Masukkan nombor kedua: “);
scanf(“%d”, &nom2);
hasiltambah = nom1 + nom2;
printf(“Hasil tambah %d dan %d ialah %d”, nom1, nom2, hasiltambah);
}
Satu masalah utama dalam atur cara di atas adalah penulis atur cara mengandaikan yang
pengguna atur cara mengetahui apakah nilai yang perlu diinput. Biasanya dalam menulis atur
cara, kita memaparkan mesej yang sesuai untuk memaklumkan pengguna supaya
memasukkan nilai yang dikehendaki.
Berikut adalah contoh aturcara yang akan menginput data untuk suatu produk, iaitu jenama
produk (rentetan aksara), nosiri produk (int) dan harga (float).
Contoh 7.11:
#include <stdio.h>
void main()
{
char jenama[20];
int nosiri;
float harga;
Ketika menginput data, anda mesti asingkan setiap data menggunakan sekurang-kurangnya
satu ruang kosong. Anda boleh memasukkan data menggunakan beberapa cara:
atau
toshiba 12918
2999.90
atau
toshiba
12918
2999.90
OUM 53
INPUT DAN OUTPUT TOPIK 7
Latihan 7.5
1. Tulis aturcara C yang akan menginput jejari bulatan. Kirakan luas untuk
bulatan tersebut. (Nota: diberi nilai PI (P) ialah 3.1415)
RUMUSAN
Dalam topik ini anda telah belajar bagaimana untuk mengarahkan atur cara yang boleh
menerima input daripada papan kekunci (scanf) dan mencetak output ke paparan (printf).
Anda perlu berhati-hati apabila memasukkan input mengikut spesifikasi yang dinyatakan dalam
atur cara. Kita juga boleh memformatkan output seperti mana yang kita kehendaki.
54 OUM