Tambah Informasi ke Chatbot via RAG: Jawaban Lebih Akurat Tanpa Pelatihan Ulang

Chatbot yang menggunakan model bahasa besar (LLM) biasanya hanya bisa menjawab berdasarkan data yang sudah dilatih sebelumnya. Jika pertanyaan yang diajukan berada di luar cakupan datanya, jawabannya bisa jadi kurang relevan atau umum. Oleh karena itu, metode Retrieval-Augmented Generation (RAG) menjadi solusi untuk meningkatkan akurasi jawaban dengan menambahkan data eksternal yang lebih spesifik. Dengan RAG, chatbot bisa mencari informasi di database lokal terlebih dahulu sebelum memberikan jawaban, sehingga lebih sesuai dengan kebutuhan pengguna.

Dalam pengimplementasiannya, data yang digunakan oleh chatbot bisa disimpan dalam bentuk embedding vektor yang memudahkan pencarian informasi relevan. Sebagai contoh, jika chatbot awalnya tidak mengetahui tren konsumsi gas domestik, pengguna dapat menambahkan dataset terbaru ke dalam sistem. Dengan begitu, chatbot dapat memberikan jawaban berdasarkan sumber yang lebih aktual tanpa perlu melatih ulang modelnya. Hal ini sangat berguna dalam skenario seperti informasi harga minyak terkini atau jadwal pendaftaran mahasiswa yang selalu diperbarui setiap tahun.

Keunggulan utama dari metode RAG dibanding fine-tuning adalah fleksibilitasnya. Fine-tuning memerlukan waktu dan sumber daya komputasi yang besar untuk melatih ulang model dengan data baru. Sebaliknya, dengan RAG, cukup dengan memperbarui repository data eksternal, chatbot dapat memberikan jawaban yang lebih akurat tanpa perlu melakukan pelatihan ulang. Oleh karena itu, pendekatan ini lebih efisien untuk aplikasi yang membutuhkan pembaruan informasi secara berkala.

Era Open Source Mulai

Kira-kira satu atau dua tahun yang lalu, beberapa proyek meminta untuk implementasi AI di aplikasi berbasis web. Kebetulan karena jamannya pilpres dan pilkada, teknik scrapping berita di media online kemudian mengecek sentimen dan emosi dari postingan banyak yang minta. Alhasil mengingat keterbatasan yang ada, Naive Bayes, SVM dan metode klasik lainnya jadi andalan. Dengan data terbatas bisa dilatih model yang mampu mengetahui sentimen dari berita online, dengan akurasi yang tidak jauh dari 80%.

Waktu itu ChatGPT mulai muncul dan tentu saja mengalahkan model-model klasik lainnya. Salah satu keterbatasannya adalah jika ingin memanfaatkan fasilitas model GPT itu, harus berlangganan, dan karena berbasis Application Programming Interface (API), mesin AI tidak berada di sisi kita, melainkan hanya ‘menyewa’. Biayanya pun tidak tanggung-tanggung, hitungan per kata.

Untuk menghitung sentimen, dengan metode klasik pun bisa, tapi jika diminta membuat ringkasan (summary), meringkas, melaporkan (reporting), tentu saja mengandalkan model LLM gratis, waktu itu masih kurang akurat. Namun toh, aplikasi bisa berjalan dengan tetap pengguna mengecek ulang keakuratannya dan tidak serta-merta percaya.

Waktu terus berjalan, Donald Trump tampil dan mengumumkan perang dagang dengan China. Nah, di sinilah muncul DeepSeek, AI buatan China yang mengungguli ChatGPT dari sisi kalkulasi matematis. Bukan hanya itu, mesin AI-nya pun dibagikan secara cuma-cuma dalam skema Opensource. Sehingga pengguna tidak perlu berlangganan jika ingin memanfaatkan Generative AI tersebut. Bayangkan, bagaimana hebohnya pengguna yang sudah terlanjur berlangganan ChatGPT, dipastikan akan beralih ke yang gratis. Walaupun tentu saja masih banyak yang ragu, tapi toh, model yang dibagikan itu karena open source, bisa terlihat struktur dalamnya. Ada beberapa bias, khususnya informasi terkait Taiwan, yang menurut DeepSeek masih bagian dari China. Sebelumnya, model QWEN dari Alibaba juga mulai menyaingi ChatGPT, yang cocok untuk bisnis, tapi dari sisi matematis masih kalah dengan DeepSeek.

Kelebihan DeepSeek ternyata tidak didukung oleh situs onlinenya yang terkadang ‘sibuk’ ketika ditanya, terutama ketika memanfaatkan fasilitas ‘deepthink’ dan ‘web’. Namun, toh bisa kita install di laptop kita dan dapat berjalan walau tanpa terkoneksi ke jaringan, sangat cocok untuk yang tidak punya pulsa. Berikut video bagaimana menginstallnya di Mac, dengan bantuan situs Ollama [Link] dan interface Chatbox [Link].

Node.Js yang Efisien

Hypertext Preprocessor (PHP) merupakan bahasa pemrograman yang masih banyak digunakan di Indonesia. Namun untuk proyek-proyek sudah mulai tergantingan dengan aplikasi berbasis Microservices. Ada satu bahasa pemrograman web yang sudah lama ada, yakni Javascript. Namun kode ini berjalan di sisi client, alias di browser pengguna. Kode tentu saja dapat dilihat dan digunakan oleh pengguna.

Node.Js di sisi lain mengimplementasikan kode Javascript tapi berjalan di sisi server. Silahkan cari informasi bahasa ini yang kabarnya lebih cepat dibanding PHP, terutama ketika banyak user yang mengakses aplikasi web. Kalau ingin belajar instal Node.Js di server yang ada Dockernya, bisa latihan dengan Play with Docker, seperti pada video ini.

Python di Play-With-Docker (PWD)

Python merupakan bahasa yang paling banyak digunakan untuk pemodelan AI saat ini. Bahkan Google pun menggunakan bahasa ini dalam layanan cloud untuk pemrogramannya yakni Google Colab. Sayangnya untuk keperluan training yang membutuhkan GPU, harus berbayar.

Google colab untuk training memang recommended, khususnya untuk mahasiswa tingkat S2 dan S3 dimana perlu mengutak-atik model. Sementara itu untuk mahasiswa S1 yang diminta implementasi, jika hanya mengandalkan Google Colab dirasa kurang mengingat industri-industri saat ini permintaannya membuat aplikasi atau layanan dari model tertentu. Jadi perlu tools lain, yang tentu saja murah, alias gratis. Idealnya sih menyewa atau membeli server untuk testing.

Nah, play with docker (PWD) menawarkan server murah untuk belajar, tapi dibatasi hanya 4 jam saja. Walaupun hanya sebentar, tapi 4 jam sudah cukup untuk mahasiswa berlatih implementasi model yang dibuat dalam satu aplikasi berbasis web, misalnya dengan Flask, Django, atau bahkan PHP yang saat ini di Indonesia masih banyak dipakai.

Python perlu bisa dijalankan di PWD. Video berikut ini mengilustrasikan bagaimana penggunaan Python di PWD. Salah satunya adalah penanganan Virtual Environment (ENV). Oiya, ternyata Python versi 3.12 yang baru belum support Tensor Flow, jadi harus turun ke versi 3.11.

Belajar Lewat Aplikasi

Terkadang kita mengalami kesulitan memahami sesuatu yang abstrak. Apalagi jika disajikan dalam bentuk kalimat. Beberapa terkadang kurang memahami notasi-notasi matematis ala jurnal ilmiah. Jika sudah memahami, terkadang perlu waktu lagi mengimplementasikannya dalam sebuah aplikasi dengan bahasa pemrograman tertentu.

Nah beberapa aplikasi, terutama yang berbayar berusaha membantu pengguna dalam memahami metode-metode yang ada, misalnya Matlab. Selain menyediakan panduan online di situs resminya [Url] juga menyediakan link youtube yang berisi simulasi menarik. Misalnya kasus LSTM berikut ini.

Atau teori konvolusi berikut ini yang jika dijabarkan dalam notasi matematis sangat membingungkan bagi yang tidak terbiasa.

Beberapa aplikasi free seperti Google Colab juga tidak kalah dalam menyajikan implementasi dalam format Jupyter Notebooknya yang berisi gambar dan teks penjelasan yang menarik. Selain membaca teori, bisa langsung di running, seperti Google Colab ini [Url]. Selamat mencoba.

Editing User Interface file PHP

Dulu banyak situs yang menyediakan hosting file gratis, namun saat ini sangat jarang. Hosting itu biasanya menyediakan server dengan bahasa pemrograman php dan database mysql. Postingan yang lalu dengan Infinityfree [url] saat ini jadi andalan setelah 000webhost.com sudah berbayar. Namun ketika digunakan di lab dimana IP bersama, langsung disuspen oleh Infinityfree.

Sementara itu untuk disain, w3schools secara free menyediakan tools untuk hosting gratis dengan HTML, hanya saja tidak bisa menyediakan server database. Sehingga untuk mengedit user interface file PHP yang akan dijalankan diserver php perlu instal XAMPP dan sejenisnya. Bagaimana jika lab tidak menyediakan? Caranya tentu saja dengan online. Salah satu aplikasi yang bisa jadi alat praktik edit style php adalah w3schools tapi dengan trik hanya mengambil bagian HTML nya saja.

