top of page
Writer's pictureD A Rosi Arsida Wardani

Latihan

Soal. Buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi algoritma?


Jawab :

Ya, diperlukan modifikasi algoritma.

Hasil revisi algoritma :

Algoritma menentukan_hari

{masukkan integer 1 sampai 7, akan ditentukan hari apa yang sesuai}

Deskripsi

hari_ke : integer

hari : string

Deskripsi

read (hari_ke)

Pilih (hari_ke)

1 : hari ← 'Senin'

2 : hari ← 'Selasa'

3 : hari ← 'Rabu'

4 : hari ← 'Kamis'

5 : hari ← 'Jumat'

6 : hari ← 'Sabtu'

else hari ← 'Minggu'

end {Pilih}

write (hari)


Flowchart


Program C++

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main(){
    int hari_ke;
    char hari;
	
	printf("masukkan hari ke-"); 
	scanf("%d", &hari_ke);
	printf("hari ke-%d", hari_ke);
	printf(" adalah%c", hari);
    switch (hari_ke) {
        case 1: hari=printf("senin"); break;
        case 2: hari=printf("selasa"); break;
        case 3: hari=printf("rabu"); break;
        case 4: hari=printf("kamis"); break;
        case 5: hari=printf("jumat"); break;
        case 6: hari=printf("sabtu"); break;
        default: hari=printf("minggu"); break;
    }
    return 0;
}

Output :


 

Soal. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n buah bola yang diambil r bola

Jawab :

Algoritma permutasi_kombinasi

{memasukkan jumlah bola dan jari-jari, lalu dihitung nilai permutasi dan kombinasinya}

Deklarasi

j, i, permutasi, k, kombinasi, r, n, fact, fact2, fact3 : integer

Deskripsi

read (r, n)

fact ← 1

fact2 ← 1

fact3 ← 1

for i ← n downto i ← 1 do

fact *= i

end for

for j ← (n-r) downto j ← 1 do

fact2 *= j

end for

permutasi ← fact/fact2

write (permutasi)

for k ← r downto k ← 1 do

fact3 *= k

end for

kombinasi ← permutasi/fact3

write (kombinasi)


Program C++


#include <iostream>
using namespace std;

class hitung{
	friend ostream& operator<<(ostream&, const hitung&);
	friend istream& operator>>(istream&, hitung&);

	public :
	
		int j, i, permutasi, k, kombinasi, r, n;
	
		int hitung1(){
			for(i=n; i>=1; i--){
				fact*=i;
			}
			for(j=n-r; j>=1; j--){
				fact2*=j;
			}
			permutasi=fact/fact2;
			cout<<permutasi;	
		}
			
	    int hitung2(){
			for(k=r; k>=1; k--){
				fact3*=k;
			}
			kombinasi=permutasi/fact3;
			cout<<kombinasi;	
		}
		
	private :
		int fact=1;
		int fact2=1;
		int fact3=1;
};

istream& operator>>(istream& in, hitung& input){
	cout<<"masukkan jumlah bola : ";
	in>>input.n;
	cout<<"masukkan jari-jari bola : ";
	in>>input.r;
	return in;
}


ostream& operator << (ostream& out, hitung& hasil){
	cout<<"hasil permutasinya adalah ";
	hasil.hitung1();
	cout<<endl;
	cout<<"hasil kombinasinya adalah ";
	hasil.hitung2();
	return out;
}

int main(){
	hitung x;
	
	cin>>x;
	cout<<x;

	return 0;
}

Output :


Recent Posts

See All

One-dimensional Arrays

One-dimensional arrays are data structures that contain data types of the same type. In the form of a group of related memories...

Loop

Introduction Examples of algorithms in everyday life : Example 1 : To finish eating a plate of rice (initial conditions) Mouthfuls of a...

Commentaires


Post: Blog2_Post
bottom of page