User:Muhammad Arya Guntara
Contents
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.
Selain itu, penting untuk memperhatikan manajemen risiko dalam merancang tangki hidrogen. Beberapa pertimbangan yang dapat diikuti antara lain:
Identifikasi Risiko
Lakukan identifikasi risiko yang terkait dengan tangki hidrogen, seperti kebocoran hidrogen, kegagalan struktural, kelebihan tekanan, atau reaksi kimia yang tidak diinginkan. Perhatikan juga faktor-faktor lingkungan dan keamanan yang relevan.
Analisis Risiko
Lakukan analisis risiko secara sistematis untuk menilai probabilitas dan dampak setiap risiko yang diidentifikasi. Prioritaskan risiko berdasarkan tingkat keparahan dan kemungkinan terjadinya.
Mitigasi Risiko
Berdasarkan hasil analisis risiko, buat rencana mitigasi yang efektif untuk mengurangi risiko yang diidentifikasi. Misalnya, implementasikan sistem deteksi kebocoran hidrogen yang sensitif, pilih material dengan kekuatan yang sesuai, dan sertakan perangkat pelepas tekanan yang terpercaya.
Material Tangki
Pilih material yang cocok untuk tangki hidrogen dengan mempertimbangkan faktor risiko. Pastikan material tersebut tahan terhadap korosi dan embrittlement akibat hidrogen. Lakukan pengujian material secara menyeluruh untuk memastikan kesesuaiannya.
Material Tangki yang dipilih
Baja paduan nikel dengan kandungan karbon rendah, seperti seri AISI 300 (misalnya, AISI 304, AISI 316), juga dapat menjadi pilihan yang baik untuk tangki hidrogen kecil. Baja paduan nikel memiliki ketahanan yang baik terhadap korosi hidrogen dan tahan terhadap retakan. Meskipun biaya baja paduan nikel mungkin sedikit lebih tinggi daripada baja paduan aluminium, namun tetap dapat dianggap sebagai opsi yang relatif terjangkau.
Kekuatan luluh (yield strength) baja AISI 304 adalah sekitar 205 MPa (megapascal) atau sekitar 30,000 psi (pound per square inch). Kekuatan luluh adalah titik ketika baja mulai mengalami deformasi permanen atau perubahan bentuk yang permanen setelah diberikan beban. Kekuatan luluh ini merupakan salah satu parameter penting dalam menentukan kinerja dan kemampuan struktural dari baja 304.
Progres 2 Tugas
Mencari ukuran permukaan optimal dari tangki hidrogen kapasitas 1 liter
import numpy as np
from scipy.optimize import minimize
def objective(x):
# x[0] merepresentasikan jari-jari, x[1] merepresentasikan tinggi
radius = x[0]
tinggi = x[1]
# Menghitung luas permukaan struktur silinder
luas_permukaan = 2 * np.pi * radius * (radius + tinggi)
return luas_permukaan
def constraint(x):
# x[0] merepresentasikan jari-jari, x[1] merepresentasikan tinggi
radius = x[0]
tinggi = x[1]
# Menghitung volume internal struktur silinder
volume = np.pi * radius**2 * tinggi
# Mengembalikan selisih antara volume dan nilai yang diinginkan (1000 sentimeter kubik)
return volume - 1000
# Nilai awal untuk jari-jari dan tinggi
x0 = [1.0, 10.0]
# Batasan variabel (jari-jari dan tinggi)
bounds = [(0, None), (0, None)]
# Mendefinisikan dictionary kendala
constraint_dict = {'type': 'eq', 'fun': constraint}
# Menggunakan fungsi minimize untuk mengoptimalkan fungsi tujuan dengan mempertahankan kendala function subject to the constraint
result = minimize(objective, x0, method='SLSQP', bounds=bounds, constraints=constraint_dict)
# Hasil Optimasi
print("Hasil Optimasi:")
print("Radius: {:.2f} cm".format(result.x[0]))
print("Tinggi: {:.2f} cm".format(result.x[1]))
print("Luas Permukaan: {:.2f} cm^2".format(result.fun))
Output:
Hasil Optimasi:
Radius: 5.42 cm
Tinggi: 10.84 cm
Luas Permukaan: 553.58 cm^2
Mencari ketebalan tangki dengan tekanan 8 bar serta memperhatikan Mechanical Properties AISI 304
r = 5.51e-2 # jari-jari tangki
p = 800000 # kendala tekanan 8 bar
t = 2.7e-3 # ketebalan minimum
while t < 11.05e-3:
hoop = (p * r) / t
print('Untuk ketebalan', t, 'tekanan lingkar =', hoop, "Pa")
t += 1e-3
if hoop > 215e9: #Yield Strength of AISI 304
break
Output:
Untuk ketebalan 0.0027 tekanan lingkar = 16325925.925925925 Pa
Untuk ketebalan 0.0037 tekanan lingkar = 11913513.513513513 Pa
Untuk ketebalan 0.0047 tekanan lingkar = 9378723.40425532 Pa
Untuk ketebalan 0.0057 tekanan lingkar = 7733333.333333333 Pa
Untuk ketebalan 0.0067 tekanan lingkar = 6579104.47761194 Pa
Untuk ketebalan 0.0077 tekanan lingkar = 5724675.324675324 Pa
Untuk ketebalan 0.0087 tekanan lingkar = 5066666.666666667 Pa
Untuk ketebalan 0.0097 tekanan lingkar = 4544329.896907216 Pa
Untuk ketebalan 0.010700000000000001 tekanan lingkar = 4119626.1682242984 Pa
Kode di atas berfungsi untuk menentukan tegangan lingkaran dengan mengevaluasi berbagai nilai ketebalan dalam rentang 2,7 mm hingga 10 mm. Kode tersebut menggabungkan sebuah batasan yang menghentikan iterasi jika total tegangan lingkaran melebihi kekuatan luluh dari baja tahan karat Aisi 304.
Hasilnya semua nilai ketebalan dari 2,7 mm hingga 10 mm, dengan penambahan 1 mm, memenuhi persyaratan kekuatan luluh. Kode tersebut menghasilkan bahwa tegangan lingkaran masih aman jauh di bawah kekuatan luluh sebesar 205 MPa.
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:
Analisis Biaya
Untuk membuat tangki hidrogen ini diperlukan estimasi biaya pembuatan tangki dengan material Baja AISI 304. Berdasarkan referensi dari Tokopedia, harga baja 30x30cm yang digunakan adalah sebesar Rp165.000. Estimasi biaya machining yang mencakup pengelasan,fit up,machining/taper, dan coating adalah sebesar Rp170.000. Diperlukan pemasangan katup/valve pada salah satu ujung tangki agar dapat dilakukan pengisian/pengosongan gas hidrogen dalam tangki dengan mudah. Biaya katup valve referensi dari tokopedia sebear Rp10.000.
Maka total biaya Rp165.000 + Rp170.000 + 10.000= Rp345.000