Instal XAMPP di Mac OS

Aplikasi berbasis web merupakan aplikasi yang diminati saat ini, menggantikan aplikasi desktop ala tahun 90-an. Di Indonesia, PHP masih diminati dibanding bahasa yang lain seperti Python maupun Java. Versi yang paling banyak diminati, khususnya untuk belajar adalah XAMPP [Link].

Versi ini sangat praktis, tinggal mengunduh dari situs resminya, lalu pasang di komputer tujuan. Hanya versi Linux, misalnya untuk Ubuntu, yang agak sulit mengingat perlu memberikan akses tertentu pada folder tujuan. XAMPP sangat cocok untuk belajar dan diinstall di laptop karena tidak membebani laptop, hanya dihidupkan ketika ingin dipakai. Berbeda dengan server, misalnya di Linux, yang harus selalu hidup ketika mesin dihidupkan.

Untuk Mac OS, instalasi sangat mudah dan praktis. File dmg tinggal di run dan instal. Hanya saja perlu dibuka aksesnya lewat ‘gatekeeper’. Untuk jelasnya silahkan lihat video berikut ini.

Tools Programming Yang Mulai Bergeser Saat Ini

Di tahun 90-an salah satu bahasa pemrograman adalah bahasa visual basic. Karakteristik bahasa satu paket visual studio dimana compiler, tampilan dan sejenisnya tersedia full. Namun saat ini ketika pemrograman web berkembang pesat dimana satu aplikasi memanggil fungsi-fungsi lain yang tidak ada di komputer programmer membuat programmer era 90-an harus terbiasa dengan hal ini.

Jika dicari di Youtube, saat ini sedang ada pergeseran programmer dari menggunakan akses full lengkap dari bahasa pemrograman menjadi menggunakan aplikasi teks editor sederhana lalu mengujinya menggunakan komputer lain di server yang sering disebut server development. Pernah saya menjadi project manager, salah satu programmer menggunakan Mac Book dengan processor M1 yang bertipe mobile untuk membuat kode Node-JS. Bagaimana dengan Python? Tentu saja jika untuk testing, bisa menggunakan google cloud yang menginstall Jupyter notebook di server tersebut, selain tentu saja dengan Google Colab. Video ini sedikit membahas hal tersebut.

Jadi laptop tidak terbebani dengan beban seperti server testing. Itu kalau satu bahasa pemrograman, jika ada banyak repot juga.

Untuk pemrograman basis data, banyak juga yang menyediakan server gratisan, seperti berikut [Link]. Selain menyediakan domain, juga menyediakan web server untuk file-file php, html, css, dll, dan database management system dengan MySQL. Lihat video singkat ini:

Namun untuk PHP yang ada Python di dalamnya, tentu saja membutuhkan vendor lain, misalnya heroku. Jadi sepertinya laptop sedikit demi sedikit mulai bergeser karena banyaknya penyedia cloud. Menarik untuk terus memantau perkembangan ini.

Diagram UML Terintegrasi dengan Enterprise Architect

Akhir tahun merupakan tanggal dimana laporan proyek harus diserahkan. Jika laporan proyek tidak selesai, pinalti siap menanti. Sepertinya sudah biasa, programer yang jago coding, tetap saja ketika diminta menyelesaikan laporan mengenai sistem yang dibuatnya, kalang kabut juga. Mungkin efek dari kebiasaan saat kuliah dulu. Fokus ke coding atau buat alat, tapi kurang fokus ke laporan. Padahal laporan sangat penting, terkait dengan dokumen spesifikasi program. Perlu diketahui, apapun model pengembangan sistem, tetap harus ada pengembangan dari versi pertama lanjut kedua dan seterusnya.

Untungnya saat ini banyak tools untuk mempermudah membuat laporan, khususnya terkait diagram, baik objek (UML) maupun proses (DFD), hingga database (ERD). Tools tersebut ada yang sekedar gambar, seperti Visio, tapi ada juga yang bisa dilanjutkan ke kode, misalnya Rational Rose dari IBM. Nah, kali ini kita coba Enterprise Architect (EA) yang fokus ke pembangunan diagram yang terintegrasi. Salah satu yang powerful dari aplikasi ini adalah sangat ringan dibuka dari komputer standar (i5 ke atas prosesornya).

Bagi pembuat laporan tentu saja kemudahan dalam copas dari model ke laporan word. Nah, EA tidak perlu mengekspor, cukup dengan blok dan copas ke ms word, sangat praktis. Hasilnya pun lengkap, dan yang terpenting, satu file project dapat dibuat menjadi modul-modul yang terintegrasi seperti membuka file pada explorer. Berikut video singkat bagaimana membuat salah satu diagram terkenal UML, activity diagram. Diagram ini versi lebih praktis dari flowchart yang agak ribet dalam percabangan/decision.

