Assalamu'alaikum wr. wb.
Inilah pembahasan Diktat Bab 5 :
1. Cetaklah bilangan 1 sampai 4 menggunakan downto.
C++ :
#include <iostream>
using namespace std;
int main(){
cout <<"\n \t\t\tPROGRAM MENCETAK BILANGAN 1-4 \n";//Algoritma menceteak bilanagn 1 sampai 4
cout <<" \n\t\t\t DENGAN PERULANGAN \n"; //{langsung mencetak bilanagn 1 sampai 4}
int b; //Deklarasi b=integer
for (b=1;b<=4;b++){ //read
cout<<b<<endl;
}
return 0;
}
Output :
3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5 antara 1 sampai 100.
C++ :
#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 a;
for(a=1;a<=100;a++){
if(a%3==0 && a%5==0){
cout<<"Bilangan habis dibagi 3 dan 5= "<<a;
cout<<endl;
}else{
}
}
return 0;
}
Output :
Algoritma :
Algoritma
Mencetak bilangan yang habis dibagi 3 dan 5 antara 1-100
Deklarasi
a:integer (output)
Deskripsi
a<-1
repeat
a<-100
a%3<-0 && a%5<-0
write(a)
5. Hitunglah nilai dari :
1-(1/2)+(1/3)-(1/4)+......+(1/n)
C++ :
#include <iostream>
#include<conio.h>
#include<math.h>
using namespace std;
class hitung
{
public:
void input();
int proses();
private:
int a;
float bil,hasil,total;
};
void hitung::input(){
cin>>a;
cout<<endl;}
int hitung::proses(){
hasil=0;
total=0;
bil=-1;
for(int j=1; j<=a; j++){
bil=(bil*(-1));
total=bil/j;
hasil+=total;
if(j==1)
cout<<"("<<bil<<"/"<<j<<")";
if(j>1)
cout<<" +("<<bil<<"/"<<j<<")";
}
cout<<endl<<endl<<"hasil penjumlahan deret = "<<hasil;
return hasil;
}
int main()
{
cout<<"menghitung jumlah Hasil Deret 1-(1/2)+(1/3)-(1/4)+...+(1/n)"<<endl<<endl;
cout<<"masukan nilai n : ";
hitung deret;
deret.input();
deret.proses();
getch();
return 0;
}
Output :
6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan biner. Petunjuk : Gunakan operator mod dan div !
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;
}
Output :
Latihan hal. 120
1. Bualah fungsi fibonacci dengn cara iteratif.
C++ :
#include <iostream>
using namespace std;
int iteratif (int suku, int a, int b, int c)
{
a=0, b=1;
if (suku == 1) return b;
if (suku == 0) return a;
else{
for(int i=2; i<=suku; i++){
c = a + b;
a = b;
b = c;
}
return c;
}
}
int main()
{
int suku, a, b,c;
cout<<"Masukkan nilai suku ke-: ";
cin>>suku;
cout<<"\nBilangan fibonaccinya untuk "<<suku<<" adalah ";
cout<< iteratif ( suku, a, b, c);
return 0;
}
Output :
2. Buatlah fungsi fibonacci dengan 2 rekursif yang lain.
C++:
#include <iostream>
using namespace std;
int nextTerm(int n){
int firstTerm = 0, secondTerm = 1;
int nextTerm;
cout << "Fibonacci Series: " << firstTerm << " " << secondTerm << " ";
for (int i = 1; i <= n-2; ++i) {
nextTerm = firstTerm + secondTerm;
cout<<nextTerm << " ";
firstTerm = secondTerm;
secondTerm = nextTerm;
}
}
int main() {
int n;
cout << "Enter number of terms: ";
cin >> n;
nextTerm(n);
return 0;
}
Output :
3. Algoritma perkalian dengan cara penjumlahan pada algoritma 5.3. belum sempurna karena belum mencakup semua kemungkinan, misalnya untuk harga b negatif. Buatlah fungsi perkalian dengan cara penjumlahan dengan menyempurnakan algoritma 5.3. di atas.
C++ :
#include <iostream>
#include <math.h>
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 a,b,i,jumlah=0;
cout<<"Menghitung Perkalian dengan Penjumlahan"<<endl;
cout<<"Masukan Nilai pertama = ";cin>>a;
cout<<"Masukan Nilai Kedua = ";cin>>b;
if (a>0 && a<0 || b>0){
for(i=1;i<=b;i++)
jumlah+=a;
cout<<a<<"x"<<b<<"="<<jumlah;
}else if(b<0 && a<0){
for(i=0;i>a;i--)
jumlah-=b;
cout<<a<<"x"<<b<<"="<<jumlah;
}else{
for(i=1;i<=a;i++)
jumlah+=b;
cout<<a<<"x"<<b<<"="<<jumlah;
}
return 0;
}
Output :
4. Buatlh algoritma rekursif dari algoritma 5.3.
Algoritma :
Algoritma : algoritma rekrusif
(diberikan masukan a,b,i,jumlah)
Deklarasi :
I,n,jumlah,x : integer
Deskripsi :
Read(n)
jumlah←0
for i←1 to n do
read(x)
jumlah←jumlah+x
endfor
rata←jumlah/n
write(rata)
Sekian Pembahasan dari diktat bab 5. Semoga bermanfaat
Wassalamu'alaikum wr. wb







0 komentar: