DIKTAT

Jumat, 08 April 2016

Diktat bab 5

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

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