Rekursif Pada Java
Rekursif Pada Java
Oleh
Mohammad Rifqi Alfarezi
181810101081
0
A. JUDUL
Rekursif pada JAVA
B. TUJUAN
Terlaksananya parktikum ini diharapkan:
1. Mahasiswa dapat mengerti dan memahami konsep rekursif
2. Mahasiswa dapat membuat program dengan menggunakan rekursif
C. DASAR TEORI
Rekursif adalah salah satu contoh konsep dari method yang dikenal di bahasa
pemrograman java. Rekursif sebagai method yang digunakan untuk melakukan
proses perulangan atau looping dengan memanggil dirinya sendiri dalam bentuk
fungsi atau prosedur untuk mengeksekusi kode dalam rekursif tersebut dan akan
berhenti dalam kondisi tertentu. Fungsi atau prosedur yang memanggil dirinya
disebut fungsi atau prosedur rekursif. Fungsi untuk seuatu bagian program yang
menghasilkan hanya satu nilai. Function call adalah suatu ekspresi yang memberikan
satu nilai. Prosedur adalah suatu bagian program yang menjalankan fungsi khusus
berdasarkan parameter.
Contoh rekursif: n factorial(n!) didefinisikan sebagai produk dari semua integer
diantara n dan 1. (Satyaputra, 2009)
Perbedaan rekursif dengan prosedur adalah dimana rekursi dapat memanggil ke
dirinya sendiri namun prosedur atau fungsi haru dipanggil dengan pemanggil
fungsi/prosedur. Permasalahan yang dapat diselesaikan secara rekursif adalah
masalah tersebut dapat direduksi menjadi satu atau lebih masalah-masalah serupa
yang lebih sederhana. Secara umum suatu algoritma rekursif memiliki 2 ciri khas:
1. Fungsi rekursif selalu memiliki kondisi yang menyatakan kapan fungsi tersebut
berhenti. Kondisi ini harus dibuktikan akan tercapai, karena jika tidak tercapai
1
maka tidak dapat dibuktikan bahwa fungsi akan berhenti, yang berarti algoritma
tidak benar.
2. Fungsi rekursif selalu memanggil dirinya sendiri sambal mengurangi atau
memecahkan data masukan setiap panggilannya. Hal ini penting diingat, karena
tujuan utama dari rekursif adalah memecahkan masalah dengan mengurangi
masalah tersebut menjadi masalah-masalah kecil.
Masing-masing fungsi rekursif yang ada harus memenuhi kedua persyaratan diatas
untuk memastikan fungsi rekursif dapat berhenti dan memberikan hasil. Kebenaran
dari nilai yang dihasilkan tentu akan memerlukan pembuktian dengan cara tersendiri.
(Supardi, 2010)
Perulangan jenis lainnya juga terdapat iterasi. Iterasi merupakan suatu Teknik
perulangan yang digunakan untuk penulisan program. Perulangan yang dimaksud
adalah seperti perintah while..do atau for..do. perulangan tersebut akan terus
berlangsung selama kondisinya terpenuhi. Perbedaan antara rekursif dan iterasi
dimana pada rekursif kode program lebih ringkas dan mudah dipahami,
membutuhkan alokasi memori yang besar, dan tidak cocok ketika kinerja tinggi
diperlukan, karena terjadi overhead pemanggilan fungsi dalam jumlah yang relative
besar. Pada iterasi kode program lebih Panjang, untuk beberapa kasus solusi iterative
lebih sulit diterapkan, relatif lebih kecil alokasi memorinya, dan cocok diterapkan
ketika kinerja aplikasi. Rekursif dan iterasi sama-sama merupakan berntuk
perulangan dan dilakukan pengecekan kondisi terlebih dahulu sebelum mengulang.
(Bambang, 2011)
D. ALAT
Alat-alat dan bahan yang akan digunakan pada praktikum ini adalah sebagai
berikut:
a. Laptop ACER
b. Software Java dan Eclipse
2
E. LANGKAH-LANGKAH
Berikut merupakan langkah-langkah dalam menjalankan aplikasi Eclipse:
1. Klik ikon eclipse pada Desktop laptop, lalu muncul tampilan untuk pengaturan
direktori tempat kita menyimpan skrip program Java yang akan kita buat.
3
3. Ketikkan ‘PraktikumKesepuluhRifqi’ pada kotak isian Project Name
4. Selanjutnya klik tombol finish. Hasil proyek yang telah dibuat dapat dilihat pada
Project Explorer.
4
Gambar 5. Pembuatan Class
6. Selanjutnya klik tombol Finish. Hasil proyek yang telah dibuat dapat dilihat pada
Project Explorer. Tampilan awal pada gambar ini terdapat “public void main
(String[ ] args)” maksudnya bahwa jendela tersebut merupakan class utama.
5
7. Menulis skrip yang sudah di jelaskan oleh pemateri atau dosen pada class
rekursif.
8. Untuk selanjutnya buatlah file baru (new class), untuk membuat kelas Iterasi
6
Gambar 8. Pembuatan class Iterasi
9. Penulisan script seperti pada tugas yang diberikan
7
10. Selanjutnya, dilakukan run untuk menampilkan program iterasi dan rekursif
a. iterasi
F. PENANGANAN ERROR
Kesalahan pertama terjadi karena kelas pertama tidak tersambung pada package.
Penanganan error: beri package package PraktikumKesepuluhRifqi;
8
Kesalahan kedua terjadi karena tidak import data yang berfungsi untuk
memasukan angka, jika ingin memasukkan angka harus menggunakan import
java.util.Scanner;
Kesalahan ketiga terjadi karena kurang tanda sama dengan yang harusnya dua kali
tapi pada program tersebut hanya satu kali, dalam membuat program harus lebih
teliti
9
G. TUGAS
1. buatlah program untuk menampilkan bilangan prima
a. Script Kelas Prima
10
2. buatlah program anagram
a. script program Anagram
11
Menjalankan perintah tampilkan(“”,s) dengan parameter s1 adalah “” dan parameter
s2 adalah RIF
Proses script pada method tampilkan.
Tampilkan(“”,RIF )
s2.length = 3, maka
1. If (3<=1) Tidak terpenuhi, maka
2. For (0<3)
a. x=R
b. y=
c. z=IF
d. tampilkan(R, IF)
i. if (2<=1) tidak terpenuhi
ii. for(0<2)
a) x=I
b) y=
c) z=F
d) tampilkan(RI, F)
if(1<=1) terpenuhi
hasil=1
Print(RIF)
iii. for(1<2)
a) x=F
b) y=I
c) z=
d) tampilkan(RF, I)
if(1<=1) terpenuhi
hasil=2
Print(RFI)
iv. for(2<2) tidak terpenuhi
12
3. for(1<3)
a. x=I
b. y=R
c. z=F
d. tampilkan(I, RF)
i. if(2<=1)
ii. for(0<2)
a) x=R
b) y=
c) z=F
d) tampilkan(IR, F)
if(1<=1) terpenuhi
hasil=3
Print(IRF)
iii. for(1<2)
a) x=F
b) y=R
c) z=
d) tampilkan(IF, R)
if(1<=1) terpenuhi
hasil=4
Print(IFR)
iv. for(2<2) tidak memenuhi
4. for(2<3)
a. x=F
b. y=RI
c. z=
d. tampilkan(F, RI)
13
i. if(2<=1) tidak memenuhi
ii. for(0<2)
a) x=R
b) y=
c) z=I
d) tampilkan(FR, I)
if(1<=1) terpenuhi
hasil=5
Print(FRI)
iii. for(1<2)
a) x=R
b) y=A
c) z=
d) tampilkan(FI, R)
if(1<=1) terpenuhi
hasil=6
Print(FIR)
iv. for(2<2) tidak memenuhi
5. for(3<3) tidak terpenuhi
14
DAFTAR PUSTAKA
Bambang, Haryanto. 2011. Esensi-Esensi Bahasa Pemrograman Java. Yogyakarta:
Andi Publisher
Satyaputra, Alfa. 2009. Java for Beginner with Eclipse 4.2 juno. Yogyakarta: Graha
Ilmu
Supardi, Yuniar. 2010. Menjadi Programmer Java, Basic Programming. Jakarta:
Gramedia
15