Anda di halaman 1dari 14

LAPORAN PRAKTIKUM III

PRAKTIKUM PEMROGRAMAN LANJUT


RECURSIF

Oleh :
Ihsan Dika
NIM : 1957301047
Kelas : TI 2B
Program Studi : Teknik Informatika
No. Praktikum : 03/PPL/TI/2021
Dosen Pembimbing : Musta’inul Abdi, SST., M.Kom.

KEMENTERIAN RISET, TEKNOLOGI DAN PERGURUAN


TINGGI POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN AJARAN 2021
LEMBAR PENGESAHAN

Nomor Praktikum : 03/PPL/2.B/TI/2021


Nama Praktikum : Praktikum Pemrograman Lanjut
Judul Praktikum : Recursif
Tanggal Praktikum : Maret 2021
Tanggal Penyerahan Laporan : Maret 2021
Nama Praktikan : Ihsan Dika
NIM / Kelas : 1957301047 / TI 2B
Nilai :
Keterangan :

Buketrata, Maret 2021


Dosen Pembimbing,

Musta’inul Abdi, SST., M.Kom.


Nip. 199110302019031015
DAFTAR ISI
DAFTAR GAMBAR
BAB 1
PENDAHULUAN

1.1 Tujuan

o Memahami dan menggunakan rekursif


o Mengetahui perbedaan antara stacks dan queues
o Mengimplementasikan suatu implementasi sequensial dari stacks dan queues
o Mengimplementasikan suatu implementasi linked dari stacks and queues
o Menggunakan Collection classes yang ada

1.2 Landasan Teori

A. Rekursif

Rekursif adalah teknik pemecahan masalah yang powerful dan dapat digunakan ketika
inti dari masalah terjadi berulang kali. Tentu saja, tipe dari masalah ini dapat dipecahkan
mengunakan perkataan berulang-ulang (i.e., menggunakan konstruksi looping seperti
for, while dan do-while).
Untuk pengertian yang lebih baik dari rekursif, mari kita lihat pada bagaimana macam-
macam dari teknik iterasi. Dalam teknik-teknik tersebut dapat juga kita lihat penyelesaian
sebuah loop yang lebih baik menggunakan rekursif dari pada iterasi. Menyelesaikan
masalah dengan perulangan menggunakan iterasi secara tegas juga digunakan pada
struktur kontrol pengulangan. Sementara itu, untuk rekursif, task diulangi dengan
memanggil sebuah method pengulangan. Maksud dari hal tersebut adalah untuk
menggambarkan sebuah masalah kedalam lingkup yang lebih kecil dari pengulangan itu
sendiri. Pertimbangan suatu perhitungan yang faktorial dalam penentuan bilangan bulat.
Definisi rekursif dari hal tersebut dapat diuraikan sebagai berikut: factorial(n) =
factorial(n-1) * n; factorial(1) = 1. Sebagai contohnya, nilai faktorial dari 2 sama dengan
fatorial (1)*2, dimana hasilnya adalah 2. Faktorial dari 3
adalah 6, dimana sama dengan faktorial dari (2)*3.

1.3 Alat dan bahan

• Laptop / PC
• Software NetBeans IDE 8.2
• Software Java Development Kit (JDK)
BAB II
PEMBAHASAN

Program Iteratif mencari factorial


Analisa :

Pada program di atas, nilai factorial “n” didapatkan dari perulangan for ; for(int
i=n;i>1;i--) dan akan dikembalikan pada variable result. Lalu, pada fungsi main variable
“n” diambil dari matriks string pada main(string args[]) dengan tipe data string. Nilai
variabel dipanggil menggunakan Integer.parseInt(args[]) untuk merubah string menjadi
integer dan memasukkan nilai pada index yang telah di berikan dan akan dicetak dengan
memanggil fungsi factorial yang terdapat pada class faci. Nilai n=6 di ambil pada index 0
maka dilakukan pengecekan i=n=6, i>1 jika benar maka akan dieksekusi
result *=i dan nilai i akan disimpan pada variabel result. Dan perulangan akan dilakukan
selama i>1.
Program Rekursif mencari factorial
Analisa :

Pada program di atas ini mempunyai fungsi factorial yang bertipe data int terdapat class
recursiff dengan parameter integer n. Setelah itu, dieksekusi statement if dengan kondisi
n==1, apabali kondisi tersebut terpenuhi maka akan dieksekusi pengembalian 1. Jika tidak
terpenuhi kondisi tersebut maka akan dieksekusi pengembalian factorial(n-1)*n. nilai n
diambil dari index 3 dari main (string args[]) Setelah itu, pada fungsi main variable n yang
bernilai 4 bertipe data string diubah menjadi int dengan perintah integer.parsInt. Lalu dicetak
dengan pemanggilan class factorial(n).
Program Decimal to others iterative
Analisa :

Fungsi main yang dideklarasikan num yang nilainya di ambil dari index ke 0 pada main
(string args[]) pada main method, dan dideklarasikan juga variable base dengan nilai di
ambil dari index 1 bertipe data string dan akan dirubah menjadi integer menggunakan
integer.parseInt, yang akan dicetak nilai variable num dan base dengan memanggil
fungsi printbase. Setelah itu, untuk fungsi printbase dengan parameter num dan base
dengan tipe data int, mendeklarasikan rem=1, string digits= "0123456789abcdef", string
result= "". Lalu, menggunakan perulangan while, jika num tidak samadengan 0 maka
akan dieksekusi rem=10%16=0 num=10/16=0 setelah itu rem akan diterjemahkan ke
variable digits.
Program Decimal to others rekursif
Analisa :

BAB 3 PENUTUP

3.1. Kesimpulan

a) Rekursif adalah teknik pemecahan masalah yang powerful dan dapat digunakan ketika inti dari
masalah terjadi berulang kali. Tentu saja, tipe dari masalah ini dapat dipecahkan mengunakan
perkataan berulang-ulang (i.e., menggunakan konstruksi looping seperti for, while dan do-while).
b) Berbeda dengan Rekursif, Fungi Iteratif merupakan perulangan yang melakukan proses
perulangan terhadap sekelompok intruksi. Perulangan dilakukan dalam batasan syarat tertentu.
Ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan terhenti

Anda mungkin juga menyukai