Difference between revisions of "Shadam Sambega Raditya"

From ccitonlinewiki
Jump to: navigation, search
(Created page with "== PEKAN 1 == Dalam merancang konsep tangki hidrogen dengan kapasitas 1 liter, tekanan 8 bar, dan biaya produksi maksimal Rp. 500.000, berikut adalah beberapa langkah dan pert...")
 
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[File:Shadam.jpg|300x300px]]
 +
 +
Nama : Shadam Sambega Raditya
 +
 +
NPM : 2106637113
 +
 +
Kelas : Metode Numerik 01
 +
 
== PEKAN 1 ==
 
== PEKAN 1 ==
 
Dalam merancang konsep tangki hidrogen dengan kapasitas 1 liter, tekanan 8 bar, dan biaya produksi maksimal Rp. 500.000, berikut adalah beberapa langkah dan pertimbangan yang perlu diperhatikan:
 
Dalam merancang konsep tangki hidrogen dengan kapasitas 1 liter, tekanan 8 bar, dan biaya produksi maksimal Rp. 500.000, berikut adalah beberapa langkah dan pertimbangan yang perlu diperhatikan:
Pemilihan Bahan Tangki: Pertimbangkan penggunaan bahan yang kuat dan ringan, seperti aluminium atau serat karbon, untuk meminimalkan biaya produksi dan memenuhi persyaratan kekuatan. Pastikan bahan tersebut mampu menahan tekanan 8 bar dengan aman.
+
 
Desain dan Ukuran Tangki: Merancang tangki dengan ukuran dan bentuk yang tepat untuk memuat kapasitas 1 liter hidrogen dan menahan tekanan 8 bar. Pertimbangkan untuk mengoptimalkan ukuran tangki agar dapat mengurangi penggunaan bahan dan mengendalikan biaya produksi.
+
'''1. Pemilihan Bahan Tangki'''<br />
Konstruksi dan Pengelasan: Pastikan tangki dirancang dengan sambungan yang kuat dan aman. Gunakan metode pengelasan seperti TIG (Tungsten Inert Gas) atau MIG (Metal Inert Gas) yang sesuai untuk menggabungkan bagian-bagian tangki. Selalu patuhi standar keamanan dalam proses pengelasan.
+
Pertimbangkan penggunaan bahan yang kuat dan ringan, seperti aluminium atau serat karbon, untuk meminimalkan biaya produksi dan memenuhi persyaratan kekuatan. Pastikan bahan tersebut mampu menahan tekanan 8 bar dengan aman.
Sistem Penguncian dan Penyegelan: Pastikan tangki dilengkapi dengan sistem penguncian yang efektif untuk mencegah kebocoran hidrogen. Lakukan pemeriksaan dan pengujian kebocoran secara menyeluruh untuk memastikan tangki dapat mempertahankan tekanan yang diinginkan selama penggunaan.
+
 
Perlindungan dan Keamanan: Sertakan sistem perlindungan dan katup pelepas tekanan untuk mengurangi risiko kegagalan dan kelebihan tekanan pada tangki. Perhatikan faktor keamanan yang sangat penting dalam perancangan tangki hidrogen.
+
'''2. Desain dan Ukuran Tangki'''<br />
Biaya Produksi: Selama merancang tangki, perhatikan biaya produksi secara keseluruhan agar tetap berada dalam batas maksimal Rp. 500.000. Pilih bahan dan metode konstruksi yang efisien untuk mencapai tujuan ini. Hitunglah biaya bahan, biaya tenaga kerja, dan biaya produksi lainnya dengan cermat.
+
Merancang tangki dengan ukuran dan bentuk yang tepat untuk memuat kapasitas 1 liter hidrogen dan menahan tekanan 8 bar. Pertimbangkan untuk mengoptimalkan ukuran tangki agar dapat mengurangi penggunaan bahan dan mengendalikan biaya produksi.
 +
 
 +
'''3. Konstruksi dan Pengelasan'''<br />
 +
Pastikan tangki dirancang dengan sambungan yang kuat dan aman. Gunakan metode pengelasan seperti TIG (Tungsten Inert Gas) atau MIG (Metal Inert Gas) yang sesuai untuk menggabungkan bagian-bagian tangki. Selalu patuhi standar keamanan dalam proses pengelasan.
 +
 
 +
'''4. Sistem Penguncian dan Penyegelan'''<br />
 +
Pastikan tangki dilengkapi dengan sistem penguncian yang efektif untuk mencegah kebocoran hidrogen. Lakukan pemeriksaan dan pengujian kebocoran secara menyeluruh untuk memastikan tangki dapat mempertahankan tekanan yang diinginkan selama penggunaan.
 +
 
 +
'''5. Perlindungan dan Keamanan'''<br />
 +
Sertakan sistem perlindungan dan katup pelepas tekanan untuk mengurangi risiko kegagalan dan kelebihan tekanan pada tangki. Perhatikan faktor keamanan yang sangat penting dalam perancangan tangki hidrogen.
 +
 
 +
'''6. Biaya Produksi'''<br />
 +
Selama merancang tangki, perhatikan biaya produksi secara keseluruhan agar tetap berada dalam batas maksimal Rp. 500.000. Pilih bahan dan metode konstruksi yang efisien untuk mencapai tujuan ini. Hitunglah biaya bahan, biaya tenaga kerja, dan biaya produksi lainnya dengan cermat.
 +
 
 +
 
 
Selain itu, penting untuk memperhatikan manajemen risiko dalam merancang tangki hidrogen. Beberapa pertimbangan yang dapat diikuti antara lain:
 
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.
+
'''1. Identifikasi Risiko'''<br />
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.
+
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.
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.
+
 
 +
'''2. Analisis Risiko'''<br />
 +
Lakukan analisis risiko secara sistematis untuk menilai probabilitas dan dampak setiap risiko yang diidentifikasi. Prioritaskan risiko berdasarkan tingkat keparahan dan kemungkinan terjadinya.
 +
 
 +
'''3. Mitigasi Risiko'''<br />
 +
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.
 +
 
 +
'''4. Material Tangki'''<br />
 +
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.
 +
 
 +
== PEKAN 2 ==
 +
<syntaxhighlight lang="xml">
 +
 
 +
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))
 +
 
 +
</syntaxhighlight>
 +
 
 +
Output:
 +
 
 +
<syntaxhighlight lang="xml">
 +
 
 +
Hasil Optimasi:
 +
Radius: 5.42 cm
 +
Tinggi: 10.84 cm
 +
Luas Permukaan: 553.58 cm^2
 +
 
 +
</syntaxhighlight>
 +
 
 +
''' Mencari ketebalan tangki dengan tekanan 8 bar serta memperhatikan Mechanical Properties AISI 304 '''
 +
 
 +
<syntaxhighlight lang="xml">
 +
 
 +
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
 +
</syntaxhighlight>
 +
 
 +
Output:
 +
<syntaxhighlight lang="xml">
 +
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
 +
</syntaxhighlight>
 +
 
 +
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: '''
 +
 
 +
<syntaxhighlight lang="xml">
 +
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")
 +
</syntaxhighlight>
 +
 
 +
Output:
 +
<syntaxhighlight lang="xml">
 +
Status: Biaya Optimal
 +
Jumlah unit yang bisa dibeli: 1
 +
Total kapasitas penyimpanan yang didapat: 1.0 liter
 +
Total anggaran: 500000.0 Rupiah
 +
 
 +
</syntaxhighlight>
 +
 
 +
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.
 +
 
 +
<syntaxhighlight lang="xml">
 +
 
 +
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()
 +
 
 +
</syntaxhighlight>
 +
 
 +
Output:
 +
 
 +
[[File:Grafik adam.png|600x300px]]
 +
 
 +
=My Conscious Efforts on Numerical Method Learning & Its Application in Hydrogen Storage Design Optimization=
 +
 
 +
<youtube width="200" height="100">qK3pZsygzfo</youtube>

Latest revision as of 08:10, 12 June 2023

Shadam.jpg

Nama : Shadam Sambega Raditya

NPM : 2106637113

Kelas : Metode Numerik 01

PEKAN 1

Dalam merancang konsep tangki hidrogen dengan kapasitas 1 liter, tekanan 8 bar, dan biaya produksi maksimal Rp. 500.000, berikut adalah beberapa langkah dan pertimbangan yang perlu diperhatikan:

1. Pemilihan Bahan Tangki
Pertimbangkan penggunaan bahan yang kuat dan ringan, seperti aluminium atau serat karbon, untuk meminimalkan biaya produksi dan memenuhi persyaratan kekuatan. Pastikan bahan tersebut mampu menahan tekanan 8 bar dengan aman.

2. Desain dan Ukuran Tangki
Merancang tangki dengan ukuran dan bentuk yang tepat untuk memuat kapasitas 1 liter hidrogen dan menahan tekanan 8 bar. Pertimbangkan untuk mengoptimalkan ukuran tangki agar dapat mengurangi penggunaan bahan dan mengendalikan biaya produksi.

3. Konstruksi dan Pengelasan
Pastikan tangki dirancang dengan sambungan yang kuat dan aman. Gunakan metode pengelasan seperti TIG (Tungsten Inert Gas) atau MIG (Metal Inert Gas) yang sesuai untuk menggabungkan bagian-bagian tangki. Selalu patuhi standar keamanan dalam proses pengelasan.

4. Sistem Penguncian dan Penyegelan
Pastikan tangki dilengkapi dengan sistem penguncian yang efektif untuk mencegah kebocoran hidrogen. Lakukan pemeriksaan dan pengujian kebocoran secara menyeluruh untuk memastikan tangki dapat mempertahankan tekanan yang diinginkan selama penggunaan.

5. Perlindungan dan Keamanan
Sertakan sistem perlindungan dan katup pelepas tekanan untuk mengurangi risiko kegagalan dan kelebihan tekanan pada tangki. Perhatikan faktor keamanan yang sangat penting dalam perancangan tangki hidrogen.

6. Biaya Produksi
Selama merancang tangki, perhatikan biaya produksi secara keseluruhan agar tetap berada dalam batas maksimal Rp. 500.000. Pilih bahan dan metode konstruksi yang efisien untuk mencapai tujuan ini. Hitunglah biaya bahan, biaya tenaga kerja, dan biaya produksi lainnya dengan cermat.


Selain itu, penting untuk memperhatikan manajemen risiko dalam merancang tangki hidrogen. Beberapa pertimbangan yang dapat diikuti antara lain:

1. 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.

2. Analisis Risiko
Lakukan analisis risiko secara sistematis untuk menilai probabilitas dan dampak setiap risiko yang diidentifikasi. Prioritaskan risiko berdasarkan tingkat keparahan dan kemungkinan terjadinya.

3. 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.

4. 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.

PEKAN 2

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:

Grafik adam.png

My Conscious Efforts on Numerical Method Learning & Its Application in Hydrogen Storage Design Optimization