Anda di halaman 1dari 16

BAB I

PENDAHULUAN

1.1 Latar belakang


Bahasa pemrograman merupakan kumpulan aturan yang disusun sedemikian rupa
sehingga memungkinkan pengguna komputer membuat program yang dapat
dijalankan dengan aturan tersebut. bahasa pemrograman dapat dikelompokkan
menjadi dua yakni bahasa tingkat rendah (low-level languages) dan bahasa tingkat
tinggi (high-level languages). Bahasa tingkat tinggi merupakan bahasa yang mudah
dipahami oleh manusia, c++ merupakan salah satu contoh dati bahasa tingkat tinggi.
Contoh lain dari bahasa tingkat tinggi adalah Pascal, Perl, Java, dan lain sebagainya.
Sedangkan bahasa tingkat rendah merupakan bahasa mesin atau bahasa assembly.
Bahasa tingkat tinggi mempunyai banyak sekali sisi keuntungan yaitu mudah
dipelajari, mudah ditulis, mudah dibaca dan tentu saja mudah dicari kesalahannya.
Sebagai bahasa yang beraras tinggi, yang menggunakan perintah-perintah yang
mudah dimengerti oleh orang, C++ mempunyai keunggulan, yakni bersifat universal.
Sebagai bahasa yang universal, C++ bisa dijumpai di berbagai platform (Linux, Unix,
Windows, Mac, dan lain-lain).
Oleh sebab itu diperlukannya pembelajaran mengenai salah satu bahasa tingkat
tinggi yaitu C++. Bahasa ini diciptakan oleh Bjarne Stroustrup pada tahun 1980-an.
Sebagai bahasa yang berorientasi objek, C++ memudahkan dalam pembuatan aplikasi
yang berskala besar.

1.2 Tujuan percobaan


Tujuan dari percobaan ini adalah :
1. Untuk mengenali bahasa pemrograman bahasa C
2. Untuk mengetahui aplikasi bahasa Dev C++
BAB II
TEORI PENUNJANG

2.1 Pengertian C++


C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne Stroustup,
yang merupakan perkembangan dari bahasa C. Dikembangkan di Bong Labs (Dennis
Ritchie) pada awal tahun 1070-an. Bahasa itu diturunkan dari bahasa sebelumnya,
yaitu bahasa B. pada awalnya bahasa tersebut dirancang sebagai bahasa pemrograman
yang dijalankan pada sistem Unix.
Dalam tahun 1983, the American National Standards Institute (ANSI) mendirikan
ANSI Komite X3J11 untuk menyediakan definisi C yang modern dan komprehensif.
Definisi yang dihasilkan adalah Standar ANSI atau ANSI C, telah dilengkapi pada
akhir tahun 1988. Standar ANSI didasarkan pada standar Unix yang diperluas. Standar
ANSI menetapkan 32 buah kata kunci (key words), yaitu : 1. auto2. break, 3. case, 4.
char, 5. const, 6. continue, 7. default, 8. do. 9. double, 10. else, 11. enum, 12. extern,
13. float, 14. for, 15. goto, 16. if, 17. int, 18. long, 19. register, 20. return, 21. short,
22. signed, 23. sizeof, 24. static, 25. struct, 26. switch, 27. typedef, 28. union, 29.
unsigned, 30. void, 31. volatile, dan 32. while. Contoh versi yang mengikuti standar
ANSI adalah Turbo C oleh Borland International (39 kata kunci, 32 di antaranya
mengikuti standar ANSI), Microsoft C, Microsoft Quick C dan Watcom C.
Contoh lain adalah Dev C++, Integrated Development Environment (IDE) penuh
fitur untuk bahasa pemrograman C /C++. Ia menggunakan port Mingw dari GCC
(GNU Compiler Collection) sebagai pengompilasi. Ia dapat mengkreasi native Win32
executables, sebagai console atau GUI sebaik DLL dan pustaka statis. Dev C++ dapat
juga dikombinasi dengan Cygwin atau pengompilasi berbasis GCC . Dev C++ adalah
free software distributed di bawah lisensi GNU General Public License (GPL).
Fiturfiturnya adalah mendukung pengompilasi berbasis GCC (termasuk Mingw),
integrated debugging (dengan GDB), mendukung untuk multi bahasa (lokasi), class
browser, debug variable browser, code completion, function listing, project manager,
customizable syntax highlighting editor, pembuatan cepat windows, console, static
libraries and DLL, pola pendukung untuk pembuatan tipe projek sendiri, makefile
creation, edit and compile resource files, tool manager, print support, find and replace
facilities, package manager, for easy installation of add-on libraries.
Bahasa C++ mempunyai beberapa keunggulan :
1. Proses eksekusi program cepat.
2. Struktur bahasa yang baik (terstruktur).
3. Menyediakan kemampuan pemrograman berorientasi objek.
2.2 Struktur bahasa C++
Program pertama pemula menulis sebuah program yang disebut Hello World,
yang hanya mencetak Hello World ke layar komputer. Meskipun sangat sederhana,
namun berisi semua komponen dasar program C++, sebagai berikut :

