Berikut ini adalah pertanyaan dari septianilyas16 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
Contoh programnya:
program SesuatuYangAneh;
uses Crt;
const
kumpulan_pembagi: array [1..7] of LongInt =
(100000, 10000, 5000, 2000, 100, 10, 1);
var
detik, hasilbagi, pembagi: LongInt;
nama_pembagi: String;
begin
clrscr;
write('Silahkan masukkan jumlah detik : ');
readLn(detik);
for pembagi in kumpulan_pembagi do
begin
// detik dibagi setiap pembagi
hasilbagi := detik div pembagi;
// detik dikurangi hasil kali detik
// dengan setiap pembagi
detik := detik - (hasilbagi*pembagi);
case (pembagi) of
100000: nama_pembagi := ' ratusan ribu, ';
10000: nama_pembagi := ' puluhan ribu, ';
5000: nama_pembagi := ' lima ribuan, ';
2000: nama_pembagi := ' dua ribuan, ';
100: nama_pembagi := ' ratusan, ';
10: nama_pembagi := ' puluhan, ';
1: nama_pembagi := ' satuan.';
end;
write(hasilbagi, nama_pembagi);
end;
readln;
end.
Penjelasan:
Algoritma
Deklarasi:
kumpulan_pembagi: array [100000, 10000, 5000, 2000, 100, 10, 1]
detik, hasil_bagi, pembagi: long integer
nama_pembagi: string
Algoritma:
read detik
for eachpembagi in kumpulan_pembagido
hasil_bagi = detik div pembagi
detik = detik - (hasil_bagi*pembagi)
case pembagi
100000:
nama_pembagi := ' ratusan ribu, '
10000:
nama_pembagi := ' puluhan ribu, '
5000:
nama_pembagi := ' lima ribuan, '
2000:
nama_pembagi := ' dua ribuan, '
100:
nama_pembagi := ' ratusan, '
10:
nama_pembagi := ' puluhan, '
1:
nama_pembagi := ' satuan.'
end case
write hasil_bagi, nama_pembagi
end for
-- Akhir Algoritma --
Cara yang terpikir pertama kali adalah melakukan pembagian secara berurutan/sekuensial, namun baris perintah untuk operasi dan penulisan hasil akan diulang-ulang dengan pola yang sama. Oleh karena itu, di sini saya menggunakan array dari setiap angka pembagi, dan menggunakan iterasi/looping untuk operasi pembagian, pengurangan dan penulisan hasil.
Terlampir: hasil eksekusi dengan 3 macam input.
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Tue, 08 Feb 22