Bagaimana untuk hosting? tentu saja selain Infinityfree bisa memanfaatkan Play with Docker. Video berikut mengilustrasikan bagaimana menambahkan css pada file php yang telah ter-deploy, tentu dengan seting permission dan penanganan container yang sedikit rumit. Tentu saja Play with Docker sepertinya hanya untuk testing karena hanya diberikan waktu 4 jam saja.

How To

Banyak informasi beredar kalau sumber daya manusia (SDM) kita masih lemah. Hal ini menyebabkan beberapa sektor diisi oleh pekerja-pekerja asing. Repotnya, sektor itu merupakan sektor dengan bayaran yang sangat tinggi karena menuntut keahlian tertentu. Seperti prinsip ekonomi, jika permintaan tinggi tetapi suplai kurang maka dipastikan harga akan naik.

Sebenarnya apa sih permintaan yang tinggi itu? Beberapa industri membutuhkan SDM yang tidak bisa diganti oleh mesin atau yang saat ini mulai menggantikan peran manusia adalah kecerdasan buatan, alias Artificial Intelligence (AI) atau sering diistilahkan dengan singkatan indonesia Akal Imitasi (AI).

Sebenarnya hampir semua pekerjaan berisi ‘how to’ atau bagaimana mengerjakan, menyelesaikan, meningkatkan, dan sejenisnya terhadap suatu aktivitas tertentu. Beberapa pekerjaan mungkin bisa diselesaikan oleh satu karyawan, tetapi karena perlu volume yang besar membutuhkan tambahan tenaga, sehingga menghasilan permintaan terhadap pekerjaan itu.

Industri membutuhkan SDM, tetapi kampus atau sekolah tidak mampu memberikan suplai ke industri itu. Beberapa industri terpaksa memberikan pelatihan ke karyawan tersebut. Beberapa merekrut pekerja magang dari sekolah/kampus karena dianggap sudah mampu menjawab ‘how to’ melakukan tugas tertentu. Adanya AI menimbulkan masalah tertentu karena dapat menggantikan peran pekerja manusia. Tapi ternyata AI dapat dimanfaatkan bagi pelajar atau mahasiswa dalam melatih diri sendiri menjawab ‘how to’. Misalnya bagaimana membuat aplikasi mobile seperti ditunjukan pada video berikut.

Konsep-konsep tertentu seperti Application Programming Interface (API) yang sebelumnya perlu membaca buku atau tutorial yang tebal-tebal dan terkadang perlu pelatih, sekarang dengan AI bisa membantu menjelaskan, misalnya ChatGPT. Nah, salah satu yang diperlukan oleh pelajar di masa depan adalah kemampuan belajar sepanjang hayat, salah satunya adalah meningkatkan kemampuan metakognisi di mana seseorang memiliki kemampuan mengetahui apa yang dibutuhkannya dengan mengetahui apa yang perlu dipelajari dengan efisien. Video berikut memperlihatkan bagaimana menghubungkan aplikasi mobile dengan API. Jika berhasil maka dapat mengembangkan ke metode yang lebih kompleks selain ‘read’, yakni ‘update’, ‘create’ dan ‘delete’ dalam format Restful API misalnya (post, get, put, dan lain-lain).

Solusi Hosting Gratis untuk Pemrograman Web di Lab: Tantangan dan Alternatif

Terkadang lab tidak menyediakan tool untuk pemrograman web, sehingga mengandalkan aplikasi yang ada versi gratisnya, lihat pos yang lalu. Tetapi ternyata sudah tidak gratis lagi, harus berlangganan. Masih ada penyedia hosting yang gratis yakni infinityfree [link]. Hanya saja problem ketika digunakan di lab, akun semua kena suspen. Mungkin karena ketika menggunakan jaringan di lab, IP terdeteksi sama, sehingga melanggar batas maksimum.

Beberapa aplikasi seperti w3school menyediakan juga server tapi hanya HTML, tidak bisa memasang database seperti Php-Mysql. Namun ada juga yang menyediakan server secara gratis, tetapi harus menghinstall full, yakni Play-With-Docker (PWD).

Untuk latihan Phpmyadmin bisa lihat instalasi di PWD berikut ini. Lumayan, menghemat anggaran Laboratorium. Apalagi Docker sendiri sudah merupakan teknologi terkini untuk server.

Untuk memulai, login terlebih dahulu ke hub docker terlebih dahulu. Oiya, untuk PWD jika digunakan di Wifi kampus aman, tidak kena suspen seperti Infinityfree.

Sekian semoga tertarik.

Android Studio jadi mudah karena AI

Berbeda dengan jaman dimana pemrograman menggunakan satu IDE terintegrasi dengan hanya satu file saja, kini aplikasi web dan juga mobile ketika diprogram memerlukan berbagai macam file. Serpihan-serpihan file terkadang tidak dibuat oleh seorang saja yang ingin membuat aplikasi, melainkan berbagi dengan programmer lain. Selain itu vendor seperti Google dengan Androidnya memiliki karakteristik seperti itu.

Untuk programer pemula hal ini sangat membingungkan. Selain harus berfikir general, juga dipaksa detil. Untungnya saat ini AI, misalnya ChatGPT, Gemini, Copilot, dan sejenisnya sangat membantu mengatasi kesulitan tersebut. Yang penting programmer menguasai konsep pentingnya, misalnya format class, layout, dan sejenisnya maka kita tinggal meminta AI membuatkan aplikasi. Programmer tinggal mengecek jika ada kesalahan. Tentu saja pengalaman memanfaatkan AI dengan prompt yang tepat sangat diperlukan. Nah, yang terpenting adalah bagaimana kita memahami apa yang bisa, apa yang belum bisa, apa yang diperlukan, dan kecepatan membaca serta problem solving yang efisien dan terstruktur.

Video berikut memperlihatkan bagaimana Android Studio bekerja sama dengan ChatGPT membuat perhitungan Angsuran seperti postingan lalu yang menggunakan JavaScript. Sekian semoga bermanfaat.

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.

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.

Membuat ChatGPT Sendiri

Tidak dapat dipungkiri bahwa ChatGPT membuat warna baru dalam persaingan Artificial Intelligence App di dunia. Dalam hitungan hari penggunanya sudah menyaingi beberapa situs-situs ternama. Hal ini karena fleksibilitasnya yang cukup memanjakan pengguna dibanding hanya sekedar search engine saja seperti Google, Bing, dan kawan-kawan.

Namun salah satu keterbatasannya adalah informasi terkait kondisi terkini atau kondisi spesifik tertentu, misalnya menanyakan informasi khusus seperti nama Anda sendiri. Biasanya jawabannya seperti ini:


Ok, jangan tersinggung, memang aplikasi ini tidak ditujukan sebagai search engine. Generative Pre-trained Transformer (GPT) sendiri merupakan model transformer yang cukup ampuh dalam mengelola Natural Language Processing (NLP). Ternyata Google mencoba mengembangkan Bidirectional Encoder Representations from Transformers (BERT) yang tidak kalah hebat.

Beberapa situs di internet banyak yang mengajarkan bagaimana membuat ChatBOT ala ChatGPT. Salah satunya adalah Github ini. Untuk mempraktikannya cukup dengan Google Colab. Misalnya saya menggunakan data Nilai Mata Kuliah Artificial Intelligence berupa tabel CSV.

Dengan memanfaatkan pretrained model dari HuggingFace yang lumayan juga ukurannya, hampir setengah Gigabyte.

Di sini kita akan membuat sistem Chat yang dapat menginfokan data.csv yang telah digunakan untuk transfer learning. Oiya, transfer learning adalah melatih model dengan data baru dari model yang sudah terlatih sebelumnya. Beberapa bobot dibekukan (freeze) agar info yang dahulu dapat dipakai lagi, sementara data baru menggunakan bobot yang biasanya diujung untuk belajar hal baru.

Tampak paramater yang dapat dilatih contoh di atas adalah 500an Mb sementara yang dibekukan 60-an juta parameter. Bagaimana penggunaannya? Sederhana saja, mirip ChatGPT. Jika kita ingin mencari informasi nilai dari tabel tersebut kita tinggal bertanya saja.

Yang tadinya model tidak bisa menjawab informasi tersebut (silahkan tanya ChatGPT, pasti jawabannya seperti gambar sebelumnya), sekarang bisa menjawab. Hal terpenting adalah model transformers dapat mengetahui susunan kata yang berbeda. Tinggal model tersebut diimplementasikan pada Web maupun mobile app.

Jadi jika kita akan membuat sistem ChatBOT yang menjawab masalah jadwal perkuliahan, prosedur pendaftaran dan lain-lain, alangkah baiknya menggunakan aplikasi ini. Saya pernah ditegur oleh bagian pusat layanan informasi/pusat informasi karena dianggap tidak men-share informasi dari rektorat ke jurusan yang saya pimpin (padahal sih udah), akibat mahasiswa yang kerap chat ke layanan informasi dan mengganggu waktu istirahatnya, karena sebagai manusia biasa butuh istirahat. Waktu pandemi COVID-19 memang mahasiswa butuh informasi tertentu terkait kuliahnya. Alangkah baiknya hal-hal yang kadang pertanyaannya ‘itu-itu saja’ bisa diganti dengan AI. Sekian, semoga bisa menginspirasi.

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.

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.