Konsep Bahasa Pemograman -Bab 4-Data Type

BAB 4

Data Type

Data type menjelaskan kumpulan objek data dan sebuah set operasi yang telah ditetapkan pada objek tersebut. Descriptor adalah kumpulan atribut dari sebuah variabel.Sebuah objek mewakili tipe user-defined (data abstrak).

  1. Primitive Data Types

Tipe data primitive adalah Tipe data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive adalah tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.

Dalam PHP tipe data tidak dideklarasikan oleh programmer akan tetapi ditentukan secara otomatis oleh Intepreter PHP. Jadi anda tidak perlu deklarasikan tipe data tersebut jika ingin memberikan nilai pada suatu variabel.

Ada 8 macam tipe data pada PHP, diantaranya :

     1.1 Integer

Tipe data integer adalah tipe data yang berguna untuk menyimpan bilangan bulat, bukan desimal. Sebagai contoh (1),(2),(3),(4),(5),(-1),(-2),(-3),(-4) dan lain-lain. Tipe data ini memiliki range antara -2,147,483,648 sampai dengan +2,147,483,648 platform 32bit.

Namun bila terdapat data diluar jangkauan tersebut, maka secara otomatis PHP akan mengkonversikannya ke dalam tipe data Floating Point.

Integer merupakan Tipe Data yang berisikan bilangan bulat negatif dan positif atau tanpa ada nilai pecahan.Tipe ini juga dapat dinyatakan dalam bentuk oktal (berbasis 8), desimal (berbasis 10), heksadesimal (berbasis 16). Seperti dalam contoh berikut :

$oktal = 031;

$desimal = 25;

$heksadesimal = 0×10;

1.2. Double Floating

Tipe data floating point numbers biasa juga disebut dengan “double”, ” float” atau “real” adalah tipe data yang berguna untuk menyimpan bilangan desimal. Sebagai contoh (0.1),(1.3),(1.7),(1.8),(9.7),(2.4) dan lain-lain.

Contoh penulisannya :

<?php

$a = 1.234;

$b = 1.2e3;

$c = 2E-6;

$d = 1.2E8;

?>

       1.3.  Boolean

Tipe Data ini adalah tipe data yang paling sederhana. Hanya berupa true atau false. Cara memasukan ke dalam variabel adalah dengan memberikan nilai true atau falsepada variabel tersebut. Penulisannya tidak dipengaruhi penggunaan huruf besar atau kecil.

Contoh penulisannya :

<?php

$a = TRUE; // bernilai 1

$b = true; // bernilai 1

$c = FALSE; // bernilai 0

$d = false; // bernilai 0

?>

Setiap Tipe Data dalam PHP mempunyai Boolean untuk melakukan seleksi kondisi. dan Tipe Data tersebut akan memberikan nilai true atau false pada seleksi kondisi tersebut.

  • Pada Variabel yang bertipe Data integer=0 (nol) mempunyai boolean false, selain itu true.
  • Pada Variabel yang bertipe Data float=0.0 (nol) mempunyai boolean false, selain itu true.
  • Pada Tipe Data string yang kosong, dan string=”0″ mempunyai boolean false,selain itu true.
  • Array yang tidak mempunyai element mempunyai boolean false, selain itu true.
  • Objek yang tidak mempunyai member mempunyai boolean false, selain itu true.
  • Tipe NULL dan Variabel yang belum terisi mempunyai boolean false.

 

1.4.   String

String adalah sebuah tipe data yang terdiri dari kata, bisa berupa kata tunggal maupun kalimat. Penulisan string harus diapit oleh tanda petik, baik petik tunggal(‘ ‘) maupun petik ganda (” “)

Contoh penulisan tipe data string :
<?php

$kata1 = ‘string diapit petik tunggal’;

$kata2 = “string diapit petik ganda”;

?>

Perbedaan antara petik ganda dan petik tunggal adalah, ketika kita menggunakan petik tunggal maka variabel tidak akan terbaca nilainya. Beda halnya dengan penggunaan petik ganda yang akan membaca nilai dari suatu variabel.

Lebih spesifiknya :

<?php

$kata = “Haloo Berooo”;

echo ‘nama saya adalah $kata’;

//jika menggunakan tanda petik tunggal browser

//akan menampilkan $kata

echo “nama saya adalah $kata”;

//jika menggunakan tanda petik tunggal browser

//akan menampilkan Haloo Beroo

?>

Jika string yang tertutup dalam tanda kutip ganda (” “), PHP akan menafsirkan escape sequence lebih untuk karakter khusus. Maka penulisan untuk karakter khusus tersebut harus ditambahkan slash didepan karakter tersebut.

 

1.5.   Objek

Tipe data object dibuat dengan tujuan agar para programmer terbiasa dengan OOP. Tipe data object bisa berupa bilangan, variabel atau fungsi. Data ini dapat dimasukkan ke dalam kode program sehingga meringkas beberapa fungsi dan memperkecil ukuran file.

Agar lebih mudah dapat menggunakan variabel dengan nilai string :

class Nama

{

var $jenis = “Beroo Haloo”;

function ganti_nama($jenis)

{

$this->jenis = $jenis;

}

}

$nama = new Nama;

echo $nama->jenis;

$nama->ganti_nama(“Haloo Beroo”);

echo “<br>”.$nama->jenis;

 

Hasilnya :

Beroo Haloo

Haloo Beroo

 

1.6.   Array

Array atau Larik merupakan Tipe Compound Primitif, terdapat pada bahasa-bahasa pemrograman lain.Tipe data array digunakan untuk menyimpan banyak data dalam satu variabel. Jenis array dalam php ada 3 (tiga) macam yakni :

  • Numeric Array

<?php

$hari[0]=”Senin”;

$hari[1]=”Selasa”;

$hari[2]=”Rabu”;

$hari[3]=”Kamis”;

$hari[4]=”Jum’at”;

$hari[5]=”Sabtu”;

$hari[6]=”Minggu”;

//menampilkan tanpa perulangan.

echo “sekarang adalah hari $hari[3] <br />” ;

//menampilkan menggunakan perulangan

for($i=0;$i<=6;$i++){

echo $hari[$i].”<br/>”;

}

?>

Pada contoh numeric array diatas dapat disimpulkan bahwa pemanggilan data array tersebut menggunakan angka, angka dimulai dari 0 sampai jumlah data yang dimasukkan. $hari[0] adalah pemanggilan untuk data pertama, $hari[1] adalah pemanggilan untuk data kedua dan seterusnya.

  • Associative Array

<?php

$hari = array(“Senin”=>”Ayam”,”Selasa”=>”Lele”,

“Rabu”=>”Tempe”,”Kamis”=>”Tahu”,

“Jum”at”=>”Teri”,”Sabtu”=>”Krupuk”,”Minggu”=>”Puasa”);

//menampilkan tanpa perulangan.

echo “Menu hari senin adalah $hari[Senin]” ;

?>

Pada contoh associative array diatas dapat disimpulkan bahwa pemanggilan data array tersebut menggunakan string yang ditentukan oleh kita, dengan kata lain pemanggilan menggunakan angka kita ganti menjadi string yang kita inginkan.

 

  • Multidimensional Array

Pengertian multidimension array adalah array didalam array. Pemanggilan array ini bisa menggunakan numeric array maupun associative array. $makan[0][“pagi”] dapat diartikan sebagai menampilkan nilai array pertama dan array pagi dari variabel makan, $makan[“senin”][“pagi”] dapat diartikan sebagai menampilkan nilai array senin dan array pagi dari variabel makan.

<?php

$makan = array(

array(“pagi”=>”bubur”,”siang”=>”ayam”,”sore”=>”bebek”),

array(“pagi”=>”bubur”,”siang”=>”tahu”,”sore”=>”tempe”)

);

//menampilkan tanpa perulangan.

echo “Menu makan pada hari senin pagi adalah ” . $makan[0][“pagi”];

echo “<br />”;

echo “Menu makan pada hari senin pagi adalah ” . $makan[1][“sore”];

?>

 

1.7.   Null

NULL adalah Tipe Data yang tidak memuat apapun. Setiap Variabel yang diset menjadi Tipe Data NULL ini akan menjadikan Variabel tersebut kosong, seperti dalam penggunaan fungsi unset(). Cara untuk menset Variabel menjadi NULL adalah dengan memasukan nilai NULL pada variabel yang dimaksud seperti pada

Contoh berikut:

<?php

# Nilai awal $foo adalan 10

$foo = 10;

# $foo akan menjadi NULL

$foo = NULL;

# Sama dengan memanggil unset()

unset($foo);

?>

 

      1.8.   Resources

Tipe Data Spesial yang satu ini di khususkan untuk menyimpan resource, sumber atau alamat. Variabel tersebut hanya dapat diciptakan oleh suatu fungsi khusus yang mengembalikan nilai berupa resource seperti penggunaan fungsi fopen, opendir, mysql_connect, mysql_query dan semacamnya.

 

2.Character String Types

Dalam bahasa PHP Tipe data string adalah tipe data yang berisi text, kalimat, atau kumpulan karakter. Sebagai contoh, “a”, “saya sedang belajar PHP” atau “tUT0r1al pHp?!” semuanya adalah string.PHP menyediakan 4 cara penulisan tipe data string, yakni Single Quoted, Double Quoted, Heredoc, dan Nowdoc.

  1. Penulisan Tipe Data String dengan Single Quoted

Penulisan tipe data string menggunakan single quoted atau tanda petik satu (karakter ‘) merupakan cara penulisan string yang paling sederhana. Kita tinggal membuat sebuah kata atau kalimat, dan menambahkan tanda petik satu di awal dan akhir kalimat.

Untuk string yang didalamnya juga terdapat tanda petik satu, kita harus mendahuluinya dengan karakter backslash (\) agar tidak dianggap sebagai penutup string. Dan jika di dalam string anda ingin menulis tanda backslash, kita harus menulisnya dengan 2 kali (\\).Berikut adalah contoh penulisan tipe data string menggunakan metode single quoted:

<?php

$string1=’Ini adalah string sederhana’;

 

$string2=’Ini adalah string

yang bisa memiliki beberapa

baris’;

$string3=’Dia berkata: “I\’ll be back”‘;

$string4=’Anda telah berhasil menghapus C:\\xampp\\htdoc’;

$string5=’Kalimat ini tidak akan pindah ke: \n baris baru’;

$string6=’Variabel juga tidak otomatis ditampilkan $string1 dan $string3′;

 

echo $string1; echo “<br>”;

echo $string2; echo “<br>”;

echo $string3; echo “<br>”;

echo $string4; echo “<br>”;

echo $string5; echo “<br>”;

echo $string6;

?>

 

 

2. Penulisan Tipe Data String dengan Double Quoted

Cara kedua dalam penulisan tipe data string dalam PHP adalah dengan menggunakan Double Quoted atau tanda petik dua (karakter “). Walaupun seperti tidak ada perbedaan dengan menggunakan single quote, hasil yang di dapat akan sangat berbeda.

Dengan double quoted, PHP akan memproses karakter-karakter khusus seperti carriage return (\n), dan karakter tab (\t) dan juga memproses setiap variabel (yang ditandai dengan tanda $ didepan kata).

Di karenakan metode double quoted melakukan pemrosesan terlebih dahulu, maka untuk menampilkan karakter khusus seperti tanda petik (karakter ‘), tanda dollar (karakter $) dan tanda-tanda khusus lainnya, kita harus menggunakan backslash (karakter \). Berikut adalah contoh penulisan tipe data string menggunakan metode double quoted:

<?php$string1=”Ini adalah string sederhana”;$string2=”Ini adalah stringyang bisa memiliki beberapabaris”;$string3=”Dia berkata: \”I’ll be back\””;$string4=”Anda telah berhasil menghapus C:\\xampp\\htdoc”;$string5=”Kalimat ini akan akan pindah ke: \n baris baru”;$string6=”Variabel akan otomatis ditampilkan: $string1 dan $string3″; echo $string1; echo “<br \>”;echo $string2; echo “<br \>”;echo $string3; echo “<br \>”;echo $string4; echo “<br \>”;echo $string5; echo “<br \>”;echo $string6;?>

Perhatikan perbedaannya pada hasil $string3, $string5 dan $string6. Pada $string3, kita harus mem-blackslash tanda petik dua karena itu merupakan karakter khusus dalam double quoted string.

Pada $string5, tanda \n yang merupakan karakter khusus untuk baris baru, tapi karena kita menampilkannya di browser, karakter ini tidak akan terlihat, tetapi jika kita menulis hasil string ini kedalam sebuah file text, kalimat tersebut akan terdiri dari 2 baris.

Pada $string6, terlihat bahwa string dengan petik dua akan memproses variabel $string1 dan $string3 sehingga tampil hasilnya di web browser. Fitur ini akan sangat bermanfaat jika kita sering menampilkan variabel didalam sebuah string.

3. Penulisan Tipe Data String Dengan Heredoc

Cara penulisan tipe data string yang ketiga yaitu dengan fitur PHP yang disebut heredoc. Fitur ini digunakan untuk membuat tipe data string yang dapat berisi beberapa baris kalimat. Dibandingkan dengan menggunakan single quote dan double quote, pembuatan string dengan heredoc tidak terlalu sering digunakan.

Agar lebih jelas, berikut adalah contoh penulisan tipe data string dengan heredoc:

<?php$IPK=3.9;$string1 = <<<endSaya sedang belajar PHPdi duniailkom.com <br />Kali ini tentang pembahasanmengenai “PHP”, <br /> dan berharapbisa dapat IPK $IPK :)end;echo $string1;?>

Seperti yang terlihat dari contoh diatas, fitur Heredoc ditandai dengan tanda “<<<” untuk memulai string, lalu diikuti dengan karakter penanda akhir string. Dari contoh tersebut kata “end” pada awal string adalah penanda akhir string. Anda bebas mengganti kata “end” dengan kata atau karakter lain, sepanjang kata tersebut bisa dijamin tidak akan muncul didalam string.

Setelah karakter penanda string, baris pertama setelahnya adalah awal dari string. String ini dapat mencakup beberapa baris, sampai ditemukan karakter penanda akhis string yang kita definisikan di awal (yaitu kata “end”). Setelah ditemukan karakter penanda akhir string, maka pendefenisian string berakhir.

Perhatikan juga bahwa di dalam kalimat diatas, kita menggunakan karakter \n dan variabel $IPK. Seluruh karakter ini diproses oleh PHP, sehingga mirip dengan fitur double quoted string.

4. Penulisan Tipe Data String Dengan Nowdoc

Cara penulisan tipe data keempat dalam PHP yaitu dengan fitur Nowdoc. Fitur ini hampir sama dengan Heredoc, namun dengan pengecualian: karakter khusus dan variabel tidak akan diproses oleh PHP, atau mirip dengan single quoted string.

Berikut adalah contoh penulisan tipe data string menggunakan metode Nowdoc:

<?php$IPK=3.9;$string1 = <<< ‘selesai’Saya sedang belajar PHPdi \n duniailkom.com <br />Kali ini tentang pembahasanmengenai “PHP”, <br /> dan berharapbisa dapat IPK $IPK :)selesai; echo $string1;?>

Jika dilihat sekilas, tidak ada perbedaan cara penulisan metode nowdoc dengan heredoc, namun perhatikan karakter penanda akhir string. Kali ini kita menggunakan karakter ‘selesai’ sebagai penanda akhir string. Dan yang membedakannya dengan heredoc adalah, nowdoc menambahkan single quoted untuk karakter penanda akhir string. Kita menulis ‘selesai’ (dengan tanda kutip satu) untuk mengawali string.

Dari tampilan yang dihasilkan, nowdoc memproses string sama dengan single quoted string, dimana karakter khusus dan variabel tidak diproses sama sekali, sehingga dalam tampilan akhir anda dapat melihat tanda \n dan variabel $IPK ditulis sebagai string.

3.User-Defined Ordinal Types

Tipe data ordinal adalah satu dari sekian jangkauan nilai yang dapat dengan mudah di hubungkan dengan sekumpulan integer – integer positif.
Secara umum ada dua jenis tipe data ordinal :

  1. Tipe enumerasi adalah sebuah kumpulan nilai pasti seperti nama konstan yang tersedia dan disebut satu-persatu dalam definisi. Fungsinya untuk memudahkan dalam tipe data grup. Enumeration typediimplementasikan sebagai

Contoh pada bahasa C# :

 

enum days {mon, tue, wed, thu, fri, sat, sun};

 

  1. Tipe subrange diimplementasikan sebagai bagian dari tipe data lain dan berada dalam sebuah jangkauan yang telah di tetapkan oleh programmer. Subrange typesdiimplementasikan

seperti tipe parent dengan kode dimasukkan (oleh kompiler) untuk membatasi tugas untuk

subrange variabel

Contoh pada bahasa Ada :

type Days is (mon, tue, wed, thu, fri, sat, sun);

subtype Weekdays is Days range mon..fri;

subtype Index is Integer range 1..100;

Day1: Days;

Day2: Weekday;

Day2 := Day1;

4.Array Types

Array adalah kumpulan dari beberapa elemen sejenis dari elemen data yang masing-masing elementnya dapat diidentifikasi dari posisinya (index)pada kumpulan data yang terkait pada elemen pertama.Indexing adalah pemetaan dari penunjuk ke elemen data.Contoh array dan indexing dalam bahasa pemograman PHP adalah :

<?php

$cars = array(“Volvo”, “BMW”, “Toyota”);

echo “I like ” . $cars[0] . “, ” . $cars[1] . ” and ” . $cars[2] . “.”;

?>

 

 

Slice adalah beberapa substruktur dari sebauh array dan tidak lebih dari sebuah mekanisme referensi dan hanya berfungsi baik pada bahasa pemograman yang memeliki operasi array.Contoh pada bahasa pemograman Phyton:

vector = [2, 4, 6, 8, 10, 12, 14, 16]                                       vector (3:6) is a three-element array                                                mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]                                      mat[0][0:2] is the first and second element of the first row of mat

 

Subscript Binding and Array Categories

–          Static = rentang subscript yang statis terikat dan alokasi penyimpanan statis (dilakukan

sebelum run time).Contohnya pada bahasa C dan C++.

–          Fixed stack-dynamic = rentang subscript yang statis terikat, namun alokasi dilakukan pada

saat deklarasi elaborasi selama eksekusi.Contoh pada bahasa

pemograman C#.

–          Stack-dynamic = rentang subscript dan alokasi penyimpanan dinamis terikat pada

waktu elaborasi. Contohnya pada bahasa C dan C++.

–          Fixed heap-dynamic = rentang subscript dan storage binding keduanya tetap, setelah

penyimpanan dialokasikan. Contohnya pada bahasa C dan C++.

–          Heap-dynamic = pengikatan rentang subscript dan alokasi penyimpanan dinamis dan dapat

berubah beberapa kali selama seumur hidup array. Contohnya pada bahasa

C dan C++,Perl,JavaScript,Phython dan Ruby.

Tipe-tipe array :

  1. Heterogeneous Array
  • Heterogeneous array adalah satu di mana unsur-unsur tidak perlu dari jenis yang sama.
  • Rectangular array adalah array multidimensional di mana semua baris memiliki jumlah yang sama elemen dan semua kolom memiliki jumlah yang sama dari elemen.Array Rectangular bermodelkan meja persegi panjang. jagged array adalah di mana panjang dari baris tidak perlu menjadi sama. Sebagai contoh, sebuah matriks jagged dapat terdiri dari tiga baris, satu dengan 5 elemen, satu dengan 7 elemen, dan satu dengan 12 elemen.

            Heterogeneous Array hanya terdapat dalam bahasa pemograman Perl, Python, JavaScript,

and Ruby

 

  1. Associative Array

Associative Arrays adalah koleksi tak berurut elemen data yang diindeks oleh jumlah yang sama nilai-nilai yang disebut key.Contoh pada bahasa pemograman PHP :

 

<?php
$age = array(“Peter”=>”35”, “Ben”=>”37”, “Joe”=>”43”);
echo “Peter is ” . $age[‘Peter’] . ” years old.”;
?>

 

  1. Tipe Record

Tipe Record adalah kumpulan elemen data yang masing-masing elemen dapat dikenali dengan nama.Contoh penggunaan tipe record pada pemograman bahasa COBOL,pengunaannya pada bahasa Java dan C# didefinisikan sebagai data kelas dengan perulangan record  juga dianggap sebagai nested class :

 

