Senin, 02 April 2012 0 komentar

Algoritma Metode Pencarian Akar (SAGE:Phyton)

Untuk tugas Rekayasa Komputer kali ini, kami ditugaskan untuk mengubah algoritma dari metode Biseksi (Bagi Dua), Regula falsi , Newton Raphson, dan Secant ke dalam suatu aplikasi matematika tertentu. Aplikasi matematika yang dipakai oleh kelompok kami adalah SAGE.Dengan bahasa bawaannya adalah Pyhton, berikut Algoritma dari metode-metode tersebut:

Metode Bagi Dua
omega=1.5
z_0=1
def f(z): return abs(math.cos(omega*z))-z/z_0   #nilai absolut dari kosinus omega z kurang z/z_0
a=-2
b=1
err=0.00001
n=0
nmax=10000
# Menentukan variabel-variabel float
dos = float(2); err = float(err)
# Sebelum ke algoritma kita mengevaluasi apakah perubahan fungsi mendaftar di ujung
if (f(a)*f(b)<0)&(n<="" span="">
     # Carilah titik tengah pertama
    c=(a+b)/dos
    print 'Akar=',c, '  Nilai=',f(c),'  Iterasi=',n,'   (default)','       Presisi=',err
    while abs(f(c))>err:               # kondisi mutlak bahwa f (root) lebih besar dari kesalahan (perhatikan nilai absolut)
        if f(c)*f(a)<0:                # kondisi ini mengembalikan berbagai baru dengan perubahan tanda
            b=c
        else:
            a=c
        n=n+1                         # iterasi memiliki
        c=(a+b)/dos
    print 'Akar=',c, '  Nilai=',f(c),'  Iterasi=',n
else:
    print 'f(a)=',f(a),'   f(b)=',f(b),'  Iterasi=',n

Output:
Akar= -0.5   Nilai= 1.23168886887   Iterasi= 0    (default)       
Presisi= 1e-05 
Akar= 0.60990524292       Nilai= -2.02227274149e-06           Iterasi= 17


Metode Newton-Rhapson
# newton's method
PRECISION = 10e-5
# x1 = x - f(x)/f'(x)
def newthon_method(x0,fn,fn_d):
 while True:
  x1 = x0 - ((fn(x0))/(fn_d(x0)))
  if abs(x1 - x0) <= PRECISION: return x1
  x0 = x1
  print x0    
# calculate the square sqrt of a number
# f(x) = X^2 - Number
# f'(x) = 2X
def newton_sqrt(num):
 x0 = num/2
 return newthon_method(x0,lambda x: x**2-num,lambda x: 2*x)
newton_sqrt(3214.0)

Output:
804.5
404.247513984
206.099044271
110.846744125
69.9208659915
57.9435579501
56.7056644466
56.6921527424
56.692151132233484

Metode Secant
PRECISION = 0.00001
# x2 = x1 - ((x1-x0)/(fn(x1)-fn(x0)))*fn(x1)
def secant_method(x0,x1,fn):
 while True:
  x2 = x1 - ((x1-x0)/(fn(x1)-fn(x0)))*fn(x1)
  if abs(x2 - x1) <= PRECISION: return x2
  x0 = x1
  x1 = x2
  print x2
# calculate the square sqrt of a number
# f(x) = X^2 - Number
def secant_sqrt(num):
 return secant_method(num/2,num/4,lambda x: x**2-num)
secant_sqrt(3214.0)

Output:
537.0
324.277135397
205.916091836
132.004478363
89.9496774389
67.9769216068
59.0685940696
56.9032377885
56.6964766256
56.6921591697
56.692151132540069

Metode Regula-Falsi

def sign(x):                   # determines the sign of its argument
  if x == abs(x) : return 1    # argument was positive or zero
  else: return -1              # argument was negative

# Solve f = 0 on interval [x1,x2] by interpolation, with tolerances
def interpol_solve(f,x1,x2,ftol,xtol):
  f1 = f(x1)
  if abs(f1) <= ftol : return x1
  s1 = sign(f1)
  f2 = f(x2)
  if abs(f2) <= ftol : return x2
  s2 = sign(f2)
  if s1 == s2 :
    sys.stderr.write("Same sign at %g to %g - exit!\n" % (x1,x2))
sys.exit(1)
  while abs(x2 - x1) > xtol :
    x3 = x2 - f2*(x2 - x1)/(f2 - f1)
    f3 = f(x3)
    if abs(f3) <= ftol : break
    s3 = sign(f3)
    if s3 == s1 :
      (x1,f1) = (x3,f3)            # replace pair (x1,f1) by (x3,f3)
    else :
      (x2,f2) = (x3,f3)            # replace pair (x2,f2) by (x3,f3)
  return x3

def quad(x):    # a simple test function with known zeroes
  return (x - 5.0)*(x - 2.0)

# a simple main to test the regula falsi solver */
root = interpol_solve(quad,1.0,3.0,0.000001,0.000001);
print root

Software : SAGE
 Kelompok 1
- Ahmad Riyanto (54409285)
- Amelia Belinda S (51409093)
- Bobby Elvan (52409442)
- I Putu Ananta (52409540)
- Nadia Riantini (50409541)

Kelas : 3IA01
Universitas Gunadarma

Rabu, 28 Maret 2012 0 komentar

Contoh Program Oracle PL/SQL

PROGRAM 1

Set serveroutput on
Declare
S int;
L int;
Begin
S := 6;
L:=s*s;
Dbms_output.put_line('sisi'||s);
Dbms_output.put_line('luas'||L);
End;

PROGRAM 2

Set serveroutput on
Declare
J int;
Begin
J:=0;
Loop;
J:=j+1;
Dbms_output.put_line('test looping');
exit when j = 10;
end loop;
end;

  
Logika Program :

PROGRAM 1
Set serveroutput on
è  berguna untuk menampilkan output. Jika kata ‘on’ digantikan dengan ‘off’ maka output tidak  akan muncul.
Declare
S int;
L int;
è  untuk mendeklarasikan variable S dan L yang bertipe data integer.
Begin
S:= 6;
L:=s*s;
è artinya variable S memiliki nilai 6 dan variable S diartikan sebagai rumus yang berisikan variable s dikali variable s.
Dbms_output.put_line (‘sisi ‘||s);
Dbms_output.put_line (‘luas ‘||L);
End;
è  perintah untuk mencetak output yang telah dijalankan oleh program. 
Rabu, 21 Maret 2012 0 komentar

INSTALASI OGRE3D

OGRE singkatan dari Object-Oriented Graphics Rendering Engine merupakan salah satu Engine Grafik yang berbasis objek. Dengan menggunakan Ogre kita dapat membuat game dengan  3 dimensi. Ogre menggunakan library atau pustaka Direct3D dan OpenGL. 
Berikut adalah file – file yang sebelumnya harus disiapkan untuk membuat aplikasi 3D dengan library OGRE3D : 
1. Eclipse-CPP ganymede sebagai IDE C++(http://www.eclipse.org/downloads/)
2. MinGW toolbox sebagai GCC opensource compiler (http://sourceforge.net/projects/ogre/files/)Installer GCC(minGW) CDT bekerja dengan GCC, compiler gnu koleksi, awalnya ditulis untuk platform unix (seperti linux atau FreeBSD). Untuk menjalankannya di windows, kita perlu menciptakan lingkungan unix di windows agar gcc dapat berjalan. Ada dua pilihan.  Salah satu pilihan adalah Cygwin, yang hanya menerjemahkan semua sistem unix panggilan ke panggilan sistem windows, yang memungkinkan semua program unix untuk berjalan di windows. Pilihan kedua, kita akan gunakan adalah MinGW. MinGW merupakan kumpulan alat pengembangan linux (seperti compiler dan file header) yang terdiri dari gcc untuk windows.
3. MYSYS sebagai GNU Terminal Environment (http://sourceforge.net/projects/mingw/files/), Tools yang digunakan untuk mengkonfigurasi gcc. MSYS mengkonfigurasikan gcc di bawah platform windows.
4. OGRE3D SDK sebagai rendering engine di OGRE SDK for code  : Blocks + MinGW C++ Toolbox, perlu diperhatikan bahwa kita menggunakan MinGW sebagai C++ compilernya.(http://sourceforge.net/projects/ogre/files/ogre/)
5. JDK for windows (http://download.java.net /jdk7/m5/)
  
Langkah-langkah Penginstalan OGRE :
Pertama kita instal eclipse,Sistem dasar Eclipse akan menampilkan lingkungan pemrograman Java yang dapat ditambahkan untuk bahasa lain. Install Eclipse, untuk praktikum kali ini, user menggunakan Eclipse Helios versi Eclipse IDE untuk C / C++ Developer. User dapat mendownload Eclipse IDE untuk C / C++ Developer, dengan C/C++ Development Tools Plugin sudah termasuk dalam paket installasi. Setelah didownload, extrak file tersebut dan jalankan Eclipse.exe .

Langkah kedua,Install MinGW,Aplikasi ini seluruhnya berada dalam satu direktori. User akan menggunakan C:/mingw sebagai direktori file. Dalam direktori ini terdapat beberapa subdirektori seperti bin dan libs. MinGW terdiri dari beberapa paket distribusi yang masing-masing memiliki file dalam satu atau lebih dari direktori ini. untuk menginstall paket baru, cukup ekstrak ke direktori (misal) C:/mingw. Kemudian user perlu menambahkan direktori ini ke PATH variabel Windows juga, caranya: Klik kanan My Computer – Properties – Advanced – Environmental Variables .Klik Path variable. Klik Edit, Add “;c:\mingw\bin” (tanpa tanda petik) pada Variable value. Tanda kutip ganda digunakan untuk memisahkan direktori yang berbeda.

Langkah ketiga,Install MSYS,Setelah mendownload MSYS.1.0.10.exe maka install ke direktori C:\msys. Skrip instalasi akan meminta anda untuk memberitahukan dimana anda menginstall MinGW. Agar program MSYS dapat dijalankan dimana saja, maka user perlu menambahkan direktori ini ke PATH windows juga. Caranya: Klik kanan My Computer – Properties – Advanced – Environmental Variables.Klik Path variable. Edit, tambahakan “;c\mysys\bin” (tanpa tanda kutip) pada Variable value. Tanda kutip digunakan untuk memisahkan direktori yang berbeda.

Langkah Keempat,Install Ogre SDK, Untuk membuat aplikasi Ogre3D kita harus menginstall OgreSDK. Download OGRE SDK for Code::Blocks + MinGW C++ Toolbox, kemudian install di suatu tempat. Disini user akan menggunakan C:\ogreSDK.
Konfigurasi OGRE SDK pada Eclipse. Buka Eclipse.exe, tentukan workspace atau direktory untuk menyimpan hasil kerja kita nanti. Kemudian pilih menu Window – Preferences  – C/C++ – Environment. Klik Add, isi Variable dengan OgreSDK dan value dengan C:/OgreSDK.

Langkah Kelima, Pembuatan objek baru,buka eclipse, akan terbentuk sebuah folder “workspace” sebagai tempat penyimpanan projek-projek yang kita buat, klik File > New > Project.Lalu C++ > C++ Project,Berilah nama projeknya, misal tesOgre..Dibagian “Project Types” pilih Executable > Empty Project Toolchains pilih MinGW GCC.Klik Next, dan tampil 2 build configurations, Debug dan Release, biarkan keduanya tercheck list.Terakhir klik Finish.

Langkah Keenam,Membangun Konfigurasi, GCC C++ Compiler and MinGW C++ linker memiliki begitu banyak opsi konfigurasi. Kita perlu menyettingnya secara berhati-hati dan berbeda untuk masing-masing Build Configurations (Debug and Release). Caranya, Klik kanan nama project nya yang ada di sebelah kiri > Properties.Pilih C/C++ Build > Settings > Tool Settings. Atur Configuration Pull-Down untuk Release and Debug di bagian tab Tool Settings. Masukkan opsi-opsi dari table di bawah ini ke bagian yang sesuai.
Itulah langkah-langkah yang harus dilakukan untuk melakukan penginstalan OGRE.
 
;