Rabu, 09 Maret 2016

Tugas Softskill # Tugas Softskill Aplikasi software yang berhubungan dengan mesin atau otomotif (MATLAB)


Materi MATLAB

MATLAB adalah bahasa pemrograman dengan performa tinggi untuk komputasi teknis. MATLAB menggunakan tiga unsur komputasi, visualisasi, dan pemrograman ke dalam satu wadah. Masalah dan penyelesaian pada MATLAB diekspresikan dalam simbol matematika yang familiar. Penggunaan MATLAB mencakup :
         Matematika dan komputasi
         Pengembangan algoritma
         Pemodelan, simulasi dan prototype
         Analisis data, eksplorasi dan visualisasi
         Grafik saintifik dan keteknikan
        Pengembangan penggunaan, termasuk pembuatan Graphical User Interface (GUI) yang memudahkan pemakai dalam memasukkan data dan melihat hasil keluaran suatu program.
MATLAB merupakan singkatan dari matrix laboratory. MATLAB merupakan sistem interaktif dengan elemen basis data berupa array yang tidak membutuhkan dimensi. Oleh karena itu, MATLAB mampu menyelesaikan banyak masalah komputasi teknis, khususnya masalah yang dapat diformulasikan dalam bentuk matriks dan vektor.
2.     TUJUAN
Mengetahui ekspresi matematika yang digunakan dalam software MATLAB
3.      Tool yang digunakan
MATLAB 7.8.0
4.      Pengenalan Dasar MATLAB
a.      Simbol Operasi Hitung dan Variabel
Operasi hitung dengan MATLAB sangat mudah dilakukan.
Operasi
Simbol
Penjumlahan
+
Pengurangan
-
Perkalian
*
Pembagian
/ atau \
Pangkat
^
Tabel 1.1 Simbol Operasi Hitung
 Operasi hitung juga bisa diwakili menggunakan variabel. Variabel MATLAB tidak membutuhkan deklarasi ataupun statmen dimensi. Penulisan variabel dimulai dengan hurup, dapat diikuti dengan hurup atau angka atau underscore. MATLAB hanya dapat mengenal 31 karakter pertama dari nama variabel. Contoh : bila pada command window diketik
>>apel_malang1=25

dan setelah menekan enter akan muncul

>>apel_malang1 =
    25
Di sini apel_malang1 adalah nama variabel yang disimpan pada workspace dengan nilai 25. Bila terdapat variabel baru dengan nama sama maka secara otomatis nilai variabel lama akan terhapus dan berlaku nilai variabel baru. MATLAB sangat sensitif dalam membaca variabel, ia membedakan antara hurup besar dan hurup kecil. Contoh : A dan a adalah dua variabel yang berbeda. Pada satu baris kita dapat mendefinsikan lebih dari satu variabel dengan cara memberikan tanda koma (,) diantara dua variabel. Sebagai contoh
>> x=50, X=45
maka akan muncul
x =
50

X =
45
Variabel khusus
         ans            : default nama variabel untuk hasil
         pi              : π = 3.14
         eps             = 2.2204e-016
         inf             : infinity
         nan : not-a-number
Dalam memberi nama variabel, MATLAB mempunyai beberapa aturan yaitu :
1)      Menggunakan huruf atau angka, tetapi karakter pertama harus berupa huruf.
2)      MATLAB hanya dapat mengenal 31 karakter pertama dari variabel.
3)      MATLAB membedakan huruf besar dan huruf kecil
4)      Tidak boleh ada spasi.
5)      Tidak boleh menggunakan simbol khusus, kecuali garis bawah.
Untuk membersihkan command window gunakan perintah >>clc, sedangkan untuk menghilang semua variabel yang ada pada command window gunakan perintah >>clear.
Jadi perintah
>>clear

>>clc
akan membersihkan command window dan menghapus semua variabel yang telah tersimpan pada workspace. Dalam kasus ini semua variabel tidak bisa dipanggil lagi, kecuali variabel yang telah disimpan.
Contoh penggunaan fasilitas grafik dari MATLAB dapat dilihat sebagai berikut :
>>x=[5 10 15 20 25 30];
>>y=cos(x);
>>plot(x,y);
Dari gambar dijelaskan bahwa x diassign ke suatu array [5 10 15 20 25 30], kemudian y=cos(x) akan mengassign y ke array [cos(5) cos(10) cos(15) cos(20) cos(25) cos(30)].
b.      Bilangan
Bilangan pada MATLAB menggunakan notasi desimal biasa, dengan menggunakan titik desimal, tanda plus atau tanda minus. Notasi saintifik menggunakan hurup e untuk menyatakan pangkat 10. Bilangan imaginer dinyatakan dengan hurup i atau j. Beberapa contoh bilangan yang berlaku pada MATLAB : 3, -99 0.0001 9.6397238, 1.60210e-20, 6.02252e+23, 1i, -3.14159j, 3e5i.
Semua bilangan tersimpan secara internal dengan menggunakan format long yang dispesifikasi oleh standar titik mengambang (floating-point) IEEE. Bilangan titik mengambang mempunyai presisi kira-kira 16 digit desimal signifikan dan jangkauan antara 10-323 sampai dengan 10308.
c.    Array
Variabel-variabel yang telah dipelajari digunakan untuk mewakili satu nilai (satu data). Dalam hal ini variabel yang hanya mewakili satu nilai ini dalam MATLAB disebut skalar. Sedangkan variabel yang dapat mewakili beberapa nilai sekaligus dalam MATLAB disebut array. Array (larik) dapat juga diartikan sebagai deretan nilai yang mempunyai tipe data yang sama. Dalam matematika banyak kasus yang memerlukan data bertipe array. Untuk menyatakan array dalam MATLAB sintaknya adalah :

Nama_array=[nilai1 nilai2 ... nilaiN]

Dalam sintak tersebut Nama_array mempunyai N buah nilai, yaitu nilai1, nilai2, nilai3, ..., nilaiN. Antar nilai dipisahkan dengan spasi, serta N buah nilai tersebut diletakkan di dalam kurung siku[ ].
Contoh :
 A=[-15 -10 -5 0 1]           %array A mempunyai 5 anggota
Bima=[1-2i  -4  3+2i]       %array Bima mempunyai 3 anggota
d.      Pengalamatan Array
Dalam matematika, untuk menyatakan nilai x yang kelima misalnya, ditulis dengan x5. Sedangkan dalam MATLAB, untuk menunjuk pada nilai dari anggota array tertentu ditulis dengan sintak :
Nama_array(indeks)
Dalam sintak tersebut, indeks mempunyai tipe integer positip seperti 1, 2, 3, dst. Jadi untuk menunjuk anggota kelima dan array x maka ditulis dengan x(5), untuk menunjuk anggota ke 10 dari array y ditulis dengan y(10).
Contoh :
>>x = [-5   -4   -3   -2   -1   0   1   2   3   4   5   6]
x   =
     -5         -4         -3         -2         -1         0          1          2          3          4          5          6
>>x(5)                  %anggota kelima dari x
ans  =
     -1
>>y=2*x+3
y   =
     -7         -5         -3         -1         1          3          5          7          9          11        13        15
>>y(10)                %anggota kesepuluh dari y
ans  =
     11

MATLAB juga memberikan fasilitas untuk menampilkan anggota array dalam range atau interval tertentu dengan menggunakan tanda titik dua /colon (:). Untuk menampilkan anggota array dalam range tertentu sintaknya :
Nama_array(indeks_awal : indeks_akhir)

Contoh :
>>x(2:7)               %menampilkan anggota ke 2 sampai ke 7 dar x
     ans =
                 -4         -3         -2         -1         0          1
>>y(6:11)             %menampilkan anggota ke 6 sampai ke 11 dari y
     ans =
                 3          5          7          9          11        13

MATLAB juga menyediakan fasilitas untuk memanggil anggota array dalam range tertentu dengan indeks anggota array yang akan ditampilkan tidak harus urut naik satu persatu. Untuk keperluan sintak yang digunakan :
Nama_array(indeks_awal : hitung : indeks_akhir)

Dalam sintak tersebut, hitung merupakan ‘penghitung’ indeks berikutnya yang harus dituju dengan jalan menambahkan indeks_sebelum + hitung = indeks_berikut. Dengan demikian untuk indeks kedua berarti indeks_awal + hitung. Dalam hal ini hitung harus berupa bilangan integer positip atau negatip.
Contoh :
>>x(2:7)               %menampilkan anggota ke 2 sampai ke 7 dar x
     ans =
                 -4         -3         -2         -1         0          1

e.      Mengkonstruksi Array
Untuk suatu array yang mempunyai nilai-nilai yang membentuk pola yang teratur, dapat dikonstruksi dengan sintak :
Nama_array=(nilai_awal : hitung : nilai_akhir)

Dalam sintak tersebut nilai_awal menyatakan nilai awal dari array dan nilai_akhir menyatakan nilai akhir dari array. Sedangkan hitung menyatakan bilangan (konstanta) yang harus dijumlahkan kepada nilai array sebelumnya untuk memberikan nilai array berikutnya.

Cara lain untuk mengkonstruksi array menggunakan kata linspace dengan sintak :
Nama_array=linspace(nilai_awal,nilai_akhir,banyak anggota)

Tabel 1.2 Metode Konstruksi Array


No.
Sintak
Keterangan
1.   
X = [x1   x2   x3   . . .   xn]
Membuat array X yang mempunyai n anggota dengan nilai arraynya yaitu x1, x2, x3, . . . ,xn
2.   
X = (awal : akhir) atau
X = awal : akhir
Membuat array X yang dimulai dari nilai awal, naik satu persatu, sampai (berhenti sebelum) nilai akhir.
3.   
X = (awal : hitung : akhir)
Atau
X = awal : hitung : akhir
Membuat array X yang dimulai dari nilai awal, naik (turun) sesuai hitung, sampai (berhenti sebelum) nilai akhir.
4.   
X = linspace(awal, akhir, n)
Membuat array X dimulai dari nilai awal sampai nilai akhir, serta mempunyai n anggota.
5.   
X = logspace(awal, akhir, n)
Membuat array X dimulai dari nilai 10awal sampai nilai 10akhir serta mempunyai n anggota
6.   
X = [array1 . . . arrayN]
Membuat array X yang nilai-nilainya adalah gabungan dari nilai-nilai array1, array2, . . . , arrayN

f.        Operasi Skalar dengan Array
MATLAB menyediakan operasi hitung antara skalar dengan array. Operasi hitung yang dapat dilakukan antara skalar dengan array adalah penjumlahan, pengurangan, perkalian, pembagian, dan perpangkatan.

Tabel 1.3 operasi Skalar dengan Array
Skalar=k, Array a=[a1 aa3 ... an]
No
Operasi
Simbol
Keterangan
1.   
Penjumlahan
k+a
[k+a  k+a2    k+a3 ...  k+an]
2.   
Pengurangan I
k-a
[k-a  k-a2    k-a3 ...  k-an]
3.   
Pengurangan II
a-k
[a1-k   a2-k    a3-k ...  an-k]
4.   
Perkalian
k*a
[k*a  k*a2    k*a3 ...  k*an]
5.   
Pembagian I
k./a
[k/a1   k/a  k/a3 ... k/an]
6.   
Pembagian II
a/k
[a1/k   a2/k   a3/k  ... an/k]
7.   
Perpangkatan I
a.^k
[a1^k   a2^k   a3^k ... an^k]
8.   
Perpangkatan II
k.^a
[k^a1   k^a2    k^a3 ... k^an]

Khusus untuk operasi pembagian I dan operasi perpangkatan dipakai juga simbol dot (.) sebelum bagi dan pangkat.
Contoh :
>>k=5;
>>a=[-1 2 1 3];
>>k+a
ans =
4     7     6     8
Silahkan dicoba untuk operasi yang lainnya!


g.      Operasi Array dengan Array
Operasi antara array juga dapat dilakukan sebagaimana operasi skalar dengan array. Dalam hal ini operasi antar array meliputi penjumlahan, pengurangan, perkalian, pembagian, dan juga perpangkatan.


Tabel 1.3 Operasi Array dengan Array
Array a = [a1 aa3 ... an] , array b = [b1 bb3 ... bn]
No
Operasi
Simbol
Keterangan
1.       
Penjumlahan
a+b
[a1+ b  a2+ b2    a3+ b3 ...  an+ bn]
2.       
Pengurangan
a-b
[a1-b  a2-b2    a3-b3 ...  an-bn]
3.       
Perkalian
a.*b
[a1* b  a2 *b2    a3*b3 ...  an* bn]
4.       
Pembagian
a./b
[a1/b  a2/ b2    a3/b3 ...  an/bn]
5.       
Perpangkatan
a.^b
[a1^b  a2^b2    a3^b3 ...  an^bn]

Operasi antar array disebut juga operasi anggota dengan anggota array yang bersesuaian. Hal ini berarti jika dua array yang dioperasikan banyaknya anggota tidak sama, operasi antar array tidak bisa dilakukan.
Contoh :
>>p = [2 -1 3 1];
>>q = [1 5 0 -2];
>>p+q
     ans =
                 3   4   3   -1
Silahkan dicoba untuk operasi yang lainnya!
h.      Orientasi Array
selama ini array selalu ditampilkan secara horizontal. Hal ini dapat disebut sebagai vektor baris. Dalam keperluan praktis, dapat saja array ditampilkan secara vertikal, yang dalam hal ini disebut array kolom atau vektor kolom. Untuk membuat array kolom (vektor kolom) digunakan tanda titik koma / semi colon (;) di antara nilai-nilai array. Dalam hal ini sintaknya adalah :
Nama_array = [nilai1;nilai2;nilai3; ... ;nilaiN]
Contoh :
 >>x=[-2; 3; 4; 5; 1]
x =
    -2
     3
     4
     5
     1
Cara lain untuk membuat array kolom dengan jalan mencari tranpose dari array baris. Dalam hal ini array baris dibuat atau dikonstruksi sesuai metode untuk mengkonstruksi array baris. Kemudian dengan melakukan transpose (‘) terhadap array baris akan didapatkan array kolom.
Contoh :
>>a=(-2:3:7)         %array baris a

a   =
        -2      1          4          7
>> b=a’                %array kolom b dari transpose array a
b   =
       -2
        1
       4
       7
Untuk array yang mempunyai nilai-nilai berupa bilangan kompleks di samping ada operator tranpose (‘), juga dikenal operator dot-transpose (.’). Jika array mempunyai nilai-nilai bilangan kompleks , operator transpose (‘) menghasilkan tranpose dari conjugate, artinya bagian imaginer berubah tandanya pada hasil tranpose. Tetapi operator dot-transpose (.’) menghasilkan transpose seperti biasanya.
Dalam matematika, suatu matriks dapat dipandang sebagai susunan dari satu atau beberapa vektor kolom. Dengan demikian untuk menyatakan matriks dalam MATLAB dapat dilakukan dengan metode konstruksi array. Dalam hal ini koma atau spasi digunakan untuk memisahkan anggota-anggota matriks pada baris yang sama, sedangkan titik koma (semi colon) digunakan untuk memisahkan baris-baris matriks. Misalnya untuk menuliskan matriks  dalam MATLAB dapat dituliskan sebagaimana contoh di bawah ini :
>>B = [-1  0  3  5;  2  4  1  -3;  7  9  -8  6]
B =
     -1         0          3          5
     2          4          1          -3
     7          9          -8         6

>>B = [-1,0,3,5 ; 2,4,1,-3; 7,9,-8,6]

B =
     -1         0          3          5
     2          4          1          -3
     7          9          -8         6

Karena matriks juga merupakan susunan dari array-array, maka operasi antara skalar dengan array (Tabel 1.2) dan juga operasi array dengan array (Tabel 1.3) juga berlaku.


