Tampilkan postingan dengan label programming. Tampilkan semua postingan

Virtual Host

Pada bahasan sebelumnya, saya telah membahas langkah-langkah mengganti localhost dengan DNS yang kita mau. Nah, pada tulisan saya kali ini, kelanjutan dari tulisan saya sebelumnya. Saya akan sedikit menerangkan mengenai virtual host. Taukah apa itu virtual host??

Virtual Host merupakan fitur dari apache webserver yang memungkinkan komputer yang terinstall apache di dalamnya memiliki banyak domain dengan menggunakan satu IP saja. Jadi, satu buah IP localhost bisa kita pakai untuk banyak domain. Asikkan?? Developer bisa banyak memiliki domain dari masing-masing aplikasi yang dibuatnya hanya dengan menggunakan satu IP.

Lalu bagaimana cara melakukannya??
1. Lakukan settingan pada hosts file. Jika belum paham caranya bisa Anda pelajari di
    http://wanitamuvira.blogspot.com/2014/12/mengganti-localhost-dengan-domain.html
2. Tambahkan minimal 2 domain dengan IP yang sama.
    Contoh: 127.0.0.1 localhost
                  127.0.0.1 ralali-crm.com
                  127.0.0.1 ralalireports.com
3. Edit file httpd-vhosts.conf, yang berada di c/xampp/apache/conf/extra. Buka file httpd-vhosts.conf
   dengan menggunakan text editor kesayangan Anda. Lalu tambahkan script dibawah ini:
  
  
          ServerAdmin admin@ralali-crm.com
          DocumentRoot “c/xampp/htdocs/ralali”
          ServerName www.ralali-crm.com
          ServerAlias http://www.ralali-crm.com
        
                     Options -Indexes
                     Options FollowSymLinks
                     AllowOverride All
        

  



  
           ServerAdmin admin@ralalireports.com
           DocumentRoot “d://xampp/htdocs/ralali-reports”
           ServerName www.ralalireports.com
           ServerAlias http://www.ralalireports.com

           d://xampp/htdocs/ralali-reports”>
                    Options -Indexes
                    Options FollowSymLinks
                    AllowOverride All
          


    
Bagaimana sudah mengerti mengenai virtual host dan cara menggunakannya??? Jika belum paham silahkan cari referensi lain. Semoga bermanfaat :)
  

Mengganti Localhost dengan Domain Sendiri Pada Server Lokal

Pada tulisan saya kali ini saya akan menjelaskan bagaimana cara mengganti localhost/ di url dengan nama domain sesuai keinginan kita. Bosankan dengan memanggil perintah localhost/nama-project terus?? Ingin dong tinggal manggil www.nama-project.com agar lebih simple.
Nah, begini nih caranya:

1. Pastikan Anda sudah terinstall XAMPP sebagai server lokal.
2. Matikan terlebih dahulu apache dan mysql
3. Buka notepad, klik kanan, pilih Run as administrator
4. Buka folder c:/windows/system32/drivers/etc/ lalu pilih file hosts
5. Tambahkan IP dan DNS (127.0.0.1 www.domain-sendiri.com) pada baris terakhir
    lalu simpan dan tutup.
6. Buka folder "c:/xampp/apache/conf/" lau pilih file "httpd.conf", buka dengan notepad++ atau
    sesuai dengan text editor kesukaan.
7. Cari "ServerName" lalu tambahkan tulisan : ServerName www.domain-sendiri.com:80
    dibawah ServerName localhost:80
8. Buka file "index.php" pada lokasi "c:/xampp/htdocs/" lakukan pengeditan dengan notepad++
    atau text editor kesukaan
9. Cari tulisan : header('Location: '.$uri.'/XAMPP/'); lalu ganti "XAMPP" dengan folder yang
    anda inginkan. Tujuanya agar ketika mengakses url www.domain-sendiri.com akan diarahkan
    langsung menuju folder yang telah Anda pilih sebagai default website.
10. Buka browser. Lalu ketikkan alamat url Anda tadi. Contoh: www.wanitamuvira.com/nama-folder/

Bagaimana mudah bukan?? pada tulisan saya selanjutnya saya akan membahas tentang Virtual Host sebagai kelanjutan dari tutorial ini. Tunggu ya tulisan saya selanjutnya.. Dan semoga bermanfaat :)

Belajar GIT

http://git-scm.com/images/logos/downloads/Git-Logo-2Color.png


Pada kesempatan kali ini, saya akan membahas tentang GIT. Tahukah Anda apa itu GIT?
GIT merupakan salah satu Version Control. Wah apa tuh??
Sini saya jelaskan..
Version Control adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas atau kumpulan berkas, sehingga pada suatu saat kita dapat kembali kepada salah satu versi dari berkas tersebut. Kalo di Linux kita kenal dengan istilah repository. Nah, GIT merupakan version control yang paling populer yang pada situs webnya adalah Github.
Lalu apa fungsinya GIT??
GIT berfungsi untuk membantu tim developer dalam membuat sistem aplikasi. Dalam membuat sistem aplikasi, terutama aplikasi yang besar, sudah tentu kita bekerja secara tim. Nah, dengan adanya GIT membantu para anggota dalam menyatukan file project aplikasi yang mereka buat. Jadi, sangat membantu sekali bukan??

Nah, lalu bagaimana cara menggunakan GIT? Ini nih cara pakainya.
1. Buat akun terlebih dahulu di situs github.com.
2. Setelah selesai, kita lanjutkan dengan mendownload software git di alamat ini http://git-scm.com/downloads. Sesuaikan dengan sistem operasi yang teman-teman gunakan yah.
3. Buka aplikasi Git Bash (CLI version)  untuk OS Windows atau OS Mac. Sedangkan untuk Linux   buka aplikasi terminal.
4. Ketikkan seperti dibawah ini.
5. Masuk ke direktori aplikasi kita
  •     Untuk versi Windows

      cd C:/repo/direktori_aplikasi
  •     Untuk Linux & Mac

      cd /repo/direktori_aplikasi
6. Lakukan inisialisasi repositori

 git init
    Akan keluar tulisan :

 Initialized empty Git repository in /home/debbyfauzia/repo/psb/.git/
7. Masukkan semua aplikasi ke dalam antrian repositori

 git add .
8. Lihat status progresnya

 git status
   Akan muncul hasil seperti ini :
 1# On branch master
 2#
 3# Initial commit
 4#
 5# Changes to be committed:
 6# (use "git rm --cached ..." to unstage)
 7#
 8# new file: admin/daftar-siswa.php
 9# new file: admin/daftar-user.php
 10# new file: admin/edit-pesan.php
 11# new file: admin/edit-petugas.php
9. Lakukan commit terhadap file-file yang sudah masuk ke dalam daftar repo

 git commit -m "Commit Pertama"
   Akan muncul progress seperti di bawah ini :
 1[master (root-commit) 7b73710] Commit Pertama
 2
 375 files changed, 2611 insertions(+), 0 deletions(-)
 4create mode 100644 admin/daftar-siswa.php
 5create
 6
 7mode 100644 admin/daftar-user.php
10. Sekarang login ke akun github. Buat sebuah repo dengan meng-klik link di pojok kanan atas
      “Create New Repo”.
11. Kita akan mendapatkan akses url untuk alamat repo yang baru kita buat. Contohnya pada tutorial
      ini ialah https://github.com/debbyfauzia/OptionMenu.git
12. Kembali ke terminal atau Git Bash, ketikkan perintah berikut untuk menginisialisasi alamat repo
      melakukan remoting pada repo yang akan kita gunakan :
      git remote add origin https://github.com/debbyfauzia/OptionMenu.git
13. Kemudian ketik perintah selanjutnya untuk melakukan Pull dari Github ke lokal repo komputer
      kita
      git pull origin master

   Akan muncul hasil seperti berikut :
   warning: no common commits
   remote: Counting objects: 6, done.
   remote: Compressing objects: 100% (2/2), done.
   remote: Total 6 (delta 0), reused 0 (delta 0)
   Unpacking objects: 100% (6/6), done.
   From https://github.com/debbyfauzia/OptionMenu
   * branch master -> FETCH_HEAD
   Merge made by recursive.
   README.md | 3 +++
   1 files changed, 3 insertions(+), 0 deletions(-)
   create mode 100644 README.md
 
