Anda di halaman 1dari 14

BAB I

PENDAHULUAN
1.1 Latar Belakang
Dalam bidang geologi di perlukan alat untuk membantu menyimpan dan
mengolah data dengan baik dan lebih akurat, kebutuhan ini di akibatkan banyaknya
data yang menjadi penelitian dari para geologist. Matlab merupakan tools (alat)
untuk mempermudah pengerjaan atau pengolahan data dalam bidang geologi,
contohnya menghitu luas, volume, dan lain lain.
1.2 Tujuan
Tujuan dari praktikum ini adalah :
1. Untuk mengetahui definisi Matlab
2. Untuk mengetahui bahasa pemograman sederhana
3. Untuk membuat program sederhana
1.3 Alat dan Bahan
Adapun alat dan bahan yang di gunakan :
1. Laptop
2. Aplikasi Matlab 2010
3. Problem set : Newton Raphson, Eliminasi Gauss, Program sederhana
BAB II
TINJAUAN PUSTAKA
2.1 Teori Dasar
MATLAB (Matrix Laboratory) adalah sebuah lingkungan komputasi
numerikal dan bahasa pemrograman komputer generasi keempat. Dikembangkan
oleh The MathWorks, MATLAB memungkinkan manipulasi matriks, pem-plot-an
fungsi dan data, implementasi algoritma, pembuatan antarmuka pengguna, dan peng-
antarmuka-an dengan program dalam bahasa lainnya. Meskipun hanya bernuansa
numerik, sebuah kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD,
memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket
tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain Berdasar-
Model untuk sistem terlekat dan dinamik.
Dalam perkembangan saat ini MATLAB dikembangkan dengan menggunakan
bahasa pemprograman C++ dan assembler, (yang merupakan fungsi-fungsi dasar
MATLAB). MATLAB telah berkembang menjadi sebuah lingkungan pemprograman
yang canggih yang berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan
logaritma, aljabar, linier, dan perhitungan matematis yang lainnya. MATLAB juga
menyediakan berbagai fungsi untuk menampilkan data dan grafik baik dalam bentuk
dua dimensi maupun dalam bentuk tiga dimensi.
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 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. Kita dapat belajar Matlab melalui berbagai macam cara seperti dari
buku maupun internet. Banyak situs di internet yang menyediakan tutorial tentang
matlab. Seperti tutorial dasar, toolboxes, simulink, dan sebagainya.
Seperti bahasa pemrograman lainnya, matlab pun memiliki variabel, tetapi
dalam penulisannya, variabel di dalam matlab tidak perlu dideklarasikan, karena
matlab mampu mengenali tipe data dari variable dari isi variabel tersebut. Aturan
penulisan variabel pada matlab sama dengan aturan pada bahasa pemrograman
lainnya, yaitu bersifa case sensitive, diawali dengan huruf dan selanjutanya boleh
menggunakan gabungan huruf‐angka atau tanda garis bawah. Matlab mampu
mengenali sampai 31 karakter pertama, selanjutnya diabaikan.
Contoh:
>>var1=6.7
var1 =
6.7
>>var_2=[2 3 4] Var_2 = 2 3 4 .
Semua tipe data di matlab memiliki bentuk yang sama, yaitu array. Array
minimal berukuran 0x0 dan dapat bertambah menjadi array n x m dimensi dengan
sebarang ukuran. Matlab mempunyai beberapa tipe data dasar (atau class), yaitu:
logical, char, numeric, cell, structure, java classes, function handles.
Terdapat 3 dasar dalam Matlap yaitu:
a. Simbol Operasi Hitung dan Variabel
Operasi hitung dengan MATLAB sangat mudah dilakukan.
Operasi Simbol
Penjumlahan +
Pengurangan -
Perkalian *
Pembagian / atau \
Pangkat ^
Tabel 1.1 Simbol Operasi Hitung
Operasi hitung juga bisa diwakili menggunakan variabel. Variabel MATLAB tidak
membutuhkan deklarasi ataupun statmen dimensi. Penulisan variabel dimulai
dengan hurup, dapat diikuti dengan hurup atau angka atau underscore. MATLAB
hanya dapat mengenal 31 karakter pertama dari nama variabel. Contoh : bila pada
command window diketik
>>apel_malang1=25
dan setelah menekan enter akan muncul
>>apel_malang1 =
25
Dalam memberi nama variabel, MATLAB mempunyai beberapa aturan
yaitu :
1) Menggunakan huruf atau angka, tetapi karakter pertama harus berupa huruf.
2) MATLAB hanya dapat mengenal 31 karakter pertama dari variabel.
3) MATLAB membedakan huruf besar dan huruf kecil
4) Tidak boleh ada spasi.
5) Tidak boleh menggunakan simbol khusus, kecuali garis bawah.
Untuk membersihkan command window gunakan perintah >>clc, sedangkan untuk
menghilang semua variabel yang ada pada command window gunakan perintah
>>clear.
Jadi perintah
>>clear

>>clc
akan membersihkan command window dan menghapus semua variabel yang telah
tersimpan pada workspace. Dalam kasus ini semua variabel tidak bisa dipanggil
lagi, kecuali variabel yang telah disimpan.
Contoh penggunaan fasilitas grafik dari MATLAB dapat dilihat sebagai berikut :
>>x=[5 10 15 20 25 30];
>>y=cos(x);
>>plot(x,y);
Dari gambar dijelaskan bahwa x diassign ke suatu array [5 10 15 20 25 30],
kemudian y=cos(x) akan mengassign y ke array [cos(5) cos(10) cos(15) cos(20)
cos(25) cos(30)]
b. Bilangan
Bilangan pada MATLAB menggunakan notasi desimal biasa, dengan
menggunakan titik desimal, tanda plus atau tanda minus. Notasi saintifik
menggunakan hurup e untuk menyatakan pangkat 10. Bilangan imaginer dinyatakan
dengan hurup i atau j. Beberapa contoh bilangan yang berlaku pada MATLAB : 3, -
99 0.0001 9.6397238, 1.60210e-20, 6.02252e+23, 1i, -3.14159j, 3e5i.
Semua bilangan tersimpan secara internal dengan menggunakan format long
yang dispesifikasi oleh standar titik mengambang (floating-point) IEEE. Bilangan
titik mengambang mempunyai presisi kira-kira 16 digit desimal signifikan dan
jangkauan antara 10-323 sampai dengan 10308.
c. Array
Variabel-variabel yang telah dipelajari digunakan untuk mewakili satu nilai
(satu data). Dalam hal ini variabel yang hanya mewakili satu nilai ini dalam
MATLAB disebut skalar. Sedangkan variabel yang dapat mewakili beberapa nilai
sekaligus dalam MATLAB disebut array. Array (larik) dapat juga diartikan sebagai
deretan nilai yang mempunyai tipe data yang sama. Dalam matematika banyak kasus
yang memerlukan data bertipe array. Untuk menyatakan array dalam MATLAB
sintaknya adalah :

Nama_array=[nilai1 nilai2 ... nilaiN]

Dalam sintak tersebut Nama_array mempunyai N buah nilai, yaitu nilai1,


nilai2, nilai3, ..., nilaiN. Antar nilai dipisahkan dengan spasi, serta N buah nilai
tersebut diletakkan di dalam kurung siku[ ].
Contoh :
A=[-15 -10 -5 0 1] %array A mempunyai 5 anggota
Bima=[1-2i -4 3+2i] %array Bima mempunyai 3 anggota

A. ALGORITMA DAN FLOWCHART


Adapun algoritma dalam praktikum ini yaitu:
1. Algoritma vektor dan matriks.
a. Input data nilai vektor dan matriks
b. Menghitung nilai vektor dan matriks.
c. Mendefinisikan nilai data vektor dan matriks.
d. Menghitung nilai ukuran vektor dan nilai matriks
e. Menhghitung jumlah elemen matriks dan vektor

2. Alogaritma matriks A dan B


a. Input nila data matriks A dan B
b. Menghitung nila matriks A dan B
c. Menhghitung jumlah elemen matriks dan vektor
d. Menghitung nilai ukuran vektor dan nilai matriks
e. Membuat matriks-matriks dengan command ones,zeros, dan eye pada soal
nomor 4
f. Masukan data pada nomor 4
g. Membuat vektor yang berukuran 100 berisi biangan acak Gaussian dengan
mean = 1 dan variansi = 0,2.
h. Membuat matriks M pada soal nomor 6.
i. Masukan data
BAB III
PEMBAHASAN
3.1 Program Sederhana
%contoh menghitung dip, luas bangun, dan tebal lapisan
clc
fprintf('Pilih salah satu program..\n');
disp('1: menghitung Tebal Lapisan: ')
disp('2: mecari dip: ')
disp('3: menghitung luas lingkaran: ')
no=input('Anda ingin menghitung luas atau tebal 1,2 atau 3 \n');
switch no
case 1
a=input('masukkan jarak mistar lapisan:');
b=input('masukkan sin dip:');
tebal=a*b;
fprintf('tebal lapisan adalah %f \n',tebal);
case 2
a=input('masukkan interval kontur: ');
b=input('masukkan jarak mistar: ');
c=input('masukkan skala peta: ');
dip=(a/b)*c;
fprintf('dip adalah %f',dip);
case 3
a=input('masukkan jari-jari lingkaran :');
luas=pi*(a^2);
fprintf('Luas lingkaran adalah %f ',luas);
otherwise
fprintf('Ulangi pilihan yang ada...!!')
end
no=input('Anda ingin menghitung luas atau tebal 1,2 atau 3 \n');
switch no
case 1
a=input('masukkan jarak mistar lapisan:');
b=input('masukkan sin dip:');
tebal=a*b;
fprintf('tebal lapisan adalah %f \n',tebal);
case 2
a=input('masukkan interval kontur: ');
b=input('masukkan jarak mistar: ');
c=input('masukkan skala peta: ');
dip=(a/b)*c;
fprintf('dip adalah %f',dip);
case 3
a=input('masukkan jari-jari lingkaran :');
luas=pi*(a^2);
fprintf('Luas lingkaran adalah %f ',luas);
otherwise
fprintf('Ulangi pilihan yang ada...!!')
end
no=input('Anda ingin menghitung luas atau tebal 1,2 atau 3 \n');
switch no
case 1
a=input('masukkan jarak mistar lapisan:');
b=input('masukkan sin dip:');
tebal=a*b;
fprintf('tebal lapisan adalah %f \n',tebal);
case 2
a=input('masukkan interval kontur: ');
b=input('masukkan jarak mistar: ');
c=input('masukkan skala peta: ');
dip=(a/b)*c;
fprintf('dip adalah %f',dip);
case 3
a=input('masukkan jari-jari lingkaran :');
luas=pi*(a^2);
fprintf('Luas lingkaran adalah %f ',luas);
otherwise
fprintf('Ulangi pilihan yang ada...!!')
end

Hasil :
no=input('Anda ingin menghitung luas atau tebal 1,2 atau 3 \n');
switch no
case 1
a=input('masukkan jarak mistar lapisan:');
b=input('masukkan sin dip:');
tebal=a*b;
fprintf('tebal lapisan adalah %f \n',tebal);
case 2
a=input('masukkan interval kontur: ');
b=input('masukkan jarak mistar: ');
c=input('masukkan skala peta: ');
dip=(a/b)*c;
fprintf('dip adalah %f',dip);
case 3
a=input('masukkan jari-jari lingkaran :');
luas=pi*(a^2);
fprintf('Luas lingkaran adalah %f ',luas);
otherwise
fprintf('Ulangi pilihan yang ada...!!')
end
3.2 Eleminasi Gauss
3x1 + 2x2 – x3 =10
-x1 + 3x2 – 2x3 = 5
X1 – x2 – x3 = 1
--------------------------
Program : Eliminasi Gauss
Oleh : Ira Kusuma Dani
--------------------------
Variabel SPL=3
Masukkan data SPL baris ke-1-[3 2 -1 10]
Masukkan data SPL baris ke-2-[-1 3 2 5]
Masukkan data SPL baris ke-3-[1 -1 -1 1]
Augmentasi matrik SPL
3 2 -1 10
-1 3 2 5
1 -1 -1 1

B2 - (-1/3)B1
3.0000 2.0000 -1.0000 10.0000
0 3.6667 1.6667 8.3333
1.0000 -1.0000 -1.0000 1.0000

B3 - (1/3)B1
3.0000 2.0000 -1.0000 10.0000
0 3.6667 1.6667 8.3333
0 -1.6667 -0.6667 -2.3333

B3 - (-1.6667/3.6667)B2
3.0000 2.0000 -1.0000 10.0000
0 3.6667 1.6667 8.3333
0 0 0.0909 1.4545
B2 - (1.6667/0.090909)B3
3.0000 2.0000 -1.0000 10.0000
0 3.6667 0 -18.3333
0 0 0.0909 1.4545

B1 - (-1/0.090909)B3
3.0000 2.0000 0 26.0000
0 3.6667 0 -18.3333
0 0 0.0909 1.4545

B1 - (2/3.6667)B2
3.0000 0 0 36.0000
0 3.6667 0 -18.3333
0 0 0.0909 1.4545

(1/3)B1
1.0000 0 0 12.0000
0 3.6667 0 -18.3333
0 0 0.0909 1.4545

(1/3.6667)B2
1.0000 0 0 12.0000
0 1.0000 0 -5.0000
0 0 0.0909 1.4545

(1/0.090909)B3
1.0000 0 0 12.0000
0 1.0000 0 -5.0000
0 0 1.0000 16.0000
Matriks Hasil Eliminasi Gauss
1.0000 0 0 12.0000
0 1.0000 0 -5.0000
0 0 1.0000 16.0000

Solusi dari SPL adalah


x1=12
x2=-5
x3=16
>>

3.3 Newton-Rhapson
5x3 + 2x2 – 7x – 2
15x2 + 4x -7
clear;
clc;
galat = 1.e-5;
x = input('masukkan nilai x : ');
nilai = 1;
no = 0;
fx = 5*x.^3 + 2*x.^2 - 7*x - 2;
fx1 = 15*x.^2 + 4*x - 7;
xn1=x-fx/fx1;
clc;
fprintf('Masukkan nilai x : %5.3f\n', x);
fprintf('============================================\n');
fprintf('Iterasi x fx fx1 akar\n');
fprintf('============================================\n');
while nilai > galat
x=xn1;
no=no+1;
fx = 5*x.^3 + 2*x.^2 - 7*x - 2;
fx1 = 15*x.^2 + 4*x - 7;
xn1=x-fx/fx1;
nilai = abs (xn1-x)/xn1;
fprintf('%3d %4.5f %4.5f %4.5f %4.5f\n',no, x, fx, fx1, xn1);
end
fprintf('============================================\n');
fprintf('Pada Iterasi ke-%1d, Selisih interval < %5.3f\n',no,galat);
fprintf('Jadi, akar persamaannya adalah %7.5f\n',xn1);

Hasil :
Masukkan nilai x : 8.000
============================================
Iterasi x fx fx1 akar
============================================
1 5.32995 774.58263 440.44518 3.57131
2 3.57131 226.25703 198.59946 2.43205
3 2.43205 64.73169 91.45124 1.72422
4 1.72422 17.50643 44.49107 1.33074
5 1.33074 4.00942 24.88604 1.16963
6 1.16963 0.54913 18.19904 1.13946
7 1.13946 0.01766 17.03324 1.13842
8 1.13842 0.00002 16.99368 1.13842
============================================
Pada Iterasi ke-8, Selisih interval < 0.000
Jadi, akar persamaannya adalah 1.13842
>>
BAB IV
PENUTUP
4.1 Kesimpulan
pada problem set di atas dapat kita simpulkan bahawa seperti bahasa
pemrograman lainnya, matlab pun memiliki variabel, tetapi dalam penulisannya,
variabel di dalam matlab tidak perlu dideklarasikan, karena matlab mampu
mengenali tipe data dari variable dari isi variabel tersebut. Aturan penulisan variabel
pada matlab sama dengan aturan pada bahasa pemrograman lainnya, yaitu bersifa
case sensitive, diawali dengan huruf dan selanjutanya boleh menggunakan gabungan
huruf‐angka atau tanda garis bawah. Matlab mampu mengenali sampai 31 karakter
pertama, selanjutnya diabaikan

4.2 Saran
Untuk praktikum berikutnya di harapkan memiliki modul atau buku petunjuk
pengerjaan matlab

Anda mungkin juga menyukai