Author Archives: Riyanto

Cegah Fatal Error! Ini 42 Fungsi PHP Lama yang Wajib Sobat Ganti Sebelum Upgrade ke PHP 8.5

Halo sobat, kembali lagi bersama saya Riyanto. Sebagai orang yang sudah ngulik PHP dan WordPress lebih dari 20 tahun—sejak zaman PHP 4 dan WordPress versi awal—saya sudah menyaksikan berbagai gelombang evolusi bahasa pemograman ini. Kalau sobat sudah lama menggunakan PHP, mungkin sampai saat ini masih ada project, aplikasi backend PHP, atau website klien yang berjalan di PHP 7.4. Memang sampai sekarang aplikasi tersebut masih bisa digunakan dan keliatannya adem-adem saja, tetapi menurut saya sekarang adalah waktu yang sanggat tepat untuk mulai melakukan migrasi ke PHP 8.5.

Pengalaman saya menangani migrasi belasan server Linux skala enterprise dan ratusan site WordPress menunjukkan bahwa menunda upgrade PHP itu ibarat menyimpan bom waktu. PHP 7.4 sudah resmi mencapai end-of-life (EOL) sejak November 2022. Artinya, tidak ada lagi patch keamanan resmi dari core PHP team. Ketika sobat tetap bertahan di PHP 7, aplikasi sobat tidak hanya rentan terhadap celah keamanan, tetapi juga kehilangan lompatan performa yang luar biasa drastis dari JIT (Just-In-Time) compiler, pemakaian memori yang jauh lebih efisien, serta fitur-fitur sintaks modern di PHP 8.0 hingga PHP 8.5 seperti Match Expression, Enums, Readonly Properties, Asymmetric Visibility, hingga Property Hooks. » Read more

Cara Membuat Sistem Catatan & Reminder Otomatis Langsung ke Telegram dengan PHP

Halo Sobat, pernahkah Sobat melewatkan agenda penting atau lupa jadwal bayar tagihan hanya karena lupa mencatatnya? Atau mungkin Sobat bosan dengan aplikasi reminder biasa yang notifikasinya sering tenggelam?

Tenang, Sobat! Kali ini kita akan berbagi cara cerdas membuat aplikasi Catatan sekaligus Reminder Otomatis berbasis web menggunakan PHP, yang canggihnya, notifikasi pengingatnya akan dikirim langsung ke HP Android Sobat lewat Bot Telegram secara real-time dan gratis.

Dengan sistem ini, tanggal masa lalu akan otomatis disimpan sebagai Catatan Histori, sedangkan tanggal masa depan akan otomatis diantrekan menjadi Reminder aktif. Yuk, simak langkah demi langkah-nya! » Read more

Update Massal Harga & Stok Produk di TikTok Shop Tokopedia dengan Excel & LibreOffice Calc

Halo sobat, jika sobat jualan di TikTok Shop Tokopedia, pasti sering menghadapi tantangan dalam memperbarui harga dan stok produk secara massal. Nah, kali ini kita akan belajar cara melakukannya dengan mudah menggunakan Excel dan LibreOffice Calc. Yuk, simak panduan lengkapnya

Mengapa Perlu Update Harga & Stok Secara Massal?

Marketplace seperti TikTok Shop Tokopedia terus berubah, dan penyesuaian harga serta stok sangat penting agar bisnis sobat tetap kompetitif. Jika dilakukan satu per satu, tentu memakan banyak waktu. Maka dari itu, kita bisa memanfaatkan fitur Batch Edit menggunakan file Tiktoksellercenter_batchedit_20250319_sales_information_template.xlsx.

Persiapan Data

Sebelum mulai, kita perlu dua file utama:

  1. File TikTok Shop Tokopedia: Tiktoksellercenter_batchedit_20250319_sales_information_template.xlsx, berisi daftar produk yang ingin diupdate.
  2. File Harga Baru: harga-baru.csv, berisi data harga dan stok terbaru dari database sobat.

Contoh Data dari TikTok Shop Tokopedia

Harga Lama (G) Kuantitas Lama (H) SKU (I)
138 138 741446
494 494 734650
461 461 737553

Contoh Data dari File harga-baru.csv

SKU (A) Harga Baru (B) Stok Baru (C)
741446 150 200
734650 500 250
737553 470 300

Langkah-Langkah Update Harga & Stok

1. Buka File TikTok Shop Tokopedia

Silakan buka file Tiktoksellercenter_batchedit_20250319_sales_information_template.xlsx menggunakan Excel atau LibreOffice Calc.

2. Gunakan Rumus VLOOKUP

Untuk memperbarui harga dan stok berdasarkan SKU, gunakan rumus berikut:

Memperbarui Harga (Kolom G)

Klik sel pertama di kolom G (baris pertama yang bisa diedit, misalnya G6), lalu ketik rumus berikut:

=IFERROR(VLOOKUP(I6, 'harga-baru.csv'.A:C, 2, 0), G6)

Setelah itu, tekan Enter dan tarik ke bawah untuk menerapkan ke semua baris.

Memperbarui Stok (Kolom H)

Klik sel pertama di kolom H (baris pertama yang bisa diedit, misalnya H6), lalu ketik rumus berikut:

=IFERROR(VLOOKUP(I6, 'harga-baru.csv'.A:C, 3, 0), H6)

Tekan Enter dan tarik ke bawah agar semua baris diperbarui.

3. Simpan dan Unggah Kembali ke TikTok Shop Tokopedia

