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.

Iklan

Convert Python file to Exe File

Mahasiswa jaman dulu sudah mengenal kompilasi program menjadi file executable. File jenis ini tidak bisa langsung dilihat kode programnya, sehingga lebih aman dari ‘penggunaan kembali’ oleh orang lain. Postingan ini khusus untuk pengguna windows, platform yang bisa menjalankan langsung dile EXE.

Pertama-tama siapkan dahulu file python yang akan dikonversi dilanjutkan dengan menuju ke lokasi foldernya. Klik kanan dan pilih Open in Terminal. Atau bisa masuk langsung ke Command lalu arahkan ke folder aplikasi.

In the past, students were already familiar with compiling programs into executable files. This type of file cannot be directly viewed as source code, making it safer from being reused by others. This post is specifically for Windows users, a platform that can directly run EXE files.

First, prepare the Python file that will be converted, then navigate to its folder location. Right-click and select “Open in Terminal.” Alternatively, you can directly go to the Command Prompt and navigate to the application folder.

A. Install Pyinstaller

Setelah masuk ke command prompt, install library untuk konversi ke executable, yakni pyinstaller. Ketik kode:

After entering the Command Prompt, install the library for converting to an executable, which is pyinstaller. Type the following code:

pip install pyinstaller

B. Run Pyinstaller

Setelah pyinstaller terinstall, jalankan untuk mengkonversi file py menjadi exe. Ketikan instruksi:

After pyinstaller is installed, run it to convert the .py file to .exe. Type the following command:

pyinstaller –onefile -w process.py

Proses kompilasi berjalan dengan lama tergantung kompleksitasnya. Untuk program contoh, cukup lama prosesnya (sepeminuman the). Setelah selesai, pada folder dist tampak process.exe sudah terbentuk. Selanjutnya saya pindahkan ke folder tempat akan dieksekusi. Ukurannya fantastis, 500-an Mb, dibanding dengan sebelumnya yang 1 Kb. Mungkin akibat memasukan library-library yang digunakan. Salah satunya adalah tensorflow.

The compilation process takes time depending on its complexity. For the example program, it took quite a while (around a few minutes). Once it’s done, you will see that the process.exe file is created in the “dist” folder. Next, you can move it to the folder where you want to execute it. The size of the executable file is significantly larger, around several hundred megabytes, compared to the original file size of 1 KB. This increase in size is likely due to the inclusion of the libraries used in the program. One of them is TensorFlow.

C. Cek Hasil Konversi

Berikutnya kita uji dengan menjalankan file EXE. Kebetulan di sini file exe akan diakses oleh file PHP (maaf, rumit ya). Sebelumnya diakses dengan kode pada process.php sebagai berikut:

Next, we will test the executable file by running the EXE file. In this case, the EXE file will be accessed by a PHP file (apologies for the complexity). Before accessing it, use the following code in process.php:

Kemudian di sini process.py akan kita ganti dengan process.exe yang baru saja kita konversi. Ganti menjadi sebagai berikut.

Then, here we will replace process.py with the newly converted process.exe. Change it as follows:

Untuk memastikan bukan file process.py yang dipakai, ganti saja (rename), misalnya xprocess.py. Setelah itu jalankan file phpnya dengan kode:

To ensure that the file being used is not process.py, simply rename it, for example, to xprocess.py. After that, run the PHP file with the following code:

php -S localhost:8000

Atau gunakan cara biasa dengan XAMPP setelah memindahkan file aplikasi ke htdocs (lihat pos yang lalu).

Alternatively, you can use the conventional method with XAMPP after moving the application files to the htdocs directory (as mentioned in the previous post).

Dengan memasukan 4 input, file html tersebut menjalankan file process.php yang menangkap inputan, selanjutnya mengakses file process.exe yang sebelumnya python. Jadi, jika ingin kode rahasia Anda tidak bisa dibuka karena file .py maka dengan .exe akan lebih aman. Lebih jelasnya lihat video youtube berikut:

By entering 4 inputs, the HTML file executes the process.php file, which captures the inputs and then accesses the previously Python file, process.exe. So, if you want to protect your secret code from being easily accessed, using .exe files instead of .py files will provide more security. For more clarity, please refer to the following YouTube video:

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.

Memahami Level S1, S2, dan S3

Jenjang pendidikan selepas SMA jauh lebih rumit. Banyak variasi yang ada, baik itu dari sisi tipenya apakah vokasi atau akademik, hingga levelnya: Diploma (D1,D2,D3, Sarjana Terapan), Sarjana (S1), S2 hingga Doktoral. Di Indonesia sendiri aturan hukumnya sudah jelas di mana letak/posisi jenjang pendidikan tersebut, yakni:

  • Peraturan Presiden (Perpres) Nomor 8 Tahun 2012 tentang Kerangka Kualifikasi Nasional Indonesia (KKNI), dan
  • Peraturan Menteri Pendidikan dan Kebudayaan (Permendikbud) Nomor 3 Tahun 2020 tentang Standar Nasional Pendidikan Tinggi (SNPT).

Tanggung jawab unit pengelola sangat berat, tidak boleh melanggar aturan tersebut. Beberapa kampus negeri, misalnya ITS bahkan mempublish masalah tersebut (lihat link berikut).

Sampai-sampai ditulis ‘bukan sekedar berdasarkan persepsi individu’. Sepertinya banyak dosen-dosen yang memberi beban yang tidak/kurang tepat ke mahasiswanya. Biasanya memaksa siswa S1 melakukan riset dengan beberapa research question dengan harapan ada novelty, padahal standar minimal KKNI Sarjana adalah cukup bisa mengaplikasikan IPTEKS, menguasai teori, dan seterusnya. Walaupun boleh saja melebihi standar minimum, asalkan tidak memaksa khawatir melanggar UU. Kampus sekelas ITS saja masih menggunakan standar minimal.

Eksperimen

Untuk mahasiswa informatika, banyak sekali bahan eksperimen karena bisa menggunakan laptop. Kalaupun server, bisa juga di-remote, tidak perlu datang ke lokasi. Bahan eksperimen sangat banyak, dengan modul-modul untuk memahami konsep atau metode. Biasanya masuk dalam kurikulum yang diajarkan dalam laboratorium. Beberapa bahasa pemrograman, misalnya Python menyediakan IDE yang praktis, yaitu Google Colab. Biasanya dipakai untuk proses training, atau menguji dan membandingkan metode-metode tertentu, oleh mahasiswa doktoral untuk menguji metode usulan atau memperbaiki/meng-improve metode yang ada. Dalam perkuliahan S1 biasanya untuk eksperimen dimana suatu metode mampu menyelesaikan masalah.

Jika mahasiswa S1 hanya fokus ke Google Colab, dikhawatirkan kurang memahami standar minimal (menerapkan, menguasai teori, dll) di mana di dunia kerja yang dibutuhkan adalah menerapkan, misalnya membuat web, android, instalasi server, network, memantau security, dan sejenisnya. Kalaupun mau mengikuti standar S2 pun harus mampu mengembangkan. Jangan sampai ingin mengikuti standar S2 tetapi tidak ada yang dikembangkan, hanya memakai, tetapi masih berupa eksperimen di Google Colab, seperti tugas Lab. Akibatnya level S1 bukan .. S2 juga bukan. Termasuk keharusan menghasilkan pengakuan nasional dan internasional lewat jurnal pun agak berat bagi mahasiswa S1, kecuali mungkin jurnal nasional yang membolehkan tidak ada novelty.

Implementasi

Google colab sejatinya sangat bermanfaat, misal kita akan membuat mesin penerjemah sendiri, kita coba dengan google colab dan ternyata berhasil jalan dengan baik. Nah selanjutnya tugas mahasiswa S1 ya mengimplementasikan mesin penerjemah itu dalam suatu aplikasi misalnya web, android, ios, dan sejenisnya. Tapi kan susah? Tidak juga, sekarang kan sumber info sudah banyak, berikut video bagaimana mengutak-atik agar suatu metode bisa diimplementasikan.

Khusus aplikasi web, video short berikut yang merupakan kelanjutan video sebelumya mungkin bisa menginspirasi Anda. Terima kasih.

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.

Aplikasi Scratch .. Melatih Berfikir Komputasi Pada Anak

Scratch adalah sebuah platform pemrograman visual yang dirancang untuk membantu anak-anak dan remaja belajar pemrograman dan keterampilan komputasi dasar dengan cara yang menyenangkan dan interaktif. Scratch menggunakan blok-blok kode yang dapat disusun bersama-sama seperti puzzle, sehingga memudahkan pengguna untuk memahami konsep pemrograman dasar seperti urutan, kondisi, dan pengulangan. Buka link Scratch.

Pilih “Create” untuk membuat proyek baru. Ada istilah ‘Sprite’ dan ‘Background’ yang beruturut-turut artinya aktor dan lingkungannya.

Pilih latar belakang untuk game Anda dengan mengklik ikon latar belakang di sudut kanan bawah layar. Bisa juga dengan memilih lingkungan yang tersedia.

Tambahkan karakter atau objek game dengan mengklik ikon “Sprite” di sudut kanan bawah layar. Bisa juga dengan upload gambar sendiri. Langkah yang penting adalah membuat kode dari blok yang tersedia. Kode berikut (dengan even, control, dan motion) menginstruksikan si ‘meong’ berputar terus (instruksi repeat) dan even ketika green flag ditekan.

Silahkan pelajari video tutorial yang tersedia dan explore fasilitas-fasilitas yang tersedia. Lihat ilustrasi video berikut.

Install dan Running PHP dari Folder

AI merupakan salah satu bidang yang luas, dengan konsep-konsep yang dapat dijalankan khusus dengan aplikasi misalnya Jupyter Notebook, Google Colab, serta environment lain yang memudahkan mendisain AI. Namun untuk implementasi ada baiknya memahami penggunaannya. Salah satu yang paling banyak dipakai adalah aplikasi berbasis Web, misalnya dengan bahasa PHP (PHP: Hypertext Preprocessor).

A. INSTAL XAMPP

1. Untuk menginstal PHP, lebih mudah dengan XAMPP yang satu paket dengan basis data (MySQL). Buka link resminya.


2. Unduh versi terkini. Jalankan file yang telah diunduh. Di sini lokasi sedikit dirubah dari default-nya. Lanjutkan dengan meneken Next>.


B. RUNNING PHP SERVER

1. Jika sudah selesai, kita tinggal menjalankan XAMPP lewat XAMPP control panel.


2. Namun terkadang untuk praktek, lebih mudah menjalankan lewat direktori letak file-file php berada dengan mengetik: php -S localhost:8000. Jika php tidak ditemukan, silahkan ikuti seting Environment.

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.

Memasang Aplikasi Web Yang Dibuat dengan Framework LARAVEL

Terkadang kita diminta menginstal/memasang aplikasi dengan framework laravel yang telah dibuat programer. Ikuti langkah-langkah berikut ini:

1. Unduh aplikasi yang telah dibuat programmer, biasanya dari Github atau Google Drive.

2. Ekstrak jika masih berformat ZIP.

3. Pada lokasi folder, klik kanan dan masuk ke terminal

4. Ketik: composer update pada terminal, tunggu beberapa saat

5. Buka folder aplikasi laravel, disarankan menggunakan sublime text atau visual studio code untuk mempermudah beralih antar file. Jika sudah ada file .env pekerjaan lebih mudah, anggap saja kita belum memiliki. Lakukan rename pada file .env.example menjadi .env.

6. Berikutnya adalah mengisi APP KEY pada file .env. Ketik: php artisan key:generate pada terminal. Pastikan muncul pesan: Application key set successfully. Pastikan APP KEY sudah terisi.

7. Lihat kembali gambar di atas pada bagian DB_. Isi host, port, nama database dan root. Jika belum ingin dipassword, biarkan saja password kosong.

8. Masuk ke phpmyadmin pada browser untuk membuat database seperti pada file .env.

9. Selanjutnya adalah migrasi data dengan mengetik pada terminal: php artisan migrate. Tunggu hingga proses migrasi selesai.

10. Cek di phpmyadmin, pastikan muncul tabel-tabel yang terpasang.

11. Terakhir, jalankan server laravel dengan mengetik: php artisan serve. Pastikan server hidup dan buka browser dengan alamat: http://127.0.0.1:8000. Selamat, kita telah berhasil memasang sebuah aplikasi yang dibuat dengan framework LARAVEL.

Menggunakan Algoritma Genetika dengan Python

Algoritma Genetika (GA) merupakan salah satu nature-inspired optimization yang meniru evolusi makhluk hidup. Gampangnya, generasi terkini merupakan generasi yang terbaik yang adaptif terhadap lingkungan. Prinsip seleksi, kawin silang, dan mutasi diterapkan ketika proses optimasi secara pemilihan acak (random) dilakukan. Karena adanya unsur pemilihan acak, GA masuk dalam kategori metaheuristik bersama particle swarm optimization (PSO), simulated annealing (SA), tabu search (TS), dan lain-lain.

Bagaimana algoritma tersebut bekerja dalam suatu bahasa pemrograman saat ini dengan mudah kita jumpai di internet, dari youtube, blog, hingga e-learning gratis. Saat ini modul-modul atau library dapat dijumpai, misalnya di Matlab. Nah, dalam postingan ini kita akan mencoba dengan bahasa pemrograman Python. Sebelumnya perlu sedikit pengertian antara pembuatan program dari awal dengan pemrograman lewat bantuan sebuah modul atau library.

Beberapa pengajar biasanya melarang mahasiswa untuk langsung menggunakan library karena memang peserta didik harus memahami konsep dasarnya terlebih dahulu. Untungnya beberapa situs menyediakan kode program jenis ini yang dishare misalnya ahmedfgad, datascienceplus, pythonheatlhcare, dan lain-lain. Saya dulu menggunakan Matlab, dan ketika beralih ke Python karena pernah dengan bahasa lain maka dengan mudah mengikuti kode dengan bahasa lainnya. Oiya, saat ini GA, PSO, TS, dan lain-lain lebih sering disebut metode dibanding dengan algoritma karena tingkat kompleks dan ciri khas akibat mengikuti prinsip tertentu (makhluk hidup, fisika, biologi, dan lain-lain).

Selain memahami prinsip dasar, dengan kode python GA yang murni berisi langkah-langkah dari seleksi, kawin silang dan mutasi, jika Anda mengambil riset doktoral terkadang perlu menggabungkan dengan metode-metode lain, misalnya riset saya dulu, mutlak harus memodifikasi seluruh kode yang ada, jadi agak sulit jika menggunakan library yang tinggal diimpor.

Nah, jika Anda sudah memahami, dan sekedar menggunakan atau membandingkan metode satu dengan lainnya, penggunaan library jauh lebih praktis. Misal Anda menemukan metode baru dan harus membandingkan dengan metode lain, maka metode lain pembanding itu dapat digunakan, bahkan karena karakternya yang dishare maka orang lain (terutama reviewer jurnal) yakin keabsahannya (bisa dicek sendiri). Untuk GA bisa menggunakan library dari situs-situs berikut antara lain geneticalgorithms, pygad, pydea, dan lain-lain. Sebagai ilustrasi silahkan melihat video saya berikut yang menggunakan Google Colab.

Menggunakan Graphics Processing Unit (GPU) Google Colab

Google Colab selain menyediakan Integrated Development Environment (IDE) yang diserta kompiler Python juga menyediakan CPU dan GPU-nya. Untuk membuktikannya Google Colab memberikan link tersendiri di sini.

Jika langsung dijalankan sel pertama akan muncul pesan kesalahan sebagai berikut.

Hal ini terjadi karena kita belum mengeset accelerator GPU. Pilih accelerator dengan masuk ke menu Edit – Notebook Setting.

Berikutnya Anda diminta memilih acceleratornya. Ada dua pilihan: 1) Graphics Processing Unit (GPU) dan 2) Tensor Processing Unit (TPU). Pilih saja sesuai pokok bahasan kita yaitu GPU.

JIka dijalankan sel pertama program contoh pengaksesan GPU akan muncul keluaran sebagai berikut yang memastikan bahwa GPU ditemukan.

Jalankan sel berikutnya yang menguji kecepatan tensorflow menggunakan CPU dan GPU. Pastikan tidak ada error.

Perhatikan kecepatan eksekusi menggunakan GPU yang lebih cepat kira-kira 20 kali lebih dari CPU. Sekian semoga membuat tertarik memanfaatkan hardware GPU Google.

Django, Flask dan Jinja2 Untuk Python di Web

Biasanya programer Python menggunakan fasilitas Graphic User Interface (GUI) dari library Tkinter (lihat post yang lalu). Namun tren aplikasi berbasis web membuat programer Python membuat aplikasi berbasis web. Postingan ini menggambarkan bagaimana program Python bekerja di web. Pertama-tama yang dibutuhkan adalah donwload library. Di sini saya menggunakan cara tergampang, yaitu dari Anaconda Navigator

Untuk pembuatan aplikasi web skala besar, gunakan Django dengan fasilitas framework-nya yang lengkap. Caranya sama untuk mengunduh librarynya lewat Anaconda Navigator. Pastikan library tersebut terinstal di Anaconda agar nanti bisa digunakan di Jupyter Notebook lewat instruksi import.

Django Atau Flask? Jinja2 untuk Apa?

Sesuai dengan fungsinya, jika ingin membuat aplikasi besar gunakan saja Django. Tetapi untuk aplikasi ringan, flask lebih cepat. Bagaimana dengan Jinja2? Fungsi Jinja2 memang berbeda dengan Django dan Flask. Aplikasi ini berfungsi untuk membuat template yang nanti muncul di browser. Jika sudah ok, template tersebut dapat diterapkan baik di Django maupun Flask. Walaupun Django bisa juga untuk merancang template tetapi dengan Jinja2 programmer lebih senang karena cepat karena tidak membutuhkan fasilitas-fasilitas lain Django yang tidak ada hubungannya dengan template.

Mencoba Flask

Untuk membuat Python web dengan Flask kita harus memiliki template HTML. Gunakan template berikut ini.

Beri nama template.html, silahkan gunakan editor, misalnya notepad. Jangan lupa ekstensi harus html bukan txt. Buat folder baru di direktori Python, beri nama template. Posisi file kira-kira seperti ini. Dimana folder templates harus disediakan, berisi file HTML (lihat refernsi ini). Silahkan isi requirement.txt atau dengan nama lain misalnya readme.txt. Atau tidak ada juga tidak apa-apa karena hanya berisi penjelasan program.

Letakan template.html di folder tersebut. Sementara itu program utama tetap di direktori Python. Gunakan kode berikut.

  • from flask import Flask, render_template
  • app = Flask(__name__)
  • @app.route(“/”)
  • def template_test():
  • return render_template(‘template.html’, my_string=”Wheeeee!”, my_list=[0,1,2,3,4,5])
  • if __name__ == ‘__main__’:
  • app.run(debug=True)

Masuk ke Terminal dan jalankan dengan mengetik.

  • python run.py

Anda harus berhasil melihat hasilnya di http://127.0.0.1:5000 seperti instruksi di terminal. Di sini maksudnya kita diminta melihat localhost dengan port 5000, port yang diberikan oleh flask untuk mengakses via browser.

Silahkan lihat referensi di bawah untuk melihat bagaimana Jinja2 bekerja pada template. Di atas digunakan Flask, bisa juga dengan Django. Python saat ini sangat kuat dalam komputasi yang bekerja di back-end misalnya untuk mesin pembelajaran, dengan aplikasinya bisa jalan juga di web, berarti bahasa ini sangat diminati karena bisa bekerja selain di back-end maupun front-end, mengungguli bahasa-bahasa komputasi lainnya (lihat post yang lalu tentang tren bahasa pemrograman).

Referensi: https://realpython.com/primer-on-jinja-templating/

 

Object Not Found – Error 404 pada XAMPP

XAMPP merupakan paket berisi Apache server dengan PHP dan MySQL untuk membuat pemrograman web. Keunggulan paket aplikasi ini adalah sifatnya yang ringan karena server hanya aktif ketika Apache server di jalankan (running). Jika tidak dijalankan maka server tidak aktif sehingga meminimalkan penggunaan memori, biasanya jika dijalankan di laptop dan hanya untuk testing program.

Karena sifatnya yang aktif jika dijalankan, maka perlu setting khusus ketika beralih dari satu folder ke folder lainnya. Oiya, XAMPP berbasis folder dimana untuk mematikan dan menghidupkan server Apache dengan cara mengklik xampp_start dan begitu pula untuk mematikannya (xampp_stop). Masalah yang dijumpai ketika berganti folder adalah “Object Not Found” seperti tampilan di bawah ini.

Prinsip dari kesalahan ini adalah server Apache tidak berhasil menemukan “Link” yang dituju, biasanya index.php jika ada. Jika tidak ada index.php biasanya akan menampilkan folder-folder yang berada di folder htdocs. Folder ini merupakan folder induk php ketika server (localhost) dijalankan. Biasanya kasus ketika fodler XAMPP dipindah ke folder lain dan “xampp_start” hanya dijalankan tanpa diset ulang. Untuk mengeset ulang perlu dilakukan dengan menekan setup_xampp.bat.

Oiya, jangan lupa dimatikan dulu server Apache jika sekiranya masih hidup. Pilih (1) dilanjutkan dengan menekan sembarang tombol ketika diperintahkan.

Sekarang refresh browser yang sebelumnya error. Pastikan aplikasi berjalan, minimal menampilkan folder kosong jika tidak ada index.php di dalam folder tersebut seperti tampilan di bawah ini. Sekian, semoga bermanfaat.

Pemrograman Matlab

Matlab sudah lama dikenal sebagai bahasa pemrograman untuk teknik. Bahasa ini dibutuhkan oleh para insinyur yang merasa perlu bantuan komputer dalam melakukan komputasi. Salah satu keunggulan dari bahasa ini adalah kesederhanaannya dimana alur logika menjadi hal utama dibanding prosedur dan tata tulis yang terkadang membuat frustasi. Beberapa baris pada bahasa Matlab mungkin bila dikerjakan dengan bahasa yang lain membutuhkan jumlah baris yang lebih banyak.

Berikut ini contoh program sederhana untuk menghitung faktorial sebuah bilangan. Kita diminta memasukkan bilangan yang akan dicari faktorialnya, kemudian setelah menekan enter, diperoleh hasil perhitungan faktorialnya. Program masih berbasis text based. Buka M-file editor, dengan cara mengklik file-new-Blank M-file. Ketik instruksi berikut ini:

Gambar di atas merupakan program menghitung faktorial menggunakan M-file editor. Jalankan dengan mengetik faktorial pada command window. Jika dijalankan anda diminta memasukkan bilangan dan hasilnya adalah hasil faktorial dari bilangan itu.

>> faktorial

Masukkan Bilangan =4

 

faktorial =

 

24

 

Mengambil data dari Excel ke MATLAB

Selain mengambil data dari file berekstensi DAT, Matlab juga bisa mengambil data dari Microsoft Excell (baik 2007 maupun 2002/2003). Fungsi yang digunakan adalah “open”. Untuk mempraktekannya coba buka Microsoft Excell kemudian coba buat satu field berisi dua buah field (kolom) berikut ini.

Perhatikan Nama Sheet perlu diganti karena nama ini akan menjadi nama variabel data di workspace Matlab. Ganti Sheet1 menjadi Data misalnya. Simpan dengan nama bebas, misalnya tabel, tidak perlu disave as menjadi word 2002/2003. Buka Command Window Matlab, lakukan instruksi:

>>Open tabel.xlsx

Klik “Finish” saat jendel “Import Wizard” terbuka, centang isian M-Code, jika akan diaplikasikan dalam bentuk Script M-File. Klik tombol radio “Other” terlebih dahulu.

Berikutnya akan muncul satu variabel baru Data, yang jika kita ketik variabel tersebut akan memunculkan data yang sama dengan data excell.

>> Data

Data =

1 11

2 12

3 111

4 14

5 25

6 56

7 67

8 86

9 54

10 67

Berikut ini hasil generati kode –M.

function importfile(fileToRead1)
%IMPORTFILE(FILETOREAD1)
% Imports data from the specified file
% FILETOREAD1: file to read
% Auto-generated by MATLAB on 08-Aug-2011 13:50:26
DELIMITER = ' ';
HEADERLINES = 0;
% Import the file
newData1 = importdata(fileToRead1, DELIMITER, HEADERLINES);
% Create new variables in the base workspace from those fields.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base’, vars{i}, newData1.(vars{i}));
end

 

Coba sendiri untuk akses ke GUI-nya ya.