Sunday, 11 May 2014

PEMROGRAMAN MATEMATIKA DASAR

PEMROGRAMAN MATEMATIKA DASAR


2.1.      Pengantar tentang MATLAB
            Sebagaimana telah dijelaskan pada modul sebelumnya, perangkat lunak MATLAB mengintegrasikan kemampuan komputasi, visualisasi dan pemrograman dalam suatu pengerjaan yang mudah, dimana problem dan solusinya dapat diekspresikan dalam notasi matematika yang telah dikenali. Hal ini, membuat MATLAB banyak diaplikasikan dalam berbagai permasalahan teknik. Beberapa penggunaan MATLAB, antara lain adalah:
·                Matematika dan Komputasi
·                Pembuatan Algoritma
·                Pemodelan, Simulasi dan Prototype
·                Analisis Data, Eksplorasi dan Visualisasi
·                Saintifik dan Teknikal Grafik
·                Pembuatan Program Aplikasi dengan Graphical User Interface
            Untuk lebih mempermudah pemahaman, MATLAB dapat dipandang sebagai sebuah kalkulator (alat untuk penghitung). Namun, terjadi peningkatan fungsi-fungsi kalkulator pada MATLAB sebagai berikut:
·                Kalkulator sederhana
·                Kalkulator saintifik
·                Kalkulator program
·                Kalkulator grafik
dimana sebagai kalkulator sederhana, MATLAB mampu mengerjakan permasalahan-permasalahan matematika sederhana, seperti operasi penjumlahan, pengurangan, perkalian, pembagian, perpangkatan dan akar pangkat.
Kemudian, pada MATLAB terjadi peningkatan kemampuannya menjadi kalkulator saintifik. Pada tahap ini, MATLAB mampu menangani problematika matematika yang lebih kompleks, seperti fungsi-fungsi trigonometri yang lengkap, logika, relasi, logaritma, perpangkatan dan akar-akar pecahan, bilangan kompleks dan bilangan dalam bentuk array serta matriks.
Pada tahap berikutnya, selain kemampuan kalkulasi, MATLAB dapat dipandang sebagai kalkulator yang dapat diprogram. Sehingga, dapat menyelesaian masalah matematika yang memerlukan tahapan pemrograman tertentu, seperti manipulasi alur program, pengecekan/pengetesan sebuah nilai dan pembuatan fungsi. Fungsi adalah sebentuk program yang lebih kecil namun dapat dipakai secara berulang. Kemampuan ini membuat MATLAB dapat dipandang sebagai sebuah bahasa pemrograman. Karena berbasiskan bahasa C++, maka MATLAB merupakan bahasa pemrograman tingkat menengah. Sehingga, proses pemrograman bukanlah merupakan persoalan yang memberatkan.

Terakhir, MATLAB dapat dianggap sebagai sebuah kalkulator grafik. Yaitu, kemampuan untuk menampilkan hasil kalkulasinya dalam bentuk visual atau grafik. MATLAB memiliki fasilitas yang memadai dan bervariasi untuk memperlihatkan fitur-fitur grafik secara mudah dan menarik. Selain grafik, tersedia pula fasilitias untuk menganimasikan grafik yang telah dihasilkan.
Disamping itu, MATLAB juga telah mempersiapkan fasilitias khusus, yaitu Graphical User Interface (GUI). GUI adalah fasilitas untuk merancang program dalam bentuk windows, sehingga menjadikan pengguna dapat mengaplikasikan program tersebut dengan mudah, interaktif dan menarik.
Gambar 2.2. Graphical User Interface untuk Program Volume Balok

Terakhir, salah satu keunggulan MATLAB adalah tersedianya fasilitas toolbox untuk berbagai bidang keilmuan. Toolbox merupakan kumpulan fungsi-fungsi khusus yang disediakan MATLAB untuk suatu bidang tertentu. Dengan toolbox ini, problem bidang tersebut akan lebih mudah diselesaikan. Beberapa toolbox yang tersedia antara lain adalah:
·                Control System Toolbox
·                Financial Toolbox
·                Curve Fitting Toolbox
·                Data Acquisition Toolbox
·                Filter Design Toolbox
·                Fuzzy Logic Toolbox
·                Image Processing Toolbox
·                Instrument Controlk Toolbox, dll


