Memahami Esensi Bahasa Pemrograman C++

Memahami Esensi Bahasa Pemrograman C++

Bahasa C++ (dibaca ‘Si plus plus’) adalah bahasa pemrograman komputer yang strongly-typed dan fleksibel, serta banyak digunakan untuk pengembangan perangkat lunak dan sistem komputer. Bahasa C++ dikembangkan oleh ilmuwan komputer Denmark, Bjarne Stroustrup dan dirilis pada tahun 1985. Bahasa ini merupakan adaptasi dari bahasa pemrograman C yang populer dengan menambahkan beberapa fitur-fitur canggih seperti pemrograman berorientasi objek (OOP) untuk membangun program yang terstruktur dan efisien. 

Dengan konsep OOP, programmer dapat membuat program yang modular, dapat digunakan kembali, dan mudah dipelihara. Kemampuan ini menjadikan C++ pilihan utama dalam pengembangan aplikasi kompleks seperti game, pengembangan perangkat lunak, dan program-program berkinerja tinggi.

Selain itu, C++ juga terkenal dengan performanya yang optimal. Berbeda dengan kebanyakan bahasa pemrograman lain, C++ menawarkan kontrol yang lebih detail terhadap manajemen memori sehingga programmer dapat menulis kode yang berjalan dengan sangat efisien. Bagi kamu yang sedang mencari tahu literasi bahasa pemrograman untuk membangun aplikasi berperforma tinggi, C++ adalah salah satu pilihan yang tepat. 

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Banyak perusahaan teknologi ternama yang menggunakan C++ untuk produk mereka, seperti Google, Adobe, dan Microsoft. Untuk mempersingkat waktu baca, mari kita eksplorasi secara singkat tentang apa yang membuat bahasa C++ begitu populer dan tangguh.

Bagaimana Menggunakan C++

Untuk menulis kode program, kita memerlukan editor seperti Visual Studio Code, Visual Studio, Code::Blocks, Atom, Sublime Text, vim, notepad, emacs, dll. 

Lalu, jangan lupa menginstal compiler C++ pada komputer atau laptop. Jika menggunakan Visual Studio Code, silakan download pada link berikut ini https://code.visualstudio.com/download.  

Petunjuk instal untuk masing-masing sistem operasi dapat Anda lihat pada tautan berikut. 

Selain itu, jangan lupa untuk menginstal C++ extension yang dibutuhkan melalui tautan berikut ini C/C++ for Visual Studio Code.
Sebagai alternatif, kamu juga bisa menggunakan C++ online compiler seperti di bawah ini.

Sintaksis Dasar Bahasa C++

Sintaks merupakan pedoman dan peraturan yang harus diikuti ketika menuliskan baris kode/instruksi dalam bahasa pemrograman. Selain itu, sintaks juga dapat dipandang sebagai kerangka yang menentukan struktur bahasa pemrograman.

Bahasa C++ juga memiliki sintaks untuk fungsi-fungsi yang sudah disediakan. Instruksi yang berbeda memiliki sintaks yang berbeda yang menentukan penggunaannya, tetapi program C++ juga memiliki aturan sintaks dasar yang diikuti di seluruh program. Untuk memahami struktur sintaks bahasa C++, dapat dilihat pada gambar di bawah ini.
Sintaksis Dasar Bahasa C++
#include <iostream> : bagian ini disebut preprocessor directive untuk menyertakan file header.

<iostream>
: memberikan akses ke fungsi input-output standar dalam C++.

using namespace std
: bagian ini disebut deklarasi yang memberi tahu program untuk menggunakan namespace std yang berisi banyak fungsi dan objek standar.

int main()
: bagian ini disebut deklarasi fungsi utama (main) yang merupakan pintu masuk eksekusi untuk program C++.

{ dan } : bagian ini disebut kurung kurawal membuka dan menutup blok baris kode untuk fungsi main.

Semicolon ( ; )
: setiap baris kode dalam contoh di atas diakhiri dengan simbol titik koma ( ; ). Simbol ini berfungsi sebagai penanda akhir dari setiap baris kode dalam program. Ketika kompiler menemui titik koma ini, proses eksekusi pada baris tersebut dihentikan dan lanjut ke baris kode berikutnya.

return 0;
: bagian ini disebut pernyataan kembalian yang mengindikasikan bahwa program telah selesai dengan sukses, sedangkan 0 adalah kode keluaran yang menunjukkan tidak ada kesalahan.

Penulisan Komentar pada C++

Komentar dalam bahasa pemrograman C++ bertujuan untuk memberikan penjelasan mengenai setiap baris kode dengan tujuan memudahkan pembacaan. Penulisan komentar ini dilakukan untuk menyediakan informasi yang relevan terkait dengan implementasi kode yang sedang dibuat. Praktik ini umum dilakukan oleh para programmer sebagai bagian dari dokumentasi proyek mereka. Contohnya seperti gambar dibawah ini.

penulisan komentar pada c++

Object Oriented Programming(OOP)

Salah satu karakteristik yang membedakan bahasa pemrograman C++ adalah kemampuannya dalam mendukung paradigma Object Oriented Programming (OOP). Salah satu fitur penting OOP dari C++ adalah kemampuan create dan destroy objek selama proses pemrograman. 

Selain itu, C++ juga memungkinkan pembuatan blueprint yang dapat digunakan untuk menciptakan objek dengan struktur yang telah ditentukan sebelumnya. Beberapa konsep dasar bahasa C++ dalam Object Oriented Programming (OOP) antara lain: Class, Objects, Encapsulation, Abstraction, Polymorphism, Inheritance, Dynamic Binding, Message Passing.

Contoh kode dengan menggunakan konsep OOP sederhana seperti gambar berikut ini.

kode dengan menggunakan kode OOP sederhana

Setelah dijalankan, hasilnya seperti gambar dibawah ini.

hasil kode setelah dijalankan

Penjelasan:

class Persegipanjang : definisi kelas dengan nama kelas Persegipanjang. Kelas adalah blueprint untuk membuat objek (struktur data tertentu), menyediakan nilai awal untuk status (variabel member), dan implementasi perilaku (fungsi atau metode member).

private: int panjang; int lebar; : ini disebut sebagai variabel privat dari sebuah kelas. Variabel privat hanya dapat diakses di dalam kelas tempat variabel tersebut didefinisikan.

public: Persegipanjang(int x, int y) : ini disebut konstruktor kelas. Konstruktor adalah fungsi member khusus dari sebuah kelas yang digunakan untuk menginisialisasi objek dari kelas tersebut. Fungsi ini memiliki nama yang sama dengan kelas dan dipanggil ketika sebuah objek dari kelas tersebut dibuat.

int hitungLuas() : ini disebut fungsi member publik dari kelas. Fungsi ini menghitung dan mengembalikan luas persegi panjang.

Dynamic Memory Allocation

Alokasi memori pada dasarnya adalah cara untuk memesan sebagian atau seluruh bagian dari ruang memori sistem untuk eksekusi aplikasi. Alokasi memori dapat dilakukan melalui metode yang dikenal sebagai manajemen memori. Dalam bahasa C++, tipe alokasi memori terbagi dua yaitu, static memory dan dynamic memory. 

Static memory adalah memori yang dapat dialokasikan atau tidak dialokasikan oleh kompiler langsung. Berikut contoh sintaksnya.

static memory bahasa pemrograman c++

Variabel x dideklarasikan dengan tipe data int, sedangkan Array nilai_awal_array dideklarasikan dengan ukuran 20 elemen. Elemen nilai_awal_array dialokasikan memori statis pada saat kompilasi dan String literal “Hello, World!” dialokasikan memori statis pada saat kompilasi.

Tipe alokasi berikutnya adalah dynamic memory, ia merupakan memori yang dapat dialokasikan atau tidak dialokasikan oleh sistem operasi selama menjalankan program C++. Berikut contoh sintaksnya.

dynamic memory bahasa pemrograman c++

int *array{new int[10]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}} adalah deklarasi variabel pointer array yang menunjuk pada blok memori yang dialokasikan secara dinamis untuk menyimpan array bertipe integer dengan panjang 10 elemen. Angka 0 hingga 9 adalah nilai awal dari setiap elemen dalam array tersebut. Dengan menggunakan new int[10], programmer meminta sistem untuk mengalokasikan ruang memori yang cukup untuk 10 integer berturut-turut. Setelah itu, nilai-nilai awal diberikan dalam kurung kurawal.

High-Level Programming Language

Bahasa pemrograman tingkat tinggi (high-level programming language) seperti C++ dirancang untuk memberikan tingkat abstraksi yang tinggi dari detail mesin yang mendasarinya. Artinya, bahasa ini memungkinkan programmer untuk mengekspresikan algoritma dan instruksi dengan cara yang lebih dekat dengan pemikiran manusia daripada dengan cara mesin. Dengan mempelajari dan menggunakan bahasa ini, programmer dapat meningkatkan produktivitas dan efisiensi mereka dalam mengembangkan software.

Case-sensitive

Banyak bahasa pemrograman modern yang memiliki prinsip-prinsip umum yang membedakan mana huruf kecil dan mana huruf besar dalam penulisan kode, termasuk bahasa C++. Jadi dalam konteks pemrograman, jika bahasa diatur sebagai case-sensitive, ia akan memperlakukan variabel “X” dan variabel “x” sebagai dua karakter yang berbeda.

contoh case sensitive pada bahasa pemrograman c++

Setelah dijalankan, hasilnya seperti gambar di bawah ini.

hasil kode case sensitive setelah dijalankan

Mendukung Multi-threading

Sebelum munculnya C++ 11, penggunaan threading dalam bahasa C++ sering kali melibatkan penggunaan library platform khusus atau library pihak ketiga. Biasanya, opsi yang sering digunakan termasuk penggunaan thread POSIX untuk sistem berbasis Unix dan Windows API untuk sistem berbasis Windows. 

Library-library tersebut memberikan fungsi-fungsi untuk pembuatan dan pengelolaan thread, serta primitif sinkronisasi seperti mutex dan variabel kondisi, beserta utilitas lainnya yang terkait dengan threading. Namun, dengan diperkenalkannya C++11, library standar diperluas untuk mencakup library threading yang komprehensif. Ini memberikan standardisasi untuk bekerja dengan thread, mutex, variabel kondisi, dan utilitas threading lainnya secara langsung dalam kode C++. Untuk mengetahui lebih lanjut mengenai multi-threading dalam C++, kamu bisa kunjungi tautan berikut ini Multithreading in C++11 standard (part 1) dan multithreading in C++11 standard (II)

Rekomendasi Ekstensi Visual Studio Code untuk C++

Editor Visual Studio Code (VS Code) sangat familier di kalangan programmer di berbagai platform. Fokus pada kinerja dan produktivitas, editor yang dikembangkan oleh Microsoft ini cukup ringan, cepat, dan kuat. 

Dikenal karena antarmuka pengguna yang bersih dan responsif, VS Code menyediakan berbagai fitur yang mendukung para programmer, termasuk penyorotan sintaksis, penyelesaian kode otomatis, debugging, pengelolaan proyek, integrasi dengan Git, serta dukungan untuk berbagai bahasa pemrograman dan ekstensi yang dapat disesuaikan.

Untuk menambah produktivitas saat menulis baris kode di lingkungan VS Code, dibutuhkan ekstensi. Ekstensi untuk Visual Studio Code (VS Code) adalah tambahan perangkat lunak yang dapat diunduh dan diinstal untuk memperluas fungsionalitas editor kode tersebut. Ekstensi menyediakan fitur tambahan, seperti penyorotan sintaksis, snippet kode, tema visual, dan sebagainya. 

Dengan ribuan ekstensi yang tersedia, programmer dapat menyesuaikan VS Code sesuai dengan kebutuhan mereka. Adapun ekstensi yang bisa kamu coba yaitu Code Runner, Code compare, Sonar lint, Virtual Assist, dan terakhir ReSharper C++. Selamat mencoba ya 🙂

Contoh Program Dengan C++

Langkah pertama untuk mempelajari bahasa C++ adalah dengan membuat program sederhana. Kita akan membuat program menghitung luas persegi panjang dengan menggunakan rumus Luas = Panjang × Lebar, dimana masing-masing nilai Panjang dan Lebar akan ditampung oleh masing-masing variabel x dan y. Sedangkan nilai Luas akan ditampung oleh variabel luas. Yang harus kita tampilkan adalah hasil perhitungan tersebut ke layar konsol. Tampilan kode yang kita tulis akan terlihat seperti gambar di bawah ini.

contoh program dengan c++

Setelah dijalankan, hasilnya seperti berikut.

hasil program c++

Referensi Tambahan untuk Peningkatan Skill C++

Bagaimana pandanganmu mengenai C++ setelah membaca artikel ini? Masih tertarik belajar bahasa C++? 🙂
By the way, kamu dapat mencari referensi tambahan yang dapat membantu memperdalam pemahaman dan meningkatkan keterampilan dalam menggunakan C++.

Berikut beberapa referensi yang direkomendasikan.

  • cplusplus.com: Platform yang menyediakan tutorial, referensi, dan forum diskusi untuk pemula hingga tingkat lanjutan dalam bahasa C++.
  • https://www.learncpp.com/: koleksi artikel dan tutorial tentang konsep-konsep C++ dengan contoh kode yang jelas dan penjelasan mendalam.
  • Stack Overflow: komunitas online yang luas dan berpengalaman dalam bahasa pemrograman C++, di mana Kamu dapat menemukan jawaban atas pertanyaan, memperoleh wawasan baru, dan berpartisipasi dalam diskusi.

Selamat belajar dan semoga sukses dalam perjalanan kamu dalam dunia pemrograman C++!


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.