Contoh Program Grafika Komputer - Animasi Segi Tiga dengan Lingkaran Berputar

Posted by mahfuz On Kamis, 25 Oktober 2012 0 komentar
#include <stdlib.h>
#include <glut.h>
#include <math.h>

#define PI 3.1415926535
bool atas = true;
int lingkaranp = 0;
int i;
int gerak = 0;

void lingkaran(int ganti){
    glPopMatrix();
    glPushMatrix();
    glTranslatef(0,gerak,0);
    glRotatef(lingkaranp+ganti,0,0,100);
    glBegin(GL_POLYGON);
    for (i=0;i<=360;i++){
        float sudut = i * (2*PI/360);
        float x=150+20*cos(sudut);
        float y=20*sin(sudut);
    glVertex2f(x,y);
    }
    glEnd();
}
void segitiga(){
    glPopMatrix();
    glPushMatrix();
    glTranslatef(0,gerak,0);
    glBegin(GL_TRIANGLES);
        glColor3f(1.,1.,0.);
        glVertex2f(0,100);//a
        glVertex2f(-100,-50);//b
        glVertex2f(100,-50);//c
    glEnd();
}

void timer(int t){
    if (atas){
        gerak += 10;
    } else {
        gerak -= 10;
    }
    if (gerak > 300) {
        atas = false;
    } else if(gerak < -300){
        atas = true;
    }
    if (lingkaranp < 360){
        lingkaranp += 10;
    } else {
        lingkaranp = 0;
    }
 glutPostRedisplay();
 glutTimerFunc(10,timer,0);
}
void display(void){
    glClear(GL_COLOR_BUFFER_BIT);
    segitiga();
    lingkaran(0);
    lingkaran(90);
    lingkaran(270);
    lingkaran(360);
    glFlush();

}
void main(int argc, char **argv){
    glutInit(&argc, argv);
    /*...*/
    glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400,400);
       
    glutCreateWindow("Mahfuz - 100533405403");
        gluOrtho2D(-640.,640.,-640.,640.);
    glutDisplayFunc(display);
    glutTimerFunc(1,timer,0);
    glutMainLoop();
}
READ MORE

Penjumlahan 2 Sinyal Menggunakan Matlab

Posted by mahfuz On Sabtu, 13 Oktober 2012 0 komentar

A.    Penjumlahan Dua Sinyal
Penjumlahan 2 sinyal, dimana Sinyal Pertama memiliki Amplitudo (A) sama dengan  1 dan Frekuensi (f) sama dengan 1, sedangkan Sinyal Kedua memiliki Amplitudo (A) sama dengan 1/3 atau 0,33… dan Frekuensi (f) sama dengan 3.
Matlab adalah sebuah lingkungan komputasi numerikal dan bahasa pemrograman komputer generasi keempat. Dikembangkan oleh The MathWorks, MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data, implementasi algoritma, pembuatan antarmuka pengguna, dan peng-antarmuka-an dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik, sebuah kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD, memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain Berdasar-Model untuk sistem terlekat dan dinamik.
1.   Script fungsi dengan menggunakan Matlab
Gambar 1. Script pembuatan sinyal menggunakan Matlab

2. Hasil Penjumlahan
Gambar 2. Penjumlahan dua sinyal


B.    Tabel Transmisi
      
      A.    Tabel Transmisi


Rentang Frekuensi
Atenuasi Khusus
Delay Khusus
Jarak Repeater
Bandwidth
Twisted pair (dengan loading) (UTP)



0 – 3,5 kHz

0,2 Db/Km @ 1 kHz


50 µs/Km

2 km

10 MBps
Twisted pair (kabel multipair) (STP)


0 – 1 MHz

3 dB/km @ 1 kHz

5 µs/Km

2 km

100 MBps
Coaxial
1.       Thin Coaxial

0 – 500 MHz
7 dB/km@ 10 kHz

4 µs/Km

1 – 9 km
10 -100 MBps
2.       Thick Coaxial
10 – 100 MBps
Fiber Optic
1.       Single Mode
180 – 370 THz
0,2 – 0,5 Db/km

5 µs/Km

40 km
1000 MBps
2.       Multi Mode
>1000 MBps
Medium transmisi apapun yang dipakai akan menyesuaikan dengan band frekuensi yang terbatas. Hal ini menyebabkan data rate yang dapat melewati medium transmisi, terbatas. Diberikan komponen-komponen frekuensi gelombang kotak. Disini terlihat bahwa gelombang kotak terbentuk dari penjumlahan spektrum-spektrum ganjil, sehingga gelombang kotak datap dinyatakan dalam : ¥s(t) = A xå 1/k sin (2p kf1t) k=1
Hubungan data rate dan bandwidth didapat bahwa pengurangan/penambahan bandwidth akan menyebabkan pengurangan / penambahan data rate dengan faktor pengurangan/penambahan yang sama. Contoh, diinginkan bandwidth 4 MHz. jika f1 = 10 cycles/sec= 1 MHz, maka bandwidth : s(t) = sin ((2p x 106 )t) + 1/3 sin ((2p x 3 x 106 )t)+ 1/5 sin ((2p x 5 x 106 )t) = (5 x 106 ) - 106 = 4 Mhz periode : T=1/106 = 1 sec (karena f1 = 10 , T=1/f1) Jika gelombang ini terdiri dari bit string '1' dan '0' maka tiap bit terjadi setiap 0,5 sec sehingga data rate : 2 x f1 = 2 x 10 = 2 Mbps; dengan demikian bandwidth 4 Mhz, data ratenya 2 Mbps.

C.   Optical Fiber
Fiber optik adalah sebuah kaca murni yang panjang dan tipis serta berdiameter sebesar rambut manusia. Dan dalam pengunaannya beberapa fiber optik dijadikan satu dalam sebuah tempat yang dinamakan kabel optik dan digunakan untuk mengantarkan data digital yang berupa sinar dalam jarak yang sangat jauh.
Core adalah kaca tipis yang merupakan bagian inti dari fiber optik yang dimana pengiriman sinar dilakukan. Cladding adalah materi yang mengelilingi inti yang berfungsi memantulkan sinar kembali ke dalam inti (core). Buffer Coating adalah plastik pelapis yang melindungi fiber dari kerusakan.
Jenis Fiber Optik
1.      Single Mode Fibers

Fiber Optik dengan Core yang sangat kecil, diameter mendekati panjang gelombang sehingga cahaya yang masuk ke dalamnya tidak terpantul-pantul ke dinding Cladding, melainkan dirambatkan langsung dari Core. Mempunyai inti yang kecil (berdiameter 0.00035 inch atau 9 micron) dan berfungsi mengirimkan sinar laser inframerah (panjang gelombang 1300-1550 nanometer).

2.      Multi Mode Fibers
Fiber Optik dengan diameter Core yang agak besar sehingga cahaya yang akan ditransmisikan dipantul-pantulkan dari dinding Cladding ke Core. Mempunyai inti yang lebih besar(berdiameter 0.0025 inch atau 62.5 micron) dan berfungsi mengirimkan sinar laser inframerah (panjang gelombang 850-1300 nanometer).

    

      

READ MORE