NDAHU C DAN C

  DISU USUN OLEH H : ADAM MU UKHARIL BA ACHTIAR, S. .Kom.

  

DIK KTAT MATA A KULIAH P PEMROGRA AMAN I

BAB

I PEN NDAHU ULUAN

  

C C DAN C C++

IF F Se ekilas Tenta ang C d dan C+ ++

  Sebuah h bahasa pem rogram m an dapat t dik at ego orik an ke dalam t ig a level bah hasa, y ait u:

  1. Bahasa a t ingkat t in nggi

  2. Bahasa a t ingkat m e enengah 3. Bahasa a t ingkat re ndah. Sem m akin t ingg gi level suat t u bahasa m aka baha asa pem rog gram an t ers sebut akan m udah unt u uk dipelaj a ari karena d dekat deng gan bahasa m anusia. Sebaliknya a, sem akin rendah leve el suat u ba ahasa pem m r ogram an m aka m ak kin sulit un nt uk dipela aj ari karena a dek at den ngan bahasa a m esin.

  Bahasa a C ( dibuat oleh Brian W. Kernig han dan D ennis M. R it chie) m er rupakan bah hasa I nt erm m ediat e ya ng art inya adalah ba ahasa t erse ebut bisa d dikat ak an sebagai High h Level Lan nguage, di m ana para a program m m er diberika an sederet a an sint aks ( at uran pen nulisan) yan ng dapat d dim engert i oleh m anu usia. Akan t et api bah hasa C j uga a dapat digo olongkan s sebagai Low w Level La anguage ka arena pada a bahasa C C disediaka an pula sint t ak dalam b bent uk bah asa Assem bly ( di m an na kit a ket a ahui bahwa a bahasa As ssem bly m er rupakan sa lah sat u Lo ow Level La nguage) .

  Bahasa C m enyed diakan bebe erapa kom ponen y an g disediaka an oleh pe rangk at luna ak t erse ebut aga ar seora ng prog ram m er dapat dengan m udah m en ngim plem e nt asikan ko odeny a. Ad dapun k om p ponen baha asa C t erdir ri dari:

  1. Edit or

  2. I nt erpre et er

  3. Com pile er 4. Debugg ging.

  Berlanj ut ke C+ + + , apabila berbicara C C+ + biasan nya t idak a akan lepas s dari C seb agai bahas sa pendahu ulunya. C+ + + dicipt ak kan sat u de ekade set e elah C. Dic cipt akan oleh h Bj arne St t roust rup p pada t ahun n 1983. Ba hasa ini ko om pat ibel d dengan ba hasa C. keis st im ewaan yang san ngat berar rt i pada C C+ + karen na bahasa a ini m en ndukung pem m rogram an yang bero rient asi obj j ek ( Obj ect t Orient ed P Program m in ng – OOP) . . DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  Sem ua bahasa m em puny ai kelem ahan at au kelebihan sendiri- sendiri. Begit u j uga dengan bahasa C dan C+ + . Adapun kelebihannya adalah sebagai berikut :

  1. Banyak m em ilik i operat or unt uk m engolah/ m em anipulasi dat a.

  2. Bahasa C t erm asuk sebagai bahasa t erst rukt ur sehingga program dapat lebih m udah dipaham i at au dikem bangkan.

  3. Kecepat an eksekusi t inggi. Dan beberapa kelem ahannya adalah sebagai berikut :

  1. Banyakny a operat or at au car a penulisan program kadang m enim bulkan kebingungan para pem akainya.

  2. Perlu adanya ket elit ian dalam penulisan pr ogram karena C dan C+ + ber sifat Case Sensit ive ( Mem bedakan ant ara huruf kapit al dan huruf kecil) .

Editor

  Edit or adalah sebuah fasilit as yang disediak an oleh bahasa C dan C+ + unt uk m enuliskan kode yang t elah didesain oleh program m er. Edit or y ang disediakan pada um um nya sam a dengan yang disediakan oleh perangkat lunak lainnya yang m enangani file TEX T. Akan t et api unt uk beberapa edit or t erbaru m odel TEXT ini dapat dibedakan ant ara k eyword, variabel, dan sebagainy a.

Interpreter

  Kebanyak an perangkat lunak bahasa pem rogram an m eny ediakan fasilit as I nt erpret er. Dem ikian j uga dengan bahasa C. I nt erpret er digunakan unt uk m em baca kode yang t elah dit ulis oleh program m er unt uk dit erj em ahkan oleh I nt erpret er C dan C+ + . Sehingga sekum pulan kode yang t elah dit ulis dapat berj alan sesuai dengan sint aks yang t elah dit ent ukan oleh bahasa C dan C+ + .

Compiler

  Tidak sem ua perangkat lunak bahasa pem rogram an m enyediakan fasilit as Com piler. Tet api unt uk bahasa C dan C+ + , fasilit as ini disediakan. Com piler digunakan unt uk m ent ranslat or sekum pulan kode yang t elah dit ulis sesuai dengan sint ak yang dit ent uk an oleh bahasa C ke bent uk yang lain. Dalam hal ini diubah ke DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. dalam bent uk bahasa Assem bly sehingga selanj ut nya akan m enghasilkan suat u file execut e ( .exe) . di m ana file t ersebut dapat berdiri sendiri t anpa m em erlukan perangkat lunak lainnya.

Debugging

  Bahasa C dan C+ + m eny ediakan fasilit as debugging yang dapat digunakan unt uk m enelusuri set iap kode yang t elah dit ulis. Sehingga program m er dapat m enget ahui perubahan dan pengar uh sert a kesalahan set iap kode per baris yang t elah dit ulis. Fasilit as debug yang disediakan ant ara lain:

  1. Debug per baris.

  2. Debug per prosedur/ fungsi.

  3. Debug per break point .

Software yang Dapat Digunakan

  Ada beberapa soft w are yang dapat digunakan unt uk m em buat program dengan bahasa C dan C+ + , ant ara lain:

  1. Turbo C+ +

  2. Borland C+ +

  3. Dev- C+ + 4. GCC. Unt uk soft w are nom or 1 sam pai 3 digunakan pada sist em operasi w indow s sedangkan unt uk soft ware nom or 4 digunakan di sist em operasi Linux .

Dev-C++

  Unt uk m em buat sebuah program , seorang program m er m em but uhkan sebuah edit or unt uk m enuliskan sint ak s program nya besert a com piler unt uk m engubah sint aks t ersebut m enj adi sebuah file execut able. Sekarang sudah banyak sekali soft w are yang m enggabungkan ant ara edit or dengan com pilernya. Bahkan unt uk m em buat sebuah file execut able, seorang pr ogram m er t inggal m engklik sat u buah t om bol. DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  Salah sat u soft w are yang bisa digunakan unt uk m em bangun sebuah program C dan C+ + yait u Dev- C+ + . Salah sat u kelebihan dari soft ware ini adalah ket erbukaan sum ber ( open source) sehingga orang um um bisa m engupgrade aplikasi ini sert a soft ware ini bersifat freew are ( gr a t is) . Sehingga t idak aneh apabila soft w are ini sangat digem ari dibandingkan soft w are- soft w are lain yang berbayar ( biasanya lum ayan m ahal) . Selain it u soft w are ini j uga m em ungkinkan unt uk m enam bahkan library- library y ang buk an baw aan dari soft w are ini. Akan t et api soft w are ini j uga m em iliki kelem ahan yait u ada beberapa prosedur dan fungsi yang ada pada soft w are lain dihilangkan dalam Dev- C+ + ini.

