Untuk Latihan halaman 110 nomor 1-5 dapat dilihat di : http://hiwilmacleta.blogspot.co.id/search/label/Diktat5
no. 6 halaman 110
Soal :
Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan biner. Petunjuk : Gunakan operator mod dan div !
Algoritma
:
1. Deklarasi
desimal, pembagi, bit : long
pembagi=1073741824
3. 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")
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) {
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;
}
Flowchart :
no.7 halaman 110
Soal :
Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf. Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya
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];
cout<<"\nPermutasi dari tiga
huruf"<<endl;
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;
}
Kalau di run, hasilnya :
No. 1 halaman 120
Soal :
Buatlah fungsi fibonacci dengan 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;
}
no.2 halaman 120
Soal :
Buatlah fungsi fibonacci dengan 2 cara 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;
}
Kalau di run, hasilnya :
no.3 halaman 120
Soal :
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.
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;
}
Kalau di run, hasilnya :
Untuk nomor 5-9 halaman 121 dapat dilihat di : http://ratihpuspita29.blogspot.co.id/search/label/bab5
SEMOGA BERMANFAAT!!!











Tidak ada komentar:
Posting Komentar