SlideShare a Scribd company logo
1 of 12
Download to read offline
*2.7. (Find the number of years)
Write a program that prompts the user to enter the minutes (e.g., 1 billion), and
displays the number of years and days for the minutes. For simplicity, assume a year
has 365 days.
Here is a sample run:
Enter the number of minutes: 1000000000
1000000000 minutes is approximately 1902 years and 214 days
Masalah yang diselesaikan adalah mengonversi jangka waktu dari satuan menit ke tahun
lebih beberapa hari menggunakan bahasa pemrograman C++. Langkah pertama yang dilakukan
adalah menentukan dalam 1 tahun ke dalam menit menggunakan perhitungan berikut:
1 π‘‘π‘Žβ„Žπ‘’π‘› = (365 Γ— 24 Γ— 60) π‘šπ‘’π‘›π‘–π‘‘ = 525.600 π‘šπ‘’π‘›π‘–π‘‘
Dari hasil perhitungan ini, kita bisa menyimpulkan bahwa dalam 1 tahun terdapat 525.600 menit.
Kemudian, kita juga harus menentukan dalam 1 hari ada berapa menit menggunakan perhitungan
berikut:
1 β„Žπ‘Žπ‘Ÿπ‘– = (24 Γ— 60) π‘šπ‘’π‘›π‘–π‘‘ = 1.440 π‘šπ‘’π‘›π‘–π‘‘
Dari hasil perhitungan ini, kita bisa menyimpulkan bahwa dalam 1 hari terdapat 1.440 menit.
Sebelum menyusun langkah-langkah mengonversi menit ke dalam satuan tahun lebih
beberapa hari, mari kita memperhatikan beberapa kasus berikut ini. Kasus ke-1 akan mengonversi
5.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih beberapa jam dan lebih
beberapa menit. Kemudian, kasus ke-2, dan 3 akan mengonversi berturut-turut 4.000.000 menit
dan 3.000.000 menit ke dalam satuan yang sama.
Kasus 1 : mengonversi 5.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih
beberapa jam dan lebih beberapa menit.
Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara
5.000.000 dengan 525.600 sebagai berikut:
5.000.000 Γ· 525.600 = 9 sisa 269.600
Dari hasil perhitungan ini, 5.000.000 menit kira-kira sama dengan 9 tahun.
Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 269.600,
dengan 1.440 sebagai berikut:
269.600 Γ· 1.440 = 187 sisa 320
Dari hasil perhitungan ini, 5.000.000 menit kira-kira sama dengan 9 tahun 187 hari.
Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 320, dengan
60 sebagai berikut:
320 Γ· 60 = 5 sisa 20
Dari hasil perhitungan ini, 5.000.000 menit sama dengan 9 tahun 187 hari 5 jam 20 menit.
Kasus 2 : mengonversi 4.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih
beberapa jam dan lebih beberapa menit.
Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara
4.000.000 dengan 525.600 sebagai berikut:
4.000.000 Γ· 525.600 = 7 sisa 320.800
Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 7 tahun
Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 320.800,
dengan 1.440 sebagai berikut:
320.800 Γ· 1.440 = 222 sisa 1120
Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 7 tahun 222 hari.
Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 1.120,
dengan 60 sebagai berikut:
1.120 Γ· 60 = 18 sisa 40
Dari hasil perhitungan ini, 4.000.000 menit sama dengan 7 tahun 222 hari 18 jam 40 menit.
Kasus 3 : mengonversi 3.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih
beberapa jam dan lebih beberapa menit.
Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara
3.000.000 dengan 525.600 sebagai berikut:
3.000.000 Γ· 525.600 = 5 sisa 372.000
Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 5 tahun.
Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 372.000,
dengan 1.440 sebagai berikut:
372.000 Γ· 1.440 = 258 sisa 480
Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 5 tahun 258 hari.
Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 480, dengan
60 sebagai berikut:
480 Γ· 60 = 8 sisa 0
Dari hasil perhitungan ini, 4.000.000 menit sama dengan 5 tahun 258 hari 8 jam 0 menit.
Berdasarkan pola dari kasus 1 hingga 3, kita bisa merancang langkah-langkah mengonversi
rentang waktu dengan satuan menit ke satuan tahun lebih beberapa hari lebih beberapa jam dan
lebih beberapa menit sebagai berikut:
Langkah 1 : mengonversi nilai yang merepresentasikan rentang waktu dalam satuan menit ke
tahun dengan hasil operasi (365 Γ— 24 Γ— 60).
Langkah 2 : menentukan sisa pembagian dari nilai yang merepresentasikan rentang waktu dalam
satuan menit dengan hasil operasi (365 Γ— 24 Γ— 60).
Langkah 3 : menentukan rentang waktu dalam hari dengan melakukan pembagian integer hasil
pembagian pada langkah 2 dengan hasil operasi (24 Γ— 60).
Langkah 4 : menentukan sisa pembagian dari hasil pembagian pada langkah 2 dengan hasil
operasi (24 Γ— 60).
Langkah 5 : menentukan rentang waktu dalam satuan jam dengan melakukan pembagian integer
hasil pembagian pada langkah 4 dengan bilangan 60.
Langkah 6 : menentukan rentang waktu dalam satuan menit dengan menentukan sisa pembagian
hasil dari langkah 4 dengan bilangan 60.
Berdasarkan keenam langkah ini, kita bisa menyusun langkah-langkah menyelesaikan
masalah konversi ini ke dalam bahasa pemrograman C++ menjadi sebagai berikut :
Langkah 1 : Membaca input dari pengguna,
Langkah 2 : Mengonversi menit ke tahun,
Langkah 3 : Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60),
Langkah 4 : Mengonversi sisa pembagian pada langkah 3 ke hari,
Langkah 5 : Menentukan sisa pembagian pada langkah 3 dengan hasil operasi (24 * 60),
Langkah 6 : Mengonversi sisa pembagian pada langkah 5 ke jam,
Langkah 7 : Menentukan sisa pembagian pada langkah 5 dengan bilangan 60,
Langkah 8 : Tampilkan hasil konversi.
Dari langkah 1 hingga 8 ini, kita bisa menyusun baris kode menjadi sebagai berikut:
1 #include <iostream>
2 using namespace std;
3
4 /*
5 =====================================================
6 02.07. Find The Number Of Years
7 By : #bayuyudhasaputra
8 Lang : idn (Indonesia)
9 -----------------------------------------------------
10 Masalah :
11
12 Tuliskan program yang menawarkan prompt kepada kepada
13 pengguna untuk menginput rentang waktu dalam satuan
14 menit (Misal, 1 miliar menit). Kemudian, program
15 menampilkan hasil konversi dari jangka waktu menit
16 ini ke dalam tahun, hari, jam dan menit. Untuk
17 mempermudah perhitungan, satu tahun diasumsikan
18 365 hari.
19
20 =====================================================
21 */
22
23 int main() {
24 cout << endl
25 << "========================================================="
26 << endl
27 << endl
28 << "02.07. Find the number of years"
29 << endl
30 << endl
31 << "--------------------------------------------------------"
32 << endl
33 << endl;
34
35 // 1. Membaca input dari pengguna
36 unsigned int menit;
37 cout << "Input rentang waktu dalam menit (Mis. 5000000) : ";
38 cin >> menit;
39 cout << endl
40 << "Anda menginput " << menit << " menit."
41 << endl
42 << endl;
43
44 // 2. Mengonversi menit ke tahun
45 unsigned int tahun;
46 tahun = menit / (365 * 24 * 60);
47
48 // 3. Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60)
49 unsigned int sisaMenit;
50 sisaMenit = menit % (365 * 24 * 60);
51
52 // 4. Mengonversi sisa pembagian pada langkah 3 ke hari.
53 unsigned int hari;
54 hari = sisaMenit / (24 * 60);
55
56 // 5. Menentukan sisa pembagian pada langkah 3 dengan hasil operasi
(24 * 60)
57 sisaMenit %= 24 * 60;
58
59 // 6. Mengonversi sisa pembagian pada langkah 5 ke jam.
60 unsigned int jam;
61 jam = sisaMenit / 60;
62
63 // 7. Menentukan sisa pembagian pada langkah 5 dengan bilangan 60.
64 sisaMenit %= 60;
65
66 // 8. Tampilkan hasil konversi.
67 cout << menit << " menit sama dengan "
68 << tahun << " tahun "
69 << hari << " hari "
70 << jam << " jam "
71 << sisaMenit << " menit."
72 << endl
73 << endl
74 << "========================================================="
75 << endl
76 << endl;
77
78 return 0;
79 }
80
81 /*
82
Tipe data yang digunakan adalah unsigned int karena rentang waktu selalu bernilai positif.
36 unsigned int menit;
45 unsigned int tahun;
49 unsigned int sisaMenit;
60 unsigned int jam;
Karena semua variabel bernilai integer maka hasil operasi pembagiannya juga menghasilkan
integer juga. Dalam hal ini, bagian pecahan dari hasil operasi pembagian ini dipotong begitu saja.
Misal, pengguna menginput nilai 5000000 pada variabel dengan nama menit pada baris
kode berikut:
44 // 2. Mengonversi menit ke tahun
45 unsigned int tahun;
46 tahun = menit / (365 * 24 * 60);
Maka pada langkah pertama, nilai variabel tahun dapat ditentukan dengan proses perhitungan
berikut:
tahun = menit / (365 * 24 * 60)
tahun = 5000000 / 525600
tahun = 9
Sehingga, nilai variabel tahun adalah 9.
Kemudian pada langkah ke-3, program mendefinisikan variabel sisaMenit untuk
menampung sisa pembagian nilai variabel menit dengan (365 * 24 * 60).
48 // 3. Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60)
49 unsigned int sisaMenit;
50 sisaMenit = menit % (365 * 24 * 60);
Nilai sisaMenit ini digunakan untuk menampung nilai sisa pembagian antara nilai dalam variabel
menit dengan hasil operasi (365 * 24 * 60). Misal, nilai menit yang diinput adalah 5000000 maka
nilai sisaMenit adalah:
sisaMenit = menit % (365 * 24 * 60)
sisaMenit = 5000000 % 525600
sisaMenit = 269600
Pada langkah ke-4, program menghitung nilai pada variabel dengan nama hari. Operasi yang
dilakukan adalah pembagian integer antara nilai sisaMenit pada baris ke-50 (yaitu, 269600)
dengan hasil operasi (24 * 60):
52 // 4. Mengonversi sisa pembagian pada langkah 3 ke hari.
53 unsigned int hari;
54 hari = sisaMenit / (24 * 60);
Proses penghitungan operasi pembagian integer ini adalah sebagai berikut:
hari = sisaMenit / (24 * 60)
hari = 269600 / 1440
hari = 187
Sehingga, nilai variabel hari menjadi 187.
Pada langkah ke-5, Program mengubah nilai sisaMenit yang digunakan untuk proses
pembagian integer selanjutnya. Pernyataan sisaMenit %= 24 * 60 senilai dengan sisaMenit =
sisaMenit % (24 * 60).
56 // 5. Menentukan sisa pembagian pada langkah 3 dengan hasil operasi
(24 * 60)
57 sisaMenit %= 24 * 60;
Proses penghitungan pada baris ke-57 adalah:
sisaMenit %= 24 * 60
sisaMenit = sisaMenit % (24 * 60)
sisaMenit = 269600 % 1440
sisaMenit = 320
Sehingga, nilai variabel sisaMenit pada baris ke-60 adalah 320.
Pada langkah ke-6, program mendefinisikan variabel jam kemudian menghitung nilai
variabel jam sebagai hasil pembagian integer antara nilai variabel sisaMaret dengan 60:
59 // 6. Mengonversi sisa pembagian pada langkah 5 ke jam.
60 unsigned int jam;
61 jam = sisaMenit / 60;
Proses penghitungan pada baris ke-61 adalah sebagai berikut:
jam = sisaMenit / 60
jam = 320 / 60
jam = 5
Sehingga, nilai variabel jam adalah 5.
Pada langkah ke-7, nilai dalam sisaMenit diperbarui kembali menggunakan operasi
sisaMenit %= 60 seperti baris kode berikut:
63 // 7. Menentukan sisa pembagian pada langkah 5 dengan bilangan 60.
64 sisaMenit %= 60;
Proses penghitungan operasi ini adalah sebagai berikut:
sisaMenit %= 60
sisaMenit = sisaMenit % 60
sisamenit = 320 % 60
sisaMenit = 20
Sehingga, nilai sisaMenit pada baris ke-64 adalah 20. Nilai ini merepresentasikan sisa menit
setelah diekstrak menjadi tahun, hari dan jam.
Pada langkah ke-8, program menampilkan output dari hasil perhitungan ini. Nilai variabel
tahun merepresentasikan hasil konversi menit ke tahun. Nilai variabel hari merepresentasikan
hasil konversi sisa menit ke hari. Nilai variabel jam merepresentasikan hasil konversi sisa menit
ke jam. Dan nilai variabel sisaMenit yang terakhir (pada baris ke-64) merepresentasikan nilai sisa
menit. Contoh output dari program ini ketika pengguna menginput 5000000 adalah:
Output yang ditampilkan oleh program ketika pengguna menginput 4000000 adalah sebagai
berikut:
Output yang ditampilkan oleh program ketika pengguna menginput 3000000 adalah sebagai
berikut:
Sumber 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 juga bisa diakses pada tautan berikut:
https://github.com/bayuYudhaSaputra/introduction-programming-CPP-
liang/blob/main/02.07.FindTheNumberOfYears.cpp

More Related Content

Similar to 2.7. Konversi Satuan Menit Ke Tahun Hari Jam Menggunakan Bahasa Pemrograman C++

Metode Penyusutan
Metode PenyusutanMetode Penyusutan
Metode Penyusutan
msahuleka
Β 
Pengukuran produktivitas dengan metode objective matrix (omax)
Pengukuran produktivitas dengan metode objective matrix (omax) Pengukuran produktivitas dengan metode objective matrix (omax)
Pengukuran produktivitas dengan metode objective matrix (omax)
gilank_upn
Β 
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp0209 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
Haris Ismail
Β 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb
Aris Saputro
Β 

Similar to 2.7. Konversi Satuan Menit Ke Tahun Hari Jam Menggunakan Bahasa Pemrograman C++ (20)

Kurva S
Kurva SKurva S
Kurva S
Β 
Operator Relasional & Logika
Operator Relasional & LogikaOperator Relasional & Logika
Operator Relasional & Logika
Β 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
Β 
Metode Penyusutan
Metode PenyusutanMetode Penyusutan
Metode Penyusutan
Β 
Metode Penyusutan
Metode PenyusutanMetode Penyusutan
Metode Penyusutan
Β 
Aplikasi loop
Aplikasi loop Aplikasi loop
Aplikasi loop
Β 
Perencanaan proyek sbm
Perencanaan proyek sbmPerencanaan proyek sbm
Perencanaan proyek sbm
Β 
KMeans.pdf
KMeans.pdfKMeans.pdf
KMeans.pdf
Β 
Bab IV
Bab IVBab IV
Bab IV
Β 
Pengukuran produktivitas dengan metode objective matrix (omax)
Pengukuran produktivitas dengan metode objective matrix (omax) Pengukuran produktivitas dengan metode objective matrix (omax)
Pengukuran produktivitas dengan metode objective matrix (omax)
Β 
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp0209 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
09 tajuk-2-operasi-dan-pengiraan-130218023650-phpapp02
Β 
Bab 3
Bab 3Bab 3
Bab 3
Β 
Typing pembuatan makalah
Typing pembuatan makalahTyping pembuatan makalah
Typing pembuatan makalah
Β 
Laporan datamining CLUSTERING
Laporan datamining CLUSTERING Laporan datamining CLUSTERING
Laporan datamining CLUSTERING
Β 
6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb6. variabel, tipe data, dan operator pada vb
6. variabel, tipe data, dan operator pada vb
Β 
BUKU PEDOMAN KISI-KISI.pdf
BUKU PEDOMAN KISI-KISI.pdfBUKU PEDOMAN KISI-KISI.pdf
BUKU PEDOMAN KISI-KISI.pdf
Β 
Linear Programming Project
Linear Programming ProjectLinear Programming Project
Linear Programming Project
Β 
Simulasi pelayanan parkir_sepedah_motor
Simulasi pelayanan parkir_sepedah_motorSimulasi pelayanan parkir_sepedah_motor
Simulasi pelayanan parkir_sepedah_motor
Β 
Algoritma dan pengetahuan terkait (menghitung, konversi, dll)
Algoritma dan pengetahuan terkait (menghitung, konversi, dll) Algoritma dan pengetahuan terkait (menghitung, konversi, dll)
Algoritma dan pengetahuan terkait (menghitung, konversi, dll)
Β 
Miti manajemen biaya
Miti manajemen biayaMiti manajemen biaya
Miti manajemen biaya
Β 

More from BayuYudhaSaputra

02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
BayuYudhaSaputra
Β 
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
BayuYudhaSaputra
Β 
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
BayuYudhaSaputra
Β 

More from BayuYudhaSaputra (9)

02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
02.19. Menentukan Luas Segitiga Sembarang Menggunakan Bahasa Pemrograman C++
Β 
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
02.17. Menentukan Temperatre Wind-Chill Menggunakan Bahasa Pemrograman C++
Β 
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
02.13. Menghitung Bunga Majemuk Menggunakan Bahasa Pemrograman C++
Β 
2.8. Menampilkan GMT menggunakan bahasa pemrograman C++
2.8. Menampilkan GMT menggunakan bahasa pemrograman C++2.8. Menampilkan GMT menggunakan bahasa pemrograman C++
2.8. Menampilkan GMT menggunakan bahasa pemrograman C++
Β 
Logaritma (Log0001)
Logaritma (Log0001)Logaritma (Log0001)
Logaritma (Log0001)
Β 
Fungsi Kuadrat FK0001
Fungsi Kuadrat FK0001Fungsi Kuadrat FK0001
Fungsi Kuadrat FK0001
Β 
Lembar Kerja Peserta DIdik Penjumlahan Bilangan cacah
Lembar Kerja Peserta DIdik Penjumlahan Bilangan cacahLembar Kerja Peserta DIdik Penjumlahan Bilangan cacah
Lembar Kerja Peserta DIdik Penjumlahan Bilangan cacah
Β 
1 1 01b2_lkpd_pengenalan_bilangan_cacah_antara_11_sampai_19
1 1 01b2_lkpd_pengenalan_bilangan_cacah_antara_11_sampai_191 1 01b2_lkpd_pengenalan_bilangan_cacah_antara_11_sampai_19
1 1 01b2_lkpd_pengenalan_bilangan_cacah_antara_11_sampai_19
Β 
1 1 01b1_lkpd_pengenalan_bilangan_cacah_antara_0_sampai_10
1 1 01b1_lkpd_pengenalan_bilangan_cacah_antara_0_sampai_101 1 01b1_lkpd_pengenalan_bilangan_cacah_antara_0_sampai_10
1 1 01b1_lkpd_pengenalan_bilangan_cacah_antara_0_sampai_10
Β 

Recently uploaded

BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
Β 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
Β 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
Β 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
wawan479953
Β 

Recently uploaded (20)

BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
Β 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
Β 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Β 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
Β 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
Β 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Β 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
Β 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
Β 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
Β 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
Β 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
Β 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Β 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
Β 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
Β 
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Β 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
Β 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
Β 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
Β 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
Β 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Β 

2.7. Konversi Satuan Menit Ke Tahun Hari Jam Menggunakan Bahasa Pemrograman C++

  • 1. *2.7. (Find the number of years) Write a program that prompts the user to enter the minutes (e.g., 1 billion), and displays the number of years and days for the minutes. For simplicity, assume a year has 365 days. Here is a sample run: Enter the number of minutes: 1000000000 1000000000 minutes is approximately 1902 years and 214 days Masalah yang diselesaikan adalah mengonversi jangka waktu dari satuan menit ke tahun lebih beberapa hari menggunakan bahasa pemrograman C++. Langkah pertama yang dilakukan adalah menentukan dalam 1 tahun ke dalam menit menggunakan perhitungan berikut: 1 π‘‘π‘Žβ„Žπ‘’π‘› = (365 Γ— 24 Γ— 60) π‘šπ‘’π‘›π‘–π‘‘ = 525.600 π‘šπ‘’π‘›π‘–π‘‘ Dari hasil perhitungan ini, kita bisa menyimpulkan bahwa dalam 1 tahun terdapat 525.600 menit. Kemudian, kita juga harus menentukan dalam 1 hari ada berapa menit menggunakan perhitungan berikut: 1 β„Žπ‘Žπ‘Ÿπ‘– = (24 Γ— 60) π‘šπ‘’π‘›π‘–π‘‘ = 1.440 π‘šπ‘’π‘›π‘–π‘‘ Dari hasil perhitungan ini, kita bisa menyimpulkan bahwa dalam 1 hari terdapat 1.440 menit. Sebelum menyusun langkah-langkah mengonversi menit ke dalam satuan tahun lebih beberapa hari, mari kita memperhatikan beberapa kasus berikut ini. Kasus ke-1 akan mengonversi 5.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih beberapa jam dan lebih beberapa menit. Kemudian, kasus ke-2, dan 3 akan mengonversi berturut-turut 4.000.000 menit dan 3.000.000 menit ke dalam satuan yang sama. Kasus 1 : mengonversi 5.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih beberapa jam dan lebih beberapa menit. Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara 5.000.000 dengan 525.600 sebagai berikut: 5.000.000 Γ· 525.600 = 9 sisa 269.600
  • 2. Dari hasil perhitungan ini, 5.000.000 menit kira-kira sama dengan 9 tahun. Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 269.600, dengan 1.440 sebagai berikut: 269.600 Γ· 1.440 = 187 sisa 320 Dari hasil perhitungan ini, 5.000.000 menit kira-kira sama dengan 9 tahun 187 hari. Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 320, dengan 60 sebagai berikut: 320 Γ· 60 = 5 sisa 20 Dari hasil perhitungan ini, 5.000.000 menit sama dengan 9 tahun 187 hari 5 jam 20 menit. Kasus 2 : mengonversi 4.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih beberapa jam dan lebih beberapa menit. Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara 4.000.000 dengan 525.600 sebagai berikut: 4.000.000 Γ· 525.600 = 7 sisa 320.800 Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 7 tahun Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 320.800, dengan 1.440 sebagai berikut: 320.800 Γ· 1.440 = 222 sisa 1120 Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 7 tahun 222 hari. Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 1.120, dengan 60 sebagai berikut: 1.120 Γ· 60 = 18 sisa 40 Dari hasil perhitungan ini, 4.000.000 menit sama dengan 7 tahun 222 hari 18 jam 40 menit.
  • 3. Kasus 3 : mengonversi 3.000.000 menit ke dalam beberapa tahun lebih beberapa hari lebih beberapa jam dan lebih beberapa menit. Langkah pertama yang harus dilakukan adalah menentukan hasil operasi pembagian antara 3.000.000 dengan 525.600 sebagai berikut: 3.000.000 Γ· 525.600 = 5 sisa 372.000 Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 5 tahun. Langkah kedua menentukan hasil operasi antara sisa pembagian pada langkah 1, yaitu 372.000, dengan 1.440 sebagai berikut: 372.000 Γ· 1.440 = 258 sisa 480 Dari hasil perhitungan ini, 4.000.000 menit kira-kira sama dengan 5 tahun 258 hari. Langkah ketiga menentukan hasil operasi antara sisa pembagian pada langkah 2, yaitu 480, dengan 60 sebagai berikut: 480 Γ· 60 = 8 sisa 0 Dari hasil perhitungan ini, 4.000.000 menit sama dengan 5 tahun 258 hari 8 jam 0 menit. Berdasarkan pola dari kasus 1 hingga 3, kita bisa merancang langkah-langkah mengonversi rentang waktu dengan satuan menit ke satuan tahun lebih beberapa hari lebih beberapa jam dan lebih beberapa menit sebagai berikut: Langkah 1 : mengonversi nilai yang merepresentasikan rentang waktu dalam satuan menit ke tahun dengan hasil operasi (365 Γ— 24 Γ— 60). Langkah 2 : menentukan sisa pembagian dari nilai yang merepresentasikan rentang waktu dalam satuan menit dengan hasil operasi (365 Γ— 24 Γ— 60). Langkah 3 : menentukan rentang waktu dalam hari dengan melakukan pembagian integer hasil pembagian pada langkah 2 dengan hasil operasi (24 Γ— 60). Langkah 4 : menentukan sisa pembagian dari hasil pembagian pada langkah 2 dengan hasil operasi (24 Γ— 60). Langkah 5 : menentukan rentang waktu dalam satuan jam dengan melakukan pembagian integer hasil pembagian pada langkah 4 dengan bilangan 60.
  • 4. Langkah 6 : menentukan rentang waktu dalam satuan menit dengan menentukan sisa pembagian hasil dari langkah 4 dengan bilangan 60. Berdasarkan keenam langkah ini, kita bisa menyusun langkah-langkah menyelesaikan masalah konversi ini ke dalam bahasa pemrograman C++ menjadi sebagai berikut : Langkah 1 : Membaca input dari pengguna, Langkah 2 : Mengonversi menit ke tahun, Langkah 3 : Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60), Langkah 4 : Mengonversi sisa pembagian pada langkah 3 ke hari, Langkah 5 : Menentukan sisa pembagian pada langkah 3 dengan hasil operasi (24 * 60), Langkah 6 : Mengonversi sisa pembagian pada langkah 5 ke jam, Langkah 7 : Menentukan sisa pembagian pada langkah 5 dengan bilangan 60, Langkah 8 : Tampilkan hasil konversi. Dari langkah 1 hingga 8 ini, kita bisa menyusun baris kode menjadi sebagai berikut: 1 #include <iostream> 2 using namespace std; 3 4 /* 5 ===================================================== 6 02.07. Find The Number Of Years 7 By : #bayuyudhasaputra 8 Lang : idn (Indonesia) 9 ----------------------------------------------------- 10 Masalah : 11 12 Tuliskan program yang menawarkan prompt kepada kepada 13 pengguna untuk menginput rentang waktu dalam satuan 14 menit (Misal, 1 miliar menit). Kemudian, program 15 menampilkan hasil konversi dari jangka waktu menit 16 ini ke dalam tahun, hari, jam dan menit. Untuk 17 mempermudah perhitungan, satu tahun diasumsikan 18 365 hari. 19
  • 5. 20 ===================================================== 21 */ 22 23 int main() { 24 cout << endl 25 << "=========================================================" 26 << endl 27 << endl 28 << "02.07. Find the number of years" 29 << endl 30 << endl 31 << "--------------------------------------------------------" 32 << endl 33 << endl; 34 35 // 1. Membaca input dari pengguna 36 unsigned int menit; 37 cout << "Input rentang waktu dalam menit (Mis. 5000000) : "; 38 cin >> menit; 39 cout << endl 40 << "Anda menginput " << menit << " menit." 41 << endl 42 << endl; 43 44 // 2. Mengonversi menit ke tahun 45 unsigned int tahun; 46 tahun = menit / (365 * 24 * 60); 47 48 // 3. Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60) 49 unsigned int sisaMenit; 50 sisaMenit = menit % (365 * 24 * 60); 51 52 // 4. Mengonversi sisa pembagian pada langkah 3 ke hari. 53 unsigned int hari; 54 hari = sisaMenit / (24 * 60); 55 56 // 5. Menentukan sisa pembagian pada langkah 3 dengan hasil operasi (24 * 60) 57 sisaMenit %= 24 * 60;
  • 6. 58 59 // 6. Mengonversi sisa pembagian pada langkah 5 ke jam. 60 unsigned int jam; 61 jam = sisaMenit / 60; 62 63 // 7. Menentukan sisa pembagian pada langkah 5 dengan bilangan 60. 64 sisaMenit %= 60; 65 66 // 8. Tampilkan hasil konversi. 67 cout << menit << " menit sama dengan " 68 << tahun << " tahun " 69 << hari << " hari " 70 << jam << " jam " 71 << sisaMenit << " menit." 72 << endl 73 << endl 74 << "=========================================================" 75 << endl 76 << endl; 77 78 return 0; 79 } 80 81 /* 82 Tipe data yang digunakan adalah unsigned int karena rentang waktu selalu bernilai positif. 36 unsigned int menit; 45 unsigned int tahun;
  • 7. 49 unsigned int sisaMenit; 60 unsigned int jam; Karena semua variabel bernilai integer maka hasil operasi pembagiannya juga menghasilkan integer juga. Dalam hal ini, bagian pecahan dari hasil operasi pembagian ini dipotong begitu saja. Misal, pengguna menginput nilai 5000000 pada variabel dengan nama menit pada baris kode berikut: 44 // 2. Mengonversi menit ke tahun 45 unsigned int tahun; 46 tahun = menit / (365 * 24 * 60); Maka pada langkah pertama, nilai variabel tahun dapat ditentukan dengan proses perhitungan berikut: tahun = menit / (365 * 24 * 60) tahun = 5000000 / 525600 tahun = 9 Sehingga, nilai variabel tahun adalah 9. Kemudian pada langkah ke-3, program mendefinisikan variabel sisaMenit untuk menampung sisa pembagian nilai variabel menit dengan (365 * 24 * 60). 48 // 3. Menentukan sisa pembagian dengan hasil operasi (365 * 24 * 60) 49 unsigned int sisaMenit; 50 sisaMenit = menit % (365 * 24 * 60);
  • 8. Nilai sisaMenit ini digunakan untuk menampung nilai sisa pembagian antara nilai dalam variabel menit dengan hasil operasi (365 * 24 * 60). Misal, nilai menit yang diinput adalah 5000000 maka nilai sisaMenit adalah: sisaMenit = menit % (365 * 24 * 60) sisaMenit = 5000000 % 525600 sisaMenit = 269600 Pada langkah ke-4, program menghitung nilai pada variabel dengan nama hari. Operasi yang dilakukan adalah pembagian integer antara nilai sisaMenit pada baris ke-50 (yaitu, 269600) dengan hasil operasi (24 * 60): 52 // 4. Mengonversi sisa pembagian pada langkah 3 ke hari. 53 unsigned int hari; 54 hari = sisaMenit / (24 * 60); Proses penghitungan operasi pembagian integer ini adalah sebagai berikut: hari = sisaMenit / (24 * 60) hari = 269600 / 1440 hari = 187 Sehingga, nilai variabel hari menjadi 187. Pada langkah ke-5, Program mengubah nilai sisaMenit yang digunakan untuk proses pembagian integer selanjutnya. Pernyataan sisaMenit %= 24 * 60 senilai dengan sisaMenit = sisaMenit % (24 * 60). 56 // 5. Menentukan sisa pembagian pada langkah 3 dengan hasil operasi (24 * 60) 57 sisaMenit %= 24 * 60;
  • 9. Proses penghitungan pada baris ke-57 adalah: sisaMenit %= 24 * 60 sisaMenit = sisaMenit % (24 * 60) sisaMenit = 269600 % 1440 sisaMenit = 320 Sehingga, nilai variabel sisaMenit pada baris ke-60 adalah 320. Pada langkah ke-6, program mendefinisikan variabel jam kemudian menghitung nilai variabel jam sebagai hasil pembagian integer antara nilai variabel sisaMaret dengan 60: 59 // 6. Mengonversi sisa pembagian pada langkah 5 ke jam. 60 unsigned int jam; 61 jam = sisaMenit / 60; Proses penghitungan pada baris ke-61 adalah sebagai berikut: jam = sisaMenit / 60 jam = 320 / 60 jam = 5 Sehingga, nilai variabel jam adalah 5. Pada langkah ke-7, nilai dalam sisaMenit diperbarui kembali menggunakan operasi sisaMenit %= 60 seperti baris kode berikut: 63 // 7. Menentukan sisa pembagian pada langkah 5 dengan bilangan 60. 64 sisaMenit %= 60; Proses penghitungan operasi ini adalah sebagai berikut: sisaMenit %= 60
  • 10. sisaMenit = sisaMenit % 60 sisamenit = 320 % 60 sisaMenit = 20 Sehingga, nilai sisaMenit pada baris ke-64 adalah 20. Nilai ini merepresentasikan sisa menit setelah diekstrak menjadi tahun, hari dan jam. Pada langkah ke-8, program menampilkan output dari hasil perhitungan ini. Nilai variabel tahun merepresentasikan hasil konversi menit ke tahun. Nilai variabel hari merepresentasikan hasil konversi sisa menit ke hari. Nilai variabel jam merepresentasikan hasil konversi sisa menit ke jam. Dan nilai variabel sisaMenit yang terakhir (pada baris ke-64) merepresentasikan nilai sisa menit. Contoh output dari program ini ketika pengguna menginput 5000000 adalah: Output yang ditampilkan oleh program ketika pengguna menginput 4000000 adalah sebagai berikut:
  • 11. Output yang ditampilkan oleh program ketika pengguna menginput 3000000 adalah sebagai berikut:
  • 12. Sumber 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 juga bisa diakses pada tautan berikut: https://github.com/bayuYudhaSaputra/introduction-programming-CPP- liang/blob/main/02.07.FindTheNumberOfYears.cpp