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::coutdigunakan untuk menampilkan teks, danstd::endluntuk 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::cindan menyimpannya dalam variabeladanb. 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
forloop untuk mencetak angka dari 1 hingga 5. Loop ini dimulai darii = 1dan terus berlanjut hinggailebih kecil atau sama dengan 5. Setiap iterasi mencetak nilaiidan 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
whileloop untuk mencetak angka dari 1 hingga 5. Variabelidiinisialisasi dengan 1 dan loop berlanjut selamaikurang dari atau sama dengan 5. Pada setiap iterasi,idicetak 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. Jikankurang dari atau sama dengan 1, fungsi mengembalikan 1. Untuk nilai lebih besar, fungsi memanggil dirinya sendiri dengann-1hingga 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
forloop dan pernyataanif. Kondisii % 2 == 0digunakan 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::coutdigunakan 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
arrdengan 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
ptrmenyimpan 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
Cardengan atributbranddanyear, serta metodedisplayuntuk menampilkan informasi. ObjekmyCardibuat 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
DogmewarisiAnimal.Dogmemiliki metode tambahanbarkdan juga dapat menggunakan metodeeatdari classAnimal. ObjekmyDogmengakses 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
Derivedmeng-override metodeshowdari classBase. Ketika pointerbasePtrmenunjuk ke objekDeriveddan memanggilshow, metode dariDerivedyang 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. Metodedisplaymenampilkan 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
trydancatch. Kesalahan tipestd::runtime_errordilemparkan 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
ofstreamdan 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
maximumuntuk membandingkan dua nilai dari tipe data apa pun. Template ini memungkinkan fungsimaximumdigunakan untuk tipe data yang berbeda sepertiintdandouble.
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.
Cara Efektif Belajar dari Contoh Coding
Mempelajari contoh coding saja tidak cukup. Supaya hasil belajarmu lebih maksimal, coba ikuti tips berikut:
- Ketik ulang kodenya secara manual, jangan hanya copy-paste. Ini membantu kamu memahami setiap baris perintah.
- Ubah nilai input dan perhatikan hasilnya, agar kamu paham logika yang bekerja di balik kode tersebut.
- Coba modifikasi program sederhana menjadi lebih kompleks, seperti menambahkan validasi input, atau membuat variasi dari program yang sama.
- Gunakan compiler online seperti OnlineGDB atau replit.com untuk langsung mencoba kode jika belum punya compiler di komputer.
Dengan cara ini, kamu tidak hanya tahu cara menulis kode, tapi juga memahami bagaimana kode tersebut bekerja.
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.