Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Home. 2 3 Daftar Isi 1. Strategi Penulisan Program 2. Script dan M-File 3. Membuat M-File 4. Memanggil M-File 5. Simulasi dengan M-File 6. Prioritas.

Presentasi serupa


Presentasi berjudul: "Home. 2 3 Daftar Isi 1. Strategi Penulisan Program 2. Script dan M-File 3. Membuat M-File 4. Memanggil M-File 5. Simulasi dengan M-File 6. Prioritas."— Transcript presentasi:

1 Home

2 2

3 3 Daftar Isi 1. Strategi Penulisan Program 2. Script dan M-File 3. Membuat M-File 4. Memanggil M-File 5. Simulasi dengan M-File 6. Prioritas Pengerjaan di MATLAB 7. Echo On dan Echo Off 8. Kegunaan Komentar dalam M-File 9. Fungsi-fungsi yang Berguna pada M-File 10. Contoh Penggunaan Fungsi 11. Perintah Input 12. Fungsi Input dan Fungsi Lain 13. Efek Perintah Echo pada M-File

4 4 Strategi Penulisan Program ► Jika masalah yang dihadapi sederhana, mengetikkan beberapa perintah langsung di jendela Command memang cukup cepat dan efektif ► Jika  jumlah perintahnya sangat banyak, atau  ingin mengubah nilai beberapa variabel dan kemudian mengulang kembali perhitungannya, cara di atas membosankan ► Ada sarana untuk  mengetikkan deretan perintah dalam suatu teks file  kemudian memerintahkan MATLAB untuk membuka file tersebut  menjalankannya seolah-olah diketikkan langsung di jendela Command ► File seperti itu dinamakan file script atau M-file

5 5 Script dan M-File ► Kata “script” berarti bahwa MATLAB hanya membaca dari “script” yang ditemukan dalam file ► Kata “M-file” berasal dari aturan bahwa nama file script harus diakhiri dengan ekstensi ‘.m’, misalnya contoh1.m

6 6 Membuat M-File ► Pilih New dari menu File dan pilih M-file ► Cara lain: klik ikon New M-file pada toolbar ► Suatu jendela editor teks ditampilkan

7 7 Memanggil M-File ► Untuk memanggil M-file yang sudah dibuat, tinggal ketikkan nama M-file itu di jendela Commad, maka MATLAB akan mengeksekusi semua perhitungan yang sudah ditulis di M-file ► Eksekusi (running) juga bisa dilakukan dengan mengklik ikon (Run) pada toolbar >> asam n = 59

8 8 Simulasi dengan M-File ► Dengan M-file kita bisa melakukan simulasi suatu perhitungan ► Jika suatu variabel diubah harganya, apa yang terjadi? ► Dengan melakukan eksekusi, jawaban atas pertanyaan tersebut akan terjawab langsung ► Dengan M-file, perintah-perintah akan disimpan dalam disk untuk sesi MATLAB berikutnya

9 9 Prioritas Pengerjaan di MATLAB ► MATLAB memprioritaskan variabel-variabel aktif dan perintah- perintah MATLAB standar sebelum nama M-file ► Jika asam bukan nama suatu variabel aktif atau suatu perintah standar MATLAB, MATLAB membuka file asam.m (jika ada) dan mengerjakan perintah-perintah yang ditemukan dalam file tersebut ► Perintah-perintah yang ada di M-file dapat mengakses semua variabel yang ada di ruang kerja MATLAB dan semua variabel yang dibuat oleh perintah dalam M-file menjadi bagian dari ruang kerja MATLAB ► Biasanya perintah yang dibaca dari M-file tidak ditampilkan jika sedang dievaluasi

10 10 Echo On dan Echo Off ► Perintah echo on membuat perintah-perintah yang ditemui dalam M-file ditampilkan lagi saat dikerjakan ► Sebaliknya jika ada perintah echo off

11 11 Kegunaan Komentar dalam M-File ► Kegunaan komentar menjadi jelas dalam penggunaan M-file ► Komentar memungkinkan kita untuk mendokumentasikan perintah-perintah yang terdapat dalam script sehingga dapat mengingat yang dikerjakan perintah-perintah tersebut jika pada suatu saat membuka kembali script tersebut ► Penggunaan titik koma pada akhir perintah mengatur penampilan dari hasil suatu perintah sehingga hasil- hasil yang penting yang ditampilkan

12 12 Fungsi-fungsi yang Berguna pada M-File disp(ans) Menampilkan hasil tanpa menampilkan nama variabel echo Mengatur jendela command dalam penampilan kembali perintah yang sedang dikerjakan input Meminta pemakai untuk memberikan input keyboard Memberikan kontrol pada keyboard sementara waktu. Ketikkan Enter untuk kembali pause Berhenti sampai pemakai menekan kembali sembarang tombol pause(n) Berhenti selama n detik waitforbuttonpress Berhenti sampai ada penekanan tombol mouse atau tombol keyboard

13 13 Contoh Penggunaan Fungsi >> kons_awal % cara biasa untuk menampilkan hasil kons_awal = 90 >> disp(kons_awal) % menampilkan hasil tanpa menampilkan nama variabel 90

14 14 Perintah Input % contoh1.m script file untuk masalah konsentrasi asam Kons_awal=90; Kons_min=50; lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/100 n=floor(log(Kons_awal/Kons_min)/log(1+lost)) Kalau M-file ini dijalankan, maka hasilnya: Masukkan konsentrasi asam yang hilang setiap pencelupan = 1 lost = n = 59

15 15 Fungsi Input dan Fungsi Lain >> contoh1 Masukkan konsentrasi asam yang hilang setiap pencelupan = round(sqrt(13))+3 lost = n = 8

16 16 Efek Perintah Echo pada M-File echo on % contoh1.m script file untuk masalah konsentrasi asam Kons_awal=90; Kons_min=50; lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/100 n=floor(log(Kons_awal/Kons_min)/log(1+lost)) echo off >> contoh1b % contoh1.m script file untuk masalah konsentrasi asam Kons_awal=90; Kons_min=50; lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/100 Masukkan konsentrasi asam yang hilang setiap pencelupan = 25 lost = n=floor(log(Kons_awal/Kons_min)/log(1+lost)) n = 2 echo off

17 17

18 18 Daftar Isi 1. Fungsi Sistem File 2. Contoh Fungsi Sistem File 3. Alamat Pencarian MATLAB 4. MATLAB dalam Kondisi Awal

19 19 Fungsi Sistem File ► MATLAB menyediakan sejumlah fungsi sistem file dan perintah-perintah yang memungkinkan:  Menampilkan daftar nama file  Menghapus dan melihat isi M-file  Melihat atau mengubah direktori atau folder aktif ► Dapat juga melihat dan memodifikasi Alamat Pencarian MATLAB yang dinamakan matlabpath ► Fungsi-fungsi MATLAB sesungguhnya adalah M-file yang tersimpan dalam disk ► Jika yakin keberadaan suatu fungsi namun MATLAB tidak menemukannya, kemungkinan besar fungsi tersebut tidak berada di matlabpath

20 20 Contoh Fungsi Sistem File Addpath dir1 Menambahkan direktori dir1 pada awal matlabpath cd Menampilkan direktori atau folder aktif saat ini P=cd Menyimpan data direktori atau folder aktif dalam variabel P cd path Mengubah direktori atau folder ke direktori atau folder yang diberikan oleh path delete test.m Menghapus M-file bernama test.m exist(‘cow’, ‘file’) Mengecek ada atau tidaknya file ‘cow.m’ pada matlabpath ls Sama dengan dir tempdir Nama direktori sementara

21 21 Alamat Pencarian MATLAB ► Umumnya jika mengetikkan >>cow, inilah yang dikerjakan oleh MATLAB:  Mengecek apakah cow suatu variabel dalam ruang kerja MATLAB; jika tidak…  Mengecek apakah cow suatu fungsi standar MATLAB; jika tidak...  Mengecek apakah suatu M-file yang bernama cow.m ada dalam direktori yang sedang aktif; jika tidak…  Mengecek apakah cow,m ada di suatu tempat dalam alamat pencarian MATLAB, dengan mencari pada path sesuai urutan yang ada

22 22 MATLAB Dalam Kondisi Awal ► Saat MATLAB mulai dijalankan, MATLAB mengeksekusi dua file script, matlabrc.m dan startup.m ► File matlabrc.m dibuat sendiri oleh MATLAB dan sebaiknya jangan dimodifikasi ► Perintah-perintah dalam M-file ini mengatur ukuran window, penempatannya, dan sejumlah fasilitas lainnya ► File startup.m biasanya berisi perintah-perintah untuk menambahkan berbagai fasilitas yang dirancang sendiri oleh pemakai

23 23

24 24 Daftar Isi 1. Pendahuluan 2. Array Sederhana 3. Berbagai Cara Penulisan 4. Pengalamatan Array 5. Orientasi Array 6. Matematika Array-Skalar 7. Matematika Array-Array 8. Array dengan Elemen Bilangan Satu atau Bilangan Nol 9. Memanipulasi Array 10. Pencarian Sub-Array 11. Pembandingan Array 12. Ukuran Array 13. Array Multidimensi 14. Contoh 1: Peluruhan Radioaktif Menggunakan Array 15. Contoh 2: Perhitungan Konsentrasi dengan Matematika Array 16. Contoh 3: Mencari Suatu Penyelesaian Menggunakan Vektor

25 25 Pendahuluan ► Semua komputasi yang dikerjakan sejauh ini hanya melibatkan bilangan tunggal yang disebut skalar ► Operasi skalar merupakan dasar matematika ► Jika ingin melakukan operasi yang sama pada beberapa bilangan, perulangan operasi skalar akan menghabiskan waktu dan tidak praktis ► Untuk mengatasi masalah ini MATLAB menyediakan operasi array (larik) data

26 26 Array Sederhana ► Y = sin(x); 0 ≤ x ≤  ► Harus dibuat x secara inkremental, misal dengan kenaikan 0.1  : x = 0, 0.1 , 0.2 , …,  ► Dengan MATLAB: x=[0 0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pi] y = sin(x)

27 27 Pembentukan Array x=[2 2*pi sqrt(2) 2-3] menciptakan vektor baris x yang memuat elemen elemen yang diberikan x=awal: akhir membuat vektor baris x dimulai dari awal, kenaikan satu diakhiri pada atau sebelum akhir x=awal:kenaikan:akhir membuat vektor baris x diawali dengan awal kenaikan sebesar kenaikan diakhiri pada atau sebelum akhir x=linspace(awal,akhir,n) menciptakan vektor baris x diawali dengan awal, berakhir dengan akhir mempunyai n elemen x=logspace(awal,akhir,n) menciptakan vektor kolom dengan elemen elemen berjarak logaritmis dimulai dengan 10 diakhiri dengan 10 mempunyai n elemen

28 28 Berbagai Cara Penulisan ► x=[0 0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pi] ► x=[ ]*pi ► x=[0:0.1:1]*pi ► x=linspace(0,1,11)*pi

29 29 Pengalamatan Array ► x(1,6) = ?  >> sin(x(1,6)) ans = 1 >> sin(x(1,9)) ans =

30 30 Orientasi Array >> x2=x' %transpose dari x x2 = >> y=sin(x2) y =

31 31 Operator Titik Transpose ► Sebagai tambahan, pada MATLAB disediakan operator titik transpose dengan diawali titik. ► Operator titik transpse ini diinterprestasikan sebagai transpose konjugasi non-kompleks. ► Jika suatu array merupakan array kompleks, transpose (‘) memberikan transpose konjugasi kompleks, yaitu tanda dari bagian imajiner yang berubah sebagai akibat operasi transpose. ► Tetapi titik transpose melakukan transpose pada array namun tidak melakukan konjugat pada dirinya.

32 32 Contoh Operasi Titik Transpose >> A=[3 2i 3;1 2 i;4i 1 1] A = i i i i i i >> B=A' B = i i i i i i >> C=A.' C = i i i i i i

33 33 Matematika Array-Skalar >> m1=[ ; ] m1 = >> m2=[ ; ] m2 = >> m3=m1*3-4 m3 =

34 34 Matematika Array-Array (1) ► Jika operasi array dilakukan pada dimensi yang tidak sama susah untuk didefenisikan. ► Jika dua vektor mempunyai dimensi yang sama, penambahan, pengurangan, perkalian, dan pembagian berlaku pada elemen ke elemen. ► Perkalian bisa menggunakan *, pembagian menggunakan garis miring kiri atau kanan, pemangkatan array dengan simbol ^

35 35 Matematika Array-Array (2) Data ilustrasi : a=[a1 a2 …an], b=[b1 b2..bn], c= Data ilustrasi : a=[a1 a2 …an], b=[b1 b2..bn], c= Penambahan skalar a+c=[a1+c a2+c … an+c] Perkalian skalar a*c=[a1*c a2*c … an*c] Penambahan array a+b=[a1+b1 a2+b2 … an+bn] Perkalian array a.*b=[a1*b1 a2*b2 … an*bn] Pembagian kanan array a./b=[a1/b1 a2/b2 … an/bn] Pembagian kiri array a.\b=[a1\b1 a2\b2 … an\bn] Pemangkatan array c.^a=[c^a1 c^a2 … c^an] a.^c=[a1^c a2^c … an^c] a.^b=[a1^b1 a2^b2 … an^bn]

36 36 Matematika Array-Array (3) >> m5=m1*m2 ??? Error using ==> * Inner matrix dimensions must agree. >> m5=m1.*m2 m5 = >> m5=m1./m2 m5 =

37 37 Array dengan Elemen Bilangan Satu atau Bilangan Nol >> ones(5) ans = >> ones(2,5) ans = >> zeros(3,4) ans =

38 38 Memanipulasi Array (1) ► MATLAB menyediakan cara mudah untuk menyisipkan, mengambil dan mengatur kembali sebagian dari matriks dengan mendefenisikan subscript yang berkaitan. ► Saat mengakses sesuatu menjadi matriks kosong [], sesuatu itu akan terhapus, mengakibatkan matriks berkurang menjadi apa yang tertinggal. ► Penggunaan indeks tungggal pada matriks lebih mudah. ► Jika indeks tunggal digunakan, indeks dihitung setiap kolom ke bawah dimulai dengan kolom pertama. ► Selain menggunakan subcript untuk mengamati matriks, dapat juga digunakan array logika, jika ukuran array logika sama dengan yang di amati. ► Array logika adalah suatu array khusus dengan presisi ganda dalam MATLAB

39 39 Memanipulasi Array (2) A(r,c) mengamatai subarray dalam A dengan indeks baris yang diingini dalam r dan kolom yang diingini dalam c A(r,:) mengamati subarray dalam A dengan indeks baris yang diamati dalam r dan semua kolom diambil A(:,r) mengamati subarray dalam A dengan semua baris diambil dan indeks kolom yang diingini dalam r A(: ) mengamati semua elemen dalam A sebagai vektor kolom diambil kolom perkolom A( i ) mengamati subarray dalam A dengan indeks tunggal i dianggap A merupakan vektor kolom a(: ) A(x) mengamati subarray dalam A dengan array logika x; x harus mempunyai ukuran sama dengan A

40 40 Memanipulasi Array (3) >> m6=ones(3) m6 = >> m6(2,3)=0 m6 = >> m6(2,3)=7 m6 =

41 41 Pencarian Sub-Array (1) ► Seringkali perlu mengetahui indeks elemen sustu array yang memenuhi suatu ekspresi relasi. ► Dalam MATLAB masalah ini diselesaikan dengan fungsi find yang menghasilkan indeks elemen-elemen yang padanya nilai ekspresirelasi benar ► Jika suatu fungsi MATLAB menghasilkan dua atau lebih variabel, variabel-variabel itu akandisusun dalam tanda kurung kotak disisi kiri tanda sama dengan.

42 42 Pencarian Sub-Array (2) >> k=find(abs(m3)>5) k =

43 43 Pembandingan Array (1) ► Suatu saat didalam matrriks diperlukan perbandingan dua array. ► Fungsi isequal menghasilkan nilai logika Benar(1) jika dua array mempunyai dimensi sama dengan elemen- elemennya identik, jika tidak isequal akan menghasilkan nilai logika Salah(0). ► Fungsi ismember mengenali elemen-elemen identik dari dua array. ► Ismember menghasilkan nilai logoka benar untuk indeks-indeks yang ada dalam argumen kedua.Kedua argumen tidak harus mempunyai nilai yang sama.

44 44 Pembandingan Array (2) isequal(A,B) benar (Benar) jika A dan B identik ismember (A,B) benar (Benar ) jika suatu elemen A adalah juga elemen B intersect (A,B) nilai-nilai interaksi A dengan B setdiff(A,B) nilai-nilai A yang tidak terdapat dalam B setxor (A,B) nilai-nilai ekslusif OR A dengan B union (A,B) nilai-nilai hasil penggabungan A dengan B

45 45 Pembandingan Array (3) A=[1 2 3;4 5 6;7 8 9] B=A.*(-1)C=1:9isequal(A,C)isequal(A,B)isequal(A,A)isequal(C,C')ismember(A,B)ismember(A,C) >> A = B = C = Columns 1 through Columns 7 through ans = 0 ans = 0 ans = 1 ans = 0 ans = ans = 1 1 1

46 46 Ukuran Array (1) whos Menampilkan variabel yang ada dala ruang kerja MATLAB beserta ukurannya s=size(A) Menghasilkan vekror baris s, dengan elemen pertama adalah jumlah baris, dan elemen kedua adalah jumlah kolom A [r,c]=size(A) menghasilkan dua skalar r dan c yang memuat jumlah baris dan kolom A r=size (A,1) menghasilkan jumlah baris A dalam variabel r c=size (A,2) menghasilkan jumlah kolom A dalam variabel c n=length(A) menghasilkan max(sixe(A)) dalam variabel n jika A bukan matriks kosong

47 47 Ukuran Array (2) >> a = size(A) a =

48 48 Array Multidimensi (1) s=size(A) untuk A n dimensi, menghasilkan vektor baris n elemen dengan elemen ke I adalah ukuran dimensi ke I dari A ndims jumlah dimensi A yaitu length(size(A)) permute(A,order) ekuivalen dari dot transpose untuk n dimensi ipermute(A,order) balikan dari permute(A,order) shiftdim(A,n) menaikkan imensi A sejumlah bilangan bulat n squeeze (A) menghapus dimensi singleton, menghapus dimensi-dimensi yang lebih dari tiga

49 49 Array Multidimensi (2) >> a1=[1 0;0 1] a1 = >> b1=[2 2;2 2] b1 = >> c=[16 1;1 16] c = >> d=cat(3,a1,b1,c) d(:,:,1) = d(:,:,2) = 2 2 d(:,:,3) = >> size(d) ans = 2 2 3

50 50 Contoh 1: Peluruhan Radioaktif Menggunakan Array ► Elemen radioaktif polonium mempunyai waktu paruh 140 hari, yang berarti bahwa, karena radioaktif meluruh, jumlah polonium yang tertinggal setelah 140 hari adalah setengah dari jumlah semula. Jika dimiliki 10 gram polonium hari ini, berapa banyak yang tersisa pada akhir setiap minggu selama 10 minggu? ► Menggunakan solusi pada Bab 2: Jumlah_tertinggal=semula*0.5^(waktu/waktu_paruh)

51 51 MATLAB Contoh 1: radioaktif.m % Peluruhan Radioaktif semula=10; waktu_paruh=140; waktu=7:7:70 % akhir dari sepuluh minggu pertama Jumlah_tertinggal=semula*0.5.^(waktu/waktu_paruh) % titik tidak boleh lupa plot(waktu/7,Jumlah_tertinggal) xlabel('Jumlah Minggu'), ylabel('Jumlah Polonium Tersisa')

52 52 Contoh 2: Perhitungan Konsentrasi dengan Matematika Array ► Sebagai bagian dari suatu proses pembuatan suku cadang di suatu pabrik otomatis, suku cadang tersebut dicelupkan kedalam air agar dingin, kemudian dicelup di bak air asam untuk membersihkannya. Setelah beberapa lama maka konsentrasi larutan asam akan menurun karena penambahan air saat pencelupan dan larutan yang terbuang saat suku cadang tadi diambil dari bak. Untuk memelihara kualitas, keasaman larutan asam tidak boleh kurang dari suatu batas minimum. Dimulai dengan konsentrasi asam 90% maka jika konsentrasi minimum 50%, air yang ditambahkan ke dalam bak asam adalah 1% dari volume bak dan 1% dari larutan terbuang saat suku cadang dikeluarkan. Berapa banyak suku cadang dapat dicelupkan ke bak air asam sebelum keasaman larutan dalam bak ada di bawah batas minimum? ► Solusi sama dengan Bab 2

53 53 MATLAB Contoh 2: asam.m % Penentuan Konsentrasi Asam Kons_awal=90; Kons_min=50; lost=1:10 % 1% sampai 10% dengan kenaikan 1% n=floor(log(Kons_awal/Kons_min)./log(1+lost/100)) % ingat titiknya stem(lost,n) xlabel('persentase yang hilang setiap kali pencelupan') ylabel('jumlah pencelupan') title('Contoh Pencelupan Bak Air-Asam')

54 54 Contoh 3: Mencari Suatu Penyelesaian Menggunakan Vektor ► “Soal minggu ini” di suatu sekolah adalah menemukan semua bilangan lebih kecil dari 1000 yang habis dibagi 7, tetapi punya sisa pembagian 1 jika dibagi dengan 2, 3, 4, 5 dan 6 ► Tidak terdapat penyelesaian analitis untuk masalah ini. Jadi semua bilangan tersebut harus ditemukan lewat pencarian. Jika Anda memulainya dengan semua kelipatan 7 yang kurang dari 1000, semua bilangan yang tidak memenuhi syarat berikutnya dapat dibuang, sehingga menghasilkan solusi yang diinginkan

55 55 MATLAB Contoh 3: lipat7.m % Kelipatan 7 kurang dari 1000 habis dibagi 7, % sisa 1 jika dibagi 2, 3, 4, 5 dan 6 n=7:7:1000; % semua kelipatan 7 yang kurang dari 1000 number=length(n) % jumlah penyelesaian yang mungkin n(rem(n,2)~=1)=[]; % membuang yang bukan solusi number=length(n) n(rem(n,3)~=1)=[]; % mengesetnya sama dengan matriks kosong number=length(n) n(rem(n,4)~=1)=[]; % fungsi rem menghitung sisa hasil bagi number=length(n) n(rem(n,5)~=1)=[]; number=length(n) n(rem(n,6)~=1)=[]; number=length(n) n >> number = 142 number = 71 number = 24 number = 12 number = 2 number = 2 n =


Download ppt "Home. 2 3 Daftar Isi 1. Strategi Penulisan Program 2. Script dan M-File 3. Membuat M-File 4. Memanggil M-File 5. Simulasi dengan M-File 6. Prioritas."

Presentasi serupa


Iklan oleh Google