Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

MK Dasar Komputer (ENG SKS)

Presentasi serupa


Presentasi berjudul: "MK Dasar Komputer (ENG SKS)"— Transcript presentasi:

1 MK Dasar Komputer (ENG12615 - 2 SKS)
MATLAB: M-File dan Operasi Larik Ir. Abdul Wahid, MT. Dept. of Gas and Petrochemical Eng. Faculty of Eng., University of Indonesia Mei 2005 Home

2 Dept. of Gas and Petrochemical Eng.
4 SCRIPT M-FILE MATLAB Programming Ir. Abdul Wahid, MT. Dept. of Gas and Petrochemical Eng. Faculty of Eng., University of Indonesia

3 Daftar Isi Strategi Penulisan Program Script dan M-File Membuat M-File
Memanggil M-File Simulasi dengan M-File Prioritas Pengerjaan di MATLAB Echo On dan Echo Off Kegunaan Komentar dalam M-File Fungsi-fungsi yang Berguna pada M-File Contoh Penggunaan Fungsi Perintah Input Fungsi Input dan Fungsi Lain Efek Perintah Echo pada M-File

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 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 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 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 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 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 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 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 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 Contoh Penggunaan Fungsi
>> kons_awal % cara biasa untuk menampilkan hasil kons_awal = 90 >> disp(kons_awal) % menampilkan hasil tanpa menampilkan nama variabel

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 = 0.0100 n = 59

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

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 = 0.2500 n=floor(log(Kons_awal/Kons_min)/log(1+lost)) n = 2 echo off

17 Dept. of Gas and Petrochemical Eng.
5 FILE CONTROL MATLAB Programming Ir. Abdul Wahid, MT. Dept. of Gas and Petrochemical Eng. Faculty of Eng., University of Indonesia

18 Daftar Isi Fungsi Sistem File Contoh Fungsi Sistem File
Alamat Pencarian MATLAB MATLAB dalam Kondisi Awal

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 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 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 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 Dept. of Gas and Petrochemical Eng.
6 ARRAY OPERATION MATLAB Programming Ir. Abdul Wahid, MT. Dept. of Gas and Petrochemical Eng. Faculty of Eng., University of Indonesia

24 Daftar Isi Pendahuluan Array Sederhana Berbagai Cara Penulisan
Pengalamatan Array Orientasi Array Matematika Array-Skalar Matematika Array-Array Array dengan Elemen Bilangan Satu atau Bilangan Nol Memanipulasi Array Pencarian Sub-Array Pembandingan Array Ukuran Array Array Multidimensi Contoh 1: Peluruhan Radioaktif Menggunakan Array Contoh 2: Perhitungan Konsentrasi dengan Matematika Array Contoh 3: Mencari Suatu Penyelesaian Menggunakan Vektor

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 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 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 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 Pengalamatan Array x(1,6) = ?  1.5708 >> sin(x(1,6)) ans = 1
0.5878

30 Orientasi Array >> x2=x' %transpose dari x x2 = 0.3142 0.6283
0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274 3.1416 >> y=sin(x2) y = 0.3090 0.5878 0.8090 0.9511 1.0000 0.0000

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 Contoh Operasi Titik Transpose
>> A=[3 2i 3;1 2 i;4i 1 1] A = i i i >> B=A' B = i i i >> C=A.' C = i i i

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

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 Matematika Array-Array (2)
Data ilustrasi : a=[a1 a2 …an], b=[b1 b2 ..bn], c=<a skalar> 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 Matematika Array-Array (3)
>> m5=m1*m2 ??? Error using ==> * Inner matrix dimensions must agree. >> m5=m1.*m2 m5 = >> m5=m1./m2

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

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 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 Memanipulasi Array (3) >> m6=ones(3) m6 = 1 1 1
>> m6(2,3)=0 >> m6(2,3)=7

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 Pencarian Sub-Array (2)
>> k=find(abs(m3)>5) k = 2 4 6 7 8 9 10

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

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 Ukuran Array (2) >> a = size(A) a =

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 Array Multidimensi (2) >> d=cat(3,a1,b1,c) d(:,:,1) = 1 0 0 1
d(:,:,2) = d(:,:,3) = >> size(d) ans = >> a1=[1 0;0 1] a1 = >> b1=[2 2;2 2] b1 = >> c=[16 1;1 16] c =

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 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 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 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 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 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 n(rem(n,4)~=1)=[]; % fungsi rem menghitung sisa hasil bagi n(rem(n,5)~=1)=[]; n(rem(n,6)~=1)=[]; n >> number = 142 71 24 12 2 n =


Download ppt "MK Dasar Komputer (ENG SKS)"

Presentasi serupa


Iklan oleh Google