0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan

Modul C Umum

Modul ini membahas pengenalan dasar bahasa pemrograman C, termasuk penjelasan tentang fungsi main(), printf(), #include, komentar, dan contoh kode program sederhana menggunakan fitur-fitur bahasa C yang disebutkan.

Diunggah oleh

Bagus Krisviandik
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan

Modul C Umum

Modul ini membahas pengenalan dasar bahasa pemrograman C, termasuk penjelasan tentang fungsi main(), printf(), #include, komentar, dan contoh kode program sederhana menggunakan fitur-fitur bahasa C yang disebutkan.

Diunggah oleh

Bagus Krisviandik
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 74

M ODU L PEM ROGRAM AN

BAH ASA C
Modul Teori dan Praktek

D isu su n Ole h :

Ø Viddi Mardiansyah S.Si., MT.


Ø
Ø

M odul Pemrograman Bahasa C 0


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 1

Pe n ge n a la n Ba h a sa C

1. Tujuan
Mengenal, mempelajari dan memahami dasar-dasar pemrograman bahasa-C.

2. Teori Dasar
Bahasa -C dikembangkan pada Laboratorium Bell (USA) sekitar tahun 1972, yang
diciptakan oleh Dennis M. Ritchie, seorang pakar dalam berbagai bidang pemrograman.
Bahasa C pertama kali diwujudkan pada komputer DEC PDP -11 yang memakai sistem
operasi UNIX. Pada tahun 1978, Dennis M. Ritchie dan Brian W. Kernighan,
mengeluarkan buku “The C Programming Language”, yang kemudian menjadi acuan
pembuatan berbagai versi dari bahasa C.
Beberapa versi C yang diciptakan oleh berbagai kalangan untuk dioperasikan pada
sistem yang lain selain UNIX, seperti PC-DOS atau MS-DOS. Kemudian untuk
membakukan (standarisasi) versi C yang ada, ANSI (American National Standarts
Institute) membuat C standard ANSI yang kemudian berkembang menjadi bahasa C yang
ada sekarang ini.

2.1. Fungsi main()


Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program
minimal mengandung sebuah fungsi, dimana setiap fungsi terdiri dari satu atau beberapa
penyataan. Setiap fungsi diawali dengan tanda kurung kurawal buka ({) dan diakhiri
dengan tanda kurung kurawal tutup (}). Namun pada kenyataannya, suatu fungsi bias saja
tidak mengandung pernyataan sama sekali, seperti dapat dilihat sebagai berikut :
main()
{
}

M odul Pemrograman Bahasa C 1


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Program diatas apabila dikompilasi dan dijalankan tidak aka n menghasilkan apa -apa karena
tidak terdapat pernyataan didalamnya, dan program ini biasa disebut dengan program
kosong (null program). Walaupun fungsi tersebut tidak memiliki penyataan, tanda kurung
kurawal haruslah tetap ada, hal ini dikarenakan tanda kurung kurawal mengisyaratkan awal
dan akhir dari definisi sebuah fungsi. Secara umum fungsi mempunyai bentuk sebagai
berikut :
nama-fungsi (daftar parameter)
deklarasi parameter;
{
tubuh fungsi
}
Pada program C, main() adalah fungsi yang istimewa, dikarenakan fungsi ini harus
ada pada setiap program, sebab fungsi ini adalah yang menjadi titik awal dan akhir dari
eksekusi program. Jika program terdapat lebih dari satu fungsi, fungsi main() biasa
ditempatkan pada posisi paling atas dalam pendefinisian fungsi, hal ini hanya kebiasaan
saja yang bertujuan untuk mempermudah pencarian terhadap program utama program. Jadi
tidaklah merupakan keharusan.

2.2. Pengenalan fungsi printf()


Fungsi printf() merupakan fungsi yang umum dipakai untuk menampilkan suatu
keluara n pada layar monitor. Sebagai contoh untuk menampilkan tulisan
Selamat Datang di STMIK -AMIKBANDUNG
statement yang diperlukan untuk menampilkannya adalah sebagai berikut :
printf(“Selamat Datang di STMIK-AMIKBANDUNG”);

contoh statement diatas adalah pemanggilan fungsi dengan argumen/parameter berupa


string. Konstanta string dalam pemrograman C ditulis dengan diawali dan diakhiri tanda
petik ganda (“). Perlu diingat pula statement dalam bahasa pemrograman C selalu diakhiri
dengan tanda titik koma (;). Tanda titik koma dipakai sebagai pemberhenti pernyataan dan
bukanlah sebagai pemisah antara dua pernyataan. Contoh program sederhana dari fungsi
printf() dapat dilihat sebagai berikut :

#include <stdio.h>
main()
{
printf(“Selamat Datang di STMIK-AMIKBANDUNG”);
}

M odul Pemrograman Bahasa C 2


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
jika program di jalankan, hasilnya adalah sebagai berikut :
Selamat Datang di STMIK-AMIKBANDUNG

2.3. Pengenalan praprosesor #include


#include merupakan salah satu pengarah praprosesor yang dipakai untuk membaca
file yang dinamakan file judul (header file), yaitu file-file yang berisikan kumpulan fungsi
dan konstanta. Turbo C mempunyai beberapa file header yang standar yang sering
dipergunakan dalam pemrograman bahasa C. File-file header ini mempunyai ciri sendiri,
yaitu namanya diakhiri dengan extentio n .h. Seperti dapat dilihat pada contoh diatas,
#include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h pada
saat melakukan proses kompilasi.
Bentuk umum penulisan dari statement praprosesor ini adalah sebagai berikut :
#include <na mafile>
atau
#include “namafile”
Pada bentuk pertama (#include <namafile> ) menyatakan bahwa pencarian file dilakukan
pada direktori khusus (direktori file include). Sedangkan pada bentuk kedua (#include
“namafile ”) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif
tempat sumber program, dan seandainya tidak ditemukan maka pencarian akan dilanjutkan
pada direktori lainnya yang sesuai dengan perintah pada sistem operasi (perintah PATH).
Pada kebanyakan program bahasa C, sering melibatkan file stdio.h yang merupakan file
standar dalam Turbo C untuk proses Input/Output standar seperti printf().

2.4. Pengenalan Lebih Lanjut Fungsi printf()


Fungsi printf() mempunyai kegunaan yang sangat luas dalam pemrograman bahasa
C, dimana fungsi ini dapat dipakai untuk menampilkan tipe data string maupun tipe data
yang lain. Dengan menggunakan fungsi ini, tampilan dapat diatur (diformat) dengan
mudah. Sebagai contoh untuk menampilkan tampilan :
Selamat Datang di STMIK-AMIKBANDUNG

Dapat juga dengan menggunakan statement


printf(“Selamat Datang di”);
printf(“STMIK-AMIKBANDUNG”);
sedangkan jika kita ingin menampilkan

M odul Pemrograman Bahasa C 3


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Selamat Datang di
STMIK-AMIKBANDUNG
Kita dapat membuatnya dengan cara menyertakan karakter yang dinamakan karakter ganti
baris-baru (pindah baris) yaitu :
\n
adapun contoh penulisan programnya dapat dilihat berikut ini
printf(“Selamat Datang di\n”);
printf(“STMIK-AMIKBANDUNG”);
Bentuk umum dari printf() adalah sebagai berikut :
printf(“string kontrol”, daftar argumen);
dimana string kontro l dapat berupa satu atau sejumlah karakter yang akan ditampilkan
ataupun berisikan penentu format yang akan mengatus penampilan dari argumen yang
terletak pada daftar argumen. Adapun beberapa penentu format dapat dilihat sebagai
berikut :
Format Kegunaannya
%d Untuk menampilkan bilangan bulat (integer)
%f Untuk menampilkan bilangan pecahan (real/float)
%c Untuk menampilkan sebuah karakter
%s Untuk menampilkan sebuah string

Contoh penggunaan penentu format ini dapat dilihat sebagai berikut :


#include <stdio.h>
main()
{
printf(“Nama Mahasiswa : %s\n”, “Abdul Gani”);
printf(“No. Siswa : %d\n”, 271);
printf(“Nilai : %f Grade : %c\n”, 71.5, ‘B’);
}
jika program dijalankan akan menghasilkan
Nama Mahasiswa : Abdul Gani
No. Siswa : 271
Nilai : 71.500000 Grade : B

M odul Pemrograman Bahasa C 4


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.5. Komentar dalam program bahasa C
untuk keperluan dokumentasi program agar dapat dibaca dan dipahami, umumnya
program disertai dengan komentar atau keterangan mengenai program. Dalam bahasa
pemrograman C, suatu komentar ditulis dengan diawali tanda /* dan diakhiri dengan tanda
*/. Sebagai contoh dapat dilihat berikut ini :
/* Ini Hanya Sebagai Komentar atau Keterangan Saja
STMIK “AMIKBANDUNG” */

3. Tugas Pendahuluan
1. Jelaskan penggunaan dari bahasa C menurut anda, dan berikan sedikit contoh
keunggulan bahasa C dibandingkan dengan bahasa pemrograman yang lain?
2. Jelaskan apa yang anda ketahui tentang Interpreter dan Kompiler, bahasa C
termasuk kedalam jenis Interpreter atau kompiler?
3. Jelaskan kegunaan dari fungsi karakter dibawah ini :
a. \”
b. \t
c. \\

4. Procedure Percobaan
1. Buatlah program untuk dapat menampilkan tulisan sebagai berikut :
Selamat Datang di
Lab. Komputer
STMIK – “AMIKBANDUNG”
Jl. Jakarta No. 28 Bandung
2. Dengan menggunakan fungsi karakter \t dan fungsi string kontrol, buatlah
program untuk menampilkan :
Nama Saya : Budi Prakoso
Umur Saya : 23 Tahun
Golongan Darah Saya : A
Tinggi Badan saya : 170 cm
Berat Badan saya : 58 Kg

M odul Pemrograman Bahasa C 5


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
3. Apa hasil running program berikut ini
#include <stdio.h>
main()
{
printf(“Saya Lahir di %s, Tanggal %d %s %d\n”, “Jakarta”, 12,
“Mei”, 1981);
}

4. Tunjukan dimana letak kesalahan program berikut dan buatlah program tersebut
supaya menjadi benar pada saat dijalankan.
(* Belajar Program Turbo C *)
#include {stdio.h}
main{}
(
printf(“%d x %s %d %d pulau terlampaui/n”, 1, “kayuh”, 2, 3);
printf(“Tak ada %s yang tak %c%ctak /n”, “gading”, ‘r’, ‘e’);
)

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 6


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIR AN – TC – 01

Contoh Program 1.1


/*Contoh Program 1.1*/
#include <stdio.h>
main()
{
printf(“ BELAJAR DASAR BAHASA PEMROGRAMAN-C \n“);
printf(“ DI \n“);
printf(“ LABORATORIUM KOMPUTER \n“);
printf(“ STMIK AMIK-BANDUNG \n“);
}

Contoh Program 1.2


/*contoh program 1.2*/
/*penggunaan fungsi printf()*/
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
printf(“============================================\n”);
printf(“:LAB. KOMPUTER STMIK AMIK – BANDUNG :\n“);
printf(“:DASAR PEMROGRAMAN BAHASA-C :\n“);
printf(“============================================\n”);
printf(“ Contoh Program ini menerangkan\n”);
printf(“ Penggunaan Fungsi output \n”);
printf(“printf()\n”);
getch();
}

Contoh Program 1.3


/*contoh program 1.3*/
/*penggunaan fungsi printf()*/
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
printf(“============================================\n”);
printf(“:LAB. KOMPUTER STMIK \””AMIK – BANDUNG\”” :\n“);
printf(“:Jl. Jakarta No 28 Bandung :\n“);
printf(“============================================\n”);
printf(“ Contoh Program ini menerangkan \n”);
printf(“ Penggunaan Fungsi output \n”);
printf(“ printf() dan Escape Key \\ \n”);
getch();
}

M odul Pemrograman Bahasa C 7


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 1.4
/*contoh program 1.4*/
/*penggunaan fungsi input scanf() dan output printf()*/
/*dengan data pemasukan bertipe string*/
#include <stdio.h>
#include <conio.h>
main()
{
char nama[15], kls[10], npm[10];
clrscr();
printf(“Ketikan Nama Anda: ”);
scanf(“%s”, &nama);
printf(“Ketikan Kelas Anda: ”);
scanf(“%s”, &kls);
printf(“Ketikan NPM Anda: ”);
scanf(“%s”, &npm);
clrscr();
printf(“==========================================\n”);
printf(“ Nama : %s”, nama);
printf(“ Kelas : %s”, kls);
printf(“ NPM : %s”, npm);
printf(“==========================================\n”);
getch();
}

Contoh Program 1.5


/*contoh program 1.5*/
/*penggunaan fungsi input scanf() dan output printf()*/
/*dengan data pemasukan bertipe float dan integer()*/
#include <stdio.h>
#include <conio.h>
main()
{
int bili1, bili2;
float bilr1,bilr2;
clrscr();
printf(“Masukkan bilangan tipe integer pertama:”);
scanf(“%d”, &bili1);
printf(“Masukkan bilangan tipe integer kedua :”);
scanf(“%d”, &bili2);
printf(“Masukkan bilangan tipe float pertama :”);
scanf(“%f”, &bilr1);
printf(“Masukkan bilangan tipe float kedua :”);
scanf(“%f”, &bilr2);
clrscr();
printf(“PENGGUNAAN FORMAT SESUAI DENGAN TIPE DATA\n”);
printf(“============================================\n”);
printf(“ Bilangan tipe integer1 :%d \n”, bili1);
printf(“ Bilangan tipe integer2 :%d \n”, bili2);
printf(“ Bilangan tipe float 1 :%10.4f \n”, bilr1);
printf(“ Bilangan tipe float 2 :%10.4f \n”, bilr2);
printf(“============================================\n”);
getch();
}

M odul Pemrograman Bahasa C 8


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 1.6
/*contoh program 1.6*/
/*penggunaan fungsi infut scanf() dan output printf()*/
/*dengan data pemasukan bertipe float dan integer*/
#include <stdio.h>
#include <conio.h>
main()
{
int bili1, bili2, jbili;
float bilr1, bilr2, jbilr, jbilir;
clrscr();
printf(”Masukkan bilangan tipe integer pertama :”);
scanf(“&d”, &bili1);
printf(”Masukkan bilangan tipe integer kedua :”);
scanf(“&d”, &bili2);
printf(”Masukkan bilangan tipe float pertama :”);
scanf(“&f”, &bilr1);
printf(”Masukkan bilangan tipe float kedua :”);
scanf(“&f”, &bilr2);
jbili = bili1 + bili2;
jbilr = bilr1 + bilr2;
jbilir = jbili + jbilr;
clrscr();
printf(“PENGGUNAAN FORMAT SESUAI DENGAN TIPE DATA\n”);
printf(“============================================\n”);
printf(“ Jumlah dua bil. Tipe integer :%d \n”, jbili);
printf(“ Jumlah dua bil. Tipe float :%.4f \n”, jbilr);
printf(“ Total kedua bilangan diatas :%.4f \n”, jbilir);
printf(“============================================”);
getch();
}

M odul Pemrograman Bahasa C 9


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 2

D a sa r - da sa r Pe m r ogr a m a n C

1. Tujuan
Mengenal, memahami, dan mengerti tentang elemen dasar pada pemr ograman
Turbo C.

2. Teori Dasar
2.1. Identifier
Identifier adalah nama yang biasa digunakan untuk variabel, konstanta, fungsi atau
objek yang lain yang didefinisikan oleh pemrogram. Identifier itu sendiri mempunyai
aturan-aturan sebagai berikut :
• Harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah (_).
• Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda
dollar ($)
• Panjang identifier boleh terdiri lebih dari 32 karakter, akan tetapi hanya 32 karakter
pertama yang akan dianggap berarti.
Untuk menghindari kesalahan, identifier tidak boleh menggunakan nama yang
tergolong sebagai kata kunci (reserved words) yang ada didalam bahasa C (contohnya :
main()), baik dipakai sebagai identifier maupun dipakai untuk nama fungsi, konstanta
maupun variabel.

2.2. Tipe Data


Pengertian data menyiratkan suatu nilai yang biasa dinyatakan dalam bentuk baik
itu konstanta maupun variabel. Pada konstanta menyatakan nilai yang tetap, sedangkan
variabel menyatakan nilai yang berubah-ubah selama eksekusi program berlangsung. Data
berdasarkan jenisnya dibagi menjadi lima kelompok, yang dinamakan tipe data dasar, yaitu
:
M odul Pemrograman Bahasa C 10
Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Tipe Total Bit Range Keterangan
Char 8 -128 s/d 127 Karakter
Int 16 -32768 s/d 32767 Bilangan integer
Float 32 3.4E-38 s/d 3.4E+38 Bilangan real presisi tunggal
Double 64 1.7E-308 s/d 1.7E+308 Bilangan real presisi ganda
Void 0 Tak bertipe

2.3. Variabel
Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang
ada dapat berubah selama proses eksekus i berlangsung. Variabel yang akan dipergunakan
dalam program haruslah terlebih dahulu didefinisikan.
Untuk memasukkan nilai ke dalam suatu variabel yang telah didefinisikan,
dalam Turbo C bentuk pernyataan yang digunakan adalah sebagai berikut :
NamaVariabel = Nilai;
Adakalanya dalam penulisan program, setelah variabel tersebut dideklarasikan, variabel
tersebut kemudian diberi nilai awal, seperti dapat dilihat pada contoh program berikut ini :

int total;
total = 100;

Dalam bahasa pemrograman C, kita dapat menyingkat melalui pendeklarasian yang disertai
penugasan nilai, seperti dapat dilihat pada contoh berikut :

Int total = 100;

Hal ini merupakan kelebihan dari bahasa C, dikarenakan selain dapat menghemat dalam
penulisan program, juga dapat memberikan kejelasan (khususnya untuk variabel yang perlu
untuk diberi nilai awal).

2.4. Konstanta
Konstanta menyatakan suatu nilai yang tetap, berbeda dengan variabel,
konstanta tidak dideklarasikan, akan tetapi seperti halnya variabel, konstanta juga
memiliki tipe. Dalam penulisan konstanta mempunyai aturan tersendiri, sesuai
dengan tipe data masing-masing.
Untuk konstanta karakter (char) dalam penulisannya diawali dan diakhiri
dengan tanda petik tunggal (‘). Contohnya ‘A’. Untuk konstanta integer (int), ditulis
dengan tanpa mengandung pemisah ribuan dan tidak mengandung pecahan.
Sedangkan untuk konstanta real (float dan double) dapat mengandung nilai

M odul Pemrograman Bahasa C 11


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
pecahan juga nilainya biasa ditulis dalam bentuk eksponensial. Untuk konstanta
long int, penulisannya selalu diakhiri dengan tanda L atau l. Perlu diingat,
konstanta real selalu dinyatakan dalam tipe double , kecuali kalau diakhiri dengan
tanda F atau f (yang berarti menyatakan konstanta float). Konstanta string selalu
diawali dan diakhiri oleh tanda petik ganda (“).

2.5. Operator
Operator merupakan symbol atau karakter yang biasa dilibatkan dalam program
untuk melalukan suatu operasi atau manipulasi, seperti operasi untuk menjumlahkan,
mengurangkan. Sebagian operator C tergolong sebagai operator binary, yaitu operator yang
dikenakan terhadap dua buah nilai operand, contoh :
a+b
dimana symbol + adalah operator untuk melakukan operasi penjumlahan dari kedua
operand-nya yaitu a dan b. Contoh operator lain adalah :
-c
symbol – (minus) juga merupakan operator, akan teta pi karena hanya melibatkan satu
operand saja, maka disebut dengan operator unary.
Selain operator + (penjumlahan) untuk operator binary, juga terdapat operator lain
yang diperlukan untuk operasi aritmatika, seperti dapat dilihat pada tabel berikut :
Operator Keterangan
* Operasi Perkalian
/ Operasi Pembagian
% Operasi Sisa Pembagian
+ Operasi Penjumlahan
- Operasi Pengurangan

2.6. Operator Penurunan dan Penaikan (increase dan decrease)


Dalam pemrograman sering kali kita melakukan proses penaikan dan penurunan
(increase dan decrease), seperti contoh berikut ini :
x = x + 1; /* proses penaikan / increase
y = y - 1; /* proses penurunan / decrease
pada pemrograman C, statement tersebut diatas dapat disingkat menjadi :
++x
--y
atau
x++
y--
M odul Pemrograman Bahasa C 12
Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.7. Operator Manipulasi Bit
Turbo C juga menyediakan enam buah operator untuk keperluan manipulasi bit.
Seluruh operator manipulasi bit hanya biasa dikenakan pada operand bertipe integer atau
karakter. Adapun operator manipulasi bit tersebut dapat dilihat pada tabel berikut :

Operator Operasi
<< Geser bit ke kiri
>> Geser bit ke kanan
& Dan (AND)
| Atau (OR)
^ XOR
~ NOT (komplemen)

Bentuk umum penulisan operator geser kiri dan geser kanan, adalah sebagai
berikut :
Nilai << jumlah bit di geser ke kiri
Nilai >> jumlah bit di geser ke kanan
Contoh penulisannya :
x = x << 1; /* geser ke kiri satu bit */

Bentuk umum pemakaian operator OR (|), AND (&), XOR (^), adalah sebagai berikut :
operand1 operator operand2
Operasi bit dilakukan antara operand1 dan operand2 untuk posisi bit yang
sama(bit yang ke 1 pada operand1 akan dibandingkan dengan bit yang ke 1 juga
pada operand2).
Sedangkan bentuk umum penulisan operator komplemen adalah sebagai berikut :
-operand
dimana operator ini mempunyai sifat membalik (invers), dimana nilai nol
akan berubah menjadi satu, demikian pula sebaliknya.

2.8. Ungkapan
Ungkapan atau ekspresi dalam bahasa pemrograman C, dapat berupa :
• Pengenal
• Konstanta
• Variabel pseudo (contohnya _AX, _AL yang menyatakan variabel register)
• Atau kombinasi elemen diatas dengan operator.

M odul Pemrograman Bahasa C 13


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh dari ungkapan dapat dilihat sebagai berikut :
3 + 2 – 1
dimana 3,2, dan 1 adalah operand dan symbol + dan – adalah operator. Nilai ungkapan itu
sendiri adalah hasil dari penjumlahan 3 dan 2, dikurangi 1. Dalam ungkapan, jika terjadi
perbedaan antara satu operand dengan operand yang lainnya, maka dengan sendirinya akan
dikonversi terlebih dahulu menjadi tipe yang sama. Dimana aturan yang berlaku dalam
pengkonversian tipe aritmatika ini mempunyai aturan, yaitu :
1. semua tipe char dan short int akan dikonversi menjadi int, dan semua tipe float akan
dikonversikan menjadi double
2. untuk setiap pasangan operand, berlaku :
Ø jika salah satu operand bertipe long double, maka operand pasangannya akan
dikonversikan menjadi long double.
Ø jika salah satu operand bertipe double, maka operand pasangannya akan
dikonversikan menjadi double.
Ø jika salah satu operand bertipe long, maka operand pasangannya akan
dikonversikan menjadi long.
Ø jika salah satu operand bertipe unsigned, maka operand pasangannya akan
dikonversikan menjadi unsigned.
Akan tetapi aturan tersebut tidak berlaku pada operator penugasan (=). Pada operator
penugasan, nilai ungkapan yang terletak dikanan secara otomatis akan dikonversikan
sesuan dengan tipe variabel yang terletak dikiri. Contohnya dapat dilihat berikut :

int jumlah;
float harga, total;
total = harga * jumlah;

pertama harga akan dikonversikan menjadi double , dikarenakan operand harga telah
berubah menjadi tipe double maka pasangannya juga akan dirubah menjadi tipe double.
Selanjutnya operasi ini menghasilkan tipe double, yang kemudian dikonversi menjadi tipe
float dikarenakan variabel di kanan bertipe float.

M odul Pemrograman Bahasa C 14


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.9. Mendefinisikan Konstanta
Suatu konstanta dapat diberi nama. Pendefinisian konstanta ini dilakukan dengan
menggunakan statement #define. Bentuk umum dari statement ini adalah :
#define namakonstanta nilaikonstanta
contoh penulisannya sebagai berikut :

#define total 100


#define discount 10
#define bel “\a”

3. Tugas Pendahuluan
1. Sebutkan dan jelaskan fungsi dari kata kunci (reserved word) yang ada dalam
Turbo C. (Minimal 10 kata kunci / reserved word , contohnya : kata kunci const).
2. Bahasa C mempunyai kelebihan dalam menyederhanakan persamaan-persamaan
matematika, sederhanakanlah persamaan-persamaan yang berikut ini dengan
menggunakan operator yang berlaku pada bahasa C.
x = x + 5
total = total * 10
bonus = bonus + 100
3. Tuliskan urutan hirarki dari operator aritmatika untuk operator penjumlahan (+),
pengurangan (-), Pembagian (/), Modulus (%), Increase (++), dan Decrease(--).

4. Prosedure Percobaan
1. Cobalah program berikut ini, kemudian berapakah hasil akhir yang dimunculkan?
#include <stdio.h>
main()
{
int x = 31;
int a = 31;
x = x + 5;
x = x – 7;
printf(“Nilai x adalah %d\n“,x);
printf(“Nilai a adalah %d\n“,a);
}

M odul Pemrograman Bahasa C 15


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2. Buatlah program sederhana dari penyataan persamaan-persamaan berikut ini, dan
berapakah nilai akhir yang dihasilkan jika variabel x bertipe int.
a. x = (3 + 4) * ( 10 / 2)
b. x = (3 + 4) * 10 / 2
c. x = 10 % 2 * 2 + 1

3. Buatlah program untuk menggeser nilai suatu bilangan bulat berikut ini:
a. Jika nilai bilangan bulat itu adalah 16, jika digeser ke kiri sebanyak 2 akan
menghasilkan nilai 64.
b. Jika nilai bilangan bulat itu adalah 15 jika digeser ke kanan 1 kali akan
menghasilkan nilai 7.
c. Jika nilai bilangan bulat itu adalah 24 jika digeser ke kanan 3 kali, kemudian
digeser ke kiri 1 kali, maka berapakah nilai akhirnya.

4. Buatlah program untuk operasi Increase dan Decrease berikut ini kemudian amati
hasilnya, apakah ada perbedaan. (nilai awal dari variabel a adalah 5).
a. x = 10 + a++
b. x = 10 + ++a
c. x = 10 + a--
d. x = 10 + --a
5. Perhatikan listing program berikut ini
#include <stdio.h>
main()
{
float radius, keliling, luas;
radius = 20;
keliling = 2 * 3.14 * radius;
luas = 0.5 * 3.14 * radius * radius;
printf(“Perhitungan Lingkaran\n”)
printf(“Jari-jari Lingkaran = %f\n”, radius)
printf(“Keliling Lingkaran = %f\n”, keliling)
printf(“Luas Lingkaran = %f\n”, luas)
}
dengan menggunakan statement #define, definisikan nilai 3.14 menjadi nilai phi,
kemudian perhatikan hasilnya.

M odul Pemrograman Bahasa C 16


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 17


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 02

Contoh Program 2.1


/* Contoh Program 2.1*/
/* Inisialisasi suatu variabel */
#include <stdio.h>
main()
{
/* Deklarasi variabel */
float harga_satuan, jumlah, harga_total;
/* Membersihkan layar */
clrscr();
/* Inisialisasi hatga total */
harga_satuan = 112.50;
jumlah = 50;
/* Menghitung harga total */
harga_total = harga_satuan * jumlah;
/* Mencetak harga total */
printf(“ Harga Total : %f”, harga_total);
}

Contoh Program 2.2


