Soal !
1. Tolong jelaskan apa itu komputasi numerik beserta contoh-contohnya!
2. Buatlah algoritma komputasi numerik sesuai dengan yang sudah dijelaskan minimal ada
program utama dan program sub-rutin
Jawaban
1. Komputasi numerik adalah cabang ilmu komputer yang fokus pada pengembangan metode
matematika untuk menyelesaikan masalah numerik menggunakan komputasi. Ini melibatkan
pendekatan yang menggunakan angka-angka dan metode iteratif untuk menyelesaikan
masalah matematika yang kompleks atau tidak bisa diselesaikan secara analitis. Contoh
aplikasinya termasuk perhitungan integral, solusi persamaan diferensial, interpolasi data, dan
optimisasi numerik. berikut adalah beberapa definisi komputasi numerik dari para
ahli:Menurut Cleve Moler, pendiri MATLAB: "Komputasi numerik adalah suatu disiplin ilmu
yang mengembangkan metode matematika dan algoritma yang menggunakan komputer untuk
menyelesaikan masalah matematika dan ilmiah yang sulit secara analitik."
a. Menurut David Kincaid dan Ward Cheney dalam buku "Numerical Mathematics and
Computing": "Komputasi numerik adalah studi tentang metode yang menggunakan
algoritma numerik untuk memecahkan masalah matematika dengan menerapkan
pendekatan berbasis angka, terutama melalui komputer."
b. Menurut Anne Greenbaum dalam "Iterative Methods for Solving Linear Systems":
"Komputasi numerik adalah studi tentang metode komputasional untuk memahami,
merancang, dan menerapkan algoritma yang menghasilkan solusi numerik bagi masalah
matematika."
c. Menurut Germund Dahlquist dan Åke Björck dalam "Numerical Methods in Scientific
Computing": "Komputasi numerik melibatkan pengem embangan, analisis, dan
implementasi metode matematika yang menggunakan representasi numerik dan
komputasi berbasis komputer untuk memahami dan menyelesaikan masalah
matematika."
d. Menurut Eugene Isaacson dan Herbert Keller dalam "Analysis of Numerical Methods":
"Komputasi numerik adalah studi tentang metode komputasional untuk memecahkan
masalah matematika yang melibatkan operasi pada angka-angka dengan komputer."
Komputasi numerik memiliki banyak fungsi yang penting dalam berbagai bidang. Beberapa
fungsi utama komputasi numerik meliputi:
a. Pemecahan Persamaan dan Sistem Linear: Komputasi numerik digunakan untuk
menyelesaikan persamaan matematika, terutama persamaan diferensial dan sistem
persamaan linear yang kompleks. Ini memiliki aplikasi luas dalam ilmu fisika, rekayasa,
dan ilmu pengetahuan lainnya.
b. Interpolasi dan Ekstrapolasi: Komputasi numerik dapat digunakan untuk
memperkirakan nilai di antara titik data yang diketahui (interpolasi) atau bahkan di luar
rentang data yang ada (ekstrapolasi). Ini berguna dalam analisis data dan permodelan.
c. Pengoptimalan: Komputasi numerik memungkinkan pencarian solusi terbaik dalam ruang
parameter yang kompleks. Ini digunakan dalam optimisasi matematis, di mana tujuan
adalah mencari nilai maksimum atau minimum dari fungsi.
d. Analisis Statistik: Komputasi numerik digunakan untuk analisis data statistik, termasuk
menghitung rerata, deviasi standar, distribusi probabilitas, dan lainnya.
e. Pemodelan Fisika dan Ilmu Pengetahuan Alam: Dalam bidang fisika, kimia, biologi,
dan ilmu pengetahuan alam lainnya, komputasi numerik digunakan untuk memodelkan
fenomena kompleks seperti pergerakan partikel, reaksi kimia, dan dinamika populasi.
f. Simulasi: Komputasi numerik memungkinkan simulasi berbagai situasi yang sulit atau
mahal untuk diuji dalam dunia nyata. Ini digunakan dalam berbagai bidang, termasuk ilmu
medis, teknik, dan industri manufaktur.
g. Grafika Komputer dan Animasi: Dalam industri hiburan dan grafika komputer,
komputasi numerik memungkinkan pembuatan grafika dan animasi yang realistis dan
dinamis.
h. Kriptografi: Komputasi numerik digunakan dalam pengembangan algoritma enkripsi
yang mendasari keamanan data dan komunikasi di dunia digital.
i. Analisis Keuangan: Komputasi numerik digunakan dalam perhitungan nilai aset, model
risiko, dan analisis portofolio dalam bidang keuangan.
j. Pemrosesan Sinyal: Dalam pemrosesan sinyal, komputasi numerik digunakan untuk
analisis, transformasi, dan penyaringan sinyal, seperti dalam pengolahan audio dan
gambar.
Fungsi-fungsi ini hanya beberapa contoh dari banyaknya peran penting komputasi numerik dalam
berbagai bidang. Dengan bantuan algoritma dan metode numerik, kita dapat mengatasi masalah
matematika dan ilmiah yang rumit dan memperoleh solusi pendekatan yang akurat. Kemudian
komputasi numerik juga memiliki manfaat dan fungsi yang sangat penting dalam bidang
informatika, yang mencakup pengembangan dan penerapan perangkat lunak, analisis data, serta
pemecahan masalah matematika dan ilmiah.
Berikut adalah beberapa manfaat dan fungsi komputasi numerik dalam bidang informatika:
Manfaat :
Fungsi:
Dengan manfaat dan fungsi ini, komputasi numerik memberikan fondasi yang kuat untuk
kemajuan dalam berbagai aspek bidang informatika, dari pengembangan perangkat lunak hingga
pemahaman lebih dalam tentang dunia kita.
Dalam komputasi numerik juga memiliki metode -metode numerik yang digunakan dalam
prakteknya yaitu ada metode numerik secara umum dan metode numerik dalam bidang teknik
informatika sebagai berikut :
1. Metode numerik secara umum adalah pendekatan matematis untuk memecahkan masalah
matematika yang kompleks atau tidak dapat diselesaikan secara analitis (yaitu, dengan
rumus matematis eksplisit). Metode ini berfokus pada representasi numerik dari fenomena
matematika dan penggunaan komputer untuk melakukan perhitungan.
Berikut adalah beberapa poin penting tentang metode numerik secara umum:
a. Pendekatan Berbasis Angka: Metode numerik menggunakan representasi angka
(bilangan riil atau kompleks) untuk mendekati solusi dari masalah matematika. Ini
berbeda dari pendekatan analitis yang berfokus pada manipulasi simbol matematika.
b. Diskritisasi: Dalam metode numerik, domain masalah atau kontinum matematis
sering diskritisasi, artinya mereka dipecah menjadi himpunan nilai-nilai terbatas atau
titik-titik yang dapat dihitung.
c. Iterasi dan Aproksimasi: Metode numerik sering melibatkan proses iteratif di mana
perhitungan dilakukan berulang kali untuk mendekati solusi yang akurat. Selama
iterasi, perkiraan solusi diperbarui dan diperbaiki.
d. Pemecahan Persamaan Diferensial: Salah satu aplikasi utama dari metode numerik
adalah memecahkan persamaan diferensial yang mendefinisikan berbagai fenomena
alam. Ini termasuk persamaan diferensial biasa (ODE) dan persamaan diferensial
parsial (PDE).
e. Integrasi Numerik: Metode numerik juga digunakan untuk menghitung integral dari
fungsi matematika yang kompleks atau tidak dapat diintegrasikan secara analitis.
f. Optimisasi Numerik: Metode numerik digunakan dalam mencari nilai ekstremum
(maksimum atau minimum) dari fungsi matematis.
g. Analisis Numerik: Ini adalah subdisiplin dari metode numerik yang berfokus pada
analisis dan pengembangan algoritma untuk memastikan keakuratan, stabilitas, dan
kinerja dari metode yang digunakan.
h. Aplikasi di Ilmu dan Teknologi: Metode numerik diterapkan di berbagai bidang ilmu
pengetahuan dan teknologi, termasuk fisika, rekayasa, biologi komputasi, keuangan,
dan banyak lagi.
Contoh metode numerik termasuk metode Euler untuk integrasi numerik, metode Newton-
Raphson untuk mencari akar persamaan, dan metode elemen hingga untuk memecahkan
persamaan diferensial parsial dalam konteks rekayasa struktural.
2. Dalam bidang teknik informatika, metode numerik adalah kunci untuk memecahkan
masalah matematis yang kompleks atau tidak dapat diselesaikan secara analitis dengan
menggunakan komputasi dan algoritma. Berikut adalah beberapa metode numerik yang
sering digunakan beserta contoh penerapannya dalam teknik informatika:
a. Metode Iteratif:
Metode Gauss-Seidel: Digunakan untuk menyelesaikan sistem persamaan linear.
Contoh penerapannya adalah dalam pemecahan masalah analisis jaringan, seperti pada
metode penyelesaian persamaan aliran daya dalam sistem tenaga listrik.
b. Interpolasi Numerik:
Metode interpolasi polinomial: Digunakan untuk memperkirakan fungsi di antara
titik data yang diberikan. Contoh penerapannya adalah dalam pembuatan grafik atau
kurva dalam perangkat lunak pemodelan.
c. Pemecahan Persamaan Diferensial:
Metode Euler: Metode iteratif sederhana untuk memecahkan persamaan diferensial
biasa (ODE). Digunakan dalam simulasi dinamika sistem fisika dan rekayasa.
Metode Runge-Kutta: Metode iteratif yang lebih akurat untuk memecahkan ODE.
Digunakan dalam simulasi dinamika sistem yang membutuhkan tingkat presisi yang
lebih tinggi.
d. Optimisasi Numerik:
Metode gradien konjugat: Digunakan untuk mencari titik minimum atau maksimum
dari fungsi multidimensi. Penerapannya mencakup optimisasi jaringan neural dalam
pembelajaran mesin.
e. Metode Matriks dan Aljabar Linier:
Metode eliminasi Gauss: Digunakan untuk menyelesaikan sistem persamaan linear.
Penerapannya mencakup pemodelan dan analisis struktur dalam rekayasa sipil atau
mekanik.
Metode faktorisasi LU: Digunakan untuk memecah matriks menjadi faktor-faktor
yang lebih sederhana. Penerapannya termasuk analisis sirkuit dalam elektronika dan
simulasi dinamika struktur.
f. Integrasi Numerik:
Metode trapesium: Digunakan untuk menghitung integral tentu dari fungsi.
Penerapannya dalam analisis numerik untuk mengestimasi area di bawah kurva.
Metode Simpson: Digunakan untuk menghitung integral tentu dengan lebih akurat
daripada metode trapesium. Penerapannya dalam analisis statistik dan pemrosesan
sinyal.
g. Pemodelan dan Simulasi:
Metode elemen hingga: Digunakan untuk memecahkan persamaan diferensial parsial
dalam konteks analisis struktural atau termal. Penerapannya dalam desain dan analisis
struktur bangunan atau komponen mekanik.
h. Transformasi Fourier:
Metode cepstrum: Digunakan dalam pemrosesan sinyal dan gambar untuk
menganalisis frekuensi karakteristik dari sinyal. Penerapannya termasuk pengenalan
suara dan pengolahan citra medis.
2. Berikut ini saya membuat penerapan algoritma dari metode-metode yang ada dalam
komputasi numerik dalam 2 bahasa pemrograman yaitu Fortran dan MATLAB, yang dimana
ada program utama dan program sub-rutin:
a. Metode Iterasi di Fortran :
Program Utama (main program) dari Iterasi Gauss-Seidel :
PROGRAM GaussSeidel
IMPLICIT NONE
INTEGER, PARAMETER :: N = 3 ! Jumlah variabel
REAL :: A(N,N) = RESHAPE((/4, -1, 0, -1, 4, -1, 0, -1, 4/), (/N, N/))
REAL :: B(N) = (/15, 10, 10/)
REAL :: X(N) = 0.0
INTEGER :: i
! Cetak hasil
PRINT *, 'Hasil:'
DO i = 1, N
PRINT *, 'X(', i, ') = ', X(i)
ENDDO
CONTAINS
DO i = 1, N
Sum = 0.0
DO j = 1, N
IF (i /= j) THEN
Sum = Sum + A(i,j) * X(j)
ENDIF
ENDDO
X(i) = (B(i) - Sum) / A(i,i)
ENDDO
function main()
X = [0 1 2 3 4]; % Data x
Y = [1 0 3 2 1]; % Data y
% Cetak hasil
fprintf('Hasil interpolasi pada x = %.1f adalah y = %.2f\n', x_interpolate,
y_interpolated);
end
n = length(X);
F = zeros(n, n);
F(:,1) = Y';
for j = 2:n
for i = j:n
end
end
y_interpolated = 0;
for i = 1:n
term = F(i,i);
for j = 1:i-1
end
end
end
c. Metode Integrasi Numerik diFortran
Program Utama-Metode Trapesium:
PROGRAM TrapezoidalIntegration
IMPLICIT NONE
INTEGER :: i
h = (b - a) / REAL(N)
DO i = 1, N-1
x = a + REAL(i) * h
ENDDO
integral = integral * h
! Cetak hasil
CONTAINS
! Fungsi yang akan diintegrasi
REAL, INTENT(IN) :: x
f = x**2
END FUNCTION f
function main()
% Tebakan awal
x0 = 1.5;
tolerance = 1e-6;
% Cetak hasil
fprintf('Aproksimasi akar: %.6f\n', root);
end
max_iterations = 1000;
x = x0;
for i = 1:max_iterations
root = x_new;
return;
end
x = x_new;
end
end
PROGRAM FiniteElementAnalysis
IMPLICIT NONE
CALL FiniteElementAnalysis1D(L, E, A, U, F)
! Cetak hasil
CONTAINS
SUBROUTINE FiniteElementAnalysis1D(L, E, A, U, F)
REAL, INTENT(IN) :: L, E, A
REAL :: K, LNODE, X
INTEGER :: I
K=E*A/L
LNODE = L / REAL(NNODES - 1)
DO I = 1, NNODES - 1
X = LNODE * REAL(I - 1)
ENDDO
Dalam program Fortran di atas melakukan analisis elemen hingga pada balok dengan
beban terdistribusi dan menghitung displacement pada ujung balok.