## POLYNOMIAL DALAM MATHLAB

## Oleh : Edy Supriyanto

## ABSTRAKSI
Bentuk  polynomial  sering  ditemui  pada  masalah  Matematika.  Dari  persamaan  yang  berbentuk polynomial,  kita  dapat  mengetahui  :  akar­akar  polynomial,  perkalian  polynomial,  penambahan polynomial,  pembagian  polnomial,  turunan  polynomial.  Dengan  software  Mathlab,  kita  dapat menyelesaikan  tugas­tugas  tersebut,  karena  di  mathlab  ada  fungsi­fungsi  yang  telah  tersedia. Misalnya  :  roots,  cont,  plus,  decont,  polyder.  Selain  itu  grafik  dari  fungsi  polynomial  juga  dapat disajikan dengan fungsi plot.
Sebuah polynomial n dalam matematika  dapat  didefinisikan  sebagai sebuah fungsi dari deret dengan variabelnya  berpangkat  maksimal  n.  Ini dapat ditulis sebagai berikut :
P(n) =  a n x n + a n­1 x n­1 + a n­2 x n­2 + a n­3 x n­3
+ … + a 1 x1 + a 0 x 0 dengan x sebagai variable fungsi polynomial,  a  sebagai  koefisien  pada variable x yang bersangkutan.
Contoh :
P(4) = x 4 – 12x 3 +0x 2 + 25x+ 116.
Ini berarti koefisien var  x4  adalah 1,  koefisien  variable  x3  adalah  –12, koefisien  variable  x2  adalah  0,  koefisien variable x adalah 25 dan koefisien variable x0 adalah 116.
Dalam
Mathlab, penulisan polynomial  n  tersebut  disajikan  sebagai vector  baris  dari  koefisien  secara  deretan ascending  tanpa  menulis  variabelnya. Bentuk umum dalam Mathlab adalah :
>> p=[a n a n­1 a n­2 a n­3 …   a 1 a 0 ] dengan    p  adalah  fungsi  polynomial,  a sebagai  koefisien  pada  variable  yang bersangkutan.  Pada  layar  komputer  akan muncul :
>> p=[a n a n­1 a n­2 a n­3 …   a 1 a 0 ] p = a n a n­1 a n­2 a n­3 …   a 1 a 0
Maka  P(4)  =  x 4 –  12x 3 +0x 2 +  25x+  116 ditulis dalam Mathlab sebagai :
>> p=[1 ­12 0 25 116]
p =
1  ­12     0    25   116

## AKAR PERSAMAAN
Fungsi roots dalam Mathlab dapat dipakai  sebagai  cara  pencarian  akar persamaan dari polynomial yang bersangkutan.  Bentuk  umum    dalam Mathlab  adalah r=roots(p) dengan  p adalah  polynomial  yang  dicari  akarnya
64
dan    r  adalah  akar  polinomialnya.  Dari contoh tersebut,
>> p=[1 ­12 0 25 116]
p =
1  ­12     0    25   116 maka akarnya adalah:
>> r=roots(p)
r =
11.7473
2.7028
­1.2251 + 1.4672i
­1.2251 ­ 1.4672i
Ini  berarti  akar­akarnya  adalah    X1  = 11.7473;  X2  =  2.7028;    X3  =  ­1.2251  + 1.4762i ;   X4 = ­1.2251 – 1.4672i.
Sebaliknya, juga dapat dilakukan pembentukan  fungsi  polinomal  awal,  jika diketahui akar­akar dari fungsi polynomial tersebut.  Ini  dapat    dilakukan  dengan fungsi poly .  Bentuk  umum  adalah ll=poly(r) ,  dengan  r  akar  persamaan  dari polynomial,  ll  adalah  polynomial  yang dicari.
Contoh :
Diketahui  akar­akar  persamaan  sebagai berikut :
X1  =  11.7473;  X2  =  2.7028;    X3  =  ­ 1.2251  +  1.4762i  ;    X4  =  ­1.2251  –
1.4672i
Dalam Mathlab ini ditulis sebagai :
r =
11.7473 2.7028
­1.2251 + 1.4672i
­1.2251 ­ 1.4672i Maka polynomialnya adalah :
>> ll=poly(r)
ll =
1.0000  ­12.0000 ­0.0000      25.0000 116.0000
Yang  berarti  :  x4  –  12x3  –  0x2  +  25x  + 116.

