Anda di halaman 1dari 10

BAB II

LANDASAN TEORI

2.1 Teori Dasar


2.1.1 Fungsi Rekursif Dan Iterasi
Rekursif merupakan suatu proses atau prosedur dari fungsi yang
memanggil dirinya sendiri secara berulang-ulang. Karena proses dalam
Rekursif ini terjadi secara berulang-ulang maka harus ada kondisi yang
membatasi pengulangan tersebut, jika tidak maka proses tidak akan pernah
berhenti sampai memori yang digunakan untuk menampung proses tersebut
tidak dapat menampung lagi (Penuh). Ada dua jenis Rekursif yaitu Rekursif
terbatas dan Rekursif tak terbatas. Rekursif terbatas memiliki kondisi
terminating. Rekursif tak terbatas tidak memiliki kondisi terminating.
Iterasi adalah blok instruksi yang berulang-ulang sampai kondisi yang
diberikan benar. Iterasi ini dapat dicapai dengan menggunakan "for loop", "do-
while loop" atau dengan menggunakan "while loop".Sintaks "for loop" adalah
sebagai berikut.
For (inisialisasi; kondisi; memodifikasi)
// pernyataan;
Langkah inisialisasi dijalankan terlebih dahulu. Langkah ini adalah
untuk mendeklarasikan dan menginisialisasi variabel kontrol loop. Jika
kondisinya benar, pernyataan di dalam kurung kurawal akan dieksekusi.
Pernyataan-pernyataan itu dieksekusi sampai kondisi benar. Jika kondisinya
salah, kontrol menuju ke pernyataan berikutnya setelah "for loop". Setelah
mengeksekusi pernyataan di dalam loop, kontrol pergi untuk memodifikasi
bagian. Ini untuk memperbarui variabel kontrol loop. Kemudian kondisinya
diperiksa kembali. Jika kondisinya adalah benar, maka pernyataan di dalam
kurung kurawal akan dieksekusi. Dengan cara ini maka "for loop" akan
berulang.
Dalam "while loop", pernyataan di dalam loop ini akan dijalankan
sampai pada kondisi benar. Kemudian adapun sintaks "while loop" sebagai
berikut.
while (kondisi)
// pernyataan
Dalam “do-while”, kondisi // pernyataanisi diperiksa di akhir loop. Jadi, loop
dijalankan setidaknya sekali. Adapun sintaks “do-while”sebagai berikut.
do
// pernyataan
while (kondisi)
Adapun Perbedaan antara Fungsi Rekursif dan Iterasi yaitu sebagai berikut :
2.1.2 Algoritma Brute Force
Brute force adalah sebuah pendekatan yang sangat
jelas(straightforward) untuk memecahkan permasalahan, biasanya
didasarkan pada problem statement dan definisi konsep yang dilibatkan.
Algoritma brute force memecahkan masalah dengan sangat sederhana,
langsung dan dengan cara yang jelas .
Kelebihan dari Algoritma Brute Force yaitu Karena merupakan
sebuah algoritma yang memecahkan masalah secara jelas, dan melalui banyak
opini atau pilihan, maka algoritma brute force merupakan sebuah metode
pemecahan masalah logis yang memiliki kemampuan untuk memperoleh
pemecahan masalah dengan baik. Dengan mempertimbangan banyak opsi,
metode algoritma brute force mampu untuk menyaring satu dari sekian
banyak solusi atau opsi yang ditawarkan,sehingga proses pemecahan masalah
yang dilakukan akan menjadi lebih baik dan juga lebih optimal. Hampir
semua masalah yang dipecahkan dengan menggunakan metode algoritma
brute force ini berjalan dengan baik.
Kelebihan dari Algoritma Brute Force yaitu Karena merupakan
sebuah algoritma yang memecahkan masalah secara jelas, dan melalui banyak
opini atau pilihan, maka algoritma brute force merupakan sebuah metode
pemecahan masalah logis yang memiliki kemampuan untuk memperoleh
pemecahan masalah dengan baik. Dengan mempertimbangan banyak opsi,
metode algoritma brute force mampu untuk menyaring satu dari sekian
banyak solusi atau opsi yang ditawarkan,sehingga proses pemecahan masalah
yang dilakukan akan menjadi lebih baik dan juga lebih optimal. Hampir
semua masalah yang dipecahkan dengan menggunakan metode algoritma
brute force ini berjalan dengan baik.
Brute force adalah metode atau pendekatan dalam pemecahan masalah
yang melibatkan pemeriksaan atau pencarian semua kemungkinan solusi
secara sistematis. Pendekatan ini didasarkan pada upaya "memaksa" solusi
dengan menguji setiap kemungkinan secara berurutan hingga menemukan
solusi yang valid atau optimal.
BAB III
PROSEDUR KERJA

3.1 Langkah Kerja


3.1.1 Fungsi Rekursif Dan Iterasi
1. Buka Xampp kemudian start pada Apache

2. Kemudian buatlah folder baru seperti gambar di bawah ini

3. Setelah itu, buka folder baru yang telah kita buat di Visual Studio
Code. Kemudian buat file baru dengan nama sesuai dari modul.
Lalu tambahkan kode programnya.
4. Setelah membuat kode program, buka kembali folder yang kita
buat dan copy file yang sudah tesimpan didalam folder tersebut.

5. Kemudian buka Xampp pada Windows (C:) lalu pilih htdocs.

6. Lalu copy file kode program yang sudah diambil dari folder ke
dalam htdocs

7. Kemudian buka google chrome dan masukkan


localhost/factorial.php. kemudian klik enter.
3.1.2 Algoritma Brute Force
1. Buka Xampp kemudian start pada Apache

2. Setelah itu, kita masuk di Visual Studio Code. Kemudian buat file
baru dengan nama sesuai dari modul. Lalu tambahkan kode
programnya.
3. Setelah membuat kode program, buka kembali folder yang kita buat
dan copy file yang sudah tesimpan didalam folder tersebut.

4. Kemudian buka Xampp pada Windows (C:) lalu pilih htdocs.

5. Lalu copy file kode program yang sudah diambil dari folder ke
dalam htdocs.

6. Kemudian setelah lalu kembali buka google chrome dan masukkan


localhost/bruteforce.php. kemudian klik enter.
BAB IV
HASIL DAN PEMBAHASAN

4.1 Hasil dan Pembahasan


4.1.1 Fungsi Rekursif Dan Iterasi
1. Hasil dari program Rekursif dan Iterasi

Dari program diatas dapat di analisiskan bahwa di dalam program


di atas terdapat dua pendekatan yaitu pendekatan rekursif dan iterasi
yaitu dimana rekursif sendiri merupakan fungsi yang memanggil
dirinya sendiri secara berulang ulang sedangkan iterasi adalah suatu
fungsi atau blok yang akan terus berulang sampai menghasilkan
hasil yang di berikan benar.fungsi rekursif di atas adalah perkalian
atau perulangan yang dilakukan dari angka 1-12 yang akan
menghasilkan data perkalian 479001600 kemudian blok iterasi akan
memberikan hasil dari perulangan yang berupa data
479001600 terdapat pengecekan kondisi dasar if n == 1, yang
menghentikan rekursi dan mengembalikan hasil faktorial 1.jika
kondisi dasar tidak terpenuhi, fungsi akan memanggil dirinya
sendiri dengan argumen n-1 untuk menghitung faktorial dari
bilangan yang lebih kecil.perulangan dimulai dari 1 dan iterasi
dilakukan hingga n+1, karena range pada perulangan for berhenti
sebelum mencapai batas atas. pada setiap iterasi, nilai i dikalikan
dengan hasil untuk mengakumulasikan hasil faktorial.setelah
perulangan selesai, nilai hasil yang merupakan hasil faktorial dari
bilangan n akan dikembalikan sebagai output
4.1.2 Algoritma Brute Force
1. Hasil dari program algoritma brute force

Berdasarkan hasil program di atas dapat di analisiskan bahwa kode


Program ini melakukan pencarian jumlah kemunculan kata kunci
dalam sebuah teks menggunakan metode algoritma Brute Force.
Kata kunci yang dicari adalah "i".dan Jumlah kemunculan kata
kunci "i" dalam teks tersebut adalah 32. setelahnya hal tersebut
ditampilkan sebagai output program. Selain itu, program juga
menampilkan informasi penulis dengan nama "Rizky Ardhiansyah"
dan nim "F55122012". Pada program ini, algoritma Brute Force
digunakan untuk mencari jumlah kemunculan kata kunci dalam teks.
Algoritma ini bekerja dengan membandingkan setiap karakter dalam
teks dengan karakter pada kata kunci. Jika karakter-karakter tersebut
cocok, maka jumlah kemunculan kata kunci akan ditambahkan.
Namun, metode pencarian ini memiliki kompleksitas waktu yang
tinggi karena memerlukan looping pada setiap karakter dalam teks
dan kata kunci. Dalam kasus teks yang lebih besar, algoritma Brute
Force mungkin tidak efisien.
BAB V
PENUTUP

5.1 Kesimpulan
5.1.1 Fungsi Rekursif dan Iteratif
Pada program diatas menghitung faktorial dari bilangan 12
menggunakan dua pendekatan utama, yaitu rekursif dan iteratif. Faktorial
adalah hasil perkalian bilangan bulat positif dari 1 hingga bilangan
tersebut.Pendekatan rekursif menggunakan pemanggilan diri sendiri secara
berulang hingga mencapai kondisi dasar, yaitu ketika bilangan yang dihitung
mencapai angka 1. Metode ini umumnya digunakan dalam pendekatan
rekursif.Pendekatan iteratif menggunakan perulangan for untuk
mengakumulasi hasil faktorial dalam variabel tertentu. Ini melibatkan iterasi
melalui bilangan dari 1 hingga bilangan yang akan dihitung faktorialnya.
5.1.2 Algoritma Brute Force.
Pada program di atas merupakan penerapan salah satu algoritma yaitu
brute force yang di implementasikan dalam suatu program yaitu dengan
memanfaatkan salah satu kata kunci dalam suatu data yang nantinya digunakan
dalam pencarian kata tersebut dalam suatu Kumpulan data yang nantinya akan
menghitung berapa kali kata kunci tersebut muncul dalam suatu data yang di
berikan.

Anda mungkin juga menyukai