2. 2.     Bekerja dengan MATLAB
            Untuk memulai bekerja dengan MATLAB, adalah dengan cara mengklik icon MATLAB . Setelah itu, akan tampil windows MATLAB lengkap, yang terdiri dari 3 (tiga) windows. Windows-windows tersebut adalah: Workspace, Command Window dan Command History. Workspace berisikan variabel-variabel yang telah digunakan oleh MATLAB, lengkap dengan jenis dan kapasitas datanya. Sedangkan Command History adalah windows yang berisikan sejarah instruksi yang telah digunakan. Kedua windows disediakan untuk memudahkan pengguna mengetahui variabel dan instruksi apa saja yang telah digunakan olehnya.
Gambar 2.3. Windows pada MATLAB

Yang menjadi windows utama MATLAB adalah Command Window. Windows ini adalah tempat dimana variabel dan instruksi dituliskan. Pada windows ini pula hasil perhitungan MATLAB ditampilkan. Ciri khas windows ini adalah terdapatnya sebuah prompt >> untuk memberi tanda tempat awal penulisan data atau instruksi. Setelah prompt tersebut, terdapat cursor yang berkedap-kedip. Perintah atau data yang telah dituliskan dapat diedit untuk memberikan perintah atau data terbaru. Untuk memanggil kembali perintah atau data yang telah dituliskan (terdapat pada Command History) dapat dilakukan dengan menggunakan tanda panah (, , , ) dan bantuan mouse.
Gambar 2.3. Command Window

Command Window dapat dianggap sebagai sebuah kertas buram, dimana kalkulasi dapat dilakukan dan hasil dapat ditampilkan. Hasil kalkulasi dan perintah MATLAB pada Command Window akan dikerjakan per baris dan ditampilkan pada baris berikutnya. Sebagai kertas buram, variabel yang telah digunakan dapat dihapus, disimpan dan dipanggil kembali jika diperlukan.
Berikut ini contoh sederhana penggunaan Command Window.
Ahmad berbelanja di sebuah toko. Ia membeli 5 buah pensil seharga Rp 2500/buah, 4 buah penggaris seharga Rp. 5000/buah dan 6 buah penghapus seharga Rp. 2000/buah. Berapa total belanja yang dilakukan oleh Ahmad?

>> pensil = 2500
pensil =
   2500

>> penggaris = 5000
penggaris =
   5000

>> penghapus = 2000
penghapus =
   2000

>> belanja_total = 5*pensil + 4*penggaris + 6*penghapus
belanja_total =
   44500


2.3.      Penulisan Variabel
            Sebagaimana bahasa pemrograman yang lain, MATLAB memiliki aturan pengenai penamaan variabel. Aturan terpentingnya adalah penamaan variabel haruslah merupakan penamaan yang tunggal tanpa terdapat spasi.
            Aturan lain mengenai variabel adalah sebagai berikut:



Aturan Penamaan Variabel

Komentar atau Contoh
Penamaan tunggal, tanpa spasi

Betul: lebarkubus
Salah: lebar kubus
Memiliki sifat sensitif terhadap jenis huruf

Berbeda atara pisang, Pisang, PiSang
Maksimal 31 karakter


Dimulai dengan huruf, dapat diikuiti oleh angka atau underscore

panjang, panjang1, panjang_baru
Tidak boleh menggunakan tanda baca lain

Salah: volume?
Mengenai tanda-tanda baca yang telah digunakan khusus oleh MATLAB, antara lain adalah: ans (answer), pi (bilangan berharga 3.14), inf (infinity), clear (menghapus data) dan lain-lain. Contoh 2.1 diatas memperlihatkan beberapa variabel yang sesuai dengan aturan yang terdapat pada MATLAB.
            Salah satu perbedaan MATLAB dengan bahasa pemrograman yang lain, adalah tidak diperlukannya deklarasi mengenai jenis data. Sehingga, pengguna hanya perlu memberikan harga pada variabel yang akan digunakan.


2.4.      Operasi Matematika Dasar
            Sebagaimana disebutkan diatas, MATLAB dapat dipandang sebagai kalkulator sederhana. Oleh karena itu, terdapat operasi matematika dasar yang dapat digunakan untuk melakukan proses kalkulasinya. Operasi matematika dasar itu adalah:

Operator

Simbol

Contoh
Penjumlahan, a + b

+

5 + 3
Pengurangan, a - b

-

23 – 12
Perkalian, a* b

*

3.14 * 0.8
Pembagian, a ÷

/

75 / 15
Perpangkatan, ab

^

5^2

            Dalam memproses sebuah ekspresi matematika, terdapat aturan untuk melakukan tahapan-tahapannya. Aturan tersebut adalah sebagai berikut: sebuah ekspresi matematika akan dijalankan dari kiri ke kanan, dengan operasi perpangkatan memiliki urutan tertinggi, diikuti oleh perkalian atau pembagian, kemudian diikuti oleh penjumlahan atau pengurangan. Tanda Kurung dapat dipergunakan untuk mempertegas urutan tersebut, jika tedapat keraguan dalam masalah pentahapan ekspresi matematika. Karena, tanda kurung akan mendapatkan prioritas pelaksanaan yang utama.


2.5.      Pemrograman menggunakan M-File
            Untuk program-program sederhana atau untuk pengecekan atas sebuah instruksi, Command Window memang memadai untuk digunakan. Namun, untuk program yang lebih kompleks dan rumit, diperlukan suatu Editor atau tempat penulisan program yang lebih memadai. Dimana, program dapat diedit dengan mudah dan disimpan untuk modifikasi dan dokumentasi lebih lanjut.
MATLAB menyediakan fasilitas tersebut. Program dapat ditulis dan diedit dalam bentuk file, disebut script file. File ini akan disimpan dengan ekstensi *.m. Oleh karena itu, penulisan program dalam bentuk file ini dikenal dengan istilah M-File.
Editor M-File, seperti yang tampak pada Gambar 2.5 di bawah ini,  dapat dipanggil dari Command Window. Program M-File ditulis disini. Kemudian, setelah disimpan dengan nama file tertentu, program dapat  dieksekusi dari Command Window dengan memanggil nama file tersebut.

Gambar 2.5. Editor M-File


Berikut ini adalah sebuah contoh pembuatan program dengan menggunakan M-File. Contoh meliputi program dan pengekseksian programnya.
Sebuah rangkaian listrik sederhana, terdiri dari 3 buah resistor terpasang seri, yaitu R1 = 10 KΩ, R2 = 20 KΩ dan R3 = 30 KΩ dan memiliki sumber tegangan 30 volt. Hitunglah arus, tegangan dan daya dari masing resistor tersebut!
            Program persoalan diatas dituliskan pada M-File Editor sebagai berikut:


  %-------------------------------------------
%Program Penghitungan Tahanan Seri
%Dibuat oleh: Andi Adriansyah
%Ahad, 6 April 2008
%-------------------------------------------

%-------------------------------------------
%Deklarasi
r1 = 10000          ; %Tahanan R1 (ohm)
r2 = 20000          ; %Tahanan R2 (ohm)
r3 = 30000          ; %Tahanan R3 (ohm)
v  = 30             ; %Tegangan Sumber (volt)

%-------------------------------------------
%Deskripsi dan Perhitungan
rtotal  = r1 + r2 + r3      %Total Tahanan Seri (ohm)
i       = v/rtotal          %Arus pada lup seri (Ampere)
v1      = i * r1            %Tegangan pada R1 (volt)
v2      = i * r2            %Tegangan pada R2 (volt)
v3      = i * r3            %Tegangan pada R3 (volt)

p1      = v1 * i            %Daya pada R1 (watt)
p2      = v2 * i            %Daya pada R2 (watt)
p3      = v3 * i            %Daya pada R3 (watt)

Kemudian, program tersebut disimpan dengan nama file: tahanan_seri.m. Setelah itu, eksekusi program dilakukan pada Command Window, dengan menuliskan nama filenya. Maka, akan didapat hasil program sebagai berikut:

>> tahanan_seri
rtotal =
       60000
i =
  5.0000e-004

v1 =
     5
v2 =
    10
v3 =
    15

p1 =
    0.0025
p2 =
    0.0050
p3 =
    0.0075
>> 


semoga bermanfaat buat temen temen semua yang baca, amin 




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 ........