CORBA
Perangkat Lunak Grafis
Perangkat Lunak Grafis
Struktur dasar perangkat lunak grafis dapat digambarkan sebagi berikut :
Ada beberapa elemen dasar dari grafika komputer, antara lain:
- Polyline
- Text
- Filled Region
- Raster Image
o Polyline
Polyline adalah deretan garis-garis lurus yang berhubungan. Polyline merupakan dasar dari setiap pembuatan grafik.
Teks menunjukkan pola-pola huruf pada komputer. Hal inimenyebabkan layout dari hasil editing teks dengan menggunakan komputer menghasilkan banyak sekali variasi tulisan. o Filled Region
Filled Region adalah bagaimana memberi (memblok) warna atau pattern pada sebuah area tertentu. o Raster Image
Raster image merupakan cara penyajian gambar menggunakan matriks dari setiap sel gambar. Sebuah gambar didefinisikan sebagai array dari besaran-besaran numerik. Model data ini banyak digunakan untuk keperluan pengolahan citra.
Sistem Penampil Grafis/Grafika Komputer
o Sistem Koordinat
Terdapat 2 sistem koordinat yang digunakan dalam GK yaitu koordinat
cartesian dan koordinat layar/monitor.
Koordinat Cartesian
Sistem koordinat ini digunakan di berbagai konsep matematika, stastistik,
maupun grafika komputer
Koordinat yang ada pada layar komputer. Ini digunakan padaimplementasi/penerapan dengan program komputer.
(pixel : picture element – titik elemen gambar)
1. Tentukan koordinat awal garis (x0,y0)
2. tentukan koordinat akhir garis (x1,y1)
3. Hitung jarak mendatar ke 2 titik (dx) --- Dx=x1-x0
4. Hitung jarak horisonal ke 2 titik (dy) ---- Dy=y1-y0
5. Tentukan faktor pembagi (mencari yg lebih panjang)
Apakah dx>dy,bila ya
Step=dx
Bila tidak
Step=dy
6. Hitung faktor penambah ke koordinat mendatar dan vertikal titik berikut
(x_tambah,y_tambah)
X_tambah=dx/step
Y_tambah=dy/step
7. Buat loop mulai titik ke 1 sampai titik ke step
8. Hitung koodinat titik berikutnya
X=x+x_tambah
Y=y+y_tambah
9. gambar pikxel pada koordinat (x,y)
Catatan : koordinat x,y harus bulat (integer), sehingga hasil dari perhitungan diatas harus diinteger-kan
PENGANTAR GRAFIKA KOMPUTER
PENGANTAR GRAFIKA KOMPUTER DAN SISTEM SERTA PENERAPANNYA
Apa fungsi komputer?
• Mempercepat perhitungan
• Jumlah data yang besar
• Penyajian daya yang efisien dan efektif
So, salah satunya penyajian secara grafis --> munculnya grafika komputer
Why? Meningkatkan komunikasi manusia dengan mesin
A. SISTEM GRAFIKA KOMPUTER
Data : grafik, operator tidak dapat berinteraksi dengan komputer (statis).
Diinginkan interaktif melalui grafika komputer : operator bisa mengendalikan :
isi, format, bentuk, ukuran, warna.
- Sistem interaktif : mensimulasikan real world pada layar komputer.
- Berdasarkan cara pandang pada layar :
o Motion dynamic : objek bergerak, kita sbg pengamat (diam) atau sebaliknya.
ex : flight simulator
o Update dynamic : perubahan sifat pada objek (bentuk,warna).
ex : simulasi tabrakan mobil
B. PENERAPAN GRAFIKA KOMPUTER
1. Computer Aided Design (CAD)
2. Presentasi Art
3. Hiburan
4. Pendidikan dan Pelatihan
5. Visualisasi
C. KLASIFIKASI PENERAPAN GRAFIKA KOMPUTER
1. Berdasarkan tipe dari objek dan gambar yang dihasilkan
2. Berdasarkan interaksi dan derajat pengendalian objek/gambar dalam layar
3. Berdasarkan role of the picture
4. Berdasarkan hubungan antara objek dan gambar yang tertampil.
Image Processing vs Computer Graphics
Image Processing vs Computer Graphics
MONITOR
Komponen Utama Monitor :
1. Display
2. Frame Buffer : berbentuk matrix
3. Display Controller/Display processor
Dari cara menampilkan gambar :
1. Vector Display/Calligraphic Display/Stroke Display (60-an)
Gafik vektor (vector graphics) terbentuk dari garis dan kurva yang didefinisikan secara matematis yang disebut vektor.
2. Raster Display. (70-an)
PRINTER vs PLOTTER
1. Printer : Raster Technology
2. Plotter : Vector Technology
D. KLASIFIKASI PENERAPAN GRAFIKA KOMPUTER
Software pengolah tata letak (layout)
- Software pengolah tata letak : yang banyak digunakan untuk pembuatan publikasi seperti buku atau majalah dengan jumlah halaman yang banyak ini memiliki kemampuan mengatur penempatan teks dan gambar yang biasanya dilengkapi dengan fasilitas pengaturan format teks dan template yang lengkap. Software yang termasuk dalam kelompok ini diantaranya adalah Adobe Pagemaker, Adobe FrameMaker, Adobe InDesign, Quark Xpress, Corel Ventura, Microsoft Word dan Microsoft Publisher.
- Software pengolah vektor/ garis
Software dalam kelompok ini banyak digunakan untuk mengolah gambar dalam bentuk garis dan kurva, sehingga sering disebut sebagai software ilustrasi. Software yang termasuk dalam kelompok ini diantaranya adalah CorelDraw, Macromedia FreeHand, Adobe Illustrator, Metacreation Expression dan Micrografx designer.
- Software pengolah pixel/ image
Software dalam kelompok ini banyak digunakan untuk memanipulasi dan memperbaiki foto atau membuat lukisan digital.Software yang termasuk dalam kelompok ini diantaranya adalah Adobe PhotoShop, Corel PhotoPaint, Microsoft Photo Editor, Micrografx Picture Publiser, dan Metacreation Painter.
- Software pengolah animasi 2 dimensi/ video
Software dalam kelompok ini banyak digunakan untuk mengolah, memproduksi atau mengedit animasi dua dimensi/ video. Dan software dalam kelompok ini masih dapat dibagi menjadi tiga kelompok lagi, yaitu: software editing video, software efek khusus, dan software pengolah animasi.
o Software editing video
Yang termasuk software editing video yang diantaranya adalah Adobe Premiere, Ulead MediaStudio, Ulead Video Studio, Vegas Video, Asymetrix Digital Video Producer, Film Edit, dan Discreet Edit.
o Software efek khusus
Sementara yang termasuk software efek khusus adalah Adobe AfterEffects, Discreet Logic Effects,Avid Media dan Digital Fussion.
o Software pengolah animasi dua dimensi
Dan yang termasuk software pengolah animasi dua dimensi adalah Macromedia Flash, SoftImage Toonz, dan Animo.Software pengolah animasi tiga dimensi Software dalam kelompok ini banyak digunakan untuk mengolah model dan animasi tiga dimensi seperti yang telah banyak digunakan dalam pembuatan film animasi tiga dimensi seperti Star Trex, babylon V, Bug’s Life, Toy Story dan Jurassic Park. Dan software yang termasuk dalam kelompok ini adalah 3D Studio, 3D Studio Max, Lightwave, Maya, Ray Dream, Poser, dan SoftImage.
Contoh Binary Tree
Binary Tree
#include <stdio.h>
#include <conio.h>
typedef struct Node{
int data;
Node *kiri;
Node *kanan;
};
//Menambah data pada tree
void tambah(Node **root,int databaru){
if((*root) == NULL){
//Data baru di declare sebagai node -->akar(root)
Node *baru;
baru = new Node;
baru->data = databaru;
//left and right masih empty set
baru->kiri = NULL;
baru->kanan = NULL;
(*root) = baru;
(*root)->kiri = NULL;
(*root)->kanan = NULL;
printf("Data bertambah!");
}
//Menambah susunan data
//jika data yang ditambah(databaru<akarnya-root-->kiri)
else if(databaru < (*root)->data)
tambah(&(*root)->kiri,databaru);
//Jika data yang ditambah(databaru>akarnya-root-->kanan)
else if(databaru > (*root)->data)
tambah(&(*root)->kanan,databaru);
//Jika data yang ditambah(databaru)==akarnya->data sudah ada)
else if(databaru == (*root)->data)
printf("Data sudah ada!");
}
//Fungsi untuk pre order (Node(data)-->Left-->Right)
void preOrder(Node *root){
//kondisi jika root terisi/tidak boleh kosong
if(root != NULL){
printf("%d ",root->data);
preOrder(root->kiri);
preOrder(root->kanan);
}
}
//Fungsi untuk in order (Left-->Node(data)-->Right)
void inOrder(Node *root){
//kondisi jika root terisi/tidak boleh kosong
if(root != NULL){
inOrder(root->kiri);
printf("%d ",root->data);
inOrder(root->kanan);
}
}
//Fungsi untuk post order (Left-->Right-->Node(data))
void postOrder(Node *root){
//kondisi jika root terisi/tidak boleh kosong
if(root != NULL){
postOrder(root->kiri);
postOrder(root->kanan);
printf("%d ",root->data);
}
}
void main(){
int pil,c;
//deklarasi pohon/tree
Node *pohon,*t;
//set kondisi awal pohon=0
pohon = NULL;
do{
clrscr();
//Menu tampilan awal saja-untuk menjalankan fungsi pilihan
int data;
printf("MENU\n");
printf("1. Tambah\n");
printf("2. Lihat pre-order\n");
printf("3. Lihat in-order\n");
printf("4. Lihat post-order\n");
printf("5. Exit\n");
printf("Pilihan : "); scanf("%d",&pil);
switch(pil){
//Kondisi jika menjalankan fungsi menambah data
case 1: printf("Data baru : ");scanf("%d",
&data);
tambah(&pohon,data);
break;
//Kondisi jika menjalankan fungsi tampilkan data secara preOrder
case 2: if(pohon!=NULL) preOrder(pohon);
else printf("Masih kosong!");
break;
//Kondisi jika menjalankan fungsi tampilkan data secara inOrder
case 3: if(pohon!=NULL) inOrder(pohon);
else printf("Masih kosong!");
break;
//Kondisi jika menjalankan fungsi tampilkan data secara postOrder
case 4: if(pohon!=NULL) postOrder(pohon);
else printf("Masih kosong!");
break;
}
getch();
//Sampai kondisi false berhenti
}while(pil!=5);
}