Tampilkan postingan dengan label Materi. Tampilkan semua postingan
Tampilkan postingan dengan label Materi. Tampilkan semua postingan

Kumpulan Soal Pemrograman Web Dinamis Kelas XII SMK RPL

Assalamua’alaikum Wr. Wb sahabat berbagi..


Bagaiamana kabarnya nih? Baik baik bukan?


Admin sedang ada tugas membuat soal objektif lagi nih. Tapi mapelnya berbeda, kemarin mapel Basis Data KD 3.1 sampai KD 3.4.
Nah sekarang akan admin postingkan bank soal mapel Pemrograman Web Dinamis.

Ada 40 soal, tiap KD ada 10 soal. Selamat berlatih dan mengerjakan. Banyak membaca dan melatih diri bermanfaat lho,,,

  • KD 3.1 Aplikasi Web Stateful

1. Konsep abstrak yang merepresentasikan interaksi antara browser dan server disebut. .
a. Stateless
b. Statefull
c. Session
d. Cookies
e. HTTP

2. Web Stateless umumnya memngunakan protokol...
a. HTTP
b. HTTPS
c. Stateless
d. WWW
e. Semua Jawaban salah

3. Aplikasi web dimana antara suatu interaksi request-response dengan request-response lainnya bersifat independen, tidak memiliki keterkaitan satu sama lain. Disebut dengan...
a. Stateless
b. Statefull
c. Sessioon
d. Cookies
e. HTTP

4. Sistem mengetahui keadaan user sekarang dan dapat “melanjutkan” halaman apa yang diminta oleh user daripada dia memberikan apa yang diminta user dengan langsung memberikan halaman baru, merupakan sebuah keadaan yang disebut
a. Stateless
b. Statefull
c. Sessioon
d. Cookies
e. HTTP

5. File kecil yang diletakkan oleh server pada komputer pengguna disebut. .
a. Stateless
b. Statefull
c. Stateting
d. Cookies
e. Protokol

6. Fakta mengenai cookies yang benar dibawah ini adalah. .
a. Cookies seperti virus yang bisa menghapus data di komputer kita
b. Cookies bisa digunakan untuk melacak kebiasaan kita dalam melihat suatu situs
c. Cookies bisa mencuri informasi kita
d. Cookies digunakan untuk spam
e. Cookies sangat berbahaya

7. Tipe default, cookie sementara yang hanya disimpan di memory browser, termasuk kedalam jenis cookies...
a. Session Cookies
b. Default Cookies
c. Persistent Cookies
d. Browser Cookies
e. Super Cookies

8. Cookies yang disimpan pada sebuah file yang ada di komputer browser. Disebut dengan...
a. Session Cookies
b. Default Cookies
c. Persistent Cookies
d. Browser Cookies
e. Super Cookies

9. Sintaks yang digunakan sebagai menandakan server menginginkan untuk memulai sesi dengan user adalah
a. Session_user()
b. Session_cookies()
c. Session_isset()
d. Session_start()
e. Session_unisset()

10. Session bisa dihapus secara paksa dengan perintah biasanya dilakukan saat user logout dengan cara sintaks
a. Session_unisset()
b. Session_close()
c. session_destroy()
d. Session_delete()
e. Session_end()

  • KD 3.2 Keamanan Aplikasi Web

1. 2 macam penyandian data dalam website adalah
a. Encryption dan Descryption
b. Encryption dan Hashing
c. Session dan Cookies
d. Descryption dan Hashing
e. HTTP dan HTTPS

2. Menanggulangi penyadapan telepon dan email adalah manfaat dati penggunaan
a. Hashing
b. Descryption
c. HTTPS
d. Firewall
e. Encryption

3. Rangkaian aksara yang dapat terdiri atas huruf (A-Z), angka(0-9), tanda baca, atau lambang matematika adalah maksud dari
a. Numeric
b. Hashing
c. Validasi
d. Alfanumeric
e. Encryption

