. Buatlah program untuk menerima 2 buah bilangan bulat masukan.

Berikut ini adalah pertanyaan dari najmiazzahra2004 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

. Buatlah program untuk menerima 2 buah bilangan bulat masukan. Tampilkan hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal.Input : bil1 dan bil2
Output : hasil bagi bil1 dengan bil2
Nilai tambah: program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan kesalahannya (division by zero).

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Karena tidak ada spesifikasi bahasa pemrograman yang digunakan, saya berikan 3 alternatif (C, C++, dan Python).
___________

Kode Program C

// pembagian.c
#include<stdio.h>

int main() {
   // Deklarasi
   float bil1, bil2, hasilbagi;

   // Input
   printf("Masukkan nilai bilangan pertama: ");
   scanf("%f", &bil1);
   printf("Masukkan nilai bilangan kedua: ");
   scanf("%f", &bil2);

   // Proses
   if (bil2 == 0) {
       printf("KESALAHAN: Pembagian oleh 0 tak terdefinisi.\n\n");
       return 1;
   }
   hasilbagi = bil1 / bil2;

   // Output
   printf("%.3f / %.3f = %.3f\n\n", bil1, bil2, hasilbagi);
   return 0;
}
___________

Kode Program C++

// pembagian.cpp
#include<iostream>
#include <iomanip>
// Library iomanip dibutuhkan untuk std::setprecision()
using namespace std;

int main() {
   // Deklarasi
   float bil1, bil2, hasilbagi;

   // Input
   cout << "Masukkan nilai bilangan pertama: ";
   cin >> bil1;
   cout << "Masukkan nilai bilangan kedua: ";
   cin >> bil2;

   // Proses
   if (bil2 == 0) {
       cerr << "KESALAHAN: Pembagian oleh 0 tak terdefinisi.\n\n";
       return 1;
   }
   hasilbagi = bil1 / bil2;

   // Output
   cout << fixed << setprecision(3);
   cout << bil1 << " / " << bil2 << " = " << hasilbagi;
   cout << "\n\n";
   return 0;
}
___________

Kode Program Python

# pembagian.py
bil1 = float(input('Masukkan nilai bilangan pertama: '))
bil2 = float(input('Masukkan nilai bilangan kedua: '))

try:
   hasilbagi = bil1 / bil2
except ZeroDivisionError:
   print('KESALAHAN: Pembagian oleh 0 tak terdefinisi.\n')
else:
   print(f'{bil1:.3} / {bil2:.3} = {hasilbagi:.3}')
___________

Pembahasan

Saya pikir, algoritmanya sudah sangat jelas, karena persoalannya cukup sederhana.

  • Pada program dalam bahasa C dan C++ di atas, digunakan analisis kasus terhadap variabel bil2. Jika bil2 = 0, maka cetak pesan kesalahan, dan return (keluar dari program).
    Karena program langsung berhenti setelah output pesan kesalahan, maka baris selanjutnya tidak memerlukan blok else. Baris berikutnya setelah if akan dieksekusi jika bil2 ≠ 0 terpenuhi.
  • Pada program dalam bahasa Python di atas, saya gunakan error-trapping, dengan try...except...else, karena Python secara default menyediakan exception ZeroDivisionError.
    Blok else akan dieksekusi jika ZeroDivisionError tidak terjadi.

__________

Hasil Eksekusi

Untuk ketiga program di atas, ketika bil2 = 0, outputnya adalah:

  • Masukkan nilai bilangan pertama: 30
    Masukkan nilai bilangan kedua: 0
    KESALAHAN: Pembagian terhadap 0 tak terdefinisi.

Kemudian, akan digunakan kasus bil1 = 5 dan bil2 = 11, di mana 5/11 = 0,45454545...
Dengan ketelitian 3 desimal, hasilnya adalah 0,455.

C dan C++ (output sama persis)

  • Masukkan nilai bilangan pertama: 5
    Masukkan nilai bilangan kedua: 11
    5.000 / 11.000 = 0.455

Python (output agak berbeda sedikit)

  • Masukkan nilai bilangan pertama: 5
    Masukkan nilai bilangan kedua: 11
    5.0 / 11.0 = 0.455

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: Mon, 12 Dec 22