Belajar Kode Program

Blog belajar menulis kode program dan aplikasi komputer

Sabtu, 11 Maret 2017

Sintaks Dasar PHP yang Wajib Diketahui Programmer

Dalam belajar bahasa program, biasanya kita dituntut untuk menguasainya secara terstruktur. Harus belajar algoritmanya dulu, kemudian tipe data, operator, dan sebagainya. Memang benar, jika itu diikuti sesuai tahapannya, Anda akan menjadi seorang programmer yang mumpuni. Tetapi ada kalanya Anda dihadapkan pada kondisi belajar cepat suatu bahasa program. Kami dari Belakode mencoba mensarikan beberapa sintaks dasar yang wajib Anda ketahui sebagai programmer PHP.

Paling Dasar

Di bagian paling dasar ini kami menyajikan beberapa sintaks yang memang harus diketahui, yakni integrasi ke dokumen HTML, operasi variabel, kondisional, serta perulangan.

Integrasi ke dokumen HTML:

<body>
<?php
$judul = 'Berita Belakode';
?>
<h1><?=$judul ?></h1>
</body>

Operasi Variabel:

//penggabungan string dengan tanda titik
$judul = $str1 . ' ' . $str2;
$judul .= ' ' . $str1 ; //$judul = $judul . ' ' . $str1
echo $judul;

//perkalian, pertambahan, pengurangan, dan pembagian (aritmatika)
$a = 10 * 5; // $a = 50
$b = $a + 7; // $b = 57
$c = $b - 1; // $c = 56
$d = $c / 8; // $d = 7

//pembagian sisa atau modulus
$e =  $d % 5; // $e = 2 (sisa dari 7 yang habis dibagi 5)

//pangkat
$f = $e**2; // $f = 2 pangkat 2, yaitu 4

//inkremen (nambah 1) dan dekremen (kurang 1), ada yang post dan pre. Silakan bandingkan bedanya
$i = 10;
$j = 20;
echo '$i++ = ' . $i++ . '<br>'; // nilai $i masih 10
echo '$i = ' .$i . '<br>'; // nilai $i berubah jadi 11
echo '$i-- = ' .$i-- . '<br>';  // $nilai $i masih 11
echo '$i = ' .$i . '<br>'; //nilai $i berubah
echo '++$j = ' .++$j . '<br>'; // nilai $j sudah 21
echo '$j = ' .$j . '<br>'; //$nilai $j tetap 21
echo '--$j = ' .--$j . '<br>';  // $nilai $j sudah 20
echo '$j = ' .$j . '<br>'; //$nilai $j tetap 20

//operasi logika
$t = true;
$f = false;
$benar = $t and $t;
$benar = $t or $f;
$benar = $t && $t;
$benar = $t || $f;
$salah = !$f;

Kondisional:

<?php 
if($a>0)
{
 $c= 10/$a;
}
elseif ($a==0) {
 $c = 0;
}
else
{
 $c = 1/$a;
}

Bentuk lain:

if ($a > $b):
    echo $a." is greater than ".$b;
elseif ($a == $b): // Note the combination of the words.
    echo $a." equals ".$b;
else:
    echo $a." is neither greater than or equal to ".$b;
endif;

Kondisional bisa juga menggunakan keyword switch:

$favcolor = "red";

switch ($favcolor) {
    case "red":
        echo "Your favorite color is red!";
        break;
    case "blue":
        echo "Your favorite color is blue!";
        break;
    case "green":
        echo "Your favorite color is green!";
        break;
    default:
        echo "Your favorite color is neither red, blue, nor green!";
}

Jika menggunakan bentuk shorthand,

$a = $b > 10 ? $b : $c;

Sintaks di atas merupakan bentuk singkat (shorthand) dari sintaks berikut:

if ($b > 10)
   $a = $b;
else
   $a = $c;

Pengulangan atau iterasi

menggunakan while:

$x = 1;

while($x <= 5) {
    echo "The number is: $x <br>";
    $x++;
}

atau

$x = 1;

do {
    echo "The number is: $x <br>";
    $x++;
} while ($x <= 5);

menggunakan looping for dan foreach

for ($x = 0; $x <= 10; $x++) {
    echo "The number is: $x <br>";
}

Kalau foreach, biasanya ada array yang hendak dicek satu per satu, contoh;

$warnas = array("red", "green", "blue", "yellow");

foreach ($warnas as $nilai) {
    echo "$nilai <br>";
}

Penanganan Error

$data = '';
try {
    if($data == NULL ) {
        throw new Exception("data masih kosong"); //jika ada error langsung dilarikan ke bagian catch
    };
    echo 'data sudah ada'; //tampil jika tidak ada error
} catch(Exception $e) {
    echo 'Pesan error: ' . $e->getMessage();
};

Tanggal dan Waktu

Untuk bekerja berkaitan dengan tanggal dan waktu, kita harus memahami beberapa bentuk waktu yang bisa diolah oleh PHP. Bentuk-bentuk tersebut adalah timestamp (bentuk 02-12-2017 dsb), unixtime (bentuk integer), dan serta bentuk teks (monday, saturday, dsb).

//menampilkan tanggal dan waktu sekarang
echo date('l, d-m-Y h:i:s a') . "<br/>";
echo date('d / M / y') . "<br/>";
echo date('D - M / Y') . "<br/>";

//mendapatkan informasi waktu hari ini
print_r(getdate());

//waktu bukan hari ini
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998))."<br>";

$besok  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$bulanlalu = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$tahundepan  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);

echo "Besok : " . date("d M Y",$besok) . "<br>";
echo "Bulan lalu : " . date("M Y", $bulanlalu) . "<br>";
echo "Tahun depan: " . date("Y", $tahundepan) . "<br>";

//selain fungsi date(), ada class DateTime

$awal  = new DateTime('2017-08-10');
$akhir = new DateTime(); // Waktu sekarang
$diff  = $awal->diff($akhir);

//bentuk unix time

echo time();

//dari string ke bentuk waktu
echo strtotime("now") , "<br>";
echo strtotime("22 Desember 2016"), "<br>";
echo strtotime("+1 day"), "<br>";
echo strtotime("+1 month"), "<br>";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "<br>";
echo strtotime("next Friday"), "<br>";
echo strtotime("last Friday"), "<br>";

//selisih waktu dan hari
$tgl1 = "25-10-2017";
$tgl2 = "27-10-2017";

$selisih = strtotime($tgl2) -  strtotime($tgl1);
$hari = $selisih/(60*60*24); //1 hari = 24 jam * 60 menit * 60 detik
echo "Selisih = $hari hari <br>";

$besok = time() + (24 * 60 * 60); // 24 jam * 60 menit * 60 detik
echo 'Sekarang:       '. date('Y-m-d') ."<br>";
echo 'Besok: '. date('Y-m-d', $besok) ."<br>";
echo 'Minggu Depan: '. date('Y-m-d', strtotime('+1 week')) ."<br>";

Setting Timezone agar waktu sesuai dengan wilayah kita

date_default_timezone_set('Asia/Jakarta');

Pengolahan Data Pengguna

Untuk mengolah data pengguna, kita akan memainkan dua hal: data dari form dan data dari session.

var_dump($_POST);
echo "<br>";
var_dump($_GET);
echo "<br>";
var_dump($_REQUEST);
echo "<br>";

Contoh menggunakan SESSION:

<?php
session_start();  //harus di bagian paling atas
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}

Operasi File

Membaca file teks per baris

$lines = file('petugas.txt');
echo "<h3>Berikut ini daftar petugas</h3><hr>";
foreach ($lines as $line_num => $line){
 print "<font color=red>Line #{$line_num}</font> : " . $line . "<br />\n";
}

Baca dan tulis

$namafile = "contoh_file.txt";
$handle = fopen ($namafile, "w");
if (!$handle) {
 echo "Gagal";
} else {
 fwrite ($handle, "Tuliskan di sini<br>"); //nulis keseluruhan
 fputs ($handle, "Tambahkan tulisan di sini"); //menambahkan teks
 echo "Sukses nulis";
}
fclose($handle);

Membaca keseluruhan

//menggunakan file_get_contents (paling bagus secara performa)
$homepage = file_get_contents('http://www.example.com/');
$file = file_get_contents('./people.txt');

Silakan baca lebih lanjut di PHP file_get_contents.

Basis data MySQL

Untuk melakukan pengoperasian basis data pada PHP dengan MySQL, ada tiga pendekatan, yaitu mysql, mysqli, dan PDO. Untuk yang pertama, yaitu mysql sudah diganti dengan mysqli. Meskipun mungkin sintaks menggunakan mysql masih bisa jalan, tetapi metode itu sudah tidak didukung lagi oleh vendor MySQL. Di sini kita gunakan yang paling mudah, mysqli.

Koneksi database

$servername = "localhost";
$database = "dbnamecontoh";
$username = "root";
$password = "";

$conn = mysqli_connect($servername, $username, $password, $database);
if (!$conn) { // cek koneksi
    die("Koneksi gagal: " . mysqli_connect_error());
}
echo "Koneksi berhasil";
mysqli_close($conn);

Untuk sql update dan delete juga sama

$sql = "DELETE FROM petugas WHERE id LIKE '%nama%'";
$query = mysqli_query($db, $sql);

// jika query berhasil
if( $query ){
 header('Location: daftar_petugas.php');
} else {
 die("gagal query...");
}

Performa

Melihat waktu eksekusi

$timer = microtime(true);
sleep(2);
//sintaks lainnya
print $total_time = microtime(true) - $timer;//Print 2.0034
echo '<br>';
//atau
sleep(2);
$ru = getrusage();
print ($ru['ru_utime.tv_usec'] + $ru['ru_stime.tv_usec'])/1000000;

Selengkapnya lihat: https://www.techflirt.com/measure-execution-time-php-script.

Melihat memory yang dipakai pada titik tertentu (memory_get_usage)

print memory_get_usage()."\n" ;//print 354312;
$a = '';
for($i=0;$i<=100000;$i++){
 $a[] = $i;
}
print memory_get_usage()."\n";//4552792;
unset($a);
print memory_get_usage()."\n";//354312;

Melihat memori puncak (memory_get_peak_usage)

print 'Memori mula-mua  ' . memory_get_usage() . " bytes <br>";
$string = str_repeat("coba ", 100000);
$arr_split = str_split($string);
$count = count($arr_split);
for($i=0;$i<$count;$i++){
//sintaks Anda
}
print 'Memori setelah operasi di atas  ' . memory_get_usage() . " bytes <br>";
unset($string);
unset($arr_split);
unset($count);
unset($i);
print 'Memori setelah unset  ' . memory_get_usage() . " bytes <br>";
print 'Memori tertinggi (peak) yang pernah dicapai ' . memory_get_peak_usage() . ' bytes';

Lebih lanjut silakan baca di sini.

Nah, demikian semoga bisa bermanfaat!

Tidak ada komentar:

Posting Komentar