Tampilkan postingan dengan label Condition. Tampilkan semua postingan
Tampilkan postingan dengan label Condition. Tampilkan semua postingan

HTML 5 Web Worker

Semakin berkembangnya dunia internet, developers semakin mengutamakan kecepatan proses data, sehingga semakin banyak coder melakukan proses data di client daripada di server.

Untuk melakukan suatu proses data besar atau proses yang membutuhkan resource besar, maka html5 telah menyediakan fitur web worker yang dapat melakukan proses tersebut tanpa menghentikan sementara UI perambah. Akan sangat mengganggu jika semuanya proses ini dilakukan oleh javascript melihat proses panjang dan besar oleh javascript bisa menghentikan UI perambah, atau lebih parah lagi dapat mengakibatkan perambah pengguna jadi crash.

Ini merupakan tutorial singkat untuk menjalankan web worker :

Buat sebuah berkas dengan nama worker.js yang berisi :
self.onmessage = function(e) {

 // mengambil data yang dikirim ke worker
 var dat = e.data;
 var ret = "";
 for(var i = 0;i<=100;i++)
  ret+= dat;

 // mengirim data ke pemanggil worker
 self.postMessage(ret);

 // mematikan worker
 self.close();
};
Buat sebuah berkas dengan nama index.html yang berisi :
<!DOCTYPE html><head><title>Web Worker Tester</title></head>

<script type="text/javascript">
 var worker = new Worker("worker.js");

 // mengambil data yang dikembalikan worker
 worker.addEventListener("message", function(e) {
  document.write(e.data);
 }, false);

 // mengirim data ke worker
 worker.postMessage("Syuaa");
</script>

</body></html>
Skrip diatas akan menulis teks "Syuaa" sebanyak 100 kali ke perambah.

Dikarenakan web worker baru digunakan di HTML5, maka perlu adanya pengecekan jika perambah pengguna sudah mendukung web worker atau belum.

Fungsi dibawah akan mengembalikan false jika perambah belum mendukung HTML5 Web Worker, dan true jika sudah.
function is_webworker() {
 return !window.Worker;
}

Mengganti Address Bar Setelah Ajax Request

Setelah melakukan ajax request, tentu saja Anda akan melihat address bar tidak berubah. Karena memang tidak ada reload halaman yang akan mengubah address bar.

Untuk dapat mengubah address bar setelah ajax request, Anda bisa menambahkan fungsi javascript ini setelah melakukan ajax request :
window.history.pushState("object or string", "Title", "/url-baru");
Berikut ini contoh implementasi nya pada jQuery ajax request :
$.ajax({
 "type":"get",
 "url":"http://same-site/a/b/c/",
 "success":function(html) {
  $("body").html(html);
  if("http://same-site/a/b/c" != window.location) {
    window.history.pushState({path: "http://same-site/a/b/c"}, "", "http://same-site/a/b/c/");
 });
Selanjutnya, ketika user klik back pada browser mereka, untuk sementara tidak ada aksi yang terjadi. Untuk ini kita perlu menambahkan event popstate pada window.
$(window).bind("popstate", function() {
  $.ajax({
    "type": "get",
    "url": location.pathname,
    "success": function(html) {
        $("body").html(html);
    }
  });
});

Konversi MySQL Timestamp ke PHP Date Format

Ketika kita membuat kolom di MySQL dengan tipe kolom timestamp dan meng-set default current_timestamp, maka data yang tersimpan adalah dalam bentuk seperti :
mysql> select fdate from t_feed;
+---------------------+
| fdate               |
+---------------------+
| 2012-03-02 07:14:59 |
| 2012-03-02 07:15:29 |
| 2012-03-02 07:16:29 |
+---------------------+
3 rows in set (0.00 sec)

Dan bentuk tersebut juga lah yang akan muncul ketika kita mengambil dengan PHP. Untuk menampilkan bentuk tanggal di PHP sesuai dengan format yang kita inginkan, PHP sudah menyediakan fungsi strtotime yang bisa mengubah timestamp MySQL menjadi Unix Timestamp.
<php
 $dat = $date_from_mysql_timestamp;
 $fdat = date('g:i d M Y', strtotime($dat));
 echo $fdat; // => 7:15 02 Mar 2012

CSS Pada XUL Component

Pada dasarnya semua component xul bisa saja disisipi CSS, tetapi ada kondisi dimana komponen tersebut tidak dapat menerima CSS. Contohnya pada textbox atau button biasanya tidak dapat dipercantik dengan css seperti berikut :
#same-textbox {
     border:1px solid #D9D9D9;
     border-top:1px solid #C0C0C0;
}
#same-button {
     border:1px solid #DCDCDC;
     background:#F2F2F2;
}
Sehingga tampilannya tetap seperti aslinya.

Untuk dapat menyisipkan semua style dari css, Anda bisa menambahkan -moz-appearance: none; pada css agar gecho tidak meng-aplikasikan style standar pada komponen tersebut.

Bentuk CSS-nya nanti akan menjadi seperti ini :
#same-textbox {
     -moz-appearance: none;
     border:1px solid #D9D9D9;
     border-top:1px solid #C0C0C0;
}
#same-button {
     -moz-appearance: none;
     border:1px solid #DCDCDC;
     background:#F2F2F2;
}

Reset Auto Increment Pada MySQL dan PostgreSQL

Jika dalam suatu kondisi Anda perlu reset, atau menentukan sendiri nilai auto increment yang ada pada column auto increment database MySQL dan PostgreSQL, makadapat menggunakan cara berikut ini.

Untuk MySQL
mysql> ALTER TABLE t_table AUTO_INCREMENT = x;
x : nilai auto increment selanjutnya.
Jika Anda memiliki data didalam table dan mengeksekusi query diatas dengan memberikan nilai x lebih kecil dari id terakhir di table, maka nilai x akan tetap di set 1 angka setelah angka terakhir id data pada database Anda.

Untuk PostgreSQL
Untuk PostgreSQL memiliki cara sendiri. Anda mungkin perlu tahu dulu nama seq nya sebelum bisa melakukan reset.
Jika Anda menggunakan type data SERIAL untuk id auto increment, maka untuk mendapatkan nama seq nya bisa menggunakan query berikut :
test=# SELECT pg_get_serial_sequence('t_table', 'id');
t_table : adalah nama table
id : adalah column yang diberi type data SERIAL.

Setelah mendapatkan nama seq nya, selanjutnya bisa di reset dengan menggunakan fungsi SETVAL
test=# SELECT SETVAL((SELECT pg_get_serial_sequence('t_table', 'id')), 1, false);
Atau cara yang lebih mudah lagi adalah dengan menggunakan fungsi RESTART IDENTITY jika Anda ingin mereset nilai auto increment berbarengan dengan TRUNCATE
test=# TRUNCATE t_table RESTART IDENTITY CASCADE

Membuat View pada PostgreSQL atau MySQL

Sekarang syuaa akan memberikan contoh kecil cara membuat view pada query PostgreSQL atau MySQL, pada dasarnya kedua database ini memiliki bentuk query yang sama.

View digunakan untuk mempersimple penggunaan query yang panjang jika query yang panjang tersebut akan digunakan berulang-ulang kali. Hal ini tentu akan mempermudah programmer untuk melakukan query yang panjang tersebut dan meminimalisir kesalahan.

Sebagai contoh, saya memiliki table seperti ini :

1. t_murit
mysql> create table t_murit ( mid integer not null auto_increment, mname varchar(150), primary key ( mid ));

mysql> desc t_murit;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| mid   | int(11)      | NO   | PRI | NULL    | auto_increment |
| mname | varchar(150) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
2. t_kelas
mysql> create table t_kelas ( id integer not null auto_increment, mid integer, fval varchar(10), primary key ( id ));

mysql> desc t_kelas;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| mid   | int(11)     | YES  |     | NULL    |                |
| fval  | varchar(10) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3. t_jenis_kelamin
mysql> create table t_jenis_kelamin ( id integer not null auto_increment, mid integer, fval integer, primary key ( id ));

mysql> desc t_jenis_kelamin;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) | NO   | PRI | NULL    | auto_increment |
| mid   | int(11) | YES  |     | NULL    |                |
| fval  | int(11) | YES  |     | NULL    |                |
+-------+---------+------+-----+---------+----------------+
4. t_point
mysql> create table t_nilai ( id integer not null auto_increment, mid integer, fval integer, primary key ( id ));

mysql> desc t_nilai;
+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| id    | int(11) | NO   | PRI | NULL    | auto_increment |
| mid   | int(11) | YES  |     | NULL    |                |
| fval  | int(11) | YES  |     | NULL    |                |
+-------+---------+------+-----+---------+----------------+
Selanjutnya, silahkan eksekusi query berikut untuk menambahkan value pada masing-masing tabel.
insert into t_murit (mname) values ('Syuaa'), ('Gadis'), ('Agus'), ('Indah'), ('Sobari');
insert into t_kelas (mid,fval) values(1,'1.5'), (2,'1.6'), (3,'1.1'), (4,'1.2'), (5,'1.1');
insert into t_jenis_kelamin (mid,fval) values(1,1), (2,2), (3,1), (4,2), (5,1);
insert into t_nilai (mid,fval) values(1,10), (2,9), (3,6), (4,8), (5,9);
Sehingga isi dalam tabel kita nanti jadi seperti ini :
mysql> select * from t_murit;
+-----+--------+
| mid | mname  |
+-----+--------+
|   1 | Syuaa  |
|   2 | Gadis  |
|   3 | Agus   |
|   4 | Indah  |
|   5 | Sobari |
+-----+--------+

mysql> select * from t_kelas;
+----+------+------+
| id | mid  | fval |
+----+------+------+
|  1 |    1 | 1.5  |
|  2 |    2 | 1.6  |
|  3 |    3 | 1.1  |
|  4 |    4 | 1.2  |
|  5 |    5 | 1.1  |
+----+------+------+

mysql> select * from t_jenis_kelamin;
+----+------+------+
| id | mid  | fval |
+----+------+------+
|  1 |    1 |    1 |
|  2 |    2 |    2 |
|  3 |    3 |    1 |
|  4 |    4 |    2 |
|  5 |    5 |    1 |
+----+------+------+

mysql> select * from t_nilai;
+----+------+------+
| id | mid  | fval |
+----+------+------+
|  1 |    1 |   10 |
|  2 |    2 |    9 |
|  3 |    3 |    6 |
|  4 |    4 |    8 |
|  5 |    5 |    9 |
+----+------+------+
Secara umumnya, ketika kita ingin mengambil seluruh siswa beserta datanya, maka setidaknya kita harus mengekseskusi query sepanjang ini :
mysql> select t_murit.mid as mid, t_murit.mname as mname, t_kelas.fval as kelas, t_jenis_kelamin.fval as jenis_kelamin, t_nilai.fval as nilai from t_murit, t_kelas, t_jenis_kelamin, t_nilai where t_murit.mid = t_kelas.mid and t_murit.mid = t_jenis_kelamin.mid and t_murit.mid = t_nilai.mid;
+-----+--------+-------+---------------+-------+
| mid | mname  | kelas | jenis_kelamin | nilai |
+-----+--------+-------+---------------+-------+
|   1 | Syuaa  | 1.5   |             1 |    10 |
|   2 | Gadis  | 1.6   |             2 |     9 |
|   3 | Agus   | 1.1   |             1 |     6 |
|   4 | Indah  | 1.2   |             2 |     8 |
|   5 | Sobari | 1.1   |             1 |     9 |
+-----+--------+-------+---------------+-------+
Dan tentu saja bisa terjadi kesalahan dalam pengetikan jika programmer harus mengetikkan query sepanjang itu setiap kali membutuhkan data siswa.

Untuk mengantisipasi terjadinya kesalahan dalam pengetikan berulang-ulang untuk query tersebut, maka view adalah solusi yang tepat untuk masalah ini.

Sekarang kita akan membuat sebuah view yang mewakili query panjang tersebut. Silahkan eksekusi query berikut :
mysql> create view v_murit as select t_murit.mid as mid, t_murit.mname as mname, t_kelas.fval as kelas, t_jenis_kelamin.fval as jenis_kelamin, t_nilai.fval as nilai from t_murit, t_kelas, t_jenis_kelamin, t_nilai where t_murit.mid = t_kelas.mid and t_murit.mid = t_jenis_kelamin.mid and t_murit.mid = t_nilai.mid;
Dengan bermodalkan view ini, akan cukup mudah untuk melakukan pencarian data siswa keseluruhan atau dengan kriteria tertentu.

Selanjutnya, untuk menampilkan data siswa secara keseluruhan, kita bisa menggunakan query berikut :
mysql> select * from v_murit;
+-----+--------+-------+---------------+-------+
| mid | mname  | kelas | jenis_kelamin | nilai |
+-----+--------+-------+---------------+-------+
|   1 | Syuaa  | 1.5   |             1 |    10 |
|   2 | Gadis  | 1.6   |             2 |     9 |
|   3 | Agus   | 1.1   |             1 |     6 |
|   4 | Indah  | 1.2   |             2 |     8 |
|   5 | Sobari | 1.1   |             1 |     9 |
+-----+--------+-------+---------------+-------+
Untuk menampilkan data siswa dengan id 4, bisa dengan menggunakan query berikut :
mysql> select * from v_murit where mid = 4;
+-----+-------+-------+---------------+-------+
| mid | mname | kelas | jenis_kelamin | nilai |
+-----+-------+-------+---------------+-------+
|   4 | Indah | 1.2   |             2 |     8 |
+-----+-------+-------+---------------+-------+

Mengecheck Keberadaan Table MySQL

Dalam trik query ini, syuaa ingin menjelaskan bagaimana cara untuk mengetahui keberadaan suatu table dalam database mysql.

Hal ini mungkin perlu jika Anda membuat suatu kondisi dimana user bisa membuatkan table tambahan.

Untuk melakukannya cukup dengan menjalankan perintah berikut :

$table_name = "nama_table";
$sql = mysql_query("DESC $table_name");
if(mysql_errno()==1146)
    echo "Table belum ada";
elseif(!mysql_errno())
    echo "Table sudah ada";

Penggunaan Fungsi Timer Pada Javascript

Pada kesempatan kali ini Syuaa akan memberikan tips trik penggunaan fungsi timer pada JavaScript.

Ada dua fungsi Timer pada JavaScript yang umum digunakan saat ini, yaitu setTimeout(), dan setInterval().

1. Timer setTimeout

Fungsi ini akan menunda eksekusi suatu fungsi dalam waktu yang telah ditentukan, contoh penggunaanya :

function TimeOut() {
	setTimeout(function() { alert("Yay,,, i get you"); }, 5000);
}

Klik dan tunggu 5 detik

Jika dalam suatu kondisi Anda ingin menghentikan timer yang sedang berjalan untuk fungsi setTimeout, maka bisa dilakukan dengan cara sebagai berikut :

_to = null;
function TimeOut() {
	_to = setTimeout(function() { alert("Yay,,, i get you"); }, 5000);
}
function clearTimeOut() {
	clearTimeout(_to);
}

Klik dan tunggu 5 detik
Klik untuk mematikan timer, (cancel alert)

2. Timer setInterval

Fungsi setInterval merupakan fungsi timer javascript yang akan selalu melakukan pengulangan sampai fungsi ini dimatikan, untuk setiap kurun waktu yang ditentukan. Contoh penggunaan :

_si = null;
_gn = 0;
function Interval() {
	_si = setInterval(function() {
		var btn = document.getElementById("buttonIn");
		_gn++
		btn.value = "Interval ("+_gn+")";
	}, 1000);
}
function clearInter() {
	clearInterval(_si);
}

Klik dan tunggu setiap 1 detik
Klik untuk menghentikan timer



Mengecek Keberadaan Teks Pada Webside Orang

Dalam kasus ini, Syuaa akan memberikan contoh memastikan keberadaan suatu teks atau string pada
sebuah website orang lain. Hal ini tentu bisa digunakan untuk mengetahui sudahkah mereka memasang link Anda di website nya? sebelum Anda memasang backlink di blog/website Anda.

Langkah pertama adalah dengan mengambil keseluruhan teks HTML pada website tersebut.
<?php
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, "http://syuaa.blogspot.com");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$insideit = curl_exec($curl);
curl_close($curl);
...
Penjelasan
Baris 1 : Membentuk curl session.
Baris 3 : Menentukan URL yang akan diambil.
Baris 4 : Memberikan perintah kepada PHP agar menyimpan skript HTML yang diambil kedalam suatu variable.
Baris 6 : Memberikan perintah kepada PHP agar menjalankan semua option curl yang di tentukan diatasnya.
Baris 7 : Menutup sesi curl dan mengosongkan semua resource.

Setelah berhasil menyimpan keseluruhan skrip HTML kedalam variable $insideit. Maka selanjutnya adalah mengecek keberadaan text tertentu dalam sekumpulan teks tersebut. Caranya adalah dengan menggunakan function PHP preg_match.
...
$urlonsearch = "http://syuaa.blogspot.com";
$ifexists = "Text tersebut telah ada di ".$urlonsearch;
$ifnotexists = "Text tersebut belum ada di ".$urlonsearch;

echo preg_match('!linkexchange.syuaa.net/!i', $insideit) ? $ifexists : $ifnotexists;
?>

Skrip lengkap nya bisa dilihat dibawah, telah dimodifikasi agar lebih simpel.
<?php
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, "http://syuaa.blogspot.com");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$insideit = curl_exec($curl);
curl_close($curl);

echo preg_match('!linkexchange.syuaa.net/!i', $insideit) 
   ? "Text tersebut telah ada di " 
   : "Text tersebut belum ada di ";
echo "http://syuaa.blogspot.com";
?>

Setelah melakukan sedikit percobaan, skrip di bawah juga akan menghasilkan nilai yang sama. Lebih simpel, dan lebih pendek, tetapi belum terlalu mengerti apakah memiliki nilai yang sama untuk semua kondisi atau tidak.
<?php
$insideit = file_get_contents('http://syuaa.blogspot.com');

echo preg_match('!linkexchange.syuaa.net/!i', $insideit) 
   ? "Text tersebut telah ada di " 
   : "Text tersebut belum ada di ";
echo "http://syuaa.blogspot.com";
?>

Menangani Overflow Pada Elemen HTML

Untuk kondisi tertentu, ada kemungkinan value yang disimpan dalam suatu komponen HTML akan keluar dari batas yang sudah ditentukan. Contohnya seperti ini :

Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Sehingga hasilnya mungkin akan seperti ini :
Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Untuk menanganinya, kita dapat menggunakan syntx Overflow, sehingga kelebihan text yang terdapat didalam element HTML tersebut disembunyikan, atau dibuatkan scroll sehingga tidak mengganggu keberadaan element lain.

Contohnya seperti ini :

Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Sehingga hasilnya mungkin akan seperti ini :
Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Beberapa properties yang dapat dipasangkan dengan syntax overflow adalah sebagai berikut :
.classname {
    overflow:visible;
    overflow:hidden;
    overflow:scroll;
    overflow:auto;
    overflow:inherit;
}

Beberapa contoh penggunaanya :
Contoh 1:
.classname {
    overflow:hidden;
}
Hasil :
Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Contoh 2:
.classname {
    overflow:scroll;
}
Hasil :
Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Contoh 3:
.classname {
    overflow:auto;
}
Hasil :
Iniadalahtextyangterlalupanjangsehinggamenyebabkanoverflow.

Untuk mengatur posisi scroll, Anda mungkin bisa menambahkan properties "-x" atau "-y" setelah syntax overflow.
Contohnya :
.class {
    overflow:[value]; // Akan membuat scroll sesuai kebutuhan elemen;
    overflow-x:[value]; // Akan membuat scroll jika overflow ke arah horizontal;
    overflow-y:[value]; // Akan membuat scroll jika overflow ke arah vertical;
}

Menampilkan Gabungan Table MySQL/PgSQL

Dalam kasus ini, Syuaa akan menunjukan bagaimana menggabungkan tabel yang memiliki relasi atau kesamaan value dan menampilkannya.
Contohnya saya memiliki tabel seperti berikut :

1. tabel [username]
dbsyuaa=# select * from username;
 uid |  uname
-----+---------
   2 | fery
   3 | andi
   4 | budy
   5 | kucing
   6 | gstar
   7 | bing
   8 | bigbang
(7 rows)

2. tabel [usermail]
dbsyuaa=# select * from usermail;
 uid |        umail
-----+---------------------
   2 | fery@yahoo.com
   3 | andi@yahoo.com
   4 | budy@yahoo.com
   5 | kucing@aol.com
   6 | me@gstar.com
   7 | bing@microsoft.com
   8 | bigbang@yahoo.co.id
(7 rows)

3. tabel [usercity]
dbsyuaa=# select * from usercity;
 uid |  ucity
-----+---------
   2 | bandung
   3 | jakarta
   4 | depok
   5 | bali
   6 | jakarta
   7 | Bandung
   8 | Bandung
(7 rows)

Tujuan utama saya adalah mengambil seluruh data dengan ketentuan masing-masing tabel digabung berdasarkan column [uid]. Untuk penyelesaiannya saya menggunakan inner join. Sehingga bentuk query saya akan menjadi seperti ini :
select * from username inner join usermail using("uid") inner join usercity using("uid");

