Menghitung bunga majemuk menggunakan bahasa pemrograman C++ akan dibahas dalam postingan ini. kumpulan program c++ ini berisi contoh program c++ matematika, contoh program c++ aritmatika, contoh program c++ perhitungan.
Masalah yang akan diselesaikan adalah menentukan jumlah tabungan pada 6 bulan berikutmya. Setiap bulan, jumlah uang yang ditabung sama dan setiap bulan diberikan bunga. Buatlah program yang meminta input nilai tabungan yang akan ditambahkan setiap bulan. Selain itu, program juga meminta input persentase bunga tahunan menggunakan bahasa pemrograman c++. Program c++ ini merupakan program c++ bunga bank dan program c++ bunga majemuk. Untuk menyelesaikan masalah ini, penulis perlu menyusun rumus-rumus untuk menentukan jumlah uang tabungan per bulan setelah ditambahkan bunga bulanan. Nominal tabungan pada bulan ke-1 adalah jumlah dari tabungan awal (bulan ke-0) ditambahkan dengan bunga yang didapat pada bulan itu. Nominal tabungan pada bulan ke-2 adalah hasil penjumlahan dari nominal tabungan pada bulan ke-1 dengan nominal tabungan yang ditambahkan setiap bulan kemudian dikalikan dengan bunga bulanan dan seterusnya.
Masalah menentukan jumlah nominal tabungan pada bulan ke-6 ini dapat diterjemahkan ke dalam baris kode bahasa pemrograman C++ dengan mengikuti langkah-langkah berikut:
Langkah 1. Input nilai nominal awal tabungan dan persentase bunga tahunan;
Langkah 2. Input nilai nominal persentase bunga tahunan;
Langkah 3. Hitung nominal tabungan pada bulan ke-1 serta menampilkannya di layar;
Langkah 4. Hitung nominal tabungan pada bulan ke-2 serta menampilkannya di layar;
Langkah 5. Hitung nominal tabungan pada bulan ke-3 serta menampilkannya di layar;
Langkah 6. Hitung nominal tabungan pada bulan ke-4 serta menampilkannya di layar.
Langkah 7. Hitung nominal tabungan pada bulan ke-5 serta menampilkannya di layar;
Langkah 8. Hitung nominal tabungan pada bulan ke-6 serta menampilkannya di layar.
Programming exercise ini bisa diakses melalui
Liang. 2014. Introduction to Programming with C++ 3rd Edition. London: Pearson Education yang bisa diakses pada tautan berikut:
https://www.pearson.com/en-us/subject-catalog/p/Liang-Companion-Website-for-Introduction-to-Programming-with-C-Access-to-Videonotes-3rd-Edition/P200000003422/978013338026
Baris kode ini bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/introduction-programming-CPP-liang/blob/main/02.13.CompoundingInterest.cpp
by : #bayuyudhasaputra
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
Β
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
1. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 1
Programming Exercise 02.13
Financial Application: Compound Value
02.13. Masalah
**2.13. (Financial application: compound value)
Suppose you save $100 each month into a savings account with the annual interest
rate 5%. Thus, the monthly interest rate is 0.05 / 12 = 0.00417. After the first
month, the value in the account becomes
100 * (1 + 0.00417) = 100.417
After the second month, the value in the account becomes
(100 + 100.417) * (1 + 0.00417) = 201.252
After the third month, the value in the account becomes
(100 + 201.252) * (1 + 0.00417) = 302.507
and so on.
Write a program that prompts the user to enter a monthly saving amount and
displays the account value after the sixth month.
(In Programming Exercise 5.32, you will use a loop to simplify the code and
display the account value for any month.)
Here is a sample run:
Enter the monthly saving amount: 100
After the sixth month, the account value is $608.81
2. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 2
02.13.01. Identifikasi Masalah
Masalah yang akan diselesaikan adalah menentukan jumlah tabungan pada 6 bulan
berikutmya. Setiap bulan, jumlah uang yang ditabung sama dan setiap bulan diberikan bunga.
Buatlah program yang meminta input nilai tabungan yang akan ditambahkan setiap bulan.
Selain itu, program juga meminta input persentase bunga tahunan.
02.13.02. Strategi Pemecahan Masalah
Untuk menyelesaikan masalah ini, penulis perlu menyusun rumus-rumus untuk
menentukan jumlah uang tabungan per bulan setelah ditambahkan bunga bulanan. Misal, p
adalah persentase bunga tahunan maka persentase bunga bulanan dapat dirumuskan sebagai
berikut:
1
12
β π%
=
1
12
β
π
100
=
π
1200
Nominal tabungan pada bulan ke-1 adalah jumlah dari tabungan awal (bulan ke-0)
ditambahkan dengan bunga yang didapat pada bulan itu. Misal, π0 adalah nilai tabungan yang
ditambahkan setiap bulan. Maka, jumlah tabungan pada bulan ke-1 (yang dilambangkan
dengan π1) adalah sebagai berikut:
π1 = π0 + π0 β
π
1200
Sehingga, rumus ini dapat disederhanakan menjadi persamaan 1 sebagai berikut:
Nominal tabungan pada bulan ke-2 adalah hasil penjumlahan dari nominal tabungan
pada bulan ke-1 (π1) dengan nominal tabungan yang ditambahkan setiap bulan (π0) kemudian
Persamaan 1:
π1 = π0 β 1 +
π
1200
3. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 3
dikalikan dengan bunga bulanan. Maka, jumlah tabungan pada bulan ke-2 (π2) dapat
dirumuskan dengan persamaan 2 sebagai berikut:
Nominal tabungan pada bulan ke-3 adalah hasil penjumlahan dari nominal tabungan
pada bulan ke-2 (π2) dengan nominal tabungan yang ditambahkan setiap bulan (π0) kemudian
dikalikan dengan bunga bulanan. Maka, jumlah tabungan pada bulan ke-3 (π3) dapat
dirumuskan dengan persamaan 3 sebagai berikut:
Nominal tabungan pada bulan ke-4 adalah hasil penjumlahan dari nominal tabungan
pada bulan ke-3 (π3) dengan nominal tabungan yang ditambahkan setiap bulan (π0) kemudian
dikalikan dengan bunga bulanan. Maka, jumlah tabungan pada bulan ke-4 (π4) dapat
dirumuskan dengan persamaan 4 sebagai berikut:
Nominal tabungan pada bulan ke-5 adalah hasil penjumlahan dari nominal tabungan
pada bulan ke-4 (π4) dengan nominal tabungan yang ditambahkan setiap bulan (π0) kemudian
dikalikan dengan bunga bulanan. Maka, jumlah tabungan pada bulan ke-5 (π5) dapat
dirumuskan dengan persamaan 5 sebagai berikut:
Persamaan 2:
π2 = π0 + π1 β 1 +
π
1200
Persamaan 3:
π3 = π0 + π2 β 1 +
π
1200
Persamaan 4:
π4 = π0 + π3 β 1 +
π
1200
4. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 4
Nominal tabungan pada bulan ke-6 adalah hasil penjumlahan dari nominal tabungan
pada bulan ke-5 (π5) dengan nominal tabungan yang ditambahkan setiap bulan (π0) kemudian
dikalikan dengan bunga bulanan. Maka, jumlah tabungan pada bulan ke-6 (π6) dapat
dirumuskan dengan persamaan 6 sebagai berikut:
Sehingga patut diduga, nominal tabungan pada bulan ke-n adalah hasil penjumlahan
dari nominal tabungan pada bulan ke-(π β 1) (ππβ1) dengan nominal tabungan yang
ditambahkan setiap bulan (π0) kemudian dikalikan dengan bunga bulanan. Maka, jumlah
tabungan pada bulan ke-n (ππ) dapat dirumuskan dengan dugaan 1 berikut:
Misal jumlah tabungan awal sebesar Rp300.000,00 dan bunga yang ditawarkan sebesar
5% per tahun. Maka pada bulan ke-1, jumlah tabungan menjadi:
Misal, π0 = 300.00 dan π = 5% maka:
π1 = π0 β 1 +
π
1200
π1 = 300.000 β (1 +
5
1200
)
Persamaan 5:
π5 = π0 + π4 β 1 +
π
1200
Persamaan 6:
π6 = π0 + π5 β 1 +
π
1200
Dugaan 1:
ππ = π0 + ππ β 1 β 1 +
π
1200
5. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 5
π1 = 301.250
Sehingga pada bulan ke-1, jumlah tabungan menjadi Rp301.250,00
Pada bulan ke-2, tabungan sebesar Rp300.000,00 ditambahkan dengan nominal pada
bulan ke-1 sebesar Rp301.250,00 kemudian hasilnya dikalikan dengan bunga bulanan. Jumlah
tabungan pada bulan ke-2 dapat dikalkulasi menjadi:
π2 = π0 + π1 β 1 +
π
1200
π2 = 300.000 + 301.250 β (1 +
5
1200
)
π2 = 603.755,21
Sehingga pada bulan ke-2, jumlah tabungan menjadi Rp603.755,21.
Pada bulan ke-3, tabungan sebesar Rp300.000,00 ditambahkan dengan nominal pada
bulan ke-2 sebesar Rp603.755,21 kemudian hasilnya dikalikan dengan bunga bulanan. Jumlah
tabungan pada bulan ke-3 dapat dikalkulasi menjadi:
π3 = π0 + π2 β 1 +
π
1200
π3 = 300.000 + 603.755,21 β (1 +
5
1200
)
π3 = 907.520,86
Sehingga pada bulan ke-3, jumlah tabungan menjadi Rp907.520,86.
Pada bulan ke-4, tabungan sebesar Rp300.000,00 ditambahkan dengan nominal pada
bulan ke-3 sebesar Rp907.520,86 kemudian hasilnya dikalikan dengan bunga bulanan. Jumlah
tabungan pada bulan ke-4 dapat dikalkulasi menjadi:
π4 = π0 + π3 β 1 +
π
1200
π4 = 300.000 + 907.520,86 β (1 +
5
1200
)
π3 = 1.212.552,20
Sehingga pada bulan ke-4, jumlah tabungan menjadi Rp1.212.552,20.
6. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 6
Pada bulan ke-5, tabungan sebesar Rp300.000,00 ditambahkan dengan nominal pada
bulan ke-4 sebesar Rp1.212.552,20 kemudian hasilnya dikalikan dengan bunga bulanan.
Jumlah tabungan pada bulan ke-5 dapat dikalkulasi menjadi:
π5 = π0 + π4 β 1 +
π
1200
π5 = 300.000 + 1.212.552,20 β (1 +
5
1200
)
π5 = 1.518.854,50
Sehingga pada bulan ke-5, jumlah tabungan menjadi Rp1.518.854,50.
Pada bulan ke-6, tabungan sebesar Rp300.000,00 ditambahkan dengan nominal pada
bulan ke-5 sebesar Rp1.518.854,50 kemudian hasilnya dikalikan dengan bunga bulanan.
Jumlah tabungan pada bulan ke-6 dapat dikalkulasi menjadi:
π6 = π0 + π5 β 1 +
π
1200
π6 = 300.000 + 1.518.854,50 β (1 +
5
1200
)
π6 = 1.826.433,06
Sehingga pada bulan ke-6, jumlah tabungan menjadi Rp1.826.433,06.
02.13.03. Menyelesaikan Masalah
Masalah menentukan jumlah nominal tabungan pada bulan ke-6 ini dapat
diterjemahkan ke dalam baris kode bahasa pemrograman C++ dengan mengikuti langkah-
langkah berikut:
Langkah 1. Input nilai nominal awal tabungan dan persentase bunga tahunan
Langkah 2. Input nilai nominal persentase bunga tahunan
Langkah 3. Hitung nominal tabungan pada bulan ke-1 serta menampilkannya di layar.
Langkah 4. Hitung nominal tabungan pada bulan ke-2 serta menampilkannya di layar.
Langkah 5. Hitung nominal tabungan pada bulan ke-3 serta menampilkannya di layar.
Langkah 6. Hitung nominal tabungan pada bulan ke-4 serta menampilkannya di layar.
7. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 7
Langkah 7. Hitung nominal tabungan pada bulan ke-5 serta menampilkannya di layar.
Langkah 8. Hitung nominal tabungan pada bulan ke-6 serta menampilkannya di layar.
02.13.04. Mengajukan Solusi
Berdasarkan kedelapan langkah ini, penulis menerjemahkan menjadi baris kode dalam
bahasa pemrograman C++ berikut:
1 #include <iostream>
2 using namespace std;
3
4 /*
5 ===============================================================
6 02.13. Compunding Interest
7 by : #bayuyudhasaputra
8 lang : IDN (Bahasa Indonesia)
9 ---------------------------------------------------------------
10 Masalah :
11 Tuliskan program yang menyediakan input kepada pengguna untuk
menginput
12 sejumlah uang yang ditabung per bulan serta menampilkan jumlah
tabungan
13 setelah 6 bulan.
14 (Pada Programming Exercise 5.32, anda akan menggunakan perulangan
untuk
15 menyederhanakan kode serta menampilkan jumlah nominal tabungan
pada
16 bulan pertama, kedua dan seterusnya)
17 ===============================================================
18 */
19
20 int main()
21 {
22 cout << endl
23 << "======================================================"
24 << endl
8. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 8
25 << endl
26 << "02.13. Compounding Interest"
27 << endl
28 << endl
29 << "------------------------------------------------------"
30 << endl
31 << endl;
32
33 // 1. Input nilai nominal awal tabungan dan persentase bunga
tahunan
34 cout << "Input nominal tabungan awal dalam rupiah (Mis. 1000000)
: ";
35 double tabunganAwal;
36 cin >> tabunganAwal;
37 cout << endl
38 << "(Anda menginput Rp." << tabunganAwal << ") "
39 << endl
40 << endl;
41
42 // 2. Input nilai nominal persentase bunga tahunan
43 cout << "Input persentase bunga tahunan (Misal, 5) : ";
44 double persen;
45 cin >> persen;
46 cout << endl
47 << "(Anda menginput bunga " << persen << " persen per tahun)."
48 << endl
49 << "------------------------------------------------------"
50 << endl;
51
52 // 3. Hitung nominal tabungan pada bulan ke-1 serta menampilkannya
di layar.
53 double tabungan;
54 tabungan = tabunganAwal * (1 + persen / 1200);
55 cout << endl
56 << "Jumlah nominal tabungan pada bulan ke-1 adalah Rp."
9. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 9
57 << tabungan
58 << endl
59 << endl;
60
61 // 4. Hitung nominal tabungan pada bulan ke-2 serta menampilkannya
di layar.
62 tabungan = (tabunganAwal + tabungan) * (1 + persen /1200);
63 cout << "Jumlah nominal tabungan pada bulan ke-2 adalah Rp."
64 << tabungan
65 << endl
66 << endl;
67
68 // 5. Hitung nominal tabungan pada bulan ke-3 serta menampilkannya
di layar.
69 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
70 cout << "Jumlah nominal tabungan pada bulan ke-3 adalah Rp."
71 << tabungan
72 << endl
73 << endl;
74
75 // 6. Hitung nominal tabungan pada bulan ke-4 serta menampilkannya
di layar.
76 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
77 cout << "Jumlah nominal tabungan pada bulan ke-4 adalah Rp."
78 << tabungan
79 << endl
80 << endl;
81
82 // 7. Hitung nominal tabungan pada bulan ke-5 serta menampilkannya
di layar.
83 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
84 cout << "Jumlah nominal tabungan pada bulan ke-5 adalah Rp."
85 << tabungan
86 << endl
87 << endl;
10. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 10
88
89 // 8. Hitung nominal tabungan pada bulan ke-6 serta menampilkannya
di layar.
90 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
91 cout << "Jumlah nominal tabungan pada bulan ke-6 adalah Rp."
92 << tabungan
93 << endl
94 << endl
95 << "====================================================";
96
97 return 0;
98 }
Pada baris ke-35 dan 44, penulis mendefinisikan variabel dengan nama berturut-turut
tabunganAwal dan persen dengan tipe data double. Kedua variabel ini digunakan untuk
menyimpan input dari pengguna seperti yang ditunjukkan oleh baris ke-36 dan 45.
35 double tabunganAwal;
36 cin >> tabunganAwal;
44 double persen;
45 cin >> persen;
Kemudian pada baris ke-53, penulis mendefinisikan variabel dengan nama tabungan.
53 double tabungan;
Variabel ini digunakan untuk menyimpan hasil kalkulasi ekspresi berikut:
54 tabungan = tabunganAwal * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
nilai variabel tabungan menjadi 301250.
tabungan = 300000 * (1 + 5 / 1200);
tabungan = 301250;
Pada baris ke-69, nilai variabel tabungan diubah menggunakan ekspresi berikut:
11. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 11
62 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
proses kalkulasi pada baris ke-62 ini adalah sebagai berikut:
tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
tabungan = (300000 + 301250) * (1 + 5 / 1200);
tabungan = 603755;
Sehingga, nilai variabel tabungan pada baris ke-62 menjadi 603755 . Nilai variabel tabungan
pada baris ke-62 ini merepresentasikan nilai tabungan pada bulan ke-2.
Pada baris ke-69, nilai variabel tabungan diubah menggunakan ekspresi berikut:
69 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
proses kalkulasi pada baris ke-69 ini adalah sebagai berikut:
tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
tabungan = (300000 + 603755) * (1 + 5 / 1200);
tabungan = 907521;
Sehingga, nilai variabel tabungan pada baris ke-69 menjadi 907521. Nilai variabel tabungan
pada baris ke-69 ini merepresentasikan nilai tabungan pada bulan ke-3.
Pada baris ke-76, nilai variabel tabungan diubah menggunakan ekspresi berikut:
76 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
proses kalkulasi pada baris ke-76 ini adalah sebagai berikut:
tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
tabungan = (300000 + 907521) * (1 + 5 / 1200);
tabungan = 1.21255e+06;
12. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 12
Sehingga, nilai variabel tabungan pada baris ke-76 menjadi 1.21255e+06. Nilai
1.21255e+06 ini sama dengan 1,21255 β 106
atau 1.212.550. Nilai variabel tabungan
pada baris ke-76 ini merepresentasikan nilai tabungan pada bulan ke-4.
Pada baris ke-83, nilai variabel tabungan diubah menggunakan ekspresi berikut:
83 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
proses kalkulasi pada baris ke-83 ini adalah sebagai berikut:
tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
tabungan = (300000 + 1.21255e+06) * (1 + 5 / 1200);
tabungan = 1.51885e+06;
Sehingga, nilai variabel tabungan pada baris ke-83 menjadi 1.51885e+06. Nilai
1.51885e+06 ini sama dengan 1,51885 β 106
atau 1.518.850. Nilai variabel tabungan
pada baris ke-83 ini merepresentasikan nilai tabungan pada bulan ke-5.
Pada baris ke-90, nilai variabel tabungan diubah menggunakan ekspresi berikut:
90 tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
Misal, pengguna menginput nilai tabunganAwal sebesar 300000 dan persen sebesar 5 maka
proses kalkulasi pada baris ke-90 ini adalah sebagai berikut:
tabungan = (tabunganAwal + tabungan) * (1 + persen / 1200);
tabungan = (300000 + 1.51885e+06) * (1 + 5 / 1200);
tabungan = 1.82643e+06;
Sehingga, nilai variabel tabungan pada baris ke-83 menjadi 1.82643e+06. Nilai
1.82643e+06 ini sama dengan 1,82643 β 106
atau 1.826.430. Nilai variabel tabungan
pada baris ke-90 ini merepresentasikan nilai tabungan pada bulan ke-6. Contoh output program
ini adalah sebagai berikut:
13. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 13
02.13.05. Refleksi
Program menentukan jumlah nominal tabungan menggunakan bahasa pemrograman
C++ini dapat dikembangkan dengan menambahkan:
1. Mengecek nilai input. Data yang diinput tentu saja harus bertipe double. Jika pengguna
menginput data selain bilangan maka program menjadi error tanpa menampilkan
menampilkan pesan yang dipahami oleh pengguna.
2. Menawarkan input kembali kepada pengguna atau berhenti menjalankan program setelah
program dijalankan, baik ketika program berjalan sesuai dengan harapan atau malah terjadi
error. Sehingga, baris kode lebih efisien.
3. Menggunakan perulangan (looping) untuk menjalankan program perhitungan menentukan
jumlah tabungan mulai dari bulan ke-1 dan selanjutnya.
14. 02.13.CompoundingInterest
#bayuyudhasaputra Halaman 14
4. Menambahkan input agar pengguna bisa memasukkan nilai berapa bulan total tabungan ini
dihitung, tidak hanya terbatas pada bulan ke-6 saja.
5. Output bilangan dengan pola bilangan ilmiah (Misal, 1.82643e+06) bisa dikonversi
menjadi pola standar penulisan mata uang (Misal, 1.826.430).
02.13.06. Daftar Rujukan
Liang. 2014. Introduction to Programming with C++ 3rd Edition. London: Pearson Education
yang bisa diakses pada tautan berikut:
https://www.pearson.com/en-us/subject-catalog/p/Liang-Companion-Website-for-
Introduction-to-Programming-with-C-Access-to-Videonotes-3rd-
Edition/P200000003422/978013338026
Baris kode ini bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/introduction-programming-CPP-
liang/blob/main/02.13.CompoundingInterest.cpp