Anda di halaman 1dari 7

Soal UAS Nomor 4 #include<stdio.h> #include<conio.h> #include<math.

h>

main() { char namafile[100]; FILE *pf; int c,i,k,r; float dx,dt,po,p[100][100],j,h; printf("Masukan Nama File : "); scanf("%s",&namafile); printf("masukkan nilai delta x = ");scanf("%f",&dx); printf("masukkan nilai delta t = ");scanf("%f",&dt); printf("masukkan nilai c = ");scanf("%d",&c); r = (c*c*dt*dt)/(dx*dx); po=0.9; pf=fopen(namafile,"w+"); fprintf(pf,"Tekanan\t\tdelta x\n"); for(k=0;k<=10;k++) { h=0; printf("\nt pada saat %.1f \n",j); j+=0.1; p[k][0]=po; p[k][10]=po; for(i=1;i<10;i++)

if(k==0) {

p[k][i+1]= po*cos((2*3.14*(i+1)/10)); p[k][i-1]= po*cos((2*3.14*(i-1)/10)); p[k][i]= po*cos((2*3.14*(i)/10)); p[k+1][i]= (r*p[k][i+1]+r*p[k][i-1]+(2-(2*r))*p[k][i])/2; printf("P[%d][%d] = %f \n",k,i,p[k+1][i]);

fprintf(pf,"%f\t%f\n", p[k+1][i],h+=0.1); } else { p[k+1][i]= (r*p[k][i+1]+r*p[k][i-1]+(2-(2*r))*p[k][i])-p[k-1][i]; printf("P[%d][%d] = %f \n",k,i,p[k+1][i]); fprintf(pf,"%f\t%f\n", p[k+1][i],h+=0.1); }

} }

getch(); } Tampilan :

Tampilan data di notepad

Grafik yang diperoleh

Grafik Tekanan terhadap Jarak dalam waktu t


3 2.5 2 1.5 Tekanan 1 0.5 0 0 -0.5 -1 0.2 0.4 0.6 0.8 1 t=0 t = 0,1 t = 0,2 t = 0,3 t = 0,4 t = 0,5 t = 0,6 t = 0,7 t = 0,8 t = 0,9 t=1 jarak

Analisa : Permisalan t = k sedangkan selang delta x = i. Pada program tekanan ini terdapat 2 kondisi yaitu kondisi awal dimana nilai t = 0 sehingga p[k-1][i] = p[k+1][i] maka diperoleh persamaan untuk kondisi awal yaitu p[k+1][i]= (r*p[k][i+1]+r*p[k][i-1]+(2(2*r))*p[k][i])/2. Sedangkan untuk kondisi t tidak sama dengan 0 memiliki persamaan p[k+1][i]= (r*p[k][i+1]+r*p[k][i-1]+(2-(2*r))*p[k][i])-p[k-1][i]. Dalam program akan terjadi pengulangan waktu dari 0 1 dengan selang waktu 0,1 sehingga terjadi pengulangan sebanyak 11 kali sedangkan jarak mengalami perulangan dari 0,1 0,9 dengan selang 0,1. Jarak tidak dimulai dari nol dikarenakan apabila dimulai dari 0 membutuhkan ghost point pada titik jarak sebelum 0. Dari perhitungan diperoleh data dan data data ini diplotkan kedalam grafik sehingga diperoleh grafik seperi diatas dimana iterasi yang terjadi tidak mencapai titik setimbang. Hal ini dikarenakan selang waktu dan selang jarak terlalu besar sehingga grafik yang diperoleh tidak akan pernah mencapai titik setimbangnya.

Soal UAS nomor 3 #include<stdio.h> #include<math.h> #include<conio.h>

main() { char namafile[100]; FILE *pf; int i,j,N; float dx,u[50][50],r,h; printf("Masukan Nama File : "); scanf("%s",&namafile); printf("Input delta x (dx) = ");scanf("%f", &dx); pf=fopen(namafile,"w+"); fprintf(pf,"energi U\t nilai i\n"); for(j=1;j<=3;j++) { h=1; printf("\npada saat j = %d \n",j); fprintf(pf,"\n"); for(i=1;i<=3;i++) {

if (i==1) { u[i][j]=(u[i+1][j]+u[i-1][j]+u[i][j+1]+u[i][j-1](5*dx*dx)+50)/4; printf("U[%d][%d]= %f\n",i,j,u[i][j]);

fprintf(pf,"%f\t%f\n", u[i][j],h++); } else if (i==3) { u[i][j]=(u[i+1][j]+u[i-1][j]+u[i][j+1]+u[i][j-1](5*dx*dx)+100)/4; printf("U[%d][%d]= %f\n",i,j,u[i][j]); fprintf(pf,"%f\t%f\n", u[i][j],h++); } else { u[i][j]=(u[i+1][j]+u[i-1][j]+u[i][j+1]+u[i][j-1](5*dx*dx))/4; printf("U[%d][%d]= %f\n",i,j,u[i][j]); fprintf(pf,"%f\t%f\n", u[i][j],h++); } } } getch(); } Tampilan Analisa : Program untuk nomor 3 menggunakan metoda iterasi jacobi dimana kita harus memperoleh persamaan linearnya terlebih dahulu kemudian persamaan linier ini digunakan untuk mencari nilai u[i][j] selanjutnya. Program ini untuk melihat pendistribusian panas pada interior dimana terdapat 3 kondisi yang berpengaruh yaitu i =1 dimana kondisi ini berhubungan dengan batas sehingga akan berkaitan dengan batasnya, i = 3 pun berhubungan dengan batasnya sehingga harus berkaitan dengan batasnya. Untuk i diantara keduanya tidak berhubungan dengan batas sehingga dapat langsung dilakukan perhitungannya. Program ini diperuntukkan untuk melihat distribusi energi(u) pada interiornya dengan berhubungan dengan batasnya.

Anda mungkin juga menyukai