Transformasi Vektor

 

Metode Elemen Hingga. 09.12.2012. Teknik Mesin S1.

Pertemuan-pertemuan yang lalu telah dibahas metode elemen hingga pada pegas, thrust, heat transfer, dan fluida. Kali ini kita akan membahas konversi koordinat berbagai elemen karena sering dijumpai kita harus merubah koordinat-koordinat yang ada. Misalnya pada kasus batang thrust yang bergeser membentuk sudut alpha dari bidang normal.

Pada gambar di atas, koordinat baru berotasi sebesar tetha. Karena vektor yang baru terbentuk memiliki besar yang sama dengan sebelumnya hanya ada translasi saja, berlaku hubungan berikut ini:

Maka matriks defleksi yang baru (dx).

Dengan C dan S berturut-turut Cos ᶿ dan Sin ᶿ. Misalnya kita memiliki kasus di bawah ini diketahui d2x dan d2y berturut-turut 0.1 dan 0.2 in.

Dimana K yang baru adalah:

Sebagai contoh sistem di bawah ini:

Jika E sebesar 30×106 psi dengan nilai k sebesar:

 

Membuat Invers Matriks 2×2 dan 3×3 dengan Borland C++

Invers Matriks. 6.12.2012. T. komputer

Setelah determinan dihitung, berikutnya kita coba membuat kode mencari invers matriks tersebut. Perhatikan algoritma pembuatan invers dari pertemuan yang lalu. Lihat kode program di bawah ini.

  • #include<stdio.h>
  • #include<iostream.h>

 

  • void main(){
  • double A[2][2]={1,2,3,4};
  • int i,j;
  • double det;

 

  • cout<<“Matriks A = “<<“\n”;
    • for(i=0;i<2;i++)
    • {
      • for(j=0;j<2;j++)
      • {
        • cout<<A[i][j]<<” “;
      • }
      • cout<<“\n”;
    • }
  • cout<<“\n”;
  • det=A[0][0]*A[1][1]-A[1][0]*A[0][1];
  • cout<<“determinan A = “;
  • cout<<det;
  • cout<<“\n”;
  • double A2[2][2];
  • A2[1][1]=A[0][0];
  • A2[0][0]=A[1][1];
  • A2[0][1]=A[0][1]*-1;
  • A2[1][0]=A[1][0]*-1;
  • cout<<“Invers A = “<<“\n”;
    • for(i=0;i<2;i++)
    • {
      • for(j=0;j<2;j++)
      • {
        • cout<<A2[i][j]/det<<” “;
      • }
      • cout<<“\n”;
    • }
  • }

Jalankan hingga dihasilkan tampilan sebagai berikut:

Untuk matriks 3×3, dengan cara manual dapat dibuat dengan kode berikut ini. Dikatakan manual karena seharusnya kita menggunakan kode yang dapat diterapkan untuk matriks nxn.

  • #include<stdio.h>
  • #include<iostream.h>

 

  • void main(){
  • double A[3][3]={1,2,3,4,5,6,7,8,100};
  • int i,j;
  • double det;
  • double a,b,c;

 

  • cout<<“Matriks A = “<<“\n”;
    • for(i=0;i<3;i++)
    • {
      • for(j=0;j<3;j++)
      • {
        • cout<<A[i][j]<<” “;
      • }
      • cout<<“\n”;
    • }
  • cout<<“\n”;
  • //menghitung determinan
  • a=A[0][0];
  • b=A[0][1];
  • c=A[0][2];
  • double C1,C2,C3;
  • C1=A[1][1]*A[2][2]-A[1][2]*A[2][1];
  • C2=(A[1][0]*A[2][2]-A[2][0]*A[1][2])*-1;
  • C3=A[1][0]*A[2][1]-A[2][0]*A[1][1];
  • cout<<“C1=”<<” “<<C1<<“\n”;
  • cout<<“C2=”<<” “<<C2<<“\n”;
  • cout<<“C3=”<<” “<<C3<<“\n”;
  • det=a*C1+b*C2+c*C3;
  • cout<<“Determinan A = “<<” “;
  • cout<<det;
  • }

Jika dijalankan menghasilkan keluaran:

Uji dengan Matlab apakah jawabannya sesuai:

Cloud Computing Aplikasi Word, Excel, dan Power Point

Komputer I. 05.12.2012. Tek Elektronika

