Anda di halaman 1dari 6

IF2132/Pemrograman Komputer Tugas Besar I

Sem. 1 2018/2019

Simulasi Persoalan Numerik


Versi 24 Oktober 2018

Deskripsi Persoalan
Sebuah aplikasi bernama SimNum digunakan untuk mensimulasikan dua buah persoalan numerik
sebagai berikut:

A. Modulus Young
Sifat elastisitas suatu bahan biasa dinyatakan dalam hubungan antara besaran-besaran tegangan dan
regangan. Sebuah bahan logam berada dalam kesetimbangan bila ditarik oleh gaya-gaya F1 dan F2 yang
sama besar (F1= F2) seperti diilustrasikan dalam gambar di bawah ini:

Jika batang dipotong sejajar salah satu sisinya, di mana pada bagian tersebut mula-mula dalam keadaan
setimbang. Ketika pada bagian tersebut bekerja gaya F yang tersebar merata di seluruh permukaan
penampang yang dinyatakan oleh anak-anak panah seperti gambah di bawah, maka benda akan
bertambah panjang sebesar ∆𝐿

Bila luas penampang adalah A, maka tegangan Tarik sebesar F/A. Dengan Panjang batang mula-mula
adalah 𝐿0 , akibat gaya Tarik F maka Panjang batang menjadi L, sehingga regangan Tarik adalah ∆𝐿/𝐿0

Perbandingan tegangan Tarik terhadap regangan Tarik disebut modulus Young (E)
𝑡𝑒𝑔𝑎𝑛𝑔𝑎𝑛 𝑡𝑎𝑟𝑖𝑘 𝐹/𝐴
𝐸= =
𝑟𝑒𝑔𝑎𝑛𝑔𝑎𝑛 𝑡𝑎𝑟𝑖𝑘 ∆𝐿/𝐿0

Untuk persoalan ini, Anda diminta untuk membuat sebuah simulasi sbb.:

Sim-A-1 Dibaca masukan 𝑛 buah nilai 𝐿, 𝐿0 , 𝐹 dan 𝐴, lalu dihasilkan perhitungan besarnya tegangan
dan regangan tarik untuk masing-masing nilai. Selanjutnya, harus dibuat grafik interpolasi
polinomal antara regangan (pada sumbu x) dan tegangan (pada sumbu y) dengan orde 𝑚
dengan 𝑚 < 𝑛). m merupakan masukan dari pengguna.

Selanjutnya pengguna memasukkan sebuah nilai regangan, misalnya 𝑥1 , dan program


memberikan nilai tegangan 𝑓(𝑥1 ) berdasarkan hasil interpolasi polinomial di atas.

24/10/2018 1/6
IF2132/Pemrograman Komputer Tugas Besar I
Sem. 1 2018/2019

Spesifikasi input:

• 𝑛
• 𝑛 buah nilai 𝐿, 𝐿0 , 𝐹, 𝐴
• 𝑚
• regangan, misalnya 𝑥1

Spesifikasi Output:

• Grafik interpolasi polinomial antara regangan (sumbu x) dan tegangan (sumbu y)


• Prediksi tegangan 𝑓(𝑥1 ) berdasarkan nilai regangan 𝑥1

Batas:

• Semua nilai input adalah positif > 0


• 0<𝑚<𝑛

B. Gas Deviation Factor


Gas deviation factor (Z) – atau sering disebut compression factor – adalah faktor pengoreksi yang
mendeskripsikan penyimpangan/deviasi antara perilaku gas nyata dengan perilaku gas ideal.
Didefinisikan sebagai rasio antara volume molar dari suatu gas dengan volume molar dari gas ideal pada
temperatur dan tekanan yang sama. Nilai Z merupakan berkorelasi dengan nilai tekanan (p) dan
temperatur: nilai Z secara umum meningkatkan tekanan dan menurunkan temperatur. Deskripsi
perhitungan gas deviation factor (Z) mengikuti rumus sebagai berikut:

pV = Z RT (Eq. 1)

dengan: p = preassure (tekanan); V = volume; R = konstanta gas; T = temperatur absolut; Z = gas