Dan akan menghasilkan tabel seperti ini :
select * from username inner join usermail using("uid") inner join usercity using("uid");
 uid |  uname  |        umail        |  ucity
-----+---------+---------------------+---------
   2 | fery    | fery@yahoo.com      | bandung
   3 | andi    | andi@yahoo.com      | jakarta
   4 | budy    | budy@yahoo.com      | depok
   5 | kucing  | kucing@aol.com      | bali
   6 | gstar   | me@gstar.com        | jakarta
   7 | bing    | bing@microsoft.com  | Bandung
   8 | bigbang | bigbang@yahoo.co.id | Bandung

Dalam kondisi lain, mungkin juga menggunakan bentuk query seperti dibawah :
select * from username, usermail, usercity where username.uid=usercity.uid and username.uid=usermail.uid;

Hanya saja akan menghasilkan tabel yang tidak sesuai dengan keinginan semula :
dbsyuaa=# select * from username, usermail, usercity where username.uid=usercity.uid and username.uid=usermail.uid;
 uid |  uname  | uid |        umail        | uid |  ucity
-----+---------+-----+---------------------+-----+---------
   2 | fery    |   2 | fery@yahoo.com      |   2 | bandung
   3 | andi    |   3 | andi@yahoo.com      |   3 | jakarta
   4 | budy    |   4 | budy@yahoo.com      |   4 | depok
   5 | kucing  |   5 | kucing@aol.com      |   5 | bali
   6 | gstar   |   6 | me@gstar.com        |   6 | jakarta
   7 | bing    |   7 | bing@microsoft.com  |   7 | Bandung
   8 | bigbang |   8 | bigbang@yahoo.co.id |   8 | Bandung
(7 rows)

Fungsi Pengganti If Else pada PHP Bagian 2

Sebelumnya pernah dijelaskan cara penulisan If Else yang lebih simpel dengan menggunakan (condition) ? (action if true) : (action if false);.
Dan kali ini Syuaa akan memberikan sebuah cara penulisan If Else dalam bentuk yang lain. Pada umumnya penulisan If Else yang benar adalah sebagai berikut:
if(condition) {
   "condition if true;"
}else{
   "condition if false;"
}

Untuk menggantinya bisa menggunakan struktur If Else seperti dibawah. Lebih simpel, dan tanpa tanda "{" dan "}".
if(condition)
   "condition if true;"
else
   "condition if false;"

Tentu saja dengan ketentuan bahwa condition if true/false nya harus hanya berisi satu aksi. Jika aksinya lebih dari satu, dan berada dalam kondisi if true, maka browser akan mengembalikan nilai error.
Parse error: syntax error, unexpected T_ELSE in /var/www/html/syuaa/index.php on line [line error]

Hal itu terjadi karena struktur If Else diatas hanya bisa mengeksekusi satu aksi. Begitu juga jika aksi pada else ditambah satu aksi baru, maka aksi tersebut akan dianggap diluar dari fungsi If Else.

Untuk aplikasinya bisa dilihat pada contoh dibawah :
$x = "Syuaa";

if($x == "Syuaa") {
   echo "Selamat datang Syuaa";
}else{
   echo "Maaf, Anda tidak dikenali";
}

Setelah dikonversi maka hasilnya seperti ini :
$x = "Syuaa";

if($x=="Syuaa")
   echo "Selamat datang Syuaa";
else
   echo "Maaf, Anda tidak dikenali";

Fungsi Pengganti If Else pada PHP

Secara standar, fungsi If Else dapat dilihat sebagai berikut :
if(condition) {
   "condition if true";
}else{
   "condition if false";
}

Untuk menggantinya, bisa menggunakan operator ? dan : sehingga code diatas bisa dipersingkat menjadi seperti ini:
condition ? "condition if true" : "condition if false";

Untuk penggunaannya bisa dilihat pada contoh dibawah :
$x = "Syuaa";
if($x == "Syuaa") {
   echo "Selamat datang Syuaa"; 
}else{
   echo "Maaf, Anda tidak di kenal"; 
}

Setelah di konversi, maka hasilnya seperti ini :
$x = "Syuaa";
echo $x=="Syuaa" ? "Selamat datang Syuaa" : "Maaf, Anda tidak dikenal";