18 Jan 2021

Dasar Bahasa Pemograman C++

 

Apa Itu Bahasa Pemrograman?


 

 

        Bahasa pemrograman adalah suatu kumpulan kata (perintah) yang siap digunakan untuk menulis suatu kode program sehingga kode-kode program yang kita tulis tersebut akan dapat dikenali oleh kompilator yang sesuai. Kata-kata tersebut dalam dunia pemrograman sering dikenal dengan istilah keyword (terkadang disebut reserved word). Untuk mempelajari salah satu bahasa pemrograman tertentu, tentunya kita tidak hanya menghafal semua keyword (kata kunci) yang ada di dalamnya, namun kita juga perlu untuk memahami fungsi dan aturan penggunaannya.

 

       Sekarang ini banyak sekali bahasa pemrograman yang dapat digunakan untuk mengembangkan suatu perangkat lunak, diantaranya bahasa C, C++, Pascal, Java dan banyak lagi lainnya. Bahkan untuk pembuatan pemrograman visual pun, telah banyak tersedia perangkat lunak seperti C++Builder, Delphi, JBuilder, Visual C++ dan yang lainnya.

 

Mengapa Menggunakan Bahasa C?

 

Seperti yang telah dikatakan sebelumnya bahwa sekarang banyak sekali terdapat bahasa permograman tingkat tinggi (high level language) seperti Pascal, BASIC, COBOL dan lainnya. Walaupun demikian, sebagian besar dari para programmer profesional masih tetap memilih bahasa C sebagai bahasa yang lebih unggul, berikut ini alasan-alasannya:

 

q  Bahasa C merupakan bahasa yang powerful dan fleksibel yang telah terbukti dapat menyelesaikan program-program besar seperti pembuatan sistem operasi, pengolah kata, pengolahan gambar (seperti pembuatan game) dan juga pembuatan kompilator untuk bahasa pemrograman baru.

 

q  Bahasa C merupakan bahasa yang portabel sehingga dapat dijalankan di beberapa sistem operasi yang berbeda. Sebagai contoh program yang kita tulis dalam sistem operasi Windows dapat kita kompilasi di dalam sistem operasi Linux dengan sedikit ataupun tanpa perubahan sama sekali.

 

q  Bahasa C merupakan bahasa yang sudah populer dan banyak digunakan oleh para programmer berpengalaman sehingga kemungkinan besar library (pustaka) dan aksesoris program lainnya yang diperlukan dalam pemrograman telah banyak disediakan oleh pihak luar/lain dan dapat diperoleh dengan mudah.

 

q  Bahasa C merupakan bahasa yang bersifat modular, yaitu yang tersusun atas rutin- rutin tertentu yang dinamakan dengan fungsi (function) dan fungsi-fungsi tersebut dapat digunakan kembali untuk pembuatan program-program lainnya tanpa harus menulis ulang implementasinya.

 

q  Bahasa C merupakan bahasa tingkat menengah (middle level language) sehingga mudah untuk melakukan interfacing (pembuatan program antar muka) ke perangkat keras (hardware).

 

  Kerangka Program dalam Bahasa C

        Setiap program yang ditulis dengan menggunakan bahasa C harus mempunyai fungsi utama, yang bernama main(). Fungsi inilah yang akan dipanggil pertama kali pada saat proses eksekusi program. Artinya apabila kita mempunyai fungsi lain selain fungsi utama, maka fungsi lain tersebut baru akan dipanggil pada saat digunakan. Fungsi main() ini dapat mengembalikan nilai 0 ke sistem operasi yang berarti bahwa program tersebut berjalan dengan baik tanpa adanya kesalahan.


Berikut ini dua bentuk kerangka fungsi main() di dalam bahasa C yang sama-sama dapat digunakan.

 

a.      Bentuk Pertama (tanpa pengembalian nilai ke sistem operasi)

void main(void) {

Statemen_ yang_akan_dieksekusi;

...

}

 

Kata kunci void di atas bersifat opsional, artinya bisa dituliskan atau bisa juga tidak.

 

b.      Bentuk Kedua (dengan mengembalikan nilai 0 ke sistem operasi)

int main(void) {

Statemen_yang_akan_dieksekusi;

...

return 0;

}

 

        Kata kunci void di atas juga bersifat opsional. Namun, para programmer C pada umumnya menuliskan kata kunci tersebut di dalam fungsi yang tidak memiliki parameter. Dalam buku ini penulis akan banyak menggunakan bentuk kedua untuk setiap contoh-contoh program yang ada.

 

            Adapun untuk kerangka lengkap dari program yang ditulis dalam bahasa C adalah seperti yang tertulis di bawah ini.

 

#include <nama_header_file>

...

 

/* Prototipe fungsi */

tipe_data nama_fungsi1(parameter1, parameter2, ...); tipe_data nama_fungsi2(parameter1, parameter2, ...);

...

 

/* Fungsi utama */

int main(void) {

Statemen_yang_akan_dieksekusi;

...

return 0;

}

 

/* Implementasi fungsi */

tipe_data nama_fungsi1(parameter1, parameter2, ...) {

Statemen_yang_akan_dieksekusi;

...

 

 

 

        Oleh karena bahasa C merupakan bahasa prosedural yang menerapkan konsep runtunan (program dieksekusi per baris dari atas ke bawah secara berurutan), maka apabila kita menuliskan fungsi-fungsi lain tersebut di bawah fungsi utama, maka kita harus menuliskan bagian prototipe (prototype), hal ini dimaksudkan untuk mengenalkan terlebih dahulu kepada kompilator daftar fungsi yang akan digunakan di dalam program. Namun apabila kita menuliskan fungsi-fungsi lain tersebut di atas atau sebelum fungsi utama, maka kita tidak perlu lagi untuk menuliskan bagian prototipe di atas. Untuk lebih jelasnya, perhatikan kerangka program di bawah ini dimana fungsi- fungsi yang akan digunakan dituliskan sebelum fungsi utama.

#include <nama_header_file>

...

 

/* Fungsi-fungsi yang dibutuhkan ditulis sebelum fungsi main() sehingga tidak membutuhkan prototipe fungsi */

tipe_data nama_fungsi1(parameter1, parameter2, ...) {

Statemen_yang_akan_dieksekusi;

...

}

 

tipe_data nama_fungsi1(parameter1, parameter2, ...) {

Statemen_yang_akan_dieksekusi;

...

}

...

 

/* Fungsi utama */

int main(void) {

Statemen_yang_akan_dieksekusi;

...

return 0;

}

 

            Program yang ditulis di dalam bahasa C akan disimpan dalam file yang berekstensi C (*.c),    misalnya contoh1.c. Sebagai tambahan pengetahuan bagi Anda bahwa program yang ditulis dengan bahasa C ini dapat dikenali dan dikompilasi dengan menggunakan kompilator C++. Sehingga apabila Anda tidak memiliki kompilator C, maka Anda juga dapat mencoba menjalankan contoh-contoh program di dalam buku ini dengan menggunakan kompilator C++ (dalam segala bentuk variannya, seperti Turbo C++, Borland C++, MinGW, C++Builder, Visual C++ atau lainnya), tentunya selama program yang kita buat tidak menggunakan file header yang spesifik dari kompilator tertentu.


   File Header (*.h)

            File header adalah file dengan ekstensi h (*.h), yaitu file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan di dalam program. Bagi Anda yang sebelumnya pernah mempelajari bahasa Pascal, file header ini serupa dengan unit. Dalam bahasa C, file header standar yang untuk proses input/output adalah <stdio.h>. Maka dari itu untuk hampir setiap kode program yang ditulis dalam bahasa C, akan mencantumkan file header <stdio.h>. Perlu sekali untuk diperhatikan bahwa apabila kita menggunakan file header yang telah disediakan oleh kompilator, maka kita harus menuliskannya di dalam tanda < dan > (misalnya <stdio.h>). Namun apabila kita menggunakan file header yang kita buat sendiri, maka file tersebut ditulis di antara tanda ‘’ (misalnya “CobaHeader.h”). Perbedaan antara keduanya terletak pada saat pencarian file tersebut. Apabila kita menggunakan tanda <>, maka file header tersebut akan dianggap berada pada direktori default yang telah ditentukan oleh kompilator. Sedangkan apabila kita menggunakan tanda “”, maka file header dapat kita tentukan sendiri lokasinya.

 

            File header yang akan kita gunakan harus kita daftarkan dengan menggunakan directive #include. Directive #include ini berfungsi untuk memberitahu kepada kompilator bahwa program yang kita buat akan menggunakan file-file yang didaftarkan. Berikut ini contoh penggunaan directive #include.

 

#include <stdio.h> #include <stdlib.h> #include “MyHeader.h”

 

        Setiap kita akan menggunakan fungsi tertentu yang disimpan dalam sebuah file header, maka kita juga harus mendaftarkan file header-nya dengan menggunakan directive #include. Sebagai contoh, kita akan menggunakan fungsi getch() dalam program, maka kita harus mendaftarkan file header <conio.h>.

Proses Pembentukan Program dalam Bahasa C++

 

   

 

 

 

       

 Cara Menulis Program Bahasa C

 

 Hal dasar yang harus dilakukan untuk membuat suatu program adalah menuangkan permasalahan yang kita hadapi ke dalam bentuk kode program, yaitu dengan menerapkan konsep algoritma.

 

    Kode program adalah kumpulan atau runtunan yang digunakan untuk memerintahkan komputer agar dapat menjalankan pekerjaan-pekerjaan tertentu sesuai yang kita kehendaki. Kode program sering juga dinamakan dengan istilah ‘sintak’. Sebagai contoh, berikut ini contoh baris perintah dalam bahasa C.

 

printf(“Halo semua, apa kabar?”);

 

        Perintah di atas akan menampilkan teks “Halo semua, apa kabar?” di layar. Anda tidak perlu bingung dan cemas dengan kehadiran fungsi printf() di atas karena hal tersebut akan kita bahas pada materi selanjutnya dalam buku ini.

 

        Untuk menuliskan kode program, Anda dapat menggunakan program-program editor yang telah tersedia di dalam sistem operasi yang Anda gunakan. Misalnya apabila Anda menggunakan Microsoft Windows, maka Anda dapat menggunakan Notepad. Apabila Anda menggunakan MS-DOS, maka dapat menggunakan Edit serta di dalam Linux atau Unix, Anda dapat menggunakan editor ed, joe, ex, emacs, pico ataupun vi. Namun, sekarang telah banyak kompilator C yang menyediakan built-in editor untuk keperluan penulisan dan penyuntingan kode program yang akan kita buat sehingga kita tidak perlu menuliskannya dengan editor lain di luar kompilator.


 Melakukan Kompilasi Kode Program

        Sampai di sini, komputer belum mengetahui arti kode-kode program yang ditulis dalam bahasa C tersebut karena komputer hanya mengenal instruksi-instruksi biner yang dikenal dengan bahasa mesin. Maka dari itu kita membutuhkan suatu program lain untuk dapat menerjemahkan kode program (dalam bahasa C) tersebut ke dalam bahasa mesin. Program seperti inilah yang dinamakan dengan kompilator.

 

        Kompilator akan menerima masukan kode program dan akan menghasilkan suatu kode objek yang disimpan dalam file objek. File objek tersebut berisi kode-kode mesin yang merupakan terjemahan dari kode program. Dalam sistem operasi Windows, biasanya file objek ini akan berekstensi .obj, sedangkan dalam sistem operasi Unix atau Linux pada umumnya file objek tersebut akan berekstensi .o (secara default dalam Linux akan menghasilkan file a.out).

 

        Sebagai tambahan bagi Anda, berikut ini disajikan tabel yang berisi cara untuk melakukan kompilasi sesuai dengan beberapa kompilator C (dalam Microsoft Windows) yang sering digunakan. Sebagai contoh di sini kita memiliki kode program yang telah disimpan dalam file coba.c.

 

Kompilator

Perintah untuk melakukan kompilasi program

Turbo C

tcc coba.c

Borland C

bcc coba.c

Microsoft C

cl coba.c

 

            Apabila Anda menggunakan sistem operasi Unix atau Linux, maka Anda dapat melakukan kompilasi kode program tersebut dengan menggunakan kompilator cc atau gcc, yaitu dengan cara menuliskan perintah seperti di bawah ini.

 

cc coba.c

atau

 

gcc coba.c

             Proses Linking

       Proses terakhir yang terdapat pada pembentukan suatu file eksekusi (executable file) atau file yang dapat dijalankan di komputer adalah proses linking (menghubungkan). Proses ini akan dilakukan secara internal pada saat selesai proses kompilasi.

 

         Pada program di atas, kita menggunakan fungsi printf() yang merupakan fungsi pustaka (library function) yang telah disediakan oleh kompilator dalam file

<stdio.h>. Di sini berarti kita menggunakan file lain untuk menjalankan kode program kita. Maka dari itu, file objek yang dihasilkan dari proses kompilasi di atas akan dikombinasikan atau dihubungkan dengan kode objek dari library function bersangkutan. Hal inilah yang disebut dengan proses linking. Adapun proses semacam ini dilakukan oleh program yang dinamakan dengan linker.

 

Fungsi printf() dan scanf()

 

     Untuk melakukan hal tersebut, di dalam bahasa C telah disediakan fungsi pustaka, yaitu fungsi printf() yang berguna untuk menampilkan keluaran data dan fungsi scanf() yang berguna untuk membaca masukan data. Adapun prototipe dari kedua fungsi tersebut dapat Anda lihat di bawah ini.

 

                printf(const char *format, ...);

                scanf(const char *format, ...);

 

    Setelah Anda mengetahui konsep dasar dan kerangka dari program dalam bahasa C yang telah diterangkan di atas, sekarang kita akan memulai penulisan kode program dengan menuliskan program yang sangat sederhana. Di sini kita akan menulis kode program di mana program tersebut dapat menampilkan teks ‘Saya sedang belajar bahasa C’ ke layar monitor sehingga kita membutuhkan file header <stdio.h>. Adapun sintak programnya adalah seperti yang tertera di bawah ini.

 

 

#include <stdio.h> int main(void) {

/* Mencetak teks ke layar */

printf(“Saya sedang belajar bahasa C”);

 

return 0;

}

 

