Anda di halaman 1dari 4

1.

fungsi tambah(a[], b[], x, y)


fungsi untuk menjumlah bilangan polinomial. Parameter a[], b[], x dan y bertipe integer.
Variabel size, sum dan i bertipe integer.
{ size = max(x, y)
*sum = new int[size]

for(i = 0; i < x; i++)


sum[i] = a[i] + b[i]
return sum
}
void print(poly[], n)
fungsi untuk menampilkan bilangan polinomial. Parameter poly[] dan n bertipe integer.
variabel i bertipe integer.
{ for(i = 0; i < n; i++){
write(poly[i])
if(i != 0)
if(poly[i]==0);
else write(“x^”, i)
if(i != n-1)
write(“ + ”)
}
}
Algoritma utama
Algoritma untuk menampilkan bilangan polinomial yang sebelum dijumlah dan setelah
dijumlah. Dilakukan dengan fungsi tambah(a[],b[],x,y) untuk menambah bilangan
polinomial dan void print(poly[],n) untuk menampilkan bilangan polinomial. Variabel a[],
b[], x, y, sum dan size bertipe integer.
{ a[] = {1, 1, 2, 1}
b[] = {2, 1, 1, 2}
x = sizeof(a)/sizeof(a[0])
y = sizeof(b)/sizeof(b[0])

write(“bilangan polinomial pertama : ”)


print(a,x)
write(“bilangan polinomial kedua : ”)
print(b,y)

*sum = tambah(a, b, x, y)
size = max(x, y)

write(“hasil tambah polinomial :”)


print(sum, size)
halt
}
2. fungsi kali(a[], b[], x, y)
fungsi untuk mengkalikan bilangan polinomial. Parameter a[], b[], x dan y bertipe
integer. Variabel multi dan i bertipe integer.
{ *multi = new int[x+y-1]
for(i = 0; i < x+y-1; i++)
multi[i] = 0

for(i=0; i < x; i++){


for (int j=0; j < y; j++)
prod[i+j] += a[i]*b[j];
}
return multi
}
void print(poly[], n)
fungsi untuk menampilkan bilangan polinomial. Parameter poly[] dan n bertipe integer.
variabel i bertipe integer.
{ for(i = 0; i < n; i++){
write(poly[i])
if(i != 0)
if(poly[i]==0);
else write(“x^”, i)
if(i != n-1)
write(“ + ”)
}
}
Algoritma utama
Algoritma untuk menampilkan bilangan polinomial yang sebelum dikali dan setelah
dikali. Dilakukan dengan fungsi kali(a[],b[],x,y) untuk kali bilangan polinomial dan void
print(poly[],n) untuk menampilkan bilangan polinomial. Variabel a[], b[], x, y dan multi
bertipe integer.
{ a[] = {1, -1, 2, 1}
b[] = {2, 1, -1, 2}
x = sizeof(a)/sizeof(a[0])
y = sizeof(b)/sizeof(b[0])

write(“bilangan polinomial pertama : ”)


print(a,x)
write(“bilangan polinomial kedua : ”)
print(b,y)
*multi = kali(a, b, x, y)
write(“hasil kali polinomial :”)
print(multi, m+n-1)
halt
}
3. Divide and Conquer merupakan salah satu bentuk pendekatan dalam menyelesaikan
suatu permasalahan. Pendekatan divide and conquer bekerja dengan cara memecah
permasalahan menjadi submasalah yang sama seperti masalah awal. Setiap submasalah
diselesaikan secara terpisah dengan cara rekursif. Solusi dari setiap submasalah akan
digabung menjadi solusi masalah utama. Sedangkan perkalian polinomial biasa tidak
seperti penjumlahan, untuk menghitung koefisien sebuah suku pada hasil perkalian dua
buah polinomial berderajat 𝑁 dibutuhkan untuk menghitung hasil perkalian dari 𝑁 buah
koefisien dari setiap polinomial. Secara definisi hasil perkalian dua buah polinomial 𝑓(𝑥)
dan 𝑔(𝑥) berderajat 𝑛 sebagai berikut :

Dari definisi diatas dapat disimpulkan, untuk mengalikan polinomial 𝑓(𝑥) dan 𝑔(𝑥), setiap
suku 𝑎𝑖 perlu dikalikan dengan setiap suku 𝑏𝑖 . Oleh karena itu untuk setiap perkalian dua
buah polinomial dengan derajat 𝑁, paling banyak terdapat 𝑁2 perkalian yang perlu
dihitung.

4. fungsi kali(a[], b[], x, y)


fungsi untuk mengkalikan bilangan polinomial. Parameter a[], b[], x dan y bertipe
integer. Variabel multi dan i bertipe integer.
{ *multi = new int[x+y-1]
for(i = 0; i < x+y-1; i++)
multi[i] = 0

for(i=0; i < x; i++){


for (int j=0; j < y; j++)
prod[i+j] += a[i]*b[j];
}
return multi
}
void print(poly[], n)
fungsi untuk menampilkan bilangan polinomial. Parameter poly[] dan n bertipe integer.
variabel i bertipe integer.
{ for(i = 0; i < n; i++){
write(poly[i])
if(i != 0)
write(“x^”, i)
if(i != n-1)
write(“ + ”)
}
}
Algoritma utama
Algoritma untuk menampilkan bilangan polinomial yang sebelum dikali dan setelah
dikali. Dilakukan dengan fungsi kali(a[],b[],x,y) untuk kali bilangan polinomial dan void
print(poly[],n) untuk menampilkan bilangan polinomial. Variabel a[], b[], x, y dan multi
bertipe integer.
{ a[] = {3, 4, 10, 2, 9}
b[] = {5, 0, 8}
x = sizeof(a)/sizeof(a[0])
y = sizeof(b)/sizeof(b[0])

write(“bilangan polinomial pertama : ”)


print(a,x)
write(“bilangan polinomial kedua : ”)
print(b,y)

*multi = kali(a, b, x, y)
write(“hasil kali polinomial :”)
print(multi, m+n-1)
halt
}

5. seed dalam Random Number Generator tersebut sebenarnya merupakan titik awal
dalam urutan atau nomor yang digunakan untuk menginisialisasi sebuah pembangkit
sejumlah pseudorandom. Jika kita menggunakan seed yang sama setiap waktu, itu akan
menghasilkan urutan angka acak yang sama. Nilai yang paling cocok untuk menjadi seed
adalah 1234567.

Anda mungkin juga menyukai