1. DESKTOP
  2. Matlab
  3. Java
  4. VB.Net
  5. C# .Net
  6. Delphi
  7. Bahasa R
  8. Power Builder
  9. C++
  10. Pascal
  11. Python
  12. Fortran
  13. VB6
  14. Cobol
  15. Perl
  16. Ruby
  17. Assembler




Lembaga Peduli Pendidikan Masyarakat

Jl. Raya Lenteng Agung No 6 / Gg Realita Seberang Halte Kampus UI Depok 021-22712148 | 081294749250 | 082111476069 | 085279959498 |
Desktop | Web | Mobile | Database | Project | Olah Data | 2d / 3d | Audio Video | Embedeed System | ERP | Cloud / Server | Pajak | Sertifikasi | Tentang |

INFO KURSUS RUBY LP2M ARAY


default image lp2maray.jpg

PENDAHULUAN RUBY

adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python. Bahasa ini dirancang dan dikembangkan oleh Yukihiro Matsumoto di Jepang 1993. Sebelum menentukan namanya, Yukihiro memiliki dua nama untuk digunakan bahasa ini yaitu Rubi dan Coral. Akan tetapi, Yukihiro lebih memilih menggunakan Ruby karena sama dengan batu kelahiran dari salah satu koleganya.

Bahasa ini merupakan bahasa pemrograman yang dinamis, reflektif, general-purposed, dan berbasis objek. dan kini umum digunakan untuk membangun aplikasi Desktop GUI (Graphic User Interfaces), membuat aplikasi web, atau mengembangkan web itu sendiri. Telah banyak platform yang dibangun menggunakan bahasa ini mulai dari Hulu, Groupon, Airbnb, dan bahkan Twitter. Hal ini tentunya disebabkan karena kelebihan bahasa pemrograman Ruby tersebut.

 

Keunggulan 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.


Kursus Ruby 5 Hari

LP2M menyelenggarakan Training Ruby Untuk Math Computation dan Analysis yang sangat berguna untuk mendapatkan skill tentang cara penggunaan Ruby sebagai aplikasi bantu untuk memudahkan para pengguna untuk kerubyuan berbagai Project Pengolahan Data.

Training ini akan mengarahkan para pesertanya untuk menjadi Programmer yang mampu mengoperasikan Ruby demi menghasilkan pembuatan Kalkulasi Optimal yang sesuai kriteria project. Selama training, pengajar akan menggunakan kombinasi teori serta praktek langsung dengan studi kasus yang telah dipersiapkan yang menyerupai Aplikasi nyata dan GUI interface agar belajar pemrograman bertambah mudah dan interaktif.
Belajar 5 hari @3 jam; Biaya Mahasiswa : Rp. 400.000;

Materi Ruby 5 Hari:

Variables and Assignment
Global scope and global variables
Built-in global variables
Getting Input
Writing own Ruby Methods
Comparing two strings for equality
Using %w
Character Set
Character Encoding

Encoding class
Simple Constructs
Conditional ?:
Statement modifiers
Case Expressions
nil is an Object
Difference between FALSE and NIL
Ruby Blocks

Ruby Arrays
Parallel Assignment
Environment Variables
Command line arguments
Library GetoptLong
Ranges
Ruby Symbols
Hashes
Using Symbols as Hash Keys
Random Numbers
Read/Write files
Traversing Directory Trees
Random Access

Regular Expressions
Literal characters
The wildcard character . (dot)
Character classes
Special escape sequences for common character classes
Writing our own Class
Literal Constructors
Garbage Collection
Class Methods
Exceptions /Handling

Studi Causes
Implementation on Web/ GUI Desktop

Kursus Ruby Lanjutan

LP2M menyelenggarakan juga Training ruby Lanjutan untuk memudahkan para pengguna melakukan pengolahan data / arsip. Training ini akan mengarahkan para pesertanya untuk menjadi programmer terapan yang lebih baik, Tajam dalam menganalisa suatu bentuk basis data dan Mahir dalam Pembuatan berbagai Aplikasi Terapan


