Tugas Akhir Mata Kuliah Metode Numerik
Dr. Kebamoto
Penggunaan Metode Numerik dan
MATLAB dalam Fisika
Oleh :
A. Arif Sartono
6305220017
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS INDONESIA
Daftar Isi
B. Jika file Bisection dijalankan di Common Window dihasilkan : 6 C. Sedangkan hasil plot atau gambarnya sebagai beikut : ... 6
TUGAS AKHIR ... 7
1. Soal Nomor 1 ………. 7
2. Penyelesaian ……… 7
3. Matrik A : ………. 8
4. Matriks-matriks ini jika diselesaikan dengan menggunakan MATLAB, 9 A. Metode Langsung : ………... 9
B. Metode Biasa ………. 11
C. Metode Gauss Seidel ... 14
D. Metode Cramer ... 18
5. Deskripsi Penulisan Variabel ... 22
PENUTUP ... 23
BAGIAN I
PENDAHULUAN
1. Metode Numerik
Seiring pesatnya perkembangan teknologi dan kemajuan zaman, maka
diperlukan suatu produk dengan ketelitian dan akurasi tinggi, dan waktu pengerjaan
yang singkat. Begitu juga dengan permasalahan dalam bidang ilmu pengetahuan
fisika murni maupun terapan, bidang rekayasa teknik metalurgi, mesin, elektro, sipil
dan lain-lain dituntut hal yang sama, dimana dalam suatu perhitungan dengan data
numerik membutuhkan ketelitian dan akurasi yang cukup baik. Pada saat teknologi
informasi belum ada atau boleh dikatakan belum maju pesat, para praktisi dan
profesional di bidang rekayasa teknik dan sain menganalisa dengan perhitungan
manual. Simplifikasi digunakan dimana struktur yang sangat kompleks
disederhanakan menjadi struktur yang lebih sederhana. Artinya akan terjadi
perbedaan dari suatu permodelan dengan kondisi aktual. Hal ini dilakukan untuk
menghindari kesulitan dalam analisa.
Adanya perkembangan teknologi informasi yang sangat pesat pada saat ini
mendorong para praktisi untuk mengembangkan cara baru agar pekerjaan analisa
dapat dilakukan dengan lebih baik dan lebih efektif. Metode kalkulasi dengan
matriks dapat dilakukan dengan mudah menggunakan teknologi informasi. Sudah
banyak persoalan di bidang teknik maupun sain yang dapat diselesaikan dengan
menggunakan permodelan matematika. Sering kali permodelan matematika tersebut
muncul dalam bentuk yang tidak ideal, sehingga tidak dapat diselesaikan dengan
menggunakan metode analitik untuk mendapatkan solusi sejatinya (exact solution).
Jika persoalan-persoalan yang kita hadapi tidak dapat diselesaikan dengan
metode permodelan matematika metode analitik menggunakan dalil-dalil kalkulus,
maka solusinya dapat diperoleh dengan metode numerik. Metode numerik secara
harafiah berarti suatu cara berhitung dengan menggunakan angka-angka, sedangkan
secara istilah metode numerik adalah teknik yang digunakan untuk
memformulasikan persoalan matematik sehingga dapat diselesaikan dengan operasi
aritmatika biasa.
Dengan menggunakan metode numerik, solusi exact dari persoalan yang
mendekati atau menghampiri solusi sejati sehingga solusi numerik dinamakan juga
solusi hampiran ( approximation solution). Pendekatan solusi ini tentu saja tidak
tepat sama dengan solusi sejati, sehingga ada selisih antara keduanya. Solusi tersebut
disebut solusi galat (error). Semakin kecil galat yang diperoleh berarti semakin dekat
solusi hampiran yang diperoleh dengan solusi sejatinya.
Pada saat sebelum perkembangan teknologi informasi belum pesat seperti
sekarang ini, ada dua cara pendekatan yang biasa digunakan jika suatu persoalan
tidak bisa diselesaikan dengan metode analitik, yaitu :
A. Solusi grafik dipakai untuk mencirikan suatu perilaku sistem, teknik ini kurang presisi karena sangat tergantung pada ketelitian penggambaran grafik.
B. Metode numerik secara manual. Secara teori pendekatan ini dapat digunakan dengan baik untuk penyelesaian masalah yang rumit, namun pada kenyataannya
seringkali menemui masalah. Masalah ini timbul biasanya karena kesalahan
kecil dalam perhitungan (Chapra & Canale, 1991)
C. Komputer dan metode numerik memberikan suatu alternatif pemecahan dari
masalah-masalah tersebut. Dengan menggunakan kemampuan komputer untuk
mendapatkan solusi langsung, hampir semua persoalan dapat diselesaikan tanpa
perlu penyederhanaan asumsi atau penggunaan teknik yang rumit. Selain
mempercepat perhitungan numerik, dengan komputer kita dapat mencoba
berbagai kemungkinan solusi yang terjadi akibat perubahan beberapa parameter
dan kriteria error.
Ada enam tahapan yang harus dilakukan dalam menyelesaikan persoalan dengan
metode numerik, yaitu :
a. Pemodelan, semua parameter dalam persoalan dimodelkan dalam bentuk
persamaan matematika. Penyederhanaan model, model matematika yang
diperoleh pada tahap pertama bisa saja masih kompleks. Untuk memudahkan
dan mempecepat kinerja komputer, model tersebut disederhanakan dengan
membuang parameter yang dapat diabaikan.
b. Formulasi numerik, setelah model matematika yang sederhana diperoleh,
tahap selanjutnya adalah memformulasikannya secara numerik, yaitu :
1.) Menentukan metode numerik yang akan digunakan beserta taksiran
analisis galat awal. Pemilihan metode didasari pada :
3.) Apakah metode tersebut mudah diprogram dan waktu eksekusinya cepat
?
c. Menyusun algoritma dari metode numerik yang dipilih.
d. Pemrograman, algoritma yang telah disusun diterjemahkan dalam program
komputer, dengan terlebih dahulu membuat flowchart-nya kemudian
dituliskan dalam bentuk program. (dengan menggunakan salah satu software
yang dapat mendukung untuk mempermudah pembuatannya, misalnya
MATLAB, sebagai catatan penulis juga akan menggunakan software ini)
e. Operasional, program komputer dijalankan dengan data uji coba sebelum
menggunakan data sebenarnya.
f. Evaluasi, bila program sudah selesai dijalankan dengan menggunakan data
sesungguhnya, hasil yang diperoleh diinterpretasi. Interpretasi meliputi
analisis hasil perhitungan dan membandingkannya dengan prinsip dasar dan
hasil-hasil empiric untuk menentukan kualitas solusi numerik.
2. Berbagai Metode
Dalam menyelesaikan data numerik diperlukan beberapa metode dan dari
metode-metode tersebut nantinya kita dapat menggunakan sarana komputer untuk
membantu menyelesaikan perhitungannya. Di sini akan dikemukakan 4 metode saja
yang berhubungan dengan tugas akhir penulis. Metode yang akan penulis gunakan
adalah :
A. Metode Langsung
Metode langsung ini artinya penyelesaian persoalan matematika diselesaikan
dengan cara menggunakan alat bantu yang sudah bisa menyelesaikan persoalan
tersebut. Metode langsung ini akan menggunakan bahasa pemrograman
MATLAB. Bahasa pemrograman matlab sudah memiliki berbagai fasilitas
untuk menyelesaikan persoalan-persoalan yang ada dan sering muncul. Jadi
perintah yang dipakai adalah dengan perintah yang sudah disediakan oleh
matlab.
B. Metode Biasa
Metode biasa ini maksudnya adalah bahwa persoalan matematika diselesaikan
dengan metode matematika biasa, yang memiliki cara-cara yang sudah lazim
digunakan. Dalam persoalan tugas nanti penulis memperoleh persoalan yang
menggunakan cara penyelesaian matematika operasi matriks, seperti
penggunaan determinan dan lain-lain.
C. Metode Gauss Seidel
Metode Gauss Seidel adalah suatu cara penyelesaian dengan menggunakan
iterasi. Kemudian dengan mengubah elemen matriks diagonalnya nol. Untuk
memulai perhitungan biasanya akan menggunakan tebakan awal.
D. Metode Cramer
Metode adalah metode yang menggunakan dasar perhitungan dengan cara
matriks juga, seperti mialnya matriks [Z][I]=[V] maka persamaannya dapat
dinyatakan sebagai
[ ] [ ]
Dengan bantuan komputer, langkah-langkah metode numerik
diformulasikan menjadi suatu program. Perkembangan teknologi yang antara lain
mencakup bahasa pemrograman telah melalui beberapa tahap. Pada awalnya bersifat
Low Level Language dengan diperkenalkannya bahasa assembly. Disusul
perkembangan bahasa dengan tingkat Middle dan High Level Language seperti
FORTRAN, C++, BASIC / Visual Basic, Pascal, COBOL dan lain-lain. Akhir-akhir
ini bahasa script pemrograman dijadikan alternatif bagi praktisi karena
kemudahannya dalam membuat suatu aplikasi program. Dalam membuat suatu
program dapat dilakukan dengan cara yang sangat mudah dengan waktu yang relatif
lebih singkat dibandingkan dengan menggunakan bahasa Middle dan High Level
Language. Tulisan ini membahas tugas aplikasi dengan menggunakan bahasa
pemrograman MATLAB. Program MATLAB ini dapat ditulis dengan menggunakan
perintah yang sangat sederhana, namun dapat mencakup tuntutan untuk
menyelesaikan persoalan menganalisis data. Sekarang ini MATLAB adalah salah
satu bahasa pemrograman yang banyak digunakan. MATLAB mampu menangani
perhitungan sederhana seperti penambahan, pengurangan, perkalian dan pembagian.
MATLAB juga mampu menyelesaikan perhitungan rumit, yang meliputi bilangan
kompleks, akar dan pangkat, logaritma dan fungi trigonometri. Seperti kalkulator
yang dapat diprogram, MATLAB dapat digunakan untuk menyimpan dan
mengambil data; dalam MATLAB juga dapat dibuat sekumpulan perintah untuk
mengotomatisasi suatu persamaan yang rumit, dan masih banyak lagi kemampuan
dapat mengembangkan dan melaksanakan program atau naskah, yang berisi perintah
MATLAB. Kita juga dapat melaksanakan perintah MATLAB, mengamati hasilnya,
dan kemudian melaksanakan sebuah perintah MATLAB lainnya yang berinteraksi
dengan data dalam memori, mengamati hasilnya.
A. Contoh Program MATLAB
Berikut ini adalah contoh program MATLAB dalam mencari akar-akar dengan
metode Bisection.
List Program
Program M-File dengan nama file Î bf1.m function y=bf1(x)
y=x^2-5*x+6;
B. Jika file Bisection dijalankan di Common Window dihasilkan :
BAGIAN II
TUGAS AKHIR
1. Soal Nomor 1
Penulis mendapat bagian tugas nomor 1. Soal nomor satu adalah Carilah kuat arus
pada masing-masing cabang !
2 Ω 6 Ω 3 Ω
12 volt 8 volt
R1 R2 R3
V1 V2
I2 I3
I1
2. Penyelesaian
Untuk memperoleh tiga buah persamaan tersebut, kita gunakan hukum tegangan
Kirchoff pada tiap lup arus.
Gambar 2
Untuk lup I2 seperti yang ditunjukkan pada gambar 2, jumlah dari jatuh tegangan
sekitar lup itu sama dengan tegangan sumber V1. Persamaannya adalah ... .
2. 1 ( 2 3). 2 1
Gambar 3
Untuk lup I3 seperti yang ditunjukkan pada gambar 3, jumlah dari jatuh tegangan
sekitar lup itu sama dengan tegangan sumber V2. Persamaannya adalah ... .
3. 3 ( 3 2). 2 2
I R + I +I R =V (1.2)
Untuk mendapatkan persamaan ketiga menggunakan hukum Kirchoff untuk
tegangan, persamaannya adalah … .
1 2 3 0 I I I
− + + = (1.3)
Dari persamaan (1.1), (1.2) dan (1.3) kita susun kembali menjadi :
1 2 2 2 3 1
Dari tiga persamaan (1.4) kita dapat menuliskan persamaan matriknya.
3. Matrik A :
Jika ditulis dalam bentuk operasi matrik adalah :
atau secara umum persamaan (1.8) dapat ditulis :
[ ][ ] [ ]
A B = C (1.9)Sehingga dari persamaan (1.9) besar kuat arus dapat dinyatakan sebagai :
[ ] [ ]
[ ]
A BC
= (1.10)
Menurut data pada soal bahwa :
1 2 3
Sehingga matriksnya dapat ditulis sebagai berikut :
(1.11)
4. Matriks-matriks ini jika diselesaikan dengan menggunakan MATLAB, maka
flowchart dan list programnya adalah sebagai berikut :
A. Metode Langsung :
a. Algoritma Metode Langsung
:
1.) Program dimulai
2.) Sebagai persiapan membersihkan layar command window dan
menghapus isi variabel sebelumnya yang tidak berfungsi
3.) Menginput elemen matriks berordo 3x3 ke dalam variabel matriks A
4.) Menginput elemen matriks berordo 3x1 ke dalam variabel matriks C
5.) Menentukan variabel matriks B yang diisi dari hasil perhitungan matriks
A dibagi matriks B (perintah ini khusus bahasa program matlab)
6.) Menampilkan hasil elemen matriks B
b. Flowchart Metode Langsung
:
Input matriks
(3 3)× , (3 1)×
A C
B = A\C
Hasil
(3 1)× B
Selesai Hapus Layar
Mulai
c. Metode ini diberi nama file aruslistrik1.m
e. Hasil Output
B. Metode Biasa
a. Algoritma Metode Biasa :
1.) Program dimulai
2.) Sebagai persiapan membersihkan layar command window dan
menghapus isi variabel sebelumnya yang tidak berfungsi
3.) Menginput elemen matriks berordo 3x3 ke dalam variabel matriks Z
4.) Menginput elemen matriks berordo 3x1 ke dalam variabel matriks C
5.) Mengatur agar variabel angka hanya 5 digit atau dengan format
eksponen
6.) Menentukan variabel matriks Iakhir yang diisi dari hasil perhitungan
invers matriks Z dikali matriks C
7.) Menampilkan hasil elemen matriks Iakhir
b. Flowchart Metode Biasa :
Input matriks
(3 3)× , (3 1)×
Z C
Invers Z×C
Hasil Inv Z×C
Selesai Hapus Layar
& variabel Mulai
short g
c. Metode ini diberi nama aruslistrik2.m
e. Hasil Output
C. Metode Gauss Seidel
a. Algoritma Metode Gauss Seidel
1.) Program dimulai
2.) Sebagai persiapan membersihkan layar command window dan
menghapus isi variabel sebelumnya yang tidak berfungsi
3.) Menentukan variabel epsilon dengan nilai 0,0001 dan variabel x dengan
nilai 0
4.) Menginput elemen-elemen matriks berordo 3x3 ke dalam variabel
matriks A
5.) Menginput elemen matriks berordo 3x1 ke dalam variabel matriks C
6.) Menentukan variabel I2, It3 dan iter serta memberikan masing-masing
nilai awal 0
7.) Menentukan implikasi dengan syarat x lebih besar atau sama dengan
epsilon
8.) Jika Implikasi nomor 7 benar langkah berikutnya mengerjakan nomor 9
9.) Menghitung proses dengan rumusan iter = iter + 1 ;
I1=(C1-A(1,2).I2-(1,3).It3)/A(1,1) ; I2=(C2-A(2,1).I1-A(2,3).It3)/A(2,2) ;
I3=(C3-A(3,1).I1-(3,2).I2)/A(3,3) ; Iakhir1 = mutlak dari I1; Iakhir2 = mutlak
10.)Menampilkan hasil iter; Iakhir1; Iakhir2; dan Iakhir3
11.)Jika implikasi salah program selesai dan jika implikasi benar
mengulangi proses nomor 9
b. Flowchart Metode Gauss Seidel :
c. Metode ini diberi nama aruslistrik3.m epsilon = 0.0001; x = 1 Iakhir1 = mutlak dari I1;
D. Metode Cramer
a. Algoritma Metode Cramer
1.) Program dimulai
2.) Sebagai persiapan membersihkan layar command window dan
menghapus isi variabel sebelumnya yang tidak berfungsi
3.) Menginput elemen-elemen matriks berordo 3x3 ke dalam variabel
matriks Z
4.) Menginput elemen matriks berordo 3x1 ke dalam variabel matriks C
5.) Mengatur agar variabel angka hanya 5 digit atau dengan format
eksponen
6.) Menginput elemen-elemen matriks berordo 3x3 ke dalam variabel
matriks A1 dengan elemen samadengan elemen Z kecuali A1(1,1) = C1,
elemen A1(2,1) = C2 dan elemen A1(3,1) = C3
7.) Menginput elemen-elemen matriks berordo 3x3 ke dalam variabel
matriks A2 dengan elemen samadengan elemen Z kecuali A3(1,3) = C1,
elemen A3(2,3) = C2 dan elemen A3(3,3) = C3
8.) Menginput elemen-elemen matriks berordo 3x3 ke dalam variabel
matriks A3 dengan elemen samadengan elemen Z kecuali A3(1,1) = C1,
elemen A1(2,1) = C2 dan elemen A1(3,1) = C3
9.) Menentukan variabel matriks B1 dengan nilai determinan dari A1 dibagi
determinan Z
10.)Menentukan variabel matriks B2 dengan nilai determinan dari A2 dibagi
determinan Z
11.)Menentukan variabel matriks B3 dengan nilai determinan dari A3 dibagi
determinan Z
12.)Memasukkan nilai nilai mutlak dari B1, B2 dan B3 masing-masing ke
dalam varibel Ba1, Ba2 dan Ba3
13.)Menampilkan hasil Ba1, Ba2 dan Ba3
b. Flowchart Metode Cramer :
B1 adalah determinan A1 dibagi determinan Z ;
B2 adalah determinan A2 dibagi determinan Z ;
B3 adalah determinan A3 dibagi determinan Z ;
c. Metode ini diberi nama aruslistrik4.m
e. Hasil Output
5. Deskripsi Penulisan Variabel dan Perintah yang digunakan dalam Program clc : menghapus layar
clear : menghapus variabel yang aktif sebelumnya
Tsuhu : Membuat variabel suhu berbentuk matriks, kemudian diisi dengan data Ckapasitas : Membuat variabel kapasitas berbentuk matriks, kemudian diisi dengan
data
p : menuliskan variabel polyfit
xi : menuliskan variabel suhu ke dalam sumbu x z : menuliskan variabel kapasitas ke dalam sumbu y
plot : perintah MATLAB untuk menggambar grafik hubungan kapasitas terhadap suhu
grid on : perintah MATLAB untuk mengaktifkan grid (garis-garis koordinat) syms T : perintah MATLAB utnuk mendefinisikan penulisan fungsi simbol Tsuhux : menuliskan variabel suhu yang akan di cari nilai kapasitasnya
Cy : mendefinisikan variabel fungsi kapasitas
BAGIAN III
PENUTUP
Penulis ingin mengucapkan terima kasih sebesar-besarnya kepada pembimbing yaitu Bapak Dr. Kebamoto. Tugas ini telah memberikan wawasan yang lebih berarti karena dengan mengerjakan tugas ini penulis merasa banyak terbantu sehingga dapat mengenali berbagai perintah program MATLAB yang ternyata begitu banyaknya perintah-perintah yang lebih bermanfaat dan aplikatif dibandingkan perintah-perintah program yang penulis kenal sebelumnya. Mudah-mudahan pada masa yang akan datang penulis dapat memanfaatkan untuk kepentingan pengajaran. Semoga tugas ini juga dapat bermanfaat dan dapat dimanfaatkan sebagai sarana belajar untuk penulis pribadi
khususnya dan untuk rekan-rekan sesama mahasiswa Departemen Fisika UI pada umumnya. Jika dalam tulisan program sederhana ini masih banyak terdapat kekurangan maka penulis mengharapkan saran dan kritik yang sifatnya membangun untuk
peningkatan kemampuan penulis dalam mengenal dan menggunakan program MATLAB.
Referensi :
1. Cekmas Cekdin, Teori dan Contoh Soal Teknik Elektro, Andi Yogyakarta, 2005 2. Duane Hanselman & Bruce Littlefield, MATLAB Bahasa Komputasi Teknis, Andi
Yogyakarta, 2000