1. TUGAS REKAYASA KOMPUTASIONAL
Kelompok 7 :
1. Rizki Nurul Huda 56410144
2. Rizkha Pramesti 56410112
3. Roni Dafiansyah 56410242
4. Rossi Aryani P 56410256
5. S. Chandra 56410314
Universitas Gunadarma
2012
2. Integrasi dalam Kehidupan Sehari-hari
Definisi Integral adalah kebalikan dari diferensial. Apabila kita mendiferensiasi kita mulai
dengan suatu pernyataan dan melanjutkannya untuk mencari turunannya. Apabila kita
mengintergrasikan,kita mulai dengan turunannya dan kemudian mencari peryataan asal
integral ini. Lambang integral adalah
Integral dalam kehidupan sehari-hari sangatlah luas cangkupannya seperti digunakan di
bidang teknologi,fisika,ekonomi,matematika,teknik dan bidang-bidang lain.
Integral dalam bidang teknologi diantaranya digunakan untuk memecahkan persoalan yang
berhubungan dengan volume,panjang kurva,memperkirakan populasi,keluaran
kardiak,usaha,gaya dan surplus konsumen.
Sedangkan dalam bidang ekonomi penerapan integral diantarana ada 4 yaitu untuk
menentukan persamaan-persamaan dalam perilaku ekonomi, mencari fungsi konsumsi dari
fungsi konsumsi marginal,mencari fungsi asal dari fungsi marginalnya dan mencari fungsi
penerimaan total dari fungsi marginalnya.
Dalam bidang matematika dan fisika penerapan integral juga digunakan,seperti dalam
matematika digunakan untuk menentukan luas suatu bidang,menentukan volum benda putar
dan menentukan panjang busur. Sedangkan dalam fisika integral digunakan untuk analisis
rangkaian listrik arus AC, analisis medan magnet pada kumparan, dan analisis gaya-gaya
pada struktur pelengkung.
Penerapan integral dalam bidang teknik digunakan untuk mengetahui volume benda putar
dan digunakan untuk mengetahui luas daerah pada kurva.
Contoh integral dalam kehidupan sehari-hari,kita tahu kecepatan sebuah motor pada waktu
tertentu, tapi kita ingin tau posisi benda itu pada setiap waktu. Untuk menemukan hubungan
ini kita memerlukan proses integral (antidiferensial) dan Lihat gedung Petronas di Kuala
Lumpur atau gedung-gedung bertingkat di Jakarta. Semakin tinggi bangunan semakin kuat
angin yang menghantamnya. Karenanya bagian atas bangunan harus dirancang berbeda
dengan bagian bawah. Untuk menentukan rancangan yang tepat, dipakailah integral.
Contoh soal yang menggunakan Integral dalam bidang ekonomi :
1. Diketahui MR suatu perusahaan adalah 15Q2
+ 10Q – 5. Tentukan penerimaan
totalnya (TR), jika c = 0 ?
TR = ∫ MR dQ
= ∫ 15Q2
+ 10Q – 5 dQ
= 5Q3
+ 5Q2
– 5Q + c
3. jika c = 0
TR = 5Q3
+ 5Q2
– 5Q
2. Diketahui produk marginalnya 2Q2
+ 4, maka produk totalnya jika c = 0 ?
P = ∫ MP dQ
= ∫ 2Q2
+ 4
= 2/3 Q3
+ 4Q + c
jika c = 0
P = 2/3 Q3
+ 4Q
Analisa : Dari perhitungan tersebut dapat diketahui bahwa fungsi total produksi adalah P =
2/3 Q3
+ 4Q.
Contoh Program OpenCL
Kita akan menghitung jumlah terbesar dari daftar berikut dengan bilangan positif:
1 2 3 1 7 10 11 30 28 65 33 1 2 3 10
Cara yang paling mudah untuk melakukan ini adalah:
Float max = -1;
for (int i = 0; i <x.Length, i + +)
{
if (max <x [i]) max = x [i];
}
Membuat proyek Visual Studio baru untuk ini. Load acara formulir harus menginisialisasi
OpenCL dan mengkompilasi kode:
... OpenCLTemplate CLCalc Program Kernel kernelCalcMax;
private void Form1_Load (pengirim objek, EventArgs e)
{
String calcMaxSrc = @ "
__kernel batal
4. calcMax (__ mengambang global yang * x,
__global float * max)
{
/ / Index elemen Vector
int i = get_global_id (0);
if (max [0] <x [i]) max [0] = x [i];
} ";
InitCL CLCalc ().;
if (GLAcceleration CLCalc. == CLCalc. GLAccelerationType. UsingGL) {
Kompilasi (Program CLCalc.. Baru string [1] {} calcMaxSrc);
kernelCalcMax = new . Program CLCalc Kernel ("calcMax").;
}
}
Sebagai program tersebut dimuat, kami menyatakan sumber OpenCL, menginisialisasi
OpenCL dan mengkompilasi program.
Ini adalah screenshoot program nya :
Seperti yang Anda lihat, jenis daftar nomor di textbox txtList pengguna. Perhitungan
maksimum dari Read textbox, menghitung maksimum benar dan menjalankan kode OpenCL:
private void btnMaxWithOpenCL_Click (pengirim objek, EventArgs e)
{
String [] s = txtList.Text.Split ();
float [] x = float baru [s.Length];
String DataRead = "";
for (int i = 0; i <x.Length, i + +)
{
float.TryParse (s [i], keluar x [i]);
x [i] = Math.abs (x [i]);
if (DataRead = "!") DataRead + = "";
DataRead + = x [i] ToString ();.
}
txtList.Text = DataRead;
/ / Got daftar x untuk menemukan maksimum
float [] = max baru float [] {-1};
for (int i = 0; i <x.Length, i + +)
{
5. if (max [0] <x [i]) max [0] = x [i];
}
/ / Tulis jawaban
lblMax.Text = max [0] ToString ();.
/ / Perhitungan OpenCL
max [0] = -1;
CLCalc.Program.Variable varx = new CLCalc.Program.Variable (x);
CLCalc.Program.Variable varMax = baru CLCalc.Program.Variable (max);
int [] = new int pekerja [] {} x.Length;
CLCalc.Program.Variable [] args = new CLCalc.Program.Variable [] {varx, varMax};
kernelCalcMax.Execute (args, pekerja);
/ / Baca OpenCL max
varMax.ReadFromDeviceTo (max);
lblCLMax.Text = max [0] ToString ();.
}
}
Saat program dieksekusi, tidak ada urutan ditentukan dimana algoritma akan mengeksekusi.
Jadi ini mungkin terjadi (catatan: x [0] = 1, x [1] = 2):
1 - Pekerja 0 membaca max [0] dan x [0]. Sejak max [0] adalah -1, jika melewati uji;
2 - Pekerja 1 berbunyi max [0] dan x [1]. max [0] masih -1 jadi tes melewati;
3 - Pekerja 1 menulis max [0] = 2;
4 - 0 Pekerja (yang sampai ke titik penulisan kemudian) menulis max [0] = 1.