0% menganggap dokumen ini bermanfaat (0 suara)
656 tayangan16 halaman

Rekursif Pada Java

Laporan praktikum ini membahas rekursif dan iterasi pada bahasa pemrograman Java. Terdapat penjelasan tentang konsep dan perbedaan antara rekursif dan iterasi serta langkah-langkah membuat program rekursif dan iterasi menggunakan Eclipse. Beberapa contoh program yang dibuat adalah program untuk menampilkan bilangan prima dan mengecek anagram."

Diunggah oleh

Mohammad Rifqi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
656 tayangan16 halaman

Rekursif Pada Java

Laporan praktikum ini membahas rekursif dan iterasi pada bahasa pemrograman Java. Terdapat penjelasan tentang konsep dan perbedaan antara rekursif dan iterasi serta langkah-langkah membuat program rekursif dan iterasi menggunakan Eclipse. Beberapa contoh program yang dibuat adalah program untuk menampilkan bilangan prima dan mengecek anagram."

Diunggah oleh

Mohammad Rifqi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

REKURSIF PADA JAVA

LAPORAN PRAKTIKUM STRUKTUR DATA

Oleh
Mohammad Rifqi Alfarezi
181810101081

RUANG KULIAH S2 MATEMATIKA


JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JEMBER
2019

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.

Gambar 1. Pemilihan direktori

2. Memilih dan menentukan direktori tempat menyimpan skrip program Java,


selanjutnya akan muncul tampilan awal dari software aplikasi Eclipse. Pada
tampilan awal, kita memilih beberapa pilihan. Untuk pembuatan program, klik
‘create a new java project’

Gambar 2. Tampilan awal Eclipse

3
3. Ketikkan ‘PraktikumKesepuluhRifqi’ pada kotak isian Project Name

Gambar 3. pembuatan java project

4. Selanjutnya klik tombol finish. Hasil proyek yang telah dibuat dapat dilihat pada
Project Explorer.

Gambar 4. Tampilan modul


5. Klik proyek yang sudah kita buat sebelum kita membuat kelas. Untuk membuat
kelas klik menu menu File New Other Class, kemudian Next maka akan
muncul jendela Java Class.

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.

Gambar 6. Tampilan awal class utama

5
7. Menulis skrip yang sudah di jelaskan oleh pemateri atau dosen pada class
rekursif.

Gambar 7. Penulisan script program

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

Gambar 9. Penulisan script program Iterasi

7
10. Selanjutnya, dilakukan run untuk menampilkan program iterasi dan rekursif
a. iterasi

Gambar 10. Hasil run program iterasi


b. rekursif

Gambar 11. Hasil run program rekursif

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

b. Hasi setalah di run

10
2. buatlah program anagram
a. script program Anagram

b.Hasil run anagram

Ilustrasi berjalannya anagram:


Input : RIF
Class main menjalankan object kata dengan method input.
Method input di jalankan
Memasukkan RIF sebagai input dan RIF akan di definisikan dengan variabel s

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

Setelah method tampilkan selesai dijalankan, maka proses selanjutnya adalah


Print(“ Banyak acakan data = “ + hasil=6)

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

Anda mungkin juga menyukai