Penggunaan fungsi OCTAL pada PHP

Zero padding adalah penambahan angka Nol pada depan angka. Zero padding digunakan untuk memformat bilangan dengan diawali angka 0 (nol) dengan tujuan menghasilkan jumlah digit yang tetap. Dalam pemrograman PHP dapat digunakan untuk menampilkan integer dalam format zero-padded langsung ditampilkan pada klien atau untuk digunakan pada proses selanjutnya misalnya sebagai parameter pada fungsi lain yang dibuat.

Dalam sebuah kasus, seorang pengembang aplikasi, dihadapkan kepada persoalan, manajemen angka/bilangan. Dimana dia diminta oleh konsumennya, untuk menerapkan penggunaan jumlah digit yang sama, pada seluruh angka/bilangan, yang diproses pada aplikasinya. Misalnya, nilai suatu proses adalah 1234, karena ditetapkan digit sebanyak 7 digit, maka hasilnya harus 0001234, dan bukan 1234, lalu apakah beda nilai 0001234 dan 1234 ? itu terserah konsumen,. 🙂

Untuk menghasilkan format zero-padded pada PHP, dapat menggunakan fungsi sprintf(). Misalnya seperti kasus diatas kita akan memformat suatu integer dan string dalam format zero-padded dengan panjang digit 7.

Berikut cara pengguanaannya

$bilangan=1234; // Nilai Proses
$fzeropadded = sprintf("%07d", $bilangan);
echo "$fzeropadded "; // Hasil 0001234

Dalam function sprintf, dapat digunakan tipe angka selain desimal, berikut tipe angka dan format yang dapat digunakan pada function sprintf :

1. %s = String.
2. %d = desimal.
3. %x = hexadesimal.
4. %o = Octal.
5. %f = Float.

Selamat mencoba dan semoga artikel ini bermanfaat, sampai jumpa lagi di artikel berikutnya, dan jika ada yang mau di tanyakan, ilahkan meninggalkan komentar pada form yang telah kita sediakan di abwah ini. 🙂

About The Author

Robby Prihandaya

Robby is an Engineer, Entrepreneur, Thinker and Founder of phpmu.com programming blog. a very popular web development site, Lives in Padang - Indonesia

Integer atau bilangan bulat adalah tipe data PHP yang mewakili angka yang bukan pecahan entah itu positif maupun negatif.

Bilangan bulat dapat dibuat menggunakan notasi desimal, heksadesimal, oktal, dan biner, notasi desimal merupakan yang paling sering digunakan.

Meskipun di dunia nyata bilangan bulat tidak memiliki batas, di beberapa bahasa pemrograman biasanya memiliki batasan, termasuk PHP, batasnya tergantung dengan platform yang diguankan.

Berikut beberapa topik yang akan kita bahas terkait tipe date integer di PHP:

  1. Cara Membuat Integer
    1. Desaimal (basis 10)
    2. Oktal (basis 8)
    3. Heksadesimal (basis 16)
    4. Biner (basis 2)
  2. Garis Bawah Pemisah Diantara Angka
  3. Ukuran Integer
  4. Konversi String ke Integer
  5. Membuat Random Integer

Cara Membuat Integer

Untuk membuat integer di PHP, kita bisa menggunakan notasi desimal, heksadesimal, oktal, atau biner. Mari kita pelejari satu per satu.

Desimal (basis 10)

Integer desimal dapat dibuat menggunakan sintaks yang sama seperti kita membuat bilangan bulat di dunia nyata, tapi tidak boleh diawali dengan nol karena ini akan dianggap sebagai bilangan oktal.

Contoh:

<?php

$desimal = 1234567;

var_dump($desimal); // int(1234567)

Oktal (basis 8)

Untuk membuat bilangan bulat menggunakan notasi oktal, kita dapat mengawali angka dengan 0 atau 0o.

Contoh:

<?php

$oktal1 = 04553207;
$oktal2 = 0o4553207;

var_dump($oktal1); // int(1234567)
var_dump($oktal2); // int(1234567)

Heksadesimal (basis 16)

Untuk membuat bilangan bulat menggunakan notasi heksadesimal di PHP, kita dapat mengawali angka dengan 0x.

Contoh:

<?php

$heksadesimal = 0x12D687;

var_dump($heksadesimal); // int(1234567)

Biner (basis 2)

Untuk membuat bilangan bulat menggunakan notasi biner, awali angka dengan 0b.

Contoh:

<?php

$biner = 0b100101101011010000111;

var_dump($biner); // int(1234567)

Garis Bawah Pemisah Diantara Angka

Sejak PHP 7.4.0, bilangan bulat dapat diberi garis bawah sebagai pemisah untuk keterbacaan. Garis bawah ini nantinya akan dihapus oleh interpreter PHP, sehingga tidak mempengaruhi angka yang kita tulis.

Misalnya, saat kita menulis angka jumlah uang yang banyak terkadang kita sedikit kesulitan untuk membacanya apakah angka tersebut ribuan, raturan ribu, atau jutaan.

Agar lebih mudah dibaca kita bisa menyisipkan garis bawah, biasanya digunakan untuk memisahkan tiga angka dari belakang.

Contoh berikut kita menulis angka 10 juta tanpa garis di variabel $harga1, dan $harga2 dengan nilai yang sama tapi menggunakan garis bawah, keduanya setara, ingatlah garis bawah hanya digunakan untuk keterbacaan tidak mempengaruhi nilainya.

<?php

// tanpa garis bawah (agak sulit dibaca)
$harga1 = 10000000;

// dengan garis bawah (lebih mudah dibaca);
$harga2 = 10_000_000;

var_dump($harga1); // int(10000000)
var_dump($harga2); // int(10000000)

Ukuran Integer

Nilai integer memiliki batas maksimum dan minimum, batasnya tergantung dengan platform yang kita gunakan, di platform 32-bit nilai maksimumnya sekitar dua miliar, sedangkan 64-bit 9E18.

Untuk memeriksanya, kita bisa menggunakan konstanta PHP_INT_MAX untuk batas maksimum dan PHP_INT_MIN untuk batas minimum.

var_dump(PHP_INT_MIN); // int(-9223372036854775808)
var_dump(PHP_INT_MAX); // int(9223372036854775807)

Karena saya menggunakan platform 64-bit batas minimalnya adalah -9223372036854775808 dan maksimal 9223372036854775807, lebih besar dari 32-bit.

Bagaimana jika kita melakukan kalkulasi yang menghasil nilai diluar rentang nilai integer yang ditentukan? ini disebut integer overflow dan akan menghasilkan nilai floating point, tidak lagi integer.

Mari kita buktikan.

<?php

$tes = PHP_INT_MAX + 1;

var_dump($tes); // float(9.223372036854776E+18)

Konversi String ke Integer

Terkadang saat bekerja dengan tipe data integer dan string kita perlu mengkonversi string yang berisi angka menjadi integer.

Ini bisa kita lakukan dengan dua cara, menggunakan fungsi intval() atau type casting.

Yang perlu diperhatikan di sini, angka yang ada di dalam string harus sesuai dengan notasi desimal, jika string kosong, berisi huruf, atau campuran huruf dan angka, maka kedua metode ini akan mengembalikan nilai integer 0.

Contoh menggunakan fungsi intval():

<?php

$intString = '1234567';
$string = 'abc';
$mixString = 'a2b3c';

$intStringConverted = intval($intString);
$stringConverted = intval($string);
$mixStringConverted = intval($mixString);

var_dump($intStringConverted); // int(1234567)
var_dump($stringConverted); // int(0)
var_dump($mixStringConverted); // int(0)

Contoh menggunakan type casting:

<?php

$intString = '1234567';
$string = 'abc';
$mixString = 'a2b3c';

$intStringConverted = (int) $intString;
$stringConverted = (int) $string;
$mixStringConverted = (int) $mixString;

var_dump($intStringConverted); // int(1234567)
var_dump($stringConverted); // int(0)
var_dump($mixStringConverted); // int(0)

Membuat Random Integer

Saat bekerja dengan tipe data integer terkadang kita memerlukan angka acak yang dihasilkan secara otomatis, di PHP kita bisa menggunakan fungsi rand().

Sintaks

rand(int $min = 0, int $max = getrandmax()): int

Parameter

  • min (opsional) - minimal angka acak (default: 0)
  • max (opsional) - maksimal angka acak, defaulnya adalah nilai yang dihasilkan fungsi getrandmax().

Nilai Kembalian

Mengembalikan nilai integer dalam rentang min dan max jika ditentukan, jika tidak akan menghasilkan integer acak dari 0 hingga getrandmax().

Contoh

<?php

$random = rand();
$random1To10 = rand(1, 10);

var_dump($random); // int(584915378) - CATATAN: nilai berubah-ubah
var_dump($random1To10); // int(9) - CATATAN: nilai berubah-ubah