Disini saya akan berbagi ilmu tentang pembuatan bidang berbentuk 2D menggunakan bahasa C. Berikut ini coding programnya :

#include<graphics.h>
#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
int mulaimodegrafik ( const char* pBGIPath )
{
int GraphicDriver;
int GraphicMode;
detectgraph (&GraphicDriver , &GraphicMode);
initgraph (&GraphicDriver , &GraphicMode , pBGIPath);
return graphresult();
}
void tutupmodegrafik ()
{
closegraph();
}
int a;
mulaimodegrafik (“..BGI”);
for (a=1;a<=200;a++)

putpixel(270-a/4,50+a/4,20);
putpixel(270+a/4,50+a/4,40);
putpixel(220-a/4,100+a/4,20);
putpixel(220+a/4,100+a/4,40);
putpixel(320-a/4,100+a/4,20);
putpixel(320+a/4,100+a/4,40);
putpixel(170-a/4,150+a/4,20);
putpixel(170+a/4,150+a/4,40);
putpixel(270-a/4,150+a/4,20);
putpixel(270+a/4,150+a/4,40);
putpixel(370-a/4,150+a/4,20);
putpixel(370+a/4,150+a/4,40);
putpixel(120-a/4,200+a/4,20);
putpixel(120+a/4,200+a/4,40);
putpixel(220-a/4,200+a/4,20);
putpixel(220+a/4,200+a/4,40);
putpixel(320-a/4,200+a/4,20);
putpixel(320+a/4,200+a/4,40);
putpixel(320-a/4,200+a/4,20);
putpixel(320+a/4,200+a/4,40);
putpixel(420-a/4,200+a/4,20);
putpixel(420+a/4,200+a/4,40);
putpixel(70+a/4,250+a/4,40);
putpixel(170-a/4,250+a/4,20);
putpixel(170+a/4,250+a/4,40);
putpixel(270-a/4,250+a/4,20);
putpixel(270+a/4,250+a/4,40);
putpixel(370-a/4,250+a/4,20);
putpixel(370+a/4,250+a/4,40);
putpixel(470-a/4,250+a/4,20);
putpixel(120+a/4,300+a/4,40);
putpixel(220-a/4,300+a/4,20);
putpixel(220+a/4,300+a/4,40);
putpixel(320-a/4,300+a/4,20);
putpixel(320+a/4,300+a/4,40);
putpixel(420-a/4,300+a/4,20);
putpixel(170+a/4,350+a/4,40);
putpixel(270-a/4,350+a/4,20);
putpixel(270+a/4,350+a/4,40);
putpixel(370-a/4,350+a/4,20);
putpixel(170,400+a/4,20);
putpixel(370,400+a/4,20);
putpixel(170+a,400,40);
putpixel(170+a,450,40);
putpixel(170+a,412.5,40);
putpixel(170+a,437.5,40);
putpixel(120,412.5+a/8,20);
putpixel(420,412.5+a/8,20);
putpixel(120+a,412.5,40);
putpixel(220+a,412.5,40);
putpixel(120+a,437.5,40);
putpixel(220+a,437.5,40);
getch();
tutupmodegrafik();
return 0;
}

Penjelasa Codingnya.

Disini saya akan menjelaskan coding program dengan nama file GILANG.CPP. Pada program ini kita membahas pembuatan sebuah gambar bidang 2D dengan menggunakan bahasa C. Pada program ini saya membuat gambar 2D berbentuk bangun “Ketupat” yang dialasi dengan persegi panjang. Pada bangun ini kita menggunakan garis vertical, horizontal dan diagonal.

#include<graphics.h>
#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>

Blok program di atas medeklarasikan #include<graphics.h>, fungsi graphics.h digunakan sebagai fungsi pembuatan gambar pada program.  #include<dos.h>, #include<conio.h>, #include<stdio.h> dan #include <math.h>, fungsi math.h adalah sebagai tempat untuk meletakkan rumus-rumus pembuatan bangun dalam  bentuk koordinat.   Dan kegunaan include yang lainnya untuk menandakan fungsi – fungsi apa saja yang ingin kita buat pada program ini atau untuk melengkapi ketika kita pakai statement getch().

int mulaimodegrafik ( const char* pBGIPath )
{
int GraphicDriver;
int GraphicMode;
detectgraph (&GraphicDriver , &GraphicMode);
initgraph (&GraphicDriver , &GraphicMode , pBGIPath);
return graphresult();

}

Dari blok program diatas mendeklarasikan suatu variabel mulaimodegrafik  dengan tipe data integer yang berindeks const char*pBGIPath. Kemudian membuat variabel GraphicDriver dan variabel GraphicMode dengan tipe data integer. Lalu mendeteksi otomatis driver dan mode yang paling optimal untuk komputer ini dengan perintah detectgraph (&GraphicDriver, &GraphicMode);. Selanjutnya menginisialisasikan (memulai) mode grafik dengan menggunakan driver dan mode yang telah dipilih secara otomatis dengan initgraph (&GraphicDriver, &GraphicMode, pBGIPath);.

void tutupmodegrafik ()
{
closegraph();
}

Selanjutnya membuat sebuah void main dengan nama tutupmodegrafik yang didalamnya terdapat perintah closegraph maksudnya untuk kembali ke mode teks.

int a;

mulaimodegrafik (“..BGI”);

for (a=1;a<=200;a++)

putpixel(270-a/4,50+a/4,20);

putpixel(270+a/4,50+a/4,40);

putpixel(220-a/4,100+a/4,20);

putpixel(220+a/4,100+a/4,40);

putpixel(320-a/4,100+a/4,20);

putpixel(320+a/4,100+a/4,40);

putpixel(170-a/4,150+a/4,20);

putpixel(170+a/4,150+a/4,40);

putpixel(270-a/4,150+a/4,20);

putpixel(270+a/4,150+a/4,40);

putpixel(370-a/4,150+a/4,20);

putpixel(370+a/4,150+a/4,40);

putpixel(120-a/4,200+a/4,20);

putpixel(120+a/4,200+a/4,40);

putpixel(220-a/4,200+a/4,20);

putpixel(220+a/4,200+a/4,40);

putpixel(320-a/4,200+a/4,20);

putpixel(320+a/4,200+a/4,40);

putpixel(320-a/4,200+a/4,20);

putpixel(320+a/4,200+a/4,40);

putpixel(420-a/4,200+a/4,20);

putpixel(420+a/4,200+a/4,40);

putpixel(70+a/4,250+a/4,40);

putpixel(170-a/4,250+a/4,20);

putpixel(170+a/4,250+a/4,40);

putpixel(270-a/4,250+a/4,20);

putpixel(270+a/4,250+a/4,40);

putpixel(370-a/4,250+a/4,20);

putpixel(370+a/4,250+a/4,40);

putpixel(470-a/4,250+a/4,20);

putpixel(120+a/4,300+a/4,40);

putpixel(220-a/4,300+a/4,20);

putpixel(220+a/4,300+a/4,40);

putpixel(320-a/4,300+a/4,20);

putpixel(320+a/4,300+a/4,40);

putpixel(420-a/4,300+a/4,20);

putpixel(170+a/4,350+a/4,40);

putpixel(270-a/4,350+a/4,20);

putpixel(270+a/4,350+a/4,40);

putpixel(370-a/4,350+a/4,20);

putpixel(170,400+a/4,20);

putpixel(370,400+a/4,20);

putpixel(170+a,400,40);

putpixel(170+a,450,40);

putpixel(170+a,412.5,40);

putpixel(170+a,437.5,40);

putpixel(120,412.5+a/8,20);

putpixel(420,412.5+a/8,20);

putpixel(120+a,412.5,40);

putpixel(220+a,412.5,40);

putpixel(120+a,437.5,40);

putpixel(220+a,437.5,40);

 

Blok program diatas merupakan bagian untuk pendeklarasian gambar yang nanti akan ditampilkan di layar output nanti. Pertama mendeklarasikan terlebih dahulu variable a sebagai data integer kemudian membuat fungsi main dengan tipe data integer. Lalu untuk memulai menggunakan mode grafik menggunakan statement mulaimodegrafik (“..BGI”);. Kemudian menginisialisasikan sebuah variabel a bernilai 1, dengan syarat variabel a tersebut tidak lebih dari nilai 200 atau data yang kita input untutukkan berapa banyak perulangannya dan var a tersebut kita deklarasikan increamen dengan penambahan 1 maka program akan langsung mengeksekusi perintah-perintah untuk membuat gambar komputer tersebut. Perintah didalamnya terdapat perintah untuk membuat garis Vertikal dengan contoh putpixel(170,400+a/4,20);  maka garis vertikal akan terbentuk dimana garis x berada pada koordinat 170, garis y berada pada koordinat 400+a/2 dan untuk pewarnaannya saya beri 20 yang berarti warna merah, untuk garis-garis vertikal lainnya juga seperti itu hanya beda pada angka koordinat dan warnanya saja. Lalu untuk garis Horizontal  diberi contoh putpixel(120+a,412.5,40); maksudnya untuk garis x berada pada koordinat 120+a/, garis y berada pada koordinat 1412.5 dan untuk pewarnaannya saya beri nilai 40 yang berarti warna putih. Kemudian untuk garis Diagonal diberi contoh

putpixel(270-a/4,50+a/4,20); yang artinya garis x berada pada koordinat 270-a/4, garis y berada pada koordinat 50+a/4,20 dan untuk pewarnaannya diberi nilai 20 yang berarti warna merah.


getch();
tutupmodegrafik();
return 0;
}

Setelah itu mendeklarasikan statement getch untuk memasukkan sebuah karakter dengan penekanan enter dan tanpa menampilkan di layar monitor. Lalu dekalarasikan statment tutupmodegrafik untuk menutup statement mulaimodegrafik tadi. Selanjutnya terdapat perintah return 0 yang maksudnya program akan mengembalikan nilai awalnya menjadi 0 kembali.

Outputnya :