LAPORAN PRAKTIKUM PROGRAM STUDI SISTEM I

LAPORAN PRAKTIKUM
ALGORITMA DAN PEMROGAMAN

Disusun Oleh:
MUHAMMAD IRWAN MAHFUD
NIM : 1695124005

Dosen Pembimbing:
MAHRUS ALI, S.Kom, M.Pd
DYAH LISTIANING TYAS, S.T, M.T

PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS HASYIM ASY’ARI
2016

LEMBAR PENGESAHAN

Laporan ini telah diterima sebagai salah satu syarat kelulusan mata kuliah
Algoritma dan Pemrograman Universitas Hasyim Asy’ari Tebuireng Jombang,
disusun oleh:

Nama

: M. IRWAN MAHFUD

NIM

: 1695124005

Program studi : Sistem Informasi

Telah disahkan dan disetujui oleh dosen pengampu pada:
Hari

: Rabu

Tanggal

: 14 Desember 2016

Dosen 1


Mahrus Ali, S.Kom., M.Pd

Dosen 2

Dyah Listianing Tyas, ST., MT

BAB I
PENDAHULUAN
A. Latar Belakang
Penerapan sistem operasi telah berubah dari sistem manual menjadi sistem
komputerisasi, hal itu cukup beralasan mengingat banyaknya kelebihan dari
sistem komputerisasi antara lain adalah proses pembelajaran struktur data yang
membahas tentang Rekursif dalam Algoritma. Satu contoh yang sederhana
rekursif yaitu membangun suatu dinding yang tingginya sepuluh kaki, jika ingin
membangun suatu dinding yang tingginya sepuluh kaki, yang pertama akan
dibangun adalah suatu dinding setinggi 9 kaki, lalu menambahkan satu kaki yang
ditambahkan dari batu bata. Secara konseptual, hal ini seperti fungsi membangun
dinding yang mengambil suatu ketinggian dan jika tingginya adalah lebih besar
dari satu, panggilan pertama terhadap diri sendiri untuk membangun suatu dinding

yang lebih rendah, dan lalu menambahkan satu kaki berikutnya dengan batu bata.
B.Tujuan Praktikum
Adapun tujuan praktikum yaitu :
1) Dapat mengenal recursive.
2) Dapat membuat program dengan menggunakan recursive.

BAB II
DASAR TEORI

A. Pengertian Rekursif
Rekursif adalah kemampuan suatu fungsi untuk memanggil dirinya
sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur dan fungsi.
Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi
prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi.
Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa
pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan
fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa
diketahui kapan akan berakhir.
B. Fungsi Rekursif
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada

beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi.
Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan
terjadinya overflow pada stack, yang berarti stack tidak lagi mampu menangani
permintaan pemanggilan fungsi karena kehabisan memori( stack adalah area
memori yang dipakai untuk variable lokal untuk mengalokasikan memori ketika
suatu fungsi dipanggil.

Bentuk Umum Fungsi Rekursif

return_data_type
function_name(parameter_list)
{...
function_name(...);
... }

C. Metode Rekursif
Cara membuat nilai faktorial sebuah variable adalah dengan cara rekursi,
dimana n! adalah hasil kali dari n dengan (n-1)!. Untuk menyelesaikan (n-1)!
adalah sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan
(n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1,

kita menghentikan penghitungan n!.
Dengan metode rekursif program menjadi lebih singkat dan untuk
beberapa kasus program lebih mudah menggunakan fungsi yang rekursif. Fungsi
rekursif memakan memori yang lebih besar, karena setiap kali bagian dirinya
dipanggil, membutuhkan sejumlah ruang memori tambahan. Ketika efisiensi dan
kecepatan dikorbankan fungsi rekursif seringkali tidak bisa “berhenti” sehingga
memori akan habis dan komputer menjadi tidak aktif (hang).
D. Kelebihan Perulangan Rekursif
 Sangat mudah untuk melakukan perulangan dengan batasan yang luas
dalam artian melakukan perulangan dalam skala yang besar.
 Dapat melakukan perulangan dengan batasan fungsi.
E. Kekurangan Perulangan Rekursif
 Tidak bisa melakukan nested loop atau looping bersarang.
 Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk
persoalan tertentu saja.
 Trace error sulit.
 Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil,
variabel lokal dan parameter formal akan ditempatkan ke stack dan ada
kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun).
 Proses agak berbelit-belit karena terdapat pemangilan fungsi yang

berulang-ulang dan pemanggilan data yang ditumpuk.

 Memungkinkan terjadinya overflow pada stack (stack tak lagi mampu
menangani permintaan pemanggilan subrutin karena kehabisan memori).

BAB III
PEMBAHASAN
A. Hasil Praktikum
Pada praktikum kali ini kita akan membuat hitungan nilai factorial dengan
menggunakan struktur rekursif. Faktorial adalah perhitungan perkalian secara
berturut-turut mulai bilangan pertama hingga batas bilangan tertentu yang kita
inginkan, sebagai contoh adalah berapa faktorial dari 4?? Faktorial dari 4 adalah
1x2x3x4=24.
Disini kita membuat batas perhitungan factorial dari 1 sampai 7,
menggunakan fungsi for, jika nilai yang diinputkan negative maka program tidak
menemukan nilai tersebut. Dan hasil scriptnya sebagai berikut:

Dan hasil programnya seperti berikut :

BAB IV

PENUTUP
A. Kesimpulan
Setelah kita mengenal rekursif pada C++. Maka penulis menyimpulkan:
a) Rekursif adalah kemampuan suatu fungsi untuk memanggil dirinya
sendiri.

