Difference between revisions of "Djordan Ranadi Putra"
(→Pertemuan 4) |
|||
Line 136: | Line 136: | ||
Berikut link video untuk tugas yang diberikan | Berikut link video untuk tugas yang diberikan | ||
− | [https://youtu.be/t-GrMef6MOM] | + | https://youtu.be/t-GrMef6MOM [https://youtu.be/t-GrMef6MOM] |
import numpy as np | import numpy as np |
Revision as of 10:02, 6 March 2019
Pertemuan 1
Tujuan Perkuliahan Metode Numerik 1. Memahami konsep/prinsip dan menerapkannya 2. Menjadi orang yang lebih mengenal siapa dirinya
Metode Numerik 1. Mempelajari tentang Algoritma, Flowchart, Pemrograman, dan Metode iterative 2. Penyelesaian persamaan-persamaan dan Aljabar Simultan 3. Differensial dan Integral 4. Optimasi 5. Studi Kasus
Pada pertemuan pertama membahas terkait definisi/pengertian dari metode numerik. Dalam kelas metode numerik kedepannya kita akan mempelajari perhitungan yang akan dibantu dengan alat komputer. Sebelum menghitung dengan komputer kita harus membuat perhitungan-perhitungan yang akan dimasukkan ke dalam komputer menjadi sederhana supaya kita bisa mendapatkan hasil yang tepat. Dan saat pertemuan pertama terdapat contoh soal dan juga pembahasan terkait AKAL.
Pertemuan 2
Masalah teknik yang mungkin bisa dipecahkan dengan metode numerik, yaitu masalah pemasangan komponen-komponen pada kapal seperti mesin
Teknik : diselesaikan dengan cara teoritis, percobaan, dan komputasi Metode Numerik, menyelesaikan masalah dengan cara komputasi Setelah mendapatkan masalah harus dicari model matematika dan hukum-hukum yang sesuai dengan masalah tersebut Langkah-langkah perhitungan untuk menyelesaikan masalah disebut algoritma untuk menyelesaikan algoritma tersebut membutuhkan sebuah program Komputer hanya mengerti bilangan biner setiap perhitungan disebut simulasi bisa juga dikatakan menjalankan program harus diinterpretasikan supaya mendapatkan solusi untuk melakukan simulasi harus dilakukan pengulangan
print (“Tugas Metnum \n ax + by = c\n px + qy = r”) a = float(input("nilai a =")) b = float(input("nilai b =")) c = float(input(“nilai c =")) p = float(input("nilai p =")) q = float(input("nilai q =")) r = float(input("nilai r ="))
if a == p:
i = b - q j = c - r y = j/i x = (c -(b*y))/a print("nilai y=",y,"nilai x =",x)
elif a == 0:
y = c / b x = (r - (q * y)) / p print("nilai y=", y, "nilai x =", x)
elif b == 0:
x = c / a y = (r - (p * x)) / q print("nilai y=", y, "nilai x =", x)
elif p == 0:
y = r / q x = (c - (a * y)) / b print("nilai y=", y, "nilai x =", x)
elif q == 0:
x = r / p y = (c - (a * x)) / b print("nilai y=", y, "nilai x =", x)
elif a != p :
a2= a*p b2=b*p c2=c*p p2=p*a q2=q*a r2=r*a i2 = b2 - q2 j2 = c2 - r2 y = j2 / i2 x = (c - (b * y))/a print("nilai y=", y, "nilai x =", x)
input()
Pertemuan 3
20 Februari 2019
Pada pertemuan kali ini membahas aplikasi python. Selama ini kita menyelesaikan aljabar linier contohnya pada matriks kita menyelesaikan dengan manual atau cara kita sendiri.Tetapi kita bisa menggunakan pyhton untuk menyelesaikannya. Tetapi kita harus paham juga cara matematisnya.
Dalam phyton juga terdapat fungsi looping. Yang berfungsi untuk menejalankan program yang ada di dalam sistemnya. Beberapa bahasa python dijelaskan, antara lain :
n=jumlah baris/kolom i=baris ke.. j=kolom ke.. k= pivot (patokan baris).
Tugas memahami kode dan jelaskan pengertiannya.
Tugas METODE NUMERIK ELIMINATION GAUSS
Ini adalah metode lain dalam penyelesaian pertidaksamaan linear. Berikut adalah hasil coding untuk penyelesaian menggunakan elimination gauss:
line 1 :import numpy as np line 2 :from numpy import array line 3 : # define the matrix [A] line 4 : A=array([[5, -4, 5], [-3, 3, -5], [6, -7, 1]], float) line 5 : # define matrix b line 6 : b = array ([[9], [-1], [ 13]], float) line 7 : #matrix nya menjadi line 8 : c=array([[5, -4, 5, 9], [-3, 3, -5, -1], [6, -7, 1, 13]], float) line 9 : print ('Matrix dari persamaan adalah : ') line 10 : print (c) line 11 : #define rows column line 12 : n=len(b) #number of rows and colomn, due too the matrix that is square matrix line 13 : print ('n adalah ' + str(n)) line 14 : x=np.zeros((3), float) line 15 : for k in range (0,n-1): line 16 : for i in range (k+1,n): line 17 : 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 line 18 : lam = A[i,k]/A[k,k] line 19 : A[i, k+1:n] = A[i, k+1:n] - lam*A[k, k+1:n] line 20 : b[i]=b[i] - lam*b[k] line 21 : for k in range (n-1,-1,-1): line 22 : x[k]=(b[k]-np.dot(A[k,k+1:n], x[k+1:n]))/A[k,k] line 23 : print (x[k])
Hasil Modul:
Metode elimination Gauss. Maksud dari setiap line • Line 1 dan 2 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. Semua kalimat yang diawali dengan tanda # hanya merupakan angka yang tidak ada hubungan dengan coding secara keseluruhan. • Line 4 dan 10 memunculkan matrix. Matrix yang muncul hanya lah matrix c dari line 8 karena perintah print hanya ditujukan pada c, sedangkan nilai c tidak dipengaruhi oleh a maupun b. • Line 11 perintah menuliskan apa yang ada di dalamnya. • Line 12 mengetahui jumlah data dari b. Dalam kasus ini, nilai tersebut adalah 3 karena b memiliki 3 jenis data yang berbeda. Float dalam b tidak termasuk jenis data lain karena itu berguna untuk mendefinisikan nilai angka di dalamnya memiliki nilai 0 tambahan di belakangnya. • Line 11 memunculkan kalimat dan string dari n. String adalah Bahasa lain dari kalimat di dalam python. • Line 14 zero matrix. Dengan nilai 3, berarti yang muncul adalah matrix 3 x 3. Ini digunakan untuk mendefinisikan bentuk matrix yang akan dibaca oleh perintah selanjutnya dalam line 15 sampai line 23. • Line 15 - line 23 proses eliminasi bagian dari baris yang harusnya 0. Karena kita memerlukan matrix segitiga atas 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. • Line 21 perintah for yang berarti hanya berjalan kalua argumennya bersifat true. Range disini memiliki 3 argumen. Argumen yang ketiga adalah interval dari setiap data yang ada dalam range tersebut. • Line 22 juga merupakan pembagian nilai di koordinat data yang diberikan, tetapi ada penggunaan np.dot disana. Perintah np.dot sama seperti dot product dalam aljabar linear. • Line 23 print (x[k]).
Selesai.
Pertemuan 4
Rabu,27 Februari 2018
Pertemuan kali ini belajar mengenai penggunaan numpy untuk menyelesaikan aljabar linear. Di ajarkan untuk import numpy pada python dengan tujuan agar module numerical python yang akan dipergunakan untuk menyelesaikan masalah numerik sudah terpasang pada aplikasi yang kita buat.
Mengakses numpy dengan syntax "np." seperti np.array atau np.linalg bergantung pada kebutuhan. np.array dipergunakan untuk mengakses sub bab array dari modul numerical python untuk membuat matriks. Syntax print sebuah text harus diberi tanda kutip seperti print("Hello World"). Untuk print sebuah text dan variable a dapat ditulis print("Variabel A adalah" , a). Len() digunakan untuk mengukur panjang baris dari matriks yang ada.
Selain itu looping pada python bisa dipergunakan syntax for atau if dengan kondisi tertentu sesuai kasus yang ada seperti for k in range(0,n-1). Jarak menjorok ke dalam mengartikan bahwa syntax yang ada adalah bagian dari syntax sebelumnya sehingga saling berkaitan. Kita diajarkan mengenai bagaimana syntax eliminasi gauss jordan pada python
Tugas untuk membuat bangunan untuk usaha penyewaan kamar (usaha kost) perkirakan titik impas (break even point ) usaha tsb, dengan Aplikasi pers. Aljabar
Berikut link video untuk tugas yang diberikan https://youtu.be/t-GrMef6MOM [1]
import numpy as np from numpy import array
p=array([[3,2,1],[2,3,1],[2,2,2]],float)
q=array ([[60],[55], [60]], float)
r=array([[3,2,1,60],[2,3,1,55],[2,2,2,60]],float)
print ('Matrix dari persamaan adalah : ')
print (r)
n=len(q) 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 p[i,k] != 0.0 : lam = p[i,k]/p[k,k] p[i, k+1:n] = p[i, k+1:n] - lam*p[k, k+1:n] q[i]=b[i] - lam*q[k]
for k in range (n-1,-1,-1):
x[k]=(q[k]-np.dot(p[k,k+1:n], x[k+1:n]))/p[k,k]
panjangtanah = x[0] lebartanah = x[1] banyakkamar = x[2]
p hargameter = int(input("Harga per meter kuadrat bangunan adalah : Rp. ")) print("") hargakost = panjangtanah * lebartanah * hargameter print("Rumah kostan senilai Rp. " , hargakost) print("") biayasewa = int(input("Harga penyewaan kamar tiap bulannya adalah : Rp. ")) print("")
biayaperawatan = int(input("Biaya perawatan kamar tiap bulan adalah : Rp. ")) print("")
breakeven = hargakost / ((biayasewa - biayaperawatan) * x[2] ) breakeventahun = breakeven/12 print("breakeven point akan dicapai selama ", round(breakeven),"bulan atau selama", round(breakeventahun), "tahun" )