Pengertian Fungsi RekursifDi dalam dunia pemrograman, fungsi rekursif merupakan sebuah metode perulangan yang bersifat non-iterasi. Show
Sebenarnya fungsi rekursif hanyalah sebuah fungsi biasa seperti fungsi def pada umumnya. Dia bisa dipanggil, bisa menerima parameter, bisa mengembalikan nilai, dan lain sebagainya. Hanya saja, sesuai namanya, fungsi rekursif itu bersifat rekursi. Kenapa? Karena ia memanggil dirinya sendiri sehingga menimbulkan efek perulangan. Perulangan ini bisa berhenti ketika kondisi tertentu tercapai, atau bisa juga bersifat tak terbatas, atau mungkin bahkan bisa menimbulkan error karena pemanggilan fungsi yang tak ada habisnya. Ilustrasi Fungsi RekursifHmmm.. Ilustrasinya mungkin seperti 2 cermin yang saling memantulkan satu sama lain. Seperti foto yang diunggah di twitter berikut: Cermin-cermin tersebut saling memantulkan satu sama lain, sehingga hasil pantulan satu cermin akan dipantulkan lagi dan lagi secara terus menerus. Akhirnya hal tersebut menimbulkan efek cermin di dalam cermin di dalam cermin di dalam cermin di dalam cermin dan seterusnya. Sampul Buku BSE yang Viral Karena RekursifAtau… untuk contoh dalam negeri. Kita bisa dapati efek rekursif pada sampul buku BSE yang sempat viral. Begini bentuk sampul yang menyebar: Salah seorang netizen di Facebook mencoba memperbesar gambar tersebut, lalu apa yang terjadi? Ternyata salah seorang siswa di sampul tersebut memegang buku BSE yang sama yang mana di dalam sampulnya juga terdapat seorang siswa tadi yang juga memegang buku BSE yang sama yang yang yang… Oke skip 🤣 Begitulah kira-kira rekursif itu. Saya yakin, meskipun mungkin penjelasan dosen maupun guru di kelas agak belibet, tapi harusnya sampai sini kita telah sedikit mendapat pencerahan. Membuat Fungsi RekursifUntuk membuat fungsi rekursif, caranya sama saja dengan fungsi biasa. Yang membuat sebuah fungsi menjadi rekursif adalah karena ia memanggil dirinya sendiri. Itu saja. Jadi contoh paling sederhanya bisa terlihat seperti berikut:
Error yang saya dapat:
Kenapa Error? Karena perulangan rekursif sudah dipanggil terlalu banyak dan tidak ada tanda-tanda akan berhenti. Oleh karena itu sistem langsung memberhentikannya secara paksa. Perhatian Perlu diketahui kode program di atas berpotensi bisa membuat PC kita menjadi hank karena efek perulangan rekursif tak terbatas (meskipun sebenarnya interpreter python telah membatasi jumlah kedalaman rekursif sebelum PC kehilangan kendali). Menampilkan Angka 1 Sampai 10Untuk lebih memahami bagaimana cara fungsi rekursif bekerja, mari kita buat contoh sederhana yaitu dengan menampilkan angka 1 sampai 10. Kalau kita membuatnya dengan perulangan for, kode programnya akan terlihat sesimpel ini:
Nah, pertanyaannya adalah: bagaimana cara mengubah perulangan di atas menjadi perulangan rekursif? Ikuti langkah-langkah berikut: Step 1: Bikin dasarnya duluUntuk ancang-ancang dan mempermudah pemahaman, kita bikin dulu seperti ini:
Output:
Sampai sini sangat jelas. Fungsi Step 2: Tentukan batasnyaSekarang, ubah parameter fungsi
Jika dijalankan, kita akan mendapatkan output:
Step 3: Rekursifitas! Panggil diri sendiri.Nah, dari kode program terakhir, kita jadi tahu bagaimana harusnya fungsi Jika kita ingin menampilkan 10x perulangan, itu artinya:
Kita terapkan dalam kode program:
Output:
Perhatikan Alur Perjalanan ProgramOke. Sekarang kita akan bermain-main dengan alur program rekursif. Kita akan coba balik perintah Perhatikan kode program di bawah:
Coba jalankan, maka kita akan mendapatkan output:
Loh, kok jadi kebalik? 😁 Jadi, alurnya gini:
Masih Agak Bingung?Jadi, alur dari kode di atas itu kalau kita bedah, kira-kira seperti ini:
Coba teman-teman edit variabel Masih Tetep Bingung?Oke. Untuk lebih memperjelas, mari kita ubah kodingannya menjadi lebih ruwet ya 😁 Kita akan melakukan Perhatikan kode berikut:
Jika dijalankan, hasilnya seperti ini:
PenjelasanInsyaallah saya kira sampai sini sudah cukup jelas alur dari fungsi rekursif ini seperti apa. Kita bisa simpulkan bahwa:
Tidak terasa, ternyata hanya untuk menjelaskan perulangan i sampai x saja lumayan panjang. 4 Contoh Program Rekursif PythonUntuk lebih memperdalam lagi bagaimana tentang penerapan fungsi rekursif pada python, saya ada beberapa contoh kasus yang menggunakan fungsi reskursif sebagai solusinya:
Kode Program LengkapUntuk kalian yang ingin mengakses kode program lengkap dari pertemuan ini. Langsung saja kunjungi link ini. Pertemuan SelanjutnyaPada pertemuan selanjutnya pada seri tutorial python dasar ini, insyaallah kita akan membahas tema yang ringan-ringan saja. Yaitu tentang kata kunci atau statemen Stay tune ya! Tutorial dasar kita sudah mau selesai 🤗🤗 Apa itu stack dalam python?Stack adalah jenis struktur data yang menumpuk dan dimana item baru akan ditambahkan dan yang sudah ada akan dihapuskan. Semua penghapusan dan penyisipan dalam tumpukan dilakukan dari atas tumpukan, elemen terakhir yang ditambahkan akan menjadi yang pertama dihapus dari tumpukan.
Apa itu append pada python?Append dan insert pada dasarnya memiliki fungsi yang sama yaitu untuk menambahkan nilai pada array, perbedaannya hanya pada kondisi penggunaannya. Fungsi append menambahkan nilai array pada urutan akhir. Sedangkan dengan fungsi insert kita bisa menambahkan nilai array pada posisi tertentu.
|