5.      Pertanyaan
11.      Dengan aturan yang dimiliki MATLAB, berapakah hasil dari operasi hitung berikut ini :
a)      2– 5 + 9 × 4 : 12
b)      (3 + 8) × 3 - 32
22.      Diketahui s=[-2  0  1  3  5] dan w=[-7  4  3  -2   6   8]. Sebutkanlah nilai dari :
a)      s(3)
b)      s(1:3:5)
c)      w(2:5)
d)     w(6:-2:1)
33.      Diketahui -3 ≤ x ≤ 5 dengan x integer. Carilah array y jika .
44.      Sebutkanlah hasil dari perintah-perintah berikut ini!
a)      satu = (8:-3:-5)
b)      dua = linspace(0,30,7)
c)      tiga = logspace(0,2,5)
d)     empat = -4:3
55.      Diketahui array-array s dan w sebagaimana dalam soal nomor 2. Apakah hasil dari perintah-perintah berikut ini?
a)      p = [w s]
b)      r = [s w(5:-1:2)]
c)      k = [w(3)  s(1:3)]
d)     m = [s(2:2:5)  w(6:-1:3)]
66.      Diketahui skalar s = -3 dan k = 4, serta array h = [-3  0  1  2] dan p = [1   -1   -2   3]. Apakah hasil dari perintah berikut ini?
a)      s*h
b)      p*k
c)      p.^s
d)     k./h
77.      Diketahui skalar s dan k, serta array h dan k sebagaimana dalam soal nomor 6. Hitunglah :
a)      sh + kp
b)      hp
c)      ph
d)     p/h
88.      Diketahui x = linspace(0,2*pi,11)  , y = sin(x)  , serta z = cos(x). Carilah anggota-anggota array y dan array z!
99.      Diketahui A = [linspace(-4,0,5); linspace(4,-4,5)]. Hitunglah :
a)      A + B
b)      3A – 2B
c)      2B’
d)     AB
110.  Diketahui array Z1 = [2-3i   5   7i;-4+6i   2+3i   2-i] dan array Z2 = [5-4i  -2-5i   2i;3-7i   8+5i   -3-4i]. Apakah hasil dari perintah-perintah berikut ini?
a)      Z1 + Z2
b)      Z1’
c)      Z2’
d)     Z2.*Z1
e)      Z1.’./Z2’

MATERI 2
MATRIKS

A.    Menyatakan Matriks
Suatu matriks dapat dipandang sebagai kumpulan (gabungan) sederetan array baris/array kolom. Dengan demikian sangat mudah menulis matriks dalam MATLAB. Sebagai contoh untuk menyatakan matriks  , maka dalam MATLAB dalam dituliskan sebagaimana yang telah dipelajari.
Sebagaimana dalam array baris atau array kolom, MATLAB juga menyediakan berbagai perintah (command) khusus untuk melakukan manipulasi anggota-anggota matriks.

Tabel 2.1 Beberapa perintah untuk manipulasi anggota matriks
No.
Perintah
Keterangan
1.       
A(r,s)
Menunjuk elemen baris ke-r kolom ke-s dari matriks A
2.       
A(:,s)
Menunjuk kolom ke s dari matriks A
3.       
A(r,:)
Menunjuk baris ke r dari matriks A
4.       
A(:)
Menyatakan matriks A sebagai vektor (array) kolom, dengan susunan kolom per kolom.
5.       
A(s)
Anggota ke s dari A yang ditulis dalam bentuk array kolom.
Di samping menyediakan perintah untuk melakukan manipulasi anggota array (matriks), MATLAB juga menyediakan perintah-perintah yang berhubungan dengan dimensi atau ukuran suatu matriks. Tabel 3.2 di bawah menunjukkan beberapa perintah untuk menanyakan dimensi matriks.

Tabel 3.2 Perintah untuk Dimensi Matriks
No.
Perintah
Keterangan
1.       
whos
Mendisplay semua variabel dan dimensinya yang digunakan dalamworkspace
2.       
size(A)
Menyatakan dimensi dari A
3.       
[r c]=size(A)
Mendapatkan skalar r dan c, di mana r=banyaknya baris A dan c=banyaknya kolom A
4.       
size(A,1)
Menyatakan banyaknya baris dari A
5.       
size(A,2)
Menyatakan banyaknya kolom dari A
6.       
length(A)
Mendapatkan sebuah skalar yang menyatakan maksimum di antara banyaknya baris dan banyaknya kolom matriks A
B.     Matriks-matriks Khusus
Dalam teori matriks dikenal ada beberapa matriks khusus, seperti matriks identitas, matriks nol, dan sebagainya. Perintah untuk membuat matriks-matriks khusus dalam MATLAB sebagai tercantum dalam tabel 2.3 di bawah ini.

Tabel 2.3. Perintah membuat Matriks Khusus
No.
Perintah
Keterangan
1.       
zeros(n)
Membuat matriks nol berdimensi n×n
2.       
zeros(m,n)
Membuat matriks nol berdimensi m×n
3.       
ones(n)
Membuat matriks satu berdimensi n×n
4.       
eye(n)
Membuat matriks identitas berdimensi n×n
5.       
eye(m,n)
Membuat matriks identitas berdimensi m×n
6.       
[  ]
Matriks kosong (empty matrix)

