Anda di halaman 1dari 26

BAB VI

STANDAR KOMPETENSI
Setelah menyelesaikan mata kuliah Komputer mahasiswa mampu mengembangkan paket program aplikasi mandiri untuk menyelesaikan masalah keteknikan khususnya Teknik Mesin dengan bahasa FORTRAN

KOMPETENSI DASAR
Mahasiswa dapat menerapkan seluruh materi yang di-ajarkan dan mampu mengembangkan sebuah program aplikasi Teknik Mesin secara logis, error prone, efektif dan efisien.

INDIKATOR
1. Mahasiswa memiliki state of the art pengembangan pemrograman berbasis Teknik Mesin dan mampu menerapkannya dalam mengembangkan sebuah program aplikasi terintegrasi. 2. Mahasiswa mampu mengembangkan program aplikasi matrik lanjut dengan logika pemrograman yang benar. 3. Mahasiswa mampu mengembangkan program aplikasi pengolahan data berbasis statistika dengan logika pemrograman yang benar. 4. Mahasiswa mampu mengembangkan program aplikasi untuk menyelesaikan masalah-masalah mekanika kekuatan material, khususnya untuk statis tertentu dengan logika pemrograman yang benar. 5. Mahasiswa mampu mengembangkan program aplikasi untuk memudahkan dalam proses perencanaan mesin dengan logika pemrograman yang benar.

6. Mahasiswa mampu mengembangkan program aplikasi untuk menyelesaikan permasalah dalam bidang Penomena Transport dengan logika pemrograman yang benar. 6.1 PENDEKATAN PEMROGRAMAN

6.2 OPERASI MATRIK Matrik merupakan kumpulan bilangan yang disusun dalam baris dan kolom. Jadi matrik merupakan kumpulan bilangan yang disusun dalam dua dimensi, baris dan kolom. Dalam bahasa FORTRAN, matrik dapat diwakili oleh suatu larik berdimensi dua (two dimension array). Matrik banyak dipergunakan pada aplikasiaplikasi yang lainnya. A. PERKALIAN MATRIK Perkalian atara dua buah matrik dapat dilakukan bilamana banyak kolom matrik yang pertama adalah sama dengan banyaknya baris matrik yang kedua. Matrik A dengan orde 2x3 dan matrik B orde 3x2: b12 a11 a12 a13 b11 B = b A= b22 21 a 21 a 22 a 23 b31 b32 Maka matrik C hasil perkalian dari matrik A dengan B adalah berorder 2x2 sebagai berikut : c = a11 + b11 + a12 + b21 + a13 + b31 c12 = a11 + b12 + a12 + b22 + a13 + b32 C = 11 c 21 = a 21 + b11 + a 22 + b21 + a 23 + b31 c 22 = a 21 + b12 + a 22 + b22 + a 23 + b32 c12 c C = 11 c 21 c 22 Untuk matrik ANxM dan matrik BNxL, maka tiap-tiap elemen dari matrik CNxL dapat dirumuskan sebagai berikut : Cij = Ai1 xB1 j + Ai 2 xB2 j + ... + AiM xBMj atau : Cij = Aik xBkj
k =1 M

dimana : i adalah elemen baris dari matrik C dari 1 sampai N j adalah elemen kolom dari matrik C dari 1 sampai L Program untuk menghitung perkalian antara dua matrik adalah sebagai berikut : Algoritma :

Tentukan jumlah baris matrik A N Tentukan jumlah kolom matrik A M Kolom matrik A = baris matrik B Tentukan jumlah kolom matrik B L Masukkan data matrik A a. Jika Jumlah baris matrik > N lanjut ke 6 b. Jika jumlah kolom > M kembali ke a Masukkan data matrik Anm 6. Masukkan data matrik B c. Jika Jumlah baris matrik > M lanjut ke 7 d. Jika jumlah kolom > N kembali ke Masukkan data matrik Bmn 7. Matrik C = matrik A x matrik B e. Jika jumlah baris A > N lanjut ke 8 f. Jika Jumlah kolom B> L lanjut kembali ke e C(N,L) 0 g. Jika Jumlah kolom > M lanjut kembali ke f C(N,L) C(N,L)+A(N,M)*B(M,L) 8. Cetak hasilnya Program untuk menghitung perkalian antara dua buah matrik adalah sebagai berikut :
C PROGRAM UNTUK MENGHITUNG PERKALIAN DUA BUAH MATRIK C234567890 REAL A(20,20), B(20,20), C(20,20) C WRITE(*,(1X,A,\))JUMLAH BARIS MATRIK A? READ(*,(BN, I2)) N WRITE(*,(1X,A,\))JUMLAH KOLOM MATRIK A? READ(*,(BN, I2)) M WRITE(*,(1X,A,\))JUMLAH KOLOM MATRIK B? READ(*,(BN, I2)) L C MEMASUKKAN DATA MATRIK A DO 101 I=1,N DO 100 J=1,M WRITE(*,(1X,A(,I2,,,I2,)?,\))I,J READ(*,(F7.2)) A(I,J) 100 CONTINUE 101 CONTINUE C MEMASUKKAN DATA MATRIK B DO 201 I=1,M DO 200 J=1,L WRITE(*,(1X,B(,I2,,,I2,)?,\))I,J READ(*,(F7.2)) B(I,J) 200 CONTINUE 201 CONTINUE C MATRIK C ADALAH MATRIK A DIKALIKAN MATRIK B DO 301 I=1,N DO 302 J=1,L

1. 2. 3. 4. 5.

