Minggu, 08 April 2012

Need for Speed: Most Wanted (NFS:MW)

Pada postingan kali ini, saya akan membahas tentang game yang sering saya mainkan, yaitu Need for Speed: Most Wanted. Game ini pertama kali dirilis oleh Electronic Arts di Amerika Serikat pada 15 November 2005. Permainan ini merupakan bagian dari serial Need for Speed.


Awal cerita dari permainan ini adalah, seorang pembalap yang datang ke kota Rockport untuk balapan dengan geng pembalap liar yang beranggotakan 15 orang bernama "Blacklist" yang juga 15 orang pembalap liar buronan polisi. Setelah beberapa kali balapan dengan member Blacklist, akhirnya pembalap tersebut (karakter yang kita mainkan) bertemu dengan Razor (pemimpin Blacklist) yang akhirnya Razor yang menang dan mengambil mobil karakter yang kita mainkan. Kemudian kita masuk ke dalam game ini dari awal sampai kita mengalahkan semua member Blacklist untuk menyelesaikan game ini.

Razor, Karakter Antagonis Utama dalam Need for Speed: Most Wanted

Terdapat banyak mode permainan dalam Need for Speed: Most Wanted, antara lain circuit race, point-to-point atau sprint race, lap knockout race dan drag race. Selain itu ada mode tambahan yaitu "Tollbooth" dan "Speedtrap". Mode permainan yang lain adalah "Milestone" yaitu kita harus dikejar-kejar oleh polisi sampai kita mendapatkan "bounty" yang telah ditentukan lalu kita keluar dari pengejaran polisi. Mobil yang kita gunakan dalam game ini bermacam-macam mulai dari Volkswagen Golf GTI sampai Porsche Carrerra GT, dan semuanya bisa dimodifikasi sesuai keinginan kita.


Kelebihan dari game ini adalah:
  • Dari segi grafik, tampilan game ini cukup bagus dan detail
  • Pada gameplay, mobil yang kita gunakan bisa dimodifikasi sesuai dengan keinginan kita
  • Game ini memiliki alur cerita yang cukup baik, walaupun game ini bergenre racing
  • Terdapat banyak mode permainan, sehingga kita tidak bosan memainkan game ini

Sedangkan kekurangannya adalah:
  • Tidak ada mode drift race, seperti pada seri NFS sebelumnya
  • Pada mode milestone, terdapat tantangan yang mengharuskan kita untuk mendapatkan bounty yang sangat banyak untuk melanjutkan ke race selanjutnya (yang menurut saya terlalu sulit)
Sekian tulisan dari saya, apabila ada kesalahan saya mohon maaf. Semoga tulisan ini dapat membantu pembaca sekalian.

Selasa, 03 April 2012

Metode dalam Solusi Persamaan Nirlanjar

Dalam persamaan nirlanjar (Nonlinear equation), terdapat dua metode, yaitu metode tertutup dan metode terbuka.
Metode tertutup dalam persamaan nirlanjar antara lain:
  1. Metode Bagidua (Bisection Method)
  2. Metode Regula Falsi
Sedangkan metode terbuka antara lain:
  1. Metode Newton-Raphson
  2. Metode Secant
Software yang digunakan untuk mencari solusi dari persamaan ini adalah dengan Scilab. Scilab adalah software yang memiliki kesamaan fungsionalitas dengan MATLAB, tetapi tersedia untuk diunduh tanpa biaya lisensi. Langsung saja ke program, program ini dibuat untuk mencari solusi dari persamaan f(x) = x^3+2*x^2+10*x-20.

1. Metode Bagidua (Bisection Method)
Listing Program:
function y=f(x)
y=x^3 + 2*x^2 + 10*x - 20;
endfunction
function c=metodebagidua(f, x0, x1, aprox)
i=1;
er(1)=100;
if f(x0)*f(x1) < 0
    a(1)=x0;
    b(1)=x1;
    c(1)=(a(1)+b(1))/2;
    printf('r.\t\t a\t\t b\t\t c\t\t f(c)\t  Error  \n');
    printf('%2d \t %11.6f \t %11.6f \t %11.6f \t %11.6f \n',i,a(i),b(i),c(i),f(c(i)));
    while abs(er(i)) >= aprox
      if f(a(i))*f(c(i))< 0
         a(i+1)=a(i);
         b(i+1)=c(i);
      end
      if f(a(i))*f(c(i))> 0
         a(i+1)=c(i);
         b(i+1)=b(i);
      end     
      c(i+1)=(a(i+1)+b(i+1))/2;
      er(i+1)=abs((c(i+1)-c(i))/(c(i+1)));
      printf('%2d \t %11.6f \t %11.6f \t %11.6f \t %11.6f \t %7.6f \n',i+1,a(i+1),b(i+1),c(i+1),f(c(i+1)),er(i+1));
      i=i+1;
   end
else
   printf(' ');
end
endfunction

Output:

2. Metode Regula Falsi
Listing Program:
function y=f(x)
y=x^3 + 2*x^2 + 10*x - 20;
endfunction

function xn=regulafalsi(f, a1, b1, aprox)
i=1;
ea(1)=100;
if f(a1)*f(b1) < 0
    x0(1)=a1;
    x1(1)=b1;
    xn(1)=x0(1)-f(x0(1))*(x1(1)-x0(1))/(f(x1(1))-f(x0(1)));
    printf('r.\t\t x0\t\t xn\t\t x1\t  Error  \n');
    printf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,x0(i),xn(i),x1(i));
    while abs(ea(i))>=aprox,
      if f(x0(i))*f(xn(i))< 0
         x0(i+1)=x0(i);
         x1(i+1)=xn(i);
      end
      if f(x0(i))*f(xn(i))> 0
         x0(i+1)=xn(i);
         x1(i+1)=x1(i);
      end     
      xn(i+1)=x0(i+1)-f(x0(i+1))*(x1(i+1)-x0(i+1))/(f(x1(i+1))-f(x0(i+1)));
       ea(i+1)=abs((xn(i+1)-xn(i))/(xn(i+1)));
      printf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.7f \n', i+1,x0(i+1),xn(i+1),x1(i+1),ea(i+1));
      i=i+1;
   end
else
   printf(' ');
end
endfunction

Output:

3. Metode Newton Raphson
Listing Program:
function y=f(x)
y=x^3 + 2*x^2 + 10*x - 20;
endfunction

function y=df(x)
y=3*x^2 + 4*x + 10;
endfunction

function xr=newtonraphson(f, x0, aprox);
i=1;
er(1)=1;
xr(1)=x0;
while abs(er(i))>=aprox;
    xr(i+1)=xr(i)-f(xr(i))/df(xr(i));
    er(i+1)=abs((xr(i+1)-xr(i))/xr(i+1));
    i=i+1;
end
printf(' i  \t      xn(i)      Error aprox (i) \n');
for j=1:i;
    printf('%2d \t %11.7f \t %7.6f \n',j-1,xr(j),er(j));
end
endfunction


Output:

4. Metode Secant
Listing Program:
function y=g(x)
y=x^3 + 2*x^2 + 10*x - 20;
endfunction

function pn=metodesecant(x0, x1, aprox)
j=2;
i=1;
pn(1)=x0;
pn(2)=x1;
er(i)=1;
while abs(er(i))>=aprox
   pn(j+1)=(pn(j-1)*f(pn(j))-pn(j)*f(pn(j-1)))/(f(pn(j))-f(pn(j-1)));
   er(i+1)=abs((pn(j+1)-pn(j))/pn(j+1));
   j=j+1;
   i=i+1;
end

printf(' i \t\t pn(i) \t\t Error aprox (i) \n');
printf('%2d \t %11.7f \t\t \n',0,pn(1));

for k=2:j;
printf('%2d \t %11.7f \t %7.8f \n',k,pn(k),er(k-1));
end 
endfunction


Output:

Keterangan:
0.000001 = epsilon (ε)

Kelompok:
Aisyah Syafarirna (54409726)
Hendrawan Ariyono (52409809)
Risma Rahmalia Fitriani (55409765)
Rismayuni (54409667)


Sumber: