Selasa, 29 Mei 2012

MODUL PRAKTIKUM MATLAB


BAB I
PENDAHULUAN


1.1       Pengenalan MAPLE dan MATLAB
MAPLE dan MATLAB merupakan bahasa pemrograman komputer tingkat tinggi yang biasa digunakan untuk teknik komputer. MAPLE dan MATLAB menggabungkan komputasi, visualisasi, dan pemrograman dimana penggunaannya sanggat mudah karena permasalahan dan solusi yang dihasilkan dinyatakan dalam bentuk notasi matematika yang biasa dikenal secara umum.
            MAPLE dan MATLAB merupakan kependekan dari matrix laboratory. Tipe data dalam MAPLE dan MATLAB berupa array sehingga tidak perlu lagi inisiasi untuk dimensi array. Dan ini berguna untuk menyelesaikan bermacam-macam permasalahan teknik komputer terutama dalam formulasi matriks atau vektor.
            Pada saat pertama kali masuk ke dalam aplikasi MAPLE dan MATLAB  maka akan tampak tiga bagian, yaitu :
1.      Command Window : Bagian untuk menuliskan syntax baik berupa variabel, fungsi, atau M-file scripts.
2.      Command History : Bagian untuk menyimpan semua syntax yang pernah di run pada command window.
3.      Current Directory : Bagian yang menunjukan folder yang berkaitan.

1.2       MAPLE dan MATLAB  Sebagai Kalkulator
            MAPLE dan MATLAB  dapat digunakan sebagai sebuah kalkulator, dengan munuliskan perintah atau syntax pada >> di command window, seperti berikut ini
>> 1 + 1
Dan dengan menekan tombol enter maka akan dipeoleh hasil sebagi berikut
>> ans =
2


>> 3 * 4
>> ans =
                  12
          









































BAGIAN PERTAMA: PROGRAM APLIKASI MAPLE



MODUL  I

Penulisan Vektor dan Matriks
Operasi Baris Elementer
















BAB II


MATRIKS


2.1       Penulisan Vektor dan Mtriks

            Dalam Maple, untuk menggunakan fungsi matriks, digunakan paket dari Maple, yaitu linalg.
with(linalg):

Untuk mendeklarasikan matriks :
-          matrix(baris, kolom, [input]);
cth : matrix(2,3,[1,2,3,4,5,6]);
-          Matrix([[input baris 1],[input baris 2], ......., [input baris n]]);
cth : Matrix([1,2,3],[4,5,6]);

Untuk operasi dalam matriks digunakan fungsi evalm:
Misalkan ada matriks A dan B.
A:= matrix(3,3,[1,2,3,4,5,6,7,8,9]);
B:= Matrix([9,8,7],[4,5,6],[3,2,1]);
-  Penjumlahan :
            evalm(A+B);
-  Perkalian :
            - evalm(A&*B);
            - multiply(A,B);

Untuk mencari invers suatu matriks, digunalan fungsi inverse.
            inverse(A);
Untuk mencari determinan suatu matriks, digunalan fungsi det.
            det(A);
Untuk mencari transpose suatu matriks, digunalan fungsi transpose.
            transpose(A);

Untuk menggabungkan 2 matriks:
            -  augment(A,B);
            -  linalg[concat](A,B);

Untuk mengambil bagian dari matriks, digunakan fungsi submatrix.
            submatrix(matriks,baris,kolom);
            cth : submatrix(A,1..3,1..2);

Untuk mereduksi ke bentuk matriks eslon tereduksi :
-          gaussjord(A);
-          rref(A);


2.2       Operasi Baris Elementer

         Paket linalg dapat digunakan dalam operasi baris elementer. Elemen-elemen dalam operasi baris elementer seperti tukar baris, pengurangan antar baris, atau perkalian skalar sudah tersedia di dalam paket ini.

         Perintah-perintah tersebut antara lain :
-          matrix(baris, kolom, [input]);        //deklarasi matriks
-          vector([v1,v2,v3,…vn]);               //deklarasi vektor
-          concat(m1,m2,m3,…mn);             //menggabungkan matriks
-          scalarmul(m,n);                              //perkalian skalar pada matriks
-          swaprow(m,c1,c2);                        //tukar baris
-          stackmatrix(m1,m2,m3,…,mn);//menumpuk matriks secara vertikal
-          linsolve(m,v);                                //mencarisolusi matriks


Contoh :

> restart:
> with(linalg):
> a := matrix(3, 3, [1, 2, 3, 4, 5, 6, 17, 8, 9]);
> v := vector([3, 7, 9]);
> c := concat(a, v);
> c := stackmatrix(row(c, 1), evalm(row(c, 2)-scalarmul(row(c, 1), 4)), row(c, 3));
> c := stackmatrix(row(c, 1), row(c, 2), evalm(row(c, 3)-scalarmul(row(c, 1), 17)));
> c := stackmatrix(row(c, 1), scalarmul(row(c, 2), -1/3), scalarmul(row(c, 3), -1/26));
> c := stackmatrix(evalm(row(c, 1)-scalarmul(row(c, 2), 2)), row(c, 2), evalm(row(c, 3)-row(c, 2)));
> c := stackmatrix(row(c, 1), row(c, 2), scalarmul(row(c, 3), -13/5));
> c := stackmatrix(evalm(row(c, 1)+row(c, 3)), evalm(row(c, 2)-scalarmul(row(c, 3), 2)), row(c, 3));
> x1 := submatrix(c, 1 .. 1, 4 .. 4);
> x2 := submatrix(c, 2 .. 2, 4 .. 4);
> x3 := submatrix(c, 3 .. 3, 4 .. 4);
> z := evalm(x1+x2+x3);
> b := linsolve(a, v);
>
















BAGIAN PERTAMA: PROGRAM APLIKASI MAPLE



MODUL II


Tutor Operasi Baris Elementer



















2.3      Tutor Operasi Baris Elementer

            Dalam maple  versi terbaru terdapat satu fitur untuk menyelesaikan operasi baris elementer.
Paket yang digunakan yaitu :
 with(Student[LinearAlgebra]):

Lalu perintah yang digunakan :
LinearSloveTutor():

Akan terdapat pilihan :
Misal dipilih Gauss Jordan Elimination






Keterangan gambar :
-          Edit Matrix           : Untuk menentukan Matrix dengan tombol display untuk update.
-          Pada bagian kiri terdapat panel-panel :
-          Add multiple        : menjumlahkan baris
-          Multiply               : perkalian baris
-          Swap                     : tukar baris

-          Untuk mode otomatis, gunakan tombol :
-          Next step              : proses satu langkah
-          All steps               : proses semua langkah
























-          Setelah terbentuk eslon baris, maka tombol “Solve System of Equations” bisa digunakan.
-          Gunakan tombol “Equation”dan “Solution” untuk melihat solusi dari matriks

-           














BAGIAN PERTAMA: PROGRAM APLIKASI MAPLE


MODUL III

Optimization























2.4      Optimization

            Dengan menggunakan Maple, kita bisa lebih mudah untuk menentukan sebuah solusi dalam pemrograman linier. Dengan menggunakan fungsi Optinization, kita bias mencari variable keputusan dan nilai tujuan.

2.4.1 Bentuk umum :

Optimization[a][b];
- a :  nilai indeks (Maximize, Minimize, LPSolve, Interactive)
- b : fungsi kendala

untuk maksimum :
-         Bentuk umum :
Optimization[Maximize](fungsi tujuan,[kendala1, kendala2, …], batasan1, batasan2,…);
-         Contoh :
Maksimumkan 8x + 6y
Kendala :       4x + 2y <= 60
                        2x + 4y <= 48
                        x >= 0
                        y >= 0
Perintah di Maple :
Optimization[Maximize](8*x+6*y,[4*x+2*y<=60,2*x+4*y<=48],x=0..infinity,y=0..infinity);
Hasil yang didapat :
             [132., [x = 12., y = 6.]]
Nilai tujuan : 132
Variabel keputusan : x = 12, y = 6

           
untuk minimum :
-         Bentuk umum :
Optimization[Minimize](fungsi tujuan,[kendala1, kendala2, …], batasan1, batasan2,…);



2.4.2  LPSolve

            Dengan menggunakan LPSolve, maksimum atau minimum bias kita pilih. Misal dengan contoh pada maksimum. Ketika kita menggunakan nilai indeks LPSolve, maka perintah di Maple menjadi:
Optimization[LPSolve](8*x+6*y,[4*x+2*y<=60,2*x+4*y<=48],x=0..infinity,y=0..infinity,maximize);


2.4.3  Interactive

            Dengan menggunakan Interactive, kita bias menggunakan layanan Maple untuk menyelesaikan suatu program linier.
Perintah :

Optimization[Interactive]();
Maka akan muncul tampilan :

Pada Method, pilih Linier Programming.
Pada Option, menyesuaikan dengan apa yang akan dicari. Apakah maksimum atau minimum.
Objective function adalah fungsi tujuan.
Constrain and Bound adalah kendala dan batasan.

Misal kita akan menyelesaikan contoh maksimum di atas.
-         Pada Option, pilih maximize
-         Masukkan fungsi tujuan melalui tombol Edit pada Objective Function






Untuk menginputkan fungsi kendala, gunakan tombol Edit pada Constraints and Bounds.
-         Add constraints untuk menambah fungsi kendala, klik Add untuk menambahkan fungsi kendala
-         Add bounds untuk menambah batasan, klik Add untuk menambah batasan
-         Klik Done jika sudah.
-         Maka akan muncul tampilan awal
-         Klik Solve untuk memunculkan solusinya
-         Pada On Quit, kita bisa menentukan apa yang akan ditampilkan di Maple ketika keluar dari Optimization Assistant ini. Apakah itu solusi, perintah Maple, spesifikasi masalah, ataupun tidak ada yang akan ditampilkan.







2.4.4 MAPLETS
2.4.4 MAPLETS
                                                        
Menampilkan sebuah window dengan maplet.
> restart:
> with(Maplets[Elements]):
> Maplets[Display](Maplet(["Halo dunia!!"]));

Tombol (Button)
Sebuah Button didefinisikan dengan menggunakan elemen Button, yang
mengandung dua bagian informasi:
Teks dalam button
Aksi yang dilakukan ketika tombol di klik.
Contoh berikut Maplet mengakses elemen Shutdown tanpa suatu argumen ketika diklik.
> restart:
> with(Maplets[Elements]):
> maplet2a:=Maplet([["Apa Kabar...",
Button("Oche deh",Shutdown())]]):
> Maplets [Display](maplet2a);
Judul (Title)
> with(Maplets[Elements]):
> maplet3:=Maplet(Window('title'="judul",
["Hello…",Button("OK",Shutdown())])):
Input Output
Dua input field TF1 dan TF2
Satu output dengan menggunakan TeksBox TB1 yang tingginya 3dan lebar 40.
agar user tidak diijinkan untuk mengedit output, gunakan option not editable
> restart;
> with(Maplets[Elements]):
> maplet5 := Maplet( Window( 'title'="5th",
[["Integrand: ", TextField['TF1']()],
["Variable of Integration: ",
TextField['TF2'](3)],
TextBox['TB1']('editable' = 'false', 3..40 ),
[Button("Integrate",
    Evaluate('TB1' = 'int(TF1,TF2)')),
 Button("OK", Shutdown(['TF1', 'TF2', 'TB1'])),
 Button("Clear", SetOption('TF1' = ""))]
] ) ):
Maplets[Display]( maplet5 );



MathML Viewer

Element MathViewer menampilkan MathML.
> Maplets[Display]( Maplet(
[ "Enter some expression to display in MathML:",
TextField['TF1'](),
MathMLViewer['MMLV1']( 'value' = x^2 ),
[Button("Display",
Evaluate( 'MMLV1' =
'MathML[Export](TF1)' ) ),
Button("OK", Shutdown())]
] ) );














RunWindow

> restart;
> with(Maplets[Elements]):
maplet := Maplet('onstartup' = 'A1',
Window['W1']('title' = "Select Method",
'layout' = 'BL0'),
BoxLayout['BL0'](
BoxColumn(
BoxRow("Select a method"),
BoxRow(
Button("Differentiation",
RunWindow('W2')),
Button("Integration", RunWindow('W3'))
)
)
),
Window['W2']('title'="Differentiation", [
[
"Enter an expression:",
TextField['TF1']()
],
[Button("Differentiate with respect to x",
Evaluate('TF1' = 'diff(TF1, x)')),
Button("Exit", Shutdown(['TF1']))
]
]),
Window['W3']('title'="Integration", [
[
"Enter an integrand:",
TextField['TF2']()
],
[
Button("Integrate with respect to x",
Evaluate('TF2' = 'int(TF2, x)')),
Button("Exit", Shutdown(['TF2']))
]
]),
Action['A1'](RunWindow('W1'))
):
Maplets[Display](maplet);
RadioButton
Memiliki sebuah nilai true atau false.
> Maplets[Display]( Maplet(
[ [RadioButton['RB1']( "1st", true, 'group' = BG1 ),
RadioButton['RB2']( "2nd", 'group' =
'BG1' )],
[Button("OK", Shutdown(['RB1', 'RB2']))]
], ButtonGroup['BG1']() ) );

Contoh
Kalkulator
> restart;
> with(Maplets[Elements]):
> calc := Maplet(Window('title' = "Kalkulator",
  [
  [TextField['TF1']('width' = 10),TextField['TF2']('width' = 10), " = ",
  TextField['TF3']('editable' = 'false','width' = 10)],
  [Button("+",Evaluate('TF3' = 'TF1' + 'TF2')),
   Button("-",Evaluate('TF3' = 'TF1' - 'TF2')),
   Button("*",Evaluate('TF3' = 'TF1' * 'TF2')),
   Button("/",Evaluate('TF3' = 'TF1' / 'TF2')),
   Button("^",Evaluate('TF3' = 'TF1' ^ 'TF2'))
   ],
   [Button("Quit",Shutdown(['TF3']))]
  ]
  )):
  Maplets[Display](calc);

































BAGIAN II : PROGRAM APLIKASI MATLAB


MODUL IV
Penulisan Vektor dan Matriks





















BAB III
MATRIKS

3.1.            Penulisan Vektor Dan Matriks
            Pada Bagian I telah disebutkan bahwa type data pada MATLAB berbentuk array sehingga berguna untuk menyelesaikan permasalahan yang berbentuk vektor atau matriks. Pada bagian ini akan dijelaskan mengenai cara penulisan vektor dan matriks pada MATLAB.

3.1.1    Penulisan Vektor
            Penulisan vektor dalam MATLAB dapat ditulis sebagai berikut
>> a = [1,2,3,4]
Dan setelah menekan tombol enter akan diperoleh hasil sebaga berikut
>> a =
                  1          2          3          4
Atau dapat pula menuliskan bentuk vektor sebagai berikut
>> b = [1 2 3 4]
>> b =
                        1          2          3          4
Untuk menuliskan vektor dalam bentuk kolom dapat ditulis sebagai berikut
>> c = [1;2;3]
>> c =
                        1
                        2
                        3
Atau dapat ditulis dengan bentuk seperti ini
>> d = [1
2
3]
>> d =
                        1
                        2
                        3
Untuk penulisan dengan bentuk ini setiap kali akan pindah baris terlebih dahulu menekan tombol shift+enter. Dalam MATLAB juga terdapat syntax untuk mengetahui jumlah element dalam suatu vektor, berikut ini adalah syntax-nya
>> a = [1,2,3]; % penulisan “;” tidak menampilkan hasil
>> length(a)
>> ans =
                  3
Sedangkan untuk menampilkan element ke-i dari suatu vektor dapat ditulis syntax sebagai berikut
>> a = [1,2,3];
>> a(1)   % menampilkan element ke-1 vektor a
>> ans =
                  2
>> a(2:3) % menampilkan element ke-2 s.d ke-3 vektor a
>> ans =
                  2          3
      Di samping penulisan vektor secara manual seperti di atas, berikut ini adalah cara penulisan vektor khusus,
>> x = a:h:b;
Dimana
a : menunjukan nilai awal
h : step size
b : nilai akhir
berikut adalah contoh penggunaannya
>> x = 1:2:9
>> x =
                  1          3          5          7          9
Dapat pula penulisannya seperti ini, dengan step size otomatis satu
>> x = 1:9
>> x =
      1          2          3          4          5          6          7          8          9
3.1.2    Operasi Aritmatika Vektor
            Dalam mengoperasikan dua vektor maka harus diperhatikan bahwa dua vektor akan dapat dioperasikan jika memiliki ukuran yang saling bersesuaian. Berikut ini adalah operasi yang dapat dilakukan terhadap vektor
a.       Penjumlahan dua vektor
>> a = [1 2 3];
>> b = [3 4 5];
>> c = a+b
>> c =
            4          6          8
b.      Pengurangan dua vektor
>> d = a-b
>> d =
            -2         -2         -2
c.       Perkalian setiap unsur yang bersesuaian
>> e = a.*b
>> e =
            3          8          15
d.      Perkalian vektor dengan skalar
>> f = 2*a
>> f =
            2          4          6
e.       Dot Product
>> g = dot(a,b)
>> g =
            26
f.        Cross Product
>> h = cross(a,b)
>> h =
            -2         4          -2



3.1. 2   Penulisan Matriks
            Penulisan matriks dalam MATLAB tidak berbeda dengan penulisan vektor, karena vektor sendiri merupakan matriks yang hanya terdiri dari satu baris atau kolom. Berikut ini adalah beberapa cara penulisan matriks dalam MATLAB
>> A = [1 2 3; 4 5 6]
>> A =
                        1          2          3
                        4          5          6
Matriks A merupakan matriks yang terdiri dari dua baris dan tiga kolom, setiap kolom dipisahkan oleh spasi (“  ”) atau koma (“ , “) dan setiap baris dipisahkan oleh tanda titik koma (“ ; ”). Cara penulisan lain
>> B = [1 2 3
4 5 6]
>> B =
                        1          2          3
                        4          5          6
Untuk penulisan dengan bentuk ini setiap kali akan pindah baris terlebih dahulu menekan tombol shift+enter. Dalam MATLAB juga terdapat syntax untuk membentuk matriks-matriks khusus seperti matriks identitas, matriks nol, matriks satu. Berikut ini adalah perintahnya
>> eye(n) % menampilkan matriks identitas
>> eye(n,m) % matriks nxm dengan unsur diagonalnya satu
>> zeros(n,m) % matriks nxm dengan semua unsurnya nol
>> ones(n,m) % matriks nxm dengan semua unsurnya satu
            Untuk mengetahui ukuran suatu matriks dapat digunakan syntax sebagai berikut ini
>> [row,col] = size(A)
Berikut adalah contoh penggunaannya
>> A = [4 1 5; 6 3 7];
>> size(A)
>> ans =
                  2          3
>> [row,col] = size(A)
>> row =
                  2
>> col =
                  3
            Untuk menampilkan elemen pada baris ke-i dan kolom ke-j atau memanggil submatriks dari suatu matriks dapat digunakan syntax sebagai berikut ini
>> A = [4 1 5; 6 3 7];
>> A(2,1)
>> ans =
                        6
Atau dengan syntax berikut
>> A(2,:) % menampilkan semua unsur pada baris ke-2
>> ans =
                        6          3          7
>> A(1:2,2) % menampilkan unsur baris 1 s.d 2, kolom 2
>> ans =
                        1
                        3

3.2       Operasi Aritmatika Matriks
Dalam mengoperasikan dua matriks maka harus diperhatikan bahwa dua matriks akan dapat dioperasikan jika memiliki ukuran yang saling bersesuaian. Berikut ini adalah operasi yang dapat dilakukan terhadap matriks
a.       Penjumlahan matriks
>> A = [1 0 2; 3 7 4];
>> B = [9 3 0; 1 6 2];
>> C = A+B
>> C =
            10        3          2
            4          13        6
