BAHASA RUBY

Bahasa pemrograman ruby adalah pengembangan dari bahasa pemrograman C++

BERSAMA DINDA

indah sekali hari hariku bersama Adinda tercinta

hahahaha....... yang penting asyik

hari2 ketika qw bersama adinda dan sahabatku

BERAMAL

kegiatanku memberi makan anak yatim

WISATA KAUNIA

wisata hati di pondok pesantren di malang

Selasa, 30 Oktober 2012

looping/perulangan di ruby

Looping adalah proses perulangan untuk mencapai kondisi tertentu
Looping / Perulangan di bahasa pemrograman ruby dapat kita buat dengan mudah. ada beberapa macam penulisan looping dalam bahasa pemrograman ruby ada "while, until dan for". semuanya melakukan perulangan dengan karakteristik yang berbeda. penjelasan sebagai berikut :

1. looping dengan "while"
    contoh penulisan dalam  bahasa pemrograman ruby :

while kondisi1<=kondisi2
  isi looping
end

looping dengan "while" adalah looping atau perulangan dimana perulangan tersebut akan berhenti jika kondisi yang sebenarnya tidak sama dengan kondisi yang tertulis di perulangan while. jadi pada contoh di atas jika kondisi1>kondisi2 maka perulangan akan berhenti dan jika kondisi1<=kondisi2 maka perulangan akan berlanjut.

2. looping dengan "until"
    contoh penulisan dalam  bahasa pemrograman ruby :

until kondisi1<=kondisi2
  isi looping
end

perulangan menggunakan "until" adalah perulangan yang dimana kondisi sebenarnya sama dengan kondisi yang ada pada perulangan "until". contoh di atas menyatakan bahwa jika jika kondisi1<kondisi2 atau kondisi1>kondisi2 maka perulangan akan terus berjalan dan jika kondisi1=kondisi2 maka perulangan akan berhenti.

3. looping dengan "for"
    contoh penulisan dalam  bahasa pemrograman ruby :

for variable in 1..kondisi
  isi looping
end

perulangan menggunakan "for" berarti perulangan akan tetap berjalan sebelum batas dari perulangan yang ditentukan. pada contoh diatas dinyatakan dengan variable. perulangan akan berhenti jika variable bernilai sama dengan kondisi.

seperti itulah penjelasan dari saya mengenai looping/perulangan di bahasa pemrograman ruby.

semoga bermanfaat.

Senin, 29 Oktober 2012

Branching/Percabangan di Ruby

Branching / percabangan adalah proses pengambilan keputusan dari dua pilihanatau lebih untuk mendapatkan suatu keputusan dalam bahasa pemrograman.
dalam bahasa pemrograman ruby ada beberapa source code yang dapat digunakan. anda dapat menggunakan "if-elsif-else" atau menggunakan "case-when". cara penulisanya seperti ini :

jika branching/percabangan menggunakan "case-when"  :

case
    when kodisi1==kondisi2
      isi pilihan
    when konsisi2==kondisi3
      isi pilihan
 end

jika menggunakan branching/percabangan "case-when", when menanyakan "jika" kondisi1=kondisi2 maka pengambilan keputusan jatuh pada when yang pertama dan akan memproses isi dari keputusan tersebut. dan jika pilihan tidak ada pada kondisi pertama maka akan dilanjut kondisi berikutnya dan jika tidak ada keputusan yang diambil maka kembali kepada case dan berhenti.

jika branching/percabangan menggunakan "if-elsif-else" :

if kondisi1==kondisi2
  isi kondisi
elsif kondisi2==kondisi3
  isi kondisi
else
  isi kondisi
end

jika menggunakan branching/percabangan "if-elsif-else", maka if menyatakan jika kondisi pertama dan jika kondisi pertama tidak ada maka dilanjutkan elsif kondisi kedua dan seterusnya. dan ketika keputusan yang diambil tidak ada dalam branching maka else yang artinya pilihan tidak ada sehingga branching akan berhenti.

