Praktikum Matematika dan Komputasi I
Listra Yehezkiel Ginting
Teknik Fisika ITERA
Scilab
• Scilab adalah aplikasi pemrograman yang biasa dipakai untukmenyelesaikan permasalahan sains dan teknologi
• Scilab adalah program gratis dan open source dan dapat didownloaddengan gratis dari scilab.org
• Alternatif Scilab: Matlab (berbayar), Octave
Apa yang bisa dilakukan dengan Scilab?
• Perhitungan numerik biasa(menyelesaikan persamaan numerik, menggunakan metode numerik sepertiNewton-Raphson, Finite Element)
• Data Analitik: Melakukan curve-fitting, membuat sistem predictor
• Mengolah citra
• Simulasi sistem fisis untuk kontrolprediktif
Apa yang akan kita pelajari di praktikum hariini?Modul 1:
- Pengenalan Scilab: Variabel dan operasi numerik sederhana dalamScilab, representasi array dan matrix, serta metode matematis yang digunakan
- Data plotting
- Menggunakan Scilab untuk menyelesaikan permasalahan fisissederhana
Buku panduan: Applied Numerical Methods with MATLAB for Engineers and Scientists, Steven C. Chapra
Tampilan Scilab
Console
Variable Browser
Command History
Toolbar
Penjelasan display
• Console: Merupakan area kerja utama dalam scilab, menggunakanbahasa pemrograman high level dan interpreted language sehinggatidak butuh decompile seperti C/C++
• Toolbar: Berisi opsi-opsi yang digunakan dalam pemrograman Scilab
• Variable browser: Berisi variabel-variabel yang sudah disimpan, ukuran, dan tipenya
• Command History: Berisi catatan perintah-perintah yang telahdiberikan di Console
Penamaan Variabel
• Variabel dalam Scilab memilikiperilaku case-sensitive, penggunaan nama variabelmemperhatikan kapitalisasi
• Kita dapat memberi namabeberapa variabel dalam 1 baris dengan memberipemisah koma (,) ataupunsemicolon (;). Menggunakansemicolon menyimpanvariabel tanpa menampilkanke konsol
Perintah console
clc = membersihkan konsoltanpa menghapus variabel
clear = menghapus semuavariabel yang sudah disimpan
format v atau e:
-format e memaksa seluruhtampilan angka ditampilkandalam bentuk eksponensial (-1.438E+02 untuk angka -143.8757)
Perhatikan apayang terjadi pada variable browser
Apa yang terjadisetelah clc?
Apa yang terjadi jikaperintah clc diberikan
setelah step 2?
Array dan Matrix
• Scilab dapat bekerja langsungdengan vektor (array)
• Matrix disimpan dalambentuk array dua dimensi
• Array dibuat denganmenggunakan tanda kurungkotak (box bracket [ ]) transpose vektor
Matrix transpose
Operasi variabel dan array/matrix
• Operasi matematika dalamvariabel dapat menggunakanoperator aritmatikasederhana (*, /, + , -)
• Operasi vektor/array dan matrix dapat dilakukandengan cara yang sama, asalkan sesuai dengan kaidahperkalian matrix/vektor
• B adalah matriks identitas3x3 (3 baris 3 kolom)
• a adalah vektor berukuran1x3 (1 baris 3 kolom)
• Perkalian matrix berukuran a x b dengan matrix/vektorberukuran c x d hanya dapatdilakukan jika b=c
• Agar perkalian dapatdilakukan, maka vektor a ditranspose terlebih dahulumenjadi vektor a’ berukuran3x1 (3 baris 1 kolom)
Operasi array dan operasi element-by-element
• Operasi dalam matrix dapat dilakukansecara array ataupun elemen per elemen
• Misal kita sudah memiliki matrix A berisi:
1 2 3
A = 4 5 6
7 8 9
Kita ingin membuat sebuah matrix yang berisi hasil kuadrat dari masing-masingelemen matrix
1 4 9
A2 = 16 25 36
49 64 81
Operasi matrix A^2 = AA
Tetapi tidak menghasilkanmatrix dengan denganelemen kuadrat dari A
Penambahan titik (.) sebelum penanda operasiberarti memberi perintah pada scilab untuk
melakukan operasi pangkat pada masing-masingelemen matrix A
Plotting
• Plotting adalah menampilkandata dalam bentuk visual
• Untuk hari ini kita akan belajar untuk melakukan plot sederhana untuk kasus 2D
• Misalkan kita memiliki data waktudalam bentuk array yang kita berinama t
• Kita juga memiliki data kecepatanpada setiap waktu yang ada di array t
• Sebagai contoh, relasi antara setiapelemen v dan t adalah:
v(t) = t2+1
Plotting
• Kita dapat mengaturlabel dan juduluntuk hasil plot denganmenggunakanbeberapa perintah
• Masukkan perintahdi kanan dan lihatapa yang terjadi
Contoh latihan
Jika anda memiliki matrix/vektor berbentuk:
1 0 0 1 2 3 1
A = 0 1 0 B = 4 5 6 c = 2
0 0 1 7 8 9 3
Apakah hasil dari:
- AB
- Ac
- cA
- cTA?
Diberikan dua buahpersamaan linier
2x + 8y = 0
x – 2y = -3
Berapakah nilai x dan y?
Apakah sistem ini bisadiselesaikan dengan caraselain substitusi/eliminasi?
Contoh latihan
Dengan menggunakan Scilab, kita bisamemperoleh hasil:
1 2 3
a. AB = 4 5 6 c. cA = -
7 8 9
1
b. Ac = 2 d. cTA = 1 2 3
3
Dengan menggunakan substitusi:
Dari pers. atas kita bisa dapatkan:
2x = -8y
x = -4y
Substitusi ke pers. bawah
x – 2y = -3
-4y - 2y = -3
-6y = -3
y = ½
Substitusi balik ke persamaan bawahdidapatkan x = -2
Substitusi dan eliminasi dapatdilakukan dengan mudah saat jumlahvariabel sedikit.
Latihan 1
Anda bekerja sebagai manajer procurement di sebuah perusahaan robotik, Anda sedang melakukan perencanaan pembelian komponen. Di meja andaada 4 receipt yang berisi informasi pembelian komponen di bulan berbeda:
• Januari: 250 Transistor, 120 Resistor, 152 Kapasitor, 70 Dioda seharga 880 USD
• Maret: 100 Transistor, 260 Kapasitor, 220 Resistor, 90 Dioda seharga 1155 USD
• Juni: 95 Transistor, 100 Kapasitor, 50 Dioda, 110 Resistor seharga 595 USD
• September: 15 Resistor, 30 Kapasitor, 60 Dioda, 20 Transistor seharga 215 USD
Di dalam receipt tersebut tidak ada harga per komponen. Akuntan andameminta informasi harga per komponen untuk perencanaan ke depan dan membutuhkan informasi cepat. Tetapi saat ini vendor penjual komponenanda sedang sulit dihubungi. Anda kemudian memutuskan menggunakanprogram untuk mencari harga per komponen, bagaimana anda akan melakukannya?
Hint: Operasi inverse matrix vektor
Ac = pc = A-1p
Command untukinverse matrix A:
inv(A)
Latihan 2
Jika pertumbuhan populasi penduduk di pulau A adalah 2% per tahun. Tahun ini ada 2500 penduduk, ada berapa orang kah penduduk di tahun ke:
a. 5
b. 10
c. 15
d. 20
Jika hasilnya berupa angka tidak bulat, bulatkanhasilnya ke bilangan bulat terdekat
Buatlah plot pertumbuhan penduduk selama 20 tahun tersebut, berikan grid, dan beri label
Hint: Anda dapat membuat vektordengan elemen yang memiliki jarak
tertentu secara otomatis menggunakanperintah linspace.
Misal:t=linspace(0,10,11) akan menghasilkan
vektor dengan 11 elemen, dari 0 sampai10
Atau sama dengant = [0 1 2 3 4 5 6 7 8 9 10]
Gunakan linspace untuk membuatvektor waktu