Instalasi Dev-C++

  Unt uk dapat m enggunakan aplik asi Dev- C+ + , kit a harus m enginst al t erlebih dahulu aplikasi ini ke dalam hard disk. Adapun langkah- langkah penginst alasian aplikasi ini adalah sebagai ber ikut :

  1. Download t erlebih dahulu aplikasi Dev- C+ + dari alam at ht t p: / / ww w.bloodshed.net / dev/ dev cpp.ht m l .

  2. Set elah it u akt ifkan filenya sehingga t erlihat t am pilan sebagai berikut : Gam bar 1.1 Tam pilan pert am a inst alasi Dev- C+ +

  3. Tunggu sam pai proses inst alasi berlanj ut . Pilih bahasa yang diinginkan lalu klik OK.

  Gam bar 1.2 Tam pilan pem ilihan bahasa DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  4. Selanj ut nya akan t am pil layar License Agr eem ent lalu klik I Agr ee.

  Gam bar 1.3 Tam pilan license agreem ent

  5. Selanj ut nya kit a bisa m em ilih kom ponen yang ingin diinst al. Pilih t ipe inst alan Full lalu klik Next .

  Gam bar 1.4 Tam pilan kom ponen DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  6. Pilih direkt ori unt uk anda m enginst alkan aplikasi Dev- C+ + lalu klik I nst all.

  Gam bar 1.5 Tam pilan lokasi inst alasi

  7. Tunggu sam pai proses inst alasi selesai kem udian akan t im bul lay ar yang berisi pert anyaan apakah proses inst alasi ini unt uk sem ua pengguna klik Yes unt uk pert anyaan t ersebut .

  Gam bar 1.6 Tam pilan proses inst alasi DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  Gam bar 1.7 Tam pilan pert anyaan inst alasi

  8. Pada layar t er akhir anda bisa langsung m enj alankan aplikasi Dev- C+ + dengan cara m engk lik com bo box yang disediakan lalu klik Finish.

  Gam bar 1.8 Tam pilan selesai inst alasi

  9. Proses inst alasi akan dilanj ut kan dengan proses konfigurasi. Langkah pert am a k it a ak an diberi t ahu versi berapa dari Dev- C+ + yang kit a gunakan. Klik OK.

  Gam bar 1.9 Tam pilan versi Dev- C+ + DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  10. Pada for m pert am a pilih bahasa y ang akan digunakan di aplikasi Dev- C+ + .

  Pilih English ( or iginal) . Kem udian pilih t hem e yang akan digunakan. Kit a j uga bisa m em ilih XP t hem e agar t am pilannya lebih lem but . Lalu klik Next .

  Gam bar 1.10 Tam pilan form pert am a k onfigurasi

  11. Di form kedua kit a bisa m em ilih unt uk m enggunakan fit ur bant uan code com plet ion ( unt uk m enem uk an class, funct ion, dan lain- lain dengan cepat ) dengan sy arat m em ori yang digunakan cukup unt uk m enj alankan fit ur ini. Klik Next .

  Gam bar 1.11 Tam pilan form kedua konfigurasi DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  12. Di form ket iga kit a bisa m em buat cache ( ruang khusus) unt uk m enam pung fit ur code com plet ion lalu klik Next . Tunggu sam pai proses konfigurasi selesai.

  Gam bar 1.12 Tam pilan form ket iga konfigurasi

  13. Pada form t erakhir akan diberi t ahu bahwa proses konfigurasi t elah selesai kem udian klik OK.

  Gam bar 1.13 Tam pilan form t erakhir konfigurasi DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  14. Set elah it u aplikasi Dev- C+ + bisa digunakan.

  Gam bar 1.14 Tam pilan j endela kerj a Dev- C+ +

Kerangka Program C dan C++

  Sebelum m asuk ke dalam bahasa c dan c+ + ada baikny a m em pelaj ari t erlebih dahulu t ent ang kerangka program yang ada di bahasa c dan c+ + . Set iap program yang dit ulis m enggunakan bahasa c at au c+ + , program t ersebut akan m em iliki m inim al sebuah fungsi ut am a yang dipanggil dengan nam a m a in( ) . Tapi t idak m enut up kem ungkinan apabila seorang pengguna m em buat fungsi di luar dari fungsi m ain( ) .

  Kerangka pert am a yang akan dibahas kerangka bahasa c. Adapun kerangka bahasa c adalah sebagai berikut :

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  28

  22

  23

  24

  25

  26

  27

  29

  20

  30

  31

  32

  33

  34 /* Nama Program Nama File : …………….c NIM : ………………… Nama Pembuat : ………………… */ # include <stdio.h> //atau #include “stdio.h” # include <conio.h> //biasanya diganti dengan conio2.h //prototipe fungsi

Tipe_data nama_fungsi1(parameter1, parameter2, ...);

Tipe_data nama_fungsi2(parameter1, parameter2, ...);

//Implementasi fungsi

Tipe_data nama_fungsi1(parameter1, parameter2, ...)

{ Pernyataan_yang_akan_dilakukan; ... }

Tipe_data nama_fungsi2(parameter1, parameter2, ...)

{

  Penggalan kerangka di at as buk an bent uk bak u dari bahasa c. Sebagai cont oh unt uk fungsi di luar fungsi ut am a t idak harus ada. Apabila dirasa cukup m enuliskan perny at aan- pernyat aan di dalam fungsi ut am a m aka m em buat fungsi t am bahan t idaklah m enj adi suat u k ewaj iban. Let ak dari fungsi pun t idak harus sepert i pada penggalan kerangka di at as. Kit a bisa saj a m elet ak kan fungsi ut am a sebelum fungsi- fungsi t am bahan.

  Unt uk m elihat perbedaan ant ara bahasa c dan bahasa c+ + bisa dilihat pada penggalan k erangk a bahasa c+ + berikut ini:

  21

  19

  1

  9

  2

  3

  4

  5

  6

  7

  8

  10

  18

  11

  12

  13

  14

  15

  16

  17

Pernyataan_yang_akan_dilakukan; ... } //Fungsi Utama int main(int argc, char argc[]) { Pernyataan_yang_akan_dilakukan; ... return 0; }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  27

  21

  22

  23

  24

  25

  26

  28

  19

  29

  30

  31

  32

  33 /* Nama Program Nama File : …………….cpp NIM : ………………… Nama Pembuat : ………………… */ # include <iostream.h> //atau #include “stdio.h” //prototipe fungsi

Tipe_data nama_fungsi1(parameter1, parameter2, ...);

Tipe_data nama_fungsi2(parameter1, parameter2, ...);

//Implementasi fungsi

Tipe_data nama_fungsi1(parameter1, parameter2, ...)

{ Pernyataan_yang_akan_dilakukan; ... }

Tipe_data nama_fungsi2(parameter1, parameter2, ...)

{

  Kalau diperhat ik an lebih dek at m aka perbedaan ant ara kedua bahasa t ersebut t idaklah t erlalu signifikan. Perbedaan yang paling m endasar adalah penggunaan file header yang t erlet ak set elah kat a include. Unt uk bent uk um um dan pelet akkan fungsinya pun sam a. Perbedaan akan t erlihat j elas ket ika seorang program m er m ulai unt uk m erancang sebuah fungsi ( t erut am a dalam hal input dan out put ) .

  20

  18

  1

  8

  2

  3

  4

  5

  6

  7

  9

  17

  10

  11

  12

  13

  14

  15

  16

Pernyataan_yang_akan_dilakukan; ... } //Fungsi Utama int main(int argc, char argc[]) { Pernyataan_yang_akan_dilakukan; ... return 0; }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

File .H (Header File)

  File header ( file dengan ekst ensi .h) adalah file yang berisi fungsi- fungsi dan t elah dikom pilasi sebelum nya sehingga bisa digunakan dalam pem bangunan sebuah program . Unt uk m em anggil file header t ersebut kit a bisa m enggunakan dua buah cara y ang akan dij elaskan dalam poin- poin berik ut :

  1. # include < ………….h> Cara pem anggilan yang pert am a biasanya digunakan unt uk m em anggil file header bawaan ( yang bukan dibuat sendiri oleh program m ernya) yang sudah t ersedia di dalam aplikasi Dev- C+ + .

  2. # include “ ………….h” Cara pem anggilan yang kedua ini digunakan unt uk m em anggil file header yang dibuat oleh program m ernya sendiri at au file header yang bukan file bawaan dari aplikasi Dev- C+ + . Tapi t idak ak an m em pengaruhi j alannya program apabila kit a m enggunakan cara yang kedua ini unt uk m em anggil file header bawaan. Sebagai cont oh dalam bahasa c kit a m enggunak an file header st dio.h. file header ini dipanggil apabila seorang program m er ingin m enggunakan fungsi print f dan scanf.

  Dalam bahasa c+ + kit a m em anggil file header iost ream .h agar k it a bisa m enggunakan fungsi cout dan cin ( baca: si in) . apabila ingin m enggunakan fungsi- fungsi yang belum ada di file header yang digunakan m aka kit a perlu unt uk m em anggil file header lain yang m engandung fungsi yang kit a gunakan.

C++ Klasik dan C++ Modern

  Pada sub bab t er akhir ini akan dibahas perbedaan ant ara c+ + klasik dengan c+ + m odern. Perbedaan yang paling t am pak adalah pada k om piler c+ + lam a m asih m enggunakan nam espace global, sedangkan unt uk c+ + m odern yang digunakan adalah nam espace st d. Di Dev - C+ + y ang digunakan adalah bent uk c+ + m odern. Unt uk lebih j elasnya kit a bisa lihat dalam penggalan kerangka bahasa c+ + klasik di baw ah ini:

  1 # include <iostream.h>

  2 3 int main(int argc, char argc[]){

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  4 ... 5 return 0;}

  Selanj ut nya perhat ikan unt uk bahasa c+ + m odern di bawah ini:

  1 # include <iostream>

  2 3 using namespace std;

  4 5 int main(int argc, char argc[]) 6 { 7 ... 8 return 0; 9 }

  Kalau diperhat ikan, bahasa c+ + m odern t idak m engakhiri file headernya dengan ekst ensi .h dan j uga m enam bahk an sat u baris perint ah yait u usin g

  

n a m e spa ce st d. hal ini dilakukan agar kit a t idak perlu lagi unt uk m em bubuhkan

  kat a st d: : < nam a_fungsi> pada set iap fungsi yang akan digunakan. Selebihnya dalam penulisan fungsi dan lain- lain t idak m engandung perbedaan y ang berart i.