Latihan
1. cetaklah bilangan 1 sampai dengan 4 menggunakan downto.
{Bilangan (1-4 menggunakan dewonto) algoritma cetak
angka}
Deklarasi
i : integer
Deskripsi
For i ←
4
to 0 do
Write
(i)
Endfor
using namespace std;
int main()
{
int i; for(i=4;i>0;i--)
cout<<"
"<<i<<endl;
return 0;
}
2. buatlah translasi dalam bahasa
C untuk algoritma 4.5. Apakah diperlukan modifikasi
algoritma ?
.{menentukan
int 1 sampai 7, menentukan hari yang sesuai }
Deklarasi
Hari_ke :int;
Hari :string;
Deskripsi
Read (hari_ke)
Pilih(hari_ke)untuk
1 : hari ←
|senin|;
2: hari ←
|selasa|;
3: hari ←
|Rabu|;
4: hari ←
|Kamis|;
5: hari ←
|Jumat|;
6: hari ←
|Sabtu|;
7: hari ←
|Minggu|;
End{pilih}
Write{hari}
using
namespace std;
class
Kalender {
friend ostream&
operator<<(ostream&, Kalender&);
friend istream&
operator>>(istream&, Kalender&);
public:
Kalender() {};
void adalah();
private:
int hari_ke;
char *hari;
};
void
Kalender::adalah() {
switch (hari_ke) {
case 1:
hari = "Senin"; break;
case 2:
hari = "Selasa";break;
case 3:
hari = "Rabu"; break;
case 4:
hari = "Kamis"; break;
case 5:
hari = "Jum'at";break;
case 6:
hari = "Sabtu"; break;
default: hari = "Minggu";break;
}
}
istream&
operator>>(istream& in, Kalender& masukan) {
cout << "Masukkan hari ke-";
in >> masukan.hari_ke;
return in;
}
ostream&
operator<<(ostream& out, Kalender& keluaran) {
out << "Hari ke- " <<
keluaran.hari_ke << " adalah
"
<< keluaran.hari << endl;
return out;
}
main()
{
Kalender tanggal;
cin >> tanggal;
tanggal.adalah();
cout << tanggal;
getch();
return 0;
}
3. Buatlah algoritma dan program
untuk mencetak bilangan yang habis dibagi 3 dan 5
antara 1 sampai dengan 100.
{Membaca
i (bilangan 1 sampai dengan 100), kemudian menentukan bilangan yang habis
dibagi 3 dan 5}
Deklarasi
i
: integer {bilangan
1 sampai dengan 100}
Deskripsi
Read
i
I ß 1 sampai dengan 100
for (int i=1; i<=100; i++)
if (i mod 3==0)
Write i
Else (i mod 5==0)
Write i
I ß 1 sampai dengan 100
for (int i=1; i<=100; i++)
if (i mod 3==0)
Write i
Else (i mod 5==0)
Write i
using
namespace std;
class
bilangan{
friend
ostream& operator<<(ostream&, bilangan&);
friend
istream& operator>>(istream&, bilangan&);
public:
bilangan(){};
void
proses(){
i
=0;
while
(!(i>100))
{
if (i % 3==1 && i % 5==1){
}
else
{
cout
<< i << endl; }
i
=i+15;
}
}
private:
int
i;
};
istream&
operator>>(istream& in, bilangan& masukkan){
cout<<"Bilangan
Yang Habis Dibagi 3 & 5 = "<<endl;
in
>>masukkan.i;
return
in;
}
ostream&
operator<<(ostream& out, bilangan& keluaran){
cout<<"Bilangannya
adalah "<<keluaran.i<<endl;
return
out;
}
int
main(int argc, char *argv[])
{
bilangan
bil;
cin
>> bil;
bil.proses();
cout<<
bil;
cout<<
endl;
system("PAUSE");
return
0;
}
4. Hitunglah nilai dari :
1
1 1 1 12
3 4 n
using
namespace std;
class hitung
{
public:
void input();
int proses();
private:
int n;
float rumus,jumlah,total;
};
void hitung::input(){
cin>>n;
cout<<endl;}
int hitung::proses(){
jumlah=0;
total=0;
rumus=-1;
for(int j=1; j<=n; j++){
rumus=(rumus*(-1));
total=rumus/j;
jumlah+=total;
if(j==1)
cout<<"("<<total<<")";
if(j>1)
cout<<"+("<<total<<")";
}
cout<<endl<<endl<<"hasil penjumlahan deret =
"<<jumlah;
return jumlah;
}
int main()
{
cout<<"menghitung jumlah dari
rumus 1-(1/2)+(1/3)-(1/4)+...+(1/n)"<<endl<<endl;
cout<<"nilai n : ";
hitung deret;
deret.input();
deret.proses();
getch();
return 0;
}
5. Buatlah algoritma dan program
untuk menghitung nilai dari permutasi dan kombinasi n
buah bola yang diambil r bola.
{Menghitung nilai permutasi dan kombinasi n
buah bola yang diambil r bola}
Deklarasi
hasil,n,k : integer
proses[2],yesno[2]; character
.
Deskripsi
Read(n,k)
if(n<k)
then write("Nilai n tidak boleh
lebih kecil dari k")
else
write"(Pilih P (permutasi) atau
C (kombinasi))"
if(proses[0]=='p' || proses[0]=='P')
hasil = faktorial(n)/faktorial(n-k);
then write("\n \n")
then write(n,"P",k,"
: ",hasil)
else if (proses[0]=='c' ||
proses[0]=='C')
hasil = faktorial(n)/(faktorial(k) *
faktorial(n-k));
then write("\n \n")
then write(n,"C",k,"
: ",hasil)
else
then write("\n\tAnda tidak
memilih P atau C")
then write("\n\tIngin
mengulang? <y/n> ")
Read(yesno[0])
if (yesno[0]=='Y'||yesno[0]=='y')
Y=1
else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y')
Y=0
using namespace std;
long
int fak (long int x);
main()
{
int
n,r, Prts,pilihan,p;
char
ulang;
do
{
cout<<"(c)
Created 2010 by esa d’suryanta.Inc"<<endl<<endl;
cout<<"PERHITUNGAN
KOMBINASI DAN PERMUTASI"<<endl;
cout<<"1.
KOMBINASI"<<endl;
cout<<"2.
PERMUTASI"<<endl;
cout<<"3.
EXIT"<<endl;
cout<<endl<<endl;
cout<<"Pilihan
Anda : ";cin>>pilihan;
switch
(pilihan)
{
case
1 :
cout<<"
Program Menghitung Kombinasi(nCr)";
cout<<endl;
cout<<"
Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<"
Masukkan Nilai r : "; cin>>r;
cout<<endl;
if
(n>r){
Prts
= fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf("
Kombinasinya adalah: %d",Prts);
cout<<endl;
}
else
if (n<r){
cout<<"data
tak valid";}
cout<<endl
;
break;
case
2 :
cout<<"
Program Menghitung Permutasi(nPr)";
cout<<endl;
cout<<"
Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<"
Masukkan Nilai r : "; cin>>r;
cout<<endl;
if
(n>r){
Prts
= fak (n)/fak(n-r);
cout<<endl;
printf("
Permutasinya adalah: %d",Prts);
cout<<endl;
}
else
if (n<r){
cout<<"data
tak valid";}
cout<<endl
;
break;
case
3 :
cout<<"Exit"<<endl;
break;
default:
cout<<"Menu
tidak tersedia"<<endl;
break;
}
cout<<"Kembali
ke Menu Utama (y/n)?";cin>>ulang;
}
while
(ulang == 'y');
getch();
}
long
int fak (long int n)
{
int
f;
if
(n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return
(f);
}
6. Buatlah algoritma dan program
untuk mengkonversi bilangan desimal menjadi bilangan
biner.
Deklarasi
desimal, pembagi, bit : long
pembagi=1073741824
Deskripsi
Read(desimal)
while(pembagi>desimal)pembagi/=2
do
bit=desimal/pembagi
then write(bit)
desimal=desimal%pembagi
pembagi/=2;
while(pembagi>=1)
write("\n")
using
namespace std;
int
main(int argc, char** argv) {
long desimal, pembagi, bit;
pembagi=1073741824;
cout<<"\t\t Program
Konversi Bilangan Desimal ke Biner"<<endl<<endl;
cout<<" Masukan
bilangan desimal : ";
cin>>desimal;
while(pembagi>desimal)pembagi/=2;
do{
bit=desimal/pembagi;
cout<<bit;
desimal=desimal%pembagi;
pembagi/=2;
}
while(pembagi>=1);
cout<<"\n";
return 0;
}
7. Buatlah algoritma, flowchart
dan program untuk menampilkan permutasi dari 3 huruf.
Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya
using namespace std;
void masuk(char a[50]);
void keluar(char b[50]);
void identitas();
int main()
{
char
kata[50];
masuk(kata);
keluar(kata);;
getch();
}
void masuk(char a[50]){
cout<<"\nMasukkan Kata : ";
gets(a);
cout<<endl;
}
void keluar(char b[50]){
cout<<"\nHasil Pembalikkan kata :";
for(int
a=strlen(b);a>=0;a--)
{
cout<<b[a];
}
cout<<endl;
}
EmoticonEmoticon