PHP: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Mengembalikan suntingan oleh 182.1.177.190 (bicara) ke revisi terakhir oleh Katyusha 97 Tag: Pengembalian Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan |
|||
(403 revisi antara oleh lebih dari 100 100 pengguna tak ditampilkan) | |||
Baris 1:
{{Infobox
|
| file ext = .php, .phar, .phtml, .pht, .php3, .php4, .php5, .php7, .phps, .php-s
| paradigm = imperatif, [[pemrograman berorientasi objek|berorientasi objek]], prosedural, reflektif
| released = {{start date and age|1995|06|08}}<ref name="mysqlconference">{{cite web|last=Lerdorf | first=Rasmus | title=PHP on Hormones – history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California | date=2007-04-26 | access-date=10 Februari 2024 | publisher=The Conversations Network | url=http://itc.conversationsnetwork.org/shows/detail3298.html}}</ref>
| designer = [[Rasmus Lerdorf]]
| developer = The PHP Development Team, [[Zend Technologies]]
| latest release version = 8.3.4<ref>{{cite web|url=https://www.php.net/archive/2024.php#2024-03-14-2|title=archive Releases 2024|website=php.net}}</ref>
| latest release date = {{start date and age|2024|03|14}}
| typing = [[Penulisan dinamis|Dinamis]], [[Mengetik kuat dan lemah|lemah]]
'''sejak versi 7.0:'''
[[Mengetik bertahap|bertahap]]<ref>{{cite web|url=https://secure.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict|title=PHP: Function arguments - Manual|website=secure.php.net}}</ref>
| implementations = [[Zend Engine]], [[HHVM]], [[Phalanger (kompilator)|Phalanger]], [[Quercus (software)|Quercus]], [[Project Zero]], [[Parrot virtual machine|Parrot]]
| dialects =
| influenced by = [[Perl]], [[HTML]], [[C (bahasa pemrograman)|C]], [[C++]], [[Java (bahasa pemrograman)|Java]], [[Tcl]],<ref name="mysqlconference" /> [[JavaScript]], [[Hack (programming language)|Hack]]<ref name="optimisation ideas">{{cite web | url = https://twitter.com/dstogov/status/672864802474229760 | title = It's not a secret that some #PHP7 optimization ideas came from HHVM, LuaJIT and V8.| last = Stogov | first = Dmitry | publisher = Twitter | date = 2015-12-04}}</ref>
| influenced = [[Hack (bahasa pemrograman)|Hack]], [[JSP]], [[Active Server Pages|ASP]]
| programming language = [[C (bahasa pemrograman)|C]] (utama; beberapa komponen [[C++]])
| operating system = [[Lintas platform]] (sistem [[mirip Unix]], [[Windows]], platform 32-bit dan 64-bit lain), [[IBM i]], [[OpenVMS]]
| license = [[Lisensi PHP]] (sebagian besar mesin Zend di bawah [[lisensi Zend Engine]])
| website = [https://www.php.net/ www.php.net]
}}
'''''PHP: Hypertext Preprocessor'''''<ref name="faq.general.acronym">{{Cite web |url=http://id2.php.net/manual/en/faq.general.php#faq.general.acronym |title=What does PHP stand for? |access-date=10 Februari 2024 |archive-date=2011-08-11 |archive-url=https://web.archive.org/web/20110811041315/http://id2.php.net/manual/en/faq.general.php#faq.general.acronym |dead-url=yes }}</ref> (sebelumnya disebut ''Personal Home Pages)'' atau hanya '''PHP''' saja, adalah bahasa skrip dengan fungsi umum yang terutama digunakan untuk [[pengembangan web]].<ref>{{Cite web|url=https://www.php.net/|title=PHP: Hypertext Preprocessor|website=www.php.net|access-date=10 Februari 2024}}</ref> Bahasa ini awalnya dibuat oleh seorang pemrogram Denmark-Kanada [[Rasmus Lerdorf]] pada tahun 1994.<ref name="History of PHP">{{cite web|title=History of PHP|url=https://php.net/manual/en/history.php.php|website=php.net}}</ref> Implementasi referensi PHP sekarang diproduksi oleh The PHP Group.<ref name="about PHP">{{cite web|access-date=10 Februari 2024|url=https://www.php.net/history|title=History of PHP and related projects |publisher=The PHP Group}}</ref> PHP awalnya merupakan singkatan dari '''''Personal Home Page''''',<ref name="History of PHP" /> tetapi sekarang merupakan singkatan dari inisialisasi rekursif '''''PHP: Hypertext Preprocessor'''''.<ref>[https://php.net/manual/en/preface.php PHP Manual: Preface], www.php.net.</ref>
Kode PHP biasanya diproses di [[peladen web]] oleh [[interpreter]] PHP yang diimplementasikan sebagai [[Plugin|modul]], [[daemon]], atau sebagai ''[[Common Gateway Interface]]'' (CGI) yang bisa dijalankan. Di server web, hasil dari kode PHP yang ditafsirkan dan dieksekusi (dapat berupa semua jenis data, seperti [[HTML]] atau data gambar [[biner]]) akan membentuk keseluruhan atau sebagian dari respons [[HTTP]]. Berbagai [[sistem templat web]], [[sistem manajemen konten]] web, dan [[Kerangka kerja aplikasi web|kerangka kerja web]] ada yang dapat digunakan untuk mengatur atau memfasilitasi pembuatan respons itu. Selain itu, PHP dapat digunakan untuk banyak tugas pemrograman di luar konteks web, seperti [[Antarmuka pengguna grafis|aplikasi grafis]] mandiri<ref>{{cite web | url = https://php.net/manual/en/intro-whatcando.php | work = PHP Manual | title = Introduction: What can PHP do? | access-date = 10 Februari 2024}}</ref> dan kontrol [[Pesawat nirawak|drone]] robotik.<ref>{{Citation|title=helicopter: Port of node-ar-drone which allows user to control a Parrot AR Drone over PHP: jolicode/php-ar-drone|date=2019-01-11|url=https://github.com/jolicode/php-ar-drone|publisher=JoliCode|access-date=10 Februari 2024}}</ref> Kode PHP juga dapat langsung dieksekusi dari [[baris perintah]].
== Sejarah PHP ==
{{multiple image
| align = right
| width = 105
| image1 = Rasmus Lerdorf cropped.jpg
| image2 = Andi Gutmans 1.jpg
| image3 = Zeev Suraski 2005 cropped.jpg
| footer = [[Rasmus Lerdorf]], pembuat dari PHP; dan [[Andi Gutmans]] dan [[Zeev Suraski]], pembuat dari [[Zend Engine]]
}}
PHP pertama kali dikembangkan oleh [[Rasmus Lerdorf]] pada tahun 1994. Pada awalnya PHP merupakan kependekan dari ''Personal Home Page'' (Situs personal). Pada waktu itu PHP masih bernama ''Form Interpreted'' (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari [[web]].
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya [[PHP/FI]]. Dengan perilisan kode sumber ini menjadi [[sumber terbuka]], maka banyak [[pemrogram]] yang tertarik untuk ikut mengembangkan PHP.
Pada November, dirilis PHP/FI 2.0. Pada perilisan ini, ''[[interpreter]]'' PHP sudah diimplementasikan dalam program [[C]]. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1995, sebuah perusahaan bernama [[Zend]] menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1995, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai [[PHP 3.0]] dan singkatan PHP diubah menjadi [[akronim berulang]] ''PHP: Hypertext Preprocessor''.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan [[PHP 4.0]]. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada
Versi terbaru dan stabil dari bahasa pemograman PHP saat ini adalah versi 8.3.<ref>{{Cite web|title=PHP: PHP 8.3.0 Release Announcement|url=https://www.php.net/releases/8.3/en.php|website=php.net|language=en|access-date=2024-01-08}}</ref>
==
=== Pembatas ===
PHP hanya mengeksekusi kode yang ditulis dalam pembatas sebagaimana ditentukan oleh dasar sintaks PHP. Apapun di luar pembatas tidak diproses oleh PHP meskipun teks PHP ini masih mengendalikan struktur yang dijelaskan dalam kode PHP. Pembatas yang paling umum adalah '''<?php''' untuk membuka dan '''?>''' Untuk menutup kode PHP. Tujuan dari pembatas ini adalah untuk memisahkan kode PHP dari kode di luar PHP, seperti [[HTML]], dan [[JavaScript]].
=== Variabel ===
Variabel diawali dengan [[simbol]] [[dolar]] <code>$</code>. Pada versi php PHP 5 diperkenalkan jenis isyarat yang memungkinkan [[fungsi]] untuk memaksa mereka menjadi parameter [[objek]] dari class tertentu, array, atau fungsi. Namun, jenis petunjuk tidak dapat digunakan dengan jenis skalar seperti [[angka]] atau [[string]]. Contoh [[variabel]] dapat ditulis sebagai $nama_variabel.
Penulisan fungsi, penamaan kelas, nama variabel adalah peka akan huruf besar (Kapital) dan huruf kecil '''[[Kepekaan kapital|case sensitive]]'''. Kedua kutip ganda <code>""</code> dari string memberikan kemampuan untuk interpolasi nilai variabel ke dalam string PHP. PHP menerjemahkan [[baris]] sebagai [[spasi]], dan pernyataan harus diakhiri dengan titik koma <code>;</code>.
=== Komentar ===
PHP memiliki 3 jenis sintaks sebagai komentar pada kode yaitu tanda blok
* <code>#</code> untuk satu baris komentar.
* <code>//</code> untuk dua baris komentar.
* <code>/* komentar */</code> untuk lebih banyak komentar.<br>Komentar digunakan untuk Komentar bertujuan untuk meninggalkan catatan pada kode PHP dan tidak akan diterjemahkan ke program.
=== Fungsi ===
Ratusan fungsi yang disediakan oleh PHP serta ribuan lainnya yang tersedia melalui berbagai ekstensi tambahan. Fungsi-fungsi ini didokumentasikan dalam dokumentasi PHP. Namun, dalam berbagai tingkat pengembangan, kini memiliki berbagai konvensi penamaan. Salah satu contoh sintaks fungsi sederhana adalah seperti di bawah ini:
<syntaxhighlight lang="php">
<?php
// membuat fungsi
function perkenalan($nama){
echo "Perkenalkan, nama saya "$nama";<br>
}
// memanggil fungsi yang sudah dibuat
perkenalan("Dinda");
?>
</syntaxhighlight>
Maka browser akan menampilkan kalimat '''Perkenalkan, nama saya Dinda.'''
==
=== Membuat Sebuah Halaman Web PHP ===
Sebuah Halaman web yang ditulis menggunakan [[Bahasa skrip|Bahasa Pemograman]] PHP adalah sebagai berikut:
<syntaxhighlight lang="php">
<?php
echo "Halo dunia!";
?>
</syntaxhighlight>
=== Program bilangan Fibonacci ===
Berikut ini adalah contoh program yang relatif lebih kompleks yang ditulis dengan menggunakan PHP. Contoh program ini adalah program untuk menampilkan 20 bilangan pertama dari deret [[bilangan Fibonacci]]. Terdapat beberapa variabel atau sintaks, seperti function. Itu merupakan bagian dari JavaScript.
<syntaxhighlight lang="php">
<?php
function fibonacci_seq( $panjang ) {
for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ ) {
$l[] = $l[$x++] + $l[$x];
}
return $l;
}
fibonacci_seq(20);
// Angka "20" dapat diganti sesuai keinginan
?>
</syntaxhighlight>
=== '''Program Mengukur Panjang Karakter''' ===
Berikut adalah contoh program mengukur panjang karakter pada sebuah teks dapat menggunakan fungsi strlen() pada PHP.
<syntaxhighlight lang="php"><?php
$teks = 'John Doe';
echo strlen($teks); // 8
?>
</syntaxhighlight>
== Kelebihan PHP Dari Bahasa Pemrograman Lain ==
Beberapa kelebihan PHP untuk bahasa pemrograman web, antara lain:
* Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
* Peladen web yang mendukung PHP dapat ditemukan di mana-mana dari mulai Apache, Nginx, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
* Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan pengembang yang siap membantu dalam pengembangan.
* Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
* PHP adalah bahasa pemrograman yang dapat digunakan di berbagai sistem operasi (Windows, Mac OS, dan Linux) dan dapat dijalankan secara runtime melalui konsol serta juga dapat menjalankan perintah-perintah sistem.
== Tipe data ==
PHP memiliki 8 tipe data, yaitu:
* ''Boolean''
* ''Integer''
* ''Float''/ ''Double''
* ''String''
* ''Array''
* ''Object''
* ''Resource''
* ''NULL''
== Kerangka kerja PHP ==
PHP memiliki banyak framework atau kerangka kerja, yaitu :
* [[Laravel]]
* [[CodeIgniter]]
* [[Symfony]]
* [[Yii]]
* [[CakePHP]]
* [[Zend Framework]]
* [[Phalcon]]
* [[FuelPHP]]
== Lihat pula ==
* [[PEAR]]
* [[XAMPP]]
* [[LAMP]]
== Referensi ==
{{Reflist}}
== Pranala luar ==
*
*
* [https://www.php.net/ChangeLog-7.php Catatan peningkatan versi PHP 7]
* {{GitHub|php/php-src}}
* [http://www.w3schools.com/php/php_intro.asp PHP Introduction - w3schools]
{{Daftar bahasa pemrograman}}
{{Authority control}}
[[Kategori:PHP| ]]
[[Kategori:Bahasa pemrograman]]
[[Kategori:Perangkat lunak bebas]]
[[Kategori:Bahasa pemrograman prosedural]]
[[Kategori:Bahasa pemrograman berorientasi objek]]
[[Kategori:Istilah internet]]
|