Resume Pertemuan ke - 2 Kuliah Komputer Grafik
(Cucun Very Angkoso S.Kom, M.Kom)
Dalam pertemuan ke dua mata kuliah KomGraf kali ini, kita akan mengenal dan membahas
lebih jauh tentang apa itu Open GL, GLUT, API
dan Microsoft VISUAL C++.
Sehingga nantinya kita akan mengetahui konsep dasar dari aplikasi-aplikasi
diatas ini, yang nantinya akan dapat digunakan dalam pembuatan
aplikasi-aplikasi atau project-project lain yang berhubungan dengan mata kuliah
KomGraf ini.
Open GL
Apakah Open GL itu??
Open GL adalah API yang dikenalkan oleh SGI (Silicon Graphic
Inc) pertama kali pada tahun 1980.
Awalnya Open GL diciptakan hanya untuk mendukung proses rendering untuk
computer grafaik produksi SGI.Namun akhirnya dijadikan standart bagi selurh
perusahaan hardware dan software d seluruh dunia.
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 yaitu Khronos Group.
Definisi Open GL - Open Graphics Library adalah spesifikasi
standar yang dapat di definisikan pada lintas bahasa pemrograman, lintas
platform API untuk write, dan juga menjalankan aplikasi untuk grafis 2D dan 3D.
Open GL terdiri dari 250 fungsi berbeda yang dapat
digunakan untuk menampilkan scene 3D yang kompleks pada komputer biasa. Open
GL secara luas digunakan dalam CAD, virtual reality, visualisasi ilmiah,
visualisasi informasi, simulasi penerbangan, dan juga dalam game.
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.
Salah satu kelebihan dari Open GL adalah
Fleksibilitas, sehingga Open GL dapat
digunakan pada hampir semua jenis operating system mulai Windows , Linux,
sampai MacOS X.
GLUT (Graphic Library Utility Toolkit)
di situs web dijelaskan dalam Lampiran A. Perintah untuk mendirikan sebuah jendela di mana kita
dapat membuat objek adalah sebagai berikut.
Toolkit yang digunakan di atas
dapat dibagi menjadi dua komponen:
Window penciptaan dan inisialisasi dan mendaftar
dan pengolahan callback fungsi
yang terkait dengan perangkat yang berbeda pada komputer. glutInit () Menginisialisasi
yang
GLUT perpustakaan dan harus panggilan fungsi pertama. glutInitDisplayMode () mendefinisikan mode tampilan seperti jenis penyimpanan piksel dan apakah buffer tunggal USU sekutu digunakan untuk menampilkan statis atau double buffer ketika menggunakan animasi. glutInitWindowSize (lebar, tinggi) menentukan ukuran jendela dan glutInitWindowPosition ()
menentukan posisi jendela GLUT dalam (x, y) piksel pada layar. Ini adalah baik ide untuk posisi ini jauh dari jendela konsol jika input / output yang terjadi
melalui kedua. glutCreateWindow () menciptakan jendela ukuran didefinisikan dengan judul bar dan nama.
GLUT perpustakaan dan harus panggilan fungsi pertama. glutInitDisplayMode () mendefinisikan mode tampilan seperti jenis penyimpanan piksel dan apakah buffer tunggal USU sekutu digunakan untuk menampilkan statis atau double buffer ketika menggunakan animasi. glutInitWindowSize (lebar, tinggi) menentukan ukuran jendela dan glutInitWindowPosition ()
menentukan posisi jendela GLUT dalam (x, y) piksel pada layar. Ini adalah baik ide untuk posisi ini jauh dari jendela konsol jika input / output yang terjadi
melalui kedua. glutCreateWindow () menciptakan jendela ukuran didefinisikan dengan judul bar dan nama.
Toolkit yang digunakan di atas
dapat dibagi menjadi dua komponen:
Window penciptaan dan inisialisasi dan mendaftar
dan pengolahan callback fungsi
yang terkait dengan perangkat yang berbeda pada komputer. glutInit () Menginisialisasi
yang
GLUT perpustakaan dan harus panggilan fungsi pertama. glutInitDisplayMode () mendefinisikan mode tampilan seperti jenis penyimpanan piksel dan apakah buffer tunggal USU sekutu digunakan untuk menampilkan statis atau double buffer ketika menggunakan animasi. glutInitWindowSize (lebar, tinggi) menentukan ukuran jendela dan glutInitWindowPosition ()
menentukan posisi jendela GLUT dalam (x, y) piksel pada layar. Ini adalah baik ide untuk posisi ini jauh dari jendela konsol jika input / output yang terjadi
melalui kedua. glutCreateWindow () menciptakan jendela ukuran didefinisikan dengan judul bar dan nama.
GLUT perpustakaan dan harus panggilan fungsi pertama. glutInitDisplayMode () mendefinisikan mode tampilan seperti jenis penyimpanan piksel dan apakah buffer tunggal USU sekutu digunakan untuk menampilkan statis atau double buffer ketika menggunakan animasi. glutInitWindowSize (lebar, tinggi) menentukan ukuran jendela dan glutInitWindowPosition ()
menentukan posisi jendela GLUT dalam (x, y) piksel pada layar. Ini adalah baik ide untuk posisi ini jauh dari jendela konsol jika input / output yang terjadi
melalui kedua. glutCreateWindow () menciptakan jendela ukuran didefinisikan dengan judul bar dan nama.
Jendela Manajemen
Lima rutinitas melakukan tugas-tugas yang diperlukan untuk menginisialisasi jendela.
Lima rutinitas melakukan tugas-tugas yang diperlukan untuk menginisialisasi jendela.
glutInit (int argc *, char ** argv) menginisialisasi GLUT dan proses argumen baris perintah apapun (untuk
X, ini akan menjadi pilihan seperti-layar dan-geometri). glutInit () harus dipanggil sebelum yang lain
GLUT rutin.
X, ini akan menjadi pilihan seperti-layar dan-geometri). glutInit () harus dipanggil sebelum yang lain
GLUT rutin.
glutInitDisplayMode (modus unsigned int) menentukan apakah akan menggunakan RGBA atau warna-warna indeks
model. Anda juga dapat menentukan apakah Anda ingin jendela tunggal atau double-buffer. (Jika Anda
bekerja dalam warna-indeks mode, Anda akan ingin memuat warna-warna tertentu ke dalam peta warna, penggunaan
glutSetColor () untuk melakukan hal ini.) Akhirnya, Anda dapat menggunakan rutin ini untuk menunjukkan bahwa Anda ingin jendela
untuk memiliki kedalaman yang terkait, stensil, dan / atau buffer akumulasi. Sebagai contoh, jika Anda ingin
jendela dengan double buffering, model warna RGBA, dan kedalaman buffer, yang Anda sebut
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH).
model. Anda juga dapat menentukan apakah Anda ingin jendela tunggal atau double-buffer. (Jika Anda
bekerja dalam warna-indeks mode, Anda akan ingin memuat warna-warna tertentu ke dalam peta warna, penggunaan
glutSetColor () untuk melakukan hal ini.) Akhirnya, Anda dapat menggunakan rutin ini untuk menunjukkan bahwa Anda ingin jendela
untuk memiliki kedalaman yang terkait, stensil, dan / atau buffer akumulasi. Sebagai contoh, jika Anda ingin
jendela dengan double buffering, model warna RGBA, dan kedalaman buffer, yang Anda sebut
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH).
glutInitWindowPosition(int x, int y) specifies the screen location for the upper-left corner of your
window.
window.
glutInitWindowSize (int lebar, int ukuran) menentukan ukuran, dalam pixel, jendela Anda.
int glutCreateWindow (char * string) menciptakan jendela dengan konteks OpenGL. Ia mengembalikan
unik pengenal untuk jendela baru. Jadilah memperingatkan: Sampai glutMainLoop () disebut (lihat berikutnya
bagian), jendela belum ditampilkan.
int glutCreateWindow (char * string) menciptakan jendela dengan konteks OpenGL. Ia mengembalikan
unik pengenal untuk jendela baru. Jadilah memperingatkan: Sampai glutMainLoop () disebut (lihat berikutnya
bagian), jendela belum ditampilkan.
Tampilan Callback
glutDisplayFunc (void (* func) (void)) merupakan acara pertama dan paling penting fungsi callback Anda akan
melihat. Setiap kali GLUT menentukan isi dari jendela perlu ditampilkan kembali, callback
fungsi didaftarkan oleh glutDisplayFunc () dijalankan. Oleh karena itu, Anda harus meletakkan semua rutinitas Anda
perlu redraw adegan dalam fungsi callback tampilan.
Jika program Anda mengubah isi dari jendela, kadang-kadang Anda harus menghubungi
glutPostRedisplay (void), yang memberikan glutMainLoop () sentuhan untuk memanggil balik layar terdaftar
pada kesempatan berikutnya...
glutDisplayFunc (void (* func) (void)) merupakan acara pertama dan paling penting fungsi callback Anda akan
melihat. Setiap kali GLUT menentukan isi dari jendela perlu ditampilkan kembali, callback
fungsi didaftarkan oleh glutDisplayFunc () dijalankan. Oleh karena itu, Anda harus meletakkan semua rutinitas Anda
perlu redraw adegan dalam fungsi callback tampilan.
Jika program Anda mengubah isi dari jendela, kadang-kadang Anda harus menghubungi
glutPostRedisplay (void), yang memberikan glutMainLoop () sentuhan untuk memanggil balik layar terdaftar
pada kesempatan berikutnya...
Program sederhana OPEN GL dengan menggunakan GLUT
Penaganan Perintah Penginputan
Anda dapat menggunakan rutinitas untuk mendaftar perintah callback yang dipanggil ketika peristiwa tertentu terjadi.
glutReshapeFunc (void (* func) (int w, int h)) menunjukkan tindakan apa yang harus diambil ketika
jendela adalah ukurannya.
glutKeyboardFunc (void (* func) (unsigned char key, int x, int y)) dan glutMouseFunc (void
(* func) (int tombol, negara int, int x, int y)) memungkinkan Anda untuk link tombol keyboard atau tombol mouse dengan
rutin yang dipanggil ketika tombol kunci atau mouse ditekan atau dilepaskan.
glutMotionFunc (void (* func) (int x, int y)) register rutin untuk menelepon kembali ketika mouse
pindah sementara tombol mouse juga ditekan.
Anda dapat menggunakan rutinitas untuk mendaftar perintah callback yang dipanggil ketika peristiwa tertentu terjadi.
glutReshapeFunc (void (* func) (int w, int h)) menunjukkan tindakan apa yang harus diambil ketika
jendela adalah ukurannya.
glutKeyboardFunc (void (* func) (unsigned char key, int x, int y)) dan glutMouseFunc (void
(* func) (int tombol, negara int, int x, int y)) memungkinkan Anda untuk link tombol keyboard atau tombol mouse dengan
rutin yang dipanggil ketika tombol kunci atau mouse ditekan atau dilepaskan.
glutMotionFunc (void (* func) (int x, int y)) register rutin untuk menelepon kembali ketika mouse
pindah sementara tombol mouse juga ditekan.
Mengelola Proses Latar Belakang
Anda dapat menentukan fungsi yang akan dieksekusi jika tidak ada peristiwa lain yang tertunda - misalnya, ketika
loop acara idle - dengan glutIdleFunc (void (* func) (void)). Rutin ini membutuhkan pointer
dengan fungsi sebagai argumen satu-satunya. Pass dalam NULL (nol) untuk menonaktifkan eksekusi dari fungsi.
Anda dapat menentukan fungsi yang akan dieksekusi jika tidak ada peristiwa lain yang tertunda - misalnya, ketika
loop acara idle - dengan glutIdleFunc (void (* func) (void)). Rutin ini membutuhkan pointer
dengan fungsi sebagai argumen satu-satunya. Pass dalam NULL (nol) untuk menonaktifkan eksekusi dari fungsi.
Menggambar Obyek Tiga-Dimensi
GLUT termasuk beberapa rutinitas untuk menggambar tiga-dimensi benda:
kerucut ikosahedron teko
kubus segi delapan tetrahedron
Dodekahedron lingkup torus
GLUT termasuk beberapa rutinitas untuk menggambar tiga-dimensi benda:
kerucut ikosahedron teko
kubus segi delapan tetrahedron
Dodekahedron lingkup torus
Anda dapat menarik benda-benda sebagai wireframes atau benda berbayang seperti yang solid dengan normals permukaan didefinisikan.Misalnya, rutinitas untuk kubus dan bola adalah sebagai berikut:
void glutWireCube (GLdouble ukuran);
void glutSolidCube (GLdouble ukuran);
void glutWireSphere (GLdouble jari-jari, kilatan irisan, kilatan tumpukan);
void glutWireCube (GLdouble ukuran);
void glutSolidCube (GLdouble ukuran);
void glutWireSphere (GLdouble jari-jari, kilatan irisan, kilatan tumpukan);
void glutSolidSphere (GLdouble jari-jari, kilatan irisan, kilatan tumpukan);
API (Application Program
Interface)
Dalam
beberapa contoh program sederhana, dibutuhkan setidaknya ribuan system calls
per detik. Oleh karena itu Kebanyakan programmer membuat aplikasi dengan
menggunakan Application Programming
Interface(API). Dalam API itu terdapat fungsi-fungsi/perintah-perintah
untuk menggantikan bahasa yang digunakan dalam system calls dengan
bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer.
Fungsi yang dibuat dengan menggunakan API tersebut kemudian akan memanggil system
calls sesuai dengan sistem operasinya. Tidak tertutup kemungkinan nama dari
system calls sama dengan nama di API.
Keuntungan
memprogram dengan menggunakan API adalah:
- Portabilitas. Programmer yang menggunakan API dapat menjalankan programnya dalam sistem operasi mana saja asalkan sudah ter- install API tersebut. Sedangkan system call berbeda antar sistem operasi, dengan catatan dalam implementasinya mungkin saja berbeda.
- Lebih Mudah Dimengerti. API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.
System
call interface ini berfungsi sebagai penghubung antara API dan system call yang
dimengerti oleh sistem operasi. System call interface ini akan menerjemahkan
perintah dalam API dan kemudian akan memanggil system calls yang diperlukan.
Untuk membuka suatu file tersebut user menggunakan
program yang telah dibuat dengan menggunakan bantuan API, maka perintah dari
user tersebut diterjemahkan dulu oleh program menjadi perintah open(). Perintah
open() ini merupakan perintah dari API dan bukan perintah yang langsung
dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan user
dapat dimengerti oleh sistem operasi, maka perintah open() tadi diterjemahkan
ke dalam bentuk system call oleh system call interface. Implementasi perintah
open() tadi bisa bermacam-macam tergantung dari sistem operasi yang kita
gunakan.API dapat di fungsikan kedalam beberapa macam kategori yaitu :
- Secara umum, set lengkap API yang dibundel di perpustakaan sebuah bahasa pemrograman, misalnya Template Library Standar dalam C + + atau Java API.
- Secara spesifik, dimaksudkan untuk mengatasi masalah yang spesifik, misalnya Google Maps API atau Java API untuk XML Web Services.
- Tergantung pada bahasa, berarti hanya tersedia dengan menggunakan sintaks dan elemen dari suatu bahasa tertentu, yang membuat API lebih nyaman untuk digunakan.
- Bahasa-independen, yang ditulis sehingga dapat dipanggil dari beberapa bahasa pemrograman. Ini merupakan fitur yang diinginkan untuk sebuah API berorientasi-layanan yang tidak terikat dengan proses tertentu atau sistem dan dapat diberikan sebagai prosedur panggilan jarak jauh atau layanan web. Sebagai contoh, sebuah website yang memungkinkan pengguna untuk meninjau restoran lokal mampu lapisan review mereka di atas peta yang diambil dari Google Maps, karena Google Maps memiliki API yang memfasilitasi fungsi ini. Google Maps 'API mengontrol informasi apa situs pihak ketiga dapat menggunakan dan bagaimana mereka dapat menggunakannya.
Microsoft Visual C++
C++ diciptakan oleh Bjarne Stroustrup di laboratorium Bell
pada awal tahun 1980-an, sebagai pengembangan dari bahasa C. Saat ini, C++
merupakan salah satu bahasa yang paling populer untuk pengembangan software
berbasis OOP. Kompiler untuk C++ telah banyak beredar di pasaran. Software
developer yang paling diminati adalah Borland Inc. dan Microsoft Corp. Produk
dari Borland untuk kompiler C++ adalah Turbo C++, Borland C++, Borland C++
Builder. Sedangkan dari Microsoft adalah Ms. Visual C++. Walaupun banyak
kompiler yang tersedia, namun pada intinya bahasa pemrograman yang dipakai
adalah C++. Sebelum mulai melakukan kode program, sebaiknya diingat bahwa C++ bersifat
“case sensitive”, yang artinya huruf besar dan huruf kecil dibedakan.
STRUKTUR BAHASA C++
Struktur penulisan bahasa C dapat dilihat dari contoh berikut :
Struktur penulisan bahasa C dapat dilihat dari contoh berikut :
// komentar …
#include
#include
void main ()
{
cout << "Program Pertama";
cout << "Selamat Belajar C++";
getch();
}
#include
#include
void main ()
{
cout << "Program Pertama";
cout << "Selamat Belajar C++";
getch();
}
// Komentar
merupakan sebuah baris komentar. Semua baris, yang ditandai dengan dua buah tanda slash (//), akan dianggap sebagai baris komentar dan tidak akan berpengaruh pada hasil. Biasanya, baris komentar dipakai oleh programmer untuk memberikan penjelasan tentang program.
Baris komentar dalam C++, selain ditandai dengan (//) juga dapat ditandai dengan (/*….*/) ini digunakan apabila komentar tersebut lebih dari satu baris
merupakan sebuah baris komentar. Semua baris, yang ditandai dengan dua buah tanda slash (//), akan dianggap sebagai baris komentar dan tidak akan berpengaruh pada hasil. Biasanya, baris komentar dipakai oleh programmer untuk memberikan penjelasan tentang program.
Baris komentar dalam C++, selain ditandai dengan (//) juga dapat ditandai dengan (/*….*/) ini digunakan apabila komentar tersebut lebih dari satu baris
#include
pernyataan yang diawali dengan tanda (#) merupakan pernyataan untuk menyertakan preprocessor. Pernyataan ini bukan untuk dieksekusi. #include berarti memerintahkan kompiler untuk menyertakan file header iostream.h. Dalam file header ini, terdapat beberapa fungsi standar yang dipakai dalam proses input dan output. Seperti misalnya perintah cout yang dipakai dalam program utama.
pernyataan yang diawali dengan tanda (#) merupakan pernyataan untuk menyertakan preprocessor. Pernyataan ini bukan untuk dieksekusi. #include berarti memerintahkan kompiler untuk menyertakan file header iostream.h. Dalam file header ini, terdapat beberapa fungsi standar yang dipakai dalam proses input dan output. Seperti misalnya perintah cout yang dipakai dalam program utama.
baris ini menandai dimulainya kompiler akan mengeksekusi program. Pernyataan main sebagai penanda program utama. Adalah suatu keharusan, dimana sebuah program yang ditulis dalam bahasa C++memiliki sebuah main. main diikuti oleh sebuah tanda kurung () karena main merupakan sebuah fungsi. Dalam bahasa C++ sebuah fungsi harus diikuti dengan tanda (), yang nantinya dapat berisi argumen. Dan sintak formalnya, sebuah fungsi dimulai dengan tanda {}, seperti dalam contoh program.
cout << "Program Pertama";
cout << "Selamat Belajar C++";
perintah ini merupakan hal yang akan dieksekusi oleh compiler dan merupakan perintah yang akan dikerjakan. cout termasuk dalam file iostream. cout merupakan perintah untuk menampilkan ke layer. Perlu diingat, bahwa setiap pernyataan dalam C++ harus diakhiri dengan tanda semicolon (;) untuk memisahkan antara pernyataan satu dengan pernyataan lainnya.
getch();
digunakan untuk meminta inputtan dari keyboard.
return 0;
pernyataan return akan menyebabkan fungsi main() menghentikan program dan mengembalikan nilai kepada main. Dalam hal ini, yang dikembalikan adalah nilai 0.
TIPE DATA
Terdapat 5 tipe data bawaan dari bahasa C, yaitu : void, integer, float, double, dan char.
void diartikan sebagai tanpa tipe data dan tanpa pengembalian nilai
int bilangan bulat (integer)
float bilangan pecahan (floating point)
double bilangan pecahan dengan jangkauan data yang lebih luas
char Karakter
Sedangkan C++ sendiri menambahkan dua buah tipe data lagi, yakni: bool dan wchar_t.
bool isi bilangan Boolean (True dan False)
wchar_t wide character
VARIABEL
Berbeda dengan pendeklarasian variabel di bahasa pemrograman lain, dalam C++ sebelum mendeklarasikan variabel, hal pertama yang harus dideklarasikan adalah tipe data yang akan digunakan untuk menampung data.
Format penulisannya adalah :
Tipe_data pengenal = nilai ;
Sebagai contoh :
int a;
float nomor;
atau dapat juga pemberian nilai awal untuk variable dilakukan pada saat deklarasi,
contoh :
int a=10;
char s=’a’;
KONSTANTA
Konstanta mirip dengan variable, namun memiliki nilai tetap. Konstanta dapat berupa nilai Integer, Float, Karakter dan String. Pendeklarasian konstanta dapat dilakukan dengan 2 cara :
menggunakan (#define)
deklarasi konstanta dengan cara ini, lebih gampang dilakukan karena akan menyertakan
#define sebagai preprocessor directive. Dan sintaknya diletakkan bersama – sama dengan pernyataan #include (di atas main()).
Format penulisannya adalah :
#define pengenal nilai
Contoh penggunaan :
#define phi 3.14159265
#define Newline ‘\n’
#define lebar 100
pendeklarasian dengan #define tanpa diperlukan adanya tanda = untuk memasukkan nilai ke dalam pengenal dan juga tanpa diakhiri dengan tanda semicolon(;).
menggunakan (const)
Sedangkan dengan kata kunci const, pendeklarasian konstanta mirip dengan deklarasi variable yang ditambah kata depan const.
Contoh :
const int lebar = 100;
const char tab = ‘\t’;
const zip = 1212;
Untuk contoh terakhir, deklarasi variable zip yang tanpa tipe data, maka compiler akan secara otomatis memasukkannya ke dalam tipe int.
KARAKTER & STRING LITERAL
String adalah gabungan dari karakter
Contoh : “ Belajar “ à Literal String
“ B “ à Karakter
Panjang String
strlen() à nama fungsi untuk menghitung panjang string
Fungsi strlen() dideklarasikan dalam file string.h.
Jadi bila anda ingin menggunakan fungsi strlen(),
maka prepocessor directive #include
harus dimasukkan dalam program diatas main().
#include
#include
#include
void main()
{
cout << strlen ("Selamat Sore \n") <<endl;
cout << strlen ("Selamat Sore ") <<endl;
cout << strlen ("Selamat ") <<endl;
cout << strlen ("Sore ") <<endl;
cout << strlen ("") <<endl;
getch();
}
TIPE BENTUKAN
Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.
TIPE STRUKTUR
Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
kemudahan dalam operasi.
Bentuk umumnya :
tyedef struct{ tipe nama_field1;
tipe nama_field2;
tipe nama_field3;
. . . .
#include
#include
typedef struct { int tanggal;
int bulan;
int tahun;
} data_tunggal;
data_tunggal tanggal_lahir;
void main()
{
tanggal_lahir.tanggal = 8;
tanggal_lahir.bulan = 2;
tanggal_lahir.tahun=2005;
cout << tanggal_lahir.tanggal << '/'
<< tanggal_lahir.bulan << '/'
<< tanggal_lahir.tahun << '/' <<endl;
getch();
}
6. OPERATOR
Dalam C++, terdapat berbagai macam operator yang dapat dimanfaatkan dalam aplikasi.
Operator Assign (=)
Operator (=), akan memberikan nilai ke dalam suatu variable
lvalue a = 5 rvalue
artinya memberikan nilai 5 ke dalam variable a. Sebelah kiri tanda = dalam pernyataan di atas, dikenal dengan lvalue (left value) dan di sebelah kanan tanda = dikenal dengan rvalue (right value). lvalue harus selalu berupa variable, sedangkan rvalue dapat berupa variable, nilai, konstanta, hasil operasi ataupun kombinasinya
Operator Aritmatika ( +, -, *, /, %)
Untuk operator %, sama dengan modulus, yaitu untuk mengetahui sisa hasil bagi. Misalnya a = 11 % 3, maka variable a akan terisi nilai 2 karena sisa hasil bagi 11 dan 3 adalah 2.
Operator Majemuk ( +=, -=, *=, /=, %=, <>=, &=, |= )
Dalam C++, operasi aritmatika dapat disederhanakan penulisannya dengan format penulisan operator majemuk.
Misalnya :
a += 5 sama artinya dengan menuliskan a = a+5
a *= 5 sama artinya dengan menuliskan a = a*5
a /= 5 sama artinya dengan menuliskan a = a/5
a %= 5 sama artinya dgn menuliskan a = a % 5
Operator Penaikan dan Penurunan (++ dan –)
Operator penaikan (++) akan menaikkan atau menambahkan 1 nilai variable. Sedangkan operator (–) akan menurunkan atau mengurangi 1 nilai variable.
Misalnya :
a++;
a+=1;
a=a+1;
untuk ketiga pernyataan tersebut, memiliki arti yang sama yaitu menaikkan 1 nilai variable 1.
Karakteristik dari operator ini adalah dapat dipakai di awal (++a) atau di akhir (–a) variable. Untuk penggunaan biasa, mungkin tidak akan ditemui perbedaan hasil dari cara penulisannya. Namun untuk beberapa operasi nantinya harus diperhatikan cara peletakan operator ini, karena akan berpengaruh terhadap hasil.
Operator Relasional (==, !=, >, =, 6)) mengembalikan nilai false, karena (true && false)
untuk logika NOT (!), contohnya !(5==5) akan mengembalikan nilai false, karena !(true).
Operator Kondisional ( ? )
Format penulisan operator kondisional adalah : kondisi ? hasil1 : hasil2
Jika kondisi benar maka yang dijalankan adalah hasil1 dan jika kondisi salah, maka akan dijalankan hasil2
Contoh hasil dari bentuk Segitiga (Triangle) menggunakan script Visual C++ dan Open GL menggunakan GLUT (Graphic Library Utility Tools)!




2 komentar:
thank's gan sangat membantu bagi saya yg pemula.
Bro Bisa mnta pncerahannya? kenapa pembuatan sebuah gambar itu di c++ borland menggunakan gl(glut) mengapa tidak yang lain, trus contohnya apa?
Posting Komentar