Langsung ke konten utama

Unggulan

Cara Hack WhatsApp By D1kSec. Untuk Have Fun:)

  Assalamualaikum Bertemu lagi dengan gw D1kSec Oke kali ini gw akan membagikan materi cara hack WhatsApp By D1kSec. Untuk Have Fun:) Oke gass ------------------------------------------------------------------------------- Langkah 1.Kalian tinggal buka chrome terus cari ( https://accountweb.is/ )  2.setelah kalian cari kalian auto masuk ke halam nya  3.setelah masuk ke halaman nya disitu pasti kalian ngerti lah :) --------------------------------------------------------------------------------- Oke mungkin itu aja materi yang disampaikan oleh D1kSec Oke Untuk Have Fun aja ok:) Saya pamit Assalamualaikum Copyright@D1kSec

Materi Dasar Dasar Ruby By D1ksec

 


Assalamualaikum Bertemu lagi dengan gw D1kSec

Kali ini gw akan membagikan materi Dasar Dasar Ruby By D1kSec

Maap kalo GK lengkap >_<


Sesi 1: Dasar-Dasar Ruby

Ruby Overview

Ruby adalah bahasa pemrograman berorientasi object murni yang dikembangkan oleh Yukihiro

Matsumoto (Matz) pada tahun 1993. Ruby merupakan bahasa interpreted, yang berarti untuk

menjalankan ruby tidak perlu dicompile, tetapi cukup dijalankan dalam interpreternya. Ruby juga

merupakan bahasa dinamis. Kita tidak perlu melakukan deklarasi variable, tetapi cukup melakukan

assignment secara langsung.

Ruby dibuat dengan tujuan untuk membuat programmer lebih bahagia. Artinya ruby dirancang

untuk mempermudah kerja programmer. Programmer tidak perlu melakukan banyak tugas yang

dapat dilakukan oleh komputer, sehingga programmer menjadi lebih produktif. Keunggulan utama

dari ruby adalah bahasa yang sangat ekspresif, yang mempermudah programmer untuk mengubah

dari ide menjadi kode program.

Penggunaan ruby yang paling umum adalah untuk pemrograman web, dengan framework ruby on

rails. Tetapi ruby adalah bahasa pemrograman umum yang dapat digunakan untuk semua keperluan

programming, dari aplikasi web, desktop, scripting, hingga aplikasi mobile.

Ruby merupakan bahasa object oriented murni. Dalam ruby, tidak ada tipe primitif. Semua adalah

object, termasuk integer, string, array, class dan sebagainya.

Berikut ini adalah contoh program hello world di ruby:

 puts "Hello world"

Menjalankan Ruby

Cara paling mudah untuk mencoba ruby adalah dengan menggunakan irb (interactive ruby).

 $ irb

 > 3 + 5

 => 8

 > puts "hello " * 3

 hello hello hello

 => nil

Irb sangat berguna untuk mencoba kode dan melihat hasilnya dengan cepat. Namun untuk membuat

program yang sebenarnya, kita akan menyimpan kode ruby kita dalam file, yang biasanya

berekstensi .rb.

 # file: hello.rb

 4.times do

 puts "hello"

 end

http://nyan.catcyb.org || http://www.omahlinux.com



kemudian kita jalankan dengan perintah ruby <nama file>

 $ ruby hello.rb

 hello

 hello

 hello

 hello

Syntax dan Idiom

Program yang ditulis dengan ruby pada umumnya mudah dibaca. Hal ini dikarenakan ruby memiliki

syntax yang bersih dan sederhana. Readability program juga terbantu jika programmer mengikuti

idiom yang umum digunakan dalam ruby.

Berikut ini adalah contoh program sederhana dalam ruby:

 class Person

 attr_accessor :first_name, :last_name, :age

 def initialize(first_name, last_name)

 @first_name = first_name

 @last_name = last_name

 end

 def fullname

 @first_name + " " + @last_name

 end

 def mature?

 @age > 17

 end

 def increase_age!

 @age += 1

 end

 end

 person = Person.new "Slamet", "Riyadi"

 person.age = 17

 person.full_name # "Slamet Riyadi"

 person.increase_age! # @age == 18

 person.mature? # true

Untuk membuat kelas, kita menggunakan kata kunci class diikuti dengan nama kelas. Nama

kelas dalam ruby harus dimulai dengan huruf kapital. Idiom yang biasa dipakai adalah

menggunakan CamelCase untuk nama kelas.

contoh: PurchasedItem, ProductsInventory

Kata kunci def digunakan untuk mendefinisikan method didalam suatu kelas atau modul. Pada

umumnya, kita menggunakan huruf kecil dan underscore () sebagai nama method (biasa disebut

*snakecase*). Nama method dapat mempunyai tanda baca seperti ?, !, = pada bagian akhir.

Tanda tanya (?) biasa digunakan dalam nama method yang mereturn boolean, sedangkan tanda seru

http://nyan.catcyb.org || http://www.omahlinux.com


(!) digunakan dalam method yang dianggap berbahaya, biasanya method yang dapat mengubah

nilai.

contoh: products_list, buy!, available?

Penamaan menggunakan snake_case digunakan hampir di semua hal dalam ruby selain nama kelas

dan konstant. Instant variable selalu diawali dengan tanda @. Object diinisiasi dengan memanggil

method new pada kelasnya. Pada umumnya programmer ruby selalu menggunakan indentasi 2

spasi dan tidak pernah menggunakan indentasi tab.

Object-Oriented in Ruby: Classes, Attributes, Methods

Ruby adalah bahasa object oriented murni. Semuanya dari integer hingga string adalah object.

Setiap object memiliki methods yang dapat dipanggil untuk melakukan berbagai fungsi. Untuk

memanggil method, kita menggunakan syntax titik (.) yang diikuti oleh nama methodnya.

Contohnya, jika kita ingin mengubah kalimat "hello world" menjadi huruf kapital, kita bisa

memanggil method upcase

 puts "hello world".upcase

Beberapa method, seperti puts dan gets dapat dipanggil dimanapun dan tidak perlu digabungkan

dengan object tertentu. Method - method ini ada di dalam modul Kernel bawaan ruby, yang di

include di dalam semua object ruby. Ketika kita menjalankan aplikasi ruby, sebuah object dengan

nama main dibuat secara otomatis dan memberikan kita akses ke semua method dalam module

Kernel

String Type and Operations

String adalah object ruby yang berfungsi memanipulasi rangkaian byte, yang pada umumnya

mereprensentasikan huruf - huruf dalam suatu kalimat. Ruby memiliki kelas built-in yang bernama

String yang memiliki beberapa method yang sering kita gunakan dalam memprogram ruby.

Berikut ini adalah fungsi - fungsi yang terkait dengan String dalam ruby:

String declaration

Pada umumnya sebuah string dideklarasikan dengan rangkaian huruf yang dibatasi oleh tanda petik

ganda (") atau tunggal (').

contoh: "ini adalah sebuah string", 'ini juga'

String juga dapat dideklarasikan dengan menggunakan general delimiter berupa yang diawali oleh

%, %Q, atau %q.

contoh:

%{ String menggunakan general delimiter }

%Q{ String menggunakan general delimiter }

http://nyan.catcyb.org || http://www.omahlinux.com



Untuk membuat string lebih dari satu baris, akan lebih mudah menggunakan syntax sebagai berikut:

multiline_string = <<-STR

 ini adalah string

 lebih dari satu baris

STR

Expression subtitution

Expression subtitution adalah suatu cara untuk menggabungkan hasil dari suatu ekspresi ruby ke

dalam suatu string menggunakan #{ dan }:

 name = "Ruby"

 a = 7

 b = 3

 puts "my name is #{name}" # my name is Ruby

 puts "#{a} + #{b} = #{ a + b }" # 7 + 3 = 10

String methods

Berikut ini adalah beberapa method yang dimiliki String object yang sering kita gunakan:

• str + other_str menggabungkan other_str ke str, menghasilkan object baru hasil

gabungan kedua string tersebut.

• str << other_str menggabungkan other_str ke str, mengubah object str (tidak

menghasilkan object baru).

• str <=> other_str membandingkan dua string, menghasilkan -1 jika str lebih kecil

dari otherstr, 1 jika str lebih besar dari str, dan 0 jika str sama dengan otherstr

• str == other_str membandingkan kesamaan dua string, menghasilkan true jika

sama, false jika tidak sama.

• str =~ regex membandingkan string dengan regular expression, menghasilkan posisi

pertama kesesuaian jika ada, atau 0 jika tidak sesuai.

• str.capitalize mengubah huruf pertama menjadi huruf kapital, menghasilkan object

baru.

• str.capitalize! mengubah huruf pertama menjadi huruf kapital dengan mengubah

object yang ada.

• str.upcase mengubah semua huruf menjadi huruf kapital, menghasilkan object baru.

• str.upcase! mengubah semua huruf menjadi huruf kapital dengan mengubah object

yang ada.

• str.length menghasilkan panjang string.

• str.strip menghapus whitespace yang ada di depan dan di belakang string.

http://nyan.catcyb.org || http://www.omahlinux.com



Numeric

Dalam ruby, angka bukanlah primitive. Setiap angka adalah object, instance dari salah satu kelas

numeric ruby. Numeric adalah kelas basis untuk angka di ruby. Kelas Fixnum digunakan untuk

integer, Float untuk angka pecahan, dan Bignum untuk angka integer yang lebih besar.

Konversi antara angka Fixnum dan Bignum terjadi secara otomatis. Ketika suatu angka tidak

dapat disimpan dalam Fixnum, akan secara otomatis diubah ke Bignum, sehingga kita sebagai

programmer tidak perlu memikirkannya.

contoh:

 2411 # integer, Fixnum

 2_411 # integer, Fixnum, underscore diabaikan

 241.1 # pecahan, Float

 3.7e4 # scientific notation, Float

 3E4 # scientific notation, Float

 3E-4 # scientific notation, dengan tanda sebelum exponent

 0444 # octal, Fixnum

 0xfff # hexadecimal, Fixnum

 0b1101 # binary, Fixnum

 4567832704 # integer, Bignum

Boolean

Ruby memiliki nilai boolean true dan false, yang merupakan object dari kelas TrueClass

dan FalseClass. Dalam ruby, semua nilai selain false dan nil dianggap bernilai true dan

dapat digunakan dalam operasi boolean, seperti conditional, and, or dan sebagainya.

Conditional Constructs

Conditional statement mengecek apakah suatu ekspresi bernilai benar atau salah dan menjalankan

logic sesuai dengan hasil dari ekspresi tersebut.

If statement

If statement diawali dengan keyword if dan diakhiri dengan keyword end.

 if 3 > 2

 puts "Tiga lebih besar dari dua"

 end

Operator ! membalikkan nilai true / false suatu ekspresi.

 if !(x > y)

 puts "X tidak lebih besar dari y"

 end

Kita dapat menggunakan operasi boolean dalam if statement untuk mengecek dua ekspresi atau

lebih menggunakan && (and) dan || (or).

 if ruby == "great" && programming == fun

http://nyan.catcyb.org || http://www.omahlinux.com



puts "I love programming with ruby"

 end

Jika ekspresi cukup pendek, kita dapat meletakkan if statement di belakang sebagai modifier.

 puts "Tiga lebih besar dari dua" if 3 > 2

else dan elsif dapat ditambahkan sebagai opsi jika statement if tidak benar.

 if x > y

 puts "x lebih besar dari y"

 elsif x < y

 puts "x lebih kecil dari y"

 else

 puts "x sama dengan y"

 end

Jika kita mengecek negasi dari suatu expresi, akan lebih jelas jika kita memakai unless daripada

menggunakan operator !

 unless x == y

 puts "x tidak sama dengan y"

 end

Seperti if, unless juga dapat kita letakkan di belakang sebagai modifier.

 puts "Tiga tidak lebih besar dari dua" unless 3 > 2

While statement

While loop digunakan untuk mengeksekusi suatu blok kode selama nilai conditionalnya true.

 i = 0

 while i < 10

 puts "hello"

 i += 1

 end

Until statement

Sebagaimana unless adalah negasi dari if, statement until adalah negasi dari while, yaitu

akan mengeksekusi blok kode sampai nilai conditionalnya menjadi true.

 i = 0

 until i >= 10

 puts "hello"

 i += 1

 end

Pada prakteknya, kita akan sangat jarang menggunakan while dan until untuk melakukan loop.

Kita akan lebih sering melakukan iterasi menggunakan method each yang dimiliki suatu array /

koleksi.

http://nyan.catcyb.org || http://www.omahlinux.com



Case statement

Statement case dan when dalam ruby memberikan cara untuk mengekspresikan conditional logic

dalam bentuk yang sangat ringkas. case mirip dengan switch dalam bahasa pemrograman lain,

tetapi case dapat mengecek semua tipe object yang dapat dibandingkan kesamaannya atau

ekuivalensinya.

Menggunakan case statement lebih ringkas daripada menggunakan if else karena kita

berasumsi membandingkan kesamaan dengan ==.

 lang = "fr"

 dog = case lang

 when "en"

 "dog"

 when "es"

 "perro"

 when "fr"

 "chien"

 when "de"

 "Hund"

 else

 "dog"

 end

case dapat digunakan untuk melakukan perbandingan nilai dalam range tertentu

 scale = 8

 case scale

 when 0

 puts "lowest"

 when 1..3

 puts "medium-low"

 when 4..5

 puts "medium"

 when 6..7

 puts "medium-high"

 when 8..9

 puts "high"

 when 10

 puts "highest"

 else

 "oputsff scale"

 end

Operator ternary

Operator ternary (?:) adalah struktur yang diwarisikan dari C ke ruby. Operator ini merupakan

bentuk pendek dari if else statement.

 size = length > 100 ? "Big" : "Small"

Arrays

Array adalah salah satu kelas bawaan ruby. Array adalah suatu koleksi object yang berurutan dan

dapat diakses berdasarkan indexnya. Dalam ruby, array dapat menyimpan semua object seperti

http://nyan.catcyb.org || http://www.omahlinux.com



String, Fixnum, Hash bahkan array yang lain. Setiap elemen di dalam array diasosiasikan dan

diakses dengan index tertentu. Elemen - elemen array secara otomatis diindex dengan angka

dimulain dari 0. Kita dapat mengakses elemen terakhir dari array dengan menggunakan index -1,

kedua dari belakang dengan -2 dan seterusnya. Ukuran array di ruby dinamis dan dapat bertambah

sesuai dengan kebutuhan secara otomatis.

Inisiasi array

Ada beberapa cara untuk membuat / menginisiasi suatu array. Yang pertama adalah dengan

memanggil method new pada kelas Array

 months = Array.new

Kita dapat menentukan panjang awal suatu array ketika inisiasi.

 months = Array.new 12

Array months sekarang memiliki panjang 12.

Kita juga dapat melihat berapa panjang dari sebuah array.

 months.size # 12

 #atau

 months.length # 12

Tetapi cara yang paling mudah dan paling umum digunakan untuk menginisiasi sebuah array adalah

dengan menggunakan literal [] dan mengisi elemennya secara langsung.

 months = ["January", "February", "March"]

Array methods

Berikut ini adalah beberapa method penting yang sering kita pakai:

• array + other_array mereturn array baru dengan menggabungkan kedua array.

• array - other_array mereturn array baru dengan menghapus semua elemen array

yang muncul di other_array.

• array << object memasukkan object ke akhir array.

• array == other_array mengecek apakah array memiliki elemen yang sama (yang

masing-masing dibandingkan dengan method ==) dengan other_array

• array <=> other_array mereturn integer (-1, 0 atau 1) berdasarkan perbandingan

elemen-elemen dalam kedua array

• array[index] mereturn elemen pada index, menghasilkan nil jika tidak ada elemen

pada index tersebut.

• array.each{|item| block} menjalankan block untuk setiap elemen array,

menggunakan elemen array tersebut sebagai parameter.

http://nyan.catcyb.org || http://www.omahlinux.com



• array.map{|item| block} menjalankan block untuk setiap elemen array, dan

menghasilkan array baru dengan elemen hasil eksekusi blok tersebut.

Code Blocks

Sebuah block dapat dianggap sebagai sebuah method yang tidak memiliki nama. Block dalam ruby

dapat ditulis di dalam brackets {...} atau do...end. Konsep block sering dipakai dalam ruby,

misalnya dalam beberapa method milik array.

[1,2,3].each do |item|

 puts item

end

Block juga berperilaku sebagai closure, yaitu kode dalam sebuah block dapat mengakses variabel

diluarnya, tetapi kode di luar block tidak dapat mengakses variabel lokal dalam block tersebut.

prefix = "print "

[1,2,3].each do |item|

 puts prefix

 puts item

end

puts item # error

Ranges

Range memberikan cara mudah untuk merepresentasikan urutan alfanumerik (angka dan huruf).

Range dapat digunakan sebagai sekuens maupun untuk pengecekan interval.

one_to_ten = 1..10

a_to_z = "a".."z"

a0_to_z9 = "a0".."z9"

Range Sebagai Sekuens

Range dapat diperlakukan sebagai array dan diiterasi:

(1..20).each do |num|

 puts num

end

Ukuran langkah tiap satuan item dapat ditentukan dengan method step

(1..20).step(3).each do |num|

 puts num

end

Range Sebagai Interval

Range dapat digunakan untuk menentukan apakah suatu angka/string termasuk dal



Ini berarti range dapat digunakan dengan mudah dalam statement case...when

num = 9001

case num

when 1..10

 puts "Below ten"

when 10..9000

 puts "Below nine thousand"

else

 puts "Over nine thousaaaand!!!"

end

Regular Expressions

Regular Expression dalam ruby ditangani oleh kelas Regexp. Untuk membentuk regular

expression, sintaks yang digunakan sama dengan Perl. Regular expression dalam ruby juga

memiliki fitur string interpolation.

movie_title_regexp = /^the/i

string = "the"

also_movie_title_regexp = /^#{string}/i # => /^the/i

Untuk mencocokan pola regular expression dengan sebuah string, bisa menggunakan method =~

atau [] dari string. =~ mengembalikan indeks pola yang pertama kali cocok, sedangkan []

mengembalikan substring yang cocok.

has_and = /and/i

"Sand Man" =~ has_and # => 1

"Sand Man"[has_and] # => "and"

Symbols

Ruby memiliki object spesial yang bernama symbol. Symbol selalu diawali dengan titik dua :,

seperti :indonesia. Hanya memiliki satu copy untuk setiap symbol, sehingga symbol yang sama

pasti memiliki object yang sama.

Symbol biasanya digunakan sebagai key atau indentifier dalam hash atau object ruby.

Hashes

Hash adalah koleksi pasangan key-value yang dalam ruby memiliki syntax sebagai berikut:

my_hash = { :name => "Nugroho", :age => 25 }

Hash mirip seperti array, tetapi jika array diindex dengan integer yang dimulai dari 0, hash diindex

dengan object ruby. Semua object dalam ruby dapat dijadikan key ataupun value dalam hash. Tetapi

pada umumnya kita lebih sering menggunakan symbol atau string sebagai key dari sebuah hash.

Keys dalam hash harus unik. Jika kita mengakses index hash yang tidak ada, kita akan mendapatkan

http://nyan.catcyb.org || http://www.omahlinux.com



nilai nil.

Inisiasi Hash

Untuk menginisiasi sebuah hash, kita dapat memanggil method new dari kelas Hash:

 my_hash = Hash.new

namun pada umumnya kita lebih sering membuat hash dengan literal hash sebagai berikut:

 my_hash = {}

Hash methods

Berikut ini adalah beberapa method hash yang sering kita gunakan:

• hash.[key] digunakan untuk mengakses value hash dengan key tertentu. Akan mereturn

object value jika ditemukan, atau nil jika tidak ditemukan.

• hash.clear menghapus semua key dan value dari hash tersebut.

• hash.delete(key) menghapus key-value dengan key tertentu. Akan mereturn value

tersebut.

• hash.delete_if { |key,value| block } menghapus key-value jika evaluasi

block menghasilkan nilai true.

• hash.each { |key,value| block } melakukan iterasi dan mengevaluasi block

untuk semua key-value.

• hash.keys menghasilkan array dari semua key dalam hash tersebut.

• hash.merge(another_hash) menghasilkan hash baru yang merupakan gabungan

kedua hash. Jika ada key yang sama, akan di override oleh nilai dari another_hash.


Nah itu aja materi yang gw kasih tentang dasar dasar Ruby >_<

Maap kalo GK lengkap :)

Saya pamit :)

Assalamualaikum


Copyright@D1ksec

Komentar

Postingan Populer