0% menganggap dokumen ini bermanfaat (0 suara)
42 tayangan45 halaman

Laprak Komnum

Percobaan ini memperkenalkan penggunaan MATLAB untuk melakukan perhitungan matematika dasar menggunakan fungsi built-in dan membuat fungsi sendiri. Mahasiswa belajar cara memasukkan data, menulis komentar, dan menggunakan kata kunci. Percobaan ini melibatkan penggunaan fungsi built-in untuk perhitungan akar, logaritma, dan eksponensial, serta membuat fungsi untuk menghitung luas lingkaran dan volume tabung.

Diunggah oleh

Muhammad Diki
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
42 tayangan45 halaman

Laprak Komnum

Percobaan ini memperkenalkan penggunaan MATLAB untuk melakukan perhitungan matematika dasar menggunakan fungsi built-in dan membuat fungsi sendiri. Mahasiswa belajar cara memasukkan data, menulis komentar, dan menggunakan kata kunci. Percobaan ini melibatkan penggunaan fungsi built-in untuk perhitungan akar, logaritma, dan eksponensial, serta membuat fungsi untuk menghitung luas lingkaran dan volume tabung.

Diunggah oleh

Muhammad Diki
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 45

PERCOBAAN 1

PENGENALAN MATLAB

1.1 Tujuan Percobaan

Percobaan ini bertujuan agar mahasiswa mampu:


1. Memahami cara memasukkan data ke dalam software MATLAB,
2. Memberi keterangan pada suatu bagian program agar lebih mudah
dipahami maksud dan kegunaan dari bagian tersebut,
3. Menggunakan fungsi-fungsi built-in MATLAB,
4. Membuat fungsi sendiri sesuai dengan kebutuhan.

1.2 Teori Dasar

1.2.1 Memasukkan (Input) Data


Variabel merupakan nama yang diberikan untuk mewakili suatu
data, baik berupa masukan data atau merupakan hasil perhitungan.

Aturan penulisan variabel:


1. maksimal terdiri dari 31 karakter
2. harus diawali dengan huruf
3. tidak boleh mengandung spasi dan tanda baca (karakter khusus)
4. dibedakan antara huruf besar dan huruf kecil, misalnya: Nama,
NAMA, NamA, NaMa, dsb. merupakan variabel yang berbeda.

Terdapat dua cara untuk memasukkan data yaitu:


a. Inisialisasi data: data diberikan secara langsung pada saat
pembuatan program.
Bentuk umum:
variabel = ekspresi

b. Menggunakan perintah input: data diberikan pada saat program


dijalankan sehingga bersifat interaktif
Bentuk umum:
variabel = input(‘teks’) ← numerik dan string
atau
variabel = input(‘teks’, ‘s’) ← string

Pada layar akan tampil apa yang tertulis di antara tanda petik
(teks), kemudian komputer menanti masukan data yang diikuti dengan
menekan enter melalui keyboard.
Contoh berikut ini menampilkan program perhitungan sederhana
dengan memasukkan data menggunakan kedua cara tersebut di atas.
Kedua contoh dijalankan pada layar utama MATLAB yang disebut
command window.

1
Contoh perhitungan luas persegi panjang A = p x l dengan cara inisialisasi
data.
>> data = 'persegi panjang'
data =
persegi panjang
>> panjang = 4
panjang =
4
>> lebar = 3
lebar =
3
>> luas = panjang * lebar
luas =
12

Contoh perhitungan luas persegi panjang A = p x l dengan cara input data.


>> data = input('Masukkan jenis bangun geometri: ')
Masukkan jenis bangun geometri: 'persegi panjang'
data =
persegi panjang
>> panjang=input('Masukkan data panjang : ')
Masukkan data Panjang : 4
panjang =
4
>> lebar=input('Masukkan data lebar : ')
Masukkan data lebar : 3
lebar =
3
>> luas = panjang * lebar
luas =
12

Kedua cara di atas dapat diakhiri dengan tanda (;). Penggunaan


tanda (;) akan meniadakan tampilnya data setelah penekanan enter atau
pada saat running program.

Bila ingin menampilkan gabungan teks dan nilai dari suatu


variabel, gunakan tanda kurung siku dimana nilai numerik harus
dikonversi ke bentuk string terlebih dahulu dengan menggunakan fungsi
num2str (number to string).
Contoh :
x = 2.6780;
disp([‘Nilai x adalah = ‘, num2str(x), ‘pada iterasi
ini’])

Dapat pula menggunakan perintah fprintf.


Bentuk umum:
fprintf(‘file name’, ‘format string’, list)

file name bersifat optional (dapat ditulis atau tidak);


list adalah daftar nama variabel yang dipisahkan dengan tanda koma (,);
format string adalah format/bentuk tampilan:
%P.Qe untuk bentuk eksponensial
2
%P.Qf untuk bentuk fixed point
\n untuk membentuk baris baru (kelang)
dengan P dan Q merupakan integer (bilangan bulat).
Contoh :
x = 1007.46;
y = 2.1278;
k = 17;
fprintf(‘\n x = %8.2f y = %8.6f k = %2.0f \n’, x, y, k)

1.2.2 Komentar
Semua teks yang diawali dengan tanda persen „%‟ dianggap
sebagai pernyataan atau komentar atau keterangan atau catatan. Tujuannya
adalah untuk memberi keterangan agar lebih mudah memahami maksud
dan kegunaan suatu bagian program.

Sejauh ini, semua pekerjaan dilakukan melalui sebuah layar yang


disebut command window dimana perintah dapat dieksekusi secara
langsung satu per satu. Ada pula layar lain yang dapat menyimpan semua
perintah yang dibuat untuk kemudian dieksekusi secara keseluruhan.
Layar tersebut adalah layar M-File.

Contoh: V = i.R, dimana V = tegangan (Volt), i = arus (Ampere) dan R =


hambatan (Ohm)
% Perhitungan tegangan
% Berdasarkan persamaan V = i.R
% Masukan Data
i = 0.5
R = 10
%Perhitungan
V = i*R

Program di atas disimpan dalam sebuah m-file yang diberi nama


elektro_namamahasiswa.m. Untuk mengeksekusinya dapat dilakukan
dengan salahsatu cara berikut:
1. Tekan tombol F5 pada layar m-file, kemudian pindahlah ke command
window untuk melihat hasil eksekusi (running program)
2. Pindahlah ke command window, kemudian ketikkanlah nama file yang
akan dieksekusi.

Running program perhitungan tegangan menggunakan cara yang kedua:


>> elektro_namamahasiswa
i =
0.5
R =
10
V =
5

3
1.2.3 Key Words atau Reserved Words
Key words atau reserved words merupakan kata-kata yang
mempunyai arti khusus dalam MATLAB.
a. Variabel Khusus
Misalnya:
pi 3.14
ans nama variabel untuk hasil apapun (default)
inf bilangan tak berhingga, 1/0
NaN atau nan not a number, 0/0
i dan j imaginer
b. Fungsi
MATLAB banyak menyediakan fungsi (function) yang dapat
digunakan untuk berbagai perhitungan. Fungsi-fungsi yang telah
disediakan oleh MATLAB antara lain:
Fungsi-fungsi trigonometri dan matematika dasar
sqrt(x) akar pangkat dua dari x
abs(x) bilangan mutlak (nilai positif) dari x
sin(x) sinus dari x --> cos(x), tan(x), sinh(x), cosh(x),
tanh(x)
log(x) logaritma natur dari x
log10(x) logaritma basis 10 dari x
exp(x) eksponensial dari x

Fungsi-fungsi untuk analisis data


min(x) nilai minimum dari x
max(x) nilai maksimum dari x
mean(x) nilai rata-rata dari x
std(x) deviasi standar dari x
sum(x) penjumlahan dari x

Fungsi-fungsi untuk polinom


poly(x) membentuk polinom dari x, dengan x merupakan
vektor dari akar persamaan
roots(x) menentukan akar persamaan polinom dari x, dengan x
merupakan vektor dari koefisien polinom dari
pangkat tertinggi hingga terendah
polyfit (x,y) membentuk polinom dari pasangan data yang terdapat
pada vektor x dan y, digunakan untuk pencocokan kurva
conv(x,y) menghitung perkalian antara polinom x dan y

Ada pula fungsi yang tidak tersedia pada MATLAB function


library sehingga harus dibuat sendiri. Fungsi seperti ini sangat bermanfaat
untuk perhitungan yang berulang-ulang (repetitif).
Misalnya, diinginkan untuk menghitung luas persegi panjang
secara berulang-ulang dengan membuat programnya dalam bentuk fungsi.

4
function A = luas (p,l)
% menghitung luas persegi panjang
A = p*l;

Untuk menjalankan fungsi di atas, ketikkanlah pada command


window nama fungsi yang diikuti dengan 2 buah variabel yang dibutuhkan:
>> luas(4,3)
ans = 12

Data variabel dapat dimasukkan dalam bentuk matriks.

Pemakaian fungsi built-in juga dibenarkan di dalam fungsi yang


dibuat sendiri. Misalkan untuk berbagai perhitungan yang melibatkan
bentuk logaritma, eksponensial, dsb.

1.3 Peralatan dan Bahan


Dalam percobaan ini, digunakan software MATLAB untuk
menyelesaikan perhitungan.

1.4 Langkah Percobaan


1. Buka MATLAB
2. Ketik fungsi-fungsi built-in MATLAB pada command window untuk
menghitung nilai:
a) √14.641
b) ln 10
c) e-2
3. Buka M-file (function), buatlah fungsi untuk menghitung:
a) Luas lingkaran 1 dengan jari-jari 3 cm dan lingkaran 2 dengan jari-
jari 5 cm.
b) Volume tabung 1 dengan diameter 10 cm & tinggi 15 cm dan tabung 2
dengan diameter 12 cm & tinggi 20 cm.

5
1.5 Hasil dan Pembahasan

Gambar 1.1 Hasil Percobaan Fungsi Built-In

Gambar 1.2 Hasil Percobaan Luas Lingkaran 1 dan Lingkaran 2

Gambar 1.3 Hasil Percobaan Volume Tabung 1 dan Volume Tabung 2

6
Pada praktikum ini dilakukan dua tahap percobaan, yaitu percobaan
menggunakan fungsi-fungsi trigonometri dan matematika dasar pada bagian
command window dan menggunakan M-File (function) pada bagian editor.
Pada tahap pertama diperoleh hasil seperti yang ditunjukkan pada
Gambar 1.1. Terlihat pada hasil yang diperoleh, menggunakan fungsi-fungsi
tertentu dapat mempermudah dalam menghitung suatu operasi matematika dasar
seperti pada mencari nilai akar pangkat dua dari x, algoritma natur dari x, serta
eksponensial dari x.
Kemudian pada tahap kedua, dilakukan operasi pencarian luas dan
volume. Pada operasi pencarian luas, dilakukan pencarian luas lingkaran dengan
rumus . Pada kasus ini memiliki dua input, yaitu dengan nilai 3,14 dan r
untuk jari-jari. Rumus yang telah diketahui diletakkan pada bagian editor M-File
(function). Untuk menjalankan sistem maka simpan terlebih dahulu file di editor
tersebut dan tekan F5 atau Run. Selain dengan cara tersebut, dapat juga
dilakukan dengan menuliskan nama function yang digunakan seperti pada
Gambar 1.2. kemudian tekan enter dan MATLAB menampilkan hasil dari luas
lingkaran sesuai dengan input yang kita berikan.
Sama halnya dengan operasi luas, operasi volume juga melakukan
peninjauan rumus yang akan dicari kemudian diletakkan pada bagian editor serta
disimpan terlebih dahulu. Operasi volume yang dilakukan menggunakan volume
tabung dengan rumus dengan phi adalah 3.14, r adalah jari-jari, dan t
adalah tingi. Dikarenakan yang diketahui diameternya saja, maka sebelumnya
dilakukan pengoperasian untuk diameter dijadikan ke jari-jari dengan rumus
diameter dibagi 2. Seperti halnya luas, kemudian dilakukan run pada file
function di bagian command window. Hasil operasi volume ini dapat dilihat pada
Gambar 1.3.

1.6 Kesimpulan

Setelah melakukan percobaan pada praktikum ini, maka dapat


disimpulkan bahwa:
1. Untuk memasukkan data pada software MATLAB ini dapat dilakukan pada
bagian command window.
2. Untuk memberi keterangan dapat digunakan “%” sebagai pernyataan.
3. Fungsi-fungsi built-in merupakan fungsi-fungsi yang meliputi operasi
matematika dasar dan trigonometri, fungsi untuk analisis data, serta fungsi
untuk polinom.
4. Selain fungsi pada built-in, dapat juga dilakukan fungsi sendiri yang
diperlukan seperti pada perhitungan luas dan volume.

7
PERCOBAAN 2
VEKTOR DAN MATRIKS

2.1 Tujuan Percobaan


Percobaan ini bertujuan agar mahasiswa mampu menjalankan operasi-
operasi vektor dan matriks dengan menggunakan MATLAB.

2.2 Teori Dasar


2.2.1 Skalar
Di dalam MATLAB, skalar adalah sebuah data dengan satu baris
dan satu kolom. Variabel–variabel yang memuat data skalar tersebut dapat
mengalami operasi penjumlahan, pengurangan, perkalian dan pembagian.
Contoh : Skalar dan operasinya
>> x = 1;
>> y = 2;
>> z = x + y
z = 3

2.2.2 Vektor
Di dalam MATLB, vektor adalah sekumpulan data yang
membentuk hanya satu baris atau satu kolom. Penulisan elemen dilakukan
di dalam kurung siku [ ] yang dipisahkan dengan spasi atau titik koma.
Pengecualian berlaku hanya untuk penulisan data yang berbentuk deret
dengan pola tertentu. Vektor dapat mengalami operasi dengan skalar juga
dengan vektor lain asalkan mempunyai dimensi yang sama.
(i) Bentuk deret sederhana
Bentuk umum penulisan data dengan pola tertentu atau deret yang
sederhana.
variabel = n : m

dengan n = nilai awal, m = nilai akhir


>> a = 1:3
a =
1 2 3
>> b = 2 * a
b =
2 4 6
>> c = [1:3]
c =
1 2 3
>> d = 2 *
c
d =
2 4 6

Terdapat pesan kesalahan bila penulisan vektor yang tidak


berbentuk deret ditulis tanpa kurung siku:
8
>> e = 1 3 4
??? e = 1 3 4
Error: Missing operator, comma, or semicolon.

(ii) Penggunaan increment


Bentuk umum penulisan data dengan pola tertentu atau deret:
variabel = n : i : m

dengan n = nilai awal, m = nilai akhir dan i = increment/langkah; bila i


tidak didefinisikan, maka MATLAB akan menggunakan default yaitu 1,
seperti yang ditunjukkan pada butir (i) di atas.
>> A = 1:10
A =
1 2 3 4 5 6 7 8 9 10
>> B = 0:2:10
B =
0 2 4 6 8 10
>> C = 10:-1:1
C =
10 9 8 7 6 5 4 3 2 1
>> D = 3:3:14
D =
3 6 9 12

(iii) Penggunaan kurung siku


>> x = [1 2 3] % vektor
baris
x =
1 2 3
>> x = [1:3] % mengikuti pola penulisan seperti deret
x =
1 2 3
>> y = x' % transpose
vektor
y =
1
2
3
>> z = [4; 5; 6] % cara lain penulisan vektor kolom
z =
4
5
6
>> a = y+z % penjumlahan 2 vektor berorde 3
a =
5
7
9
>> b= x*y % perkalian vektor baris dengan vektor kolom
berorde 3
b =
14
9
>> c=y*z % perkalian 2 vektor kolom
??? Error using ==> *
Inner matrix dimensions must agree.

Vektor dapat mengalami operasi penjumlahan, pengurangan, perkalian dan


pembagian. Operasi penjumlahan dan pengurangan dapat dilakukan bila
vektor-vektor yang akan dijumlahkan atau dikurangkan mempunyai
orde (dimensi) yang sama. Perkalian 2 buah vektor x dan y mempunyai
bentuk:
Σ xi * yi
Kedua vektor harus berorde sama tetapi 1 vektor kolom dan yang lainnya
vektor baris.

2.2.3 Matriks
(i) Operasi Matriks
Matriks merupakan himpunan data yang membentuk beberapa baris dan
kolom. Matriks dapat terbentuk dari gabungan 2 vektor atau lebih yang
berdimensi sama. Dengan demikian, aturan operasi penjumlahan dan
pengurangan yang berlaku pada vektor juga berlaku untuk matriks.
Perkalian antara 2 buah matriks harus memenuhi aturan banyaknya kolom
pada matriks pertama harus sama dengan banyaknya baris pada matriks
kedua.
Contoh : Matriks dan Operasinya
>> r = [1 2 3; 2 3 4];
>> s = [3 4 5; 4 5 6];
>> t
= r
+ s
t =
4 6 8
6 8 10
>> u = s - r
u =
2 2 2
2 2 2
>> a
=
2*r
a =
2 4 6
4 6 8
>> b = s/4
b =
0.7500 1.0000 1.2500
1.0000 1.2500 1.5000
>> c = r*s
??? Error using ==> *
Inner matrix dimensions must agree.

10
>> c = r*s' % jumlah baris r harus sama dengan jumlah kolom s
c =
26 32
38 47
>> d = a^2
??? Error using ==> ^
Matrix must be square.
>> d = a.^2
d =
4 16 36
16 36 64

Khusus untuk pemangkatan, operasi hanya dapat berlangsung secara


elementer artinya masing-masing elemen dari matriks tersebut
dipangkatkan.

(ii) Pengalamatan
Merupakan cara penulisan yang digunakan untuk menampilkan atau
mendefinisikan ulang suatu data atau sekumpulan data pada vektor atau
matriks, ditulis dalam bentuk umum:
variabel(i,j)
dengan i menunjukkan baris dan j menunjukkan kolom vektor dan matriks.
Contoh pengalamatan vektor atau matriks:
x(2) menunjukkan elemen kedua vektor x
y(3) menunjukkan elemen ketiga vektor y
r(2,1) menunjukkan elemen matriks r pada baris kedua kolom
pertama
t(3,2) menunjukkan elemen matriks t pada baris ketiga kolom kedua
s(:,2) menunjukkan semua elemen matriks s pada kolom kedua
u(1,:) menunjukkan semua elemen matriks u pada baris pertama

(iii) Bentuk-bentuk Khusus Matriks


Beberapa fungsi seperti ones, zeros, linspace, logspace, dan sebagainya
dapat digunakan untuk menciptakan matriks dengan ukuran tertentu.
Contoh :
>> x = ones(3) % menciptakan matriks 3x3, semua elemennya 1
x =
1 1 1
1 1 1
1 1 1
>> y = ones(1,3) % matriks dengan 1 baris 3 kolom, semua
elemennya 1
y =
1 1 1
>> z = zeros(2,3) % matriks dengan 2 baris dan 3 kolom,semua
elemennya 0
z =
0 0 0
0 0 0

>> a = linspace(1,10,5) % linearly spaced, dari 1 sampai


11
10 sebanyak 5 data
a =
1.0000 3.2500 5.5000 7.7500 10.0000
>> b = logspace(1,4,4) % logarithmically spaced sebanyak 4
data
b =
10 100 1000 10000

Pendefinisian ulang dapat dilakukan dengan menggunakan pengalamatan


yang sesuai:
>> a(3) = 6
a =
1.0000 3.2500 6.0000 7.7500 10.0000

Bentuk-bentuk khusus yang lain diantaranya: eye, rand, magic. Ada pula
manipulasi matriks untuk mengubah susunan matriks untuk rotasi (rot),
mengubah letak dari kiri ke kanan (fliplr), mengubah letak dari atas ke
bawah (flipud), dsb.

(iv) Operasi Elementer


Sebelumnya telah disinggung sedikit tentang operasi elementer (elemen per
elemen), yaitu dalam hal operasi pangkat. Operasi elementer yang lain
adalah untuk perkalian dan pembagian sedangkan operasi penjumlahan dan
pengurangan memang berlangsung secara elementer. Dalam penulisannya,
cukup ditambahkan dot (.) sebelum tanda operasi diberikan.
Contoh :
>> r % pemanggilan ulang matriks r
r =
1 2 3
2 3 4
>> s
s =
3 4 5
4 5 6
>> r+s % operasi penjumlahan
ans =
4 6 8
6 8 10
>>
2*
r-
s
an
s
=
-1 0 1
0 1 2
>> r*s' % operasi perkalian biasa
ans =
26 32
38 47
>> r.*s % operasi perkalian elementer

12
ans =
3 8 15
8 15 24
>> r./s
ans =
0.3333 0.5000 0.6000
0.5000 0.6000 0.6667
>> r.^s
ans =
1 16 243
16 243 4096

Contoh: Tinjau kembali contoh fungsi yang digunakan untuk menghitung


l u a s persegi p anjang
function A = luas (p,l)
% menghitung luas persegi panjang
A = p.*l;

Pada command window :


>> luas([4 2 7], [3 5 6])
ans =
12 10 42

2.3 Peralatan dan Bahan


Dalam percobaan ini, digunakan software MATLAB untuk
menyelesaikan operasi-operasi vektor dan matriks.

2.4 Langkah Percobaan


1. Buka MATLAB
2. Buatlah dua matriks A dan B berordo 2x3 (gunakan 3 angka terakhir NIM
sebagai elemen baris kedua matriks A dan B), kemudian lakukan operasi
(biasa atau elementer) berikut:
a. Penjumlahan c. Perkalian
b. Pembagian d. Penguadratan
3. Buka M-file (function), buatlah fungsi untuk menghitung luas 3 buah
segitiga berikut secara bersamaan (sekaligus).
Segitiga 1: alas = 12,tinggi = 5
Segitiga 2: alas = 9, tinggi = 4
Segitiga 3: alas = 10, tinggi = 6

13
2.5 Hasil dan Pembahasan

Gambar 2.1 Hasil Percobaan Penjumlahan Dan Pembagian Matriks Ordo 2x3

Gambar 2.2 Hasil Percobaan Perkalian Dan Penguadratan Matriks Ordo 2x3

Gambar 2.3 Hasil Percobaan Perhitungan Luas 3 Segitiga Secara Bersamaan

14
Praktikum ini membahas tentang vektor dan matriks dengan
memanfaatkan aplikasi MATLAB. Aplikasi MATLAB dapat beroperasi
menggunakan vektor dan matriks sesuai dengan data yang kita input.
Untuk membuat vektor dan matriks dimanfaatkan kurung siku ( [ ] )
kecuali dalam pembuatan deret. Setiap angka untuk vektor dipisahkan dengan
spasi, sedangkan untuk pemisahan antar baris dapat menggunakan tanda titik
koma (;) seperti yang terlihat pada hasil percobaan pada Gambar 2.1 dan 2.2.
dalam operasi matriks tersebut dimulai melalui input data terhadap matriks yang
akan dioperasikan. Kemudian barulah kita membuat rumus yang kita inginkan,
seperti pada penjumlahan kita misalkan sebagai C dengan rumus A+B. Begitu
pula dengan pembagian, perkalian, dan penguadratan. Namun, pada
penguadratan dan perkalian memiliki model rumus berbeda dari operasi
perkalian dan penguadratan biasa. Untuk operasi perkalian matriks, digunakan
tanda petik satu di belakang persamaan seperti A*B‟. Sedangkan untuk operasi
penguadratan matriks ditambahkan tanda titik sebelum tanda ^ di dalam
persamaan seperti A.^2.
Kemudian pada percobaan yang lain, MATLAB dapat juga dimanfaatkan
pada perhitungan luas secara bersamaan menggunakan model operasi matriks.
Seperti biasa, buatlah rumus luas menggunakan bagian editor bagian function
lalu simpan. Setelah itu tulislah input menggunakan kurung siku ( [ ] ) dengan
pengelompokan sesuai dengan bagian segitiga masing-masing. Maksudnya
dalam kasus ini yaitu untuk alas di dalam siku yang sama dan begitu pula
dengan tingginya yang memiliki baris dan kolom yang sama dengan pasangan
alasnya tadi. Setelah di enter, langsunglah didapatkan hasil luas segitiga 1,
segitiga 2, dan segitiga 3 secara sekaligus/ bersamaan.

2.6 Kesimpulan

Setelah melakukan percobaan pada praktikum ini, dapat di ambil


kesimpulan bahwa seperti berikut.
1. Dalam aplikasi MATLAB, pembuatan vektor dan matriks digunakan kurung
siku ( [ ] ) dipisahkan melalui spasi untuk per kolom dan titik koma (;)
untuk per baris.
2. Untuk pembuatan deret tidak perlu menggunakan kurung siku.
3. Dengan memanfaatkan sistem operasi matriks, dapat dilakukan pencarian
luas bangun secara sekaligus dengan ukuran yang berbeda-beda.

15
PERCOBAAN 3
PENGATURAN ALUR PROGRAM

3.1 Tujuan Percobaan


Percobaan ini bertujuan agar mahasiswa mampu membuat dan
mengatur program dengan alur yang sesuai dengan persoalan yang ingin
diselesaikan.

3.2 Teori Dasar


Pengaturan alur program memungkinkan pengguna untuk mengulangi
perhitungan secara berulang-ulang maupun memilih serta memutuskan kondisi-
kondisi yang sesuai/diinginkan. MATLAB menyediakan empat bentuk
pengaturan alur program yang akan dibahas berikut ini.

3.2.1 Loop for


Loop for memungkinkan sekelompok perintah diulang sebanyak suatu
jumlah yang tetap. Bentuk umum:
for loopvariable = loopexpression
perintah-perintah
end

Loopvariable merupakan nama variabel yang diberikan sedangkan


loopexpression biasanya memiliki bentuk n:m atau n:i:m. Perintah-perintah
di antara baris for dan end dikerjakan berulang-ulang dari nilai awal n
sampai nilai akhir m, dengan increment (langkah) sebesar i.
Contoh: Perhitungan bilangan kuadrat dari himpunan bilangan bulat dari
1 sampai 5
>> for n = 1:5
x(n) = n^2
end

x=
1
x =
1 4
x =
1 4 9
x =
1 4 9 16
x =
1 4 9 16 25

Contoh : Operasi perkalian 2 buah vektor


>> x = [1 2 3];
>> y = [4 5 6];
>> sum = 0;
>> for i = 1:3
sum = sum + x(i)*y(i)

16
end

sum =
4
sum =
14
sum =
32

3.2.2 Loop while


Bentuk umum:
while while_expression
perintah-perintah
end

While_expression merupakan bentuk hubungan e 1.e2 dimana e1 dan e 2


merupakan ekspresi aritmatika biasa dan . merupakan operator relasi yang
didefinisikan sebagai berikut:
> lebih besar >= lebih besar atau sama dengan
< lebih kecil <= lebih kecil atau sama dengan
== sama -= tidak sama
Perintah-perintah di antara baris while dan end dikerjakan berulang
kali selama hubungan e1.e 2 dalam ekspresi terpenuhi.
Contoh :
>> n = 1;
>> x = 0;
>> while x < 20
x(n) = n^2;
n = n+1;
end
>> x
x = 1 4 9 16 25

3.2.3 If-Statement
Bentuk umum:
if if_expression
perintah-perintah
end

If_ expression juga mengikuti bentuk hubungan e1.e 2. Perintah-perintah di


antara baris if dan end dikerjakan jika semua elemen di dalam ekspresi
benar.
Contoh :
Sebuah toko yang menjual buah-buahan menetapkan akan memberikan
potongan harga sebesar 20% bila pelanggannya membeli apel lebih dari 10.
apel = input('Apel yang dibeli = ');
bayar = apel * 1000;
if apel > 10
bayar = ((100-20)/100)*bayar;
end

17
disp(['Jumlah yang harus dibayar = Rp ',
num2str(bayar)])

Running Program:
Apel yang dibeli = 5
Jumlah yang harus dibayar = Rp 5000

Apel yang dibeli = 12


Jumlah yang harus dibayar = Rp 9600

3.2.4 if-else-end
Pada kasus dengan dua pilihan, konstruksi if-else-end adalah:
if if_expression
perintah dikerjakan jika benar
else
perintah dikerjakan jika salah
end

Contoh :
Penentuan kelulusan seorang siswa didasarkan pada dua ujian yang
diikutinya. Ditetapkan bahwa siswa yang lulus harus memiliki nilai rata-rata
minimal 60.
nama = input('Nama Siswa = ', 's');
N1 = input('Nilai Ujian 1 = ');
N2 = input('Nilai Ujian 2 = ');
NR = (N1+N2)/2;
if NR > 60
ket = 'lulus';
else
ket = 'gagal';
end

disp(['Nama = ', nama])


disp(['Nilai rata-rata = ', num2str(NR)])
disp(['Hasil akhir = ', ket])

Running Program :
Nama Siswa = A
Nilai Ujian 1 = 60
Nilai Ujian 2 = 70
Nama = A
Nilai rata-rata = 65
Hasil akhir = lulus

Jika terdapat 3 atau lebih pilihan, konstruksi if-else-end mengambil


bentuk:
if if_expression 1
perintah dikerjakan jika if_ekspresi1 benar
elseif if_expression 2
perintah dikerjakan jika if_ekspresi2 benar

18
elseif if_expression 3
perintah dikerjakan jika if_ekspresi3 benar
elseif if_expression 4
perintah dikerjakan jika if_ekspresi4 benar
else
if
.
.
else
perintah dikerjakan jika tidak ada if_ekspresi yang benar
end

3.2.5 Switch-case-otherwise
Bentuk umum:
switch expression
case ekspresi1
perintah-perintah
case ekspresi2
perintah-perintah
case ……
.
.
otherwise
perintah-perintah
end

Contoh :
disp('1. Metoda Substitusi Berurut')
disp('2. Metoda Newton-Raphson')
disp('3. Metoda Tali Busur')
n = input('Metoda yang dipilih = ');
switch n
case (1), disp('Metoda Substitusi Berurut')
case (2), disp('Metoda Newton-Raphson')
case (3), disp('Metoda Tali Busur')
otherwise
disp('Metoda tidak termasuk dalam daftar')
end

3.3 Peralatan dan Bahan


Dalam percobaan ini, digunakan software MATLAB untuk
menyelesaikan perhitungan berulang dengan cara mengatur alur program
sesuai dengan yang diinginkan.

3.4 Langkah Percobaan


1. Buka MATLAB
2. Buka M-file (script), buatlah program berdasarkan ilustrasi berikut:
Penilaian kemampuan akademis mahasiswa dalam suatu mata kuliah
didasarkan pada jumlah kehadiran perkuliahan (10%), nilai tugas/quiz

19
(20%), nilai UTS (25%) dan nilai UAS (45%). Seorang mahasiswa
dinyatakan lulus jika total nilainya minimal 56. Terdapat lima kategori
penilaian yaitu A (total nilai ≥ 85), B (total nilai 70 - <85), C (total nilai
56 - <70), D (total nilai 40 - <56) dan E (total nilai < 40).
3. Masukkan sembarang nilai untuk jumlah kehadiran, nilai tugas/quiz, nilai
UTS dan UAS kemudian jalankan program yang telah dibuat.

3.5 Hasil dan Pembahasan

Gambar 3.1 Hasil Percobaan Penentuan Lulus Nilai Mahasiswa

Gambar 3.2 Detail Penilaian Nilai Mahasiswa

20
Pada praktikum ini dilakukan pembahasan pada pengaturan alur program
aplikasi MATLAB. Pilihan alur program pada aplikasi ini sangat beragam,
namun ada 5 alur program yang dibahas pada praktikum ini, yaitu loop for, loop
while, if-statement, if-else-end, dan switch-case-otherwise.
Pada percobaan di atas digunakan alur program if-else-end dikarenakan
memiliki beberapa pilihan golongan terhadap nilai mahasiswa yang dinilai se-
detail mungkin. Input program ini ada empat kategori, yaitu kehadiran,
tugas/quiz, UTS serta UAS. Seluruh program yang telah diketik di bagian editor
kemudian dapat di run pada halaman command window. Terlihat pada Gambar
3.1, program langsung meminta input yang dibutuhkan kemudian menampilkan
hasil akhir seperti pada gambar 3.2 sesuai dengan kriteria yang diminta. Maka
dari itu, memanfaatkan aplikasi MATLAB dalam proses penilaian sangat
membantu dan mempermudah pekerjaan dalam mengolah data angka dengan
beberapa kriteria yang diinginkan.

3.6 Kesimpulan
Setelah melakukan praktikum ini, dapat diambil kesimpulan seperti
berikut.
1. Program alur pada aplikasi MATLAB meliputi alur program loop for, loop
while, if-statement, if-else-end, serta switch-case-otherwise.
2. Alur program digunakan sesuai dengan kondisi yang digunakan. Seperti
pada praktikum ini menggunakan alur program if-else-end dikarenakan
memiliki kriteria atau pilihan yang banyak sehingga menggunakan alur
program tersebut.

21
PERCOBAAN 4
PERSAMAAN DIFERENSIAL BIASA ORDE 1

4.1 Tujuan Percobaan


Percobaan ini bertujuan agar mahasiswa mampu menggunakan
MATLAB untuk menyelesaikan persamaan-persamaan diferensial biasa orde
1.

4.2 Teori Dasar


4.2.1 Metode Euler
Bentuk umum persamaan diferensial biasa orde 1:

Bentuk umum metode Euler:


yi+1 = yi + Δx.f(xi,yi)

Contoh :
Dengan menggunakan metoda euler, tentukanlah nilai y pada x = 1 jika
dy/dx = x2 y, dimana y = 1 pada x = 0.
Penyelesaian:
Dari bentuk umum, maka: yi+1 = yi + Δx.x2i.yi
Bila dipilih Δx = 0,1, maka:
% PDB - Eksplisit
x0 = 0; % Nilai awal
y0 = 1;
xa = 1; %
x akhir
dx = 0.1;
for i = 1:10
y = y0 + dx * x0^2 * y0
x0 = x0 + dx;
y0 = y;
end

Running Program:
y =
1
y =
1.0010
y =
1.0050
y =
1.0140
y =
1.0303
y =
1.0560
y =

22
1.0940
y =
1.1477
y =
1.2211
y =
1.3200

4.2.2 Metoda Runge-Kutta Orde 4


Bentuk umum:

Contoh :
Tentukanlah nilai y pada x = 1 jika dy/dx = x2 y, dimana y = 1 pada x = 0
dengan Δx = 0,1.
Penyelesaian:
x0=0;
y0=1;
xa=1;
dx=0.1;
for i=1:10
k1=x0^2*y0;
k2=(x0+1/2*dx)^2*(y0+1/2*k1*dx);
k3=(x0+1/2*dx)^2*(y0+1/2*k2*dx);
k4=(x0+dx)^2*(y0+k3*dx);
y=y0+1/6*dx*(k1+2*k2+2*k3+k4)
x0=x0+dx;
y0=y;
end

4.2.3 Fungsi Built-in MATLAB


Contoh :
Program untuk persamaan diferensial dy/dx = x2 y
Program disimpan dalam file diferensial.m
function fx = diferensial(x,y)
fx = x^2*y;

Pada command window, ketik:


[x,y] = ode45('diferensial', [0:0.1:1], 1)

ode45 merupakan salahsatu fungsi built-in MATLAB yang dapat digunakan


untuk menyelesaikan fungsi diferensial biasa dengan input berupa
fungsi/persamaan diferensial biasa, rentang nilai x dan nilai y0 .
2
'diferensial' ialah nama file persamaan diferensial dy/dx = x y yang

23
telah dibuat sebelumnya, rentang nilai x adalah 0 sampai 1 dengan Δx=0,1
dan nilai y0 = 1.

Running Program:
x =
0
0.1000
0.2000
0.3000
0.4000
0.5000
0.6000
0.7000
0.8000
0.9000
1.0000
y =
1.0000
1.0003
1.0027
1.0090
1.0216
1.0425
1.0747
1.1211
1.1861
1.2751
1.3956

Hasil yang diperoleh dengan fungsi built-in ode45 ini sama dengan hasil
perhitungan secara analitik.

4.3 Peralatan dan Bahan


Dalam percobaan ini, digunakan software MATLAB untuk
menyelesaikan persamaan-persamaan diferensial biasa orde 1.

4.4 Langkah Percobaan


1. Buka MATLAB
2. Buka M-file (script), buatlah program untuk menyelesaikan persamaan
diferensial berikut dengan menggunakan metode Euler dan metode
Runge-Kutta orde 4.

Hitunglah nilai y untuk x = 1,5 dengan Δx = 0,1, syarat awal: y(0) = 1.


3. Selesaikan juga persamaan diferensial di atas dengan menggunakan fungsi
ode 45.

24
4.5 Hasil dan Pembahasan

Gambar 4.1 Program Persamaan Diferensial Metode Euler

Gambar 4.2 Hasil Percobaan Menggunakan Metode Euler

Gambar 4.3 Hasil Percobaan Menggunakan Metode Euler

25
Gambar 4. 4 Hasil Percobaan Menggunakan Metode Euler

Gambar 4.5 Program Persamaan Diferensial Metode Runge-Kutta Orde 4

Gambar 4.6 Hasil Percobaan Persamaan Diferensial Metode Runge – Kutta Orde
4

26
Gambar 4.7 Hasil Percobaan Persamaan Diferensial Metode Runge – Kutta Orde
4

Gambar 4.8 Hasil Percobaan Persamaan Diferensial Metode Runge – Kutta Orde
4

Gambar 4.9 Hasil Percobaan Menggunakan Fungsi ode45

27
Gambar 4.10 Hasil Percobaan Menggunakan Fungsi ode45

Pada praktikum ini dilakukan percobaan terhadap persamaan diferensial


biasa orde 1 yang menggunakan metode euler dan metode Runge – Kutta. Dalam
percobaan ini hanya menggunakan metode Runge – Kutta pada orde 4.
Pada metode euler menggunakan input x0 = nilai awal x, y0 = nilai awal
y, xa = nilai akhir x, dan dx = delta x. Metode euler menggunakan sistem iterasi
yang hal ini dilambangkan i sebanyak 15 kali. Untuk mencari nilai y digunakan
rumus y(0,1) = y0 + dx (x0/y0) dengan x0/y0 adalah persamaannya. Dalam
iterasi tersebut didapatkan nilai pada iterasi terakhir sebesar y = 1,7749.
Kemudian percobaan kedua menggunakan metode Runge – Kutta orde 4
dengan input x1 = x0, y1 = y0, xa = nilai x pada y yang dicari, dx = delta x, serta
input k1, k2, k3, dan k4 yang dicari melalui hasil fungsi dengan ketentuan nilai x
dan a pada aturan metode Runge – Kutta. Setelah mendapatkan nilai k1, k2, k3,
dan k4 barulah dapat menggunakan rumus yn+1 yang merupakan nilai y yang
dicari. Percobaan dilakukan sebanyak 15 kali iterasi, dengan iterasi ke – 15
mendapatkan hasil 1,8028.
Jika dibandingkan antara dua metode, hasil yang diperoleh memiliki
perbedaan sebesar 0,0279. Nilai ini hampir mencapai 0,1. Menurut teori, metode
euler cenderung memiliki tingkat error yang bertambah seiring berapa kali
iterasi yang dilakukan. Sedangkan bila dibandingkan dengan metode Runge –
Kutta, error yang dimiliki tidak ada sama sekali karena memiliki tingkat akurat
yang tinggi.
Terlepas dari metode yang telah dilakukan, kita dapat juga menggunakan
fungsi diferensial yang terdapat di dalam MATLAB dengan fungsi ode45 yang
mendapatkan nilai 1,8028 persis seperti nilai yang didapatkan pada metode
Runge – Kutta.

28
4.6 Kesimpulan
Setelah melakukan praktikum ini, dapat diambil kesimpulan bahwa
sebagai berikut.
1. Persamaan diferensial biasa orde satu adalah salah satu solusi untuk
mencari nilai y pada titik x yang telah diketahui melalui fungsi F.
2. Dalam pemecahan masalah persamaan diferensial biasa dapat di
gunakan beberapa metode, yakni metode euler dan metode Runge –
Kutta.
3. Pada metode Euler mengalami tingkat error yang bertambah
signifikan seiring bertambahnya iterasi. Namun pada metode Runge –
Kutta memiliki tingkat keakuratan yang tinggi sehingga tidak ada
error.
4. Pada percobaan ini memiliki selisih hasil nilai y sebesar 0,0279.
5. Persamaan diferensial biasa orde 1 dapat ditemukan menggunakan
aplikasi MATLAB dengan 3 metode pencarian, yaitu metode Euler,
metode Runge-Kutta Orde 4, serta menggunakan fungsi ode45.

29
PERCOBAAN 5
PERSAMAAN NON LINIER

5.1 Tujuan Percobaan


Percobaan ini bertujuan agar mahasiswa mampu:
1. Mencari akar persamaan non linier dengan berbagai metode menggunakan
MATLAB,
2. Memahami fungsi-fungsi MATLAB yang berkaitan dengan polinomial,
3. Membuat grafik dari persamaan non linier dengan menggunakan
MATLAB.

5.2 Teori Dasar


Masalah persamaan non linier umumnya ditujukan untuk mencari akar
persamaan. Penyelesaian masalah persamaan non linier bersifat iteratif,
dilakukan berulang-ulang sehingga konvergensi tercapai. Pada saat awal
pembuatan program harus didefinisikan terlebih dahulu toleransi perhitungan
yang diperkenankan serta bentuk kriteria konvergensi yang digunakan.

Bentuk umum persamaan non linier variabel tunggal adalah:


f(x) = 0
Ada beberapa metode numerik yang dapat digunakan untuk
menyelesaikan masalah yang melibatkan persamaan non linier, diantaranya:
5.2.1 Metode Newton-Raphson
Bentuk umum dari persamaan Newton-Raphson adalah sebagai berikut:

Jadi, metode Newton-Raphson membutuhkan turunan fungsi dalam


penyelesaian masalahnya serta sebuah tebakan awal.
Contoh:
Program penentuan akar persamaan dengan menggunakan metode Newton-
Raphson untuk persamaan f(x) = x4 – ex + 1 = 0.
x0=1;
tol=5e-5;
itr=1;
y0=x0^4-exp(x0)+1;
y=4*x0^3-exp(x0); %turunan f(x)
x1=x0-(y0/y);%persamaan Newton-Raphson
y1= x1^4-exp(x1)+1;
while abs(y1)>tol
itr=itr+1;
x0=x1;
y0=x0^4-exp(x0)+1;
y=4*x0^3-exp(x0);
x1=x0-(y0/y);

30
y1= x1^4-exp(x1)+1;
end
disp(['Akar persamaan adalah=',num2str(x1)])
disp(['Banyaknya iterasi yang dilakukan=',num2str(itr)])

5.2.2 Metode Iterasi Titik Tetap


Secara ringkas metode ini diselesaikan melalui langkah-langkah berikut:
1. Ubah persamaan non linier f(x)=0 menjadi x=g(x), dimana g(x) adalah
persamaan non linier yang mengandung variabel x yang berbeda dari
f(x),
2. Tetapkan nilai toleransi (xtol),
3. Tetapkan nilai tebakan awal x0,
4. Untuk iterasi 1 s.d. n :
xi = g(xi-1) dan hitung f(xi)
5. Lakukan evaluasi dengan s y a r a t f ( x i ) ≤ xtol,
6. Apabila hasil evaluasi menunjukkan nilai f ( x i ) ≤ xtol, maka
perhitungan dapat dihentikan dan akar yang dicari adalah xi; tetapi bila
tidak, maka perhitungan harus diulangi untuk iterasi selanjutnya.

Contoh:
Program penentuan akar persamaan dengan menggunakan metode iterasi
titik tetap untuk persamaan f(x) = x4 – ex + 1 = 0.
% Menghitung akar persamaan : f(x)= x^4 - e^x + 1 = 0
% x = g(x) ---> x = (e^x - 1)^0.25
xtol = 5e-5;
itr = 1;
x0 = 1;
x1 = (exp(x0) - 1)^0.25;
y = x1^4-exp(x1)+1;
while abs(y) > xtol
itr = itr+1;
x0 = x1;
x1 = (exp(x0) - 1)^0.25;
y = x1^4-exp(x1)+1;
end
disp(['Akar persamaan adalah = ', num2str(x1)])
disp(['Banyaknya iterasi yang dilakukan = ', num2str(itr)])
fprintf('\n')

5.2.3 Metode Tali Busur (Secant)


Metode Tali Busur merupakan pengembangan dari metode Newton-
Raphson, dimana persamaan turunan fungsi diganti dengan pendekatan
beda maju sehingga metode ini merupakan alternatif bagi turunan yang
sukar.

Bentuk umum dari persamaan tali busur adalah sebagai berikut:

31
Dibutuhkan dua buah tebakan awal untuk metode ini, yaitu x0 dan x1.

5.2.4 Fungsi Built-in MATLAB


MATLAB mempunyai fungsi khusus untuk menyelesaikan masalah
pencarian akar persamaan non linier atau pencarian nol dengan perintah
fzero. Caranya adalah dengan menuliskan function pada sebuah M-
file yang berisikan persamaan tersebut.
Contoh :
Program penentuan akar persamaan f(x) = x4 – ex + 1 = 0 dengan
menggunakan fungsi built-in MATLAB.
function y = akar(x)
y = x^4 – exp(x) + 1;

Simpanlah file tersebut dengan nama akar.m, selanjutnya ketiklah pada


command window:
>> x=fzero('akar', 0)

Setelah perintah fzero , buatlah di dalam kurung nama file dalam bentuk
string yang diikuti dengan tebakan awal yang diberikan, di antaranya
dipisahkan dengan tanda koma. Bila akar persamaan lebih dari satu, maka
hasil yang ditampilkan hanyalah akar yang paling mendekati tebakan.

5.2.5 Polinomial
Polinomial mempunyai bentuk umum sebagai berikut:
f(x) = a0.xN + a1.xN-1 + a2.xN-2 + … + aN-2.x2 + aN-1.x1 + aN.x0
a. Menentukan akar persamaan
Untuk menentukan akar persamaan dari sebuah polinom, dapat digunakan
fungsi roots.
Contoh :
Perhatikan persamaan berikut:
f(x) = x2 + 3x + 2
= (x+2)(x+1)
sehingga akar persamaannya adalah: x1 = -2 dan x2 = -1
Dalam MATLAB dapat diselesaikan:
>> a=[1 3 2]; % koefisien polinom dimulai dari xN sampai x0
>> roots(a)
ans =
-2
-1

b. Membentuk polinom
MATLAB juga mempunyai fungsi untuk membentuk polinom dari akar-
akarnya.
Contoh :
Untuk akar persamaan yang diperoleh pada contoh sebelumnya, dapat
ditentukan persamaannya:
32
>> b = [-2 -1];
>> poly(b)
ans =
1 3 2

c. Operasi polinom
Polinom dapat mengalami berbagai operasi aritmatika.
Contoh:
Misalkan diketahui dua buah persamaan:
f(x) = 3x3 + 2x2 + 1
g(x) = 4x2 + 2x + 3
Operasi penjumlahan terhadap dua polinom adalah dengan cara
menjumlahkan masing-masing koefisiennya, demikian pula dengan
pengurangan.
>> f=[3 2 0 1];
>> g=[4 2 3];
>> f+g
??? Error using ==> +
Matrix dimensions must agree.

Untuk menghindari kesalahan, maka matriks yang terlibat dalam operasi


penjumlahan / pengurangan harus mempunyai ukuran yang sama.
>> g=[0 4 2 3];
>> f+g
ans =
3 6 2 4
>> f-g
ans =
3 -2 -2 -2

artinya, polinom hasil penjumlahan adalah: 3x 3 + 6x2 + 2x + 4


dan polinom hasil pengurangan adalah: 3x3 - 2x2 - 2x - 2

Operasi perkalian dan pembagian melibatkan perhitungan yang lebih rumit.


Fungsi yang disediakan MATLAB berturut-turut adalah conv
(convolution) dan deconv. Tidak seperti penjumlahan atau pengurangan,
penulisan vektor koefisien polinom tidaklah harus mempunyai ukuran yang
sama.

Contoh :
Untuk dua polinom yang sama seperti di atas, maka operasi perkalian dan
pembagian dapat ditulis sebagai berikut:
>> f=[3 2 0 1];
>> g=[4 2 3];
>> conv(f,g)
ans =
12 14 13 10 2 3
>> [k,s]=deconv(f,g)
k =

33
0.7500 0.1250
s =
0 0 -2.5000 0.6250

sehingga hasil pembagiannya adalah :


0,75x + 0,125 dengan sisanya -2,5x + 0,625

Jika k dikalikan dengan g(x), kemudian hasil perkalian tersebut dijumlahkan


dengan s, maka pastilah akan sama dengan f(x).
>> kali=conv(k,g)
kali =
3.0000 2.0000 2.5000 0.3750
>> kali + s
ans =
3 2 0 1

d. Evaluasi Polinom
Fungsi polyval digunakan untuk mengevaluasi polinom.
Contoh :
>> f=[3 2 0 1];
>> nilai = polyval(f,3)
nilai =
100
>> nilai = polyval(f,[3 2])
nilai =
100 33
>> x=linspace(-3,3);
>> nilai = polyval(f,x);
>> plot(x,nilai), title('3x^3+2x^2+1'), xlabel('x')

e. Turunan
Fungsi polyder merupakan fungsi yang disediakan MATLAB untuk mencari
turunan (derivat) dari suatu polinom.
Contoh :
>> f=[3 2 0 1];
>> der=polyder(f)
der = 9 4 0
5.2.6 Grafik
Perintah plot akan menghasilkan grafik dua dimensi x-y. Dibutuhkan
tabel data x dan y untuk menggunakan perintah ini.
Bentuk umum:
plot(x,y)

Contoh :
>> x = [1 2 3];
>> y = [2 4 9];
>> plot(x,y)

maka akan muncul sebuah grafik pada layar baru (khusus untuk grafik) yang
bernama Figure 1.
34
Untuk menambahkan keterangan pada grafik, dapat ditambahkan perintah-
perintah berikut:
title(‘teks’) %untuk menampilkan judul pada grafik
xlabel(‘teks’) %untuk memberi nama pada sumbu-x grafik
ylabel (‘teks’) %untuk memberi nama pada sumbu-y grafik
text(2,4,’Titik 2’) %untuk menampilkan teks ‘Titik 2’ pada
lokasi x=2 dan y=4
gtext(‘Titik 3’) %untuk menampilkan teks ‘Titik 3’
dengan cara mengklik kursor pada
sembarang lokasi yang diinginkan

Dua buah grafik dapat pula di-plot pada layar yang sama. MATLAB
akan mengatur warna dari kedua grafik tersebut.
Contoh:
>> x = [1 2 3];
>> y = [2 4 9];
>> z = [3 7 12];
>> plot(x,y, x,z)

Untuk membuat grafik dalam skala logaritma atau semilogaritma, perintah


plot diganti dengan loglog atau semilog dengan cara yang sama. Bila
terdapat lebih dari 1 grafik, misalkan 2 grafik, maka pada layar grafik
hanya muncul grafik yang kedua, demikian seterusnya. Untuk
mengatasinya, dapat ditambahkan perintah figure(n) dengan n
menunjukkan nomor grafik. Akibatnya akan muncul sebanyak n buah layar
grafik yang baru.

Dapat pula beberapa grafik ditampilkan dalam sebuah layar grafik saja
dengan menggunakan perintah:
subplot(m,n,k)

dengan m menunjukkan baris, n menunjukkan kolom, dan k menunjukkan


grafik yang ke berapa. Misalnya: subplot(1,3,1) artinya terdapat
sebanyak 3 grafik dalam 1 baris di mana grafik yang dimaksud pada
perintah ini diletakkan pada kolom 1.

Sebagai default, MATLAB memilih style garis lurus serta warna biru.
Pada perintah plot dapat ditambahkan argumen tambahan untuk memilih
warna dan style untuk grafik yang akan dibuat.

Contoh: plot(x,y,‘r+’) akan menghasilkan grafik dengan warna


merah (red) dan style garis yang merupakan gabungan tanda +.

Berikut adalah contoh warna, penandaan, dan style garis yang disediakan
MATLAB :

35
5.3 Peralatan dan Bahan
Dalam percobaan ini, digunakan software MATLAB untuk
menghitung akar persamaan non linier, menjalankan operasi-operasi polinom
dan menampilkan grafik dari persamaan non linier.

5.4 Langkah Percobaan


1. Buka MATLAB
2. Buka M-file (script), buatlah program untuk mencari akar persamaan non
linier berikut:
y = x3 – 7x + 1
dengan toleransi error 0,03, xn = 2,3 dan xn+1 = 2,5 menggunakan metode
Newton-Raphson dan metode Secant.
3. Buat juga tampilan grafik dari persamaan non linier di atas.

5.5 Hasil dan Pembahasan

Gambar 5.1 Hasil Percobaan Menggunakan Metode Newton-Raphson

36
Gambar 5.2 Grafik Hasil Percobaan Metode Newton-Raphson

Gambar 5.3 M-File Menggunakan Metode Secant

Gambar 5.4 Hasil Percobaan Menggunakan Metode Secant

37
Gambar 5.5 Grafik Hasil Percobaan Metode Secant

Pada praktikum ini dilakukan percobaan persamaan non linier


menggunakan metode Newton – Rapshon dan metode Secant. Pada penggunaan
metode ini dilakukan iterasi untuk mencari akar suatu persamaan.
Metode Newton – Rapshon menggunakan input Xn, Xn+1, F(Xn), dan
F(Xn+1). Pada pembuatan rumus di M – File menggunakan Xn = x0, Xn+1 =
x1, F(Xn) = y0, dan F(Xn+1) = y1. Xn yang ditentukan kemudian dimasukkan
ke dalam fungsi yang dinyatakan dalam soal, kemudian dimasukkan juga dalam
fungsi turunannya pada persamaan y. Setelah didapatkan nilai y0 dan y maka
dapat dicari x1 dan y1. Iterasi akan terus dilakukan sampa dengan hasil y1 lebih
kecil dibandingkan tetapan error pada soal, yaitu 0,03. Bila hasil y1 belum
mencapai kurang dari 0,03, maka nilai x1 akan menjadi nilai x0 untuk
mendapatkan hasil iterasi berikutnya. Jika nilai y1 sudah memenuhi persyaratan,
maka nilai akar yang didapatkan adalah x1. Pada metode ini didapatkan nilai
akar sebesar 2,5732 dengan iterasi sebanyak dua kali. Grafik pada percobaan
tersebut ditunjukkan pada Gambar 5.2.
Metode Secant menggunakan input x0, x1, F(x0) = y0, F(x1) = y1, x2,
dan F(x2) = y2. Tidak jauh beda dengan metode sebelumnya, metode ini
membutuhkan titik yang diacu untuk menentukan akar dari persamaan non
linier. Namun, perbedaannya adalah pada metode Secant harus memiliki dua
titik yang diketahui, yakni dalam inputnya adalah x0 dan x1 serta tidak
menggunakan turunan fungsi. Setelah menentukan x0 dan x1 maka kita akan
mencari hasil fungsi dari dua titik tersebut untuk mencari titik x2. Pencarian x2
menggunakan rumus sesuai dengan metode Secant, kemudian dicari hasil fungsi
x2. Bila hasil mutlak fungsi x2 yang dilambangkan y2 memiliki nilai yang lebih
kecil dari nilai error -nya yakni 0,03 maka iterasi akan terus dilakukan. Ketika
nilai yang didapatkan sesuai syarat, maka akar dari persamaan tersebut adalah
pada hasil x2 atau pada titik x yang ditunjukkan pada hasil x2. Pada persamaan
yang dicari, didapatkan nilai x2 = 2,5704 dengan iterasi yang dilakukan
sebanyak 3 kali. Grafik yang dihasilkan menggunakan metode ini dapat dilihat
pada Gambar 5.5.
Pada kedua hasil dari metode yang berbeda memiliki nilai yang berbeda
0,0028 yang akan dianggap perbedaan sangat kecil sehingga dapat dikatakan
38
hasilnya sama. Namun yang menjadi perbedaan adalah pada metode Newton –
Rapshon menggunakan hasil fungsi turunan dan titik yang perlu diketahui hanya
satu saja. Sedangkan pada metode Secant tidak menggunakan hasil fungsi
turunan, namun harus diketahui dua titik untuk mencari titik hasil. Untuk rumus
yang digunakan oleh kedua metode ini pun memiliki tingkat kesulitan yang
sama. Grafik hasil yang diperoleh pun bila diamati memiliki garis yang sama di
antara dua metode.

