Selamat siang ..
Kali ini saya akan memposting latihan-latihan yang ada di diktat alpro bab 4. Berikut ini adalah soal-soalnya yang dibuat kedalam program cpp dan raptor
Latihan 1
Kasus:" 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)
Raptor
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;
}
Latihan 2
Kasus : " 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)
Raptornya
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;
}
Latihan 3
Kasus " 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
Raptor
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;
}
Latihan 5
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
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();
}




Tidak ada komentar:
Posting Komentar