KHS
#include <iostream>
#include <string>
using namespace std;
struct MataKuliah {
string namaMataKuliah;
int sks;
char nilai;
};
const int MAX_MATAKULIAH = 5;
void tampilkanIPK(const MataKuliah matkul[], int jumlahMatkul) {
int totalSKS = 0;
double totalBobotNilai = 0.0;
int i = 0;
while (i < jumlahMatkul) {
int sks = matkul[i].sks;
char nilai = matkul[i].nilai;
totalSKS += sks;
switch (nilai) {
case 'A':
totalBobotNilai += 4.0 * sks;
break;
case 'B':
totalBobotNilai += 3.0 * sks;
break;
case 'C':
totalBobotNilai += 2.0 * sks;
break;
case 'D':
totalBobotNilai += 1.0 * sks;
break;
case 'E':
totalBobotNilai += 0.0 * sks;
break;
default:
cout << "Nilai tidak valid untuk mata kuliah: " << matkul[i].namaMataKuliah << endl;
return;
}
i++;
}
double ipk = totalBobotNilai / totalSKS;
cout << "IPK: " << ipk << endl;
}
int main() {
MataKuliah matkul[MAX_MATAKULIAH];
int jumlahMatkul;
cout << "Masukkan jumlah mata kuliah: ";
cin >> jumlahMatkul;
cin.ignore(); // Mengabaikan karakter newline dalam buffer input
int i = 0;
while (i < jumlahMatkul) {
cout << "Masukkan nama mata kuliah ke-" << (i + 1) << ": ";
getline(cin, matkul[i].namaMataKuliah);
cout << "Masukkan jumlah SKS mata kuliah ke-" << (i + 1) << ": ";
cin >> matkul[i].sks;
cout << "Masukkan nilai mata kuliah ke-" << (i + 1) << ": ";
cin >> matkul[i].nilai;
cin.ignore(); // Mengabaikan karakter newline dalam buffer input
i++;
}
cout << endl;
cout << "----- Kartu Hasil Studi -----" << endl;
cout << endl;
i = 0;
while (i < jumlahMatkul) {
cout << "Mata Kuliah ke-" << (i + 1) << ": " << matkul[i].namaMataKuliah << endl;
cout << "SKS: " << matkul[i].sks << endl;
cout << "Nilai: " << matkul[i].nilai << endl;
cout << endl;
i++;
}
cout << "-------------------------------" << endl;
cout << endl;
tampilkanIPK(matkul, jumlahMatkul);
return 0;
}
ADT TABUNG
#include <iostream>
using namespace std;
class Tabung {
private:
double jariJari;
double tinggi;
public:
// Konstruktor
Tabung(double jariJari, double tinggi) {
this->jariJari = jariJari;
this->tinggi = tinggi;
}
// Getter dan setter
double getJariJari() {
return jariJari;
}
double getTinggi() {
return tinggi;
}
void setJariJari(double jariJari) {
this->jariJari = jariJari;
}
void setTinggi(double tinggi) {
this->tinggi = tinggi;
}
// Menghitung volume tabung
double hitungVolume() {
return 3.14 * jariJari * jariJari * tinggi;
}
// Menghitung luas permukaan tabung
double hitungLuasPermukaan() {
return 2 * 3.14 * jariJari * (jariJari + tinggi);
}
};
int main() {
// Membuat objek tabung dengan jari-jari 2.5 dan tinggi 5.0
Tabung tabung(2.5, 5.0);
// Menggunakan objek tabung
cout << "Jari-jari tabung: " << tabung.getJariJari() << endl;
cout << "Tinggi tabung: " << tabung.getTinggi() << endl;
cout << "Volume tabung: " << tabung.hitungVolume() << endl;
cout << "Luas permukaan tabung: " << tabung.hitungLuasPermukaan() << endl;
return 0;
}
FUNGSI DAN SORTING TABUNG
#include <iostream>
using namespace std;
// Fungsi untuk menghitung volume tabung
double hitungVolume(double jariJari, double tinggi) {
return 3.14 * jariJari * jariJari * tinggi;
}
// Fungsi untuk menghitung luas permukaan tabung
double hitungLuasPermukaan(double jariJari, double tinggi) {
return 2 * 3.14 * jariJari * (jariJari + tinggi);
}
int main() {
double jariJari, tinggi;
cout << "Masukkan jari-jari tabung: ";
cin >> jariJari;
cout << "Masukkan tinggi tabung: ";
cin >> tinggi;
double volume = hitungVolume(jariJari, tinggi);
double luasPermukaan = hitungLuasPermukaan(jariJari, tinggi);
cout << "Volume tabung: " << volume << endl;
cout << "Luas permukaan tabung: " << luasPermukaan << endl;
return 0;
}
FUNGSI JAM
#include <iostream>
using namespace std;
class Jam {
private:
int jam;
int menit;
int detik;
public:
// Konstruktor
Jam(int jam = 0, int menit = 0, int detik = 0) {
setJam(jam);
setMenit(menit);
setDetik(detik);
}
// Setter
void setJam(int jam) {
this->jam = (jam >= 0 && jam < 24) ? jam : 0;
}
void setMenit(int menit) {
this->menit = (menit >= 0 && menit < 60) ? menit : 0;
}
void setDetik(int detik) {
this->detik = (detik >= 0 && detik < 60) ? detik : 0;
}
// Getter
int getJam() const {
return jam;
}
int getMenit() const {
return menit;
}
int getDetik() const {
return detik;
}
// Menampilkan waktu
void tampilkanWaktu() const {
cout << "Jam: " << jam << ", Menit: " << menit << ", Detik: " << detik <<endl;
}
};
int main() {
// Membuat objek Jam
Jam waktu(10, 30, 45);
// Menggunakan setter
waktu.setJam(12);
waktu.setMenit(15);
waktu.setDetik(30);
// Menggunakan getter dan menampilkan waktu
cout << "Jam: " << waktu.getJam() << endl;
cout << "Menit: " << waktu.getMenit() << endl;
cout << "Detik: " << waktu.getDetik() << endl;
// Menampilkan waktu menggunakan fungsi tampilkanWaktu()
waktu.tampilkanWaktu();
return 0;
}
HITUNG NILAI AKHIR
#include <iostream>
using namespace std;
// Fungsi untuk menghitung nilai akhir
double hitungNilaiAkhir(double nilaiUas, double nilaiTugas, double nilaiUts) {
// Bobot masing-masing komponen nilai
double bobotUas = 0.4;
double bobotTugas = 0.3;
double bobotUts = 0.3;
double nilaiAkhir = (bobotUas * nilaiUas) + (bobotTugas * nilaiTugas) + (bobotUts * nilaiUts);
return nilaiAkhir;
}
int main() {
double nilaiUas, nilaiTugas, nilaiUts;
// Menerima input nilai ujian, tugas, dan partisipasi
cout << "Masukkan nilai Uas: ";
cin >> nilaiUas;
cout << "Masukkan nilai Tugas: ";
cin >> nilaiTugas;
cout << "Masukkan nilai Uts: ";
cin >> nilaiUts;
// Menghitung nilai akhir
double nilaiAkhir = hitungNilaiAkhir(nilaiUas, nilaiTugas, nilaiUts);
// Menampilkan nilai akhir
cout << "Nilai akhir: " << nilaiAkhir << endl;
return 0;
}
REKURSIF
#include <iostream>
using namespace std;
// Fungsi rekursif untuk penjumlahan
int penjumlahanRekursif(int a, int b) {
if (b == 0) {
return a;
} else {
return penjumlahanRekursif(a + 1, b - 1);
}
}
// Fungsi rekursif untuk pengurangan
int penguranganRekursif(int a, int b) {
if (b == 0) {
return a;
} else {
return penguranganRekursif(a - 1, b - 1);
}
}
// Fungsi rekursif untuk perkalian
int perkalianRekursif(int a, int b) {
if (b == 0) {
return 0;
} else {
return a + perkalianRekursif(a, b - 1);
}
}
int main() {
int a, b;
cout << "Masukkan nilai a: ";
cin >> a;
cout << "Masukkan nilai b: ";
cin >> b;
// Memanggil fungsi rekursif untuk penjumlahan, pengurangan, dan perkalian
int hasilPenjumlahan = penjumlahanRekursif(a, b);
int hasilPengurangan = penguranganRekursif(a, b);
int hasilPerkalian = perkalianRekursif(a, b);
cout << "Hasil penjumlahan: " << hasilPenjumlahan << endl;
cout << "Hasil pengurangan: " << hasilPengurangan << endl;
cout << "Hasil perkalian: " << hasilPerkalian << endl;
return 0;
}
POINTER
#include <iostream>
using namespace std;
int main() {
const char* message = "Hello World!";
// Menampilkan "Hello, World!" menggunakan pointer
const char* p = message;
while (*p != '\0') {
cout << *p;
p++;
}
cout << endl;
return 0;
}
OOP
#include "booking_villa.h"
#include <iostream>
#include <fstream>
using namespace std;
void BokingVilla::tampilkanMenu()
{
cout << "========== BOOKING VILLA ==========" << endl;
cout << "1. Tambah Daftar Booking Villa" << endl;
cout << "2. Lihat Daftar Booking Villa" << endl;
cout << "3. Hapus Daftar Booking villa" << endl;
cout << "4. Keluar" << endl;
cout << "==================================" << endl;
cout << "Pilih: ";
}
void BokingVilla::tambahBooking()
{
string nama,tgl;
int harga,lamaSewa;
cout << "Nama : ";
cin.ignore();
getline(cin, nama);
cout << "Harga : ";
cin >> harga;
cout << "Lama Sewa (per malam): ";
cin >> lamaSewa;
cin.ignore();
cout << "Tanggal Booking (dd/mm/yyyy): ";
getline (cin, tgl);
ofstream file("booking_villa.txt", ios::app);
if (file.is_open())
{
file <<"Nama: "<< nama << endl;
file <<"Harga :"<< harga << endl;
file << "Tanggal: "<< tgl << endl;
file << "Lama sewa:"<< lamaSewa << endl;
file.close();
cout << "Booking berhasil ditambahkan." << endl;
}
else
{
cout << "Gagal membuka file." << endl;
}
}
void BokingVilla::lihatBooking()
{
ifstream file("booking_villa.txt");
if (file.is_open())
{
string line;
cout << "=== Booking Villa ===" << endl;
while (getline(file, line))
{
cout << line <<endl;
}
file.close();
}
else
{
cout << "Gagal membuka file." << endl;
}
}
void hapusData(string targetNama) {
ifstream file("booking_villa.txt");
ofstream temp("temp.txt");
string line;
bool found = false;
while (getline(file, line)) {
if (line.find("Nama: " + targetNama) != string::npos) {
found = true;
for (int i = 0; i < 3; i++) {
getline(file, line); // Mengabaikan 3 baris data yang ingin dihapus
}
} else {
temp << line << endl;
}
}
file.close();
temp.close();
if (found) {
remove("booking_villa.txt");
rename("temp.txt", "booking_villa.txt");
cout << "Data berhasil dihapus." << endl;
} else {
cout << "Data tidak ditemukan." << endl;
remove("temp.txt");
}
}
int main()
{
BokingVilla bookingVilla;
int pilihan;
string data;
do
{
bookingVilla.tampilkanMenu();
cin >> pilihan;
switch (pilihan)
{
case 1:
bookingVilla.tambahBooking();
break;
case 2:
bookingVilla.lihatBooking();
break;
case 3:
cout << "Nama : ";
cin >> data;
hapusData(data);
break;
case 4:
cout << "Terima kasih telah menggunakan program." << endl;
break;
default:
cout << "Pilihan tidak valid." << endl;
break;
}
cout << endl;
} while (pilihan != 4);
return 0;
}
// METHOD
#include <iostream>
#include <fstream>
class BokingVilla
{
public:
void BookingVilla();
void tambahBooking();
void lihatBooking();
void hapusBooking();
void tampilkanMenu();
};
Komentar
Posting Komentar