b.      Pengurangan matriks
>> D = A-B
>> D =
            -8         -3         2
            2          1          2
c.       Perkalian matriks
>> E = A*B
>> E =
??? Error using ==> mtimes
Inner matrix dimensions must agree.
            Perkalian antara matriks A dan matriks B tidak dapat dioperasikan kerena ukuran kolom matriks A tidak sama dengan ukuran baris kolom B.
d.      Matriks transpose
>> F = A’
>> F =
            1     3
     0     7
     2     4
e.       Determinan matriks
>> g = det(B)
>> g =
            ??? Error using ==> det
Matrix must be square.
            Matriks B bukan merupakan matriks persegi sehingga tidak memiliki determinan.
f.        Invers matriks
>> H = inv(B)
>> H =
            ??? Error using ==> inv
Matrix must be square.
Matriks B bukan merupakan matriks persegi sehingga tidak memiliki invers.
3.3       Penyelesaian Sistem Persamaan Linear

            Pada bagian ini akan dibahas mengenai cara menyelesaikan sistem persamaan linear dengan menggunakan syntax yang ada dalam MATLAB.

3.3.1    Sistem Persamaan Linear
           
            Berikut ini adalah bentuk sistem persamaan linear

(3.1)


Persamaan (3.1) dapat dinyatakan dalam notasi matriks sebagai berikut
(3.2)
Dimana A adalah matriks koefisien dan b adalah vektor ruas kanan, dan x adalah variabel keptusan yang akan ditentukan nilainya.
            Untuk menyelesaikan sistem persamaan linear di atas dapat digunakan operasi baris elementer, berikut ini adalah cara menyelesaikan sistem persamaan linear dengan menggunakan operasi baris elementer pada MATLAB. Akan dicari penyelesaian dari persamaan berikut

(3.3)

Tuliskan matriks koefisien A dan vektor ruas kanan b dalam command window sebagai berikut

>> A = [2 3 -3; 3 -2 5; 1 2 1];
>> b = [7;7;7];

Gabungkan matriks koefisien dan vektor ruas kanan menjadi matriks lengkap

>> sys = [A b];
>> sys =
                  2     3    -3     7
     3    -2     5     7
     1     2     1     7

Berikut ini adalah tahapan operasi elementer terhadap matriks sys, hasil akhir yang dinginkan adalah merubah matriks sys menjadi matriks eselon baris tereduksi.



>> sys(1,:)=sys(1,:)/2
>> sys =
1.0000    1.5000   -1.5000    3.5000
3.0000   -2.0000    5.0000    7.0000   
1.0000    2.0000    1.0000    7.0000
>> sys(2,:) = sys(2,:)-3*sys(1,:);
>> sys(3,:) = sys(3,:)-sys(1,:)
>> sys =
                        1.0000    1.5000   -1.5000    3.5000
     0   -6.5000    9.5000   -3.5000
                 0     0.5000    2.5000    3.5000
>> sys(2,:) = sys(2,:)/-6.5
>> sys =
                        1.0000    1.5000   -1.5000    3.5000
                 0    1.0000   -1.4615    0.5385
                 0    0.5000    2.5000    3.5000
>> sys(3,:) = sys(3,:)-0.5*sys(2,:)
>> sys =
                        1.0000    1.5000   -1.5000    3.5000
               0    1.0000   -1.4615    0.5385
               0         0    3.2308    3.2308
>> sys(3,:) = sys(3,:)/sys(3,3)
>> sys =
                        1.0000    1.5000   -1.5000    3.5000
               0    1.0000   -1.4615    0.5385
               0         0    1.0000    1.0000
>> sys(2,:) = sys(2,:)-sys(2,3)*sys(3,:);
>> sys(1,:) = sys(1,:)-(-1.5)*sys(3,:)
>> sys =
1.0000 1.5000          0    5.0000
               0       1.0000          0    2.0000
               0            0     1.0000    1.0000
>> sys(1,:) = sys(1,:)-1.5*sys(2,:)
>> sys =
            1     0     0     2
            0     1     0     2
            0     0     1     1

            Berdasarkan hasil perhitungan operasi baris elementer terhadap sistem persamaan linear (3.3) dengan menggunakan MATLAB diperoleh hasil ,  dan . Di dalam MATLAB terdapat syntax khusus yang dapat digunakan untuk menyelesaikan sistem persamaan linear (3.3), tetapi terlebih dahulu harus dilakukan penyesuaian penulisan dalam menggunakan syntax ini, berikut ini adalah syntax yang dapat digunakan
>> linsolve(A,b)
Dimana A adalah matriks koefisien dan b adalah ektor ruas kanan. Pada sistem persamaan linear (3.3) berikut adalah matriks A dan vektor b

>> A = [2 3 -3; 3 -2 5; 1 2 1];
>> b = [7;7;7];
>> x = linsolve(A,b)
>> x =
2.0000
      2.0000
      1.0000
Selain syntax linsolve dapat juga digunakan syntax berikut
>> x = A\b
atau
>> x = inv(A)*b















BAGIAN  KEDUA: APLIKASI PROGRAM MATLAB


MODUL V

Penyelesaian Permasalahan Pemrograman Linear

























BAB IV


PENYELESAIAN PERMASALAHAN PEMROGRAMAN LINEAR



Pada bagian ini akan dibahas cara menyelesaikan permasalahan Pemrograman Linear menngunakan syntax khusus yang terdapat dalam MATLAB.

4.1       Pemrograman Linear
           
            Pemrograman Linear berhubungan dengan pengoptimalan (dapat berupa maksimasi atau minimasi) sebuah fungsi linier yang memenuhi suatu persamaan atau pertidaksamaan pembatas. LP secara umum berkaitan dengan pengalokasian sumber daya yang terbatas untuk memperoleh hasil yang optimal. Permasalahan LP dapat ditulis dalam bentuk standar sebagai berikut

min  
s.t            
        
(4.1)

Dimana z adalah fungsi tujuan, A adalah matriks teknologi, x adalah variabel keputusan, dan b adalah vektor ruas kanan.

4.1.1    Penyelesaian Permasalahan Pemrograman Linear
            Untuk menyelesaikan bentuk permasalahan pemrograman linear (4.1) di dalam MATLAB tersedia syntax sebagai berikut,
>> [x,fval] = linprog(c,A,b,Aeq,beq,lb,ub);
Dimana
x                : nilai dari varable keputusan
fval            : nilai fungsi tujuan
c                : koefisien fungsi tujuan
A               : matriks koefisien persamaan pembatas
b                : vektor ruas kanan persamaan pembatas
Aeq           : matriks koefisien pertidaksamaan pembatas
Beq            : vektor ruas kanan pertidaksamaan pembatas
lb               : batas bawah untuk variabel keputusan
ub              : batas atas untuk variabel keputusan
Berikut ini adalah penggunaan syntax linprog untuk menyelesaikan permasalahan pemrograman linear, perhatikan permasahan pemrograman linear berikut ini,
min           
s.t               3
                 
                 
                   
(4.2)
CATATAN : dalam MATLAB jenis optimisasi syntax linprog adalah minimisasi dan fungsi pembatas bertanda , ketika jenis optimisasi maksimisasi maka fungsi tujuan c harus dikalikan dengan negatif “ ” dan ketika tedapat pembatas dengan tanda lebih besar sama dengan “ ” maka harus dikalikan dengan negatif “ ” agar tandanya berubah menjadi lebih kecil sama dengan “ ’.
Dari permasalahan pemrograman linear (4.2) diperoleh
Dan pada command window MATLAB dapat dituliskan sebagai berikut
>> c = [2;1];
>> A = [-4 -3; 1 2];
>> b = [-4; 3];
>> Aeq = [3 2];
>> beq = [3];
>> lb = [0;0];
>> ub = [inf;inf];
>> [x,fval] = linprog(c,A,b,Aeq,beq,lb,ub)
>> x =
      0.0000
      1.5000
   fval =
      1.5000















BAGIAN KEDUA: APLIKASI PROGRAM MATLAB


MODUL VI

Membuat Grafik Fungsi
























BAB V


MEMBUAT GRAFIK FUNGSI



