Kamis, 31 Desember 2015

PHP - Kompleksitas Kode untuk Keluaran


PHP merupakan salah satu bahasa yang sangat populer di Indonesia. Dan tulisan ini saya buat untuk semua kalangan developer yang memcari efisiensi penulisan kode serta kompleksitasnya sehingga waktu eksekusi dapat dioptimalkan.

Data yang saya dapat berasal dari hasil melakukan eksperimen dengan bantuan alat PHP Profiler. Adapun yang saya gunakan yaitu Blackfire. Setelah melakukan banyak eksperimen dengan function print, printf, dan echo. Dengan pertimbangan banyak aspek tes seperti melakukan keluaran dengan big number (integer) yang terdiri dari 19 digit serta karakter huruf a-z yang terdiri dari 260 karakter.

Apa saja yang akan diuji? Saya akan uji beberapa tipe data seperti integer, string, dan array. Serta manipulasi variable dan mixing data type.

Integer

Untuk tipe data integer, dari hasil tes yang saya lakukan, sebaiknya gunakan print atau printf. Adapun waktu tercepat diperoleh oleh printf dengan beberapa ketentuan. Apakah Anda mengenal data type convertion di dalam bahasa C? Dengan menggunakan itu, kita akan mempercepat eksekusi kode. Caranya sangat mudah, tambahkan saja "(int)" di depan angka yang kita definisikan. Semisal:

$var = (int) 1;

Berbeda jika tanpa (int), kecepatan eksekusi berkurang, kenapa? Saya memiliki hipotesis seperti ini, "Tipe data di dalam PHP asumsikan saja umum, jika kita mendefinisikan tipe data-nya, maka kita mempercepat eksekusi waktunya". Kenapa? Jika tipe data tidak di definisikan, maka PHP akan mendefinisikannya untuk kita sehingga memerlukan waktu lagi. Karena itu, jika tipe data tersebut selalu sama dalam contoh kasus integer, maka tambahkan/gunakan (int) di depannya.
Untuk penggunaan kode-nya, bisa dilihat seperti ini.

print (int) 0123456789;
printf((int) 0123456789);
$var = (int) 0123456789;
print $var;
printf("%d", $var);

String

Berbeda dengan integer, tipe data string memiliki banyak aturan untuk efisiensi eksekusi waktunya. Tapi, secara umum tipe data string sudah cukup cepat jika menggunakan print atau echo. Sama halnya dengan integer yang menggunakan data type convertion (int), string juga akan lebih cepat jika menggunakan (string). Namun, jika menggunakan (string) sebaiknya saat penggunaan kutip satu (') saja. Penjelasan penggunaannya supaya efisien sebagai berikut.

print 'keluaran';
echo 'keluaran'; # sebaiknya gunakan echo
print (string) 'keluaran'; # sebaiknya gunakan print
echo (string) 'keluaran';
print "keluaran";
echo "keluaran"; # sebaiknya gunakan echo

Untuk variabel string, penggunaannya supaya efisien sebagai berikut.

$var = 'keluaran';
print $var;
echo $var; # sebaiknya gunakan echo
$var = "keluaran";
print $var;
echo $var; # sebaiknya gunakan echo
$var = (string) 'keluaran';
print $var;
echo $var; # sebaiknya gunakan echo
$var = (string) "keluaran";
print $var;
echo $var; # sebaiknya gunakan echo

Untuk fungsi printf, gunakan apabila kasusnya seperti ini saja.

$var = "keluaran";
printf("%s", $var);

Kesimpulan untuk tipe data string, sebaiknya gunakan echo saja.

echo 'keluaran'; # jika hanya string tanpa variabel, gunakan kutip satu saja
echo "keluaran $var"; # jika dengan variabel, gunakan kutip dua seperti ini saja

Array

 Tes ini dilakukan dengan array yang total isinya 1.000 index. Ada 2 cara penulisan array, yaitu.

array(...); # dengan function array
[...]; # dengan simbol []

Dari dua cara di atas, sebaiknya gunakan simbol [] untuk mendefinisikan array. Karena penggunaan [] lebih ringan dibandingkan dengan array().
Di dalam bermain array, untuk looping sebaiknya gunakan foreach. Dari hasil tes yang saya lakukan dengan array yang memiliki 1.000 index, function foreach yang memiliki kecepatan tertinggi dalam proses eksekusinya.

Peringatan! foreach yang terbaik apabila hanya digunakan untuk menampilkan data dari array. Namun, jika untuk melakukan modifikasi isi array, tentu saja berbeda.

$array = [0,1,2,3,..,1000]; # array berjumlah 1.000 index
foreach($array as $value) ...; # jika hanya ingin mengambil isi array
foreach($array as $key=>$value) ...; # jika ingin mengambil index serta isi array
# untuk mengambil index/keys pada array lalu melakukan manipulasi, sebaiknya gunakan
$keys = array_keys($array);
foreach($array as $value) lebih cepat dibandingkan dengan foreach([...] as $value)

Kesimpulan untuk tipe data array, dalam kebutuhan untuk keluaran, foreach merupakan yang terbaik. Untuk kecepatan, foreach($var as $new_var) lebih cepat dibandingkan dengan foreach([1,2,3,..,n] as $new_var).

Kesimpulan

Berbeda tipe data juga berbeda penanganannya untuk keluaran. Untuk int, print merupakan pilihan terbaik. Namun untuk str, echo-lah yang terbaik. Sementara untuk array, foreach lebih baik daripada penggunaan for dan while dalam kasus looping.

Penutup

Tulisan yang membahas kompleksitas serta efisiensi penulisan kode untuk PHP ini telah selesai. Tulisan yang dibuat bisa saja terdapat kesalahan, maka dari itu apabila menemukan kesalahan pada tulisan ini, saya berharap dapat dikoreksi bersama. Bukan bermaksud menggurui, saya hanya berbagi pengalaman yang saya dapatkan. Terima kasih.

Tulisan Lainnya:

  • Free Pascal - Memulai Masuk ke Dunianya Free Pascal merupakan salah satu bahasa pemrograman favorit dalam kompetisi yang menggunakan bahasa pemrograman. Syntax kode-nya mudah dibaca sehingga bahasa ini menjadi pilihan di Indonesia. Katanya, Free Pascal mudah dip… Baca
  • Free Pascal - Tips untuk Kode yang Lebih Baik Di dalam bahasa pemrograman apapun, dikenal dengan faster code dan smaller code. Adapun tujuannya yaitu untuk mendapatkan kompleksitas kode yang baik sehingga ukuran kode ringan serta cepat. Berikut ini tips yang diberikan… Baca
  • PHP - Penulisan Gaya If Statement Dalam bahasa pemrograman PHP, ada banyak cara atau gaya penulisan if statement. Beberapa gaya mungkin menjadi ciri khas seseorang, tapi beberapa gaya penulisan ini juga dapat digunakan sesuai kebutuhannya. Misal, apabila di… Baca
  • Free Pascal - Referensi Tipe Data Secara Umum Bahasa pemrograman Free Pascal sebenarnya memiliki banyak tipe data. Namun, beberapa tipe data yang digunakan secara umum meliputi Integer, Subrange, Boolean, Strings, dan Arrays. Yang saya maksud "umum" di sini merupakan… Baca
  • PHP - Kompleksitas Kode untuk Keluaran PHP merupakan salah satu bahasa yang sangat populer di Indonesia. Dan tulisan ini saya buat untuk semua kalangan developer yang memcari efisiensi penulisan kode serta kompleksitasnya sehingga waktu eksekusi dapat dioptima… Baca

2 komentar :

Komentar saya buka untuk umum termasuk Anonim. Gunakanlah bahasa Indonesia yang baik dan benar.