Sunday, 11 May 2014

PEMROGRAMAN MATEMATIKA SAINTIFIK

PEMROGRAMAN MATEMATIKA SAINTIFIK


3.1.      Bilangan Kompleks
            Berbeda dengan kalkulator lainnya, MATLAB memiliki kemampuan untuk mengerjakan ekspresi matematika dalam bilangan kompleks. Bilangan kompleks adalah bilangan yang didapat dari proses pengakaran bilangan negatif. Jika diketahui sebuah bilangan positif, misalnya a, maka akarnya adalah a. Namun, bila bilangan tersebut negatif, maka akarnya adalah -a yang biasa ditulis menjadi:
            ia
dimana i menunjukkan -1, atau bilangan imaginer.
            Secara umum, bilangan kompleks dapat dituliskan sebagai berikut:
A = M.e jθ = a + bi                                                                                          (3.1)
dimana:
M adalah magnitude,  M = (a2 + b2)
θ adalah sudut, θ = tan-1(b/a)
a adalah bilangan real
b adalah bilangan imajiner
i adalah lambang imajiner, i = -1
            Dari penulisan bilangan kompleks diatas, maka MATLAB menyediakan beberapa fungsi untuk dapat melakukan perhitungan bilangan kompleks, yaitu:

Fungsi

Definisi
abs(x)

Absolut, atau magnitued, M
angle(x)

Sudut, θ
real(x)

Komponen bilangan real, a
imag(x)

Komponen bilangan imaginer, b
conj(x)

Konjugasi bilangan kompleks

            Jika dimiliki sebuah bilangan kompleks:
X = 10 + 5i                                                                                                      (3.2)
Maka, harga-harga magnitude, sudut, komponen bilangan real, komponen bilangan imaginer dan konjugasinya dapat ditemukan dengan menggunakan fungsi-fungsi diatas, seperti yang ditunjukkan di bawah ini:

>> X = 10 + 5i
X =
  10.0000 + 5.0000i

>> abs(X)
ans =
   11.1803

>> angle(X)
ans =
    0.4636

>> real(X)
ans =
    10

>> imag(X)
ans =
     5

>> conj(X)
ans =
  10.0000 - 5.0000i

>> 

Berdasarkan hasil tersebut, bilangan kompleks diatas dapat dituliskan dalam bentuk lain, menjadi:
       X = 11.1803 ej0.4636                                                                                         (3.3)
Dengan demikian, kita dapat mengkonversi bentuk penulisan bilangan kompleks dari bentuk pada Persamaan (3.2) menjadi Persamaan (3.3) dan juga sebaliknya. Konversi bentuk penulisan bilangan kompleks ini bermanfaat pada saat penyelesaian masalah yang menggunakan bentuk polar (Rangkaian Listrik dan Medan Elektromagnetik), bidang S (Sistem Kontrol) dan lain-lain.
            Berikut ini adalah contoh pemrograman dalam bilangan kompleks untuk menyelesaikan problem persamaan kuadrat.
Buatlah program rumus penyelesaian persamaan kuadrat dengan menggunakan Rumus ABC!
Jika terdapat sebuah persamaan kuadarat, dengan bentuk seperti di bawah ini:
ax2 + bx + c = 0,                                                                                             (3.4)
maka rumus ABC untuk mendapatkan harga akar-akar diatas adalah sebagai berikut:
                                                                                                           (3.5)
dimana,
            d = b2 – 4ac                                                                                                    (3.6)
maka, programnya adalah:

%Program Penyelesaian Persamaan Kuadarat (ABC)
%Dibuat oleh: Andi Adriansyah
%Ahad, 7 April 2008
%-------------------------------------------

%Deklarasi
%-------------------------------------------
%Persamaan ax^2 + bx + c, dimana:
a = 1            %harga a
b = -5           %harga b
c = 6            %harga c


%Deskripsi dan Perhitungan
%-------------------------------------------
d = b^2 - 4*a*c             %D = diskriminan
x1 = (-b + sqrt(d))/(2*a)   %Akar x1
x2 = (-b - sqrt(d))/(2*a)   %Akar x2

Program diatas, kemudian, disimpan dengan nama file: abc.m. Setelah itu program dieksekusi pada Command Window, sehingga mendapatkan hasil sebagai berikut:

>> abc
a =
     1
b =
    -5
c =
     6

d =
     1

x1 =
     3
x2 =
     2

>> 

Pada hasil diatas, didapat bahwa d adalah bilangan positif, sehingga akar-akarnya persamaan kuadarat adalah bilangan real. Namun, jika harga-harga diubah dengan nilai yang lain, akan didapat hasil yang berbeda, seperti di bawah ini:

>> abc
a =
     1
b =
     2
c =
     6

d =
     1

x1 =
     -1.0000 + 2.2361i

x2 =
     -1.0000 - 2.2361i

Dari contoh diatas, terdapat kesulitan jika diinginkan mengubah nilai-nilai dari a, b dan c. Dimana, pengguna harus mengubah program terlebih dahulu, kemudian menyimpannya dan mengeksekusi kembali pada Command Window. Kesulitan ini dapat dihindari dengan memperbaiki program diatas. Perbaikan dilakukan dengan menambahkan perintah
r = input (’  text ’)
dimana r adalah nama variabel hasil input dari pengguna yang akan disimpan dan text adalah keterangan yang akan ditampilkan ke pengguna. Text (berada dalam tanda kutip) bebas berisi apa saja tergantung kehendak pemrogram. Perintah ini membolehkan pengguna memasukkan harga yang diinginkan pada saat eksekusi program. Program yang telah diubah, ditampilkan berikut ini:

%Program Penyelesaian Persamaan Kuadarat (ABC)dengan input
%Dibuat oleh: Andi Adriansyah
%Ahad, 7 April 2008
%-------------------------------------------

%Deklarasi
%-------------------------------------------
%Persamaan ax^2 + bx + c, dimana:
a = input(‘a = ‘)            % input harga a
b = input(‘b = ‘)            % input harga b
c = input(‘c = ‘)            % input harga c

%Deskripsi dan Perhitungan
%-------------------------------------------
d  = b^2 - 4*a*c            % D = diskriminan
x1 = (-b + sqrt(d))/(2*a)   % Akar x1
x2 = (-b - sqrt(d))/(2*a)   % Akar x2

Maka, setelah program disimpan dengan nama file abc2.m dan dieksekusi akan didapat hasil sebagai berikut:

>> abc2
a = 1
a =
     1

b = 2
b =
     2

c = 10
c =
    10

d =
   -36

x1 =
  -1.0000 + 3.0000i

x2 =
  -1.0000 - 3.0000i
>> 

Pada program diatas, pengguna harus memberikan harga-harga parameter persamaan kuadrat terlebih dahulu. Harga-harga ini diserahkan nilainya kepada pengguna, tanpa harus mengubah programnya. 


3.2.      Fungsi Trigonometrik
Operasi matematika lanjut yang sering dipergunakan adalah fungsi-fungsi trigonometri. Sebagaimana kalkulator saintifik lainnya, MATLAB menyediakan fungsi-fungsi yang dapat bekerja pada sistem trigonometrik. Beberapa fungsi trigonometrik yang terdapat pada MATLAB antara lain adalah:






Fungsi

Definisi

Fungsi

Definisi
sin(x)

Sinus x

asin(x)

Invers sinus x
sinh(x)

Cosinus x

asinh(x)

Invers sinus hiperbolikus
cos(x)

Sinus hiperbolikus

acos(x)

Invers cosinus
cosh(x)

Cosinus hiperbolikus

acosh(x)

Invers cosinus hiperbolikus
tan(x)

Tangen x

atan(x)

Invers tangen x
tanh(x)

Tangen hiperbolikus

atanh(x)

Invers tangen hiperbolikus




atan2(x,y)

Invers tangen kuadran
           
Pada umumnya, proses perhitungan fungsi-fungsi trigonometrik dilakukan dalam satuan derajat (degree). Namun, proses perhitungan fungsi-fungsi trigonometrik dalam MATLAB dikerjakan dalam satuan radian (rad). Oleh karena itu diperlukan kehati-hatian untuk selalu mengkonversi satuan perhitungan dari derajat ke radian dan sebaliknya.
            Berikut ini diberikan contoh penyelesaian masalah matematika dengan memanfaatkan fungsi-fungsi trigonometrik.

Seseorang diminta untuk mengukur tinggi sebuah bangunan, seperti digambarkan pada Gambar 3.1 berikut ini. Jika jarak orang tersebut berdiri ke bangunan, D = 50 m, tinggi orang, h = 2 m, dan sudut dari orang tsb ke puncak bangunan, teta = 60 derajat. Tentukan tinggi bangunan (T) tersebut !

Gambar 3.1. Problem Penentuan Tinggi Gedung dengan Fungsi Trigonometrik

Maka, persoalan tersebut dapat dituliskan programnya, sebagai berikut:


%Program Penyelesaian Tinggi Gedung dengan
%Fungsi Trigonometrik
%Dibuat oleh: Andi Adriansyah
%Ahad, 7 April 2008
%-------------------------------------------

%Deklarasi
%-------------------------------------------
%Harga-harga
D = input('Jarak Orang ke Gedung = ')% meter
h = input('Tinggi Orang = ')         % meter
teta = input('Sudut Pandang ke Gedung = ') % derajat


%Deskripsi dan Perhitungan
%-------------------------------------------
%Konversi dari Derajat ke Radian
teta_rad = (pi/180) * teta          % radian
%Jarak Antara Mata ke Puncak Gedung
H = atan(teta_rad) * D              % meter
%Tinggi Gedung
T = h + H                           % meter

Kemudian, program disimpan dengan nama file: gedung.m. Setelah itu program dieksekusi dengan hasil sebagai berikut:

>> gedung
Jarak Orang ke Gedung = 50
D =
    50

Tinggi Orang = 2
h =
     2

Sudut Pandang ke Gedung = 60
teta =
    60

teta_rad =
    1.0472

H =
   40.4224

T =
   42.4224

>> 

Karena program menggunakan perintah input, maka pengguna dapat mengubah-ubah parameter-parameter persoalan diatas, untuk menguji kehandalan program secara keseluruhan.
3.3.      Fungsi Matematika Lainnya
            Selain fungsi trigonometrik, MATLAB juga menyediakan fungsi-fungsi matematika lainnya. Fungsi-fungsi tersebut adalah:



Fungsi

Definisi

Fungsi

Definisi
exp(x)

Eksponensial, e

ceil(x)

Pembulatan ke atas
log(x)

Logaritma Natural

fix(x)

Pembulatan ke bawah
log2(x)

Logaritma Basis 2

floor(x)

Pembulatan ke bawah
log10(x)

Logaritma Basis 10

round(x)

Pembulatan normal
sqrt(x)

Akar Kuadrat

rem(x)

Sisa pembagian




lcm(x)

Kelipatan Persekutuan Kecil




gcd(x)

Faktor Persekutuan Besar

semoga bermanfaat ........

No comments: