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:
i√a
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:
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:
Post a Comment