Cloud Computing adalah penggunaan suatu fasilitas (servis) milik orang lain (vendor) yang menyediakan layanan tersebut. Misalnya jika kita ingin mengetik seperti di microsoft word, membuat spreadsheet seperti excel atau membuat power point maka kita dapat menggunakan layanan dari penyedia cloud seperti http://docs.google.com.

Selain menyediakan layanan yang dikenal dengan istilah Software As a Service (SaaS) dikenal juga layanan lainnya seperti storage, platform (operating system), infrastructur (client-server), dan sebagainya. Seperti biasa, Anda diminta login terlebih dahulu (gmail) ke situs tersebut.

Jadi jangan khawatir Anda tidak memiliki fasilitas Word, Excel, dan power point, karena dapat memanfaatkan fasilitas gratis tersebut.

Metode Elemen Hingga Pada Fluida

Fluida secara matematis bisa didekatkan dengan batang thrust, pegas ataupun perpindahan panas. Berikut ini adalah contoh kasus pada batang yang dialiri fluida dengan dua titik 1 dan 2.

Dengan f, A, K, L, dan p berturut-turut debit, luas penampang, permeabilitas, panjang dan potensial, diperoleh hubungan berikut ini:

Dengan matriks kekakuannya sebesar:

Berikut ini contoh kasus yang akan kita kerjakan dengan bantuan aplikasi Matlab.

Luas penampang, A = 1 in2. Tentukan kecepatan aliran di titik 2 dan titik 3 jika diketahui kecepatan aliran di titik 1 = 2 in/s. Jawab: Karena bentuknya seragam, matriks kekakuan elemen:

Yang menghasilkan bentuk persamaan umumnya:

Dari soal diketahui debit f1=v1A=2×1=2 in3/s. Pada elemen (1)

Masukan di Matlab instruksi berikut ini:

Sehingga diperoleh tekanan di titik 2 sebesar. Untuk mencari nilai kecepatan di titik 2 dan 3 gunakan hubungan:

Tugas I Pengaturan II

Pengenalan Pengaturan II, 3.12.2012, Lab of Hardware

Berikut ini tugas kelompok yang harus dikerjakan hari ini. Tugasnya adalah merancang model di simulink, dan cari nilai P,I, dan D pada kontroler PID agar dipenuhi syarat:

  • Error < 0.05
  • % Overshoot < 10%
  • Settling Time < 5 detik

Kelompok I

Kelompok II

Kelompok III

Kelompok IV

Kirim ke: rahmadya.trias@gmail.com dengan melampirkan file .mdl dan capture SCOPE.

Menghitung Determinan Matrix 2×2 dengan C/C++

Setelah bisa menginput Matriks, menjumlah, dan mengalikan Matriks, berikutnya kita masuk ke teori-teori yang ada dalam Matriks lebih dalam lagi. Salah satunya adalah Determinan dan Invers. Determinan penting karena merupakan komponen dari inversi suatu matriks. Invers sangat dibutuhkan dalam penyelesaina persamaan simultan yang sering dijumpai dalam teknik. Diketahui suatu matriks:

Sedangkan invers didapat dari rumus:

Bagian ad-bc pada persamaan di atas dikenal dengan nama determinan. Buka Borland/Turbo C++ untuk membuat script perhitungan determinan suatu matriks. Masukan listing berikut (ketik ulang tanda ” karena tidak dikenali jika di copas). Matriks yg akan dicari determinannya adalah a,b,c dan d berturut-turut 1,2,3, dan 4.

  • #include <iostream.h>
  • #include <conio.h>
  • void main(){
  • int i,j,det,A[2][2]={1,2,3,4};
  • cout<<“Matriks A =”<<“\n”;
  • for(i=0;i<2;i++){
    • for(j=0;j<2;j++){
      • cout<<A[i][j]<<” “;
      • }
    • cout<<“\n”;
  • }
  • det=A[0][0]*A[1][1]-A[0][1]*A[1][0];
  • cout<<“Determinan = “<<det;
  • }

Hasilnya adalah sebagai berikut:

Membuat Drop Down List

Pertemuan kali ini membahas tentang Excel. Excel merupakan produk Microsoft yang fungsinya memanipulasi data, table, dan sejensinya. Misalnya data Kartu Rencana Studi (KRS) mahasiswa yang berisi nilai, max sks yang diambil dan data dosen wali.

Data nilai, ipk, max sks berasal dari sheet lain yang khusus berisi data mahasiswa. Kunci dari data tersebut adalah NPM mahasiswa yang dibuat dengan teknik Drop Down List. Lihat di help yang tersedia di Excel untuk tata cara penggunaannya. Berikut ini cara pembuatannya.

Pertama-tama buat data yang akan dijadikan drop down list. Beri nama variable tertentu, misalnya NPM.

Klik Data – Data Validation pada excel Anda. Pilih Setting kemudian pilih list. Arahkan ke data NPM saat diminta mencari list-nya.

Sorot seluruh kolom yang akan dijadikan Drop Down List, pastikan muncul =NPM. Atau ketik saja =NPM. Cek dengan mengklik cell yang dijadikan Drop Down List, hingga ditampilkan isi dari kolom list tersebut.

 

Metode Elemen Hingga pada Thrust Element dengan Matlab

Metode Elemen Hingga, 26.11.2012, T. Mesin – S1

Materi UTS yang lalu sampai kekakuan pegas dan kali ini kita mulai masuk ke bidang struktur, khususnya thrust element. Batang ini hanya menerima tegangan tarik dan tekan saja, tidak ada gaya geser dan bending. Banyak dimanfaatkan sebagai penyangga pada jembatan (berupa tali atau kolom). Di bawah ini contoh kasus yang akan kita selesaikan dengan metode elemen hingga.

Elemen 1 dan 2 memiliki luas penampang dan modulus elastisitas yang sama berturut-turut 30.000.000 psi dan 1 in2 sementara elemen 3 E sebesar 15.000.000 psi dan A3 = 2 in2. Berapakah: a) Matriks kekakuan K (General Stiffness Matrix) b) Pergeseran titik 2 dan 3? Dan c) Gaya reaksi di titik 1 dan 4.

Dari matriks-matriks kekakuan k di atas dirakit menjadi K:

Dan karena tidak ada pergeseran di titik 1 dan 4 maka diperoleh persamaan berikut ini:

Buka Matlab Anda, masukkan k (untuk elemen 2) dan d (defleksi titik 2 dan 3). Pada command window masukan instruksi:

Diperoleh pergeseran di titik 2 sebesar 0.002 in dan titik 3 0.001 in. Untuk memperoleh gaya di titik 4 gunakan persamaan umumnya. Masukan K dan D yang menyatakan berturut-turut matriks kekakuan umum dan pergeseran titik-titiknya.

Diperoleh gaya reaksi di titik 1 sebesar 2000 lb ke arah kiri dan di titik 4 sebesar 1000 lb ke kiri. Jangan lupa mengalikan dengan 1000000 pada matriks kekakuannya (biasanya mahasiswa lupa).

Merancang PID sistem Diskrit

Proporsional Integrator dan Diferensiator (PID) merupakan kontroler yang fungsinya memperbaiki kinerja sistem kendali. Baik buruknya sistem kendali, tergantung dari spesifikasi yang dituntut oleh sistem tersebut. Sistem yang cepat, belum tentu baik jika melebihi batas kesalahan yang ada. Sebagai contoh berikut ini sistem dengan fungsi alih digital, h=0.09516/(z-0.9048) memiliki error 0.5. Gunakan PID untuk memperbaiki kinerja sistem dengan syarat: 1) error < 0.1, 2)persentase overshott < 10%, dan respon time < 5 detik. Gunakan simulink MATLAB:

Atur nilai P, I, D dan konstanta waktu D agar diperoleh hasil spesifikasi di atas. Jika diambil besar P, I, D, t berturut-turut 1.5, 3, 1.2 dan 2, diperoleh hasil sebagi berikut:

Karena overshootnya 20 %, maka sistem tidak memenuhi syarat. Misal kita setting kembali P,I,D dan t berturut-turut 1, 2.5, 3, dan 2 diperoleh hasil sebagai berikut:

Sistem memiliki respon sekitar 7 detik, dan karena permintaan harus di bawah 5 detik, walaupun error dan % overshoot memenuhi syarat, tetap tidak bisa diaplikasikan. Berikutnya coba dengan P, I, D dan t berturut-turut

Sistem memiliki respon 5 detik (sesuai syarat) dan overshoot (1.1-1)*100 = 10 % sehingga sedikit memenuhi syarat. Coba ramu lagi PID agar diperoleh hasil optimal.

Jawaban Soal Aljabar Linear

Sehubungan ada masalah dengan ruangan praktikum hari ini (perbaikan) maka pertemuan kali ini hanya mereview hasil UTS yang lalu. Hasilnya kebanyakan salah di program dengan bahasa C++, sedangkan untuk yang berbahasa Matlab kebanyakan benar (walaupun ada jawaban yang saya sendiri bingung, waktu mengerjakan mikir apa sih?).

Berikut hasil jawabannya, contoh untuk kasus dengan NPM terakhir bernomor 1. Untuk Matlab kita mengalikan Matriks A dan B dengan memasukan matriks A=[1 3;2 4;5 6;7 8], B=[1 2 3;4 5 8], dilanjutkan dengan instruksi C=A*B. Sedangkan untuk bahasa C++ dapat dilihat koding berikut ini (ganti X dengan C ya supaya sesuai dengan soal):

  1. #include<stdio.h>
  2. #include<iostream.h>
  3. void main()
  4. {
  5. int A[4][2]={1,3,2,4,5,6,7,8};
  6. int B[2][3]={1,2,3,4,5,8};
  7. int i,j;
  8. int a,b,c,X[4][3];
  9. cout<<“Matriks A = “<<“\n”;
  10. for(i=0;i<4;i++)
  11. {
    1. for(j=0;j<2;j++)
    2. {
      1. cout<<A[i][j]<<” “;
    3. }
    4. cout<<“\n”;
  12. }
  13. cout<<“Matriks B = “<<“\n”;
  14. for(i=0;i<2;i++)
  15. {
    1. for(j=0;j<3;j++)
    2. {
      1. cout<<B[i][j]<<” “;
    3. }
    4. cout<<“\n”;
  16. }
  17. for(a=0;a<4;a++)
  18. {
    1. for(b=0;b<3;b++)
    2. {
      1. X[a][b]=0;
      2. for(c=0;c<2;c++)
      3. {
        1. X[a][b]=X[a][b]+A[a][c]*B[c][b];
      4. }
    3. }
  19. }
  20. cout<<“Hasil Kali = \n”;
  21. for(a=0;a<4;a++)
  22. {
    1. for(b=0;b<3;b++)
    2. {
      1. cout<<X[a][b]<<” “;
    3. }
    4. cout<<” \n”;
  23. }
  24. }

Berikut tampilan keluarannya:

UTS P. PENGATURAN II

 

PENG. PENGATURAN, 13.11.2012, T. KOMPUTER D3

 

  1. Suatu sistem kontrol mempunyai fungsi alih :

    Buat instruksinya dalam MATLAB (sampling 0.1 detik dan teknik ‘ZOH’) untuk:

    1. Mengkonversi menjadi sistem diskrit
    2. Membuat grafik untuk masukan tangga (step).

 

  1. Suatu sistem memiliki fungsi alih
    1. Konversi nilainya menjadi sistem kontinyu
    2. Buat grafik dengan masukan step untuk menguji sistem tersebut

NOTE: NPM berarti harga terakhir NPM Saudara, jika 0 ambil harga 10. Sedangkan NPM2 adalah angka sebelum angka terakhir NPM Saudara, Jika 0 ganti 10.

PENGUMUMAN

Komputer I, 08-11-2012, T. Elektro D3

UTS akan dilaksanakan minggu depan dengan soal:

  1. Membuat Blog Pribadi (akan di cek saat pelaksanaan UTS)
  2. Membuat Daftar Isi otomatis (otomatic table of contents)

Note: Nama blog mirip dengan nama masing2, atau buat / publish, tulisan yang mencirikan bahwa blog itu bukan blog orang lain.

Pohon Keputusan

Mat. Diskrit, 06.11.2012, T.Komputer

Pohon keputusan banyak dimanfaatkan untuk membantu pengambil keputusan dalam menentukan alternatif-alternatif pilihan yang ada. Dalam bidang kesehatan dapat digunakan untuk meprediksi penyakit pasien berdasarkan gejala-gejala yang ada. Buka matlab, buat dua buah matriks (matriks nilai dan matriks jurusan) yang akan dicari pohon keputusannya.

nilai =

 

8 7 6

7 8 7

8 8 9

7 8 6

6 6 8

10 9 9

5 6 7

6 6 7

jurusan =

 

ipa

ips

bhs

ips

bhs

ipa

bhs

bhs

Buat nama variabel dengan instruksi:

varnames = {‘nilai ipa’ ‘nilai ips’ ‘nilai bahasa’};

Berikutnya buat pohon keputusannya:

t1 = classregtree(nilai,jurusan,’splitmin’,5,’names’,varnames);

Setelah dijalankan >> view(t1) akan muncul pohon keputusannya:

Materi Ujian Tengah Semester Metode Elemen Hingga

Metode Elemen Hingga, 05.11.2012, T. Mesin S1

Berikut ini gambaran soal UTS Metode Elemen Hingga Teknik Mesin UNISMA (bae banget ya .. J). Buat programnya dalam bahasa Matlab, jika suhu atas, bawah, kiri dan kanan dimasukan suhu, akan diketahui Matriks suhunya disertai suhu pada titik-titik dalam Mesh itu (T1, T2, T3, T4, T5 dan T6).

Coba buat dengan disertai GUI jika mampu ( .. kyk pergi haji aja J), atau secara text-based juga tidak apa-apa. UTS nanti formasi nomor suhu, besar suhu, kemungkinan berbeda-beda tiap siswa. Lihat tulisan terdahulu untuk mengerjakannya.

Mengalikan Matriks dengan Ukuran Bervariasi

Aljabar Linear, 30.10.2012, T.Komputer

Jika pada pertemuan yang lalu kita mengalikan matriks ukuran 2×3 dengan 3×2, sekarang kita akan mengalikan matriks yang ukurannya tergantung dari pengguna asalkan tidak menyalahi kaidah perkalian (jumlah kolom matriks kiri harus sama dengan jumlah baris matriks kanan). Gunakan listing berikut ini (jika mengkopi – paste, jangan lupa simbol petik ” harus diketik ulang):

  • #include<stdio.h>
  • #include<iostream.h>
    • void main()
    • {
    • int i,j,A[5][5],B[5][5],ia,ja,ib,jb,a,b,c,X[5][5];
    • //menginput matriks A
    • cout<<“Masukkan Jumlah Baris Matriks A : “;
    • cin>>ia;
    • cout<<“Masukkan Jumlah Kolom Matriks A : “;
    • cin>>ja;
    • cout<<“Masukkan Matriks A \n”;
    • for(i=0;i<ia;i++)
    • {
      • for(j=0;j<ja;j++)
      • {
        • cout<<“Masukkan Elemen Matriks ke “<<(i+1)<<“,”<<(j+1)<<” :”;
        • cin>>A[i][j];
      • }
    • }
    • //menginput matriks B
    • cout<<“Masukkan Jumlah Baris Matriks B : “;
    • cin>>ib;
    • cout<<“Masukkan Jumlah Kolom Matriks B : “;
    • cin>>jb;
    • cout<<“Masukkan Matriks A \n”;
    • for(i=0;i<ib;i++)
    • {
      • for(j=0;j<jb;j++)
      • {
        • cout<<“Masukkan Elemen Matriks ke “<<(i+1)<<“,”<<(j+1)<<” :”;
        • cin>>B[i][j];
      • }
    • }
    • //menampilkan matriks A
    • cout<<“Matriks A = \n”;
    • for(i=0;i<ia;i++)
    • {
      • for(j=0;j<ja;j++)
      • {
        • cout<<A[i][j]<<” “;
      • }
      • cout<<“\n”;
    • }
    • //menampilkan matriks B
    • cout<<“Matriks B = \n”;
    • for(i=0;i<ib;i++)
    • {
      • for(j=0;j<jb;j++)
      • {
        • cout<<B[i][j]<<” “;
      • }
      • cout<<“\n”;
    • }
    • //mentraspose matriks A
    • cout<<“Transport matriks A : “<<“\n”;
    • for(j=0;j<ja;j++)
    • {
      • for(i=0;i<ia;i++)
      • {
        • cout<<A[i][j]<<” “;
      • }
      • cout<<“\n”;
    • }
    • //Mengalikan Matriks A dengan B
    • cout<<“Hasil kali Matriks A dengan B :”<<“\n”;
    • cout<<“Ukuran Matriks = “<<ia<<“x”<<jb<<“\n”;
    • for(a=0;a<ia;a++)
    • {    for(b=0;b<jb;b++)
      • {X[a][b]=0;
      • for(c=0;c<ja;c++)
      • {
      • X[a][b]=X[a][b]+A[a][c]*B[c][b];
      • }
      • }
    • }
    • //Menampilkan Matriks X
    • for(a=0;a<ia;a++)
    • {    for(b=0;b<jb;b++)
      • {
      • cout<<X[a][b]<<” “;
      • }
      • cout<<“\n”;
    • }
    • }

Setelah dijalankan akan dihasilkan perkalian matriks dengan ukuran yang ditentukan oleh pengguna program.