C(I,J)= 0 DO 303 K=1,M C(I,J)= C(I,J)+A(I,K)*B(K,J) 303 CONTINUE 302 CONTINUE 301 CONTINUE C MENCETAK MATRIK A WRITE(*,(/,1X,A))DATA MATRIK A : DO 400 I=1,N 400 WRITE(*,(1X,100(F9.2))(A(I,J),J=1,M) C MENCETAK MATRIK B WRITE(*,(/,1X,A))DATA MATRIK B : DO 500 I=1,N 500 WRITE(*,(1X,100(F9.2))(B(I,J),J=1,M) C MENCETAK MATRIK C WRITE(*,(/,1X,A))MATRIK C ADALAH MATRIK A X MATRIK B : DO 600 I=1,N WRITE(*,(1X,100(F9.2))(C(I,J),J=1,L) 600 CONTINUE END

B. INVERSE MATRIK Invers dari suatu matrik dapat dilakukan bilamana matriknya berua matrik bujur sangkar, yaitu jumlah baris dari matrik harus sama dengan jumlah kolom. Sifat khusus dari suatu invers matrik adalah bila invers dari suatu matrik dikalikan kembali dengan matrik aslinya, akan didapat matrik identitas, yaitu matrik yang semua elemennya nol, kecuali elemen-elemen diagonal bernilai 1. Misal, matrik X adalah matrik asli sebagai berikut : x11 x12 x13 X = x 21 x 22 x 23 x31 x32 x33 Bila invers dari matrik dilambangkan dengan X-1, maka : X X-1 = 1 Matrik identitas yang terjadi adalah : 1 0 0 X = 0 1 0 0 0 1 Jadi matrik identitas dapat digunaka untuk mengecek apakah perhitungan invers matrik sudah benar atau tidak. Program berikut digunakan untuk menghitung invers matrik dan matrik identitasnya, sebagai berikut :
C C PROGRAM UNTUK MENGHITUNG INVERS MATRIK C C234567890

REAL X(50,50), Y(50,50), C(50,50) CHARACTER*30 NAMAMAT WRITE(*,(1X,A,\))ORDE DARI MATRIK READ(*,(BN, I2)) N C C MEMASUKKAN DATA MATRIK WRITE(*,*) DO 201 I=1,N DO 200 J=1,N WRITE(*,(1X,A(,I2,,,I2,)?,\))I,J READ(*,(F7.2)) X(I,J) Y(I,J)= X(I,J) 200 CONTINUE 201 CONTINUE NAMAMAT = MATRIK X ADALAH : CALL CETAK(N,N,X,NAMAMAT) CALL INV(N,Y) CALL KALI(N,N,N,X,Y,C) NAMAMAT =INVERS DARI MATRIK X ADALAH : CALL CETAK(N,N,C, NAMAMAT) END C C SUBROUTINE INVERS MATRIK X SUBROUTINE INV(N,Y) DIMENSION Y(50,50) DO 301 I=1,N D=Y(I,I) Y(I,I)=0 DO 302 J=1,N Y(I,J)= Y(I,J)/D 302 CONTINUE DO 303 L=1,N IF(L .EQ. I) GOTO 650 A=Y(L,I) Y(L,I)=0 DO 304 J=1,N Y(L,J)=Y(L,J)-A*Y(I,J) 304 CONTINUE 303 CONTINUE 301 CONTINUE RETURN END C C SUBROUTIN PERKALIAN MATRIK SUBROUTINE KALI(N,M,L,A,B,C) DIMENSION A(50,50), B(50,50), C(50,50) DO 401 I=1,N DO 402 J=1,L C(I,J)= 0 DO 403 K=1,M C(I,J)= C(I,J)+A(I,K)*B(K,J) 403 CONTINUE 402 CONTINUE

C C SUBROUTINE MENCETAK DATA MATRIK SUBROUTINE CETAK(N,M,X,NAMAMAT) DIMENSION X(50,50) CHARACTER*30 NAMAMAT WRITE(*,*) WRITE(*,(1X,A,A))NAMAMAT WRITE(*,*) DO 500 I=1,N 500 WRITE(*,(1X,100(F9.2))(X(I,J),J=1,M) RETURN END

301 CONTINUE RETURN END

6.3

APLIKASI STATISTIK A. PENGUJIAN DUA RATA-RATA Pengujian terhadap dua nilai rata-rata akan menggunakan dua ekor (two-tailed test). Pengujian yang dilakukan akan membandingkan antara Z hitung (Zh) dengan Z tabel (Zt) untuk tingkat keyakinan yan gtertentu. Besarnya Zt dilihat dari tabel students t-distribution sebagai berikut :

Zt2

Gambar 6.1. Students t-distribution Nilai dari Z hitung (Zh) dapat dicari dari persamaan berikut : X1 X 2 Zh = S12 S 2 2 + N1 N 2 dengan : X1 = rata-rata nilai yang pertama X2 = rata-rata nilai yang kedua S1 = standar deviasi nilai yang pertama S2 = standar deviasi nilai yang kedua N1 = jumlah data nilai pertama

N2 = jumlah data nilai kedua Tidak ada perbedaan antara dua rata-rata bila : Zt1<Zh<Zt2 Program untuk menyelesaikan permasalahan ini adalah sebagai berikut :
C PROGRAM UNTUK MENCARI PERBEDAAN DUA RATA-RATA C234567890 DIMENSION X1(1000), X2(1000) C MEMASUKKAN DATA KELAS PERTAMA C----------------------------------C WRITE(*,*)KELAS PERTAMA : WRITE(*,*)--------------- WRITE(*,(1X,A,\))JUMLAH MURID? READ(*,(BN, I3)) N1 DO 10 I=1,N1 WRITE(*,(1X,A,I3,A,\))NILAI MURID KE ,I,? READ(*,(F6.2)) X1(I) 10 CONTINUE C C MEMASUKKAN DATA KELAS KEDUA C-----------------------------WRITE(*,*) WRITE(*,*)KELAS KEDUA : WRITE(*,*)--------------- WRITE(*,(1X,A,\))JUMLAH MURID? READ(*,(BN, I3)) N2 DO 20 I=1,N2 WRITE(*,(1X,A,I3,A,\))NILAI MURID KE ,I,? READ(*,(F6.2)) X2(I) 20 CONTINUE C C MEMASUKKAN DATA Zt C----------------------WRITE(*,(1X,A,\))Zt ? READ(*,(BN, F5.2)) ZT C C MENGHITUNG RATA-RATA DAN STANDARD DEVIASI KELAS PERTAMA CALL SDEV(N1,X1,S1,R1) C C MENGHITUNG RATA-RATA DAN STANDARD DEVIASI KELAS KEDUA CALL SDEV(N2,X2,S2,R2) C C MENGHITUNG Zh ZH=(R1-R2)/SQRT(S1**2/N1+S2**2/N2) C C TAMPILKAN NILAI Zh WRITE(*,*) WRITE(*,(1X,A,F8.4))NILAI Zh= ,ZH C C SELEKSI PERBEDAAN IF(ZH .GT. ZT .AND. ZH .LT. ZT) THE

ELSE

WRITE(*,*)TIDAK ADA PERBEDAAN YANG BERARTI

WRITE(*,*)ADA PERBEDAAN YANG BERARTI DARI 2 KELAS -TERSEBUT!!!!! ENDIF END C SUBROUTINE MENGHITUNG STANDAR DEVIASI C SUBROUTINE SDEV(N,X,SD,RATA) TOTAL =0.0 DO 101 I=1,N DO 100 J=1,M TOTAL=TOTAL+X(I) 101 CONTINUE RATA=TOTAL/N SI=0 DO 201 I=1,N DO 200 J=1,L SI=SI+(X(I)-RATA)**2 201 CONTINUE SD=SQRT(S1/N) END

Penjelasan Program : 1. Data nilai ujian kelas pertama dimasukkan yang dilakukan oleh statemen di nomor baris 11 sampai dengan 19, yaitu :
WRITE(*,*)KELAS PERTAMA : WRITE(*,*)--------------- WRITE(*,(1X,A,\))JUMLAH MURID? READ(*,(BN, I3)) N1 DO 10 I=1,N1 WRITE(*,(1X,A,I3,A,\))NILAI MURID KE ,I,? READ(*,(F6.2)) X1(I) 10 CONTINUE

dan data nilai ujian kelas kedua oleh statemen-statemen di nomor baris 23 sampai dengan 31, yaitu :
WRITE(*,*) WRITE(*,*)KELAS KEDUA : WRITE(*,*)--------------- WRITE(*,(1X,A,\))JUMLAH MURID? READ(*,(BN, I3)) N2 DO 20 I=1,N2 WRITE(*,(1X,A,I3,A,\))NILAI MURID KE ,I,? READ(*,(F6.2)) X2(I) 20 CONTINUE

2. Nilai dari Zt dimasukkan pada statemen


WRITE(*,(1X,A,\))Zt ?

READ(*,(BN, F5.2)) ZT

3. Nilai rata-rata dan standar deviasi untuk kelas pertama dan kelas kedua dihitung dengan statemen-statemen yang memanggil SUBROUTINE SDEV sebagai berikut :
C MENGHITUNG RATA-RATA DAN STANDARD DEVIASI KELAS PERTAMA CALL SDEV(N1,X1,S1,R1) C C MENGHITUNG RATA-RATA DAN STANDARD DEVIASI KELAS KEDUA CALL SDEV(N2,X2,S2,R2)

4. Nilai Zh dihitung dengan statemen :


ZH=(R1-R2)/SQRT(S1**2/N1+S2**2/N2)

Dan ditampilkan hasilnya dengan statemen berikut :


WRITE(*,*) WRITE(*,(1X,A,F8.4))NILAI Zh= ,ZH

5. Penyeleksian perbedaan yang terjadi dari kedua kelas tersebut dilakukan dengan statemen :
IF(ZH .GT. ZT .AND. ZH .LT. ZT) THE WRITE(*,*)TIDAK ADA PERBEDAAN YANG BERARTI ELSE WRITE(*,*)ADA PERBEDAAN YANG BERARTI DARI 2 KELAS -TERSEBUT!!!!! ENDIF

B. PERSAMAAN REGRESI Regresi merupakan teknik statistik untuk menganalisa hubungan atau relasi antara 2 atau lebih variabel, khususnya variabel yang mempunyai hubungan sebab akibat. Bila jumlah variabel yang berhubungan lebih dari dua buah, maka dinamakan regresi berganda. Persamaan umum regresi berganda adalah sebagai berikut : Y=b0+ b1X1+ b2X2+ + bnXn Dengan : Y = variabel tergantung/dependent X1,, Xn = variabel tak tergantung/independent b1,, bn = konstanta persamaan regresi Pada program berikut, akan dibahas persamaan regresi untuk 3 variabel, dengan rumus untuk mencari konstanta regresinya adalah : 2 ( y1 .x1i )( x 2i ) ( y1 .x 2i )( x1i .x 2i ) b1 = 2 2 x1i . x 2i ( x1i .x 2i ) 2 b2 = ( y1 .x 2i )( x1i ) ( y1 .x1i )( x1i .x 2i )
2

x1i . x 2i ( x1i .x 2i ) 2
2 2

bo = Y b1 . X 1 b2 X 2 dengan : y1 = Yi Y x1i = X 1i X 1 x 2i = X 2 i X 2

Y = rata rata dari Yi


X 1 = rata rata dari X 1i X 2 = rata rata dari X 2i Dari rumus-rumus tersebut, dibuat program untuk mencari persamaan dari regresinya, sebagai berikut :
C PROGRAM UNTUK MENCARI PERSAMAAN REGRESI C234567890 DIMENSION Y1(100), X1(1000), X2(1000) CHARACTER*2 T1,T2 C WRITE(*,(1X,A,\))JUMLAH OBSERVASI ? : READ(*,(BN, I5)) N C MEMASUKKAN DATA OBSERVASI WRITE(*,*) DO 90 I=1,N WRITE(*,(1X,A,I5,A,\))Y ,I,? READ(*,(F9.2)) Y(I) TY=TY+Y(I) WRITE(*,(1X,A,I5,A,\))X1 ,I,? READ(*,(F9.2)) X1(I) TX1=TX1+X1(I) WRITE(*,(1X,A,I5,A,\))X2 ,I,? READ(*,(F9.2)) X2(I) TX2=TX2+X2(I) WRITE(*,*) 90 CONTINUE C MENGHITUNG RATA-RATA DATA OBSERVASI RY=TY/N RX1=TX1/N RX2=TX2/N C MENGHITUNG SIGMA-SIGMA UNTUK MENCARI KOEFISIEN PERSAMAAN DO 100 I=1,N SX1 = SX1 +(X1(I)-RX1)**2 SX2 = SX2 +(X2(I)-RX2)**2 SYX1 = SYX1 +(Y(I) RY)*(X1(I)-RX1) SYX2 = SYX2 +(Y(I) RY)*(X2(I)-RX2) SX1X2 = SX1X2 +(X1(I) RX1)*(X2(I)-RX2) 100 CONTINUE C MENGHITUNG KOEFISIEN PERSAMAAN REGRESI B1 =(SYX1*SX2-SYX2*SX1X2)/(SX1*SX2-SX1X2**2) B2 =(SYX2*SX1-SYX1*SX1X2)/(SX1*SX2-SX1X2**2) B0=RY-B1*RX1-B2*RX2

10

C MENCETAK HASIL WRITE(*,*) WRITE(*,*)PERSAMAAN REGRESINYA : IF (B1 .LT. 0.0) THEN T1 = - ELSE T1 = + ENDIF IF (B2 .LT. 0.0) THEN T2 =- ELSE T2 =+ ENDIF WRITE(*,(1X,A,F9.2,A,F9.2,A,A,F9.2,A))Y=,B0, T1,ABS(B1), X1,T2,ABS(B2), X2 END

Penjelasan program: 1. Jumlah dari data observasi ditanyakan dengan statemen-statemen :


WRITE(*,(1X,A,\))JUMLAH OBSERVASI ? : READ(*,(BN, I5)) N

2. Data sebanyak observasinya dimasukkan untuk variabel tergantung dan tak tergantung dan sekaligus dihitung totalnya. Hal ini dilakukan dengan statemen pada bagian program berikut :
DO 90 I=1,N WRITE(*,(1X,A,I5,A,\))Y ,I,? READ(*,(F9.2)) Y(I) TY=TY+Y(I) WRITE(*,(1X,A,I5,A,\))X1 ,I,? READ(*,(F9.2)) X1(I) TX1=TX1+X1(I) WRITE(*,(1X,A,I5,A,\))X2 ,I,? READ(*,(F9.2)) X2(I) TX2=TX2+X2(I) WRITE(*,*) 90 CONTINUE

3. Nilai rata-rata dari variabel tergantung dan tak tergantung dihitung dengan statemen-statemen seperti ditunjukkan dalam bagian program berikut :
RY=TY/N RX1=TX1/N RX2=TX2/N

4. Perhitungan sigma-sigma untuk mencari koefisien persamaan regresi dilakukan pada statemen pada listing program berikut :
DO 100 I=1,N SX1 = SX1 SX2 = SX2 SYX1 = SYX1 +(X1(I)-RX1)**2 +(X2(I)-RX2)**2 +(Y(I) RY)*(X1(I)-RX1)

11

SYX2 = SX1X2 = 100 CONTINUE

SYX2 +(Y(I) RY)*(X2(I)-RX2) SX1X2 +(X1(I) RX1)*(X2(I)-RX2)

dimana : SX 1 adalah ( X 1i X 1 ) 2 SX 2 adalah ( X 2i X 2 ) 2 SYX 1 adalah (Yi Y )( X 1i X 1 ) SYX 2 adalah (Yi Y )( X 2i X 2 )


i =1 i =1 n i =1 n i =1 n n

SX 1X 2 adalah ( X 1i X 1 )(X 2i X 2 )
i =1

5. Koefisian dari persamaan regresi dihitung pada statemen berikut :


B1 =(SYX1*SX2-SYX2*SX1X2)/(SX1*SX2-SX1X2**2) B2 =(SYX2*SX1-SYX1*SX1X2)/(SX1*SX2-SX1X2**2) B0=RY-B1*RX1-B2*RX2

6. Persamaan regresi dari observasi tersebut dicetak dengan statemen berikut:


WRITE(*,*) WRITE(*,*)PERSAMAAN REGRESINYA : IF (B1 .LT. 0.0) THEN T1 = - ELSE T1 = + ENDIF IF (B2 .LT. 0.0) THEN T2 =- ELSE T2 =+ ENDIF WRITE(*,(1X,A,F9.2,A,F9.2,A,A,F9.2,A))Y=,B0, T1,ABS(B1), X1,T2,ABS(B2), X2 END

Bila program itu dijalankan, dengan data observasi seperti tertera dalam tabel 6.1 dan akan dicari persamaan regresinya untuk penjualan sebagai variabel tergantung, sebagai berikut : Tabel 6.1 Data Observasi
PENJUALAN HARGA BARANG PENDAPATAN

100

50

100

12

75 80 70 50 65 90 100 110 60 55 50
JUMLAH OBESRVASI ? Y X1 X2 Y X1 X2 Y X1 X2 Y X1 X2 Y X1 X2 Y X1 X2 1 ? 100. 1 ? 50. 1 ? 100. 2 ? 75. 2 ? 70. 2 ? 60. 3 ? 80. 3 ? 60. 3 ? 120. 4 ? 70. 4 ? 60. 4 ? 50. 5 ? 50. 5 ? 80. 5 ? 30. 6 ? 65. 6 ? 70. 6 ? 40. 12

70 60 60 80 70 50 40 30 90 90 100

60 120 50 30 40 130 110 130 30 25 25

Y X1 X2 Y X1 X2 Y X1

7 ? 90. 7 ? 50. 7 ? 130. 8 ? 100. 8 ? 40. 8 ? 110. 9 ? 110. 9 ? 30.

13

X2 Y X1 X2 Y X1 X2 Y X1 X2

9 ? 130. 10 ? 60. 10 ? 90. 10 ? 30. 11 ? 55. 11 ? 90. 11 ? 25. 12 ? 50. 12 ? 100. 12 ? 25. .16 X2

PERSAMAAN REGRESINYA : Y = 104.59.62 X1+

C. TEST CHI KUADRAT Test chi kuadrat (Chi-square) merupakan test yang paling banyak digunakan untuk menentukan ketak independensi antara 2 buah faktor saling mempengaruhi atau tidak. Untuk maksud test tersebut, dua buah faktor yang menyusun terjadinya suatu data dibuat dalam tabel yang disebut dengan tabel kontinegnsi, sebagai berikut: Faktor 1 1 2 K Jml 1 n11 n12 n1k N1J 2 n21 n22 n2k n2J Faktor II nbk nBJ Jml nJ1 nJ2 nJK n Dari data tersebut dihitung nilai dari masing-masing frekuensi harapan data, yaitu : n1 j x nJ 1 n11 = n n1 j x nJ 1 n12 = n . . . nBj x nJK nKB = n Untuk mengetahui apakah data kedua faktor saling mempengaruhi atau tidak, maka dapat dihitung terlebih dhulu nilai dari chi kuadrat, sebesar : K K (nij nji ) 2 x 2 = Nij i =1 j =1 14 B

Program untuk menghitung nilai dari chi kuadrat adalah sebagai berikut :
C PROGRAM UNTUK MENCARI PERBEDAAN DUA RATA-RATA C234567890 REAL CHI,N2(50,50), TOT2(50) INTEGER*4 KOLOM, BARIS, N1(50,50), TOT1(50) C WRITE(*,(1X,A,\))JUMLAH FAKTOR I ? READ(*,(BN, I2) KOLOM WRITE(*,(1X,A,\))JUMLAH FAKTOR II ? READ(*,(BN, I2) BARIS C MEMASUKKAN DATA OBSERVASI WRITE(*,*) DO 110 I=1,BARIS DO 100 J=1,KOLOM WRITE(*,(1X,A,I2,A,I2,A,\))n(,I,,J,)? READ(*,(BN,I5)) N1(I,J) 100 CONTINUE WRITE(*,*) 110 CONTINUE C C MENGHITUNG TOTAL FAKTOR I DO 180 J=1,KOLOM DO 170 I=1,BARIS TOT1(J)=TOT1(J)+N1(I,J) 170 CONTINUE 180 CONTINUE C MENGHITUNG TOTAL FAKTOR II DO 280 I=1,BARIS DO 270 J=1,KOLOM TOT2(J)=TOT2(J)+N1(I,J) 270 CONTINUE N=N+TOT2(I) 280 CONTINUE C MENGHITUNG FREKUENSI HARAPAN DO 330 I=1,BARIS DO 320 J=1,KOLOM N2(I,J)=TOT1(J)*TOT2(I)/N 320 CONTINUE 330 CONTINUE C MENGHITUNG DAN MENCETAK TABEL CHI KUADRAT WRITE(*,*)------------------------------------------- WRITE(*,*) 2 WRITE(*,*) 2 (NIJ-Nij) WRITE(*,*) nij Nij nij-Nij (nij-Nij) ---------WRITE(*,*) Nij WRITE(*,*)------------------------------------------- DO 480 I=1, BARIS DO 470 J=1,KOLOM X1=N1(I,J)-N2(I,J) X2=X1**2/N2(I,J) CHI=CHI+X2 WRITE(*,460)N1(I,J),X1,X1**2,X2

15

460 FORMAT(1X,I5,F9.2,2X,F8.2,4X,F9.2,3X,F10.L4) 470 CONTINUE 480 CONTINUE WRITE(*,490) CHI KUADRAT = , CHI 490 FORMAT(1X,A,F10.4 WRITE(*,*)------------------------------------------- END

Suatu hipotesa berikut : H0 : Jumlah mobil yang dimiliki adalah tak tergantung dengan jumlah telepon yang dimiliki. H1 : Jumlah mobil yang dimiliki adalah tergantung dengan jumlah telepon yang dimiliki. Untuk menjawab hipotesa ini dilakukan observasi terhadap 10.000 keluarga, dengan hasilnya :

Jumlah Pemilik Telepon FAKTOR II

FAKTOR I Jumlah Pemilik Mobil Tidak punya Punya sebuah

Punya dua buah

Tidak Punya Punya sebuah Punya 2 atau lebih

1000 1500 500

900 2600 2500

100 500 400

Akan dihitung terlebih dahulu nilai dari chi kuadrat dengan menjalankan program sebagai berikut :
JUMLAH FAKTOR I ? 3 JUMLAH FAKTOR II ? 3 N( 1, 1 ) ? 1000 N( 1, 2 ) ? 900 N( 1, 3 ) ? 100 N( 2, 1 ) ? 1500 N( 2, 2 ) ? 2600 N( 2, 3 ) ? 500 N( 3, 1 ) ? 500 N( 3, 2 ) ? 2500

16

N( 3, 3 ) ? 400 -----------------------------------------------------2 2 (nij-Nij) nij Nij nij-Nij (nij-Nij) ---------Nij -----------------------------------------------------1000 600.00 400.00 16000.00 266.6667 900 1200.00 -300.00 90000.00 75.0000 100 200.00 -100.00 10000.00 50.0000 1500 1380.00 120.00 14400.00 10.0000 2600 2760.00 -160.00 25600.00 9.2754 500 460.00 40.00 1600.00 3.4783 500 1020.00 -520.00 270400.00 265.0981 2500 2040.00 460.00 211600.00 103.7255 400 340.00 60.00 3600.00 10.5882 CHI KUADRAT = 794.2668 ------------------------------------------------------

Dengan tingkat keyakinan 99%, berarti L adalah 1% atau 0,01 dan derajat kebebasan sebesar (jumlah faktor kesatu 1) X (jumlah faktor kedua 1) atau sebesar (3-1)X(3-1) =4, didapat nilai kritis dari tabel distribusi chi kuadrat sebesar 13,277. Dapat diambil kesimpulan sebagai berikut : 1. Jika x2 > 13,277 berarti H0 ditolak 2. Jika x2 13,277 berarti H0 diterima Dari hsil perhitungan didapat nilai chi kuadrat (x) sebesar 794,2668 yang lebih besar melebihi nilai kritis, maka H0 ditolak, yang berarti bahwa faktor pertama (jumlah mobil yang dimiliki) adalah tidak mempunyai hubungan dengan faktor kedua (jumlah telepon yang dimiliki. 6.4 (STATIS TERTENTU) MEKANIKA KEKUATAN MATERIAL

Balok sederhana (simple beam) statis tertentu yang dapat dibicarakan disini adalah balok yang diletakkan pada dua titik tumpuan yang berupa perletakan sendi dan rol. Gambar dari sistem perletakan ini seperti terlihat dalam gambar berikut : P1 A a1 a2 an 17 Pa Pn B

Karena balok dibebani dengan sejumlah gaya vertikal, maka pada tumpuan A dan B akan terjadi gaya reaksi yang mengimbangi gaya luar tersebut. Besarnya gaya reaksi tersebut sebesar : Reaksi perletakan di A : P1(l a1) + P 2(l a 2) + ... + Pn(l an) RA = L n 1 = (l i ) P i a L i= 1 Reaksi Perletakan di B : P1 . a1 + P 2 . a 2 + ... + Pn . an RB = L

Dengan : RA = reaksi perletakan di A RB = reaksi perletakan di B Pi = besarnya beban ke i Ai = jarak beban kei dari tumpuan A L = lebar bentang balok

1 = L

Pi . ai
i= 1

Jumlah seluruh beban yang membebani balok adalah sama dengan jumlah reaksi perletakan di A dan B : RA + RB = Pi
i =1 n

sehingga RA dan RB dapat juga dihitung : RA = Pi RB


i =1 n n

atau RB = Pi RA
i =1

Besarnya gaya lintang (shearing force) yang terjadi pada posisi-posisi letak beban adalah sebagai berikut : SFA1 = RA SF1 2 = RA P1 SF2 3 = SF12 P 2 SF3 4 = SF23 P3 dan seterusnya

18

Besarnya momen puntir (bending moment) yang terjadi pada posisi-posisi letak beban adalah sebagai berikut : M 1 = RA a1 M 2 = RA a 2 P1 (a 2 a1) M 3 = RA a3 P1 (a3 a1) P 2 (a3 a 2) dan seterusnya Program FORTRAN berikut digunakan untuk menyelesaikan permasalahan di atas (mencari reaksi perletakan di A dan B, gaya lintang dan momen puntir).
C234567890 REAL L,P(100,100),A(100), SF(100) C WRITE(*,*) WRITE(*,*) | | | WRITE(*,*) |P(1) |P(2) . . . |P(N) WRITE(*,*) v v v WRITE(*,*)A --------------------------------------- B WRITE(*,*) /\ /\ WRITE(*,*)/__\ /__\ WRITE(*,*) OO WRITE(*,*) ---WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) WRITE(*,*) C <----> A(1) <------------> A(2) <--------------------------> A(3) <--------------------------------------> L

C C MEMASUKKAN DATA BEBAN TERPUSAT WRITE(*,*) DO 110 I=1,N WRITE(*,(1X,A,I5))BEBAN TERPUSAT KE ,I WRITE(*,1X,A,\)) BESAR BEBAN ? READ(*,(F9.2)) P(I) WRITE(*,1X,A,\)) JARAK DARI SENDI A ? READ(*,(F9.2)) A(I) WRITE(*,*)

WRITE(*,(1X,A,\))PANJANG BENTANG ? READ(*,(F5.2))L WRITE(*,(1X,A,\))JUMLAH BEBAN TERPUSAT ? READ(*,(BN, I5))N

19

110 CONTINUE C C MENGHITUNG BESAR REAKSI DI ROL B DO 200 I=1,N TOTBEBAN=TOTBEBAN+P(I) RB=RB+P(I)*A(I) 200 CONTINUE RB=RB/L C C MENGHITUNG REAKSI PERLETAKAN DI SENDI A RA=TOTBEBAN-RB C C MENGHITUNG GAYA LINTANG WRITE(*,(1X,A,F9.2)) RA= ,RA DO 300 I=1,N IF(I .EQ. 1) THEN SF(I)= RA-P(I) ELSE SF(I)=SF(I-1)-P(I) ENDIF WRITE(*,(1X,A,I3,A,F9.2))GAYA LINTANG PADA BEBAN KE,I, = ,SF(I) 300 CONTINUE WRITE(*,(1X,A,F9.2)) RB= = ,RB C C MENGHITUNG MOMEN TORSI WRITE(*,*) DO 450 I=1,N BM=RA*A(I) DO 400 J=1,I-1 BM=BM-P(J)*(A(I)-A(J)) 400 CONTINUE WRITE(*,(1X,A,I3,A,F9.2))MOMEN TORSI DI BEBAN KE,I,=,BM 450 CONTINUE END

Penjelasan program : 1. Panjang bentang dan jumlah beban terpusat dimasukkan dengan statemen :
WRITE(*,(1X,A,\))PANJANG BENTANG ? READ(*,(F5.2))L WRITE(*,(1X,A,\))JUMLAH BEBAN TERPUSAT ? READ(*,(BN, I5))N

2. Besarnya tiap-tiap beban terpusat dan jaraknya dari sendi A dimasukkan dengan statemen :
DO 110 I=1,N WRITE(*,(1X,A,I5))BEBAN TERPUSAT KE ,I WRITE(*,1X,A,\)) BESAR BEBAN ? READ(*,(F9.2)) P(I)

20

WRITE(*,1X,A,\)) JARAK DARI SENDI A ? READ(*,(F9.2)) A(I) WRITE(*,*) 110 CONTINUE

3. Total beban yang dipikul oleh di balok dan gaya-gaya reaksi pada titik tumpuam A dam B dihitung dengan peryataan :
DO 200 I=1,N TOTBEBAN=TOTBEBAN+P(I) RB=RB+P(I)*A(I) 200 CONTINUE RB=RB/L

C C MENGHITUNG REAKSI PERLETAKAN DI SENDI A RA=TOTBEBAN-RB

4. Besarnya daya lintang yang terjadi pada tiap-tiap beban dihitung dengan statemen :
DO 300 I=1,N IF(I .EQ. 1) THEN SF(I)= RA-P(I) ELSE SF(I)=SF(I-1)-P(I) ENDIF WRITE(*,(1X,A,I3,A,F9.2))GAYA LINTANG PADA BEBAN KE,I, = ,SF(I) 300 CONTINUE WRITE(*,(1X,A,F9.2)) RB= = ,RB

5. Besarnya momen lentur untuk setiap posisi beban dihitung dengan statemen :
DO 450 I=1,N BM=RA*A(I) DO 400 J=1,I-1 BM=BM-P(J)*(A(I)-A(J)) 400 CONTINUE WRITE(*,(1X,A,I3,A,F9.2))MOMEN TORSI DI BEBAN KE,I,=,BM 450 CONTINUE

6.5

PERENCANAAN ELEMEN MESIN


write(*,1) format('nilai torsi (Nm) = ',\) read(*,*)T if(T.eq.0)then write(*,11) format('nilai Daya (watt) = ',\) read(*,*)P

A. Perencanaan poros dengan beban torsi


1

11

21

12

2 3 4 5 6

7 8

write(*,12) format('nilai putaran (rps) = ',\) read(*,*)n T=60*P/(2*3.14*n) endif write(*,2) format('nilai fs (N/m2) = ',\) read(*,*)fs write(*,3) format('tentukan jenis poros') write(*,4) format(3x'kode 1 untuk poros pejal') write(*,5) format(3x'kode 2 untuk poros berongga') write(*,6) format('masukkan pilihan ',\) read(*,*)x if(x.eq.1)then D=((16*T)/(3.14*fs))**0.33333 write(*,7)D format('maka nilai diameter (m) =',f6.2) elseif(x.eq.2)then write(*,8) format('nilai diameter luar (m) = ',\) read(*,*)Do h=Do**4*16*T k=3.14*fs*Do**3 di=Do**4-(h/k) Di=di**0.25 write(*,9)Di format('maka nilai diameter dalam = ',f6.2) endif end

B. PERENCANAAN BANTALAN AKSIAL


PRINT*,'MASUKKAN NILAI WO, N, D1' READ(*,*)WO,AN,D1 PHI=3.14 FC=1.0 PVA=0.17 PRINT*,'MASUKKAN BEBAN W' READ(*,*)W C=30000*PVA DELTAD=W*AN/C D2=D1-DELTAD P=W/((PHI/4)*(D1**2-D2**2)) DM=(D1+D2)/2 VM=(PHI*DM*AN)/(60*1000) PVM=P*VM PRINT*,'MAKA NILAI W, D2, P, PVM DAN PVA = '

10

22

20

WRITE(*,20)W,D2,P,PVM,PVA FORMAT(5X,F8.0,3X,4F8.3) IF(P.LE.0.3.AND.P.GT.0.4.AND.PVM.GE.PVA)GOTO 10 END

C. MOMEN GESEK PADA KOPLING PLAT


1 2 3 4 WRITE(*,1) FORMAT('MASUKKAN NILAI TEKANAN RATA RATA=') WRITE(*,2) FORMAT('MASUKKAN NILAI DIAMETER 1=') WRITE(*,3) FORMAT('MASUKKAN NILAI DIAMETER 2=') WRITE(*,4) FORMAT('MASUKKAN NILAI KOEFISIEN GESEK=') READ(*,*)P,D1,D2,m F=3.14/4*(D2**2-D1**2)*P T=m*F*(D1+D2)/4 WRITE(*,5)F FORMAT('NILAI DARI GAYANYA=',F10.2) WRITE(*,6)T FORMAT('NILAI DARI MOMEN GESEKNYA=',F10.2) END

5 6

D. Menghitung Nilai Tegangan Geser Dalam Perencanaan Pasak


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Write (*,1) Format (2x,Masukkan Nilai Momennya(T)=,\) Read (*,*)T Write (*,2) Format (2x,Masukkan Nilai Diameter poros(Ds)=\) Read (*,*)Ds Write (*,3) Format (2x,Masukkan Nilai Panjang Penampang(b)=,\) Read (*,*)b Write (*,4) Format (2x,Masukkan Nilai Lebar Penampang(l)=,\) Read (*,*)l F=T/(Ds/2) Tk=f/b*l Write (*,5)F Format (2x,Hasil Dari Nilai Gaya=,F15.2,\) Write (*,6)Tk Format (2x,Nilai dari Tegangan Gesernya=,F15.2,\) End

6.6 PENOMENA TRANSPORT Program berikut mendemonstrasikan penggunaan analisis untuk menghitung aerodinamic properties dari sebuah sayap pesawat berbentuk trapesoid dengang goemeti kembar (twisted wing ). 23

C23456789 PROGRAM FNTWING DIMENSION A(8), ALABS(8), ALIND(8), C(8), CDIND(8), CL(8), - CL1(8),CL2(8),CLA(8),CLB(8),COSTH(8),SINTH(8),D(8,8), - THETA(8), Y(8) REAL LAMBDA, M(8), MBAR C MENJELASKAN SPESIFIKASI SAYAP DATA AR,K,LAMBDA,RHO,TWIST,V,WLOAD/6.,8,0.55,1.226,-4., - 250.,800./ C UNTUK K YANG MEMILIKI JARAK YANG SAMA DALAM JANGKAUAN PI/2 C MENGHITUNG THETA(J), Y(J), AND C(J), J=1,2..K, DAN SIMPAN C THETA(J),SIN(THETA(J)), DAN COS(THETA(J)) UNTUK DIGUNAKAN C KEMUDIAN C23456789 PI=4.0*ATAN(1.0) DO 5 J=1,K THETA(J)=PI*J/(2.*K) COSTH(J)=COS(THETA(J)) SINTH(J)=SIN(THETA(J)) Y(J)=COSTH(J) 5 C(J)=1.-(1.-LAMBDA)*COSTH(J) C HITUNG KOEFISIEN D(J,I) DARI PERSAMAAN 39A DO 10 J=1,K D1=1./C(J) D2=PI/(AR*(1.+LAMBDA)*SINTH(J) DO 10 N=1,K I=2*N-1 10 D(J,N=D1+D2*I)*SIN(I*THETA(J)) C BAGIAN A: PILIHLAH DUA NILAI, AL1=3 DERAJAT DAN AL2 = 6 C DERAJAT, UNTUK SUDUT ABSOLUT DARI ATTACK AT THE ROOT C UNTUK AL1, HITUNG SUDUT ABSOLUT DARI ATTACK (DALAM RADIAN) C PADA SEMUA BAGIAN SAYAP, SELESAIKAN PERSAMAAN 39A UNTUK A(N) C MENGGUNAKAN HUKUM CRAMERS, DAN HITUNG KOEFISIEN ANGKAT SAYAP C CLW1 DAN KOEFISIEN ANGKAT BAGIAN CL1(J) MENGGUNAKAN PERSAMAAN C 33A DAN 40A DATA AL1, AL2/3.,6./ DO 15 J =1,K 15 ALABS(J)=(AL1+TWIST*COSTH(J))*PI/180 CALL CRAMER(D, ALABS, A, K) CLW1=PI**2*A(1)/(1.+LAMBDA) DO 25 J=1,K SUM=0.0 DO 20 N=1,K 20 SUM=SUM+A(N)*SIN((2*N-1)*THETA(J)) CL1(J)=2.*PI/C(J)*SUM 25 CONTINUE C C UNTUK AL2, ULANGI PROSEDUR YANG SAMA SEPERTI AL1 C DO 30 J =1,K 30 ALABS(J)=(AL2+TWIST*COSTH(J))*PI/180 CALL CRAMER(D, ALABS, A, K) CLW2=PI**2*A(1)/(1.+LAMBDA)

24

DO 40 J=1,K SUM=0.0 DO 35 N=1,K 35 SUM=SUM+A(N)*SIN((2*N-1)*THETA(J)) CL2(J)=2.*PI/C(J)*SUM 40 CONTINUE C C SELESAIKAN PERSAMAAN 49 UNTUK CLA(J) DAN CLB(J), J=1,2...K DO 45 J=1,K CLA(J) = (CL2(J)-CL1(J))/(CLW2-CLW1) CLB(J) = CL1(J)-CLA(J)*CLW1 45 CONTINUE

C C23456789 C CETAK HASIL UNTUK BAGIAN A C WRITE(*,50) 50 FORMAT(1H1///5X,41HPART(A) SECTIONAL PROPERTIES DARI SAYAP// 15X,42H J Y(J)/(B/2) C(J)/C(K) CLB(J) CLA(J)/ 15X,42H--- ---------- ----------- -------- ------) WRITE(*,55) ((J,Y(J),C(J),CLB(J),CLA(J), J=1,K), CLW1, AL1, CLW2,AL2) 55 FORMAT(8(15X,I2,F10.3,F12.3,F10.4,F8.4)/ 14X,49HLIFT COEFISIENT SAYAP INI BERLAKU SEPERTI BERIKUT:/ 16X,5HCLW=,F6.3,17H UNTUK AKAR ALABS=,F6.3,8H DERAJAT/ 16X,5HCLW=,F6.3,17H UNTUK AKAR ALABS=,F6.3,8H DERAJAT) C C BAGIAN(B) : UNTUK MENGHITUNG KARAKTERISTIK SAYAP UNTUK KONDISI C PENERBANGAN, KITA PERTAMA KALI MENENTUKAN KOEFISIEN ANGKAT C SAYAP YANG SESUAI CLWF=WLOAD/(0.5*RHO*(V*1000./3600.)**2 WRITE(*60) V, WLOAD 60 FORMAT(///5X,36HPART(B) UNTUK KONDISI PENERBANGAN TERSEBUT/14X 3HV=,F6.1,23H KM/HR, WING LOADING =,F6.1,7H N/SQ.M) ASUMSI: HUBUNGAN LINIER ANTARA CLW DAN SUDUT ATTACK ABSOLUT DI DASAR, YAITU SUDUT DIBAWAH KONDISI PENERBANGAN ADALAH : ALF = AL1+(AL2-AL1)*(CLW-CLW1)/(CLW2-CLW1) KOEFISIEN ANGKAT SEKSIONAL CL(J) MUNGKIN BISA DIHITUNG DENGAN MENGGUNAKAN PERSAMAAN 45 ATAU 40A. MARI KITA BANDINGKAN KEDUA HASIL INI. KITA PERTAMA-TAMA MENGGUNAKAN PERSAMAAN 45 DAN TAMPILKAN HASILNYA DO 65 J=1,K 65 CL(J) = CLB(J) +CLA(J)*CLWF WRITE(*,70)(CL(J),J=1,K) 70 FORMAT(//9X,47H(B-1)PERBANDINGAN DARI KOEFISIEN ANGKAT SEKSIONAL/ A 15X,47HCL(J), J=1,...,K, DIPEROLEH DENGAN MENGGUNAKAN 2 METODE// B 20X,33 KEDUANYA DIPEROLEH DARI PERS. 45 ADALAH:/12X,8F7.4) KEMUDIAN KITA MENGGUNAKAN PERS.4A. KITA DAPAT MELIHAT BAHWA KEDUA

C C C C C C C C C

C C

25

C 75

80 85 C 90

SET INI ADALAH IDENTIK SAMPAI 4 ANGKA DIBELAKANG KOMA DO 75 J=1,K ALABS(J)=(ALF+TRWIST*COSTH(J))*PI/180 CALL CRAMER(D, ALABS, A, K) DO 85 J=1,K SUM=0.0 D0 80 N=1,K SUM=SUM+A(N)*SIN((2*N-1)*THETA(J)) CL(J)=2.*PI/C(J)*SUM WRITE(*,90) (CL(J), J=1,K) FORMAT(20X,33SEMUA YANG DIDAPAT DR. PERS.40A ADALAH:/12X,8F7.4)

SOAL-SOAL YANG DIPECAHKAN SOAL-SOAL LATIHAN PRAKTIKUM

26

Anda mungkin juga menyukai