employee.name =”Freddie”

employee.hourlyRate=13.20

Pernyataan assignment membentuk table (record) dengan nama employee dan dengan 2 elemen name and hourlyRate yang telah diinialisasi.

  1. Tipe Tuple

Tipe Tuple adalah tipe data yang sama dengan tipe data record ,namun tidak pemberian nama pada elemen.Contoh pada bahasa pemograman F# :

let tup = (3, 5, 7)                                                    let a, b, c = tup  This assigns a tuple to a tuple pattern (a, b, c)

 

  1. Tipe List

Lists pertama kali didukung dalam bahasa pemrograman fungsional pertama, LISP.Pada bahasa pemograman LISP penggunaan list  di batasi dengan kurung dan tidak menggunakan koma ,seperti :

 

(A B C D)  atau (A (B C) D)

 

Sedangkan dalam bahasa pemograman PHP,list adalah menetapkan seolah-olah mereka adalah array. Seperti array (), ini bukan fungsi, tetapi “language construct”. list () digunakan untuk menetapkan daftar variabel dalam satu operasi.Contoh penggunaan tipe list pada bahasa pemograman PHP :

 

<?php                                                                     $info = array(‘coffee’, ‘brown’, ‘caffeine’);                       // Listing all the variables                                         list($drink, $color, $power) = $info;                                                     echo “$drink is $color and $power makes it special.\n”;

// Listing some of them                                                       list($drink, , $power) = $info;                                                   echo “$drink has $power.\n”;

// Or let’s skip to only the third one                                               list( , , $power) = $info;                                                          echo “I need $power!\n”;

// list() doesn’t work with strings                                            list($bar) = “abcde”;                                               var_dump($bar); // NULL                                                        ?>

  1. Tipe Union

Union adalah jenis yang variabel dapat menyimpan nilai-nilai berbagai jenis di berbagai kali selama pelaksanaan program.Tipe union biasa dipakai pada bahasa pemograman C,C++,F#,dan Ada. Sebagai contoh kebutuhan untuk jenis union,

mempertimbangkan tabel konstanta untuk compiler, yang digunakan untuk menyimpan

konstanta ditemukan dalam program yang dikompilasi.Contoh penggunaan union pada bahasa C :

union flexType {

 int intel;

float  floatEL;

};

union flexType el1;

float x;

….

el1.intEL=27;

x=el1.floatEL;

 

  1. Tipe Pointer dan Reference

Tipe pointer dalah satu di mana variabel memiliki rentang nilai yang terdiri alamat memori dan nilai khusus, nil. Nilai nil bukan alamat yang valid dan digunakan untuk menunjukkan bahwa pointer saat ini tidak dapat digunakan untuk referensi sel memori. Tipe pointer menyediakan cara untuk mengurus memori dinamis dan indirect addressing.Sebuah pointer dapat digunakan untuk mengakses lokasi dimana penyimpanan dibentuk secara dinamis yang disebut heap.Dalam PHP, tidak ada pointer, hanya ada penggunaan tipe references.

 

 

Tipe reference mirip dengan pointer, dengan perbedaan mendasar: Sebuah pointer mengacu ke alamat di memori, sementarareferensi mengacu pada suatu objek atau nilai dalam memori. Akibatnya, meskipun itu natural untuk melakukan aritmatika pada alamat, tidak masuk akal untuk melakukan aritmatika pada referensi.Referensi dalam PHP merupakan sarana untuk mengakses variabel konten yang sama dengan nama yang berbeda.

 

Assign by reference

Referensi PHP memungkinkan Anda untuk membuat dua variabel merujuk pada konten yang sama. Artinya, ketika Anda lakukan:

 

<?php

$a =& $b;

?>

 

itu berarti bahwa $ a dan $ b dengan isi yang sama.

Note:$ a dan $ b adalah sama di sini. $ a tidak menunjuk ke $ b atau sebaliknya. $ a dan $ b yang menunjuk ke tempat yang sama.

 

  • Passing by reference / passing dengan referensi

 

<?php

function foo(&$var)

{

$var++;

}

$a=5;

foo($a);

// $a is 6 here

?>

 

Tidak ada tanda referensi pada fungsi call – only pada definisi fungsi. Definisi fungsi saja sudah cukup benar untuk lulus argumen dengan referensi. Pada PHP 5.3.0, Anda akan mendapatkan peringatan yang mengatakan bahwa “call-time pass-by-reference” sudah ditinggalkan ketika anda menggunakan & di foo(& $ a);. Pada PHP 5.4.0, “call-time pass-by-reference” telah dihapus, jadi menggunakan itu akan meningkatkan fatal eror/kesalahan fatal.

 

  • Returning references / kembali referensi

Returning by reference berguna saat Anda ingin menggunakan fungsi untuk menemukan yang variabel referensi harus terikat. Jangan menggunakan return-by-reference untuk meningkatkan kinerja.

 

  • Unsetting references

Ketika Anda Unset References, Anda hanya memecahkan ikatan antara nama variabel dan isi variabel. Ini tidak berarti bahwa konten variabel akan hancur. Sebagai contoh:

 

<?php

$a = 1;

$b =& $a;

unset($a);

?>

Tidak akan unset $b, hanya $a. Hal ini mungkin berguna untuk berpikir tentang hal ini sebagai analog dengan Unix panggilan unlink.

 

  • Spotting references

Banyak konstruksi sintaks dalam PHP dilaksanakan melalui mekanisme referensi, jadi segala sesuatu yang disebutkan di sini tentang referensi mengikat juga berlaku untuk konstruksi ini. Beberapa konstruksi, seperti lewat dan kembali dengan referensi, yang disebutkan di atas. konstruksi lain yang menggunakan referensi adalah:

–           Global references

Ketika Anda mendeklarasikan variabel sebagai $ var global yang Anda sebenarnya menciptakan referensi ke variabel global. Itu berarti, ini adalah sama dengan:

 

<?php

$var =& $GLOBALS[“var”];

?>

 

Ini juga berarti bahwa unsetting $ var tidak akan unset variabel global.Dalam metode objek,  $this selalu referensi ke objek pemanggil.

5.Type Checking

Type checking adalah aktivitas dalam memastikan bahwa operand dan operator yang dipakai telah sesuai saat compile-time maupun run-time merupakan tipe kompatibel. Type checking membantu mengurangi kemungkinan adanya bug dalam suatu program pada computer dan memastikan bahwa bagian – bagian dari program tersebut tetap terhubung.

Jika sebuah spesifikasi sebuah bahasa memiliki peraturan penulisan yang kuat dan selalu mendeteksi error dalam penulisan maka bahasa tersebut adalah bahasa yang kuat (Strongly Typed Language). Akan tetapi jika tidak, maka bahasa tersebut adalah bahasa yang lemah (Weakly Typed Language). Tipe kompatibel adalah salah satu yang legal bagi operator, atau diperbolehkan di bawah aturan bahasa yang akan dikonversi secara implisit, dengan kode compiler yang dihasilkan, untuk tipe legal. Konversi otomatis ini disebut coercion.

Data dapat dikatakan cocok apabila legal bagi operator atau diperbolehkan oleh peraturan bahasa untuk dikonversi secara implisit oleh compiler-generated code menjadi sebuah tipe data yang legal. Kecocokan data sangat penting dalam konversi dan operasi. Dua tipe data dikatakan cocok jika mereka memiliki tipe data yang sama.
Ada dua cara untuk mencocokan tipe – tipe data :

  1. Kecocokan berdarsarkan tipe, dimana dua variable dapat dikatakan cocok jika dan hanya jika mereka dideklarasi secara bersamaan atau dideklarasi menggunakan tipe data yang sama.
  2. Kecocokan berdarsarkan struktur, dimana dua variable dikatakan cocok apabila keduanya memiliki struktur data yang identic.

Type error adalah cara implementasi yang salah dari operator kepada operand. Jika semua tipe binding static, maka hampir semua type checking bersifat static. Jika tipe binding dynamic, maka hampir semua type checking akan bersifat dynamic.

 

Oleh Kelompok 12

Referensi :

 

Leave a Reply

Your email address will not be published. Required fields are marked *