Kisahku belajar pemrograman C++ 4

Categori : pemrograman
Judul : belajar bahasa C++ episode 4

c++

c++

Kisahku belajar pemrograman C++ 4
Waduh udah lama nih gak ngoprek blog, kemarin udah nyampe mana yah belajarnya??
Lupa lagi nih…..
Oh iya aku ingat kita udah belajar konstruktor dengan format lain, overload function, dan overload operator ++.
Nah sekarang belajar apa lagi ya? Sebenarnya sharing kali ini agak beda deh, soalnya kemarin-kemarin aku gak praktikum, gara-gara libur nih, sama pemili juga jadi gak ada praktikum dan akhirnya ketinggalan materi sama kelas yang lainnya nih, hehehe…tapi gak usah kawatir, aku masih ada bahan kok, sekarang ceritanya kita akan membuat sebuah program yang di dalamnya itu ada sebuah menu, kemudian ada menu lagi dan bias kembali ke menu utama atau bias mengulang sub menu yang udah di pilih.
Dalam program itu kita akan belajar bagaimana membuat menu dengan sistem class, kemudian bagaimana mendeteksi huruf vocal atau bukan, menentukan bilangan prima atau bukan, menghitung factorial dan menghitung luas dan keliling bangun ruang (segitiga, persegi empat, persegi panjang, lingkaran dan jajar genjang)
Selamat mencoba, kalau ada kekurangan atau kesalahan mohon di koreksi yah…
============================================================================
Dibuat dalam C-Free 4.0
============================================================================
*/

#include
#include
#include
#include
#include
#include

const float phi = 3.14;
float luas, kel;
char jawab;

//———-menu utama———————————————————
class menu {
private:
//int Pilih;
public:

void pilihan() {

//tampil menu
system (“CLS”); //bersihkan laya
cout <<endl;
cout <<” |===============================================|”<< endl;
cout <<” | MENU UTAMA |”<< endl;
cout <<” |===============================================|”<< endl;
cout <<” | |”<< endl;
cout <<” | 1. Membaca karakter huruf vocal |”<< endl;
cout <<” | 2. Bilangan prima atau bukan |”<< endl;
cout <<” | 3. Bilangan positif, negative atau nol |”<< endl;
cout <<” | 4. Menghitung factorial |”<< endl;
cout <<” | 5. Hitung luas dan keliling bangun datar |”<< endl;
cout <<” | |”<< endl;
cout <<” |===============================================|”<< endl;
cout <<” | 0. EXIT |”<< endl;
cout <<” |===============================================|”<< endl;
cout <<endl;
cout <<” Silahkan memilih menu (0/1/2/3/4/5) : “;

}
};

//——–vocal——————————————————
class vocal {
private :
char huruf;

public :
void cekvocal();
};

//method untuk mengecek huruf vocal
void vocal::cekvocal() {
do {
cout <<endl;
cout <<” MENU MEMBACA KARAKTER HURUF VOCAL2″<< endl;
cout <<endl;
//inputkan karakter
cout <> huruf;
//cek huruf vocal
if (huruf==’a’ || huruf==’A’ || huruf==’i’ || huruf==’I’ || huruf==’u’
|| huruf==’U’ || huruf==’e’ || huruf==’E’ ||huruf==’o’ || huruf==’O’)
{
cout <<“\n Karakter”<<” ‘”<<huruf<<“‘ “<<“adalah huruf VOCAL”<< endl;
} else
{
cout <<“\n Karakter”<<” ‘”<<huruf<<“‘ “<<“BUKAN huruf VOCAL”<< endl;
}
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);

}

//———–prima———————————————————-
class prima {
private :
int a,b,c,d;
public :
void cekprima();
};

//method untuk mengecek bilangan prima atau bukan
void prima::cekprima() {
do {
cout <<endl;
cout <<” MENU BILANGAN PRIMA ATAU BUKAN”<< endl;
cout <<endl;
//inputkan angka
cout <>a;
b=1;
c=a-1;
//cek angka
if (a==2) {
cout <<” Angka “<<a<< ” adalah bilangan PRIMA”<< endl;
} else
{
while (b<=c) {
b++;
d=a%b;
if (d==0) {
cout <<” Angka “<<a<< ” BUKAN bilangan PRIMA”< 0 && b==c) {
cout <<” Angka “<<a<< ” adalah bilangan PRIMA”<< endl;
break;
}
}
}
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

//———-posnenol——————————————————
class posnenol { //posnenol=positif,negative,nol
private :
int x;
public :
void cekposnenol();
};

//method untuk mengecek bilangan positif, negative atau nol
void posnenol::cekposnenol() {
do {
cout <<endl;
cout <<” MENU BILANGAN POSITIF, NEGATIVE ATAU NOL”<< endl;
cout <<endl;
//inpukan bilangan
cout <>x;
if (x<0) {
cout <<” Nilai x = “<<x<<” adalah bilangan NEGATIVE”<0) {
cout <<” Nilai x = “<<x<<” adalah bilangan POSITIF”<< endl;
} else {
cout <<” Nilai x = “<<x<<” adalah bilangan NOL”<< endl;
}
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

//———-factorial—————————————————–
class factorial {
private :
long int n,b;
int a;
public :
void cekfactorial();
};

//method untuk cek factorial dengan for
void factorial::cekfactorial() {
do {
cout <<endl;
cout <<” MENU MENGHITUNG FACTORIAL”<< endl;
cout <<endl;

//input nilai masukan
cout <>n;
cout <<endl;
//proses factorial dengan for
b=1;
for (a=1; a<=n; a++) {
b=b*a;
}
cout <<” Jumlah faktorial dari “<<n<<” adalah : “<<b<<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

class segitiga {
private :
float a,t,ab,bc,ca;
public :
void luassegitiga();
// void kelsegitiga();
};

//method hitung luas segitiga
void segitiga::luassegitiga() {
do {
cout <<endl;
cout <<” MENGHITUNG LUAS SEGITIGA ABC”<< endl;
cout <<endl;
//input data
cout <> a;
cout <> t;
cout <> ab;
cout <> bc;
cout <> ca;
//hitunh luas
luas= 0.5*a*t;
//hitung keliling
kel=ab+bc+ca;
//output
cout <<endl;
cout <<” Luas segitiga ABC = “<<luas <<endl;
cout <<” Keliling segitiga ABC = “<<kel <<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

class persegi {
private :
float s;
public :
void luaspersegi();
// void kelpersegi ();
};

//method untuk menghitung luas persegi
void persegi::luaspersegi() {
do {
cout <<endl;
cout <<” MENGHITUNG LUAS PERSEGI”<< endl;
cout <<endl;
//input data
cout <> s;
//hitung luas persegi
luas=s*s;
//output

kel=4*s;
//output
cout <<endl;
cout <<” Keliling persegi = “<<kel <<endl;
cout <<” Luas persegi = “<<luas <<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

class per_panjang {
private :
float p, l;
public :
void luas_per_panjang();
// void kel_per_panjang();
};

//method menghitung luas persegi panjang
void per_panjang::luas_per_panjang() {
do {
cout <<endl;
cout <<” MENGHITUNG LUAS PERSEGI PANJANG”<< endl;
cout <<endl;
//inputan
cout <> p;
cout <> l;
//hitung luas
luas=p*l;
//hitung keliling
kel=2*(p+l);
//output
cout <<endl;
cout <<” Luas persegi panjang = “<<luas <<endl;
cout <<” Keliling persegi panjang = “<<kel <<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

class lingkaran {
private :
float r;
public :
void luaslingkaran();
//void kellingkaran();
};

//method hitung luas lingkaran
void lingkaran::luaslingkaran() {
do {
cout <<endl;
cout <<” MENGHITUNG LUAS LINGKARAN”<< endl;
cout <<endl;
//inputan
cout <> r;
//hitung luas
luas=phi*(r*r);
//hitung keliling
kel=2*phi*r;
//output
cout <<endl;
cout <<” Luas lingkaran = “<<luas <<endl;
cout <<” Keliling lingkaran = “<<kel <<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

class jajargenjang {
private :
float a,t,ab,bc;
public :
void luasjagen();
//void keljagen();
};

//method hitung luas jajar genjang
void jajargenjang::luasjagen() {
do {
cout <<endl;
cout <<” MENGHITUNG LUAS JAJAR GENJANG ABCD”<< endl;
cout <<endl;
//inputan
cout <> a;
cout <> t;
cout <> ab;
cout <> bc;
//hitung luas
luas=a*t;
//hitung keliling
kel=2*(ab+bc);
//output
cout <<endl;
cout <<” Luas jajar genjang = “<<luas <<endl;
cout <<” Keliling jajar genjang = “<<kel <<endl;
cout <<endl;
cout <<” ________________________________________”<< endl;
cout <<” Ulangi :”; cin >>jawab;
} while (jawab==’Y’ || jawab==’y’);
}

//———————————————————————
//PROGRAM UTAMA
int main() {
//local variabel
//char pilih;
char nomor;
char user[20];
char jawab;
char pilih_menu;
menu men;
vocal voc;
prima prim;
posnenol pos;
factorial fac;
segitiga seg;
persegi per;
per_panjang per_p;
lingkaran ling;
jajargenjang jargen;
//menu men;

//input data user
cout <<endl;
cout <<“Masukkan nama Anda (max 20 karakter) : “; cin.getline(user,20);
cout <<endl;
system (“CLS”); //bersihkan layar
cout <<endl<<“Selamat datang “<<“‘”<< user <<“‘”<<” di PROGRAM ICEP MULYANA”<< endl;
cout <<“Program ini dibuat sebagai tugas pengganti praktikum PBO”<< endl;
cout <<“hari kamis tanggal 2 April 2009″<< endl;
cout <<endl;

//pilih menu utama program
do {
if (pilih_menu!=’0’) {
cout<< endl;
cout <<” Tekan ENTER untuk melihat MENU UTAMA…”<> pilih_menu;
cout << “\n”;

//loop menu utama
//menu telah dipilih
switch (pilih_menu) {
//keluar
case ‘0’ : {
system (“CLS”); //bersihkan layar
cout <<endl<<endl;
cout <<” |===============================================|”<<endl;
cout <<” | :::::: TERIMA KASIH :::::: |”<<endl;
cout <<” |===============================================|”<<endl;
cout <<endl;
exit(0);
break;
}
//menu 1
case ‘1’: {
system (“CLS”); //bersihkan layar
voc.cekvocal();
break;
}
//menu 2
case ‘2’: {
system (“CLS”); //bersihkan layar
cout <<endl;
prim.cekprima();
break;
}
//menu 3
case ‘3’: {
system (“CLS”); //bersihkan layar
cout <<endl;
pos.cekposnenol();
break;
}
//menu 4
case ‘4’: {
system (“CLS”); //bersihkan layar
cout <<endl;
fac.cekfactorial();
break;
}
//menu 5
case ‘5’: {
do {
system (“CLS”); //bersihkan layar
cout <<endl;
cout <<” MENU HITUNG LUAS DAN KELILING BANGUN DATAR :”<<endl;
cout <<” ____________________________________________”<<endl;
cout <<endl;
cout <<” 1. Hitung segitiga “<<endl;
cout <<” 2. Hitung persegi “<<endl;
cout <<” 3. Hitung persegi panjang “<<endl;
cout <<” 4. Hitung lingkaran “<<endl;
cout <<” 5. Hitung jajar genjang “<<endl;
cout <<” 6. Kembali ke menu utama “<<endl;
cout <<” ____________________________________________”<<endl;
cout <<endl;
cout <<” Masukkan pilihan anda : “;
cin >>nomor;
cout <<endl;
switch (nomor) {
case ‘1’ :
seg.luassegitiga();
cout <<endl;
cout <<” Kembali ke MENU HITUNG LUAS… :”; cin >>jawab;
break;
case ‘2’ :
per.luaspersegi();
cout <<endl;
cout <<” Kembali ke MENU HITUNG LUAS… :”; cin >>jawab;
break;
case ‘3’ :
per_p.luas_per_panjang();
cout <<endl;
cout <<” Kembali ke MENU HITUNG LUAS… :”; cin >>jawab;
break;
case ‘4’ :
ling.luaslingkaran();
cout <<endl;
cout <<” Kembali ke MENU HITUNG LUAS… :”; cin >>jawab;
break;
case ‘5’ :
jargen.luasjagen();
cout <<endl;
cout <<” Kembali ke MENU HITUNG LUAS… :”; cin >>jawab;
break;
case ‘6’ :
goto label_1; //kembali ke menu utama
break;
default :
cout <<” Pilih sesuai menu !!!”<< endl;
cout <<” Masukkan pilihan anda : “;
cin >>nomor;
break;
}
} while (jawab==’y’ || jawab==’Y’);
break;
}
// pilihan menu tidak ada
default : {
system (“CLS”); //bersihkan layar
cout <<endl<<” PILIH MENU YANG SESUAI !!!”<<endl;
break;
}

}
} while (pilih_menu!=0); //end looping

}

Tinggalkan komentar