E N D
FISIKA KOMPUTASI PEND. FISIKA UIN ALAUDDIN
Komputerdiciptakanuntukmembantumanusiadalammelakukankomputasi yang rumit agar hasilnyadapatdiperolehdalam tempo singkatdenganketepatan yang bisaditerima. Berbagaipersoalanfisikamemerlukankomputasi yang cukuprumitapabiladikerjakansecaraanalitikdan manual.
Aproksimasipenyelesaiankemudiandiperkenalkanuntukmenyederhanakanpenyelesaikaneksak. Metode numeric diciptakanuntukmelakukanaproksimasiinidalampencariansolusipersoalanrumit.
Fisika Komputasi merupakan suatu gabungan antara Fisika,Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang komplek” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat.
Pemahaman fisika pada teori, experimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualizasi /pemodelan yang tepat untuk memahami masalah Fisika. Untuk melakukan perkerjaan seperti evaluasi integral,penyelesaian persamaan differensial, vector, matriks,penyelesaian persamaan simultans, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan komplek yang menjadi tujuan penerapan fisika komputasi.
PendahuluanI.1. PengantarPemrogramanMatlab • MatlabmerupakansingkatandariMATrixLABoratory, suatuperangkatlunakmatematis yang menggunakan vector danmatrikssebagaielemen data utama. MATLAB diciptakandiUniversitas Mexico Dan Stanford University ditahun 70-an, yang kemudiantahundemitahundisempurnakanhinggasaatini. • Matlabmerupakanbahasapemrogramandengankemampuantinggidalambidangkomputasi. • Mengapakitamemilihbahasapemrogramanmatlab?
Saatinibahasapemrogramantidakhannyadituntutmemilikikemampuandarisegikomputasi, tetapijugakemampuanvisualisasi yang baik. Matlabmemilikikemampuanmengintegrasikankomputasi, visualisasi, danpemrograman. Dalammemvisualisasikansebuahobyek, matlabmemilikikemampuanmerotasiobyektanpamengubahprogramnya.
I.2. BagianPentingMatlab • Beberapabagianpentingdalammatlabadalah: • Command Window (JendelaPerintah) Padajendelaperintah, semuaperintahdituliskandandieksekusi. Kita dapatmenuliskanperintah yang diperlukansepertiperhitunganbiasa, memanggilfungsi (help), demo program, dsb. Setiappenulisanperintahselaludiawalidengan prompt “>>” Misalnyakitaakanmencarihasildariakardari 254 , makadalamjendelakitamenuliskan:
>>sqrt(254) ans = 15.9374
Workspace (JendelaKerja) • Jendelakerjamerupakansebuahjendelamatlab yang berisiinformasipemakaian variable didalammemorimatlab. Misalnya, kitaakanmencariluaspersegipanjang, makapadajendelaperintahkitadapatmengetikkan:
> >panjang=5 panjang = 5 >> lebar=2 lebar = 2 >> luas=panjang*lebar luas = 10
I.3. ElemenDasarMatlaba. OperasiArimetika a. Penjumlahan : + misalnyaa+b b. Pengurangan : - misalnya a-b c. Perkalian : * d. Pembagian : / e. Perpangkatan : ^
contoh: >>a=3; >>b=5; >>(a+b)/2*5^2
b. Variabel Variabelpadamatlabharusdimulaidenganhuruf, bisadiikutidenganhuruf lain atauangka, maksimum 31 karakter. Nama variable denganhurufbesardianggapberbedadenganhurufkecil.
c. Konstanta/ Tetapan Beberapatetapan yang berlakupadamatlabadalahsebagaiberikut: • pi nilai π = 3.14152…. • epsnilai epsilon, bilangan natural e = • infnilaitakberhingga ∞ • iatauj nilaiimajiner • realminbilanganriilpositifterkecil • realmaxbilanganriilpositifterbesar
d. Tanda Baca • % digunakanuntukmengawalikomentar (comment) • ‘ digunakanuntukmemisahkanduapernyataandalamsebaris • … digunakanuntukmelanjutkanstatemenkebarisberikutnya
Contoh: >> %iniadalahcontohpemakaiantandabaca >>eraser=4, pads=6; tape=2 eraser = 4 tape = 2 >>cost=eraser*500 + pads*5000 + ......... tape*4500 cost = 41000
e. BilanganKompleks Bilangankompleksterdiriatasbilanganriildan imaginer, dimanabagianbagian imaginer diberi symbol iatauj. Misalnya
>> c1=1-2i c1 = 1.0000 - 2.0000i >> c2=3*(2-sqrt(-1)*3) c2 = 6.0000 - 9.0000i • >> c3=sqrt(-2) c3 = 0 + 1.4142i
>> c4=(c1+c2)/c3 c4 = -7.7782 - 4.9497i
f. Fungsi-fungsimatematis Beberapafungsimatematisdisediakanolehmatlabuntukmemudahkanparapenggunadalammelakukankomputasi, antara lain sebagaiberikut:
abs(x) mengambilnilai absolute dari variable x • acos(x) menghitungarcuscosinus x • acosh(x) menghitungnilaiarcuscosinushiperbolikusdari x • angle(x) menghitungbesarnyasudut yang dibentukolehbilangankompleks x • asin(x) menghitungnilaiarcus sinus x • asinh(x) menghitungnilaiarcus sinus hiperbolikusdari x
atan(x) menghitungnilaiarcustangens x • atanh(x) menghitungnilaiarcustangenshiperbolikusdari x • ceil(x) membulatkankeatasdaribilanganpecahan • cos(x) menghitungnilaicosinus x • cosh(x) menghitungnilaicosinushiperbolikusdari x • exp(x) menghitungnilai ex
fix(x) mengambilnilaibulatdarisuatupecahan • floor(x) pembulatannilaipecahankebawah • gcd(x,y) menghitung PPT (Persekutuan PembagiTerbesar) darix,y • imag(x)mengambilbagian imaginer daribilangankompleks x • lcm(x,y)menghitungpersekutuanpengaliterkecildari x dan y • log(x)menghitunglogaritma natural (ln) dari x • log10(x)menghitunglogaritmadari x • real(x)mengambilbilanganriildaribilangankompleks x
rem(x,y)meghitungsisapembagiandari x/y • round(x)pembulatanpecahankebilanganterdekat, round(4.3)=4 • sinh(x)menghitungnilai sinus hiperbolikusdari x • sqrt(x)menghitungakardari x • tan(x)menghitungnilaitanngens x
contoh: >> a=3,b=4; a = 3 >> y=sqrt(a^2+b^2) y = 5
2. VEKTOR DAN MATRIKS Padahakikatnyamatlabhanyamengenalsatumacamstruktur data, yaitumatriks. Skalaradalahmatriks 1x1, vector barisadalahmatriks 1xN, dan vector kolomadalahmatriks Nx1, danmatriksadalahlarikNxM, dengan N adalahbarisdan M adalahkolom.
>> a=[1 2 3 4] a = 1 2 3 4 >> b=[1; 2; 3; 4] b = 1 2 3 4
>> b b = 1 2 3 4
>> d=a+i*a d = Columns 1 through 3 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i Column 4 4.0000 + 4.0000i
>> M=[4 2 1;3 2 1;5 7 6] M = 4 2 1 3 2 1 5 7 6
>> E=[1 pi;0 -1;3 sqrt(-1)] E = 1.0000 3.1416 0 -1.0000 3.0000 0 + 1.0000i
Beberapafungsiuntukmemanipulasimatriksdisediakanolehmatlabsebagaiberikut:Beberapafungsiuntukmemanipulasimatriksdisediakanolehmatlabsebagaiberikut: • det(M) menghitungdeterminandarimatriks M • eig(M) menghitungnilaieigendarimatriks M • inv(M) menghitung inverse matriks M • logm(M) menghitunglogaritmamatriks M
sqrtm(M) mencariakardarimatriks M • trace(M) menjumlahkanelemen diagonal darimatriks M • eye(M) membentukmatriks diagonal identitas 3 x 3 • magic(n) membentukmatriksajaib n x n • ones(3) matriks 3 denganelemensemua 1 • zeros(3) matriks 3 denganelemensemua 0 • rand(3) matriks 3 denganelemenbilanganacakantara 0-1
OperasiMatriks • OperasiPenjumlahan • OperasiPerkalianduaMatriks • PerkalianMatriksdanSkalar • OperasiPerpangkatanMatriks • DeterminanMatriks • InversMatriks • Transpose