Setelah harga dan stok diperbarui, simpan file dalam format .xlsx lalu unggah kembali ke TikTok Shop Tokopedia melalui menu Batch Edit.

Dengan cara ini, sobat bisa memperbarui harga dan stok secara massal tanpa harus mengedit satu per satu. Teknik ini bisa digunakan di Excel maupun LibreOffice Calc, sehingga fleksibel untuk berbagai sistem operasi, termasuk Ubuntu. Yuk, coba sekarang dan optimalkan toko sobat!

Loading Title Pada Aplikasi WebView Android

Sobat, saat kita mengembangkan aplikasi Android yang memanfaatkan WebView (komponen internal untuk menampilkan halaman web di dalam aplikasi), kenyamanan pengguna atau User Experience / UX (tingkat kepuasan pengguna saat menggunakan aplikasi) adalah hal yang sangat penting. Pernah nggak nemuin aplikasi yang waktu membuka halaman web berasa seperti macet atau freeze? Padahal, aplikasi tersebut cuma sedang memproses data di latar belakang, tapi karena nggak ada indikator status apa pun, pengguna jadi bingung dan mengira websitenya *error*.

Untuk mengatasi kendala tampilan seperti ini, trik sederhana namun efektif yang biasa saya terapkan adalah memanfaatkan WebChromeClient (komponen pendukung untuk mengontrol elemen antarmuka dan indikator proses pada WebView). Melalui fungsi onProgressChanged (metode otomatis untuk memantau persentase pemuatan halaman), kita bisa mengubah judul aplikasi secara dinamis—menampilkan teks “Loading…” selama halaman diproses, lalu mengembalikannya ke nama aplikasi saat pemuatan data sudah genap 100%.

» Read more

Cara Install MySQL 5 di Debian

Halo sobat, hari ini saya mau berbagi cara install MySQL 5 di Debian. Saya baru saja install MySQL 5 menggunakan apt-get dari terminal, dan ternyata prosesnya sangat mudah serta praktis. Panduan ini akan membahas langkah-langkah instalasi beserta cara menjalankan dan mengelola MySQL setelah instalasi.

Langkah Instalasi MySQL 5

Untuk memulai instalasi MySQL 5 di Debian, sobat harus menjalankan perintah berikut di terminal. Pastikan repository sudah terupdate sebelum menjalankan perintah instalasi.

sudo apt-get update
sudo apt-get install mysql-server

Berikut adalah contoh tampilan proses instalasi yang saya alami:

rahmatriyanto@debian6:~$ su
Password: 
root@debian6:/home/rahmatriyanto# sudo apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16
  libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-common
  mysql-server-5.1 mysql-server-core-5.1
Suggested packages:
  libipc-sharedcache-perl libterm-readkey-perl tinyca
The following NEW packages will be installed:
  libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16
  libnet-daemon-perl libplrpc-perl mysql-client-5.1 mysql-common mysql-server
  mysql-server-5.1 mysql-server-core-5.1
0 upgraded, 11 newly installed, 0 to remove and 228 not upgraded.
Need to get 22.2 MB/23.3 MB of archives.
After this operation, 54.7 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
...
Setting up mysql-server (5.1.73-1) ...
root@debian6:/home/rahmatriyanto#

Mengelola Layanan MySQL

Setelah instalasi selesai, berikut beberapa perintah untuk menjalankan dan mengelola MySQL:

Menjalankan MySQL

root@debian6:/home/rahmatriyanto# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
root@debian6:/home/rahmatriyanto#

Meng-restart MySQL

root@debian6:/home/rahmatriyanto# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
root@debian6:/home/rahmatriyanto#

Reload dan Force-Reload MySQL

root@debian6:/home/rahmatriyanto# /etc/init.d/mysql reload
Reloading MySQL database server: mysqld.
root@debian6:/home/rahmatriyanto# /etc/init.d/mysql force-reload
Reloading MySQL database server: mysqld.
root@debian6:/home/rahmatriyanto#

Memeriksa Status MySQL

root@debian6:/home/rahmatriyanto# /etc/init.d/mysql status
/usr/bin/mysqladmin Ver 8.42 Distrib 5.1.73, for debian-linux-gnu on i486
Server version 5.1.73-1
Protocol version 10
Connection: Localhost via UNIX socket
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 31 sec

Threads: 1  Questions: 104  Slow queries: 0  Opens: 99  Flush tables: 1  Open tables: 23  Queries per second avg: 3.354.
root@debian6:/home/rahmatriyanto#

Memberhentikan MySQL

root@debian6:/home/rahmatriyanto# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.
root@debian6:/home/rahmatriyanto#

Imporfisasi dan Referensi Tambahan

Sobat, saya pernah bereksperimen dengan beberapa imporfisasi untuk mengoptimasi instalasi dan manajemen MySQL di Debian. Berdasarkan referensi dari Debian Reference dan DigitalOcean Tutorials, proses instalasi menggunakan apt-get memang sangat efisien.

Kesimpulan

Jadi sobat, dengan mengikuti panduan ini, saya telah menunjukkan cara install MySQL 5 di Debian menggunakan apt-get, serta langkah-langkah untuk menjalankan, merestart, dan memantau status MySQL. Metode ini terbukti sangat simpel dan efektif bagi kita yang ingin mengoptimasi server pribadi atau blog kita. Semoga panduan ini bermanfaat dan membantu sobat dalam mengelola MySQL dengan lancar.

Selamat mencoba dan teruslah bereksplorasi di dunia Linux.