Pertemuan 13 (Pengantar Struktur Data): Konsep Class dan Objek dalam Ruby Konsep Method/Fungsi dalam Ruby
Konsep OOP Secara Umum Konsep OOP (Object Oriented Programming) merupakan teknik pemrograman yang memandang segalanya dalam bentuk objek. Setiap objek dapat memiliki atribut dan method. Atribut objek merupakan sifat atau keterangan dari objek tersebut. Method merupakan cara untuk memodifikasi atribut pada objek.
Beberapa fitur penting dalam OOP Konsep class dan objek (analogi: TV dan remote control). TV sebagai class dan remote control sebagai objek. Suara, warna, dan channel pada TV dapat diatur dengan mengakses menu tertentu pada remote control. Pemanggilan method dari class (analogi: memilih 1 menu pada remote control, misal mengecilkan suara TV) Enkapsulasi/penyembunyian detail (analogi: proses elektronika rumit untuk mengecilkan suara TV tidak perlu kita ketahui. Cukup dengan mengakses method untuk mengecilkan suara yang terdapat pada remote control) Inheritance/pewarisan: class dapat memiliki keturunan dan mewariskan beberapa sifat dan method kepada keturunannya. Selain itu, keturunan juga dapat memiliki sifat dan method yang unik, yang tidak dimiliki oleh orangtuanya. Polymorphism (poly: banyak, morph: bentuk) pada method, yakni beberapa method dapat memiliki nama yang sama, tetapi menerima parameter yang berbeda-beda, dan melakukan pekerjaan yang berbeda pula.
Objek dalam Ruby Pada Ruby, seluruh tipe data adalah berupa objek, seperti angka, string, dan array. Untuk menggunakan objek, method pada objek tersebut dapat dipanggil dan digunakan. Contoh: 3.succ 4 #memanggil method succ (successor) pada objek angka 3 untuk menghasilkan 1 nilai setelah angka 3, yakni 4. abc.upcase ABC #memanggil method upcase pada objek string abc untuk membuat string tersebut menjadi huruf besar. [2,1,5,3,4].sort [1,2,3,4,5] #memanggil method sort pada objek array [2,1,5,3,4] untuk mengurutkan array tersebut secara menaik. sebuahobjek.sebuahmethod sebuahhasil #memanggil method sebuahmethod pada objek sebuahobjek untuk menghasilkan sebuahhasil
Class Ruby memiliki lebih dari 30 built-in classes (class bawaan) seperti String, File, Array, dan lain-lain. Untuk membuat sebuah objek dari class bawaan, method new dapat digunakan. Contoh: myfile = File.new( textfile.txt, w ) #membuat objek baru dari class File, yang diberi nama myfile, untuk membuat sebuah file baru bernama textfile dengan ekstensi.txt, dan dibuka dengan mode w (write).
Class (2) Selain menggunakan class bawaan, kita juga dapat membuat class Ruby sendiri. Contoh class sederhana: class Friend @@myname = Fredy #contoh class variable (dengan 2 @ ) def initialize(name,npm) @nama,@npmmhs = name, npm #contoh instance variables (dengan 1 @ ) end def hello end #contoh instance method puts Hai, nama saya #{@nama)}. end def Friend.teman_kita #contoh class method puts Kita semua adalah teman dari #{@@myname}. end #akhir dari class Friend
Class (3) Cara pemanggilan class (catatan: script Ruby dibawah dapat ditulis dalam file yang sama dengan class Friend, dapat juga ditulis dalam file yang berbeda): #membuat 1 objek Friend bernama Atika dengan NPM 1234 f1=friend.new( Atika, 1234 ) #membuat 1 Friend lagi bernama Rendra dengan NPM 5678 f2=friend.new( Rendra, 5678 ) f1.hello #output: Hai, nama saya Atika. f2.hello #output: Hai, nama saya Rendra. Friend.teman_kita #output: Kita semua adalah teman dari Fredy.
Method dan Atribut Method adalah function (fungsi) yang didefinisikan di dalam sebuah class dan digunakan untuk memanipulasi atribut pada class variable dan object variable. Pada contoh di atas, terdapat 3 buah method: initialize, hello, dan Friend.teman_kita.
Method Method initialize: Method ini menerima 2 parameter, yakni name dan npm. Kegunaan dari method ini adalah untuk menginisialisasi instance variable @nama dan @npmmhs dengan nilai yang diinputkan pada saat pemanggilan method. Pada contoh di atas, nilai parameternya adalah Atika dan 1234 untuk objek f1, serta Rendra dan 5678 untuk objek f2.
Method (2) Method hello: Method ini tidak menerima parameter apa-apa dan kegunaannya adalah untuk mencetak sebuah kalimat ke layar dengan mengambil nilai yang tersimpan di instance variable @nama.
Method (3) Method Friend.teman_kita: Method ini adalah method milik class Friend. Ini merupakan contoh class method (dimana 2 method sebelumnya adalah merupakan instance method). Perbedaan class method dengan instance method adalah class method dibuat dan dipanggil dengan menyertakan nama class sebagai awalannya (Friend), lalu tanda titik, dan nama methodnya (teman_kita). Sedangkan instance method dipanggil dengan menyertakan nama objeknya (f1), tanda titik, lalu nama methodnya (hello).
Kisi-kisi UAS Sifat: Buku tertutup (tidak diperbolehkan membuka laptop/hp) Waktu: 100 110 menit Materi: Pemrograman Ruby dalam: Sekuensial Percabangan Perulangan Prosedur/Fungsi Bentuk soal: soal cerita
Tes Praktek AlPro Waktu: Senin, 23 Desember 2013, 07.00 09.30 Mekanisme: Tiap mhs akan mempraktekkan pembuatan program sederhana dari soal yang diberikan Soal diambil secara acak dari kumpulan soal berikut: Menampilkan angka 1 s.d. n, n dapat diinputkan oleh user Validasi input (user diminta memasukkan ulang input jika tidak sesuai dengan range yang diperbolehkan. Contoh kasus: validasi usia, nilai, dll) Menampilkan n bilangan ganjil/genap pertama, n dapat diinputkan oleh user Menampilkan n bilangan kelipatan m pertama, m dan n dapat diinputkan oleh user Waktu maksimal pengerjaan oleh tiap mhs adalah 5 menit