Apa itu fungsi rekursif dalam python?

//nah ini merupakan metode atau fungsi yang akan saya jadikan untuk melakukan rekursif nantinya. Saya memberi nama fungsi ini dengan nama ‘rekursif’

    if angka > 0 : //ini saya gunakan untuk menyeleksi apakah nilai angka lebih besar atau tidak.

        print (angka) //nah ini saya gunakan untuk mencetak nilai yang ada di dalam variabel angka.

        angka = angka – 1 //kemudian, nilai yang ada di dalam variabel angka saya kurangi sebesar 1.

        rekursif(angka) //nah disinilah saya memanggil fungsi ‘rekursif’ dengan keadaan nilai dalam variabel ‘angka’ yang sudah saya kurangi.

    else :  //ini akan aktif jika nilai “angka” sudah ada pada nilai 0. Atau bisa kita katakan ketika penyeleksian if diatas sudah tidak memenuhi kriteria lagi. Atau “angka > 0” sudah bernilai false.

        print(angka) //ini saya gunakan untuk mencetak nilai ‘angka’ yang terakhir. Dan tentunya sudah bernilai 0.

masukan = int(input("masukkan angka : "))  //perintah ini saya gunakan untuk meminta kalian memasukkan angka yang akan di masukkan ke dalam fungsi saat program di jalankan.


rekursif(masukan) //ini merupakan pemanggilan fungsi atau metode “rekursif” yang sudah saya buat di atas dengan parameter yang sudah di masukkan saat program ini di jalankan.


Nah itu dia penjelasan dari contoh program diatas.. semoga bisa di bisa kalian pahami ya... jika belum paham, kalian bisa membacanya berulang – ulang dan lebih teliti lagi ya...

Contoh program yang menggunakan perulangan rekursif.

Nah setelah saya menjelaskan mengenai perulangan rekursif ini, maka selanjutnya saya akan mencoba untuk memberikan contoh – contoh program yang menggunakan perulangan secara rekursif. Hal ini agar dapat menambah pemahaman serta memberikan pengetahuan, untuk seperti apa penggunaan dari perulangan ini. dan akan sangat lucu kan.. kalau kalian belajar sesuatu, tapi kalian tidak tau fungsinya... nah maka dari itu, yuk simak contoh – contoh program yang akan saya berikan di bawah ini..

Nah contoh yang akan saya berikan berikut ini merupakan contoh untuk mengkonversi angka dari bilangan decimal menjadi biner, okta dan hexa. Nah bagaimana program nya ? yuk langsung saja kita lihat di bawah ini...


def toStr(n,base):  
    convertString = "0123456789ABCDEF"  
    if n < base:      
        return convertString[n]  
    else:      
        return toStr(n//base,base) + convertString[n%base]
print("silahkan masukkan angka dan basis yang kalian inginkan.")
angka = int(input("silahkan masukkan : "))
basis = int(input("masukkan basis : "))
print(toStr(angka,basis))



seperti yang sudah saya katakan di atas, program tersebut dapat digunakan untuk mengkonversi bilangan desimal menjadi bilangan Biner, Oktal dan juga Hexa. Bagaimana kah caranya ? caranya adalah kita tinggal memasukkan angka yang akan kalian konversi, lalu di ikuti dengan basis bilangan yang kalian inginkan. Contohnya adalah :  toStr(432,2) untuk mengkonversi angka 432 menjadi bilangan biner atau angka dengan basi 2. Lalu toStr(432, 8) untuk mengkonversi bilangan 432 menjadi bilangan okta atau menjadi angka dengan basis 8. Dan yang terakhir adalah toStr(432,16) yang digunakan untuk mengkonversi angka 432 menjadi bilangan berbasi 16 atau heksa. untuk lebih jelasnya, kalian bisa lihat contoh screenshoot hasil ketika program ini dijalankan.. silahkan lihat pada gambar di bawah ini ya...


Penjelasan code program contoh rekursif.


Nah untuk lebih memperjelas lagi dari program diatas, berikut saya akan menjelaskan dengan cara menjabarkannya di bawah ini..

def toStr(n,base):  //ini merupakan class rekursif untuk mengkonversi angka.dan saya beri nama toStr     

    convertString = "0123456789ABCDEF" //ini bisa saya katakan sebagai database. Masudnya, adalah, semua data yang akan di tampilkan nantinya diambil dari karakter yang ada di di variabel ‘convertString’.

    if n < base:  //ini merupakan sebuah penyeleksian. Yang menanyakan apakah angka yang kita masukkan lebih kecil dari basis yang kita masukkan.     

        return convertString[n] //ini digunakan untuk mengembalikan sebuah karakter yang diambil dari variabel ‘convertString’ yang sudah saya katakan sebagai database tadi. Dia akan mengambil salah satu karakter saja sesuai nilai n nya. Contoh, jika nilai ‘n’ adalah 0 maka yang akan diambil adalah angka 0. Dan jika nilai ‘n’ nya adalah 16 maka akan mengambil karakter ‘f’.

    else: //ini merupakan bagian dari if. Apabila kondisi pada if tidak memenuhi, atau bernilai false, maka perintah yang ada di else ini lah yang akan di eksekusi.     

        return toStr(n//base,base) + convertString[n%base]  //ini digunakan untuk melakukan perulangan secara rekursif dengan cara memanggil fungsi yang sama yaitu ‘toStr’ dengan perlakuan angka dalam variabel n, dibagi dengan basisnya.

print("silahkan masukkan angka dan basis yang kalian inginkan.") //digunakan untuk mencetak kata – kata yang ada di dalam tand petik.

angka = int(input("silahkan masukkan : ")) //digunakan agar saat program dijalankan, maka program akan meminta user untuk memasukkan angka. yang akan di konversi nantinya.

basis = int(input("masukkan basis : ")) //code ini digunakan agar program meminta user untuk memasukkan basis angka yang menjadi tujuan konversi nantinya.


print("hasil konversi : " + toStr(angka,basis))//fungsi code yang satu ini adalah untuk memanggil sekaligun mencetak hasil dari fungsi toStr dengan angka yang sudah dimasukkan sebelumnya. Dan sudah ditampung ke dalam variabel angka dan basis.

Apa yg dimaksud fungsi rekursif?

Fungsi rekursif merupakan fungsi yang melakukan perulangan dengan mengacu pada dirinya sendiri, sedangkan fungsi iteratif merupakan fungsi yang melakukan perulangan terutama dengan menggunakan loop.

Apa itu rekursif dan contohnya?

Rekursi adalah proses pengulangan sesuatu dengan cara kesamaan-diri. Sebagai contohnya, saat dua cermin berada paralel antara satu dengan yang lain, gambar yang tertangkap adalah suatu bentuk rekursi tak-terbatas.

Apa yang dimaksud dengan perulangan rekursif?

Perulangan rekursif merupakan salah satu metode di dalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendiri, atau lebih sering disebut memanggil dirinya sendiri.

Apa yang dimaksud rekursif dalam algoritma?

- Rekursif adalah proses pemanggilan dirinya sendiri (fungsi atau prosedur). - Fungsi maupun prosedur yang memanggil dirinya disebut fungsi atau prosedur rekursif. - Fungsi antuk suatu bagian program yang mengembalikan (menghasilkan) hanya satu nilai.