Latihan kode program C++ di Duniailkom kali ini akan membahas cara mencari akar persamaan kuadrat. Materi ini berhubungan dengan logika matematika, penggunaan operator aritmatika, serta kondisi if else.
Soal Mencari Akar Persamaan Kuadrat
Buatlah kode program C++ untuk mencari akar persamaan kuadrat dengan format ax2 + bx + c = 0
. Program meminta 3 inputan, yakni a, b dan c. Hasilnya akan menampilkan akar x1 dan x2, atau teks "akar imajiner" jika determinan < 0.
Bonus: Tampilkan juga nilai determinan.
Berikut contoh tampilan akhir yang diinginkan (1) :
## Program C++ Mencari Akar Persamaan Kuadrat ## ================================================= Format persamaan: ax^2 + bx + c = 0 Input nilai a: 5 Input nilai b: 13 Input nilai c: 6 Diskriminan = 49 (akar real dan berbeda) x1 = -0.6 x2 = -2
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program C++ Mencari Akar Persamaan Kuadrat ## ================================================= Format persamaan: ax^2 + bx + c = 0 Input nilai a: 1 Input nilai b: -8 Input nilai c: 16 Diskriminan = 0 (akar real dan sama) x1 = 4 x2 = 4
Berikut contoh tampilan akhir yang diinginkan (3) :
## Program C++ Mencari Akar Persamaan Kuadrat ## ================================================= Format persamaan: ax^2 + bx + c = 0 Input nilai a: 1 Input nilai b: 6 Input nilai c: 10 Diskriminan = -4 (akar tidak real / imajiner)
Silahkan coba sebentar membuat kode program ini.
Tips Membuat Kode Program Mencari Akar Persamaan Kuadrat
Untuk soal yang melibatkan perhitungan matematika, kita harus fokus ke rumus yang diperlukan. Dari rumus itulah nantinya akan dirancang algoritma pemrograman.
Pencarian akar kuadrat dengan format ax2 + bx + c = 0 bisa menggunakan rumus berikut:
Selain itu ada syarat tambahan berhubungan dengan jenis akar kuadrat. Ini didapat dari menghitung determinan (D) menggunakan rumus b2 – 4ac:
- Jika D > 0, maka akar real dan berbeda
- Jika D = 0, maka akar real dan sama
- Jika D < 0, akar tidak real / imajiner
Khusus untuk D < 0, tidak perlu dicari akar kuadrat karena hasilnya berbentuk angka imajiner.
Untuk kode program sendiri, butuh dasar yang berhubungan dengan variabel, operator aritmatika, dan kondisi if else. Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa C++
- Tipe Data Integer Bahasa C++
- Jenis-jenis Operator Aritmatika Bahasa C++
- Percabangan Kondisi IF ELSE IF Bahasa C++
Kode Program C++ Mencari Akar Persamaan Kuadrat
Berikut salah satu solusi dari soal mencari akar persamaan kuadrat menggunakan bahasa pemrograman C++:
#include <iostream> #include <math.h> using namespace std; int main() { cout << "## Program C++ Mencari Akar Persamaan Kuadrat ##" << endl; cout << "=================================================" << endl; cout << endl; int a, b, c, D; float x1, x2; cout << "Format persamaan: ax^2 + bx + c = 0 " << endl; cout << "Input nilai a: "; cin >> a; cout << "Input nilai b: "; cin >> b; cout << "Input nilai c: "; cin >> c; cout << endl; D = (b*b)-(4*a*c); cout << "Diskriminan = " << D; if (D>0){ cout << " (akar real dan berbeda)" <<endl; x1 = (-b + sqrt(D)) / (2*a); x2 = (-b - sqrt(D)) / (2*a); cout << "x1 = " << x1 <<endl; cout << "x2 = " << x2 <<endl; } else if (D==0){ cout << " (akar real dan sama)" <<endl; x1 = x2 = (-b + sqrt(D)) / (2*a); cout << "x1 = " << x1 <<endl; cout << "x2 = " << x2 <<endl; } else { cout << " (akar tidak real / imajiner)" <<endl; } return 0; }
Di bagian header pada baris 2, saya butuh tambahan library math.h untuk memudahkan mencari akar kuadrat menggunakan fungsi sqrt().
Kode program kemudian meminta 3 inputan yang disimpan ke dalam variabel a, b, dan c antara baris 16 – 21.
Nilai determinan dicari pada baris 25 dengan perintah D = (b*b)-(4*a*c). Nilainya kemudian ditampilkan dengan perintah cout di baris 26.
Berdasarkan nilai determinan yang tersimpan dalam variabel D, kita masuk ke 3 kondisi if else antara baris 28 – 47. Setiap kondisi sesuai dengan rumus menghitung akar kuadrat sebelumnya.
Demikian kode program mencari akar persamaan kuadrat menggunakan bahasa pemrograman C++. Semoga tutorial ini bisa bermanfaat.