## PERKALIAN DUA BUAH POLINOMIAL
Perkalian  dua  buah  polynomial dalam  Mathlab  didukung  oleh  function conv (convolution).  Bentuk  umumnya adalah c=conv(a,b) . Ini berarti polynomial a dikalikan dengan polynomial b.
Sebagai  contoh,  polonomial  a  =  x3  +  2x2 + 3x + 4 dikalikan dengan polynomial b=  x3  +  4  x2  +  9x  +  16.  Dalam  Mathlab diketik sebagai :
> a=[1 2 3 4]; b=[1 4 9 16];
>> c=conv(a,b)
c =
1     6    20    50    75    84    64
Jadi, c = x6 + 6x5 + 20x4+ 50x3 + 75x2 + 84x + 64.

## PENAMBAHAN DUA BUAH POLINOMIAL
Untuk  penambahan  dua  buah polinomial,  dapat  langsung  dengan  tanda +  (plus). Bentuk  umum  dalam  Mathlab adalah d=a+b dengan  a  dan  b  adalah polynomial  yang  dijumlahkan  dan  d merupakan  polynomial  hasil. Tentunya kita harus ingat bahwa syarat penambahan dua  buah  polynomial  adalah  ukuran  dari kedua polynomial tersebut harus sama .
Sebagai  contoh,  ,  polynomial  a  = x3  +  2x2  +  3x  +  4  ditambahkan  dengan polynomial
b= x3 + 4 x2 + 9x + 16. >> a=[1 2 3 4]; b=[1 4 9 16]; >> d=a+b
d =
2     6    12    20
Maka  hasilnya  adalah  polynomial    2x3  + 6x2+ 12x + 20.

## PEMBAGIAN DUA BUAH POLINOMIAL
Kalau  perkalian  dua  buah  polynomial dengan fungsi conv, maka dalam pembagian dengan fungsi deconv . Bentuk umum
dalam
Mathlab adalah
[q,r]=deconv(c,b) dengan c sebagai polynomial pembilang, b sebagai polynomial      penyebut,  q  sebagai polynomial hasil, r sebagai sisa hasil bagi.
Sebagai  contoh  masih  dari  polynomial yang lalu.
>  a=[1  2  3  4];  b=[1  4  9  16];c=[1  6  20  50 75 84 64]
Jika polynomial c dibagi b, maka : >> [q,r]=deconv(c,b) q = 1     2     3     4
r =
0     0     0     0     0     0     0
Ini  berarti  hasil  pembagian  polynomial c=[1  6  20  50  75  84  64]  oleh  polynomial b=[1 4 9 16];  adalah polynomial q = [1 2 3 4] atau q= x3 + 2x2 +3x +4 dengan sisa hasil bagi r = 0.
Juga, misalnya polynomial c dibagi oleh a, maka :
>> [k,l]=deconv(c,a) k = 1     4     9    16
l =
0     0     0     0     0     0     0
Ini  berarti  hasil  pembagian  c=[1  6  20  50 75  84  64]  oleh  polynomial    a=[1  2  3  4]; adalah  polynomial  q=[1  4  9  16];  atau  q= x3 + 4x2 +9x + 16 dengan sisa hasil bagi r = 0.
66

## TURUNAN POLINOMIAL
Turunan  polynomial dapat langsung
diturunkan dengan fungsi polyder . Bentuk umum  adalah h=polyder(g) dengan  g adalah  polynomial  awal,  h  hasil  turunan polinomial  Misalkan polynomial g = x6 + 6x5 + 20x4 + 48x3 + 69x2 + 72x + 44, ini dapat ditulis dalam Mathlab sebagai
g=[1 6 20 48 69 72 44]
g =
1     6    20    48  69    72    44 Maka turunan g adalah :
>> h=polyder(g)
h =
6    30    80   144   138    72
yang  ditulis  h  =  6x5  +  30x4  +  80x3  + 144x2 + 138x + 72.