4. Suatu tindakan yang membuktikan bahwa suatu proses/metode dapat memberikan hasil yang konsisten sesuai dengan spesifikasi yang telah ditetapkan dan terdokumentasi dengan baik adalah pengertian dari
a. Numeric
b. Hashing
c. Validasi
d. Alfanumeric
e. Encryption

5. Sebuah fungsi yang digunakan untuk mengacak sebuah kata menjadi kata lain yang tidak bermakna dan sedapat mungkin kata hasil hashing tidak bisa ditebak dari kata apa kata tersebut berasal disebut juga
a. Hashing
b. Descryption
c. HTTPS
d. Firewall
e. Encryption

6. Pesan tidak bisa dibaca bila penerima pesan lupa atau kehilangan kunci (decryptor) adalah kerugian dari pemakaian
a. Hashing
b. Descryption
c. HTTPS
d. Firewall
e. Encryption

7. Yang tidak termasuk metode encryption adalah
a. MD 2
b. MD 4
c. MD 5
d. Base64
e. Base32

8. Sintaks validasi untuk mengecek apakah variabel submit sudah dibuat ataukah belum yang benar adalah
a. if(isset($_POST[submit]))
b. if isset(submit($_POST[]))
c. Isset if (($_POST[submit]))
d. if(isset(submit [$_POST]))
e. Isset if(submit ($_POST[]))

9. Metode Encryption dimana format yang dicetak menggunakan karakter, memungkinkan binari data yang akan dikirim dalam bentuk dan email, dan akan disimpan di database atau file adalah
a. MD 2
b. MD 4
c. MD 5
d. Base64
e. Base32

10. if(is_numeric($input)) sintaks diatas digunakan untuk
a. Mengecek apakah variabel submit sudah dibuat ataukah belum
b. Mengecek variable dapat berisi inputan
c. Mengecek inputan berupa huruf ataukah bukan
d. Mengecek inputan berupa angka ataukah bukan
e. Mengecek variable input di server



  • KD 3.3 Pemrograman Berbasis Obyek


1. Untuk menampung isi dari program yang akan di jalankan, di dalamnya berisi atribut / type data dan method untuk menjalankan suatu program merupakan fungsi dari. .
a. Object
b. Class
c. Method
d. Constructor
e. Variable

2. Suatu fungsi pada kelas yang digunakan sebagai metode interaksi antara kelas dan objek di luar kelas maupun pengguna kelas adalah. .
a. Object
b. Class
c. Method
d. Constructor
e. Variable

3. Suatu fungsi pada kelas yang secara otomatis dijalankan pada saat kelas dibentuk disebut
a. Object
b. Class
c. Method
d. Constructor
e. Variable

4. Suatu hak akses yang diberikan pada metode maupun properti dalam kelas agar dapat digunakan secara langsung adalah
a. Public
b. Static
c. Void
d. Main
e. Private

5. Keyword untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada induk class adalah
a. Extends
b. This
c. Overloading
d. Super
e. Public

6. Pendefinisian ulang method yang sama pada subclass disebut juga
a. Overloading
b. Overriding
c. Inheritance
d. Instance
e. Super

7. Proses instansiasi biasanya menggunakan keyword
a. This
b. Instance
c. New
d. Object
e. Var

8. Terdapat dua tipe polymorphisme yaitu
a. Overriding dan Overloading
b. Extend dan Super
c. Public dan Private
d. Child Class dan Parent Class
e. Abstract Class dan Interface Class

9. Sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya disebut
a. Abstract
b. Instance
c. Interface
d. Parents
e. Public

10. Hak akses semua harus public dan hanya dapat sebagai penyedia method adalah ciri dari
a. Abstract
b. Instance
c. Interface
d. Child
e. Public



  • KD 3.4 Publikasi Aplikasi Web


1. Sebuah halaman situs yang bisa diakses dengan menggunakan sebuah aplikasi browser disebut
a. Website
b. Hosting
c. Protokol
d. Browser
e. HTTP

2. Server hosting yang dititipkan disuatu tempat dimana penyewa tempat tersebut membutuhkan keamanan, kestabilan arus listrik, dan juga kestabilan akses internet
a. Shared Host
b. VPS ( Virtual Private Server ) Host
c. Dedicated Host Server
d. Colocation Server
e. Reseller Host

3. Server yg digunakan untuk penyimpanan aplikasi yang lebih besar dari pada Share Hosting maupun VPS, jadi pengguna menyewa secara keseluruhan dari komputer server yang disediakan oleh webhost
a. Shared Host
b. VPS ( Virtual Private Server ) Host
c. Dedicated Host Server
d. Colocation Server
e. Reseller Host

4. Sebuah sistem yang menyimpan informasi tentang nama host maupun nama domain dalam bentuk basis data disebut. .
a. DNS
b. FTP
c. Hosting
d. Server
e. Website

5. Ruang penyimpanan di mana Anda bisa meletakkan semua file disebut juga
a. Server
b. Space
c. Hosting
d. Bandwidth
e. Kuota

6. Sebuah aplikasi pengelolaan fitur web hosting disebut juga
a. CPanel
b. Domain
c. HTTPS
d. Content Management System
e. Server

7. Protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork
a. HTTP
b. FTP
c. CPanel
d. Domain
e. Hosting

8. Istilah dalam menyimpan file yang diperlukan website sehingga memungkinkan semua pihak mengakses data yang tersedia pada website tersebut secara online
a. CPanel
b. DNS
c. Server
d. Web Hosting
e. Domain

9. Nama unik/alamat untuk website biasa disebut juga
a. Address
b. URL
c. Hosting
d. Domain
e. Server

10. Dalam sebuah website misalnya www.smkn2kra.sch.id. “smkn2kra” adalah maksud dari
a. URL
b. Domain
c. Top Level Domain (TLD)
d. Halaman Situs
e. Second Level Domain (SLD)

Sekian deh kumpulan soal yang dapat admin berikan. Admin mohon maaf jika ada kesalahan dalam penulis blog ini. Trims 😄

Wassalamu'alaikum Wr. Wb

Kumpulan Soal Basis Data Kelas XII SMK RPL Part 1



Assalamua’alaikum Wr. Wb sahabat berbagi..
Bagaiamana kabarnya nih? Baik baik bukan?

Sahabat disini ada yang Kelas XII SMK Jurusan Rekayasa Perangkat Lunak? Pas banget ini, admin ada tugas buat upload latihan soal mata pelajaran Basis Data.
Eits, tapi bukan hanya buat kelas XII. Bisa buat latihan UN sama buat kelas X dan XI lho. Kan Basis Data dasar dari Teknik Informatika, programmer, bahkan ilmu komputer lainnya deh….

Berikut latihan soal yang sementara admin buat. Sementara KD 3.1 sampai KD 3.4 dulu ya…
Untuk KD selanjutnya, akan diupload pada posting selanjutnya

KUMPULAN SOAL BASIS DATA KELAS XII
REKAYASA PERANGKAT LUNAK

KD 3.1 Basis data client-server
1. Pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan disebut
a. Client
b. Arsitektur client server
c. Server
d. Client Server
e. One Tier

2. Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya. Maksud dari pernyataan diatas disebut juga
a. Service
b. Sharing resource
c. Asymmetrical protocol
d. Transparansi lokasi
e. Mix-and-Match

3. Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah
a. Transparansi lokasi
b. Mix-and-Match
c. Asymmetrical protocol
d. Pesan berbasiskan komunikasi
e. Pemisahan interface dan implementasi

4. Aplikasi client server yang pertama yang digunakan untuk web adalah
a. IIS
b. HTTP
c. WWW
d. WebSphere
e. Web Application Service

5. Menyediakan control recovery adalah fungsi dari
a. Client
b. Arsitektur client server
c. Server
d. Client Server
e. One Tier

6. Fungsi dari client adalah, kecuali
a. Mengatur user interface
b. Memproses aplikasi
c. Menyediakan control recovery
d. Menjamin tidak terjadi pelanggaran terhadap integrity constraint
e. Memberikan response balik kepada pemakai

7. Pemrosesan dilakukan pada mainframe dan kode aplikasi, data dan semua komponen sistem ditempatkan dan dijalankan pada host adalah macam arsitektur aplikasi
a. Standalone
b. Two Tier
c. Three Tier
d. Multi Tier
e. Expert Tier

8. Application programming interface (API) database yang khusus digunakan untuk mengakses database relasional disebut juga
a. ODBC
b. Client
c. Mix-and-Match
d. Asymmetrical protocol
e. WOSA

9. Hal-hal penting yang berkaitan dengan koneksi database adalah
a. DSN, Driver, dan DBMS
b. Database Driver dan File DSN
c. User DSN, System DSN, dan File DSN
d. Databse Driver, User DSN, System DSN, dan File DSN
e. DBMS, Database Driver dan File DSN

10. Semua user yang menggunakan komputer dimana Sistem DSN di-install dapat menggunakannya walaupun bukan pembuatnya adalah maksud dari sifat
a. Client Server
b. File DSN
c. ODBC
d. System DSN
e. User DSN

KD 3.2 SQL pada basis data client-server
1. Perintah SQL yang digunakan untuk mengurutkan berdasarkan abjad adalah
a. Sort by
b. Order by
c. Asc
d. Desc
e. From

2. Contoh penggunaan pengurutan dari z ke a adalah kecuali
a. Select * from siswa ORDER BY nama DESC;
b. Select * from ekskul ORDER BY nama DESC where hari=’minggu’;
c. Select * from pegawai ORDER BY nama DESC;
d. Select from barang ORDER BY nama DESC where harga=’10000’;
e. Select from admin ORDER BY kode DESC where status=’aktif’;

3. Contoh basic statement select adalah
a. Select * from siswa where nama=’kampret’;
b. Select * from gaji;
c. Select * from barang ORDER BY nama DESC;
d. Select * from siswa SORT BY nama;
e. Select * from siswa where nama DESC;

4. Perintah SQL untuk merubah nama suatu struktur table adalah
a. ALTER TABLE mhs CHANGE nama namaMhs VARCHAR(8); 
b. ALTER TABLE mhs RENAME nama namaMhs VARCHAR(8); 
c. ALTER mhs RENAME ON nama namaMhs VARCHAR(8); 
d. ALTER mhs CHANGE ON nama namaMhs VARCHAR(8); 
e. ALTER TABLE mhs ADD nama namaMhs VARCHAR(8);

5. Keyword untuk mengubah tipe data field adalah
a. MODIFY
b. RENAME
c. CHANGE
d. ADD
e. ALTER

6. Memastikan tidak ada data ganda dalam kolom adalah kegunaan dari constraint
a. Check
b. Primary Key
c. Not Null
d. Unique
e. Default

7. Perintah yang digunakan untuk menentukan kolom-kolom yang akan di ubah adalah
a. Update
b. Set
c. Select
d. Where
e. Insert

8. Untuk memastikan data dalam kolom memenuhi kriteria yang ditentukan menggunakan constraint. . .
a. Not null
b. Default
c. Check
d. A, b dan c benar
e. A, b dan c salah

9. Dibawah ini beberapa proses yang termasuk dalam pengubahan struktur dalam tabel, kecuali..
a. Menambah field baru dalam suatu tabel,
b. Mengubah nama field
c. Membuat candidat key
d. Mengubah tipe data field
e. Menghapus primary key

10. DELETE FROM mahasiswa;
Jawaban yang tepat untuk pernyataan diatas adalah
a. Menghapus sebuah tabel mahasiswa
b. Menghapus 2 field sekaligus
c. Menghapus mahasiswa yang tidak mempunyai nim
d. Menghapus data dari tabel mahasiswa yang mempunya nim 12345.
e. Menghapus semua data yang ada didalam tabel mahasiswa

KD 3.3 Penggabungan data
1. Melakukan suatu join berdasarkan kriteria tertentu adalah maksud dari
a. Self Join
b. Equi Join
c. Non-Equi Join
d. Natural Join
e. Inner Join

2. Memilih baris-baris dari dua tabel yang memiliki nilai-nilai yang sama dalam semua kolom yang sesuai.
a. Self Join
b. Equi Join
c. Non-Equi Join
d. Natural Join
e. Inner Join

3. Select anggota.NIM, anggota.nama_mhs as”Anggota Kelompok”, ketua.nama_mhs as “Nama Ketua Kelompok” from mahasiswa ketua, mahasiswa anggota where anggota.id_ketua = ketua.NIM;
Sintaks diatas adalah contoh penggunaan dari
a. Self Join
b. Equi Join
c. Non-Equi Join
d. Natural Join
e. Inner Join

4. Menspesifikkan kolom mana yang akan digunakan sebagai penggabung 2 tabel adalah kegunaan dari klausa
a. ON
b. Using
c. As
d. Where
e. Join

5. Perintah menggunakan klausa ON yang benar adalah
a. SELECT employee_id, last_name, a.department_id, department_name
FROM employees a ON departments b JOIN a.department_id = b.department_id
b. SELECT ON employee_id, last_name, a.department_id, department_name
FROM employees a  departments b JOIN a.department_id = b.department_id
c. SELECT employee_id, last_name, a.department_id, department_name ON
FROM employees a departments b JOIN a.department_id = b.department_id
d. SELECT employee_id, last_name, a.department_id, department_name
FROM employees a JOIN departments b ON a.department_id = b.department_id
e. SELECT employee_id, last_name, a.department_id, department_name
ON employees a FROM departments b JOIN a.department_id = b.department_id

6. SELECT employee_id, department_id, department_name FROM employees JOIN departments ON employees.department_id=departments.department_id;
SQL diatas adalah contoh penggunaan dari
a. Self Join
b. Equi Join
c. Non-Equi Join
d. Natural Join
e. Cross Join

7. Pada MySQL 5.0, ternyata CROSS JOIN identic dengan
a. Self Join
b. Outer Join
c. Non-Equi Join
d. Natural Join
e. Inner Join

8. Contoh penggunaan Left Join yang benar adalah
a. Select first_name, department_name From employees LEFT OUTER JOIN departments employees.department_id=departments.department_id;
b. Select first_name, department_name From employees LEFT OUTER JOIN departments ON employees.department_id=departments.department_id;
c. Select first_name, department_name ON employees LEFT OUTER JOIN departments WHERE employees.department_id=departments.department_id;
d. Select first_name, department_name From employees FROM departments LEFT OUTER JOIN employees.department_id=departments.department_id;
e. Select first_name, department_name From employees LEFT OUTER JOIN departments WHERE employees.department_id=departments.department_id;

9. Hanya menampilkan data yang benar-benar terdapat di dalam tabel yang saling dihubungkan adalah maksud dari
a. Left Join
b. Equi Join
c. Cross Join
d. Full Join
e. Inner Join

10. Rumus Inner Join yang benar adalah
a. SELECT column_name(s) ON table_name1 FROM table_name2 INNER JOIN table_name1.column_name=table_name2.column_name
b. SELECT column_name(s) ON table_name1 INNER JOIN table_name2 FROM table_name1.column_name=table_name2.column_name
c. SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
d. SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name
e. SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 WHERE table_name1.column_name=table_name2.column_name

KD 3.4 Fungsi – fungsi agregasi
1. Proses untuk mendapatkan nilai dari sekumpulan data yang telah dikelompokkan adalah pengertian dari
a. Select
b. Group By
c. Agregasi
d. Asosiasi
e. Constraint

2. Beberapa fungsi agregasi yang sering digunakan adalah sebagai berikut, kecuali
a. Sum
b. Max
c. Min
d. Count
e. Having

3. Mencari cacah data (data NULL tidak akan dimasukkan dalam perhitungan,kecuali disebutkan secara khusus) menggunakan fungsi. . .
a. MIN
b. COUNT
c. MAX
d. SUM
e. AVG

4. Susunan pernyataan Having yang benar adalah
a. [HAVING kondisi-filter-hasil-agregasi]
b. [HAVING kondisi- agregasi -hasil-filter]
c. [HAVING agregasi-filter-hasil-kondisi]
d. [HAVING kondisi-filter-agregasi-hasil]
e. [HAVING filter-agregasi-hasil-agregasi]

5. Untuk menentukan kondisi tertentu pada group by dan kondisi yang berkaitan dengan fungsi agregasi adalah pengertian dari
a. Where
b. Having
c. Group By
d. Sort By
e. Aggregation

6. Penggunaan SQL dari agregasi dari mengelompokkan data yang benar adalah
a. SELECT * FROM pegawai SORT BY id_pegawai;
b. SELECT * FROM siswa GROUP BY jeniskelamin;
c. SELECT * FROM siswa GROUP BY jeniskelamin=’L’;
d. SELECT * FROM pegawai GROUP BY ruang=’2’;
e. SELECT * FROM pegawai GROUP BY ruang;

7. Untuk menfilter record-record bedasarkan kriteria yang ditentukan menggunakan perintah. . .
a. MIN
b. HAVING
c. COUNT
d. WHERE
e. AVG

8. SELECT AVG(SALARY) FROM EMPLOYEE;
Penggunaan agregasi diatas akan menampilkan atribut dengan nama
a. Employee
b. Salary
c. AVG
d. Gaji
e. Select

9. Select Min(Salary),Max(Salary),Dept_Name From Employee Group By Dept_Name;
Penggunaan agregasi diatas dapat dibaca
a. Mengurutkan nama pegawai
b. Memilih pegawai dan mencari data nilai terkecil dan terbesar
c. Mengelompokkan kemudian memilih terkecil kemudian terbesar
d. Memilih terkecil, terbesar kemudian mengurutkannya
e. Memilih terkecil, terbesar kemudian mengelompokannya

10. SELECT max(thnakademik) as thnambilterakhir FROM Pegawai;
Penggunaan agregasi diatas adalah contoh agregasi dari
a. Having
b. Tanpa Kolom
c. Agregasi satu kolom
d. Agregasi dua kolom
e. Agregasi kompleks                            

Sekian deh postingan yang dapat admin bagi. Tunggu part selanjutnya ya. Hehehe. Trims
Wassalamu’alaikum Wr. Wb.

Membuat Animasi TV di Visual Studio C++

Nah, ini postingan pertama di blog munan. Belajar Itu Mudah, Berbagi itu Indah

Sahabat belajar, bagaimana kabarnya nih yang suka programming? Ada yang suka nonton TV? Nah, mumpung admin juga lagi belajar programming. Admin kan jurusannya RPL (Rekayasa Perangkat Lunak). Tiap hari harus pusing-pusing dengan sintaks banyak banget. haha.

Pas banget, pak guru ngasih tugas buat animasi TV nih.
Hitung-hitung ingin berbagi juga sih, kaya slogan blog munan ini

Berikut tampilan animasi yang telah admin buat, walaupun dasarnya dari pak guru sih. Cuma edit doang. Hehehe 😄




Berikut script yang admin sudah praktekan di Visual Studio C++ 2010


#include <stdlib.h>
#include <stdio.h>
#include <GL/glut.h>
void dinding(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){ //bagian bawah tipi yang terdapat tombol
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd(); 
}
void bawahtipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){ //bagian bawah tipi yang terdapat tombol
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd(); 
}
void tomboltipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){ // tombol kotak tipi
glBegin(GL_POLYGON);
glColor3f(1,0,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void tomboltipibesar(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){ // tombol kotak tipi
glBegin(GL_POLYGON);
glColor3f(0,0,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void layartipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){ // layar tipi
glBegin(GL_POLYGON);
glColor3f(0,0,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void sisikanantipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON); // sisi kanan tipi
glColor3f(0,1,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void sisikiritipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON); // sisi kiri tipi
glColor3f(0,1,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void atastipi(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(0.7,1.0f,0.7f); //atas tipi
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void atastipibelakang(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(0,1,0.5); //atas tipi
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void Gambarkotakmeja(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,0.8,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void bawahkotakmeja(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,0.7,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void mejadepankanan(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON); // mejadepankanan
glColor3f(0.6,0.1,0.1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void mejadepankiri(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(0.6,0.1,0.1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void belakangkanan(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_LINE_LOOP);
glColor3f(1,0,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void belakangkiri(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_LINE_LOOP);
glColor3f(1,0,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void kayujendelabelakang(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,0.9,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void kayujendela(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,1,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void Gambarjendela(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void Gambarjendela1(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void Gambarjendela2(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void Gambarjendela3(int x1, int y1,int x2, int y2,int x3, int y3, int x4, int y4){
glBegin(GL_POLYGON);
glColor3f(1,1,1);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
 glVertex2i(x4,y4);
glEnd();
}
void antena (int x1, int y1,int x2, int y2,int x3, int y3){
glBegin(GL_LINE_STRIP);
glColor3f(0,0,0);
 glVertex2i(x1,y1);
 glVertex2i(x2,y2);
 glVertex2i(x3,y3);
}
void userdraw(void) {
// Disini tempat untuk menggambar
 dinding(320,-40,320,-320,-320,-320,-320,-40);
 kayujendela(125,215,125,65,315,65,315,215);
 kayujendelabelakang(125,215,130,220,310,220,315,215);
 Gambarjendela(300,200,300,150,230,150,230,200);
 Gambarjendela1(210,200,210,150,140,150,140,200);
 Gambarjendela2(300,130,300,80,230,80,230,130);
 Gambarjendela3(210,130,210,80,140,80,140,130);
 Gambarkotakmeja(250,-200,-250,-200,-200,-50,200,-50);
 bawahkotakmeja(250,-200,-250,-200,-230,-210,230,-210);
 //mejadepankanan(120,-200,120,-230,90,-230,90,-200);
 //mejadepankiri(-120,-200,-120,-230,-90,-230,-90,-200);
 //belakangkanan(200,-50,200,-200,170,-200,170,-140);
 //belakangkiri(-200,-50,-200,-200,-170,-200,-170,-140);
 //Gambarkotakmeja(200,-50,150,-200,-150,-200,-200,-50);
bawahtipi(120,-135,120,-160,-120,-160,-120,-135);
tomboltipi(110,-145,110,-150,100,-150,100,-145);
tomboltipibesar(-50,-145,-100,-145,-100,-150,-50,-150);
layartipi(120,-135,120,50,-120,50,-120,-135);
sisikanantipi(120,-160,160,-120,160,100,120,50);
sisikiritipi(-120,-160,-160,-120,-160,100,-120,50);
atastipi(160,100,-160,100,-120,50,120,50);
atastipibelakang(160,100,-160,100,-140,120,140,120);
antena(20,190,0,110,-20,180);
glEnd();
}
void display(void) {
glClear( GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
int main(int argc, char **argv){
glutInit(&argc,argv);
glutInitDisplayMode ( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowPosition(100,100);
glutInitWindowSize(640,480);
glutCreateWindow ("Arif Munandar || 07 || XII RA");
glClearColor(0,1,1,0);
gluOrtho2D(-320., 320., -240.0, 240.0);
glutIdleFunc(display); 
glutDisplayFunc(display);
int();
glutMainLoop();
return 0;
}


Sahabat belajar, sekian ini postingan pertama admin. Semoga bermanfaat ya. Ditunggu ya komentarnya