Ask Program Konversi Desimal ke Biner Rekursif C++ AdityaDS - AdityaDees

Hot

https://publishers.chitika.com/

Contact us for advertising.

21 July 2020

Ask Program Konversi Desimal ke Biner Rekursif C++ AdityaDS

Assalamu'alaikum...

Rekursif merupakan suatu fungsi yang dapat memanggil dirinya sendiri. Berbeda dengan fungsi dan prosedur yang dapat dipanggil oleh fungsi atau prosedur lain, sementara fungsi rekursif dapat memanggil dirinya sendiri.

Banyak sekali contoh-contoh penggunaan fungsi rekursif diantara yaitu menghitung perpangkatan, deret, faktorial dan lainnya. Pada postingan kali ini akan membahas mengenai penerapan fungsi rekursif untuk Konversi Bilangan Desimal ke Biner.

Sebelum masuk ke program yang akan dibuat, mari perhatikan contoh konversi desimal ke biner.

Contoh :

Desimal : 4
Biner : 000000100

Desimal : 10
Biner : 000001010

div dir="ltr" style="text-align: left;" trbidi="on">
bilangan 0 sebelum bilangan 1 dapat dihilangkan karena penghilangan angka 0 tidak merubah makna bilangannya. 
Misal :
000001010
dapat ditulis : 1010

Sekarang kita akan masuk kepada programnya. Berikut program konversi desimal ke biner :


#include <iostream>
using namespace std;

void biner(int bilangan)
{ //kondisi berhenti 
if (bilangan==1){
cout<<1;
return;
}
//pemanggilan rekursif
else {
binner(bilangan/2); 
cout <<bilangan%2;
}
}

int main(){
int bilangan;
char pilih;
cout<<"Konversi Desimal ke Biner"<<endl;
do {
cout<<"Masukan Bilangan Desimal : "; cin >> bilangan;
cout<<"Binner : ";
biner(bilangan);
cout<<"\ncoba lagi y/n : "; cin>>pilih;
cout<<endl;
}while (pilih=='y' || pilih == 'Y'); //untuk kembali ke awal


Hasil output program :

Konversi Desimal ke Biner C++
Berikut penjelasan alur program tersebut :
misal input desimall 10
biner(10) maka akn masuk ke fungsi biner dan mengeksekusi else kemudian
biner(10/2) maka akan masuk ke fungsi biner lagi dan kembali mengekseksui else kemudian
biner(5/2) maka masuk kembali ke fungsi biner dan mengeksekusi else kemudian
biner (2/2) maka masuk ke fungsi biner dan mengeksekusi if dan mengeluarkan bilangan 1 kemudian di return ke kondisi akhir fungsi yang dieksekusi tadi karena masih ada statement yang belum dikerjakan.


naik ke kondisi akhir tdi biner (2/2) dan mengoutputkan 2 mod 2 = 0 kemudian
naik kekondisi akhir tdi biner (5/2) dan mengoutputkan 5 mod 2 = 1 kemudian
naik kekondisi akhir biner tdi (10/2) dan mengoutpukan 10 mod 2 = 0 kemudian
selesai 
sehingga yang ditampilkan dilayar adalah 1010.

Bagaimana? susah bukan untuk dimengerti ? :)

Selanjutnya akan dibahas mengenai contoh rekursif C++ bagian ke 2 yaitu mengenai faktorial.

Semoga bermanfaat. Terimakasih




No comments:

Post a Comment

Komentar yang bermutu Insyaallah akan mendapatkan berkah

https://payclick.com/

Contact us for advertising.