## GRAFIK POLYNOMIAL
>> x=linspace(­1,3);
>> p=[1 4 ­7 ­10]; >> v=polyval(p,x);
>>  plot(x,v),title('x^3  +  4x^2  ­  7x  ­ 10'),xlabel('x')
Polynomial Dalam Mathlab
Gambar : Grafik Polynomial

## PEMBAGIAN ANTARPOLINOMIAL
Dalam pembagian dua buah polynomial  dapat  diatur  sebagai  berikut  : pembilang disebut sebagai
num (numerator)  dan  penyebut  disebut  sebagai den (denominator).  Pembagian  rational polynomial  dapat  dilakukan  oleh  fungsi residue .  Bentuk  umum  dalam  Mathlab adalah
[res,poles,k]=residue(num,den) dengan  res  sebagai  hasil    polynomial pembilang, poles sebagai hasil polynomial penyebut,  k  sebagai  sisa  hasil  bagi,  num sebagai  polynomial  pembilang  awal,  den sebagai polynomial penyebut awal.
Sebagai contoh:
Pembilangnya adalah 10(s + 2) dan penyebutnya adalah (s + 1)(s+ 3)(s + 4). Secara manual ini dapat dihitung sebagai berikut :
10(s + 2) dibagi (s + 1)(s+ 3)(s + 4) hasilnya adalah :
­6.6667/(s+4) + 5/(s + 3) + 1.6667/(s + 1) + 0
Dalam Mathlab, ini diproses sebagai berikut :
>> num=10*[1 2];
>> den=poly([­1;­3;­4]);
68
>> [res,poles,k]=residue(num,den) res = ­6.6667 5.0000 1.6667 poles = ­4.0000 ­3.0000 ­1.0000 k = []
Ini berarti hasilnya adalah :
­6.6667/(s+4) + 5.0000/(s + 3) + 1.6667/(s + 1) + 0
Juga  sebaliknya,    dengan  fungsi residue  juga  dapat  untuk  mencari  fungsi semula, jika diketahui akar­akar persamaan  polinomialnya.  Ini  berarti  jika diketahui  [res,poles,k]  maka  dapat  dicari num  dan  den  dari  polynomial  awalnya. Bentuk  umum  dalam  Mathlab  adalah [n,d]=residue(res,poles,k) Dari  contoh sebelumnya, diketahui :
res = ­6.6667 5.0000 1.6667 poles = ­4.0000 ­3.0000
­1.0000 k = [] maka :
[n,d]=residue(res,poles,k)
n =
­0.0000   10.0000   20.0000
d =
1.0000    8.0000   19.0000   12.0000 roots(d)
ans = ­4.0000 ­3.0000 ­1.0000.
Jadi, fungsi pembilangnya adalah :
n =
­0.0000   10.0000   20.0000 dari num=10*[1 2] dan fungsi penyebutnya adalah :
(s + 1)(s+ 3)(s + 4)
dari  d =
1.0000    8.0000   19.0000   12.0000
roots(d) ans =
­4.0000
­3.0000
­1.0000. Ini sama artinya dengan
>> num=10*[1 2];
>> den=poly([­1;­3;­4]); sama seperti pada persamaan semula.

## TURUNAN DUA BUAH FUNGSI
Fungsi  yang  ada  dalam    Mathlab untuk  tugas  ini    adalah  polyder  dengan bentuk umumnya adalah [b,a]=polyder(num,den) . Misalkan
polynomial  pembilang  adalah    10(s  +  2) dan  polynomial  penyebutnya  adalah    (s  + 1)(s+  3)(s  +  4).  Maka  dalam  Mathlab,  ini dapat dicari turunan dari pembagian fungsi
tersebut dengan cara num=10*[1
2];den=poly([­1;­3;­4]);
>> [b,a]=polyder(num,den)
b =
­20  ­140  ­320  ­260
a =
1    16   102   328   553   456   144
Jadi hasil turunannya adalah :
(­ 20s3 – 140s2 – 320s – 260)/(x6 +16x5 + 102x4 + 328x3 + 553x2 + 456x + 144).

## DAFTAR PUSTAKA
Duane Hanselman & Bruce Littlefield. 1996. Mastering Mathlab . Prentice Hall Int. Inc.