b) Dalam rekursif program menjadi lebih singkat, tetapi fungsi rekursif
memakan memori yang lebih besar,.
B. Saran
Penggunaan rekursif sangat cocok untuk membuat program menjadi lebih
singkat. Meskipun memakan memori yang lebih besar, rekursif akan sangat
bermanfaat apabila digunakan dengan tepat.

Dokumen yang terkait

ANALISIS DANA PIHAK KETIGA PADA PERBANKAN SYARIAH DI INDONESIA PERIODE TRIWULAN I 2002 – TRIWULAN IV 2007

40 502 17

STUDI KANDUNGAN BORAKS DALAM BAKSO DAGING SAPI DI SEKOLAH DASAR KECAMATAN BANGIL – PASURUAN

15 183 17

STUDI PENGGUNAAN ANTIBIOTIKA EMPIRIS PADA PASIEN RAWAT INAP PATAH TULANG TERTUTUP (Closed Fracture) (Penelitian di Rumah Sakit Umum Dr. Saiful Anwar Malang)

11 138 24

ANALISIS SISTEM PENGENDALIAN INTERN DALAM PROSES PEMBERIAN KREDIT USAHA RAKYAT (KUR) (StudiKasusPada PT. Bank Rakyat Indonesia Unit Oro-Oro Dowo Malang)

160 705 25

PROSES KOMUNIKASI INTERPERSONAL DALAM SITUASI PERTEMUAN ANTAR BUDAYA STUDI DI RUANG TUNGGU TERMINAL PENUMPANG KAPAL LAUT PELABUHAN TANJUNG PERAK SURABAYA

97 602 2

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

AN ANALYSIS OF LANGUAGE CONTENT IN THE SYLLABUS FOR ESP COURSE USING ESP APPROACH THE SECRETARY AND MANAGEMENT PROGRAM BUSINESS TRAINING CENTER (BTC) JEMBER IN ACADEMIC YEAR OF 2000 2001

3 95 76

EFEKTIVITAS PENGAJARAN BAHASA INGGRIS MELALUI MEDIA LAGU BAGI SISWA PROGRAM EARLY LEARNERS DI EF ENGLISH FIRST NUSANTARA JEMBER

10 152 10

IMPLEMENTASI PROGRAM PENYEDIAAN AIR MINUM BERBASIS MASYARAKAT (Studi Deskriptif di Desa Tiris Kecamatan Tiris Kabupaten Probolinggo)

21 177 22

IMPROVING CLASS VIII C STUDENTS’ LISTENING COMPREHENSION ACHIEVEMENT BY USING STORYTELLING AT SMPN I MLANDINGAN SITUBONDO IN THE 2010/2011 ACADEMIC YEAR

8 135 12