Ñ-Blu Blog

Shout This Box





Solusi Modul 5-FTTM A 2010 PDF Print E-mail
Written by Administrator   
Friday, 16 April 2010 23:54

Soal 1 (fungsi isbagi).
Peserta diminta untuk membuat sebuah fungsi yang dapat menentukan sebuah bilangan itu bisa
dibagi dengan sebuah bilangan lain atau tidak.
Fungsi yang dibuat mempunyai dua parameter masukan dan parameter keluaran adalah integer,
jika bilangan pertama dibagi bilangan kedua mempunyai sisa 0 maka keluaran fungsi adalah 1,
sebaliknya maka keluaran fungsi adalah 0.
Fungsi akan digunakan dan dinilai pada fungsi main


Soal 2 (prosedur perkalian).
Peserta diminta untuk membuat sebuah prosedur yang dapat meminta user untuk menentukan
berapa angka yang akan dikalikan, setelah itu akan meminta bilangan sebanyak apa yang user
minta dan mengalikannya satu-persatu.
Prosedur yang dibuat mempunyai satu parameter output yaitu hasil perkalian. Hasil
penambahan dipakai diluar prosedur atau tidak terserah pada praktikan.
Prosedur akan digunakan dan dinilai pada fungsi main.


Soal 3 [Rekursif bilangan]

Perhatikan barisan bilangan dibawah ini :
1 3 6 10 15 21 . ...........
Kita definisikan sebuah fungsi bernama bilKeN (int N)
logika untuk mendapatkan rumus rekursif barisan diatas adalah sebagai berikut:
Bilangan ke – 3 adalah bilangan ke 2 ditambah dengan 3
Bilangan ke – 2 adalah bilangan ke 1 ditambah dengan 2
Bilangan ke – 1 adalah satu

Dimana, fungsi akan mengembalikan bilangan ke – N contoh:
bilKeN (1) = 1
bilKeN (3) = 6
jadi,
bilKeN(N) = bilKeN(N - 1) + N
yang berarti bilKeN merupakan bilangan ke – N pada barisan bilangan diatas. Tugas Anda adalah
mengimplementasikan fungsi diatas dengan menggunakan teknik REKURSIF. Anda DILARANG
menggunakan teknik looping / perulangan. Jika Anda menggunakan teknik looping / perulangan,
hasil jawaban Anda tidak akan dinilai.
Fungsi rekursif akan digunakan dan dinilai pada fungsi main.
Setiap soal diatas dibuat dalam 1 file, yang nantinya akan diimplementasikan pada 1 fungsi
main, fungsi main itu ada di bawah, silahkan ditambahkan sesuai keinginan praktikan, yang
penting minimal harus seperti dibawah :


int main ()
{
int a,b,c,d; // membuat variabel
cout << "masukkan bilangan1: ";
cin >> a;
cout << "masukkan bilangan2: ";
cin >> b;
cout << "apakah bilangan 1 bisa dibagi bilangan 2?(jika bisa nilainya 1, jika tidak nilainya 0):
"<< isbagi(a,b)<< "\n"; // nomor 1
perkalian(c); //nomor 2
cout << "masukkan bilangan3: ";
cin >> d;
cout << "bilangan ke-"<<d << " adalah: "<< rekursif_bilangan(d); // nomor 3
getch();
return 0;
}

 

jawaban :

 

#include <iostream>
#include <conio.h>
using namespace std;

int isbagi (int, int); //prototype fungsi soal 1
int perkalian (int); //prototype fungsi soal 2
int rekursif_bilangan(int); //prototype fungsi soal 3

int main()
{
    int a,b,c,d; // membuat variabel

    cout << "masukkan bilangan1: "; //nomor 1
    cin >> a;
    cout << "masukkan bilangan2: ";
    cin >> b;
    cout << "apakah bilangan 1 bisa dibagi bilangan 2?\n(jika bisa nilainya 1, jika tidak nilainya 0):  "
    << isbagi(a,b)<< "\n\n";
   
    cout << "Berapa banyak angka yang ingin Anda kalikan ? "; cin >> c; //nomor 2
    perkalian(c);
    cout << "\n";
   
    cout << "masukkan bilangan3: "; // nomor 3
    cin >> d;
    cout << "bilangan ke-"<<d << " adalah: "<< rekursif_bilangan(d);
       
    getch();
    return 0;
}

int isbagi (int x, int y) // fungsi pendukung soal 1
{
    int hasil;
   
    hasil = x%y; // pembagian modulus
    if (hasil==0) return 1;
    else return 0;
}

int perkalian (int data) //fungsi pendukung soal 2
{
    int i, angka, kali=1;
    for (i=0; i<data; i++)
    {
        cout << " Angka ke-" << i+1 << " : "; cin >> angka;
        kali *= angka; //rumus utk perkalian
        cout << "Total angka : " << kali;
        cout << "\n";
    }
}

int rekursif_bilangan(int N) //fungsi pendukung soal 3
{
    if (N <= 1) return 1;
    else return rekursif_bilangan(N-1)+ N;
}

 

Special credit untuk praktikan dgn NIM 16409163 good job bro...

jawabannya saya jadikan contoh di sini...

 

Comments

B
i
u
Quote
Code
List
List=
[*]
URL
Name *
Email (For verification & Replies)
URL
Code   
ChronoComments by Joomla Professional Solutions
Submit Comment
Working....
Finished
Failed