69
BAB V
BAHASA C I
5.1 Pendahuluan
Bahasa C merupakan evolusi dari bahasa BCPL yang dibuat oleh Martin
Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken
Thompson yang kemudian mengembangkan bahasa B pada tahun 1970.
Selanjutnya dikembangkan kembali menjadi bahasa C oleh Dennis Ritchie
sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang bernama
AT&T Bell Laboratories).
Bahasa C pertama kali digunakan di Computer Digital Equipment
Corporation PDP-11 dengan sistem operasi UNIX. Hingga saat ini, hampir
semua perguruan tinggi di dunia menjadikan bahasa C sebagai salah satu
matakuliah wajib. Selain itu, banyak bahasa pemrograman populer seperti
PHP dan Java menggunakan sintaks dasar yang mirip bahasa C. Oleh karena
itu, kita juga sangat perlu mempelajarinya.
Beberapa alasan mengapa bahasa C banyak digunakan diantaranya
adalah bahasa C tersedia hampir di semua jenis komputer, hanya
menyediakan sedikit kata kunci, terdapat dukungan library yang banyak, dan
memiliki struktur yang baik sehingga mudah dipahami. Selain itu bahasa C
memiliki beberapa kekurangan seperti banyak operator dan fleksibilitas
penulisan program kadang membingungkan pemakai, bagi pemula pada
umumnya akan kesulitan menggunakan pointer, kekuatan sistem lemah, dan
keamanan sistem tidak aman.
5.1.1 Algoritma dan Flowchart
1. Algoritma
Algoritma adalah langkah-langkah yang logis dan sistematis
untuk menyelesaikan suatu masalah. Dalam pemrograman terdapat
berbagai macam algoritma untuk mengolah data. Misalnya,
algoritma mengurutkan data, mencari data, geometri, menggambar
70
grafik, perhitungan matematika, pengolahan data paralel, dan lain-
lain.
2. Flowchart
Flowchart adalah suatu struktur yang menggambarkan proses
algoritma. Flowchart menolong analis dan programmer untuk
memecahkan masalah kedalam segmen-segmen yang lebih kecil dan
menolong dalam menganalisis alternatif-alternatif lain dalam
pengoperasian. System flowchart adalah urutan proses dalam system
dengan menunjukkan alat media input, output serta jenis media
penyimpanan dalam proses pengolahan data.
Tabel 5.1 Simbol dalam Flowchart
71
5.1.2 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk
mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan
konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa
diubah-ubah sesuai kebutuhan.
Pengenal 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 pengenal boleh
lebih dari 31 karakter, tetapi hanya 31 karakter pertama yang akan
dianggap berarti. Pengenal tidak boleh menggunakan nama yang
tergolong sebagai kata-kata cadangan (reserved words) seperti int, if,
while dan sebagainya.
Variabel yang akan digunakan haruslah didefinisikan terlebih
dahulu. Bentuk umum penulisan variabel adalah :
Tipe daftar-variabel;
Pada pendeklarasian varibel, daftar-variabel dapat berupa sebuah
variabel atau beberapa variabel yang dipisahkan dengan koma. Contoh:
int var_bulatl;
float var_pecahanl, var_pecahan2;
5.1.3 Fungsi Input dan Output
1. Input
a. scanf()
Fungsi pustaka scanf() digunakan untuk menginput data
berupa data numerik, karakter dan string secara terformat. Hal-hal
yang perlu diperhatikan dalam pemakaian fungsi scanf() adalah
sebagai berikut.
Fungsi scanf() memakai penentu format
72
Fungsi scanf() memberi pergantian baris secara otomatis
Variabelnya harus menggunakan operator alamat (&)
Bentuk umumnya adalah
printf(“kata yang akan dicetak dan simbol-simbol format”,
nama_variabel_untuk_simbol_format_1,
nama_variabel_untuk_simbol_format_2, ...);
b. Kode Penentu Format
Format data adalah suatu kombinasi tanda – tanda khusus
berupa karakter yang dipakai untuk mengatur bentuk data
tampilan. Format data dipakai disesuaikan dengan jenis dan
tampilan. Beberapa kode penentu format data yang ada adalah
sebagai berikut.
Tabel 5.2 Macam-macam format data
Format Data Bentuk Tampilan Data
%c Karakter tunggal (single character )
%d Bilangan bulat desimal (decimal integer)
%e Bilangan bernotasi ilmiah
%f Bilangan berjenis pecahan bertitik (floating
point number)
%g Pilihan tampilan yang terpendek di antara
bentuk %e atau %f
%i Bilangan bulat desimal ( sama dengan %d )
%n Digunakan untuk menyimpan banyak
karakter yang ditampilkan oleh perintah
printf() ke dalam suatu petunjuk jenis integer
%o Notasi bilangan oktal
73
%p Tampilan pointer
%s Tampilan deretan karakter (string)
%u Bilangan desimal tak tertanda (unsigned)
%x Notasi bilangan hexadesimal
% % Tampilan tanda %
c. getch() dan getche()
Fungsi getch() dan getche() digunakan untuk membaca data
karakter. Jika menggunakan fungsi getch() karakter yang
dimasukkan tidak akan ditampilkan pada layar, sering digunakan
sebagai inputan password. Sedangkan pada getche() karakter yang
dimasukkan akan ditampilkan pada layar. Bentuk umumnya
adalah :
char c = getch();
char s[] = gets();
2. Output
a. Printf(), puts() dan putchar()
Menggunakan fungsi printf(), puts(), dan putchar(), akan
lebih ditekankan pada penggunaan printf(). Bentuk umumnya
adalah :
printf(“kata yang akan dicetak dan simbol-simbol format”,
nama_variabel_untuk_simbol_format_1,
nama_variabel_untuk_simbol_format_2, ...);
puts(‘karakter tunggal’); dalam bahasa C, karakter tunggal
diapit tanda petik tunggal, string diapit tanda petik ganda.
puts(“string/kumpulan karakter”);
74
5.1.4 Percabangan
Percabangan atau penyeleksian kondisi adalah suatu proses untuk
melakukan suatu perintah pada kondisi yang ditentukan. Jika
kondisinya terpenuhi, maka akan melakukan suatu proses, jika tidak
maka akan melakukan proses lain. Flowchartnya adalah
Gambar 5.1 Flowchart percabangan
Percabangan terdiri dari if, if else, switch case, dan if bersarang.
1. If
Struktur if dibentuk dari pernyataan if dan sering digunakan
untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi
terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam
blok if akan diproses dan dikerjakan.
2. If Else
Dalam struktur kondisi if.....else minimal terdapat dua
pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi
maka pernyataan pertama yang dilaksanakan dan jika kondisi yang
diperiksa bernilai salah maka pernyataan yang kedua yang
dilaksanakan.
75
3. Switch Case
Struktur kondisi switch....case....default digunakan untuk
penyeleksian kondisi dengan kemungkinan yang terjadi cukup
banyak. Struktur ini akan melaksanakan salah satu dari beberapa
pernyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch.
Selanjutnya proses diteruskan hingga ditemukan pernyataan ‘break’.
Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka
proses akan diteruskan kepada pernyataan yang ada di bawah
‘default’.
5.1.5 Perulangan
Ada kalanya kita membutuhkan suatu bagian program diulang-
ulang sebanyak sekian kali. Untuk melakukannya kita bisa melakukan
perulangan atau loop dengan for, while, dan do while, tidak dengan
menuliskan perintah yang sama berulang-ulang.
1. For
Struktur perulangan for biasa digunakan untuk mengulang suatu
proses yang telah diketahui jumlah perulangannya. Dari segi
penulisannya, struktur perulangan for tampaknya lebih efisien karena
susunannya lebih simpel dan sederhana.
2. While
Perulangan WHILE banyak digunakan pada program yang
terstruktur. Perulangan ini banyak digunakan bila jumlah
perulangannya belum diketahui. Proses perulangan akan terus
berlanjut selama kondisinya bernilai benar (true) dan akan berhenti
bila kondisinya bernilai salah.
3. Do While
Pada proses perulangan dengan while, seleksi berada di while
yang letaknya di atas sementara pada perulangan do....while, seleksi
while berada di bawah batas perulangan. Dengan menggunakan
76
struktur do…while sekurang-kurangnya akan terjadi satu kali
perulangan.
5.1.6 Pointer
Semua variabel yang sudah dideklarasikan akan diberikan suatu
tempat di memori untuk menyimpan data atau nilai. Tempat-tempat di
memori memiliki alamat. Variabel yang dideklarasi akan diberikan
sebuah alamat di memori. Pointer merupakan variabel yang menyimpan
alamat dari variabel lain, sehingga variabel pointer menunjuk tempat
yang sama dengan variabel yang ditunjuknya. Karena menunjuk tempat
yang sama, variabel pointer bisa mengambil nilai dari variabel yang
ditunjuknya.
5.2 Tujuan
1. Praktikan dapat menerapkan konsep algoritma, flowchart kedalam
Bahasa C.
2. Praktikan dapat menjelaskan konsep library dalam Bahasa C.
3. Praktikan dapat menjelaskan tipe data, format data, dan struktur dari
Bahasa C.
4. Praktikan dapat menjelaskan dan menerapkan dasar input output
dalam Bahasa C.
5. Praktikan dapatmengerti dan mengimplementasikan konsep
penyeleksian kondisi percabangan dan perulangan dalam Bahasa C.
77
5.3 Langkah Kerja
5.3.1 Mencetak karakter ke layar konsol
Untuk menampilkan karakter pada layar konsol kita gunakan fungsi
printf
1. Ketikkan #include <stdio.h> tekan enter.
2. Ketikkan #include <conio.h> tekan enter.
3. Ketik int main(){ sebagai fungsi utama.
4. Ketikkan printf(“kata yang ingin ditampilkan\n”);.
5. Ketikkan getch();
6. Compile dengan menekan tombol F9.
7. Run dengan tekan tombol F10.
Contoh sebagai berikut:
Setiap program dari bahasa c selalu didahului dengan include
library. Dilanjutan dengan int main(){ untuk memulai program. Untuk
menampilkan karakter pada layar konsol kita tinggal mengetikkan
karater yang diinginan pada baris printf seperti gambar diatas. Contoh
penggunaannya:
Gambar 5.2 Perintah printf
#include <stdio.h>
#include <conio.h>
Int main(){
printf(“Kata yang ingin ditampilkan \n”);
getch();
}
78
Dengan penulisan kode yang benar, maka perintah seperti gambar
diatas pasti dapat dirun dengan lancar. Tidak lupa setiap perintah
diakhiri dengan titik koma.
5.3.2 Deklarasi dan Inisialisasi Variabel
1. Ketikkan #include <stdio.h> tekan enter.
2. Ketikkan #include <conio.h> tekan enter.
3. Ketik int main(){ sebagai fungsi utama.
4. Ketik int x;.
5. Dengan perintah deklarasi telah dilakukan.
6. Untuk melakukan inisialisasi dengan cara mengetik x=3;.
7. Ketik getch();.
8. Compile dengan menekan tombol F9.
9. Run dengan menekan tombol F10.
Cara mendeklarasikan suatu variabel adalah dengan mengetik int
variabel; seperti contoh diatas. Untuk inisialisasi atau pemberian nilai
pada variabel, bisa dengan variabel=nilai;. Contoh penggunaanya:
#include <stdio.h>
#include <conio.h>
Int main(){
Int x;
X=3;
Getch();
}
79
Gambar 5.3 Perintah deklarasi dan inisialisasi
Dengan mengetik int x; kita sudah mendeklarasikan variabel x, dan
dengan mengeti x=3, kita sudah memberi nilai variabel x yaitu 3.
5.3.3 Mengambil input pengguna
1. Untuk mengambil Input Pengguna menggunakan perintah scanf ();
2. Misal anda telah mendeklarasikan x sebagai variabel, maka anda
dapat memasukkan nilai x dengan input dari pengguna.
3. Sebagai contoh :
Int main (){
Int x;
Scanf(“%d”, &x);
Getch();
}
Didalam scanf terdapat perintah %d maksudnya adalah data yang
dimasukkan merupakan bilangan desimal dan int merupakan bilangan
bulat. &x menunujukkan nilai yang diinput akan diinisialisasikan ke
variabel x. Contoh penggunaannya
Gambar 5.4 Perintah mengambil input pengguna
80
Kita menambahkan printf agar hasil dapat terlihat, sebelum menulis
program selalu dahului dengan include library dan diakhiri dengan titi
koma pada setiap perintah. Perintah diatas untuk membuat variabel x
dan memberi nilai pada variabel x dengan cara menginput ketika
program dirun.
5.3.4 Percabangan
Dalam bahasa C percabangan menggunakan if, else if, switch case,
dan if bersarang. Untuk setiap percabangan memiliki ciri-ciri tersendiri,
lebih jelasnya dapat dilihat pada penjelasan berikut:
1. If
Seperti penulisan fungsi pada umumnya, didahului dengan
menginclude library seperti yang sudah dijelaskan sebelumnya.
Diikuti int main(){program}.
Flowchart if sebagai berikut:
Gambar 5.5 Flowchart fungsi if
81
Data akan dideteksi apakah akan masuk ke kondisi 1 atau 2,
apabila cocok pada kondisi 1 atau 2, maka akan muncul hasil sesuai
dengan hasil 1 atau 2.
Pernulisan inti program if yaitu:
If ( kondisi 1 ) {
Apabila kondisi benar maka program akan menjalankan perintah
yang ada disini
}
Apabila kondisi sesuai atau benar, maka program akan
dijalankan.
Contoh penggunaan if :
Gambar 5.6 Penggunaan fungsi if
Pada gambar diatas, apabila kita input data <165 maka perintah
pada if pertama akan dijalankan. Jika input>165, maka perintah dari
if kedua yang dijalankan.
2. If else
If else dan else biasanya mengikuti perintah if artinya jika anda
menginkan 3 kondisi sekaligus untuk dijalankan dalam sebuah
program.
82
Gambar 5.7 Flowchart fungsi if else
Pada flowchart diatas, setelah data masuk kondisi, apabila benar
maka perintah untuk kondisi benar akan dijalankan. Apabila kondisi
salah, maka akan dijalankan perintah untuk kondisi salah.
Contoh penulisan untuk kodenya sebagai berikut:
If (kondisi 1){
Jika kondisi 1 benar , maka akan dijalankan}
Else if (kondisi 2){
Jika kondisi 1 salah maka, program akan mengecek kondisi 2 dan
jika benar maka akan dieksekusi}
Else {jika kondisi 1 dan kondisi 2 salah maka program akan
langsung di eksekusi kode yang ada disini}.
83
Contoh penulisan penggunaan kodenya:
Gambar 5.8 Penggunaan fungsi if else
Apabila kita input data <50, maka perintah untuk kondisi 1
dijalankan. Apabila input antara 50-60, maka perintah untuk kondisi
2 dijalankan, dan apabila input bukan keduanya, maka perintah
ketiga dijalankan.
3. If bersarang
Di dalam if bisa mengandung if lagi, sehingga terlihat seperti
bersarang. Flowchartnya:
Gambar 5.9 Flowchart fungsi if bersarang
84
Seperti tergambar dari flowchart diatas, data akan masuk dulu
ke kondisi 1, jika benar, data akan diproses lagi, apakah masuk ke
kondisi 1.1 ataukah kondisi 1.2. jika masuk ke kondisi 1.1 maka
perintah 1.1 akan dijalankan, jika masuk ke kondisi 1.2, maka
perintah 1.2 yang akan dijalankan.
Contoh penulisan kodenya:
If(jenis kelamin L){
If(usia>18){
Printf(“sudah boleh nikah”);
}
Else{
Printf(“tidak boleh nikah”);
}
Contoh penggunaan kodenya:
Gambar 5.10 Penggunaan fungsi if bersarang
85
Pada gambar diatas, dapat dilihat apabila kita input jenis
kelamin L atau P, data akan diproses lagi ketika kita menginput
umur apakah lebih dari 18 atau kurang.
4. Swicth Case
Struktur kondisi switch....case....default digunakan untuk
penyeleksian kondisi dengan kemungkinan yang terjadi cukup
banyak. Struktur ini akan melaksanakan salah satu dari beberapa
pernyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch.
Selanjutnya proses diteruskan hingga ditemukan pernyataan ‘break’.
Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka
proses akan diteruskan kepada pernyataan yang ada di bawah
‘default’.
Gambar 5.11 Flowchart fungsi Switch Case
Data yang diinput, akan dideteksi apakah akan cocok pada case
1, case 2, dan case 3, apabila tidak ada yang cocok akan masuk pada
perintah default untuk mengeksekusi perintah yang salah.
86
Contoh penulisan kodenya:
Switch(variabel) {
Case 1: //perintah jika yang diinput variabel==1
Break;
Case 2: //perintah jika yang diinput variabel==2
Break;
Case 3: //perintah jika yang diinput variabel==3
Break;
Case n: //perintah jika yang diinput variabel==n
Break;
Default: //perintah jika data yang diinput tidak sessuai dengan
variabel
Break;
Pada penulisan case, diawali dengan serial(variabel){, setiap
perintah case selalu diakhiri dengan bereak, seperti biasa setiap
perintah diakhiri dengan titik koma.
Contoh penggunaan kodenya:
Gambar 5.11 Flowchart fungsi Switch Case
Pada contoh penggunaan swicth case diatas, terdapat 4 piihan
case, yaitu 1, 2, 3, dan 4. Apabila pengguna menginput data selain
itu, maka data akan masuk pada perintah default.
87
5.3.5 Perulangan
Dalam bahasa C, Perulangan atau loop menggunakan fungsi while ,
for dan do while.
1. For
Struktur perulangan for biasa digunakan untuk mengulang suatu
proses yang telah diketahui jumlah perulangannya. Dari segi
penulisannya, struktur perulangan for tampaknya lebih efisien karena
susunannya lebih simpel dan sederhana. Flowchartnya:
Gambar 5.13 Flowchart for
Untuk perintah for, data akan melalui inisialisasi. Bila cocok
data akan masuk ke kondisi, jika benar perintah kondisi benar
dijalankan dan akan terus diulangi selagi kondisinya benar.
Bentuk umum penulisan kodenya:
for ( inisialisasi ; kondis; finalisasi){
Program akan dijalankan jika kondisi benar}
88
Contoh penggunaannya:
Gambar 5.14 Penggunaan for
Seperti pada gambar diatas, perintah for akan diulang terus jika
inisialisasi< variabel dan hasil perintah akan bertambah satu demi
satu.
2. While
Untuk melakukan perintah loop while maka praktikan mengetik
while (){} dimana () menunjukkan kondisi untuk menjalankan
program yang ada didalam kurung kurawal {}. Selama kondisi
benar, maka program akan terus dijalankan. Flowchatnya:
Gambar 5.15 Flowchart While
89
Nampak pada flowchart diatas, apabila kondisi benar, maka
perintah akan terus diulang.
Contoh penulisan kodenya:
while (kondisi) {
//Perintah yang dijalankan selama kondisi BENAR
...
...
}
Contoh penggunaan kodenya:
Gambar 5.16 Penggunaan While
Program diatas adalah program perulangan dengan while
dimana selagi kondisi benar maka program akan terus diulang.
Begitu pula apabila program tersebut dirun dan kita input berapa kali
perulangan yang diinginkan, maka perintah akan diulang sesuai
dengan input pengulangan.
3. Do While
Pada proses perulangan dengan while, seleksi berada di while
yang letaknya di atas sementara pada perulangan do....while, seleksi
90
while berada di bawah batas perulangan. Dengan menggunakan
struktur do…while sekurang-kurangnya akan terjadi satu kali
perulangan. Flowchartnya adalah sebagai berikut.
Gambar 5.17 Flowchart Do While
Dari flowchart diatas dapat diketahui perintah akan dijalanan
terlebih dahulu, baru jika kondisi benar, maka perintah akan diulang.
Contoh penulisannya:
Do {
Perintah akan dijalankan sekali dan jika kondisi benar maka akan
dijalankan lagi}
While (kondisi);
91
Contoh penggunaanya:
Gambar 5.18 Penggunaan Do While
Dari gambar diatas, berapapun jumlah yang kita input, program
akan tetap dijalankan sekali di awal, jika kondisinya benar baru
mengalami perulangan.
5.3.6 Pointer
Pointer adalah sebuah variabel yang menyimpan alamat variabel.
Untuk membuatnya dapat dilakukan langkah-langkah:
1. Includ library yang sesuai.
2. Ketik int main(){ untu memulai program.
3. Ketik int variabel; untuk membuat variabel.
4. Ketik int *alamat_variabel; untuk variabel yang menyimpan alamat
variabel.
5. Beri nilai variabel dengan variabel=nilai;.
6. Ketik alamat_variabel=&variabel;.
7. Compile dengan menekan F9.
8. Run dengan menekan F10.
92
Contoh penulisannya:
Int variabel;
Int *alamat;
variabel=4;
alamat=&variabel
Contoh penggunaanya:
Gambar 5.19 Penggunaan Pointer
Diawali dengan deklarasi variabel, deklarasi alamat variabel,
inisialisasi variabel dan alamat, serta printf untuk menampilkan hasil.
5.4 Analisa dan Pembahasan
5.4.1 Mencetak karakter ke layar konsol
Mencetak karakter pada layar konsol dapat dilakukan dengan
mudah apabila kita menulisan programnya dengan benar. Seperti
contoh program pada gambar dibawah:
Gambar 5.20 Mencetak karakter ke layar
93
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita
gunakan untuk menyelesaikan suatu masalah atau program.
Stdio.h dan Conio.h adalah salah satu dari nama-nama library
yang terdapat dalam Dev-C++. Int main(){ digunakan sebagai
fungsi utama yang nantinya didalamnya berisi fungsi-fungsi
tertentu. Printf adalah fungsi untuk perintah menampilkan
karakter pada konsol. Dalam fungsi printf diikuti (“kata yang
diketik”) dan setiap fungsi diakhiri dengan titik koma (;). Getch
berfungsi agar saat program dirun ada pause sebentar.
Apabila program tersebut dicompile dan dirun, maka akan
muncul:
Gambar 5.21 Hasil mencetak karakter ke layar
5.4.2 Deklarasi dan Inisialisasi Variabel
Setelah melakukan langkah kerja sesuai dengan yang di atas,
mendeklarasikan dan menginisialisasi variabel dapat dilakukan dengan
mudah. Dengan menuliskan program seperti:
Gambar 5.22 Deklarasi dan Inisialisasi
Apabila dicompile dan dirun akan menampilkan hasil:
94
Gambar 5.23 Hasil deklarasi dan Inisialisasi
Pada gambar diatas, diawali dengan #include, include diatas adalah
perintah untuk menginclude library yang ingin kita gunakan untuk
menyelesaikan suatu masalah atau program. Stdio.h dan Conio.h adalah
salah satu dari nama-nama library yang terdapat dalam Dev-C++. Int
main(){ digunakan sebagai fungsi utama yang nantinya didalamnya
berisi fungsi-fungsi tertentu. Int x; adalah untuk mendeklarasikan
variabel x. Pada titik ini nilai x masih bervariasi. Untuk memberi nilai x
atau inisialisasi dapat dilakukan dengan cara x=3;. Maka otomatis nilai
x=3. Saat dirun tidak menampilkan karakter apapun karena tidak ada
fungsi yang berfungsi untuk menampilkan karakter.
Gambar 5.24 Deklarasi dan Inisialisasi dengan printf
Sama seperti perintah diatas, namun setelah ditambah menu printf
maka nilai x dapat ditampilkan pada konsol. %d pada isi fungsi printf
diatas menandakan bahwa tipe data yang digunakan adalah bilangan
bulat. Hasilnya seperi dibawah ini:
Gambar 5.25 Hasil deklarasi dan Inisialisasi dengan printf
95
5.4.3 Mengambil Input Pengguna
Mengambil input pengguna atau memasukkan input data namun
dilakukan setelah program dirun dapat dilakukan dengan menulis
program sesuai pada langkah kerja. Atau lebih jelasnya sebagai berikut:
Gambar 5.26 Mengambil input pengguna
Dengan menuliskan fungsi-fungsi seperti yang terdapat pada
gambar, kita dapat mengambil input pengguna. Pada gambar diatas,
diawali dengan #include, include diatas adalah perintah untuk
menginclude library yang ingin kita gunakan untuk menyelesaikan
suatu masalah atau program. Stdio.h dan Conio.h adalah salah satu dari
nama-nama library yang terdapat dalam Dev-C++. Int main(){
digunakan sebagai fungsi utama yang nantinya didalamnya berisi
fungsi-fungsi tertentu. Int x; adalah perintah untuk membuat variabel x
yang nilainya dapat kita input sesuka kita. printf("masukkan nilai x: ");
ketika dirun akan muncul perintah unttuk menginput berapa nilai x
seperti pada gambar hitam diatas. Scanf untuk menentukan tipe data
untuk variabel, dan &x adalah nama variabelnya. Jika dirun dan kita
menginputkan angka, misal angka 2,dilanjutkan dengan menekan enter,
maka hasilnya:
Gambar 5.27 Mencetak pengambilan input pengguna
96
Setelah kita tekan enter, akan muncul karakter dari printf("nilai x
adalah: %d", x); yang akan menampilkan kembali data yang kita input
sebelumnya.
5.4.4 Percabangan
Seperti telah dijelaskan di depan, percabangan dibagi menjadi if, if
else, if bersarang dan switch case.
1. If
Membuat program dengan perintah if dapat dilakukan sesuai
dengan langkah kerja. Sebagai contoh programnya:
Gambar 5.28 Percabangan if
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Setelah itu kita
ketik int tinggi; untuk membuat deklarasi tinggi. Dilanjutkan dengan
printf("masukkan tinggi badanmu: "); untuk menginput tinggi badan
seperti terlihat pada saat dirun. scanf("%d", &tinggi); untuk tipe data
berupa bilangan bulat dan membuat variabel tinggi.
97
Apabila dicompile dan dirun maka akan muncul:
Gambar 5.29 Percobaan percabangan if tanpa input
Apabila kita inputkan data dan menekan enter, akan nampak
seperti dibawah:
Gambar 5.30 Percobaan percabangan if dengan input I
Apabila menginput data kurang dari 165, maka akan nampak
hasil seperti pada gambar. Hal ini sesuai dengan
if(tinggi<165){printf("anda kurang tinggi.\n");}.
Dimana jika data yang diinput kurang dari 165 maka konsol
akan menampilkan teks “anda kurang tinggi”.
Gambar 5.31 Percobaan percabangan if dengan input II
Apabila kita menginput data lebih dari 165, maka akan nampak
hasil seperti pada gambar. Hal ini sesuai dengan
if(tinggi>165){printf("anda termasuk tinggi.\n");}.
Dimana jika data yang diinput lebih dari 165 maka konsol akan
menampilkan teks “anda termasuk tinggi”.
98
2. If Else
Membuat program dengan perintah if else adalah membuat
program dengan pengkodisian lebih dari 2. Dapat dilihat contoh dari
program if else:
Gambar 5.32 Percabangan if else
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Int berat; untuk
mendeklarasi berat. Dilanjutkan dengan printf("berapa kilo berat
badan anda?"); untuk menginput data berat badan seperti nampak
pada gambar. scanf("%d", &berat); untuk mengatur bahwa data yang
diinput berupa bilangan bulat untuk variabel berat.
Apabila program diatas dicompile dan dirun, maka akan nampak
seperti dibawah:
Gambar 5.33 Run percabangan if else
99
Selanjutnya bila kita menginputkan data dan menekan enter akan
tampak seperti:
Gambar 5.34 Run dan input percabangan if else
Apabila kita menginput data kurang dari 50, maka akan nampak
hasil seperti pada gambar. Hal ini sesuai dengan
if(berat<50){printf("anda orang yang kurus.\n");}.
Dimana apabila kita menginput data kurang dari 50, maka
konsol akan menampilkan teks seperti pada gambar.
Gambar 5.35 Run percabangan if else dengan input I
Apabila kita menginput data antara 50-60, maka akan nampak
hasil seperti pada gambar. Hal ini sesuai dengan
elseif(berat<60){printf("berat badan anda ideal.\n");}.
Karena data yang diinput tidak memenuhi pada kondisi 1, dan
sesuai pada kondisi 2, program dijalankan sesuai pernyataan kedua
dan pada konsol nampak seperti gambar diatas.
Gambar 5.36 Run percabangan if else dengan input II
100
Apabila kita menginput data selain kondisi 1 dan kondisi 2,
maka akan nampak hasil seperti pada gambar. Hal ini sesuai dengan
else{printf("anda termasuk orang gendut.\n");}.
Karena data yang diinput tidak memenuhi pada kondisi 1, dan
kondisi 2, program dijalankan sesuai pernyataan kedua dan pada
konsol nampak seperti gambar diatas.
3. If Bersarang
If bersarang adalah perintah untuk program yang dalam
pembuatannya menginginkan dalam satu kondisi akan masuk ke
dalam pengkondisian lagi. Dapat dilihat contoh programnya:
Gambar 5.37 Percabangan if bersarang
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
101
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Int umur; untuk
mendeklarasikan variabel umur. Char jenis_kelamin; untuk variabel
namun berupa karakter. printf("Masukkan umur : "); untuk mencetak
karakter pada layar konsol dan sekaligus input umur. scanf("%d",
&umur); untuk menandakan bahwa ada variabel umur dengan tipe
data bilangan bulat. printf("Masukkan jenis kelamin (L/P) : "); untuk
menampilkan karakter sekaligus input jenis kelamin. scanf(" %c",
&jenis_kelamin); untuk menandakan bahwa ada variabel
jenis_kelamin dengan tipe data karakter. if (jenis_kelamin == 'L' ||
jenis_kelamin == 'l'){ adalah pengkondisian bila input jenis_kelamin
berupa L atau l akan dilanjutkan perintah if (umur >= 19){ yaitu
apabila umur yang diinput lebih besar sama dengan 19 pada layar
konsol akan muncul tampilan sesuai perintah printf("Menurut UU
anda sudah boleh menikah.\n");. Apabila kurang dari 19 akan
muncul tampilan sesual perintah else {printf("Menurut UU anda
masih belum boleh menikah.\n");. Begitu pula untuk perintah if else,
prinsipnya sama dengan yang telah dijelaskan tadi. Berbeda dengan
perintah else {printf("Kami tidak mengenali jenis kelamin yang anda
masukkan\n");} dimana jika data yang diinput selain L atau P akan
muncul tampilan seperti perintah printf tersebut.
Apabila program dicompile dan dirun akan nampak tampilan
seperti:
Gambar 5.38 Run percabangan if bersarang
Selanjutnya apabila kita input data L atau P dengan umur yang
kita inginkan, akan muncul pada layar konsol. Sebagai contoh kita
input L dan umur 23.
102
Gambar 5.39 Run percabangan if bersarang dengan input
Tampilan diatas sesuai dengan perintah yang terdapat pada
program, yaitu apabila jenis kelamin L dan usia >=19 maka menurut
UU sudah boleh menikah.
4. Switch Case
Switch case adalah perintah agar program berjalan sesuai input
data berupa angka dari 1, 2, 3, ...n sesuai jumlah case. Sebagai
contoh dapat dilihat pada gambar dibawah.
Gambar 5.40 Percabangan Switch Case
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
103
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Int pilihan; untuk
mendeklarasi pilihan. Dilanjutkan dengan printf("\"monggo mas,
pilih nopo?\"\n");untuk menampilkan karakter pertanyaan pada
konsol seperti pada gambar. printf("1. rames\n2. soto\n3. pecel\n4.
gorengan\n"); untuk menampilkan pilihan yang tersedia pada konsol.
printf("pilihan anda:"); untuk menginput pilihan kita. scanf("%d",
&pilihan); untuk mengatur bahwa data yang diinput berupa bilangan
bulat untuk variabel pilihan.
Apabila program diatas dicompile dan dirun akan muncul
tampilan:
Gambar 5.41 Run percabangan Switch Case
Selanjutnya apabila kita input data berupa angka akan nampak
seperti:
Gambar 5.42 Run percabangan Switch Case dengan input
104
Apabila kita menginput data 2, maka akan nampak hasil seperti
pada gambar. Hal ini sesuai dengan case2: printf ("pilih
soto.\n");break;
Karena data yang diinput 2, program dijalankan sesuai
pernyataan kedua dan pada konsol nampak seperti gambar diatas.
Begitu pula apabila kita input 1, maka akan muncul “pilih rames”,
kalau input 3 akan muncul “pilih pecel”, kalau kita input 4 akan
muncul “pilih gorengan”.
5. Perbedaaan Blok If dan else.
Perbedaan mencolok antara if dan else adalah jika if didahului
dengan kondisi, apabila kondisi benar maka perintah akan
dihalankan. Sebagai contoh:
Gambar 5.43 Bentuk fungsi if
Sedangkan else adalah tindak lanjut dari if, apabila kondisi tidak
cocok di bagian if maupun else if, maka perintah akan dieksekusi di
perintah else. Contoh:
Gambar 5.44 Bentuk fungsi else
5.4.5 Perulangan
1. For
Untuk membuat program perulangan dengan fungsi for dapat
dilakuan dengan perintah seperti gambar dibawah:
105
Gambar 5.45 Perulangan For
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Int n; untuk
mendeklarasikan variabel n. Char nama[20] untuk proses
penginputan karakter nama maksimal 20 karakter. printf("siapa nama
anda?"); untuk menginput nama yang ingin kita masukkan.
scanf("%s", &nama); untuk menentukan bahwa tipe data yang
digunakan untuk variabel nama adalah tipe bilangan string.
printf("mau dipanggil berapa kali?"); untuk menginput data berupa
angka untuk kali perulanagan. scanf("%d", &n); untuk menandakan
bahwa tipe data yang dipakai untuk variabel n adalah tipe bilangan
bulat. for (int i=0; i<n; i++){printf("%s\n", nama);} untuk
menginisialisasi bahwa i=0, dengan kondisi i<n, dan finalnya i akan
ditambah 1 tiap perulangan, jika semua sesuai, variabel nama akan
ditampilkan beberapa kali sejumlah n.
Apabila program dicompile dan dirun akan nampak:
106
Gambar 5.46 Run perulangan For
Selanjutnya apabila kita inputkan nama dan menekan enter,
dilanjutan dengan menginput jumlah perulangan yang diinginkan,
akan tampat seperti:
Gambar 5.47 Run perulangan For dengan input
Kita ketikkan karakter untuk mengisi nama kita dan berapa kali
pengulangan yang kita inginkan, disini kita misalkan dengan nama
jokowi dengan pengulangan 3 kali, maka nampak hasil seperti
gambar.
2. While
Perintah prulangan while yaitu perulangan yang dimana akan
tetap diulang apabila kondisi benar. Contoh penulisan programnya:
Gambar 5.48 Perulangan While
107
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Int n; untuk
mendeklarasikan variabel n. Char nama[20] untuk proses
penginputan karakter nama maksimal 20 karakter. printf("siapa nama
anda?"); untuk menginput nama yang ingin kita masukkan.
scanf("%s", &nama); untuk menentukan bahwa tipe data yang
digunakan untuk variabel nama adalah tipe bilangan string.
printf("mau dipanggil berapa kali?"); untuk menginput data berupa
angka untuk kali perulanagan. scanf("%d", &n); untuk menandakan
bahwa tipe data yang dipakai untuk variabel n adalah tipe bilangan
bulat. int i=0; untuk mendeklarasikan dan menginisialisasi bahwa
ada variabel i yang bernilai 0. while (i<n) selagi i<n maka perintah
akan dieksekusi dengan perintah lanjutan printf("%s\n", nama);i++;
mencetak atau menampilkan variabel nama sejumlah n dengan
proses i mengalami penambahan 1 tiap pengulangan.
Apabila program dicompile dan dirun akan tampak:
Gambar 5.49 Run perulangan While
Selanjutnya apabila kita inputan nama dan menekan enter,
dilanjutkan jumlah perulangan yang kita inginkan, akan tampak
seperti:
108
Gambar 5.50 Run perulangan While dengan input
Kita ketikkan karakter untuk mengisi nama kita dan berapa kali
pengulangan yang kita inginkan, disini kita misalkan dengan nama
susi dengan pengulangan 7 kali, maka nampak hasil seperti gambar.
3. Do While
Perintah perulangan do while adalah perintah perulangan
dimana akan dilakukan (do) selagi (while) dalam kondisi benar.
Sebagai contoh programnya seperti gambar dibawah:
Gambar 5.51 Perulangan Do While
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
109
nantinya didalamnya berisi fungsi-fungsi tertentu. Int n; untuk
mendeklarasikan variabel n. Char nama[20] untuk proses
penginputan karakter nama maksimal 20 karakter. printf("siapa nama
anda?"); untuk menginput nama yang ingin kita masukkan.
scanf("%s", &nama); untuk menentukan bahwa tipe data yang
digunakan untuk variabel nama adalah tipe bilangan string.
printf("mau dipanggil berapa kali?"); untuk menginput data berupa
angka untuk kali perulanagan. scanf("%d", &n); untuk menandakan
bahwa tipe data yang dipakai untuk variabel n adalah tipe bilangan
bulat. int i=0; untuk mendeklarasikan dan menginisialisasi bahwa
ada variabel i yang bernilai 0. do {printf("%s\n", nama);i++;} untuk
menjalankan perintah printf("%s\n", nama); dengan cara
penambahan 1 pada i di setiap pengulangan segali while (i<n); i
masih lebih kecil n.
Apabila program dicompile dan dirun akan muncul:
Gambar 5.52 Run perulangan Do While
Selanjutnya apabila kita input nama kita dilanjutkan menekan
enter, dan input berapa kali perulangan yang kita inginkan, akan
muncul seperti:
Gambar 5.53 Run perulangan Do While dengan input
110
Kita ketikkan karakter untuk mengisi nama kita dan berapa kali
pengulangan yang kita inginkan, disini kita misalkan dengan nama
anggun dengan pengulangan 8 kali, maka nampak hasil seperti
gambar.
4. Perbedaan Blok While dan Do While
Perbedaan antara While dan Do while terdapat pada perintah
eksekusi datanya. Dimana while hanya akan dieksekusi dan diulangi
jika kondisi benar. Contoh:
Gambar 5.54 Blok while
Seperti gambar diatas, selagi i<n perintah akan dieksekusi.
Berbeda dengan do while. Sebagai contoh:
Gambar 5.55 Blok Do while
Disitu nampak jelas perintah do akan dieksekusi terlebih dahulu,
baru jika pada while masih bernilai benar, maka perintah akan
diulang.
5.4.6 Pointer
Seperti telah dijelaskan diawal, pointer adalah variabel yang
menyimpan alamat variabel lain. Dengan mengiuti langkah kerja diatas
dengan benar, perintah pointer dapat dijalankan. Sebagai contoh:
111
Gambar 5.56 Pointer
Pada gambar diatas, diawali dengan #include, include diatas adalah
perintah untuk menginclude library yang ingin kita gunakan untuk
menyelesaikan suatu masalah atau program. Stdio.h dan Conio.h adalah
salah satu dari nama-nama library yang terdapat dalam Dev-C++. Int
main(){ digunakan sebagai fungsi utama yang nantinya didalamnya
berisi fungsi-fungsi tertentu. Int a; untuk membuat variabel a. Int*b;
untuk membuat pointer b. a=2; untuk memberi nilai 2 pada variabel a.
b=&a; untuk menyatakan bahwa pointer b menyimpan alamat variabel
a. printf(“%d %x”,*b,b); untuk menandakan bahwa *b akan
menampilkan nilai dari a yang berupa bilangan bulat, dan b akan
menampilkan alamat a yang berupa data dengan tipe %x.
Apabila program diatas dicompile dan dirun akan muncul:
Gambar 5.57 Run Pointer
Angka 2 disitu menunjukan nilai dari variabel a. sedangkan 23fea8
adalah sebuah alamat dari variabel a.
112
5.4.7 Aplikasi bahasa C
Untuk pengaplikasian bahasa C, kelompok A2 mendapat tugas
untuk membuat program luas lingarang. Langkah yang dilakukan yaitu:
1. Algoritma
Algoritma dari luas lingkaran sebagai berikut:
1. Mulai
2. Input jari-jari
3. Jika jari-jari>0 akan berlanjut pada proses, jika tidak program
tidak dilanjutkan.
4. Proses (L=pi*jari-jari^2)
5. Hasil
6. Selesai
2. Flowchart
Gambar 5.58 Flowchart luas lingkaran
Sesuai dengan flowchart diatas, data jari-jari yang masuk akan
masuk ke kondisi, apabila jari-jari>0 akan berlanjut ke perintah atau
113
proses L=pi*jari-jari^2. Selanjutnya akan diperoleh hasil berupa
luas.
3. Penulisan Kode
Gambar 5.59 Penulisan program luas lingkaran
Pada gambar diatas, diawali dengan #include, include diatas
adalah perintah untuk menginclude library yang ingin kita gunakan
untuk menyelesaikan suatu masalah atau program. Stdio.h dan
Conio.h adalah salah satu dari nama-nama library yang terdapat
dalam Dev-C++. Int main(){ digunakan sebagai fungsi utama yang
nantinya didalamnya berisi fungsi-fungsi tertentu. Float r, pi, dan
luas; untuk membuat variabel r, pi, dan luas yang berbentuk bilangan
desimal. Pi=3.14; untuk memberikan nilai pi yaitu 3.14.
printf(“masukkan jari-jari=”); untuk menampilkan dilayar konsol
dan input jari-jari. scanf("%f", &r); untuk menyatakan bahwa ada
variabel r dengan bentuk bilangan deasimal. Luas=pi*r*r; adalah
rumus luas lingkaran. If(r>0){ manandakan bahwa jika input jari-
jari>0 maka akan berlanjut ke Printf(“luas lingkaran: %f”, luas);
untuk menampilkan luas lingkaran. Namun jika kurang dari 0 maka
akan masuk ke fungsi else dan muncul tampilan seperti pada
perintah printf("jari-jari yang anda masukkan salah");
Apabila dicompile dan dirun program akan tampil seperti:
114
Gambar 5.60 Run program luas lingkaran
Selanjutnya bila dilanjutkan dengan menginput jari-jari dan
menekan enter, maka akan muncul hasil luas lingkarannya:
Gambar 5.61 Run program luas lingkaran dengan input
Sesuai dengan rumus, jadi apabila kita input jari-jari 10, maka
luas lingkaran tersebut adalah 314,00.
Jika kita input data<0 maka akan tampil:
Gambar 5.62 Run program luas lingkaran dengan input<0
115
5.4.8 Kesalahan yang Sering Terjadi
Kesalahan yang sering dialami pengguna dalam menjalankan
program bahasa C adalah:
1. Lupa memberikan titik koma (;) pada setiap akhir fungsi atau
perintah.
2. Lupa memasukkan library pada awal program.
3. Include library yang tidak sesuai pada program.
4. Compile program dengan pilihan compile yang tidak support
dengan pc. Misal data dicompile dengan 64 bit compiler padahal pc
pengguna masih 32 bit.
5. Mengedit program lama dengan program baru namu tidak disave as
atau dinamai ulang. Hal ini akan menyebabkan eror pada program.
116
5.5 Kesimpulan
1. Tipe data merupakan bagian yang penting karena tipe data mempengaruhi
setiap intruksi yang akan dilakukan oleh computer.
2. Tipe data mempunyai 5 macam tipe data yaitu int, double, fload, char dan
void.
3. Printf mempunyai fungsi untuk menampilkan suatu kata atau kalimat yang
akan kita tampilkan dalam program yang akan dibuat.
4. Scanf memilii fungsi untuk menyatakan variabel dan bentuk bilangan
variabel.
5. Setiap membuat program harus menginclude library yang cocok.
6. Pada awal program ketik int main(){ untuk mengawali program.
7. If Else adalah salah satu Kondisional “if...else...” yang disusun oleh kata
if dan else serta digunakan untuk dua kondisi. Bila kondisi terpenuhi
maka proses di dalam if akan di jalankan, bila tidak maka proses di dalam
else yang dijalankan
8. Switch Case adalah Kondisional “switch...case…”yang digunakan untuk
penyeleksian kondisi dengan kondisi yang sangat banyak. Struktur ini
akan melakukan proses atau pernyataan pada saat pilihan (case) yang
tepat, selanjutnya keluar dengan perintah break
9. For adalah salah satu dalam sintaks khusus. Sintaks khusus tersebut
adalah sintaks pengulangan. Struktur perulangan for digunakan untuk
perulangan yang telah diketahui atau ditentukan jumlah perulangannya.
Dari segi penulisannya, perulangan for ini lebih efisien.
10. Kesalahan yang sering terjadi pada pemprograman bahasa C adalah:
a. Lupa memberikan titik koma (;) pada setiap akhir fungsi atau perintah.
b. Lupa memasukkan library pada awal program.
c. Include library yang tidak sesuai pada program.
d. Compile program dengan pilihan compile yang tidak support dengan
pc. Misal data dicompile dengan 64 bit compiler padahal pc pengguna
masih 32 bit.
e. Mengedit program lama dengan program baru namu tidak disave as
atau dinamai ulang. Hal ini akan menyebabkan eror pada program.