Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
STRUKTUR DATA
2
CONTROL STRUCTURES SEQUENTIAL/ URUTAN BRANCHING/ PERCABANGAN
Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan statemen selanjutnya LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu masih terpenuhi
3
Sequential/Urutan Action 1 Action 2 Action 3 Entry Exit
4
Branching Entry Condition 1 Action 1 Condition 2 Action 3 Action 2
Exit TRUE FALSE
5
IF - ELSE Biasa digunakan untuk seleksi nilai/ data
Kondisi jamak ((kondisi_1) &&/ || (kondisi_2)) if (kondisi=TRUE) jalankan_statement_ini if (kondisi=TRUE) statement_1 else statement_2 // if kondisi=FALSE else if (kondisi=TRUE) statement_2 else statement_3 // if kondisi=FALSE if (kondisi=TRUE) if (kondisi=TRUE) nested_statement
6
If - else If syntax If Else Syntax If Else If Syntax
if var == 10 print “Variable is 10″ end If Else Syntax if var == 10 print “Variable is 10″ else print “Variable is something else” end If Else If Syntax Here’s the key difference between Ruby and most other languages. Note that “else if” is actually spelled “elsif” without the e. if var == 10 print “Variable is 10″ elsif var == “20″ print “Variable is 20″ else print “Variable is something else” end
7
SWITCH - CASE Biasa digunakan untuk membuat menu dalam program
switch (variabel_pilihan) { case nilai_1 : statemen_1; break; case nilai_2 : statemen_2; break; case nilai_3 : statemen_3; break; … default: statemen_default; } Bisa berbentuk nested/ bersarang
8
Switch case Switch Case syntax [variable = ] case when bool_condition
statements else # the else clause is optional\ end
9
Looping Action 1 Action 2 Action 3 Entry Exit if 1 if 2 Looping 1
10
Looping dengan “while”
x=10 #initialize a loop counter variable while x>= 0 do #Loop while x is greater than/equal to 0 puts x #Print out the value of x x=x-1 #Subtract 1 from x end #The loop ends here
11
Looping dengan “until”
#Count back up to 10 x=0 until x>10 do puts x x=x+1 end
12
Looping dengan “for in”
array=[1,2,3,4,5] for element in array puts element end
13
Function or Method Sekelompok blok kode yang memiliki parameter dan berasosiasi dengan 1 atau lebih objek Contoh method: # Define a method named 'factorial' with a single # parameter 'n' def factorial(n) if n < 1 # Test the argument value for validity raise "argument must be > 0" elsif n == # If the argument is 1 1 # then the value of the method invocation is 1 else # Otherwise, the factorial of n is n times n * factorial(n-1) # the factorial of n-1 end
14
Method with return value
def factorial(n) raise "bad argument" if n < 1 return 1 if n == 1 n * factorial(n-1) end
15
Method with more than 1 return values
#Convert the Cartesian point (x,y) to #polar (magnitude, angle) coordinates def polar(x,y) return Math.hypot(y,x), Math.atan2(y,x) end Contoh lain: # Convert polar coordinates to Cartesian coordinates def cartesian(magnitude, angle) [magnitude*Math.cos(angle), magnitude*Math.sin(angle)] Cara pemanggilan method: distance,theta=polar(x,y) x,y=cartesian(distance,theta)
16
Tipe Data Abstrak (Abstract Data Type – ADT)
ADT adalah model formal dari struktur data yang menspesifikasikan: Tipe data yang disimpan Operasi yang dapat dilakukan Tipe parameter dari operasi tersebut ADT menspesifikasikan operasi apa yang dapat dilakukan, bukan bagaimana melakukan operasi tersebut
17
ADT Objek pada Ruby adalah sebuah abstraksi.
Tingkat abstraksi meliputi: atribut (nama, alamat, nilai, masa hidup, cakupan, tipe, dan ukuran) Contoh ADT: Fixnum Jika kita membuat objek, x, bertipe Fixnum, kita tahu bahwa x dapat merepresentasikan integer dalam range [-231, 231-1] dan kita dapat melakukan operasi penambahan, pengurangan, perkalian, dan pembagian Kita tidak perlu tahu bagaimana cara yang dilakukan Fixnum untuk melakukan operasi tersebut, hanya perlu tahu operasi apa yg ada pada Fixnum
18
Cakupan ADT Struktur linier: Tree Heap Priority Queue Hash-table Set
Stack Queue Deque List Tree Heap Priority Queue Hash-table Set String Graph
19
Contoh abstract class class Animal def initialize end def move
class Cheetah < Animal def initialize @type = :Cheetah end def move "Running!" puts Cheetah.new.move # => "Running!"
20
Contoh concrete class class Die def roll 1+rand(6); end # akhir method roll end # akhir class Die dice=Die.new; puts dice.roll ]
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.