/* Contoh Program 2.2 */
/* mendeklarasikan konstanta */
#include <stdio.h>
main()
{
float bil1, bil2;
const float bil = 2.50;
clrscr();
printf(“Inputkan suatu bilangan : ”);
scanf(“ %f”, &bil1);
printf(“Inputkan bilangan lain : ”);
scanf(“ %f”, &bil1);
bil2 = bil1 + bil;
printf (“Jumlah bilangan ini dengan suatu konstanta : %f”, bil2);
}

Contoh Program 2.3


/* contoh program 2.3 */
/* Penggunaan ‘++’ di depan dan di belakang nama variabel */
#include <stdio.h>
main()
{
int bil = 25
clrscr();
printf(“%d \n”, ++bil);
printf(“%d \n”, bil++);
printf(“%d \n”, bil);
printf(“%d \n”, bil);
printf(“%d \n”, bil++);
printf(“%d \n”, ++bil);
}

M odul Pemrograman Bahasa C 18


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 2.4
/* Contoh Program 2.4 */
/* Contoh penggunaan ‘++’ dan ‘--’ */
#include <stdio.h>
main()
{
int bil = 15;
clrscr();
printf(“ %d \n”, ++bil);
printf(“ %d \n”, bil--);
printf(“ %d \n”, bil);
printf(“ %d \n”, bil++);
printf(“ %d \n”, bil--);
printf(“ %d \n”, bil++);
printf(“ %d \n”, --bil);
printf(“ %d \n”, bil);
printf(“ %d \n”, ++bil);
printf(“ %d \n”, --bil);
printf(“ %d \n”, bil);
}

Contoh Program 2.5


/* Contoh Program 2.5 */
/* Operasi Aritmatika terhadap Data Campuran */
/* yang hasilnya disimpan dalam variabel integer */
#include <stdio.h>
main()
{
int bil 1 = 1000, bil3, bil4, bil5, bil6;
float bil2 = 3.5;
clrscr();
bil3 = bil1 + bil2;
bil4 = bil1 - bil2;
bil5 = bil1 * bil2;
bil6 = bil1 / bil2;
printf(“ %4d + %f = %d \n”, bil1, bil2, bil3);
printf(“ %4d - %f = %d \n”, bil1, bil2, bil4);
printf(“ %4d * %f = %d \n”, bil1, bil2, bil5);
printf(“ %4d / %f = %d \n”, bil1, bil2, bil6);
}

Contoh Program 2.6


/* Contoh program 2.6 */
/* Operasi Aritmatika terhadap Data Campuran */
/* yang hasilnya disimpan dalam variabel float */
#include <stdio.h>
main()
{
int bil1 = 1000;
float bil2 =3.5, bil3, bil4, bil5, bil6;
clrscr();
bil3 = bil1 + bil2;
bil4 = bil1 - bil2;
bil5 = bil1 * bil2;
bil6 = bil1 / bil2;
printf(“ %4d + %f = %f \n”, bil1, bil2, bil3);
printf(“ %4d - %f = %f \n”, bil1, bil2, bil4);
printf(“ %4d * %f = %f \n”, bil1, bil2, bil5);
printf(“ %4d / %f = %f \n ”, bil1, bil2, bil6);}

M odul Pemrograman Bahasa C 19


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 3

Ope r a si I n pu t da n Ou t pu t

1. Tujuan
Mengenal, mempelajari dan memahami statement input dari keyboard dan output
ke layar monitor pada pemrograman Turbo C.

2. Teori Dasar
Proses memasukkan data ( input) dan menampilkan data (output) merupakan sebuah
proses yang sering dilakukan dalam pemrograman. Proses pemasukkan data umumnya
dilakukan dengan menggunakan keyboard, sedangkan proses menampilkan data umumnya
ditujukan ke layar monitor. Untuk proses input dan output dalam bahasa pemrograman C,
kita menggunakan statement printf(), putf() , putchar(), scanf() ,
getch() , dan getche().

2.1. Statement printf()


Fungsi printf() merupakan fungsi yang paling umum digunakan dalam
menampilkan data. Berbagai jenis tipe data dapat ditampilkan memakai fungsi ini. Bentuk
umum fungsi ini adalah :
printf(“string kontrol”, argumen1, argumen2, ...);
string kontrol dapat berupa keterangan yang akan ditampilkan pada layar monitor beserta
penentu format (seperti %d, %s, dll). Argumen adalah data yang akan ditampilkan kelayar
sesuai dengan penentu format yang telah ditetapkan dalam string kontrol. Argumen ini
dapat berupa variabel, konstanta, maupun ungkapan. Daftar penentu format yang dapat
dipergunakan pada bahasa pemrograman C, adalah sebagai berikut :

M odul Pemrograman Bahasa C 20


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Format Tipe Data
%d atau %I Untuk menampilkan bilangan bulat integer
%f Untuk menampilkan bilangan real dalam bentuk pecahan
%e atau %E Untuk menampilkan bilangan real dalam bentuk eksponen
%c Untuk menampilkan karakter
%s Untuk menampilkan string
%u Untuk menampilkan unsigned integer
%ld Untuk menampilkan bilangan long integer
%lf Untuk menampilkan bilangan double
%x atau %X Untuk menampilkan bilangan bulat unsigned dalam bentuk
hexadesimal
%o Untuk menampilkan bilangan bulat unsigned dalam bentuk oktal
h Merupakan awalan yang digunakan untuk menyatakan short int
L Merupakan awalan yang digunakan untuk menyatakan long double

Untuk memformat bentuk keluaran dari penentu format yang kita gunakan kita
dapat memakainya dengan cara menyisipinya dengan bilangan bulat dengan spesifikasi
bilangan bulat pertama untuk menyatakan panjang karakter, dan bilangan bulat yang kedua
untuk menyatakan desimal (berapa digit nilai dibelakang tanda koma ). Contohnya dapat
dilihat pada program berikut :

printf(“%7.2f\n”,2.5);

Hasil output programnya adalah :


2 . 5

Hal ini juga berlaku pada tipe data string, akan tetapi jika kita menggunakan
format seperti ini, maka bentuk tampilannya akan menjadi rata kiri, sehingga
untuk agar tampilan dari tipe data string agar menjadi rata kanan, kita
menggunakan symbol – (minus) setelah tanda %, contohnya :
printf(“%-10s”,”STMIK ABG”);

Hasil output programnya adalah :


S T M I K A B G

2.2. Statement puts()


Fungsi puts() digunakan khusus untuk menampilkan data tipe string ke layar
monitor. Akan tetapi fungsi ini mempunyai sifat khusus, dimana string yang ditampilkan
akan secara otomatis akan diakhiri dengan karakter \n (untuk pindah baris). Contoh
penulisan statement puts() ini dapat dilihat pada contoh program berikut :

M odul Pemrograman Bahasa C 21


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
#include <stdio.h>
main
{
puts(“Selamat Datang”);
puts(“Di Lab STMIK AMIKBANDUNG”);
}

pada hasil kompilenya pun jika kita mempergunakan statement ini ukuran filenya akan
lebih kecil dibanding jika kita menggunakan statement printf().

2.3. Statement putchar()


Fungsi putchar() digunakan khusus untuk menampilkan sebuah karakter ke
layar monitor. Penampilan karakternya tidak perlu disertai karakter pemindah baris.
Sebagai contoh, lihat program berikut :
putchar(‘A’);
akan menghasilkan keluaran yang sama dengan
printf(“%c”,’A’);

2.4. Statement scanf()


Fungsi scanf() merupakan fungsi yang dapat digunakanan untuk memasukkan
berbagai jenis tipe data. Berikut ini adalah bentuk umum penulisan dari fungsi scanf() :
scanf(“penentu format”,&variabel);

Disebelah depan dari variabel diberi tanda (&) berfungsi sebagai penunjuk operator alamat
(address operator). Contoh penggunaan dari fungsi scanf() adalah sebagai berikut :

#include <stdio.h>
main()
{
int nilai;
printf(“Masukkan Nilai Praktikum Anda = ”);
scanf(“%d”,&nilai);
printf(“Nilai Praktikum Anda = %d”, nilai);
}

Penentu format yang dipergunakan dalam fungsi scanf() pada prinsipnya sama dengan
penentu format yang dipakai dalam fungsi printf(). Pada fungsi scanf() kita dapat langsung
memasukkan lebih dari satu data ke variabel hanya dengan menggunakan pemisah karakter
spasi untuk masing-masing datanya, contohnya sebagai berikut :

scanf(“%c %d”, &karakter, &nilai);

M odul Pemrograman Bahasa C 22


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Pada saat program dijalankan ketikkan :
A 10
Dimana variabel karakter akan berisi nilai ‘A’ dan variabel nilai akan berisikan nilai 10.

2.5. Statement getch()


Fungsi getch() dipergunakan untuk membaca sebuah karakter, dimana karakter
yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER. Dan karakter yang
dimasukkan tidak akan ditampilkan pada layar monitor. Bentuk umum penulisan dari
fungsi ini adalah :
variabelkarakter = getch();
dimana variabelkarakter adalah hasil dari karakter yang dimasukkan melalui fungsi
getch().

2.6. Statement getche()


Fungsi getche() mempunyai kegunaan yang sama dengan fungsi getch()
hanya bedanya fungsi getche() ini akan menampilkan karakter yang dimasukkan pada
layar monitor. Bentuk umum penulisan dari fungsi ini adalah :
variabelkarakter = getche();
dimana variabelkarakter adalah hasil dari karakter yang dimasukkan me lalui fungsi
getche().

3. Tugas Pendahuluan
1. Terdapat pada header file apakah fungsi-fungsi input dan output berikut ini
a. printf()
b. puts()
c. putchar()
d. scanf()
e. getch()
f. getche()
2. Jelaskan dan apa hasil dari keluaran program penentu format berikut ini :
a. printf(“%10d”,12345);
b. printf(“%8,2f”,500,25);
c. printf(“%20s”,”Hallo”);
d. printf(“%-20s”,”Apa Kabar”);

M odul Pemrograman Bahasa C 23


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
4. Prosedure Percobaan
1. Buatlah program untuk dapat menampilkan output berikut ini, dimana seluruh
kalimat rata kanan pada posisi kolom ke 79.
Halo
Apa
Kabar

2. Perhatikan program input data berikut, tunjukkan kesalahan penulisannya dan


betulkan, kemudian lihat hasil programnya.
#include {stdio.h}
#include {conio.h}
main()
(
char nama[20];
float npm;
clrscr();
printf(‘Masukkan Nama Anda : ‘);
scanf(‘%s’,&nama);
printf(‘Masukkan NPM Anda : ‘);
scanf(‘%f’,&npm);
clrscr();
printf(‘Nama Anda : ’,&nama);
printf(‘NPM Anda : ’,&npm);
)

3. Buatlah program untuk memasukkan data dari keyboard untuk menghitung luas dan
keliling lingkara n, dengan rumus sebagai berikut, dan nilai jari-jari diinput dari
keyboard.
a. Luas = 0.5 * 3.14 * Jari2
b. Keliling = 2 * 3.14 * Jari

4. Dengan menggunakan fungsi getch(), buatlah program memasukkan data dari


keyboard untuk karakter A, B, C, D dan E, akan tetapi hasil inputnya tidak boleh
muncul dilayar monitor, yang boleh hanya hasil outputnya saja, contoh output
programnya :
Masukkan Karakter
Masukkan Karakter
Masukkan Karakter
Masukkan Karakter
Masukkan Karakter
Output dari karakter yang anda masukkan :
A B C D E

M odul Pemrograman Bahasa C 24


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 25


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 03

Contoh Program 3.1


/* Contoh Program 3.1 */
/* Menghitung luas segiempat */
#include <stdio.h>
main()
{
float panjang, lebar, luas;
clrscr();
/* Input data – panjang dan lebar */
printf(“Panjang Segi Empat : “);
scanf(“ %f”, &panjang);
printf(“Lebar Segi Empat : “);
scanf(“ %f”, &lebar);
/* Menghitung luas segiempat */
luas = panjang * lebar;
/* Mencetak luas segiempat*/
printf(“Luas Segi Empat : %.4f \n”, luas);
/* Mencetak Alamat variabel-variabe yang digunakan*/
printf(“Alamat Variabel Panjang : %u \n”, &panjang);
printf(“Alamat Variabel Lebar : %u \n”, &lebar);
printf(“Alamat Variabel Luas : %u \n”, &luas);
}

Contoh Program 3.2


/* contoh program 3.2 */
/* Program konversi jam:menit ke menit */
#include <stdio.h>
main()
{
int jam, menit, hasil;
clrscr();
/* Cetak judul */
printf(“ KONVERSI JAM : MENIT KE MENIT \n”);
/* Inputkan jam : menit */
printf(“ Inputkan jam dan menit (jam:menit) : ”);
scanf(“ %d : %d”, &jam, &menit);
/* Hitung konversi */
hasil = jam * 60 + menit;
/* Cetak hasil */
printf(“ %d jam %d menit = %d menit \n”, jam, menit, hasil);
}

Contoh Program 3.3


/* contoh program 3.3
* Menghitung luas dan keliling lingkaran */
#include <stdio.h>
main()
{
float jari, luas kell;
const float PI = 4.141592
clrscr();
/* Cetak Judul */
printf(“ PROGRAM MENGHITUNG KELILING DAN LUAS LINGKARAN \n”);

M odul Pemrograman Bahasa C 26


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
/* Inputkan jari-jari */
printf(“ Masukkan Jari-jari Lingkaran : “);
scanf(“ %f”, &jari);
/* Menghitung keliling dan luas */
kell = PI * 2 * jari;
luas = PI * jari * jari;
/* Mencetak keliling dan luas */
printf(“ Keliling : %f \n” ,kell);
printf(“ Luas : %f \n“ ,luas);
}

Contoh Program 3.4


/* Contoh program 3.4 */
/* Program konversi huruf besar ke kecil */
#include <stdio.h>
#include <conio.h>
main()
{
char besar, kecil;
clrscr()
/* Cetak judul */
printf(“ PROGRAM KONVERSI HURUF \n”);
/* Inputkan sebuah huruf besar */
printf(“ Inputkan sebuah huruf besar (A - Z)”);
besar = getche();
/* Konversi ke huruf kecil */
kecil = besar + 32;
/* Cetak huruf kecilnya */
printf(“ Huruf kecil dari %c adalah %c”, besar, kecil);
}

