BAB
I
PENDAHULUAN
A. Pengertian Ilmu Hukum dan Pengantar Ilmu Hukum
1. Pengertian Ilmu hukum
Menurut Satjipto Rahardjo Ilmu hukum adalah ilmu pengetahuan yang berusaha
menelaah hukum. Ilmu hukum mencakup dan membicarakan segala hal yang berhubungan
dengan hukum. Ilmu hukum objeknya hukum itu sendiri. Demikian luasnya masalah
yang dicakup oleh ilmu ini, sehingga sempat memancing pendapat orang untuk
mengatakan bahwa “batas-batasnya tidak bisa ditentukan” (Curzon, 1979 : v).
Selanjutnya menurut J.B. Daliyo Ilmu hukum adalah ilmu pengetahuan yang
objeknya hukum. Dengan demikian maka ilmu hukum akan mempelajari semua seluk
beluk mengenai hukum, misalnya mengenai asal mula, wujud, asas-asas, sistem,
macam pembagian, sumber-sumber, perkembangan, fungsi dan kedudukan hukum di
dalam masyarakat. Ilmu hukum sebagai ilmu yang mempunyai objek hukum menelaah
hukum sebagai suatu gejala atau fenomena kehidupan manusia dimanapun didunia
ini dari masa kapanpun. Seorang yang berkeinginan mengetahui hukum secara
mendalam sangat perlu mempelajari hukum itu dari lahir, tumbuh dan
berkembangnya dari masa ke masa sehingga sejarah hukum besar perannya dalam hal
tersebut.
BAB
I
PENDAHULUAN
A. Pengertian Ilmu Hukum dan Pengantar Ilmu Hukum
1. Pengertian Ilmu hukum
Menurut Satjipto Rahardjo Ilmu hukum adalah ilmu pengetahuan yang berusaha
menelaah hukum. Ilmu hukum mencakup dan membicarakan segala hal yang berhubungan
dengan hukum. Ilmu hukum objeknya hukum itu sendiri. Demikian luasnya masalah
yang dicakup oleh ilmu ini, sehingga sempat memancing pendapat orang untuk
mengatakan bahwa “batas-batasnya tidak bisa ditentukan” (Curzon, 1979 : v).
Selanjutnya menurut J.B. Daliyo Ilmu hukum adalah ilmu pengetahuan yang
objeknya hukum. Dengan demikian maka ilmu hukum akan mempelajari semua seluk
beluk mengenai hukum, misalnya mengenai asal mula, wujud, asas-asas, sistem,
macam pembagian, sumber-sumber, perkembangan, fungsi dan kedudukan hukum di
dalam masyarakat. Ilmu hukum sebagai ilmu yang mempunyai objek hukum menelaah
hukum sebagai suatu gejala atau fenomena kehidupan manusia dimanapun didunia
ini dari masa kapanpun. Seorang yang berkeinginan mengetahui hukum secara
mendalam sangat perlu mempelajari hukum itu dari lahir, tumbuh dan
berkembangnya dari masa ke masa sehingga sejarah hukum besar perannya dalam hal
tersebut.
I. PENDAHULUAN
Negara dapat dikatakan sebagai Negara Hukum (rule of law) bilamana
superioritas hukum telah dijadikan sebagai aturan main (fair play)
dalam penyelenggaraan pemerintahan Negara, terutama dalam memelihara
ketertiban dan perlindungan terhadap hak-hak warganya.
Jhon Locke dalam karyanya “Second Tratise of Government”, telah
mengisyaratkan tiga unsur minimal bagi suatu Negara hukum, sebagai
berikut :
1. Adanya hukum yang mengatur bagaimana anggota masyarakat dapat menikmati hak asasinya dengan damai;
2. Adanya suatu badan yang dapat menyelesaikan sengketa yang timbul di bidang pemerintahan;
3. Adanya badan yang tersedia diadakan untuk penyelesaian sengketa yang timbul di antara sesama anggota masyarakat.
Pengertian dan
Ruang Lingkup Hukum
Hukum adalah
himpunan petunjuk hidup (perintahperintah dan larangan-larangan) yang mengatur
tata tertib dalam masyarakat yang seharusnya ditaati oleh seluruh anggota
masyarakat. Oleh karena itu, pelanggaran petunjuk hidup tersebut dapat
menimbulkan tindakan oleh pemerintah/ penguasa.
Untuk lebih
memudahkan batasan pengertian hukum, perlu kalian ketahui unsur-unsur dan
ciri-ciri
hukum, yaitu:
a. Unsur-unsur
hukum di antaranya ialah:
- Peraturan mengenai tingkah laku dalam pergaulan masyarakat;
- Peraturan itu diadakan oleh badan-badan resmi yang berwajib;
- Peraturan itu pada umumnya bersifat memaksa, dan
- Sanksi terhadap pelanggaran peraturan tersebut adalah tegas.
Adanya perintah dan/atau larangan Perintah dan/atau larangan itu harus ditaati setiap orang.
Tujuan Hukum
Secara umum tujuan hukum dirumuskan sebagai berikut:
a. Untuk mengatur tata tertib masyarakat secara damai dan adil.
b. Untuk menjaga kepentingan tiap manusia supaya kepentingan itu tidak dapat diganggu.
c. Untuk menjamin adanya kepastian hukum dalam pergaulan manusia.
Kalian dapat bayangkan, bagaimana kalau dalam masyarakat dan negara tidak ada atau tidak berlaku hukum. Apa yang akan terjadi? Hukum sangat penting bagi setiap orang dalam kehidupan bermasyarakat dan bernegara. Pertanyaan mengenai apa fungsi hukum itu dapat dikembalikan pada pertanyaan dasar : Apakah tujuan hukum itu ?
Tujuan pokok dari hukum adalah terciptanya ketertiban dalam masyarakat. Ketertiban adalah tujuan pokok dari hukum. Ketertiban merupakan syarat pokok (fundamental) bagi adanya suatu masyarakat manusia di
manapun juga.
Untuk mencapai ketertiban dalam masyarakat diperlukan adanya kepastian hukum dalam pergaulan antar manusia dalam masyarakat. Tanpa kepastian hukum dan ketertiban masyarakat, manusia tidak mungkin mengembangkan bakat-bakat dan kemampuan yang diberikan Tuhan kepadanya secara optimal. Dengan demikian, tujuan hukum adalah terpelihara dan terjaminnya kepastian dan ketertiban. Selain itu, menurut Mochtar Kusumaatmadja, tujuan lain dari hukum adalah tercapainya keadilan. Namun, keadilan itu sering dipahami secara berbeda-beda isi dan ukurannya, menurut masyarakat dan zamannya.
Pembagian Hukum
- Hukum Menurut Bentuknya
- Hukum tertulis, yaitu hukum yang dicantkan dalam berbagai peraturan perundang-undangan
- Hukum tidak tertulis, yaitu hukum yang masih hidup dalam keyakinan masyarakat, tetapi tidak tertulis namun berlakunya ditati seperti suatu peraturan perundang-undangan
- Hukum Menurut Tempat Berlakunya
- Hukum nasional, yaitu huku yang berlaku di suatu Negara
- Hukum internasional, yaitu hukum yang mengatur hubungan dunia internasional
- Hukum asing, yaitu hukum yang diberlakukan di negara lain
- Hukum Menurut Sumbernya
- Sumber hokum material, yaitu kesadaran hukum masyarakat atau sumber isi hukum yang menentukan agar sesuatu dapat disebut hokum dan mempunyai kekuatan mengikat
- Sumber hokum formil, yaitu sumber hukum yang membentuk hukum, menentukan berlakunya hukum atau berkaitan dengan tata cara pembentukannya
- Hukum Menurut Waktu Berlakunya
- IUS CONSTITUTUM (hukum positif) yaitu hukum yang berlaku sekarang bagi suatu masyarakat tertentu dalam wilayah tertentu
- IUS CONSTITUENDUM, yaitu hukum yang diharapkan berlaku pada masa yang akan datang
- Hukum Menurut Isinya
- Hukum Privat, yaitu hukum yang mengatur hubungan hukum antara orang yang satu dengan orang yang lain, dengan menitik beratkan kepada kepentingan perorangan
- Hukum Publik, yaitu hukum yang mengatur hubungan antara Negara dengan alat perlengkapannya atau Negara dengan perorangan.
- Hukum Menurut Cara Mempertahankannya
- Hukum Formil, yaitu hukum yang memuat peraturan yang mengatur bagaimana cara melaksanakan dan memepertahankan hukum materil
- Hukum Materil, yaitu hukum yang memuat peraturan yang mengatur kepentingan – kepentingan dan hubungan yang wujud perintah dan larangan – larangan
- Hukum Menurut Sifatnya
- Hukum yang memaksa, yaitu hukum yang dalam keadaan bagimanapun juga harus dan mempunyai paksaan mutlak
- Hukum yang mengatur, yaitu hukum yang dapat dikesampingkan apabila pihak – pihak yang bersangkutan telah membuat peraturan sendiri dalam perjanjian
Hukum Publik terdiri dari :
- Hukum Tata Negara, yaitu hukum yang mengatur bentuk dan susunan pemerintahan suatu negara serta hubungan kekuasaan antara alat-alat perlengkapannya satu sama lain, dan hubungan antara Negara (Pemerintah Pusat) dengan bagian-bagian negara (daerah-daerah swantantra).
- Hukum Administrasi Negara (Hukum Tata Usaha Negara atau Hukum Tata Pemerintahan), yaitu hukum yang mengatur cara-cara menjalankan tugas (hak dan kewajiban) dari kekuasaan alatalat perlengkapan negara.
- Hukum Pidana ( Pidana = hukuman), yaitu hukum yang mengatur perbuatan perbuatan apa yang dilarang dan memberikan pidana kepada siapa yang melanggarnya serta mengatur bagaimana cara-cara mengajukan perkara-perkara ke muka pengadilan.
- Hukum Internasional, yang terdiri dari Hukum Perdata Internasional dan Hukum Publik Internasional. Hukum Perdata Internasional, yaitu hukum yang mengatur hubungan-hukum antara warga negarawarga negara sesuatu bangsa dengan warga negara-warga negara dari negara lain dalam hubungan internasional. Hukum Publik Internasional (Hukum Antara Negara), yaitu hukum yang mengatur hubungan antara negara yang satu dengan negara-negara yang lain dalam hubungan internasional.
Dalam hukum terdapat azas perundang-undangan, antara lain :
1. "nullum delictum nula poena sine praevia lege
poenali", yang artinya tidak ada suatu perbuatan dapat dipidana kecuali
telah ada ketentuan atau undang-undangnya. Hal ini dapat dipahami bahwa
segala perbuatan pelanggaran atau kejahatan apapun tidak dapat dipidana
atau diberi hukuman bila tidak ada undang-undang yang mengaturnya.
2.
"Lex specialis derogat legi generali", artinya hukum yang khusus
mengesampingkan hukum yang umum. Atau segala undang-undang ataupun
peraturan yang khusus mengabaikan atau mengesampingkan undang-undang
yang umum.
Contoh : Apabila terdapat kekerasan dalam rumah tangga, maka
pelaku dapat dikenai UU KDRT, bukan KUHPidana. Pemakaian hukum yang
khusus ini antara lain karena hukumannya yang lebih berat dibandingkan
dengan KUHPidana.
3. "Lex posteriori derogat legi priori", artinya
hukum yang baru mengesampingkan hukum yang lama. Maksudnya ialah, UU
yang baru mengabakan atau mengesampingkan UU yang lama dalam hal yang
sama. Dengan kata lain UU yang baru ini dibuat untuk melengkapi dan
menyempurnakan serta mengoreksi UU yang lama. Sehingga UU yang lama
sudah tidak berlaku lagi.
4. "Lex superior derogat legi inferiori",
artinya hukum yang urutan atau tingkatnya lebih tinggi mengesampingkan
atau mengabaikan hukum yang lebih rendah. Bila terdapat kasus yang sama,
akan tetapi ketentuan undang-undangnya berbeda, maka ketentuan
undang-undang yang dipakai adalah UU yang tingkatnya lebih tinggi.
Contoh : UU lebih tinggi dari PP, maka PP diabaikan dan harus berpatokan
pada UU.
Gerbong reformasi terus
berjalan di negara kita, walau di rasa agak lamban namun melaju secara
pasti ke arah tujuan yang dicita-citakan pendiri bangsa ini, sebagaimana
pepatah lebih baik lambat daripada tidak sama sekali. Salah satu yang
perlu dibanggakan adalah diterbitkanya undang undang yang mewajibkan penyelenggara negara
untuk lebih bersikap transparan kepada warganya, dimana telah diatur di
dalamnya hak rakyat untuk mengetahui dan memperoleh informasi sesuai
dengan peraturan perundang-undangan.
Dengan mengacu pada pasal
28F UUD 1945 yang menyebutkan bahwa setiap orang berhak untuk
berkomunikasi dan memperoleh informasi untuk mengembangkan pribadi dan
lingkungan sosialnya. Termasuk hak untuk mencari, memperoleh memiliki
dan menyimpan informasi dengan menggunakan segala jenis saluran yang
ada.
Dengan dasar dan pertimbangan itu pemerintah menerbitkan Undang Undang Nomor 14 Tahun 2008 tentang Keterbukaan Informasi Publik yang mengatur lebih dalam tentang keterbukaan informasi dan transparansi penyelenggaraan negara sebagai salah satu wujud dari kehidupan berbangsa dan bernegara yang demokratis.
Dalam
bab 1 pasal 1 UU ini dijelaskan bahwa informasi adalah keterangan,
pernyataan, gagasan dan tanda tanda yang mengandung nilai, makna dan
pesan baik data, fakta maupun penjelasannya yang dapat dilihat didengar
dan dibaca yang disajikan dalam berbagai kemasan dan format sesuai
dengan perkembangan teknologi informasi dan komunikasi secara elektronik
maupun non-elektronik. Sedang informasi publik adalah informasi yang
dihasilkan, disimpan, dikelola, dikirim dan/atau diterima oleh
penyelenggara negara dan penyelenggaraan negara dan/atau penyelenggara
dan penyelenggaraan badan publik lainnya yang sesuai dengan UU ini serta
informasi lain yang berkaitan dengan kepentingan publik. Badan publik
adalah lembaga eksekutif, legislatif dan yudikatif dan badan badan lain
yang fungsi dan tugas pokoknya berkaitan dengan penyelenggaraan negara,
yang sebagian seluruh dananya bersumber dari APBN dan/atau APBD,
sumbangan masyarakat atau bantuan luar negeri.
Dalam pasal 4
dijelaskan tentang hak masyarakat sebagai pemohon atau pengguna
informasi publik untuk memperoleh, mengetahui, melihat, menghadiri,
mendapatkan dan menyebarluaskan informasi sesuai dengan peraturan
perundang-undangan yang berlaku. Setiap permohonan informasi harus
disertai dengan alasan yang jelas dan diajukan secara lesan maupun
tertulis. Setiap informasi yang diperoleh oleh masyarakat harus
dipergunakan dengan sebaik-baiknya menurut peraturan perundang-undangan.
Dalam
pasal 6 dan 7 disebutkan hak dan kewajiban badan publik dalam menerima
permintaan informasi yang diajukan oleh masyarakat pengguna informasi.
Badan publik mempunyai hak untuk menolak memberikan informasi yang
dikecualikan sesuai dengan ketentuan peraturan perundang-undangan. Dalam
hal ini, informasi publik yang tidak dapat diberikan adalah :
* informasi yang dapat membahayakan negara.
* informasi yang berkaitan dengan kepentingan perlindungan usaha dari persaingan usaha yang tidak sehat.
* informasi yang berkaitan dengan hak pribadi.
* informasi yang berkaitan dengan rahasia jabatan.
* informasi yang diminta belum dikuasai atau belum didokumentasikan.
Selain yang tersebut di-atas, tidak ada alasan bagi badan publik untuk menolak permintaan informasi dari masyarakat pengguna informasi publik. Oleh karenanya badan publik
harus bersikap terbuka terhadap masyarakat. Selain itu dalam UU ini
diatur juga adanya sangsi pidana yang diberikan berkaitan dengan
pemberian dan penggunaan informasi publik yang tertuang dalam pasal 51
sampai pasal 57, dimana intinya kepada masyarakat pengguna informasi
publik yang menyalahgunakan informasi
tersebut maupun badan publik yang tidak mau memberikan informasi publik
dikenai sangsi pidana penjara dan denda. Dengan demikian pemberian
informasi dan penggunaannya harus dilakukan secara bertanggung jawab.
Untuk lebih lengkapnya peraturan ini dapat didownload pada produk hukum tahun 2008 di Website Resmi Sekretariat Negara Republik Indonesia.
- Adalah segala sesuatu yang menurut hukum dapat menjadi pendukung (dapat memiliki) hak dan kewajiban. . Setiap manusia, baik warga negara maupun orang asing adalah subjek hukum. Jadi dapat dikatakan, bahwa setiap manusia adalah subjek hukum sejak dilahirkan sampai meninggal dunia. ) Meskipun menurut hukum sekarang ini, setiap orang tanpa kecuali dapat memiliki hak¬haknya, akan tetapi dalam hukum, tidak semua orang dapat diperbolehkan bertindak sendiri di dalam melaksanakan hak-haknya itu. Mereka digolongkan sebagai orang yang “tidak cakap” atau “kurangcakap” untuk bertindak sendiri dalam melakukan perbuatan¬perbuatan hukum, sehingga mereka itu harus diwakili atau dibantu oleh orang lain.
- Yang dapat dikategorikan sebagai Subjek Hukum adalah Manusia (Natuurlijk persoon) dan Badan Hukum (Rechts persoon)
- Adalah setiap orang yang mempunyai kedudukan yang sama selaku pendukung hak dan kewajiban. Pada prinsipnya orang sebagai subjek hukum dimulai sejak lahir hingga meninggal dunia. Namun ada pengecualian menurut Pasal 2 KUHPerdata, bahwa bayi yang masih ada di dalam kandungan ibunya dianggap telah lahir dan menjadi subjek hukum jika kepentingannya menghendaki, seperti dalam hal kewarisan. Namun, apabila dilahirkan dalam keadaan meninggal dunia, maka menurut hukum ia dianggap tidak pernah ada, sehingga ia bukan termasuk subjek Hukum.
- Ada juga golongan manusia yang tidak dapat menjadi subjek hukum, karena tidak cakap dalam melakukan perbuatan hukum (Personae miserabile) yaitu :
1). Badan hukum publik, seperti negara, propinsi, dan kabupaten.
2). Badan hukum perdata, seperti perseroan terbatas (PT), yayasan, dan koperasi.
OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya.
OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu, package OpenGL tersebut dapat di-download pada situs http://www.opengl.org sesuai dengan bahasa pemrograman yang akan digunakan.
Opengl melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API.
Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan).
1.1.Evolusi OpenGL
Pendahulu openGL adalah IRIS GL dari Silicon Grapics.Padamulanya adalah library grafis 2D,yang berefolusi menjasi API program 3D untuk workstation canggih milik perusahaan tersebut.
OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan portable IRIS.API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan standar yang lebih terbuka,dengan input dari pembuatan hardware lain dan sistem operasi lain,dan akn memudahkan adaptasi ke hardware platform dan sistem operasi lain.
Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk mengembangkan standart openGL,dan beberapa vendor menyambut hal tersebut dengan membentuk OpenGL Architecture Review Board (ARB) Pendiri openGL adalah SGI,Digital Equepment Corporation,IBM,Intel dan Microsoft,pada tanggal 1 juli 1992 OpenGL versi 1.0 diperkenalkan.
Letak openGL dalam aplikasi gambar di atas pada umumnya ketika aplikasi berjalan program tersebut memanggil banyak fungsi,beberapa yang dibuat oleh programer dan beberapa yang disediakan oleh sistem operasi bahasa pemrograman.Aplikasi windows membuat output pada layar biasanya dengan memanggil sebual API windows yang disebut Graphics Devise Interfase,yang memungkinkan sebagai penulisan teks pada sebuah windows,menggambar garis 2D sederhana dan lainnya.Implementasi dari openGL mengambil permintaan grafis dari aplikasi dan membangun sebuah gambar berwarna dari grafis 3D,kemudian memberikan gambar tersebut ke GDI untuk ditampilkan pada layar monitor.
1.2.Cara kerja openGL
OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tau untuk menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan.Langkah tersebut termasuk memanggil banyak perintah openGL,perintah tersebut digunakan untuk menggambarkan grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai tambahan,openGL mendukung lighting,shading,texture mapping,blending,transparancy,dan banyak kemampuan efek khusus lainnya.
OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas, penggunaan openGL membutuhkan library tambahan yang harus di letakkan pada direktory system dari windows (OS),yaitu :
OpenGL32.dll
Glu32.dll
Glut32.dll
1.2.1.Inisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan
obyek ke dalam layar monitor,viewport adalah besarnya layar monitor(image) yang dipakai
untuk menampilkanobyek,sedangkan persepektif yang dimaksud adalah pengaturan sumbu z
dalam penampilan obyek 3 dimensi,sehingga user dapat melihat obyek seolah-olah dalam
bidang 3 dimensi (X-Y-Z),selain itu penggambaran obyek yang dilakukan oleh programer
juga dapat menggunaan koordinat 3 dimensi.
Selain ke dua tujuan di atas pada tahap ini juga dilakukan koneksi awal dengan library
openGL, koneksi ini dilakukan supaya fungsi-fungsi yang di sediakan openGL dapat
digunakan.Funsi/prosedur yang digunakan :
LoadGlut(‘glut32.dll) - pemanggilan library openGL
InitGL – inisialisasi openGL awal yang harus dilakukan
glViewport – untuk pengaturan viewport
glMatrixMode – pengaturan viewport
gluPerspective – pengaturan persepektif
Contoh script untuk inisialisasi openGL :
Try
LoadGlut(‘glut32.dll’);
InitGL;
Exept on e := exeption do
Begin
messageDlg{e.message,mtError,[mbOk],};
Halt {1};
End;
End;
Script di atas merupakan script yang paling sederhana, dalam artian minimal diperlukan
untuk menginisialisasi penggunaan openGL.Fungsi-fungsi lain seperti yang disebut diatas
seperti glViewport,glMatrixMode,dapat di tambah kan pada script sesuai dengan kebutuhan.
1.2.2.Pembuatan gambar
Didalam openGL pembuatan obyek dilakukan dengan titik-titik 3 dimensi,dengan
mode GL_QUARDS, maka otomatis setiap 4 titik digambar menjadi sebuah bidang segi
empat,sedangkan mode GL_LINES, pada setiap 2 titik digambar manjadi sebuah garis.Di
dalam tahap ini setiap garis atau bidang juga dapat di atur warnanya.
Funsi atau prosedur yang digunakan :
mode GL_QUARDS – menggambarkan segi empat
mode GL_LINES – menggambark garis
glVertex3f- penentuan titik 3 dimensi
glColor3f – penentuan warna
Berikut ini akan diberikan contoh script sederhana (tidak utuh,hanya sepengggaalan)
beserta output yang dihasilkan,untuk menunjukkan proses pembuatan gambar atau obyek
pada delphi,dengan library tambahan open GL.
Contoh pembuatan titik 3 warna :
glClearColor(1,1,1,0); //warna dasar ;1,1,1,0 adalah putih
glBegin(GL_POINTS); //untuk membuat titik
glColor3f(1,0,0); //penentuan warna titik 1 dan posisinya
glVertex3f(-0.1,-0.1,0.1);
glColor3f(0,1,0); //penentuan warna titik 2 dan posisisya
glVertex3f(0.1,-0.1,0.1);
glColor3f(0,0,1); //penentuan titik 3 dan posisinya
glColor3f(0,0.1,-0.1);
glEnd;
Contoh pembuatan garis :
glClearColor(1,1,1,0); // warna background putih
glColor3f(0,0,0); // warna garis hitam
glBegin(GL_LINES); //digunakan untuk membua garis tiap 2 titik yang ada
glVertex3f(0,0,-0.1); //garis 1
glVertex3f(0.3,0.2,0.1);
glVertex3f(0.1,-0.1,-0.2); // garis 2
glVertex3f(0.3,-0.2,0.1);
glEnd;
Contoh pembuatan bidang segi empat :
glClearColor(1,1,1,0); // warna background putih
glBegin(GL_QUARDS); //untuk membuat segi empat dalam tiap4 titik
glColor3f(1,0,0); //posisi titik 1 dengan gradiasi warnanya
glVertex3f(-0.2,0.2,0.2);
glColor3f(1,0,0); //posisi titik 2 dengan gradiasi warnanya
glVertex3f(0.2,0.2,0.2);
glColor3f(1,0,1); //posisi titik 3 dengan gradiasi warnanya
glVertex3f(0.2,-0.2,0.2);
glColor3f(0,1,1); //posisi titik 4 dengan gradiasi warnanya
glVertex3f(-0.2,-0.2,0.2);
glEnd;
Contoh gambar 3D menggunaan openGL pada delphi :
program BasicDelphi;
uses
Windows,Messages,OpenGL;
var
HGLRC_VarG : HGLRC;
HDC_VarG : HDC;
HWND_VarG : HWND;
keys : array [0..255] of bool;
SudutPutar : single = 0.0;
//set ukuran window OpenGL
LebarW : integer = 350;
TinggiW : integer = 350;
function WindowProc(HWND_P : HWND; MESSAGE_P : UINT; WPARAM_P :
WPARAM; LPARAM_P : LPARAM) : LRESULT; stdcall;
begin
case MESSAGE_P of
WM_KEYUP:
begin
keys[WPARAM_P] := false;
result:=0;
end;
WM_KEYDOWN:
begin
keys[WPARAM_P] := true;
result:=0;
end;
end;
Result := DefWindowProc(HWND_P, MESSAGE_P, WPARAM_P, LPARAM_P);
end;
procedure CloseOpenGL;
begin
if HGLRC_VarG <> 0 then
begin
wglMakeCurrent(HDC_VarG, 0);
wglDeleteContext(HGLRC_VarG);
end;
releaseDC(HWND_VarG, HDC_VarG);
destroywindow(HWND_VarG);
UnregisterClass('OpenGl3DwithDelphi',hInstance);
HGLRC_VarG := 0;
HDC_VarG := 0;
HWND_VarG := 0;
end;
function CreateOpenGL(HINST_P : HINST) : boolean stdcall;
var
iPixelFormat : integer;
WCLASSEX : WNDCLASSEX;
pfd : PIXELFORMATDESCRIPTOR;
begin
WCLASSEX.cbSize := Sizeof(WCLASSEX);
WCLASSEX.style := CS_HREDRAW or CS_VREDRAW;
WCLASSEX.lpfnWndProc := @WindowProc;
WCLASSEX.cbClsExtra := 0;
WCLASSEX.cbWndExtra := 0;
WCLASSEX.hInstance := HINST_P;
WCLASSEX.hIcon := LoadIcon(0, IDI_WINLOGO);
WCLASSEX.hCursor := LoadCursor(0,IDC_WAIT);
WCLASSEX.hbrBackground := 0;
WCLASSEX.lpszMenuName := nil;
WCLASSEX.lpszClassName:= 'OpenGl3DwithDelphi';
if RegisterClassEX(WCLASSEX) = 0 then
begin
MessageBox(0, 'Registrasi Window Class gagal, program dihentikan', 'Error window', MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
HWND_VarG := CreateWindowEx(0,'OpenGl3DwithDelphi',
'Gambar 3D(Tekan Esc untuk keluar)',0,0,0,LebarW, TinggiW,0, 0, HINST_P, nil);
if HWND_VarG = 0 then
begin
MessageBox(0, 'Pembuatan OpenGL window gagal, program dihentikan', 'Error window',MB_OK or MB_ICONERROR);
Result:=false;
exit;
end;
pfd.nSize := SizeOf(PIXELFORMATDESCRIPTOR);
pfd.nVersion := 1;
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
pfd.iPixelType := PFD_TYPE_RGBA;
pfd.cColorBits := 16;
pfd.cRedBits := 0;
pfd.cRedShift := 0;
pfd.cGreenBits := 0;
pfd.cBlueBits := 0;
pfd.cBlueShift := 0;
pfd.cAlphaBits := 0;
pfd.cAlphaShift := 0;
pfd.cAccumBits := 0;
pfd.cAccumRedBits := 0;
pfd.cAccumGreenBits := 0;
pfd.cAccumBlueBits := 0;
pfd.cAccumAlphaBits := 0;
pfd.cDepthBits := 16;
pfd.cStencilBits := 0;
pfd.cAuxBuffers := 0;
pfd.iLayerType := PFD_MAIN_PLANE;
pfd.bReserved := 0;
pfd.dwLayerMask := 0;
pfd.dwVisibleMask := 0;
pfd.dwDamageMask := 0;
HDC_VarG := GetDC(HWND_VarG);
if HDC_VarG = 0 then
begin
MessageBox(0, 'Pembuatan Device Context gagal, program dihentikan', 'Error device',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
iPixelFormat := ChoosePixelFormat(HDC_VarG, @pfd);
if iPixelFormat = 0 then
begin
MessageBox(0, 'Pencarian Pixel Format gagal, program dihentikan', 'Error pixel format',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
if (not SetPixelFormat(HDC_VarG, iPixelFormat, @pfd)) then
begin
MessageBox(0, 'Set Pixel Format gagal, program dihentikan', 'Error pixel format',MB_OK or MB_ICONERROR);
Result:=false;
exit;
end;
HGLRC_VarG := wglCreateContext(HDC_VarG);
if HGLRC_VarG = 0 then
begin
MessageBox(0, 'Pembuatan Rendering Context gagal, program dihentikan', 'Error rendering context',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
if (not wglMakeCurrent(HDC_VarG, HGLRC_VarG)) then
begin
MessageBox(0, 'Pengaktifan Rendering Context gagal, program dihentikan', 'Error rendering context',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
ShowWindow(HWND_VarG, SW_SHOW);
glViewport(0, 0, LebarW, TinggiW);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, LebarW / TinggiW, 1.0, 1000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
Result := true;
end;
procedure Display_Grafik;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslated(0.0, 0.0, -5.5);
glRotated(SudutPutar, 1.0, 1.0, 1.0);
//polygon depan
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, 1.0, 1.0);
glVertex3d(-1.0, 1.0, 1.0);
glEnd();
//polygon belakang
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, -1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glEnd();
//polygon kanan
glBegin(GL_LINE_LOOP);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d( 1.0, 1.0, 1.0);
glEnd();
//polygon kiri
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d(-1.0, -1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, 1.0);
glEnd();
//polygon atas
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, 1.0, 1.0);
glVertex3d( 1.0, 1.0, 1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glEnd();
//polygon bawah
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d(-1.0, -1.0, -1.0);
glEnd();
SudutPutar := SudutPutar + 0.1;
SwapBuffers(HDC_VarG);
end;
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar;
nCmdShow: integer): integer; stdcall;
var
msg : TMSG;
Selesai : Bool;
begin
Selesai := false;
if not CreateOpenGL(hInstance) then
begin
CloseOpenGL;
Result := 0;
exit;
end;
glEnable(GL_DEPTH_TEST);
glClearColor(0.0, 0.5, 5.0, 0.5);
while not Selesai do
begin
PeekMessage(msg, 0, 0, 0, PM_REMOVE);
if msg.message <> WM_QUIT then
begin
Display_Grafik;
if keys[VK_ESCAPE] then
Selesai := true;
TranslateMessage(msg);
DispatchMessage(msg);
end
end;
CloseOpenGL;
result := msg.wParam;
end;
begin
WinMain(hInstance, hPrevInst, CmdLine, CmdShow);
end.
Selain OpenGL ada juga tools/library grafik yang dapat dipergunakan yaitu DirectX. Namun tools ini hanya dapat dipergunakan pada Microsoft Windows.
Masing-masing perintah atau fungsi dalam OpenGL mempunyai struktur dan format yang sama.
Perintah dan Arti Keterangan pada openGL
glVertex2i(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah integer dan 2 dimensi yaitu x dan y
glVertex2f(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah float dan 2 dimensi yaitu x dan y
glVertex3i(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah integer dan 2 dimensi yaitu x, y dan z
glVertex3f(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah float dan 2 dimensi yaitu x, y dan z
glClearColour(R, G, B, ?); Warna latar belakang Empat komponen warna yaitu Red, Green, Blue dan alpha
glColor3f(R, G, B); Warna latar muka (pena) Tiga komponen warna yaitu Red, Green dan Blue
glColor4f(R, G, B); Warna latar muka (pena) Empat komponen warna yaitu Red, Green, Blue dan alpha
glPointSize(k); Ukuran titik k piksel Besar kecilnya ukuran titik tergantung pada k (integer)
glBegin(GL_POINTS); Titik Objek primitive (lihat gambar 2.2)
glBegin(GL_LINES); Garis Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_STRIP); Poligaris Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_LOOP); Poligaris tertutup (polygon) Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLES); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLE_STRIP); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLE_FAN); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_QUADS); Segiempat Objek primitive (lihat gambar 2.2)
glBegin(GL_QUAD_STRIP); Segiempat Objek primitive (lihat gambar 2.2)
glBegin(GL_POLYGON); Poligon Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_STIPPLE); Garis putus-putus Objek primitive
glBegin(GL_POLY_STIPPLE); Poligon dengan pola tertentu Objek primitive
glRect(GLint x1, GLint y1, GLint x2, GLint y2); Segiempat siku-siku Objek primitive dan ukuran segiempat ditentukan oleh dua titik yaitu (x1,y1) dan (x2,y2)
glEnd( ); Akhir perintah OpenGL -
Perintah tranformasi pada OpenGL adalah :
Translasi – glTranslated
Skala – glScaled
Putar atau rotasi – glRotated
The OpenGL Utility Toolkit (GLUT)
GLUT dapat menyederhanakan implementasi program dengan menggunakan OpenGL. GLUT didesain secara serdehana untuk merender sebuah program yang dibuat dengan OpenGL. Versi GLUT yang ada pada saat ini adalah 3.7.6. GLUT juga mendukung fungsi-fungsi, antara lain:
o Mutiplewindows dalam render window OpenGL.
o Memproses kejadian Callback.
o Dapat menerima reaksi dari input (antara lain mouse dan keyboard).
o Mempermudah cascading fasilitas menu pop-up.
o Mendukung bitmap dan stroke fonts.
o Manajemen windows.
Langkah-langkah menggunakan OpenGL
Membuat aplikasi baru
Pilih menu (File > New > Application). akan tampil form kosong.
Tampilkan code editor (F12)
Tambahkan OpenGL pada klausa uses
uses
Windows, Messages,...,OpenGL;
Tambahkan variabel berikut pada properti form.
{ Private declarations }
fdc : HDC;
FRC : HGLRC;
procedure IdleLoop(Sender : TObject; Var Done : boolean);
Tekan Shift+Ctrl+C agar implementasi prosedur IdleLoop dibuat secara otomatis oleh IDE.
procedure TForm1.IdleLoop(Sender:TObject; Var Done: boolean);
begin
end;
Tambahkan event Handler OnCreate pada form (klik dua kali pada form)
procedure TForm1.FormCreate(Sender : TObject);
var
pfd : TPixelForamatDescriptor;
pixelformat : integer;
begin
{ TAHAP I : Buat Window OpenGL }
FDC := GetDC( Panel1.Handle ); //window openGL akan ditampilkan di panel
FillChar(pfd, sizeof(pfd), 0);
pfd.nSize := sizeof(pfd);
pfd.nVersion := 1;
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
PFD_DOUBLEBUFFER;
pfd.iPixelType := PFD_TYPE_RGBA;
pfd.cColorBits := 16;
{$WARNINGS OFF} //biar nggak muncul warning karena penggunaan operator '@'
pf := ChoosePixelFormat(FDC, @pfd);
SetPixelFormat(FDC, pf, @pfd);
{$WARNINGS ON} //kembalikan ke normal
FRC := wglCreateContext(FDC);
wglMakeCurrent(FDC, FRC);
{ TAHAP II : Inisialisasi variabel openGL }
glSetViewport( 0, 0, Panel1.Width, Panel1.Height ); //
glClearColor( 0, 0, 0, 1.0 ); // r:0 g:0 b:0 = hitam
glMatrixMode( GL_PROJECTION );
glLoadIdentity;
gluPerspective( 45, Panel1.Width/Panel1.Height, 1, 500);//FoV, Aspect
Ratio, Near Clip, Far Clip
glMatrixMode( GL_MODELVIEW );
glLoadIdentity;
{ Set Kamera }
gluLookAt( 0, 0, -4, 0, 0, 0, 0, 1, 0 );// posisi.x, posisi.y, posisi.z,
lookat.x, lookat.y, lookat.z, up.x, up.y, up.z
Application.OnIdle := IdleLoop;
end;
Sekarang waktunya mengisi body prosedur IdleLoop
procedure TForm1.IdleLoop(Sender : TObject; Var Done : Boolean);
begin
glClear( GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT );
//prosedur penggambaran
glPushMatrix;
glColor( 0, 0.5, 0, 1); //warna ijo
glBegin(GL_QUADS); //gambar kotak (warna ijo)
glVertex3f( -0.5, -0.5, -0,5 );
glVertex3f( 0.5, -0.5, -0,5 );
glVertex3f( 0.5, 0.5, -0,5 );
glVertex3f( -0.5, 0.5, -0,5 );
glEnd;
glPopMatrix;
glFlush;
SwapBuffers(DC); //update hasil penggambaran ke layar
end;
PENGANTAR ILMU HUKUM (PIH)
Diposting oleh Unknown Jumat, 12 Oktober 2012 di Jumat, Oktober 12, 2012
Pengertian Supremasi HUKUM Dan Penegakan HUKUM
Diposting oleh Unknown di Jumat, Oktober 12, 2012
I. PENDAHULUAN
Negara dapat dikatakan sebagai Negara Hukum (rule of law) bilamana
superioritas hukum telah dijadikan sebagai aturan main (fair play)
dalam penyelenggaraan pemerintahan Negara, terutama dalam memelihara
ketertiban dan perlindungan terhadap hak-hak warganya.
Jhon Locke dalam karyanya “Second Tratise of Government”, telah
mengisyaratkan tiga unsur minimal bagi suatu Negara hukum, sebagai
berikut :
1. Adanya hukum yang mengatur bagaimana anggota masyarakat dapat menikmati hak asasinya dengan damai;
2. Adanya suatu badan yang dapat menyelesaikan sengketa yang timbul di bidang pemerintahan;
3. Adanya badan yang tersedia diadakan untuk penyelesaian sengketa yang timbul di antara sesama anggota masyarakat.
FILSAFAT HUKUM
Diposting oleh Unknown Kamis, 11 Oktober 2012 di Kamis, Oktober 11, 2012
PENGERTIAN DAN PEMBAGIAN HUKUM
Diposting oleh Unknown di Kamis, Oktober 11, 2012
Pengertian dan
Ruang Lingkup Hukum
Hukum adalah
himpunan petunjuk hidup (perintahperintah dan larangan-larangan) yang mengatur
tata tertib dalam masyarakat yang seharusnya ditaati oleh seluruh anggota
masyarakat. Oleh karena itu, pelanggaran petunjuk hidup tersebut dapat
menimbulkan tindakan oleh pemerintah/ penguasa.
Untuk lebih
memudahkan batasan pengertian hukum, perlu kalian ketahui unsur-unsur dan
ciri-ciri
hukum, yaitu:
a. Unsur-unsur
hukum di antaranya ialah:
- Peraturan mengenai tingkah laku dalam pergaulan masyarakat;
- Peraturan itu diadakan oleh badan-badan resmi yang berwajib;
- Peraturan itu pada umumnya bersifat memaksa, dan
- Sanksi terhadap pelanggaran peraturan tersebut adalah tegas.
Adanya perintah dan/atau larangan Perintah dan/atau larangan itu harus ditaati setiap orang.
Tujuan Hukum
Secara umum tujuan hukum dirumuskan sebagai berikut:
a. Untuk mengatur tata tertib masyarakat secara damai dan adil.
b. Untuk menjaga kepentingan tiap manusia supaya kepentingan itu tidak dapat diganggu.
c. Untuk menjamin adanya kepastian hukum dalam pergaulan manusia.
Kalian dapat bayangkan, bagaimana kalau dalam masyarakat dan negara tidak ada atau tidak berlaku hukum. Apa yang akan terjadi? Hukum sangat penting bagi setiap orang dalam kehidupan bermasyarakat dan bernegara. Pertanyaan mengenai apa fungsi hukum itu dapat dikembalikan pada pertanyaan dasar : Apakah tujuan hukum itu ?
Tujuan pokok dari hukum adalah terciptanya ketertiban dalam masyarakat. Ketertiban adalah tujuan pokok dari hukum. Ketertiban merupakan syarat pokok (fundamental) bagi adanya suatu masyarakat manusia di
manapun juga.
Untuk mencapai ketertiban dalam masyarakat diperlukan adanya kepastian hukum dalam pergaulan antar manusia dalam masyarakat. Tanpa kepastian hukum dan ketertiban masyarakat, manusia tidak mungkin mengembangkan bakat-bakat dan kemampuan yang diberikan Tuhan kepadanya secara optimal. Dengan demikian, tujuan hukum adalah terpelihara dan terjaminnya kepastian dan ketertiban. Selain itu, menurut Mochtar Kusumaatmadja, tujuan lain dari hukum adalah tercapainya keadilan. Namun, keadilan itu sering dipahami secara berbeda-beda isi dan ukurannya, menurut masyarakat dan zamannya.
Pembagian Hukum
- Hukum Menurut Bentuknya
- Hukum tertulis, yaitu hukum yang dicantkan dalam berbagai peraturan perundang-undangan
- Hukum tidak tertulis, yaitu hukum yang masih hidup dalam keyakinan masyarakat, tetapi tidak tertulis namun berlakunya ditati seperti suatu peraturan perundang-undangan
- Hukum Menurut Tempat Berlakunya
- Hukum nasional, yaitu huku yang berlaku di suatu Negara
- Hukum internasional, yaitu hukum yang mengatur hubungan dunia internasional
- Hukum asing, yaitu hukum yang diberlakukan di negara lain
- Hukum Menurut Sumbernya
- Sumber hokum material, yaitu kesadaran hukum masyarakat atau sumber isi hukum yang menentukan agar sesuatu dapat disebut hokum dan mempunyai kekuatan mengikat
- Sumber hokum formil, yaitu sumber hukum yang membentuk hukum, menentukan berlakunya hukum atau berkaitan dengan tata cara pembentukannya
- Hukum Menurut Waktu Berlakunya
- IUS CONSTITUTUM (hukum positif) yaitu hukum yang berlaku sekarang bagi suatu masyarakat tertentu dalam wilayah tertentu
- IUS CONSTITUENDUM, yaitu hukum yang diharapkan berlaku pada masa yang akan datang
- Hukum Menurut Isinya
- Hukum Privat, yaitu hukum yang mengatur hubungan hukum antara orang yang satu dengan orang yang lain, dengan menitik beratkan kepada kepentingan perorangan
- Hukum Publik, yaitu hukum yang mengatur hubungan antara Negara dengan alat perlengkapannya atau Negara dengan perorangan.
- Hukum Menurut Cara Mempertahankannya
- Hukum Formil, yaitu hukum yang memuat peraturan yang mengatur bagaimana cara melaksanakan dan memepertahankan hukum materil
- Hukum Materil, yaitu hukum yang memuat peraturan yang mengatur kepentingan – kepentingan dan hubungan yang wujud perintah dan larangan – larangan
- Hukum Menurut Sifatnya
- Hukum yang memaksa, yaitu hukum yang dalam keadaan bagimanapun juga harus dan mempunyai paksaan mutlak
- Hukum yang mengatur, yaitu hukum yang dapat dikesampingkan apabila pihak – pihak yang bersangkutan telah membuat peraturan sendiri dalam perjanjian
Hukum Publik terdiri dari :
- Hukum Tata Negara, yaitu hukum yang mengatur bentuk dan susunan pemerintahan suatu negara serta hubungan kekuasaan antara alat-alat perlengkapannya satu sama lain, dan hubungan antara Negara (Pemerintah Pusat) dengan bagian-bagian negara (daerah-daerah swantantra).
- Hukum Administrasi Negara (Hukum Tata Usaha Negara atau Hukum Tata Pemerintahan), yaitu hukum yang mengatur cara-cara menjalankan tugas (hak dan kewajiban) dari kekuasaan alatalat perlengkapan negara.
- Hukum Pidana ( Pidana = hukuman), yaitu hukum yang mengatur perbuatan perbuatan apa yang dilarang dan memberikan pidana kepada siapa yang melanggarnya serta mengatur bagaimana cara-cara mengajukan perkara-perkara ke muka pengadilan.
- Hukum Internasional, yang terdiri dari Hukum Perdata Internasional dan Hukum Publik Internasional. Hukum Perdata Internasional, yaitu hukum yang mengatur hubungan-hukum antara warga negarawarga negara sesuatu bangsa dengan warga negara-warga negara dari negara lain dalam hubungan internasional. Hukum Publik Internasional (Hukum Antara Negara), yaitu hukum yang mengatur hubungan antara negara yang satu dengan negara-negara yang lain dalam hubungan internasional.
Asas Perundang Undangan
Diposting oleh Unknown Rabu, 10 Oktober 2012 di Rabu, Oktober 10, 2012
Dalam hukum terdapat azas perundang-undangan, antara lain :
1. "nullum delictum nula poena sine praevia lege
poenali", yang artinya tidak ada suatu perbuatan dapat dipidana kecuali
telah ada ketentuan atau undang-undangnya. Hal ini dapat dipahami bahwa
segala perbuatan pelanggaran atau kejahatan apapun tidak dapat dipidana
atau diberi hukuman bila tidak ada undang-undang yang mengaturnya.
2.
"Lex specialis derogat legi generali", artinya hukum yang khusus
mengesampingkan hukum yang umum. Atau segala undang-undang ataupun
peraturan yang khusus mengabaikan atau mengesampingkan undang-undang
yang umum.
Contoh : Apabila terdapat kekerasan dalam rumah tangga, maka
pelaku dapat dikenai UU KDRT, bukan KUHPidana. Pemakaian hukum yang
khusus ini antara lain karena hukumannya yang lebih berat dibandingkan
dengan KUHPidana.
3. "Lex posteriori derogat legi priori", artinya
hukum yang baru mengesampingkan hukum yang lama. Maksudnya ialah, UU
yang baru mengabakan atau mengesampingkan UU yang lama dalam hal yang
sama. Dengan kata lain UU yang baru ini dibuat untuk melengkapi dan
menyempurnakan serta mengoreksi UU yang lama. Sehingga UU yang lama
sudah tidak berlaku lagi.
4. "Lex superior derogat legi inferiori",
artinya hukum yang urutan atau tingkatnya lebih tinggi mengesampingkan
atau mengabaikan hukum yang lebih rendah. Bila terdapat kasus yang sama,
akan tetapi ketentuan undang-undangnya berbeda, maka ketentuan
undang-undang yang dipakai adalah UU yang tingkatnya lebih tinggi.
Contoh : UU lebih tinggi dari PP, maka PP diabaikan dan harus berpatokan
pada UU.
Keterbukaan Informasi Publik (KIP)
Diposting oleh Unknown di Rabu, Oktober 10, 2012
Gerbong reformasi terus
berjalan di negara kita, walau di rasa agak lamban namun melaju secara
pasti ke arah tujuan yang dicita-citakan pendiri bangsa ini, sebagaimana
pepatah lebih baik lambat daripada tidak sama sekali. Salah satu yang
perlu dibanggakan adalah diterbitkanya undang undang yang mewajibkan penyelenggara negara
untuk lebih bersikap transparan kepada warganya, dimana telah diatur di
dalamnya hak rakyat untuk mengetahui dan memperoleh informasi sesuai
dengan peraturan perundang-undangan.
Dengan mengacu pada pasal
28F UUD 1945 yang menyebutkan bahwa setiap orang berhak untuk
berkomunikasi dan memperoleh informasi untuk mengembangkan pribadi dan
lingkungan sosialnya. Termasuk hak untuk mencari, memperoleh memiliki
dan menyimpan informasi dengan menggunakan segala jenis saluran yang
ada.
Dengan dasar dan pertimbangan itu pemerintah menerbitkan Undang Undang Nomor 14 Tahun 2008 tentang Keterbukaan Informasi Publik yang mengatur lebih dalam tentang keterbukaan informasi dan transparansi penyelenggaraan negara sebagai salah satu wujud dari kehidupan berbangsa dan bernegara yang demokratis.
Dalam
bab 1 pasal 1 UU ini dijelaskan bahwa informasi adalah keterangan,
pernyataan, gagasan dan tanda tanda yang mengandung nilai, makna dan
pesan baik data, fakta maupun penjelasannya yang dapat dilihat didengar
dan dibaca yang disajikan dalam berbagai kemasan dan format sesuai
dengan perkembangan teknologi informasi dan komunikasi secara elektronik
maupun non-elektronik. Sedang informasi publik adalah informasi yang
dihasilkan, disimpan, dikelola, dikirim dan/atau diterima oleh
penyelenggara negara dan penyelenggaraan negara dan/atau penyelenggara
dan penyelenggaraan badan publik lainnya yang sesuai dengan UU ini serta
informasi lain yang berkaitan dengan kepentingan publik. Badan publik
adalah lembaga eksekutif, legislatif dan yudikatif dan badan badan lain
yang fungsi dan tugas pokoknya berkaitan dengan penyelenggaraan negara,
yang sebagian seluruh dananya bersumber dari APBN dan/atau APBD,
sumbangan masyarakat atau bantuan luar negeri.
Dalam pasal 4
dijelaskan tentang hak masyarakat sebagai pemohon atau pengguna
informasi publik untuk memperoleh, mengetahui, melihat, menghadiri,
mendapatkan dan menyebarluaskan informasi sesuai dengan peraturan
perundang-undangan yang berlaku. Setiap permohonan informasi harus
disertai dengan alasan yang jelas dan diajukan secara lesan maupun
tertulis. Setiap informasi yang diperoleh oleh masyarakat harus
dipergunakan dengan sebaik-baiknya menurut peraturan perundang-undangan.
Dalam
pasal 6 dan 7 disebutkan hak dan kewajiban badan publik dalam menerima
permintaan informasi yang diajukan oleh masyarakat pengguna informasi.
Badan publik mempunyai hak untuk menolak memberikan informasi yang
dikecualikan sesuai dengan ketentuan peraturan perundang-undangan. Dalam
hal ini, informasi publik yang tidak dapat diberikan adalah :
* informasi yang dapat membahayakan negara.
* informasi yang berkaitan dengan kepentingan perlindungan usaha dari persaingan usaha yang tidak sehat.
* informasi yang berkaitan dengan hak pribadi.
* informasi yang berkaitan dengan rahasia jabatan.
* informasi yang diminta belum dikuasai atau belum didokumentasikan.
Selain yang tersebut di-atas, tidak ada alasan bagi badan publik untuk menolak permintaan informasi dari masyarakat pengguna informasi publik. Oleh karenanya badan publik
harus bersikap terbuka terhadap masyarakat. Selain itu dalam UU ini
diatur juga adanya sangsi pidana yang diberikan berkaitan dengan
pemberian dan penggunaan informasi publik yang tertuang dalam pasal 51
sampai pasal 57, dimana intinya kepada masyarakat pengguna informasi
publik yang menyalahgunakan informasi
tersebut maupun badan publik yang tidak mau memberikan informasi publik
dikenai sangsi pidana penjara dan denda. Dengan demikian pemberian
informasi dan penggunaannya harus dilakukan secara bertanggung jawab.
Untuk lebih lengkapnya peraturan ini dapat didownload pada produk hukum tahun 2008 di Website Resmi Sekretariat Negara Republik Indonesia.
SUBJEK DAN OBJEK HUKUM DI INDONESIA
Diposting oleh Unknown di Rabu, Oktober 10, 2012
- Adalah segala sesuatu yang menurut hukum dapat menjadi pendukung (dapat memiliki) hak dan kewajiban. . Setiap manusia, baik warga negara maupun orang asing adalah subjek hukum. Jadi dapat dikatakan, bahwa setiap manusia adalah subjek hukum sejak dilahirkan sampai meninggal dunia. ) Meskipun menurut hukum sekarang ini, setiap orang tanpa kecuali dapat memiliki hak¬haknya, akan tetapi dalam hukum, tidak semua orang dapat diperbolehkan bertindak sendiri di dalam melaksanakan hak-haknya itu. Mereka digolongkan sebagai orang yang “tidak cakap” atau “kurangcakap” untuk bertindak sendiri dalam melakukan perbuatan¬perbuatan hukum, sehingga mereka itu harus diwakili atau dibantu oleh orang lain.
- Yang dapat dikategorikan sebagai Subjek Hukum adalah Manusia (Natuurlijk persoon) dan Badan Hukum (Rechts persoon)
- Adalah setiap orang yang mempunyai kedudukan yang sama selaku pendukung hak dan kewajiban. Pada prinsipnya orang sebagai subjek hukum dimulai sejak lahir hingga meninggal dunia. Namun ada pengecualian menurut Pasal 2 KUHPerdata, bahwa bayi yang masih ada di dalam kandungan ibunya dianggap telah lahir dan menjadi subjek hukum jika kepentingannya menghendaki, seperti dalam hal kewarisan. Namun, apabila dilahirkan dalam keadaan meninggal dunia, maka menurut hukum ia dianggap tidak pernah ada, sehingga ia bukan termasuk subjek Hukum.
- Ada juga golongan manusia yang tidak dapat menjadi subjek hukum, karena tidak cakap dalam melakukan perbuatan hukum (Personae miserabile) yaitu :
1). Badan hukum publik, seperti negara, propinsi, dan kabupaten.
2). Badan hukum perdata, seperti perseroan terbatas (PT), yayasan, dan koperasi.
OpenGL
Diposting oleh Unknown di Rabu, Oktober 10, 2012
OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya.
OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu, package OpenGL tersebut dapat di-download pada situs http://www.opengl.org sesuai dengan bahasa pemrograman yang akan digunakan.
Opengl melayani dua tujuan :
Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators, memamerkan oleh programmer dengan satu, seragam API.
Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan software emulation jika diperlukan).
1.1.Evolusi OpenGL
Pendahulu openGL adalah IRIS GL dari Silicon Grapics.Padamulanya adalah library grafis 2D,yang berefolusi menjasi API program 3D untuk workstation canggih milik perusahaan tersebut.
OpenGL adalah hasil dari usaha SGI untuk mengembangkan dan meningkatkan kemampuan portable IRIS.API grafis yang baru akan menawarkan kemampuan IRIS GL tetapi dengan standar yang lebih terbuka,dengan input dari pembuatan hardware lain dan sistem operasi lain,dan akn memudahkan adaptasi ke hardware platform dan sistem operasi lain.
Untuk lebih mempopulerkan openGL SGI mengijinkan pihak lain untuk mengembangkan standart openGL,dan beberapa vendor menyambut hal tersebut dengan membentuk OpenGL Architecture Review Board (ARB) Pendiri openGL adalah SGI,Digital Equepment Corporation,IBM,Intel dan Microsoft,pada tanggal 1 juli 1992 OpenGL versi 1.0 diperkenalkan.
Letak openGL dalam aplikasi gambar di atas pada umumnya ketika aplikasi berjalan program tersebut memanggil banyak fungsi,beberapa yang dibuat oleh programer dan beberapa yang disediakan oleh sistem operasi bahasa pemrograman.Aplikasi windows membuat output pada layar biasanya dengan memanggil sebual API windows yang disebut Graphics Devise Interfase,yang memungkinkan sebagai penulisan teks pada sebuah windows,menggambar garis 2D sederhana dan lainnya.Implementasi dari openGL mengambil permintaan grafis dari aplikasi dan membangun sebuah gambar berwarna dari grafis 3D,kemudian memberikan gambar tersebut ke GDI untuk ditampilkan pada layar monitor.
1.2.Cara kerja openGL
OpenGL lebih mengarah pada prosedural daripada sebuah deskriptif API grafis.Untuk mendeskripsikan scene dan bagaimana penampilannya,sebenarnya programer lebih tau untuk menentukan hal-hal yang dibutuhkan untuk menghasilkan efek yang di inginkan.Langkah tersebut termasuk memanggil banyak perintah openGL,perintah tersebut digunakan untuk menggambarkan grafis primitif seperti titik,garis dan poligon dalam tiga dimensi.Sebagai tambahan,openGL mendukung lighting,shading,texture mapping,blending,transparancy,dan banyak kemampuan efek khusus lainnya.
OpenGL mempunyai bnayak fungsi dan penggunaan perintah yang sangat luas, penggunaan openGL membutuhkan library tambahan yang harus di letakkan pada direktory system dari windows (OS),yaitu :
OpenGL32.dll
Glu32.dll
Glut32.dll
1.2.1.Inisialisasi awal
Inti dari tahapan ini adalah mengatur view port dan persepektif untuk penampilan
obyek ke dalam layar monitor,viewport adalah besarnya layar monitor(image) yang dipakai
untuk menampilkanobyek,sedangkan persepektif yang dimaksud adalah pengaturan sumbu z
dalam penampilan obyek 3 dimensi,sehingga user dapat melihat obyek seolah-olah dalam
bidang 3 dimensi (X-Y-Z),selain itu penggambaran obyek yang dilakukan oleh programer
juga dapat menggunaan koordinat 3 dimensi.
Selain ke dua tujuan di atas pada tahap ini juga dilakukan koneksi awal dengan library
openGL, koneksi ini dilakukan supaya fungsi-fungsi yang di sediakan openGL dapat
digunakan.Funsi/prosedur yang digunakan :
LoadGlut(‘glut32.dll) - pemanggilan library openGL
InitGL – inisialisasi openGL awal yang harus dilakukan
glViewport – untuk pengaturan viewport
glMatrixMode – pengaturan viewport
gluPerspective – pengaturan persepektif
Contoh script untuk inisialisasi openGL :
Try
LoadGlut(‘glut32.dll’);
InitGL;
Exept on e := exeption do
Begin
messageDlg{e.message,mtError,[mbOk],};
Halt {1};
End;
End;
Script di atas merupakan script yang paling sederhana, dalam artian minimal diperlukan
untuk menginisialisasi penggunaan openGL.Fungsi-fungsi lain seperti yang disebut diatas
seperti glViewport,glMatrixMode,dapat di tambah kan pada script sesuai dengan kebutuhan.
1.2.2.Pembuatan gambar
Didalam openGL pembuatan obyek dilakukan dengan titik-titik 3 dimensi,dengan
mode GL_QUARDS, maka otomatis setiap 4 titik digambar menjadi sebuah bidang segi
empat,sedangkan mode GL_LINES, pada setiap 2 titik digambar manjadi sebuah garis.Di
dalam tahap ini setiap garis atau bidang juga dapat di atur warnanya.
Funsi atau prosedur yang digunakan :
mode GL_QUARDS – menggambarkan segi empat
mode GL_LINES – menggambark garis
glVertex3f- penentuan titik 3 dimensi
glColor3f – penentuan warna
Berikut ini akan diberikan contoh script sederhana (tidak utuh,hanya sepengggaalan)
beserta output yang dihasilkan,untuk menunjukkan proses pembuatan gambar atau obyek
pada delphi,dengan library tambahan open GL.
Contoh pembuatan titik 3 warna :
glClearColor(1,1,1,0); //warna dasar ;1,1,1,0 adalah putih
glBegin(GL_POINTS); //untuk membuat titik
glColor3f(1,0,0); //penentuan warna titik 1 dan posisinya
glVertex3f(-0.1,-0.1,0.1);
glColor3f(0,1,0); //penentuan warna titik 2 dan posisisya
glVertex3f(0.1,-0.1,0.1);
glColor3f(0,0,1); //penentuan titik 3 dan posisinya
glColor3f(0,0.1,-0.1);
glEnd;
Contoh pembuatan garis :
glClearColor(1,1,1,0); // warna background putih
glColor3f(0,0,0); // warna garis hitam
glBegin(GL_LINES); //digunakan untuk membua garis tiap 2 titik yang ada
glVertex3f(0,0,-0.1); //garis 1
glVertex3f(0.3,0.2,0.1);
glVertex3f(0.1,-0.1,-0.2); // garis 2
glVertex3f(0.3,-0.2,0.1);
glEnd;
Contoh pembuatan bidang segi empat :
glClearColor(1,1,1,0); // warna background putih
glBegin(GL_QUARDS); //untuk membuat segi empat dalam tiap4 titik
glColor3f(1,0,0); //posisi titik 1 dengan gradiasi warnanya
glVertex3f(-0.2,0.2,0.2);
glColor3f(1,0,0); //posisi titik 2 dengan gradiasi warnanya
glVertex3f(0.2,0.2,0.2);
glColor3f(1,0,1); //posisi titik 3 dengan gradiasi warnanya
glVertex3f(0.2,-0.2,0.2);
glColor3f(0,1,1); //posisi titik 4 dengan gradiasi warnanya
glVertex3f(-0.2,-0.2,0.2);
glEnd;
Contoh gambar 3D menggunaan openGL pada delphi :
program BasicDelphi;
uses
Windows,Messages,OpenGL;
var
HGLRC_VarG : HGLRC;
HDC_VarG : HDC;
HWND_VarG : HWND;
keys : array [0..255] of bool;
SudutPutar : single = 0.0;
//set ukuran window OpenGL
LebarW : integer = 350;
TinggiW : integer = 350;
function WindowProc(HWND_P : HWND; MESSAGE_P : UINT; WPARAM_P :
WPARAM; LPARAM_P : LPARAM) : LRESULT; stdcall;
begin
case MESSAGE_P of
WM_KEYUP:
begin
keys[WPARAM_P] := false;
result:=0;
end;
WM_KEYDOWN:
begin
keys[WPARAM_P] := true;
result:=0;
end;
end;
Result := DefWindowProc(HWND_P, MESSAGE_P, WPARAM_P, LPARAM_P);
end;
procedure CloseOpenGL;
begin
if HGLRC_VarG <> 0 then
begin
wglMakeCurrent(HDC_VarG, 0);
wglDeleteContext(HGLRC_VarG);
end;
releaseDC(HWND_VarG, HDC_VarG);
destroywindow(HWND_VarG);
UnregisterClass('OpenGl3DwithDelphi',hInstance);
HGLRC_VarG := 0;
HDC_VarG := 0;
HWND_VarG := 0;
end;
function CreateOpenGL(HINST_P : HINST) : boolean stdcall;
var
iPixelFormat : integer;
WCLASSEX : WNDCLASSEX;
pfd : PIXELFORMATDESCRIPTOR;
begin
WCLASSEX.cbSize := Sizeof(WCLASSEX);
WCLASSEX.style := CS_HREDRAW or CS_VREDRAW;
WCLASSEX.lpfnWndProc := @WindowProc;
WCLASSEX.cbClsExtra := 0;
WCLASSEX.cbWndExtra := 0;
WCLASSEX.hInstance := HINST_P;
WCLASSEX.hIcon := LoadIcon(0, IDI_WINLOGO);
WCLASSEX.hCursor := LoadCursor(0,IDC_WAIT);
WCLASSEX.hbrBackground := 0;
WCLASSEX.lpszMenuName := nil;
WCLASSEX.lpszClassName:= 'OpenGl3DwithDelphi';
if RegisterClassEX(WCLASSEX) = 0 then
begin
MessageBox(0, 'Registrasi Window Class gagal, program dihentikan', 'Error window', MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
HWND_VarG := CreateWindowEx(0,'OpenGl3DwithDelphi',
'Gambar 3D(Tekan Esc untuk keluar)',0,0,0,LebarW, TinggiW,0, 0, HINST_P, nil);
if HWND_VarG = 0 then
begin
MessageBox(0, 'Pembuatan OpenGL window gagal, program dihentikan', 'Error window',MB_OK or MB_ICONERROR);
Result:=false;
exit;
end;
pfd.nSize := SizeOf(PIXELFORMATDESCRIPTOR);
pfd.nVersion := 1;
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER;
pfd.iPixelType := PFD_TYPE_RGBA;
pfd.cColorBits := 16;
pfd.cRedBits := 0;
pfd.cRedShift := 0;
pfd.cGreenBits := 0;
pfd.cBlueBits := 0;
pfd.cBlueShift := 0;
pfd.cAlphaBits := 0;
pfd.cAlphaShift := 0;
pfd.cAccumBits := 0;
pfd.cAccumRedBits := 0;
pfd.cAccumGreenBits := 0;
pfd.cAccumBlueBits := 0;
pfd.cAccumAlphaBits := 0;
pfd.cDepthBits := 16;
pfd.cStencilBits := 0;
pfd.cAuxBuffers := 0;
pfd.iLayerType := PFD_MAIN_PLANE;
pfd.bReserved := 0;
pfd.dwLayerMask := 0;
pfd.dwVisibleMask := 0;
pfd.dwDamageMask := 0;
HDC_VarG := GetDC(HWND_VarG);
if HDC_VarG = 0 then
begin
MessageBox(0, 'Pembuatan Device Context gagal, program dihentikan', 'Error device',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
iPixelFormat := ChoosePixelFormat(HDC_VarG, @pfd);
if iPixelFormat = 0 then
begin
MessageBox(0, 'Pencarian Pixel Format gagal, program dihentikan', 'Error pixel format',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
if (not SetPixelFormat(HDC_VarG, iPixelFormat, @pfd)) then
begin
MessageBox(0, 'Set Pixel Format gagal, program dihentikan', 'Error pixel format',MB_OK or MB_ICONERROR);
Result:=false;
exit;
end;
HGLRC_VarG := wglCreateContext(HDC_VarG);
if HGLRC_VarG = 0 then
begin
MessageBox(0, 'Pembuatan Rendering Context gagal, program dihentikan', 'Error rendering context',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
if (not wglMakeCurrent(HDC_VarG, HGLRC_VarG)) then
begin
MessageBox(0, 'Pengaktifan Rendering Context gagal, program dihentikan', 'Error rendering context',MB_OK or MB_ICONERROR);
Result := false;
exit;
end;
ShowWindow(HWND_VarG, SW_SHOW);
glViewport(0, 0, LebarW, TinggiW);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0, LebarW / TinggiW, 1.0, 1000.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
Result := true;
end;
procedure Display_Grafik;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslated(0.0, 0.0, -5.5);
glRotated(SudutPutar, 1.0, 1.0, 1.0);
//polygon depan
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, 1.0, 1.0);
glVertex3d(-1.0, 1.0, 1.0);
glEnd();
//polygon belakang
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, -1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glEnd();
//polygon kanan
glBegin(GL_LINE_LOOP);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d( 1.0, 1.0, 1.0);
glEnd();
//polygon kiri
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d(-1.0, -1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, 1.0);
glEnd();
//polygon atas
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, 1.0, 1.0);
glVertex3d( 1.0, 1.0, 1.0);
glVertex3d( 1.0, 1.0, -1.0);
glVertex3d(-1.0, 1.0, -1.0);
glEnd();
//polygon bawah
glBegin(GL_LINE_LOOP);
glVertex3d(-1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, 1.0);
glVertex3d( 1.0, -1.0, -1.0);
glVertex3d(-1.0, -1.0, -1.0);
glEnd();
SudutPutar := SudutPutar + 0.1;
SwapBuffers(HDC_VarG);
end;
function WinMain(hInstance: HINST; hPrevInstance: HINST; lpCmdLine: PChar;
nCmdShow: integer): integer; stdcall;
var
msg : TMSG;
Selesai : Bool;
begin
Selesai := false;
if not CreateOpenGL(hInstance) then
begin
CloseOpenGL;
Result := 0;
exit;
end;
glEnable(GL_DEPTH_TEST);
glClearColor(0.0, 0.5, 5.0, 0.5);
while not Selesai do
begin
PeekMessage(msg, 0, 0, 0, PM_REMOVE);
if msg.message <> WM_QUIT then
begin
Display_Grafik;
if keys[VK_ESCAPE] then
Selesai := true;
TranslateMessage(msg);
DispatchMessage(msg);
end
end;
CloseOpenGL;
result := msg.wParam;
end;
begin
WinMain(hInstance, hPrevInst, CmdLine, CmdShow);
end.
Selain OpenGL ada juga tools/library grafik yang dapat dipergunakan yaitu DirectX. Namun tools ini hanya dapat dipergunakan pada Microsoft Windows.
Masing-masing perintah atau fungsi dalam OpenGL mempunyai struktur dan format yang sama.
Perintah dan Arti Keterangan pada openGL
glVertex2i(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah integer dan 2 dimensi yaitu x dan y
glVertex2f(x,y); Lokasi titik berada di (x,y) Tipe argumennya adalah float dan 2 dimensi yaitu x dan y
glVertex3i(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah integer dan 2 dimensi yaitu x, y dan z
glVertex3f(x,y,z); Lokasi titik berada di (x,y,z) Tipe argumennya adalah float dan 2 dimensi yaitu x, y dan z
glClearColour(R, G, B, ?); Warna latar belakang Empat komponen warna yaitu Red, Green, Blue dan alpha
glColor3f(R, G, B); Warna latar muka (pena) Tiga komponen warna yaitu Red, Green dan Blue
glColor4f(R, G, B); Warna latar muka (pena) Empat komponen warna yaitu Red, Green, Blue dan alpha
glPointSize(k); Ukuran titik k piksel Besar kecilnya ukuran titik tergantung pada k (integer)
glBegin(GL_POINTS); Titik Objek primitive (lihat gambar 2.2)
glBegin(GL_LINES); Garis Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_STRIP); Poligaris Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_LOOP); Poligaris tertutup (polygon) Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLES); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLE_STRIP); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_TRIANGLE_FAN); Segitiga Objek primitive (lihat gambar 2.2)
glBegin(GL_QUADS); Segiempat Objek primitive (lihat gambar 2.2)
glBegin(GL_QUAD_STRIP); Segiempat Objek primitive (lihat gambar 2.2)
glBegin(GL_POLYGON); Poligon Objek primitive (lihat gambar 2.2)
glBegin(GL_LINE_STIPPLE); Garis putus-putus Objek primitive
glBegin(GL_POLY_STIPPLE); Poligon dengan pola tertentu Objek primitive
glRect(GLint x1, GLint y1, GLint x2, GLint y2); Segiempat siku-siku Objek primitive dan ukuran segiempat ditentukan oleh dua titik yaitu (x1,y1) dan (x2,y2)
glEnd( ); Akhir perintah OpenGL -
Perintah tranformasi pada OpenGL adalah :
Translasi – glTranslated
Skala – glScaled
Putar atau rotasi – glRotated
The OpenGL Utility Toolkit (GLUT)
GLUT dapat menyederhanakan implementasi program dengan menggunakan OpenGL. GLUT didesain secara serdehana untuk merender sebuah program yang dibuat dengan OpenGL. Versi GLUT yang ada pada saat ini adalah 3.7.6. GLUT juga mendukung fungsi-fungsi, antara lain:
o Mutiplewindows dalam render window OpenGL.
o Memproses kejadian Callback.
o Dapat menerima reaksi dari input (antara lain mouse dan keyboard).
o Mempermudah cascading fasilitas menu pop-up.
o Mendukung bitmap dan stroke fonts.
o Manajemen windows.
Langkah-langkah menggunakan OpenGL
Membuat aplikasi baru
Pilih menu (File > New > Application). akan tampil form kosong.
Tampilkan code editor (F12)
Tambahkan OpenGL pada klausa uses
uses
Windows, Messages,...,OpenGL;
Tambahkan variabel berikut pada properti form.
{ Private declarations }
fdc : HDC;
FRC : HGLRC;
procedure IdleLoop(Sender : TObject; Var Done : boolean);
Tekan Shift+Ctrl+C agar implementasi prosedur IdleLoop dibuat secara otomatis oleh IDE.
procedure TForm1.IdleLoop(Sender:TObject; Var Done: boolean);
begin
end;
Tambahkan event Handler OnCreate pada form (klik dua kali pada form)
procedure TForm1.FormCreate(Sender : TObject);
var
pfd : TPixelForamatDescriptor;
pixelformat : integer;
begin
{ TAHAP I : Buat Window OpenGL }
FDC := GetDC( Panel1.Handle ); //window openGL akan ditampilkan di panel
FillChar(pfd, sizeof(pfd), 0);
pfd.nSize := sizeof(pfd);
pfd.nVersion := 1;
pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or
PFD_DOUBLEBUFFER;
pfd.iPixelType := PFD_TYPE_RGBA;
pfd.cColorBits := 16;
{$WARNINGS OFF} //biar nggak muncul warning karena penggunaan operator '@'
pf := ChoosePixelFormat(FDC, @pfd);
SetPixelFormat(FDC, pf, @pfd);
{$WARNINGS ON} //kembalikan ke normal
FRC := wglCreateContext(FDC);
wglMakeCurrent(FDC, FRC);
{ TAHAP II : Inisialisasi variabel openGL }
glSetViewport( 0, 0, Panel1.Width, Panel1.Height ); //
glClearColor( 0, 0, 0, 1.0 ); // r:0 g:0 b:0 = hitam
glMatrixMode( GL_PROJECTION );
glLoadIdentity;
gluPerspective( 45, Panel1.Width/Panel1.Height, 1, 500);//FoV, Aspect
Ratio, Near Clip, Far Clip
glMatrixMode( GL_MODELVIEW );
glLoadIdentity;
{ Set Kamera }
gluLookAt( 0, 0, -4, 0, 0, 0, 0, 1, 0 );// posisi.x, posisi.y, posisi.z,
lookat.x, lookat.y, lookat.z, up.x, up.y, up.z
Application.OnIdle := IdleLoop;
end;
Sekarang waktunya mengisi body prosedur IdleLoop
procedure TForm1.IdleLoop(Sender : TObject; Var Done : Boolean);
begin
glClear( GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT );
//prosedur penggambaran
glPushMatrix;
glColor( 0, 0.5, 0, 1); //warna ijo
glBegin(GL_QUADS); //gambar kotak (warna ijo)
glVertex3f( -0.5, -0.5, -0,5 );
glVertex3f( 0.5, -0.5, -0,5 );
glVertex3f( 0.5, 0.5, -0,5 );
glVertex3f( -0.5, 0.5, -0,5 );
glEnd;
glPopMatrix;
glFlush;
SwapBuffers(DC); //update hasil penggambaran ke layar
end;