Skip to content

3. Function pada TypeScript

Pada TypeScript, "function" mengacu pada sebuah fitur yang digunakan untuk mendefinisikan blok kode yang dapat dipanggil (dijalankan) dengan nama tertentu. Fungsi digunakan untuk mengelompokkan serangkaian pernyataan yang melakukan tugas tertentu atau menghitung nilai kembali (return value) yang kemudian dapat digunakan dalam program.

1. Function Declaration

//contoh function dengan return tipe data primitive

function sum1(x: number, y: number): number {
  return x + y;
}
function sum1_1(x: number, y: number): string {
  return `Hasil Penjumlahan dari ${x} + ${y} adalah ${x + y}`;
}

function sum1_2(x: number, y: number): boolean {
  if (x === y) {
    return true;
  } else {
    return false;
  }
}

//contoh function tanpa object

type Hasil = {
  angkatPertama: number;
  angkaKedua: number;
  hasil: number;
};

type Parameter = {
  x: number;
  y: number;
};
function sum2(x: number, y: number): Hasil {
  const z = x + y;
  return {
    angkatPertama: x,
    angkaKedua: y,
    hasil: z,
  };
}

function  (params: Parameter): Hasil {
  const { x, y } = params;
  const z = x + y;
  return {
    angkatPertama: x,
    angkaKedua: y,
    hasil: z,
  };
};

//contoh function dengan return tipe data any
function sum3(x: number, y: number): any {
  return x + y;
}

//contoh function tanpa return
function sum4(x: number, y: number): void {
  const z = x + y;
}

console.log(sum1(1, 2));
console.log(sum2(1, 2));

2. Arrow Function

//contoh function dengan return tipe data primitive

const sum1 = (x: number, y: number): number => {
  return x + y;
};
const sum1_1 = (x: number, y: number): string => {
  return `Hasil Penjumlahan dari ${x} + ${y} adalah ${x + y}`;
};

const sum1_2 = (x: number, y: number): boolean => {
  if (x === y) {
    return true;
  } else {
    return false;
  }
};

//contoh function tanpa object

type Hasil = {
  angkatPertama: number;
  angkaKedua: number;
  hasil: number;
};

type Parameter = {
  x: number;
  y: number;
};
const sum2 = (x: number, y: number): Hasil => {
  const z = x + y;
  return {
    angkatPertama: x,
    angkaKedua: y,
    hasil: z,
  };
};

const sum2_1 = (params: Parameter): Hasil => {
  const { x, y } = params;
  const z = x + y;
  return {
    angkatPertama: x,
    angkaKedua: y,
    hasil: z,
  };
};

//contoh function dengan return tipe data any
const sum3 = (x: number, y: number): any => {
  return x + y;
};

//contoh function tanpa return
const sum4 = (x: number, y: number): void => {
  const z = x + y;
};

console.log(sum1(1, 2));
console.log(sum2(1, 2));

3. Optional Parameter

Pada function yang kita buat, kita dapat memberikan optional parameter artinya parameter tsb boleh ada atau tidak pada function

function multiply(a: number, b: number, c?: number): number {
  if (typeof c !== "undefined") {
    return a * b * c;
  }
  return a * b;
}

console.log(multiply(1, 2, 3));
console.log(multiply(1, 2));

4. Default Parameter

Default parameter pada fungsi (default function parameter) adalah nilai yang diberikan sebagai nilai bawaan untuk parameter fungsi jika tidak ada nilai yang diberikan saat pemanggilan fungsi. Default parameter memungkinkan kita untuk menentukan nilai standar yang akan digunakan oleh parameter jika pengguna tidak menyediakan nilai untuk parameter tersebut.

Dalam JavaScript dan TypeScript, Anda dapat mendefinisikan default parameter dengan cara menentukan nilai default pada deklarasi fungsi. Saat fungsi dipanggil, jika parameter tersebut tidak diberikan nilai, maka nilai default yang telah ditentukan akan digunakan.

Contoh penggunaan default parameter dalam fungsi:

function applyDiscount(price: number, discount: number = 0.05): number {
  return price * (1 - discount);
}

console.log(applyDiscount(100)); // 95