14. Dan yang terakhir, kita akan melakukan Push folder project aplikasi kita ke situs Github
    git push origin master
   Kita akan diminta untuk memasukkan username dan password dari akun Github yang kita
   gunakan. Hasilnya seperti di bawah ini :

  Username:
  Password:
  Counting objects: 82, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (81/81), done.
  Writing objects: 100% (81/81), 194.61 KiB, done.
  Total 81 (delta 8), reused 0 (delta 0)
  To https://github.com/gedelumbung/OptionMenu.git
  5b641f5..0b590a9 master -> master
 
15.  Setelah itu, mari kita cek direktori repo yang telah kita buat. Jika berhasil, maka akan terlihat
      daftar file-file dan folder aplikasi kita .

Bagaimana sudah mengerti pembahasan awal dari GIT?? Jika kurang paham bisa buka tutorial dibawah ini http://git-scm.com/book/id/v1/Memulai-Git-Dasar-Git

Sekian dulu penjelasan saya mengenai GIT. Lain kesempatan saya lanjutnya kembali. Semoga bermanfaat :) 






















  
     
 

































Tutorial Laravel




data:image/jpeg;base64,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

Pada tulisan saya kali ini saya akan membahas mengenai framework php yang sedang naik daun. Framework itu bernama LARAVEL. Apa itu Laravel??

Laravel adalah framework PHP yang dikembangkan pertama kali oleh Taylor Otwell.


Keunggulan laravel dibandingkan dengan framework php lainnya adalah sebagai berikut:


1. Coding yang simple
2. Tersedia generator yang canggih dan memudahkan programmer yaitu Artisan CLI
3. Adanya fitur schema builder untuk berbagai database
4. Fitur migration dan seeding untuk berbagai database
5. Fitur query builder yang keren
6. Eloquent ORM yang luar biasa
7. Fitur pembuatan package dan bundle

Jika anda ingin belajar lebih lanjut tentang laravel. Anda bisa buka www.laravel.com > quickstart. Atau membaca tutorial yang telah saya buat pada link dibawah ini.

http://www.4shared.com/office/6XUzcNtMce/mudahnya_menguasai_laravel.html

Dan untuk contoh project CRUD yang telah saya buat bisa didownload pada link dibawah ini:

http://www.4shared.com/rar/X-5e86gHba/coba_laravel.html

Implementasi Transportasi dengan metode Nortwest Corner

Metode NortWest Corner adalah metode transportasi pada persoalan linear untuk menetukan solusi awal yang pengalokasiannya dimulai dari pojok kiri atas-pojok kanan bawah (northwest corner).
Mulai dari pojok kiri atas, alokasikan sebesar X11 = min (a1, b1), artinya : jika b1 < a1 maka X11 = b1 ; jika b1 > a1 maka X11 = a1. Kalau X11 = b1, maka selanjutnya yang mendapat giliran untuk dialokasikan adalah X12 dan seterusnya.

Prosedur penggunaan NortWest Corner
1.  Tampilkan persoalan kedalam matrix.
2.  Selalu memulai pengisian yang pertama kali pada jalur yang berada pada pojok kiri atas. Pegisian atau   pengalokasian barang pada jalur ini harus berpedoman kepada kapasitas yang ada dan jumlah permintaan yang harus dipenuhi.
3.  Lakukan gerakan zig-zak dari Pojok Kiri Atas ke arah Kanan Bawah, sampai sernua barang yang diproduksi habis terdistribusi dan memenuhi semua permintaan yang ada.
4.  Hitung Total Biaya yang diperoleh.

Aplikasi untuk pemecahan masalah transportasi program linear dengan menggunakan metode NortWest Corner.





 
Untuk lebih jelasnya berikut saya lampirkan aplikasi berikut source code dan dokumen teknisnya dalam menyelesaikan permasalahan transportasi dengan metode NorthWest Corner.
http://www.4shared.com/rar/TH806VgP/Tubes_TRO.html

Referensi materi: Operation Research (Tjutju Tarliah - Ahmad Dimyati)

DASAR PEMROGRAMAN RUBY

Sebagai bahasa scripting yang berbasis interpreter, Ruby menawarkan modus interaktif, yakni Interactive Ruby yang disingkat dengan irb. Untuk masuk ke modus interaktif Ruby, Anda cukup mengetikkan irb pada command prompt shell Anda, untuk keluar Anda cukup menekan tombol Ctrl-D atau ketikkan exit. Anda dapat menambahkan opsi—simpleprompt pada irb agar bentuk prompt-nya berubah menjadi >>.

Di samping itu, tentunya program Ruby juga dapat disimpan dalam file berextension ‘.rb’. Sama halnya seperti Python, modus interaktif Ruby juga dapat digunakan sebagai kalkulator untuk perhitungan sederhana. Kemampuan menghitung Ruby tidak kalah jika dibandingkan dengan Python. Konon, Ruby memiliki kecepatan eksekusi program yang lebih cepat dibandingkan dengan Python.

$ irb —simple-prompt
>> 2 + 3 - 1
=> 4
>> 3 * 2 / 2
=> 3
>> 4 % 3 ** 2
=> 4
>> 5.0/2.0
=> 2.5

Untuk tipe data angka yang dapat ditangani oleh Ruby, akan dibahas lebih detail
pada bagian bawah. Sekarang kita akan mengenal lebih jauh tentang Ruby, terutama
sintaks–sintaks dasarnya.

1. Aturan penamaan variabel
Karena Ruby bersifat dynamic-typing, Anda tidak perlu mendeklarasikan tipe dan variabel
yang ingin Anda gunakan seperti pada bahasa C. Anda cukup memasukkan nilai ke variabel
yang ingin Anda pakai. Aturan penamaan variabel sama dengan aturan penamaan variabel pada umumnya, yakni tidak boleh dimulai dengan angka dan tidak memakai keyword penting dari bahasa tersebut.

Berikut contoh deklarasi variabel:
Contoh valid:
x = 888
ini_variabel_string = “halo”

Contoh tidak valid:
8x = 888
while = “halo” # while adalah
reserved keyword



2. Konstanta
Konstanta tidak lain adalah sebuah variabel yang isinya tetap (tidak berubah). Konstanta
di Ruby dideklarasikan dengan huruf kapital pada huruf pertama. Suatu konstanta tetap dapat diubah nilainya. Pemberian status konstanta pada suatu variabel hanya akan memberikan suatu peringatan apabila kita mengubah isi konstanta tersebut.

>> Pi = 3.14
=> 3.14
>> Pi = 3.1428
(irb):2: warning: already
initialized constant Pi
=> 3.1428
>> Pi
=> 3.1428

3. Input OutputUntuk meminta input-an dari user, kita menggunakan perintah gets. Sedangkan untuk output ke layar monitor, kita dapat menggunakan puts, print maupun printf.

>> puts “Halo, pa kabar ?”
Halo, pa kabar?
=> nil
>> print “Halo, pa kabar ?”
Halo, pa kabar ?=> nil
>> nama = gets
Eric
=> “Eric\n”
>> printf “Nama saya %s”, nama
printf “Nama saya %s”, nama
Nama saya Eric
=> nil
Adapun perbedaan antara puts , print dan printf yakni di mana puts akan menambahkan
karakter newline(‘\n’) pada akhir string dan parameternya harus string, sedangkan print hanya mencetak string tanpa menambahkan karakter newline, printf sama dengan print; bedanya printf mengenal formatting seperti %s untuk string,%f untuk float, %d untuk integer, dan
seterusnya. Perintah printf ini sama dengan perintah printf di bahasa C.

4. Struktur program
Program Ruby umumnya juga memakai indentasi seperti bahasa Python. Akan tetapi
indentasi tidak mutlak harus dilakukan, karena Ruby menggunakan keyword end
untuk menandakan akhir dari suatu bagian program.


5. Lain-lainMungkin pada beberapa contoh di atas, Anda sering melihat tulisan nil. Nil berarti suatu objek di Ruby sama dengan NULL di bahasa C. Nil berarti hasil eksekusi perintah tersebut tidak mengembalikan objek apapun alias nil (tidak memiliki return value). Misalkan perintah puts hanya mencetak string ke layar dan tidak mengembalikan objek apapun untuk disimpan alias nil. Akan tetapi lainnya halnya dengan a = “halo” akan mengembalikan objek String “halo” yang akan disimpan dalam variabel a.

Untuk komentar pada program Ruby, Anda dapat menggunakan tanda # . Untuk
lebih dari satu statement pada satu baris , Anda dapat menggunakan pemisah ‘;’. Sedangkan
untuk statement yang lebih dari satu baris, Anda dapat menggunakan tanda ‘\’.

>> a = 1#Variabel a berisi 1
=> 1
>> print “Halo “; puts “ apa
kabar ?”
Halo apa kabar ?
=> nil
>> b = 1 + 3 + 5 \
?> + 7 + 9
=> 25

Seperti umumnya untuk contoh pertama program, kita akan membuat program “Hello World !”. Berikut contohnya:
#hello.rb
#!/usr/bin/env ruby
puts “Hello World !”
Program di atas akan mencetak tulisan “Hello World !” pada console Anda. Untuk menjalankan hello.rb, Anda cukup mengetikkan ruby hello.rb ataupun dapat mengubah file permission menjadi executable dengan perintah chmod +x hello.rb dan menjalankannya.
$ cat > hello.rb
$ ruby hello.rb
Hello World !
$ chmod +x hello.rb
$ ./hello.rb
Hello World !

Sebelum melangkah lebih lanjut, kita perlu mengetahui perbedaan objek dengan
kelas. Objek adalah suatu unit data. Sedangkan kelas adalah jenis dari objek tersebut.
Misalnya ada dua angka 5 dan 8 keduanya adalah objek yang berbeda, akan tetapi
mereka tergolong kelas yang sama Integer, tepatnya kelas FixNum.

Di samping itu, Anda juga perlu mengerti tentang metode suatu kelas. Metode adalah
suatu hal yang dapat dilakukan pada suatu objek. Untuk mengetahui tipe/kelas dari
suatu objek, kita dapat menggunakan metode class ; sedangkan apabila kita ingin mengetahui metode-metode apa saja yang berlaku umum untuk objek tersebut, Anda dapat
metode methods.
>> a = 1
=> 1
>> a.class
=> Fixnum
>> a.methods
=> [“to_a”, “%”,
“instance_eval”, “<<“,
“prec_i”, “coerce”, “&”,
“type”, “>>”, “ceil”,
“protected_methods”, “div”,
“extend”, ...]

Setelah berkenalan dengan dasar-dasar interpreter Ruby, kini saatnya untuk membahas
beberapa tipe data dasar yang disediakan Ruby yang tentunya merupakan instansi dari kelas–kelas mengingat Ruby adalah bahasa berorientasi objek yang murni. Di samping itu,
kita juga akan membahas beberapa metode yang umum dari kelas– kelas tersebut.

1. Angka
Ruby dapat menangani angka baik yang bertipe integer maupun float. Untuk tipe data
Integer di Ruby, kelas Integer dibagi dalam dua kelas yakni FixNum dan BigNum. Angka
dengan batas -230 sampai 230–1 tergolong dalam kelas FixNum; apabila suatu angka telah melampaui batas tersebut, maka akan digolongkan dalam kelas BigNum. Karena Ruby bersifat dynamic–typing, Anda tidak perlu melakukan konversi dari FixNum ke BigNum karena konversi akan dilakukan secara otomatis. Sedangkan untuk angka yang bertipe float, Ruby akan menganggap objek angka tersebut merupakan instansi dari kelas Float.

Seperti bahasa pemrograman umumnya, pada Ruby Anda dapat menggunakan prefiks (awalan) untuk menandakan arti angka tersebut, misalya untuk menyatakan bilangan negatif, 0 untuk bilangan oktal , 0b untuk bilangan biner dan 0x untuk bilangan heksadesimal serta e untuk bilangan eksponensial. Untuk mempermudah penulisan suatu angka dengan nilai yang sangat besar, Anda dapat membubuhkan karakter _ pada penulisan angka (karakter _ tidak akan disimpan, hanya untuk membantu saja).

>> a = 2
=> 2
>> a.class
=> FixNum
>> a = a ** 31
=> 2147483648
>> a.class
=> BigNum
>> 188_888_000_000
=> 188888000000
>> 0x6AF
=> 1711
>> 1.89e+18
=> 1.89e+18
>> b = 1.4
=> 1.4
>> b.class
=> Float

2. String
Tipe data String di 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.

Perhatikanlah contoh berikut:
>> a = “Hello\n”
=> “Hello\n”
>> print a
Hello
=> nil
>> b = ‘Hello\n’
=> “Hello\\n”
>> print b
Hello\n=> nil

Kelas String kaya akan metode-metode yang powerful. Anda dapat mencoba beberapa
di antaranya seperti berikut ini.
length—untuk mengetahui panjang suatu string.
capitalize—untuk mengubah huruf pertama pada awal kalimat menjadi huruf kapital. downcase—mengubah string menjadi huruf kecil.
upcase—mengubah string menjadi huruf besar.
swapcase—mengubah objek string dengan huruf kecil diubah menjadi huruf kapital dan sebaliknya.
strip—membuang karakter whitespace di awal dan akhir string.
reverse—membalikkan string.
include ? str—mengembalikan true jika substring str terdapat dalam string dan false jika tidak ada.
chop—membuang karakter terakhir dari string.

Salah satu hal yang unik dari Ruby adalah Anda dapat menambahkan tanda ‘!’ di akhir
metode untuk menandakan metodenya bersifat destruktif di mana hasil metode tersebut berdampak langsung pada objeknya.

>> “Hello”.length
=> 5
>> “hello”.capitalize
=> “Hello”
>> “HELlo”.downcase
=> “hello”
>> “HeLLo”.upcase
=> “HELLO”
>> “hElLo”.swapcase
=> “HeLlO”
>> “hello”.reverse
=> “olleh”
>> “ hello “.strip
=> “hello”
>> “helloo”.chop
=> “hello”
>> “hello”.include? “h”
=> true
>> a = “ Hello “
=> “ Hello “
>> a.strip
=> “Hello”
>> a
=> “ Hello “
>> a.strip!
=> “Hello”
>> a
=> “Hello”

3. Array
Tipe data Array di Ruby hampir sama dengan tipe data array pada bahasa pemrograman
lain umumnya. Tipe data Array di 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. Untuk mengakses elemen objek Array ini, kita menggunakan indeks di mana indeks awal dimulai dari 0 sampai panjang array – 1. Anda juga dapat menggunakan indeks negatif di mana indeks -1 berarti elemen terakhir , -2 berarti elemen kedua terakhir, dan seterusnya.

Apabila kita mencoba mengakses elemen Array pada indeks yang di luar jangkauan, pernyataan tersebut tidak akan menyebabkan error seperti IndexError : list index out of range
di Python, Ruby akan mengembalikan objek nil. Untuk mengubah isi array ataupun menambahkan data pada objek Array dengan indeks tertentu, kita bisa menggunakan statement biasa seperti array[indeks] = nilai baru. Apabila kita ingin membuat objek Array
yang berisi string, akan repot sekali untuk menambahkan tanda kutip pada setiap elemen Array. Hal tersebut dapat diatasi dengan menggunakan prefiks %w. Untuk jelasnya, simak contoh berikut:

>> a = []
=> []
>> a = [1,2,”m”,[3,4,5]]
=> [1, 2, “m”, [3, 4, 5]]
>> a[0]
=> 1
>> a[3]
=> [3, 4, 5]
>> a[3][1]
=> 4
>> a[-1]
=> [3, 4, 5]
>> a[6]
=> nil
>> a[1] = 88
=> 88
>> a
=> [1, 88, “m”, [3, 4, 5]]
>> c = %w(Anto, Eric, Isabel)
=> [“Anto,”, “Eric,”, “Isabel”]

Metode-metode pada kelas Array :
length—untuk mengetahui ukuran array.
push(nilai_baru)—untuk menambah data pada array. Data terbaru akan ditempatkan paling akhir.
pop—mengembalikan data pada indeks terakhir array dan menghapus data pada indeks terakhir.
reverse—membalik isi data array.
sort—mengurut isi array secara ascending.

>> a = [“a”,”b”,”c”]
=> [“a”, “b”, “c”]
>> a.length
=> 3
>> a.push(“d”)
=> [“a”, “b”, “c”, “d”]
>> a.pop
=> “d”
>> a
=> [“a”, “b”, “c”]
>> a.reverse
=> [“c”, “b”, “a”]
>> a.sort
=> [“a”, “b”, “c”]

4. Hash
Tipe data hash di Ruby sama dengan tipe data dictionary di Python. Untuk membuat objek
hash yang baru, Anda dapat menggunakan literal hash {} ataupun konstruktor Hash.new. Lain halnya dengan array, untuk mengakses elemen objek Hash kita tidak menggunakan indeks seperti array. Kita dapat mendefinisikan kunci(key) yang unik untuk setiap elemen. Sama halnya seperti array, apabila kita mengakses elemen dengan key yang tidak tercantum di hash, maka akan mengembalikan nilai nil.

>> alamat = {
?> “Amat” => “Kemanggisan Raya
50”,
?> “Budi” => “Sudirman 80”,
?> “Eric” => “Sandang 9A”,
?> “Melissa” => “Pandu 77”
?> }
=> {“Eric”=>”Sandang 9A”,
“Budi”=>”Sudirman 80",
“Amat”=>”Kemanggisan Raya 50",
“Melissa”=>”Pandu 77"}
>> alamat[“Eric”]
=> “Sandang 9A”
>> alamat[“Dani”]
=> nil

5. Range
Objek range di Ruby merupakan suatu barisan di mana terdapat nilai awal dan nilai akhir dari barisan tersebut. Objek Range ini sama dengan perintah range() di Python. Untuk membuat suatu objek Range, kita dapat menggunakan operator range ‘..’ dan ‘...’. Format ‘..’ akan menciptakan objek Range yang ikut menyertakan elemen terakhirnya, sedangkan format ‘...’ akan menghilangkan elemen terakhirnya. Range di Ruby tidak dianggap sebagai objek Array melainkan dianggap sebagai suatu objek Range sendiri. Untuk menjadikannya objek Array, Anda dapat menggunakan metode to_a . Untuk lebih jelasnya, perhatikanlah contoh berikut.

>> a = (1..5)
=> 1..5
>> a.class
=> Range
>> (1..5).to_a
=> [1, 2, 3, 4, 5]
>> (1...5).to_a
=> [1, 2, 3, 4]

Konversi tipe data Walaupun Ruby bersifat dynamic-typing, konversi tipe data ada kalanya perlu dilakukan untuk keperluan tertentu, misalnya kita hendak mengkonversi inputan user menjadi angka untuk dihitung ataupun mengkonversi angka menjadi string untuk dicetak.
Untuk mempermudah pembacaan , kita akan memakai notasi Kelas#metode mengingat metode bisa sama namun efeknya berbeda untuk tiap kelas. Misalnya metode + apabila diaplikasikan pada angka dan string hasilnya pasti akan berbeda

RUBY BAHASA PEMROGRAMAN

Ruby adalah bahasa pemrograman scripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.
Sejarah
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Pada tahun 1993 Yukihiro ingin membuat sebuah bahasa pemrograman scripting yang memiliki kemampuan orientasi obyek. Pada saat itu pemrograman berorientasi obyek sedang berkembang tetapi belum ada bahasa pemrograman scripting yang mendukung pemrograman obyek.
Penulisan Ruby dimulai pada Februari 1993 dan pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro menulis Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang banyak mengontribusikan perkembangan Ruby.
Saat ini Ruby telah berkembang tidak hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah melakukan kerja sama dengan mengintegrasikan Ruby on Rails pada Mac OS X v10.5 Leopard yang akan diluncurkan bulan Oktober 2007.
Kelebihan Ruby
Ø Sintaks sederhana.
Ø Memiliki exception handling yang baik.
Ø Bahasa Pemrograman Berorientasi Objek.
Ø Mengusung konsep single inheritance.
Ø Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya.
Ø Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.
Sistem operasi yang didukung
· Linux
· Microsoft Windows 95/98/XP/NT/2000/2003/Vista
· BeOS
· OS/2
· Unix
· Amiga
· MorphOS