Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Makalah
  • Ke-NU-an
  • Kabar
  • Search
Menu

Belajar PHP: Membuat Anagram dan Kata Acak

Posted on December 7, 2011

Anagram sendiri seperti yang kita kenal adalah permainan mengacak kata-kata dalam suatu bahasa. Dengan PHP kita dapat membuat anagram dan kata-kata acak dengan bantuan sebuah Class, Word Solver karya om Arturs Sosins aka ar2rsawseen. Silakan unduh kode sumbernya disini.

Untuk menggunakannya, sesuai contoh berikut:
1. Buat interfacenya

[sourcecode language=”php”]
//it can take some time
set_time_limit(0);
$time = microtime();
$time = explode(‘ ‘, $time);
$start = $time[1] + $time[0];
?>
<form method=’post’ action=”>
<p>Rules: <input type=’text’ name=’rules’ value=’a(cl)s[s]*e’/></p>
<p>Use all letters: <select name=’use_all’>
<option value=’true’>Yes</option>
<option value=’false’>No</option>
</select></p>
<p>Return: <select name=’type’>
<option value=’words’>Valid words</option>
<option value=’anagrams’>Anagrams</option>
</select></p>
<p><input type=’submit’ value=’Generate’/></p>
</form>
<?php
if(isset($_POST["rules"]) && trim($_POST["rules"]) != "")
{
//declaring class instance
include("./word_solver.php");
$ws = new word_solver();

if(isset($_POST["use_all"]) && $_POST["use_all"] == "false")
{
//use all provided letters
$ws->not_all();
}

//setting rules for words
$ws->set_rules($_POST["rules"]);

//getting results
if(isset($_POST["type"]) && $_POST["type"] == "anagrams")
{
$arr = $ws->get_anagrams();
}
else
{
$arr = $ws->get_words();
}
$errors = $ws->get_errors();
if(!empty($errors))
{
echo "<p>Errors:</p>";
echo "<pre>";
print_r($errors);
echo "</pre>";
}
echo "<pre>";
print_r($arr);
echo "</pre>";
}
$time = microtime();
$time = explode(‘ ‘, $time);
$end = $time[1] + $time[0];
$total_time = round(($end – $start), 4);
echo ‘<p>PHP execution: ‘.$total_time.’ seconds.</p>’;
[/sourcecode]

2. Buat file processornya:

[sourcecode language=”php”]
set_time_limit(0);
$time = microtime();
$time = explode(‘ ‘, $time);
$start = $time[1] + $time[0];

//declaring class instance
include("./word_solver.php");
$ws = new word_solver();

//use all provided letters
$ws->use_all();

//setting rules for words
$ws->set_rules("a(cl)s[s]*e");

//getting results
$arr = $ws->get_words();
echo "<pre>";
print_r($arr);
echo "</pre>";

$time = microtime();
$time = explode(‘ ‘, $time);
$end = $time[1] + $time[0];
$total_time = round(($end – $start), 4);
echo ‘<p>PHP execution: ‘.$total_time.’ seconds.</p>’;
[/sourcecode]

Screenshoot

Berikut tangkapan layar hasil dari anagram yang kita lakukan dengan script tersebut dari rule: e(cl)m[k]*a.

Terbaru

  • Google Fi Mendukung Panggilan Telepon RCS Melalui Web, Lebih Mudah dan Efisien
  • Data Breach Marquis: Hajar Lebih Dari 74 Bank dan Koperasi AS
  • Google Search Akan Adopsi ‘Continuous Circle’ untuk Hasil Pencarian Terjemahan, Lebih Cerdas dan Kontekstual
  • Rusia Memblokir Roblox Karena Distribusi ‘Propaganda LGBT’
  • Google Gemini Redesain Web Total di Desember 2025, Fokus UX yang Lebih Baik
  • Apa itu Google Workspace Studio? Tool Baru untuk Pembuat Konten?
  • Cara Menggunakan Xbox Full-Screen Experience di Windows
  • Korea Tahan Tersangka Terkait Penjualan Video Intim dari Kamera CCTV yang Diretas
  • Kebocoran Galaxy Buds 4 Mengungkap Desain dan Fitur Baru, Mirip Apple?
  • Sudah Update Windows KB5070311 dan Apa Saja Yang Diperbaiki?
  • Cara Menonaktifkan Fitur AI Actions (Tindakan AI) di Menu Windows Explorer
  • Microsoft Edge AI vs. OpenAI’s Atlas Browser: Perbandingan dan Perbedaan Utama
  • Cara Memasang Folder Sebagai Drive di Windows 11
  • Cara Memperbaiki Error 0xC1900101 0x40021 pada Update Windows 11
  • Malware Glassworm Serang Lagi VSCode, Hati-hati!
  • Walmart dan Google Bermitra untuk Kamera Rumah Google Home: Pengalaman Langsung
  • Gemini Dapat Bisa Atur Perangkat Rumah Melalui Home Assistant Pakai Suara, Desember 2025
  • Asahi, Produsen Bir Jepang, Akui Kebocoran Data 15 Juta Pelanggan
  • Google Messages Ada Fitur Baru: Pesan Grup, Mode Gelap dan Integrasi dengan Google Duo
  • 5 Laptop ASUS Terbaik dengan Tampilan Mewah dan Build Quality Premium
  • Pria di Balik Serangan ‘Twin Wifi’ Mencuri Wifi, Dikenakan Hukuman 7 Tahun Penjara
  • Google Kembangkan Fitur Baru untuk Tugas di Keep, Lebih Terintegrasi dengan Kalender
  • Google Akan Luncurkan Laptop dan Ponsel Android Baru di Tahun 2025: Murah & Spesifikasi Tinggi
  • Samsung Galaxy Z-Fold Tri-Fold: Harga dan Spesifikasi Resmi Terungkap
  • Federasi Sepak Bola Prancis (FFF) Mengungkap Pelanggaran Data Setelah Serangan Siber
  • Google Perbarui Desain Akun Google Web, Fokus pada Kemudahan Penggunaan dan Integrasi
  • Google Tingkatkan Batas Gratis Gemini 3 Pro untuk Pengembang dan Bisnis
  • Google Perkenalkan ‘Circle to Search’: Cara Baru Menggunakan AI untuk Pencarian
  • OpenAI Terpapar Data Pelanggan Melalui Pelanggaran Vendor Mixpanel, API Terpengaruh
  • Error External Drive Extraction Tidak Terdeteksi di VM Virtual Hyper-V
  • Google Fi Mendukung Panggilan Telepon RCS Melalui Web, Lebih Mudah dan Efisien
  • Data Breach Marquis: Hajar Lebih Dari 74 Bank dan Koperasi AS
  • Google Search Akan Adopsi ‘Continuous Circle’ untuk Hasil Pencarian Terjemahan, Lebih Cerdas dan Kontekstual

©2025 emka.web.id | Design: Newspaperly WordPress Theme