Apabila dijalankan, program tersebut akan memberikan hasil sebagai berikut:

         Saya sedang belajar bahasa C

 

Berikut ini daftar karakter yang dapat dijadikan sebagai format untuk menentukan tipe argumen pada fungsi printf().

 

Karakter

Tipe Argumen

Keterangan

d, i

int

Untuk menampilkan tipe bilangan bulat dalam bentuk desimal (basis 10)

o

int

Untuk menampilkan tipe bilangan bulat dalam bentuk oktal (basis 8) tanpa diawali angka 0

x, X

int

Untuk menampilkan tipe bialangan bulat dalam bentuk heksadesimal (basis 16) tanpa diawali dengan tanda 0x atau 0X. format x digunakan untuk menampilkan hasil

dalam huruf kecil, sedangkan X untuk huruf besar.

u

int

Menampilkan bilangan bulat tanpa tanda (unsigned)

c

char

Menampilkan karakter

s

char*

Menampilkan string (kumpulan karakter)

f

float

Menampilkan bilangan rii dengan tipe float. Apabila tipenya double maka akan ditulis lf.

e, E

double

Menampilkan bilangan riil dalam bentuk eksponen

g, G

double

Menampilkan bilangan riil, format ini akan secara otomatis memanggil %e, %E ataupun %f sesuai dengan

nilai yang dimasukkan.

p

void*

Menampilkan pointer (alamat memori)

%

Apabila tanda % diikuti karakter %, maka program akan menampilkan tanda % sebagai keluarannya.


Berikut ini contoh penggunaan fungsi printf() yang mengandung lebih dari satu argumen dan dari tipe yang berbeda.

printf(“Karakter: %c, Bilangan bulat: %d, String: %s, Bilangan riil: %2.3f”, ‘A’, 23, “Mira”, 19.4);

...

Sintak di atas akan memberikan hasil seperti di bawah ini.

Karakter: A, Bilangan bulat: 23, String: Mira, Bilangan riil : 19.400

 

%d         mencetak bilangan bulat (integer)

%2d        mencetak bilangan bulat dengan lebar 2 karakter

%f         mencetak bilangan riil (floating point)

%2f        mencetak bilangan riil dengan lebar 2 karakter

%.3f       mencetak bilangan riil dengan 3 angka di belakang koma

%2.3f      mencetak bilangan riil dengan lebar 2 karakter dan 3 angka di belakang koma

 

Satu hal lagi yang perlu untuk dipahami dalam menggunakan fungsi printf() adalah konstanta karakter, yaitu suatu konstanta yang diawali dengan tanda backslash (‘\’). Berikut ini daftar konstanta karakter yang telah didefinisikan dalam bahasa C.

 

Sequence

Arti dan kegunaan

\a

Alert; untuk membangkitkan suara dari spreaker

\b

Backspace; untuk meletakkan karakter backspace, kursor akan

kembali ke depan sebanyak satu karakter

\f

Formfeed; untuk meletakkan karakter formfeed

\n

Newline; untuk meletakkan baris baru

\r

Carriage   return;    untuk   meletakkan   kursor   di    awal    baris bersangkutan

\t

Horizontal tab; untuk meletakkan tab horisontal

\v

Vertical tab; untuk meletakkan tab vertikal

\\

Backslash; untuk menampilkan karakter \

\?

Question mark; menampilkan karakter tanda tanya (?)

\’

Single quote; menampilkan karakter petik tunggal (‘)

\”

Double quote; menampilkan karakter petik ganda (“)

\ooo

Octal number; menampilkan bilangan dalam bentuk oktal (basis 8)

 

Apabila kita amati bahwa konstanta di atas tersusun dari dua karakter atau lebih, namun dalam bahasa C konstanta tersebut akan dianggap sebagai satu karakter. Untuk lebih jelasnya, coba Anda perhatikan program berikut ini yang akan menggunakan konstanta karakter \t, \” dan \n. Adapun sintaknya adalah sebagai berikut.

#include <stdio.h> int main(void) {

printf(“Judul\t\t: \”Pemrograman Menggunakan Bahasa C\”\n”); printf(“Penulis\t\t: Lukman Nur Hakim\n”); printf(“Penerbit\t: Elektro Itenas”);

 

return 0;

hasil :

Judul : “Pemrograman Menggunakan Bahasa C”

Penulis : Lukman Nur Hakim

Penerbit : Elektro Itenas