Gambar 2.1 Komponen dasar program C++


Panel atas menunjukkan kode C++ untuk program ini. Panel bawah menunjukkan
hasil ketika program dijalankan oleh komputer. Sedangkan angka yang berada
disebelah kiri panel berfungsi untuk memudahkan kita dalam meneliti kesalahan pada
program, dan bukan bagian dari program. Berikut penjelasan baris-baris pada kode
tersebut :
Baris 1 : //Program pertama saya di C++
Dua tanda garis miring menunjukkan bahwa kalimat selanjutnya
adalah komentar yang dimasukkan oleh programmer tetapi tidak
berpengaruh pada perilaku program. Dapat juga dengan
menggunakan /* komentar */
Baris 2 : #include <iostream>
Baris yang dimulai dengan tanda pagar (#) merupakan pernyataan
untuk menyertakan preprocessor. #include <iostream> berarti
memerintahkan kompier untuk menyertakan bagian dari standar
C++, yang dikenal sebagai header iostream, yang memungkinkan
untuk melakukan standar operasi input dan output, seperti menulis
output dari program ini (Hello Wordl!) ke layar.
Baris 3 : Sebuah baris kosong
Baris kosong tidak berpengaruh pada program. Mereka hanya
meningkatkan pembacaan kode.
Baris 4 : int main ()
Baris ini memulai deklarasi fungsi main. Fungsi main merupakan
titik awal dimana seluruh program C++ akan mulai dieksekusi.
Diletakkan diawal, ditengah, atau diakhir program, isi dari fungsi
main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh
program C++ memiliki fungsi main.
Main diikuti oleh sepasang tanda kurung () karena merupakan
fungsi. Pada C++, semua fungsi diikuti oleh sepasang tanda kurung
() dimana, dapat berisi argumen didalamnya.
Baris 5 dan 7 : { dan }
Tanda kurung kurawal terbuka ( { ) pada baris 5 menunjukkan awal
definisi fungsi main dan tanda kurung kurawal tertutup ( }) pada
baris 7 menunjukkan akhir. Kode-kode yang berada diantara tanda
kurung kurawal ini adalah tubuh fungsi yang mendefinisikan apa
yang akan terjadi ketika main dieksekusi.
Baris 6 : std :: cout << Hello World!;
Baris ini adalah pernyataan C++. Pernyataan ini memiliki tiga
bagian : pertama std :: cout, yang mengidentifikasi output ke layar.
Kedua, operator penyisipan ( << ), yang menunjukkan bahwa
kalimat berikutnya agar dimasukkan ke std :: cout. Ketiga, kalimat
Hello World! merupakan kalimat yang akan dimunculkan ke
layar. Setiap pernyataan dalam C++ harus diakhiri dengan tanda
semicolon (;) untuk memisahkan antara pernyataan yang satu
dengan pernyataan lainnya.

Aturan-aturan umum penulisan bahasa C++ :

1. Bahasa C++ bersifat case sensitive artinya huruf besar dan huruf kecil dibedakan.
2. Untuk memberi komentar pada suatu baris program, digunakan /* dan */ atau //
3. Awal dan akhir fungsi utama diapit dengan tanda kurung kurawal.
4. Setiap pernyataan diakhiri dengan tanda semicolon (;).
5. Semua variable yang digunakan di dalam program wajib dideklarasikan terlebih
Dahulu.
2.3 Perintah input dan output pada bahasa C++
2.3.1 Perintah input
Perintah Output adalah perintah yang digunakan untuk mengeluarkan hasil
proses komputer sehingga bisa dibaca oleh si pemakai (user). Adapun media yang
digunakan untuk menampilkan hasil output tadi bisa berupa monitor atau dicetak
ke kertas melalui printer. Salah satu fungsi untuk menampilkan output dalam Turbo
C++ adalah :
a. printf().
Fungsi printf() digunakan untuk mencetak data baik berupa teks, numerik,
konstanta maupun variabel. Contoh penggunaan printf() bisa dilihat pada contoh
program berikut :

Gambar 2.2 Contoh Pemakaian printf()


Bisa dilihat dari contoh diatas, bahwa perintah printf() bisa diikuti dengan
tanda %s, %f, %d dan lain-lain. Tanda % tersebut disebut dengan penentu
format (format specifier) Fungsi printf() digunakan untuk menampilkan
semua jenis data (numeric dan karakter).
b. Fungsi puts(), digunakan untuk menampilkan data string dan secara otomatis
akan diakhir dengan perpindahan baris.
c. Fungsi putchar(), digunakan untuk menampilkan sebuah karakter.berikut
adalah contoh penggunaan putchar() dan puts()

Gambar 2.3 Contoh penggunaan putchar() dan puts()


d. Fungsi cout

Penggunaan cout stream dhubungkan dengan operator overloaded <<


(Sepasang tanda "less than"). Contoh :
cout << "Nama Saya Afandi"; // Tampilkan Output Nama Saya Afandi
cout << 1000; // Tampilkan angka 1000 pada layar
cout << x; // Tampilkan variabel x on pada layar
Operator << dikenal sebagai insertion operator, dimana berfungsi untuk
menginput data yang mengikutinya. Jika berupa string, maka harus diapit dengan
kutip ganda ("), sehingga membedakannya dari variable. Contoh
cout << "Hello"; // Tampilkan Hello pada layar
cout << Hello; // Tampilkan variabel Hello pada layar

Operator insertion (<<) dapat digunakan lebih dari 1 kali dalam kalimat yang
sama, Contoh :

cout << "Hallo, " << "nama " << "Saya Afandi";

Contoh diatas akan menampilkan Hallo nama Saya Afandi sentence pada
layar monitor. Manfaat dari pengulangan penggunaan operator insertion (<<)
adalah untuk menampilkan kombinasi dari satu variabel dan konstanta atau lebih,
contoh :

cout << "Hello I am " << age << " years old and my zipcode is " <<
zipcode;

Misalkan variable age = 24 dan variable zipcode = 90064 maka output


yang dihasilkan :
Hello, I am 24 years old and my zipcode is 90064
Contoh :
cout << "Baris pertama \n ";
cout << "Baris kedua.\nBaris ketiga.";
Output :
Baris pertama.
Baris kedua.
Baris ketiga.
Selain dengan karakter new-line, dapat juga menggunakan
manipulator endl, contoh :
cout << "Baris pertama" << endl;
cout << "Baris kedua" << endl;
Output :
Baris pertama Baris kedua

2.3.2 Perintah Output


Setiap bahasa pemrograman tidak akan bisa digunakan secara fleksibel jika
tidak memiliki perintah input. Perintah input adalah sebuah perintah dalam bahasa
program yang mampu meneruskan nilai dari operator untuk diproses oleh
komputer. Perintah input memerlukan perangkat keras input, biasanya adalah
keyboard. Dalam Turbo C++, terdapat tiga perintah input yaitu scanf(), getche(),
getch() dan gets().
a. Fungsi scanf()
Bentuk umum dari fungsi scanf() adalah sebagai berikut :

Gambar 2.4 Contoh Fungsi scanf()

Penggunaan scanf() biasanya dikombinasikan dengan perintah printf().


Perintah printf() disini berfungsi sekedar menampilkan keterangan tentang apa
yang harus diinputkan, sehingga operator bisa langsung mengerti harus
memasukkan data apa. Untuk penentu format pada scanf(), dapat dilihat pada
tabel berikut :
Tabel 2.1 Penentu format scanf()

Selain itu, penggunaan scanf() juga harus menyertakan tanda & pada awal
nama variabel. Tanda & disini befungsi sebagai operator alamat (address
operator). Contoh penggunaan scanf() sebagai berikut :

Gambar 2.5 Pemakaian fungsi scanf()

Jika terdapat beberapa proses input (memasukkan data) sekaligus, maka


sebaiknya ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi
fflush(stdin) berfungsi menghapus buffer di dalam alat I/O.
Scanf() juga bisa digunakan untuk menginputkan beberapa data sekaligus
dalam satu baris asalkan jumlah dan tipe penentu format sesuai dengan variabel
yang akan diinputkan. Data yang akan dimasukkan dapat dipisahkan dengan
spasi, tab atau tanda pemisah lain seperti koma (,), garis hubung(-), atau titik
dua(:). Pemisah data dalam input yang digunakan harus sama dengan pemisah
data dalam scanf().

Gambar 2.6 Contoh pemakaian fungsi scanf()

b. Fungsi getche()

Fungsi input getche() memiliki sifat yang sedikit berbeda dari scanf().
Perbedaan tersebut antara lain :

1. Bila dalam scanf() jumlah karakter data yang diinputkan boleh bebas,
maka dalam getche() hanya sebuah karakter yang bisa diterima.
2. Bila scanf() membutuhkan tombol RETURN/ENTER untuk mengakhiri
input, maka dalam getche() tidak membutuhkannya. Input dianggap
selesai begitu kita memasukkan satu karakter dan secara otomatis akan
melanjutkan ke baris perintah berikutnya.

getche() merupakan singkatan dari get character and echo yang artinya
menerima sebuah karakter kemudian tampilkan. Input yang diterima
getche() akan disimpan ke dalam variabel karakter yang sebelumnya harus
sudah dideklarasikan.

c. Fungsi getch().

Satu-satunya perbedaan antara getche() dan getch() adalah getche()akan


menampilkan karakter yang kita ketikkan, sedangkan getch() tidak akan
menampilkan, melainkan hanya menyimpannya dalam memori saja, jadi apa
yang kita ketikkan tidak akan muncul dilayar sebelum kita memberikan
perintah untuk mencetak nilai tersebut.

a) Fungsi getch() dan getche() digunakan untuk membaca data karakter.


b) Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol
enter.
c) Tidak memberikan efek pergantian baris secara otomatis
d) Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan
ditampilkan pada layar sehingga sering digunakan untuk meminta inputan
berupa password.
e) Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan
pada layer
Gambar 2.7 Pemakaian fungsi scanf() untuk input beberapa data
d. Fungsi gets()
1. Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan
tidak dapat digunakan untuk memasukkan data numerik.
2. Harus diakhiri dengan penekanan tombol enter
3. Cursor secara otomatis akan pindah baris
4. Tidak memerlukan penentu format

Gambar 2.8 Pemakaian fungsi gets() untuk input data string


d. Fungsi cin

Menangani standard input pada C++ dengan menambahkan overloaded


operator extraction (>>) pada cin stream. Harus diikuti bengan variable yang
akan menyimpan data. Contoh :
int umur;
cin >> umur;
Contoh diatas mendeklarasikan variabel age dengan tipe int dan menunggu
input dari cin (keyborad) untuk disimpan di variabel umur.
cin akan memproses input dari keyboard sekali saja dan tombol ENTER harus
ditekan. Contoh :

Gambar 2.9 Contoh pemakaian fungsi cin


Output :
Silahkan masukan nilai: 2
Nilai jika di kali 5 adalah: 10.
cin juga dapat digunakan untuk lebih dari satu input :
cin >> a >> b;
Equivalen dengan :
cin >> a;
cin >> b;
Dalam hal ini data yang di input harus 2, satu untuk variabel a dan lainnya
untuk variabel b yang penulisannya dipisahkan dengan : spasi, tabular
atau newline.

2.4 Tipe kesalahan pada C++


2.4.1 Kesalahan Sintaksis
Bahasa C++ hanya dapat dieksekusi, jika dan hanya jika program tersebut
memiliki sintaksis yag telah sepenuhnya benar. Jika tidak, maka proses akan
berhenti dan memberikan pesan kesalahan. Sintaksis menunjukkan struktur
program dan aturannya.
2.4.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 terjadi.
2.4.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. Namun, program tersebut tidak menjalankan program dengan benar
atau tidak menjalankan program sesuai dengan maksud yang diinginkan
programmer.
2.5 Kelebihan dan kelemahan bahasa C
2.5.1 Kelebihan Bahasa C++
Bahasa Standard-nya ANSI bisa dipakai diberbagai platform.
Kecepatan program jika dibanding dengan program yang sama buatan bahasa
lain, relatif lebih cepat.
Kode bahasa C++ dengan portabilitas dan fleksibilitas yang tinggi untuk semua
jenis computer.
Bahasa C++ tersedia hampir di semua jenis komputer.
Kode program bersifat reuseable, sehingga dapat digunakan kembali pada
project lain dengan hanya menggunakan library dan file header.
Bahasa C++ hanya menyediakan sedikit kata-kata kunci (hanya terdapat 48 kata
kunci).
Dukungan pustaka fungsi dan kelas yang banyak sehingga memungkinkan
pembuatan aplikasi makro.
C++ adalah bahasa yang terstruktur, dengan demikian akan lebih mendukung
OOP.
Bahasa C++ termasuk bahasa tingkat menengah dan lebih dekat dengan bahasa
mesin.
C++ dapat membuat aplikasi graphic processor berkualitas tinggi.

2.5.2 Kekurangan Bahasa C:


C++ tidak murni OOP sehingga kurang cocok untuk mengajarkan Konsep OOP
karena kaidah-kaidah OOP dapat dilanggar. Dan di C++ ada konsep pointer
yang sangat membingunkan, ini salah satu alasan mengapa C++ menjadi
sesuatu yg paling tidak disukai.
C++ walapun tidak terpengaruh oleh Sistem Operasi tetapi tool untuk
developmentnya harus spesific pada salah satu sistem operasi contoh Visual
Studio hanya dapat berjalan di Windows. Alasan ini juga nantinya akan dapat
menurunkan minat terhadap sistem operasi yang lain contohnya Linux. Apabila
dalam praktiknya menggunakan Visual Studio maka otomatis akan
menggunakannya juga dan pada akhirnya malas untuk mencoba sistem operasi
yang lain.
Implementasi C++ dalam teknologi IT pada saat sekarang sudah sangat sedikit
sekali.
Sulitnya untuk membuat sesuatu dengan C++ sehingga kepeminatannya dalam
memperdalam programming akhirnya harus kandas, kecuali dengan inisiatif
sendiri mempelajari bahasa/teknologi lain.

Anda mungkin juga menyukai