09 Juni 2008

Pengantar Bahasa C

Bahasa C merupakan bahasa tingkat menengah yang memiliki kemudahan bahasa tingkat atas (high level language) dalam sintaks penggunaannya namun memiliki kemampuan bahasa tingkat rendah (low level language) dalam hal berhubungan dengan mesin yang dalam hal ini adalah komputer. Sintaks bahasa C sedikit lebih rumit dibandingkan dengan BASIC atau Pascal.

Banyak bahasa pemrograman lain yang mendasarkan sintaks-sintaksnya pada bahasa C, misalnya PHP

dan Java. Yang terakhir, bahasa C secara de facto merupakan bahasa yang diajarkan di jurusan teknik informatika yang ada di berbagai universitas.

Sekilas Sejarah Bahasa C

Bahasa C dikembangkan oleh Brian W. Kernighan dan Dennis M.Ritchie. Waktu itu, pengembangan bahasa C didasarkan pada sistem operasi UNIX. Pada tahun 1983 ditetapkan standar ANSI (American National Standards Institute) untuk bahasa C yang merupakan perluasan dari standar UNIX. Standar ANSI tersebut menetapkan beberapa keyword (kata kunci) yang digunakan dalam bahasa pemrograman pada umumnya, termasuk di dalamnya bahasa C. Keyword tersebut adalah:


• auto

• break

• case

• char

• const

• continue

• default

• do

• double

• else

• enum

• extern

• float

• for

• goto

• if

• int

• long

• register

• return

• short

• signed

• sizeof

• static

• struct

• switch

• typedef

• union

• unsigned

• void

• volatile

• while


Sifat-sifat Bahasa C

Portable, bahasa C dapat digunakan di berbagai jenis mesin dan sistem operasi dengan hanya sedikit

modifikasi atau tanpa modifikasi sama sekali.

• Terstruktur, program dibagi dalam sejumlah blok/modul, sehingga pembuatan dan pengembangan program menjadi lebih mudah.

Keyword relatif sedikit, sehingga mudah dihafalkan.

• Fungsi-fungsi pustaka (library) yang banyak tersedia.

Sifat portabel bahasa C didukung dengan banyaknya compiler yang tersedia. Compiler adalah perangkat lunak yang menerjemahkan kode program menjadi bahasa mesin yang dimengerti oleh komputer. Beberapa compiler yang terkenal adalah gcc, Microsoft Visual C++, dan Turbo C/C++.

Compiler gcc hampir dipastikan terdapat pada semua distro Linux, karena Linux sendiri memang dikem-bangkan dengan bahasa C. Compiler gcc tersedia juga untuk sistem operasi Windows.

Microsoft Visual C++ dan Turbo C/C++ sudah jelas merupakan compiler yang tersedia untuk sistem operasi Windows. Microsoft Visual C++ dan Turbo C/C++ juga menyediakan IDE (Integrated Development Environment). Tanpa IDE,Anda dapat membuat kode program C dengan sebuah file teks biasa dan dikompilasi dengan menggunakan compiler.

Untuk dapat Mempelajari bahasa C, yang pertama jelas Anda membutuhkan sebuah compiler C. Jika compiler yang Anda punyai kebetulan telah memiliki IDE (Turbo C misalnya), maka hal tersebut sudah cukup. Jika tidak, Anda membutuhkan sebuah teks editor untuk membuat kode program C. Jika Anda belum memiliki compiler C, Anda dapat mendownload-nya dari situs http://www.delorie.com/djgpp.

Untuk memudahkan Anda dalam membuat keputusan file-file apa saja yang harus didownload, klik link [ZIP Picker]. Link ini akan menuntun Anda untuk menuju ke halaman yang terdapat sebuah form yang akan menuntun Anda dalam nantinya memilih file-file yang akan di-download.

Pertama kali form tersebut meminta Anda untuk memilih dari server mana Anda akan men-download filefile yang dibutuhkan tersebut. Daftar server-server tersebut tersedia pada drop down [Select a suitable FTP site]. Secara geografis letak server yang paling dekat dengan Indonesia adalah di Jepang, yaitu ftp://

ftp.iij.ad.jp, namun pada daftar tersebut disebutkan bahwa server yang memiliki kecepatan tinggi adalah yang terletak di Austria, yaitu ftp://ftp.univie.ac.at. Jika Anda bingung untuk memilih server mana yang paling tepat untuk Anda, pilih saja [Pick one for me].

Berikutnya form menanyakan kegunaan dari djgpp tersebut. Ada tiga pilihan yang tersedia, yaitu:

[Build and run programs with djgpp]

[Run a program I got that’s built with djgpp]

[Use UNIX to build DOS program]

Karena djgpp tersebut nantinya akan kita gunakan untuk melakukan kompilasi dari program-program C yang kita pelajari, maka pilihlah pilihan yang pertama. Selanjutnya form menanyakan sistem operasi apa yang Anda gunakan. Pilihlah salah satu item yang sesuai dengan sistem operasi yang Anda gunakan. Form tersebut juga menawarkan fasilitas bantuan online. Silakan pilih [Yes]

Langkah berikutnya adalah memilih bahasa pemrograman apakah yang hendak digunakan. Nantinya setelah pembahasan tentang C, kita akan melanjutkannya dengan pembahasan mengenai C++, jadi pada item pilihan tersebut pilihlah C dan C++.

Kemudian form tersebut juga menyediakan pilihan untuk mendownload berbagai tools dan extra stuff, silakan pilih sesuai dengan selera Anda. Tidak dipilihpun tidak menjadi soal karena tools-tools tersebut sifatnya hanya alat bantu saja, bukan hal yang pokok. Setelah form selesai Anda isi, klik tombol [Tell me which file I need]. Anda akan dibawa ke halaman yang berisi daftar file yang bisa di-download berdasarkan pilihan-pilihan yang ditentukan tadi.

Dari daftar file yang nampak pada halaman tersebut, file-file pokok yang harus di-download adalah file-file yang berawalan v2 dan v2gnu (awalan tersebut menyatakan letak direktori file pada server). Setelah seluruh file tersebut di-download, terlebih dahulu buatlah sebuah direktori bernama djgpp, misalnya c:\djgpp.

Usahakan untuk membuat direktori dengan nama pendek dan tidak mengandung spasi (gunakan format 8.3 seperti jaman DOS dulu). Jadi tidak disarankan membuat direktori djgpp di c:\program files.

Ekstrak seluruh file zip yang di-download pada direktori yang telah dibuat tadi. Untuk mengekstraknya dapat digunakan file unzip32.exe yang juga tersedia untuk di-download.

Pada saat mengekstrak, pertahankan struktur direktori file zip sehingga nantinya hasil ekstrak akan tertata pada direktori yang telah ditentukan oleh pengembang djgpp. Contoh:

• Dengan pkunzip: pkunzip –ddjdev203.zip

• Dengan unzip32: unzip32 djdev203.zip

• Dengan WinZip: aktifkan pilihan [Use folder names] pada saat mengekstrak.

Jika Anda melakukannya dengan benar, maka pada direktori djgpp yang dibuat tadiakan terdapat beberapa direktori sebagai berikut:


• bin

• contrib

• FAQ

• gnu

• include

• info

• lib

• man

• manifest

• share

• tmp


Langkah berikutnya adalah menentukan file djgpp.env sebagai Environment variable dan menentukan direktori c:\djgpp\bin dalam path. Cara untuk menentukan Environtment variable dan path ini berbeda-beda untuk setiap sistem operasi Windows.

Untuk Windows ME:

1. Jalankan menu [Start]>[Run…] dan ketikkan msconfig.

2. Masuklah ke tab [Environment].

3. Edit PATH dan tambahkan direktori c:\djgpp\bin.

4. Tambahkan variabel baru bernama djgpp dan isilah nilainya dengan file djgpp.env lengkap dengan path-nya.

5. Reboot sistem Anda.

Untuk Windows NT:

1. Klik kanan [My Computer] dan pilih [Properties].

2. Masuklah ke tab [Environment].

3. Edit PATH dan tambahkan direktori c:\djgpp\bin.

4. Tambahkan variabel baru bernama djgpp dan isilah nilainya dengan file djgpp.env lengkap dengan pathnya.

Untuk Windows 2000/2003 dan XP:

1. Klik kanan [My Computer] dan pilih [Properties]

2. Masuk ke tab [Advanced] dan klik tombol [Environment Variables] (lihat Gambar 5).

3. Edit variabel PATH dan tambahkan direktori c:\djgpp\bin.

4. Tambahkan variabel baru bernama djgpp dan isilah nilainya dengan file djgpp.env lengkap dengan path-nya. Khusus Windows NT, 2000/2003, dan XP tidak membutuhkan reboot.

Setelah itu jalankan perintah go32-v2 dari command line (DOS Prompt) sebagai berikut: c:\>go32-v2

Hasil yang didapat kurang lebih sebagai berikut:

DPMI memory available: 8020 Kb

DPMI swap space available: 39413 Kb

Angka-angka tersebut akan berbeda-beda tergantung dari RAM yang tersedia pada sistem Anda. Jika jumlah kedua angka tersebut kurang dari 4 MB, silakan rujuk pada FAQ seksi 3.9. Nah, sekarang saatnya kita mencoba compiler tersebut untuk melakukan kompilasi sebuah program C sederhana. Seperti layaknya seluruh programmer C di dunia, program pertama yang mereka buat pada saat belajar C adalah sebagai berikut:

#include

int main()

{

printf("Hello World!\n");

return 0;

}

Program tersebut dapat ditulis dengan pengolah kata sederhana seperti Notepad. Simpanlah program tersebut dengan nama test.c. Setelah itu jalankan perintah sebagai berikut: gcc test.c –o test.exe Opsi –o berarti output file. Jadi perintah tersebut akan melakukan kompilasi file test.c dengan output test.exe. Jika kemudian file test.exe dijalankan dari command line (DOS Prompt), maka hasilnya adalah teks Hello World.

Aturan penamaan file program C

Setelah file program tersebut Anda ketikkan, tentunya file tersebut harus disimpan. Dalam proses penyimpanan file tersebut harus diberi nama. Pemberian nama untuk file program C pada dasarnya mengikuti pemberian nama file biasa, kemudian dibubuhi akhiran .c.

Untuk sistem operasi Windows, sekalipun file system-nya mengijinkan pemberian nama file yang mengandung spasi, namun sebaiknya hal tersebut dihindari. Untuk membedakan file program C dengan C++ ada semacam aturan tak tertulis yang menyebutkan bahwa file program C sebaiknya diberi akhiran .c sedangkan file program C++ diberi akhiran .cpp. Pada sistem operasi Unix/ Linux, file program C++ dapat juga diberi ekstensi .C, karena Unix/Linux membedakan huruf besar dengan huruf kecil.

Menjalankan file program C

Untuk menjalankan file program C, file tersebut perlu dikompilasi terlebih dahulu. Kompiler yang di-gunakan untuk sistem operasi Windows adalah djgpp dan untuk Linux – tidak perlu diragukan lagi – adalah gcc.

Misalnya file di atas disimpan dengan nama test.c, maka perintah untuk melakukan kompilasi file tersebut adalah sebagai berikut: gcc test.c

Kompilasi ini akan menghasilkan dua buah file, yaitu a.out dan a.exe. File a.out merupakan file executable yang digunakan pada sistem operasi Unix/Linux, sedangkan file a.exe merupakan file executable yang dihasilkan untuk lingkungan sistem operasi Windows. Untuk mengetahui apa sebenarnya yang terjadi pada saat kompilasi, gunakan opsi –v sebagai berikut: gcc –v test.c

Jika Anda melakukan kompilasi file lain pada direktori yang sama (misalnya file testjuga.c), maka hasil kompilasi yang terjadi juga file a.out dan a.exe, sehingga file hasil kompilasi sebelumnya akan hilang. Untuk mencegah kejadian tersebut, gunakan opsi –o untuk mendapatkan suatu output file dengan nama tertentu, misalnya sebagai berikut: gcc test.c –o test.exe (lingkungan Windows) gcc test.c –o test (lingkungan Unix/Linux) Dengan demikian, sekarang nama file hasil kompilasi akan mengikuti parameter yang diberikan setelah opsi –o. Untuk menjalankan file tersebut, Anda tinggal menuliskan nama file executable tersebut sesuai dengan lingkungan sistem operasinya, misalnya: Pada Windows: C:\djgpp\data>test atau: C:\djgpp\data>test.exe jika pada Linux: #./test

Hasil yang diberikan oleh eksekusi program tersebut adalah teks “Hello World”.

Proses kompilasi dengan gcc sebenarnya melakukan empat langkah sekaligus, yaitu preprocessing, compilation, assembly, dan linking. Anda dapat memilih untuk tidak melakukan linking, misalnya untuk file yang nantinya hanya bersifat objek, bukan executable. Agar proses linking tidak dijalankan, gunakan opsi –c sebagai berikut: gcc –c test.c

Hasil yang diberikan adalah file test.o yang merupakan suatu objek file. Pada sistem operasi Windows, file ini mungkin lebih populer dengan ekstensi dll. Untuk mengetahui opsiopsi apa saja yang dapat diberikan saat menjalankan gcc gunakan perintah sebagai berikut: gcc --help