Bahasa Pemrograman C++
Bahasa Pemrograman C++
Bahasa Pemrograman C++
TEKNIK INFORMATIKA
BAHASA PEMROGRAMAN C++
Dosen Pengampu :
Oleh :
Saat ini, C++ sudah jauh mengalami perubahan dibandingkan pada awal
kemunculannya, baik dari sisi bahasa maupun library standarnya. C++ telah mengalami
beberapa kali revisi melalui proses standarisasi. Nama standar tersebut kemudian dikenal
dengan sebutan C++11, ada juga yang menyebutnya C++ox. Tujuan dari proses standarisasi
tersebut sebenarnya adalah untuk memberikan kemudahan bagi para penggunanya.
Bab ini akan menjelaskan wawasan dan pegetahuan dasar tentang C++, termasuk sejarah dan
proses evolusinya. Melalui bab ini, diharapkan pembaca dapat memahami dengan benar
konsep program di dalam C++.
Saat ini banyak sekali beredar bahasa pemrograman baru yang saling bersaing guna
menjaring banyaknya pengguna dan juga popularitas. Akan tetapi, pada
kenyataannya, C++ masih menjadi idola dan menjadi tiga peringkat teratas dari
bahasa-bahasa yang paling banyak digunakan oleh para programmer (skala
internasional), selain bahasa C dan Java. Selain ketiga bahasa pemrograman tersebut,
bahasa lain yang mulai beranjak naik dan mulai banyak penggunaannya adalah
Phyton dan Ruby.
Tahun 1969, laboratorium Bell AT&T di Muray Hill, New Jersey menggunakan
bahasa Assembly ini untuk mengembangkan system operasi UNIX. Maksudnya
adalah untuk membuat sistem operasi yang bersifat “programmer-friendly”. Setelah
UNIX berjalan, Ken Thompson, seorang pengembang sistem di laboratorium tersebut
mengembangkan compiler baru dengan nama bahasa B. Huruf B ini diambil dari
BCPL. Bahasa B ini kemudian digunakan untuk menulis ulang atau merevisi sistem
operasi UNIX. Oleh karena bahasa B ini masih bersifat interpreter dan lambat, maka
pada tahun 1971, sistem operasi UNIX kemudian ditulis ulang dengan menggunakan
bahasa C, yaitu bahasa pemrograman yang dikembangkan oleh Dennis Ritchie,
seorang pengembang sistem di laboratorium yang sama.
Bahasa C++ didasarkan atas bahasa C sehingga kita dapat melakukan kompilasi
program-program yang ditulis dalam bahasa C dengan menggunakan compiler C++.
Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman
berarah objek atau yang lebih sering dikenal dengan istilah Object Oriented
Programming (OOP).
Kedua bahasa ini (C dan C++) merupakan bahasa yang sangat populer dalam dunia
pengembangan perangkat lunak. Keduanya digolongkan ke dalam bahasa tingkat
menengah (middle level language). Di sisi lain, dalam dunia akademis, seorang
profesor yang bernama Niklaus Wirth di Universitas Zurich, Swiss, mengembangkan
bahasa tingkat tinggi (high level language) yang disebut dengan bahasa Pascal untuk
mengajarkan algoritma kepada para mahasiswanya. Maka dari itu, di lingkungan
akademis bahasa Pascal lebih populer dibandingkan bahasa C atau C++. Sebagai
bahan pengetahuan bagi Anda, berikut ini pengelompokan tingkatan dari bahasa
pemrograman.
Dari tabel tersebut dapat kita lihat bahwa bahasa pemrograman yang terdapat pada
bagian paling atas merupakan bahasa pemrograman yang paling mudah untuk
dipahami. Sebagai contoh, C adalah bahasa yang lebih sulit di bandingkan C++ dan
C++ adalah bahasa yang lebih sulit dibandingkan dengan bahasa Java, dan seterusnya.
Menurut Bjarne Stroustrup (pencipta C++), alasan mengapa C diambil sebagai bahasa
dasar dari pembentukan bahasa C++ adalah sebagai berikut:
Dapat dihubungkan dengan bahasa tingkat rendah
Berjalan di manapun dan untuk masalah apa pun
Berjalan mulus dalam sistem operasi UNIX
BAB 2
Struktur/Karakteristik Bahasa C++
Kode
KodeAssembly
Assembly C++
(Assembly
(AssemblyCode) Compiler
Code)
Kode
KodeObjek
Objek
Assembler
(Object
(ObjectCode)
Code)
Program
Program Linker
(File .exe atau .o)
(File .exe atau .o)
Standard
StandardRuntime
Runtime
Loader
Library
Library
OutputOutput
2.2.1 Program C++ Preprocessor
(Hasil Program)
(Hasil
Pada pembentukan program yang Program)
ditulis dalam C++, mula-mula kode program akan
diproses oleh program C++ Preprocessor. Program ini akan menggabungkan kode
program dengan preprocessor directive yang digunakan di dalam kode. Preprocessor
directive adalah statemen program yang diawali dengan tanda #. Pembahasan lebih
lanjut mengenai preprocessor directive ini akan dikaji dalam bab tersendiri dalam
buku ini.
Pada tahap ini, statemen #include, #define, dan lain-lain akan diubah ke
dalam bentuk kode aktual. Sebagai contoh, apabila di dalam kode program terdapat
statemen #include <iostream> maka seluruh isi dari file "iostream" akan
dimasukkan ke dalam kode program. Selanjutnya, bentuk kode yang telah diperluas
ini kemudian siap dikirim ke program C++ Compiler.
int main()
return 0;
#include <iostream>
Dalam contoh diatas, file iostream berisi kode program agar nantinya kita bisa
mengakses perintah input/output seperti cout dan cin. iostream sendiri
merupakan singkatan dari input output stream.
Dengan kata lain, agar di dalam kode program nanti kita bisa menggunakan
perintah cout, di bagian paling atas kode program C++ harus terdapat
baris #include <iostream>. File include ini juga sering disebut
sebagai header file.
Hasilnya, ukuran file program yang ditulis dalam bahasa C++ menjadi efisien. Kita
hanya perlu menggunakan header file saat dibutuhkan saja. Namun kebalikannya,
setiap ingin menggunakan perintah tertentu, harus men-include-kan file header yang
dibutuhkan.
int main(){}
1#include <iostream>
2
3int main()
4{
5 std::cout << "Hello World! \n";
6 std::cout << "Sedang Belajar Bahasa C++ ";
7 std::cout << "di Duniailkom";
8 return 0;
9}
Hello World!
Sedang Belajar Bahasa C++ di Duniailkom
1
#include <iostream>
2
3
using namespace std;
4
5int main()
6{
7 cout << "Hello World! \n";
8 cout << "Sedang Belajar Bahasa C++ ";
9 cout << "di Duniailkom";
10 return 0;
11}
return 0;
3.2 Komentar
Komentar program didefinisikan sebagai bagian dari sintaks program yang tidak ikut
dibaca pada saat proses kompilasi. Dalam bahasa C++, komentar dibagi menjadi dua
jenis yaitu komentar yang hanya terdiri dari satu baris dan komentar yang terdiri dari
beberapa baris.
3.3 Identifier
Identifier merupakan suatu pengenal atau pengidentifikasi yang kita deklarasikan agar
kompiler dapat mengenalinya. Identifier sendiri dapat berupa variabel, konstanta,
fungsi, kelas, template maupun namespace. Identifier yang berfungsi sebagai variabel
dan konstanta berfungsi untuk menampung sebuah nilai yang digunakan dalam
program. Identifikasi ini dilakukan untuk mempermudah proses penanganan data atau
nilai, misalnya untuk memasukkan dan menampilkan nilai.
3.3.1 Konstanta
Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai
dari konstanta di dalam program tidak dapat diubah. Untuk pendeklerasian
konstanta adalah sebagai berikut:
3.3.2 Variabel
Variabel adalah identifier yang mempunyai nilai dinamis, artinya bahwa nilai
variabel tersebut dapat kita sesuaikan dengan kebutuhan kita dalam program.
3.5 Operator
Operator adalah tanda yang digunakan untuk melakukan operasi-operasi tertentu di
dalam program. Dengan operator, kita dapat melakukan operasi perhitungan,
perbandingan, manipulasi bit, dan lain-lain.
3.6 Percabangan
Salah satu permasalahan yang pasti akan dijumpai dalam pembuatan program adalah
suatu percabangan. Percabangan yang dimaksud di sini tidak lain adalah suatu
pemilihan statemen yang akan dieksesusi di mana pemilihan tersebut didasarkan atas
kondisi tertentu. Di dalam C++, terdapat dua buah jenis struktur (blok program) yang
digunakan untuk mengimplementasikan suatu percabangan, yaitu dengan
menggunakan struktur if dan struktur switch.
Statemen-statemen yang terdapat dalam sebuah blok percabangan akan dieksekusi
hanya jika kondisi yang didefinisikan terpenuhi (bernilai benar). Artinya jika kondisi
tidak terpenuhi (bernilai salah), maka statemen-statemen tersebut juga tidak ikut
dieksekusi atau dengan kata lain akan diabaikan oleh compiler.
"Jika Andi lulus ujian maka Andi akan dibelikan sepeda motor oleh ayahnya."
Coba Anda amati, pada kalimat di atas yang merupakan kondisi adalah lulus ujian.
Pada kasus ini sepeda motor hanya akan dibeli jika Andi lulus ujian. Sebaliknya, jika
tidak lulus, maka sepeda motor pun tidak akan dibeli.
3.7 Pengulangan
Pengulangan adalah suatu proses yang melakukan statemen-statemen dalam sebuah
program secara terus-menerus sampai terdapat kondisi untuk menghentikannya.
Struktur pengulangan akan sangat membantu dalam efisiensi program.
3.8 Pointer
Salah satu kelebihan dari bahasa C/C++ adalah karena bahasa ini mendukung
sepenuhnya untuk pemanipulasian memori dengan menggunakan pointer. Namun di
balik itu, pointer juga merupakan salah satu fitur C++ yang berbahaya karena dapat
mengakibatkan sistem operasi pada komputer kita menjadi 'crash' (rusak).
Penggunaan pointer dengan cara yang salah juga dapat menyebabkan 'bug' yang
sangat sulit untuk ditemukan pada program kita.
3.9 Referensi
Referensi (reference) merupakan alias atau nama lain (julukan) dari sebuah variabel.
Sebagai contoh, apabila terdapat seseorang yang bernama Bjarne Stroustrup, maka
kita dapat membuat alias atau julukan dari nama tersebut, misalnya dengan alias BS.
Oleh karena Bjarne Stroustrup dan BS sebenarnya adalah satu orang, maka apa yang
dilakukan terhadap Bjarne Stroustrup, berarti itu juga terjadi pada BS. Begitu juga
sebaliknya.
3.10 Array
Array (larik) merupakan hal fundamental yang sering dijumpai dalam banyak kasus di
dunia pemrograman. Maka dari itu, sebagai programmer Anda perlu membekali diri
dengan pemahaman konsep array dan mampu mengimplementasikannya ke dalam
kasus-kasus yang Anda hadapi
3.11 Fungsi
Fungsi merupakan kumpulan statemen yang dikelompokkan menjadi satu bagian kode
(blok program) untuk menyelesaikan tugas spesifik tertent Melalui cara seperti itu,
kode (fungsi) hanya didefinisikan sekali, namo dapat digunakan berulang kali tanpa
harus menuliskan kembali kode sama. Dengan kata lain, fungsi merupakan
subprogram dan berguna unt menjadikan program dapat lebih bersifat modular
sehingga akan muda dipahami dan dapat digunakan kembali, baik untuk program itu
sendin maupun untuk program lain yang memiliki proses yang sama. yang
Dalam setiap bahasa pemrograman (termasuk C++), fungsi dibedakan menjadi dua,
yaitu "user-defined function" dan "built-in function". User defined function adalah
fungsi-fungsi yang didefinisikan sendiri, sedangkan built-in function adalah fungsi-
fungsi 'siap pakai' yang telah disediakan oleh compiler.
Dalam C++, program merupakan kumpulan dari fungsi, baik yang didefinisikan
langsung dalam program maupun yang dideklarasikan dalam suatu file header. C/C++
sendiri mempunyai fungsi utama yang disebut fungsi main(). Fungsi main() ini selalu
ada dalam setiap program C/C++ dan compiler akan menjalankan program melalui
perintah-perintah yang terdapat dalam fungsi ini. Dengan kata lain, fungi main () akan
dipanggil pertama kali ketika program dijalankan.
4.2 Mengapa C/C++, dan bukan bahasa pemrograman tingkat tinggi lainya?
Desain utama dari C/C++ adalah untuk menghasilkan kode portabel tetap menjaga
kinerja dan meminimalkan jejak, seperti halnya untuk sistem operasi atau program
lain di mana "tingkat tinggi" antarmuka akan mempengaruhi kinerja. Ini adalah
bahasa yang stabil dan matang yang fitur tidak mungkin menghilang untuk waktu
yang lama dan telah porting ke sebagian besar, jika tidak semua, platform. Misalnya,
program C/C++ dapat dikompilasi dan dijalankan di kalkulator HP 50g (prosesor
ARM), kalkulator TI-89 (68000 prosesor), Palm OS Cobalt smartphone (prosesor
ARM), iMac asli (PowerPC), Arduino (Atmel AVR), dan iMac Intel (Intel Core 2
Duo). Sementara hampir semua bahasa pemrograman populer akan berjalan pada
setidaknya salah satu perangkat, C/C++ dapat menjadi bahasa pemrograman yang
berjalan pada lebih dari 3 perangkat tersebut. Salah satu alasan kuat adalah alokasi
memori. Tidak seperti bahasa komputer yang paling, C/C++ memungkinkan
programmer untuk menulis langsung ke memori. Konstruksi kunci dalam C/C++
seperti struct, pointer dan array dirancang untuk struktur, dan memanipulasi memori
dengan cara, efisien mesin-independen. Secara khusus, C/C++ memberikan kontrol
atas tata letak memori struktur data. Selain itu alokasi memori dinamis adalah di
bawah kendali programmer, yang pasti berarti bahwa dealokasi memori beban
programmer. Bahasa seperti Java dan Perl perisai programmer dari keharusan untuk
khawatir tentang alokasi memori dan pointer. Ini biasanya hal yang baik, karena
berurusan dengan alokasi memori ketika membangun sebuah program tingkat tinggi
adalah kesalahan yang sangat rawan proses. Namun, ketika berhadapan dengan kode
tingkat rendah seperti bagian dari OS yang mengontrol perangkat, C/C++
menyediakan antarmuka, seragam bersih. Kemampuan ini hanya tidak ada dalam
bahasa lain seperti Jawa. Sedangkan Perl, PHP, Python dan Ruby mungkin kuat dan
mendukung banyak fitur yang tidak disediakan secara default di C/C++, mereka
biasanya tidak diimplementasikan dalam bahasa mereka sendiri. Sebaliknya,
kebanyakan bahasa seperti pada awalnya bergantung pada yang ditulis dalam C/C++
(atau bahasa pemrograman lain kinerja tinggi), dan akan membutuhkan implementasi
mereka menjadi porting ke platform baru sebelum mereka dapat digunakan. Seperti
dengan semua bahasa pemrograman, apakah Anda ingin memilih C/C++ lebih dari
yang lain bahasa tingkat tinggi adalah masalah pendapat dan persyaratan baik teknis
dan bisnis.
5.1 Kesimpulan
Bahasa Pemrograman C++
C++ dan C sebagai bahasa pendahulunya, C merupakan termasuk bahasa pemrograma
n tingkat menengah. Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie
pada tahun 1972. C merupakan bahasa pemrograman terstruktur yang membagi
program ke dalam sejumlah blok (sub program). Tujuannya adalah untuk
memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis
dengan C mudah sekali dipindahkan dari satu jenis mesin ke mesin lain. Hal ini
karena adanya standarisasi C yaitu ANSI (American National Standards Institute)
yang menjadi acuan para pembuat diciptakan satu dekade setelah C. C++ diciptakan
oleh Bjarne Stroustroup dari Laboratorium Bell, AT&T pada tahun 1983. Pada
awalnya C++ diberi nama “A better C”. Nama C++ sendiri diberinama oleh Rick
Mascitti. Adapun anda ++ berasal dari operator increment pada bahasa C.
Keistimewaan C++ adalah karena bahasa ini mendukung OOP (Object Oriented
Programming). Tujuan utama pembuatan C++ adalah untuk meningkatkan
produktivitas pemrogram dalam membuat aplikasi. Kebanyakan pakar setuju bahwa
OOP dan C++ mampu mengurangi kompleksitas terutama program yang terdiri dari
10.000 baris lebih, bahkan dapat meningkatkan produktivitas 2x lipat dari C, Pascal
dan Basic.
Saran
Untuk penyempurnaan pembuatan makalah kedepannya, saya mengharapkan adanya
saran dari semua pihak baik dosen maupun seluruh mahasiswa yang membaca
makalah PEMROGRAMAN C++ ini terhadap kekurangan yang terdapat pada
makalah ini.
Daftar Pustaka
Raharjo, Budi. 2014. Pemrograman C++ Edisi Revisi. Bandung: Informatika Bandung.
Andre. 2020. “Tutorial Belajar C++ Part 5: Struktur Dasar Kode Program C++”,
https://www.duniailkom.com/tutorial-belajar-c-plus-plus-struktur-dasar-kode-program-c-
plus-plus/
Mahardika, Mario. 2020. “aplikasi besar yang dibuat menggunakan bahasa pemrograman C
& C++”, https://id.quora.com/Apa-saja-aplikasi-besar-yang-dibuat-menggunakan-bahasa-
pemrograman-C-C/answer/Mario-Ray-Mahardhika-1/log