Akses API dari Google Sheet lewat HTML

Lanjutan dari post yang lalu [link], kita akan mencoba memanfaatkan Google Sheet untuk data yang akan dikelola lewat aplikasi web. Biasanya yang sering kita lihat adalah aplikasi PHP-Mysql dengan koneksinya. Biasanya dibutuhkan sebuah server khusus, misalnya Apache untuk PHP. Masalahnya adalah server tersebut perlu dihosting serius, apalagi kalau aplikasinya besar (enterprise application). Nah, untuk data yang sederhana, dan bisa digunakan oleh pengguna internal, kita bisa menggunakan server dari Google Sheet.

Google sheet merupakan aplikasi terkenal Google, sering disebut Excel Online. Formatnya sangat mudah karena sebagian besar manusia di bumi pernah menggunakan Microsoft Excel atau spreedsheet merek lain, open office, dan lain-lain. Google Sheet menyediakan aplikasi Google Script (GS) untuk mengelolanya seperti pada postingan sebelumnya [link], namun untuk digunakan dalam script html perlu perlakuan khusus. Nah, di sini kita butuh bantuan sheet.best [link] untuk mengkonversi Google Sheet menjadi Application Programming Interface (API) yang dapat digunakan langsung via kode html (tentu saja ada javascript di dalamnya).

Jadi hanya dengan menempatkan file HTML di server web statis seperti spaces.w3spaces.com atau github page, dan sebuah file Google Sheet, aplikasi database sederhana dapat berjalan. Tentu saja untuk database kompleks harus memanfaatkan server database, seperti MySQL, postGres, dan lain-lain walaupun saat ini jenis database no-sql kian diminati.

Ikuti saja langkah-langkah pada video ini dan saat ini ChatGPT [link] merupakan sarana belajar sekaligus menghasilkan kode. Untuk belajar karena kita bisa bertanya penjelasan line-code di tiap-tiap baris kode sehingga bisa menjalankan kode sendiri nantinya. Sekian, semoga bermanfaat.

Intelligence Media Analytic Sederhana

Konon kabarnya kemenangan Donald Trump dibantu oleh intelligence media analytic yang mengandalkan pengaruh media sosial, salah satunya facebook [link]. Nah, kita akan memasuki pilpres dan pileg tahun depan, ada waktu sekitar 3 bulan untuk kampanye. Apakah waktu tersebut cukup?

Melihat kondisi geografis Indonesia yang tersebar dalam pulau-pulau, sangat sulit jika kampanye dilakukan dengan cara off line, turun ke lapangan. Dengan jumlah provinsi sebanyak 34 provinsi, tidak efektif hanya mengandalkan kunjungan langsung. Maka cara yang efektif tentu saja lewat media online.

Peran media analytic jadi sangat penting, selain untuk menebarkan kampanye positif (tentu saja kampanya negatif tidak etis). Beberapa mahasiswa sudah bisa membuat sentiment analysis dari twitter yang memang berbasis text. Nah, bagaimana dengan yang video? Tentu saja butuh sedikit usaha untuk mengkonversi ucapan menjadi tulisan, seperti video berikut:

Ketika video berhasil dikonversi menjadi tulisan, maka di sini Natural Language Processing (NLP) bekerja dengan memanfaatkan metode-metode yang ada, misal SVM, Naïve Bayes, BERT, dan sejenisnya, termasuk fasilitas khusus untuk bahasa selain Inggris, misalnya bahasa Indonesia. Berikut bagaimana menganalisa video menjadi sentiment analysis dan fasilitas lain seperti wordcloud.

Perkembangan Tool Programming

Ketika pertama mengenal komputer di awal 90-an, kita mengenal bahasa yang berbasis teks. Di sini kemampuan programmer, khususnya dari logika dan ketelitian mutlak diperlukan. Salah sedikit saja, harus ulang lagi, dimana kompilasi bisa memakan waktu, bahkan mahasiswa waktu itu ditinggal pergi jalan-jalan dulu saat menunggu selesai.

Setelah itu beberapa pengembang bahasa pemrograman mulai membuat pemrograman dengan menggunakan toolbox, dimana untuk membuat interface GUI tinggal drag and drop saja menggunakan mouse. Waktu itu visual basic menjadi idola bagi para mahasiswa untuk tugas akhir, selain memang industri juga banyak permintaan dengan bahasa itu. Selanjutnya Netbeans, Eclips, Delphi, dan lain-lain mengikuti langkah microsoft.

Perkembangan terus berlanjut, khususnya aplikasi berbasis Web, yang dipelopori oleh PHP yang open source dan dotnet untuk microsoft. Muncul pula beberapa bahasa seperti Ruby and Rails dan Python yang masuk ke web-based. Tentu saja agak sulit membuat satu Integrated Development Environment (IDE) yang bisa menyatukan platform yang ada, apalagi terkadang memanfaatkan library yang terpencar-pencar. Perkembangan smartphone memaksa lagi developer memanfaatkan peluang itu dengan tools canggihnya, misalnya Android Studio.

Artificial Intelligence (AI) muncul di beberapa tahun terakhir mengubah peta. Beberapa aplikasi seperti ChatGPT mampu mengubah paradigma dimana penggunaan IDE bisa digantikan lewat tanya jawab dengan AI. Error yang terjadi dapat langsung terselesaikan, berbeda dengan cara mencari, bertanya, atau cara-cara lama lainnya. Video berikut menunjukan dengan mudahnya training deep learning dengan Tensor Flow dengan mudah dikonversi ke pesaingnya Pytorch untuk sample IRIS dataset.

Desktop-Based Python Application

Aplikasi komputer dapat berjalan lewat desktop, web, maupun mobile. Masing-masing memiliki kelemahan dan kelebihan. Postingan kali ini membahas bagaimana membuat aplikasi desktop pada Python.

Computer applications can run on desktop, web, or mobile platforms. Each platform has its own strengths and weaknesses. In this post, we will discuss how to create a desktop application using Python.

Pada dasarnya Python seperti Java, PHP, dan lain-lain merupakan interpreter, dimana untuk menjalankan suatu aplikasi dengan terlebih dahulu menginstal sejenis runtime. Untuk Python tentu saja menginstal Python terlebih dahulu, baik versi 2 maupun 3. Dan ketika menjalankan lewat instruksi di terminal:

Basically, Python, like Java, PHP, and others, is an interpreter where running an application requires installing a runtime of a similar kind. For Python, you need to install Python itself first, either version 2 or 3. When running it through instructions in the terminal:

python <nama_aplikasi>.py

Walaupun itu merupakan jenis desktop, tetapi masih memerlukan instalasi Python di dalamnya. Nah, bagaimana membuat aplikasi desktop yang berjalan tanpa requirements yang harus dipasang terlebih dahulu? Caranya adalah jika dengan platform Windows lewat executable program yang berekstensi .exe atau .com. Bagaimana caranya? Seperti postingan yang lalu, dengan library pyinstaller pada Python. Jika pada postingan tersebut kita hanya mengkonversi menjadi exe saja, kali ini kita coba membuat aplikasi berbasis GUI.

Even though it’s a desktop application, it still requires installing Python within it. Now, how can we create a desktop application that runs without any pre-installation requirements? The approach is to use an executable program with the .exe or .com extension, specifically for the Windows platform. How can we do that? Just like the previous post, we can use the PyInstaller library in Python. While in the previous post, we only converted it into an exe file, this time we’ll try to create a GUI-based application.

A. Kivy

Salah satu library pada Python untuk membuat GUI yang baik adalah Kivy. Library ini walaupun dapat dikonversi menjadi mobile lewat library buldozer ternyata bermasalah ketika menjadikannya executable (.exe). Hal ini karena kompleksitasnya, ditambah lagi sejatinya memang untuk linux.

One of the libraries in Python for creating good GUIs is Kivy. Although this library can be converted for mobile use through the Buldozer library, it turns out to have issues when making it executable (.exe). This is due to its complexity, compounded by the fact that it is primarily designed for Linux.

B. TKinter

Nah, library lain yang dapat digunakan adalah TKinter. Library ini dapat membuat GUI untuk interface aplikasi Python. Walaupun kurang lengkap dibanding Kivy yang saat ini kian terkenal, TKinter memiliki kemampuan untuk dikonversi menjadi executable program.

Well, another library that can be used is Tkinter. This library allows you to create GUIs for Python applications. Although it may be less feature-rich compared to the increasingly popular Kivy, Tkinter has the ability to be converted into an executable program.

C. Pyinstaller

Ini merupakan library yang cukup baik untuk mengkonversi .py menjadi .exe. Saingan yang lain saya coba banyak gagalnya, misalnya py2exe, dan kawan-kawannya. Untuk menggunakannya instal terlebih dahulu:

This is a quite good library for converting .py files to .exe. Other competitors that I’ve tried had many failures, such as py2exe and its counterparts. To use it, you need to install it first:

pip install pyinstaller

Jika sudah siapkan aplikasi dengan TKinter, misalnya menjumlahkan secara sederhana dua angka. Untuk gampangnya silahkan tanya saja ChatGPT untuk samplenya.

If you have already prepared the application with Tkinter, for example, a simple addition of two numbers. To make it easier, feel free to ask ChatGPT for a sample.

Berikutnya kita tinggal mengetikan pada terminal di folder yang sama dengan kode python. Misal kode Python di atas diberi nama tesgui.py.

Next, you just need to type the following command in the terminal, assuming that the Python code is saved with the name “tesgui.py” in the same folder:

pyinstaller –onefile -w gui2.py

Tergantung besar atau kecilnya file py, pyinstaller akan mengkonversi menjadi exe. Hasilnya adalah sebuah file tesgui.exe yang terletak di folder dist.

The conversion of the .py file to an .exe file by PyInstaller depends on the size of the Python file. The result will be a tesgui.exe file located in the “dist” folder.

Jalankan saja file hasil kompilasi tersebut, tinggal dobel klik saja. Hasilnya akan muncul seperti berikut ini. Sederhana bukan? Silahkan coba model yang lebih kompleks, untuk tensorflow sepertinya perlu perlakuan khusus, karena sempat saya coba tidak muncul hasil eksekusi-nya, hanya GUI saja.

Just run the compiled file by double-clicking on it. The result will appear as follows. Simple, isn’t it? Feel free to try more complex models. For TensorFlow, it may require special treatment because when I tried it, the execution results didn’t appear, only the GUI.

Buldozer for developing Python applications on Android

Mobile applications saat ini merupakan aplikasi yang paling banyak dipakai. Sebagai contoh, hampir jarang pengguna Facebook dengan browser. Mulai dari taxi online, hingga pembarayan menggunakan handphone. Kemudahan karena bentuk yang mudah dibawa menuntuk aplikasi-aplikasi (desktop dan website) disiapkan juga versi mobile-nya. Postingan kali ini hanya mengilustrasikan bagaimana mengkonversi aplikasi berbasis python yang kita buat menjadi aplikasi mobile, salah satu yang terkenal adalah berbasis Android.

Mobile applications are currently the most widely used applications. For example, it is rare to find Facebook users accessing it through a browser. From online taxis to mobile payments, smartphones have made it convenient to access various applications. As a result, many applications (both desktop and website-based) have prepared mobile versions. This post will illustrate how to convert a Python-based application into a mobile application, specifically focusing on the popular Android platform.

A. Kivy

Salah satu library python yang banyak digunakan untuk membuat aplikasi Python agar bisa berjalan di mobile app adalah Kivy, lihat post terdahulu untuk lengkapnya. Masih menggunakan aplikasi pada post sebelumnya sebagai ilustrasi. Berikut tampilan GUI dengan Kivy setelah dirunningl.

One of the widely used Python libraries for creating Python applications that can run on mobile apps is Kivy, as mentioned in the previous post. Continuing with the application from the previous post as an illustration, here is the GUI appearance with Kivy after running it.

B. Buldozer

Buldozer merupakan satu paket berbasis Python untuk membuat apk dari bahasa Python yang dibuat dengan library kivy. Kira-kira tampilannya sebagai berikut. Silahkan lihat di google colab ini. Uniknya, buldozer dapat dijalankan lewat Google Colab, sehingga hanya membutuhkan browser saja. Metode lainnya lihat postingan ini.

Bulldozer is a Python-based package for creating APK files from Python code built with the Kivy library. Here is an example of its appearance. Please refer to this Google Colab link for more details. The unique feature of Bulldozer is that it can be executed through Google Colab, requiring only a web browser. For alternative methods, please refer to this post.

C. File Buldozer.spec

Perhatikan setiap instalasi pada cell di colab jangan sampai ada error (berwarna merah). Ketika inisialisasi, buldozer.spec muncul dan siap dijalankan, juga dengan Google Colab. Ganti nama aplikasi, tampilan splash dan icon. Untuk requirements di baris ke 40 tambahkan library-library yang digunakan, beserta versinya, misalnya kivy==2.2.0. Library lain tambahkan jika ada di impor pada header python, misal pillow, tensorflow, dll.

Please ensure that there are no errors (in red color) during the installation process in each cell in Colab. When initializing, the bulldozer.spec file will appear and is ready to be executed, even in Google Colab. You can rename the application, customize the splash screen, and change the icon. In line 40, add the required libraries along with their versions to the requirements, for example, kivy==2.2.0. If there are any additional libraries imported in the Python header, such as Pillow, TensorFlow, etc., please include them as well.

Jangan lupa menghilangkan hastag # jika akan digunakan. Please remember to remove the ‘#’ symbol if you intend to use the code.

D. Menjalankan (running) File Apk

Nah, repotnya adalah proses kompilasi yang hampir setengah jam. Jika sudah tinggal dipindah apk yang dihasilkan untuk diinstal di handphone. Lokasi apk ada di folder bin. Pastikan Android paket sudah selesai terbentuk di bagian akhir google colab.

Well, the inconvenience lies in the compilation process which takes nearly half an hour. Once it’s done, you just need to transfer the generated APK file to your mobile device for installation. The APK file can be found in the ‘bin’ folder. Make sure that the Android package has been successfully created towards the end of Google Colab.

Tampilannya kira-kira seperti ini, mirip dengan versi Kivy python.

The appearance would be something like this, similar to the Kivy Python version.

Sekian, video youtube dapat dilihat di link berikut, terima kasih.

That’s all, the YouTube video can be viewed at the following link. Thank you.

Membuat Objek dengan PHP

Biasanya materi pemrograman berorientasi objek (PBO) menggunakan Java. Namun saat ini sebagian besar bahasa pemrograman memiliki kemampuan membuat program berorientasi objek, salah satunya adalah PHP. Walaupun tren bahasa ini menurun di dunia, kalah dengan Python, tetapi di Indonesia masih banyak digunakan.

Untuk basis data, penggunaan basis data khusus Objek masih sedikit yang berminat mengingat basis data relasional sudah digunakan sejak lama. Namun dapat diatasi dengan penggunaan konsep Object Relational Data Base Management System (ORDBMS). Kalau basis data objek menyimpan objek mobil misalnya, ORDBMS menyimpan mobil dalam bentuk roda, mesin, sasis dan elemen lainnya.

Class

Salah satu syarat wajib PBO adalah adanya class. Fungsinya membuat sebuah objek sejenis sebagai templatenya, berisi atribut dan method atau operation. Berikut ini contoh diagram kelas untuk kelas barang.

Tiap class juga memiliki sebuah method yang bernama constructor yang fungsinya membangkitkan sebuah objek. Berikut ini class Barang dalam bahasa PHP. Note: karena bahasa PHP, jangan lupa mengawali dengan tag: <?php

Potongan kode di atas menunjukan fungsi constructor yang menginisiasi database relational. Di bagian bawahnya ada method insert yang berfungsi memasukan data barang, di bawahnya update dan seterusnya, sering disebut dengan istilah Create, Read, Update, dan Delete (CRUD). Sebelumnya siapkan saja database MySql.

Objek

Jika kelas yang diibaratkan template sudah ada, sebuah objek dapat dibentuk. Jadi prinsipnya ketika ingin mengakses CRUD, aplikasi tidak langsung terhubung ke database, melainkan membentuk objek terlebih dahulu.

Pertama-tama impor kelas yang dibutuhkan dengan include ‘Barang.php’; yang sesuaikan dengan letak/path-nya. Sebaiknya dibuatkan dalam satu folder khusus, misalnya classes. Perhatikan bagaimana membuat sebuah objek barang. Standar-nya nama objek diawali huruf kecil, sementara nama kelas huruf besar. Di sini $ merupakan standar bahasa PHP sebagai variabel.

$barang = new Barang();

Ketika sudah terbentuk objek dari kelasnya (class Barang) maka kita dapat mengakses method yang dimiliki misalnya read, di sini contohnya membaca id_barang=1, yang jika dijalankan aplikasinya tampak seperti gambar di bawah. Sekian, mudah-mudahan tertarik dengan sistem berorientasi objek.

Tag Cloud dengan HTML

Tag cloud atau awan tag adalah representasi visual dari kata-kata kunci atau tag yang paling umum digunakan dalam suatu dokumen atau set dokumen. Tag cloud biasanya terdiri dari sekelompok kata-kata yang ditampilkan dalam ukuran yang berbeda-beda, dengan ukuran yang lebih besar menunjukkan bahwa kata-kata tersebut lebih sering muncul dalam dokumen atau set dokumen yang dianalisis. Tag cloud digunakan untuk membantu pengguna memperoleh pemahaman yang lebih cepat tentang topik atau konten dokumen yang dianalisis.

Berikut ini kita coba membuat tagcloud dari scrapping www.newsapi.org yang merupakan platform penyedia layanan berita berbasis web (lihat pos terdahulu). Layanan ini menyediakan akses ke ribuan artikel berita dari berbagai sumber terpercaya di seluruh dunia. NewsAPI.org adalah salah satu layanan terbaik untuk pengembang dan pembuat aplikasi yang ingin mengintegrasikan berita ke dalam aplikasi mereka. Berikut ini adalah contoh akses API:

https://newsapi.org/v2/top-headlines?country=id&apiKey=APIKEY

Untuk mendapatkan API Key dari NewsAPI.org, ikuti langkah-langkah berikut:

  • Kunjungi situs web NewsAPI.org di https://newsapi.org/.
  • Klik tombol “Get API Key” di sudut kanan atas halaman web.
  • Isi formulir pendaftaran yang tersedia dengan alamat email Anda dan kata sandi yang aman, kemudian klik “Get Started”.
  • Verifikasi alamat email Anda dengan mengklik tautan yang dikirimkan ke email Anda.
  • Login ke akun NewsAPI.org yang baru saja Anda buat.
  • Setelah login, klik “Dashboard” untuk melihat API Key Anda.
  • Salin API Key yang ditampilkan dan gunakan dalam permintaan API Anda.

Perlu diingat bahwa NewsAPI.org menyediakan berbagai paket layanan dengan harga yang berbeda-beda. Paket gratis memiliki batasan permintaan API per hari, sedangkan pada paket berbayar, batasan permintaan dan fitur yang lebih banyak tersedia. Pastikan untuk memilih paket yang sesuai dengan kebutuhan Anda. Berikut ini terapannya untuk membuat Tagcloud.

<!DOCTYPE html>
<html>
<head>
<title>Tag Cloud dari Scraping NewsAPI</title>
</head>
<body>
<h1>Tag Cloud dari Scraping NewsAPI</h1>
<?php
$apiUrl = “https://newsapi.org/v2/top-headlines?country=id&apiKey=API KEY“; // Ubah kode “id” menjadi kode negara yang ingin Anda scrap beritanya
$response = file_get_contents($apiUrl); // Ambil data dari NewsAPI dalam format JSON
$newsData = json_decode($response); // Ubah data JSON menjadi objek PHP
$tags = array(); // Buat array kosong untuk menyimpan tag yang diambil dari berita
foreach ($newsData->articles as $article) { // Loop setiap artikel dalam objek berita
$title = strtolower($article->title); // Ambil judul artikel dan ubah ke huruf kecil
$words = explode(” “, $title); // Pisahkan kata-kata dalam judul artikel ke dalam array
foreach ($words as $word) { // Loop setiap kata dalam array
if (strlen($word) > 3) { // Jika kata lebih panjang dari 3 karakter
array_push($tags, $word); // Tambahkan kata ke dalam array tag
}
}
}
$tagCounts = array_count_values($tags); // Hitung frekuensi kemunculan setiap tag
arsort($tagCounts); // Urutkan tag berdasarkan frekuensi kemunculan dari yang paling banyak
foreach ($tagCounts as $tag => $count) { // Loop setiap tag dan frekuensi kemunculannya
$tagSize = 15 + ($count * 4); // Tentukan ukuran tag berdasarkan frekuensi kemunculan
echo “<a href=’#’ style=’font-size: ” . $tagSize . “px;’>$tag</a> “; // Tampilkan tag dalam elemen anchor dengan ukuran yang ditentukan
}
?>
</body>
</html>
Tampilannya kira-kira seperti ini. Tampak Piala Dunia Indonesia U-20 memiliki frekuensi yang tertinggi di antara kata-kata lainnya. Selamat mencoba.

Mengelola File CSV untuk Training Web-Python dengan PHP

Beberapa sampel prediksi dengan neural networks (NNs) biasanya menggunakan dataset yang tersedia pada library yang digunakan, misalnya Sklearn. Namun dalam implementasinya dataset harus disediakan terlebih dahulu, misalnya dengan file Comma Separated Valud (CSV). Oleh karena itu keterampilan mengelola data sendiri tersebut sangat diperlukan. Postingan ini mengilustrasikan bagaimana mengelolanya.

Mengunduh Dataset

Untuk yang sedang mengerjakan proyek akhir biasanya mengambil data sendiri lewat survey. Untuk latihan bisa akses link berikut: iris.csv. Setelah itu ekstrak file archive tersebut. Tempatkan di folder dimana aplikasi akan dibuat.

Mempersiapkan Interace Untuk Training

Data iris memiliki empat input dan tiga kelas output: setosa, versicolor, dan virginica. Untuk mudahnya, bertanya saja kepada ChatGPT dengan kata kunci sebagai berikut:

create html code to upload csv file and use php to open python for neural network training and save trained h5

Berikutnya akan disediakan 1 index.html untuk interface utama, 1 file upload.php untuk, 1 file train.py untuk mentrainingnya Hasil tersimpan dalam format H5. Perhatikan, karena label/target masih string maka perlu dikonversi menjadi number. Untuk jelasnya silahkan lihat video berikut ini:

 

 

Install Apache-2 dan PHP-MyAdmin di Ubuntu

Mahasiswa sebaiknya memahami Ubuntu, karena sebagian besar server menggunakan Ubuntu. Nah, untuk belajar, bisa juga dengan Ubuntu desktop karena fungsi-fungsi terminalnya mirip, namun lebih mudah utk newbie karena bisa baca pdf, transfer file dengan cara drag dan lain-lain.

Jalankan VMWare Workstation dan Ubuntu. Masuk ke terminal untuk menjalankan instruksi-instruksi yang dibutuhkan. Tekan simbol 9 titik di pojok kiri bawah, lalu cari Terminal >_.

A. INSTAL APACHE 2

Setelah terminal muncul di layar. Lakukan langkah-langkah berikut untuk instalasi Apache2:

1. Masuk ke root dengan mengetik:

sudo su

Masukan password root Ubuntu kta. Perhatikan simbol # yang menggantikan $ pertanda kita sudah masuk ke root.

2. Lakukan update dengan mengetik:

apt update

Tunggu beberapa saat hingga selesai.

3. Install Apache 2 dengan mengetik:

apt install apache2

Saat kita diminta konfirmasi apakah lanjut (karena akan mengambil memory harddisk), tekan y dilanjutkan dengan ENTER.

4. Selamat, Apache2 telah berhasil diinstall, pastikan dengan mengetik:

apache2 -version


B. SETING FIREWALL APACHE2

Agar webserver Apache dapat diakses dari luar, Firewall perlu diseting dengan langkah sebagai berikut:

1. Untuk mengetahui apa saja aplikasi yang aktif Firewall-nya ketik: ufw app list. Selanjutnya ijinkan Apache diakses dari luar dengan mengetik:

ufw allow apache2

Cek dengan mengetik: ufw status, dan pastikan Status: inactive.

2. Restart Apache2 dengan mengetik:

systemctl restart apache2

Untuk melihat status Apache2, ketik:

Systemctl status apache2

Pastikan Apache aktif dengan melihat tulisan ‘active (running)’.

NOTE: tiap selesai melihat status, untuk kembali ke prompt tekan Ctrl+C dilanjutkan menekan ENTER.


3. Berikutnya kita akan menguji apakah Apache2 yang telah kita instal dapat diakses dari device lain. Ketahui terlebih dahulu ip address-nya dengan mengetik:

ip a

Baca ip address-nya, misalnya untuk data berikut ip-nya: 192.168.72.128.


4. Selanjutnya buka device lain, misalnya Windows yang menjadi HOST VMWare. Buka browser dan ketik alamat ip-nya, misal 192.168.72.128. Pastikan muncul tampilan sebagai berikut.


Jika tampil dan terlihat tulisan ‘It works’, selamat kita berhasil menginstal Apache2. Jika tidak muncul pastikan kembali alamat ip addressnya apakah sudah sesuai.

C. INSTALL PHP

1. Web server yang sudah kita instal dan seting, perlu disiapkan bahasa pemrogramannya, antara lain php. Ketik terlebih dahulu untuk update:

apt update

2. Instal php dengan mengetik:

apt install php

Tekan y ketika diminta konfirmasi. Tunggu sesaat hingga proses instalasi selesai. Jika sudah cek dengan mengetik:

php -v

Pastikan versi php muncul di terminal.

3. Berikutnya menginstal library dari paket php dengan mengetik:

apt install libapache2-mod-php

Kembali restart apache2

systemctl restart apache2

D. INSTALL MYSQL

1. Seperti biasa, update:

apt update

2. Instal MySQL dengan mengetik:

apt install mysql-server

Tekan y ketika kita diminta konfirmasi karena dibutuhkan 200 Mb untuk MySQL Server yang akan dipasang.

3. Cek status MySQL dengan mengetik:

systemctl status mysql

E. INSTALL PHPMYADMIN

1. Update terlebih dahulu:

apt update

2. Instal Phpmyadmin dengan mengetik:

apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

3. Gunakan SPASI dan TAB untuk menceklis [ ] apache2 dan menekan <Ok>.


  1. Tnggu beberapa saat hingga muncul Package configuration. Pilih <Yes>.
  2. Ketik password untuk pypmyadmin, misal: P4ssword!

F. MENGAMANKAN MYSQL

1. Set dulu passwore ‘root’@’localhost’. Ketik mysql untuk masuk ke MySQL Gunakan kode berikut untuk memberi password root: P4ssword!

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘P4ssword!’;

2. Keluar dari MySQL dengan mengetik: exit. Untuk membuat MySQL secure, ketik:

mysql_secure_installation

3. Tekan y ketika diminta konfirmasi. Lalu pilih level password policy yang diinginkan, misalnya STRONG.

4. Jika ingin mengganti password, tekan y.

5. Tekan y hingga selesai (muncul pesan All Done).

6. Restart MySQL dengan mengetik: systemctl restart mysql dilanjutkan dengan mengecek status dengan mengetik: systemctl status mysql. Pastikan status: Active (Running).

7. Akses phpmyadmin dengan browser dari device lain. Pastikan berjalan dengan baik.


