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");
0 Comments