Anda di halaman 1dari 26

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah


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).
Salah satu bentuk matematika yang tidak ideal adalah persamaan tak linier.
Adanya tantangan dalam menyelesaikan persamaan tak linier menjadikan kita
berlomba-lomba untuk mampu menyelesaikan permasalahan tersebut dengan
mudah dan efektif serta yang utama adalah mendapatkan jawaban dari masalah
yang diberikan. Namun dengan perkembangan teknologi yang begitu pesat,

1
permasalahan yang terbentuk pada persamaan tak linier dapat diselesaikan dengan
menggunakan aplikasi Matlab.
Matlab merupakan aplikasi yang memudahkan pada penggunanya untuk
memecahkan permaslahan yang berkaitan dengan matematika serta analisisnya.
Dalam menyelesaikan persamaan tak linier ini, dapat dilakukan dengan mudah
dengan menggunakan aplikasi matlab ini. Secara teori, penyelesaian persamaan
ini dapat dilakukan dengan menggunakan beberapa metode yaitu :
1. Metode Belah Dua (Bisection)
2. Metode Newton-Raphson
3. Metode Tali Busur (Secant).
Namun, dalam hal ini yang menjadi fokus adalah mencari solusi
persamaan tak linier dengan metode belah dua. metode bagi-dua adalah algoritma
pencarian akar yang membagi dua selang, lalu memilih bagian selang yang berisi
akar seharusnya berada untuk diproses lebih lanjut. Metode ini berlaku ketika kita
ingin memecahkan persamaan f(x) = 0 untuk variable scalar x, di mana f
merupakan fungsi kontinu (Pratiwi : 2014).
Dalam menggunakan metode belah dua ini pada matlab tentu perlu adanya
pemahaman yang mendasar dalam membuat program matlab yang berbasis
menyelesaikan permasalahan persamaan tak linier. Oleh karena itu, makalah ini
mengangkat judul Solusi Persamaan Tak Linier dengan Metode Belah Dua.

1.2. Rumusan Masalah


Dalam pembahasan latar belakang diatas. rumusan masalah dalam
makalah ini adalah
1) Apakah dengan metode belah dua dalam sistem pemograman matlab
mampu menyelesaikan persamaan tak linier ?
2) Bagaimana cara metode belah dua dalam menyelesaikan persamaan tak
linier pada pemograman matlab ?
3) Bagaimana proses pembuatan aplikasi pemograman matlab dengan
menggunakan metode belah dua dalam menyelesaikan persamaan tak
linier ?

2
4) Bagimana cara menjalankan aplikasi pemograman matlab dengan
menggunakan metode belah dua dalam menyelesaikan persamaan tak
linier ?

1.3. Tujuan
Berdasarkan rumusan masalah yang diberikan sebelumnya, maka tujuan
dari pembuatan makalah ini adalah :
1) Untuk mengetahui apakah dengan metode belah dua dalam sistem
pemograman matlab mampu menyelesaikan persamaan tak linier.
2) Untuk mengetahui cara metode belah dua dalam menyelesaikan persamaan
tak linier pada pemograman matlab ?
3) Untuk mengetahui proses pembuatan aplikasi pemograman matlab dengan
menggunakan metode belah dua dalam menyelesaikan persamaan tak
linier ?
4) Untuk mengetahui cara menjalankan aplikasi pemograman matlab dengan
menggunakan metode belah dua dalam menyelesaikan persamaan tak
linier ?

1.4. Manfaat
Berdasarkan latar belakang, rumusan dan tujuan pembuatan makalah,
maka manfaat yang bisa diperoleh dari makalah ini adalah sebagai berikut :
1) Menambah referensi bacaan dalam mempelajari pemograman matlab
dengan metode belah dua dalam meyelesaikan masalah persamaan tak
linier yang efektif dan afisien.
2) Menambah referensi bagi para pembaca dalam membuat serta
menjalankan aplikasi pemograman matlab dengan dengan metode belah
dua dalam meyelesaikan masalah persamaan tak linier.
3) Sebagai bahan referensi bagi mahasiswa yang sedang memperlajari
pemograman matlab khususnya dengan metode belah dua.

3
BAB II
TINJAUAN TEORITIS

2.1. Program dan Bahasa Pemograman


Program dalam istilah komputer mempunyai arti sebagai kumpulan
perintah yang digunakan untuk mengatur komputer untuk melaksanakan suatu
pekerjaan. Melalui program inilah kemudian manusia dapat berinteraksi dengan
"mesin" komputer. Tanpa sebuah program maka komputer tidak akan dapat
melakukan sesuatu sesuai dengan yang dikehendaki. Jadi ketika suatu program
dibuat dan dijalankan, terjadi interaksi antara manusia dan komputer (Nugroho :
2013).
Seperti halnya interaksi antar manusia diperlukan suatu bahasa agar setiap
ungkapan dapat difahami dan setiap perintah ataupun informasi dapat ditindak
lanjuti. Karenanya untuk bisa membuat program, seorang programer (orang yang
biasa membuat program komputer) yang ingin berinteraksi dengan komputer
memerlukan bahasa pemrograman. Agar dapat difahami maka seorang programer
harus mengikuti kaidah bahasa program tertentu yang kemudian disebut sebagai
bahasa pemrograman. Bahasa pemrograman dapat dikategorikan kedalam :
1) Bahasa beraras tinggi
2) Bahasa beraras rendah
Bahasa beraras tinggi adalah bahasa pemrograman yang berorientasi pada
manusia (programer). Artinya bahasa program jenis ini lebih mudah difahami
karena mendekati bahasa manusia dan menggunakan kata-kata yang biasa
digunakan oleh manusia khususnya bahasa Inggris. Contoh bahasa jenis adalah
bahasa Basic, Pascal, C, C++, Java.
Sedangkan bahasa beraras rendah adalah bahasa yang berorientasi pada
mesin. Bahasa ini menggunakan kode biner yang hanya mengenal angka 0 dan 1.
Yang tergolong dalam bahasa ini adalah bahasa Asembler (rakitan). Bahasa
semacam ini sulit untuk dibaca dan difahami langsung oleh manusia dan
programer yang biasa menggunakan bahasa beraras tinggi. Biasanya bahasa mesin

4
hanya bekerja pada satu jenis mesin tertentu karenanya disebut machine
dependent.

2.2. Penerjemah Bahasa


Sebagai mana dijelaskan sebelumnya bahwa sebenarnya ada perbedaan
antara bahasa manusia dan bahasa mesin. Bahasa mesin sulit dimengerti oleh
manusia dan sebaliknya mesin tidak bisa memahami bahasa manusia. Singkatnya
bahasa program yang di buat dengan bahasa program beraras tinggi tidak bisa
difahami langsung oleh mesin. karenanya diperlukan penerjemah bahasa, yang
menerjemahkan setiap perintah dari bahasa aras tinggi kedalam bahasa mesin,
agar mesin dapat menjalankan perintah-perintah tersebut (Nugroho : 2013).
Penerjemah bahasa ini kemudian dikelompokan menjadi:
1) Interpreter
Yaitu penerjemah bahasa yang mengerjakan satu baris intruksi bahasa
kedalam bahasa mesin untuk kemudian dijalankan oleh mesin. Instruksi
berikutnya akan diterjemahkan selanjutnya jika instruksi pertama telah selesai
diinstruksikan. Dengan kata lain interpreter menterjemahkan dan
menginstruksikan semua perintah satu persatu.
2) Compiler
Berbeda dengan interpreter, Compiler bekerja secara lebih kompak yaitu
menerjemahkan semua instruksi kedalam bahasa mesin sekaligus menjadi
kode objek. Dan tidak ada proses penerjemahan lagi ketika kode objek
dijalankan oleh mesin. Hasil dari proses kompilasi ini biasanya adalah
program yang dapat dijalankan tanpa ada translator, atau sering disebut
sebagai executable. Sekarang ini program yang executable ini sering disebut
sebagai aplikasi.
Dengan menggunakan Interpreter seseorang dapat melakukan proses
pencarian kesalahan pada kode sumber dengan lebih mudah. Namun kelemahanya
adalah bahwa setiap kali menjalankan program dengan interpreter maka kode
sumber harus selalu tersedia dan jika jumlah instruksi besar maka proses
pengeksekusian menjadi lambat, dan proses ini selau berulang setiap kali program

5
digunakan. Sedangkan dengan Compiler, pengerjaan instruksi bisa berjalan
dengan cepat karena setiap kali hanya diperlukan satu program executable yang
telah dihasilkan. Program executable ini juga bisa diduplikasi dan dijalankan pada
komputer yang lain dengan platform yang sama. Namun secara kebahasaan
program yang diproses dengan compiler harus betul secara keseluruhan sebelum
benar-benar bisa dikompilasi dan distribusikan (Nugroho : 2013).

2.3. Matlab
2.3.1. Pengenalan Matlab
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
pengantarmukaan dengan program dalam bahasa lainnya. (Pratiwi : 2014)
MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan
komputasi numerik dan merupakan suatu bahasa pemrograman matematika
lanjutan yang dibentuk dengan dasar pemikiran menggunkan sifat dan bentuk
matriks. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin
numerik dari proyek LINPACK dan EISPACK, dan dikembangkan menggunkan
bahasa FORTRAN namun sekarang merupakan produk komersial dari perusahaan
Mathworks, Inc.yang dalam perkembangan selanjutnya dikembangkan
menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi dasar
MATLAB) (Arhami dan Desiani : 2015).
MATLAB telah berkembang menjadi sebuah environment pemrograman
yang canggih yang berisi fungsifungsi built-in untuk melakukan tugas pengolahan
sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi
toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus MATLAB
bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru
untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak
dapat melakukan tugas tertentu. Kemampuan pemrograman yang dibutuhkan

6
tidak terlalu sulit bila Anda telah memiliki pengalaman dalam pemrograman
bahasa lain seperti C, PASCAL, atau FORTRAN (Arhami dan Desiani : 2015).
MATLAB (MATrix LABoratory) yang merupakan bahasa pemrograman
tingkat tinggi berbasis pada matriks sering digunakan untuk teknik komputasi
numerik, yang digunakan untuk menyelesaikan masalah-masalah yang melibatkan
operasi matematika elemen, matrik, optimasi, aproksimasi dll. Sehingga Matlab
banyak digunakan pada :
Matematika dan Komputasi
Pengembangan dan Algoritma
Pemograman modeling, simulasi, dan pembuatan prototipe
Analisa data, eksplorasi dan visualisasi
Analisis numerik dan statistik
Pengembangan dan aplikasi teknik

2.3.2. Sistem Bagian Dari Matlab


Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1) Development Environment. Merupakan sekumpulan perangkat dan
fasilitas yang membantuanda untuk menggunakan fungsi-fungsi dan file-
file MATLAB. Beberapa perangkat ini merupakan sebuah graphical user
interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan
Command Window, command history, sebuah editor dan debugger, dan
browsers untuk melihat help, workspace, files, dan search path.
2) MATLAB Mathematical Function Library. Merupakan sekumpulan
algoritma komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos,
dan complex arithmetic, sampai dengan fungsi-fungsi yang lebih kompek
seperti matrix inverse, matrix eigenvalues, Bessel functions, dan fast
Fourier transforms.
3) MATLAB Language. Merupakan suatu high-level matrix/array language
dengan control flow statements, functions, data structures, input/output,
dan fitur-fitur object-oriented programming. Ini memungkinkan bagi kita
untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana
" untuk mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup

7
yang lebih besar" untuk memperoleh hasil-hasil dan aplikasi yang
komplek.
4) Graphics. MATLAB memiliki fasilitas untuk menampilkan vector dan
matrices sebagai suatu grafik. Didalamnya melibatkan high-level functions
(fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga
dimensi, image processing, animation, dan presentation graphics. Ini juga
melibatkan fungsi level rendah yang memungkinkan bagi anda untuk
membiasakan diri untuk memunculkan grafik mulai dari benutk yang
sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi
MATLAB anda.
5) MATLAB Application Program Interface (API). Merupakan suatu library
yang memungkinkan program yang telah anda tulis dalam bahasa C dan
Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas
untuk pemanggilan routines dari MATLAB (dynamic linking),
pemanggilan MATLAB sebagai sebuah computational engine, dan untuk
membaca dan menuliskan MAT-files.

2.3.3. Variabel dan Operator


A. Variabel
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=7.1
var1 =
7.1
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

8
sebarang ukuran. Matlab mempunyai beberapa tipe data dasar (atau class), yaitu:
logical, char, numeric, cell, structure, java classes, function handles.

B. Operator
Di dalam matlab, operator diklasifikasikan menjadi tiga bagian, yaitu:
a) Operator Aritmatika
Operator aritmatika digunakan untuk mengerjakan komputasi numeric.
Operator tersebut dapat disaikan pada tabel 1 berikut :
Tabel 1 Operator Aritmatika
Operato
Arti
r
+ Penjumlahan
- Pengurangan
* Perkalian (aturan matrik)
.* Perkalian masing-masing ellemen
yang bersesauian (aturan array)
/ Pembagian kanan (matrik)
./ Pembagian kana (array)
\ Pembagian kiri (matrik)
.^ Perpangkatan (array)
: Langkah

b) Operator Relational
Operator relasional digunakan untuk membandingkan operand-operand
secara kuantitatif. Operator tersebut dapat disaikan pada tabel 2 berikut :
Tabel 2 Operator Relasional
Operato
Arti
r
== Sama dengan
~= Tidak sama dengan
< Kurang dari
> Lebih dari
<= Kurang dari sama dengan
>= Lebih dari sama dengan

c) Operator Logika

9
Operator logika yang dapat digunakan dalam matla antara lain :
Tabel 3 Operator Logika

Operator Arti
% Akan menghasilkan nilai 1 jika kedua
elemen yang bersesuaian memilki nilai
true dan 0 untuk lain nya
| Akan bernilai 1 jika salh satu elemen
nya true
~ Komplen dari elemen yang di inputkan
xor Akan bernilai 1 jika salah satu dari
kedua elemen memilki nilai berbeda
dan bernilai nol jika sama

2.4. Persamaan Non Linier


Menyelesaikan persamaan atau mencari akar persamaan f(x)=0 berarti
mencari nilai-nilai x sehingga menyebabkan pernyataan f(x)=0 menjadi benar.
Dengan kata lain, akar persamaan f(x)=0 adalah absis perpotongan grafik fungsi
f(x) dengan sumbu x. Untuk menyelesaikan persamaan ini, ada dua metode, yaitu
metode tertutup dan metode terbuka. Dengan metode tertutup, kita memberikan
dua nilai misal a dan buntuk inisialisasi proses. Dua nilai ini harus mengapit akar
yang sebenarnya. Untuk melihat apakah di antara range (a, b) ada akar atau tidak,
kita bisa memanfaatkan teorema berikut: Jika nilai fungsi di a dan b berlawanan,
maka ada akar di antara a dan b, namun hal ini tidak berlaku sebaliknya.
Sedangkan dengan metode terbuka, kita memberikan satu tebakan awal untuk
inisialisasi proses, tebakan awal ini diusahakan sedekat mungkin dengan akar
sebenarnya. Ada 2 kelompok metode dalam penyelesaian persamaan metode
numerik, yaitu :
1) Metode Tertutup
Ciri-ciri metode tertutup, yaitu:
Mencari akar pada range [a,b] tertentu
Dalam range [a,b] dipastikan terdapat satu akar
Hasil selalu konvergen maka sering disebut juga metode konvergen
Dalam hal ini yang termasuk metode tertutup antara lain :
Metode tabel

10
Metode biseksi
Metode regulasi falsi

2) Metode Terbuka
Ciri-ciri metode terbuka, yaitu :
Diperlukan tebakan awal
xn dipakai untuk menghitung xn+1
Hasil dapat konvergen atau divergen
Dalam hal ini yang termasuk metode terbuka antara lain :
Metode Iterasi Sederhana
Metode Newton-Raphson
Metode Secant

2.5. Metode Belah Dua (Bisecsion)


Ide awal metode ini adalah metode table, dimana area dibagi menjadi N
bagian. Hanya saja metode biseksi ini membagi range menjadi 2 bagian, dari dua
bagian ini dipilih bagian mana yang mengandung akar dan bagian yang tidak
mengandung akar dibuang.
Dalam matematika, metode bagi-dua (bisection) adalah algoritma
pencarian akar yang membagi dua selang, lalu memilih bagian selang yang berisi
akar seharusnya berada untuk diproses lebih lanjut. Metode ini berlaku ketika kita
ingin memecahkan persamaan f(x) = 0 untuk variable scalar x, di mana f
merupakan fungsi kontinu (Pratiwi : 2014).

11
Metode bagi dua mensyaratkan dua titik awal a dan b sedemikian sehingga
f(a) dan f(b) memiliki tanda berlainan. Ini dinamakan kurung dari sebuah akar.
Menurut teorema nilai antara, fungsi f mestilah memiliki paling tidak satu akar
dalam selang (a, b). Metode ini kemudian membagi selang menjadi dua dengan
menghitung titik tengah c = (a + b) / 2 dari selang tersebut. Kecuali c merupakan
akar persamaan, yang mungkin saja terjadi, tapi cukup jarang, sekarang ada dua
kemungkinan: f(a) dan f(c) memiliki tanda berlawanan dan mengapit akar, atau
f(c) dan f(b) memiliki tanda berlawanan dan mengapit akar. Kita memilih bagian
selang yang mengapit, dan menerapkan langkah bagi-dua serupa terhadapnya.
Dengan cara ini selang yang mungkin mengandung nilai nol dari f dikurangi
lebarnya sebesar 50% pada setiap langkah. Kita meneruskan langkah ini sampai
kita memiliki selang yang dianggap cukup kecil.
Secara eksplisit: jika f(a) f(c) < 0, maka metode ini menetapkan b baru
sama dengan c, dan bila f(b) f(c) < 0, maka metode ini menetapkan a baru sama
dengan c. Dalam kedua kasus, f(a) dan f(b) baru memiliki tanda berlawanan,
sehingga metode ini dapat diterapkan pada selang baru yang lebih kecil ini.
Implementasi metode ini harus berjaga-jaga terhadap kemungkinan bahwa titik
tengah ternyata merupakan pemecahan (Pratiwi : 2014).
Metode bisection merupakan metode paling sederhana bagi penyelesaian
akar fungsi tak linear pada suatu interval yang diketahui. Kelebihan dari metode

12
ini adalah bisa digunakan bagi sembarang fungsi termasuk pada suatu fungsi-
fungsi yang tidak bisa diselesaikan secara analitik. Berdasarkan namanya
seseungguhnya kita bisa menebak secara intuitif maksud dari metode ini, yaitu
jika pada suatu interval tertentu terdapat suatu akar dari fungs maka interval
tersebut dibagi menjadi dua interval baru. Lalu dapat dipastikan diantara kedua
interval yang terbentuk tersebut terdapat satu interval yang memuat akar (titik nol)
fungsi (Nugroho : 2013).

Pertama asumsikan bahwa pada interval x = a dan x = c atau dapat


