User:Muhammad Arya Guntara

From ccitonlinewiki
Revision as of 11:38, 5 June 2023 by Muhammad Arya Guntara (talk | contribs) (Progres 2 Tugas)
Jump to: navigation, search

Introduction

Halo semua, saya Muhammad Arya Guntara dengan NPM 21066708280 mahasiswa Metode Numerik 01.


Progress 1 Tugas

Rancangan sistem penyimpanan hidrogen dengan kapasitas 1 liter dan mampu menahan tekanan 8 bar dan biaya produksi maksimal Rp. 500.000. Dalam merancangproduk tersebut berikut ini beberapa hal yang perlu dipertimbangkan:

Bahan Tangki

Pilih bahan tangki yang mencapai keseimbangan antara biaya dan keamanan. Pilihan termasuk baja, aluminium, atau serat karbon. Bahan harus kuat dan tahan terhadap tekanan dan korosi dari hidrogen.

Langkah Keamanan

Utamakan fitur keamanan untuk memastikan penyimpanan hidrogen yang handal. Ini dapat meliputi penggunaan perangkat pelepas tekanan, pelat pecah, dan sistem deteksi kebocoran.

Sertifikasi Tangki

Pastikan tangki yang dipilih memenuhi standar keamanan dan sertifikasi yang berlaku.

Analisis Biaya

Batasi biaya produksi maksimal sebesar Rp. 500.000. Perhatikan semua biaya bahan, biaya produksi, dan biaya lainnya.

Pertimbangkan Efisiensi

Perhatikan efesiensi ruang tangki, pemanfaatan ruang harus optimal.

Skala Produksi

Pertimbangkan skala produksi tangki hidrogen. Pada skala produksi yang lebih besar, biaya produksi per unit biasanya lebih rendah. Namun, pastikan untuk tetap memenuhi anggaran biaya produksi maksimum yang ditetapkan.


Progres 2 Tugas

Mencari optimasi tangki hidrogen dengan maksimal anggaran Rp500.000:

from scipy.optimize import minimize

# Harga dan kapasitas yang dibutuhkan
harga_per_unit = 500000  # Rupiah
kapasitas_per_unit = 1  # Liter

# Anggaran maksimal
anggaran_maksimal = 500000

# Fungsi Akhir
def fungsi_akhir(x):
    return -x * kapasitas_per_unit

# Kendala yang terjadi
def kendala(anggaran):
    return anggaran_maksimal - (harga_per_unit * anggaran)

kendala_anggaran = {'type': 'ineq', 'fun': kendala}

# Nilai awal
x0 = 0

# Batasan
batas = [(0, None)]

# Menyelesaikan masalah optimisasi
solusi = minimize(fungsi_akhir, x0, method='SLSQP', bounds=batas, constraints=[kendala_anggaran])

# Menampilkan hasil
print("Status:", solusi.success and "Biaya Optimal" or "Tidak ditemukan solusi")
print("Jumlah unit yang bisa dibeli:", solusi.x[0])
print("Total kapasitas penyimpanan yang didapat:", solusi.x[0] * kapasitas_per_unit, "liter")
print("Total anggaran:", solusi.x[0] * harga_per_unit, "Rupiah")

Output:

Status: Biaya Optimal
Jumlah unit yang bisa dibeli: 1
Total kapasitas penyimpanan yang didapat: 1.0 liter
Total anggaran: 500000.0 Rupiah

Dalam kode di atas, tujuan utama adalah memaksimalkan jumlah unit penyimpanan hidrogen yang akan dibeli. Batasan anggaran diimplementasikan menggunakan fungsi kendala untuk memastikan bahwa total biaya tidak melebihi anggaran maksimal yang telah ditentukan. Output dari kode ini akan menampilkan jumlah unit yang perlu dibeli, total kapasitas penyimpanan, dan total biaya yang diperlukan.

import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import minimize

# Harga dan kapasitas
harga_per_unit = 500000  # Harga per unit penyimpanan hidrogen
kapasitas_per_unit = 1  # Kapasitas penyimpanan hidrogen per unit

# Anggaran maksimal
budget_maksimal = 500000

# Fungsi tujuan
def fungsi_tujuan(x):
    return -x

# Kendala
def kendala(x):
    return budget_maksimal - (harga_per_unit * x[0])

kendala_anggaran = [{'type': 'ineq', 'fun': kendala}]

# Nilai awal
x0 = [0]

# Batasan
batas = [(0, None)]

# Membuat fungsi untuk menampilkan hasil
def tampilkan_hasil(solusi):
    print("Status:", "Optimal" if solusi.success else "Tidak ditemukan solusi")
    print("Jumlah unit penyimpanan hidrogen yang akan dibeli:", solusi.x[0])
    print("Total kapasitas penyimpanan:", solusi.x[0] * kapasitas_per_unit, "liter")
    print("Total biaya:", solusi.x[0] * harga_per_unit, "Rupiah")

# Menyelesaikan masalah optimisasi
solusi = minimize(fungsi_tujuan, x0, method='SLSQP', bounds=batas, constraints=kendala_anggaran)

# Menampilkan hasil
tampilkan_hasil(solusi)

# Menghasilkan grafik
anggaran = np.linspace(0, 10, 100)  # Range anggaran
kapasitas = anggaran * kapasitas_per_unit  # Total kapasitas penyimpanan untuk setiap anggaran
biaya = anggaran * harga_per_unit  # Total biaya untuk setiap anggaran

plt.figure()
plt.plot(anggaran, kapasitas, label='Kapasitas Penyimpanan')
plt.plot(anggaran, biaya, label='Total Biaya')
plt.axhline(solusi.x[0] * kapasitas_per_unit, color='b', linestyle='--', label='Jumlah Unit Optimal')
plt.axvline(solusi.x[0], color='y', linestyle='--', label='Anggaran Optimal')
plt.xlabel('Anggaran')
plt.ylabel('Kapasitas/Biaya')
plt.title('Optimisasi Biaya Hidrogen')
plt.legend()
plt.grid(True)
plt.show()

Output: