Repository Praktikum 1 Komputasi Numerik ( B ) - Kelompok 2
Nama | NRP | Kelas |
---|---|---|
Alfan Lukeyan Rizki | 5025211046 | Komnum B |
Akmal Ariq Romadhon | 5025211188 | Komnum B |
Muhammad Rifqi Fadhillah | 5025211228 | Komnum B |
Anda sudah mengerti algoritma pemrosesan metode Bolzano, dan anda sudah memahami cara kerjanya. Sekarang anda tinggal mengimplementasikan algoritma tersebut menjadi sebuah program komputer metode Bolzano (yang dapat menampilkan proses iteratif numerik, lengkap dengan grafik fungsinya).
Metode Bolzano atau dapat juga disebut metode setengah interval (Interval Halving), merupakan salah satu metode yang dapat digunakan dalam mencari akar akar dari sebuah persamaan. Terdapat beberapa aplikasi yang bisa digunakan untuk mengimplementasikan Metode Bolzano, seperti google spreadsheets. Namun disini, akan digunakan bahasa python dalam implementasi Metode Bolzano. Berikut adalah code yang digunakan untuk implementasi Metode Bolzano, sekaligus jawaban dari Soal Praktikum 1 Komputasi Numerik.
Sebelum memulai semuanya, maka langkah pertama yang harus dilakukan adalah dengan install beberapa library seperti matplotlib
, tabulate
, dan numpy
. Setelah itu, maka harus dilakukan import kedalam project dengan cara sebagai berikut :
import matplotlib.pyplot as plt
import numpy as np
from tabulate import tabulate
Kemudian pengerjaan dilanjutkan dengan membuat fungsi bisection
yang akan digunakan dalam proses pencarian akar menggunakan Metode Bolzano. Berikut adalah code yang digunakan :
def bisection(functioninput, a, b, loop):
i = 1
def f(x):
f = eval(functioninput)
return f
data = [['iterasi','x1', 'x2', 'x3', 'f(x1)', 'f(x2)', 'f(x3)']]
for i in range(loop):
c = ( b + a ) / 2
data.append([i, a, b, c, f(a), f(b), f(c)])
i = i + 1
if f(c) * f(b) < 0:
a = c
elif f(c) * f(a) < 0:
b = c
result = ( b + a ) / 2
print(tabulate(data, headers = "firstrow", tablefmt = "pretty"))
print(f"Batas Bawah : {a}")
print(f"Batas Atas : {b}")
print(f"Akar setelah iterasi ke - {loop} adalah {result}")
return result
Dalam fungsi tersebut, def f(x)
digunakan untuk menjalankan perintah dari variabel function input
sesuai syntax bahasa python. Salah satu contohnya adalah ketika persamaan yang digunakan ialah x**3
sesuai syntax dari python. Kemudian dibuat tabel yang berisi iterasi
, x1
, x2
, x3
, f(x1)
, f(x2)
, dan f(x3)
. Selanjutnya, digunakan looping sesuai jumlah iterasi yang diinginkan. Apabila f(c) * f(b) < 0
, maka a = c
. Selain itu, apabila f(c) * f(a) < 0
, maka b = c
. Setelah itu, didapatkan nilai x yang baru, dari rumus b + a / 2
sesuai dengan Teori Bolzano. Perintah selanjutnya ialah print atau menampilkan hasil dari perhitungan yang sudah dilakukan.
Setelah proses perhitungan atau pembuatan fungsi dari Metode Bolzano selesai, maka langkah selanjutnya adalah penyesuaian dengan program. Contohnya ialah memasukkan input, print output, penyesuaian variabel, dan sebagainya. Berikut adalah code yang digunakan dalam proses tersebut :
if __name__ == "__main__" :
function = input("Fungsi : ")
a = float(input("Batas Bawah : "))
b = float(input("Batas Atas : "))
loop = int(input("Jumlah Iterasi : "))
x = np.linspace(0,5, num = 1000)
y = eval(function)
def f(x):
f = eval(function)
return f
result = bisection(function, a, b, loop)
plt.plot(x, y)
plt.axhline(0, -10, 10, color='black', linewidth=1)
plt.axvline(0, min(y), max(y), color='black', linewidth=1)
plt.scatter(result, f(result), color='C1', linewidth=4)
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
Dalam code tersebut, hal yang dilakukan adalah deklarasi variabel function
, a
, b
, dan loop
atau iterasi
. Keempat variabel tersebut berasal dari input user, dengan tipe data float
untuk variabel a
dan b
, serta integer
untuk variabel loop
. Nilai x
didapat menggunakan fungsi linspace
dari library numpy
dan y
berasal dari proses perhitungan. Kemudian digunakan juga bantuan dari library matplotlib
yang telah diinput dengan nama plt
untuk membuat grafik. Fungsi yang melibatkan matplotlib diantaranya ialah scatter untuk membuat titik, plot untuk membuat grafik, dan show untuk menampilkan grafik.
Berikut adalah contoh jalannya program Metode Bolzano dengan input
Menggunakan Calculator Online
Menggunakan Program Metode Bolzano
Grafik yang Dihasilkan
#include <stdio.h>
int main(){
printf("Thank u!");
}