Disusun Oleh :
NAMA :Ferdy Yudha Irwiansyah
NIM : 21072032
FAKULTAS TEKNIK
Dasar untuk
Rekursi Perulangan
perbandingan
G. Latihan Pemrograman
1. Menggunakan Bahasa pemrograman C standar dengan menggunakan fungsi-fungsi
I/O standar getchar( ) dan putchar( ), buatlah sebuah program rekursif untuk meminta
dituliskan sembarang kalimat hingga ditekannya tombol <ENTER> dan menuliskan
kembali kalimat tersebut secara terbalik. Sebagai contoh, jika dituliskan:
Selamat malam nak
Maka program akan menuliskan kembali kalimat ini seperti berikut:
kan malam tamaleS
Jawab :
Source code
#include
<iostream>
#include
<string.h>
#include
<stdio.h> using
namespace std;
char kalimat
[100]; int
pjgkalimat;
main(void){
printf("\n\n=============FUNGSI REKURSIF=============\n\n");
printf("\n\n PROGRAM PEMBALIK KATA \n\n");
printf("\n\n=========================================\n\n");
printf("\n\n Nama : FERDY YUDHA
IRWIANSYAH \n\n"); printf("\n\n
NIM : 21072032 \n\n");
printf("\n\n=========================================\n\n");
printf("\nMasukkan Sembarang Kalimat
:\n"); gets (kalimat);
int x =
strlen(kalimat);
for(int i=x-
1;i>=0;i--){
cout<<kalimat[i];
}return 0;
}
Hasil compile :
2. Kasus perkalian dua buah bilangan bulat positif dapat dilakukan dengan metode
penjumlahan sebagai berikut: 12 x 6 = 12 + 12 + 12 + 12 +12 +12
Buatlah sebuah program menggunakan fungsi rekursif untuk menghitung hasil
perkalian dengan metode penjumlahan seperti contoh di atas.
Jawab :
Source code
#include
<stdio.h> using
namespace std;
int perkalian (int a,int
b); int main()
{ printf("\n=====================================================
\n");
printf("\n PROGRAM REKURSIF \n");
printf("\nMenghitung Hasil Perkalian dengan Metode Penjumlahan \n");
printf("\n=====================================================\n");
printf("\nNama:FERDY
YUDHA IRWIANSYAH\n");
printf("\nNIM : 21072032\n");
printf("\n=====================================================\n");
printf("Hasil kali 7x6 = 7 + 7 + 7 + 7 + 7 + 7 = %i",perkalian(7,6));
}int perkalian (int a,int b)
{
if(b==
1){
return
a;
}else{
return a+perkalian(a,b-1);
}
}
Hasil compile :