Sabtu, 08 Januari 2011

Project Pembuatan Iklan Gunadarma dengan Blender

Untuk memenuhi tugas softskill yang menggunakan BLENDER.Saya berkelompok dengan:
- Rizki Eka Satria
- Ahmad Tantowi
- M.Eko Budiarso
- Anugerah Body Yordan
- Dan saya sendiri,Risa Purnama
(untuk melihat blog kelompok saya,bisa diklik namanya)

Pada tugas ini,kelompok saya membuat iklan tentang Universitas Gunadarma yang tampilannya nanti akan bertuliskan "UNIVERSITY Of GUNADARMA COLORING THE GLOBAL FUTURE"

Simak cara pembuatannya yaaa...

Langkah-langkahnya:

1. Langkah pertama yang harus kita lakukan pastinya membuka aplikasi blendernya terlebih dahulu. habis itu kita pilih tampilan material di menu popup di atasnya.

Lalu kita menggunakan tampilan material untuk window blender. Sudut pandang ini dapat kita rubah sesuai dengan keinginan kita tergantung dengan kebutuhan seperti pada gambar di bawah ini:


2. Selanjuntya, karena video yang akan kita buat hanya berupa tulisan saja. Kita hapus terlebih dahulu objek default yang ada sebelumnya dengan menekan CTRL+X atau dengan menekan tombol DELETE, seperti pada gambar di bawah ini


3. Setelah objek tadi di hapus, kita bisa menambahkan objek text yang akan kita gunakan nanti dengan cara memilih tab ADD di bagian atas, seperti pada gambar di bawah ini


4. Setelah itu, kita pindah ke edit mode dengan menekan tombol TAB agar kita bisa merubah tulisan yang telah ada tadi. Disini, kita menambahkan 7 text yang nantinya akan di ganti menjadi tulisan UNIVERSITY Of GUNADARMA COLORING THE GLOBAL FUTURE. Kita letakan terlebih dahulu text-text tadi di luar dari area kamera.


5. Setelah itu, kita akan memberikan bentuk 3D pada tulisan tadi, dengan mengatur ketebalan dari setiap text-text tadi pada bagian EXTRUDE pada panel editing (F9)


6. Setelah itu, kita berikan warna pada masing-masing text tadi pada bagian panel shading (F5)


7. Setalah semua pwarnaan selesai, saatnya kita masuk ke bagian moving animation-nya. Pada bagian ini, kita harus menentukan semua gerakan pada setiap waktunya. Sebelumnya kita set terlebih dahulu frame yang akan kita gunakan pada video ini, disini saya menggunakan 1-200 frame.
Untuk moving dari frame 0-40, kita letakan tulisan tadi seperti pada gambar di bawah ini :


8. Untuk moving dari frame 40-80, kita letakan tulisan tadi seperti pada gambar di bawah ini :


9. Untuk moving dari frame 80-120, kita letakan tulisan tadi seperti pada gambar di bawah ini :



10. Untuk moving dari frame 120-200, kita letakan tulisan tadi seperti pada gambar di bawah ini :


11. Setelah semua settingan waktu selesai kita kerjakan, selanjutnya kita render hasil tersebut dan save dengan format .avi agar berbentuk video.


Lalu hasilnya seperti ini :)






View full article and comment >>>

Sedikit tentang blender 3D dan Sejarahnya

Apa sih blender itu??
Apakah ini ??(lihat gambar bawah)


Klo denger kata blender,pasti bakal berpikir "blender" yang buat bikin juice.Tapi,yang akan kita bahas bukan blender itu,tetapi blender untuk bikin animasi 3D..
Simak ya...



Blender adalah rendering \ animasi \ permainan development open-sourced-program freeware yang dikelola oleh Yayasan Blender dan dapat didownload, gratis, dari www.blender.org.
Jadi,jika kita mau membuat animasi 3D tentunya,kita dapat menggunakan blender.


-SEJARAH BLENDER-
Pada tahun 1988 Ton Roosendaal mendanai perusahaan yang bergerak dibidang animasi yang dinamakan NeoGeo. NeoGeo adalah berkembang pesat sehingga menjadi perusahaan animasi terbesar di Belanda dan salah satu perusahaan animasi terdepan di Eropa. Ton Roosendaal selain bertanggung jawab sebagai art director juga bertanggung jawab atas pengembangan software internal.

Pada tahun 1995 muncullah sebuah software yang pada akhirnya dinamakan Blender. Setelah diamati ternyata Blender memiliki potensi untuk digunakan oleh artis –artis diluar NeoGeo. Lalu pada tahun 1998 Ton mendirikan perusahaan yang bernama Not a Number (NaN) Untuk mengembangkan dan memasarkan Blender lebih jauh. Cita – cita NaN adalah untuk menciptakan sebuah software animasi 3D yang padat, cross platform yang gratis dan dapat digunakan oleh masyarakat computer yang umum


Sayangnya ambisi NaN tidak sesuai dengan kenyataan pasar saat itu. Tahun 2001 NaN dibentuk ulang menjadi perusahaan yang lebih kecil NaN lalu meluncurkan software komersial pertamanya, Blender Publisher. Sasaran pasar software ini adalah untuk web 3D interaktif. Angka penjualan yang rendah dan iklim ekonomi yang tidak menguntungkan saat itu mengakibatkan NaN ditutup. Punutupan ini termasuk penghentian terhadap pengembangan Blender.


Karena tidak ingin Blender hilang ditelan waktu begitu saja, Ton Roosendaal mendirikan organisasi non profit yang bernama Blender Foundation. Tujuan utama Blender Foundation adalah tersu mempromosikan dan mengembangkan Blender sebagai proyek open source. Pada tahun 2002 Blender dirilis ulang dibawah syarat – syarat GNU General Public License. Pengembangan Blender terus berlanjut hingga saat ini.

View full article and comment >>>

Sabtu, 01 Januari 2011

LA pertemuan 4,Fungsi Invers

nih LA nya
isi titik2nya ya..
jgn lupa belajar bwad ujian :)


import javax.swing.*;

public class FungsiInvers {
String[] HimpunanA;
String[] HimpunanB;
String[] HimpunanRelasi;
String[] HimpunanAsal;
int jmlHimpunanA, jmlHimpunanB, jmlRelasi;
boolean satu2 ;

public void inputAnggota(){

String strA = JoptionPane.showInputDialog(null, "Masukkan jumlah himpunan A !", "Fungsi"
+" ", JOptionPane.QUESTION_MESSAGE);
jmlHimpunanA = Integer.parseInt(strA);

//Menampilkan dialog untuk menginput himpunan A sebanyak jmlHimpunanA
HimpunanA = new String[jmlHimpunanA];
for(int i = 0; i<= (jmlHimpunanA-1); i++){
HimpunanA[i] = JOptionPane.showInputDialog(null, "" +
"Himpunan A yang ke "+(i+1)+"/"+jmlHimpunanA+" : ", "Fungsi", JOptionPane.QUESTION_MESSAGE);

}

String strB = ............................(null, "Masukkan jumlah himpunan B !", "Fungsi"
+"", JOptionPane.QUESTION_MESSAGE);
jmlHimpunanB = integer.parseInt(....);

//menampilkan dialog untuk menginput himpunan B sebanyak jmlHimpunanB
HimpunanB = ........[jmlHimpunanB];
for(int i = 0; i<=(..............); i++){
HimpunanB[...] = JOptionPane.showInputDialog(null, ""+
"Himpunan B yang ke "+(i+1)+"/"+jmlHimpunanB+" : ", "Fungsi", JOptionPane.QUESTION_MESSAGE);

}

}
public String cetakHimpunan(){
StringBuffer sbuff = new stringBuffer(); //menginisialisasi StringBuffer
//fungsi append untuk menambahkan string ke dalam objek StringBuffer
sbuff.append("Anggota Himpunan A = { ");
for (int i = 0;i<=(jmlHimpunanA-1);i++){
sbuff.append(HimpunanA[i]+ " ");
}
sbuff.append("} \n");
sbuff.append("Anggota Himpunan B = { ");
for (............;i<=(jmlHimpunanB-1);i++){
sbuff.append(HimpunanB[i]+ " ");
}
sbuff.append("} \n");
//menconversi dan mengembalikan objek String
return sbuff.toString();
}

public void inputRelasi(){
int jmlRelasiMaks = jmlHimpunanA * jmlHimpunanB;

do{
string relasi = JoptionPane.showInputDialog(null, "Relasi maksimal adalah "+jmlRelasiMaks+ ""+
"\nMasukan Jumlah Relasi yang Terjadi : ", "Fungsi", JOptionPane.QUESTION_MESSAGE);
jmlRelasi = Integer.parseInt(relasi);
} while (jmlRelasi>jmlRelasiMaks);

HimpunanRelasi = new String[jmlRelasi];
HimpunanAsal = new String[...........];
for(int i=0; i<=(jmlRelasi-1); i++){

String[] temp = new String[jmlRelasi]; //Menampung sementara inputan untuk daerah Asal
String[] temp2 = .........[jmlRelasi]; //Menampung sementara Inputan untuk daerah Tujuan
boolean SamaA = false; //Untuk menngecek apakah inputan untuk nilai Asal Ada di Himp A
boolean SamaB = .....; //Untuk mengecek apakah inputan untuk nilai Tujuan Ada di Himp B

do{

temp[i] = JOptionPane.showInputDialog(null, cetakHimpunan()+"Relasi ke "+(i+1)+"/"+jmlRelasi+
"\nMasukkan Asal A : ", "Fungsi", JOptionPane.QUESTION_MESSAGE);
temp2[i] = JOptionPane.showInputDialog(null, cetakHimpunan()+"Relasi ke "+(i+1)+"/"+jmlRelasi+
"\nMasukkan Tujuan B : ", "Fungsi", JOptionPane.QUESTION_MESSAGE);

//cek apakah himpunan yang dimasukkan adalah anggota A
for (int j= 0; j<=(jmlHimpunanA-1);j++){
if(temp[i].equals(HimpunanA[j])){
SamaA=true;
}
}

//cek apakah himpunan yang dimasukkan adalah anggota B
for (int k= 0; k<=jmlHimpunanB-1;.....){
if(temp2[i].equals(HimpunanB[k])){
SamaB=true;
}
}

if(SamaA==false || SamaB==false){
JOptionPane.showMessageDialog(null, "Anggota Himpunan Tidak terdapat dihimpunan "+
"A atau B", "Fungsi", JOptionPane.ERROR_MESSAGE);
}

if(SamaA==true && SamaB==true){
HimpunanRelasi[i]=temp2[i];
HimpunanAsal[i]=temp[i];
}
//jika input yang dimasukkan tidak ada dalam anggota A maupun B
//maka perulangan dilakukan terus sampai input yang dimasukkan
//ada dalam anggota A dan B
}while(SamaA==false || SamaB==false);
}
}

public String cekFungsi(){
satu2 = false;
int jumlahAnggota = 0;
boolean adaSama = false;
StringBuffer tmp_buff = new StringBuffer();
for(int i =0;i<=(jmlHimpunanA-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){

if(HimpunanA[i].equals(HimpunanAsal[j])){
jumlahAnggota++;
}
}
}

for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanAsal[i].equals(HimpunanAsal[j])){
adaSama=true;
}
}
}

if(jumlahAnggota==jmlHimpunanA && adaSama == false){
tmp_buff.append("Relasi yang diInput adalah Fungsi\n");
jumlahAnggota = 0;
for(int i =0;i<=(jmlHimpunanB-1);i++){
for(int j=0;j<=(jmlRelasi-1);j++){

if(HimpunanB[i].equals(HimpunanRelasi[j])){
jumlahAnggota++;
}
}
}

for(int i = 0;i<=(jmlRelasi-1);i++){
for(int j=i+1;j<=(jmlRelasi-1);j++){
if(HimpunanRelasi[i].equals(HimpunanRelasi[j])){
adaSama=true;
}
}
}
if(jumlahAnggota==jmlHimpunanB && adaSama == false){
tmp_buff.append("Fungsi Yang Diinput Adalah Fungsi satu-satu\n");
satu2= true;
}
return tmp_buff.toString();
}else {
return "Relasi yang di input Bukan Fungsi hanya relasi biasa\n";
}
}

public String cekInvers(){
StringBuffer strbuff = new StringBuffer();
if(satu2){
strbuff.append("Fungsi Inversnya Adalah : \n");
strbuff.append("Daerah Domain = { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
strbuff.append(HimpunanB[i]+" ");
}
strbuff.append("}\n");
strbuff.append("Daerah Kodomain { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
strbuff.append(HimpunanA[i]+ " ");
}
strbuff.append("}\n");
strbuff.append("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanAsal[i].equals(HimpunanAsal[j]))
adaSama=true;
}
if(adaSama==false){strbuff.append(HimpunanAsal[i]+" ");}
}
strbuff.append("}\n");

}
return strbuff.toString();
}
public void cetakRelasi(){
//fungsi ini berfungsi untuk menampilkan
// hasil relasi pada kotak dialog
StringBuffer strbuff = new StringBuffer();
strbuff.append("Daerah Domain : { ");
for(int i=0;i<=jmlHimpunanA-1;i++){
strbuff.append(HimpunanA[i]+" ");
}
strbuff.append("}\n");

strbuff.append("Daerah Kodomain : { ");
for(int i=0;i<=jmlHimpunanB-1;i++){
strbuff.append(HimpunanB[i]+ " ");
}
strbuff.append("}\n");
strbuff.append("Daerah range adalah : { ");
for(int i= 0;i<= jmlRelasi-1;i++){
boolean adaSama=false;
for (int j = i+1;j<=jmlRelasi-1;j++){
if(HimpunanRelasi[i].equals(HimpunanRelasi[j])){
adaSama=true;
}
}
if(adaSama==false){strbuff.append(HimpunanRelasi[i]+" ");}
}
strbuff.append("}\n");

JOptionPane.showMessageDialog(null, strbuff.toString()+cekFungsi()+cekInvers()+
"", "Fungsi", JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String args[]){
FungsiInvers func = new FungsiInvers();
func.inputAnggota();
func.inputRelasi();
func.cetakRelasi();
}
}
View full article and comment >>>