Wednesday, 22 February 2017

Materi Pewarisan

Ya ketemu lagi dengan saya. saya kembali akan membagikan ilmu, oke langsung aj dah ke Materi :

Sebelum berbicara lebih jauh mengenai Konsep OOP Inheritance pada Pemrograman JAVA , terlebih dahulu kita akan mengenal terlbih dahulu mengenai konsep dasar dari OOP itu sendiri.

I. PEMROGRAMAN BERORIENTASI OBJEK
OOP kepanjangan dari Object Oriented Programming atau biasa disebut dengan Pemrograman Berorientasi Objek . Paradigma pada pemrograman yang berorientasi objek didasari oleh istilah object ( Objek ) dan class ( Kelas )

OBJECT ( OBJEK )
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek, nah Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek , yaitu setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state. Dan Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour.

Sebagai contoh sederhana adalah : Manusia memiliki state: umur, tinggi, berat dan sebagainya. Demikian pula manusia memiliki behaviour: menua, meninggi, makan (menambah berat badan) dan sebagainya. Dalam pemrograman JAVA state bisanya dikatakan sebagai variabel dan behaviour adalah method.

II. KONSEP PEWARISAN (INHERITANCE ) PADA OOP
Sebagai Informasi bahwa Ciri khas Pemrograman Berorientasi Objek ada tiga hal yaitu:
1. Enkapsulasi ( Pembungkusan )
2. Inheritance ( Pewarisan )
3. Polymorphism ( Perbedaan Bentuk )

A. PENGERTIAN PEWARISAN (INHERITANCE)
Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.

Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.

Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.

Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga macan , kucing, Paus dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia.

Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja.

Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class macan, kucing, Paus dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing.

Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.


B. DEKLARASI PEWARISAN (INHERITANCE)

Deklarasi yang digunakan adalah dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.

public class B extends A {  }

Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.

public class A extends Object {  }

C. KAPAN KITA MENERAPKAN INHERITANCE?
Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class
yang dapat diperluas dari class lain.

Misal terdapat class Pegawai public class Pegawai { public String nama; public double gaji; }Misal terdapat class Manager public class Manajer { public String nama; public double gaji;public String departemen; }

Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data member departemen.

Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member departemen.

Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut :

public class Manajer extends Pegawai { public String departemen; }

D. KEUNTUNGAN INHERITANCE


1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada.

2. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
E. ISTILAH INHERITANCE

Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

Superclass Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.

Subclass Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass.

Methode Overriding Pendefinisian ulang method yang sama pada subclass
Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

E. CONTOH LATIHAN INHERITANCE :

class Kotak{
double sisi1;
double sisi2;
double sisi3;
Kotak(){
}
Kotak(double satu, double dua, double tiga){
sisi1=satu;
sisi2=dua;
sisi3=tiga;
}
public void CetakKotak(){
System.out.println(”Isi Kotak adalah = ” + sisi1 + sisi2 + sisi3);}
}
public class Kotakku extends Kotak{
double sisi1;
Kotakku(double pertama, double kedua, double ketiga, double tambahan)
{
super(pertama,kedua,ketiga);
sisi1=tambahan;
}
public static void main(String[] args) {
Kotakku Kotaksaya= new Kotakku(10,5,15,30);
Kotaksaya.CetakKotak();
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi1);
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi2);
System.out.println(”Sisi Pertama dari Kotak adalah = ” + Kotaksaya.sisi3);
}
}
maka jika dijalankan program diatas hasilnya akan seperti gambar di bawah ini :




Oke Sekian dulu dari yang bisa saya bagikan sampai jumpa lagi di lain kesempatan ~

Jika berkenan silahkan tinggalkan komentar ^_^

Materi Class dan Object

Ya ketemu lagi dengan saya. saya kembali akan membagikan ilmu, oke langsung aj dah ke Materi :

Class dan Object pada Pemrograman Java. Java adalah bahasa berorientasi objek. Sebagai bahasa yang memiliki fitur object oriented, Java mendukung konsep dasar berikut ini.
-Polymorphism
-Inheritance
-Encapsulation
-Abstraction
-Classes
-Objects
-Instance
-Method
-Message Parsing
Dalam artikel ini, Kita akan membahas konsep class dan object.
– Class merupakan suatu “Blueprint” atau “Cetakan” untuk menciptakan suatu instant dari object. Class juga merupakan grup suatu object dengan kemiripan attributes/properties, behavior dan relasi ke object lain. Contoh :Class Person, Vehicle, Tree, Fruit dan lainnya.
– Object adalah instance dari class secara umum merepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Contoh : Dari Class Fruit kita dapat membuat object Mangga, Pisang, Apel, dan lainnya.
Object Pada Java
Mari kita lihat lebih dalam apa itu object. Bila kita melihat dunia nyata kita dapat menemukan banyak benda disekitar kita seperti, mobil, kucing, manusia dan lain-lain. Semua object memiliki state(attribute) dan behavior. Jika kita melihat objek kucing, maka state (attribute) tersebut adalah nama, jenis, warna dan behavior(prilaku) tersebut adalah mengeong, bergoyang-goyang, berjalan. Jika Anda membandingkan objek pada software dengan objek dunia nyata, mereka memiliki karakteristik yang sangat mirip. Objek pada software juga memiliki state (Attribute) dan behavior, sebuah state pada objek software disimpan dalam bidang dan behavior ditunjukkan melalui method. Jadi dalam pengembangan software, method beroperasi pada keadaan internal suatu objek dengan komunikasi objek ke objek dilakukan melalui method.
Class Pada Java
Berikut contoh class dibawah ini:
public class cat{
   String breed;
   int age;
   String color;

   void miaow(){
   }
  
   void hungry(){
   }
  
   void sleeping(){
   }
}
Class dapat berisi salah satu jenis variabel berikut.
Variabel lokal : Variabel didefinisikan didalam method konstruktor atau blok disebut variabel lokal, variabel akan dideklarisasikan dalam method dan variabel akan dihancurkan ketika method telah selesai.
Variabel Instance : Variabel dalam class tetapi diluar method apapun, variabel ini dipakai ketika class dimuat. Variabel instance dapat diakses dari dalam method, konstruktor atau class tertentu.
variabel Class : Variabel dideklarasikan dalam class, diluar method apapun, dengan kata kunci static.
Class dapat memiliki sejumlah method untuk mengakses nilai dari berbagai jenis method. Dalam contoh diatas miaow(), hungry(), dan sleeping() adalah method.
Membuat Objek
Seperti disebut sebelumnya class menyediakan "blueprint" untuk objek jadi pada dasarnya,sebuah objek dibuat dari class.Di java, kata kunci "new" digunakan untuk membuat objek baru.
Ada tiga langkah membuat objek dari class:
Deklarasi: Deklarasi variabel dengan nama variabel dan jenis objek.
Instansiasi: kata kunci "new" digunakan untuk membuat objek.
Inisialisasi: kata kunci "new" diikuti dengangan panggilan untuk konstuktor, panggilan ini menginisialisasi objek baru.
Berikut contoh membuat objek dibawah ini.

 
Jika code diatas benar maka hasilnya seperti berikut




Oke Sekian dulu dari yang bisa saya bagikan sampai jumpa lagi di lain kesempatan ~

Jika berkenan silahkan tinggalkan komentar ^_^

Materi Pengelolaan input user pada operasi string

Ya ketemu lagi dengan saya. saya kembali akan membagikan ilmu, oke langsung aj dah ke Materi :

String sebenarnya merupakan penggunaan tipe data char secara berkelompok. Tipe data string merupakan array dari tipe data char.
1.    Variabel String
a.    Deklarasi Variabel String :
Karena string merupakan array dari char, maka pendeklarasiannya sama dengan mendeklarasikan array dari char, yaitu :
Char nama_var [ jml_karakter ]
Contoh :
char alamat [40] –> deklarasi variabel alamat dengan tipe data string.
Nilai Variabel alamat terdiri dari beberapa karakter maksimal 40 karakter (0 s/d 39)

b.    Inisialisasi Variabel String :
Variabel string dapat diinisialisasi dengan cara seperti berikut :
Char x[10]=“Permainan”;
x di memori setelah inisialisasi :
Karakter “” pada x [9] merupakan karakter null yang menandai berakhirnya suatu string.
Perbedaan Char dan String :
Char ‘A’ berbeda dengan string “A”
Lihat perbedaanya pada penggambaran memori berikut:
Operasi string tidak dapat dilakukan untuk tipe data char.

2.    Array of String
a.    Array of String :
Karena string merupakan array dari char, maka array string adalah array dua dimensi dari array char
Contoh : mendeklarasikan array yang menyimpan 30 nama, masing-masing nama terdiri dari 25 karakter
#define jml_orang 30
#define pjg_nama 25
….
Char nama [jml_orang] [pjg_nama]

b.    Inisialisasi Array of String :
Inisialisasi array dari string dapat dilihat pada contoh berikut :
Char bulan[7] [10] = {“Senin”, “Selasa”, “Rabu”, “Kamis”, “Jumat”, “Sabtu”, “Minggu”}
Array of String dengan printf dan scanf :
Printf dan scanf dapat menangani argumen string dengan menggunakan format string %s
Contoh:
Printf(“Topik : %s\n”, string_var);
Secara default penulisan string menggunakan alignment rata kanan.
Untuk menuliskan string secara rata kiri (left justified) maka tuliskan tanda minus (-) didepan s
Contoh :
printf (“%-20s\n”,presiden);
Scanf digunakan untuk pemasukan string (input of string)
Fungsi-Fungsi pada Librari String :
String.h merupakan librari yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring.

3.    Fungsi-fungsi dalam librari string.h antara lain : strcpy, strncpy, strcat, strncat, strcmp, strncmp, strlen.
a.    Strcpy
Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan. Bentuk umumnya : strcpy(var_tujuan, string_asal);
b.    Strncpy
Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan sebanyak n karakter sesuai yang diinginkan programmer. Bentuk umumnya: strncpy(var_tujuan, string_asal, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan.
Cara menyalin substring di tengah :
Misal :
Char s2[10]
Char s1[15] = “Mar. 15, 2008”
s2 bernilai berapa?
Strncpy (s2,s1,3) –> s2 bernilai “Jan, “
Strncpy (s2, &s1[5], 2) –> s2 bernilai “15”
c.     Strcat
Berfungsi untuk menambahkan string sumber ke bagian akhir dari string tujuan. Bentuk umumnya: strcat(tujuan, sumber);.
d.    Strncat
Berfungsi sama dengan fungsi strcat, yaitu menambahkan string sumber ke bagian akhir dari string. Yang membedakan adalah pada jumlah karakter yang dipindahkan. Fungsi ini dapat memindahkan karakter sebanyak n karakter sesuai yang sudah diprogram oleh programmer. Bentuk umumnya: strncat(tujuan, sumber, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan.
e.    Strcmp
Berfungsi untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai:
1) negative, bila string pertama kurang dari string kedua.
2) Nol, bila string pertama sama dengan string kedua.
3) Positif, bila string pertama lebih banyak dari string kedua.
Bentuk umumnya: strcmp(string1, string2);
f.     Strncmp
Berfungsi untuk membandingkan n karakter pertama dalam dua buah string. Hasil dari fungsi ini sama dengan hasil dari fungsi strcmp. Bentuk umumnya:
Strncmp(string1, string2, n);. Dengan n adalah jumlah karakter yang ingin dibandingkan.
g.    Strlen
Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umumnya: strlen(string);

4.    Operasi Karakter :
Fungsi dari library ctype.h :
a.    Isalpha
Merupakan fungsi operasi karakter dengan tolok ukur fungsi akan bernilai benar jika argumen dalam syntax tersebut merupakan karakter yang berupa huruf dalam alphabet. Bentuk umumnya: isalpha(char);.
b.    Isdigit
Merupakan fungsi operasi karakter dengan tolok ukur syntax akan menghasilkan nilai benar (bukan nol) bila karakter merupakan sebuah angka (digit) dari nol sampai sembilan. Bentuk umum: isdigit(char);.
c.     Islower
Merupakan fungsi operasi karakter dengan tolok ukur syntax ini bernilai benar (bukan nol) jika karakter merupakan huruf kecil.
Bentuk umumnya: islower(char);.
d.    Isupper
Merupakan fungsi operasi karakter dengan tolok ukur fungsi ini akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf capital.
Bentuk umumnya: isupper(char);.
e.    Ispunct
Merupakan fasilitas yang ada dalam ctype.h yang berfungsi untuk memasukkan karakter yang berupa tanda baca (punctuation), tidak termasuk didalamnya karakter spasi, huruf alphabet, dan angka (digit).
Bentuk umumnya: ispunct(char);.
f.     Isspace
Merupakan fasilitas yang ada dalam ctype.h yang berfungsi pada karakter-karakter seperti spasi, newline tab, dan tab. Contoh penggunaannya:
g.    Tolower
Fungsi ini akan merubah huruf kapital menjadi huruf kecil.
Bentuk umum: tolower(char);.
h.    Toupper
Fungsi ini akan merubah huruf kecil menjadi huruf kapital.

Bentuk umum: toupper(char).



Oke Sekian dulu dari yang bisa saya bagikan sampai jumpa lagi di lain kesempatan ~

Jika berkenan silahkan tinggalkan komentar ^_^

Materi Pengelolaan pada operasi aritmetika dan logika

Ya ketemu lagi dengan saya. saya kembali akan membagikan ilmu, oke langsung aj dah ke Materi :

Pengertian Operator Aritmatika dalam PHP
Operator Aritmatika adalah operator matematis yang terdiri dari operator penambahan, pengurangan, perkalian, pembagian, modulus, plus, dan minus.


Jenis Operator Aritmatika dalam PHP

Didalam PHP terdapat 7 jenis operator aritmatika, berikut ke tujuh operator tersebut:
Kebanyakan operator aritmatika dalam PHP bertipe binary yakni membutuhkan 2 operand, kecuali operator minus (-) dan plus (+) yang merupakan operator tipe unary (hanya membutuhkan 1 operand).
Dari ke 7 operator aritmatika dalam PHP tersebut, operator modulus ($a % $b) mungkin terdengar baru. Operator ini menghasilkan sisa hasil bagi dari hasil pembagian. Misalkan 10 % 3, hasilnya adalah 1. Biasanya operator modulus ini digunakan bersama-sama dengan operator pembagian (/).


Cara Penggunaan Operator Aritmatika di dalam PHP
Penggunakan operator aritmatika di dalam PHP relatif mudah, karena kita telah terbiasa dengan operator ini.
Berikut adalah contoh kode program, cara penggunaan operator aritmatika dalam PHP:
<?php
$hasil1= -3;
$hasil2=3+5;
$hasil3=8-4.5;
$hasil4=2*5;
$hasil5=3+8/5-3;
$hasil6=10 % 4;

echo "\$hasil1:"; var_dump($hasil1); // $hasil1:int(-3)
echo "<br \>";                   
echo "\$hasil2:"; var_dump($hasil2); // $hasil2:int(8)
echo "<br \>";
echo "\$hasil3:"; var_dump($hasil3); // $hasil3:float(3.5)
echo "<br \>";
echo "\$hasil4:"; var_dump($hasil4); // $hasil4:int(10)
echo "<br \>";
echo "\$hasil5:"; var_dump($hasil5); // $hasil5:float(1.6)
echo "<br \>";
echo "\$hasil6:"; var_dump($hasil6); // $hasil6:int(2)
?>
Pada kode program diatas, saya menggunakan fungsi var_dump() untuk menampilkan hasil perhitungan, sehingga kita bisa melihat tipe data dari masing-masing variabel.
Dari hasil var_dump(), terlihat bahwa variabel $hasil3 dan $hasil5 bertipe float. Hal ini dikarenakan perhitungan aritmatika pada baris ke-4 dan ke-6  menghasilkan angka desimal, sehingga secara otomatis variabel tersebut tidak dapat ditampung sebagai integer, melainkan harus float.
Namun jika hasil operasi matematis tersebut menghasilkan bilangan bulat, PHP akan menyimpannya sebagai tipe data int (integer), seperti variabel $hasil1, $hasil2, $hasil4 dan $hasil6.
Pada perhitungan baris ke-6 yaitu persamaan $hasil5=3+8/5-3, hasilnya adalah 1.6. Hal ini karena operator pembagian memiliki prioritas lebih tinggi daripada operator tambah dan kurang. Operasi 3+8/5-3 dikerjakan oleh PHP sebagai (3+(8/5))-3. Namun untuk hal ini, disarankan menggunakan tanda kurung secara tertulis agar memudahkan dalam membaca alur program, dari pada bergantung kepada aturan prioritas operator PHP.
Namun jika tidak ditegaskan dengan menggunakan tanda kurung, urutan prioritas operator matematis dalam PHP mengikuti aturan tabel yang kita bahas pada tutorial Pengertian Operand, Operator dan Urutan Operator dalam PHP


Itulah operator-operator dasar aritmatika dalam PHP. Untuk keperluan yang lebih spesifik seperti pemangkatan, logaritma, exponensial dan sinus, PHP menyediakan fungsi matematika (Mathematical Functions) yang akan kita bahas pada tutorial PHP lanjutan.
Pengertian Operator Logika dalam PHP
Operator Logika adalah operator yang digunakan untuk membandingkan 2 kondisi logika, yaitu logika benar (TRUE) dan logika salah (FALSE). Operator logika sering digunakan untuk kodisi IF, atau untuk keluar dari proses perulangan (looping).
Jenis operand dalam operator logika ini adalah variabel dengan tipe boolean. Namun jika operand bukan boolean, akan “dikonversi” menjadi boolean oleh PHP (aturan “konversi” ini telah kita bahas pada tutorial tentang tipe data boolean PHP).


Jenis-jenis Operator Logika dalam PHP
Jenis-jenis operator logika dalam PHP dapat dilihat dari tabel berikut:
Perbedaan dari operator AND dengan &&, dan OR dengan || terkait dengan cara penulisan dan aturan “kekuatan” operator. Operator && dan || memiliki “kekuatan” lebih tinggi dari pada AND dan OR, sehingga baris perintah: $a AND $b || $c, akan dieksekusi oleh PHP menjadi $a AND ($b || $c).
Dari tabel diatas, saya hanya memberikan hasil untuk kondisi TRUE, maka selain kondisi tersebut, hasilnya adalah FALSE.


Cara Penggunaan Operator Logika di dalam PHP
Berikut adalah contoh kode program, cara penggunaan operator logika dalam PHP:
<?php
$hasil1 = true and false;
echo '$hasil1 = ';
echo var_dump($hasil1)."<br/>"; // $hasil1 = bool(true)

$hasil2 = (true and false);
echo '$hasil2 = ';
echo var_dump($hasil2)."<br/>"; // $hasil2 = bool(false)

$hasil3 = (true xor false);
echo '$hasil3 = ';
echo var_dump($hasil3)."<br/>"; // $hasil3 = bool(true)

$hasil4 = (false or true && false);
echo '$hasil4 = ';
echo var_dump($hasil4)."<br/>"; // $hasil4 = bool(false)

$a=true;
$b=false;
$hasil5 = ($a and $b || $a or b);
echo '$hasil5 = ';
echo var_dump($hasil5); // $hasil5 = bool(true)
?>
Saya akan membahas kode program diatas:
Pada baris 2, operasi logika yang dijalankan adalah $hasil1 = true and false, yang harusnya $hasil1 akan bernilai false (berdasarkan prinsip operator and: jika salah satu saja ada yang false, maka hasilnya adalah false)
Namun seperti yang terlihat dalam tampilan saat program dijalankan, variabel $hasil1 bernilai true!. Apa yang sebenarnya terjadi? Hal ini kembali kepada prinsip urutan prioritas operator.
Jika anda perhatikan tabel urutan operator pada tutorial urutan operator dalam PHP, operator assignment (pendefenisian variabel) yaitu menggunakan tanda sama dengan (=) memiliki priotitas lebih tinggi dari pada operator logika and. Sehingga yang sebenarnya diproses adalah ($hasil1 = true) and false, sehingga $hasil1 akan bernilai true.
Kesalahan pemograman seperti ini akan sulit dideteksi, sehingga anda disarankan menggunakan tanda kurung untuk menegaskan urutan program.
Pada baris ke-6, untuk variabel $hasil2 saya mengulangi operasi yang sama dengan baris 2, namun kali ini dengan menggunakan tanda kurung untuk memberitahukan kepada PHP bahwa operasi logikalah yang harus dijalankan pertama kali, baru setelah itu proses assigment yang kali ini berjalan sebagaimana harusnya (true and false menghasilkan false). Dan variabel $hasil2 bernilai false.
Pada baris ke-10, variabel $hasil3 bernilai true, karena operator xor akan menghasilkan true apabila salah satu operand bernilai true.
Untuk baris ke-14, $hasil4 = (false or true && false), urutan proses operasi dimulai terlebih dahulu pada operator && karena memiliki urutan prioritas lebih tinggi daripada operator or, sehingga yag diproses oleh PHP adalah (false or (true && false)), dan menghasilkan nilai false.
Pada contoh terakhir baris ke-20, operator || akan diproses terlebih dahulu, sehingga persamaanya menjadi $hasil5 = ($a and ($b || $a) or b).
Dalam membuat operasi logika ini, sedapat mungkin untuk mengujinya terlebih dahulu, karena kesalahan program pada logika akan sulit terdeteksi.


Pengertian Prinsip Short Circuit dalam operasi Logika PHP
PHP menjalankan operasi logika dengan prinsip short-circuit, yaitu jika dengan memeriksa satu perintah saja sudah didapati hasil logikanya, maka perintah lain tidak akan dijalankan. Contohnya:
$hasil = $a AND $b AND $c AND $d;
Jika pada saat program dijalankan $a sudah bernilai FALSE, maka variabel $b, $c dan $d tidak akan diperiksa lagi, karena apapun nilai variabel tersebut, hasilnya akan tetap FALSE.
Hal ini akan berguna untuk kasus-kasus tertentu, seperti contoh berikut:
<?php
$result = fopen($filename) or exit();
?>
Fungsi exit() dalam kode PHP tersebut (yang akan membuat program PHP berhenti diproses) tidak akan dijalankan selama fopen($filename) bernilai true. Fungsi short-circuit ini sering digunakan dalam contoh-contoh aplikasi PHP.


Dalam tutorial ini kita telah mempelajari operator logika dalam PHP, untuk selanjutnya kita akan membahas operator perbandingan.



Oke Sekian dulu dari yang bisa saya bagikan sampai jumpa lagi di lain kesempatan ~


Jika berkenan silahkan tinggalkan komentar ^_^