Pencarian data PHP merupakan fitur penting dalam pengembangan website yang membantu pengguna menemukan informasi dengan cepat. Dengan PHP Native, kamu dapat membuat fitur pencarian sederhana menggunakan form HTML, array, dan fungsi stripos() tanpa perlu menggunakan database.
Dalam membuat pencarian data PHP, kamu perlu memahami cara menerima input pengguna, memeriksa isi array, dan menampilkan data yang cocok. Teknik ini dapat digunakan sebagai dasar sebelum mengembangkan fitur pencarian yang terhubung ke database.
Kabar baiknya, fitur pencarian data dengan PHP Native bisa dibuat tanpa menggunakan database maupun framework tambahan. PHP dapat memproses kata kunci dari pengguna, mencocokkannya dengan data yang tersedia, lalu menampilkan hasil yang sesuai.
Dalam tutorial ini, kita akan membuat halaman pencarian sederhana menggunakan PHP dan HTML. Contoh ini cocok untuk pemula yang ingin memahami cara kerja form, parameter GET, perulangan, dan pencocokan teks dalam PHP.
Apa Itu Fitur Pencarian Data dengan PHP Native?
Fitur pencarian data dengan PHP Native adalah mekanisme untuk mencari informasi menggunakan PHP tanpa bantuan framework seperti Laravel atau CodeIgniter.
PHP akan menerima kata kunci dari pengguna, memeriksa data yang tersedia, dan menampilkan hasil berdasarkan kecocokan tersebut. Untuk contoh sederhana, data dapat disimpan langsung dalam array PHP.
Metode ini cocok digunakan untuk mempelajari dasar pemrograman web. Namun, untuk aplikasi yang memiliki banyak data dan membutuhkan pengelolaan informasi secara dinamis, penggunaan database akan lebih sesuai.
Persiapan Sebelum Membuat Program
Sebelum mulai menulis kode, siapkan beberapa kebutuhan berikut:
- PHP yang sudah terpasang di komputer.
- Editor kode seperti Visual Studio Code.
- Browser untuk membuka halaman web.
- Pemahaman dasar mengenai variabel, array, perulangan, dan kondisi dalam PHP.
Jika belum memiliki PHP, kamu dapat menggunakan XAMPP atau menjalankan server pengembangan bawaan PHP.
Langkah 1: Membuat File Pencarian PHP
Buat folder proyek bernama pencarian-php, kemudian buat file bernama index.php.
Masukkan kode berikut ke dalam file tersebut:
<?php
$data = [
"Andi - Teknik Informatika",
"Budi - Sistem Informasi",
"Citra - Manajemen Informatika",
"Dina - Teknik Komputer",
"Eko - Rekayasa Perangkat Lunak"
];
$keyword = "";
$hasil = [];
if (isset($_GET["keyword"])) {
$keyword = trim($_GET["keyword"]);
if ($keyword !== "") {
foreach ($data as $item) {
if (stripos($item, $keyword) !== false) {
$hasil[] = $item;
}
}
}
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Pencarian Data PHP</title>
</head>
<body>
<h2>Pencarian Data Mahasiswa</h2>
<form method="GET" action="">
<input
type="text"
name="keyword"
placeholder="Masukkan kata kunci"
value="<?php
echo htmlspecialchars(
$keyword,
ENT_QUOTES,
'UTF-8'
);
?>"
>
<button type="submit">Cari Data</button>
</form>
<h3>Hasil Pencarian</h3>
<?php if ($keyword === ""): ?>
<p>Silakan masukkan kata kunci pencarian.</p>
<?php elseif (count($hasil) > 0): ?>
<ul>
<?php foreach ($hasil as $item): ?>
<li>
<?php
echo htmlspecialchars(
$item,
ENT_QUOTES,
'UTF-8'
);
?>
</li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p>Data tidak ditemukan.</p>
<?php endif; ?>
</body>
</html>
Kode di atas sudah mencakup form pencarian, pemrosesan kata kunci, pencocokan data, serta penanganan ketika hasil tidak ditemukan. Kamu tidak perlu membuat file tambahan untuk menjalankan contoh ini.
Langkah 2: Memahami Cara Kerja Kode
Ada beberapa bagian penting yang perlu dipahami agar kamu tidak sekadar menyalin kode.
1. Array sebagai Tempat Penyimpanan Data
$data = [
"Andi - Teknik Informatika",
"Budi - Sistem Informasi",
"Citra - Manajemen Informatika"
];
Array digunakan untuk menyimpan beberapa data dalam satu variabel. Dalam contoh ini, data mahasiswa disimpan langsung di dalam program, sehingga database belum diperlukan.
2. Mengambil Kata Kunci dari Form
$keyword = "";
if (isset($_GET["keyword"])) {
$keyword = trim($_GET["keyword"]);
}
Metode GET digunakan untuk mengirim kata kunci melalui URL. Fungsi isset() memeriksa apakah parameter tersedia, sedangkan trim() menghapus spasi di awal dan akhir teks.
3. Mencocokkan Kata Kunci
foreach ($data as $item) {
if (stripos($item, $keyword) !== false) {
$hasil[] = $item;
}
}
Perulangan foreach memeriksa setiap elemen array. Fungsi stripos() mencari teks tanpa membedakan huruf besar dan kecil. Jika ditemukan kecocokan, data dimasukkan ke dalam array hasil.
Pemeriksaan !== false penting karena posisi kecocokan bisa bernilai 0 apabila kata kunci berada di awal teks.
4. Menampilkan Hasil dengan Aman
echo htmlspecialchars(
$item,
ENT_QUOTES,
'UTF-8'
);
Fungsi htmlspecialchars() membantu mencegah teks yang ditampilkan diperlakukan sebagai HTML aktif. Ini merupakan kebiasaan yang baik ketika menampilkan data yang berasal dari input pengguna atau sumber lain.
Langkah 3: Menjalankan Program PHP
Setelah kode disimpan, buka terminal di Visual Studio Code dan masuk ke folder proyek.
Jalankan perintah berikut:
php -S localhost:8000
Jika PHP sudah terpasang dan perintah berhasil dijalankan, buka browser lalu akses:
http://localhost:8000
Halaman pencarian akan muncul dan kamu bisa langsung mencoba memasukkan nama atau jurusan.
Jika perintah php tidak dikenali, pastikan PHP sudah terpasang dan direktori PHP telah ditambahkan ke PATH, atau jalankan proyek melalui lingkungan server lokal yang sesuai.
Langkah 4: Menguji Fitur Pencarian
Berikut beberapa contoh pengujian yang bisa dilakukan:
| Kata kunci | Hasil yang diharapkan |
|---|---|
| Andi | Andi – Teknik Informatika |
| sistem | Budi – Sistem Informasi |
| Komputer | Dina – Teknik Komputer |
| Informatika | Andi – Teknik Informatika |
| Zaki | Data tidak ditemukan |
Pencarian juga dapat menggunakan sebagian kata. Misalnya, ketika pengguna memasukkan Teknik, program akan menampilkan data yang memiliki kata tersebut.
Jika kolom pencarian dikosongkan dan tombol Cari Data ditekan, program akan meminta pengguna memasukkan kata kunci terlebih dahulu.
Kelebihan dan Kekurangan Pencarian Tanpa Database
Membuat fitur pencarian menggunakan array PHP memiliki sejumlah kelebihan, terutama untuk pembelajaran.
Kelebihan:
- Struktur program relatif sederhana.
- Tidak membutuhkan konfigurasi database.
- Cocok untuk memahami logika pencarian.
- Dapat dijalankan menggunakan server pengembangan PHP.
Kekurangan:
- Data harus ditambahkan atau diubah langsung di dalam kode.
- Pengelolaan data menjadi sulit ketika jumlahnya bertambah.
- Data tidak dirancang untuk disimpan dan dikelola secara persisten melalui sistem database.
- Belum menyediakan fitur pengurutan, pagination, atau pencarian lanjutan.
Untuk website yang membutuhkan pencarian ribuan data, sebaiknya gunakan database seperti MySQL atau PostgreSQL. Dengan begitu, data dapat dikelola lebih terstruktur dan pencarian dapat dioptimalkan sesuai kebutuhan aplikasi.
Pengembangan Fitur Pencarian PHP Selanjutnya
Setelah memahami contoh dasar ini, kamu dapat mengembangkannya menjadi aplikasi yang lebih lengkap.
Beberapa pengembangan yang bisa dicoba antara lain menambahkan kategori pencarian, menyediakan tombol reset, membuat pagination, atau menghubungkan data ke database MySQL.
Kamu juga dapat membuat pencarian data dosen, katalog produk, daftar artikel, dan direktori kontak menggunakan konsep yang sama. Perbedaannya terletak pada struktur data dan cara informasi disimpan.
Kesimpulan
Fitur pencarian data dengan PHP Native dapat dibuat menggunakan array, form HTML, parameter GET, perulangan foreach, dan fungsi stripos(). Contoh ini menunjukkan bagaimana PHP memproses input pengguna serta menampilkan informasi yang sesuai tanpa membutuhkan database.
Bagi pemula, latihan ini dapat menjadi dasar sebelum mempelajari operasi CRUD, koneksi database, dan pengembangan aplikasi web yang lebih kompleks.
Dengan memahami alur pencarian dari input hingga hasil, kamu akan lebih mudah mengembangkan fitur serupa untuk berbagai kebutuhan website.
FAQ
Apakah pencarian PHP Native harus menggunakan database?
Tidak. Untuk contoh sederhana, data dapat disimpan dalam array PHP. Database diperlukan ketika aplikasi membutuhkan penyimpanan dan pengelolaan data yang lebih dinamis.
Apa fungsi stripos() dalam PHP?
stripos() digunakan untuk mencari posisi kemunculan teks di dalam string tanpa membedakan huruf besar dan kecil. Jika teks tidak ditemukan, fungsi ini mengembalikan nilai false.
Apakah kode ini bisa digunakan untuk data dosen?
Bisa. Kamu dapat mengganti isi array dengan nama dosen, program studi, atau informasi lain yang ingin dicari.
Apa perbedaan PHP Native dan Laravel?
PHP Native menggunakan fitur dasar PHP tanpa framework tambahan. Laravel merupakan framework PHP yang menyediakan struktur aplikasi, routing, ORM, validasi, dan berbagai fasilitas lain untuk mempermudah pengembangan aplikasi yang lebih besar.