Cara Mengaktifkan dan Mengatur Modul SCWS PHP di ServBay
ServBay adalah lingkungan pengembangan web lokal yang tangguh khusus untuk macOS, terintegrasi dengan banyak bahasa pemrograman seperti PHP, Node.js, Python, Go, Java, serta berbagai database seperti MySQL, PostgreSQL, MongoDB, dan Redis, juga mendukung web server seperti Caddy dan Nginx. Untuk pengembang yang perlu menangani teks berbahasa Mandarin di aplikasi PHP, ServBay sudah menyiapkan modul segmentasi kata bahasa Mandarin SCWS (Simple Chinese Word Segmentation) yang efisien, dan proses pengaktifannya sangat mudah.
Dokumen ini membahas secara detail cara mengaktifkan ekstensi SCWS untuk PHP di ServBay, mengatur file kamusnya, dan mendemonstrasikan cara penggunaan dasarnya melalui contoh kode.
Ringkasan Modul SCWS
SCWS adalah mesin segmentasi kata bahasa Mandarin open source yang dikenal karena kinerja tinggi dan tingkat akurasi sangat baik. Dengan mengombinasikan pencocokan kamus dan model statistik, SCWS dapat memproses segmentasi kata pada teks berbahasa Mandarin dengan cepat dan presisi—sangat ideal untuk membangun mesin pencari Mandarin, text mining, analisis konten, ekstraksi kata kunci, dan penandaan kelas kata (part-of-speech tagging).
Fitur Utama
- Segmentasi Berperforma Tinggi: SCWS memakai algoritme segmentasi yang dioptimalkan untuk menangani data teks Mandarin berskala besar secara efisien.
- Akurasi Tinggi: Kombinasi kamus dan model statistik memastikan hasil pemisahan kata yang akurat.
- Fungsionalitas Lengkap: Selain segmentasi dasar, SCWS juga mendukung ekstraksi kata kunci, penandaan kelas kata, dan fitur lanjutan lainnya.
- Mudah Diintegrasikan: Menyediakan API sederhana yang mudah digunakan oleh pengembang PHP.
- Open-source & Gratis: SCWS adalah perangkat lunak open source—grátis dan dapat dikustomisasi sesuai kebutuhan.
Versi SCWS yang Disediakan di ServBay
ServBay mendukung banyak versi PHP dan sudah mempersiapkan modul SCWS yang relevan untuk setiap versinya. Sampai dengan penulisan dokumen ini, ServBay sudah menyiapkan ekstensi SCWS 1.2.3 untuk semua versi PHP 5.6 hingga PHP 8.4.
Cara Mengaktifkan Modul SCWS
Secara default, modul SCWS dinonaktifkan di ServBay. Ada dua cara utama untuk mengaktifkannya: menggunakan antarmuka grafis ServBay atau dengan mengedit file konfigurasi secara manual.
Cara Disarankan: Mengaktifkan Melalui Antarmuka Grafis ServBay
Ini adalah cara paling mudah dan cepat:
- Buka tampilan utama ServBay.
- Pada panel navigasi kiri, klik Languages (Bahasa), lalu pilih PHP.
- Di daftar versi PHP di sebelah kanan, cari versi PHP yang ingin Anda aktifkan SCWS-nya (misal,
PHP 8.4
). - Klik tombol Extensions (Ekstensi) di kanan versi PHP tersebut.
- Temukan modul
SCWS
di daftar ekstensi yang tampil. - Geser switch di sebelah kiri
SCWS
untuk mengaktifkan (biasanya berubah warna hijau). - Klik tombol Save (Simpan) di bagian bawah jendela.
- ServBay akan meminta Anda me-restart paket PHP untuk menerapkan perubahan. Klik tombol Restart (Mulai Ulang).
SCWS kini telah aktif untuk versi PHP yang sudah Anda pilih.
Alternatif: Mengedit File Konfigurasi (Untuk Pengguna Lanjutan atau Troubleshooting)
Jika Anda ingin kontrol lebih lanjut atau sedang melakukan troubleshooting, Anda dapat mengedit file konfigurasi PHP secara langsung:
Cari File Konfigurasi: Temukan folder
conf.d
untuk versi PHP yang relevan. Konfigurasi SCWS terletak pada filescws.ini
di folder ini. Biasanya, jalurnya adalah:/Applications/ServBay/etc/php/X.Y/conf.d/scws.ini
1Ganti
X.Y
dengan versi PHP yang Anda gunakan (misalnya8.4
).Edit File
scws.ini
: Bukascws.ini
dengan teks editor dan temukan baris berikut:ini[scws] ; Uncomment the following line to enable scws ;extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5Hilangkan tanda titik koma (😉 di depan
extension = scws.so
, sehingga menjadi:ini[scws] ; Uncomment the following line to enable scws extension = scws.so ;scws.default.charset = gbk ;scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5(Opsional) Anda dapat menentukan charset dan path kamus default di sini, namun disarankan penyesuaian tetap dilakukan dari kode PHP agar lebih fleksibel. Jika ingin set di sini, hilangkan juga tanda komentar dan sesuaikan nilainya. Misal jika kamus Anda memakai encoding UTF-8:
ini[scws] ; Uncomment the following line to enable scws extension = scws.so scws.default.charset = utf8 scws.default.fpath = /Applications/ServBay/etc/scws
1
2
3
4
5Simpan perubahan lalu tutup file
scws.ini
.Restart Paket PHP: Buka tampilan utama ServBay, navigasi ke Packages (Paket), cari versi PHP yang telah Anda ubah konfigurasinya (misal PHP 8.4), lalu klik tombol restart di sebelah kanannya (ikon panah melingkar).
Verifikasi: Apakah Modul SCWS Sudah Berhasil Diaktifkan?
Setelah modul diaktifkan, penting untuk memastikan ia sudah ter-load dengan benar. Cara termudah adalah melihat hasil output dari fungsi phpinfo()
PHP:
- Di direktori root web (default:
/Applications/ServBay/www
), buat folder baru untuk testing, misalscws-test
. - Di folder
/Applications/ServBay/www/scws-test
, buat file bernamaphpinfo.php
. - Tempelkan kode berikut di file tersebut:php
<?php phpinfo(); ?>
1
2
3 - Pastikan web server ServBay Anda (misal Caddy atau Nginx) sudah dikonfigurasi dan berjalan, serta dapat mengakses
/Applications/ServBay/www
. Secara default akan ada domainservbay.demo
yang mengarah ke folder ini. - Buka browser dan akses
https://servbay.demo/scws-test/phpinfo.php
. - Pada halaman info PHP, scroll dan cari bagian bernama "SCWS". Jika Anda menemukan info dan konfigurasi SCWS, berarti modul sudah berhasil dimuat.
(Catatan: Jalur gambar hanyalah contoh, silakan sesuaikan dengan dokumen ServBay yang sebenarnya.)
Membuat dan Mengatur Kamus SCWS
Karena SCWS adalah mesin segmentasi berbasis kamus, hasil segmentasi sangat bergantung pada kamus yang digunakan. ServBay sudah menyediakan kamus dan file aturan default SCWS, biasanya ada di /Applications/ServBay/etc/scws
. Anda pun bisa membuat atau memakai kamus sendiri.
Format File Kamus SCWS
SCWS mendukung format teks biasa dan format biner xdb. Disarankan memakai format xdb untuk kecepatan loading dan efisiensi memori.
Format teks kamus SCWS:
kata1 [frekuensi1] [kelas_kata1]
kata2 [frekuensi2] [kelas_kata2]
...
1
2
3
2
3
Contoh:
kecerdasan buatan 1000 n
pemrosesan bahasa alami 800 n
ServBay 500 nz
1
2
3
2
3
Simpan kata-kata buatan Anda ke file teks, misal my_dict.txt
. Pastikan encoding file sesuai dengan charset yang digunakan (disarankan UTF-8).
Mengonversi File Kamus Teks menjadi Format xdb
ServBay menyertakan tool scws-gen-dict
untuk konversi dari kamus teks ke format xdb.
- Buka aplikasi Terminal di macOS.
- Dengan perintah
cd
, pindah ke folder bin ServBay, atau langsung sebut path lengkap tool-nya:bashGanti/Applications/ServBay/bin/scws-gen-dict -i /path/to/your/my_dict.txt -o /Applications/ServBay/etc/scws/my_dict.utf8.xdb -c utf8
1/path/to/your/my_dict.txt
dengan lokasi file kamus tekstual Anda. Opsi-o
menentukan lokasi file xdb hasil konversi (sebaiknya di/Applications/ServBay/etc/scws
).-c utf8
untuk penyesuaian encoding.
Mengatur SCWS Agar Memakai File Kamus Anda
Setelah xdb dihasilkan, Anda dapat mengatur SCWS agar memakai file kamus tersebut di kode PHP:
php
<?php
$scws = scws_new();
$scws->set_charset('utf8'); // Set charset sesuai encoding file kamus
// Set path kamus utama (bisa kamus default ServBay atau xdb Anda)
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// Untuk multi-kamus, bisa ditambahkan dengan add_dict()
$scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT); // SCWS_XDICT_TXT = tambah kamus pengguna
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini'); // Atur file aturan, sudah tersedia di ServBay
// ... lanjutkan proses segmentasi ...
?>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
set_dict()
mengatur kamus utama (biasanya bawaan SCWS). add_dict()
untuk menambahkan kamus kustom. SCWS_XDICT_TXT
adalah konstanta untuk penambahan kamus eksternal Anda.
Contoh Penggunaan SCWS
Setelah SCWS aktif dan kamus sudah dikonfigurasi, Anda bisa langsung memakai fungsi-fungsinya dari kode PHP untuk segmentasi teks Mandarin. Berikut contoh dasarnya:
php
<?php
// Pastikan ekstensi SCWS sudah ter-load
if (!extension_loaded('scws')) {
die('Ekstensi SCWS belum termuat.');
}
// Inisialisasi objek SCWS
$scws = scws_new();
if (!$scws) {
die('Gagal inisialisasi SCWS.');
}
// Atur charset (harus sama dengan encoding teks dan kamus)
$scws->set_charset('utf8');
// Atur path file kamus (default ServBay)
// set_dict() — kamus utama
$scws->set_dict('/Applications/ServBay/etc/scws/dict.utf8.xdb');
// add_dict() — untuk kamus pengguna eksternal
// $scws->add_dict('/Applications/ServBay/etc/scws/my_dict.utf8.xdb', SCWS_XDICT_TXT);
// Atur path file aturan (ServBay sudah ada), untuk POS tagging dsb.
$scws->set_rule('/Applications/ServBay/etc/scws/rules.utf8.ini');
// Atur mode segmentasi (opsional, default: SCWS_XDICT_XPINYIN | SCWS_XDICT_DUALITY)
// SCWS_XDICT_XPINYIN: pisahkan karakter non-Hanzi (seperti email, url)
// SCWS_XDICT_DUALITY: segmentasi kombinasi (bigram)
// $scws->set_ignore(true); // Apakah mengabaikan tanda baca
// $scws->set_multi(SCWS_MULTI_WORD | SCWS_MULTI_ZHONGCI); // Atur level segmentasi multi-kata
// Teks Mandarin yang ingin di-segmentasi
$text = "ServBay adalah lingkungan pengembangan Web lokal yang tangguh, mendukung PHP, Node.js dan beragam database.";
// Kirim teks ke SCWS untuk diproses
$scws->send_text($text);
// Ambil hasil segmentasi
echo "Teks Asli: " . $text . "\n\n";
echo "Hasil Segmentasi:\n";
// Loop untuk mendapatkan seluruh hasil
while ($result = $scws->get_result()) {
foreach ($result as $word) {
// $word adalah array dengan 'word', 'idf', 'attr' (kelas kata) dll.
echo "Kata: " . $word['word'] . " (Kelas: " . $word['attr'] . ")\n";
}
}
// Tutup resource SCWS
$scws->close();
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Simpan kode di atas sebagai file .php
(misal: scws_example.php
) dan letakkan di folder web ServBay (misal: /Applications/ServBay/www/scws-test/
). Buka di browser via https://servbay.demo/scws-test/scws_example.php
untuk melihat hasil segmentasinya.
Hal-hal yang Perlu Diperhatikan
- Pastikan versi modul SCWS yang diaktifkan cocok dengan versi PHP yang Anda pakai. ServBay sudah membantu soal kompatibilitas, tetapi bila konfigurasi manual, periksa kembali kecocokan versinya.
- Kualitas segmentasi SCWS sangat bergantung pada kamus yang digunakan. Untuk teks bidang tertentu, sebaiknya gunakan kamus industri khusus.
- Pastikan path file konfigurasi (
scws.ini
), file kamus (.xdb
), dan file aturan (.ini
) sudah benar serta dapat diakses/terbaca oleh PHP. - Setelah mengubah konfigurasi PHP, selalu lakukan restart terhadap paket PHP bersangkutan agar perubahan berlaku.
Pertanyaan Umum (FAQ)
T: Saya sudah mengaktifkan SCWS lewat ServBay UI tapi tidak muncul di phpinfo()
?
J: Pastikan Anda me-restart paket PHP yang benar. Kadang ada lebih dari satu versi PHP berjalan. Restart versi PHP yang digunakan oleh situs Anda. Jika masih gagal, coba edit scws.ini
secara manual dan periksa path serta sintaks konfigurasinya.
T: Bagaimana membuat dan memakai kamus kustom sendiri?
J: Silakan cek bagian panduan "Membuat dan Mengatur Kamus SCWS" di atas. Gunakan tool scws-gen-dict
untuk konversi ke xdb, lalu muat di kode PHP pakai metode add_dict()
.
T: Untuk apa file aturan SCWS (rules.utf8.ini
)?
J: File ini digunakan untuk tugas penandaan kelas kata (POS tagging) dan aturan segmentasi khusus. ServBay sudah menyediakan file aturan default sehingga Anda biasanya tidak perlu melakukan perubahan.
Kesimpulan
ServBay memudahkan pengembang mengaktifkan dan mengelola modul segmentasi kata Mandarin SCWS di PHP. Baik dengan antarmuka grafis yang intuitif maupun konfigurasi manual yang fleksibel, Anda dapat dengan mudah mengintegrasikan SCWS ke dalam skenario pengembangan PHP lokal Anda. Ditambah tool conversion dan kamus default yang sudah disediakan, Anda dapat langsung memulai—memanfaatkan SCWS untuk pemrosesan teks Mandarin yang cepat dan akurat, entah untuk fitur search, analisis konten, maupun kebutuhan web lainnya. Keberadaan SCWS sebagai bagian ekosistem ServBay makin menegaskan kekuatan ServBay sebagai lingkungan pengembangan lokal yang lengkap dan profesional.