M odul Pemrograman Bahasa C 27


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 4

Pe n ga m bila n Ke pu t u sa n

1. Tujuan
Mengenal, mempelajari dan memahami pengambilan keputusan (conditional
statement) dalam bahasa C menggunakan if, if-else, switch dan break.

2. Teori Dasar
Banyak persoalan yang memerlukan pengambilan keputusan dalam pemrograman,
untuk keperluan itu bahasa C menyediakan conditional statement if, if-else,
switch dan break, dengan kondisi yang umum dipakai berupa keadaan benar atau
salah.

2.1. Operator Relasi


Dalam mempelajari statement pengambilan keputusan If atau If-Else
umumnya banyak dijumpai operator relasi dan operator logika. Operator relasi biasanya
dipakai untuk membandingkan dua buah nilai. Hasil dari pembandingan berupa keadaan
benar atau salah. Adapun keseluruhan operator relasi dapat dilihat pada tabel berikut ini :
Operator Relasi Arti
> Lebih besar dari
>= Lebih besar dari atau sama dengan
< Lebih kecil dari
<= Lebih kecil dari atau sama dengan
== Sama dengan
!= Tidak sama dengan

Perlu diperhatikan untuk operator relasi sama dengan (==) berbeda dengan operator (=)
yang merupakan operator penugasan. Jika terjadi kesalahan penulisan seperti ini, bahasa C
tidak akan memberikan pesan kesalahan, karena kedua operator ini bentuk penulisannya
benar.

M odul Pemrograman Bahasa C 28


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.2. Operator Logika
Operator logika biasa digunakan untuk menggabungkan lebih dari satu ungkapan
relasi. Operator logika yang dikenal oleh bahasa C dapat dilihat pada tabel berikut :
Operator Logika Arti
&& Dan (logika AND)
|| Atau (logika OR)
! Bukan (logika NOT )

Bentuk umum penulisan operator logika ini adalah :


operand1 operatorlogika operand2
dimana operand1 dan operand2 dapat berupa ungkapan relasi maupun ungkapan logika.
Dan hasil dari ungkapannya dapat berupa keadaan benar atau salah.
Tabel berikut ini akan memberikan penjelasan hasil operasi ungkapan logika yang
menggunakan operator && maupun || untuk berbagai kemungkinan keadaan operand.
Hasil Operator Logika
Operand1 Operand2
|| (OR) && (AND)
F F F F
F T T F
T F T F
T T T T

2.3. Statement Kondisi


2.3.1. Statement if
Bentuk umum penyataan if adalah sebagai berikut :
if (kondisi)
pernyataan
Jika kondisi bernilai benar maka penyataan akan dikerjakan, dengan kata lain jika kondisi
bernilai salah maka penyataan tidak akan dikerjakan. Alur dari proses statement if
dibagi menjadi dua cabang dan pasti hanya satu cabang saja yang akan dilaluinya. Untuk
pernyataan dapat berupa sebuah pernyataan tunggal (hanya terdiri dari satu baris
penyataan), penyataan majemuk (terdiri dari lebih dari satu baris penyataan), atau
pernyataan kosong (tidak mengandung satupun baris pernyataan). Perlu diingat jika
pernyataan yang akan diberikan adalah pernyataan majemuk, maka jangan lupa untuk
memberikan tanda kurung kurawal buka pada awal pernyataan dan tanda kurung kurawal
tutup pada akhir pernyataan.

M odul Pemrograman Bahasa C 29


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.3.2. Statement if-else
Bentuk umum penyataan if-else adalah sebagai berikut :
if (kondisi)
pernyataan 1
else
pernyataan 2
Statement if-else digunakan jika pencabangan yang kedua (jika nilai kondisi
tidak dipenuhi) harus menjalankan penyataa n. Seperti halnya statement if, pernyataan 1
dan pernyataan 2, pernyataan dapat berupa sebuah pernyataan tunggal (hanya terdiri dari
satu baris penyataan), penyataan majemuk (terdiri dari lebih dari satu baris penyataan), atau
pernyataan kosong (tidak mengandung satupun baris pernyataan). Perlu diingat jika
pernyataan yang akan diberikan adalah pernyataan majemuk, maka jangan lupa untuk
memberikan tanda kurung kurawal buka pada awal pernyataan dan tanda kurung kurawal
tutup pada akhir pernyataan.

2.3.3. Nested if (pernyataan if di dalam if)


Didalam pernyataan if atau if-else bisa saja terdapat lagi pernyataan if atau
if-else yang lain. Dimana if yang terdapat didalam ini adalah bagian dari pernyataan
if atau else yang diluarnya. Cara dari penulisan nested if dapat dilihat berikut ini :
if (kondisi-1)
if ( kondisi-2)
pernyataan 1
else
pernyataan 2
else
if ( kondisi-3)
pernyataan 3
else
pernyataan 4
Seperti halnya statement if dan if-else, pernyataan 1, pernyataan 2, pernyataan 3, dan
pernyataan 4, pernyataannya dapat berupa sebuah pernyataan tunggal (hanya terdiri dari
satu baris penyataan), penyataan majemuk (terdiri dari lebih dari satu baris penyataan), atau
pernyataan kosong (tidak mengandung satupun baris pernyataan). Perlu diingat jika
pernyataan yang akan diberikan adalah pernyataan majemuk, maka jangan lupa untuk
memberikan tanda kurung kurawal buka pada awal pernyataan dan tanda kurung kurawal
tutup pada akhir pernyataan.

M odul Pemrograman Bahasa C 30


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.3.4. Pernyataan else-if
Pernyataan else-if sebenarnya mirip dengan nested if, hanya saja kelebihannya
struktur yang menghasilkan bentuk penulisan program yang sederhana. Struktur penulisan
pernyataan else-if dapat dituliskan sebagai berikut :

if (kondisi-1)
pernyataan 1
else if (kondisi-2)
pernyataan 2
else
pernyataan 3
Seperti halnya statement if, if-else, dan nested if, pernyataan 1, pernyataan 2, dan
pernyataan 3, pernyataannya dapat berupa sebuah pernyataan tunggal (hanya terdiri dari
satu baris penyataan), penyataan majemuk (terdiri dari lebih dari satu baris penyataan), atau
pernyataan kosong (tidak mengandung satupun baris pernyataan). Perlu diingat jika
pernyataan yang akan diberikan adalah pernyataan majemuk, maka jangan lupa untuk
memberikan tanda kurung kurawal buka pada awal pernyataan dan tanda kurung kurawal
tutup pada akhir pernyataan.

2.3. Statement switch dan break


Statement switch dan break merupakan suatu perintah untuk memeriksa data
yang bertipe karakter atau integer, penggunaan perintah ini lebih sempit dibandingkan
penggunaan perintah else if, dan umumnya dipergunakan untuk menyelesaikan
program yang memiliki cabang yang banyak. Bentuk umum dari penulisan statement
switch dan break adalah sebagai berikut :
switch (ekspresi)
{
case konstanta-1
pernyataan 1
break;
case konstanta-2
pernyataan 2
break;
default:
pernyataan 3
}
Dimana ekspresi adalah ungkapan yang bernilai karakter atau integer. Dan konstanta 1 dan
konstanta 2 juga dapat berupa konstanta karakter atau konstanta integer. Setiap pernyataan
dapat berupa sebuah atau beberapa pernyataan.

M odul Pemrograman Bahasa C 31


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Pengujian pada statement switch akan dimulai dari nilai konstanta 1 dan
seterusnya, sampai ditemukan nilai yang cocok dengan nilai konstanta tersebut maka akan
menjalankan penyataan yang terdapat dibawah nilai konstanta yang cocok tersebut.
Selanjutnya pada pernyataan break akan menyebabkan eksekusi akan diarahkan pada
akhir dari statement switch. Jika ternyata sampai pada pengujian case yang terakhir tidak
terdapat kecocokan, maka pernyataan yang akan dijalankan adalah pernyataan yang ada
pada kata kunci default.

3. Tugas Pendahuluan
1. Sebutkan dan jelaskan operator-operator relasi yang ada pada bahasa C.
2. Sebutkan dan jelaskan operator-operator logika yang ada pada bahasa C.
3. Sebutkan urutan dari yang tertinggi sampai yang terendah untuk operator relasi dan
operator logika.
4. Jelaskan perbedaan antara statement if, if-else, nested if, switch dan
break.

4. Prosedure Percobaan
1. Dengan menggunakan operator relasi buatlah program untuk menghitung nilai
diskon dari pembelian barang, dengan ketentuan sebagai berikut :
Ø Tidak mendapatkan diskon jika pembelian kurang dari 50000
Ø Jika pembelian lebih dari atau sama dengan 50000, akan mendapatkan diskon
5% dari total pembelian.
Contoh hasil running program harus bisa seperti dibawah ini :
Masukkan besarnya pembelian : Rp. 20000
Besarnya diskon : Rp. 0.00
Besar yang harus dibayarkan : Rp. 20000
Contoh lainnya :
Masukkan besarnya pembelian : Rp. 50000
Besarnya diskon : Rp. 2500.00
Besar yang harus dibayarkan : Rp. 47500

2. Dengan masalah yang sama seperti diatas buatlah program dengan ketentuan
sebagai berikut :
Ø Tidak mendapatkan diskon jika pembelian kurang dari 50000

M odul Pemrograman Bahasa C 32


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø Jika pembelian lebih dari atau sama dengan 50000 dan kurang dari 100000,
akan mendapatkan diskon 5% dari total pembelian.
Ø Jika pembe lian lebih dari atau sama dengan 100000, akan mendapatkan diskon
10% dari total pembelian
Contoh hasil running program harus bisa seperti dibawah ini :
Masukkan besarnya pembelian : Rp. 50000
Besarnya diskon : Rp. 2500.00
Besar yang harus dibayarkan : Rp. 47500
Contoh lainnya :
Masukkan besarnya pembelian : Rp. 100000
Besarnya diskon : Rp. 10000.00
Besar yang harus dibayarkan : Rp. 90000

3. Dengan menggunakan fungsi getch() atau getche(), buatlah program pilihan


menu seperti dibawah ini, jika anda memilih (1-3) maka pilihan menu yang anda
pilih akan muncul.
1. Entry Data
2. List Data
3. Print Data
Pilihan Anda (1-3) ?
Anda Memilih Menu :
List Data

4. Buatlah program untuk memasukkan tiga buah bilangan, dan selanjutnya program
akan memberikan hasil keluaran nilai terbesar dan nilai terkecil dari bilangan yang
anda masukkan tadi.

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 33


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 04
Contoh Program 4.1
/* Contoh program 4.1 */
/* Program menghitung uang pembelian */
#include <stdio.h>
main()
{
float jml_belanja, discount=0, jml_bayar;
clrscr()
/* Input Jumlah Belanja */
printf(“Besarnya Belanja :”);
scanf(“%f”, &jml_belanja);
/* Menghitung discount */
if (jml_belanja>=100000)
discount = 0.10 * jml_belanja;
/* Menghitung Uang Pembayaran */
jml_bayar = jml_belanja - discount;
/* Cetak Discount dan Uang Pembayaran */
printf(“ Discount : %10.2f \n”, discount);
printf(“ Uang Pembayaran : %10.2f \n”, jml_bayar);
}

Contoh Program 4.2


/* Contoh Program 4.2 */
/* Struktur if yang terdiri dari sekumpulan perintah */
#include <stdio.h>
main()
{
int usia;
clrscr();
printf(“Berapakah Usia Anda : ”);
scanf(“%d”, &usia);
if (usia >= 40)
{
printf(“ Wah, Anda sudah cukup tua \n”);
printf(“ Jangan makan makanan yang banyak mengandung Kolesterol \n”);
printf(“ Tidak baik untuk kesehatan Anda \n”);
}
}

Contoh Program 4.3


/* Contoh program 4.3 */
/* Struktur if else yang terdiri dari sebuah perintah */
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
char jawab;
printf(“ Anda mau ikut ? ”);
jawab = getche();
if (Jawab == ‘Y’ || jawab ‘y’)
printf(“ Cepat ganti pakaian”);
else
printf( “Tolong jaga rumah”);
}

M odul Pemrograman Bahasa C 34


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 4.4
/* Contoh Program 4.4 */
/* Penggunaan nested if */
#include <stdio.h>
main()
{
int umur;
clrscr();
printf(“ Berapakah usia Anda ? : ”);
scanf(“%d” ,&umur);
if ( umur < 50)
if ( umur > 21)
printf(“ Anda sudah dewasa ”);
else
printf(“ Anda masih muda ”);
else
printf(“ Anda sudah Tua”);
}

Contoh Program 4.5


/* Contoh program 4.5 */
/* Konversi nilai angka menjadi nilai huruf */
#include <stdio.h>
main()
{
float angka;
char huruf;
clrscr();
/* Input nilai angka */
printf(“Masukan nilai Angka (0 - 100) : ”);
scanf(“ %f”, &angka);
/* Proses menentukan nilai huruf */
if (angka<50)
huruf = ‘E’;
else if (angka >=50 && angka <60)
huruf = ‘D’;
else if (angka >=60 && angka <70)
huruf = ‘C’;
else if (angka >=70 && angka <85)
huruf = ‘B’;
else
huruf= ‘A’;
/* Cetak nilai huruf */

printf(“ Nilai Huruf : %c” ,huruf);


}

M odul Pemrograman Bahasa C 35


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 4.6
/* Contoh Program 4.6 */
/* Penggunaan switch */
/* Penggunaan switch-break dengan pilihan bilangan */
#include <stdio.h>
main( )
{
int bil;
printf (“Ketikkan sebuah bilangan antara bilangan 1 sampai dengan
bilangan 5 : ”);
scanf(“ %d”, &bil);
switch(bil)
{
case 1 :
printf(“ Anda mengetikkan bilangan satu”);
case 2 :
printf(“ Anda mengetikkan bilangan dua”);
case 3 :
printf(“ Anda mengetikkan bilangan tiga”);
case 4 :
printf(“ Anda mengetikkan bilangan empat”);
case 5 :
printf(“ Anda mengetikkan bilangan lima”);
default
printf(“ Anda mengetikan bilangan yang salah ” );
}
}

