Saturday, 6 February 2016

Beberapa Perubahan pada PHP 7 PART 1



      1. Perubahan pada list()
Pengisian variabel pada list tidak lagi terbalik
Pengisian value ke list() sekarang menurut urutan value yang diisikan, tidak lagi terbalik seperti pada PHP 5. Umumnya, ini akan berpengaruh ketika list digunakan dengan operator array [].
<?php
list($a[], $a[], $a[]) = [123];
var_dump($a);
?>

Output dari kode diatas pada PHP 5 :
array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}
Output pada PHP 7 :
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}
Namun, direkomendasikan agar tidak terlalu bergantung urutan pada urutan list(), karena bisa jadi masih bisa berubah lagi kedepannya.

Pengisian list() kosong dihilangkan
Pembuatan list() tidak boleh kosong. Kode seperti dibawah ini sudah tidak diperbolehkan :
<?php
list() = $a;
list(,,) = 
$a;
list(
$x, list(), $y) = $a;
?>
list() tidak bisa memecah string
list() sekarang tidak bisa lagi memecah variabel string. Untuk memecah string dapat menggunakan str_split().
2.      Perubahan pada foreach
foreach by-value menggunakan salinan dari array
Ketika digunakan pada mode default by-value, foreach sekarang menggunakan salinan dari array yang diiterasikan. Artinya perubahan pada array sumber ketika iterasi berlangsung tidak akan mempengaruhi data yang diiterasikan.

foreach by-reference ditambahkan behaviour baru
Ketika iterasi menggunakan by-reference, foreach sekarang dapat mendeteksi perubahan pada array sumber ketika iterasi berlangsung. Contohnya, menambahkan data kesebuah array ketika iterasi berlangsung sekarang juga akan menghasilkan data yang ditambahkan ketika iterasi :
<?php
$array 
= [0];
foreach (
$array as &$val) {
    
var_dump($val);
    
$array[1] = 1;
}
?>
Output pada PHP 5 :
int(0)
Output pada PHP 7 :
int(0)
int(1)

3.      Perubahan pada integer handling
Literal bilangan oktal
Sebelumnya, literal oktal yang mengandung angka yang tidak valid akan dihilangkan. Contoh 0128, maka yang diambil 012. Sekarang literal oktal yang tidak valid akan menyebabkan error.

Perubahan pada Division By Zero
Sebelumnya, ketika 0 digunakan sebagai pembagi untuk operator pembagi (/) atau modulus (%), sebuah E_WARNING akan tampil dan akan me-return false. Sekarang, operator pembagi me-return sebuah float, antara +INF,-INF, atau NAN. Pada operator modulus E_WARNING telah dihilangkan dan akan melempar sebuah exception DevisionByZeroError.
<?php
var_dump
(3/0);
var_dump(0/0);
var_dump(0%0);
?>

Output pada PHP 5 :
Warning: Division by zero in %s on line %d
bool(false)
 
Warning: Division by zero in %s on line %d
bool(false)
 
Warning: Division by zero in %s on line %d
bool(false)
 
Output pada PHP 7 :
Warning: Division by zero in %s on line %d
float(INF)
 
Warning: Division by zero in %s on line %d
float(NAN)
 
PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in %s line %d
 
4.      Fungsi tidak boleh memiliki parameter ganda dengan nama yang sama
Sekarang tidak diperbolehkan lagi untuk mendefinisikan dua atau lebih fungsi dengan nama yang sama. Contoh dibawah akan men-trigger E_COMPILE_ERROR :
<?php
function foo($a$b$unused$unused) {
    
//
}
?>

5.      Swicth tidak boleh memiliki blok default ganda
Tidak dimungkinkan lagi untuk mendefinisikan dua tau lebih blok default pada sebuah statement switch. Contoh dibawah akan menghasilkan sebuah E_COMPILE_ERROR :
<?php
switch (1) {
    default:
    break;
    default:
    break;
}
?>

6.      Karakter # untuk komentar dihilangkan pada file INI
Dukungan untuk membuat komentas dengan karakter # pada file INI telah dihilangkan. Untuk itu dapat menggunakan semi-kolon (;) atau titik koma. Perubahan ini diterapkan pada php.ini.

Tuesday, 27 January 2015

Monday, 24 November 2014

Aplikasi JAVA : Membilang Bilangan (Tipe Angka, bisa sampai 16 digit lebih)

Halo sobat, kali ini saya akan membagikan aplikasi sederhana untuk membilang bilangan, atau mengkonversi angka menjadi kata atau kalimat. Untuk algoritmanya silahkan dipahami sendiri, saya sedang males jelasin, hehehe :-)
Bila ada yang ditanyakan silahkan komentar.

Ini screenshootnya :



Donwload pada link dibawah :
Download

Monday, 2 June 2014

Program C++ Sederhana





Saya kali ini akan share beberapa aplikasi sederhana C++(Borland C++). Oke langsung saja klik link dibawah . . .


Aplikasi 1
Aplikasi 2
Aplikasi 3
Aplikasi 4
Aplikasi 5
Aplikasi 6
Aplikasi 7
Aplikasi 8
Aplikasi 9
Aplikasi 10

Aplikasi PHP, MySQL, AJAX : Sistem Inventaris Barang

Aplikasi PHP, MySQL, AJAX : Sistem Inventaris Barang
Screen Shot 1
Aplikasi PHP, MySQL, AJAX : Sistem Inventaris Barang
Screen Shot 2

Aplikasi PHP, MySQL, AJAX : Sistem Inventaris Barang
Screen Shot 3

Aplikasi PHP, MySQL, AJAX : Sistem Inventaris Barang
Screen Shot 4



Saya kali ini akan men-share aplikasi inventaris sederhana untuk mencatat atau memanajemen barang. Aplikasi ini saya buat dengan menggunakan PHP, AJAX, dan MySQL. Mohon maaf mungkin kurang menarik, maklum baru belajar, hehehe :-)

NOTE : Aplikasi ini dibangun dengan XAMPP versi 1.8, didalamnya masih menggunakan library mysql,
jadi jika dijalankan di PHP versi 7 akan error karena sudah tidak didukung lagi (baca perubahan di PHP 7).
Jika ada error yang berhubungan dengan URL not found atau file not found, kemungkinan itu error karena HTACCESS-nya, jadi bisa googling untuk mengaktifkan mod rewrite di webserver atau baca artikel saya Mengenal HTACCESS, Tutorial HTACCESS, Tips HTACCESS.
Download di link dibawah ini
Download 1
Download 2
Download 3
Download 1
Download 2 via 4shared
Download 3 via Tusfiles
Download 4

Password : 1nv3nt4r1s

Harap laporkan jika link mati :-)

Tuesday, 8 April 2014

Mempercantik Tooltip dengan CSS3

Halo sobat, ketemu lagi dengan saya, hehehe
Hari ini saya akan membahas mengenai cara membuat tooltip sederhana. Tooltip adalah sebuah teks yang muncul ketika kita mengarahkan mouse ke suatu elemen. Dalam HTML untuk membuat tooltip dengan menyisipkan atribut title dan atribut alt untuk tag img. Tooltip biasa digunakan untuk mendeskripsikan sesuatu tentang elemen yang ditunjuk. Sebuah tooltip bisa sangat menarik jika kita dapat menghiasnya dengan menggunakan CSS.
Oke langsung saja pertama-tama kita buat markup HTML-nya terlebih dahulu :

<!DOCTYPE html>
<html>
<head><title>Tooltip CSS</title></head>
<body>
<div id="wrap">
<h1>Tooltip sederhana dengan CSS</h1>
<a class='tooltip' href="#" title="Ini adalah tooltip sederhana."><span title="More">CSS3 Tooltip</span></a>
</div>
</body>
</html>

Saya jelaskan sedikit tentang script diatas. Kita akan meletakkan tooltip di tag a dengan class tooltip. Lah yang tag span buat apa?? Tag span digunakan untuk menghandle title dari tag a agar tidak ditampilkan dua kali. Ini disebabkan oleh setting bawaan browser. Untuk mengatasinya cukup sisipkan tag span dan tambahkan atribut title didalam tag a, sehingga yang akan ditampilkan adalah title yang ada dalam span. Oke langsung saja kita buat CSS-nya :

.tooltip{
    display: inline;
    position: relative;
}


Script diatas adalah dasar untuk style kita nanti. Tooltip akan ditampilkan secara inline dan dengan posisi  relative. Selanjutnya tambahkan script style berikut :

.tooltip:hover:after{
    background: #333;
    background: rgba(0,0,0,.8);
    border-radius: 5px;
    bottom: 26px;
    color: #fff;
    content: attr(title);
    left: 20%;
    padding: 5px 15px;
    position: absolute;
    z-index: 98;
    width: 220px;
}

Script diatas untuk membuat box atau tempat tooltip. Pada script diatas terdapat properti content, lalu apakah fungsinya?? Fungsi properti content adalah menyisipkan konten, konten dapat berupa file, string, maupun isi sebuat atribut dalam HTML. Dan dalam hal ini kita mengisi konten dengan isi dari atribut title. Untuk menambah cantik tooltip, kita tambahkan panah dengan sedikit tambahan CSS :

.tooltip:hover:before{
    border: solid;
    border-color: #333 transparent;
    border-width: 6px 6px 0 6px;
    bottom: 20px;
    content: "";
    left: 50%;
    position: absolute;
    z-index: 99;
}

Hasilnya :
Mempercantik Tooltip dengan CSS

Akhirnya selesai juga tooltipnya. Sobat juga dapat menggakannya pada atribut alt pada tag img. Silahkan sobat ubah sesuai selera sobat. Semoga bermanfaat . . . :-)

Membuat Rating Menggunakan PHP, AJAX dan My SQL

Halo sobat ketemu lagi di blog saya. Kali ini saya akan membehas mengenai cara membuat rating sederhana dengan menggunakan PHP, Ajax, dan My SQL. Silahkan disimak baik-baik ya . . . J
Pertama-tama kita siapkan yang kita butuhkan. Untuk rating biasanya menggunakan simbol bintang, maka sobat cari gambar bintang. Untuk gambar ini sobat cari 3 jenis, yang pertama untuk menampilkan jumlah rating, kemudian yang kedua untuk pemberian rating dan yang terakhir untuk pemberian rating ketika di-hover.
Yang kedua buat database dengan struktur tabel sebagai berikut :
CREATE DATABASE IF NOT EXISTS `aplikasi_rating`;
USE `aplikasi_rating`;

CREATE TABLE IF NOT EXISTS `rating` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(50) NOT NULL,
  `rating` int(11) NOT NULL,
  `voter` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

Setelah itu buat file baru di editor sobat, beri nama rating.php atau terserah sobat. Kemudian masukkan script berikut :

<html>
<head>
<script type="text/javascript">
var xmlhttp;
function buatRq(){
            if(window.ActiveXObject)
            {
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else
            {
                        xmlhttp = new XMLHttpRequest();
            }
}
function tampilKan(){
            buatRq();
            xmlhttp.onreadystatechange = tanganiIni;
            xmlhttp.open("GET","rating.php",true);
            xmlhttp.send(null);
}
function beriRating(i,j){
            xmlhttp.onreadystatechange = tanganiIni;
            xmlhttp.open("GET","rating.php?rating="+i+"&id="+j,true);
            xmlhttp.send(null);
            alert("Terima Kasih");
}
function tanganiIni(){
            if(xmlhttp.readyState == 4){
                        if(xmlhttp.status == 200){
                                    document.getElementById("hasil").innerHTML = xmlhttp.responseText;
                                    setTimeout('tampilKan()',1000);
                        }
            }
}
function diatasRating(i,x){
            var l;
            for(l=1;l<=i;l++)
            {
                        document.getElementById(x+"_"+l).src = "ratingisi.png";
            }
}
function diatasRatin(i,x){
            var l;
            for(l=1;l<=i;l++)
            {
                        document.getElementById(x+"_"+l).src = "rating.png";
            }
}
</script>
<body onload="tampilKan();">
<div id="hasil"></div>
</body>
</html>


Script diatas befungsi untuk membuat request data ke server. Sekarang kita buat file untuk menampung request datanya. Scriptnya sebagai berikut :
<style>
.ratink{
width : 335px;
border : 1px solid black;
border-radius : 10px;
margin-bottom : 10px;
padding : 10px;
box-shadow : 0 0 4px 0;
}
.berirating{
overflow : hidden;
}
.tampil_rating{
overflow : hidden;
</style>

<?php
mysql_connect("localhost","root","");
mysql_select_db("aplikasi_rating");

if(isset($_GET['rating']) && isset($_GET['id']))
{
            $rating = $_GET['rating'];
            $id       = $_GET['id'];
            mysql_query("update rating set rating = rating + ".$rating.",voter = voter + 1 where id = '".$id."'");
}
$q = mysql_query("select * from rating");

while($d=mysql_fetch_array($q))
{
           
           
            $id       = $d['id'];
            $nama = $d['nama'];
            $rating = $d['rating'];
            $voter = $d['voter'];
            if($rating == 0 || $voter == 0)
            {
                        $rate = 0;
            }
            else
            {
                        $rata = $rating/$voter;
                        $rate = round($rata);               
            }
           
            echo "<div class='ratink'>";
            echo "<div class='tampil_rating'>";
            echo "<b>".$nama."</b> mempunyai rating : ".$rate." ";
            if($rate == 1)
            {
                        echo "<img src='rating.jpg' width='25' />";
            }
            else if($rate == 2)
            {
                        for($i=1;$i<=2;$i++)
                                    echo "<img src='rating.jpg' width='25' />";
            }
            else if($rate == 3)
            {
                        for($i=1;$i<=3;$i++)
                                    echo "<img src='rating.jpg' width='25' />";
            }
            else if($rate == 4)
            {
                        for($i=1;$i<=4;$i++)
                                    echo "<img src='rating.jpg' width='25' />";
            }
            else if($rate == 5)
            {
                        for($i=1;$i<=5;$i++)
                                    echo "<img src='rating.jpg' width='25' />";
            }
            echo "</div>";
           
           
            echo "<div class='berirating'>";
            echo "Beri rating : ";
            for($i=1;$i<=5;$i++)
            {
                        ?>
                        <img id="<?php echo $id."_".$i; ?>" src="rating.png" width="25" onmouseover="diatasRating('<?php echo $i; ?>','<?php echo $id; ?>');" onmouseout="diatasRatin('<?php echo $i; ?>','<?php echo $id; ?>');" onclick="beriRating('<?php echo $i; ?>','<?php echo $id; ?>');" />
                        <?php
            }
            echo "</div></div>";
}
?>
Script diatas digunakan untuk handler data. Beri nama file diatas rating.php. Kemudian untuk gambarnya silahkan sobat tempatkan satu folder dengan dua script diatas. Untuk menjalankannya tinggal jalankan script rating.html. Hasilnya :
Membuat Rating Menggunakan PHP, AJAX dan My SQL
Hasil


Oke, sekian artikel saya kali ini dan semoga bermanfaat bagi sobat semua. Tunggu artikel-artikel selanjutnya ya . . . J