Anda di halaman 1dari 2

Praktikum Pemecahan Masalah dengan C

Minggu 02, Sesi 3

Tanggal : 14 Februari 2018


Semester : 4 (2017/2018)
Topik : Review loop dan fungsi rekursif
Tujuan : Mahasiswa dapat membuat program yang menggunakan
loop dan fungsi rekursif.
Durasi : 100 menit
Delivery : softcopy dan hardcopy
Deadline : at the end of session
Tempat setoran : Lab

Petunjuk Praktikum

1. Buatlah sebuah folder pada direktori kerja anda dengan nama Prak_02_3_RevLoop, dan simpanlah
semua pekerjaan anda pada praktikum kali ini pada folder tersebut.
2. Untuk setiap program yang anda buat, simpanlah dengan menambahkan tiga digit terakhir NIM anda,
contoh: anakAyam_XXX.c (XXX adalah tiga digit terakhir NIM anda).
3. Struktur program yang anda buat, harus mengikuti template yang disediakan.
4. Setelah selesai, setorkan le anda melalui ecourse.del.ac.id.

Tugas Praktikum

Tugas 1 (loop )

Nama Program: FrekwensiBil_XXX.c.


Buatlah sebuah program untuk menghitung banyaknya angka (frekwensi) dari serangkaian bilangan, masukan
dari pengguna.
Masukan berupa serankaian bilangan bulat, tidak terurut, dengan nilai antara 0 s/d 10, (0 ≤ x ≤ 10). Masukan
dari pengguna banyaknya tidak terbatas, dan tidak perlu disimpan. Program akan berhenti menerima masukan
jika pengguna memasukan bilangan -99. Program kemudian menampilkan frekwensi dari setiap bilangan, jumlah
bilangan (sum ) dan banyaknya bilangan (count ).
Contoh:
input Output
2 3 5 2 4 7 8 4 2 5 8 7 37 7 8 8 3 Frekwensi bilangan:
3 5 7 8 2 4 4 8 4 4 8 3 7 -99 2 : 4
3 : 5
4 : 6
5 : 3
7 : 6
8 : 6
Jumlah bilangan: 160
Banyak bilangan: 31

Tugas 2 (Rekursif )

Nama Program: Deret_XXX.c.


Buatlah sebuah program untuk menghitung dua nilai dari deret geometri yaitu nilai jumlah deret (Sn ) dan nilai
suku ke-n (Un ) yang memiliki bentuk umum:
n
X
Sn = ark = a + ar + ar2 + . . . + arn ,
k=0

1
dan
Un = arn ;
atau dengan bentuk rekursif:

Un = rUn−1 ; U0 = a;

Dengan a adalah suku pertama dan r adalah ratio. Nilai a, r dan n merupakan masukan dari pengguna. Asumsi
untuk soal ini, ratio yang digunakan tidak boleh nol (r 6= 0) dan nilai n = 0, 1, 2, . . ..
Program anda minimal memiliki fungsi rekursif berikut:

1. Fungsi untuk menghitung pangkat : int pangkat(int x, int y).


2. Fungsi untuk menghitung suku ke-n: float sukuKeN(int a, float r, int n).
3. Fungsi untuk menghitung jumlah deret: float jmlhDeret(int a, float r, int n).

Program meminta masukan dari pengguna nilai a, r, dan n. Program menampilkan nilai dari jumlah deret dan
nilai suku ke-n.
Contoh:
input Output
a = 1; r = 2; n = 6. U(6) = 64; S(6) = 127.
a = 2; r = 0.5; n = 5. U(5) = 0.0625; S(5) = 3.9375.
a = 3; r = 0.4; n = 4. U(4) = 0.0768; S(4) = 4.9488.

..:: Selamat Belajar ::..

by YYS

Anda mungkin juga menyukai