19 0 397 KB
PEMROGRAMAN MATLAB (Laporan Praktikum Fisika Komputasi)
Oleh : Latifah Kamalia 1417041046
LABORATORIUM PEMODELAN FISIKA JURUSAN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG 2016
Judul Percobaan
: Pemrograman Matlab
Tanggal Percobaan
: 24 Oktober 2016
Tempat Percobaan
: Laboratorium Pemodelan Fisika
Nama
: Latifah Kamalia
NPM
: 1417041046
Fakultas
: Matematika dan Ilmu Pengetahuan Alam
Jurusan
: Fisika
Kelompok
: I (Satu) Bandarlampung, 24 Oktober 2016 Mengetahui,
Asisten I
Asisten II
Azmi Prilly Naisa
Fauza Ramadhan Nekola
NPM. 1317041006
NPM. 1317041014
ii
PEMROGRAMAN MATLAB
ABSTRAK Oleh Latifah Kamalia Telah dilakukan praktikum fisika komputasi tentang pemrograman Matlab. Matlab digunakan sebagai bahasa pemrograman level tinggi yang khusus untuk komputasi teknis. Bahasa pemrograman pada Matlab tidak jauh berbeda dari bahasa pemrograman yang lainnya. Pada percobaan kali ini menggunakan program if else dan if case sebagai instruksi seleksi , program for dan while sebagai instruksi perulangan, dan program yang menghasilkan instruksi grafis. Program if else menghasilkan nilai resistor dengan 3 nilai warna, program if case menghasilkan nilai konversi satuan panjang menjadi nilai sentimeter. Untuk for dan while menghasilkan nilai angka yang berulang.
ii
DAFTAR ISI
Halaman LEMBAR PENGESAHAN ............................................. i ABSTRAK .................................................................ii DAFTAR ISI ............................................................ iii DAFTAR GAMBAR .....................................................v I.
PENDAHULUAN A. Latar Belakang .............................................................. 1 B. Tujuan Percobaan .......................................................... 2 II. TINJAUAN PUSTAKA A. Pengertian Matlab.......................................................... 3 B. Komputasi dengan Matlab ............................................. 4 III. LISTING PROGRAM A. Algoritma Pemrograman............................................... 7 B. Listing Program .............................................................7 IV. HASIL RUNNING DAN PEMBAHASAN A. Hasil Running ................................................................9 B. Pembahasan ..................................................................9 V. KESIMPULAN DAFTAR PUSTAKA LAMPIRAN
DAFTAR GAMBAR
Halaman Gambar 1. Blok diagram instruksi seleksi ..............7 Gambar 2. Blok diagram instruksi perulangan .......7 Gambar 3. Blok diagram instruksi grafis.................8 Gambar 4. Listing program pemilihan bersyarat . . . .9 Gambar 5. Listing program pemilihan kasus ............ Gambar 6. Listing program perulangan for .............. Gambar 7. Listing program perulangan while .......... Gambar 8. Listing program instruksi grafis 1 ........... Gambar 9. Listing program instruksi grafis 2 ........... Gambar 10. Listing program instruksi grafis 3 ......... Gambar 11. Listing program instruksi grafis 4 ......... Gambar 12. Hasil running pemilihan bersyarat ......9 Gambar 13. Hasil running pemilihan kasus .............. Gambar 14. Hasil running perulangan for ................ Gambar 15. Hasil running perulangan while ............ Gambar 16. Grafik instruksi grafis 1 ........................ Gambar 17. Grafik instruksi grafis 2 ........................
Gambar 18. Grafik instruksi grafis 3 ........................ Gambar 19. Grafik instruksi grafis 4 ........................
I.
PENDAHULUAN
A. Latar Belakang Matlab
merupakan
sebuah
singkatan
dari
Matrix
Laboratory, yang
pertama kali dikenalkan oleh University of New Mexico dan University of
Stanford
pada
tahun
1970. Software
ini
pertama
kali memang
digunakan untuk keperluan analisis numerik, aljabar linier dan teori tentang matriks. Saat ini, kemampuan dan fitur yang dimiliki oleh Matlab sudah jauh lebih lengkap dengan ditambahkannya
toolbox-toolbox yang sangat luar
biasa. Beberapa manfaat yang didapatkan dari Matlab antara lain perhitungan matematika, komputasi numerik, simulasi dan pemodelan, visualisasi dan analisis data, pembuatan grafik untuk keperluan sains dan teknik, dan pengembangan aplikasi, misalnya dengan memanfaatkan GUI. Matlab dapat dipadang sebagai sebuah kalkulator dengan fitur yang lengkap. Kita pernah menggunakan kalkulator dengan degan fasilitas minimal, misalnya hanya terdapat
fasilitas
penambahan, pengurangan perkalian dan pembagian.
Kalkulator yang lebih lengkap lagi adalah kalkulator scientific dimana fasilitas yang diberikan tidak hanya yang disebutkan di atas, melainkan sudah ada fungsi-fungsi trigonometri,
bilangan
kompleks,
akar
kuadrat
dan
logaritma. Matlab mirip dengan kalkulator tersebut, tetapi dengan fitur-fitur yang lengkap diantaranya dapat digunakan untuk memprogram, aplikasi berbasis GUI dan lengkap dengan toolbox yang dapat dimanfaatkan untuk memecahkan masalah sains dan teknik. Untuk lebih memahami tentang pemrograman Matlab tersebut maka dilakukanlah percobaan ini.
B. Tujuan Percobaan Adapun tujuan dari percobaan yang akan dilakukan adalah sebagai berikut :
1. Mahasiswa memahami teknik dan sintak-sintak yang biasa dipakai dalam perangkat lunak Matlab. 2. Mahasiswa memahami dasar pemrograman Matlab dalam komputasi fisika. 3. Mahasiswa dapat membuat program Matlab untuk menyelesaikan persamaan fisika sederhana menggunakan metode numerik umum (Euler). II. TINJAUAN PUSTAKA 4. A. Pengertian Matlab 5. 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 dan Komputasi Pembentukan Algorithm Akusisi Data Pemodelan, simulasi, dan pembuatan prototype Analisa data, explorasi, dan visualisasi Grafik Keilmuan dan bidang Rekayasa 6. 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 (Anonim, 2012). 7. 8. Yang perlu dicatat bagi para pengguna matlab, dalam Matlab ada banyak toolbox. Toolbox memungkinkan untuk dipelajari dan diaplikasikan pada teknologi tertentu. Toolbox adalah kumpulan fungsi dalam Matlab yang komprehensif yang digunakan untuk menyelesaikan kelas problem di bidang tertentu. Berbagai toolbox dalam Matlab antara lain signal processing, control system, neural networks, fuzzy logic, wavelets, simulation, statistics,
9. optimization, bioinformatics, genetic algorithm dan lain-lain. Matlab adalah alat standar untuk kuliah pendahuluan maupun kuliah lanjut untuk matematika, teknik dan sains. Di dunia industri, Matlab termasuk software pilihan un tuk melakukan kegiatan riset, pengembangan dan analisis (Santosa, 2008). 10. B. Komputasi dengan Matlab 11. Metode komputasi mempunyai dua landasan yaitu matematika dan komputer. Matematika untuk formulasi masalah, sedangkan komputer digunakan supaya perintah-perintah yang berulang dapat diselesaikan secara otomatis. Cara berpikir dalam menyelesaikan masalah biasanya dirumuskan dalam suatu algoritma. Urutan penyelesaian masalah adalah sebagai berikut : Perumusan masalah Algoritma Flowchart Penulisan kode program Kompilasi Eksekusi program 12. Bahasa pemrograman yang dapat digunakan bermacam-macam, di antaranya yang paling banyak digunakan sebagai berikut :
Matlab C, C++ Pascal BASIC Delphi
13. Tentu saja masih ada paket-paket software pemrograman yang lain. Namun pada dasarnya bahasa pemrograman apapun dapat digunakan (Pujiyanta, 2007). 14. 15. Penggunaan Matlab sebagai aplikasi dalam penyelesaian masalah fisika komputasi adalah dengan adanya fungsi-fungsi yang tersedia pada Matlab. Fungsi bawaan pada Matlab, antara lain :
Fungsi Trigonometri 16. Ada beberapa fungsi matematika.
trigonometri
Fungsi-fungsi
tersebut
yang
kita
kenal
dalam
masuk
ke
dalam
fungsi
bawaan Matlab. Fungsi-fungsi trigonometri tersebut antara lain:
sin(), cos(), tan(), sinh(), cosh(), tanh(), asin(), acos(), atan(), asinh(), acosh() dan atanh(). Yang penting untuk diingat bahwa
argumen untuk fungsi trigonometri ini adalah mode radian. Fungsi Dasar Matlab 17. disamping fungsi trigonometri, fungsi-fungsi dasar juga penting. Beberapa fungsi dasar tersebut antara abs(), sqrt(), exp(), log(), log10(), log2() (Anonim, 2011). III.
LISTING PROGRAM
18. 19. A. Algoritma Pemrograman 20. Adapun algoritma pemrograman dari percobaan yang akan dilakukan adalah sebagai berikut : 1. Pemilihan Bersyarat 21. 22. 23. 24. 25.
Mulai If (syarat 1) Intruksi 1
26. 27.
Elseif (syarat 2)
28. 29.
Intruksi 2
30. 31.
Else
32. 33. 34.
Intruksi 3
35. 36. 37.
selesai
38. 39. 40.
12
2. Pemilihan Kasus 3. 4. Mulai
5.
Switch Variabel
6. 7.
Case {nilai 1}
8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Intruksi 1 Case {nilai 2} Intruksi 2 Case {nilai 3} Intruksi 3
20.
Otherwise
21. 22. 23.
Intruksi n
24. selesai
25. 26. 27. Perulangan dengan for 28. 29. 30.
Mulai For var = n1:n2:n3
31. 32. 33. 34. 35.
Perulangan ke-“,n
Intruksi-intruksi
selesai
13
36. 37. 38. 39. 40. Perulangan dengan while 41. 42. 43.
Mulai while (syarat)
44. 45. 46. 47. 48.
Input parameter
Intruksi-intruksi
selesai
49. 50. B. Listing Program 51. Adapun listing program dari percobaan yang dilakukan adalah sebagai berikut : 1. Instruksi seleksi 52. if nargin ~=3 53. error ('diperlukan input 3 data warna') 54. end 55. if ~ischar (a)|~ischar (b)|if ~ischar (c) 56. error('input harus karakter') 57. end 58. % menyelesaikan nilai resistor 59. Vals=zeros (1,3); 60. abc=[a, b, c]; 61. for 1=1:3 62. band = lower (abc (i)); 63. if strncmp(band, 'h', 1) % hitam 64. vals (i)= 0; 65. elseif strncmp(band, 'c', 1) % coklat 66. vals (i)= 1;
14
67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
elseif strncmp(band, 'm', 1) % merah vals (i)= 2; elseif strncmp(band, 'o', 1) % oranye vals (i)= 3; elseif strncmp(band, 'k', 1) % kuning vals (i)= 4; elseif strncmp(band, 'i', 1) % ijo/hijau vals (i)= 5; elseif strncmp(band, 'b', 1) % biru vals (i)= 6; elseif strncmp(band, 'u', 1) % ungu vals (i)= 7; elseif strncmp(band, 'a', 1) % abu-abu vals (i)= 8; elseif strncmp(band, 'p', 1) % putih vals (i)= 9; else error (['kode warna tidak dikenal', band]) end end if vals (1) == 0 error ('warna pertama tdk boleh hitam') end r=(10*vals(1)+vals(2))*10^vals(3); disp('nilai tahanan = ') disp(r) return
15
94.
2. Instruksi perulangan 95.
96.
3. Instruksi Grafis
97.
16
98.
99.
100.
17
101. IV. HASIL RUNNING DAN PEMBAHASAN 102. 103. 104. A. Hasil Running 105. Adapun hasil running yang diperoleh dari percobaan adalah sebagai berikut :
am
18
bar
19
20
21
B. Pembahasan 106.
Pada percobaan yang telah dilakukan, untuk percobaan instruksi
seleksi pemilihan bersyarat program yang digunakan adalah if else atau elseif. Dengan menggunakan program elseif, memudahkan pengguna Matlab dalam menginstruksikan untuk memilih atau menyeleksi dan instruksi perulangan. Program if elseif dapat berguna jika instruksi sesuai dengan syarat yang harus dipenuhi. Kemudian fungsi dalam Matlab dibuat dengan menggunakan keyword function dan di akhiri dengan keyword end. Function Matlab ditulis pada m-file, fungsinya sebagai program yang bisa dipanggil oleh program lain. Pada percobaan pertama fungsi yang diberikan adalah kata resistor, jadi untuk memanggilnya pada program lain harus menggunakan kata resistor. Untuk kendala yang ada pada percobaan pertama ini adalah kesalahan pada saat pemanggilan fungsi “function resistor” dengan tulisan resitor. 107.
22
108.
Untuk percobaan kedua merupakan pemilihan kasus dengan
menggunakan program if case. Perbedaan penggunaan if else dan if case, yaitu if else berfungsi melibatkan pernyataan majemuk yaitu pernyataan A dan B. Jika pernyataan bukan merupakan pernyataan A, maka yang akan dijalankan merupakan pernyataan B. Sedangkan if case merupakan pernyataan yang dirancang khusus untuk mengambil keputusan yang melibatkan sejumlah alternative. Blok code If Case merupakan penyederhanaan dari statemen if else. jika if else efektif untuk beberapa alur percabangan, Switch Case akan efektif jika digunakan dalam jumlah percabangan yang sangat banyak. 109. 110.
Untuk percobaan ketiga merupakan instruksi perulangan dengan
penggunaan program for dan while. Adapun perbedaan penggunaan dari for dan while, yaitu while digunakan untuk melakukan proses perulangan selama kondisi ekspresi terpenuhi. Begitu kondisi sudah tidak terpenuhi lagi,maka proses perulangan akan langsung dihentikan. Sedangkan for digunakan untuk melakukan proses perulangan selama kondisi ekspresi terpenuhi dengan jumlah perulangan yang dapat diketahui. Akan tetapi pada while bergantung pada nilai ekspresi. 111. setiap
Untuk percobaan keempat merupakan instruksi grafis dimana pada program
yang
diberikan
pada
command
window
akan
menghasilkan bentuk grafik. Pada program pertama menghasilkan gambar grafik berupa nilai sinus dan cosinus grafik vektor x terhadap y dan grafik vektor
x
terhadap
z.
23
Pada program kedua menghasilkan gambar grafik vektor x terhadap y dengan memberi label pada sumbu x dan sumbu y.
24
112.
113. sudut
Pada program ketiga menghasilkan gambar grafik polar dengan 0,2π
dan
jari-jari
sebesar
sin
π
cos
π.
25
Pada program keempat menghasilkan gambar grafik berbentuk 3D dari matriks z.
26
114.
27
V.
KESIMPULAN 115. 116. Adapun kesimpulan yang diperoleh dari percobaan kali ini adalah sebagai berikut : 1.
117. https://iikzvera.wordpress.com/2012/11/25/dasar-penggunaanmatlab/ 118. https://www.google.co.id/webhp?sourceid=chromeinstant&rlz=1C1NHXL_idID712ID712&ion=1&espv=2&ie=UTF-8#