Contoh Program 4.7


/* Contoh program 4.7 */
/* Penggunaan switch-break dengan pilihan huruf */
#include <stdio.h>
main()
{
char x;
printf(“ Ketikan sebuah abjad dari a hingga d dalam huruf kecil”);
x=getche();
switch(x)
{
case ‘a’ :
printf(“Anda mengetikan abjad pertama”);
break;
case ‘b’ :
printf(“Anda mengetikan abjad kedua”);
break;
case ‘c’:
printf(“Anda mengetikan abjad ketiga”);
break;

case ‘d’ :
printf(“Anda mengetikan abjad keempat”);
break;
default ;
printf(“ Anda tidak mengikuti instruksi”);
}
}

M odul Pemrograman Bahasa C 36


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 4.8
/* Contoh program 4.8 */
/* Penggunaan switch-break dengan pilihan */
/* Huruf besar atau kecil */
#include <stdio.h>
main()
{
char x;
printf(“ Ketikkan sebuah abjad dari a hingga d \n”);
printf(“ Boleh dalam huruf besar ataupun dalam huruf kecil \n”);
x = getche( );
switch(x)
{
case ‘a’:
case’A’ :
printf(“ Anda mengetikkan abjad pertama”);
break;
case ‘b’:
case’B’ :
printf(“ Anda mengetikkan abjad kedua”);
break;
case ‘c’:
case’C’ :
printf(“ Anda mengetikkan abjad ketiga”);
break;
case ‘d’:
case’D’ :
printf(“ Anda mengetikkan abjad keempat”);
break;
default:
printf(“ Anda tidak mengikuti instruksi”);
}
}

M odul Pemrograman Bahasa C 37


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 5

Pe r u la n ga n / Loopin g

1. Tujuan
Mengenal, mempelajari dan memahami proses perulangan statement looping, for,
while, dan do-while dalam bahasa pemrograman C.

2. Teori Dasar
Mengulang suatu proses merupakan tindakan yang banyak dijumpai dalam
pemrograman. Pada semua bahasa pemrograman perulangan proses ditangani dengan suatu
mekanisme yang sering disebut dengan Loop. Dengan menggunakan loop suatu proses
perulangan dapat diimplementasikan dengan kode program yang lebih pendek.

2.1. Statement for


Bentuk umum dari statement for adalah sebagai berikut :
for (ungkapan-1; ungkapan -2; ungkapan -3)
pernyataan

Dimana fungsi dari :


Ungkapan-1 : Digunakan untuk memberikan inisialisasi awal terhadap variabel pengendali
dari loop. Pemberian nilai awal ini dilakukan sekali saja yaitu pada waktu
pengulangan mulai dilakukan, kemudian selama proses perulangan
berlangsung pemberian nilai awal ini tidak dilakukan lagi.
Ungkapan-2 : Digunakan sebagai kondisi untuk keluar dari loop. Pada bagian ini paling
menentukan apakah proses perulangan masih harus dilakukan atau tidak.
Dan perulangan akan terus dilakukan selama kondisi dari ungkapan ini
belum dipenuhi.

M odul Pemrograman Bahasa C 38


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ungkapan-3 : Digunakan sebagai pengatur perubahan nilai proses perulangan. Sifat dari
ungkapan ini bisa bersifat naik atau bersifat menurun. Dimana operator yang
sering dipergunakan pada ungkapan ini adalah operator penambahan (++)
dan operator pengurangan (--).
Perlu diingat untuk memisahkan antara ketiga ungkapan tersebut harus menggunakan tanda
titik koma (;).
Dalam perulangan for, ungkapan yang dipa kai tidaklah harus lengkap, akan tetapi
dapat juga salah satu dari ungkapan tersebut tidak dipergunakan atau dengan ungkapan
yang dipergunakan hanya salah satu saja dari ketiga ungkapan yang ada. Akan tetapi
meskipun ungkapan yang dipergunakan tidak lengka p, tanda titik koma yang berfungsi
sebagai pemisah harus tetap selalu dituliskan. Contohnya dapat dilihat sebagai berikut :
for (ungkapan-1;; ungkapan-3)
atau
for (ungkapan-1; ungkapan -2;)
atau
for (ungkapan-1;;)
Jika diinginkan suatu bentuk perulangan yang tak berhingga, maka
ungkapan dalam perulangan for tidak perlu digunakan, contohnya sebagai berikut :
for (;;)
Seperti halnya dengan statement if, perulangan for juga memiliki perulangan for
tersarang (nested for ) atau perulangan loop for di dalam loop for.

2.2. Statement while


Statement while pada prinsipnya adalah perulangan yang hampir sama dengan
perulangan for, hanya bedanya perulangan while dikendalikan oleh suatu kondisi
tertentu, dan proses perulangannya tidak akan berhenti selama kondisinya te rpenuhi dan
perulangan akan berhenti jika kondisinya tidak terpenuhi. Bentuk umum dari statement
while adalah sebagai berikut :
while ( kondisi)
pernyataan
Pengujian terhadap loop pada perulangan while dilakukan di bagian awal dari perulangan.
Karena inisialisasi tidak dapat dilakukan pada pernyataan while, maka inisialisasi dapat
dilakukan bersama-sama dengan deklarasi, atau memberikan nilai awal pada saat sebelum

M odul Pemrograman Bahasa C 39


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
masuk kedalam perulangan. Pernyataan yang dipergunakan dapat berupa pernyataan
tunggal, pernyataan majemuk maupun pernyataan kosong.

2.3. Statement do-while


Statement do-while pada prinsipnya sama dengan statement while, hanya saja
statement ini penulisannya merupakan kebalikan dari statement while dan for, dimana
kondisi perulangannya ditulis pada akhir loop. Dikarenakan kondisi perulangannya yang
berada diakhir loop, maka jika kita menggunakan statement ini, maka perulangan ini
minimal akan mengerjakan satu kali proses perulangannya, sedangkan jika menggunakan
statement while, bisa saja per ulangannya tidak dikerjakan sama sekali. Dengan demikian
kita harus berhati-hati dalam penggunaan kedua statement perulangan ini dalam
pemrograman. Bentuk umum dari perulangan do-while ini adalah sebagai berikut :
do
pernyataan
while ( kondisi)
Pernyataan yang dipergunakan dapat berupa pernyataan tunggal, pernyataan majemuk
maupun pernyataan kosong.

2.4. Statement break dan continue


Seperti halnya pada fungsi switch (yang berfungsi untuk keluar dari struktur
fungsi switch), statement break berfungsi untuk keluar dari perulangan for, while,
do-while. Jika didalam perulangan kita mempergunakan statement break, maka jika
statement break itu dijalankan, maka program akan dilanjutkan untuk mengeksekusi
pernyataan yang terletak diakhir dari proses perulangan tersebut. Sedangkan statement
continue digunakan untuk mengarahkan eksekusi ke proses berikutnya di dalam loop
yang sama. Dimana jika proses mengeksekusi statement continue maka statement
dibawah statement continue tidak akan dijalankan karena eksekusi pr ogram akan
langsung menuju ke pengendali loop. Contohnya jika menggunakan perulangan for, pada
saat menjalankan statement continue, proses akan langsung menaikkan variabel
pengendali (ungkapan3) dan kondisi untuk keluar dari perulangan for (ungkapan2) akan
diuji kembali.

M odul Pemrograman Bahasa C 40


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.5. Statement goto
Statement goto adalah instruksi untuk mengarahkan eksekusi ke sebuah
pernyataan yang diawali dengan suatu label. Dimana label itu sendiri berupa suatu
pengenal (identifier) yang diikuti dengan tanda titik dua (:). Contohnya dapat dilihat
berikut ini :
goto awal;
Dimana eksekusi program akan dilanjutkan ke pernyataan yang diawali dengan label :
awal:

2.6. Statement exit()


Statement exit() dipergunakan untuk menghentikan eksekusi program. Hal ini
mungkin saja dilakukan jika didalam eksekusi program terdapat suatu kondisi yang tidak
dikehendaki. Umumnya penggunaan statement exit() ini diberikan nilai 0 pada
argumennya untuk menunjukkan penghentian program secara normal. Sedangkan untuk
menunjukkan kesalahan, nilai yang diberikan pada argumen fungsi ini diisi dengan nilai
bukan nol. Contoh penggunaannya dalam program adalah sebagai berikut :
exit(0);

3. Tugas Pendahuluan
1. Jelaskan perbedaan penggunaan fungsi statement perulangan for, while dan do-
while, dan berikan contoh sederhana penggunaan dari statement perulangannya
masing-masing.
2. Jelaskan pengertian dari Nested For dan berikan contoh sederhana penggunaannya
dalam program.
3. Jelaskan perbedaan dari perulangan while dan do-while, kemudian tunjukkan
letak perbedaannya dalam program.
4. Jelaskan secara singkat penggunaan statement break dan continue dalam
statement perulangan dan berikan contoh sederhana penggunaanya dalam program.

4. Prosedure Percobaan
1. Dengan menggunakan perulangan for, tampilan semua bilangan genap yang
terletak diantara bilangan 20 sampai dengan bilangan 100.

M odul Pemrograman Bahasa C 41


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2. Buatlah program untuk dapat menampilkan deret hitung (20n) berikut ini.
20
40
80
160
320
:
2560
dengan menggunakan perulangan :
a. while
b. do-while
3. Dengan menggunakan nested loop, buatlah program untuk menampilkan tabel
berikut ini:
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 42


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 05

Contoh Program 5.1


/* Contoh program 5.1 */
/* Program Pengulangan */
#include <stdio.h>
main()
{
int bil = 1, total = 0;
clrscr();
/* Cetak Judul */
printf(“ N Total \n”);
for (bil = 1; bil <= 10; bil++)
{
total += bil;
printf(“ %d %d \n”, bil, total);
}
printf(“ Nilai N setelah keluar dari loop : %d”, bil);
}

Contoh Program 5.2


/* Contoh program 5.2 */
/* Program Pengulangan */
#include <stdio.h>
main()
{
int bil = 1, total = 0;
clrscr();
/* Cetak Judul */
printf(“ N Total \n”);
for (bil = 1; bil <= 10; ++bil)
{
total += bil;
printf(“ %d %d \n”, bil, total);
}
printf(“ Nilai N setelah keluar dari loop : %d”, bil);
}

Contoh Program 5.3


/* Contoh program 5.3 */
/* Program Tunggu Sebentar */
#include <stdio.h>
main()
{
int i;
clrscr();
printf(“ Tunggu Sebentar….\n”);
for (i = 1; i <= 30000; ++i);

printf(“ Terima Kasih….\n”);


}

M odul Pemrograman Bahasa C 43


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 5.4
/* Contoh program 5.4 */
/* For dengan argumen tidak lengkap */
/* Menghitung total dari sekumpulan bilangan bulat */
#include <stdio.h>
main()
{
int bil=1, total=0;
clrscr();
printf(“ Program menghitung total bilangan\n”);
printf(“ Untuk menghentikan program, inputkan 0\n”);
for (;bil != 0;)
{
printf(“ Inputkan bilangan : ”);
scanf(“ %d”, &bil);
total += bil;
}
printf(“ Total bilangan-bilangan yang anda inputkan : %d \n” ,
total”);
}

Contoh Program 5.5


/* Contoh program 5.5 */
/* Mencetak bilangan bulat dari 1 hingga 10 */
#include <stdio.h>
main()
{
int bil=1, total = 0;
clrscr();
printf(“ N Total \n”);
while(bil <= 10)
{
total += bil;
printf(“ %10d %10d \n”, bil, total);
bil++;
}
}

Contoh Program 5.6


/* Contoh program 5.6 */
/* Memasukkan data karakter */
#include <stdio.h>
main()
{
char kar;
printf(“ Program pengulangan tak terhingga\n”);
printf(“ Carilah karakter untuk menghentikan pengulangan ini\n”);
printf(“ Ketikkan satu karakter antara a-z : \n”);
while(kar = getche() != ‘q’)
{
printf(“ Ha…ha…, Salah Mas !!! \n”);
printf(“ Pengulangan masih akan dilanjutkan\n”);
printf(“ Coba kembali, jangan putus asa\n”);
}
}

M odul Pemrograman Bahasa C 44


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 5.7
/* Contoh program 5.7
* Mencetak bilangan bulat dari 1-10 beserta totalnya */
#include <stdio.h>
main()
{
int bil = 1, total = 0;
clrscr();
printf(“Program mencetak bilangan bulat antara 1-10 beserta
totalnya”);
do
{
total += bil;
print(“%10d %10d \n”, bil, total);
bil++;
}
while(bil <= 10);
}

M odul Pemrograman Bahasa C 45


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 6

St a t e m e n t Fu n gsi

1. Tujuan
Mengenal, mempelajari dan memahami statement fungsi dalam bahasa
pemrograman C.

2. Teori Dasar
Fungsi merupakan suatu blok dari kode program yang dirancang untuk
melaksanakan suatu operasi khusus. Penggunaan fungsi pada pemrograman pada umumnya
bertujuan untuk membuat program agar lebih terstruktur sehingga mudah dipahami,
dipelajari, dan kemudian dikembangkan, juga bertujuan untuk mengurangi proses
pengulangan kode program (duplikasi kode program). Bahasa C juga menyediakan
beberapa fungsi yang sudah terdapat didalam library C, seperti fungsi printf() ,
scanf() , dan lain sebagainya. Kita juga dapat membuat beberapa fungsi sendiri yang
kita perlukan dalam pemrograman bahasa C. Fungsi memiliki tingkatan yang sama dan
dapat berdiri sendiri, sehingga suatu fungsi dapat dengan mudah memanggil fungsi yang
lain ataupun dipanggil dari fungsi yang lain.
Pada umumnya fungsi memerlukan masukan yang sering disebut dengan argument
atau parameter, kemudian masukan ini diolah oleh fungsi, yang kemudian akan
menghasilkan nilai, data, ataupun hasil dari kumpulan proses lain yang bukan berupa data
maupun nilai. Bentuk umum dari definisi sebuah fungsi adalah sebagai berikut :
tipe namafungsi(parameter )
deklarasi parameter
{
tubuhfungsi
}

