1/19/2014

Dasar-dasar pemrograman C

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 di­perhatikan 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 varia­bel 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.