Pada bagian ini dibahas mengenai cara membuat grafik fungsi dengan menggunakan syntax yang ada pada MATLAB. Bagian ini terdiri atas membuat grafik dua dimensi, membuat grafik tiga dimensi.

5.1       Membuat Grafik Fungsi Dua Dimensi
           
Perhatikan fungsi kuadrat di bawah ini

     
(5.1)

      Untuk membuat grafik fungsi pada persamaan (5.1) MATLAB memiliki beberapa syntax yang dapat digunakan yaitu plot dan fplot. Berikut ini adalh penulisan syntax pada command windows

>> plot(x,y,’LineSpec’);

Untuk menggunakan syntax plot terlebih dahulu harus didefinisikan domain x , berikut penggunaan syntax plot

>> x = 1:1:10  % domain x, 1-10 dengan stepsize 1
>> x =
                  1          2          3          4          5          6          7          8          9          10
>> y = x.^2  % setiap elemen x dipangkatkan 2
>> y =
                  1          4          9          16        25        36        49        64        81        100
>> plot(x,y,’-ro’)  % grafik dengan garis warna
 

Sedangkan untuk menggunakan syntax fplot rentang nial x tidak didefinisiakn terlebih dahulu, berikut ini adalah penulisan syntaxnya
>> fplot(fun,limits,’LineSpec’);
Berikut adalah contoh penggunaannya
>> fplot(@(x)x^2,[-10 10 -5 100],’-.bo’);

Berikut ini adalah spesifikasi garis ang dapat digunakan

Specifier
Color

Specifier
Market Type
r
Red

+
Plus sign
g
Green

o
Circle
b
Blue

*
Asterisk
c
Cyan

.
Point
m
Magenta

x
Cross
y
Yellow

s
Square
k
Black

d
Diamond
w
white

^
Upward-pointing triangel



v
Downward-pointing triangel
Specifier
Line Style

Right-pointing triangel
-
Solid line

Left-pointing triangel
--
Dashed line

p
Five-pointed star (pentagram)
:
Dotted line

h
Six-pointed star (hexagram)
-.
Dash-dot line




5.2       Membuat Grafik Fungsi Tiga Dimensi

            Perhatian fungsi dua peubah berikut di bawah ini

     
(5.2)

Untuk membuat grafik 3D fungsi pada persamaan (5.2) MATLAB memiliki beberapa syntax yang dapat digunakan yaitu plot3, mesh dan surf. Berikut ini adalah cara penggunaan syntax untuk membuat grafik 3D,

>> [x,y] =  meshgrid(-10:0.25:10); % domain x dan y
>> z = x.^2+y.^2; % mendefinisikan fungsi z
>> plot3(x,y,z); % membuat grafik dengan plot3
>> mesh(x,y,z); % membuat grafik 3d dengan mesh
>> grid on;
>> surf(x,y,z); % membuat grafik 3d dengan surf
>> grid on;
Untuk syntax mesh terdapat syntax pilihan lain yang dapat digunakan berikut yaitu meshc dan meshz, berikut ini adalah penggunaannya
>> meshc(x,y,z);
>> grid on;
>> meshz(x,y,z);

Perhatikan vektor berikut ini
           
(5.3)
Untuk menggambar vektor (5.3) dapat digunakan syntax plot3 berikut ini adalah penggunaannya,
>> t = -10:0.1:10; % domain t
>> i = sin(t);
>> j = cos(t);
>> k = t;
>> plot3(i,j,k);
>> grid on;
Berikut ini adalah beberapa options yang dapat ditambahkan dalam membuat grafikbaik 2d ataupun 3d
>> title(‘nama judul grafik’);
>> xlabel(‘nama sumbu x’);
>> ylabel(‘nama sumbu y’);
>> axis([x1 x2 y1 y2 z1 z2]);
>> grid on;

1 komentar:

  1. 빴지노사이트 - Kirill Kondrashin
    빴지노사이트. 빴지노사이트. kirill-kondrashin 빴지노사이트. 우리카지노 카지노사이트�히이 쁸고세.

    BalasHapus