M odul Pemrograman Bahasa C 46


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Dimana tipe adalah untuk menentukan tipe keluaran fungsi, dan jika tipe tidak disebutkan
maka fungsi akan dianggap bertipe int. Sebuah fungsi sederhana bisa saja tidak
mengandung parameter sama sekali, sehingga untuk masalah ini deklarasi parameter tidak
diperlukan. Contoh dari fungsi sederhana adalah sebagai berikut :
inisial()
{
return(0);
}
Fungsi return(0) pada contoh program diatas adalah berfungsi memberikan nilai nol
sebagai nilai akhir dari fungsi inisial. Pada sebuah fungsi jika suatu pernyataan return
dieksekusi, maka eksekusi pada fungsi akan berakhir dan nilai pada parameter return
akan menjadi keluaran fungsi. Untuk fungsi yang tidak memiliki pernyataan return,
maka tanda kurung kurawal tutup “}” akan menyatakan sebagai akhir dari eksekusi
fungsi.
Untuk fungsi yang memiliki keluaran yang bukan bertipe integer, haruslah terlebih
dahulu dideklarasikan diawal program (sebelum digunakan), fungsi juga didefinisikan
dengan tipe fungsi yang akan dipakai. Adapun pendeklarasian dari suatu fungsi dilakukan
di awal program sebelum fungsi itu dipanggil. Bentuk umum penulisan deklarasi fungsi
adalah sebagai berikut :
tipe namafungsi();
Dalam pendeklarasian awal fungsi selalu diakhiri dengan tanda titik koma (;), sedangkan
pada pendefinisian fungsi tidak diakhiri dengan tanda titik koma. Dalam deklarasi fungsi,
nama parameter tidak perlu disebutkan, sedangkan pada pendefinisian fungsi nama
parameter perlu disebutkan.
Khusus untuk fungsi yang dirancang untuk tidak memberikan suatu nilai keluaran
(melainkan hanya untuk menjalankan operasi-operasi khusus), biasanya dideklarasikan
dan didefinisikan dengan kata kunci (reserved word ) void didepan nama fungsi yang
diperlukan.

2.1. Variabel Lokal


Variabel lokal adalah variabel yang dideklarasikan didalam fungsi dan mempunyai
sifat :
Ø Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan hilang ketika
eksekusi terhadap fungsi berakhir.

M odul Pemrograman Bahasa C 47


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø Hanya dikenal oleh fungsi tempat variabel dideklarasikan
Dalam penggunaanya, variabel lokal dimaksudkan agar variabel didalam fungsi itu tidak
dapat dipergunakan oleh fungsi lain.

2.2. Variabel Eksternal


Variabel eksternal merupakan variabel yang dideklarasikan diluar fungsi dan
mempunyai sifat :
Ø Dapat diakses oleh semua fungsi.
Ø Jika tidak diberikan nilai awal, maka secara otomatis akan diisikan dengan nilai nol.
Deklarasi variabel eksternal hanya dideklarasikan dibagian awal dari program (haruslah
dideklarasikan sebelum definisi fungsi yang akan mempergunakannya), dan tidak
dideklarasikan lagi didalam fungsi.
Untuk memperjelas bahwa suatu variabel dalam fungsi merupakan variabel
eksternal, didalam variabel yang menggunakannya dapat mendeklarasikan variabel itu
kembali dengan menambahkan kata kunci (reserved word) extern di depan tipe data
variabel tersebut.

2.3. Variabel Statis


Variabel statis dapat berupa variabel internal (jika didefinisikan didalam fungsi)
maupun variabel eksternal. Sifat dari variabel ini adalah :
Ø Jika variabel statis bersifat internal, maka variabel hanya dikenal oleh fungsi tempat
variabel dideklarasikan.
Ø Jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua
fungsi yang terletak pada file yang sama, tempat variabel statis dideklarasikan.
Ø Berbeda dengan variabel lokal, variabel statis tidak akan hilang setelah eksekusi
fungsi berakhir (nilai variabel akan tetap diingat).
Ø Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi dipanggil pada saat
pertama kali. Jika tidak ada inisialisasi oleh program maka secara otomatis akan
diberi nilai awal nol 0.
Variabel statis diperoleh dengan menambahkan kata kunci (reserved word) static didepan
tipe data variabel, contoh penggunaan statis internal dan ekseternalnya sebagai berikut :
static z; /* statis eksternal */
void inisialisasi()
{
static int x; /* statis internal */
}

M odul Pemrograman Bahasa C 48


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
2.4. Variabel Register
Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan
dalam memori RAM. Variabel seperti ini hanya dapat diterapkan pada variabel yang lokal
atau parameter formal yang bertipe char atau int. Variabel register biasa diterapkan pada
variabel yang digunakan untuk pengendali loop. Tujuannya untuk mempercepat proses
dalam loop. Sebab variabel yang dioperasikan pada register mempunyai kecepatan yang
jauh lebih tinggi daripada variabel yang diletakkan pada RAM. Variabel register diperoleh
dengan menambahkan kata kunci (reserved word) register didepan tipe data variabel.

3. Tugas Pendahuluan
1. Sebutkan beberapa manfaat dari penggunaan fungsi-fungsi dalam pembuatan
program.
2. Bagaimana bentuk penulisan secara umum untuk mengirimkan sebuah variabel atau
konstanta pada sebuah fungsi, dan bagaimana jika variabel atau konstanta yang
dikirimkan lebih dari satu.
3. Bagaimana bentuk penulisan secara umum untuk mendeklarasikan sebuah fungsi
dan jika fungsi yang dideklarasikan lebih dari satu fungsi.
4. Jelaskan mengenai fungsi variabel lokal, eksternal, statis, dan register, dan berikan
contoh penggunaannya dalam pemrograman.

4. Prosedure Percobaan
1. Buatlah sebuah program yang digunakan untuk menghitung luas trotoar yang
mengelilingi suatu taman yang berbentuk lingkaran. Dengan menggunakan
ketentuan sebagai berikut : (gunakan fungsi untuk menyederhanakan proses)
a. Masukkan diameter lingkaran dalam taman, dan lebar trotoar
b. Hitung Luas lingkaran dalam taman
c. Hitung Luas lingkaran luar taman (diameternya diperoleh dari diameter
lingkaran dalam + (2 * lebar trotoar))
d. Hitung Luas Trotoar (dengan rumus Luas lingkaran luar taman - Luas
lingkaran dalam taman)
e. Rumus luas lingkaran adalah 3.14 * (diameter / 2) 2

M odul Pemrograman Bahasa C 49


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 50


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 06

Contoh Program 6.1


/* Contoh Program 6.1 */
/* Fungsi yang menghasilkan nilai */
/* Program menghitung luas bujursangkar */
main()
{
float luas_bs;
clrscr();
printf(“Program menghitung luas bujursangkar”);
/* Menyimpan nilai fungsi ke dalam suatu variabel */
luas_bs = luas();
printf(“Luas Bujursangkar = %10.2f”, luas_bs);
}
/* Fungsi menentukan luas bujursangkar */
/* Nama fungsi luas() */
luas()
{
float sisi, luas1;
printf(“sisi bujursangkar = ”);
scanf(“%f”, &sisi);
luas1 = sisi * sisi;
return(luas1);
}

Contoh Program 6.2


/* Contoh program 6.2 */
/* Fungsi yang menerima data konstanta dari fungsi yang memanggilnya */
/* Program menghitung luas bujursangkar */
main()
{
float luas_bs;
clrscr();
printf(“ Program menghitung luas bujursangkar”);
/* Menghitung luas bujursangkar bila sisi = 10 */
luas_bs = luas(10.0);
printf(“ Luas Bujursangkar = %10.2f”, luas_bs);
}
/* Fungsi menentukan luas bujursangkar */
/* Nama fungsi luas() */
luas(sisi)
float sisi;
{
return(sisi * sisi);
}

M odul Pemrograman Bahasa C 51


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 6.3
/* Contoh program 6.2 */
/* Argumen yang lebih dari satu data */
/* Program menghitung luas bingkai segiempat */
main()
{
float luas_lr, luas_dl, panj_lr, leber_lr, panj_dl, leber_dl, sisi_dl,
luas_bk;
clrscr();
printf(“ Program menghitung bingkai segiempat ”);
/* Input panjang dan lebar segiempat luar dan dalam */
printf(“ Segiempat Luar : ”);
printf(“ Panjang : ”);
scanf(“%f”, &panj_lr);
printf(“ Lebar : ”);
scanf(“%f”, &lebar_lr);
printf(“ Segiempat Dalan : ”);
printf(“ Panjang : ”);
scanf(“%f”, &panj_dl);
printf(“ Lebar : ”);
scanf(“%f”, &lebar_dl);
/* Menghitung luas sisi luar dan sisi dalam */
luas_bk = luas(panj_lr, lebar_lr) - luas(panj_dl, lebar_dl);
printf(“ Luas bingkai segiempat = %10.2f”, luas_bk);
}
/* Fungsi menentukan luas luar bujursangkar */
/* Nama fungsi luas() */

luas(panjang, lebar)
float panjang, lebar;
{
return(panjang * lebar);
}
Contoh Program 6.4
/* Contoh Program Mendeklarasikan Fungsi */
/* Argumen yang lebih dari satu data */
/* Program menghitung luas segiempat */
main()
{
float panjang_se, lebar_se, Luas_se;
clrscr();
printf(“ Program menghitung luas segiempat ”);
/* Input panjang dan lebar segiempat */
printf(“ Panjang : ”);
scanf(“%f”, &panjang_se);
printf(“ Lebar : ”);
scanf(“%f”, &lebar_se);
/* Menghitung luas segiempat */
luas_se = luas(panjang_se, lebar_se);
printf(“ Luas segiempat = %10.2f”, luas_se);
}
/* Fungsi menentukan luas segiempat */
/* Nama fungsi luas() */
luas (panjang, lebar)
float panjang, lebar;
{
return(panjang * lebar);
}

M odul Pemrograman Bahasa C 52


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 7

ARRAY / LARI K

1. Tujuan
Mengenal, mempelajari dan memahami kegunaan dari fungsi array (larik) dan
implementasinya dalam bahasa pemrograman C.

2. Teori Dasar
Array merupakan koleksi data dengan setiap elemen datanya menggunakan nama
yang sama dan masing-masing element datanya juga bertipe data yang sama. Setiap
komponen atau elemen dari array dapat diakses dan dibedakan melalui indeks array. Array
sendiri dapat digolongkan menjadi :

Ø Array berdimensi satu


Ø Array berdimensi dua
Ø Array berdimensi banyak

2.1. Array berdimensi satu


Bentuk umum dari pendeklarasian array berdimensi satu adalah sebagai berikut :
tipe nama_variabel[ukuran ];
Dengan tipe untuk menyatakan tipe data dari elemen array itu sendiri, dan nama_variabel
adalah nama dari elemen array yang akan dipergunakan, sedangkan ukuran adalah
menyatakan jumlah maksimal dari elemen array yang dibutuhkan. Contoh pendeklarasian
dari array berdimensi satu ini adalah sebagai berikut :
float nilai_ujian[10];
Yang menyatakan bahwa array nilai_ujian mengandung 10 elemen yang bertipe float.
Pada bahasa C, data array akan disimpan dalam memori pada lokasi yang berurutan.
Dimana element pe rtama mempunyai indeks bernilai 0, elemen ke dua mempunyai indeks

M odul Pemrograman Bahasa C 53


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
bernilai 1, demikian seterusnya sampai nilai elemen yang maksimal ditetapkan. Adapun
contoh untuk memasukkan data kedalam array berdimensi satu ini adalah sebagai berikut :

nilai_ujian[0] = 70.5; /* Contoh Pertama */


scanf(“%f”, &nilai_ujian[1]); /* Contoh ke dua */

Contoh pertama adalah pemberian nilai 70.5 ke array nilai_ujian elemen ke 0, sedangkan
contoh kedua adalah pemberian nilai melalui keyboard ke array nilai_ujian elemen ke 1.

2.2. Array berdimensi dua


Array berdimensi dua adalah data yang digunakan untuk menyatakan data yang
memiliki informasi pada baris dan kolom, sebagai contoh penggunaanya pada matrik
berdimensi dua. Bentuk umumd dari pendeklarasian array berdimensi dua adalah sebagai
berikut :
tipe nama_variabel[ukuran_x ][ukuran_y ];
Dengan tipe untuk menyatakan tipe data dari elemen array itu sendiri, dan nama_variabel
adalah nama dari elemen array yang akan dipergunakan, sedangkan ukuran_x adalah
menyatakan jumlah maksimal baris dari elemen array yang dibutuhkan dan ukuran_y
adalah menyatakan jumlah maksimal kolom dari elemen array yang dibutuhkan. Berikut ini
adalah contoh penggunaan array berdimensi dua untuk data nilai pada lab komputer
STMIK -AMIKBANDUNG.
Praktikum NILAI C NILAI B NILAI A
Pascal 50 20 5
Visual Basic 45 36 12
Bahasa C 40 10 3
Assembler 44 27 1

Contoh pendeklarasian dari array berdimensi satu ini adalah sebagai berikut :
float data_nilai[4][3];
Dimana sebagai elemen indeks yang pertama adalah praktikum, dan elemen indeks yang
kedua adalah nilai.
Adapun contoh untuk memasukkan data kedalam array berdimensi dua ini adalah sebagai
berikut :

data_nilai[0][0] = 50; /* Contoh Pertama */


scanf(“%f”, &data_nilai[0][1]); /* Contoh ke dua */

M odul Pemrograman Bahasa C 54


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh pertama adalah pemberian nilai 50 ke array data_nilai elemen baris ke 0 dan kolom
ke 0, sedangkan contoh kedua adalah pemberian nilai melalui keyboard ke array data_nilai
elemen baris ke 0 dan kolom ke 1.

