Desain Injeksi Mold untuk Plastik

Pembuatan cetakan plastik selain harus mampu mengintegrasikan mulai dari konsep aliran fluida saat proses injeksi sampai dengan proses manufacture dilaksanakan, CAD berperan besar dalam menuangkan imaginasi menjadi visualisasi yang mudah dipahami dan dilakukan pengecekan sebelum proses CAM dan manufacture dijalankan. melalui satu-teknik.blogspot.com, saya menerima jasa desain, analisa aliran, hingga pembuatan injeksi mold dengan harga jauh lebih murah daripada pabrikan.

CFD Application : Air Flow and Temperature Distribution

Gambar ini memperlihatkan suhu sebuah ruangan data center, atau ruang server komputer pada sebuah perusahaan, perbedaan panas jelas terlihat, melalui CFD desain ruangan dapat menentukan letak exhaust, input fan yang tepat, sekaligus dapat memperkirakan besar aliran udara yang terjadi, sehingga ukuran fan pun bisa sesuai dengan kapasitas yang diperlukan.

CAE on Polymer Technology

Metode numerik khusus untuk aliran polymer telah dikembangkan, meliputi proses solidifikasi, proses perpindahan panas antar material, hingga perpindahan panas antara mesin injeksi dan lingkungan sekitar. metode tersebut sangat membantu desainer mold untuk merancang cetakan, memperkirakan arah aliran, menjaga balancing runner, balancing aliran, hingga meminimalisir defect yang akan terjadi.

Integrated CAD-CFD

Untuk mempermudah proses pre processor, saat ini sudah banyak software yang mengabungkan fitur CAD dan CFD menjadi satu bagian, misalnya Unigraphics dengan Fluent dan Nastran.

CFD Application : wind turbine blade

Aplikasi CFD paling bermanfaat terhadap aliran panas, perpindahan panas dan aliran fluida, seperti udara, turbing angin, desain sayap pesawat, kapal laut sangat banyak menggunakan CFD untuk mempercepat proses analisa.

Sunday, 25 March 2012

Alogaritma dan pemograman VBA : Menghitung Bilangan Fibonanci ke N

Beberapa contoh pemrograman telah saya tampilkan pada posting sebelumnya, minggu ini memang saya kejar untuk menyelesaikan berbagai contoh pemrograman serta alogaritmanya, minggu depan rencana saya baru mengejar ketinggalan posting CFD, mengotak-atik excel memang menyenangkan, apalagi kalau program berhasil jalan, tapi memusingkan juga bila program yang kita buat tidak berhasil jalan, perlu belajar proses debuging agar tahu dimana letak kesalahan yang kita lakukan.

bilangan Fibonanci, adalah bilangan yang mempunyai aturan sebagai berikut

Alogaritma
Alogaritma untuk mencari bilangan fibonanci ke n, dapat didekati sebagai berikut

1. baca n
2. for i =1 to n
3. if n = 0 then
4. fn = 1
5. if n = 1 then
6. fn = 1
7. else
8. fn = (n - 1) + (n + 2)
9. i = i + 1
10. tampilkan fn
11. next i
12. stop

alogaritma pada baris ke 3 sampai 8 dapat juga disingkat menjadi
if n > 2 then
fn = 1
else
....
atau dapat juga ditulis dengan
if n=1 or n=0 then
fn = 1
else

maksud dari ketiga program tersebut sama, yaitu selama nilai bilangan yang dimaksud adalah 1 dan 0 maka nilai fibonanci (fn) =1.

Program VBA
saya lebih cenderung memanfaatkan cell yang ada di excel, daripada membuat input text maupun textbox, selain mempermudah, juga latihan untuk menggabungkan antara VBA dengan excel
untuk membuat program tersebut ke dalam excel VBA, langkah-langkahnya adalah
1. buka excel baru
2. masuk ke dalam developer, lalu masukkan button / command button ke dalam excel
3. pastikan masih dalam design mode, lalu double klik command button tersebut
4. tuliskan programnya seperti berikut


Private Sub CommandButton1_Click()
Dim n, fn As Long
   n = Cells(3, 2) ' membaca input ke n
  For i = 1 To n  ' memilah data n
        If n = 0 Then
           fn = 1
        ElseIf n = 1 Then
           fn = 1
        Else
          fn = (n - 1) + (n + 2) ' menghitung nilai fibonacci
       End If
 i = i + 1
 Cells(4, 2) = fn    ' menuliskan hasil fibonacci
Next i
End Sub
Hasil
hasil program dapat dilihat pada gambar berikut, contohnya inputan yang diberikan adalah 4, maka hasilnya akan langsung muncul nilai 9.

file-file latihan yang sudah saya buat, juga dapat langsung didownload pada box dibawah ini, pastikan browser anda sudah terinstal flashpalyer terbaru untuk melihat box berikut, file dapat didownload lengkap berserta sourcodenya, pilih langsung filenya, secara otomatis akan terdownload.
Semoga bermanfaat



Referensi :
http://en.literateprograms.org/Fibonacci_numbers_(Visual_Basic_.NET)

Pemograman Newton Rapshon sebagai fungsi didalam VBA excell

salah satu kemudahan VBA adalah pemograman menggunakan function, dengan membuat fungsi sendiri, kita dapat dengan mudah memanggilnya kapan saja melalui excell, seperti halnya perintah sum(...) untuk menjumlah, langkah-langkahnya adalah sebagai berikut

1. buka MS Excell
2. Masuk ke Developer Tab (ms. 2007),
3. klik Visual basic icon, maka kita akan masuk ke penulisan program
4. insert module, caranya klik kanan, insert, module seperti gambar dibawah berikut


Alogaritma
alogaritma yang dipakai untuk newton raphson adalah

1. setting nilai loop awal (iloops)
2. baca x, err
3. baca fx
4. hitung f'0
5. Do
6 iloops = iloops + 1
7. hitung f0 = fx(0)
8. hitung f'0 = f'(x0)
9.setting xnew = x - f0 / f'0
10. x = x0
11. loop until fx < err
12. tulis x
13. stop


bila alogaritma diatas ditulis ingin ditulis dalam bentuk bahasa program, sehingga bisa dibaca melalui visual basic, langkah pertama adalah menuliskannya dalam module, ingat bukan pada form, jadi double klik module yang sudah di masukkan, bila tempat menuliskan code sudah muncul, tuliskan code seperti berikut


Function newton(x, err)
iloops = 0              ' loop pertama, = 0
Do
 iloops = iloops + 1            'menghitung proses iterasi
 newtfx = fx(x)                 'memberikan fungsi baru
 newtdfx = delfx(x)             'nilai turunan
 xnew = x - newtfx / newtdfx    'rumus newton
 x = xnew                       ' ganti nilai x
Loop Until ((Abs(newtfx) < err) Or (iloops > 30)) 'looping minimal 30, atau sampai lebih kecil dari nilai error
 newton = x                     'menuliskan nilai x pada fungsi newton
End Function

Function fx(x)
fx = x ^ 2 - 25 ' tuliskan persamaannya disini
End Function

Function delfx(x)
   delfx = (fx(x + 0.000001 * x) - fx(x)) / (0.000001 * x) ' mencari differensial
End Function
dalam program ini, fungsi f(x) harus dimasukkan secara manual, integrasi dengan tombol dan cell memang seharusnya dilakukan, namun pembacaan fungsinya akan error bila hal tersebut dilakukan, mungkin ada cara lain, silahkan dikomentari


Hasil
cara penulisannya adalah
1. masukkan nilai tebakan awal x0 pada sembarang cell
2. masukkan nilai error pada sembarang cell
3. pada cell yang dituju ketikkkan newton (x0,error)

sebagai contoh diatas, nilai fungsi yang saya masukkan adalah f(x) = x^2-25 = 0, seperti pada buku "computer oriented numerical method" hal 48, dan hasilnya tepat 5


hasil excel, dan contoh program lainya dapat didownload pada link dibawah berikut, semoga bermanfaat





Saturday, 24 March 2012

Struktur Looping pada Visual Basic for Application dengan excell

Looping sangat memberikan kemudahan dalam pemograman, terutama yang berkenaan dengan perhitungan dalam jumlah banyak, seperti perhitungan rumus-rumus numerik, boleh dikata sistem looping ini gampang-gampang susah, terutama kalau tidak mengetahui syntax dasar pemograman.
minggu-minggu ini memang sengaja saya kejar untuk menulis prmograman visual basic terlebih dahulu, baru minggu depan, dimulai lagi CFD nya.
dalam pemograman pada blog ini menggunakan beberapa referensi buku, diantaranya
1. Numerical Methods with VBA Programming, By James Hiestand
2. Excel for scientists and engineers: numerical methods, Volume 1 By E. Joseph Billo

sayangnya buku pertama masih susah di cari softcopinya, klo ada yang punya tolong bagi ya, sementara ini saya baca melalui google books, dan beberapa contohnya, for .. next banyak digunakan untuk proses looping dengan menambahkan nilai maupun mengurangi nilainya.

For Next
masukkan command button pada excell, seperti gambar di bawah berikut
jangan lupa masuk design mode, lalu double klik untuk memasukkan program
ketikkan program seperti berikut

Private Sub CommandButton1_Click()
For i = 1 To 15
Cells(i, 1) = 2 * i
Next i
End Sub
perintah tersebut artinya untuk i dari 1 sampai 15, menuliskan pada cell (i,1) = baris ke i di kolom satu, yaitu 2*1, untuk mengetahui hasilnya, keluar dari desain mode lalu klik tombol hitung, hasilnya adalah

Gampang bukan?

For Next dengan Step
dalam VBA selain perintah for next diatas, terdapat juga perintah untuk melakukan looping dengan step tertentu, dengan cara yang sama seperti diatas, ketikkan kode seperti berikut


Private Sub CommandButton1_Click()
 For i = 1 To 15 Step 2
    Cells(i, 4) = i
Next i
End Sub
artinya untuk langkah 1 sampai 15 menuliskan nilai i, namun dilewati 1 langkah, jadi hanya dituliskan step ke 2 dan kelipatannya., hasilnya ditulis dalam cell baris ke i dan kolom ke 4 (cells (i,4)), untuk melihat hasilnya keluar dari design mode dan klik hitung, hasilnya adalah


Do While ... Loop
prinsip looping menggunakan metode ini adalah selama syarat belum terpenuhi, maka perintah akan dijalankan, karena itu deklarasi i nya dilakukan di awal,


Private Sub CommandButton1_Click()
 i = 1
    Do While i <= 14
        Cells(i, 5) = i
        i = i + 1
    Loop
End Sub
pada contoh program diatas, dimulai dengan deklarasi awal nilai i yaitu sama dengan 1, selagi jumlah i kurang dari 14, maka pada cell baris ke i, kolom ke 5 akan dituliskan i,  lalu jumlah i ditambahkan 1 dan seterusnya hingga nilainya mencapai 14.



Do Until ... Loop
prinsip kerja dari program ini adalah mengerjakan sesuatu sampai kondisi batas terpenuhi, syntax yang dipakai adalah


 i = 1
    Do Until i = 17
        Cells(i, 6) = i
        i = i + 2
    Loop

hasilnya adalah

file latihan saya dapat didownload pada embed box berikut ini, silahkan diubah-ubah, file lain masih banyak namun, masih banyak juga yang belum jalan, semoga bermanfaat


Wednesday, 21 March 2012

Penggunaan option button dan alogaritma if then else pada visual basic

Option button atau bisa juga disebut dengan option button adalah salah satu fasilitas dalam pemrograman GUI (graphic user interface) menggunakan visual basic, kadang option button sering juga disebut dengan radio button, penggunaan OB ini sangat erat dengan alogaritma if then else, karena bila memakai OB, dan dalam GUI kita terdapat lebih dari satu OB, hanya satu aja yang boleh bernilai true bila digunakan secara bersamaan. Nilai input untuk program adalah true atau false.

Alogaritma if then else
dalam visual basic, ada yang dapat dipakai yaitu if then else, dan if then elseif else, konsep sytaxnya adalah
if syarat 1 then
    kondisi 1
else
   kondisi 2
end if

untuk if then elseif

if syarat1 then
   kondisi 1
elseif syarat2
  kondisi 2
elseif syarat n
  kondisi n
else
   kondisi n+1
end if

Contoh Aplikasi
contoh pemograman menggunakan if then else,  adalah untuk menentukan proses perhitungan suku bunga bank, karena terdapat berbagai jenis skema, maka dapat kita jadikan pilihan perhitungan (sesuai dengan kuliah optimasi sistem energi BAB 3)
Pilihan perhitunga yang digunakan ada tiga jenis bunga yang dipakai yaitu
1. simple atau bunga tetap
2. bunga berbunga tahunan
3. bunga berbunga tidak tahunan / sistem compuding, misalnya per bulan, per 1/4 tahun dst


masukkan frame ke dalam form, frame berfungsi untuk mengorganisir kumpulan perintah, sehingga user dapat dengan mudah memahami inputtan suatu program, frame yang saya masukkan properties caption saya ganti dengan "metode perhitungan", kedalamnya saya masukkan option button 2 buah,  lalu masing-masing captionnya diganti dengan "simple", "bunga berbunga tahunan", " bunga berbunga lebih dari tahunan", bila ukuran option button tidak mencukupi, drag pinggirnya untuk mengubah ukuran yang sesuai, sehingga tulisanya bisa masuk semua.

Input perhitungan
karena nilai yang dimasukkan sama, kecuali compouding untuk bunga berbunga lebih dari tahunan, maka compuding diset mati (disabled) ketika metode simple dan bunga berbung tahunan dipilih, untuk inputan digunakan text box berjumlah 4 buah.
Desain Output
output menggunakan dua buah textbox satu untuk menghitung jumlah total yang harus dikembalikan, dan jumlah cicilan

Alogaritma
dengan tiga pilihan yang ada, alogaritma yang sesuai dengan penggunaan if then else adalah
1. baca p,i2,n,m
2. hitung i=i2/100 'konvert ke persen
3. if simple dipilih then
4.     s = P + (P * i * n)
5.     r = s / (n * 12)
6.   tulis hasil, s dan r  
7. ElseIf  bunga berbunga dipilih then
8.     s = P * ((1 + i) ^ n)
9.     r = s / (n * 12)
10.  tulis hasil, s dan r
11 ElseIf bunga compouding dipilih then Then
12.    s = P * ((1 + i / m) ^ (n * m))
13.    r = s / (n * m)
14.    tulis hasil, s dan r
15. Else
16.  MsgBox "pilih metode perhitungan"
17.  End If

memasukkan program
untuk menuliskan program sesuai dengan alogaritma diatas, double klik command button HITUNG lalu masukkan program seperti dibawah berikut

Dim P, i, s, r, n As Double ' deklarasi variable

Private Sub CommandButton1_Click()

P = TextBox1.Text
i2 = TextBox2.Text
n = TextBox3.Text
m = TextBox6.Text

i2 = 1 / 100 ' mengubah persen

    If optsimple.Value = True Then ' pilihan bunga simple
    s = P + (P * i * n)
    r = s / (n * 12)
    TextBox4.Text = Val(s)
    TextBox5.Text = Val(r)
    
    ElseIf optb.Value = True Then  ' pilihan bunga berbunga
    s = P * ((1 + i) ^ n)
    r = s / (n * 12)
    TextBox4.Text = s
    TextBox5.Text = r
    
    ElseIf optbb.Value = True Then  'pilihan compouding
    s = P * ((1 + i / m) ^ (n * m))
    r = s / (n * m)
    TextBox4.Text = s
    TextBox5.Text = r
    Else
    MsgBox "pilih metode perhitungan"
    End If

End Sub


untuk mematikan textbox m (compouding) bila tidak dipilih
Private Sub optb_Click()
TextBox6.Enabled = False  ' mematikan text box compouding
End Sub

Private Sub optbb_Click()
TextBox6.Enabled = True   ' menghidupkan text box compuding
End Sub

Private Sub optsimple_Click()
TextBox6.Enabled = False  ' mematikan text box compuding
End Sub

untuk memudahkan menghapus nilai yang ada di textbox setelah nilai dimasukkan atau dihitung semua textbox diberi nilai kosong, 

Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
End Sub

untuk meload form dari excell ketika button2 diklik
Sub Button2_Click()
UserForm1.Show
End Sub

Hasil Running Program

lalu muncul form sebagai berikut


hasil excell dapat didownload pada embed object berikut, namun tampilan pada embed object terkadang hanya putih, silahkan download lalu check di visual basicnya






Tuesday, 20 March 2012

Pemrograman Regresi linier menggunakan VBA

bila dalam posting sebelumnya, saya banyak mencoba menggunakan visual basic, dengan bentukan form dan lainya, kali ini saya mencoba menggabungkan fasilitas yang ada di excell, seperti cell, worksheet dsb, untuk mempermudah proses perhitungan, saya mencoba melalukan pemograman dengan memanfaatkan inputan dari worksheet excell, desain inputannya adalah sebagai berikut

rencanya, ketika di klik button Hitung Regresi, maka proses perhitungan langsung berjalan, dan kolom yang kosong otomatis di isi, karena jumlah cell pada excell sangtlah banyak, hal ini sangat memudahkan proses pemasukan data bila jumlah x dan y nya banyak, untuk contoh dalam kasus ini digunakan 7 data, dengan input data dimulai dari cell (baris,kolom) yaitu baris ke 2 sampai 8, kolom ke 2 untuk X, dan Y berada di sebelahnya.

Mulai Membuat Program

1.masuk design mode pada excell
untuk memulai membuat program, masuk ke design mode pada excel terlebih dahulu, caranya klik icon design mode, seperti pada gambar di bawah berikut
ketika sudah masuk design mode, masukkan tombol atau button box di sembarang tempat, selama kita masuk kedalam design mode, letak tombol box maupun propertiesnya masih mudah untuk di pindah dan diubah-ubah.
2. masukkan tombol / command button
cara memasukkan button ke worskheet excell adalah dengan klik tombol insert lalu pilih command button.
3. ubah propertiesnya,
 klik tombol properties di samping design mode, khusus untuk mengubah caption pada command button, klik tulisan command button langsung lalu ganti tulisanya dengan Hitung / sesuai keinginan.
4. masukkan program, 
double klik command button (hitung regresi), maka tampilan code design akan muncul, kita dapat memasukkan code sesuai perintah yang ingin dijalankan, alogaritma saya sesuaikan dengan buku karangan profesor dari India, detailnya akan saya posting dilain waktu, mari belajar dulu codingnya

deklarasi varibel
saya gunakan variabel a,b,c,d,e,f,a0,b0, denom, sebagai double

    Dim a As Double
    Dim b, c, d, e, f, a0, b0, denom As Double

menjumlahkan data
untuk menjumlahkan data dari cell (2,2) hingga cell(9,2)untuk x dan cell (2,3) hingga (9,3) untuk Y

For i = 1 To 7
        a = a + Cells(1 + i, 2)              ' jumlah total x
        b = b + Cells(1 + i, 3)              ' jumlah total y

menghitung  x2 dan menghitung jumlahnya
For i = 1 To 7 


       c = Cells(1 + i, 2) ^ 2               ' menghitung x2
        Cells(1 + i, 4) = c                    ' menuliskan hasilnya pada cell2 hingga 9 berada di kolom 4
        d = d + Cells(1 + i, 4)             ' menjumlahkan pada cell 2,4 hingga 2,9

menghitung x*y
For i = 1 To 7
       e = Cells(1 + i, 2) * Cells(1 + i, 3)             ' x kali y
        Cells(1 + i, 5) = e                                     ' menuliskan nilai x*y
        f = f + Cells(1 + i, 5)                                 ' menjumlahkan hasil perkalian dari cell(2,5) hingga 9,5

menuliskan hasil penjumlahan pada cell
agar tidak terjadi pengulangan, proses penjumlahan dilakukan setelah syntax next, hasil penjumlahan diletakkan pada cell baris ke 9, dan kolom berbeda sesuai dengan yang dijumlahkan.

Next
        Cells(9, 2) = a
        Cells(9, 3) = b
        Cells(9, 4) = d
        Cells(9, 5) = f

menghitung nilai a0 dan b0,
selanjutnya untuk mulai menghitung nilai a0 dan b0, dapat dilakukan sesuai dengan persamaan regresi liner, tulis setelah sintax next

     
       denom = 7 * d - a * a
        a0 = b * d - a * f / denom
       b0 = ((7 * f) - (a * b)) / denom 


Menulis hasil ke cell
langkah terakhir adalah menuliskan hasilnya ke dalam cell, untuk menambahkan huruf digunakan syntak "xx" & "yy" hasilnya akan ditulis xxyy, jadi untuk menulis nilai regresi linier y=bX+a adalah


 Cells(3, 10) = "y=" & b0 & "x" & a0 ' menuliskan hasil y=bx+a pada cell 3,10



bila ditulis ulang secara total, syntax programmnya sebagai berikut


Private Sub CommandButton1_Click()
    Dim a As Double
    Dim b, c, d, e, f, a0, b0, denom As Double
    For i = 1 To 7
        a = a + Cells(1 + i, 2) ' jumlah total x
        b = b + Cells(1 + i, 3) ' jumlah total y
        c = Cells(1 + i, 2) ^ 2 ' menulis pangkat
        Cells(1 + i, 4) = c
        d = d + Cells(1 + i, 4) ' jumlah x2
        e = Cells(1 + i, 2) * Cells(1 + i, 3) ' x kali y
        Cells(1 + i, 5) = e    ' menuliskan nilai x*y
        f = f + Cells(1 + i, 5) ' jumlah xy
    Next
        Cells(9, 2) = a
        Cells(9, 3) = b
        Cells(9, 4) = d
        Cells(9, 5) = f
        denom = 7 * d - a * a
         a0 = ((b * d) - (a * f)) / denom
        b0 = ((7 * f) - (a * b)) / denom
        Cells(3, 10) = "y=" & b0 & "x" & a0 ' menuliskan hasil y=bx+a pada cell 3,10




    End Sub

hasilnya, ketika tombol Hitung Regresi mulai diklik, perhitungan langsung terjadi, seperti berikut

filenya akan saya share setelah semua selesai, oh ya... jangan lupa tombol design mode nya di klik bila mau nyoba running program VBA. sedangkan nilai regresi akan ditampilkan di cell baris 3 kolom 10, seperti gambar berikut

Download File
silahkan download filenya pada embed object berikut, klik icon dibagian bawah, kalau di bagian preview tombolnya ga klihatan, biasanya hanya berupa warna hitam, silahkan download, hapus nilai x2 dan xy serta jumlah lalu klik Hitung Regresi, maka nilai regresi akan langsung muncul.



Monday, 19 March 2012

Metode finite volume untuk memecahkan masalah konveksi - difusi

Pada kasus kehidupan sebenarnya masalah yang proses perpindahan panas yang terjadi sangat beragam, bahkan antara satu dengan yang lainya sangat berhubungan, misalnya ketika memasak menggunakan panci, sudah ada interaksi dan perpindahan panas terjadi antara panci dengan udara, panci dengan air, maupun air dengan udara, disitulah proses konveksi-difusi berperan untuk mengetahui proses konveksi yang terjadi.
pada pelajaran sebelumnya kita hanya mempelajari proses perpindahan panas secara konduksi, sehingga persamaan proses konveksi harus juga ditambahkan, tentunya hal tersebut bukan hal yang mudah untuk menambahkan dalam proses diskritisasi.
difusi yang dimaksud dalam proses ini adalah dikarenakan perbedaan konsentrasi kimia, heat flux yang terjadi, serta tegangan viskos yang terjadi.


persamaan diskritisasi untuk masalah konveksi dapat dibagi menjadi
1. Central differencing scheme
2. Upwind differencing scheme
3. Hybrid differencing scheme
4. power law scheme
5. Higher order differencing scheme

continued.......

Sunday, 18 March 2012

Contoh Program menghitung factorial angka menggunakan visual basic

Pada posting sebelumnya, saya mencoba menerjemahkan alogaritma dari buku kedalam bahasa visual basic, namun ternyata dengan logaritma if then else, lumanyan susah untuk menyusun bilangan factorial, alogaritma yang lebih mudah dapat diterjemahkan menggunakan while di visual basic.

Alogaritma

Baca n (input bilangan factorial)
selagi n > 0
Hitung F = F * n
n = n-1
tulis hasil F
selesai

Menerjemahkan Ke Visual Basic
Visual Basic (VB) memeliki GUI yang menarik, dan memudahkan user untuk berinteraksi, untuk menerjemahkan alogaritma tersebut ke dalam visual basic, hal yang perlu dilakukan adalah
1. Mendesain Input dan output
karena hanya terdapat satu input dan satu ouput, saya hanya menggunakan 2 buah textbox di visual basic, 2 buah label untuk memberi keterangan dan satu buah command button untuk mengeksekusi perintah.
2. Memasukkan code
dalam visual basic untuk memasukkan code dapat dilakukan dengan mengklik dua kali (hal ini dapat dilakukan dalam desain mode) lalu masukkan code sesuai dengan alogaritma yang sudah ditulis diatas.


properties dari command button 1 saya caption nya menjadi hitung, sedangkan properti lainya tidak saya rubah, di menu properti ini sebetulnya kita juga dapat merubah warna, nama ukuran, dan lain sebagaianya.


Private Sub CommandButton1_Click() ' perintah akan dilakukan ketika commandbutton 1 di klik
Dim n As Integer ' deklarasi variable dan jenis yang dipakai
Dim F As Long: F = 1 ' deklarasi variabel
n = txtinput.Text ' membaca input angka yang akan difactorialkan
While (n > 0) ' selagi n lebih besar dari nol
F = F * n 'Mengalikan
n = n - 1 'mengurangi
Wend
txthasil.Text = F 'menulis hasil akhir pada txt hasil
end
hasilnya ketika di running adalah sebagai berikut


gambar berikut ketika dimasukkan input yang akan dihitung adalah 10 !

yang perlu diperhatikan dalam visual basic ketika menggunakan while adalah untuk akhirnya menggunakan perintah wend  bukan end.

Friday, 16 March 2012

Simulasi Ruang berpenghalang

Pada Kuliah hari rabu, tanggal 29 pebruari kami belajar untuk membuat heat transfer pada raungan, dan plot temperature, namun karena jumlah koneksi komputer yang bisa digunakan terbatas, saya mengerjakan PR sebelumnya yaitu simulasi ruang berpenghalang, atau terdapat sekat didalamnya
ukuranya adalah panjang 10 m dan lebar 4 meter, sedangkan jumlah cell tiap pangjang adalah sama yaitu 10 untuk arah i dan 10 untuk araj J
ukuran cell
langkahnya adalah
1. input
2. atur domain, pilih dimensi 2D
3. cell dan set up untuk wall,input dan outlet
4. memasukkan konstnta viskal
5. bangun grid, check visualisasi grid via menu, dan tayang
6. setelah di iterasi, dan dilihat hasilnya, velocity magnitude seperti di bawah ini
velocity mag
hasil plot sangat menarik, bisa disimpulkan perubahan kecepatan terbesar terjadi di area input, hal ini karena dalam pengesetan kecepatan input di coba diperbesar

algoritma dan Rumus untuk menyelesaikan volume seperempat lingkaran

luasan tembereng seperti pada gambar dibawah berikut
tembereng
dapat dihitung dengan persamaan
rumus 1
dengan ruas kanan adalah kita misalkan bahwa panjang tabung menjadi satu satuan sehingga kita hanya perlu menghitung luasannya saja, ruas kanan luasnya adalah 1/4 dari total luas lingkaran, setelah persamaan tersebut disederhanakan, hasilnya menjadi
persamaan 2
dengan mengkalikan 2 setiap ruasnya hasil terakhir adalah
rumus 3
dari persamaan diatas kita harus menyelesaikan nilai tetha terlebih dahulu, sebelum menentukan nilai dari H, dengan iterasi kita dapat menghitung nilai tetha yang mendekati, untuk menebak hasilnya, karena phi/2 adalah 90, maka nilai dari tetha adalah lebih besar dari 90, coba ditebak dengan 120
2 pi/3 - sin(2 pi/3) = 2.09 - 0.87
= 1.22
masih kurang besar target adalah 3.14/2, ditebak dengan 150, hasilnya adalah
5 pi/6 - sin(5 pi/6) = 2.62 - 0.5
= 2.12
hasilnya lebih besar dari 3.14/2, setelah dilakukan iterasi dengan metode newton, menggunakan excel, hasil yang mendekati adalah 132.3
bila nilai tetha sudah diketahui, maka nilai h dapat dihitung dengan persamaan
persamaan h
dengan memasukkan nilai tetha 132.3, maka nilai H akan tergantung dari radius yang dimasukkan.
algoritmanya adalah
dim f', L1,L2, r,delta, teta as double
' mencari tetha, dengan menebak terlbih dahulu
delta = 90
let i = 0
while f' > 3.14/2 do
i = i+0.1
f' = (fungsi teta)
teta = teta-1. f' / f"
else
write teta
end


sesuai dengan posting sebelumnya, setelah mendapatkan rumusan yang paling sederhana dan singkat, program visual basic dapat dibuat
langkah pertama adalah menentukan persamaan yang akan dibuat, input dan output, setelah persamaan sudah ditemukan, terutama nilai teta, maka nilai h dapat dicari dengan persamaan
ini
nilai dari Cos teta/2 dapat dihitung dengan memasukkan nilai teta 132.3 (hasil pendekatan iterasi), sehingga nilainya adalah 0.404
jadi rumus yang dipakai adalah
h= r - (r . 0.404)
form yang didesain adalah
form
selanjutnya memasukkan program sederhana dengan rumus diatas, tombol hitung klik dua kali
Private Sub cmdhitung_Click()
Dim h, r As Double

r = txtbox1.Text
'menghitung nilai h
'0.404 didapat dari cos 132.3/2

h = r - (r * 0.404)

hasil.Caption = h


End Sub

Private Sub CommandButton1_Click()

' untuk membersihkan hasil perhitungan
txtbox1.Text = ""
hasil.caption =""

End Sub

Private Sub CommandButton2_Click()
Unload UserForm1
program
setelah di run, contoh perhitungannya adalah
hasil
USULAN
program selanjutnya, mencoba menggabungkan proses iterasi untuk mendapatkan nilai teta dengan proses perhitungan diatas

Hasil Simulai raung 10 x 10 kecepatan inlet 0.1m/s

dalam pelajaran kelas kali ini adalah membuat simulai mengenai aliran udara pada raungan berukuran 10 m x 10 m, dengan inlet kecepatan udara 0.1m/s, dikarenakan koneksi yang lambat, tidak semua user bisa memakai remote dekstop dari server, sehingga harus gantian.
langkah-langkah simulai seperti yang dijelaskan sebelumnya yaitu :
- atur domain (AD)
- mengatur dimensi secara fisika (2D / 3D) , pilih 2D
- setting ukuran domain (UD)
- mengatur jumlah cell/grid yang digunakan (JC), ketik 10
- daftar cell (DC) untuk melihat hasil sempadan
- atur cell (AC)
- mengatur model (AM) untuk proses analisa yang digunakan, misalnya radiasi, konveksi dsb.
- konstanta fisika (KF) perintah untuk memasukkan konstanta sifat fisik fluida, seperti viskositas, tekanan operasi dsb)
- daftar konstanta fiskal (DKF)
- mengatur kembali kondisi sempadan (ks), ku = 0.1 m/s
- melakukan perhitungan secara iterasi (iter), ketik 1000, untuk melakukan sampai 1000 kali
- LG (lihat grafik)
Velocity Magnitude
velocity mag
maksud dari velocity magnitute adalah gradient kecepatan yang terjadi pada ruangan, dari gambar dapat dilihat bahwa besarnya kecepatan yang paling besar terjadi sepanjang aliran di dinding antara inlet dengan outlet, sedangkan ditengah ruangan kecepatannya menurun.
Vector arah X
vector arah X

vector kecepatan arah U atau arah x menunjukkan bahwa sepanjang arah x lurus dengan inlet mempunyai kecepatan yang tinggi.