Salah satu dari sekian bahasa pemrograman, pemrograman C++ merupakan salah satu bahasa pemrograman yang paling berpengaruh dalam pengembangan perangkat lunak modern. Bahasa pemrograman ini dikenal karena fleksibilitas dan kekuatan yang ditawarkannya, C++ sering digunakan dalam berbagai aplikasi, mulai dari pengembangan sistem operasi hingga permainan video. Dalam artikel ini, penulis akan menyajikan beberapa contoh coding C++ yang mencakup berbagai aspek dasar dan lanjutan. Simak contoh-nyacontohnya di bawah ini.
Daftar Isi
20 Contoh Coding C++ Simpel untuk Latihan
Langsung saja mari kita bahas satu persatu contoh coding C++ yang bisa kamu jadikan sebagai salah satu sumber untuk latihan ngoding C++.
1. Hello World
#include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; }
- Program ini adalah contoh klasik dari pemrograman C++ yang mencetak teks “Hello, World!” ke layar. Fungsi
std::cout
digunakan untuk menampilkan teks, danstd::endl
untuk membuat baris baru. Fungsimain()
adalah titik masuk program yang selalu dimulai dari sini.
2. Penjumlahan Dua Bilangan
#include <iostream> int main() { int a, b; std::cout << "Masukkan dua bilangan: "; std::cin >> a >> b; std::cout << "Hasil penjumlahan: " << a + b << std::endl; return 0; }
- Program ini meminta pengguna untuk memasukkan dua bilangan dengan
std::cin
dan menyimpannya dalam variabela
danb
. Kemudian, program menghitung jumlah kedua bilangan tersebut dan menampilkannya menggunakanstd::cout
. Ini menunjukkan cara kerja input dan output dasar di C++.
3. Pengulangan dengan for
Loop
#include <iostream> int main() { for (int i = 1; i <= 5; ++i) { std::cout << "Angka: " << i << std::endl; } return 0; }
- Program ini menggunakan
for
loop untuk mencetak angka dari 1 hingga 5. Loop ini dimulai darii = 1
dan terus berlanjut hinggai
lebih kecil atau sama dengan 5. Setiap iterasi mencetak nilaii
dan baris baru ditambahkan menggunakanstd::endl
.
4. Pengulangan dengan while
Loop
#include <iostream> int main() { int i = 1; while (i <= 5) { std::cout << "Angka: " << i << std::endl; ++i; } return 0; }
- Program ini menggunakan
while
loop untuk mencetak angka dari 1 hingga 5. Variabeli
diinisialisasi dengan 1 dan loop berlanjut selamai
kurang dari atau sama dengan 5. Pada setiap iterasi,i
dicetak dan kemudian ditingkatkan dengan++i
.
5. Fungsi untuk Menghitung Faktorial
#include <iostream> int factorial(int n) { if (n <= 1) return 1; return n * factorial(n - 1); } int main() { int num; std::cout << "Masukkan bilangan: "; std::cin >> num; std::cout << "Faktorial dari " << num << " adalah " << factorial(num) << std::endl; return 0; }
- Program ini menghitung faktorial dari bilangan yang diberikan dengan menggunakan fungsi rekursif
factorial
. Jikan
kurang dari atau sama dengan 1, fungsi mengembalikan 1. Untuk nilai lebih besar, fungsi memanggil dirinya sendiri dengann-1
hingga mencapai kondisi dasar.
6. Mencetak Bilangan Genap dari 1 hingga 10:
#include <iostream> int main() { for (int i = 1; i <= 10; ++i) { if (i % 2 == 0) { std::cout << i << " adalah bilangan genap" << std::endl; } } return 0; }
- Program ini mencetak bilangan genap dari 1 hingga 10 dengan menggunakan
for
loop dan pernyataanif
. Kondisii % 2 == 0
digunakan untuk memeriksa apakah angka tersebut genap. Jika benar, angka dicetak dengan pesan yang sesuai.
7. Menampilkan Matriks 2×2:
#include <iostream> int main() { int matrix[2][2] = { {1, 2}, {3, 4} }; std::cout << "Matriks 2x2:" << std::endl; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 2; ++j) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } return 0; }
- Program ini mendeklarasikan dan menginisialisasi matriks 2×2, kemudian mencetak elemen-elemen matriks. Dua loop bersarang digunakan untuk iterasi baris dan kolom matriks, dan
std::cout
digunakan untuk menampilkan elemen-elemen matriks.
8. Menggunakan Array
#include <iostream> int main() { int arr[5] = {1, 2, 3, 4, 5}; std::cout << "Array:" << std::endl; for (int i = 0; i < 5; ++i) { std::cout << arr[i] << " "; } std::cout << std::endl; return 0; }
- Program ini mendeklarasikan array
arr
dengan lima elemen dan kemudian mencetak semua elemen array menggunakan loopfor
. Ini menunjukkan cara mendeklarasikan dan mengakses elemen array dalam C++.
9. Program dengan Pointer
#include <iostream> int main() { int num = 10; int* ptr = # std::cout << "Nilai num: " << num << std::endl; std::cout << "Alamat pointer: " << ptr << std::endl; std::cout << "Nilai melalui pointer: " << *ptr << std::endl; return 0; }
- Program ini mendemonstrasikan penggunaan pointer. Pointer
ptr
menyimpan alamat variabelnum
, dan program menampilkan nilai variabel dan alamat pointer, serta nilai yang ditunjuk oleh pointer.
10. Class dan Objek
#include <iostream> class Car { public: std::string brand; int year; void display() { std::cout << "Brand: " << brand << ", Year: " << year << std::endl; } }; int main() { Car myCar; myCar.brand = "Toyota"; myCar.year = 2020; myCar.display(); return 0; }
- Program ini mendefinisikan class
Car
dengan atributbrand
danyear
, serta metodedisplay
untuk menampilkan informasi. ObjekmyCar
dibuat dari class ini, dan atributnya diatur serta ditampilkan menggunakan metodedisplay
.
11. Inheritance (Pewarisan)
#include <iostream> class Animal { public: void eat() { std::cout << "Animal is eating" << std::endl; } }; class Dog : public Animal { public: void bark() { std::cout << "Dog is barking" << std::endl; } }; int main() { Dog myDog; myDog.eat(); myDog.bark(); return 0; }
- Program ini menunjukkan pewarisan di mana class
Dog
mewarisiAnimal
.Dog
memiliki metode tambahanbark
dan juga dapat menggunakan metodeeat
dari classAnimal
. ObjekmyDog
mengakses kedua metode tersebut.
12. Polymorphism
#include <iostream> class Base { public: virtual void show() { std::cout << "Base class" << std::endl; } }; class Derived : public Base { public: void show() override { std::cout << "Derived class" << std::endl; } }; int main() { Base* basePtr; Derived derivedObj; basePtr = &derivedObj; basePtr->show(); // Menampilkan "Derived class" return 0; }
- Program ini menunjukkan konsep polymorphism menggunakan metode virtual. Class
Derived
meng-override metodeshow
dari classBase
. Ketika pointerbasePtr
menunjuk ke objekDerived
dan memanggilshow
, metode dariDerived
yang dipanggil.
13. Overloading Operator
#include <iostream> class Complex { public: int real, imag; Complex operator + (const Complex& obj) { Complex temp; temp.real = real + obj.real; temp.imag = imag + obj.imag; return temp; } void display() { std::cout << real << " + " << imag << "i" << std::endl; } }; int main() { Complex c1, c2, result; c1.real = 5; c1.imag = 3; c2.real = 2; c2.imag = 4; result = c1 + c2; result.display(); return 0; }
- Program ini meng-overload operator
+
untuk classComplex
. Operator+
digunakan untuk menjumlahkan dua objekComplex
, mengembalikan objek baru dengan hasil penjumlahan. Metodedisplay
menampilkan hasil penjumlahan.
14. Handling Exception
#include <iostream> #include <stdexcept> int main() { try { throw std::runtime_error("Terjadi kesalahan!"); } catch (const std::runtime_error& e) { std::cout << "Exception: " << e.what() << std::endl; } return 0; }
- Program ini menangani exception dengan blok
try
dancatch
. Kesalahan tipestd::runtime_error
dilemparkan dan ditangkap oleh blokcatch
, yang kemudian menampilkan pesan kesalahan menggunakane.what()
.
15. File I/O
#include <iostream> #include <fstream> int main() { std::ofstream outFile("example.txt"); outFile << "Hello, file!" << std::endl; outFile.close(); std::ifstream inFile("example.txt"); std::string line; while (getline(inFile, line)) { std::cout << line << std::endl; } inFile.close(); return 0; }
- Program ini menulis teks ke file menggunakan
ofstream
dan membacanya kembali menggunakanifstream
. Teks “Hello, file!” ditulis ke file “example.txt” dan kemudian dibaca dan ditampilkan ke layar.
16. Template Function
#include <iostream> template <typename T> T maximum(T a, T b) { return (a > b) ? a : b; } int main() { std::cout << "Maximum of 3 and 7: " << maximum(3, 7) << std::endl; std::cout << "Maximum of 3.5 and 2.5: " << maximum(3.5, 2.5) << std::endl; return 0; }
- Program ini menggunakan template fungsi
maximum
untuk membandingkan dua nilai dari tipe data apa pun. Template ini memungkinkan fungsimaximum
digunakan untuk tipe data yang berbeda sepertiint
dandouble
.
17. Sorting Array (Bubble Sort)
#include <iostream> void bubbleSort(int arr[], int n) { for (int i = 0; i < n-1; ++i) { for (int j = 0; j < n-i-1; ++j) { if (arr[j] > arr[j+1]) { std::swap(arr[j], arr[j+1]); } } } } int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr)/sizeof(arr[0]); bubbleSort(arr, n); std::cout << "Sorted array: "; for (int i = 0; i < n; ++i) { std::cout << arr[i] << " "; } std::cout << std::endl; return 0; }
- Program ini mengimplementasikan algoritma bubble sort untuk mengurutkan array
arr
. Bubble sort membandingkan setiap pasangan elemen dan menukarnya jika perlu, hingga seluruh array terurut.
Penutup
Dari contoh-contoh coding C++ yang telah dibahas di atas, penulis berharap Anda dapat memperoleh wawasan yang lebih dalam mengenai berbagai fitur dan teknik yang tersedia dalam bahasa pemrograman ini. Setiap contoh tidak hanya menunjukkan cara penulisan kode tetapi juga menjelaskan bagaimana konsep-konsep tersebut dapat diterapkan dalam situasi dunia nyata. Semoga bermanfaat dan jangan lupa share ke temanmu yang lainnya juga ya.