Latihan
1. Buatlah flowchart dan translasi program dari algoritma 3.2.b. di atas.
kodingan DevC++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char* argv[]) {
int a, b, c;
cout<<"Masukkan nilai A = ";
cin>>a;
cout<<"Masukkan nilai b = ";
cin>>b;
cout<<"Masukkan nilai c = ";
cin>>c;
if(a>b) {
if(a>c) {
cout<<"Nilai terbesar adalah nilai A = "<<a;
}
}
if(b>a) {
if(b>c) {
cout<<"Nilai terbesar adalah nilai B = "<<b;
}
}
else if(c>a)
if(c>b) {
cout<<"Nilai terbesar adalah nilai C = "<<c;
}
return 0;
}
outputnya :
flowchaart :
3. Buatlah program dari algoritma 3.4. menggunakan case … of .
kodingan DevC++ :
#include <iostream>
#include <math.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int a,b,c;
long disk;
float x1,x2;
cout<<"Koefisien pangkat 2 : ";cin>>a;
cout<<"Koefisien pangkat 1 : ";cin>>b;
cout<<"Koefisien pangkat 0 : ";cin>>c;
if(a==0){
cout<<"Bukan Pers.Kuadrat"<<endl;
cout<<"Harga Akar= "<<-c/b;
}
else {
disk=b*b - 4*a*c;
}
if(disk>0){
x1=-b+sqrt(disk)/(2*a);
x2=-b-sqrt(disk)/(2*a);
cout<<"Diskriminan = " <<disk << endl;
cout<<"x1 : "<<x1<<endl;
cout<<"x2 : "<<x2<<endl;
} else if(disk == 0){
x1 = -b/(2*a);
x2=x1;
cout<<"Diskriminan = 0 "<<endl;
cout<<"x1 : "<<x1<<endl;
cout<<"x2 : "<<x2<<endl;
} else
cout<<"Akar Imajiner";
return 0;
}
outputnya :
5. Buatlah algoritma, flowchart dan program untuk menentukan banyaknya hari dalam suatu bulan dan tahun yang diberikan. Pertimbangkan pula adanya tahun kabisat di mana bulan Februari mempunyai jumlah 29 hari. Gunakan case .. of dan if .. then .. else .. yang tepat untuk setiap kasus.
kodingan devC++ :
#include <iostream>
using namespace std;
int year, month, day;
void input();
void errorYear();
void errorMonth();
void again();
int main()
{
cout<<"Program menghitung hari dalam satu bulan."<<endl;
input();
}
void input()
{
cout<<"Masukkan angka tahun:"<<endl;
cin>>year;
cout<<"Masukkan angka bulan:"<<endl;
cin>>month;
if (year <= 0)
errorYear();
switch (month)
{
case 1:
cout<<"Bulan Januari tahun "<<year<<" ada 31 hari."<<endl;
break;
case 2:
if (year % 4 == 0)
cout<<"Bulan Februari tahun "<<year<<" ada 29 hari."<<endl;
else
cout<<"Bulan Februari tahun "<<year<<" ada 28 hari."<<endl;
break;
case 3:
cout<<"Bulan Maret tahun "<<year<<" ada 31 hari."<<endl;
break;
case 4:
cout<<"Bulan April tahun "<<year<<" ada 30 hari."<<endl;
break;
case 5:
cout<<"Bulan Mei tahun "<<year<<" ada 31 hari."<<endl;
break;
case 6:
cout<<"Bulan Juni tahun "<<year<<" ada 30 hari."<<endl;
break;
case 7:
cout<<"Bulan Juli tahun "<<year<<" ada 31 hari."<<endl;
break;
case 8:
cout<<"Bulan Agustus tahun "<<year<<" ada 31 hari."<<endl;
break;
case 9:
cout<<"Bulan September tahun "<<year<<" ada 30 hari."<<endl;
break;
case 10:
cout<<"Bulan Oktober tahun "<<year<<" ada 31 hari."<<endl;
break;
case 11:
cout<<"Bulan November tahun "<<year<<" ada 30 hari."<<endl;
break;
case 12:
cout<<"Bulan Desember tahun "<<year<<" ada 31 hari."<<endl;
break;
default :
errorMonth();
break;
}
again();
}
void errorYear()
{
cout<<"Masukkan data tahun tidak valid."<<endl;
again();
main();
}
void errorMonth()
{
cout<<"Masukkan data bulan tidak valid."<<endl;
again();
main();
}
void again()
{
char answer;
cout<<endl<<"Tekan Y untuk mencoba lagi."<<endl<<"Mau mencoba lagi?"<<endl;
cin>>answer;
if (answer == 'Y' || answer == 'y')
{
main();
}
else
{
return;
}
}
outputnya :
6. Buatlah algoritma, flowchart dan program untuk mengecek apakah karakter yang dimasukkan itu merupakan huruf besar, huruf kecil atau digit (bilangan). Gunakan fungsi ORD(char) untuk menyatakan nomor urut dalam tabel ASCII.
kodingan dev C++ :
#include <iostream>
#include <conio.h>
using namespace std;
class Karakter
{
private:
char karakter;
public:
void Proses ();
void Output ();
};
void Karakter::Proses()
{
cout<<"Masukkan Karakter = ";cin>>karakter;
};
void Karakter::Output(){
if (karakter >='A' && karakter <='Z')
cout<<"Huruf Besar"<<endl;
else if (karakter >= 'a' && karakter <='z')
cout<<"Huruf Kecil"<<endl;
else if (karakter >= '0' && karakter <= '9')
cout<<"Digit (Bilangan)"<<endl;
else
cout<<"Simbol"<<endl;
};
main ()
{
Karakter bilhur;
bilhur.Proses();
bilhur.Output();
getch ();
return 0;
}
7. Seorang dosen ingin mengkonversikan nilai angka hasil ujian mahasiswa menjadi nilai huruf dengan ketentuan :
Nilai antara Nilai Huruf 0-60 =F; 61-70= D; 71-80= C; 81-90= B; 91-100 = A ;
kodingan devC++
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
int nilai;
string nilaihuruf;
cout<<"masukkan nilai (0-100) : ";cin>>nilai;
if(nilai <=100 && nilai>=91)
nilaihuruf='A';
else if(nilai<=90 && nilai>=81)
nilaihuruf='B';
else if(nilai<=80 && nilai>=71)
nilaihuruf='C';
else if(nilai<=70 && nilai>=61)
nilaihuruf='D';
else
nilaihuruf='F';
cout<<"Nilai = "<<nilaihuruf;
return 0;
}
outputnya
8. Diberikan ketentuan pecahan uang di Indonesia. User memasukkan sebuah bilangan, program harus dapat memecahnya menjadi pecahan sesuai dengan mata uang di Indonesia.
kodingan devC++ :
#include<iostream>
using namespace std;
int main()
{
long uang,sisa;
int u100rb,u50rb,u20rb;
int u10rb,u5rb,u2rb,u1rb,u5ratus;
cout<<" Program Memecah Uang "<<endl;
cout<<"----------------------------------------"<<endl;
cout<<"Input jumlah uang --> ";cin>>uang;
u100rb=uang/100000;
sisa=uang%100000;
u50rb=sisa/50000;
sisa=sisa%50000;
u20rb=sisa/20000;
sisa=sisa%20000;
u10rb=sisa/10000;
sisa=sisa%10000;
u5rb=sisa/5000;
sisa=sisa%5000;
u2rb=sisa/2000;
sisa=sisa%2000;
u1rb=sisa/1000;
sisa=sisa%1000;
u5ratus=sisa/500;
cout<<"Uang anda Rp. "<<uang<<endl;
cout<<"Terdiri dari -->"<<endl;
cout<<"--------------------"<<endl;
cout<<u100rb<<" lembar Rp.100.000"<<endl;
cout<<u50rb<<" lembar Rp.50.000"<<endl;
cout<<u20rb<<" lembar Rp.20.000"<<endl;
cout<<u10rb<<" lembar Rp.10.000"<<endl;
cout<<u5rb<<" lembar Rp.5.000"<<endl;
cout<<u2rb<<" lembar Rp.2.000"<<endl;
cout<<u1rb<<" lembar Rp.1.000"<<endl;
cout<<u5ratus<<" lembar Rp.5.00"<<endl;
cout<<"---------------------"<<endl;
cout<<"T E R I M A - K A S I H";
}
outputnya :
Sekian yang bisa saya bagikan semoga bermanfaat
wassalamualaikum warahmatullahi wabarakatuh
0 komentar:
Posting Komentar