Latihan Bab 2 Alpro 2017 Minggu 2
Workshop Pemrograman
Minggu Kedua
1. Buatlah program yang meminta user memasukkan jam, menit dan detik kemudian menampilkan dengan format jam:menit:detik. Deklarasikan berupa integer, sedangkan menit berupa floating point. Buat masukkan dan keluaran mengunakan operator overloading << dan >> sesuai yang dikehendaki.
a. Buat class waktu, termasuk operator overloading input dan outputclass waktu{
friend osteram& operator<<(ostream&,const waktu&);
friend isteram& operator<<(isteram&,waktu&);
public:
private:
};
b. Buat implementasi operator overloading input dan output
c. Buat main function
Menggunakan raptor :
![]() |
raptor soal no-1 |
![]() |
Inputan : jam=16, menit=48 dan detik=30 |
#include <iostream>
using namespace std;
class time{
friend istream& operator>>(istream&, time&); //implementasi operator overloading
friend ostream& operator<<(ostream&, time&);
public:
time(){};
int run(); //function
private:
int waktu;
int jam;
int menit;
float detik;
};
int time::run(){
cout<<jam<<":"<<menit<<":"<<detik;
cin>>waktu;
return waktu;
}
istream& operator>>(istream& input, time& in){
cout<<"Menampilkan dengan format Jam:Menit:Detik"<<endl;
cout<<"Masukkan jam : ";
input>>in.jam;
cout<<"Masukkan menit : ";
input>>in.menit;
cout<<"Masukkan detik : ";
input>>in.detik;
return input;
}
ostream& operator<<(ostream& output, time& out){
output<<out.run();
return output;
}
int main(){
time x;
cin>>x;
cout<<endl;
cout<<"Sekarang Jam "<<x<<" WIB";
cout<<endl;
return 0;
}
Setelah di compile outputnya seperti berikut :
![]() |
Input : jam=16, menit=48 dan detik=30 |
2. Untuk soal nomor 2, ulangi lankah-langkah sebagaimana soal nomor 1.
Buatlah program yang meminta user memasukkan bagian penyebut dan pembilang dari sebuah bilangan rasional berbentuk p/q/ Setiap bilangan rasional outputnya berbentuk p/q. Misalnya, memasukkan 1 dan 2 maka tampilan outputnya 1/2.
Menggunakan raptor :
![]() |
raptor soal no-2 |
![]() |
Inputan : penyebut = 1 dan pembilang =2 |
#include <iostream>
using namespace std;
class pecahan{
friend istream& operator>>(istream&, pecahan&);
friend ostream& operator<<(ostream&, pecahan&);
public:
pecahan(){};
int bil();
private:
int pembilang;
int penyebut;
int bilangan;
};
int pecahan::bil(){
cout<<pembilang<<"/"<<penyebut;
cin>>bilangan;
return bilangan;
}
istream& operator>>(istream& input, pecahan& in){
cout<<"Menampilkan bilangan pecahan"<<endl;
cout<<"Masukkan pembilang : ";
input>>in.pembilang;
cout<<"Masukkan penyebut : ";
input>>in.penyebut;
return input;
}
ostream& operator<<(ostream& output, pecahan& out){
output<<out.bil();
return output;
}
int main(){
pecahan x;
cin>>x;
cout<<endl;
cout<<"Bilangan pecahan yang anda masukkan adalah "<<x;
cout<<endl;
return 0;
}
Setelah di compile outputnya seperti berikut :
![]() |
Inputan : Pembilang = 3 dan Penyebut = 2 |
3. Buatlah program yang meminta user memasukkanbagian ribuan, ratusan, puluhan dan satuan. Misalnya : 1000, 200, 30, 4. Tampilan yang dikehendaki adalah 1234.
Menggunakan raptor :
![]() |
raptor soal no-3 |
![]() |
Inputan : ribuan= 1000, ratusan= 200, puluhan= 30, satuan= 40 |
#include <iostream>
using namespace std;
int main() {
int ribuan, ratusan, puluhan, satuan;
int a, b, c, d;
cout<<"masukkan bilangan ribuan : ";
cin>>a;
cout<<"masukkan bilangan ratusan : ";
cin>>b;
cout<<"masukkan bilangan puluhan : ";
cin>>c;
cout<<"masukkan bilangan satuan : ";
cin>>d;
ribuan=a/1000;
ratusan=b/100;
puluhan=c/10;
satuan=d;
cout<<endl;
cout<<ribuan<<ratusan<<puluhan<<satuan;
return 0;
}
Setelah dicompile outputnya seperti berikut :
![]() |
Inputan : ribuan= 1000, ratusan= 200, puluhan= 30, satuan= 40 |
4. Buatlah program untuk mempresentasikan operasi operasi aritmatika : penjumlahan, pengurangan, perkalian dan pembagian. User diinta memasukkan 2 buah bilangan bulat, kemudian menampilkan sajian lengkapnya dari semua operasi. Sebagai contoh, user memasukkan 1 dan 2 maka outputanya :
1 + 2 = 31 - 2 = -11 * 2 = 21 : 2 = 1/2class Hitung {
};
Menggunakan raptor :
![]() |
raptor soal no-4 |
![]() |
Inputan : bilangan pertama = 3, dan bilangan kedua = 2 |
Menggunakan c++ :
#include <iostream>
using namespace std;
class hitung{
public:
void input();
void tambah();
void kurang();
void bagi();
void kali();
int bil1, bil2;
};
void hitung::tambah(){
cout<<bil1<<"+"<<bil2<<"="<<bil1+bil2;
}
void hitung::kurang(){
cout<<bil1<<"-"<<bil2<<"="<<bil1-bil2;
}
void hitung::kali(){
cout<<bil1<<"*"<<bil2<<"="<<bil1*bil2;
}
void hitung::bagi(){
cout<<bil1<<":"<<bil2<<"="<<bil1<<"/"<<bil2;
}
int main() {
hitung hit;
cout<<"masukkan bilangan bulat1 : ";
cin>>hit.bil1;
cout<<"masukkan bilangan bulat2 : ";
cin>>hit.bil2;
hit.tambah();
cout<<endl;
hit.kurang();
cout<<endl;
hit.bagi();
cout<<endl;
hit.kali();
cout<<endl;
return 0;
}
Setelah dicompile outputnya seperti berikut :
![]() |
Inputan : bilangan pertama = 3, dan bilangan kedua = 2 |
5. Buatlah program untuk mempresentasikan bilangan bulat menjadi scientific number berbentuk 1.23E1 untuk menyatakan bilangan 1.23. Masukkan bilangan antara 0 dan 10, sedangkan b dari 0 sampai 4.
Menggunakan raptor :
![]() |
raptor soal no-5 |
![]() |
Inputan : 1234 |
#include <iostream>
#include <string>
using namespace std;
int main()
{
string raptor_prompt_variable_zzyz;
float b;
float a;
float bilbul;
raptor_prompt_variable_zzyz ="Masukkan bilangan bulat 4 digit : ";
cout << raptor_prompt_variable_zzyz << endl;
cin >> bilbul;
if (bilbul>999){
b =3;
a =bilbul/1000;
}
else{
if (bilbul>99){
b =2;
a =bilbul/100;
}
else{
if (bilbul>9){
b =1;
a =bilbul/10;
}
else{
b =0;
a =bilbul;
}
}
}
cout<<endl;
cout<<"Bilangan scientific = ";
cout<<a<<"E"<<b<< endl;
return 0;
}
Setelah dicompile hasilnya seperti berikut :
![]() |
Inputan : 1234 |
Komentar
Posting Komentar