BAB IV
PEMILIHAN/KONTROL PROGRAM
1. Buatlah flowchart dan translasi program dari algoritma 3.2.b.
ALGORITMA :
Kasus 1 " Mencari bilangan terbesar "
Algoritma :
- Memasukan 3 bilangan bulat
- Menentukan bilangan terbesar diantara ketiga bilangan tersebut dan menampilkannya
Deklarasi :
- x, y, x : interger
- maks : interger
Deskripsi :
read (x,y,z)
maks <- x
if (y > maks) then maks Å y end if
if (z > maks) then maks ( z end if
write (‘Bilangan terbesar adalah = ‘,maks)
Algoritma :
- Memasukan 3 bilangan bulat
- Menentukan bilangan terbesar diantara ketiga bilangan tersebut dan menampilkannya
Deklarasi :
- x, y, x : interger
- maks : interger
Deskripsi :
read (x,y,z)
maks <- x
if (y > maks) then maks Å y end if
if (z > maks) then maks ( z end if
write (‘Bilangan terbesar adalah = ‘,maks)
RAPTOR :
Program CPP :
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Banding
{
friend istream& operator>>(istream&, Banding&);
public:
Banding() {};
void bandingkan()
{
int maks = x;
if (y > maks) maks = y;
if (z > maks) maks = z;
cout << endl << endl << "Bilangan terbesar : " << maks;
}
private:
int x, y, z;
};
istream& operator>>(istream& in, Banding& bilangan)
{
cout << "Bilangan pertama = ";
cin >> bilangan.x;
cout << "Bilangan kedua = ";
cin >> bilangan.y;
cout << "Bilangan ketiga = ";
cin >> bilangan.z;
return in;
};
int main(int argc, char** argv) {
Banding bilangan;
cin >> bilangan;
bilangan.bandingkan();
return 0;
}
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Banding
{
friend istream& operator>>(istream&, Banding&);
public:
Banding() {};
void bandingkan()
{
int maks = x;
if (y > maks) maks = y;
if (z > maks) maks = z;
cout << endl << endl << "Bilangan terbesar : " << maks;
}
private:
int x, y, z;
};
istream& operator>>(istream& in, Banding& bilangan)
{
cout << "Bilangan pertama = ";
cin >> bilangan.x;
cout << "Bilangan kedua = ";
cin >> bilangan.y;
cout << "Bilangan ketiga = ";
cin >> bilangan.z;
return in;
};
int main(int argc, char** argv) {
Banding bilangan;
cin >> bilangan;
bilangan.bandingkan();
return 0;
}
2. Sempurnakan algoritma 3.3. dengan akar imajiner berbentuk :
a + bi
dengan a dan b bilangan real dan bila harga b2-4ac < 0 .
a + bi
dengan a dan b bilangan real dan bila harga b2-4ac < 0 .
ALGORITMA :
Kasus 2 " Menentukan Jenis Akar Persamaan Kuadrat "
Algoritma :
- mendeklarasikan variabel untuk koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 0, deskriminan
- di inputkan koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3
- Menampilkan hasil jenis akar imajiner, rasional
Deklarasi :
- koefisien pangkat 1, 2, 3 : interger
- diskriminan : float
Deskripsi :
Read (koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3)
deskriminan <- b^2-4*A*C
if (A = 0) then write (‘Bukan Persamaan Kuadrat’)
else if disk > 0 then
x1 ( -B + sqrt (disk)/2*A
x2 ( -B - sqrt(disk)/2*A
else if disk = 0 then
x1 ( -B/2*A
x2 ( x1
else write (‘Akar imajiner’)
end if
write (x1,x2)
Algoritma :
- mendeklarasikan variabel untuk koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 0, deskriminan
- di inputkan koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3
- Menampilkan hasil jenis akar imajiner, rasional
Deklarasi :
- koefisien pangkat 1, 2, 3 : interger
- diskriminan : float
Deskripsi :
Read (koefisien pangkat 1, koefisien pangkat 2, koefisien pangkat 3)
deskriminan <- b^2-4*A*C
if (A = 0) then write (‘Bukan Persamaan Kuadrat’)
else if disk > 0 then
x1 ( -B + sqrt (disk)/2*A
x2 ( -B - sqrt(disk)/2*A
else if disk = 0 then
x1 ( -B/2*A
x2 ( x1
else write (‘Akar imajiner’)
end if
write (x1,x2)
RAPTOR :
Program CPP ;
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Akar {
friend ostream& operator<<(ostream&, Akar&);
friend istream& operator>>(istream&, Akar&);
public:
Akar();
int disk() { return B*B-4*A*C; }
float akar1() {return (-B+sqrt(disk()))/(2*A); }
float akar2() {return (-B-sqrt(disk()))/(2*A); }
void hitung_akar();
void cetak_disk() {
cout << "diskriminan = " << disk() << endl; }
void cetak_akar() {
cout << "x1 = " << akar1() << endl;
cout << "x2 = " << akar2() << endl;
}
private:
int A, B, C; // input
float x1, x2; // akar 1 dan akar 2
};
ostream& operator<<(ostream& out, Akar& keluaran) {
keluaran.cetak_disk();
if (keluaran.disk() >= 0) keluaran.cetak_akar();
else out << "Akar imajiner";
return out;
}
istream& operator>>(istream& in, Akar& masukan) {
cout << "Koefisien pangkat 2 : "; cin >> masukan.A;
cout << "Koefisien pangkat 1 : "; cin >> masukan.B;
cout << "Koefisien pangkat 0 : "; cin >> masukan.C;
return in;
}
Akar::Akar() {
cout << "Menghitung akar persamaan kuadrat "<<endl<<endl;
}
void Akar::hitung_akar() {
if (A == 0) {
cout << "bukan pers. kuadrat.\n";
cout << "Harga akar = " << -C/B; } else {
if (disk() > 0) {
x1 = akar1();
x2 = akar2();
}
else if (disk() == 0) {
x1 = akar1();
x2 = x1;
}
}
}
int main(int argc, char** argv) {
Akar kasus;
cin >> kasus;
kasus.hitung_akar();
cout << kasus;
return 0;
}
#include <math.h>
#include <conio.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class Akar {
friend ostream& operator<<(ostream&, Akar&);
friend istream& operator>>(istream&, Akar&);
public:
Akar();
int disk() { return B*B-4*A*C; }
float akar1() {return (-B+sqrt(disk()))/(2*A); }
float akar2() {return (-B-sqrt(disk()))/(2*A); }
void hitung_akar();
void cetak_disk() {
cout << "diskriminan = " << disk() << endl; }
void cetak_akar() {
cout << "x1 = " << akar1() << endl;
cout << "x2 = " << akar2() << endl;
}
private:
int A, B, C; // input
float x1, x2; // akar 1 dan akar 2
};
ostream& operator<<(ostream& out, Akar& keluaran) {
keluaran.cetak_disk();
if (keluaran.disk() >= 0) keluaran.cetak_akar();
else out << "Akar imajiner";
return out;
}
istream& operator>>(istream& in, Akar& masukan) {
cout << "Koefisien pangkat 2 : "; cin >> masukan.A;
cout << "Koefisien pangkat 1 : "; cin >> masukan.B;
cout << "Koefisien pangkat 0 : "; cin >> masukan.C;
return in;
}
Akar::Akar() {
cout << "Menghitung akar persamaan kuadrat "<<endl<<endl;
}
void Akar::hitung_akar() {
if (A == 0) {
cout << "bukan pers. kuadrat.\n";
cout << "Harga akar = " << -C/B; } else {
if (disk() > 0) {
x1 = akar1();
x2 = akar2();
}
else if (disk() == 0) {
x1 = akar1();
x2 = x1;
}
}
}
int main(int argc, char** argv) {
Akar kasus;
cin >> kasus;
kasus.hitung_akar();
cout << kasus;
return 0;
}
3. Buatlah program dari algoritma 3.4. menggunakan case … of .
ALGORITMA :
Kasus 3 " Menkonversi nilai angka ke nilai huruf
Algoritma
- mendeklarasikan variabel nilai
- menkonversi nilai menjadi huruf
Deklarasi
- nilai : interger
Deskripsi
read(nilai)
switch (nilai)
case 81 ... 100 :
cout << nilai << " Nilai hurufnya adalah A " << endl;
break
case 61 ... 80 :
cout << nilai << " Nilai hurufnya adalah B " << endl;
break
case 41 ... 60 :
cout << nilai << " Nilai hurufnya adalah C " << endl;
break
case 21 ... 40 :
cout << nilai << " Nilai hurufnya adalah D " << endl;
break
case 0 ... 20 :
cout << nilai << " Nilai hurufnya adalah E " << endl;
break
Algoritma
- mendeklarasikan variabel nilai
- menkonversi nilai menjadi huruf
Deklarasi
- nilai : interger
Deskripsi
read(nilai)
switch (nilai)
case 81 ... 100 :
cout << nilai << " Nilai hurufnya adalah A " << endl;
break
case 61 ... 80 :
cout << nilai << " Nilai hurufnya adalah B " << endl;
break
case 41 ... 60 :
cout << nilai << " Nilai hurufnya adalah C " << endl;
break
case 21 ... 40 :
cout << nilai << " Nilai hurufnya adalah D " << endl;
break
case 0 ... 20 :
cout << nilai << " Nilai hurufnya adalah E " << endl;
break
RAPTOR :
Program CPP :
#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;
cout << " Menentukan Nilai Angka " << endl << endl;
cout << " Masukan Nilai Angka : "; cin >> nilai;
cout << endl;
switch (nilai)
{
case 81 ... 100 :
cout << nilai << " Nilai hurufnya adalah A " << endl;
break;
case 61 ... 80 :
cout << nilai << " Nilai hurufnya adalah B " << endl;
break;
case 41 ... 60 :
cout << nilai << " Nilai hurufnya adalah C " << endl;
break;
case 21 ... 40 :
cout << nilai << " Nilai hurufnya adalah D " << endl;
break;
case 0 ... 20 :
cout << nilai << " Nilai hurufnya adalah E " << endl;
break;
}
return 0;
}
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;
cout << " Menentukan Nilai Angka " << endl << endl;
cout << " Masukan Nilai Angka : "; cin >> nilai;
cout << endl;
switch (nilai)
{
case 81 ... 100 :
cout << nilai << " Nilai hurufnya adalah A " << endl;
break;
case 61 ... 80 :
cout << nilai << " Nilai hurufnya adalah B " << endl;
break;
case 41 ... 60 :
cout << nilai << " Nilai hurufnya adalah C " << endl;
break;
case 21 ... 40 :
cout << nilai << " Nilai hurufnya adalah D " << endl;
break;
case 0 ... 20 :
cout << nilai << " Nilai hurufnya adalah E " << endl;
break;
}
return 0;
}
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.
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.
ALGORITMA :
Kasus 5 " Menampilkan Tanggal pada Bulan dan Tahun Tertentu "
Algoritma
- mendeklarasikan variabel bulan dan tahun
- menentukan apakah tahun tersebut kabisat atau bukan
Deklarasi
- bulan, tanggal : interger
Deskripsi
read (bulan)
read (tahun)
case 2 :
if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
for i <- 1 to 29 d0
i <- i+1
write (i)
else
for i < 1 to 28 do
i <- i + 1
write (i)
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
for i <- 1 to 31 do
i <- i+1
write (i)
break;
case 4:
case 6:
case 9:
case 11:
for i <- 1 to 30 do
i <- i + 1
write (i)
break;
default:
write(salah kode bulan)
RAPTOR :
Algoritma
- mendeklarasikan variabel bulan dan tahun
- menentukan apakah tahun tersebut kabisat atau bukan
Deklarasi
- bulan, tanggal : interger
Deskripsi
read (bulan)
read (tahun)
case 2 :
if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
for i <- 1 to 29 d0
i <- i+1
write (i)
else
for i < 1 to 28 do
i <- i + 1
write (i)
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
for i <- 1 to 31 do
i <- i+1
write (i)
break;
case 4:
case 6:
case 9:
case 11:
for i <- 1 to 30 do
i <- i + 1
write (i)
break;
default:
write(salah kode bulan)
RAPTOR :
Program CPP :
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int tahun, bulan,bil;
cout << " Masukkan Tahun : "; cin >> tahun;
cout << " Masukkan Bulan ke : "; cin >> bulan;
switch (bulan)
{
case 2:
if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
{
for(int i=1; i<=29; i++)
{
cout<<i<<" ";
}
}
else
{
for(int i=1; i<=28; i++)
{
cout<<i<<" ";
}
}
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
for(int i=1; i<=31; i++)
{
cout<<i<<" ";
}
}
break;
case 4:
case 6:
case 9:
case 11:
{
for(int i=1; i<=30; i++)
{
cout<<i<<" ";
}
}
break;
default:
cout<<"salah kode bulan\n";
}
getch();
}
#include <conio.h>
using namespace std;
int main(){
int tahun, bulan,bil;
cout << " Masukkan Tahun : "; cin >> tahun;
cout << " Masukkan Bulan ke : "; cin >> bulan;
switch (bulan)
{
case 2:
if ((tahun%100==0)||(tahun%100!=0)&&(tahun%400==0))
{
for(int i=1; i<=29; i++)
{
cout<<i<<" ";
}
}
else
{
for(int i=1; i<=28; i++)
{
cout<<i<<" ";
}
}
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
for(int i=1; i<=31; i++)
{
cout<<i<<" ";
}
}
break;
case 4:
case 6:
case 9:
case 11:
{
for(int i=1; i<=30; i++)
{
cout<<i<<" ";
}
}
break;
default:
cout<<"salah kode bulan\n";
}
getch();
}





0 komentar
Posting Komentar