• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN. 1.1.Latar Belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I PENDAHULUAN. 1.1.Latar Belakang"

Copied!
15
0
0

Teks penuh

(1)

1 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

BAB I

PENDAHULUAN

1.1.Latar Belakang

OpenGL (Open Graphics Library) adalah standar API yang dapat digunakan untuk membuat aplikasi berbasis grafik, baik dua dimensi (2D) maupun tiga dimensi (3D). OpenGL ini bersifat cross-platform, artinya dapat dijalankan pada berbagai platform sistem operasi yang ada saat ini. OpenGL sendiri telah banyak dibahas oleh kalangan praktisi, akademisi, maupun industri, yang notabene berkutat dalam implementasi pemrograman grafik 2D dan 3D.

Untuk membuat aplikasi menggunakan OpenGL, terlebih dahulu kita membutuhkan suatu konsepsi interfacing dalam implementasinya. Salah satu cara yang sudah umum digunakan adalah dengan membuat window-based OpenGL. Untuk dapat membuat konsep windowing pada OpenGL, kita memerlukan tool tertentu. Yang kita gunakan kali ini adalah GLUT (OpenGL Utility Toolkit). GLUT dipilih karena di dalamnya telah terdapat banyak fungsi yang dapat dipakai untuk pembuatan application window. Disamping itu, windowing pada GLUT juga bersifat independen terhadap sistem operasi, sehingga kita tidak perlu repot-repot untuk mengubah kode program jika diterapkan pada sistem operasi yang berbeda.

1.1Manfaat Dan Tujuan

Manfaat dan tujuan makalah ini di buat adalah :

1. Untuk memenuhi Tugas Matakuliah Grafika Komputer Semester 6 2. Mahasiswa dapat mengetahui function (fungsi) dalam OpenGL

3. Mahasiswa dapat membuat program untuk membangun grafik 2D dan 3D menggunakan bahasa pemrograman Visual Basic dan grafik library OpenGL

4. Mahasiswa dapat menerapkan prinsip dasar grafika komputer untuk keperluan visualisasi, animasi dan simulasi pada bidang ilmu lainnya.

(2)

2 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

Bab II

TINJAUAN PUSTAKA

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.2.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.

(3)

3 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

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.3.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.

(4)

4 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

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.3.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;

(5)

5 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

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.3.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. Fungsi atau prosedur yang digunakan :

mode GL_QUARDS – menggambarkan segi empat

mode GL_LINES – menggambark garis

glVertex3f- penentuan titik 3 dimensi

(6)

6 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

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);

(7)

7 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

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.

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.

(8)

8 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

BAB III

PEMBAHASAN

.1. Berikut ini adalah Penjelasan setiap fungsi openGL berbasis 3D berupa 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(bmPoints); Titik Objek primitive  glBegin(bmLines); Garis Objek primitive

 glBegin(bmLineStrip); Poligaris Objek primitive

 glBegin(bmLineLoop); Poligaris tertutup (polygon) Objek primitive  glBegin(bmTriangels); Segitiga Objek primitive

 glBegin(bmTriangelStrip); Segitiga Objek primitive  glBegin(bmTriangelFan); Segitiga Objek primitive  glBegin(bmQuads); Segiempat Objek primitive  glBegin(bmQuadStrip); Segiempat Objek primitive  glBegin(bmPolygon); Poligon Objek primitive

(9)

9 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

 glBegin(bmPolySttiple); 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

3.2. Contoh script program dari setiap fungsi oepnGL berbasis 3D :

 glBegin(bmPoints) ... glEnd(); glBegin bmPoints glVertex2f x, y glEnd  glColor3f(...); glColor3f 0, 0, 1  glVertex3f( ...); glVertex3f .x, .y, .z  glBegin(bmLines); ... glEnd(); glBegin bmLines glVertex2f x, y glEnd  glBegin(bmLineStrip); ... glEnd(); glBegin bmLineStrip glVertex2f x, y glEnd  glBegin(bmLineLoop); ... glEnd(); glBegin bmLineLoop glVertex2f x, y glEnd  glBegin(bmTriangels); ... glEnd(); glBegin bmTriangles glVertex2f 0, 9 glVertex2f 4, 7 glVertex2f -4, 7 glEnd  glBegin(bmTriangelStrip); ... glEnd(); glBegin bmTriangelStrip glVertex2f 0, 9 glVertex2f 4, 7 glVertex2f -4, 7 glEnd  glBegin(bmTriangleFan); ... glEnd(); glBegin bmTriangelFan glVertex2f 0, 9 glVertex2f 4, 7 glVertex2f -4, 7 glEnd

(10)

10 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

3.3. Contoh Aplikasi Program Beserta Capture Hasil Program

Ketik script ini di Modul :

'VARIABEL Buatan Public Type Titik3D x As Single y As Single z As Single End Type

Public Type Sisi

Sisi_Depan(1 To 4) As Titik3D Sisi_Kanan(1 To 4) As Titik3D Sisi_Belakang(1 To 4) As Titik3D Sisi_Kiri(1 To 4) As Titik3D Sisi_Atas(1 To 4) As Titik3D Sisi_Bawah(1 To 4) As Titik3D End Type

Public Objek As Sisi

Sub EnableOpenGL(ghDC As Long) Dim pfd As PIXELFORMATDESCRIPTOR ZeroMemory pfd, Len(pfd) pfd.nSize = Len(pfd) pfd.nVersion = 1

pfd.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER pfd.iPixelType = PFD_TYPE_RGBA pfd.cColorBits = 24 pfd.cDepthBits = 32 pfd.iLayerType = PFD_MAIN_PLANE PixFormat = ChoosePixelFormat(ghDC, pfd) If PixFormat = 0 Then GoTo ee

SetPixelFormat ghDC, PixFormat, pfd hrc = wglCreateContext(ghDC)

wglMakeCurrent ghDC, hrc Exit Sub

ee: MsgBox "Nelze nastavit parametry pro zobrazení grafiky!" End End Sub Sub DisableOpenGL() wglMakeCurrent 0, 0 wglDeleteContext hrc End Sub

Ketik script ini di Form :

Sub Inisialisasi_Awal()

'========== Inisialisasi ========== EnableOpenGL Me.hDC

hrc = wglCreateContext(hDC) wglMakeCurrent hDC, hrc

(11)

11 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

'Inisilisasi Koordinat Bidang Dimensi-3 xmin = -10: ymin = -10

xmax = 10: ymax = 10 zmin = 10: zmax = -10

glOrtho xmin, xmax, ymin, ymax, zmin, zmax glClearColor 0.6, 0.6, 0.6, 0 glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT glClear clrColorBufferBit glMatrixMode GL_PROJECTION glLoadIdentity glColor3f 1, 1, 1 glBegin bmLines glVertex2f -10, 0 glVertex2f 10, 0 glEnd glColor3f 1, 1, 1 glBegin bmLines glVertex2f 0, 10 glVertex2f 0, -10 glEnd End Sub Sub Bersihkan_Layar() glClearColor 0.6, 0.6, 0.6, 0 glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT End Sub Sub Tampilkan_Gambar() 'Menampilkan Hasil glFlush SwapBuffers Me.hDC End Sub Sub Membuat_Titik() '=======KUBUS=========== 'titik 1 bagian depan Objek.Sisi_Depan(1).x = -3 Objek.Sisi_Depan(1).y = -3 Objek.Sisi_Depan(1).z = 0

'titik 2 bagian depan Objek.Sisi_Depan(2).x = 3 Objek.Sisi_Depan(2).y = -3

(12)

12 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

Objek.Sisi_Depan(2).z = 0

'titik 3 bagian depan With Objek.Sisi_Depan(3) .x = 3

.y = 3 .z = 0 End With

'titik 4 bagian depan With Objek.Sisi_Depan(4) .x = -3 .y = 3 .z = 0 End With

'titik 1 bagian belakang Objek.Sisi_Belakang(1).x = -3 Objek.Sisi_Belakang(1).y = -3 Objek.Sisi_Belakang(1).z = 3

'titik 2 bagian belakang Objek.Sisi_Belakang(2).x = 3 Objek.Sisi_Belakang(2).y = -3 Objek.Sisi_Belakang(2).z = 3

'titik 3 bagian belakang With Objek.Sisi_Belakang(3) .x = 3

.y = 3 .z = 3 End With

'titik 4 bagian belakang With Objek.Sisi_Belakang(4) .x = -3 .y = 3 .z = 3 End With

'titik 1 bagian atas Objek.Sisi_Atas(1).x = -3 Objek.Sisi_Atas(1).y = 3 Objek.Sisi_Atas(1).z = 0

'titik 2 bagian atas Objek.Sisi_Atas(2).x = 3 Objek.Sisi_Atas(2).y = 3 Objek.Sisi_Atas(2).z = 0

'titik 3 bagian atas With Objek.Sisi_Atas(3) .x = 3

.y = 3 .z = 3

(13)

13 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

End With

'titik 4 bagian atas With Objek.Sisi_Atas(4) .x = -3 .y = 3 .z = 3 End With

'titik 1 bagian bawah Objek.Sisi_Bawah(1).x = -3 Objek.Sisi_Bawah(1).y = -3 Objek.Sisi_Bawah(1).z = 0

'titik 2 bagian bawah Objek.Sisi_Bawah(2).x = 3 Objek.Sisi_Bawah(2).y = -3 Objek.Sisi_Bawah(2).z = 0

'titik 3 bagian bawah With Objek.Sisi_Bawah(3) .x = 3

.y = -3 .z = 3 End With

'titik 4 bagian bawah With Objek.Sisi_Bawah(4) .x = -3 .y = -3 .z = 3 End With

'titik 1 bagian kanan Objek.Sisi_Kanan(1).x = 3 Objek.Sisi_Kanan(1).y = -3 Objek.Sisi_Kanan(1).z = 0

'titik 2 bagian kanan Objek.Sisi_Kanan(2).x = 3 Objek.Sisi_Kanan(2).y = -3 Objek.Sisi_Kanan(2).z = 3

'titik 3 bagian kanan With Objek.Sisi_Kanan(3) .x = 3

.y = 3 .z = 3 End With

'titik 4 bagian kanan With Objek.Sisi_Kanan(4) .x = 3

.y = 3 .z = 0 End With

(14)

14 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

'titik 1 bagian kiri Objek.Sisi_Kiri(1).x = -3 Objek.Sisi_Kiri(1).y = -3 Objek.Sisi_Kiri(1).z = 0

'titik 2 bagian kiri Objek.Sisi_Kiri(2).x = -3 Objek.Sisi_Kiri(2).y = -3 Objek.Sisi_Kiri(2).z = 3

'titik 3 bagian kiri With Objek.Sisi_Kiri(3) .x = -3

.y = 3 .z = 3 End With

'titik 4 bagian kiri With Objek.Sisi_Kiri(4) .x = -3 .y = 3 .z = 0 End With End Sub

Private Sub Command1_Click() Call Membuat_Titik Call Inisialisasi_Awal glRotatef 45, 2, 2, 1 ‘============= Kubus ================= glColor3f 1, 0.6, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Kanan(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 0.7, 0, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Belakang(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0.8, 0 glBegin bmPolygon For ttk = 1 To 4

(15)

15 Grafika Komputer ( Universitas Muhammadiyah Sidoarjo )

With Objek.Sisi_Bawah(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 1, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Kiri(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0, 0.3 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Atas(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd glColor3f 1, 0, 0 glBegin bmPolygon For ttk = 1 To 4 With Objek.Sisi_Depan(ttk) glVertex3f .x, .y, .z End With Next ttk glEnd '================================================== Call Tampilkan_Gambar End Sub

Referensi

Dokumen terkait

untuk liabilitas keuangan non-derivatif dengan periode pembayaran yang disepakati Grup. Tabel telah dibuat berdasarkan arus kas yang didiskontokan dari liabilitas

Suku bunga efektif adalah suku bunga yang secara tepat mendiskontokan estimasi penerimaan atau pembayaran kas di masa datang (mencakup seluruh komisi dan bentuk

Segala puji bagi Allah Tuhan Semesta Alam, sumber segala kebenaran, sang kekasih tercinta yang tidak terbatas pencahayaan cinta-Nya bagi hamba-Nya, Allah Subhana Wata‟ala

Melalui kegiatan observasi di kelas, mahasiswa praktikan dapat. a) Mengetahui situasi pembelajaran yang sedang berlangsung. b) Mengetahui kesiapan dan kemampuan siswa dalam

Dua hal yang dipelajari penulis dengan pendekatan kemosistematika dalam peng- amatan adalah: (1) ketetapan karakter pada kelompok besar tetumbuhan yang memiliki arti dalam

Penelitian ini berjudul Pola Komunikasi Masyarakat Kampung Bali, yang penelitiannya meliputi wawancara pada Masyarakat Suku Bali di Desa Cipta Dharma atau

Undang-Undang Nomor 31 Tahun 2000 tentang Desain Industri mengatur bahwa perlindungan hukum hak atas karya Desain Industri diberikan pada seorang pendesain berdasarkan

algoritma kompresi LZW akan membentuk dictionary selama proses kompresinya belangsung kemudian setelah selesai maka dictionary tersebut tidak ikut disimpan dalam file yang