Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR DATA.

Presentasi serupa


Presentasi berjudul: "STRUKTUR DATA."— Transcript presentasi:

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 ]


Download ppt "STRUKTUR DATA."

Presentasi serupa


Iklan oleh Google