A. (K+C) / M x NB. (A x B x

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

A. (K+C) / M x NB. (A x B x C) ^D
C. H + I x J / K

Boleh bantu kak buat Program Dev++ nya​​

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Kode Program (C++)

#include<iostream>
#include<cmath>
// cmath atau math.h diperlukan untuk memuat
// function pow()

using namespace std;

// function inputBilangan(info)
// Mengembalikan nilai bilangan dari masukan pengguna,
// dengan prompt: info =
// Untuk saat ini, tipe data return value
// disesuaikan dengan tipe data bilangan.
// Fyi, return value dapat bertipe "auto" pada C++,
// tergantung nilai yang dimasukkan.

float inputBilangan(string info) {
   float tmp; cout << info; cin >> tmp;
   return tmp;
}

void soalA() {
   float K, C, M, N;    

   cout << "SOAL A. (K + C) / M × N\n";
   K = inputBilangan("Input K = ");
   C = inputBilangan("Input C = ");
   M = inputBilangan("Input M = ");
   N = inputBilangan("Input N = ");
   cout << "Hasil: (K + C) / M × N = ";
   // M tidak boleh 0, karena pembagian
   // oleh 0 tak terdefinisi.
   if (M == 0) {
       cout << "tak terdefinisi,\n"
            << "karena M = 0 menyebabkan operasi pembagian "
            << "menjadi tak terdefinisi.";
   } else {
       cout << (K + C) / M * N;
   }
   cout << endl << endl;
}

void soalB() {
   float A, B, C, D;    

   cout << "SOAL B. (A × B × C) ^ D\n";
   A = inputBilangan("Input A = ");
   B = inputBilangan("Input B = ");
   C = inputBilangan("Input C = ");
   D = inputBilangan("Input D = ");
   cout << "Hasil: (A × B × C) ^ D = "
        << pow(A*B*C, D)
        << endl << endl;
}

void soalC() {
   float H, I, J, K;

   cout << "SOAL C. H + I × J / K\n";
   H = inputBilangan("Input H = ");
   I = inputBilangan("Input I = ");
   J = inputBilangan("Input J = ");
   K = inputBilangan("Input K = ");
   cout << "Hasil: H + I × J / K = ";
   // K tidak boleh 0, karena pembagian
   // oleh 0 tak terdefinisi.
   if (K == 0) {
       cout << "tak terdefinisi,\n"
            << "karena K = 0 menyebabkan operasi pembagian "
            << "menjadi tak terdefinisi.";
   } else {
       cout << H + I * J / K;
   }
   cout << endl << endl;
}

// Program Utama
int main() {
   soalA();
   soalB();
   soalC();
}
_________________

Pembahasan

Sebelum memprogram, kita perhatikan terlebih dahulu soal A dan C, yang melibatkan operasi pembagian. Apapun tipe data bilangan yang digunakan, pembagian oleh 0 tak terdefinisi.

Maka, menurut saya, sebaiknya ada analisis kasus terhadap nilai input bilangan pembagi. Jika sama dengan 0, hasilnya adalah tak terdefinisi. Sebaliknya, hitung dan cetak hasilnya.

Kemudian, untuk perpangkatan, kita dapat menggunakan function pow(base, exponent) dari library cmath atau math.h.

Pada program di atas, implementasi setiap operasi aritmetika pada soal A, B, dan C dibungkus dalam function tersendiri, sehingga program utama tinggal memanggil function-function tersebut.

Pada bagian awal program, terdapat function inputBilangan(info) yang mengembalikan bilangan masukan bertipe float. Function ini hanya bertindak sebagai helper saja, agar proses input dapat lebih digeneralisasi.

Contoh Hasil Eksekusi Program

Terdapat 4 gambar tangkapan layar yang dilampirkan, yang menunjukkan contoh hasil eksekusi program.

  • Gambar 1 dan 2: ketika menggunakan VSCode (Visual Studio Code) dengan backend compiler C++ pada Linux Debian (dalam WSL).
  • Gambar 2 dan 3: ketika menguji hasil coding dari VSCode pada IDE Dev-C++, dengan compiler C++ yang disediakan Dev-C++.

Kode Program (C++)#include<iostream>#include<cmath> // cmath atau math.h diperlukan untuk memuat// function pow()using namespace std;// function inputBilangan(info)// Mengembalikan nilai bilangan dari masukan pengguna,// dengan prompt: info = // Untuk saat ini, tipe data return value // disesuaikan dengan tipe data bilangan.// Fyi, return value dapat bertipe Kode Program (C++)#include<iostream>#include<cmath> // cmath atau math.h diperlukan untuk memuat// function pow()using namespace std;// function inputBilangan(info)// Mengembalikan nilai bilangan dari masukan pengguna,// dengan prompt: info = // Untuk saat ini, tipe data return value // disesuaikan dengan tipe data bilangan.// Fyi, return value dapat bertipe Kode Program (C++)#include<iostream>#include<cmath> // cmath atau math.h diperlukan untuk memuat// function pow()using namespace std;// function inputBilangan(info)// Mengembalikan nilai bilangan dari masukan pengguna,// dengan prompt: info = // Untuk saat ini, tipe data return value // disesuaikan dengan tipe data bilangan.// Fyi, return value dapat bertipe Kode Program (C++)#include<iostream>#include<cmath> // cmath atau math.h diperlukan untuk memuat// function pow()using namespace std;// function inputBilangan(info)// Mengembalikan nilai bilangan dari masukan pengguna,// dengan prompt: info = // Untuk saat ini, tipe data return value // disesuaikan dengan tipe data bilangan.// Fyi, return value dapat bertipe Kode Program (C++)#include<iostream>#include<cmath> // cmath atau math.h diperlukan untuk memuat// function pow()using namespace std;// function inputBilangan(info)// Mengembalikan nilai bilangan dari masukan pengguna,// dengan prompt: info = // Untuk saat ini, tipe data return value // disesuaikan dengan tipe data bilangan.// Fyi, return value dapat bertipe

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: Fri, 09 Dec 22