BAB
I
PENDAHULUAN
1.1. Latar
Belakang Masalah
Era globalisasi dan komunikasi saat ini ditandai oleh
banyaknya manusia yang memanfaatkan internet untuk memenuhi kebutuhan informasi
yang semakin meningkat seiring dengan kemajuan di berbagai bidang. Bahkan saat
ini bisa dikatakan bahwa internet adalah nyawa bagi sebagian orang untuk
sekedar berkomunikasi, mencari dan menyebarkan informasi tentang lokasi wisata.
Salah satu pengguna internet yang marak saat ini adalah untuk mengambarkan
sebuah lokasi baik dengan mode 2d ataupun mode 3d. Seiring dengan berkembangnya
World Wide Web (WWW) dan web browser yang semakin memuaskan
pengguna, orang-orang mulai membuat sebuah web dengan antarmuka yang menarik
tapi untuk mengambarkan sebuah objek tertentu kebanyakan orang hnya memebrikan
gambaran dalam satu sudut pandang saja. Hal ini lah yang kini di lirik oleh
perusahaan raksaksa IT yaitu Google yang telah mengembangkan teknologi sebuah
pencitraan objek yang di padukan dengan pencarian lokasi mengunakan widget
hoogle mapnya. Google membuat projek untuk mengambarkan sebuah lokasi dan objek
dengan nyata mengunakan Web tiga dimensi (3D) sebuah solusi terbaik yang dapat
digunakan untuk memecahkan masalah pencitraan objek selama ini. Web 3D adalah
sebuah aplikasi yang memberikan kemampuan pada sebuah website untuk
membuat sebuah tampilan objek tiga dimensi sehingga user dapat melihat interface
serta menumenu yang disajikan dalam bentuk tiga dimensi, yang terpenting
adalah dalam pembangunan web 3D ini harus ada respon dinamik dari user yang
melakukan request dan dikerjakan di server. Salah satu teknologi
yang dapat digunakan untuk membangun web 3D ini adalah WebGL Ide awal web 3D
sepenuhnya adalah untuk menampilkan dan menavigasi situs web dengan menggunakan
3D dengan ekstensi. Istilah ini sekarang digunakan untuk semua konten 3D
interaktif yang tertanam ke dalam halaman web HTML, dan dapat dilihat melalui
browser web. Teknologi Web 3D biasanya membutuhkan software untuk meng-install
sebuah tampil 3D Web untuk melihat jenis konten. Pengertian dari WebGL itu
sendiri adalah konteks kanvas dari sebuah elemen HTML yang menyediakan grafis
dengan objek tiga dimensi API yang diimplementasikan pada sebuah web browser
tanpa menggunakan plug-in yang mengikutinya. WebGL memiliki layanan untuk menyediakan
sebuah tampilan antarmuka program untuk grafis tiga dimensi. Teknologi terbaru
ini menggunakan versi HTML5 dengan mengakses elemen kanvas dan kemudian diakses
menggunakan Document Object Model Interface. Pada penelitian ini akan diangkat
sebuah topik tentang penjualan ikan berbasis 3D. Topik tersebut dipilih karena
banyak web yang menawarkan penjualan ikan masih dalam bentuk objek dua dimensi,
yaitu dengan menggunakan gambar saja, dan user hanya melihat objek dalam satu
sisi saja. Dengan adanya kekurangan ini, maka penulis bermaksud membuat web
penjualan ikan yang dibuat dalam objek 3D yang dapat dilihat dari semua sisi
dengan memanfaatkan animasi.
1.2. Batasan
Masalah
Pada
penulisan ini dibatasi permasalahan pada objek lokasi museum nasional yang terletak
di Jl. Medan
Merdeka Barat No.12, Jakarta Pusat, DKI Jakarta 10110, Indonesia. Mengambil
gambar di sekitar museum nasional saja yang telah di bagi menjadi beberapa
denah tertentu. Aplikasi berjalan mengunakan browser untuk mengaksesnya dan
mengunakan internet untuk mengambil informasi.
1.3. Tujuan
Penelitian
Tujuan
dari suatu perancangan aplikasi ini adalah,
1 Memudahkan user untuk melihat panorama di sekitar objek
museum nasional.
2 Memberikan penjelasan tentang objek-objek museum nasional
3 Sebagai pencitraan museum untuk melihat keseluruhan
lingkungan museum tanpa perlu mengunjungi museum nasional.
4 Memudahkan mengakses informasi museum nasional
5 Memudahkan melihat denah di dalam museum nasional
1.4. Metode
Penelitian
Dalam memperoleh data informasi yang digunakan dalam
penelitian yang direalisasikan dalam penulisan ini, penulis menggunakan studi
pustaka sebagai sumber data yang akan dipakai dalam aplikasi ini. Pada tahap
pengenalan aplikasi, penulis memanfaatkan internet sebagai bahan referensi dan
sumber data mengenai informasi museum nasioanal dan juga metode
web GL.
Pada tahap perncangan, penulis menggunakan Struktur
Navigasi Campuran untuk menggambarkan secara garis besar isi dari seluruh
aplikasi dan menggambarkan bagaimana hubungan antara isi-isi tersebut dan apa
keterkaitannya satu sama lain.
Pada tahap pembuatan aplikasi, yaitu dengan turun
langsung untuk mengambil gambar objek dalam museum nasional dengan mengunakan
kamera DSLR.
Tahap terakhir yang merupakan tahap implementtasi dan
pembuatan aplikasi ini. Pada tahapan ini dilakukan proses uji coba pengaksesan
aplikasi apakah dapat berjalan tanpa adanya debug
atau masalah dalam emulator aplikasi
atau pun dalam pengaplikasian pada web
browser.
1.5. Sistematika
Penulisan
Adapun pembuatan penulisan pada penelitian ini dilakukan
dengan membagi penulisan menjadi beberapa bab, yaitu sebagai berikut:
BAB 1 Pendahuluan
Pada bab ini
berisikan tentang latar belakang masalah, rumusan masalah, batasan masalah,
tujuan penelitian, metode penelitian, sistematika penulisan.
BAB 2 Tinjauan Pustaka
Pada bab ini
menjelaskan tentang teori dasar dan komponen-komponen utama yang digunakan pada
perancangan.
BAB 3 Perancangan dan Implementasi
Pada bab ini berisi
tentang tahapan penelitian yang dilakukan antara lain tahap analisis kebutuhan,
tahap analisis blok diagram, tahap analisis masukan dan keluaran, tahap
analisis diagram alur, serta tahap analisis software.
BAB 4 Penutup
Pada bab ini berisikan tentang simpulan dari perancangan
serta saran-saran terhadap perancangan yang dibuat.
BAB
II
TINJAUAN
PUSTAKA
2.1.Sejarah Museum Nasional
Cikal bakal museum ini lahir
tahun 1778, tepatnya tanggal 24 April, pada saat pembentukan Bataviaasch
Genootschap van Kunsten en Wetenschappen. J.C.M. Radermacher, ketua
perkumpulan, menyumbang sebuah gedung yang bertempat di Jalan Kalibesar beserta
dengan koleksi buku dan benda-benda budaya yang nanti menjadi dasar untuk
pendirian museum. Di masa pemerintahan Inggris (1811-1816), Sir Thomas Stamford
Raffles yang juga merupakan direktur dari Bataviaasch Genootschap van Kunsten
en Wetenschappen memerintahkan pembangunan gedung baru yang terletak di Jalan
Majapahit No. 3. Gedung ini digunakan sebagai museum dan ruang pertemuan untuk
Literary Society (dahulu bernama "Societeit de Harmonie".) Lokasi
gedung ini sekarang menjadi bagian dari kompleks Sekretariat Negara. Pada tahun
1862, setelah koleksi memenuhi museum di Jalan Majapahit, pemerintah
Hindia-Belanda mendirikan gedung yang hingga kini masih ditempati. Gedung
museum ini dibuka untuk umum pada tahun 1868. Setelah kemerdekaan Indonesia,
Lembaga Kebudayaan Indonesia yang mengelola menyerahkan museum tersebut kepada
pemerintah Republik Indonesia, tepatnya pada tanggal 17 September 1962. Sejak
itu pengelolaan museum dilakukan oleh Direktorat Jenderal Kebudayaan, di bawah
Kementerian Pendidikan dan Kebudayaan. Mulai tahun 2005, Museum Nasional berada
di bawah pengelolaan Kementerian Kebudayaan dan Pariwisata sehubungan dengan
dipindahnya Direktorat Jenderal Kebudayaan ke lingkungan kementerian tersebut.
Museum Nasional juga dikenal sebagai Museum Gajah karena dihadiahkannya patung
gajah berbahan perunggu oleh Raja Chulalongkorn dari Thailand pada tahun 1871
yang kemudian dipasang di halaman depan museum. Meskipun demikian, sejak 28 Mei
1979, nama resmi lembaga ini adalah Museum Nasional Republik Indonesia.
2.2.OpenGl
OpenGL (Open Graphics Library) adalah
spesifikasi standar yang mendefinisikan sebuah lintas-bahasa, lintas platform
API untuk mengembangkan aplikasi yang menghasilkan grafis komputer 2D maupun3D.
Antarmuka terdiri dari lebih dari 250 panggilan fungsi yang berbeda yang dapat
digunakan untuk menggambar tiga dimensi yang adegan-adegan kompleks dari
bentuk-bentuk primitif sederhana. OpenGL dikembangkan oleh Silicon Graphics Inc
(SGI) pada tahun 1992 dan secara luas digunakan dalam CAD, realitas maya,
visualisasi ilmiah, visualisasi informasi, dan simulasi penerbangan. Hal ini
juga digunakan dalam video game, di mana bersaing dengan Direct3D on Microsoft
Windows platform (lihat vs OpenGL Direct3D). OpenGL dikelola oleh sebuah
teknologi konsorsium nirlaba yaitu Khronos Group.
2.2.1 Komponen
Komponen
untuk membuat web GL umumnya terbagi menjadi 3 bagian yaitu file HTML, CSS dan
Java Script, Berikut ini contoh syntax HTML
<!DOCTYPE html>
<html>
<head>
<meta
charset="utf8"/>
<title>WebGL</title>
<link
rel="stylesheet" type="text/css"
href="style.css"/>
</head>
<body>
<canvas
id="canvas-webgl">
Browser tidak
support HTML5 Canvas Element.
</canvas>
<script
type="text/javascript" src="script.js"></script>
</body>
</html>
Konten file
style.css adalah sebagi berikut
#canvas-webgl {
display: block;
margin: auto;
border: thin
solid red;
background-color: black;
background-color: black;
}
Dan script.js sebagai berikut
(function() {
// nothing to do here yet
})();
untuk kode javascript akan diletakan didalam self-execution function yang
terdapat dalam file script.js. Border disekitar canvas saya tambahkan hanya
untuk mempermudah melihat keberadaan canvas tersebut.
2.2.2
Programmable Pipeline
WebGL bersifat hardware accelerated dan spesifikasinya
berdasar pada OpenGL ES 2.0. Bagian CPU diproses menggunakan javascript,
sedangkan GPU menggunakan GLSL (OpenGL Shading Language). Programmable
pipeline WebGL (sama dengan OpenGL ES 2.0) adalah sebagai berikut.
Secara garis besar, masing-masing tahap pada pipeline diatas adalah sebagi
berikut (beberapa saya sendiri kurang yakin).
- API (CPU)
merupakan API WebGL
- Vertex
Buffer Object (CPU) adalah data vertex yang akan dikirim ke GPU
- Promitive
Processing (CPU) adalah segala proses yang dituliskan melalui javascript
- Vertex
Shader (GPU) merupakan shader yang memproses setiap vertex
- Primitive
Assembly (GPU) itu seperti pengelompokan data vertex-vertex untuk
dibentuk menjadi titik, garis atau poligon (hanya segitiga)
- Rasterizer
(GPU) adalah pembentukan pixel
- Fragment
Shader (GPU) adalah tempat pewarnaan pixel.
- Depth
Stencil (GPU) merupakan proses depth test dan stencil test.
- Colour
Buffer Blend (GPU) adalah proses blending warna dari pixel-pixel yang
tersisa.
- Dither
(kurang tau ini apaan)
- Frame
Buffer (GPU) adalah tempat gambar 2D hasil. Jika Framebuffer tidak ada,
maka hasil akan digambar pada canvas
Vertex dan fragment shader adalah bagian yang harus anda definisikan
menggunakan GLSL.
2.2.3 WebGL =
Javascript + GLSL
Secara garis besar, Pemograman WebGL dilakukan dengan
mengatur data dari CPU ke GPU. Konstruksi data dilakukan di CPU menggunakan
bahasa Javascript. Data kemudian dikirim ke GPU dan diproses menggunakan bahasa
GLSL pada bagian vertex shader dan fragment shader. Output dari vertex shader
adalah posisi titik-titik tiga dimensi dalam clip space dan
ukuran pixel untuk setiap titik, sedangkan fragment shader adalah warna untuk setiap
pixel.
2.2.4 Inisiasi
Langkah pertama yang dilakukan untuk
membuat aplikasi WebGL adalah mendapatkan konteks WebGL dari canvas element.
String context untuk WebGL adalah "webgl", akan tetapi karena
implementasi WebGL masih ekperimental pada beberapa browser, maka string
context yang umumnya (hampir semuanya) digunakan adalah
"experimental-webgl". Inisiasi konteks WebGL dapat dilakukan dengan
langkah berikut.
var canvas = document.getElementById('canvas-webgl');
try {
var gl =
canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
} catch(err) {
// silahkan kalo
mau lakukan debuging disini...
}
if(!gl) {
// ada masalah,
entah tidak support WebGL atau masalah lainnya...
alert('Inisiasi
WebGL gagal');
return;
}
Setalah mendapatkan konteks WebGL, langkah berikutnya
adalah inisiasi vertex shader dan fragment shader. Inisiasi shader membutuhkan
string GLSL, dan saya akan menggunakan HTML script tag untuk memuat string GLSL
baik vertex maupun fragment shader. Pada index.html anda dapat menambahkan kode
berikut.
<script
id="shader-vertex" type="x-shader/x-vertex">
attribute vec3
a_position;
void main(void)
{
gl_Position =
vec4(a_position, 1.0);
gl_PointSize
= 3.0;
}
</script>
<script
id="shader-fragment" type="x-shader/x-fragment">
void main(void)
{
gl_FragColor
= vec4(0.0, 1.0, 1.0, 1.0);
}
</script>
Tujuan utama script diatas hanyalah mendapatkan string kode GLSL untuk
kedua shader. Anda bisa menempatkan kedua shader tersebut dalam file yang
kemudian kontennya diambil melalui AJAX.
2.2.5 Membuat
Objek WebGLShader
Objek WebGLShader digunakan untuk memberi tau WebGL
tentang kode GLSL yang akan digunakan. Input untuk membuat WebGLShader adalah
jenis shader dan string source kode GLSL. Langkah-langkah pembuatan objek
WebGLShader pada umumnya adalah sebagai berikut.
function createShader = function(shaderSource,
shaderType) {
// membuat objek
WebGLShader dengan input type shader
var glShader =
gl.createShader(shaderType);
// menentukan
kode GLSL untuk shader
gl.shaderSource(glShader, shaderSource);
// kompilasi
shader
gl.compileShader(glShader);
// periksa
status kompilasi shader
// jika
kompilasi berhasil, lanjut ke langkah 8
if
(!gl.getShaderParameter(glShader, gl.COMPILE_STATUS)) {
// kompilasi
gagal. Dapatkan log info shader
var infoLog =
gl.getShaderInfoLog(glShader);
// hapus
shader
gl.deleteShader(glShader);
glShader =
null;
// lempar
error
throw
Error('Error compile shader\r\n' + infoLog);
}
// kembalikan
objek WebGLShader
return glShader;
}
Jenis shader hanya ada dua, yaitu vertex shader dan fragment shader. Nilai
untuk jenis shader dapat diakses dari properti objek WebGL, yaitu
VERTEX_SHADER dan FRAGMENT_SHADER, sehingga pembuatan shader dapat dilakukan
dengan cara dibawah ini.
// string kode source untuk vertex shader
var vshSrc =
document.getElementById('shader-vertex').textContent;
// string kode source untuk fragment shader
var fshSrc = document.getElementById('shader-fragment').textContent;
// WebGLShader untuk vertex shader
var glVertexShader = createShader(vshSrc,
gl.VERTEX_SHADER);
// WebGLShader untuk fragment shader
var glFragmentShader = createShader(fshSrc,
gl.FRAGMENT_SHADER);
Kedua shader telah selesai dibuat, untuk menggunakan kedua shader tersebut,
perlu dibuat objek baru yaitu WebGLProgram.
2.2.6 Membuat
WebGLProgram
Objek WebGLProgram digunakan untuk menjembatani CPU dan
GPU. WebGLProgram menentukan shader mana yang digunakan untuk vertex shader dan
fragment shader. Pembuatan WebGLProgram dapat dilakukan dengan cara berikut.
// membuat objek WebGLProgram
var glProgram = gl.createProgram();
// menentukan vertex dan fragment shader yang akan
digunakan
gl.attachShader(glProgram, glVertexShader);
gl.attachShader(glProgram, glFragmentShader);
Sebelum WebGLProgram digunakan, perlu dilakukan link terhadap
WebGLProgram yang ter-attach vertex shader dan fragment
shader. Ling WebGLProgram dapat gagal dengan beberapa sebab,
salah satunya adalah vertex shader dan fragment shader tidak dapat dihubungkan
(walaupun berbeda, vertex sahder dan fragment shader saling berhubungan dalam
menjalankan proses di GPU). Link WebGLProgram dapat dilakukan
seperti dibawah ini.
// link program
gl.linkProgram(glProgram);
// check status link
if(!gl.getProgramParameter(glProgram, gl.LINK_STATUS)) {
// link gagal,
dapatkan info log program
var infoLog =
gl.getProgramInfoLog(glProgram);
// hapus
program
gl.deleteProgram(glProgram);
glProgram =
null;
// lempar error
throw
Error('Could not initialize program\r\n' + infoLog);
}
2.2.7 Vertex dan
vertex shader
Vertex didefinisikan sebagai titik (point) dalam
ruang 3D yang memiliki koordinat x, y, dan z. Akan tetapi dalam WebGL, pengertian
vertex lebih dari sekedar titik. Vertex dapat didefinisikan sebagai sebuah
objek, berupa titik, yang memiiki attibut/properti. Salah satu attribut adalah
posisi, dan dapat memiliki atribut lain seperti warna dan surface normal.
Atribut vertex dalam vertex shader didefinisikan menggunakan keyword attribute.
Dalam tutorial ini, vertex hanya memiliki satu atribut yaitu
"a_position" yang merupakan posisi vertex dalam ruang 3D.
2.2.8 Data
Vertex
Data vertex dibuat di CPU dan dikirim ke GPU. Untuk
mengirim data ke GPU, data perlu "dipaket" dalam vertex buffer.
Setting data dalam vertex buffer dilakukan dengan menggunakan ArrayBuffer
atau ArrayBufferView. Terdapat 8 jenis ArrayBufferView yaitu
Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array,
Float32Array, Float64Array. Tutorial kali ini menggunakan 4 vertex dimana
koordinat posisi (x, y, z) masing-masing vertex adalah sebagai berikut.
- (
0.5, 0.5, 0)
- ( 0.5,
-0.5, 0)
- (-0.5,
-0.5, 0)
- (-0.5,
0.5, 0)
ArrayBufferView yang digunakan sebagai data posisi vertex adalah
Float32Array, karena data koordinat x, y dan z berupa tipe data float.
Data harus diletakkan secara "rata" dalam elemen-elemen
ArrayBufferView. Data vertex untuk keempat vertex tersebut dapat ditulis
seperti kode berikut.
var dataVertex = new Float32Array([
//x , y , z
0.5, 0.5, 0, // kanan atas
0.5, -0.5, 0, //
kanan bawah
-0.5, -0.5, 0, //
kiri bawah
-0.5, 0.5, 0
// kiri atas
]);
var verticesCount = 4;
Variabel verticesCount akan digunakan dalam proses
menggambar untuk memberi tau berapa jumlah vertex dalam data. Data vertex kemudian di-bind kedalam
vertex buffer mengguanakn WebGLBuffer. Proses setting vertex buffer berserta
datanya adalah sebbagai berikut.
// membuat objeck WebGLBuffer
var vertexBuffer = gl.createBuffer();
// bind objeck WebGLBuffer
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
// setting data WebGLBuffer menggunakan ArrayBufferView
gl.bufferData(gl.ARRAY_BUFFER, dataVertex,
gl.STATIC_DRAW);
2.2.9 Render
Dalam tutorial kali ini, proses render diawali dengan
menggunakan WebGLProgram, seperti pada kode berikut.
// menggunakan WebGLProgram
gl.useProgram(glProgram);
Tutorial kali ini hanya menggunakan satu WebGLProgram, akan tetapi, dalam
apikasi WebGL yang kompleks, terkadang harus membuat lebih dari satu vertex
shader atau fragment shader, sehingga perlu juga membuat lebih dari satu
WebGLProgram untuk masing-masing shader.
Setelah
menentukan WebGLProgram yang digunakan, langkah berikutnya adalah setting
pointer vertex attribut dengan data vertex yang berada dalam vertex buffer.
// index lokasi atribut "a_position" dalam
WebGLProgram
var attribPositionIndx = gl.getAttribLocation(glProgram,
'a_position');
// ukuran atribut, 3 element untuk data posisi
var posSize = 3;
// type data posisi
var posType = gl.FLOAT;
// normalize posisi. selalu false untuk float
var posNormalized = false;
// setting pointer
gl.vertexAttribPointer(attribPositionIndx, posSize,
posType, posNormalized, 0, 0);
Dalam kode diatas, pointer disetting terhadap atribut
"a_position" dari glProgram. Settingtersebut menggunakan
indexattribPositionIndx. variabel posSize digunakan
untuk memberitahukan WebGL bahwa data untuk "a_position" diambi dari
3 element dalam vertex buffer. Dua argument terakhir dengan nilai 0
adalah stride dan offset. Untuk tutorial kali ini,
vertex buffer hanya memuat data untuk satu vertex atribut, sehingga kedua parameter
tersebut disetting 0. Setelah setting
pointer dilakukan, maka proses menggambar (draw) dapat dilakukan. Proses
menggambar dapat dilakukan dengan cara berikut.
// enable index lokasi atribut "a_position"
gl.enableVertexAttribArray(attribPositionIndx);
gl.drawArrays(gl.POINT, 0, verticesCount);
Proses menggambar tersebut didahului dengan meng-enable atribut
vertex menggunakan index lokasi atribut dalam WebGLProgram. Setelah itu proses
menggambar dilakukan dengan mode point, offset data dimuai dari 0
(nol) dan jumlah vertex yang digambar adalah 4 (variabel verticesCount).
Hasil render adalah seperti dibawah ini.
2.3 Panorama
Fotografi Panorama merupakan terjemahan dari landscape photography. Mungkin
sebagian besar orang lebih sering menggunakan istilah asing ini. Tapi sebagai
orang Indonesia alangkah baiknya jika kita menggunakan istilah dalam bahasa
Indonesia. Foto Panorama, mungkin sebagian besar orang terbiasa juga
mengartikan foto panorama sebagai foto pemandangan dengan area foto yang lebih
panjang yang mana perbandingan sisi panjang dan sisi lebar sangat kontras.
Tetapi menurut saya foto panorama memiliki arti yang lebih luas. Fotografi
Panorama adalah kategori foto yang objeknya adalah lingkungan sekitar. Jadi
objek dari foto panorama ini adalah alam dan bukan manusia, jikapun ada manusia
itu bukan merupakan objek utama dari foto panorama ini. Karena pada dasarnya,
objek otama dari fotografi panorama ini adalah seluruh bagian foto, walaupun
tetap ada objek yang menjadi pusat dari keindahan foto panorama itu sendiri.
Secara umum, foto panorama ini dibuat untuk menunjukkan keindahan dari alam
sekitar kita, bahkan dalam sebuah tempat yang hancur kita bisa menunjukkan
keindahan dari tempat itu. Diharapkan dengan foto panorama, orang-orang bisa
lebih menghargai apa yang ada di alam ini, baik itu alami maupun buatan
manusia.
2.3.1 Macam-macam foto panorama
Berikut ini adalah macam-macam foto yang
dapat dikategorikan sebagai foto panorama:
2.1 Foto Pemandangan Daratan
Dalam foto ini objek utamanya adalah daratan, gunung,
persawahan, dan semacamnya. Sehingga jikapun ada langit perbandingannya lebih
besar pada bagian daratannya. Selain itu foto yang diambil dari ketinggian bisa
dikategorikan sebagai foto pemandangan daratan jika objeknya itu adalah
daratan. Dan kebanyakan foto pemandangan yang diambil dari udara atau
ketinggian objeknya adalah daratan, dimana pembuat foto berusaha menunjukkan
keindahan lingkungan dari sisi lain yaitu dari atas.
2.2 Foto Pemandangan Lautan
Dalam foto ini objek utamanya adalah laut dan perairan
lainnya. Keberadaan air ditekankan dalam foto panorama jenis ini. Foto bawah
air bisa dimasukkan dalam kategori foto panorama jenis ini, sebab foto bawah
air juga menampilkan keindahan dari lingkungan bawah air.
2.3 Foto pemandangan langit
Dalam foto ini objek utamanya adalah langit, awan,
dan semacamnya. Dalam foto ini ditekankan pada keberadaan langitnya. Sehingga
jikapun ada daratan ada hal lainnya proporsinya pun sedikit. Foto matahari
terbit, matahari terbenam, pelangi, serta mendung dan petir termasuk foto
panorama jenis ini.
2.4 Foto Pemandangan Perkotaan
Dalam foto ini objek utamanya adalah kota atau
desa. Memperlihatkan keindahan dan keunikan dari perkotaan atau pedesaan yang
merupakan ciri khas dari lingkungan tersebut.
2.3.2 Cara atau teknik membuat foto panorama yang baik
Sama seperti fotogafi pada umumnya,
sebelum membuat atau memotret panorama kita sebaiknya membuat rencana. Saya
tidak percaya bahwa foto yang panorama yang baik dapat dibuat tanpa
merencanakannya terlebih dahulu (Charlie, 1992:6). Selain merencanakan kita
juga harus memikirkan dan mencari informasi tentang keadaan di lapangan
karena fotografi panorama hubungannya dengan keadaan di lapangan terutama
cahayanya. Alat juga harus diperhatikan dalam memotret panorama.
Berikut ini adalah hal-hal yang perlu diperhatikan
agar dapat membuat foto panorama yang baik:
3.1 Gambar grafis
Perlu diperhatikan warna dari foto, karena
warna dalam pemandangan merupakan bagian yang penting. Bisa saja kita
menggunakan warna alami, atau melakukan sedikit manipulasi dengan membuat
kontras yang lebih atau menajamkan warna.
3.2 Keseimbangan
Perbandingan dari tiap-tiap objek yang
mengisi foto panorama perlu diperhatikan. Keseimbangan yang sempurna akan
membuat foto panorama itu lebih menarik.
3.3 Kesederhanaan
Membuat foto panorama tidak harus rumit,
membuat gambar yang sederhana tetepi dengan sentuhan yang sesuai akan membuat
foto lebih menarik. Memberikan pusat keindahan yang mudah didapati akan lebih
baik dalam sebuah foto panorama.
3.4 Kesesuaian
Menyesuikan bentuk foto akan membuat foto
panorama semakin baik. Semisal membuat foto panorama air terjun yang kecil,
akan lebih baik jika panorama itu diambil secara vertikal. Hal ini disesuaikan
dengan keadaan di sekitar pusat dari keindahan panorama yang akan diambil.
3.5 Pemilihan bidang
Hal penting yang harus diperhatikan dalam
foto panorama adalah pengambilan ruang atau keindahan penunjang dari pusat
keindahan foto panorama.
3.6 Kelengkapan gambar
Alangkah baiknya jika keindahan yang
ditunjukkan dalam sebuah foto panorma lengkap. Sehingga dari bidang foto yang
terbatas, penikmat dapat membayangkan kelanjutan dari keindahan yang terdapat
di dalam foto panorama tersebut.
3.7 Pemilihan objek
Objek yang dipilih dalam foto panorama
juga harus diperhatikan. Objek yang monumental akan lebih menarik jika digunakan
sebagai foto panorama.
3.8 Waktu
Waktu atau masa pembuatan foto panorama
harus diperhatikan. Baik dalam jangka pendek maupun jangka panjang. Jangka
pendek misal kita membuat foto panorama pada waktu-waktu yang bagus, semisal
pada saat matahari terbit atau terbenam, saat langit biru pagi, saat setelah
hujan, dan semacamnya. Dalam jangka panjang, musim harus diperhatikan. Misal
kita membuat foto panorama pepohonan, mungkin akan lebih menarik ketika membuat
saat musim gugur atau musim salju.
3.9 Ketegasan
Ketegasan dalam pemilihan objek utama
perlu diperhatikan, sehingga penikmat foto tidak rancu dengen objek yang
bemacam-macam.
3.10 Gradasi Objek
Menggunakan objek lebih dari satu bisa
membuat foto panorama lebih baik, asal terdapat gradasi yang jelas, mana yang
merupakan objek utama, objek sekunder, dan seterusnya. Sehingga setiap objek
yang terdapat dalam foto panorama menunjang objek lainnya yang lebih diutamakan
dalam foto tersebut.
3.11 Pergerakan dan pencahayaan
Hal yang penting untuk diperhatikan dalam
pembuatan foto panorama. Agar karya foto panorama yang kita buat terlihat lebih
“hidup“ maka kedua hal ini harus dimanfaatkan sebaik mungkin. Sehingga penikmat
bisa merasakan keindahan yang kita rasakan saat membuat foto panorama tersebut.
Setelah kita melakukan proses pemotretan
panorama, langkah selanjutnya adalah proses pembuatan ke bentuk akhir.
Pemotongan bidang foto, pembersihan foto, dan manipulasi foto adalah hal yang
dilakukan dalam proses akhir ini. Ada foto yang dibuat untuk dipotong, mungkin
memanipulasi warnanya menjadi lebih panas, atau mungkin merubahnya menjadi
hitam-putih. Hal ini harus dilakukan sesuai rencana awal pembuatan foto
panorama.
Selain hal-hal tentang pembuatan foto
panorama diatas, Kelengkapan peralatan juga harus diperhatikan. Foto
panorama banyak berhubungan dengan alam, jadi peralatannya kurang lebih sama
seperti seorang petualang. Untuk kelengkapan kamera juga harus diperhatikan.
Kamera SLR 35mm atau rangefinde kamera biasa digunakan untuk pemotretan
panorama. Tapi seiring dengan berkembangnya teknologi, kamera DSLR lebih banyak
digunakan dalam berbagai pemotretan. Sehingga untuk kelengkapan kamera yang
lebih diperhatikan antara lain:
a. Lensa
Lensa yang
disiapkan dalam pemotretan foto panorama antara lain wide-angle(28/35mm), medium telephoto (85/105), atau menggunakan lensa yang
cakupan jaraknya antara 28-80mm atau 35-105mm sehingga lebih fleksibel.
b. Tripod
c. Filters
Filter yang baik disiapkan untuk pemotretan
panorama antara lain filter
general (ultaviolet), filter polarising, filter graduated, dan seterusnya sesuai dengan
kebutuhan.
d. Lens hood
Akan sangat diperlukan jika cahaya terlalu keras
sehingga perlu meredupkan foto agar tidak terlalu terang dan mengganggu
hasil foto panorama tersebut.
Setelah kelengkapan kamera lengkap, satu hal lagi
yang perlu diperhatikan adalah penyimpanan kelengkapan tersebut. Penyimpanan
harus dilakukan dengan baik dan disesuaikan dengan kondisi lingkungan, Sehingga
bisa mengurangi resiko terjadi kerusakan pada tiap-tiap kelengkapan tersebut.
Daftar Pustaka
Waite,
Charlie. 1992. The Making of Landscape Photogapher. London :
Collins & Brown Limited
Bower,
Brian. 1993. Lens, Light, and Landscape. Singapore : C S Graphics
for David & Charles.
Hamann,
Horst. 2005. Paris Vertical. New York : TeNeues.
Hawkes,
Jason. 2003. Aerial. London : Rotovision.
Eckbo,
Garret. 1969. The Landscape We See. New York : McGra-Hill.
http://bwcolor.wordpress.com/2011/02/04/makalah-fotografi-landscape-pemandangan-panorama/
sippp, artikel yang sangat menambah wawasan mengenai pengembangan sistem ini...
ReplyDeletesolder uap