Assalamualaikum
sobat blogger...
Jika pada
postingan sebelumnya saya membuat program tanpa library math.h, kali ini sama,
ya saya juga tidak memakai library math.h, garing. Program yang akan saya buat
kali ini adalah program perkalian dengan menggunakan perulangan, sederhana
saja, jika 6 dikali 5 berarti angka 6 di tambah 6 begitu seterusnya sampai
berjumlah 5 buah angka 6, di jumlahkan lalu muncul hasilnya 30.
Tapi di sisi
lain ada sebuah bugs sederhana seperti pada soal tugas berikut :
Kasus 4.8 : Hitunglah axb dengan metode
penjumlahan
Analisis :
- a x b = a + a + … + a (sebanyak b kali)
- Ini berlaku untuk a positif maupun negative
- Bagaimana bila b negatif ?
- Karena loop “tidak pernah negatif” maka harus dimanipulasi perulangan yang “selalu” positif.
- Untuk itu nilai b menjadi abs(b)
- Kemudian khusus untuk b < 0, jumlah yang sudah diperoleh dinegatifkan
- Ingat : ax(-b) = ax(-1)xb = -axb
Jadi bugsnya
adalah bagaimana jika bilangan pengalinya negatif ? apa mungkin perulangan memunculkan
perulangan negatif ? Solusi terdapat pada bagaimana cara kita untuk mendapatkan
nilai positif apabila variabel pengali menyimpan nilai negatif, yaitu
menggunakan statement “abs” atau bisa juga di sebut absolut, jadi fungsi dari
statement ini adalah untuk mendapat hasil yang selalu positif sehingga nilai
data yang masuk pada variabel pengali akan selalu positif.
Kendalanya
statement “abs” tidak bisa hanya menggunakan library iostream, dan setelah
mencoba berbagai macam library termasuk math.h, saya menemukan library agar
statement “abs” tadi bisa terbaca yaitu library cstdlib. Untuk lebih jelasnya
berikut saya sertakan source code dari program di atas :
#include
<iostream>
#include
<cstdlib>
using namespace
std;
int main(int
argc, char** argv)
{ int a,b,c,d,e=0;
cout<<"Masukkan angka
yang ingin dikali : ";
cin>>a;
cout<<"Masukkan angka
yang dijadikan pengali : ";
cin>>b;
for(d=1; d<=abs(b); d++)
e=e+a;
if(b<0)
e=-e;
cout<<a<<" x
"<<b<<" = "<<e;
return 0; }
Untuk tambahan,
dari program ini juga saya tahu bahwa untuk variabel yang nantinya di jadikan
sebagai variabel hasil, sebaiknya pada saat pendeklarasian tipe data, variabel
tersebut ada baiknya dideklarasikan terlebih dahulu dengan nilai nol (0),
karena saya liat pada beberapa kasus, apabila tidak dideklarasikan terlebih
dahulu dengan nilai nol (0) maka nantinya program akan membaca variabel
tersebut dengan nilai yang tidak seharusnya, entah nilai apa yang terdeklarasi
pada variabel tersebut berasal darimana. Nah, selanjutnya langsung saja saya
sertakan source code di atas dalam tampilan compiler dev-c++ :
Setelah di
jalankan :
Dan flowchartnya
dalam raptor :
Sekian
pembahasan mengenai tugas “Program Perkalian dengan Perulangan” silahkan
tinggalkan kritik dan dan saran jika ada kesalahan dalam postingan saya, semoga
bermanfaat, terimakasih wassalamualaikum wr,wb.
1 komentar
infonya sangat bermanfaat
obeng samsung plus
Emoticon Emoticon