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 O D U L - T C - 0 1
Pe n g e 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() {
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()
{
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
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
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
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
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>
Contoh Program 1.3
/*contoh program 1.3*/
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);
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();
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(“============================================”);
Ø
M O D U L - T C - 0 2
D a sa r - d a sa r Pe m r og r 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
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.
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
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)
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;
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;
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)
}
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
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 */
Contoh Program 2.4
Contoh Program 2.5
/* Contoh Program 2.5 */
/* Operasi Aritmatika terhadap Data Campuran */
/* yang hasilnya disimpan dalam variabel integer */ #include <stdio.h>
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;
Ø
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
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 . 5Hal 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 G2.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
#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 :
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”);
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
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
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>
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 */
/* 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 */
Ø
M O D U L - T C - 0 4
Pe n g a m b ila n Ke p u 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
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
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 ifatau 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
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
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 :
Ø 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
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>
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> printf(“ Cepat ganti pakaian”); else
Contoh Program 4.4
/* Contoh Program 4.4 */ /* Penggunaan nested if */ #include <stdio.h>
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>
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’;
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”); }
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 O D U L - T C - 0 5
Pe r u la n g a n / Loop in 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
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 fordi 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
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
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
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
LAMPIRAN – TC – 05
Contoh Program 5.1
/* Contoh program 5.1 */
Contoh Program 5.2
/* Contoh program 5.2 */
Contoh Program 5.3
/* Contoh program 5.3 */
/* Program Tunggu Sebentar */
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> 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”); }
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++;
}
Ø
M O D U L - T C - 0 6
St a t e m e n t Fu n g si
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
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 :
Ø 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()
{
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)
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
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; {