Dasar-Dasar
Pemrograman C
Program adalah urut-urutan instruksi untuk menjalankan
suatu komputasi. Komputasi dapat berupa perhitungan matematis, seperti
pengecekan bilangan prima, pencarian akar-akar persamaan kuadrat, atau yang
lainnya. Juga
juga dapat berupa pencarian dan penggantian text dalam dokumen. Instruksi (atau perintah atau statement) pada
masing-masing bahasa pemrograman dapat berbeda,
namun beberapa instruksi dasar secara prinsip hampir di semua bahasa pemrograman sama, seperti:
1. Input mengambil data dari keyboard, mouse, file, atau
dari device lain.
2. Output menampilkan data pada tampilan monitor atau pada
device lainnya.
3. Matematika :
melakukan
operasi dasar matematika seperti penambahan dan perkalian.
4. Conditional : pemilihan suatu
kondisi dan mengeksekusi sesuai dengan statement
selanjutnya.
5. Iteration : operasi perulangan.
Akan tetapi, masih banyak hal lain yang belum tercakup di atas. Program-program, bagaimanapun kompleksnya pasti terdiri dari
kumpulan instruksi dasar di atas.
2.1 Tipe Kesalahan
Pemrograman merupakan proses yang kompleks dan
tidak menutup kemungkinan terjadi suatu kesalahan atau error. Berbagai macam
kesalahan dapat terjadi dalam sebuah pemrograman. Kesalahan pemrograman sering
dinamakan bug, sedangkan proses
untuk pencarian kesalahan dinamakan dengan debugging.
Pemrograman kesalahan dapat dibagi menjadi
tiga macam, yakni kesalahan sintaks (syntax
error), kesalahan run-time (run-time
error), dan kesalahan logika (logic error). Pembagian jenis kesalahan ini dalam pemrograman dapat
menjadikan proses pencarian kesalahan menjadi lebih cepat.
2.1.1 Kesalahan Sintaks
Bahasa C hanya dapat dieksekusi jika dan hanya
jika program tersebut memiliki sintaks yang telah sepenuhnya benar. Jika tidak, maka proses
akan berhenti dan memberikan pesan kesalahan. Sintaks menunjukkan pada struktur
program dan aturannya. Sintaks dalam bahasa Indonesia, misalnya sebuah kalimat
harus diawali dengan huruf besar dan diakhiri dengan titik. Bila terjadi
kesalahan sintaks dalam bahasa, maka beberapa pembaca tidak akan begitu
mempermasalahkan, tetapi C tidak demikian. C harus ditulis dengan benar tanpa
ada satupun kesalahan sintak.
2.1.2 Kesalahan Run-time
Kesalahan tipe kedua
adalah kesalahan run-time. Disebut
demikian karena kesalahan ini tidak akan muncul sebelum program dijalankan.
Kesalahan ini juga sering disebut dengan exception
karena kesalahan ini biasanya menunjukkan sesuatu yang ganjil (dan
tidak benar) terjadi.
2.1.3
Kesalahan Logika
Kesalahan tipe ketiga
adalah kesalahan logika atau semantik. Jika terjadi kesalahan tipe ini, maka
program akan tetap berjalan dengan sukses tanpa pesan kesalahan. Akan tetapi, program
tersebut tidak menjalankan program dengan benar atau tidak menjalankan program
sesuai dengan maksud yang diinginkan pemrogram.
2.2 Elemen
Dasar C
Seperti bahasa pemograman
lainya, bahasa C memiliki Elemen dasar yang sama seperti:
1. Pengenal
2. Kata kunci (keywords)
3. Tipe data dasar
4. Variabel
5. Konstanta
6. Operator
7. Pernyataan
2.2.1
Pengenal3
Untuk dapat menandai sebuah
item di dalam program C, tiap item diberi sebuah nama pengenal khas dan informatif yang menunjukkan maksud atau jenis item yang ditunjuk. Tidak ada lebih dari satu item yang
berbeda mempunyai nama yang sama. Pengenal atau identifier
merupakan nama yang digunakan sebagai tempat untuk variabel, fungsi, dan konstanta yang didefinisikan oleh
pemrogram. Pendeklarasian variabel dalam
pemrograman C ada ketentuan-ketentuan khusus yang harus diperhatikan, seperti:
1. Nama variabel tidak boleh diawali dengan angka.
2.
Nama variabel harus
diawali dengan huruf atau karakter garis bawah (_), selanjutnya dapat diikuti dengan
huruf maupun angka atau tanda garis bawah.
3. Nama variabel tidak boleh menggunakan
operator-operator aritmatika seperti
+, -, /, * dan karakter-karakter khusus
seperti :, ; ,#, @, dan sebagainya.
4. Jika nama variabel terdiri dari dua kata atau
lebih, maka antarkata tidak dibolehkan menggunakan
spasi.
5. Nama variabel tidak boleh menggunakan
kata-kata yang telah memiliki arti
khusus dalam
bahasa C.
6. Penggunaan huruf kecil dan huruf besar di
bedakan.
7. Panjang maksimal suatu variabel adalah 32
karakter. Karena itu, jika deklarasi suatu variabel panjangnya lebih dari 32
karakter, secara otomatis sistem tetap akan mengenali sepanjang 32 karakter
saja.
2.2.2 Kata Kunci
Bahasa C merupakan bahasa yang mempunyai
sedikit kata kunci, yakni hanya mempunyai 32 kata kunci seperti tertampil pada
tabel 2.1.
Tabel
2.1 Tabel
Kata Kunci
auto
|
double
|
int
|
struct
|
break
|
else
|
long
|
switch
|
case
|
enum
|
register
|
typedef
|
char
|
extern
|
return
|
union
|
const
|
float
|
short
|
unsigned
|
continue
|
for
|
signed
|
void
|
default
|
goto
|
sizeof
|
volatile
|
do
|
if
|
static
|
while
|
2.2.3 Tipe
Data Dasar
Dalam konteks pemrograman
komputer, data adalah objek yang akan diolah oleh program. Perhatikan beberapa
contoh berikut ini:
Tabe1 2.2 Data
dalam Pemrograman
Tujuan
Program
|
Data
|
Menghitung sisi miring segitiga siku-siku
|
Bilangan yang menunjukkan sisi tegak dan sisi
mendatar
|
Mengedit Tulisan
|
Karakter huruf, karakter angka, simbol-simbol
khusus, kata , kalimat dantaanda baca
|
Mengelola basis data rekam
medis
|
Nama pasien, alamat pasien, tempat dan tanggal
lahir, riwayat penyakit, dokter dan obat
|
Menggambar bangun geometris
|
Bilangan yang menunjukkan titik-titik koordinat,
ruas-ruas garis, busur-busur, jari-jari, diameter, dan panjang atau lebar
bangun.
|
Di dalam program C, data harus menuruti suatu
tipe data yang dikenal oleh bahasa pemrograman C. Dengan demikian, semua data
di dalam program sisi tegak, karakter-karakter dalam sebuah tulisan, data
pribadi pasien, titik-titik koordinat dan
lain-lain, harus dibawa ke tipe yang paling sesuai.
Data berdasar jenisnya dapat dibagi menjadi empat tipe
data dasar, yaitu:
1. Tipe integer
Variabel bertipe integer
digunakan untuk menyimpan data
bernilai bilangan bulat.
2. Tipe float
Variabel bertipe float digunakan untuk menyimpan data
bernilai real.
3. Tipe char
Variabel bertipe char digunakan untuk menyimpan data berupa karakter, yakni huruf, simbol, dan angka
4. Tipe tak bertipe (void)
Variabel
ini digunakan apabila suatu fungsi tidak menghasilkan nilai.
Tipe dasar bahasa C adalah seperti tertampil pada tabel 2.3.
Tabel
2.3 Tabel
Tipe Data
Tipe
|
Ukuran
( bytes)
|
Batas Bawah
|
Batas Atas
|
Char
|
1
|
-
|
-
|
Unsigned char
|
1
|
0
|
255
|
Short int
|
2
|
-32768
|
32767
|
Unsigned short in
|
2
|
0
|
65536
|
(long) int
|
4
|
-231
|
+231-1
|
Float
|
4
|
-3.2 x 10 38
|
+3.2 x 1038
|
double
|
4
|
-1.7 x 10 308
|
+1.7 x 10 308
|
Bila kita menggunakan pascal, maka padanan tipe
data dengan pascal adalah seperti tertampil pada tabel 2.4.
Tabel 2.4. Perbandingan tipe data
Tipe data
dalam Bahasa C
|
Tipe Data dalam Bahasa Pascal
|
Char
|
Char
|
Unsigned char
|
-
|
Short int
|
Integer
|
Unsigned short in
|
-
|
(long) int
|
Longint
|
Float
|
Real
|
double
|
extended
|
2.2.4
Variabel
Fungsi
variabel di dalam program adalah untuk menyimpan suatu nilai tertentu yang
dapat diubah-ubah. Variabel dapat dianggap sebagai sebuah tempat penyimpanan
yang dapat diisi oleh suatu data yang isinya dapat berubah-ubah.
Pendeklarasian variabel dapat dilakukan dengan
bentuk:
tipe daftar-variabel
Tiap variabel mempunyai tipe dan hanya data yang
bertipe sama dengan tipe variabel yang dapat disimpan di dalam variabel
tersebut. Tiap variabel mempunyai nama. Pemisahan antarvariabel dilakukan
dengan memberikan tanda Koma (,), contoh:
int jumlah;
float harga_per_unit,
total_biaya;
Variabel jumlah hanya boleh menerima data integer atau
bulat, tidak boleh menerima data bertipe lainnya. Variabel harga_per_unit dan total_biaya hanya bisa diisi
dengan bilangan float atau pecahan.
Variabel juga dapat diberi nilai dengan menggunakan tanda
sama dengan (=), seperti contoh berikut:
jumlah=100;
char
huruf='A' ;
main()
{
}
Atau sama dengan
int jumlah;
char angka;
main()
{
jumlah=100;
huruf=’A’;
}
Pendeklarasian variabel dapat dilakukan dengan
bentuk:
tipe daftar-variabel
Tiap variabel mempunyai tipe dan hanya data
yang bertipe sama dengan tipe variabel yang dapat disimpan di dalam variabel
tersebut. Tiap variabel mempunyai nama. Pemisahan antarvariabel dilakukan
dengan memberikan tanda Koma (,), contoh:
int jumlah;
float harga_per_unit, total_biaya;
Variabel jumlah hanya boleh menerima data integer atau
bulat, tidak boleh menerima data bertipe lainnya. Variabel harga_per_unit dan total_biaya hanya bisa diisi
dengan bilangan float atau pecahan.
Variabel juga dapat diberi nilai dengan menggunakan tanda
sama dengan (=), seperti contoh berikut:
jumlah=100;
char
huruf='A' ;
main()
{
}
Atau sama dengan
int jumlah;
char angka;
main()
{
Jumlah=100;
Huruf=’A’;
}
Dalam bahasa C tanda sama
dengan (=) juga dapat digunakan untuk memberikan multiple assigment seperti:
a=b=c=d=5 yang
akan sama dengan
a=5;
b=5;
c=5;
d=5;
Jika variabel ditempatkan di atas
fungsi main(), maka variabel tersebut merupakan variabel global, sedangkan
variabel lokal terletak di dalam suatu fungsi.
Berikut
contoh program mendeklarasikan variabel:
/* ______________________ */
/* Deklarasi Variabel */
/*
Oleh Andi W */
/* _______________________*/
#include <stdio.h>
main()
{
int
total;
int
sks;
int
mata kuliah;
float
biaya;
float
biaya_total;
sks =
4;
mata
kuliah = 12;
biaya =
2500;
total =
sks * mata kuliah;
biaya_total = total * biaya;
printf("Total SKS =
%i\n", total);
printf("Total Biaya =
$f\n", biaya_total);
}
Tampilan program:
SKS = 48
Biaya = 120000.000000
2.2.5 Konstanta
Berbeda dengan variabel yang isinya bisa
berubah selama eksekusi program berlangsung, nilai suatu konstanta tidak bisa
berubah. Konstanta tidak bisa berubah. Konstanta merupakan nilai tetap,
pendeklarasiannya mirip dengan variabel, hanya nilai dari konstanta tidak dapat
berubah. Pendeklarasiannya seperti berikut:
int
const = 1;
const
int = 2;
Pendeklarasian konstanta biasanya memakai
praposessor #define misal #define PAJAK
0.05, penulisan define tidak diakhiri dengan titik koma.
2.2.6 Operator
Hanya dengan variabel dan konstanta saja belum memungkinkan kita membuat program yang berguna. Hal ini disebabkan
belum ada sarana untuk menggunakan variabel dan konstanta tersebut. Operator adalah sarana yang dimaksud. Operator merupakan
simbol khusus yang merepresentasikan
perhitungan
sederhana seperti penambahan dan perkalian. Nilai yang
digunakan oleh operator sering disebut sebagai operand.
Ekspresi merupakan kombinasi dari operator dan operandnya. Dalam sebuah
eksekusi program suatu ekspresi akan dievaluasi sehingga menghasilkan suatu nilai tunggal.
Di dalam
bahasa pemograman C ada beberapa tipe operator
seperti operator penunjukan, aritmatika,
relasional, logika, dan pernyataan.
Operator Penunjukan (Assignment)
Memberikan nilai dari bagian sebelah kanan operator
ke bagian sebelah kiri operator. Operator penunjukan dalam bahasa C menggunakan
tanda sama =. Termasuk: +=, -=.
Contoh : x = x + 1 sama artinya dengan x += 1.
/* _________________________ * /
/*
Perhitungan Sederhana */
/* Oleh Andi W */
/* _________________________ */
#include <stdio.h>
main ( )
{
float p,q,r,s,t;
p=1;
q=1;
r=1;
s=1;
t=1;
p+=q+r/s+t
printf("Hasil perhitungan p adalah %.0f
\n",p);
}
Contoh pemberian nilai
awal pada program di atas bisa disederhanakan menjadi:
/* _________________________
*/
/* Perhitungan
Sederhana */
/* Oleh Andi W */
/* ________________________ */
#include <stdio.h>
main ( )
{
float p, q, r, s, t;
p=q=r=s=t=1;
p+=q+r/s+t;
printf("Hasil
perhitungan p adalah %.0f\n",p);
}
Tampilan program :
Hasil
perhitungan p adalah 4
Contoh pemberian nilai awal pada program di atas masih bisa
disederhanakan menjadi :
/*
--------------------------- */
/* Perhitungan
Sederhana */
/* -------------------------
*/
#include
<stdio.h>
main()
{
float p=1,q=1,r=1,s=1,t=1;
p+=q+r/s+t;
printf("Hasil
perhitungan p adalah %.0f\n",p);
}
Operator Aritmatika
Dalam C bahasa pemrograman lainnya mengenal
standar aritmatika yang merupakan
simbol-simbol matematika, seperti untuk:
1.
Penambahan menggunakan simbol
plus +
2.
Perkalian menggunkan simbol
asterisk *.
3.
Pengurangan menggunakan simbol minus-
4.
Pembagian menggunakan simbol /
dapat digunakan baik untuk data bertipe integer
maupun float
5.
Sisa
hasil bagi atau
modulus menggunakan simbol persen % hanya dapat dilakukan untuk tipe integer
6.
Pemberian parenthesis (tanda
kurung) juga dapat dilakukan dalam C
Berbeda
dengan bahasa pemrograman lainnya, dalam C dikenal adanya increment ++ dan decrement --. Tanda
increment dan decrement dapat berupa pre-fixed maupun post-fixed. Perhatikan
contoh berikut:
/* ________________________ */
/* Instruksi
Increment Post-Fixed */
/*
Oleh Andi W */
/* ________________________ */
#include <stdio.h>
main
( )
{
int
a,b=10;
a=
10 + b++;
printf("a
= %d,b=
%d\n”,a,b);
}
Tampilan program:
a = 20, b = 11
Nilai a dan b diberi 10. a akan
berisi nilai 10 ditambah nilai b lebih dulu sebelum b ditambah dengan 1. Setelah
itu, b ditambah dengan 1. b++ artinya lakukan proses kemudian naikkan. Hasil
program di atas adalah a = 20, b = 11.
/* ________________________ */
/*Instruksi
Increment Pre-Fixed */
/*
Oleh Titin W */
/* ______________________________*/
#include <stdio.h>
main()
{
int a,b=10;
a= 10 + ++b;
printf("a = %d, ,b= %d\n”,a,b);
}
Tampilan program:
a=21, b = 11
Nilai a dan b diberi nilai 10.
Nilai b akan ditambah dengan nilai 1 lebih dulu, kemudian baru ditambahkan ke nilai 10 dan hasilnya disimpan di
variabel a ++b artinya menaikkan nilai b kemudian lakukan proses. Hasil program
di atas adalah a = 20, b = 11.
Operator Relasional
Operator untuk membandingkan
kesamaan dua nilai digunakan tanda == (bukan =) dan menghasilkan
sebuah ekspresi boolean. Operator-operator yang lain :
1. x! = y ( x tidak sama dengan y).
2. x > y ( x lebih besar dari y }.
3. x< y ( x
lebih kecil dari Y ).
4. x >= y ( x lebih besar atau sama dengan y ).
5. x <= Y ( x lebih kecil atau sama dengan y ).
Simbol-simbol C berbeda dari
simbol matematika. Ingat,
operator = adalah assignment operator, sedangkan
== adalah comparison operator.
Operator Logika
Operator
logika dalam C adalah:
1.
Operator and menggunakan &&.
2.
Operator or menggunakan ||.
3.
Operator tidak menggunakan not
Dalam penggunaan operator, khususnya operator
aritmatika, perlu diperhatikan urutan prioritasnya. Untuk mengubah urutan
prioritas gunakan tanda kurung buka dan kurung tutup. Perlu diperhatikan bahwa
tipe data di sebelah kiri operator penunjukkan (tanda =) harus sama dengan tipe
data ekspresi yang terdapat di sebelah kanan operator penunjukkan. Misalkan,
jika di sebelah kanan adalah perhitungan aritmatika yang menghasilkan nilai
bilangan float, maka variabel yang ada di sebelah kiri harus bertipe float
juga.
2.2.7 Pernyataan
Pernyataan (statement) adalah satuan
instruksi atau perintah yang akan dikerjakan selama eksekusi program
beriangsung. Sebuah program terdiri dari sekumpulan pernyataan. Ada beberapa
jenis pernyataan di dalam C misatnya: pernyataan penunjukan, pernyataan
pemanggilan fungsi, dan pernyataan pengendalian program.
Contoh pernyataan penunjukan:
c=sqrt(pow(a,2)+pow(b,2));
Contoh pernyataan pemanggilan fungsi:
tukar(x,y);
Contoh pernyataan penunjukan yang melibatkan
pemanggilan fungsi:
q=keliling(p,l);
Contoh pernyataan pengendalian program:
for(i=1;i<-4;i++)
printf("He11o
semua\n");
Silahkan jika Anda ingin berkomentar.