Berikut ini beberapa catatan ketika ada kendala instalasi Phpmyadmin.

1. Jika terkendala dengan instalasi, set dahulu policy ke low, masuk ke MySQL

mysql -u root -p

2. masukan password, misal di sini: P4ssword! Terkadang instalasi bermasalah karena password yang kurang ‘strong’. Turunkan security menjadi LOW dahulu:

SET GLOBAL validate_password.policy = 0;

3. Uninstall komponen validasi password:

UNINSTALL COMPONENT ‘file://component_validate_password’;

4. Setelah instal Phpmyadmin lanjutkan dengan instal validasi:

INSTALL COMPONENT ‘file://component_validate_password’;

5. Set validasi password menjadi STRONG:

SET GLOBAL validate_password.policy = STRONG;

6. Cek sekurity:

SHOW VARIABLES LIKE ‘validate_password%’;

7. Pastikan sekurity STRONG.

Menginstall Composer Untuk Aplikasi-Aplikasi Framework PHP

Postingan yang lalu membahas menjalankan aplikasi yang telah dibuat dengan framework Laravel. Diperlukan aplikasi Composer yaitu sebuah tool dependency manager untuk bahasa pemrograman PHP. Dengan menggunakan Composer, kita dapat mengelola dan mengatur dependensi (library atau package) yang diperlukan oleh sebuah proyek PHP.

Secara lebih spesifik, Composer memungkinkan kita untuk:

  • Menginstal dan mengupdate library atau package PHP dengan mudah.
  • Mengelola versi dari library atau package yang digunakan pada proyek kita.
  • Menyediakan autoload sehingga kita tidak perlu lagi melakukan require manual pada setiap file.

Silahkan buka situs resminya, lalu download Composer-Setup.exe. Setelah itu jalankan saja.

Pilih saja install for all users untuk mudahnya.

Di sini kita diminta mengarahkan letak file php.exe yang kita gunakan.

Untuk XAMPP biasanya terletak di folder XAMPP/php.exe. Atau jika ingin langsung ke arah file bisa menggunakan Config pada XAMPP Control Panel yang akan mengarahkan ke folder apache.

Atau bisa juga dengan searching langsung saja. Pilih saja file php.exe hasil pencarian.

Proses selanjutnya adalah instalasi. Jika tidak punya Proxy, lewatkan saja dengan menekan tombol Next.

Sebelumnya, jika kita ingin menambah Path bisa dengan men-ceklis pada pilihan path. Tampak seperti gambar di bawah informasi letak php, versinya, serta lokasi Path. Jika sudah yakin, tekan saja Install untuk melanjutkan proses instalasi.

Jika sudah, tunggu hingga selesai. Selamat, kita telah berhasil menginstall composer. Untuk penggunaannya silahkan lihat post yang lalu untuk menjalankan aplikasi Laravel.

Run Python di Apache

Postingan yang lalu membahas bagaimana menjalankan python di web dengan framework terkenal python, yaitu flask. Ada kemungkinan python akan menggeser php di masa yang akan datang mengingat tren python yang terus meningkat mengalahkan php. Saat ini apache masih menjadi andalan untuk web server php. Oleh karena itu perlu mengintegrasikan python dengan server favorit tersebut.

XAMPP sebagai software yang banyak dipakai untuk menjalankan php dengan databasenya (mysql atau mariadb) dapat diintegrasikan dengan python. Berikut ini tekniknya untuk yang berbasis windows.

Pada dasarnya ada dua hal yang harus dilakukan:

  • Set httpd.conf
  • Menambah header di file python (*.py)

Untuk yang linux agak sedikit rumit mengingat adanya hak akses khusus ke folder-folder linux, misal ubuntu. Silahkan dicoba.

Rest API Sederhana – Read Database dengan GET

Saat ini kebanyakan aplikasi Web menggunakan metode mengakses dengan Application Programming Interface (API). Metode ini berisi web service yang menyediakan fasilitas mengakses data lewat protokol HTTP: GET, PUT, POSH, dan DELETE. Lewat protokol http, yang akan mengakses tidak perlu menggunakan bahasa pemrograman yang mengakses data, misal lewat SELECT pada akses standar SQL.

Dengan API maka data di database serves dapat diakses oleh aplikasi lain yang berbeda platform dan bahasa dengan Web server, misal mengakses lewat aplikasi Android/IOS atau lewat front-end VuJS, React-JS, dan sejenisnya. Jadi API laksana tombol yang dapat diakses oleh aplikasi lain. Berikut ilustrasi penggunaannya, dengan GET yang berfungsi me-read database. Tentu saja dalam implementasinya dibutuhkan token untuk membatasi siapa saja yang bisa mengakses API tersebut.