Rabu, 24 Oktober 2012

ALGORITMA PEMROGRAMAN


algoritma adalah urutan cara-cara atau langkah-langkah yang digunakan untuk menyelesaikan sebuah masalah. sedangkan algoritma pemrograman adalah langkah-langkah yang digunakan untuk menyelesaikan sebuah program. karena di blog ini membehas tentang bahasa pemrograman ruby
Orang yang telah terbiasa “bergaul” dengan komputer menggunakan satu
bahasa pemrograman tertentu (tingkat mahir), biasanya tidak lagi memerlukan
kertas coret-coretan untuk membuat suatu program komputer. Namun bagi
pemula, pembelajar, atau yang belum mahir, diperlukan kertas coret-coretan
tersebut untuk membuat algoritma pemrograman.
            Kertas coret-coretan itu akan digunakan untuk menyusun algoritma
(langkah-langkah penyelesaian masalah), flowcharting (alur logika perintah,
yang merupakan aplikasi dari algoritma), maupun menuliskan perintah sesuai
dengan kaidah dari bahasa pemrograman yang akan digunakannya.
Sewaktu menyusun algoritma, kita tidak perlu tahu (atau tidak perlu
menyesuaikan dengan) bahasa pemrograman yang nanti akan kita gunakan.
Hal utama yang kita pikirkan adalah kaidah (hirarki) dari komputer itu sendiri,
yaitu input-proses-output.
            Input adalah data yang harus ada (sudah ada/ sudah tersedia), yang dapat
diproses dengan aturan-aturan tertentu untuk menghasilkan output seperti yang
dikehendaki. Data yang ada harus logis (masuk akal) bahwa “ia” dapat
diproses untuk menghasilkan output.

Contoh:
Buat algoritma untuk Menghitung Luas Persegi Panjang:

Pekerjaan:
Rumus:
LuasPersegiPanjang = Panjang x Lebar

Algoritma:
1. Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
2. Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
3. Hitung Luas persegi panjang.
4. Tampilkan (outputkan) Luas persegi panjang.

SEQUENTIAL PROGRAMMING


 sequential programming adalah dasar dari pemrograman ruby. sebagai perkenelan dibawah ini saya tampilkan contoh program sederhana dari sequential programming.

Program di bawah ini terdiri dari deklarasi, input nilai, proses dan penampilan hasil. Yang dimaksud deklarasi adalah pengenalan nilai variable. Nilai yang diinputan adalah nilai yang telah diperkenalkan dalam deklarasi.

a1=0, a2=0, a3=0, b1=0, b2=0, b3=0, c1=0, c2=0, c3=0, det=0, detA=0
printf"masukan nilai a1 = "
a1=gets.to_f
printf"masukan nilai a2 = "
a2=gets.to_f
printf"masukan nilai a3 = "
a3=gets.to_f
printf"masukan nilai b1 = "
b1=gets.to_f
printf"masukan nilai b2 = "
b2=gets.to_f
printf"masukan nilai b3 = "
b3=gets.to_f
printf"masukan nilai c1 = "
c1=gets.to_f
printf"masukan nilai c2 = "
c2=gets.to_f
printf"masukan nilai c3 = "
c3=gets.to_f
det = (a1*b2*c3)+(a2*b3*c1)+(a3*b1*c2)-(a3*b2*c1)-(a1*b3*c2)-(a2*b1*c3)
puts"nilai determinan adalah "+det.to_s
detA = 1/det
puts"nilai invers determinan adalah "+detA.to_s


Source code Di bawah ini adalah deklarasi atau pengenalan nilai variable. 


a1=0, a2=0, a3=0, b1=0, b2=0, b3=0, c1=0, c2=0, c3=0, det=0, detA=0

Setelah memperkenalkan variable dan nilai variable dilanjutkan dengan menginputkan atau memasukan data. 


printf"masukan nilai a1 = "
a1=gets.to_f
printf"masukan nilai a2 = "
a2=gets.to_f
printf"masukan nilai a3 = "
a3=gets.to_f
printf"masukan nilai b1 = "
b1=gets.to_f
printf"masukan nilai b2 = "
b2=gets.to_f
printf"masukan nilai b3 = "
b3=gets.to_f
printf"masukan nilai c1 = "
c1=gets.to_f
printf"masukan nilai c2 = "
c2=gets.to_f
printf"masukan nilai c3 = "
c3=gets.to_f

Kemudian memasukan rumus untuk menghitung determinan dan invers determinan sebagai proses perhitungan.

det = (a1*b2*c3)+(a2*b3*c1)+(a3*b1*c2)-(a3*b2*c1)-(a1*b3*c2)-(a2*b1*c3)
detA = 1/det


Setelah memasukan nilai variable dan memproses dengan rumus maka langkah yang terakhir adalah menampilkan hasil dari proses tersebut.


puts"nilai determinan adalah "+det.to_s
puts"nilai invers determinan adalah "+detA.to_s



output

Program ruby untuk menghitung determinan dan invers determinan telah selesai dibuat. Maka setelah dijalankan programnya akan didapatkan outputnya sebagai berikut.


masukan nilai a1 = 3,4
masukan nilai a2 = 7,6
masukan nilai a3 = 4,3
masukan nilai b1 = 9,5
masukan nilai b2 = 4,5
masukan nilai b3 = 2,1
masukan nilai c1 = 8,5
masukan nilai c2 = 4,5
masukan nilai c3 = 7,8
nilai determinan adalah -253.0
nilai invers determinan adalah -0.00395256916996047



Pada program sederhana ini nilai yang dimasukan terserah user. Dalam artian user dapat sesuka hati memasukan nilai. Sehingga hasil yang diperoleh bisa sesuai dengan apa yang diinginkan oleh user.

            pada dasarnya bahasa pemrograman ruby lebih simple dari bahasa C++ atau bahasa yang lain. Untuk awal praktikum kami belum memahami apa itu bahasa pemrograman ruby. Sehingga apa itu tipe data dan fungsi dari masing tipe data tersebut. Dari kekurangan kami tersebut kami mempelajari tipe data yang digunakan dalam ruby.





 




macam tipe data


Tipe data yang digunakan dalam bahasa pemrograman ruby adalah floar, interger, string, array, hash, range dan penjelasan tentang macam-macam tipe data tersebut sebagai berikut :
1.    Angka --> bahasa pemrograman Ruby dapat menangani angka baik yang bertipe integer ( to_i ) maupun float (to_f).

2.    String--> Tipe data String di bahasa pemrograman Ruby sama dengan tipe data String pada bahasa pemrograman lain umumnya. Untuk membuat tipe data String, anda dapat menggunakan kutip satu ‘ ataupun kutip dua “ . Adapun perbedaan di antara keduanya, yakni di mana objek String yang dibuat dengan kutip dua “ akan mengerti karakter khusus seperti ‘\n’,’\r’,’\b’ ,dsb. ; sedangkan karakter dengan objek String yang dibuat dengan kutip satu ‘ tidak bisa menerjemahkan karakter khusus di atas.

3.    Array --> Tipe data Array di bahasa pemrograman Ruby sama dengan tipe data list di Python. Untuk membuat suatu objek Array baru, Anda dapat menggunakan literal Array [] ataupun konstruktor Array.new. Isi array dapat berupa objek apapun baik angka, string, maupun objek lain termasuk objek array itu sendiri.
 
4.    Hash --> Tipe data hash di bahasa pemrograman Ruby sama dengan tipe data dictionary di Python. Untuk membuat objek

5.    Range --> Objek range di bahasa pemrograman Ruby merupakan suatu barisan di mana terdapat nilai awal dan nilai akhir dari barisan tersebut

Adapun perbedaan puts dan print dalam menampilkan hasil proses data dalam bahasa pemrograman Ruby adalah pada posisi variable yang akan dimasukan. Jika puts posisi variable yang akan dipanggil berada di bawah, tetapi ada print posisi variable yang akan dipanggil berada di samping.


Jumat, 19 Oktober 2012

source code menghitung matriks di ruby

perhitungan matriks menggunakan bahasa pemrograman ruby terbilang mudah menurut saya. yang perlu di perhatikan dalam menghitung matriks di ruby adalah hanya Array dan looping. berikut ini adalah contoh program sederhana menghitung matriks menggunakan bahasa pemrograman ruby. :
m="y" or m="Y"
until m=="t" or m=="T" do
print "masukan ordo : "
r=gets.to_i
b=r
k=r
x=b-1
y=k-1
puts
a=Array.new(b).map {Array.new(k)}
for i in 0..x
  for j in 0..y
    print "matriks a, masukan baris ke ",(i+1),", kolom ke",(j+1),": "
      n=gets.to_i
      a[i][j]=n
  end
end
puts
p=Array.new(b).map {Array.new(k)}
for i in 0..x
  for j in 0..y
    print "matriks b, masukan baris ke ",(i+1),", kolom ke",(j+1),": "
      n=gets.to_i
      p[i][j]=n
  end
end
puts
puts "matriks a"
puts
for i in 0..y
  print ("|")
  for j in 0..x
    print(" ",a[i][j]," ")
  end
  puts("|")
end
puts
puts "matriks b"
puts
for i in 0..y
  print ("|")
  for j in 0..x
    print(" ",p[i][j]," ")
  end
  puts("|")
end
puts
  puts "===========pilihan==========="
  puts "1. untuk menjumlahkan matriks"
  puts "2. untuk mengurangkan matriks"
  print "masukan pilihan anda : "
  c=gets.to_i
  puts '==================================='
  if c==1
  puts "hasil penjumlahan adalah "
  puts
  for i in 0..x
    print ("|")
    for j in 0..y
      print "#{a[i][j]+p[i][j]} "
    end
    puts("|")
  end
  puts "=========================================="
  puts "transpose penjumlahan"
  puts
    for i in 0..x
         print ("|")
         for j in 0..y
           print "#{a[j][i]+p[j][i]} "
         end
         puts("|")
       end
  end
  puts'======================================'
if c==2
puts "hasil pengurangan adalah "
 puts
 for i in 0..x
   print ("|")
   for j in 0..y
     print "#{a[i][j]-p[i][j]} "
   end
   puts("|")
 end
  puts '========================================='
  puts "transpose pengurangan"
  puts
  for i in 0..x
     print ("|")
     for j in 0..y
       print "#{a[j][i]-p[j][i]} "
     end
     puts("|")
   end
    puts '========================================='
 end
print "apakah anda ingin mengulang y/t : "
m=gets.chomp
end


penjelasan



Program menghitung matriks ini adalah program yang dibuat untuk menjumlahkan dan mengurangkan dua matriks yang dimana ordo dan nilai matriks akan diinputkan oleh user dan kemudian hasil penjumlahan dan pengurangan tersebut ditranspose yaitu dimana posisi baris menjadi kolom dan kolom menjadi baris.

print "masukan ordo : "
r=gets.to_i
b=r
k=r
x=b-1
y=k-1


            Source kode menghitung matriks di atas adalah proses untuk memasukan ordo n x n dan mendeklarasikan nilai variable yang akan digunakan dalam proses selanjutnya. Pemasukan ordo terserah oleh user jika user memasukan angka 3 maka matriks yang akan keluar terdiri dari 3 baris dan 3 kolom.


a=Array.new(b).map {Array.new(k)}
for i in 0..x
  for j in 0..y
    print "matriks a, masukan baris ke ",(i+1),", kolom ke",(j+1),": "
      n=gets.to_i
      a[i][j]=n
  end
end
puts
p=Array.new(b).map {Array.new(k)}
for i in 0..x
  for j in 0..y
    print "matriks b, masukan baris ke ",(i+1),", kolom ke",(j+1),": "
      n=gets.to_i
      p[i][j]=n
  end
end

 
Kemudian Source kode menghitung matriks berikutnya adalah proses pemasukan nilai baris dan kolom oleh user. Matriks yang dimasukan oleh user ada dua matriks yaitu matriks a dan matriks b. jumlah angka yang dimasukan user adalah tergantung pada jumlah ordo yang dimasukan oleh user. Jika user memasukan angka 3 berarti banyaknya angka dari matriks yang akan dimasukan adalah 9 angka. Karena matriks ada dua maka user akan memasukan data matris sebanyak dua kali. Jadi total user memasukan angka adalah 18 kali.

Kelemahan dari matriks ini adalah tidak bisa memasukan data matriks yang berbeda. Program ini hanya bisa memasukan dua matriks dengan ordo yang sama. Dengan kata lain jika matriks a ordonya 3 x 3 maka matriks b juga ordonya 3 x 3. Sehingga penjumlahan lebih mudah untuk diproses.


puts
puts "matriks a"
puts
for i in 0..y
  print ("|")
  for j in 0..x
    print(" ",a[i][j]," ")
  end
  puts("|")
end
puts
puts "matriks b"
puts
for i in 0..y
  print ("|")
  for j in 0..x
    print(" ",p[i][j]," ")
  end
  puts("|")
end

Dan Source kode menghitung matriks berikutnya adalah proses untuk menampilkan matriks a dan matriks b seperti yang telah diinputkan oleh user.

puts "===========pilihan==========="
  puts "1. untuk menjumlahkan matriks"
  puts "2. untuk mengurangkan matriks"
  print "masukan pilihan anda : "
  c=gets.to_i
  puts '==================================='

 
Setelah matriks a dan matriks b ditampilkan maka aka nada pilihan apakah matriks tersebut akan dijumlahkan atau dikurangkan. Pilihan hanya ada 1 dan 2. Jika user menginputkan angka selain itu maka program tidak akan menampilkan apa-apa. Dan langsung menanyakan perintak perulangan.

puts '==================================='
  if c==1
  puts "hasil penjumlahan adalah "
  puts
  for i in 0..x
    print ("|")
    for j in 0..y
      print "#{a[i][j]+p[i][j]} "
    end
    puts("|")
  end
  puts "=========================================="
  puts "transpose penjumlahan"
  puts
    for i in 0..x
         print ("|")
         for j in 0..y
           print "#{a[j][i]+p[j][i]} "
         end
         puts("|")
       end
  end



Kemudian jika pilihan user 1, maka program akan menjumlahkan matriks a dan matriks b yang kemudian hasil dari penjumlahan tersebut akan ditranspose.


if c==2
puts "hasil pengurangan adalah "
 puts
 for i in 0..x
   print ("|")
   for j in 0..y
     print "#{a[i][j]-p[i][j]} "
   end
   puts("|")
 end
  puts '========================================='
  puts "transpose pengurangan"
  puts
  for i in 0..x
     print ("|")
     for j in 0..y
       print "#{a[j][i]-p[j][i]} "
     end
     puts("|")
   end


Dan jika user memilih 2, maka program akan mengurangkan matriks a dan matriks b dan kemudian hasil dari pengurangan tersebut ditranspose.


print "apakah anda ingin mengulang y/t : "
m=gets.chomp
end


            Dan Source kode menghitung matriks yang terakhir adalah proses perulangan. Dimana user akan ditanya apakah akan mengulang program atau tidak. Jika user ingin mengulang maka user dapat memasukan huruf “Y” yang berarti “ya” dan jika tidak user dapat memasukan huruf “T” yang artinya tidak maka program akan selesai.