Minggu, 20 Oktober 2013

Metode atau Teknik yang Dapat Digunakan pada Analisis Kebutuhan ( Rekayasa Perangkat Lunak 1 )

Analisis kebutuhan merupakan suatu proses untuk mendapatkan informasi, model dan spesifikasi tentang perangkat lunak yang diinginkan. Ada 3 faktor yang memengaruhi pada tahapan analisis kebutuhan, yaitu :
1. Lengkap
2. Detail
3. Benar

3 faktor diatas merupakan faktor – faktor yang paling berpengaruh terhadap sukses atau tidaknya analisa yang dilakukan untuk mengetahui kebutuhan apa saja yang dibutuhkan oleh klien. Namun pada tahapan analisis kebutuhan ada saja kendala yang dihadapai, antara lain :
• Klien tidak memiliki pengetahuan yang cukup tentang dunia komputer.
• Cara klien mengungkapkan keinginan membingungkan.
• Kurangnya waktu pertemuan antara klien dan pengembang.

Pada tahapan analisis kebutuhan ini terdapat beberapa metode atau tehnik yang dapat digunakan, antara lain:
• Survey Kuisoner
• Interview / Wawancara
• Observasi
• Analisa Dokumen
• JAD (Joint Application Development)
• Ethnography
• Shadowing
• Bollywood

1. Survey Kuisoner
Kuesioner adalah daftar pertanyaan operasional yang ditanyakan pada responden terpilih untuk menjawab hipotesis-hipotesis yang dikembangkan sesuai tujuan penelitian.

2. Interview / Wawancara
Metode ini merupakan teknik pengumpulan requirement yang paling umum di lakukan. Teknis dilapangan nya, sang pengembang atau develop menanyakan hal – hal yang berkaitan dengan masalah yang diangkat kepada responden yang memiliki kriteria yang cocok pada masalah yang ditanyakan. Berikut langkah melakukan interview :
• Memilih target interview
• Mendesain pertanyan interview
• Persiapan
• Interview
• Follow up

3. Observasi
Istilah observasi berasal dan bahasa Latin yang berarti ”melihat” dan “memperhatikan”. Istilah observasi diarahkan pada kegiatan memperhatikan secara akurat, mencatat fenomena yang muncul, dan mempertimbangkan hubungan antar aspek dalam fenomena tersebut.

Macam – macam teknik observasi
A. Observasi Partisipan
Suatu observasi disebut observasi partisipan jika orang yang rnengadakan observasi (observer) turut ambil bagian dalam kehidupan observer.
B. Observasi Sistematik
Observasi sistematik biasa disebut juga observasi berkerangka atau structured observation
C. Observasi Eksperimental
Observasi dapat dilakukan dalam lingkup alamiah/natural ataupun dalam lingkup experimental.

Kelebihan Teknik Observasi
o Data yang dikumpulkan melalui observasi cenderung mempunyai keandalan yang tinggi.
o Penganalisis melalui observasi dapat melihat langsung apa yang sedang dikerjakan. Pekerjaan-pekerjaan yang rumit kadang-kadang sulit untuk dijelaskan dengan kata-kata. Melalui observasi, penganalisis dapat mengidentifikasikan kegiatan-kegiatan yang tidak tepat yang telahdigambarkan oleh teknik pengumpulan data yang lain.
o Dengan observasi, penganalisis dapat menggambarkan lingkungan fisik dari kegiatan-kegiatan

Kekurangan Teknik Observasi
o Umumnya orang yang diamati merasa terganggu atau tidak nyaman, sehingga akan melakukan pekerjaanya dengan tidak semestinya.
o Pekerjaan yang sedang diobservasi mungkin tidak dapat mewakili suatu tingkat kesulitas pekerjaan tertentu atau kegiatan-kegiatan khusus yang tidak selalu dilakukan
o Observasi dapat mengganggu pekerjaan yang sedang dilakukan.
o Orang yang diamati cenderung melakukan pekerjaannya dengan lebih baik dari biasanya dan sering menutupi kejelekannya.

4. Analisa Dokumen
Pada metode analisa dokumen sering juga disebut dengan analisis kegiatan atau activity analysis.

5. Joint Application Development (JAD)
JAD Adalah suatu teknik pegembangan Aplikasi yang melibatkan antara pemakai dan profesional dalam pengembangan sistemnya, Teknik JAD dapat diterapkan disetiap tahap pengembangan sistem.

Proses JAD didasarkan pada empat gagasan yang sederhana:
1. Menempatkan Orang-orang yang benar-benar ahli dalam pekerjaanya.
2. Orang-orang yang terlatih di dalam teknologi informasi mempunyai pemahaman terbaik dalam pengembangan ini.
3. proses-proses Sistem Informasi dan bisnis, Orang-orang yang bekerja di dalam bidang-bidang yang terkait mempunyai pengertian yang mendalam dan perang yang berharga dari suatu sistim dan di dalam suatu masyarakat yang lebih besar.
4. Sistem informasi terbaik dirancang ketika semua kelompok bekerja bersama-sama di suatu proyek sebagai mitra yang sama.

Pelaku JAD
Secara garis besar yang perlu terlibat adalah :
1. Sponsor.
2. Business Users.
3. System Analyst (Tim Developer).
4. System Experts.
5. Facilitator.

Ilustrasi Proses Joint Application Development (JAD)

6. Ethnography
Ethnography berasal dari bahasa yunani, ethnes artinya “rakyat” sedangkan grapho “menulis”. Jadi ethnography merupakan strategi atau metode penelitian ilmiah yang sering digunakan dalam bidang ilmu sosial, khususnya dalam antropologi dan dalam beberapa cabang sosiologi lainnya.
Teknik – teknik ethnography :
a) Penelitian Kuantitatif
b) Penelitian Kebijakan Publik
c) Jurnalisme
Menurut Denzim, ada 8 prinsip dalam metodologi ethnography, yaitu :
1) Kelompok – kelompok harus menggabungkan makna simbolik dengan pola interaksi
2) Amati dunia / permasalahan dari sudut pandang subject
3) Merekam semua perilaku subject
4) Metodologi ini harus meliputi tahapan proses, perubahan dan stabilitas
5) Bertindak dengan interaksi simbolis sejenis
6) Melihat makna subject dengan hubungan sosial
7) Menggunakan konsep yang terperinci untuk menghindari penjelasan yang sulit.
8) Tetap menjaga perbedaan antara persepsi dan realitas.

7. Shadowing
Shadowing merupakan salah satau metode penelitian dengan cara mengikuti subject yang diteliti dengan izin mereka.
Contoh Kasus :
penelitian tentang ponsel
• Dimana orang biasa meletakkan Ponsel
• Merk Ponsel yang dipakai

Dari hasil penelitian, didapati bahwa 60% dari sample pria menaruh ponsel mereka di saku depan mereka, dengan alasan agar mudah di ambil pada saat ingin digunakan. Sedangkan 61% dari sample wanita menaruh ponsel mereka di dalam tas tangan atau tas lainnya. Dan hampir 80% dari mereka menggunakan merk NOKIA. Dari hasil penelitian tersebut dapat ditarik kesimpulan bahwa kebanyakan pria menaruh ponsel mereka di saku depan dengan alasan agar mudah diraih saat di perlukan. Sedangkan wanita kebanyakan menaruh ponsel mereka di dalam tas tangan atau tas lainnya dengan alasan kenyamanan.
Setelah mengetahui studi kasus diatas dapat ditarik kesimpulan bahwa shadowing merupakan suatu teknik penelitian dimana tehnik ini mengikuti objek yang diteliti seperti “Bayangan”. Metode shadowing dapat memungkinkan peneliti melihat karakteristik pengguna objek tersebut, bagaimana objek digunakan serta apa yang membuat objek tersebut digunakan. Dalam hal ini, contoh yang diperoleh dari data yang diambil yaitu bagaimana cara seseorang membawa ponsel, meletakkan ponsel dan jenis ponsel yang mereka gunakan.

Dalam shadowing dikenal juga istilah Validitas Konvergen. Validitas konvergen adalah bagaimana penelitian ini mempengaruhi pikiran peneliti dan design apa saja yang akan dibuat seletah mendapatkan hasil dari penelitian tersebut. ada 2 hal yang harus diperhatikan :
• Menunjukkan bahwa peneliti tidak hanya pergi kesuatu budaya dan menerapkan 1 metode saja, melainkan menerapkan bannyak metode dan menyeimbangkan semua data dengan tujuan untuk mencapai validitas konvergen.
• Kadang peneliti mengumpulkan data statistik yang valid yang dapat disajikan sebagai fakta.

8. Bollywood
Metode bollywood adalah metode yang dikembangkan untuk mengetahui respon masyarakat terhadap suatu hal dengan menggunakan cara – cara yang mengacu pada kebiasaan dan budaya masyarakat setempat.
Contoh Kasus
Perusahaan sereal Kellog mendirikan cabang di india dan kellog melakukan kesalahan dengan tidak memperhatikan kebiasaan orang india dalam memakan sarapan mereka di pagi hari. Alhasil, kellog pun bangkrut karena tidak ada masyarakat india yang memakan sereal pada sarapan mereka.

Tahapan Bollywood dibagi menjadi 9, tahapan tersebut dikategorikan kedalam ‘RASAS’ sembilan atau emosi yang digunakan dalam seni tradisional pertunjukan india. Rasas sembilan tersebut antara lain :
1>. Shingara (keinginan / Romance)
2>. Hasya (kegembiraan)
3>. Karuna (pathos / kesedihan)
4>. Rudra (marah)
5>. Mengarah (berani / heroik)
6>. Bhayanak (takut / teror)
7>. Vibhatsa (jijik)
8>. Dhbuta (heran / terkejut)
9>. Shanta (damai / ketenangan)

dapat ditarik kesimpulan, bahwa sebuah dunia budaya yang lebih modern tidak selalu berarti sebuah dunia yang lebih homogen. Budaya akan merespon berbeda terhadap proses modernisasi dan akan tetap unik. Bahkan penggunaan prosuk serupa di berbagai belahan dunia tidak menunjukka kesamaan budaya. Pengguna akan terus dipengaruhi oleh budaya mereka yang unik dan dengan demikian perilaku pengguna akan terus bervariasi lintas – budaya.

Rabu, 26 Juni 2013

BioInformatika

SEJARAH
Bioinformatika pertamakali dikemukakan pada pertengahan 1980an untuk mengacu kepada penerapan ilmu komputer dalam bidang biologi. Meskipun demikian, penerapan bidang-bidang dalam bioinformatika seperti pembuatan pangkalan data dan pengembangan algoritma untuk analisis sekuens biologi telah dilakukan sejak tahun 1960an.

Kemajuan teknik biologi molekuler dalam mengungkap sekuens biologi protein (sejak awal 1950an) dan asam nukleat (sejak 1960an) mengawali perkembangan pangkalan data dan teknik analisis sekuens biologi. Pangkalan data sekuens protein mulai dikembangkan pada tahun 1960an di Amerika Serikat, sementara pangkalan data sekuens DNA dikembangkan pada akhir 1970an di Amerika Serikat dan Jerman pada Laboratorium Biologi Molekuler Eropa (European Molecular Biology Laboratory).

Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang dapat diungkapkan pada 1980an dan 1990an. Hal ini menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, yang meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.




PENGERTIAN
Bioinformatika merupakan ilmu terapan yang lahir dari perkembangan teknologi informasi dibidang molekular. Pembahasan dibidang bioinformatik ini tidak terlepas dari perkembangan biologi molekular modern, salah satunya peningkatan pemahaman manusia dalam bidang genomic yang terdapat dalam molekul DNA.

Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak. Salah satu contohnya dapat dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun).

Perkembangan teknologi DNA rekombinan memainkan peranan penting dalam lahirnya bioinformatika. Teknologi DNA rekombinan memunculkan suatu pengetahuan baru dalam rekayasa genetika organisme yang dikenala bioteknologi. Perkembangan bioteknologi dari bioteknologi tradisional ke bioteknologi modren salah satunya ditandainya dengan kemampuan manusia dalam melakukan analisis DNA organisme, sekuensing DNA dan manipulasi DNA.

Sekuensing DNA satu organisme, misalnya suatu virus memiliki kurang lebih 5.000 nukleotida atau molekul DNA atau sekitar 11 gen, yang telah berhasil dibaca secara menyeluruh pada tahun 1977. Kemudia Sekuen seluruh DNA manusia terdiri dari 3 milyar nukleotida yang menyusun 100.000 gen dapat dipetakan dalam waktu 3 tahun, walaupun semua ini belum terlalu lengkap. Saat ini terdapat milyaran data nukleotida yang tersimpan dalam database DNA, GenBank di AS yang didirikan tahun 1982.

Bioinformatika ialah ilmu yang mempelajari penerapan teknik komputasi untuk mengelola dan menganalisis informasi hayati. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologi, terutama yang terkait dengan penggunaan sekuens DNA dan asam amino. Contoh topik utama bidang ini meliputi pangkalan data untuk mengelola informasi hayati, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan struktur protein atau pun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

CABANG ILMU
Bioinformatika mempunyai peluang yang sangat besar untuk berkembang karena banyak sekali cabang-cabang ilmu yang terkait dengannya. Cabang-cabang ilmu menurut sumber yang saya dapat diantaranya:



- Biophysics
Biologi molekul sendiri merupakan pengembangan yang lahir dari biophysics. Biophysics adalah sebuah bidang interdisipliner yang mengaplikasikan teknik-teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society). Sesuai dengan definisi di atas, bidang ini merupakan suatu bidang yang luas. Namun, secara langsung disiplin ilmu ini terkait dengan Bioinformatika karena penggunaan teknik-teknik dari ilmu Fisika untuk memahami struktur membutuhkan penggunaan TI.

- Computational Biology
Computational biology merupakan bagian dari Bioinformatika (dalam arti yang paling luas) yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biology adalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel. Tak dapat dielakkan bahwa Biologi Molekul cukup penting dalam computational biology, namun itu bukanlah inti dari disiplin ilmu ini. Pada penerapan computational biology, model-model statistika untuk fenomena biologi lebih disukai dipakai dibandingkan dengan model sebenarnya. Dalam beberapa hal cara tersebut cukup baik mengingat pada kasus tertentu eksperimen langsung pada fenomena biologi cukup sulit.

- Medical Informatics
Medical informatics lebih memperhatikan struktur dan algoritma untuk pengolahan data medis, dibandingkan dengan data itu sendiri. Disiplin ilmu ini, untuk alasan praktis, kemungkinan besar berkaitan dengan data-data yang didapatkan pada level biologi yang lebih "rumit" --yaitu informasi dari sistem-sistem superselular, tepat pada level populasi—di mana sebagian besar dari Bioinformatika lebih memperhatikan informasi dari sistem dan struktur biomolekul dan selular.

- Cheminformatics, Genomics
Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis, dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute's Sixth Annual Cheminformatics conference). Pengertian disiplin ilmu yang disebutkan di atas lebih merupakan identifikasi dari salah satu aktivitas yang paling populer dibandingkan dengan berbagai bidang studi yang mungkin ada di bawah bidang ini.

- Mathematical Biology
Mathematical biology lebih mudah dibedakan dengan Bioinformatika daripada computational biology dengan Bioinformatika. Mathematical biology juga menangani masalah-masalah biologi, namun metode yang digunakan untuk menangani masalah tersebut tidak perlu secara numerik dan tidak perlu diimplementasikan dalam software maupun hardware. Bahkan metode yang dipakai tidak perlu "menyelesaikan" masalah apapun; dalam mathematical biology bisa dianggap beralasan untuk mempublikasikan sebuah hasil yang hanya menyatakan bahwa suatu masalah biologi berada pada kelas umum tertentu.

- Proteomics
Istilah proteomics pertama kali digunakan untuk menggambarkan himpunan dari protein-protein yang tersusun (encoded) oleh genom. Ilmu yang mempelajari proteome, yang disebut proteomics, pada saat ini tidak hanya memperhatikanbsemua protein di dalam sel yang diberikan, tetapi juga himpunan dari semua bentuk isoform dan modifikasi dari semua protein, interaksi diantaranya, deskripsi struktural dari protein-protein dan kompleks-kompleks orde tingkat tinggi dari protein, dan mengenai masalah tersebut hampir semua pasca genom.

- Pharmacogenomics
Pharmacogenomics adalah aplikasi dari pendekatan genomik dan teknologi pada identifikasi dari target-target obat. Contohnya meliputi menjaring semua genom untuk penerima yang potensial dengan menggunakan cara Bioinformatika, atau dengan menyelidiki bentuk pola dari ekspresi gen di dalam baik patogen maupun induk selama terjadinya infeksi, atau maupun dengan memeriksa karakteristik pola-pola ekspresi yang ditemukan dalam tumor atau contoh dari pasien untuk kepentingan diagnose (kemungkinan untuk mengejar target potensial terapi kanker)

- Pharmacogenetics
Pharmacogenetics adalah bagian dari pharmacogenomics yang menggunakan metode genomik/Bioinformatika untuk mengidentifikasi hubungan-hubungan genomik, contohnya SNP (Single Nucleotide Polymorphisms), karakteristik dari profil respons pasien tertentu dan menggunakan informasi-informasi tersebut untuk memberitahu administrasi dan pengembangan terapi pengobatan.

SOFTWARE BIOINFORMATIKA
Sehari-harinya bioinformatika dikerjakan dengan menggunakan software pencari sekuen (sequence search) seperti BLAST (Basic Local Alignment Search Tool), software analisa seken (sequence analysis) seperti EMBOSS (The European Molecular Biology Open Software Suite) dan Staden Package, software prediksi struktur seperti THREADER atau PHD atau software imaging/modelling seperti RasMol dan WHATIF.

Contoh-contoh di atas menunjukkan bahwa telah banyak software pendukung yang mudah diakses, open source, dan dapat dipelajari untuk mengembangkan Bioinformatika.

PENERAPAN BIOINFORMATIKA DI INDONESIA
Beberapa penerapan Bioinformatika di Indonesia, diantaranya sebagai berikut:
- Deteksi Jenis Kelamin
- Perkembangan Vaksin Hepatitis B Rekombinan
- Meringankan Kelumpuhan dengan Rekayasa RNA

PENUTUP
Oleh karena kajian ilmu Bioinformatika yang masih sangat luas dan dapat dikembangkan lebih jauh, maka dalam beberapa waktu ke depan ini, dapat kita lihat bagaimana perkembangan Bioinformatika. Seiring dengan perkembangan teknologi internet, Bioinformatika akan semakin berkembang.


REFERENSI
sumber 1
sumber 2

Senin, 13 Mei 2013

Komputasi Modern dan Parallel Processing

Paralel Processing

Paralel Processing atau Komputasi paralel adalah suatu bentuk komputasi dimana instruksi-instruksi dijalankan secara berkesinambungan. Masalah yang besar dapat dibagi menjadi beberapa masalah yang lebih kecil(submasalah), untuk kemudian diselesaikan secara serempak. Komputasi paralel telah digunakan untuk melakukan komputasi yang mensyaratkan unjuk kerja yang tinggi(high-performance computing). Teknik komputasi ini semakin berkembang dewasa ini, hal ini disebabkan oleh batasan fisik di dalam penskalaan frekuensi(frequency scaling1). Komputasi paralel telah menjadi paradigma yang mendominan di dalam arsitektur komputer, yaitu misalnya prosesor multicore.

Program komputer paralel lebih susah untuk dibangun dibandingkan dengan program komputer serial, hal ini disebabkan keserempakan menimbulkan masalah yang potensial di dalam membagi pekerjaan menjadi subpekerjaan dan menggabungkan kembali subpekerjaan tersebut menjadi hasil oleh perangkat lunak, diantaranya kondisi berebut(race condition). Komunikasi dan sinkronisasi diantara unit pemroses(processing unit) menjadi satu diantara tantangan terbesar untuk menghasilkan program paralel dengan performa yang baik.

Konsep dari pemrosesan paralel yaitu dengan penggunaan lebih dari satu CPU untuk menjalankan program secara simulasi dan membuat program berjalan lebih cepat seiring banyaknya CPU yang digunakan. Komputasi paralelsendiri adalah salah satu teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer dan CPU secara bersamaan. 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 masalah. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam satu komputer ataupun banyak komputer (paralel). Tujuan utamanya adalah untuk meningkatkan performa komputasi,semakin banyak yang bisa dilakukan secara bersamaan semakin banyak pekerjaan yang bisa diselesaikan.

Komputasi Modern

Komputasi modern adalah sebuah konsep sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory, memory disini bisa juga dari memory komputer. Oleh karena pada saat ini kita melakukan komputasi menggunakan komputer maka bisa dibilang komputer merupakan sebuah komputasi modern. Konsep ini pertama kali digagasi oleh John Von Neumann (1903-1957). Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

- Akurasi (big, Floating point)
- Kecepatan (dalam satuan Hz)
- Problem Volume Besar (Down Sizzing atau pararel)
- Modeling (NN & GA)
- Kompleksitas (Menggunakan Teori big O)


hubungan antara Komputasi Modern dengan Paralel Processing?

Hubungannya adalah penggunaan komputer saat ini / komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Oleh sebab itu, peningkatan kinerja atau proses komputasi semakin diterapkan, salah satunya adalah dengan cara meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.


Implementasi Komputasi Parallel pada Dunia Perfilman

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:

· Cahaya Lingkungan
· Cahaya Lampu Penerang
· 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 :

1. Shading ; “Variasi warna dan kecerahan yang timbul pada suatu permukaan berdasarkan pencahayaan yang dilakukan”
2. Texture-Mapping ; “Detail yang muncul pada suatu permukaan”
3. Bump-Mapping ; “Kontur yang muncul pada suatu permukaan”
4. Fogging / Participating Medium ; “Bagaimana berkas cahaya berubah jika melewati udara yang tidak murni”
5. Shadows ; “Efek dari cahaya yang terhalang”
6. Soft Shadows ; “Variasi efek dari cahaya yang terhalang tidak sempurna”
7. Reflection ; “Refleksi yang tampak pada permukaan kaca atau gelas”
8. Transparency ; “Transmisi cahaya yang berbeda-beda jika melewati medium tertentu”
9. Translucency ; “Transmisi cahaya yang berbeda-beda jika memantul pada medium tertentu”
10. Refraction ; “Cahaya yang berubah arahnya karena efek transparency”
11. Indirect Illumination ; “Cahaya yang datang pada suatu objek namun tidak berasal dari sumber cahaya yang sebenarnya melainkan refleksi dari permukaan objek lain”
12. Caustics ; “Pantulan cahaya menyilaukan yang timbul pada suatu objek”
13. Depth Of Field ; “Objek yang berada jauh di depan maupun di belakang objek yang menjadi fokus akan tampak buram”
14. Motion Blur ; “Objek yang bergerak dengan kecepatan tinggi atau objek yang direkam oleh kamera yang berada dalam kecepatan tinggi akan tampak buram”
15. Photorealistic Morphing ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi tampak terlihat lebih nyata”
16. 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.


Referensi

Referensi 1
Referensi 2
Referensi 3
Referensi 4