Langsung ke konten utama

Implementasi Komputasi Paralel Dalam Dunia Bisnis

PENGERTIAN 

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel.


Di dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).

Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.

Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Pada system komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini computer parallel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.

Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Sambungan langsung peer to peer digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan memori.

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:

  1. SISD (Single Instruction, Single Data) adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
  2. SIMD(Single Instruction, Multiple Data) menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
  3. MISD(Multiple Instruction, Single Data) menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
  4. MIMD( Multiple Instruction, Multiple Data) menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:

Penyelesaian Sebuah Masalah pada Komputasi Tunggal

Penyelesaian Sebuah Masalah pada Komputasi Paralel                      


Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal. Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi tunggal.


IMPLEMENTASI KOMPUTASI PARALEL PADA DUNIA BISNIS KHUSUSNYA PERFILM-AN


Pada bagian ini penulis akan membahas salah satu implementasi komputasi parallel pada dunia bisnis yaitu pada dunia perfilman yaitu rendering film. Kemajuan di bidang komputasi, khususnya dalam bidang komputer grafis memberikan kemudahan untuk memodelkan suatu benda dalam alam 3 dimensi virtual di komputer. Kita dapat membuat suatu benda dalam wujud 3 dimensi dan mengubah-ubah sudut pandang, menentukan pencahayaan, bahkan menyusun gerakan benda dalam alam 3 dimensi virtual tersebut. Perkembangan ini muncul dari kebutuhan di bidang manufaktur untuk memiliki komputer yang dapat membantu perancangan (computer aided design-CAD). Ditemukannya teknik-teknik dan metoda rendering suatu obyek 3 D ke dalam media 2 D membuat benda yang dihasilkan oleh perangkat lunak ini menjadi semakin nyata dan menyerupai aslinya.

Komputasi Paralel mempunyai prinsip yang bersesuaian dengan algoritma Divide and Conquer, yaitu membagi-bagi proses menjadi bagian-bagian yang cukup kecil dan memungkinkan untuk dikerjakan oleh sebuah unit komputasi.
Terdapat 2 klasifikasi parallel computer yang penting, yaitu : Sebuah komputer dengan banyak unit komputasi internal, atau lebih dikenal sebagai Shared Memory Multiprocessor. Beberapa komputer yang terhubung melalui sebuah jaringan, atau lebih dikenal sebagai Distributed Memory Multicomputer.

Pada bagian ini yaitu pada rendering Film digunakan unit Komputasi parallel Distributed Memory Multicomputer. Hal ini dikarenakan computer yang digunakan untuk membuat rendering filmnya adalah Kluster Komputer. Kluster computer adalah proses menghubungkan beberapa computer agar dapat bekerja secara bersama-sama dengan sebuah jaringan sebagai media penghubungnya.

Komponen kluster biasanya saling terhubung dengan cepat melalui sebuah interkoneksi yang sangat capat, atau juga melalui jaringan local (LAN). Keuntungan memakai Kluster Komputer ini yaitu pemrosesan dapat dilakukan lebih cepat karena mempunyai mesin-mesin yang masing-masing multiprocessor. Terdapat incremental Scalability dimana penambahan system-sistem baru dengan inkremen yang kecil. Dalam Kluster Komputer kegagalan yang terjadi di dalam satu node tidak berarti atau disebut dengan “Loss of service”. Dan yang terakhir yaitu biaya yang dibutuhkan lebih murah, hal ini dikarenakan Kluster computer dapat menghasilkan power komputasi yang sama atau lebih tinggi dari computer parallel sebenarnya.

3D Rendering merupakan salah satu proses yang sangat penting dalam melakukan pengolahan gambar 3D. Tanpa dirender suatu gambar yang diolah oleh perangkat lunak animasi 3D hanya akan tampil dalam bentuk kumpulan point dan wireframe sederhana. Proses render melakukan “pembungkusan” tekstur pada objek yang bersesuaian sesuai cahaya yang datang pada objek tersebut. Namun proses render membutuhkan daya komputasi yang sangat besar karena banyaknya titik koordinat yang harus dikomputasi, terutama jika data 3D yang diolah cukup rumit.

3D Rendering terdiri dari proses yang bertujuan untuk membentuk sebuah gambar dari sebuah model yang dibentuk oleh perangkat lunak animasi, model tersebut berisi data geometri, titik pandang, tekstur dan cahaya yang diperlukan untuk membuat gambar yang utuh.3D Rendering merupakan proses yang sangat penting dan telah digunakan untuk berbagai macam penggunaan, seperti program permainan komputer, efek spesial pada film dan program simulasi.

Salah satu cara untuk memecahkan masalah tersebut adalah dengan menggunakan algoritma Divide and Conquer yang diterapkan kedalam metode Komputasi Parallel. Divide and Conquer merupakan salah satu strategi algoritma yang memecah suatu masalah besar menjadi beberapa bagian untuk kemudian dikerjakan satu persatu. Dalam Komputasi Parallel tiap-tiap bagian dikerjakan oleh unit pemrosesannya masing-masing, sesuai dengan kesepakatan Divide pada awal komputasi. Komputasi Parallel terbukti jauh lebih efektif untuk melakukan rendering objek 3D dibanding hanya menggunakan sebuah unit komputasi. Sebagai contoh suatu perusahaan animasi asal Jepang, membutuhkan waktu 165 tahun jika proses render yang dilakukan untuk membuat animasi berdurasi 100 menit hanya menggunakan sebuah unit komputasi. Sedangkan ketika perusahaan tersebut menggunakan metode Komputasi Parallel, proses tersebut hanya membutuhkan waktu 1 tahun saja.

Salah satu masalah kompleks yang hingga kini masih membutuhkan kemampuan komputasi yang besar adalah melakukan proses render terhadap objek 3D. Proses render objek 3D sendiri membutuhkan waktu yang cukup lama, terlebih jika objek yang diberikan cukup rumit. 

Sebenarnya operasi render objek 3D hanya merupakan kumpulan dari beberapa operasi primitif, namun operasi primitif yang dilakukan pada proses render sangatlah banyak. Untuk itu digunakan metode Komputasi Parallel sehingga tiap-tiap operasi primitif yang dilakukan dapat dikerjakan dengan menggunakan algoritma Divide and Conquer agar tiap bagian dari operasi Divide pada perhitungan yang dilakukan dapat dikerjakan oleh masing-masing unit komputasi. Beberapa operasi primitif yang digunakan dalam 3D Rendering adalah operasi penghitungan jarak antara 2 titik,operasi perkalian bilangan bulat yang besar. Tentunya hampir kesemua operasi primitif tersebut dapat dipecahkan dengan menggunakan algoritma Divide and Conquer sehingga menjadikan proses 3D Rendering sangat cocok untuk diselesaikan dengan algoritma Divide and Conquer.

Selain itu, perfilman yang mengandalkan spesial efek merupakan salah satu industri yang paling banyak mengandalkan HPC Cluster. Rangkaian film The Lord of the Ring yang akan diputar pada pertengahan Desember ini merupakan salah satu film yang paling banyak mengandalkan digital content creation (DCC) dan menuntut kapasitas pemrosesan yang besar untuk rendering gambar- gambar beresolusi tinggi dalam berbagai format.

WETA Digital, sebuah perusahaan animasi dan spesial efek yang bermarkas di Selandia Baru, membangun fasilitas render farm berbasis cluster hingga skalabilitas ribuan prosesor untuk mengerjakan film ini. Jika sekuel Lord of The Ring dikerjakan dengan personal computer (PC) yang tercepat saat ini, dibutuhkan waktu lebih dari 10 tahun untuk menyelesaikan proses rendering. Bagi para artis grafis 3D atau animator, hal yang paling menyita waktu adalah menunggu proses rendering.

Beberapa waktu lalu Pixar, sebuah studio 3D spesial efek membangun HPC Cluster baru berbasis 1.920 prosesor Intel Xeon untuk menggantikan mesin Sun Enterprise Render Server yang dipakai untuk produksi film Monster Inc.Oracle, vendor aplikasi database terkemuka telah mendukung teknologi cluster dengan meluncurkan Oracle 9i.

Berpikir sedikit optimistis, dengan dukungan ini setidaknya kita bisa mengevaluasi ulang kebutuhan kita membeli mainframe yang mahal untuk menjalankan aplikasi enterprise Anda dan menggantikan dengan mesin berbasis HPC Cluster. Dan mungkin, dengan sedikit percaya diri, mesin tersebut dapat merupakan produk rakitan sendiri. Selain dapat menjadi indikasi kegiatan riset dan pencapaian teknologi kepemilikan superkomputer, hal itu juga merupakan masalah prestisius bangsa. Salah satu proyek yang cukup ambisius tahun ini adalah RedGrid, sebuah supercluster RRC yang dibangun oleh Cray dengan prosesor AMD Opteron dan diprediksikan menjadi superkomputer nomor dua tercepat di dunia.

Di negara tetangga seperti Thailand, Malaysia, dan Singapura terdapat banyak sekali proyek HPC Cluster yang dibangun untuk kebutuhan riset dan industri. Bagaimana dengan Indonesia? Mungkin sampai saat ini belum ada satu lembaga penelitian atau universitas pun yang memiliki HPC Cluster. Pertanyaan perlu atau tidak merupakan hal yang relatif dan mengingat bahwa di negara kita hampir tidak ada riset teknologi maju ataupun dasar. Kecenderungan kita adalah membeli sebuah solusi jadi dan bukan know-how, membuat bangsa ini sangatlah sukar untuk maju secara teknis dalam bidang teknologi.

Pemodelan merupakan bagian yang terpenting dalam proses pembuatan gambar 3D dalam komputer. Dari model inilah semuanya bermula. Semakin baik dan presisi proses modeling semakin baik pula kualitas gambar/animasi yang dihasilkan. Pemodelan dapat dilakukan dengan alat bantu seperti digitizer 2D/3D atau scanner 3D maupun dibuat secara manual di komputer. Demi kecepatan dan ketelitian memang akan lebih baik jika kita menggunakan alat bantu, tetapi karena harga perangkat digitizer ini tidak dapat dibilang murah, maka pemodelan secara manual kadang menjadi pilihan yang paling tepat.

Objek-objek sederhana seperti bola, silinder, tube, prisma, kotak, limas, kerucut, dan benda geometris semacam ini biasanya telah disediakan fasilitas pembuatannya dalam program 3D Modelling komersial. Kita cukup menentukan parameter-parameter benda tersebut seperti koordinat pusat, tinggi, lebar, jari-jari, tebal dan lain-lain. Untuk bentuk-bentuk objek yang lebih kompleks, kita coba uraikan dengan maksud mencari kemungkinan pembuatannya dari operasi logika objek-objek geometri sederhana seperti di atas. Misalkan, bentuk barbel beban bulat, bisa dibentuk dari operasi logika ADD antara 2 buah bola dengan sebuah silinder. Bentuk manik kalung mutiara dapat dibuat dari operasi SUB antara objek bola dengan objek silinder. Masih ada lagi jenis logika yang dapat digunakan untuk pembentukan objek misalkan INTERSECTION yakni untuk membentuk objek yang merupakan pepotongan volume 2 buah benda 3 dimensi. Bentuk piring terbang misalnya, dapat dibuat dengan operasi INTERSECTION dari dua buah objek bola besar.

Untuk benda-benda yang lebih kompleks lagi, maka kita mengenal metoda lain yang dalam paket program Autodesk 3D Studio dikenal dengan nama Loftering. Objek 3D dapat dibentuk dengan proses loftering dari objek 2 dimensi yang telah ada. Objek 2D ini dapat dibuat dari bentuk bangun 2D dasar, digambar bebas (freehand), gabungan antara gambar bebas dan bentuk geometri dasar, maupun dibuat melalui persamaan-persamaan matematis. Loftering secara awam dapat diartikan sebagai proses memberikan komponen ketebalan dari objek 2D menurut suatu path yang kita tentukan.

Proses pemberian ketebalan yang paling sederhana contohnya jika kita membuat suatu logo/teks dalam 2D, misalkan logo perusahaan, dan kita menginginkan memberikan ketebalan tertentu, maka dengan program Lofter cukup kita load objek 2D tersebut dan kita beri path garis lurus sepanjang ketebalan yang diinginkan dalam vektor arah ketebalan, lalu kita lakukan proses loftering. Maka jadilah objek 3D yang kita inginkan. Contoh variasi bentuk path lain yang dapat kita terapkan adalah lingkaran (untuk membuat objek putar misalnya pion catur seperti pada gallery), helix (membuat model DNA misalnya), spyline, dan lain-lain. Ini tergantuk kreativitas kita sendiri.

Fasilitas lain yang dapat membantuk kita memodelkan suatu benda adalah fasilitas deformasi, untuk mengisi keterbatasan path sederhana. Contoh deformasi adalah scaling (misalkan kita membuat terompet, maka ukuran irisan lingkaran pada ujung satu tentu akan berbeda dengan di ujung lainnya), beveling (memodifikasi sudut-sudut benda), rotation, leveling (misalkan untuk membuat benda yang ujungnya berupa bujur sangkar dan pangkalnya berbentuk lingkaran/bentuk 2D lainnya), dan lain-lain.

Dari pemodelan ini hasil akhirnya berupa meshes file yang berisikan informasi koordinat-kordinat vertex (titik sudut) suatu objek 3D serta wireframenya (rangka kawat yang menghubungkan antar titik sudut). Representasi objek dalam tahap ini masih berupa kerangka objek tersebut.

Objek 3D yang telah ada harus didefinisikan kembali propertiesnya, misalkan material penyusun objek itu (kadang-kadang berarti juga kita harus membuat materialnya), mapping/pemetaan ukuran pola material (misalkan material ubin marmer, maka harus kita definisikan berapa besar ubin marmer relatif terhadap objek yang akan diset dengan material tersebut). Material selain berisi pola material (optional), mencakup juga sifat-sifat transparansi, pemantulan cahaya, efek cermin, warna, sifat pendar, dan lain-lain.

Setelah objek kita berikan sifat-sifatnya, maka lingkungan objek juga harus didefinisikan. Pertama kita harus menentukan sifat lingkungan (berkabut tidaknya, sifat penyerapan cahaya oleh lingkungan), kemudian latar belakang lingkungan juga kita harus set yang dapat berupa warna/gradasi warna maupun berupa gambar. Pencahayaan menjadi hal yang penting juga karena merupakan komponen yang dijadikan dasar dalam melakukan rendering. Pencahayaan umumnya meliputi 3 jenis:

  1. Cahaya Lingkungan 
  2. Cahaya Lampu Penerang 
  3. Cahaya Lamput Sorot
Dari sini juga kita tentukan apakah kita gunakan efek bayangan atau pun tidak. Lampu-lampu yang dipasang juga harus kita perhatikan letak, arah sorot dan lebar sorot(untuk lampu sorot), warna dan terangnya lampu.

Yang terakhir kita perlu juga untuk menentukan sudut pandang kita terhadap objek yang kita buat. Untuk ini kita perlu meletakkan kamera yang kita gunakan untuk melihat. Properties dari kamera ini meliputi letak, arah sorot, ukuran lensa, dan lain-lain. Pandangan kamera ini yang akan kita gunakan untuk merepresentasikan objek dalam hasil rendering.

Untuk mendapatkan hasil rendering yang berupa file animasi (gambar bergerak) maka kita perlu menentukan pergerakan 3 unsur pembentuk gambar 3D yakni objek, lampu, dan kamera.Gambar bergerak/animasi sebenarnya adalah kumpulan gambar-gambar diam yang ditampilkan secara sekuensial dalam kecepatan tertentu (misalkan 25 gambar per menit). Untuk mendapatkan kumpulan gambar-gambar itu, maka kita mendefinisikan dulu berapa gambar yang ingin kita buat. Untuk kecepatan gambar yang normal (dengan tidak mengorbankan kemulusan gerak) biasanya berkisar 30 gambar per detik. Jadi jika kita membuat animasi sepanjang 5 detik paling tidak dibutuhkan 150 gambar.

Posisi ketiga unsur pembentuk gambar 3D di atas pada setiap gambarnya (lebih sering kita sebut frame) secara sederhana ditentukan dengan mengeset posisi awal dan posisi akhir ketiga unsur tersebut dalam setiap range urutan gambar. Frame yang menjadi acuan baik posisi awal dan posisi akhir 3 unsur di atas sering dinamakan dengan keyframe.

Dengan didefinisikannya seluruh gerak dari 3 unsur di atas, maka sampailah kita pada langkah terakhir yang membutuhkan kerja keras perangkat lunak dan perangkat keras komputer. Pada proses ini komputer akan menerjemahkan pixel per pixel yang merepresentasikan proyeksi/pandangan dari dunia 3 dimensi yang telah kita buat menjadi sebuah gambar bitmap utuh dengan ukuran dan resolusi yang kita tentukan. Ada banyak metoda rendering yang menentukan bagaimana representasi ketiga komponen tersebut pada pixel gambar, misalnya wireframe, flat, gourad, phong, metalic, dan lain-lain yang akan kita bahas secara lebih detail pada artikel terpisah.

Untuk rendering gambar diam, hanya dibutuhkan rendering 1 frame saja, sementara untuk gambar bergerak, kita mestilah lebih sabar, karena komputer harus melakukan rendering untuk seluruh gambar/frame yang kita telah tentukan.

Terdapat banyak hasil yang dapat diperoleh dan ditampilkan dari proses 3D Rendering pada suatu sketsa wireframe, diantaranya:
  • Shading ; “Variasi warna dan kecerahan yang timbul pada suatu permukaan berdasarkan pencahayaan yang dilakukan”
  • Texture-Mapping ; “Detail yang muncul pada suatu permukaan”
  • Bump-Mapping ; “Kontur yang muncul pada suatu permukaan”
  • Fogging / Participating Medium ; “Bagaimana berkas cahaya berubah jika melewati udara yang tidak murni”
  • Shadows ; “Efek dari cahaya yang terhalang”
  • Soft Shadows ; “Variasi efek dari cahaya yang terhalang tidak sempurna”
  • Reflection ; “Refleksi yang tampak pada permukaan kaca atau gelas”
  • Transparency ; “Transmisi cahaya yang berbeda-beda jika melewati medium tertentu”
  • Translucency ; “Transmisi cahaya yang berbeda-beda jika memantul pada medium tertentu”
  • Refraction ; “Cahaya yang berubah arahnya karena efek transparency”
  • Indirect Illumination ; “Cahaya yang datang pada suatu objek namun tidak berasal dari sumber cahaya yang sebenarnya melainkan refleksi dari permukaan objek lain”
  • Caustics ; “Pantulan cahaya menyilaukan yang timbul pada suatu objek”
  • Depth Of Field ; “Objek yang berada jauh di depan maupun di belakang objek yang menjadi fokus akan tampak buram”
  • Motion Blur ; “Objek yang bergerak dengan kecepatan tinggi atau objek yang direkam oleh kamera yang berada dalam kecepatan tinggi akan tampak buram”
  • Photorealistic Morphing ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi tampak terlihat lebih nyata”
  • Non-Photorealistic Rendering ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi terlihat seperti hasil lukisan atau gambar”

Melakukan 3D Rendering tentu akan merupakan masalah yang sangat merepotkan jika tidak menggunakan algoritma memadai, dikarenakan banyaknya point dan polygon yang harus dikalkulasi setiap proses. Penggunaan algoritma Divide and Conquer tentu sangat membantu agar pekerjaan penghitungan yang sangat banyak dalam proses render dapat dikerjakan oleh beberapa unit komputasi sekaligus secara bersamaan. Hal ini juga telah dibuktikan dengan banyaknya perusahaan animasi dan film yang sering melakukan pekerjaan proses render menggunaan sistem komputasi paralel di dalam perusahaan mereka.

Sumber:

http://id.wikipedia.org/wiki/Komputasi_paralel
https://computing.llnl.gov/tutorials/parallel_comp/
https://dsitompul.files.wordpress.com/2008/11/komputasi-paralel3.doc
http://www.scribd.com/doc/32982265/Parallel-Processing
http://www.gudangmateri.com/2009/12/pemrosesan-paralel.html
http://yanboyz.blogspot.com/2009/07/teori-komputasi-parallel-untuk.html
http://backtocampus.zulhipni.web.id/?p=14


Artikel Terkait:

Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.

Komentar

  1. kita juga punya nih artikel mengenai 'Komputasi Paralel', silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/749/1/A26-29_Amien_Rusdiutomo.pdf
    terimakasih

    BalasHapus
  2. @Haryadi.182

    trimakasih atas kunjungannya
    saya akan mengunjungi link yang anda berikan, sebagai bahan referensi
    :)]

    BalasHapus

Posting Komentar

Tolong berkomentar yang baik dan sopan