5.6 Kesimpulan
Setelah melakukan praktikum ini melalui percobaan di atas dapat diambil
kesimpulan bahwa sebagai berikut.
1. Persamaan non linier merupakan persamaan yang membutuhkan
iterasi berulang untuk mendapatkan akar persamaan yang
konvergensi tercapai.
2. Pada pemecahan persamaan non linier dapat menggunakan metode
Newton – Rapshon, metode iterasi titik tetap, dan metode tali busur
(Secant).
3. Pada metode Newton – Rapshon menggunakan satu titik yang
diketahui dan hasil fungsi turunan. Sedangkan pada metode Secant
menggunakan dua titik yang diketahui dan tidak menggunakan hasil
fungsi turunan.
4. Hasil yang diperoleh dari kedua metode hanya memiliki perbedaan
sebesar 0,0028.

39
PERCOBAAN 6
INTERPOLASI

6.1 Tujuan Percobaan


Percobaan ini bertujuan agar mahasiswa mampu menaksir nilai di
antara nilai-nilai yang t e l a h diketahui dengan menggunakan MATLAB.

6.2 Teori Dasar


Pendekatan yang dilakukan dalam interpolasi adalah mencocokkan
sebuah atau sederetan kurva secara langsung melalui masing-masing titik data.
6.2.1 Interpolasi 1 Variabel
a. Interpolasi Linier
Interpolasi linier merupakan bentuk yang paling sederhana untuk menaksir
nilai di antara nilai-nilai yang diketahui dengan baik. Interpolasi linier
menghubungkan 2 titik data [(x1, f(x1)) dan x2, f(x2))] dengan garis lurus,
lalu dengan penghampiran menentukan nilai fungsi f(x) dari suatu titik (x)
yang terletak di antaranya.

Persamaan umum interpolasi linier:

Contoh :
Diketahui data: x ln(x)
1 0
4 1,3863
6 1,7917
Taksirlah harga logaritma natural dari 2 atau ln(2).

Penyelesaian dalam bahasa MATLAB:


% data x
x = [1 4 6];
% data ln x
lnX = [0 1.3863 1.7917];
cari = 2;
ln2 = lnX(1) + ((lnX(2) - lnX(1)) / (x(2)-x(1))) * (cari -
x(1))

Running Program:
ln2 =
0.4621

b. Interpolasi Kuadratik
Merupakan polinom berderajat dua dengan bentuk umum:
40
f (x) = b0 + b1 (x – x0) + b2 (x – x0) (x – x1)

Untuk menentukan konstanta b0, b1 , dan b2 dibutuhkan 3 titik data yaitu


[(x0, f(x0)), (x1, f(x1)), dan x2, f(x2))]. Substitusi ke dalam bentuk umum:

c. Built-in function
Penyelesaian dengan menggunakan built-in function adalah dengan perintah
interp1.
Bentuk umum:
YI = interp1(X,Y,XI)

X dan Y merupakan vektor yang berisikan data-data diskrit di mana Y =


f(X). interp1 melakukan interpolasi untuk mendapatkan nilai YI pada titik
data XI.

Interpolasi dapat dilakukan dengan beberapa metode di antaranya linier,


kubik, dan spline. Bila metode yang akan digunakan tidak dispesifikasikan,
maka MATLAB akan menggunakan metode linier sebagai default.
Perintah yang digunakan menjadi:
YI = interp1(X,Y,XI,’method’)

Contoh :
% data x
x = [1 4 6];
% data ln x
lnX = [0 1.3863 1.7917];
hasil = interp1(x, lnX, 2)
hasil1 = interp1(x, lnX, 2, 'linear')
hasil2 = interp1(x, lnX, 2, 'cubic')
hasil3 = interp1(x, lnX, 2, 'spline')
hasil4 = interp1(x, lnX, 2, 'nearest')
hasil5 = interp1(x, lnX, [2 5])

Running Program
hasil =
0.4621
hasil1 =
0.4621
hasil2 =

41
0.5729
hasil3 =
0.5659
hasil4 =
0
hasil5 =
0.4621 1.5890

6.2.2 Interpolasi 2 Variabel


Interpolasi 2 variabel juga bertujuan untuk menaksir nilai di antara nilai-
nilai yang diketahui dengan baik, tetapi dilakukan pada data yang
mempunyai 2 variabel.
Contoh :
Diketahui sebuah kumpulan data sebagai berikut

Tentukanlah nilai data pada x1 = 1,5 dan x2 = 2,3.

Penyelesaian berikut dilakukan dengan menggunakan built-in


function interp2.
Bentuk umum:
ZI = interp2(X,Y,Z,XI,YI)

X, Y, dan Z merupakan vektor yang berisikan data-data diskrit dimana Z


= f(X,Y). interp2 melakukan interpolasi untuk mendapatkan nilai ZI pada
titik data XI dan YI. Seperti interp1, interp2 dapat dilakukan dengan
beberapa metode dengan metode linier sebagai default.
data = [10 20 30
40 46 50
50 60 100];
hasil = interp2(x1, x2, data, 1.5, 2.3)

Running Program
hasil =
46.6000

6.3 Peralatan dan Bahan


Dalam percobaan ini, digunakan software MATLAB untuk menaksir
nilai di antara nilai-nilai yang t e l a h diketahui dengan menggunakan
interpolasi 1 variabel dan interpolasi 2 variabel.

6.4 Langkah Percobaan


1. Buka MATLAB
2. Buka M-file (script), buatlah program untuk menghitung nilai f(9,a)
42
dengan menggunakan interpolasi linier dan interpolasi kuadratik jika
diberikan pasangan nilai x dan f(x) sebagai berikut:
x 9,0 9,5 10,0 11,0
f(x) 2,19722 2,25129 2,30259 2,39790

a adalah angka terakhir NIM Anda. Jika angka tersebut adalah 0 atau 5,
maka gunakan angka ke-2 atau angka ke-3 dari belakang.

6.5 Hasil dan Pembahasan

Gambar 6.1 Hasil Percobaan Interpolasi Linier

Gambar 6.2 M-File Interpolasi Kuadratik

43
Gambar 6.3 Hasil Percobaan Interpolasi Kuadratik

Gambar 6.4 M-File Interpolasi Keseluruhan

Gambar 6.5 Hasil Percobaan Interpolasi Keseluruhan

44
Gambar 6.6 Hasil Percobaan Interpolasi Keseluruhan

Pada praktikum ini dilakukan percobaan terhadap mencari nilai f(9,3)


dengan metode interpolasi linier dan interpolasi kuadratik menggunakan aplikasi
MATLAB. Pada interpolasi linier menggunakan rumus yang memiliki input x,
x(1), x(2), fX(1), dan fX(2). Sedangkan untuk interpolasi kuadratik
menggunakan rumus dengan input b0, b1, x0, x1, dan x2.
Pada interpolasi linier menggunakan dua titik untuk menentukan nilai
pada titik tertentu. Sehingga digunakan titik x(1) dan x(2) saja serta fungsi –
fungsinya. Kemudian didapatkanlah hasil fungsi 3,5480 pada titik 9,3.
Sedangkan ketika menggunakan interpolasi kuadratik didapatkan hasil fungsi
2,2300 pada titik 9,3. Pada interpolasi kuadratik menggunakan tiga titik untuk
mencari hasil fungsi dari suatu titik.
Jika dilihat dari kedua metode ini dapat dikatakan bahwa metode
kuadratik memiliki cara yang lebih rumit.
Ketika ingin mencari nilai fungsi dari suatu titik dengan berbagai metode,
dapat diberlakukan fungsi YI = interp1 (X, Y, XI, „method‟) dengan mengisi
input X, Y, XI, dan metode apa yang ingin digunakan. Dengan fungsi ini kita
dapat mencari hasil fungsi menggunakan beberapa metode secara sekaligus.

6.6 Kesimpulan
Setelah melakukan praktikum ini melalui percobaan di atas, maka dapat
disimpulkan bahwa sebagai berikut.
1. Untuk mencari hasil dari suatu fungsi titik yang diketahui beberapa
hasil fungsi titik serta titiknya dapat dicari melalui metode
interpolasi.
2. Metode interpolasi yang dibahas pada praktikum ini adalah
interpolasi linier dan interpolasi kuadratik.
3. Interpolasi kuadratik paling sedikit diketahui tiga hasil fungsi titik
beserta titiknya. Sedangkan interpolasi linier dibutuhkan paling
sedikit dua hasil fungsi titik beserta titiknya.
4. Hasil dari kedua metode memiliki perbedaan yang sangat kecil
sehingga dapat dikatakan hasil yang didapat akurat.
45

Anda mungkin juga menyukai