C.    Operasi Matriks
Karena matriks dapat dipandang sebagai susunan array baris/array kolom, tentunya operasi-operasi yang berlaku pada array dapat diterapkan untuk operasi matriks. Tentu saja harus diingat bahwa operasi matriks mempunyai syarat-syarat tertentu. Tabel 2.4 berikut ini menyatakan operasi matriks sepanjang syaratnya dipenuhi.

Tabel 2.4 Operasi Matriks
No.
Operasi
Simbol
1.       
Penjumlahan
A + B
2.       
Pengurangan
A –B
3.       
Perkalian skalar
k*B;    k=skalar
4.       
Perkalian matriks
A*B

D.    Fungsi-fungsi pada Matriks
Untuk membantu mempercepat operasi matriks, MATLAB menyediakan fungsi-fungsi khusus yang berlaku pada matriks. Beberapa fungsi untuk matriks sebagaimana ditunjukkan pada tabel 2.5 berikut ini.

Tabel 2.5 Beberapa Fungsi-fungsi pada Matriks
No.
Fungsi
Keterangan
1.       
eig(A)
Mendapatkan akar dan vektor karakteristik dari matriks A
2.       
det(A)
Determinan matriks A
3.       
inv(A)
Invers dari matriks A
4.       
orth(A)
Orthogonalisasi matriks A
5.       
pinv(A)
Pseudo invers dari A
6.       
poly(A)
Polinom karakteristik dari A
7.       
qr(A)
Dekomposisi ortogonal-segitiga
8.       
rank(A)
Rank A, banyaknya baris (kolom) dari A yang bebas linear
9.       
rref(A)
Bentuk eselon baris tereduksi dari A
10.   
Trace(A)
Jumlah elemen diagonal dari A




E.     Solusi Sistem persamaan Linear
Salah satu aplikasi matriks adalah untuk mendapatkan penyelesaian dari sistem persamaan linear. Dengan MATLAB, metode untuk mendapatkan penyelesaian sistem persamaan linear menjadi semakin mudah. Dalam subbab ini khususnya dibahas untuk sistem persamaan linear yang mempunyai penyelesaian tunggal. Pandanglah sistem persamaan linear :
Yang dapat ditulis dalam notasi matriks sebagai berikut :
A X = K  juga dapat dibentuk
Di mana
Contoh :
Dapat dibentuk menjadi
                                       
Berdasarkan matriks-matriks A, X, dan K tersebut, dengan MATLAB dapat diselesaikan sebagai berikut :
A=[1 -2 3;2 1 -3;1 1 1];  %matriks koefisien A
>> K=[2;5;6];                %matriks konstanta K
>> X=inv(A)*K                %mancari penyelesaian X

X =

    3.0000
    2.0000
    1.0000
Jadi penyelesaian dari sistem tersebut adalah : x=3, y=2, dan z=1.


F.     Pertanyaan
11.      Dalam MATLAB, apakah hasil dari perintah-perintah berikut ini
a)      B(4,2)
b)      B(:,2)
c)      B(4,:)
d)     B(:,3)=[7;7;7;7;7]
e)      B(3,:)=[ ]
Jika diketahui matriks
22.      Apakah hasil dari perintah-perintah berikut ini?
a)      2*ones(3,4)+eye(3,4)
b)      zeros(4,3)+7*eye(4,3)-ones(3,4)
c)      3*eye(3)+2*ones(3)

33.      Diketahui matriks-matriks . Hitunglah :
a)      P-2Qt
b)      PQR
c)      RPQ

44.      Untuk matriks P, Q, dan R dari soal nomor 3, hitunglah :
a)      det(PQ)
b)      det(PQR)
c)      trace(RPQ)

55.      Diketahui matriks P, Q, dan R seperti pada soal nomor 3, carilah :
a)      Bentuk eselon baris tereduksi dari P
b)      Invers dari matriks R
c)      Bentuk eselon baris tereduksi dari QR
d)     Invers dari matriks PQ
e)      Rank dari RPQ

Tidak ada komentar:

Posting Komentar