Belajar Minimal 3 hari atau Sampai target aplikasi Selesai; Biaya Mahasiswa : Rp. 500.000 s/d 1.500.000;


Ruby OOP Class
+Method Missing
+Ruby Procs
+Including Other Files
+Ruby Open Classes
+Inheritance
+Inheritance and Instance Variables
+Overriding Methods
+Usage of super
+Redefining methods
+Abstract Class
+Ruby Overloading Methods

Access Control
+Overriding private methods
+Top-level methods
+Are instance variables inherited by a sub-class?
+Raising an Exception
+Handling an Exception
+Validation example
+Ruby Logging
+Ruby Time class

Duck Typing
+Ruby Syntactic Sugar
+Mutable and Immutable Objects
+Freezing Objects
+frozen?

Object Serialization
+Modules/Mixins
+Self
+Top level context
+Self inside class and module definitions
+Self in instance method definitions
+Self in singleton-method and class-method definitions

NB
Tiga Puluh Alasan Mengapa Saya Cinta Ruby
Reff: http://www.rubyhacker.com
 
1. Ruby Berorientasi Objek. 
artinya Jika ada sepuluh programmer, maka akan ada dua belas opini tentang apa itu Pemrograman Berorientasi Objek. 
Saya tinggalkan semua itu pada kebijakan Anda. 
Dalam hal ini, Ruby menawarkan enkapsulasi data dan metode pada objek-objek dan penurunan dari satu kelas ke kelas lain; 
Ruby juga ada objek polimorfisme. 
Tidak seperti C++, Perl 5, dan bahasa-bahasa pemrograman lain, Ruby didesain berorientasi objek dari awal.

2. Ruby murni merupakan Bahasa Pemrograman Berorientasi Objek. 
Mengapa saya jadi berlebihan? Tidak juga. 
Yang saya maksud dengan mengatakan bahwa Ruby merupakan Bahasa Pemrograman Berorientasi Objek adalah 
semua di Ruby dianggap sebagai objek, termasuk tipe data primitif seperti string dan integer. 
Sehingga kelas-kelas wrapper seperti Java tidak diperlukan. Tambahan, bahkan konstanta pun diperlakukan sebagai objek, 
sehingga, misalkan, metode yang dibangkitkan lewat konstanta numerik itu merupakan receiver.

3. Ruby merupakan Bahasa yang dinamis. Bagi orang-orang yang sudah terbiasa dengan 
bahasa-bahasa statik seperti C++ dan Java, konsep dinamis ini merupakan hal yang signifikan. 
Artinya metode-metode dan variabel-variabel dapat ditambahkan dan didefinisikan ulang pada saat runtime. 
Ruby menghapus segala kesulitan atas kewajiban fitur-fitur seperti kompilasi kondisi C (#ifdef), 
Ruby juga memungkinkan pembuatan API otomatis. Ini menjadikan program-program lebih “mengerti”—Ruby memungkinkan program mengetahui 
informasi tipe saat runtime, mampu mendeteksi metode yang terlewat (tambahan penerjemah, 
metode yang tidak didefinisikan sebelumnya ataupun terlewati), dan sebagainya. 
Dengan perilaku ini Ruby erat kaitannya dengan Lisp dan Smalltalk.

4. Ruby merupakan bahasa interpreted. 
Bahasan mengenai bahasa interpreted ini memang masalah kompleks dan layak dikomentari. 
Bahasa interpreted sering diperdebatkan karena memiliki masalah negatif tentang performance. 
Saya menjawab argumen negatif tersebut dengan observasi sebagai berikut: Pertama, 
dan yang paling penting: Proses Pengembangan yang sangat cepat merupakan hal menguntungkan, 
ini dipicu oleh bahasa Ruby yang alami interpreted. 
Kedua, sebetulnya seberapa lambatkah yang dinamakan terlalu lambat? 
Apakah Anda sudah melakukan benchmark sebelum Anda berkata kalau Ruby itu lambat. 
Ketiga, Walau beberapa orang akan mengkritik saya, saya tetap akan mengatakan ini: 
prosesor-prosesor komputer setiap tahun berkembang semakin cepat. 
Keempat, jika Anda benar-benar membutuhkan kecepatan, 
Anda dapat menulis sebagian kode program Anda dalam bahasa C. 
Kelima, terakhir dan ini merupakan hal yang diperdebatkan, karena tidak ada bahasa yang yang secara permanen interpreted. 
Tidak ada aturan di dunia ini yang mengatakan bahwa Ruby compiler tidak dapat ditulis.

5. Ruby mengerti Regexp. 
Kemampuan UNIX akan grep dan sed atau melakukan operasi cari-dan-ganti dengan vi sudah dikenal sejak bertahun-tahun. 
Perl banyak membantu perubahan tersebut, begitu pula dengan Ruby. Banyak orang yang 
mengetahui kehebatan teknik string tingkat mahir dan manipulasi teks. Untuk yang ragu-ragu silakan pergi 
dan baca buku Jeffrey Friedl yang berjudul Mastering Regular Expressions. Jadi seharusnya tidak akan ada lagi yang ragu-ragu.

6. Ruby bisa dijalankan di banyak platform. 
Ruby bisa dijalankan di Linux dan varian-varian UNIX lainnya, di Windows, BeOS, dan bahkan di MS-DOS. 
Kalau tidak salah ingat, bahkan Ruby juga tersedia untuk platform Amiga.

7. Basis Ruby bersumber dari banyak sumber. 
Apakah ini baik? Diluar dunia tulis-menulis, ya. 
Isaac Newton pernah berkata, “Jika saya sudah melihat yang lain melakukan hal yang lebih jauh, 
itu karena saya berdiri di atas pundak para raksasa.” Jelas Ruby berdiri di atas pundak raksasa. 
Ruby meminjam fitur-fitur dari Smalltalk, CLU, Lisp, C, C++, Perl, Kornshell, dan lain-lain. 
Hal yang prinsip, yang saya lihat di saat kerja adalah: Pertama, Jangan menjadi penemu akan hal-hal yang sudah ada (jangan reinvent the wheel). 
Kedua, Jangan perbaiki hal-hal yang tidak rusak. Ketiga, terakhir dan ini yang spesial, 
gunakan keahlian-keahlian yang sudah ada pada orang-orang. Anda sudah mengerti operasi file dan pipe di UNIX? 
Bagus, Anda bisa menggunakan keahlian tersebut. Anda telah menghabiskan waktu Anda selama 2 tahun 
mempelajari semua hal tentang printf? Jangan khawatir, Anda bisa menggunakan printf. 
Anda mengerti Regexp di Perl? Bagus, berarti sebetulnya Anda hampir sudah belajar Ruby.

8. Ruby dikembangkan dengan inovatif. 
Apakah poin 8 ini berlawanan dengan poin ke 7 diatas? Sebagian, ya. 
Setiap koin mempunyai dua sisi. Beberapa fitur Ruby benar-benar inovatif, 
seperti konsep mix-in yang sangat berguna. Mungkin beberapa fitur tersebut dipinjam dari bahasa-bahasa masa depan 
(Catatan: Seorang pembaca telah menunjukkan kepada saya bahwa LISP punya mix-in paling tidak sejak tahun 1979. 
Bukan berarti saya tidak peduli akan argumen saya, tapi saya akan menemukan contoh yang lebih baik dan 
membuat Anda yakin bahwa Ruby dikembangkan dengan inovatif.)

9. Ruby merupakan Bahasa Laras yang Sangat Tinggi (Very High-Level Language). 
Penggunaan terminologi Very High-Level Language ini memang diperdebatkan, 
karena terminologi tersebut tidak digunakan secara luas sehingga menjadi bahan perdebatan daripada konsep 
Pemrograman Berorientasi Objek sendiri. Ketika saya mengatakan ini, yang saya maksud 
adalah Ruby mampu menangani struktur data kompleks dan operasi kompleks dengan sedikit perintah, 
sesuai dengan Filosofi Usaha yang minimal (untuk mendapatkan hasil maksimal).

10. Ruby memiliki Garbace Collector yang pintar. Routines seperti malloc dan free adalah mimpi buruk. 
Anda bahkan tidak perlu memanggil Destructor. Cukup sudah saya katakan ini.

11. Ruby merupakan bahasa scripting. Anda jangan keliru dengan berpikir Ruby tidak sehebat bahasa scripting. 
Ruby bukan mainan. Ruby merupakan bahasa yang dikembangkan secara total yang dibuat mudah 
untuk melakukan operasi-operasi biasa di scripting seperti menjalan program-program eksternal, 
memeriksa sumber daya (resource) sistem, menggunakan pipe, menangkap output, dan lain sebagainya.

12. Ruby adaptif terhadap banyak hal. Ruby dapat melakukan hal-hal seperti yang dilakukan Kornshell 
dan dapat melakukan berbagai tugas seperti yang dilakukan program C. 
Anda dapat menulis sepuluh baris program Ruby untuk melakukan penugasan/task, 
atau membuat wrapper untuk program-program legacy? Ruby bisa. Anda ingin menulis program server web, 
program CGI atau program catur? Lagi-lagi Ruby bisa melakukan itu semua.

13. Ruby bisa multi thread. 
Dengan Ruby, Anda dapat menulis aplikasi multi threaded dengan API sederhana. 
Ya, bahkan di lingkungan MS-DOS.

14. Kode-kode penyusun Ruby dibuka / Ruby itu open-source. 
Anda ingin melihat kode-kode penyusun Ruby? Silakan saja. Ingin merekomendasikan patch?. 
Ya silakan. Anda ingin bergabung dengan komunitas pengguna Ruby (Rubyist) yang pintar-pintar 
dan saling membantu termasuk pencipta Ruby itu sendiri? Anda bisa mendapatkan itu semua dalam nuansa Ruby. 
(Tambahan penerjemah: Komunitas Rubyist Internasional dapat Anda temui di http://groups.google.com/group/comp.lang.ruby 
dan Komunitas Rubyist Indonesia dapat Anda temui di http://groups.yahoo.com/groups/id-ruby)

15. Ruby itu intuitif. Kurva belajar Ruby itu landai, sekali Anda sudah terbiasa dengan Ruby, 
maka Anda akan mulai dapat menebak bagaimana suatu hal bekerja dengan Ruby… dan tebakan Anda sering benar. 
Ruby dirancang untuk mengikuti Prinsip Sedikit Kaget (Principle of Least Astonishment).

16. Ruby memiliki mekanisme exception. Ruby mengerti exception, seperti Java dan C++. 
Dengan kata lain, ini berarti output (hasil return coding) tidak akan berantakan, hanya ada lebih sedikit 
nested if (bila harus ada), lebih sedikit logika sederhana dan penanganan error yang lebih baik.

17. Ruby memiliki kelas Array tingkat mahir. Dalam Ruby, Array itu dinamis, 
Anda tidak perlu mendeklarasikan seberapa besar Array sewaktu di compile, sebut saja seperti di Pascal. 
Anda juga tidak perlu mengalokasikan memori buat Array seperti di C, C++ ataupun Java. Array merupakan objek, 
jadi Anda tidak perlu mengatur-atur/menjaga-jaga ukuran Array, 
untuk berjalan dari awal hingga akhir secara virtual adalah hal yang mustahil dilakukan seperti ketika Anda dengan C. 
Anda ingin memproses array berdasarkan indeks? Berdasarkan elemen? memproses array terbalik? mem print array? 
Semua itu sudah tersedia metode metode Array nya. Anda ingin menggunakan array sebagai set, stack dan queue (antrian) ? 
Untuk operasi tersebut juga sudah ada disediakan metode-metodenya. Anda ingin menggunakan array sebagai lookup tabel? 
Eit nanti dulu, Itu sih pertanyaan menjebak, Anda tidak perlu repot-repot melakukan itu dengan array, 
karena kita punya hash untuk keperluan lookup tabel.

18. Ruby bisa di extend. Anda bisa menulis library eksternal dengan Ruby ataupun dengan C. 
Tambahan, bahkan Anda dapat memodifikasi kelas-kelas dan objek-objek 
yang sudah ada pada Ruby secara on the fly.

19. Ruby mendukung dokumentasi pemrograman. 
Anda dapat memasukkan komentar dalam kode-kode Ruby Anda yang mana tool dokumentasi Ruby 
dapat mengekstrak dan memanipulasi komentar Anda. (Para penggemar literate programming 
bahkan berpikir bahwa hal ini merupakan prinsip dasar yang harus ada).

20. Ruby secara kreatif menggunakan tanda-tanda dan kapitalisasi. 
Suatu metode yang menghasilkan output Boolean (walau Ruby tidak menyebutnya dengan cara demikian) 
biasa diakhiri dengan tanda tanya, dan metode yang destruktif atau metode 
yang dapat mengubah data biasanya diberi nama dengan tanda seru diakhir metode. Sederhana, informatif dan intuitif. 
Semua konstanta, termasuk nama kelas, diawali dengan huruf kapital. Semua atribut objek dimulai dengan tanda @ (akeong). 
Penggunaan tanda-tanda dan kapitalisasi ini merupakan konsep tua 
dari pragmatic programmer tanpa harus membuat mata lelah dan pusing kepala.

21. Tidak ada reserved words. 
Kita diperbolehkan menggunakan identifier yang disebut “reserved word” 
sepanjang parser tidak menganggapnya ambigu. Ini benar-benar seperti menghirup udara segar.

22. Ruby punya iterator. 
Dari sekian banyak hal, iterator memungkinkan kita untuk mem pass blok kode ke dalam objek Anda 
sehingga blok tersebut dipanggil pada setiap item di objek array, list, tree atau apa saja. 
Ini merupakan teknik dahsyat yang sangat baik untuk diexplorasi seluk-beluknya.

23. Ruby memiliki fitur-fitur sekuriti. 
Ruby meminjam konsep Perl yang menawarkan tingkat kontrol (tingkat paranoid?) dengan variabel $SAFE. 
Terutama berguna untuk program-program CGI yang ingin orang-orang lakukan untuk mengcrack server web.

24. Ruby tidak punya pointer. 
Seperti Java, dan (dengan sedikit mengangguk-nganggukkan kepala) juga dengan C++, 
Ruby tidak punya konsep pointer, tidak ada indirection, tidak ada pointer aritmetik, 
dan tidak ada pusing kepala dengan sintaks pointer dan debug pointer. 
Tentu, ini juga berarti menjadi penyebab pemrograman sistem menjadi lebih sulit, 
seperti mengakses register status kontrol untuk suatu device, 
tapi itu tetap bisa saja dijalankan dengan library C. 
(Seperti juga para programmer C turun derajat ke assembly jika diperlukan, 
begitu pula para programmer Ruby bisa saja turun ke C kalau memang diharuskan!)

25. Ruby memperhatikan sampai hal detil. 
Sinonim dan alias berkaitan erat. 
Anda tidak bisa mengingat yang mana size yang mana length untuk besar 
ataupun panjang suatu string atau array? Ya dua-duanya memang bisa jalan. 
Untuk range, ada begin dan end, ada juga first dan last? 
Ya terserah Anda mau pakai yang mana. Anda menyebut banyak index dengan indices, 
tapi saudara kembar Anda menyebutnya indexes? Ya memang indices ataupun indexes dua-duanya bisa dipakai.

26. Ruby memiliki sintaks yang fleksibel. 
Kurung buka kurung tutup pada pemanggilan metode biasanya bisa dihilangkan, 
sama juga seperti koma di antara parameter-parameter. 
Quote gaya Perl juga bisa diberlakukan di array string tanpa perlu tanda quote dan koma. 
Keyword return bisa dihilangkan.

27. Ruby kaya akan library. 
Ruby mendukung thread, socket, limited object persistence, program CGI, server-side executables, 
file DB, dan banyak lagi. Ada juga dukungan untuk Tk, dan dukungan-dukungan lain untuk GUI.

28. Ruby punya debugger. 
Di dunia yang sempurna, kita tidak akan perlu debugger. Tapi dunia ini tidak sempurna.

29. Ruby bisa digunakan secara interaktif. 
Ruby dapat digunakan seperti menggunakan Kornshell. 
(Saya dipaksa untuk melaporkan bahwa Ruby tidak begitu bagus digunakan untuk shell, 
walaupun begitu, saya berpendapat shell yang berbasis Ruby itu akan bagus)

30. Ruby itu informatif. 
Tidak ada keyword yang boros seperti begin, then setelah if, do setelah while seperti di Pascal. 
Variabel-variabel tidak perlu dideklarasikan, sebab variabel memang tidak punya tipe. 
Tipe return tidak perlu ditentukan di metode. Keyword return tidak perlu ditulis, 
metode akan return untuk ekspresi yang dievaluasi terakhir. Dengan kata lain, Ruby tidak cryptic seperti C ataupun Perl.

31. Ruby itu ekspresif. 
Anda dapat dengan mudah mengatakan hal-hal seperti x = if a then b else c end

32. Tersedia sintaks yang memudahkan di Ruby. 
Jika Anda ingin meng iterate array x dengan mengatakan for a in x,
Anda bisa. Jika Anda ingin mengatakan a += b daripada a = a + b, Anda juga bisa. 
Kebanyakan operator di Ruby sebetulnya merupakan metode yang singkat, nama-namanya intuitif dan sintaksnya nyaman.

33. Ruby punya overloading operator. 
Kalau tidak salah, aslinya dulu pernah di SNOBOL, tapi akhirnya dipopulerkan oleh C++. 
Ruby bisa saja disalahgunakan dan keliru, tapi Ruby memang indah memiliki fitur ini. 
Ruby mendefinisikan versi penugasan suatu operator secara otomatis; 
kalau Anda mendefinisikan +, Anda juga dapat bonus berupa +=

34. Ruby memiliki aritmetika integer yang presisi. 
Siapa yang peduli dengan short, int, long? Gunakan saja Bignum. 
Akui saja, Anda selalu ingin mencari factorial dari 365. Dan sekarang Anda bisa melakukan itu dengan mudah di Ruby.

35. Ruby punya operator eksponensial. 
Di zaman dahulu kala, kita menggunakan ini di BASIC dan FORTRAN. 
Tetapi kemudian kita belajar Pascal dan C, dan belajar betapa operator ini seperti setan. 
(Kita diberitahu bahwa kita tidak mengetahui bagaimana suatu evaluasi diselesaikan, 
apakah menggunakan logaritma? Iterasi? Seberapa efisien?) tetapi kemudian, 
apakah kita betul-betul peduli? Jika iya, kita bisa saja menulis ulang sendiri. 
Tapi jika tidak, Ruby sudah punya operator tua yang bagus ** 
yang bisa Anda cinta sama seperti Anda mencintai anak Anda. Silakan dinikmati.

36. Ruby memiliki penanganan string yang hebat.
 Jika Anda ingin mencari, mengganti, mengatur format, membatasi, 
 interprose ataupun token, semua itu bisa Anda lakukan dengan metode-metode Ruby yang sudah built-in. 
 Kalau tidak ada, Anda tinggal membuatnya dengan mudah sesuai kebutuhan.

37. Ruby memiliki sedikit pengecualian pada aturan-aturan Ruby. 
Sintaks dan Semantik Ruby lebih konsisten ketimbang kebanyakan bahasa-bahasa lain. 
Setiap bahasa memiliki keanehan, dan setiap peraturan punya pengecualian, 
tetapi Ruby memiliki lebih sedikit pengecualian dari peraturan-peraturan daripada yang Anda harapkan.


Untuk pengerjaan perusahaan butuh waktu minimal 3 hari kerja. Untuk pengerjaan Skripsi atau tugas akhir biasanya 5 x pertemuan @4-8jam. Siswa diwajibkan hadir untuk mempelajari logika pemrograman, pemahaman algoritma yang dipakai dan source code yang digunakan. Untuk jarak jauh siswa disediakan penginapan dan pengerjaan max 2 sd 3 hari kerja.

Tutorial

Link Pembelajaran RUBY LP2M ARAY