deviation factor, merupakan fungsi terhadap p dan T atau Z = f(p,T).

Dranchuk dan Abu-Kaseem (1975) menurunkan suatu model analitik untuk menghitung reduced gas
density yang dapat digunakan untuk mengestimasi gas deviation factor. Reduced gas density r
didefinisikan sebagai rasio antara gas density pada tekanan tertentu dengan temperatur dari gas tersebut
pada tekanan atau temperatur kritis. Untuk menghitung reduced gas density digunakan rumus sbb:
0.27𝑃𝑟
𝜌𝑟 = (Eq. 2)
𝑍𝑇𝑟

Dengan 𝑃𝑟 = reduced preassure; dan 𝑇𝑟 = reduced temperature.

Dranchuk dan Abu-Kaseem selanjutnya menurunkan eleven-constant equation-of-state untuk


perhitungan reduced gas density sbb:
𝑅2
𝑓(𝜌𝑟 ) = (𝑅1)𝜌𝑟 − + (𝑅3)𝜌𝑟2 − (𝑅4)𝜌𝑟5 + 𝑅5(1 + 𝐴11𝜌𝑟 ) exp[−𝐴11𝜌𝑟2 ] + 1 = 0 (Eq. 3)
𝜌𝑟

dengan koefisien R1 s.d. R5 didefinisikan dengan relasi-relasi berikut:


𝐴2 𝐴3 𝐴4 𝐴5
𝑅1 = [𝐴1 + + + + ] (Eq. 4)
𝑇𝑟 𝑇𝑟3 𝑇𝑟4 𝑇𝑟5

0.27𝑃𝑟
𝑅2 = [ ] (Eq. 5)
𝑇𝑟

𝐴7 𝐴8
𝑅3 = [𝐴6 + + ] (Eq. 6)
𝑇𝑟 𝑇𝑟2

24/10/2018 2/6
IF2132/Pemrograman Komputer Tugas Besar I
Sem. 1 2018/2019

𝐴7 𝐴8
𝑅4 = 𝐴9[ + ] (Eq. 7)
𝑇𝑟 𝑇𝑟2

𝐴10
𝑅5 = (Eq. 8)
𝑇𝑟3

dengan konstanta A1 s.d. A11 adalah sbb:

A1 = 0.3265; A2 = 1.0700; A3 = 0.5339; A4 = 0.01569; A5 = 0.05165; A6 = 0.5475; A7 = 0.7361; A8 =


0.1844; A9 = 0.1056; A10 = 0.6134; A11 = 0.7210

Selanjutnya diturunkan pendekatan numerik dengan metode Newton-Rhapson untuk menghitung gas
deviation factor Z dengan cara sbb:

Jika diketahui nilai 𝑃𝑟 dan 𝑇𝑟 :

1) Berikan tebakan nilai Z, misalnya Zk = 0.5


0.27𝑃𝑟
2) Hitunglah nilai 𝜌𝑟 untuk Zk menggunakan formula Eq. 2: 𝜌𝑟 =
𝑍 𝑘 𝑇𝑟
3) Hitung f(𝜌𝑟 ) dengan menggunakan formula Eq. 3.
𝑑𝑔(𝑍 𝑘 ) 𝑔(𝑍 𝑘 +∆𝑧)−𝑔(𝑍 𝑘 )
4) Jika f(𝜌𝑟 ) untuk Zk adalah g(Zk), hitunglah turunan dari g(Zk) sbb: = dengan
𝑑𝑍 ∆𝑧
nilai z misalnya z = 0.001
𝑔(𝑍 𝑘 )
5) Hitung nilai z yang baru, misalnya Zk+1, yaitu: 𝑍 𝑘+1 = 𝑍 𝑘 − 𝑑𝑔(𝑍𝑘 )
𝑑𝑍
6) Cek g(Zk+1). Jika g(Zk+1) < galat, maka ditetapkan nilai Z adalah Zk+1. Jika tidak, maka ulangi dari
langkah 5 untuk menghitung Zk+2 … dst. sampai didapatkan nilai. Misalnya galat = 10-12.
Dikarenakan ada kemungkinan iterasi menuju galat sangat lama, maka ditetapkan juga berapa
kali proses iterasi (loop) dilakukan, yaitu MaxIter, contohnya: MaxIter = 150.

Untuk persoalan ini, Anda diminta membuat 2 jenis simulasi:

Sim-B-1 Dibaca input nilai 𝑃𝑟 , 𝑇𝑟 , Zk, galat, dan MaxIter dari masukan pengguna, hitunglah nilai Z.

Spesifikasi Input: 𝑃𝑟 , 𝑇𝑟 , Zk, galat, MaxIter

Spesifikasi Output: Z

Batasan: semua input bernilai positif > 0.

Sim-B-2 Diberikan nilai-nilai 𝑃𝑟 dalam bentuk selang (𝑎, 𝑏] dan sebuah interval misalnya d. Diberikan
pula sejumlah nilai 𝑇𝑟 = [𝑇1 , 𝑇2 , … , 𝑇𝑛 ]. Input lainnya adalah Zk, galat, dan MaxIter. Hitunglah
gas deviation factor (Z) untuk setiap nilai 𝑃𝑟 terhadap setiap nilai 𝑇𝑟 berdasarkan nilai tebakan
awal Zk, galat, dan MaxIter. Yang harus dihasilkan adalah tabel perhitungan nilai Z dan grafik
line yang merupakan hasil plotting seluruh perhitungan tersebut.

Contoh:

Nilai 𝑃𝑟 dalam selang (0.0,8.0] dengan interval 𝑑 = 0.5; nilai 𝑇𝑟 = [1.25,1.5,1.75,2.0]; Zk = 0.5;
galat = 10-12; MaxIter = 150.

24/10/2018 3/6
IF2132/Pemrograman Komputer Tugas Besar I
Sem. 1 2018/2019

Tabel yang dihasilkan adalah sbb.:

Pr Tr = 1.25 Tr = 1.5 Tr = 1.75 Tr = 2.0


0,500 0,89980 0,94299 0,965083 0,977773
1,000 0,78777 0,88566 0,931981 0,957689
1,500 0,66344 0,82985 0,90165 0,940226
2,000 0,55049 0,77904 0,875255 0,925847
2,500 0,50371 0,73849 0,854035 0,914954
3,000 0,51254 0,71304 0,839042 0,907826
3,500 0,54406 0,70396 0,830844 0,904579
4,000 0,58429 0,70883 0,829385 0,905151
4,500 0,62823 0,72399 0,834081 0,909325
5,000 0,67385 0,74625 0,844059 0,916779
5,500 0,72027 0,77330 0,858388 0,927137
6,000 0,76700 0,80357 0,876213 0,940012
6,500 0,81381 0,83603 0,89681 0,955037
7,000 0,86056 0,86997 0,91959 0,971882
7,500 0,90716 0,90493 0,944085 0,990259
8,000 0,95357 0,94059 0,969928 1,009922

Grafik yang dihasilkan:

Gas Deviation Factor


1,1
Gas Deviation Factor, Z

1,0

0,9

0,8
Tr = 1.25
0,7
Tr = 1.5
0,6
Tr = 1.75
0,5
Tr = 2.0
0,4
0,0 2,0 4,0 6,0 8,0 10,0
Pr

Spesifikasi input:
Nilai 𝑃𝑟 dalam selang (𝑎, 𝑏] dengan interval 𝑑; nilai 𝑇𝑟 = [𝑇1 , 𝑇2 , … , 𝑇𝑛 ]; Zk; galat; MaxIter

Spesifikasi Output:
• Tabel hasil perhitungan gas deviation factor Z untuk semua kombinasi nilai Pr dan Tr
berdasarkan Zk;
• Grafik line yang merupakan hasil plotting seluruh perhitungan tersebut.

24/10/2018 4/6
IF2132/Pemrograman Komputer Tugas Besar I
Sem. 1 2018/2019

Batasan:
• Semua nilai input > 0
• a < b dan a + d < b
• 1≤n≤5
• 0 < MaxIter ≤ 200

Catatan:
Format tabel dan grafik tidak harus sama persis, yang penting memberikan informasi yang
sama.

Tugas
Tugas Anda adalah mengembangkan Aplikasi SimNum dengan menggunakan Bahasa Python untuk
menyelesaikan persoalan numerik di atas dengan ketentuan sebagai berikut:
1. Aplikasi harus diawali dengan melihat daftar menu untuk memilih jenis simulasi Sim-A-1, Sim-B-1,
dan Sim-B-2. Contoh tampilan menu (format tidak harus sama):

SIMNUM
Simulasi Numerik Modulus Young dan Gas Deviation Factor
=================================================
Menu:
1. Modulus Young
2. Gas Deviation Factor (1)
3. Gas Deviation Factor (2)
4. Keluar

Masukkan pilihan menu =

2. Untuk setiap simulasi, spesifikasi input dan output dan batasan sesuai deskripsi soal. Format
tampilan bebas.
3. Dekomposisi fungsi/prosedur diserahkan kepada kelompok.

Ketentuan Pengerjaan
1. Tugas dikerjakan berkelompok dengan @ kelompok 3 s.d. 4 orang.
2. Tugas dikerjakan di komputer pribadi masing-masing.
3. Deskripsi Tugas Besar (termasuk template laporan), pedoman tugas besar, dan form asistensi dapat
diambil di situs kuliah online https://tpb.kuliah.itb.ac.id/ dan di situs olympia https://olympia.id
selambat-lambatnya Rabu, 24 Oktober 2018.
4. Jadwal Kegiatan:

Kegiatan Tanggal/Jam
Pembagian Kelompok 21 Oktober 2018
Publikasi Soal Tugas Besar 24 Oktober 2018
Masa pengerjaan 24 Oktober s.d. 11 November 2018
Konsultasi wajib dengan asisten 5 November 2018 pada jam praktikum 07.00-09.00
Pengumpulan laporan dan program 9 Nov 2018 s.d. 11 Nov 2018 pukul 23.59
Demo dan penilaian program Tugas Besar 12 s.d. 14 November 2018 (dengan perjanjian dengan asisten)
(berdasarkan program yang dikumpulkan)

24/10/2018 5/6
IF2132/Pemrograman Komputer Tugas Besar I
Sem. 1 2018/2019

5. Dalam masa pengerjaan, semua pertanyaan mengenai spesifikasi program dan deliverables dapat
disampaikan melalui forum Tugas Besar yang akan dibuat di Olympia.
6. Setiap kelompok akan di-assign dengan asisten penilai demo. Waktu dan tempat pelaksanaan demo
ditentukan berdasarkan perjanjian dengan asisten penilai demo dalam rentang waktu yang ditentukan
pada jadwal kegiatan di atas.

Deliverables
1. Deliverables program adalah source code program dan laporan.
2. Source code program dikumpulkan file *.py. Penamaan source code program adalah:
TB1IF2132_XX_YY.py dengan: XX: 2 digit nomor kelas dan YY: 2 digit nomor kelompok.
3. Laporan dikumpulkan dalam format pdf dengan ketentuan:
• Penamaan file: LapTB1IF2132_XX_YY.pdf dengan XX dan YY sesuai ketentuan butir 1.
• Cover: berisi kode dan nama mata kuliah, daftar anggota kelompok (NIM dan Nama).
• Isi laporan:
o Deskripsi persoalan (boleh ditambahkan penjelasan tambahan yang diperlukan).
o Penjelasan tentang bagaimana menyelesaikan setiap persoalan, terkait dengan:
▪ Pembagian fungsi/prosedur
▪ Struktur data dan type data yang digunakan
▪ Algoritma untuk penyelesaian persoalan
o Pembagian kerja setiap anggota kelompok
• Setiap halaman harus mengandung nomor halaman.
4. Source code dan laporan dikumpulkan dalam link terpisah yang akan disediakan di situs olympia
https://olympia.id pada jadwal yang ditentukan di atas.

24/10/2018 6/6

Anda mungkin juga menyukai