METODE KOMPUTASI
Diajukan sebagai syarat dalam mengikuti mata kuliah
Metode Komputasi
Dosen :
Kamaludin, Ir., MT., M.Kom.
Oleh:
A. Pengertian Algoritma
Langkah-langkah logis untuk membantu seseorang menyelesaikan sebuah masalah
berdasarkan pola pikirnya masing-masing.
Algoritma dapat digunakan untuk mempresentasikan suatu urutan kejadian secara logis
dan dapat diterapkan di semua kejadian sehari-hari.
B. Sifat-Sifat Algoritma
Tidak menggunakan symbol atau sintaks dari suatu bahasa pemrograman.
Tidak tergantung pada suatu bahasa pemrograman.
Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
C. Bentuk Dasar Algoritma
Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain :
1. Algoritma Sekuensial (Sequence Algorithm)
Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-
langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini
salah satu contohnya seperti algoritma memasak air. Langkah demi langkah yang
dijalankan harus urut dari atas sampai bawah.
2. Algoritma Perulangan (Looping Algorithm)
Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang
menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada
masalah yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara
berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur pakaian:
1) Siapkan jemuran.
2) Ambil satu pakaian yang nantinya akan dijemur.
3) Peras pakaian tersebut terlebih dahulu.
4) Letakkan pakaian tersebut pada tiang jemuran.
5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan
secara berulang-ulang hingga pakaian habis.
3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan
langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah
satu contoh dari algoritma bersyarat :
1) Siapkan panci.
2) Masukkan air secukupnya ke dalam panci.
3) tutup panci tersebut.
4) letakkan panci tersebut di atas kompor.
5) Hidupkan kompor.
6) Apabila air sudah mendidih, lalu matikan kompor.
7) Angkat panci tersebut dari kompor.
Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air
sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih,
maka kompor tidak dimatikan.
Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan atau bahasa
dan bentuk gambar. Penyajian algoritma dalam bentuk bahasa atau tulisan harus
memakai sebuah bahasa yang dapat untuk dimengerti manusia dalam membuat
langkah-langkah dari algoritma itu sendiri. Penyajian algoritma dalam bentuk
tulisan/bahasa dapat dilakukan dengan memakai pseudocode. Pseudocode berasal dari
"pseudo" aritnya "menyerupai atau mirip" dan "code" yaitu "kode program". Contoh
dari beberapa bahasa pemrograman yang sering digunakan untuk menyatakan
pseudocode antara lain : pascal, BASIC, Pascal, C, dan lain sebagainya.
E. Klasifikasi Algoritma
Salah satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara
implementasi.
F. Contoh Algoritma
Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
Terdapat bilangan yang bernama bilang bulat yaitu 0, 1, -1, 2, dst serta bilangan asli 1,
2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan
bilangan-bilangan bulat dalam buku teks aljabar pada umumnya dinyatakan dengan
lambang "Z" dan himpunan bilangan-bilangan asli dinyatakan dengan lambang "N".
Algoritma guna menentukan apakah bilangan tersebut ganjil atau genap dapat disajikan
dengan flowchart seperti dibawah ini :
Bilangan genap merupakan sebuah bilangan bulat yang akan habis atau tidak memiliki
sisa jika dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan bulat yang tidak akan
habis apabila dibagi 2 (dua).
Apabila ada perintah if dalam perintah If yang lain. Kondisi ini dibutuhkan pada saat
kriteria yang akan dimasukkan lebih dari satu.
Format : if (Kondisi 1) then else
if (Kondisi 2) then else
(Proses 1)
else
(Proses 2);
Contoh Script :
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
n:integer;
g:string;
begin
writeln('NIM : 114224002');
writeln('NAMA : AHMAD SYARIFI HIDAYAT');
writen('=========================');
writeln('PROGRAM INPUT NILAI SISWA');
writeln('=========================');
writeln(' ');
write('Masukkan Nilai Anda = '); readln(n);
if n >= 90 then g:= 'A' ELSE
if n >= 80 then g:= 'B' ELSE
if n >= 90 then g:= 'C' ELSE g:= 'D' ;
writeln('GRADE = ' ,g);
readln;
{ TODO -oUser -cConsole Main : Insert code here }
Merupakan perintah yang akan dijalankan pada then jika kondisi pada If terpenuhi,
sedangkan pada Else akan dilakukan jika kondisi tidak terpenuhi. Biasanya perintah ini untuk
kondisi ganda.
Perulangan dengan statement for adalah perulangan yang digunakan untuk melakukan
suatu proses dalam sebuah blok program. Proses perulangan For – To – Do dimulai dengan
nilai terkecil ke besar.
Perulangan ini berjalan dengan menggunakan suatu variabel counter yang akan
bertambah secara otomatis ketika perintah yang diulang telah selesai dikerjakan.
Bentuk umum dari perulangan ini adalah :
For counter := nilai awal To Nilai akhir Do
Begin
Perintah;
Perintah;
End;
Perulangan ini akan berulang selama nilai variabel counter masih lebih kecil atau sama
dengan nilai akhir.
Contoh Script :
program Project4;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
i : integer;
begin
writeln('NIM : 114224002');
writeln('NAMA : AHMAD SYARIFI HIDAYAT');
writeln('=================================');
writeln('CONTOH PENULISAN DASAR CODING FOR');
writeln('=================================');
writeln(' ');
for I := 1 to 10 do
writeln(i,'Yadika');
writeln('Bangil');
Readln;
End.
4). STATEMENT PENULISAN CODING ARRAY SATU DIMENSI
MENGGUNAKAN
FUNGSI WHILE
Perulangan ini mirip dengan perulangan Repeat Until tetapi pengecekannya berada di
awal sebelum melakukan proses yang berulang. Perulangan ini berjalan selama kondisi
pengecekan bernilai true. Jika kondisi telah mempunyai nilai false maka perulangan tidak
dilakukan lagi.
Bentuk umum dari While Do adalah seperti berikut :
While kondisi do
Begin
Perintah;
Perintah;
End;
Berikut ini contoh script program pada delphi 7 :
program Project5;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
tot,i,jum:integer;
rata:real;
nilai:array[1..10]of integer;
begin
writeln('NIM : 114224002');
writeln('NAMA : AHMAD SYARIFI HIDAYAT');
writeln('=================================');
writeln('CONTOH SCRIPT PENENTUAN RATA-RATA');
writeln('=================================');
writeln(' ');
i:=1;tot:=0;
write('Masukkan Jumlah Data = ');
readln(jum);
while i<=jum do
begin
write('Masukkan nilai ke ', i ,':');
readln(nilai[i]);
tot:=tot+nilai[i];
i:=i+1;
end;
rata:=tot/jum;
writeln('');
writeln('Rata-Rata nilai = ', rata:4:1);
readln;
end.
program Project7;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
matrik:array[1..10,1..10] of integer;
x,y:integer;
begin
writeln('NIM : 114224002');
writeln('NAMA : AHMAD SYARIFI HIDAYAT');
writeln ('=============================');
writeln ('TAMPILAN MATRIKS GAUSS JORDAN');
writeln ('=============================');
writeln ('');
for x := 1 to 5 do
begin
for y := 1 to 5 do
begin
matrik[x,y]:=0;
if x = y then matrik[x,y]:=1;
write(matrik[x,y]:4);
end;
writeln;
end;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end
Sumber :
http://www.academia.edu/8999541/Bab_1_ALGORITMA_DAN_PEMROGRAMAN_1
http://woocara.blogspot.sg/2016/02/pengertian-algoritma-contoh-algoritma.html
BAB III
PERSAMAAN NON LINEAR
Metode Newton Raphson biasa digunakan dalam mencari akar dari suatu persamaan
non linier, jika diasumsikan f mempunyai turunan kontinu f’. Metode Newton Rapshon sering
digunakan karena kesederhanaannya dan mempunyai konvergensi yang cepat. Karena metode
ini merupakan metode Terbuka, maka tetap diperlukan nilai tebakan awal untuk Xo. Secara
geometri, metode Newton Raphson hampir sama dengan metode regula falsi, bedanya garis
yang dipakai adalah garis singgung. Dengan menggunakan x0 sebagai tebakan awal,
dilanjutkan dengan mencari titik (x0, f(x0)). Kemudian dibuat garis singgung dari titik (x0,
f(x0)), sehingga diperoleh titik potong (x1, 0) antara sumbu-x dan garis singgung titik (x0,
f(x0)). Kemudian dilanjutkan lagi dengan mencari titik (x1, f(x1)). Dari titik (x1, f(x1))
kemudian dibuat garis singgung, sehingga diperoleh titik potong (x2, 0) antara sumbu-x dan
garis singgung titik (x1, f(x1)).
Contoh:
ε = 0.00001
x0 = 0.5
Penyelesaian
1 Program Newtonraphson;
2 Uses Crt;
3
4 Function F(X:Real):Real;
5 Begin
6 F:=Exp(X)-4*X;
7 End;
8
9 Function G(X:Real):Real;
10 Begin
11 G:=Exp(X)-4;
12 End;
13
14 Var Xl,Xb,E,M : Real;
15 i : Integer;
16 Begin
17 Clrscr;
18 Writeln('Program Metode Newton Raphson');
19 Writeln('=============================');
20 E:=0.0001;
21 Write('Masukkan X : ');Readln(Xl);Writeln;
22 i:=0;
23 Repeat
24 Xb:=Xl-(F(Xl)/G(Xl));
25 M:= Abs(Xl-Xb);
26 Xl:=Xb;
27 i:=i+1;
28 Writeln ('Iterasi Ke ',i,'= ',Xb:0:8);
29 Until M <> E
30 Writeln;
31 Writeln ('Akarnya Adalah = ',Xb:0:6);
32 Readln;
33 End.
MAT L AB
1 function newtonraphson
2 clc;
3 clear;
4 disp('Program Metode Newton Raphson');
5 disp('=============================');
6 E=0.0001;
7 x0=input('Masukkan X awal :');
8 i=0;
9 M=9;
10 xb=0;
11 disp('_______________________________________________');
12 disp(' i xi f(xi) epsilon');
13 disp('_______________________________________________');
14
15 while (E<M)
16 fx=exp(x0)-4*x0;
17 gx=exp(x0)-4;
18 xb=x0-(fx/gx);
19 M= abs(x0-xb);
20 x0=xb;
21 i=i+1;
22 fprintf('%3.0f %12.6f %12.6f %12.6f\n',i,xb,fx,M);
23 end
24 disp('------------------------------')
25 fprintf('Akarnya Adalah = %10.8f\n',xb);
26 end
O UT PUT
Program Metode Newton Raphson
=============================
Masukkan X awal :5
_______________________________________________
i xi f(xi) epsilon
_______________________________________________
1 4.110793 128.413159 0.889207
2 3.329113 44.551908 0.781680
3 2.718702 14.597128 0.610412
4 2.334689 4.285820 0.384012
5 2.178595 0.987494 0.156095
6 2.153872 0.119504 0.024722
7 2.153293 0.002677 0.000580
8 2.153292 0.000001 0.000000
------------------------------
Akarnya Adalah = 2.15329236
BAB IV
PERSAMAAN LINEAR
y = mx + b
Contoh bentuk persamaan linier :
y = -x + 5
y = 0,5x + 2
Contoh bentuk grafik persamaan linier :
Dari gambar di atas , dapat kita simpulkan bahwasannya m atau gradiennya = 0,5 dan
b atau titik potong sumbu y = 2 ( pada garis merah )
C. Metode Penyelesaian Persamaan Linier
Ada beberapa metode yang dapat digunakan dalam menyelesaikan sebuah
permasalahan persamaan linier , metode – metode tersebut adalah :
1. Metode Substitusi
Metode subsitusi yaitu metode atau cara menyelesaikan persamaan linier dengan
mengganti salah satu peubah dari suatu persamaan dengan peubah yang diperoleh dari
persamaan linier yang lainnya .
Untuk lebih jelasnya lagi , perhatikan contoh berikut ini :
Diketahui persamaan x + 3y = 7 dan 2x + 2y = 6 , tentukan Himpun Penyelesaiannya
:
Penyelesaiannya :
x + 3y = 7
< = > x = -3y + 7 . . . .( 1 )
Lalu , masukkan persamaan ( 1 ) ke dalam persamaan ( 2 ) untuk mencari nilai y
2x + 2y = 6
< = > 2 ( -3y + 7 ) + 2y = 6
< = > -6y + 14 + 2y = 6
< = > -6y + 2y = 6 – 14
< = > -4y = – 8
<=>y=2
Gunakan persamaan antara persamaan ( 1 ) atau ( 2 ) untuk mencari nilai x
x + 3y = 7
<=>x+3(2)=7
<=>x+6=7
<=>x=1
Jadi , HP = { 1 , 2 }
2. Metode Eliminasi
Metode Eliminasi , yaitu metode penyelesaian sistem persamaan linir dengan cara
mengeliminasi atau menghilangkan salah satu peubah dengan menambahkan atau
mengurangkan dengan menyamakan koefisien yang akan dihilangkan tanpa
memperhatikan nilai positif atau negatif .
Apabila peubah yang akan dihilangkan bertanda sama , maka untuk mengeliminasi
menggunakan sistem operasi pengurangan . Dan sebaliknya apabila peubah yang akan
dihilangkan bertanda berbeda , maka untuk mengaliminasi menggunakan operasi
penjumlahan .
Untuk lebih jelasnya , perhatikan contoh berikut ini :
Masih dengan contoh yang sama , namun dengan cara yang berbeda yaitu :
Diketahui dua persamaan x + 3y = 7 dan 2x + 2y = 6 , tentukan HP dari persamaan
tersebut
Langkah pertama adalah lakukan eliminasi dengan mengurangkan untuk
menghilangkan peubah atau koefisien x untuk mengetahui nilai y
2x + 2y = 6 : 2
<=>x+y=3
lalu , lakukan
x + 3y = 7
x+y=3 _
2y = 4
y=2
Langkah selanjutnya adalah lakukan eliminasi dengan mengurangkan untuk
menghilangkan peubah atau koefisien y untuk mengetahui nilai x
2x + 2y = 6 | x3 | < = > 6x + 6y = 18
x + 3y = 7 | x 2 | < = > 2x + 6 y = 14 _
4x + 0 = 4
x=1
Jadi , Himpunan penyelesaian yang dihasilkan sama yaitu HP = { 1 , 2 }
3. Metode Campuran (antara eliminasi dan substitusi)
Yang dimaksud dari metode ini , yaitu kita dalam mencari himpunan penyelesaian
menggunakan dua metode boleh gunakan eliminasi terlebih dahulu setelah diketahui salah
satu nilai peubah baik itu x atau y maka selanjutnya masukkan ke dalam metode substitusi
atau sebaliknya .
Untuk lebih jelasnya , perhatikan contoh berikut :
Diketahui dua persamaan x + 3y = 7 dan 2x + 2y = 6 , tentukan HP dari persamaan tersebut
!
Langkah pertama lakukan metode eliminasi , untuk mecari nilai x
2x + 2y = 6 | x3 | < = > 6x + 6y = 18
x + 3y = 7 | x 2 | < = > 2x + 6 y = 14 _
4x + 0 = 4
x=1
Selanjutnya substitusikan nilai x ke dalam salah satu persamaan :
x + 3y = 7
< = > 1 + 3y = 7
< = > 3y = 7 – 1
< = > 3y = 6
<=>y=2
Maka hasilnyapun sama yaitu HP = { 1 , 2 }
4. Metode Grafik
Metode grafik , yaitu dengan menggambarkan dua persamaan pada grafik kartesius ,
dan himpunan penyelesaiannya dihasilkan dari titik potong dari kedua garis tersebut . Yang
perlu diperhatikan yaitu ketika menggambar titik sumbu kartesiusnya harus sama dan
konsisten .
Untuk lebih jelasnya perhatikan gambar grafik berikut :
Gambarlah grafik persamaan x + 3y = 7 dan 2x + 2y = 6 , dan tentukan titik potongnya
Dari gambar di atas , maka kita dapat melihat bahwa titik potongnya berada pada titik {1 ,
2} dan dengan kata lain HP = { 1 , 2 }
for i := 0 to ndat do
begin
y[i]:=a*x[i]+b;
series1.AddXY(x[i],y[i],'',clred);
x[i+1]:=x[i]+step;
end;
Untuk output persamaannya saya menggunakan StringGrid dan untuk Grafiknya sendiri saya
menggunakan tool Chart.
Sumber :
http://rumusrumus.com/sistem-persamaan-linier/
BAB V
INTERPOLASI
Dalam bidang matematika analisis numeris, interpolasi adalah metode menghasilkan
titik-titik data baru dalam suatu jangkauan dari suatu set diskret data-data yang diketahui.
Dalam teknik dan sains, seringkali seseorang memiliki sejumlah titik data yang didapatkan
melalui pengambilan sampel atau eksperimen, mewakili nilai-nilai suatu fungsi dengan jumlah
nilai variabel bebas yang terbatas. Seringkali diperlukan mengekstrapolasi (alias
memperkirakan) nilai fungsi tersebut pada nilai variabel bebas di pertengahan. Hal ini dapat
dicapai melalui pencocokan kurva atau analisis regresi.
Sebuah permasalahan berbeda yang berhubungan dekat dengan interpolasi adalah
pendekatan/aproksimasi suatu fungsi kompleks melalui suatu fungsi sederhana. Seandainya
formula untuk suatu fungsi tertentu diketahui namun terlalu rumit untuk dinilai secara efisien,
maka beberapa titik data yang diketahui dari fungsi asli tersebut dapat digunakan untuk
menghasilkan suatu interpolasi berdasarkan suatu fungsi yang lebih sederhana. Tentu saja,
ketika suatu fungsi yang lebih sederhana digunakan untuk memperkirakan titik data dari fungsi
asli, biasanya muncul kesalahan interpolasi; namun tergantung pada domain masalahnya dan
pada metode interpolasi yang digunakannya, keuntungan dari kesederhanaan/kemudahannya
lebih menguntungkan daripada hasil berkurangnya keakuratan.
Terdapat juga suatu jenis interpolasi yang sangat berbeda dalam matematika, yaitu "interpolasi
operator". Hasil klasik seputar interpolasi operator adalah Teorema Riesz-Thorin dan Teorema
Marcinkiewicz. Terdapat juga banyak hasil lainnya.
2. SAP2000
Program SAP2000 dapat melakukan perhitungan analisis struktur statik / dinamik, saat
melakukan desain penampang beton bertulang maupun struktur baja, SAP2000 juga
menyediakan metode interface (antarmuka) yang secara grafis mudah digunakan dalam proses
penyelesaian analisis struktur.
3. Google SketchUp
Google pun tak kalah produktif dari beberapa perusahaan di atas, Fasilitas yang diberikan
sangat banyak, dari mulai akses langsung ke google maps hingga kita bisa mengambil foto
view lokasi langsung secara online dengan menggunakan satelite, Namun fasilitas tersebut
masih terbatas di wilayah eropa.
4. Plaxis
Plaxis adalah salah satu program aplikasi komputer berdasarkan metode elemen hingga dua
dimensi yang digunakan secara khusus untuk menganalisis deformasi dan stabilitas untuk
berbagai aplikasi dalam bidang geoteknik, seperti daya dukung tanah. Program ini menerapkan
metode antarmuka grafis yang mudah digunakan sehingga pengguna dapat dengan cepat
membuat model geometri dan jaring elemen berdasarkan penampang melintang dari kondisi
yang ingin dianalisis.