Cornelius
Contents
Metode Numerik
METODE NUMERIK adalah teknik yang digunakan untuk memformulasikan persoalan matematik sehingga dapat dipecahkan dengan operasi perhitungan/aritmetika biasa (tambah, kurang, kali, dan bagi). Itulah pengertian yang tentunya saya dapatkan dari google. Sebuah pengertian yang singkat, jelas, dan padat. Saya pun cukup tertarik mendengar apa yang akan saya pelajari pada mata kuliah kali ini. Saya tahu bawah logika saya akan terus diuji dan dipicu selama pelajaran ini, tetapi bagaimana prosesnya tentu masih belum jelas. Bagaimana prosesnya akan dimulai bergantung pada dosen saya pada mata kuliah kali ini, yaitu Dr. Ahmad Indra atau yang kerap ingin disapa Aki Dai. Sebuah introduksi yang unik dilontarkan oleh Aki Dai waktu itu. Sebuah perkenalan yang mungkin kurang berbau "metode numerik, tetapi seperti sebuah peta untuk melihat arah dari ilmu yang akan diberikan oleh Aki Dai.
Akal
Kata yang kerap ditekankan oleh Aki Dai dalam diskusi hari itu. Apa yang membedakan manusia dari semua mahkluk hidup lainnya? Akal budi. Jawaban yang sudah sering dilontarkan ini menjadi topik bahasan kali ini. Topik ini pun bukan sekadar sebuah intermezzo untuk introduksi hari itu saja. Ini dibuktikan dari tujuan perkuliahan yang ingin dicapai oleh Aki Dai. Berikut adalah Kalimat dari tujuan perkuliahan metode numerik ini :
1. Memahami konsep/prinsip dan mampu menerapkannya
2. Menjadi orang yang lebih mengenal siapa dirinya
Tujuan kedua merupakan poin yang menarik. Kenapa harus mengenal diri? Apa yang membuat kita menjadi lebih mengenal diri? Bagaimana Metode Numerik dapat memberikan kita sebuah pandangan mengenai diri kita? Menurut saya, hal yang dimaksud oleh Aki Dai adalah cara kita berpikir. Dalam diskusi hari itu, Aki Dai juga menyebutkan tujuan dan kegunaan dari kita belajar matematika dari kecil. Matematika membantu kita berpikir lebih logis dan sistematis. Pola pikir itu lah yang sebenarnya ingin ditanamkan sejak kecil. Belajar metode numerik tidak jauh berbeda tujuannya dengan matematika. Kita diharapkan bias lebih baik lagi sebagai manusia yang berakal.
Masalah Teknik
Kita kerap mencari solusi dari masalah-masalah yang ada di sekitar kita. Kita menggunakan berbagai metode untuk bisa menerapkan solusi yang paling efektif dan efisien agar masalah yang ada dapat diselesaikan secepatnya. Dari berbagai metode yang ada, beberapa orang mulai mencari cara yang universal yang dapat merepresentasikan metode penyelesaian masalah yang tepat guna. Salah satu metode yang dikembangkan adalah metode numerik.
Ini merupakan contoh dari metode penyelesaian masalah dengan menggunakan bantuan komputasi. Kita bisa membuat model matematis dari masalah yang ada. Model ini seperti bayangan yang merepresentasikan masalah yang benar-benar terjadi. Contohnya, kita bisa menghitung efisiensi dari pemakaian energi kapal dalam satu kali perjalanan. Kita sudah tidak perlu melakukan uji coba berulang-ulang untuk menemukan data yang diperlukan agar dapat mengetahui efisiensinya. Kita bisa menggunakan bantuan komputasi dengan membuat model dari permasalahn tersebut. Dengan data-data yang tepat, keakuratan model ini bisa menjamin solusi yang tepat atas masalah tersebut.
Nonlinear Equation in Python
Tugas kali ini adalah mencoba membahasakan pertidaksamaan linear dengan menggunakan Bahasa python. Pertidaksamaan yang ingin diselesaikan adalah sebagai berikut:
ax + by = c
px + qy = r
Nilai a, b, p, q adalah konstanta dengan nilai tertentu. x dan y adalah variabel yang merupakan solusi dari pertidaksamaan tersebut. Dengan menggunakan python kita harus bisa menyelesaikan masalah itu. Berikut adalah program untuk menyelesaikan pertidaksamaan linear dengan menggunakan python:
import numpy as np
print("Please input the value")
a = int(input("input value of a :"))
b = int(input("input value of b :"))
c = int(input("input value of c :"))
p = int(input("input value of p :"))
q = int(input("input value of q :"))
r = int(input("input value of r :"))
x = np.array([[a,b],[p,q]])
y = np.array([c,r])
z = np.linalg.solve(x,y)
xval = int(z[0])
yval = int(z[1])
print("x = ",xval)
print("y = ",yval)
Program python ini menggunakan numpy untuk membantu dalam membahasakan apa itu x dan y sebagai variable. Modul numpy yang digunakan adalah array untuk matriks, linalg untuk menyelesaikan permasalahan aljabar linear ini. Dengan memasukkan berbagai nilai untuk konstanta, dengan catatan nilainya adalah angka, kita akan mendapatkan nilai x dan y dari program ini.
Python
Dari contoh sebelumnya, kita dapat melihat penyelesaian masalah dengan menggunakan python. Metode-metode ini merupakan penyelesaian dari aljabar linear. Kita hanya menerjemahkannya dengan menggunakan bahasa python. Python hanya bisa mengerti tambah, kurang, kali, dan bagi. Kita harus bisa menemukan pola dalam metode penyelesaian pertidaksamaan linear. Tentu saja python tidak hanya bisa menyelesaikan permasalahan pertidaksamaan linear. Python bisa menyelesaikan berbagai permasalahan matematik, dengan catatan kita bisa menuliskannya dalam bahasa yang dimengerti oleh python. Pertidaksamaan yang sebelumnya pun bisa diselesaikan dengan berbagai metode. Metode lainnya untuk menyelesaikannya adalah dengan menggunakan elimination gauss. Contoh lainnya dalam penyelesaian masalah matematik dengan menggunakan python adalah limit. Dua contoh ini bisa dilihat dalam penjelasan selanjutnya.
Elimination Gauss
Ini adalah metode lain dalam penyelesaian pertidaksamaan linear. Berikut adalah hasil coding untuk penyelesaian menggunakan elimination gauss: import numpy as np from numpy import array
# define the matrix [A] A=array([[4, -2, 1], [-2, 4, -2], [1, -2, 4]], float)
# define matrix b b = array ([[11], [-16], [ 17]], float)
# matrix nya menjadi c=array([[4, -2, 1, 11], [-2, 4, -2, -16], [1, -2, 4, 17]], float)
print ('Matrix dari persamaan adalah : ') print (c)
#define rows column n=len(b) #number of rows and colomn, due too the matrix that is square matrix print ('n adalah ' + str(n)) x=np.zeros((3), float) for k in range (0,n-1): for i in range (k+1,n): if A[i,k] != 0.0 : #perintah jika sebuah baris yang akan di eliminasi, ada bagiannya yang tidak 0, maka akan di substract dengan pivot lam = A[i,k]/A[k,k] A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] b[i]=b[i] - lam*b[k]
for k in range (n-1,-1,-1): x[k]=(b[k]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k] print (x[k])
Ini adalah hasil dari Modul tersebut: