Dokumen tersebut membahas tentang fungsi rekursif (berulang) dalam pemrograman dasar. Fungsi rekursif didefinisikan sebagai fungsi yang memanggil dirinya sendiri. Contoh kasus yang dapat diselesaikan secara rekursif adalah perhitungan faktorial dan bilangan Fibonacci. Dokumen juga membandingkan pendekatan rekursif dan iteratif beserta kelebihan dan kekurangannya.
Dokumen tersebut membahas tentang algoritma rekursif dan fungsi rekursif. Secara singkat, dokumen menjelaskan bahwa (1) rekursi melibatkan pemanggilan fungsi oleh dirinya sendiri, (2) fungsi rekursif memiliki base case dan pemanggilan rekursif, dan (3) contoh fungsi rekursif seperti faktorial dan bilangan Fibonacci.
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
Dokumen tersebut membahas kompleksitas algoritma dan notasi O-besar untuk menentukan orde pertumbuhan fungsi waktu algoritma. Notasi O-besar digunakan untuk membandingkan beberapa algoritma penyelesaian masalah dan menentukan algoritma terbaik berdasarkan orde pertumbuhannya.
Dokumen tersebut membahas tentang definisi dan jenis-jenis graf serta konsep dasar graf seperti simpul, sisi, derajat simpul, dan tetanggaan. Dijelaskan pula contoh-contoh penerapan graf dalam berbagai bidang seperti matematika, kimia, biologi, dan teknik informatika.
Dokumen tersebut membahas tentang fungsi dan grafiknya. Fungsi didefinisikan sebagai relasi satu lawan satu antara himpunan domain dan himpunan nilai. Dibahas pula cara menggambar grafik fungsi, fungsi genap dan ganjil, fungsi khusus seperti fungsi mutlak dan bilangan bulat terbesar, serta operasi pada fungsi seperti penjumlahan, perkalian, dan komposisi fungsi.
Dokumen tersebut membahas tentang algoritma rekursif dan fungsi rekursif. Secara singkat, dokumen menjelaskan bahwa (1) rekursi melibatkan pemanggilan fungsi oleh dirinya sendiri, (2) fungsi rekursif memiliki base case dan pemanggilan rekursif, dan (3) contoh fungsi rekursif seperti faktorial dan bilangan Fibonacci.
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
Dokumen tersebut membahas kompleksitas algoritma dan notasi O-besar untuk menentukan orde pertumbuhan fungsi waktu algoritma. Notasi O-besar digunakan untuk membandingkan beberapa algoritma penyelesaian masalah dan menentukan algoritma terbaik berdasarkan orde pertumbuhannya.
Dokumen tersebut membahas tentang definisi dan jenis-jenis graf serta konsep dasar graf seperti simpul, sisi, derajat simpul, dan tetanggaan. Dijelaskan pula contoh-contoh penerapan graf dalam berbagai bidang seperti matematika, kimia, biologi, dan teknik informatika.
Dokumen tersebut membahas tentang fungsi dan grafiknya. Fungsi didefinisikan sebagai relasi satu lawan satu antara himpunan domain dan himpunan nilai. Dibahas pula cara menggambar grafik fungsi, fungsi genap dan ganjil, fungsi khusus seperti fungsi mutlak dan bilangan bulat terbesar, serta operasi pada fungsi seperti penjumlahan, perkalian, dan komposisi fungsi.
Dokumen tersebut membahas tentang logika predikat, meliputi latar belakang, simbol, kuantor, dan contoh-contoh pernyataan logika predikat dalam 3 kalimat atau kurang.
Dokumen tersebut membahas tentang teknik inferensi logika proposisional menggunakan resolusi. Teknik ini memerlukan konversi proposisi menjadi bentuk khusus Conjunctive Normal Form (CNF) terlebih dahulu sebelum dilakukan proses resolusi untuk menemukan kontradiksi dan membuktikan kebenaran suatu pernyataan. Langkah-langkah konversi ke CNF dan proses resolusi dijelaskan beserta contoh penerapannya.
Dokumen tersebut membahas tentang fungsi rekursif dan beberapa contoh penerapannya seperti faktorial, deret Fibonacci, FPB, dan masalah menara Hanoi. Secara garis besar dibahas tentang pendefinisian fungsi rekursif, kelebihan dan kekurangannya, bentuk umum fungsi rekursif, dan beberapa contoh penerapan algoritma rekursif untuk menyelesaikan masalah matematika.
Dokumen tersebut membahas tentang persamaan bidang, vektor normal, bidang sejajar, dan bidang tegak lurus. Persamaan bidang umumnya ditulis sebagai ax + by + cz + d = 0, dimana vektor normalnya adalah (a, b, c). Dua bidang dikatakan sejajar jika memiliki vektor normal yang sama atau berkelipatan, sedangkan bidang dikatakan tegak lurus jika hasil vektor normal kedua bidang bernilai n
Lembar kerja menjelaskan tentang komposisi dan inversi fungsi. Terdiri dari soal-soal yang membahas operasi komposisi dua dan tiga fungsi, menentukan nilai komposisi fungsi, menghitung inversi fungsi linear, rasional, dan komposisi fungsi.
Dokumen tersebut membahas dua metode untuk menyelesaikan masalah linear programming (LP) dengan fungsi tujuan minimisasi, yaitu metode perubahan fungsi tujuan menjadi maksimum dan metode langsung menggunakan fungsi tujuan minimisasi. Dokumen tersebut juga membahas penyelesaian masalah LP yang memiliki kendala lebih besar sama dengan dan sama dengan dengan menambahkan variabel buatan."
Dokumen tersebut membahas tentang persamaan linear homogen dan penyelesaian sistem persamaan linear homogen (SPLH). SPLH diselesaikan dengan menentukan variabel bebasnya sehingga diperoleh penyelesaian umum berupa vektor kolom yang berisi koefisien variabel bebas.
Contoh soal penyelsaian metode biseksi menggunakan excel ernaernajuliawati
Dokumen tersebut memberikan contoh penyelesaian 6 soal pencarian akar persamaan non-linier menggunakan metode biseksi di Microsoft Excel dengan memberikan penjelasan langkah-langkah algoritmanya dan kesimpulannya.
Dokumen tersebut membahas tentang fungsi pecah, yang didefinisikan sebagai fungsi yang dirumuskan oleh f(x) = Q(x)/P(x) dengan P(x) dan Q(x) merupakan suku banyak rasional. Dibahas pula nilai nol, nilai kutub, daerah grafik, dan nilai balik dari fungsi pecah. Nilai nol didapat dari P(x)=0, sedangkan nilai kutub didapat dari Q(x)=0. Dengan me
Dalam modul ini dibahas mengenai berbagai macam cara untuk menghitung turunan suatu fungsi, diantaranya dengan menggunakan aturan rantai. Aturan rantai ini merupakan suatu tools yang sangat mempermudah untuk menghitung suatu fungsi yang jika dihitung dengan menggunakan rumus biasa akan memakan waktu lama dan rumit. Penulisan simbol turunan juga dipermudah oleh Leibniz.
Rekursi adalah metode pendefinisian fungsi yang memanggil dirinya sendiri. Dokumen menjelaskan contoh rekursi seperti menghitung faktorial, bilangan Fibonacci, FPB, dan Menara Hanoi secara rekursif dan iteratif beserta ilustrasinya.
Dokumen tersebut membahas tentang logika predikat, meliputi latar belakang, simbol, kuantor, dan contoh-contoh pernyataan logika predikat dalam 3 kalimat atau kurang.
Dokumen tersebut membahas tentang teknik inferensi logika proposisional menggunakan resolusi. Teknik ini memerlukan konversi proposisi menjadi bentuk khusus Conjunctive Normal Form (CNF) terlebih dahulu sebelum dilakukan proses resolusi untuk menemukan kontradiksi dan membuktikan kebenaran suatu pernyataan. Langkah-langkah konversi ke CNF dan proses resolusi dijelaskan beserta contoh penerapannya.
Dokumen tersebut membahas tentang fungsi rekursif dan beberapa contoh penerapannya seperti faktorial, deret Fibonacci, FPB, dan masalah menara Hanoi. Secara garis besar dibahas tentang pendefinisian fungsi rekursif, kelebihan dan kekurangannya, bentuk umum fungsi rekursif, dan beberapa contoh penerapan algoritma rekursif untuk menyelesaikan masalah matematika.
Dokumen tersebut membahas tentang persamaan bidang, vektor normal, bidang sejajar, dan bidang tegak lurus. Persamaan bidang umumnya ditulis sebagai ax + by + cz + d = 0, dimana vektor normalnya adalah (a, b, c). Dua bidang dikatakan sejajar jika memiliki vektor normal yang sama atau berkelipatan, sedangkan bidang dikatakan tegak lurus jika hasil vektor normal kedua bidang bernilai n
Lembar kerja menjelaskan tentang komposisi dan inversi fungsi. Terdiri dari soal-soal yang membahas operasi komposisi dua dan tiga fungsi, menentukan nilai komposisi fungsi, menghitung inversi fungsi linear, rasional, dan komposisi fungsi.
Dokumen tersebut membahas dua metode untuk menyelesaikan masalah linear programming (LP) dengan fungsi tujuan minimisasi, yaitu metode perubahan fungsi tujuan menjadi maksimum dan metode langsung menggunakan fungsi tujuan minimisasi. Dokumen tersebut juga membahas penyelesaian masalah LP yang memiliki kendala lebih besar sama dengan dan sama dengan dengan menambahkan variabel buatan."
Dokumen tersebut membahas tentang persamaan linear homogen dan penyelesaian sistem persamaan linear homogen (SPLH). SPLH diselesaikan dengan menentukan variabel bebasnya sehingga diperoleh penyelesaian umum berupa vektor kolom yang berisi koefisien variabel bebas.
Contoh soal penyelsaian metode biseksi menggunakan excel ernaernajuliawati
Dokumen tersebut memberikan contoh penyelesaian 6 soal pencarian akar persamaan non-linier menggunakan metode biseksi di Microsoft Excel dengan memberikan penjelasan langkah-langkah algoritmanya dan kesimpulannya.
Dokumen tersebut membahas tentang fungsi pecah, yang didefinisikan sebagai fungsi yang dirumuskan oleh f(x) = Q(x)/P(x) dengan P(x) dan Q(x) merupakan suku banyak rasional. Dibahas pula nilai nol, nilai kutub, daerah grafik, dan nilai balik dari fungsi pecah. Nilai nol didapat dari P(x)=0, sedangkan nilai kutub didapat dari Q(x)=0. Dengan me
Dalam modul ini dibahas mengenai berbagai macam cara untuk menghitung turunan suatu fungsi, diantaranya dengan menggunakan aturan rantai. Aturan rantai ini merupakan suatu tools yang sangat mempermudah untuk menghitung suatu fungsi yang jika dihitung dengan menggunakan rumus biasa akan memakan waktu lama dan rumit. Penulisan simbol turunan juga dipermudah oleh Leibniz.
Rekursi adalah metode pendefinisian fungsi yang memanggil dirinya sendiri. Dokumen menjelaskan contoh rekursi seperti menghitung faktorial, bilangan Fibonacci, FPB, dan Menara Hanoi secara rekursif dan iteratif beserta ilustrasinya.
Dokumen tersebut membahas tentang fungsi rekursif dan beberapa contoh penerapannya seperti faktorial, deret Fibonacci, FPB, dan Menara Hanoi. Fungsi rekursif adalah fungsi yang mendefinisikan dirinya sendiri dengan memanggil dirinya sendiri secara berulang sampai tercapai kondisi berhenti. Fungsi rekursif lebih singkat tetapi memakan memori lebih besar dibandingkan iteratif.
Rekursi adalah suatu kemampuan subrutin untuk memanggil dirinya sendiri. Adapun suatu subrutin yang memanggil dirinya seperti itu dinamakan subrutin rekursif. Pada beberapa persoalan, kemampuan seperti itu sangat berguna karena mempermudah solusi.
Dokumen ini membahas tentang konsep rekursi, faktorial, deret Fibonanci, dan menara Hanoi. Rekursi adalah proses yang memanggil dirinya sendiri secara berulang sampai tercapai kondisi batas. Faktorial dan deret Fibonanci dapat dihitung secara rekursif dengan rumus matematika tertentu. Menara Hanoi adalah permainan logika yang menggunakan konsep rekursi.
Dokumen tersebut membahas perbedaan antara perulangan rekursif dan iteratif serta contoh-contoh penerapannya seperti fungsi pangkat, faktorial, deret Fibonacci, dan masalah menara Hanoi. Rekursif melibatkan fungsi yang memanggil dirinya sendiri secara berulang, sedangkan iteratif menggunakan instruksi perulangan seperti for atau while.
Dokumen ini membahas tentang rekursi dalam algoritma dan struktur data. Rekursi adalah teknik pengulangan yang melibatkan fungsi memanggil dirinya sendiri. Fungsi rekursif dapat digunakan untuk memodelkan operasi matematika seperti faktorial, fibonacci, dan fourier. Contoh fungsi rekursif untuk menghitung faktorial ditunjukkan dengan memanggil fungsi factorial secara berulang sampai mencapai kondisi basis.
Ringkasan dokumen tersebut adalah:
Rekursi dalam Python merupakan kondisi dimana sebuah fungsi dijalankan berulang kali dengan memanggil fungsi itu sendiri sampai pada kondisi base case. Contoh penerapannya adalah fungsi faktorial dan deret Fibonacci yang menyelesaikan masalah dengan memecahnya menjadi bagian yang lebih kecil hingga mencapai kondisi dasar.
Kelas XI BAB 2 Berpikir Komputasional.pptxPanjiLaras2
Teks tersebut membahas berpikir komputasional dan rekursi. Berpikir komputasional merupakan kerangka berpikir yang mencakup perangkat keras, perangkat lunak, dan penalaran sistem untuk menganalisis dan menyelesaikan masalah. Rekursi adalah konsep di mana masalah dapat didekomposisi menjadi masalah yang lebih kecil dengan cara yang serupa, misalnya menghitung faktorial dengan menghitung faktorial yang
Dokumen tersebut membahas tentang teknik pemrograman lanjut yang mencakup rekursif, tipe data abstrak seperti stacks dan queues, serta representasi sekuensial dan terkait dari struktur data tersebut. Rekursif digunakan untuk memecahkan masalah yang terjadi berulang dengan memanggil fungsi itu sendiri, sedangkan stacks dan queues merupakan contoh tipe data abstrak yang diimplementasikan menggunakan array dan linked list.
2. Definisi
• Recursive = Berulang
• Recursive function =
fungsi rekirsif = fungsi
yang berulang
• di dalam fungsi
tersebut dia
memanggil dirinya
sendiri
3. Fungsi Rekursif
• Fungsi rekursif:
Di dalamnya terdapat pernyataan yang memanggil dirinya
sendiri.
• Berguna untuk memecahkan masalah yang dapat
didefinisikan secara rekursif pula.
• n faktorial atau n! = n * n-1 * n-2 * …. * 3 * 2 * 1, dan
didefiniskan bahwa 0! = 1
• Contoh:
3! = 3 * 2 * 1
4! = 4 * 3 * 2 * 1
4! = 4 * 3!
n! = n * (n-1)!
3
4. Faktorial (n) atau n! didefinisikan sebagai berikut :
jika n = 0, n! = 1
jika n > 0, n! = n * (n-1)!
4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1!
1! = 1* 0!
0! = 1
Jadi: 4! = 4*3*2*1= 24
5. Fungsi Iteratif
4! = 4*3! = 4*3*2! = 4*3*2*1! = 4*3*2*1 = 24
// iteratif dekremental
long faktorialIteratifDec(long n)
mulai
long i, faktorial = 1;
for(i=n; i>=1; i--)
faktorial *= i;
return faktorial;
selesai
tutup
4! = 1*2*3*4 = 24
// iteratif inkremental
long faktorialIteratifInc(long n){
mulai
long i, faktorial = 1;
for(i=1; i<=n; i++)
faktorial *= i;
return faktorial;
selesai
tutup
5
7. Fungsi Rekursif
• Fungsi rekursif mempunyai dua komponen
yaitu:
– Base case:
Mengembalikan nilai tanpa melakukan pemanggilan rekursi
berikutnya.
Rekursi berakhir jika base case dijumpai/dipenuhi
– Recursion call / Reduction step:
Memanggil fungsi rekursif di dalam fungsi rekursif di atas
Menghubungkan sebuah fungsi rekursif dengan fungsi rekursif
di dalamnya
Biasanya memiliki keyword return untuk mengembalikan nilai
ke fungsi yang memanggilnya
7
8. Fungsi Rekursif
• Fungsi faktorial
– Base case: n = 0
– Reduction step: f(n) = n * f(n-1)
// rekursif
long faktorialRekursif(long n)
mulai
if(n==0)
return (1);
else
return(n * faktorialRekursif(n-1));
selesai
tutup
8
9. Rekursif vs Iteratif
• Contoh:
•
Faktorial - Rekursif
long faktorial(long n)
mulai
if(n==0)
return (1);
else
return(n*faktorial(n-1));
selesai
tutup
• Faktorial - Iteratif
// dekremental
long faktorial(long n)
mulai
long i, faktorial = 1;
for(i=n; i>=1; i--)
faktorial *= i;
return faktorial;
selesai
tutup
9
10. Rekursif vs Iteratif
Rekursif
Iteratif
Pengulangan dengan struktur seleksi (ifelse) dan pemanggilan fungsi (dirinya
sendiri) -> rekursi
Pengulangan berhenti saat base case
dijumpai/dipenuhi (konvergen
terhadap base case)
Pengulangan tanpa henti jika base case
tidak pernah dijumpai/dipenuhi
(tidak konvergen terhadap base case)
Biaya proses lebih tinggi dengan
pemanggilan banyak fungsi (butuh
memori lebih besar & kerja prosesor
lebih tinggi)
Terbaca lebih jelas, model lebih dekat
dengan masalah (contoh:
faktorial, fibonacci)
Pengulangan dengan struktur repetisi
(for/while)
Pengulangan berhenti saat kondisi
pengulangan bernilai salah (false)
Pengulangan tanpa henti jika kondisi
pengulangan selalu benar
Biaya proses lebih rendah (kebutuhan
memori lebih kecil & kerja prosesor
lebih rendah) karena proses
pengulangan berada dalam satu
fungsi
Terbaca kurang jelas, model kurang dekat
dengan masalah (contoh:
faktorial, fibonacci)
10
11. Kekurangan Rekursi
• Meskipun penulisan program dengan cara rekursif bisa
lebih jelas dan pendek, namun fungsi rekursif
memerlukan :
– Memori yang lebih banyak untuk mengaktifkan stack
(memori yang digunakan untuk pemanggilan fungsi).
– Waktu lebih lama untuk menjejaki setiap rekursi melalui
stack.
Apakah
stack ?
11
12. Kapan Rekursi?
• Secara umum, hanya jika :
– Penyelesaian sulit dilaksanakan secara iteratif
– Efisiensi dengan cara rekursif masih memadai
– Efisiensi bukan masalah dibandingkan dengan kejelasan logika program
– Tidak mempertimbangkan faktor penghematan memori dan kecepatan
eksekusi program
Kecepatan kerja dan penghematan memori (iteratif)
VS
Perancangan logika yang baik (rekursif)
12
13. Bilangan Fibonacci
• Urutan bilangan 0, 1, 1, 2, 3, 5, 8, 13 … disebut
bilangan Fibonacci.
• Hubungan antara satu angka dengan angka
berikutnya didefinisikan secara rekursif
sebagai berikut :
– Fib(n) = n, jika n = 0 atau 1
– Fib(n) = Fib(n-2) + Fib(n-1) , jika n >= 2
13
15. Bilangan Fibonacci
int Fib(int n)
mulai
int f;
if(n==0)
f = 0;
else if(n==1)
f = 1;
else
f = Fib(n-2) + Fib(n-1);
return f;
selesai
tutup
Fungsi fib() di atas ditulis secara rekursif dan disebut sebagai
slow_Fib()
Tulislah fast_Fib() jika menggunakan iterasi.
15