2.3. Array berdimensi banyak


Bahasa C memungkinkan anda untuk membuat array yang berdimensi lebih dari
dua. Adapun bentuk umum pendeklarasian array berdimensi banyak ini adalah sebagai
berikut :
tipe nama_variabel[ukuran_x ][ukuran_y ]… [ukuran_n];
Dengan tipe untuk menyatakan tipe data dari elemen array itu sendiri, dan nama_variabel
adalah nama dari elemen array yang akan dipergunakan, sedangkan ukuran_x, ukuran_y
dan ukuran_n adalah menyatakan jumlah maksimal dari masing-masing elemen array yang
dibutuhkan.

3. Tugas Pendahuluan
1. Jelaskan kegunaan dari fungs i array.
2. Jelaskan tentang array tak berukuran (tak berdimensi), kemudian berikan contoh
sederhana penggunaanya dalam program.
3. Dalam menentukan batasan indeks array bolehkan jika pengaksesan indeks array
lebih besar dari banyaknya elemen array, beri penjelasan singkat dengan contoh
program.

4. Prosedure Percobaan
1. Buatlah program dengan menggunakan array berdimensi satu untuk memasukkan
data berikut ini :
10, 20, 30, 40, 50, 60, 70, 80 ,90, 100
2. Dengan menggunakan array berdimensi satu, buatlah program untuk melakukan
pengurutan data (dari nilai yang terkecil sampai nilai yang terbesar) sebagai
berikut :
55, 34, 68, 84, 33, 21, 98, 56, 46, 95
3. Dengan menggunakan data pada soal ke dua buatlah pengurutan data dari nilai yang
terbesar sampai nilai yang terkecil.

M odul Pemrograman Bahasa C 55


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
4. Buatlah program untuk menjumlahkan dua buah matrik berikut ini:
Matrik A = 4 6
7 7
Matrik B = 5 8
5 3

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 56


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 07

Contoh Program 7.1


/* Contoh program 7.1 */
/* Mencari nilai maksimum dan nilai minimum */
/* Deklarasi array dan variabel global */
#define N 20
float maks(), min():
int i;
main()
{
float nl_max,nl_min, bil[N];
int jml_bil;
clrscr();
printf(“**** Mencari nilai maksimum dan minimum ****”);
/* Input jumlah bilangan */
printf(“ Jumlah bilangan : ”);
scanf(“%d”, &jml_bil);
/* Input data */
for (i = 0;i < jml_bil;++i)
{
printf(“ Bilangan ke %d : “, i + 1);
scanf(“%f”, &bil[i]);
}

/* Menentukan nilai maksimum dan minimum */


nl_max = maks(bil, jml_bil);
nl_min = min(bil, jml_bil);
/* Mencetak nilai maksimum dan minimum */
printf(“ Nilai maksimum : %.3f”, nl_max);
printf(“ Nilai minimum : %.3f”, nl_min);
printf(“ Tekan sembarang tombol ”);
getch();
}

/* Fungsi untuk menentukan nilai maksimum */


float maks(x,no)
float x[];
int no;
{
float maksimum = x[0];
for (i = 0;i < no;++i)
{
if (x[i] > maksimum)
maksimum = x[i];
}
return(maksimum);
}

M odul Pemrograman Bahasa C 57


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
/* Fungsi untuk menentukan nilai minimum */
float min(x,no)
float x[];
int no;
{
float minimum = x[0];
for (i = 0;i < no;++i)
{
if (x[i] < minimum)
minimum = x[i];
}
return(minimum);
}

Contoh Program 7.2


/* Contoh program 7.2 */
/* File program: MATRIKS.C */
/* Contoh operasi penjumlahan dua buah matriks */
/* untuk data bertipe int */

#include <stdio.h>

#define MAKS_KOLOM 5
#define MAKS_BARIS 5
void pemasukan_data_matriks(int matriks[][], int, int);
void penjumlahan_matriks(int matriks1[][], int matriks2[][], int
mat_hasil[][], int, int);
void penampilan_matriks(int matriks[][], int,int);

main()
{
int jum_kolom, jum_baris;
int mat1[MAKS_BARIS][MAKS_KOLOM],
mat2[MAKS_BARIS][MAKS_KOLOM],
mat_hasil[MAKS_BARIS][MAKS_KOLOM];

puts(“ OPERASI PENJUMLAHAN MATRIKS:”);


puts(“ =============================\n“);
printf(“ Banyak kolom dari elemen matriks(1..%d): ”, MAKS_KOLOM);
scanf(“%d”, &jum_kolom);
printf(“ Banyak baris dari elemen matriks(1..%d): ”, MAKS_BARIS);
scanf(“%d”, &jum_baris);

puts(“\ndata matriks 1\n”);


pemasukan_data_matriks(mat1, jum_baris, jum_kolom);

puts(“\ndata matriks 2\n”);


pemasukan_data_matriks(mat2, jum_baris, jum_kolom);

penjumlahan_matriks(mat1, mat2, mat_hasil, jum_baris, jum_kolom);

puts(“\nMATRIKS HASIL PENJUMLAHAN\n”);


penampilan_matriks(mat_hasil, jum_baris, jum_kolom);
}

M odul Pemrograman Bahasa C 58


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
void pemasukan_data_matriks(int matriks[][MAKS_KOLOM],
int jum_baris, int jum_kolom)
{
int i, j;
for (i = 0; i < Jum_Baris; i++)
for(j = 0; j < jum_kolom; j++)
{
printf(“Data baris %d kolom %d: ”, i+1, j+1);
scanf(“%d”, &matriks[i][i]);
}
}
void penjumlahan_matriks(int matriks1[][MAKS_KOLOM],
int matriks2[][MAKS_KOLOM],
int mat_hasil[][MAKS_KOLOM],
int jum_baris, int jum_kolom)

{
int i, j;
for(i = 0; i < jum_baris; i++)
for (j = 0; j < jum_kolom; j++)
mat_hasil[i][j] = matriks1[i][j] + matriks2[i][j];
}

void penampilan_matriks(int matriks[][Maks_KOLOM],


int jum_baris, int_jum_kolom)
{
int i, j;
for(i = 0; i < jum_baris; i++)
{
for (j = 0; j < jum_kolom; j++)
printf(“%7d”, matriks[i][j]);
puts(“”);
}
}

M odul Pemrograman Bahasa C 59


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 8

Po in t e r

1. Tujuan
Mengenal, mempelajari dan memahami fungsi penggunaan pointer dalam bahasa
pemrograman C.

2. Teori Dasar
Pointer banyak sekali dilibatkan dalam bahasa pemrograman C, misalnya untuk
melewatkan string dari suatu fungsi ke fungsi yang lain. Penerapan fungsi pointer yang
paling umum yaitu untuk menciptakan variabel dinamis yang memungkinkan untuk
memakai memori (memori yang belum terpakai) selama proses eksekusi program. Variabel
pointer sering disebut sebagai variabel yang menunjuk ke obyek lain. Pada kenyataaannya
variabel pointer (atau disingkat pointer) berisi alamat dari suatu obyek lain (yaitu obyek
yang dikatakan ditunjuk oleh pointer). Sebagai contoh, jika px adalah pointer dan x adalah
variabel yang ditunjuk oleh px. Jika x berada pada alamat memori 1000, maka px akan
berisi 1000. Bentuk umum dari deklarasi pointer adalah sebagai berikut :
tipe *nama_variabel;
Dimana tipe adalah tipe data yang akan dipakai oleh pointer, tanda * menyatakan deklarasi
adalah pointer, dan nama_variabel adalah nama dari variabel pointer.
Jika suatu variable sudah ditunjuk oleh pointer, variable yang ditunjuk oleh pointer
dapat diakses melalui variable itu sendiri (akses secara langsung) ataupun melalui pointer
(akses secara tidak langsung). Perlu diingat bahwa antara tipe data pointer (sesuai dengan
pada saat dideklarasikan) dan tipe data objek yang ditunjuk oleh pointer itu haruslah
bertipe data yang sejenis. Misalkan pointer px digunakan untuk menunjuk data bertipe int,
maka data yang akan ditunjuk oleh pointer px juga harus bertipe int. Sebuah kesalahan

M odul Pemrograman Bahasa C 60


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
akan terjadi jika misalnya pointer bertipe data float digunakan untuk menunjuk data bertipe
int.
Berikut ini adalah contoh untuk mengubah isi suatu variable secara tidak langsung
(melalui pointer). Mula -mula pd dideklarasikan sebagai pointer yang menunjuk ke suatu
data bertipe float dan d sebagai variable yang bertipe float. Kemudian variable d diberi
nilai :
d = 54.5;

Sedangkan pada pointer pd diberi nilai :


pd = &d;
Yang digunakan untuk memberikan alamat dari d ke pointer pd. Dengan demikian pointer
pd menunjuk ke variable d.
Dalam bahasa pemrograman C, hubungan antara array da n pointer sangatlah erat.
Dikarenakan sesungguhnya array secara intelektual akan diterjemahkan dalam bentuk
pointer. Suatu array dapat digunakan untuk menyimpan sejumlah pointer. Adapun contoh
deklarasi pemakaiannya dalam program dapat dilihat sebagai berikut :
char *namahari[7] ;
Dimana namahari terdiri dari 10 elemen berupa pointer yang menunjuk ke data yang
bertipe char. Pointer juga dapat menunjuk ke pointer lain. Contoh dari pendeklarasiannya
dalam program adalah sebagai berikut :
int var_x;
int *ptr1;
int **ptr2;
dimana var_x adalah variable bertipe int, ptr1 adalah variable pointer yang menunjuk ke
data bertipe int, dan ptr2 adalah variable pointer yang menunjuk ke pointer int (itu
sebabnya deklarasinya berupa : int **ptr2;).

3. Tugas Pendahuluan
1. Jelaskan kegunaan variable pointer dibanding dengan penggunaan array.
2. Tuliskan bentuk umum dari pendeklarasian dari variable pointer, dan berikan
contoh program pointer yang sederhana.
3. Dapatkan kita menggunakan variable pointer untuk melakukan proses penguruta n
data baik itu secara menaik (ascending) maupun menurun (descending).

M odul Pemrograman Bahasa C 61


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
4. Prosedure Percobaan
1. Buatlah program sederhana menggunakan variable pointer untuk menunjuk pada
tipe data char, dengan nilai dari variable tersebut adalah input dari nama anda.
2. Dengan menggunakan gabungan antara array dan variable pointer buatlah program
input data dan program untuk menampilkan data berikut ini :
10, 30, 50, 70, 90
output yang ditampilkan :
90, 70, 50, 30, 10

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.

M odul Pemrograman Bahasa C 62


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 08
Contoh Program 8.1
/* ----------------------------------- */
/* File Program: PTR1.C */
/* Contoh pemakaian pointer */
/* ----------------------------------- */
#include <stdio.h>
main()
{
int x, y; /* x & y bertipe int */
int px; /* px pointer yang menunjuk objek */
/* bertipe int */
x = 87;
px = &x; /* px berisi alamat dari x */
y = px; /* y berisi nilai ditunjuk px */
printf(“ Alamat x = %p\n”, &x);
printf(“ Isi px = %p\n”, px);
printf(“ Isi x = %d\n”, x);
printf(“ Nilai yang ditunjuk oleh px = %d\n”, px);
printf(“ Nilai y = %d\n”, y);
}

Contoh Program 8.2


/* -------------------------------------------------- */
/* File Program: PTR2.C */
/* Contoh pemakaian pointer yang salah */
/* -------------------------------------------------- */
#include <stdio.h>
main()
{
float *pu;
float nu;
int u = 1234;
pu = &u; /* pernyataan ini salah */
/* sebab pu adalah pointer float */
/* padahal u bertipe int */
nu = *pu;
printf(“ u = %d\n”, u);
printf(“ nu = %f\n”, nu);
}

Contoh Program 8.3


/* -------------------------------------------------- */
/* File Program: PTR3.C */
/* Contoh pengubahan isi suatu variable */
/* Melalui pointer */
/* -------------------------------------------------- */
#include <stdio.h>
main()
{
float d, *pd;
d = 54.5;
printf(“Isi d semula = %g\n”, d);
pd = &d;
*pd = *pd + 10;
printf(“Isi d kini = %g\n”, d);
}

M odul Pemrograman Bahasa C 63


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 8.4
/* ------------------------------------------------- */
/* File Program: PTR4.C */
/* Contoh pointer yang menunjuk array */
/* ------------------------------------------------- */
#include <stdio.h>
{
static int tgl_lahir[] ={24,6,1995};
int *ptgl;
ptgl = tgl_lahir; /* ptgl berisi alamat array */
printf(“ Nilai yang ditunjuk oleh ptgl = %d\n”, *ptgl);
printf(“ Nilai dari tgl_lahir[0] = %d\n”, tgl_lahir[0]);
}

Contoh Program 8 .5
/* ---------------------------------- */
/* File Program: PTR5.C */
/* Pengaksesan isi array */
/* dengan memakai pointer */
/* ---------------------------------- */
#include <stdio.h>
main()
{
static int tgl_lahir[] = { 24, 6, 1995 };
int i;
int *ptgl;
ptgl = tgl_lahir; /* ptgl berisi alamat array */
for(i = 0; i<3; i++)
printf(“%d\n”, *(ptgl + i));
}

Contoh Program 8.6


/* ----------------------------------------------*/
/* File Program: PTR6.C */
/* Pengaksesan isi array */
/* dengan memakai pointer (versi 2) */
/* ----------------------------------------------*/
#include <stdio.h>
main()
{
static int tgl_lahir[] = {24, 6,1995};
int i;
int *ptgl;
ptgl = tgl_lahir; /* ptgl berisi alamat
array */
for{i=0; i<3; i++}
printf(“%d\n”, *ptgl++)
}

M odul Pemrograman Bahasa C 64


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 8.7
/* -------------------------------------------------- */
/* File Program: PTRKOTA.C */
/* Contoh pointer yang menunjuk data string */
/* -------------------------------------------------- */
#include <stdio.h>
main()
{
char pkota = “SEMARANG”; /* pkota menunjuk
*/
/* Konstanta string
“SEMARANG” */
puts(pkota);
}

Contoh Program 8.8


/* -------------------------------------------------- */
/* File Program: ARR-NAMA.C */
/* Menukarkan isi dua buah string */
/* tanpa memakai pointer */
/* -------------------------------------------------- */
#include <stdio.h>
#include <string.h>
#define PANJANG 20
/* --- isi nama1 dan nama2 semula --- */
char nama1[PANJANG] = “JAMES BOND”;
char nama2[PANJANG] = “HERCULES POIROT”;

main()
{
char namax[PANJANG];
puts(“SEMULA:”);
printf(“nama1 à %s\n”, nama1);
printf(“nama2 à %s\n”, nama2);
/* penukaran string */
strcpy(namax, nama1);
strcpy(nama1, nama2);
strcpy(nama2, namax);
puts(“KINI:”);
printf(“nama1 à %s\n”, nama1);
printf(“nama2 à %s\n”, nama1);
}

M odul Pemrograman Bahasa C 65


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 8.9
/* -------------------------------------------------- */
/* File Program: PTR-NAMA.C */
/* Menukarkan isi dua buah string */
/* yang ditunjuk oleh pointer */
/* -------------------------------------------------- */
#include <stdio.h>
char *nama1 = “JAMES BOND”;
cahr *nama2 = “HERCULES POIROT”;

main()
{
char *namax;
puts(“SEMULA:”);
printf(“nama1 à %s\n”, nama1);
printf(“nama2 à %s\n”, nama2);
/* penukaran string yang dutunjuk oleh */
/* pointer nama1 dan nama2 */
namax = nama1;
nama1 = nama2;
nama2 = namax;
puts(“KINI:”);
printf(“nama1 à %s\n”, nama1);
printf(“nama2 à %s\n”, nama2);
}

Contoh Program 8.10


/* -------------------------------------------------- */
/* File program: PTRPTR.C */
/* Contoh pointer yang menunjuk pointer */
/* -------------------------------------------------- */

#include <stdio.h>
main()
{
int var_x = 273; /* variable int */
int ptr1; /* pointer int */
int **ptr2; /* pointer menunjuk ke pointer int */

ptr1 = &var_x; /* ptr1 berisi alamat dari var_x */


ptr2 = &ptr1; /* ptr2 berisi alamat dari ptr1 */

/* Mengakses nilai var_x melalui ptr1 */


printf(“ Nilai var_x = %d\n”, *ptr1);
/* Mengakses nilai var_x melalui ptr2 */
printf(“ Nilai var_x = %d\n”, **ptr2);
}

M odul Pemrograman Bahasa C 66


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 8.11
/* --------------------------------------------------------------- */
/* File program: ARGTR.C */
/* Contoh fungsi dengan aergumen berupa pointer */
/* --------------------------------------------------------------- */
#include <stdio.h>
void naikan_nilai (int *x, int *y);
main()
{
int a = 3;
int b = 7;
printf(“Semula : a = %d b =%d\n”, a, b);
naikkan_nilai(&a, &b);
printf(“ Kini : a = %d b = %d\n”, a, b);
}

void naikkan_nilai (int *x, int *y)


{
*x = *x + 2;
*y = *y + 2;
}

Contoh Program 8.12


/* ------------------------------------------------- */
/* File program: PTRBULAN.C */
/* Contoh fungsi dengan keluaran */
/* berupa pointer yang menunjuk string */
/* ------------------------------------------------ */
#include <stdio.h>
char *nama_bulan(int n);
main()
{
int bl;
printf(“Bulan (1 .. 12): ”);
scanf(“%d”, &bl);
printf(“%s\n”, nama_bulan(bl) );
}

char *nama_bulan(int n)
{
static char *bulan[] =
{ “Kode bulan salah”,
“ Januari”,
“ Februari”,
“ Maret”,
“ April”,
“ Mei”,
“ Juni”,
“ Juli”,
“ Agustus”,
“ September”,
“ Oktober”,
“ November”,
“ Desember“,
};
return( (n<1|| n>12) ? bulan[0] : bulan[n] );
}

M odul Pemrograman Bahasa C 67


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Ø M O D U L - T C - 0 9

Ope r a si File

1. Tujuan
Mengenal, mempelajari dan memahami operasi input dan output ke file dalam
pemrograman bahasa-C.

2. Teori Dasar
Dalam pembuatan program seringkali diperlukan suatu wadah I/O (Input dan
Output) untuk menyimpan data hasil olahan, sehingga akan mempermudahkan kita untuk
memanggil data tersebut bila sewaktu-waktu dibutuhkan. Wadah I/O yang banyak
digunakan untuk menyimpan data adalah file.
Ada dua system file yang dimiliki oleh Turbo-C, yaitu Standar I/O dan System I/O.
Standar I/O lebih mudah digunakan dibanding dengan System I/O,

2.1. Standar I/O


Berdasarkan penggunaannya standar I/O dapat dibagi menjadi empat jenis file;
Ø Operasi file yang khusus menangani karakter.
Ø Operasi file yang khusus menangani string.
Ø Operasi file yang menangani data campuran dan disimpan menurut format tertentu.
Ø Operasi file yang menangani data yang berbentuk record seperti pada structure.

2.2. File Text dan File Binary


Berdasarkan tipenya, Turbo-C membedakan jenis menjadi dua jenis, yaitu :
Ø File Text, dan
Ø File Binary

M odul Pemrograman Bahasa C 68


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Untuk jenis file text, semua data akan disimpan dalam bentuk text, baik data itu
berbentuk text maupun bilangan. O leh karena disimpan dalam bentuk text maka akan
membutuhkan tempat yang banyak (bergantung banyaknya karakter).
Contohnya, bila kita memiliki bilangan berjenis float 334,36289 dan akan disimpan
dalam bentuk file text, maka oleh karena itu data tersebut terdiri dari sembilan karakter dan
setiap karakter membutuhkan satu lokasi alamat, maka data tersebut membutuhkan memori
9 byte.
Lain halnya dalam Binary file, kebutuhan memori terhadap suatu bilangan tergantung pada
jenisnya, bila data tersebut berjenis float maka data tersebut membutuhkan 4 byte dan
untuk data berjenis integer membutuhkan 2 byte. Jadi kesimpulannya data yang disimpan
dalam bentuk biner lebih menguntungkan daripada data yang disimpan dalam bentuk text.

2.3. Membuka File Standar I/O


Meskipun file standar I/O dibagi menjadi empat jenis, akan tetapi keempat jenis ini
memiliki perintah yang sama, secara umum dapat dituliskan sebagai berikut:
...
FILE *nama_pointer-file;
...
Nama_pointer_file = fopen(“ nama_file”, ” modus ”);
Tabel berikut ini menunjukkan beberapa modus file yang dikenal dalam Turbo-C.
File terdapat dalam perintah fopen() harus dilengkapi dengan nama drive, directory dan
sub-directorynya, bila file yang dipanggil tidak terdapat dalam drive yang dipanggil. Bila
file akan dibuka sebelumnnya, maka pointer yang akan menunjuk pada file harus
dideklarasikan terlebih dahulu, dengan cara menuliskan sebagai berikut :
FILE *nama_pointer_file;
MODE KEGUNAANNYA
“r” File dibuka dalam modus baca.
File harus sudah ada sebelumnya.
“w“ File dibuka dalam modus tulis.
File akan diciptakan bila belum ada.
Bila sudah ada maka isinya akan ditimpa.
“a” File dibuka dalam bentuk tambah.
File akan diciptakan bila belum ada, bila sudah ada, data akan
ditambahkan setelah data terakhir yang terdapat dalam file tersebut.
“r+” File dibuka dalam modus baca dan tulis.
File harus sudah ada sebelumnnya.
“w+” File dibuka dalam modus baca dan tulis bila file sudah ada maka isinya
akan ditimpa.
“a+” File dibuka dalam modus baca dan tambah, bila file belum ada maka akan
diciptakan sebuah file baru.
M odul Pemrograman Bahasa C 69
Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Berikut ini akan diberikan contoh program sederhana untuk membuka file dalam
modus tulis, yang disimpan ke dalam subdirectory C:\CONTOH, dan file tersebut diberi
nama CONTOH.TXT. Sebagai pointer file digunakan sebuah variabel pointer dengan nama
variabel p_file.
FILE *p_file;
/* Membuka CONTOH.TXT dalam modus tulis */
p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”W”);

Bila file yang akan dikerjakan berbentuk text, maka modus dapat ditambah dengan akhiran
’t’ atau tanpa akhiran sama sekali, jadi :
p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”Wt”);
Atau bisa juga dengan :
p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”, ”W”);

Lain halnya bila kita akan membuka file B:\CONTOH\CONTOH.TXT yang


berjenis binary dalam modus tulis, bubuhi modus dengan akhiran ‘b’, maka penulisan
dapat dilakukan sebagai berikut:
p_file = fopen(“B:\\CONTOH\\CONTOH.TXT”,”Wb”);

Apabila fungsi dari fopen() tidak berfungsi, atau file tersebut tidak dapat dibuka,
maka fungsi ini akan memberikan hasil NULL.

2.4. Menutup File Standar I/O


Bila file tidak akan digunakan lagi maka file tersebut harus ditutup dengan
menggunakan perintah fclose(), adapun bentuk umum penulisannya adalah :
fclose(nama_pointer_file);
Contoh penulisannya dalam program adalah :
fclose(p_file);

2.5. System I/O


Pada system I/O, bahasa C tidak menyediakan tempat penampung untuk keper luan
operasi filenya, melainkan pemrogram sendirilah yang harus mengaturnya. Adapun
keuntungan dari pemakaian system ini adalah dari kecepatan pengaksesannya saja.
Untuk pengaksesan file ini digunakan dengan menggunakan fungsi _open() ,
_create(), dan _close(). Fungsi _open() digunakan untuk membuka file.
Fungsi _create() digunakan untuk menciptakan file baru atau mengosongkan file yang

M odul Pemrograman Bahasa C 70


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
sudah ada. Fungsi _close() digunakan untuk menutup file yang dibuka. Untuk
membaca dan menulis file ini digunakan fungsi _read() dan _write() .

3. Tugas Pendahuluan
1. Sebutkan beberapa jenis modus operasi file yang dikenal oleh pemrograman bahasa
C, serta kegunaannya.
2. Berikan contoh program sederhana untuk operasi file yang ada baik itu untuk modul
baca dan modus tulisnya.
3. Baga imana cara mendeklarasikan, membuka dan menutup file yang bertipe text
dalam modus baca (read).
4. Bagaimana cara mendeklarasikan, membuka dan menutup file yang bertipe text
dalam modus tulis (write ).

4. Prosedure Percobaan
1. Buatlah program untuk memasukkan data bertipe float sebagai berikut :
25.5
29.5
35.0
44.5
50.0
65.5
72.0
78.5

2. Kemudian buatlah program untuk membaca data tersebut dalam bentuk file text,
selanjutnya buatlah kembali data tersebut diatas menjadi file yang baru. Sehingga
anda harus mempunyai dua buah file text dengan data yang sama.

5. Tugas Akhir
Buatlah laporan hasil dari percobaan yang anda lakukan dengan singkat dan jelas
sesuai dengan prosedur pembuatan laporan akhir. Berikan bahasan sesuai dengan hasil
praktikum yang anda lakukan. Dan jangan lupa sertakan pula hasil tampilan layar (print
out) dari listing dan hasil running program, serta kesimpulan dari hasil percobaan anda
yang anda lakukan.
M odul Pemrograman Bahasa C 71
Disusun Oleh : Viddi M ardiansyah S.Si., M T.
LAMPIRAN – TC – 09

Contoh Program 9.1


/* Contoh program 9.1 */
/* Program membuka file dan mengisi file dalam bentuk text */
#include<stdio.h>
#include<conio.h>
main()
{
FILE *coba;
int m;
clrscr();
printf(“ Tuliskan data integer : ”);
scanf(“ %d ”,&m);
/* Membuka file LATIH.TXT */
coba = fopen(“C:\LATIH.TXT”);
/* Menulis file LATIH.TXT */
fprintf(coba, ”%d”, m);
fclose(coba);
}

Contoh Program 9.2


/* Contoh program 9.2 */
/* Program membuka file dan mengisi file dalam bentuk text */
/* dengan data variabel array */
#include<stdio.h>
#include<conio.h>
main()
{
FILE *coba;
int n, i;
float F[20], PF[20];
clrscr();
printf(“ Tuliskan banyaknya data : ”);
scanf(“ %d”, &n);
for (i = 1;i < n;i++)
{
printf(“Tuliskan data ke %d : ”, n);
scanf(“%f”, &F[i]);
PF[i]=F[i] * F[i];
}
/* Membuka file LATIH.TXT */
coba = fopen(“C:\LATIH.TXT”, ”w”);
/*Menulis file LATIH.TXT */
for (i = 1;i < =n;i++)
fprintf(coba, ”%f %f”, F[i], PF[i]);
fclose(coba);
}

M odul Pemrograman Bahasa C 72


Disusun Oleh : Viddi M ardiansyah S.Si., M T.
Contoh Program 9.3
/* Contoh program 9.3 */
/* Program membuka file dan membaca file dalam bentuk text */
/* dengan data variabel array */
#include<stdio.h>
#include<conio.h>
main()
{
FILE *coba;
int n, I;
float F[20], PF[20], f1, paf;
clrscr();
/* Membuka file LATIH.txt */
coba = fopen(“C:\ALATIH.TXT”, ”r”);
/* Membaca file LATIH.TXT */
i = 1;
while((fscanf(coba,”%f %f”, &f1, &paf)) != EOF)
{
F[i] = f1;
PF[i] = paf;
i = i + 1;
}
n = i;
for (i = 1;i <= n;i++)
{
printf(“%f %f”, F[i], PF[i]);
}
fclose(coba);
}

M odul Pemrograman Bahasa C 73


Disusun Oleh : Viddi M ardiansyah S.Si., M T.

Anda mungkin juga menyukai