Ayam Koding

Belajar Algoritme & Pemrograman

Perbedaan Variabel Global, Lokal, dan Statis Pada PHP

Updated on 2017-01-05

Pada tutorial kali ini kita akan membahas mengenai perbedaan variable global, local, dan static pada PHP. Pada bahasa pemrograman PHP, variabel dapat dideklarasikan pada bagian script manapun dari sebuah program.


Apa yang dimaksud scope variable…?

Pada PHP mempunyai cakupan (scope) dalam pengaksesan sebuah variabel. Scope variable (Ruang Lingkup Variabel) adalah bagian dari script dimana program masih bisa mengakses sebuah variabel. PHP memiliki 3 variable scope yang berbeda yakni local, global, dan static. Sehingga kita akan membahas mengenai perbedaan variable global, local, dan static pada pemrograman PHP.


Apa itu Global Scope Variable…?

Sebuah variabel dideklarasikan diluar function dan mempunyai global scope. Maka variabel tersebut hanya bisa diakses dari luar function tersebut. Anda bisa mencoba dengan kode dibawah ini:

 

<?php
  $x = 10; // variable global scope

  function myFungsi() {
  echo "<p>Nilai variable x didalam function adalah : $x</p>";
  //menggunakan x didalam function akan menghasilkan ERROR
  }
  myFungsi();

  echo "<p>Nilai variable x diluar function adalah : $x</p>";
?>

Output :

Perbedaan Variable Global, Local, dan Static


Apa itu Local Scope…?

Sebuah variabel dideklarasikan dengan menggunakan function mempunyai LOCAL SCOPE (variabel lokal) dan hanya dapat diakses didalam function tersebut. Anda bisa mencoba dengan kode dibawah ini:

<?php
  function myFungsi() {
  $x = 5; // variable local scope
  echo "<p>Nilai variable didalam function adalah : $x</p>";
  }
  myFungsi();

  echo "<p>Nilai variable diluar function adalah : $x</p>";
  //memanggil variable $x diluar function myFungsi akan menyebabkan ERROR
?>

Output :

Perbedaan Variable Global, Local, dan Static

Jadi, perbedaan keduanya (antara local dan global):
1. Local Scope –> variable hanya bisa diakses dari dalam function.
2. Global Scope –> variable hanya bisa diakses dari luar sebuah function.


Penggunaan ‘global’ Keyword pada PHP

Perintah kata “global” digunakan untuk mengakses sebuah variable global didalam function. Jadi Anda bisa mengakses variable yang telah dideklarasikan diluar function.

Contoh :

<?php
  $x = 10;
  $y = 2;

  function belajar_php(){
  global $x, $y; // deklarasi dengan global keyword
  $y = $x + $y; // penjumlahan x1 dan x2
  }

  belajar_php();
  echo $y; //outputnya 12

?>

Output :


Apa kegunaan dari $GLOBALS[index]…?

Sementara itu, pemrograman PHP juga menggunakan global variable dengan array disebut $GLOBALS[index]. index tersebut merupakan nama dari variable. Penggunaan array ini juga bisa diakses dari dalam function dan bisa digunakan untuk update global variable secara langsung.

<?php
  $x = 10;
  $y = 2;

  function belajar_php(){
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
  }

  belajar_php(); //calling function
  echo $y; //print variable y :: output = 12
?>

Output :


Apa Fungsi dari Keyword static pada PHP…?

Dalam keadaan normal, ketika sebuah function dieksekusi maka semua variable akan dihapus. Namun, kadang-kadang kita memerlukan agar nilai variable tidak dihapus. Anda bisa menambahkan keyword ‘static‘ sebelum mendeklarasikan variable. Supaya nilai variable tidak dihapus secara langsung.

Contoh:

<?php
  //function declaration
  function belajar_php() {
  static $x = 0; //menggunakan static
  echo "$x ";
  $x++;
  }

  belajar_php(); //calling function
  belajar_php();
  belajar_php();
  belajar_php();
  belajar_php();
?>

Output :

Hasil diatas terlihat bahwa menggunakan ‘static’, maka nilai variable akan tetap dipertahankan (tidak dihapus) dan tetap mengalami perulangan.

Jika tanpa menggunakan keyword ‘static’ maka variable yang ditulis akan dihapus dan diulang dari awal. Seperti pada kasus kode dibawah ini.

Contoh:

<?php
  function belajar_php() {
  $x = 0; // tanpa menggunakan static
  echo "$x ";
  $x++;
  }

  belajar_php(); //calling function
  belajar_php();
  belajar_php();
  belajar_php();
  belajar_php();
?>

Output: (nilainya dihapus dan dimulai dari 0 lagi)

Demikian tutorial pemrograman PHP mengenai perbedaan variable global, local, dan static. Pada tutorial selanjutnya kita akan membahas mengenai tipe data pada pemrograman PHP. Semoga informasi ini bermanfaat, terima kasih.