KASUS WORKSHOP DIKTAT BAB IV PEMILIHAN / KONTROL PROGRAM
Dalam persoalan sehari-hari, hampir selalu ada kondisi di mana kita harus memilih, di antara alternatif-alternatif yang ada. Misalkan kita berada pada sebuah super market. Kita berniat ingin membeli sepatu. Sebelum berangkat kita mempersiapkan sejumlah uang. Untuk membeli sepatu ada sejumlah pertimbangan, misalnya jenis sepatu : sepatu olah raga atau sepatu kulit, warna : hitam atau coklat, harga : mulai dari 30.000 sampai maksimal 300.000 (dana maksimal untuk beli sepatu), dan selera (model).
Kasus 4.1. Tentukanlah bilangan terbesar antara dua bilangan bulat.
Analisis: Menentukan nilai lebih besar lebih kecil mungkin sudah tidak asing lagi bagi kita, sejak kita menginjak kelas 3 Sd kita sudah mengetahui perbandingan namun secara matematis, mari kita gunakan perhitungan matematis untuk berfikir logika untuk membuat program tersebut. "<" Tanda Lebih Kecil dan ">" Tanda Lebih Besar
Algoritma Maksimum
{Menentukan nilai terbesar antara dua bilangan bulat}
Deklarasi
A, B : integer
Deskripsi
read (A, B)
if (A > B) then write (‘Bilangan terbesar adalah = ‘A)
else write (‘Bilangan terbesar adalah = ‘B)
end if
Flowchart Kasus 4.1
Translasi Kasus 4.1
#include <iostream>
#include <string>
using namespace std;
class banding{
private:
string raptor_prompt_variable_zzyz;
int A,B;
public:
banding(){
raptor_prompt_variable_zzyz ="Masukan Nilai A: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> A;
raptor_prompt_variable_zzyz ="Masukan Nilai B: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> B;
}
void output();
};
void banding::output(){
if (A>B)
{
cout<<"Bilangan Terbesar: " << A << endl; }
else
{
cout<<"Bilangan Terbesar: "<< B << endl; }
}
int main()
{
banding j;
j.output();
return 0;
}
Hasil Kasus 4.1
Kasus 4.2. Tentukanlah bilangan terbesar antara 3 bilangan bulat.
Analisis: Menentukan Bilangan terbesar dari 3 bilangan bulat yang diinputkan, kita akan memasukan 3 bilangan kemudian akan ditentukan nilai terbesar atau maximum menggunakan 2 metode, yaitu sama-sama menggunakan kondisi tetapi isi dari kondisi tersebut berbeda.
Algoritma Nilai_ Maksimum
{Membaca tiga buah bilangan bulat, menentukan bilangan terbesar di antara tiga buah}
bilangan tersebut dan menampilkannya ke layar}
Deklarasi 4.2.a
x, y, z : integer
Deklarasi 4.2.b
x, y, z : integer
maks : integer
Deskripsi 4.2.a
read (x, y, z)
if (x > y) and (x > z) then write (‘Bilangan terbesar adalah = ‘,x)
else if (y > x) and (y > z) then write (‘Bilangan terbesar adalah = ‘,y)
else write (‘Bilangan terbesar adalah = ‘,z)
end if
Deskripsi 4.2.b
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)
Flowchart Kasus 4.2
Translasi Kasus 4.2.a
#include <iostream>
#include <string>
using namespace std;
class banding{
private:
string raptor_prompt_variable_zzyz;
int x,y,z;
public:
banding(){
raptor_prompt_variable_zzyz ="Masukan Bilangan Pertama: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> x;
raptor_prompt_variable_zzyz ="Masukan Bilangan Kedua: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> y;
raptor_prompt_variable_zzyz ="Masukan Bilangan Ketiga: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> z;
}
void output();
};
void banding::output(){
if (x>y && x>z)
{
cout << "Bilangan Terbesar: "+x << endl; }
else
{
if (y>x && y>z)
{
cout << "Bilangan Terbesar: "<<y << endl; }
else
{
cout << "Bilangan Terbesar: "<<z << endl; }
}
}
int main()
{
banding k;
k.output();
return 0;
}
Translasi Kasus 4.2.b
#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;
}
Hasil Kasus 4.2
Kasus 4.3. Carilah akar-akar persamaan kuadrat.
Analisis :
Persamaan kuadrat adalah persamaan dengan bentuk umum Ax2 + Bx + c = 0,
dan tentu saja dengan A != 0. Akar persamaan kuadrat diperoleh dengan rumus :
Bila b2-4ac<0 akan diperoleh akar imajiner.
Algoritma Persamaan_Kuadrat
{Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0}
Deklarasi
A, B, C : integer {koefisien-koefisien persamaan}
disk : longint { nilai diskriminan}
x1, x2 : real {nilai-nilai akar untuk disk>=0}
Deskripsi
read (A, B, C)
disk B*B– 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)
Flowchart Kasus 4.3
Translasi Kasus 4.3
#include <iostream>
#include <string>
using namespace std;
class kuadrat{
private:
string raptor_prompt_variable_zzyz;
float X1,A,B,C,Disk,X2,sqrt;
public:
kuadrat(){
raptor_prompt_variable_zzyz ="Masukan Nilai A: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> A;
raptor_prompt_variable_zzyz ="Masukan Nilai B: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> B;
raptor_prompt_variable_zzyz ="Masukan Nilai C: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> C;
Disk =B*B-4*A*C;
}
void output();
};
void kuadrat::output(){
if (Disk==0)
{
X1 =-B/2*A;
X2 =X1;
}
else
{
if (Disk>0)
{
X1 =-B+sqrt*Disk/2*A;
X2 =-B-sqrt*Disk/2*A;
}
else
{
cout << "Akar Imajiner" << endl; }
}
}
int main()
{
kuadrat x;
x.output();
return 0;
}
Hasil Kasus 4.3
Kasus 4.4. Konversikan nilai angka menjadi nilai huruf dengan ketentuan sebagai berikut :
Analisis: Konversi nilai angka menjadi nilai huruf dengan ketentuan seperti diatas, kita akan membuat program konversi nilai tersebut dengan dengan kondisi if else if untuk dapat menyelesaikan kasus diatas sesuai dengan ketentuan yang ada.
Algoritma Konversi_Nilai
{Mengkonversikan nilai angka menjadi nilai huruf}
Bab 4 Kondisi halaman : 81
Deklarasi
nilai : integer
nilai_huruf : char
Deskripsi
read (nilai)
if (nilai > 0) and (nilai <= 20) then nilai_huruf ‘E’
else if (nilai > 20) and (nilai <= 40) then nilai_huruf ‘D’
else if (nilai > 40) and (nilai <= 60) then nilai_huruf ‘C’
else if (nilai > 60) and (nilai <= 80) then nilai_huruf ‘B’
else nilai_huruf ‘A’
endif
write (nilai_huruf)
Flowchart Kasus 4.4
Translasi Kasus 4.4
#include <iostream>
#include <string>
using namespace std;
class konversi{
private:
string raptor_prompt_variable_zzyz;
int nilai;
public:
konversi(){
raptor_prompt_variable_zzyz ="Masukan Nilai : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> nilai;
}
void output();
};
void konversi::output(){
if (nilai<=20)
{
cout << "nilai_huruf: E " << endl; }
else
{
if (nilai<=40)
{
cout << "nilai_huruf: D " << endl; }
else
{
if (nilai<=60)
{
cout << "nilai_huruf: C " << endl; }
else
{
if (nilai<=80)
{
cout << "nilai_huruf: B" << endl; }
else
{
cout << "nilai_huruf: A" << endl; }
}
}
}
}
int main()
{
konversi x;
x.output();
return 0;
}
Hasil Kasus 4.4
Kasus 4.5. Buatlah algoritma, flowchart, dan program untuk mengkonversi hari ke-1 adalah hari Senin sampai dengan hari ke-7 adalah Minggu. Misalkan dimasukkan nilai 5, outputnya adalah hari Jum’at.
Analisis: Menentukan hari ke-1 sampai ke-7 sesuai dengan hari ke- yang diinginkan atau diinputkan sesuai dengan hari di kalender. dengan begitu kita akan mengerti dalam menentukan hari disebuah program dan hal yang di butuhkan adalah pengkondisian
Algoritma menentukan_hari
{ masukan integer 1 sampai 7, akan ditentukan hari apa yang sesuai }
Deklarasi
hari_ke : integer;
hari : string;
Deskripsi
read(hari_ke);
case (hari_ke) of
1 : hari 'Senin'
2 : hari 'Selasa';
3 : hari 'Rabu';
4 : hari 'Kamis';
5 : hari 'Jum''at';
6 : hari 'Sabtu';
else hari 'Minggu';
endcase
write(hari)
Flowchart Kasus 4.5
Translasi Kasus 4.5
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int menu;
raptor_prompt_variable_zzyz ="1. Senin, 2. Selasa, 3. Rabu, 4. Kamis, 5. Jum'at, 6. Sabtu, 7. Minggu. Masukan Hari Ke-: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> menu;
if (menu==1)
{
cout << "Hari Senin" << endl; }
else
{
if (menu==2)
{
cout << "Hari Selasa" << endl; }
else
{
if (menu==3)
{
cout << "Hari Rabu" << endl; }
else
{
if (menu==4)
{
cout << "Hari Kamis" << endl; }
else
{
if (menu==5)
{
cout << "Hari Jum'at" << endl; }
else
{
if (menu==6)
{
cout << "Hari Sabtu" << endl; }
else
{
cout << "Hari Minggu" << endl; }
}
}
}
}
}
return 0;
}
Hasil Kasus 4.5
Flowchart Kasus 4.1
#include <iostream>
#include <string>
using namespace std;
class banding{
private:
string raptor_prompt_variable_zzyz;
int A,B;
public:
banding(){
raptor_prompt_variable_zzyz ="Masukan Nilai A: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> A;
raptor_prompt_variable_zzyz ="Masukan Nilai B: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> B;
}
void output();
};
void banding::output(){
if (A>B)
{
cout<<"Bilangan Terbesar: " << A << endl; }
else
{
cout<<"Bilangan Terbesar: "<< B << endl; }
}
int main()
{
banding j;
j.output();
return 0;
}
Hasil Kasus 4.1
Kasus 4.2. Tentukanlah bilangan terbesar antara 3 bilangan bulat.
Analisis: Menentukan Bilangan terbesar dari 3 bilangan bulat yang diinputkan, kita akan memasukan 3 bilangan kemudian akan ditentukan nilai terbesar atau maximum menggunakan 2 metode, yaitu sama-sama menggunakan kondisi tetapi isi dari kondisi tersebut berbeda.
Algoritma Nilai_ Maksimum
{Membaca tiga buah bilangan bulat, menentukan bilangan terbesar di antara tiga buah}
bilangan tersebut dan menampilkannya ke layar}
Deklarasi 4.2.a
x, y, z : integer
Deklarasi 4.2.b
x, y, z : integer
maks : integer
Deskripsi 4.2.a
read (x, y, z)
if (x > y) and (x > z) then write (‘Bilangan terbesar adalah = ‘,x)
else if (y > x) and (y > z) then write (‘Bilangan terbesar adalah = ‘,y)
else write (‘Bilangan terbesar adalah = ‘,z)
end if
Deskripsi 4.2.b
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)
Flowchart Kasus 4.2
Translasi Kasus 4.2.a
#include <iostream>
#include <string>
using namespace std;
class banding{
private:
string raptor_prompt_variable_zzyz;
int x,y,z;
public:
banding(){
raptor_prompt_variable_zzyz ="Masukan Bilangan Pertama: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> x;
raptor_prompt_variable_zzyz ="Masukan Bilangan Kedua: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> y;
raptor_prompt_variable_zzyz ="Masukan Bilangan Ketiga: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> z;
}
void output();
};
void banding::output(){
if (x>y && x>z)
{
cout << "Bilangan Terbesar: "+x << endl; }
else
{
if (y>x && y>z)
{
cout << "Bilangan Terbesar: "<<y << endl; }
else
{
cout << "Bilangan Terbesar: "<<z << endl; }
}
}
int main()
{
banding k;
k.output();
return 0;
}
Translasi Kasus 4.2.b
#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;
}
Kasus 4.3. Carilah akar-akar persamaan kuadrat.
Analisis :
Persamaan kuadrat adalah persamaan dengan bentuk umum Ax2 + Bx + c = 0,
dan tentu saja dengan A != 0. Akar persamaan kuadrat diperoleh dengan rumus :
Bila b2-4ac<0 akan diperoleh akar imajiner.
Algoritma Persamaan_Kuadrat
{Menghitung akar-akar persamaan kuadrat Ax^2+Bx+C = 0}
Deklarasi
A, B, C : integer {koefisien-koefisien persamaan}
disk : longint { nilai diskriminan}
x1, x2 : real {nilai-nilai akar untuk disk>=0}
Deskripsi
read (A, B, C)
disk B*B– 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)
Flowchart Kasus 4.3
Translasi Kasus 4.3
#include <iostream>
#include <string>
using namespace std;
class kuadrat{
private:
string raptor_prompt_variable_zzyz;
float X1,A,B,C,Disk,X2,sqrt;
public:
kuadrat(){
raptor_prompt_variable_zzyz ="Masukan Nilai A: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> A;
raptor_prompt_variable_zzyz ="Masukan Nilai B: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> B;
raptor_prompt_variable_zzyz ="Masukan Nilai C: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> C;
Disk =B*B-4*A*C;
}
void output();
};
void kuadrat::output(){
if (Disk==0)
{
X1 =-B/2*A;
X2 =X1;
}
else
{
if (Disk>0)
{
X1 =-B+sqrt*Disk/2*A;
X2 =-B-sqrt*Disk/2*A;
}
else
{
cout << "Akar Imajiner" << endl; }
}
}
int main()
{
kuadrat x;
x.output();
return 0;
}
Hasil Kasus 4.3
Kasus 4.4. Konversikan nilai angka menjadi nilai huruf dengan ketentuan sebagai berikut :
Analisis: Konversi nilai angka menjadi nilai huruf dengan ketentuan seperti diatas, kita akan membuat program konversi nilai tersebut dengan dengan kondisi if else if untuk dapat menyelesaikan kasus diatas sesuai dengan ketentuan yang ada.
Algoritma Konversi_Nilai
{Mengkonversikan nilai angka menjadi nilai huruf}
Bab 4 Kondisi halaman : 81
Deklarasi
nilai : integer
nilai_huruf : char
Deskripsi
read (nilai)
if (nilai > 0) and (nilai <= 20) then nilai_huruf ‘E’
else if (nilai > 20) and (nilai <= 40) then nilai_huruf ‘D’
else if (nilai > 40) and (nilai <= 60) then nilai_huruf ‘C’
else if (nilai > 60) and (nilai <= 80) then nilai_huruf ‘B’
else nilai_huruf ‘A’
endif
write (nilai_huruf)
Flowchart Kasus 4.4
Translasi Kasus 4.4
#include <iostream>
#include <string>
using namespace std;
class konversi{
private:
string raptor_prompt_variable_zzyz;
int nilai;
public:
konversi(){
raptor_prompt_variable_zzyz ="Masukan Nilai : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> nilai;
}
void output();
};
void konversi::output(){
if (nilai<=20)
{
cout << "nilai_huruf: E " << endl; }
else
{
if (nilai<=40)
{
cout << "nilai_huruf: D " << endl; }
else
{
if (nilai<=60)
{
cout << "nilai_huruf: C " << endl; }
else
{
if (nilai<=80)
{
cout << "nilai_huruf: B" << endl; }
else
{
cout << "nilai_huruf: A" << endl; }
}
}
}
}
int main()
{
konversi x;
x.output();
return 0;
}
Hasil Kasus 4.4
Kasus 4.5. Buatlah algoritma, flowchart, dan program untuk mengkonversi hari ke-1 adalah hari Senin sampai dengan hari ke-7 adalah Minggu. Misalkan dimasukkan nilai 5, outputnya adalah hari Jum’at.
Analisis: Menentukan hari ke-1 sampai ke-7 sesuai dengan hari ke- yang diinginkan atau diinputkan sesuai dengan hari di kalender. dengan begitu kita akan mengerti dalam menentukan hari disebuah program dan hal yang di butuhkan adalah pengkondisian
Algoritma menentukan_hari
{ masukan integer 1 sampai 7, akan ditentukan hari apa yang sesuai }
Deklarasi
hari_ke : integer;
hari : string;
Deskripsi
read(hari_ke);
case (hari_ke) of
1 : hari 'Senin'
2 : hari 'Selasa';
3 : hari 'Rabu';
4 : hari 'Kamis';
5 : hari 'Jum''at';
6 : hari 'Sabtu';
else hari 'Minggu';
endcase
write(hari)
Flowchart Kasus 4.5
Translasi Kasus 4.5
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
int menu;
raptor_prompt_variable_zzyz ="1. Senin, 2. Selasa, 3. Rabu, 4. Kamis, 5. Jum'at, 6. Sabtu, 7. Minggu. Masukan Hari Ke-: ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> menu;
if (menu==1)
{
cout << "Hari Senin" << endl; }
else
{
if (menu==2)
{
cout << "Hari Selasa" << endl; }
else
{
if (menu==3)
{
cout << "Hari Rabu" << endl; }
else
{
if (menu==4)
{
cout << "Hari Kamis" << endl; }
else
{
if (menu==5)
{
cout << "Hari Jum'at" << endl; }
else
{
if (menu==6)
{
cout << "Hari Sabtu" << endl; }
else
{
cout << "Hari Minggu" << endl; }
}
}
}
}
}
return 0;
}
Hasil Kasus 4.5













0 komentar:
Posting Komentar