Dika Auliady
Profil
Nama : Dika Auliady
NPM : 1706070671
Jurusan : Teknik Mesin
Biodata
Nama Lengkap : Dika Auliady
Tempat tanggal lahir : Jakarta,17 Feb 1999
Alamat : BSD
Hobi : Mendengar lagu, renang, ngopi
Cita-cita : Pengusaha
Riwayat Pendidikan
SMP Al-Azhar BSD (2011-2014)
SMA Al-Azhar BSD (2014-2017)
Metode Numerik
Pertemuan 1 : 2 September 2019
Pada pertemuan pertama ini membahas tentang apa itu metode numerik. Metode numerik adalah mata kuliah yang mempelajari tentang bahasa pemrograman untuk bisa menyelesaikan sebuah persoalan dengan cara numerik bukan secara analitik. Karena pada kehidupan sehari-hari baik di teknik maupun bukan banyak permasalahan yang tidak bisa diselesaikan secara analitik. Contohnya untuk menyelesaikan sebuah persamaan di pegas dapat diselesaikan dengan mudah secara analitik namun, apabila pegas yang digunakan lebih banyak tentu menyelesaikannya akan lebih lama dan lebih sulit. Jadi untuk mengatasi ini, ada beberapa bahasa pemrograman sepeti python,matlab,C++, dan lain-lain untuk bisa menerjemahkan dari manusia ke komputer.
Phyton merupakan salah satu dari berbagai bahasa pemrograman yang berguna untuk mengkomunikasikan antara user dengan komputer. Dalam metode numerik bisa digunakan untuk menyelesaikan persoalan matematika yang rumit menjadi lebih mudah dan lebih cepat.
Mode interaktif merupakan fasilitas/fitur yang disediakan oleh Python sebagai tempat menulis kode secara interaktif. Fitur ini dikenal juga dengan Shell, Console, REPL (Read–Eval–Print Loop), interpreter, dsb. Cara membuka mode interaktif adalah dengan mengetik perintah python pada terminal.
Tanda >>>, artinya python siap menerima perintah. Terdapat juga tanda ... yang berarti secondary prompt atau sub prompt, biasanya muncul saat membuat blok kode dan menulis perintah tunggal dalam beberapa baris.perintah print, perintah ini berfungsi untuk mencetak teks ke layar.
Dari hasil diskusi pada pertemuan ini, bilangan eksak adalah bilangan yang pasti seperti 0,1,2 dan seterusnya merupakan 1. Hanya kesepakatan untuk mempermudah perhitungan dalam kehidupan 2. Merupakan pendekatan untuk menyelesaikan persoalan karena ada beberapa masalah yang tidak memiliki hasil atau tidak dapat terdefinisi hasilnya Jadi sebenarnya bilangan eksak itu tidak ada, dan menurut bahasanya eksak artinya adalah pasti maka sebenar-benarnya yang pasti hanyalah tuhan kita Allah saja.
Pertemuan 2 : 9 September 2019
Melanjutkan dari bahasan sebelumnya untuk mencari nilai dari hasil sebuah penyelesaian pada python perlu beberapa step dan tidak bisa langsung menggunakan satu perintah dan menemukan hasilnya, perlu menggunakan trial and error jadi alur pengerjaan pada python ini ada 3, yaitu algoritma,flowchart,code python. Untuk lebih jelasnya ada contoh soal yang diberikan seperti dibawah
def limit(x) :
try: a = (x**2-1) b = (x-1) result = a/b print (result) except ZeroDivisonError : c = ((x+(1/99))**2-1) / ((x+(1/99))-1) print (c) d = ((x+(1/999))**2-1) / ((x+(1/999))-1) print (d) e = ((x+(1/9999))**2-1) / ((x+(1/9999))-1) print (e) f = ((x+(1/99999))**2-1) / ((x+(1/99999))-1) print (f) g = ((x+(1/999999))**2-1) / ((x+(1/999999))-1) print (g) h = ((x+(1/9999999))**2-1) / ((x+(1/9999999))-1) print (h)
Dari soal-soal limit ini tujuannya sama yaitu melakukan pendekatan untuk menemukan jawaban yang pasti dengan metode limit. pada persamaan pertama kita mau mendapatkan hasil terdefinisi maka untuk itu nilai x tidak boleh satu tetapi harus mendekati satu. Hasilnya dari 6 kali percobaan adalah mendekati angka 2. Kenapa menggunakan zerodivisonerror adalah agar untuk tidak terjadi eror angka 0. Cara pengerjaannya seperti biasa, pertama kita harus menjelaskan apa itu fungsi x lalu masukan perintah zerodivision eror dan print hasilnya.
Pertemuan 3 : 16 September 2019
- define fungsi T
def fungsi_T(x):
T = (x**2-1)/(x-1) return (T)
- 2 assign x = 0, delta_x = 0.1
x = 0 delta_x = 0.1 error = 1
To = fungsi_T(x)
print ('x adalah', x)
print ('Nilai T awal adalah', To)
x = x+delta_x
Tn = fungsi_T(x)
error = abs ((To-Tn/To))
print ('Nilai T selanjutnya', Tn)
print ('Error nya adalah', error)
x = x+delta_x
To = Tn
Tn = fungsi_T(x)
error = abs ((To-Tn/To))
print ('Nilai T selanjutnya', Tn)
print ('Error nya adalah', error)
Dalam menyelesaikan sebuah fungsi limit banyak cara yang bisa dilakukan. Pada pertemuan kali ini mempelajari tentang loop yaitu apabila kita menginginkan sebuah hasil tetapi dengan syarat suatu kondisi maka cara dapat diterapkan. Jadi dengan menggunakan soal di pertemuan sebelumnya, kita dapat menentukan syarat seperti apabila x nya masih kurang dari 1 maka perintah ini akan terus berjalan menyelesaikan persamaan atau dengan menggunakan errornya, karena error akan terus menuju 0. Untuk Tn adalah perbaharuan To atau T awal sementara delta_x adalah pertambahan yang kita inginkan untuk menuju ke 1 dimulai dari 0. Error adalah perbandingan selisih hasil fungsi yang baru dan yang lama.
Pertemuan 4 : 23 September 2019
Pada pertemuan kali membahas tentang aplikasi pyhton pada sebuah sistem pipa. Sebelum itu kita harus mengetahui bentuk matematis dari soal yang dimaksud yaitu pada kasus ini dalam bentuk sebuah matriks. Penyelesaian matriks pada python dapat dikerjakan dengan eliminasi gauss. Berikut adalah langkah penyelesaiannya
Pertama mencari persamaan
6c1 - 4c2 = 50 -2c1 - c3 + 4c4 = 50 7c2 - 3c3 - 4c4 = 50 -4c1 + 4c3 = 50
Dalam bentuk matriks
[6. -4. 0. 0.] [-4. 0. 4. 0.] [-2. 0. -1. 4.] [0. 7. -3. -4.]
Lalu masukan ke dalam code python
import numpy as np
A = np.array([[6,-4,0,0], [-4,0,4,0], [-2,0,-1,4], [0,7,-3,-4]], float) B = np.array([50,0,50,0], float) print ('Matriks A adalah', A) print ('Matriks B adalah', B) n = len (A) for k in range(0,n-1):
for i in range(k+1,n): if A[i,k]!=0 : lam = A[i,k]/A[k,k] A[i,k:n] = A[i,k:n]-(A[k,k:n]*lam) B[i] = B[i]-(B[k]*lam)
print ('Matriks A setelah eliminasi Gauss :', '\n', A) x = np.zeros(n, float) for m in range(n-1,-1,-1):
x[m]=(B[m]-np.dot(A[m,m+1:n],x[m+1:n]))/A[m,m] print ('Nilai X', m+1, '=', x[m])
Perintah untuk menerapkan numpy dalam coding ini agar mempermudah berbagai bentuk matematik digunakan dalam coding ini. Array berguna untuk membuat data yang dinginkan dituliskan dalam format matrix.Baris 2 dan 3 memunculkan matrix. Matrix yang muncul adalah matrix A dan B karena perintah print ditujukan kepada keduanya. Baris 4 dan 5 perintah menuliskan apa yang ada di dalamnya. Baris 6 mengetahui ukuran matriks dari A. Dalam kasus ini, nilai tersebut adalah 4x4. Float tidak termasuk jenis data lain karena itu berguna untuk mendefinisikan nilai desimal. Baris 7 -12 proses eliminasi bagian dari baris yang harusnya 0. Karena kita memerlukan matrix segitiga bawah untuk menyelesaikan dengan metode elimination gauss. For digunakan untuk menjalankan perintah hanya ketika argumen yang ada bersifat true. Proses yang berjalan adalah pengecekan setiap angka pada segitiga bawah dalam matrix tersebut agar nilainya menjadi 0. Baris 8 perintah for yang berarti hanya berjalan kalau argumennya bersifat true. Range disini berarti dimana kita akan memulai pivot. If digunakan untuk apabila nilai pada matriks sudah bernilai 0 maka diperlu lagi dilakukan pengoperasian. Lam merupakan pembagian nilai di koordinat data yang diberikan, setelah membentuk segitiga bawah nilai x dapat ditentukan. tetapi ada penggunaan np.dot disana. Baris 14 zero matrix yang berarti x adalah sebuah matrik yang kosong. Selanjutnya ada back subtitution. Perintah np.dot sama seperti dot product dalam aljabar linear. Baris terakhir print (x[m]). Selesai.
Kuis metode numerik