dituliskan [a; c], terdapat satu buah akar bagi sebuah fungsi seperti ditunjukan
gambar di atas (perhatikan panah biru pada gambar). Kemudian metode Bisection
bekerja berdasarkan fakta bahwa tanda pada dua sisi yaitu kiri dan kanan titik nol
adalah berlawanan, yaitu f(a) positif dan f(c) negatif (Nugroho : 2013). Maka
langkah dalam metode Bisection untuk mendekati nilai akar adalah sebagai
berikut:
1) Pertama membagi interval menjadi dua (Bisect) yaitu [a; b] dan [b;
c]dimana b = (a + c)=2.
2) Mencari interval yang masih mengandung akar fungsi dengan cara
melakukan perkalian antara f(a) f(b) dan f(b) f(c). Jika f(a) f(b) 0 maka
interval [a; b] mengandung akar fungsi. (lihat gambar)

13
3) Interval [a; b] dibagi menjadi dua lagi "di-Bisect" dan prosedur pencarian
interval yang mengandung akar fungsi dilakukan secara berulang.
4) Pada setiap langkah titik tengah interval akan digunakan sebagai nilai
pendekatan bagi akar fungsi yang dimaksud/dicari.
Setelah n langkah perulangan maka akan diperoleh
ca
2n

Nilai ini dapat digunakan untuk menentukan batas toleransi bagi program untuk
melakukan iterasi sampai mencapai interval terkecil. Jika diberikan toleransi
maka berlaku
ca
n
2

atau dapat dituliskan sebagai


ca
n ln

Algoritma metode biseksi


1) Definisikan fungsi f(x) yang akan dicari akarnya
2) Tentukan nilai a dan b
3) Tentukan toleransi e (error) dan iterasi maksimum N
4) Hitung f(a) dan f(b)
5) Jika f(a).f(b)>0 maka proses dihentikan karna tidak ada akar, bila tidak
dilanjutkan
6) Hitung x=a+b/2
7) Hitung f(x)
8) Jika f(x).f(a)<0 maka b=x dan f(b)=f(x) Jika tidak a=x dan f(a)=f(x)
9) Jika |b-a|<e atau iterasi > iterasi maksimum maka proses dihentikan dan
didapatkan akar = x, dan bila tidak ulangi langkah 6.

Berikut akan disajikan contoh menentukan akar-akar pada persamaan non linier :
contoh 1 :
Input coding berikut :
%contoh program mencari akar persamaan dengan metode bisection
%dari fungsi f = log (2-exp(x)-x+alpa
function bisection;
disp('METODE BISECTION')

14
disp('================')
a = input ('masukkan batas kiri interval :');
b = input ('masukkan batas kanan interval :');
esp = input ('masukkan epsilon / batas ketelitian : ');
itemax = input (' masukkan jumlah iterasi maksimum : ');
alfa = a;
disp(' ');
disp('memulai proses interasi');
disp('=======================');
tic
for i = 1:1:itemax
t =(a+b)/2;
if (fn(a,alfa)*fn(t,alfa)<=0)
b = t;
else
a = t;
end
disp (['interasi ke',num2str(i),',',' akarnya :',num2str(t)])
if (abs(a-b))<=eps;
break
end
end
waktu =toc;
disp(' ');
disp(['akarnya adalah :',num2str(t)]);
disp(['jumlah interasi :',num2str(i)]);
disp(['selang waktu konvergensi :',num2str(waktu)]);
function f = fn(x,alfa)
f = log (2-exp(-x))-x +alfa;

Langkah-langkah dalam menjalankan progam matlab dengan


menggunakan metode belah dua sebagai berikut :
Buka aplikasi matlab dengan menekan double click pada dekstop matlab

Setelah terbuka akan muncul tampilan layar seperti berikut

15
Kemudian pilih menu file -> New -> M-file
Selanjutnya masukkan coding yang telah disediakan di atas, maka
tampilan akan seperti berikut

16
Langkah selanjutnya adalah menyimpan file yang telah dibuat melaui
menu file - > save / save as.
Selanjutnya menjalankan aplikasi melalui menu debug -> run, seperti pada
gambar :

Untuk langkah selanjutnya adalah menentukan batas interval kiri : 4 ;


batas interval kanan : 5 ; batas ketelitian : 4 ; jumlah iterasi maks : 5,
seperti pada gambar berikut :

17
Langkah yang terakhir adalah dengan menekan tombol enter pada keyboar
maka akan muncul tampilan sebagai berikut :

Untuk selanjutnya kita bisa memvariasikan nilai kiri dan kanan interval,
batas ketelitian dan iterasi maksimumnya.

Contoh 2 :
Input coding berikut :
tic;
clear;close all;clc;
a=-1%input('tebakan kiri =');
b=5%input('tebakan kanan =');
eps=10^(-9);
eps2=10^(-7);
n=4
fT=1;
while abs((fT)>eps2);%abs(a-b)>eps
fa=3-4*cos(a*pi/180)+a^3;
fb=3-4*cos(b*pi/180)+b^3;
T=a-fa*(a-b)/(fa-fb);
fT=3-4*cos(T*pi/180)+T^3;
if fa*fT>0
a=T

18
else if fa*fT<0
b=T
else akar=T;
end
end
n=n+1;
end
toc

Langkah-langkah dalam menjalankan progam matlab dengan


menggunakan metode belah dua sebagai berikut :
Buka aplikasi matlab dengan menekan double click pada dekstop matlab

Setelah terbuka akan muncul tampilan layar seperti berikut

Kemudian pilih menu file -> New -> M-file

19
Selanjutnya masukkan coding yang telah disediakan di atas, maka
tampilan akan seperti berikut

Langkah selanjutnya adalah menyimpan file yang telah dibuat melaui


menu file - > save / save as.
Selanjutnya menjalankan aplikasi melalui menu debug -> run, seperti pada
gambar :

Untuk langkah selanjutnya adalah dapat menentukan nilai a, b, dan n,


seperti pada gambar berikut :

20
Langkah yang terakhir adalah dengan menekan tombol enter pada keyboar
maka akan muncul tampilan sebagai berikut :
Untuk selanjutnya kita bisa memvariasikan nilai a, b, dan n.
Tabel 4 Source Code Program

Source Code Penjelasan


tic; Deklarasi awal pembuka program
clear;close all;clc; Perintah menutup program sebelumnya dan
membersihkan output selain yang dijalankan
a=1%input('tebakan kiri ='); Deklarasi batas kiri
b=2%input('tebakan kanan ='); Deklarasi batas kanan
eps=10^(-6); Deklarasi epsilon yang akan digunakan dalam
pemrograman
fa=3-4*cos(a*pi/180)+a^3; Perkiraan posisi akar di sekitaran batas kiri
fb=3-4*cos(b*pi/180)+b^3; Perkiraan posisi akar di sekitaran batas kanan
if (fa*fb<0) Logika yang dipakai untuk menjelaskan hasil
kali fad an fb kurang dari nol
T=(a+b)/2; Rumus T sebagai perkiraan titik tengah akar
yaitu di antara kedua titik perkiraan kanan dan
kiri
n=0; Jumlah n=0
fa=3-4*cos(a*pi/180)+a^3; Perkiraan posisi akar di sekitar batas kiri
fb=3-4*cos(b*pi/180)+b^3; Perkiraan posisi akar di sekitar batas kanan

21
fT=3-4*cos(T*pi/180)+T^3; Perkiraan posisi akar di titik tengah antara dua
batas
if (fa*fT<0) Logika untuk hasil perkalian fad an ft adalah
kurang dari 0
b=T Hasil yang berlaku untuk logika nomor 14, yaitu
nilai b=T
else Logika lain jika nomor 14 tidak terpenuhi
a=T Hasil yang berlaku untuk logika nomor 16
end Akhir dari pernyataan no 15
n=n+1; Nilai n berjalan menuju n+1 n+2, dst
End Akhir dari pernyataan no 8
toc Deklarasi akhri program

Berdasarkan hasil percobaan diatas mampu meyelesaikan persamaan linier


tak linier. Dalam hal ini percobaan menentukan akar-akar persamaan tak linier,
dan dengan menggunakan pemograman matlab metode belah dua berhasil
menentukan dan menyelesaikan persamaan tak linier.

Testing I

22
Testing II

Kesimpulan : Dengan menggunakan persamaan yang sama dan batas atas dan
bawah yang berbeda, hasil yang diperoleh tidak sama. Hal ini berarti, proses
memasukkan batas atas dan bawah tidak boleh sembarangan, namun ketentuan
khususnya belum diperoleh.

23
BAB III
KESIMPULAN DAN SARAN

3.1. Kesimpulan
Berdasarkan penjelasan yang diberikan di atas dapat disimpulkan bahwa :
1) Dengan metode belah dua dalam sistem pemograman matlab mampu
menyelesaikan persamaan tak linier secara cepat.
2) Cara metode belah dua dalam meyelesaikan persamaan tak linier pada
pemograman matlab antara lain :
Definisikan fungsi f(x) yang akan dicari akarnya
Tentukan nilai a dan b
Tentukan toleransi e (error) dan iterasi maksimum N
Hitung f(a) dan f(b)
Jika f(a).f(b)>0 maka proses dihentikan karna tidak ada akar, bila tidak
dilanjutkan
Hitung x=a+b/2
Hitung f(x)
Jika f(x).f(a)<0 maka b=x dan f(b)=f(x) Jika tidak a=x dan f(a)=f(x)
Jika |b-a|<e atau iterasi > iterasi maksimum maka proses dihentikan dan
didapatkan akar = x, dan bila tidak ulangi langkah 6.
3) Proses pembuatan aplikasi pemograman matlab dengan menggunakan
metode belah dua dalam menyelesaikan persamaan tak linier sebagai
berikut :
Buka aplikasi matlab dengan menekan double click pada dekstop
matlab
Setelah terbuka akan muncul tampilan layar seperti berikut
Kemudian pilih menu file -> New -> M-file
Selanjutnya masukkan coding sesuai dengan persamaan yang akan di
cari permasalahannya
Langkah selanjutnya adalah menyimpan file yang telah dibuat melaui
menu file - > save / save as.
4) Cara menjalankan aplikasi pemograman matlab dengan menggunakan
metode belah dua dalam menyelesaikan persamaan tak linier adalah
sebagai berikut :
Menjalankan aplikasi melalui menu debug -> run

24
Untuk langkah selanjutnya adalah mengisi kolom yang akan diisi sesuai
dengan petunjuk
Langkah yang terakhir adalah dengan menekan tombol enter pada
keyboard maka hasil yang akan dicari akan diperoleh
Untuk selanjutnya bisa memvariasikan nilai nilai variabel yang
diinginkan.
5) Kesimpulan pada saat dilakukan testing ;
Dengan menggunakan persamaan yang sama dan batas atas dan
bawah yang berbeda, hasil yang diperoleh tidak sama. Hal ini
berarti, proses memasukkan batas atas dan bawah tidak boleh
sembarangan, namun ketentuan khususnya belum diperoleh.

3.2. Saran
Dalam hal ini, beberapa saran yang perlu dalam pembuatan aplikasi
pemograman matlab dengan metode belah dua anatara lain :
1) Dibutuhkan ketelitian dalam memasukkan coding atau bahasa
pemograman pada worksheet agar program yang dijalankan pada comment
windows akan berjalan dengan sempurna.
2) Ketidaktelitian dalam memasukkan coding dalam worksheet akan
menjadikan program tidak berjalan, sehingga dibutuhkan ketelitian lebih
dalam mengevaluasi program yang tidak berjalan.

25
DAFTAR PUSTAKA

Arhami, M. dan Desiana, A. 2015. Pemograman Matlab.

Nugroho, F. 2013. Pemograman dan Metode Numerik (Untuk Fisika).

Pratiwi, B.W. 2014. Metode Bagi Dua dan Posisi Palsu. FMIPA Brawijaya :
Malang

Sartono, Arif. 2006. Penggunaan Metode Numerik dan Matlab dalam Fisika.
FMIPA UI : Jakarta

Sumber : http://simasdap.blogspot.com/2011/05/

26

Anda mungkin juga menyukai