Kamis, 18 November 2010

Membuat Program Enkapsulasi,Polimorfisme, dan Inheritance di Ruby

Source Code:

system("cls") mulai=1 while(mulai==1) print"\n" print"Menu Pilihan\n" print"1.Enkapsulasi\n" print"2.Polimorfisme\n" print"3.Inheritance\n" print"4.Keluar\n" print"Pilih 1-4\n" print"Masukan pilihan : " n=gets.to_i if n==1 system("cls") class Luas def luassegitiga(a,t) segitiga =(a*t)/2 print('Luas segitiga dengan alas ',a,' cm dan tinggi ',t,' cm adalah ',segitiga,' cm2') print"\n" end end print"1.Enkapsulasi\n" print"Masukan nilai alas : " a=gets.to_f print"Masukan nilai tinggi : " t=gets.to_f bangun = Luas.new() bangun.luassegitiga(a,t) next elsif n==2 system("cls") class Mobil def injakpedalgas() puts('Semua mobil berjalan') end class Swift def injakpedalgas() puts('Mobil Suzuki Swift melaju dengan kecepatan 160 km/jam') end class Jazz def injakpedalgas() puts('Mobil Honda Jazz melaju dengan kecepatan 180 km/jam') end class Yaris def injakpedalgas() puts('Mobil Toyota Yaris melaju dengan kecepatan 155 km/jam') end class Test_Mobil print"2.Polimorfisme\n" mobil=Mobil.new() swift=Swift.new() jazz=Jazz.new() yaris=Yaris.new() mobil.injakpedalgas() mobil=swift mobil.injakpedalgas() mobil=jazz mobil.injakpedalgas() mobil=yaris mobil.injakpedalgas() end end end end end next elsif n==3 system("cls") class Mammal def Kelas() puts('ciri-ciri lumba-lumba : ') puts('Bernafas menggunakan paru-paru') end end class Lumba < Mammal def Ciri() puts('Lumba-lumba Hidup di air') puts('Lumba-lumba beranak') end end umba = Lumba.new() print"3.Inheritance\n" umba.Kelas() umba.Ciri() next elsif n==4 keluar=1 system("cls") break end end

Output:


Menggunakan Modul Matematika di Ruby bag.2

include Math,digunakan untuk meng-import isi module Math.

class Matematika def trigonometri(x) print"masukan data satuan derajat : ",x," derajat \n" a= Math.sin(x*Math::PI/180) b= Math.cos(x*Math::PI/180) c= Math.tan(x*Math::PI/180) print"Hasil sin ",x," : ",a,"\n" print"Hasil cos ",x," : ",b,"\n" print"Hasil tan ",x," : ",c,"\n" end end


Pada potongan program di atas, nama class adalah Matematika, def trigonometri(x) adalah pendeklarasian fungsi dengan nama fungsi trigonometri, x ialah variable yang digunakan dalam perhitungan trigonometri yang nilainya harus diinput dan nilai tersebut akan menjadi nilai balik untuk variable x. Mencetak tulisan masukan data satuan derajat : beserta nilai dari variable x dan mencetak tulisan derajat dalam satu baris, sedangkan \n digunakan untuk beralih ke baris baru setelah mencetak tulisan masukan data satuan derajat : beserta nilai dari variable x dan mencetak tulisan derajat . Kemudian memproses nilai variable x dimasukkan ke rumus dibawah.

a= Math.sin(x*Math::PI/180) b= Math.cos(x*Math::PI/180) c= Math.tan(x*Math::PI/180)


Pada rumus tersebut ada perintah Math.sin, Math.cos,dan Math.tan. Untuk perintah Math.sin digunakan untuk memproses agar menghasilkan nilai sin, begitu juga untuk perintah Math.cos dan Math.tan , dimana masing-masing perintah tersebut digunakan untuk memproses agar menghasilkan nilai cos dan nilai tangent, sedangkan Math::PI mengacu pada nilai phi yakni 3,14.

Setelah hasil didapat, kemudian hasil tersebut dicetak, dengan perintah berikut:

print"Hasil sin ",x," : ",a,"\n" print"Hasil cos ",x," : ",b,"\n" print"Hasil tan ",x," : ",c,"\n"


Dari perintah di atas akan menghasilkan atau mencetak tulisan Hasil sin beserta nilai variable x kemudian mencetak titik dua( : ) dan pindah baris ke baris selanjutnya, begitu juga dengan perintah pencetakan selanjutnya.

Pada potongan program di atas, ada tulisan end

di akhir potongan program tersebut, yang digunakan untuk menutup def trigonometri(x) dan end terakhir untuk menutup class Matematika.

class Matematika def trigonometri(x) #statement end end

class Logakar def logaritma_akar(y) print"masukan sebuah nilai : ",y,"\n" d= Math.log10(y) e= Math.sqrt(y) print"Hasil log^10 : ",d,"\n" print"Hasil akar : ",e,"\n" end end x=gets.to_i y=gets.to_i logaritmaakar=Logakar.new() logaritmaakar.trigonometri(x) logaritmaakar.logaritma_akar(y)


Pada lanjutan program trigonometri dari potongan program sebelumnya nama class-nya adalah Logakar dimana class Logakar adalah turunan dari class Matematika, kemudian def logaritma_akar(y), dimana nama fungsinya adalah logaritma_akar dan y adalah variable yang nilainya harus diinput. Lalu mencetak tulisan masukan sebuah nilai : beserta nilai dari variable y yang telah diinput dalam satu baris dan setelah itu langsung ke baris selanjutnya. Selanjutnya adalah memproses untuk mendapatkan hasil dari proses log10 dan akar, kemudian mencetak tulisan Hasil log^10 : beserta nilai hasil proses penghitungannya kemudian pindah baris, lalu mencetak tulisan Hasil akar : dan nilai hasil proses penghitungannya lalu pindah baris dan ditutup dengan end pertama untuk def dan end kedua untuk menutup class.
Perintah x=gets.to_i y=gets.to_i untuk melakukan input nilai berupa float.

logaritmaakar=Logakar.new() logaritmaakar.trigonometri(x) logaritmaakar.logaritma_akar(y)


Pada perintah diatas, perintah logaritmaakar=Logakar.new() digunakan untuk membuat objek baru yang bernama logaritmaakar. Pada perintah logaritmaakar.trigonometri(x), digunakan untuk menjalankan atau mengeksekusi fungsi trigonometri(x) dan perintah logaritmaakar.logaritma_akar(y), untuk mengeksekusi fungsi logaritma_akar(y).

Membuat Program dengan Menggunakan Hash di Ruby

Source Code

n=gets.to_i bulan={1=>"january",2=>"february",3=>"march",4=>"april",5=>"may",6=>"june", 7=>"july",8=>"august",9=>"september",10=>"october",11=>"november",12=>"december" } jumlahhari={"january"=>31,"february"=>28,"march"=>31,"april"=>30,"may"=>31,"june"=>30, "july"=>31,"august"=>31,"september"=>30,"october"=>31,"november"=>30,"december"=>31 } zodiak={"january"=>"capricorn","february"=>"aquarius","march"=>"pisces","april"=>"aries", "may"=>"taurus","june"=>"gemini","july"=>"cancer","august"=>"leo","september"=>"virgo", "october"=>"libra","november"=>"scorpio","december"=>"sagitarius" } puts "jumlah hari bulan anda adalah:",jumlahhari[bulan[n]],"hari" puts "zodiak anda adalah:",zodiak[bulan[n]]


LOGIKA PROGRAM :
Pada program zodiak, n dideklarasikan sebagai variable yang nilainya berdasarkan inputan. Variable bulan, jumlahhari, dan zodiak adalah variable yang digunakan untuk hash. Puts adalah perintah di dalam bahasa Ruby yang digunakan untuk mencetak dan perintah gets.to_i digunakan untuk melakukan input data berupa integer.
Pertama kali program dijalankan, program akan meminta input data. Selanjutnya, nilai variable n dimasukkan ke dalam variable bulan yang kemudian di check ke hash dari variable bulan , jika sudah sesuai maka langsung masuk ke variable jumlahhari, jika sudah sesuai juga maka langsung perintah selanjutnya . Untuk menentukan zodiaknya, nilai variable n masuk ke variable bulan setelah sesuai, langsung masuk ke variable zodiac.
Output:

Rabu, 17 November 2010

Menggunakan Modul Matematika di Ruby

Untuk menggunakan modul Matematika di Ruby dapat dengan mudah kita ketikan include Math , dengan pemanggilan modul Math tersebut, sekarang kita dapat membuat suatu program matematika , bisa perhitungan akar, logaritma, trigonometri,dan lain-lain.

Program yang dibuat adalah kombinasi dari perhitungan akar,logaritma,dan trigonometri yang dibentuk menjadi sebuah program yang bersifat inheritance atau yang bisa disebut turunan, dimana sifat induk ada di anak.
Hasil programnya seperti berikut:

Source codenya:
lanjutan Menggunakan Modul Matematika di Ruby bag.2

Matriks Transpose dengan Menggunakan Array Multidimensi di Ruby

Matriks transpose adalah merubah susunan baris dan kolom suatu matriks yang awalnya baris ,kolom menjadi kolom, baris.
contoh Matriks A:
Matriks A sebelum di transpose
|1 2|
|3 4|

Matriks A setelah di transpose
|1 3|
|2 4|

Kita juga bisa membuat Matriks transpose menjadi sebuah program.
contoh Outpunya :

source codenya:


Determinan dengan menggunakan Array multidimensi di Ruby

Determinan adalah suatu bilangan real yang ada dalam suatu matriks bujursangkar yang dioperasikan antara bilangan dengan posisi [1,1] dikalikan dengan bilangan dengan posisi [2,2] yang kemudian dikurangi dengan hasil kali bilangan dengan posisi [1,2] dan bilangan dengan posisi [2,1].
contohnya Matriks A berikut:
Matriks A
|1 2|
|3 4|
maka determinannya:
detA=ad-bc

detA= (1*4) - (2*3)
detA= 4-6
detA=-2

Kita juga bisa membuat determinan diatas menjadi sebuah program.
Contoh hasilnya dari matriks A2x2:

Source codenya:

Array Dimensi Satu dan Multidimensi di Ruby

Array adalah suatu himpunan hingga elemen yang terurut dan homogen atau memiliki tipe data yang sama . Array lebih dikenal sebagai matriks dan terkadang disebut tabel. Array juga memiliki beberapa dimensi, yakni dimensi satu dan dimensi banyak atau yang disebut juga array multi-dimensi.
Pertama kita bahas array dimensi satu.
Indeks atau subskrip dari elemen array menyatakan posisi elemen pada urutan array tersebut.
contoh output program Array dimensi satu:

Selain array dimensi satu, ada array multidimensi. Array ini menggunakan baris dan kolom, sedangkan array dimensi satu hanya menggunakan baris saja.
contoh output array mutidimensi :

Unduh Source Code: Array dimensi satu dan multidimensi

Sabtu, 13 November 2010

Pengembangan Game 3D dengan Perangkat Lunak Sumber Terbuka

Game adalah suatu suatu permainan yang dapat menghibur semua kalangan, dari yang usia muda sampai kalangan orang dewasa. Game bisa berupa video game, game edukasi, game tradisional, dan game lainnya. Game ada yang memiliki tampilan 2D dan ada yang 3D, game 3D memiliki keunggulan yakni bentuk karakter dan lingkungan tempat karakter terlihat lebih nyata dibandingkan yang 2D. Selain dari keunggulan pastinya ada kelemahan dari tampilan 3D, yakni perancangan alur cerita atau story board yang cukup lama , perancangan bentuk karakter yang digunakan dalam game sangat sulit serta penggabungan suara dan gerak ke karakter juga sulit.

Game juga bisa dikembangkan dengan perangkat lunak sumber terbuka atau yang sering kita dengar dengan sebutan open source software, dimana perangkat lunak tersebut bisa kita unduh tanpa harus membayar lisensinya dan kita juga bisa berkontribusi untuk mengembangkan perangkat lunak tersebut. Contoh perangkat lunak sumber terbuka yang bisa digunakan adalah Blender, dimana perangkat lunak ini bisa kita pergunakan untuk perancangan karakter 3D yang digunakan dalam game yang ingin kita buat. Sebagai contoh hasil dari game 3D yang dikembangkan dengan menggunakan Blender adalah Yo Frankie!. Game tersebut dapat kita unduh maupun kita dapat memesan dalam bentuk DVD disini dengan memesan Anda juga ikut berkontribusi atau mendukung pengembangan game ini.


Berikut adalah karakter-karakter yang ada pada game .



Untuk enaknya kita bisa lihat cuplikan dari video Yo Frankie! di bawah ini.

video Yo Frankie!




Selamat Mencoba :)