Pertemuan 1
Pertemuan 1
PENGENALAN MATLAB
1. Pengenalan Matlab
Matlab merupakan bahasa pemrograman dengan kemampuan tinggi dalam bidang komputasi. Matlab
memiliki kemampuan mengintegrasikan komputasi, visualisasi, dan pemrograman. Oleh karenanya,
matlab banyak digunakan dalam bidang riset‐ riset yang memerlukan komputasi numerik yang kompleks.
Penggunaan Matlab meliputi bidang–bidang:
Matematika danKomputasi
Pembentukan Algorithm
Akusisi Data
Pemodelan, simulasi, dan pembuatan prototype
• Analisa data, explorasi, dan visualisasi
• Grafik Keilmuan dan bidang Rekayasa
Matlab merupakan kepanjangan dari Matrix Laboratory. Sesuai dengan namanya, struktur data yang
terdapat dalam Matlab menggunakan matriks atau array berdimensi dua (double). Oleh karenanya
penguasaan teori matriks mutlak diperlukan bagi pengguna pemula Matlab agar mudah dalam
mempelajari dan memahami operasi‐ operasi yang ada di Matlab.
2. Memulai MATLAB
Perhatikan Dekstop pada layar monitor PC, mulailah MATLAB dengan melakukan double‐ clicking
pada shortcut icon MATLAB. Selanjutnya akan muncul tampilan seperti pada Gambar berikut ini.
1
Pada gambar diatas, terlihat beberapa jendela yang merupakan bagian penting di dalam Matab, antara lain:
a. Jendela perintah (Command Window)
Pada command window, semua perintah matlab dituliskan dan diekskusi. Kita dapat
menuliskan perintah perhitungan sederhana, memanggil fungsi, mencari informasi tentang sebuah
fungsidenganaturanpenulisannya(help),demoprogram, dansebagainya.
Setiap penulisan perintah selalu diawali dengan prompt „>>‟. Misal, mencari nilai sin 750, maka
pada command window kita dapat mengetikkan:
>> sin(75)
ans =
-0.38778
>> bilangan1 = 10
bilangan1 =10
>> bilangan2 =5
bilangan2 =5
>> hasil = bilangan1 + bilangan2
hasil =15
Untuk melihat variabel yang aktif saat ini, kita dapat menggunakan perintah who.
>> who
Your variables are:
bilangan1 bilangan2 hasil
2
3. Variabel dan Operator
3.1 Variabel
Seperti bahasa pemrograman lainnya, matlab pun memiliki variabel, tetapi dalam penulisannya, variabel di
dalam matlab tidak perlu dideklarasikan, karena matlab mampu mengenali tipe data dari variable dari isi
variabel tersebut. Aturan penulisan variabel pada matlab sama dengan aturan pada bahasa pemrograman
lainnya, yaitu bersifa case sensitive, diawali dengan huruf dan selanjutanya boleh menggunakan gabungan
huruf‐ angka atau tanda garis bawah. Matlab mampu mengenali sampai 31 karakter pertama, selanjutnya
diabaikan.
Contoh:
>> var1=6.7
var1 =
6.7
>> var_2=[2 3 4]
Var_2 =
2 3 4
Semua tipe data di matlab memiliki bentuk yang sama, yaitu array. Array minimal berukuran 0x0 dan dapat
bertambah menjadi array n x m dimensi dengan sebarang ukuran. Matlab mempunyai beberapa tipe data dasar
(atau class), yaitu: logical, char, numeric, cell, structure, java classes, function handles.
3.2 Operator
Di dalam matlab, operator diklasifikasikan menjadi tiga bagian, yaitu:
a) Operator Arimatika
Operator aritmatika digunakan untuk mengerjakan komputasi numerik.
Operator Arti
+ Penjumlahan
‐ Pengurangan
* Perkalian (aturan matriks)
.* Perkalian masing‐ masing
eleman yang bersesuaian
(aturan array)
/ Pembagian kanan (matriks)
./ Pembagian kanan (array)
\ Pembagian kiri (matriks)
.\ Pembagian kiri (array)
^ Perpangkatan (matriks)
.^ Perpangkatan (array)
: langkah
b) Operator Relasional
Operator relasional digunakan untuk membandingkan operand‐ operand secara kuantitatif
Operator Arti
== Sama dengan
~= Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari sama dengan
>= Lebih dari sama dengan
3
c) Operator Logika
Operator Arti
& Akan menghasilkan nilai 1 jika kedua elemen yang
bersesuaian memiliki nilai true dan 0 untuk lainnya
| Akan bernilai 1 jika salah satu elemennya true
~ Komplen dari elemen yang diinputkan
xor Akan bernilai 1 jika salah satu dari kedua elemen
memiliki nilai berbeda dan bernilai nol jika sama
4. Matriks
Matlab menggunakan matriks sebagai dasar komputasinya, maka pengetahuna tentang matriks sangatlah
diperlukan bagi pengguna matlab. Secara garis besar matlab membagi matriks menjadi dua bagian.
4.1 Matriks Khusus
Matriks khusus merupakan matriks yang didefiniskan oleh matlab, sehingga kita tinggal menggunakannya.
Contoh: matriks nol, matriks diagonal, matriks identitas, dan sebagainya.
a) Matriks nol
Matriks yang elemenya bilangan
nol Bentuk umum:
>> zeros(n,m)
Contoh :
>> zeros(2,3)
ans =
0 0 0
0 0 0
b) Matriks satu
Matriks yang elemenya bilangan
nol Bentuk umum:
>> ones(n,m)
Contoh :
>> ones(3,3)
ans =
1 1 1
1 1 1
1 1 1
c) Matriks
identitas
Bentuk
umum:
>> eye(n)
Contoh :
>> eye(3)
ans =
1 0 0
0 1 0
0 0 1
4
d) Matriks bujur sangkar ajaib
Matriks yang memiliki jumlahan yang sama pada tiap baris, kolom maupun diagonalnya Bentuk
umum:
>>magic(n)
Contoh :
>> magic(4)
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
e) Matriks acak
Matriks isinya bernilai acak berdasarkan distribusi statistic. Bentuk umum:
>>rand(n,m)
Contoh :
>> rand(4,4)
ans =
0.61543 0.17627 0.41027 0.81317
0.79194 0.40571 0.89365 0.0098613
0.92181 0.93547 0.057891 0.13889
0.73821 0.9169 0.35287 0.20277
Contoh:
>> A=[ 1 2 3; 3 4 5]
A=
1 2 3
3 4 5
Tanda semicolon „;‟ digunakan untuk memisahkan baris satu dengan yang lain.
Perhatian !
Coba Anda bangkitkan dua buah matriks dengan sembarang ukuran, kemudian lakukan operasi
aritmatika dan juga cari tahu determinan dan invers dari suatu matriks. Perhatikan cara
kerjanya!
5
5. Pemrograman M‐ File
M‐ file merupakan sederetan perintah matlab yang dituliskan secara berurutan sebagai sebuah file. Nama file
yang tersimpan akan memiliki ekstensi .m yang menandakan bahwa file yang dibuat adalah file matlab. M‐
file dapat ditulis sebagai sebuah script atau dapat pula ditulis sebagai sebuah fungsi yang menerima argument
atau masukan yang menghasilkan output.
Perhatian !
Sekarang coba anda membuat script sederhana untuk menghitung
‐ Luas dan keliling lingkaran
‐ Mean dari data nilai berikut: 46, 60, 87, 50, 86, 70, 90, 100
6
6. Fungsi
Fungsi adalah m‐ file yang menerima argument input dan menghasilkan argument output. Fungsi dapat
dipanggil langsung dari command window atau dari suatu m‐ file yang berbeda. Aturan penulisan fungsi
adalah sebagai berikut
Fungsi di dalam matlab jika disimpan secara default akan tersimpan dengan nama yang sama dengan nama
fungsinya.
Contoh fungsi:
Jika kita akan menggunakan fungsi tersebut, maka pada command window kita tuliskan:
Perhatian !
Sekarang coba anda membuat fungsi dari praktik sebelumnya
7
7. Grafik
Matlab mempunyai bermacam‐ macam fungsi untuk menampilkan grafik, dimana setiap fungsi memiliki
perbedaan dalam menskalakan garis sumbu. Setiap menerima inputan dalam bentuk vector atau matriks,
matlab akan menskalakan secara otomatis.
7.1 plot
Fungsi plot digunakan untuk menggambar grafik 2D dengan skala linear pada kedua sumbunya. Contoh:
>> x=-10:10;
>> y=x.^2;
>> plot(x,y)
90
80
70
60
50
40
30
20
10
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
7.2 plot3
Fungsi plot3 digunakan untuk menampilkan grafik 3 dimensi. Plot3 memerlukan 3 argumen dengan bentuk
plot3(x,y,z), dimana x, y, z merupakan 3 bagian vector yang sama panjang.
Contoh:
>> t=0:pi/100:10*pi;
>> plot3(sin(2*t), cos(2*t), t)
35
30
25
20
15
10
5
0
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
8
7.3 Bar
Fungsi bar digunakan untuk menampilkan data yang berbentuk vector maupun matriks. grafIk bar digunakan
untuk menampilkan sekumpulan data selama kurun waktu terentu dan cocok untuk menampilkan data dalam
bentuk diskrit.
Contoh:
>> t=[10 30 21 52; 34 67 12 23; 90, 23, 45, 26; 58 94 30 20];
>> bar(t)
>> grid on
100
90
80
70
60
50
40
30
20
10
0
1 2 3 4
Matlab juga menyediakan dalam bentuk 3 dimensi, yaitu bar3. Missal grafik diatas disajikan dalam bar3, maka
kita ketik perintah berikut:
>>bar3
100
80
60
40
20
1
2
4
3 3
4 2
1
7.3 Pie
Fungsi pie digunakan untuk menampilkan data secara prosentase, dimana setiap elemen data akan
dibandingkan dengan penjumlahan seluruh data yang ada. Grafik pie dapat disajikan dalam bentuk 2 dimensi
maupun 3 dimensi.
9
Contoh:
A
B
7.3 Stem
Fungsi stem cocok digunakan untuk menampilkan data dalam bentuk diskrit.
Contoh:
>> x=1:10;
>> y=rand(1,10);
>> stem(x,y)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1 2 3 4 5 6 7 8 9 10
Perhatian !
10
8. Statement Kontrol
Sama seperti bahasa pemrograman yang lain, matlab juga memiliki statemen kontrol. Berikut adalah beberapa
pembahasan statemen kontrol yang ada di Matlab:
if <ekspresi logika>
statemen‐statemen
else if <ekspresi logika>
statemen‐statemen
else<ekspresi logika>
statemen‐statemen
end
contoh:
8.2 while
while digunakan untuk melakukan proses perulangan selama kondisi ekspresi terpenuhi. Begitu kondisi sudah
tidak terpenuhi lagi, maka proses perulangan akan langsung dihentikan.
Bentuk umum dari while adalah:
While <ekspresi>
Statemen‐statemen
end
contoh:
11
8.3 for
for digunakan untuk melakukan proses perulangan selama kondisi ekspresi terpenuhi. Perbedaannya dengan
while adalah pada for jumlah perulangan dapat diketahui, sedangkan pada while bergantung pada nilai
ekspresi.
Bentuk umum dari for adalah:
for indeks=nilai awal:step:nilai akhir
Statemen‐statemen
end
contoh:
Contoh:
Perhatian !
Sekarang coba anda membuat sembarang aplikasi dari masing‐masing kontrol di atas
LINEAR PROGRAMMING
A. Dasar Teori
Secara umum Linear Programming ialah salah satu teknik dari Riset Operasi
untuk memecahkan persoalan optimasi (maksimasi atau minimasi) dengan menggunakan
persamaan dan ketidaksamaan linear dalam rangka untuk mencari pemecahan yang
optimum dengan memperhatikan pembatasan-pembatasan yang ada. Dalam keadaan
sumber yang terbatas harus dicapai suatu hasil yang optimum dengan perkataan lain
bagaimana caranya agar dengan masukan input yang terbatas dapat menghasilkan
keluaran output berupa produksi barang atau jasa yang optimum. Salah satu metoda
analisis dalam teknik operasional riset untuk menyelesaikan persoalan pengalokasian
sumber-sumber terbatas adalah menggunakan metoda program linear. Linear
programming akan memberikan banyak sekali hasil pemecahan persoalan, sebagai
alternatif pengambilan tindakan, akan tetapi hanya ada satu yang optimum (maksimum
atau minimum). Memilih keputusan berarti memilh alternatif, tapi yang terpenting adalah
pengambilan alternatif terbaik( the best alternative), Johannes Suprapto (1987).
Linier programming merupakan metode matematika dalam perumusan masalah
umum pengalokasian sumber daya untuk berbagai kegiatan, disebut sebagai model
Linear Programming (L.P). Model linear programming ini merupakan bentuk dan
susunan dari dalam menyajikan masalah-masalah yang akan dipecahkan dengan teknik
linear programming. Dalam model linear programming dikenal dua macam fungsi yaitu
fungsi tujuan (objective function) dan fungsi-fungsi batasan (constraint functions).
Fungsi tujuan adalah fungsi yang menggambarkan tujuan atau sasaran di dalam
permasalahan linear programming yang berkaitan dengan pengaturan secara optimal
sumber daya untuk memperoleh keuntungan maksimal dan biaya minimal. Pada
umumnya nilai yang akan dioptimalkan dinyatakan sebagai Z. Sedangkan fungsi batasan
merupakan bentuk penyajian secara matematis batasan-batasan kapasitas yang tersedia
yang akan dialokasikan secara optimal ke berbagai kegiatan
B. Pengolahan
1. MATLAB
Min f (x) = 400 X + 600Y dengan kendala : 2X +Y ≥ 12
6X +8Y ≥ 72
X + 4Y ≥ 16
X ≥ 0; Y ≥ 0
13
Sebelumnya fungsi tujuan harus diubah terlebih dahulu menjadi minimasi sehingga bernilai negatif.
f = [--400 -600]
X Y
2 1 12
6 8 ≥ 72
1 4 162
A b
Script code
Latihan soal :
1. Maksimasi f = 8000 + 20000y Kendala : 5𝑥 + 4𝑦 ≤ 200
3𝑥 + 6𝑦 ≤ 108
5𝑥 + 4𝑦 ≤ 108
𝑥, 𝑦 ≥ 0
14
2. WinQSB
2. Untuk memulai penyelesaian kasus baru, klik file, dan pilih New Problem.
3. Ketikan judul, jumlah variabel, jumlah batasan atau kendala dari masalah
yang akan diselesaikan pada form LP-ILP Problem Specification. Tentukan
criteria tujuan, format pemasukan data, dan tipe variabel yang akan digunakan,
lalu klik OK.
15
4. Isi data sesuai dengan model matematik yang terbentuk.
5. Untuk menyelesaikan kasus di atas, klik Solve and Analyze pada menu dan pilih
Solve the Problem, atau klik ikon . Untuk menyelesaikan kasus dengan
menampilkan setiap iterasi, pilih Solve and Display Steps. Jika ingin melihat
penyelesaian dengan metode grafik, pilih Graphic Metode.
16
6. Tampilan tiap-tiap iterasi, klik Simplex Iteration pada menu, dan pilih Next
Iteration untuk menampilkan iterasi berikutnya. Atau bisa juga dengan meng-klik
ikon .
7. Untuk menampilkan table akhir atau iterasi terakhir, klik Simplex Iteration pada
menu, dan pilih Go to the Last Tableau.
8. Untuk menyimpan data yang sudah dimasukkan klik file dan pilih Save Problem.
Kemudian beri nama file, pilih direktori, tentukan tipe file dan klik OK.
17
Latihan Soal :
18