Menerapkan seluruh konsep inti C++ ke dalam proyek aplikasi nyata berskala fungsional yang siap dipajang di portofolio GitHub Anda.
Poin Kunci Materi:
- Struktur Record: Menggunakan
struct Mahasiswa untuk menampung entitas data siswa. - STL Vector: Menyimpan data dinamis tanpa batasan kapasitas kaku.
- Custom Lambda Comparator: Mengurutkan peringkat dari nilai tertinggi ke terendah menggunakan
std::sort.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body {
font-family: 'Fira Code', Consolas, Monaco, monospace;
background: #0f172a;
color: #f8fafc;
padding: 20px;
margin: 0;
line-height: 1.6;
}
.header {
background: #1e293b;
padding: 10px 16px;
border-radius: 8px 8px 0 0;
border-bottom: 2px solid #334155;
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
color: #94a3b8;
}
.dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.dot-red { background: #ef4444; }
.dot-yellow { background: #eab308; }
.dot-green { background: #22c55e; }
.code-box {
background: #1e293b;
padding: 18px 20px;
border-bottom: 1px dashed #334155;
color: #38bdf8;
font-size: 14px;
white-space: pre-wrap;
}
.comment { color: #64748b; font-style: italic; }
.output-box {
background: #020617;
padding: 18px 20px;
border-radius: 0 0 8px 8px;
color: #e2e8f0;
font-size: 13px;
}
</style>
</head>
<body>
<div class="header">
<span class="dot dot-red"></span>
<span class="dot dot-yellow"></span>
<span class="dot dot-green"></span>
<span style="margin-left: 8px; font-weight: bold; color: #38bdf8;">⚙️ C++ Projects - Skillance C++20</span>
</div>
<div class="code-box">
<span class="comment">// Skrip C++20 - Skillance Academy Indonesia</span>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
struct Mahasiswa {
std::string nama;
double nilai;
};
int main() {
std::vector<Mahasiswa> kelas = {
{"Budi", 85.5},
{"Siti", 94.0},
{"Rian", 78.0},
{"Aulia", 91.5}
};
// Urutkan ranking berdasarkan nilai tertinggi (Descending)
std::sort(kelas.begin(), kelas.end(), [](const Mahasiswa& a, const Mahasiswa& b) {
return a.nilai > b.nilai;
});
std::cout << "=== RANKING KELAS SKILLANCE ACADEMY ===\n";
for (size_t i = 0; i < kelas.size(); ++i) {
std::cout << (i + 1) << ". " << kelas[i].nama
<< " - Skor: " << kelas[i].nilai << "\n";
}
return 0;
}
</div>
<div class="output-box">
<div style="color: #64748b; margin-bottom: 6px;">[Terminal Output] > g++ -std=c++20 main.cpp -o main && ./main</div>
<div style="color: #4ade80; font-weight: bold;">=== RANKING KELAS SKILLANCE ACADEMY ===<br>1. Siti - Skor: 94<br>2. Aulia - Skor: 91.5<br>3. Budi - Skor: 85.5<br>4. Rian - Skor: 78</div>
</div>
</body>
</html>
Coba Sendiri (Try it Yourself) »