Aisyah Aulia

From ccitonlinewiki
Revision as of 16:31, 6 March 2020 by Aisyah aulia (talk | contribs)
Jump to: navigation, search

Assalamu'alaikum!

Aisy.jpg


Data Pribadi

Nama  : Aisyah Aulia

NPM  : 1806202260

TTL  : Jakarta, 10 Oktober 1999

Jurusan  : Teknik Perkapalan

Angkatan : 2018

email  : aisyah99auval@gmail.com

Perkenalan Singkat

Saya merupakan anak pertama dari empat bersaudara. Sejak kecil sampai sekarang, saya dan keluarga saya memiliki tempat tinggal yang berpindah-pindah. Mulai dari tinggal di beberapa pulau kecil hingga tinggal di kota-kota besar yang salah satunya adalah tempat saya melanjutkan pendidikan di perguruan tinggi impian saya ini. Oleh karena itu, hobi saya adalah jalan-jalan dan belajar mengenai banyak hal baru yang dapat memperluas pola pikir, sudut pandang, serta pengetahuan saya. Saya lebih suka belajar dari pengamatan dan pengalaman langsung dibanding membaca buku, hehe. Tidak salah jika saya dijuluki si kinestetik.

Pengalaman Pemrograman

Saya belum pernah mempelajari hal-hal yang berbau pemrograman di SMA. Mungkin ada beberapa mata kuliah yang berkaitan dan dapat diterapkan dalam pemrograman seperti kalkulus, aljabar linear, matematika teknik, dan beberapa mata kuliah cabang fisika. Alhamdulillah selama berada di bangku kuliah saya mulai mengembangkan soft skill pada penggunaan beberapa software seperti AutoCAD, Maxsurf, dan Adobe Photoshop. Saya cukup tertarik untuk mempelajari ilmu dan kemampuan pemrograman untuk mempermudah kehidupan saya bahkan orang lain kedepannya.

Pertemuan Pertama

Pertemuan pertama pada hari Jumat, 7 Februari 2020 diperkenalkan dosen pengampu mata kuliah metode numerik Teknik Perkapalan 2019/2020 yaitu Dr. Ir. Ahmad Indra Siswantara yang biasa dipanggil Pak Dai dan Prof. Dr. Ir. Harinaldi M.Eng. Kelas pertama diisi oleh Pak Dai diawali dengan perkenalan pemrograman dengan langsung praktek membuat halaman di wiki dan bagaimana mengupload file untuk kontennya. Selain menanamkan ilmu pemrograman, Pak Dai juga memberikan nasihat agar tidak selalu bergantung pada dunia karena pengatur di muka bumi ini adalah Pencipta kita

Tugas 1 -> Menentukan nilai f(x)= x^2-1/x-1 , dengan x=1

Pertemuan Kedua

Kenapa kita harus menggunakan numerik? Kenapa saat 1 dibagi 1 hasilnya 1, 2 dibagi 2 hasilnya 1, 3 dibagi 3 hasilnya 1, sedangkan 0 dibagi dengan 0 hasilnya tidak terdefinisi? Metode numerik dapat memecahkan persoalan-persoalan matematis yang rumit menjadi mudah untuk diselesaikan. Persoalan-persoalan fisika dalam berbagai bidang dapat di jadikan algoritma kalkulus.

Analisis Soal

Soal dalam buku panduan Numerical Methods in Engineering with Python yang cukup menarik buat saya adalah di soal no 20 BAB 2.

alt text

Referensi gambar : Kiusalaas, Jaan. (2013).Numerical Methods in Engineering with Python 3.Cambridge University

Di soal tersebut terdapat enam buah pegas yang disambungkan secara seri disisipi dengan lima buah balok secara selang-seling. Kedua ujung rangkaian itu juga memiliki ujung tetap yang tidak ikut berisolasi dengan pegasnya. Pada setiap pegas diketahui masing-masing konstantanya. Nah, yang menarik bagi saya disini adalah, soal tersebut biasa saya dapati dalam mata kuliah fisika mekanika dan biasa diselesaikan secara manual dengan menerapkan rumus-rumus tertentu. Pada soal ini dapat diselesaikan dengan rumus F = k . Δ x. Namun ternyata, aljabar linear dapat menjadi tools untuk menyelesaikan soal ini dengan cepat yang dikombinasikan dengan teknik pemrograman. Data-data yang kita dapat dari soal dapat dijadikan persamaan dari balok dan pegas yang bekerja pada sistem. Contoh persamaan pertama 3(x2-x1) - 2x1 = -80

   F12 = k2.x2 - k12.x1 - k1.x1         ; dengan asumsi arah gaya ke kanan
   -80 = 3x2 - 3x1 - 2x1

Persamaan-persamaaan ini kemudian dapat diselesaikan dengan membentuk matriksnya dan dilanjutkan dengan metoda numerik

Tugas 2 -> Pembahasan analisis soal

Solusi manual

Pada penyelesaian secara manual, saya menggunakan metode crammer untuk mencari nilai x nya. Langkah- langkah pengerjaannya adalah dengan membuat SPL terlebih dahulu, kemudian SPL-SPL tersebut dijadikan matrix sehingga mempermudah pengerjaan. Lalu dari matrix yang didapat kita dapat mengganti setiap kolom pada matrix A dengan kolom matrix B yang kemudian didapat setiap nilai x sesuai pada setiap kolom yang diganti, misal untuk mencari nilai x1, kolom 1 diganti dengan kolom matix B, dan seterusnya seperti pada gambar :

alt text
Solusi menggunakan aplikasi Spyder(Python 3.7)

Pada penyelesaian menggunakan aplikasi coding, saya menggunakan matrix yang telah disusun tadi dengan numpy yang merupakan komputasi produk array. Dengan matrix 5x5 yang diselesaikan cukup lama dengan manual, menggunakan aplikasi coding mempermudah penyelesaiannya dalam waktu singkat dengan resiko kesalahan hitung yang kecil. Berikut penyelesaiannya dengan aplikasi :

alt text

Tugas 2 -> Initial Value Problem

Solusi Manual

Pada solusi manual, saya menggunakan rumus pokok F = m.a yang merupakan hukum kedua newton dengan mempertimbangkan gaya yang bekerja pada penerjun adalah gaya beratnya yang membawanya turun kebawah dan gaya hambat udara yang merupakan pengaruh gerak angin terhadap parasut. Asumsi penyelesaian adalah positif untuk semua arah yang mengarah ke bawah(sesuai dengan gerak jatuh penerjun). Kemudian setelah didapat percepatan yang dialami oleh penerjun, saya menghitung ketinggian yang ditanya terhadap waktu yang telah ditentukan untuk mencapai tanah. Rumus ketinggian h = V0t + at²/2 merupakan bagian dari fungsi jarak terhadap waktu xt = x0 + V0t + at²/2 yang merupakan turunan dari fungsi kecepatan v = dx/dt. Maka saya menyimpulkan soal ini merupakan tipe soal initial value problem. Berikut penyelesaian secara manualnya :

alt text
Solusi Menggunakan Aplikasi

Pada solusi dengan aplikasi Spyder(Python3.7) saya menginput data-data yang diketahui di soal, kemudian membuat rumusnya, dan mendapatkan percepatan yang dicari. Setelah percepatan didapat, saya menghitung ketinggian yang dicari dengan menginput rumus juga h = V0t + at²/2 dengan kode h = v0*t + (a*t**2)/2 dan kemudian memasukkan kode print("maka ketinggian yang dialami penerjun bebas setinggi", h,"m"). Lalu didapat ketinggian penerjun hingga sampai ke tanah. Berikut penyelesaiannya :

alt text

Pada aplikasi ini saya sebatas mencari nilai-nilai yang diinginkan, belum secara spesifik mendapat nilai di titik-titik sesaat.

PPT Progres Belajar Metoda Numerik

alt text

Metoda numerik merupakan mata kuliah yang berhubungan erat dengan pemrograman. Metoda numerik memanipulasi data dan memanfaatkan bahasa program untuk menyelesaikan suatu permasalahan matematis.

alt text
alt text

Pertemuan Ketiga

Setiap manusia punya frekuensinya sendiri. Contohnya suara. Suara ditimbulkan oleh getaran pita suara. Pita suara membuat udara memiliki fluktuasi tekanan yang bergerak osilasi sehingga menghasilkan beberapa periode yang berulang. Ada sebuah pegas yang kita tarik sepanjang ∆x sehingga kembali naik ke atas karena mempunyai kelembaman dan kembali ke bawah karena mempunyai berat. Hal ini dapat disusun model matematika nya secara metode numerik. Kedepannya dapat mensimulasikan hidrodinamika kapal dan memodelkan dinamika geraknya. Dengan menggunakan simulasi software Computational Fluid Dynamics (CFD). Kita akan melihat terjadinya hambatan yang merupakan fungsi dari kecepatan dengan metode regresi dan bisa melakukan optimasi bentuk. Pada pertemuan kali ini juga dibahas sedikit tentang kesetimbangan energi. Dimana massa dalam suatu sistem adalah tetap artinya tidak bisa diciptakan dan dimusnahkan. Ini membutuhkan ilmu kalkulus. Dengan merujuk persamaan dM/dt = 0 yang merupakan prinsip konservasi massa.

Ada tiga prinsip dasar ilmu teknik :

1. Prinsip konservasi massa. v x A = Q= konstan , tetapi rumus ini terbatas. aliran inkompresibel adalah aliran yang massa jenisnya tidak berubah.

2. Prinsip konservasi momentum. Sering disebut kesetimbangan gaya. F=m.a -> F=M.(dv/dt)

3. Prinsip konservasi energi. dE/dt = W + Q atau laju perubahan energi. Dalam suatu sistem ada resultan gaya maka sistem itu memiliki percepatan

Asistensi dan Tugas

- Kode Pertama yang saya kerjakan
import numpy as np
import matplotlib.pyplot as plt
def integral (F, x, y, xStop, h) :
  def run_kut4(f,x,y,h):
      k0 = h*f(x,y)
      k1 = h*f(x+h/2, y+k0/2)
      k2 = h*f(x+h/2, y+k1/2)
      k3 = h*f(x+h, y+k2)
      return(k0+2*k1+2*k2+k3)/6
  X = []
  Y = []
  X.append(x)
  Y.append(y)
  while x<xStop:
        h = min(h,x-xStop)
        y = y+ run_kut4(f,x,y,h)
        x = x+hX
        X.append(x)
        Y.append(Y)
    return np.array(X), np.array(Y)
def f(x,y):
    f = np.zeros(2)
    f[0] = y[1]
    f[1] = -0.1*y[1]
    return f
h= 0.2
x= 0
y= [0,1]
xStop=1
X,Y = integral(f,x,y, xStop,h)
plt.plot(X,Y[;,1],' ',c=pink')
plt.show()
  • pada kode ini saya belum mendapatkan hasil karena aplikasi yang saya gunakan tidak memiliki modul runge kutta


- Kode Kedua
x0 = 0
y = 0
h = 0
x = float(input("masukkan nilai t: "))
if 0<= x < 2:
  def dydx(x,y):
    return (4*x- 30*y)
    def rungekutta(x0, y0, x, h):
      n= (int)((x-x0)/h)
      y= y0
      for i in range(1, n+1)
          k1 = h*dydx(x0,y)
          k2 = h*dydx(x0+0.5*h, y+0.5*k1)
          k3 = h*dydx(x0+0.5*h,y+0.5*k2)
          k4 = h*dydx(x0+h, y+k3)
          y = y+(1/6)*(k1+2k2+2k3+k4)
          x0 = xO+h
      return y
    print("Nilai y pada t=", x, "yaitu", rungekutta(x0,y,x,h))
elif x >=2:
  def dydx(x,y):
    return(8-30*y)
  def rungekutta(x0,y0,x,h):
    n = (int)((x-x0)/h)
    y = y0
    for i in range(1, n+1)
         k1 = h*dydx(x0,y)
         k2 = h*dydx(x0+0.5*h, y+0.5*k1)
         k3 = h*dydx(x0+0.5*h,y+0.5*k2)
         k4 = h*dydx(x0+h, y+k3)
         y = y+(1/6)*(k1+2k2+2k3+k4)
         x0 = xO+h
    return y
  print("y saat t=",x, "yaitu", rungekutta(x0,y,x,h))
hasil :
nilai y pada t= 2 yaitu 0.26666666666665745
nilai y pada t= 3 yaitu 0.26666666666665745
nilai y pada t= 4 yaitu 0.26666666666665745
nilai y pada t= 5 yaitu 0.06222223581783385
nilai y pada t= 6 yaitu 0.07554222229010824
nilai y pada t= 7 yaitu 0.0888755555892813

Hasil Asistensi

alt text
alt text
alt text
alt text
alt text
alt text

Pertemuan Keempat

Pada pertemuan keempat, diberikan materi tentang konsep kapal model untuk pengujian. Salah satu pengujian yang dilakukan adalah towing tank testing. Kapal model merupakan kapal contoh dengan perbandingan terntentu terhadap kapal sesungguhnya untuk mendapatkan estimasi nilai koefisien-koefisien hambatan kapal. Koefisien-koefisien hambatan ini diperlukan untuk menghitung estimasi hambatan yang diterima kapal dan kemudian dapat diperoleh kekuatan mesin yang diperlukan untuk menggerakkan kapal sehingga dapat berlayar. Pada pembelajaran kali ini saya mengerjakan estimasi hambatan dengan software CFD (Computational Fluid Dynamics) sebagai bagian dari perhitungan setelah dilakukan eksperimen dan penyelesaian secara teoritik untuk melihat interaksi gelombang laut terhadap kapal model. Berikut hasil pekerjaan saya :

Hasil Penggunaan CFD

alt text
alt text
Pada hasil yang saya kerjakan saat melakukan meshing, kapal hilang, tetapi saat melakukan pengecekan, tertera "Mesh OK" dan tetap bisa mendapatkan grafik

1. Buka aplikasi CFD dan membuat new case

2. Import Geometri dari file 3D kapal selam yang sebelumnya sudah kita simpan

3. Klik kanan pada nama File yang sudah muncul, kemudian pilih scale dan masukkan scale 1e-3 untuk mengubah satuan objek kita dari meter menjadi centimeter

4. Pindah ke bagian mesh. Bagian ini berfungsi untuk membuat grid-grid atau memecah benda yang kontinu menjadi sebuah grid kecil.

5. Pada Surface Refinement yaitu bagian untuk mengatur grid di daerah permukaan kapal. Tujuannya untuk melihat kondisi aliran daerah sekitar kapal secara detail. Ini minimum level dengan 3 dan maximum level dengan 4

6. Pada Base Mesh, disini kita membuat domain fluida atau tempat fluida mengalir. Ukuran pada min coordinate adalah -2, -5, -5 dan max coordinate adalah 13, 0, 5. Pada box mesh isi division dengan 75, 25, dan 50. Pada x- face ubah menjadi inlet, x+face menjadi outlet, dan Y-face menjadi symmetry, kemudain apply mesh

7. Di bagian Generate Mesh isi mesh location atau titik geometri sebagai referensi untuk melakukan meshing, pada 0, -3, -2

8. kemudian klik tanda warna kuning dan Generate mesh. Mesh yang kita buat akan berubah warna menjadi kuning dan biru.

9. Lalu ke Model dengan mengaktifkan Turblence terdahulu pada Simulation Model. Pilihan turbulence akan mundul dan ganti Turbulence Model Settings menjadi SST k-omega

10. Selanjutnya ke Fluid Properties dengan mengganti material name menjadi water, density 1000 dan dynamic viscosity menjadi 0.000899

11. Lalu Boundary Conditions dengan memilih Inlet1 pada Face name dan Velocity Inlet pada boundary conditions type. Kemudian memasukkan Reference Value 11 m/s

12. Kemudian pilih outlet1 pada Face name dan Outflow pada Boundary Conditions Type

13. Selanjutnya pilih Boundary1 pada Face Name dan Far-Field pada Boundary Conditions Type

14. Pindah ke Bagian CFD-Solve dengan menagtur Number of Iteration 2000 dan Time Step pada 1000 juga

15. Kemudian cek basic initial condition pada Default semua

16. Saat dipencet RUN-solve CFD akan mengkalkulasi Residu gelombang Turbulen kapal selam kita

17. Dari grafik dengan membuka kapal kita di Paraview akan didapat V(kecepatan) inlet dan grid

18. Data V inlet dan Grid dikumpulkan dan dihitung dengan metode Python

Hasil Asistensi dan Penggunaan Python

alt text
alt text
alt text
alt text
alt text
alt text
alt text