P | (X0 - Y1) | ||||||||
Algoritma Bressenham | - | (10,10) | |||||||
5 | (11,11) | ||||||||
1. Tentukan 2 titik awal & akhir | 3 | (12,12) | |||||||
(X0,Y0) (X0,Y0) | 1 | (13,13) | |||||||
2. Hitung Dx,Dy | -1 | (14,13) | |||||||
3. Hitung prameter P0 = 2 Dy - Dx | 11 | (15,14) | |||||||
4. Untuk setiap X sepanjang jalur garis, | 9 | (16,15) | |||||||
Jika P < 0 maka koordinat selanjutnya (Xn+1, Yn) | 7 | (17,16) | |||||||
Pn+1=Pn+2 Dy | |||||||||
Jika P > 0 maka koordinat selnjutnya ( Xn+1=Xn+1,Yn + 1 ) dan | |||||||||
Pn+1=Pn + 2Dy - 2Dx | |||||||||
5. Ulangi sampai X = X1 dan Y = Y1 | |||||||||
1. Tentukan 2 titik awal & akhir | |||||||||
( 10,10 ) ( 17,16 ) | |||||||||
2. Hitung Dx,Dy | |||||||||
Dx = 17 - 10 = 7 | |||||||||
Dy = 16 - 10 = 6 | |||||||||
3. Hitung prameter P0 = 2 Dy - Dx | |||||||||
= 2 ( 6 ) - 7 | |||||||||
= 5 | |||||||||
4. Jika P > 0 maka koordinat selnjutnya | |||||||||
Xn+1=10+1 Y = 10 + 1 | |||||||||
= 11 = 11 | |||||||||
1. (11,11) | 1. (12,12) | 1. (13,13) | |||||||
5. P1 = P1 + 2Dy - 2Dx | 5. P2 = P2 + 2Dy - 2Dx | 5. P3 = P3 + 2Dy - 2Dx | |||||||
= 5 + 2(6) - 2 ( 7 ) | = 3 + 2(6) - 2 ( 7 ) | = 1 + 2(6) - 2 ( 7 ) | |||||||
= 5 + 12 - 14 | = 3 + 12 - 14 | = 1 + 12 - 14 | |||||||
= 3 | = 1 | = -1 | |||||||
4. Jika P > 0 maka koordinat selnjutnya | 4. Jika P > 0 maka koordinat selnjutnya | 4. Jika P < 0 maka koordinat selnjutnya | |||||||
X1=11+1 Y1 = 11 + 1 | X2=12+1 Y2 = 12+ 1 | Xn = Xn+1 Yn= Y | |||||||
= 12 = 12 | = 13 = 13 | X3 = 13+1 Y3 = 13 | |||||||
= 14 = 13 | |||||||||
1. ( 14,13 ) | |||||||||
5. P4 = P4+2 Dy | 1. (15,14) | 1. (16,15) | |||||||
= -1 + 2 (6) | 5. P5 = P5 + 2 Dy - 2Dx | 5. P6 = P6 + 2Dy - 2Dx | |||||||
= -1 + 12 | = 11 + 2(6) - 2 ( 7 ) | = 9 + 2(6) - 2 ( 7 ) | |||||||
= 11 | = 11 + 12 - 14 | = 9 + 12 - 14 | |||||||
4. Jika P > 0 maka koordinat selnjutnya | = 9 | = 7 | |||||||
X4=14+1 Y1 = 13 + 1 | 4. Jika P > 0 maka koordinat selnjutnya | 4. Jika P > 0 maka koordinat selnjutnya | |||||||
= 15 = 14 | X5=15+1 Y5 = 14+ 1 | X6=16+1 Y2 = 15+ 1 | |||||||
= 16 = 15 | = 17 = 16 |
Rabu, 26 Oktober 2011
PENGHITUNGAN ALGORITMA BRESENHAM
Jumat, 21 Oktober 2011
V-class 2DB22 tentang file relatif
1. Sebutkan 4 bagian primary memori
dan jelaskan fungsi masing-masingnya !
2. Apakah yang dimaksud dengan
volatile storage ?
3. Apakah yang dimaksud dengan
parity cek?
4. Sebutkan keuntungan dan
keterbatasan dari optical disc !
5. Jika diketahui density suatu
tape adalah 1600 bpi dan panjang interblock gap adalah 0,75 inch, sedangkan
jumlah record yang panjangnya 40 karakter akan disimpan pada tape yang
panjangnya 2400 feet. Maka hitunglah :
a. banyak record yang dapat disimpan
jika dalam 1 block berisi 10 record !
b. waktu akses yang diperlukan untuk
membaca tape jika diketahui kecepatan
pemindahan data adalam 100 inch/sec dan waktu yang diperlukan untuk
melewati interblock gap adalah 0,1 second !
JAWAB:
1. Bagian 4
primary stroge:
Input Storage Area : Untuk
menampung data yang dibaca
Program Storage Area :
Penyimpanan instruksi-instruksi untuk pengolahan
Working Storage Area :
Tempat dimana pemrosesan data dilakukan
Output Storage Area :
Penyimpanan informasi yang telah diolah untuk
sementara waktu sebelum
disalurkan ke alat-alat output
primary storage atau juga dikenal sebagai internal memory
terdiri dari dua bagian yaitu RAM dan ROM. RAM merupakan Bagian dari main
memory, yang dapat kita isi dengan data atau program dari diskette atau sumber
lain. Data-data dapat ditulis maupun dibaca pada lokasi dimana saja didalam
memori. RAM bersifat VOLATILE, sedangkan ROM merupakan Memori yang hanya
dapat dibaca. Pengisian ROM dengan program maupun data, dikerjakan oleh
pabrik. ROM biasanya sudah ditulisi program maupun data dari pabrik
dengan tujuan-tujuan khusus.
2.
Volatile
Stroge
Volatile
Stroge adalah berkas data atau program akan hilang, jika listrik padam. Jadi
volatile stroge itu bersifat sementara dan cara pengaksesannya menggunakan
listrik. Contohnya RAM.
3.
Parity
Check
¨ Parity Check yaitu salah satu tekhnik untuk
memeriksa kesalahan data pada maghnetic tape, Jenis Parity Check adalah
¨
A.
ODD PARITY (Parity Ganjil)
Jika data direkam dengan menggunakan odd
parity, maka jumlah 1 bit yang merepresentasikan suatu karakter adalah
ganjil.Jika jumlah 1 bitnya sudah ganjil, maka parity bit yang terletak pada
track ke 9 adalah 0 bit, akan tetapi jika jumlah 1 bitnya masih genap maka
parity bitnya adalah 1 bit.
B.
EVEN PARITY ( Parity Genap)
Bila kita merekam
data dengan menggunakan even parity, maka jumlah 1 bit yang merepresentasikan
suatu karakter adalah genap jika jumlah 1 bitnya sudah genap, maka parity bit
yang terletak pada track ke 9 adalah 0 bit, akan tetapi jika jumlah 1 bitnya
masih ganjil maka parity bitnya adalah 1 bit.
4.
Optical disk tidak menggunakan
bahan yang bersifat magneti sama sekali. Optical disk menggunakan bahan spesial
yang dapat diubah oleh sinar laser menjadi memiliki spot-spot yang relatif
gelap atau terang. contohnya dar optical disk ini adalah CD-RW dan DVD-RW.
teknologi optical disk ini dibagi menjadi dua yaitu:
A.
Phase-change disk. disk ini dilapisi oleh bahan
yang dapat mengkristal(beku) menjadi crystalline(serpihan-serpihan kristal)
atau menjadi amorphous state(bagian yang tak berbentuk). Bagian crytalline ini
lebih transparan, karenanya tembakan laser yang mengenainya akan lebih terang
melintasi bahan dan memantul dari lapisan pemantul. Drive Phase-change disk ini
menggunakan sinar laser dengan kekuatan yang berbeda. sinar laser dengan
kekuatan tinggi digunakan melelehkan disknya kedalam amorphous state, sehingga
dapat digunakan untuk menulis data lagi. sinar laser dengan kekuatan sedang
dipakai untuk menghapus data denga cara melelehkan permukaan disknya dan
membekukannya kembali ke dalam keadaan crytalline, sedangakan sinar laser dengan kekuatan lemah
digunakan untuk membaca data yang telah disimpan.
B.
Dye-Polimer disk. Dye-polimer merekam data dengan
membuat bump(gelombang) disk dilapisi dengan bahan yang dapat enyerap sinar
laser. sinar laser ini membakar spot hingga spot ini memuai dan membentuk
bump(gelombang). bump ini dapat dihilangakan atau didatarkan kembali dengan
cara dipanasi lagi dengan sinar laser.
Ø Keuntungan:
-
Panjang
record tidak terbatas
-
Density
data tinggi
-
Volume
penyimpanan datanya besar dan harganya murah
-
Kecepatan
transfer data tinggi
-
Sangat
efisien bila semua / kebanyakan record dari sebuah tape file memerlukan
pemrosesan seluruhnya ( bersifat serial / sequential )
Ø Keterbatasa:
-
Akses
langsung terhadap record lambat
-
Masalah
lingkungan
-
Memerlukan
penafsiran terhadap mesin
-
Proses
harus sequential
5.
Kapasitas
=
Panjang Pita * 12
inch/feet


= 2400 feet/tape *
12 inch/feet



0,25 inch/block +
0,75 inch/block

1 inch/block
= 28.800 block/tape
Tape tersebut berisi =
10 * 28.800
=
288.000 record
b) 1 blok 10 record
Waktu Akses =
kapasitas penyimpanan * ( panjang rec *
banyak record ) +

(kapasitas penyimpanan
* waktu gap * 1
gap / block)
= 28.800 block/tap * (
40 char /rec *
10 record/block ) + 28.800

block/tape * 0,1 sec/gap
* 1 gap/block
=
28.800 block/tape * 0,25 inch/block + 2.880
sec/tape

= 72
sec/tape + 2.880 sec/tape
= 2.952 sec/tape
Rabu, 19 Oktober 2011
OPEN GL
OpenGL (Open Graphics Library) adalah spesifikasi standar yang
mendefinisikan sebuah cross-bahasa, cross-platform API untuk menulis aplikasi
yang menghasilkan komputer 2D dan 3D grafis. Antarmuka terdiri dari lebih dari
250 panggilan fungsi yang berbeda yang dapat digunakan untuk menggambar tiga
dimensi yang kompleks adegan-adegan dari primitif sederhana. OpenGL
dikembangkan oleh Silicon Graphics Inc (SGI) pada tahun 1992 [2] dan secara
luas digunakan dalam CAD, virtual reality, visualisasi ilmiah, visualisasi
informasi, dan simulasi penerbangan. Hal ini juga digunakan dalam video game,
di mana bersaing dengan Direct3D on Microsoft Windows platform (lihat vs OpenGL
Direct3D). OpenGL dikelola oleh sebuah teknologi nirlaba konsorsium, yang
Khronos Group.
Kali ini yang akan saya share adalah tentang materi perkuliahan GPU
(Graphics Processing Unit) Programming (EL5130). Konten utama mata kuliah ini
secara garis besar adalah implementasi teknis pemrograman OpenGL. Saya sendiri
masih tergolong baru dalam pemrograman OpenGL ini. Sehingga harapannya, saya
bisa lebih gamblang dalam menjelaskan segala sesuatunya dari kacamata orang
yang masih awam dengan pemrograman OpenGL. Semoga bermanfaat…
OpenGL (Open Graphics Library) adalah standar API yang dapat digunakan
untuk membuat aplikasi berbasis grafik, baik dua dimensi (2D) maupun tiga
dimensi (3D). OpenGL ini bersifat cross-platform, artinya dapat dijalankan pada
berbagai platform sistem operasi yang ada saat ini. Untuk informasi lebih
lengkap mengenai hal-hal yang terkait dengan OpenGL dapat dibaca pada http://en.wikipedia.org/wiki/Opengl. Atau dapat juga dicari pada mesin pencari, contoh: google. Karena
memang OpenGL sendiri telah banyak dibahas oleh kalangan praktisi, akademisi,
maupun industri, yang notabene berkutat dalam implementasi pemrograman grafik
2D dan 3D.
Untuk membuat aplikasi menggunakan OpenGL, terlebih dahulu kita
membutuhkan suatu konsepsi interfacing dalam implementasinya. Salah satu cara
yang sudah umum digunakan adalah dengan membuat window-based OpenGL. Untuk
dapat membuat konsep windowing pada OpenGL, kita memerlukan tool tertentu. Yang
kita gunakan kali ini adalah GLUT (OpenGL Utility Toolkit). GLUT dipilih karena
di dalamnya telah terdapat banyak fungsi yang dapat dipakai untuk pembuatan
application window. Disamping itu, windowing pada GLUT juga bersifat independen
terhadap sistem operasi, sehingga kita tidak perlu repot-repot untuk mengubah
kode program jika diterapkan pada sistem operasi yang berbeda.
IDE yang digunakan
Kecenderungan implementasi pemrograman yang ada saat ini adalah dengan
memanfaatkan IDE. Karena memang pada kenyataannya dunia pemrograman semakin
lama akan semakin kompleks. Dengan banyaknya primitif-primitif atau fungsi-fungsi
dasar yang telah dibungkus ke dalam berbagai struktur referensi library, maka
sepertinya akan sangat menyusahkan jika kita tidak memanfaatkan IDE untuk
membantu kita dalam memrogram. Secara pengertian, IDE (Integrated Development
Environment) adalah suatu tool pengembangan yang di dalamnya minimal terdapat:
editor kode program, compiler atau interpreter atau link ke compiler atau
interpreter, builder, dan debugger. Banyak sekali IDE yang ada sekarang,
beberapa contohnya adalah: Visual Studio, Codeblocks, Netbeans, Eclipse, dsb.
Tapi sekarang kita tidak akan membahas lebih detail mengenai IDE.
Kembali pada pemrograman OpenGL, IDE yang saya gunakan adalah
Microsoft Visual Studio 2008. Sehingga persiapan pertama yang kita butuhkan
adalah pastikan bahwa Microsoft Visual Studio 2008 telah terinstal di komputer
Anda, jika belum, maka berdoalah terlebih dahulu agar diberi kesabaran, lalu
lakukan instalasi Microsoft Visual Studio 2008 dengan khidmat .
Persiapan berikutnya – copy referensi yang dibutuhkan
Untuk dapat memanfaatkan fungsi-fungsi GLUT pada pemrograman OpenGL,
terlebih dahulu kita memasukkan library atau referensi yang dibutuhkan. Berikut
adalah langkah-langkahnya:
Copy glu32.dll, glut.dll, dan glut32.dll ke dalam folder
C:\Windows\System32
Copy GL.h, GLAUX.h, GLU.h, dan glut.h ke dalam folder C:\Program
Files\Microsoft Visual Studio 9.0\VC\include
Copy GLAUX.lib, GLU32.lib, dan glut32.lib ke dalam folder C:\Program
Files\Microsoft Visual Studio 9.0\VC\lib
File-file tersebut dapat diperoleh dengan melakukan download gratis di
webnya GLUT (http://www.glut.org). Atau, dapat juga dicari menggunakan mesin pencari.
Membuat project baru
Berikutnya, kita akan memulai dengan membuat project baru pada
Microsoft Visual Studio 2008. Secara mendasar, langkah-langkahnya adalah
sebagai berikut:
Buka aplikasi Microsoft Visual Studio 2008.
Pilih menu File -> New -> Project. Sehingga akan terbuka jendela
dialog baru seperti di bawah ini.
Pilih Win32 Console Application dan beri nama projectnya, misal:
Program01. Klik Next, kemudian pada bagian Additional Options, contreng pilihan
Empty project. Tujuannya adalah agar project yang kita buat merupakan project
yang kita mulai dari dasar, bukan dari template yang disediakan oleh Microsoft
Visual Studio.
Jika project sudah berhasil tercreate, maka pada Microsoft Visual
Studio di bagian paling kiri akan muncul folder project yang baru kita buat.
Klik kanan pada folder Source Files, lalu pilih menu Add -> New Item, pilih
C++ File (.cpp), kemudian beri nama, misal: main.
Buka file main.cpp pada editor kode program, lalu copy kode program
berikut ini:
01
/* @Andik Taufiq
02
* March, 13 2010 - Bandung,
Indonesia
03
*/
04
05
#include <windows.h>
06
#include <stdio.h>
07
#include <stdlib.h>
08
#include <string.h>
09
#include <stdarg.h>
10
#include <glut.h>
11
12
void mydisplay()
13
{
14
glClear(GL_COLOR_BUFFER_BIT); // Menghapus layar
15
glBegin(GL_POLYGON);
16
glVertex2f(-0.5, -0.5);
17
glVertex2f(-0.5, 0.5);
18
glVertex2f(0.5, 0.5);
19
glVertex2f(0.5, -0.5);
20
glEnd();
21
glFlush();
22
}
23
24
int main(int argc, char** argv)
25
{
26
printf("Hello World...
Ini adalah Kotak 2D");
27
glutCreateWindow("Program01 - Andik Taufiq");
28
glutDisplayFunc(mydisplay);
29
glutMainLoop();
30
}
Lakukan pengubahan properti program dengan memilih menu: Project ->
Properties, atau tekan tombol Alt+F7. Pada Configuration Properties ->
General -> Character Set pilih “Not Set”. Pada Configuration Properties
-> Linker -> Input -> Additional Dependencies masukkan library-library
yang dibutuhkan. Ketikkan: opengl32.lib glu32.lib glaux.lib odbc32.lib
odbccp32.lib. Pada Configuration Properties -> C/C++ -> DIsable Spesific
Warnings ketik 4996.
Lakukan kompilasi dan jalankan program dengan menekan tombol F5. Jika
Anda beruntung, maka akan keluar jendela aplikasi seperti tampak pada gambar di
bawah ini.
Program di atas merupakan contoh pembuatan polygon dengan memanfaatkan
method GL_POLYGON dan ditentukan sebanyak empat (4) buah vertex yang membentuk
pola persegi (bujur sangkar).
Berikut ini adalah tutorial untuk memrogram dengan menggunakan
OpenGL dan Dev-C++. Dalam tutorial ini akan dijelaskan langkah-langkah awal
untuk menghasilkan gambar sederhana dengan Dev-Cpp sebagai IDE-nya.
Pertama-tama, yang pasti, install Dev-Cpp dulu.
Lalu, download package GLUT di link ini. Akan ada link di tabel download. Setelah di-klik, maka kita bisa men-save package di harddisk komputer.
Pertama-tama, yang pasti, install Dev-Cpp dulu.
Lalu, download package GLUT di link ini. Akan ada link di tabel download. Setelah di-klik, maka kita bisa men-save package di harddisk komputer.
Setelah package tersedia, buka Dev-C++ dan klik menu Tools - Package Manager
Lalu klik tombol Install yang berada di pojok kiri atas. Akan muncul window yang meminta file instalasi yang diinginkan. Pilihlah file Glut yang baru saja di-download tadi.
Lalu klik Open.
Setelah itu, akan muncul installation window. Tinggal klik Install dan tunggu hingga instalasi selesai. Lalu, klik Finish.
Package yang baru saja di-install akan muncul di window Package Manager dengan nama glut.
Sampai saat ini, proses instalasi Package Glut telah selesai. Saatnya ngoding :D
Buat Project baru dengan cara klik menu File - New - Project.
Pilih project "Empty Project" dan beri nama pada kolom Name. Setelah itu klik OK. Lalu klik Save di tempat yang kamu inginkan.
Project baru telah terbentuk, tetapi belum memiliki file. Oleh karena itu, klik kanan pada Project dan pilih New File.
Akan muncul editor baru yang bernama default Untitled1. Di sinilah kita akan ngoding.
Misalkan saja kita ingin membuat segitiga Maxwell, maka tulis kodenya sebagai berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include
<GL/glut.h>
#include
<math.h>
void
display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(0.0,
0.0, 1.0); /* blue */
glVertex2d(-1,
-(1*sqrt(3))/2);
glColor3f(0.0,
1.0, 0.0); /* green */
glVertex2d(1,
-(1*sqrt(3))/2);
glColor3f(1.0,
0.0, 0.0); /* red */
glVertex2d(0,
(1*sqrt(3))/2);
glEnd();
glFlush();
/* Single buffered, so needs a flush. */
}
int
main(int argc,
char **argv)
{
glutInit(&argc,
argv);
glutCreateWindow("single
triangle");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
|
Lalu, klik File - Save As untuk menyimpan kode di atas. Misalkan beri nama main.cpp.
Sebelum di-Compile, kita perlu menambahkan sesuatu. Klik menu Project - Project Options.
Akan muncul windows Project Options. Klik tab Parameter dan akan muncul 3 field untuk diisi. Isilah field Linker dengan tulisan berikut:
-lglut32
-lglu32 -lopengl32 -lwinmm -lgdi32
Lalu klik OK.
Nah, sekarang compile dan run programnya dengan menekan tombol F9 untuk Dev-C++. Tada!
Ini
adalah postingan kilat setelah pertama kali belajar OpenGL, oleh karena itu,
penjelasannya masih kurang. Mungkin suatu saat akan saya edit.
Langganan:
Postingan (Atom)