1. cetaklah bilangan 1 sampai dengan 4 menggunakan downto.
Algoritma cetak angka 1-4 menggunakan dewonto
Deklarasi
i : integer
Deskripsi
For i ← 4 to 0 do
Write (i)
Endfor
Sorce Code C++
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i;
for(i=4;i>0;i--)
cout<<" "<<i<<endl;
return 0;
}
Di atas adalah gambar hasil outputnya.
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}
Sorce Code C++
#include <iostream>
#include <conio.h>
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;
}
Di atas adalah gambar hasil outputnya.
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
Sorce Code C++
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i;
i =0;
while (!(i>100))
{
if (i % 3==1 && i % 5==1)
{
}
else
{
cout << i << endl; }
i =i+15;
}
return 0;
}
Di atas adalah gambar hasil outputnya.
4. Hitunglah nilai dari : 1- ½ + 1/3 – ¼ + ... + 1/n
Sorce Code C++
#include <iostream>
#include<conio.h>
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;
}
Di atas adalah gambar hasil outputnya.
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
Sorce Code C++
#include <iostream>
#include <stdio.h>
#include <conio.h>
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);
}
Di atas adalah gambar hasil outputnya.
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")
Latihan ke2
Algoritma
Deklarasi :
x, y, i, hasil : integer
Deskripsi :
read x
read y
hasil <- 0
for i <- to y do
hasil <- hasil + x
end for
write hasil
end
Sorce Code C++
#include <iostream>
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;
}
Di atas adalah gambar hasil outputnya.
7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf.
Sorce Code C++
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
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;
}








Tidak ada komentar:
Posting Komentar