Swift : Function

Bagi yang sudah pernah belajar matematika fungsi dan relasi tentu kita ingat definisi fungsi di bawah ini:

Fungsi adalah suatu "kotak hitam" yang memetakan dari domain (x) ke kodomain (f(x)). Dalam pemrograman, fungsi juga seperti itu, di mana x adalah input parameter dan f(x) adalah return/output parameter.

Menggunakan (memanggil) Fungsi

Dalam swift, sudah tersedia banyak fungsi yang bisa kita gunakan, contohnya fungsi dalam matematika seperti sqrt(), sin(), cos(), min(), dll. Cara menggunakannya juga cukup sederhana. Pertama Import Foundation (class dasar yang berisi fungsi-fungsi dasar seperti sqrt()

import Foundation

let a = 1.2
let b = sqrt(a)
let c = min(1,2)

Fungsi dalam pemrograman dapat menerima beberapa input parameter sekaligus seperti pada contoh di atas let c = min(1,2) yang akan menerima dua bilangan sebagai input dan membandingkan keduanya untuk mencari bilangan terkecil

Fungsi juga bisa saja tidak menerima input parameter atau bahkan tidak mengembalikan suatu return apapun. Dalam hal fungsi yang tidak mengembalikan return, kita bisa sebut fungsi tersebut sekedar procedure.

Membuat (Mendeclare) Fungsi

Ada kalanya fungsi yang kita inginkan tidak tersedia di swift, misalnya fungsi phytagoras. Dalam hal ini kita bisa membuat sendiri fungsi tersebut sebagai berikut:

// Playground - noun: a place where people can play

import Foundation

//declarae fungsi kwadrat

func kwadrat(a:Int) ->Int {
    let b = a * a
    return b
}

let x = 3
let y = kwadrat(x)

println(y)

Fungsi "kwadrat" di atas akan menerima input parameter sebuah bilangan bulat dan akan mengembalikan kwadrat dari bilangan tersebut. Dalam contoh di atas kwadrat(3) adalah 9

Contoh berikut menggunakan dua input parameter yang keduanya bertipe Double dan mengembalikan satu bilangan tipe Double

import Foundation

func pitagoras(a:Double, b:Double)->Double {
    let c = sqrt(a * a + b * b)
   
    return c
}

let x=3.0
let y=4.0
let z = pitagoras(x, y)

Fungsi juga bisa mengembalikan beberapa nilai sekaligus. Dalam hal ini, kita bungkus nilai-nilai tersebut sebagai tuple. Sebagai contoh, kita ingin membuat fungsi rumus abc, di mana kita masukan input parameter nilai-nilai a,b,dan c dan kemudian mengembalikan nilai x1 dan x2

import Foundation


func rumusABC(a:Double, b:Double, c:Double)->(Double?,Double?) {
    let D = b*b - 4*a*c
   
    var x1,x2:Double?

    x1 = nil
    x2 = nil
   
    if D<0 {
        println("akar imajiner")
    } else
    {
        x1 = (-b - sqrt(D))/2/a
        x2 = (-b + sqrt(D))/2/a
       
       
    }
    return (x1,x2)
   
}

let a = 1.0, b = 2.0, c = -3.0
let akar = rumusABC(a, b, c)

Tugas : Buatlah fungsi untuk menghitung tekanan yang dihasilkan oleh suatu gaya F terhadap luas permukaan A. Kemudian hitunglah tekanannya bila Gaya = 10 Newton dan luas permukaan = 1 m2