Memasang phpMyAdmin Pada Play with Docker

Postingan yang lalu telah dibahas NGINX pada Docker [URL] dengan Dockerfile. Nah, sekarang kita coba Phpmyadmin yang menyediakan database server MySQL yang dapat diakses lewat NGINX yang lalu. Karena akan diinstal database maka perlu menyiapkan password root, misalnya untuk mempermudah: ‘password’.

Untuk Phpmyadmin lebih mudah dengan memanfaatkan docker-compose dengan ekstensi yml. Phpmyadmin masih disukai karena untuk membuat database beserta tabel-tabelnya masih menggunakan GUI yang mudah. Karena Docker merupakan mesin virtualisasi, agar data yang ada di MySQL tetap ada walau Docker dimatikan perlu memasang volumes di file yml. Untuk jelasnya silahkan lihat video youtube berikut.

Bahasa Prolog

Bahasa pemrograman merupakan bahasa juga karena ketika dibuat memanfaatkan kombinasi antara bahasa manusia dan bahasa mesin. Ada satu mata kuliah di ilmu komputer, namanya teknik kompilasi. Sempat mengajar mata kuliah ini dengan memanfaatkan software lex and yacc. Aplikasi ini bisa membuat syntax bahasa baru, misalnya mengganti if – else menjadi jika – maka dengan memanfaatkan reguler expression di bahasa c++.

Di manakah keunikannya? Tentu saja mahasiswa bisa melihat bahwa bahasa pemrograman yang kita lihat sehari-hari merupakan buatan manusia yang tidak perlu diagung-agungkan. Dahsyat memang bisa membuat bahasa sendiri, atau minimal untuk lingkungan sendiri yang bikin hacker ‘bingung’ karena syntax-nya lain dari yang lain.

Kembali ke bahasa Prolog, bahasa ini mirip CLIPS yang dipakai untuk belajar Sistem Pakar (expert system) yang biasa juga digunakan untuk belajar Artificial Intelligence (AI). Untuk belajar cepat, saat ini cukup dengan bertanya ke ChatGPT maka dengan cepat kita bisa mencoba bahasa pemrograman legendaris ini. Silahkan gunakan aplikasi online yang tidak memerlukan instalasi di laptop kita [Url]. Istilah-istilah entailed di buku AI, misalnya karangan Russel bisa diimplementasikan di sini. Selamat mencoba.

Membuat Image Docker Nginx Aplikasi Web dengan Play with Docker

Teknologi informasi berkembang sangat cepat. Beragam metode dan teknik terkini muncul setiap hari. Teknologi beberapa tahun yang lalu muncul dan baru saja dipelajari di kampus, kini sudah usang. Mau tidak mau baik dosen maupun mahasiswa harus update teknik terkini kalau tidak mau dibilang ‘kudet’ alias kurang update.

Saya ingat beberapa tahun yang lalu menginstall server virtual di cabang-cabang bank swasta nasional dengan VMWARE. Kaget juga pertama kali tahu kalau aplikasi virtual itu bisa dipakai untuk transaksi real, walaupun pada dasarnya ‘kepepet’ karena hardware server berganti tetapi sistem masih yang lama, alhasil digunakanlah VMWARE sistem yang lama berjalan di hardware yang baru yang belum jadi sistem untuk transaksinya. Jadi, walau virtual ternyata bisa beroperasi layaknya server real, yang ternyata aplikasi cloud computing dasarnya adalah aplikasi-aplikasi jenis ini.

Nah, sekarang muncul jenis virtualisasi baru yang dikenal dengan nama docker. Jenis ini berbeda dengan VMWARE yang membuat virtual satu mesin full lengkap dengan sistem operasi, pada docker hanya membuat virtualisasi di sisi aplikasi. Sistem operasi masih menggunakan sistem induknya, hanya saja perlu menginstal aplikasi docker. Alasan utamanya adalah untuk memperingan akses mengingat tanpa membangkitkan sistem operasi, cukup aplikasinya saja.

Video berikut memperlihatkan sebuah Docker yang dicoba di Play-With-Docker untuk memasang aplikasi Web dengan server NGINX. Server tidak perlu diinstall NGINX karena di image Docker telah terinstall server itu. Manfaat lainnya, server tidak ‘tercemarai’ dengan aplikasi-aplikasi yang perlu diinstall, dari Library, Database, dan lain-lain yang beresiko server Crash.

Deploy AI dengan Docker

Artificial Intelligence (AI) sangat luas, baik dari implementasi maupun definisi. AI terbagi jadi empat kuadran yakni Think Humanly, Think Rationally, Act Humanly, dan Act Rationally. Namun demikian definisi yang memuaskan sulit didapat, misalnya Alan Turing cenderung mendefinisikan AI sebagai Think Humanly, dengan Turing Test-nya dimana seseorang diminta menebak dia chatting dengan manusia atau mesin. Sementara itu tokoh lain seperti Elaine Rich menyatakan bahwa AI merupakan rancangan komputer yang melakukan sesuatu dimana saat ini manusia menunjukan hasil yang lebih baik. Misalnya aplikasi catur, ketika Grandmaster Gary Kasparov kalah oleh aplikasi catur Deep Blue, maka catur bisa dikatakan bukan wilayah AI lagi. Kalau bukan AI apa namanya? Alhasil, pertandingan catur harus mencegah pemain memanfaatkan AI. Misal ada robot yang mengendalikan motor dan mengalahkan Valentino Rossi, berarti robot pembalap itu sudah di luar AI.

Inilah yang dikhawatirkan oleh beberapa ilmuwan AI dimana produk dari AI yang mengalahkan manusia. Ketika ChatGPT muncul, ujian atau tugas mahasiswa sudah harus dipastikan tanpa memanfaatkan ChatGPT mengingat kemampuan aplikasi ini dalam men-generate tulisan atau menjawab soal-soal. Repotnya ketika AI yang telah dibuat belum ada cara mengantisipasi dampaknya.

Beragam produk AI dihasilkan setiap hari. Yang unik kebanyakan diakses tanpa perlu membayar, mirip Google yang gratis digunakan untuk searching, atau ChatGPT untuk menjawab pertanyaan-pertanyaan. Mengapa? Hal ini karena pengguna hanya diberi akses tanpa memiliki Engine AI itu sendiri. Ketika pengembang AI menciptakan engine, biasanya mereka tidak memberikan engine itu ke orang lain, melainkan hanya memberikan akses saja, misalnya dengan API. Video berikut memperlihatkan bagaiman mengimplementasikan AI lewat akses API dengan salah satu situs online untuk praktik DevOps, yakni Play-with-Docker.

Mengatasi Problem Keterbatasan Server Lab di Indonesia

Memiliki sebuah server praktikum merupakan kendala utama untuk dunia pendidikan baik kampus maupun sekolah, khususnya di Indonesia terkait kendala biaya. Beberapa opsi dapat digunakan, salah satunya adalah menyewa server cloud. Namun biaya sewa juga menjadi masalah mengingat untuk aplikasi-aplikasi terkini yang berjenis stack-based development memerlukan infrastruktur yang kompleks.

Untuk masalah itu, solusi yang praktis adalah memanfaatkan aplikasi online yang saat ini tersedia, yakni Play with Docker [Link]. Aplikasi ini menyediakan secara gratis server yang terdiri dari beberapa instance untuk dipakai berlatih. Di sini disebut berlatih karena hanya diberi waktu empat jam untuk tiap sesi latihan. Walaupun sebentar, waktu empat jam sepertinya sudah cukup. Sebagai contoh di sini saya menggunakan satu instance baru. Instance baru tersedia dengan sebuah terminal yang sudah terinstall docker di dalamnya. Kita bisa membuat image atau untuk latihan kali ini hanya mengimpor image dari Docker Hub [Link]. Silahkan menginstall Docker Desktop di laptop Anda [Link]. Versi yang tersedia cukup lengkap dari Windows, Linux, hingga Mac OS. Untuk windows ada sedikit setting pada virtualisasi diaktifkan, silahkan panduannya untuk instalasi dengan Windows lihat di [Link].

Menjalankan Play with Docker.

Tekan start untuk memulai PWD. Pada terminal masukan instruksi ‘docker pull’ untuk menarik image dari Docker Hub yang telah kita buat sebelumnya. Proses ini memerlukan waktu sesuai dengan besar atau kecilnya image. Karena proses transfer dari cloud ke cloud dan tidak mengunduh ke laptop kita sehingga tidak membutuhkan waktu yang lama. Selanjutnya jalankan dengan instruksi ‘docker run’, sesuaikan port yang akan dipublikasi.

Di sini 8080:3000 berarti yang akan diakses oleh publik adalah 8080 (kita bisa gunakan sesuai kebutuhan), sementara 3000 merupakan port yang dipakai di aplikasi FLASK. Sekedar informasi, image yang ditarik merupakan aplikasi berbasis Flask Python untuk mentranslate bahasa Indonesia ke bahasa Inggris.

Menjalankan Aplikasi Play with Docker.

Untuk menjalankan aplikasi tekan angka PORT yang muncul di sebelah kanan OPEN PORT. Jika tidak muncul bisa mengklik kotak OPEN PORT dan isi sesuai dengan port pada Docker Run tadi. Pastikan ketika port 8080 dijalankan akan muncul aplikasi yang jika dijalankan berfungsi normal untuk mentranslate kalimat.

Beberapa waktu yang lalu Play with Docker tidak bisa diakses, biasanya sedang ada gangguan di server PWD, dan ketika tulisan ini dibuat berjalan dengan normal, semoga ke depan aplikasi online ini banyak dibuat karena secara ekonomis sangat membantu dunia pendidikan khususnya untuk software development dimana saat ini teknik stake-based development sangat dibutuhkan dengan aplikasi-aplikasi berbasis microservices atu akses antar platform yang berbeda. Untuk ilustrasi video silahkan buka link Youtube berikut ini.

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.

Kivy, a Python-based Object-oriented Application Interface

Perkembangan teknologi software development saat ini sangat pesat. Ditambah lagi saat ini ada ChatGPT yang cukup membantu. Dengan kata kunci “buatkan kode python untuk menjumlahkan dua angka dengan interface menggunakan kivy agar bisa jalan di android” responnya cukup baik, yaitu berupa source code yang diinginkan.

The current software development technology is advancing rapidly, and with the availability of helpful tools like ChatGPT, the process becomes even smoother. By providing the keywords “create Python code to add two numbers with an interface using Kivy to run on Android,” a satisfactory response is generated in the form of the desired source code.

Berikutnya kita coba jalankan kode tersebut dengan Visual Studio Code. Oiya, install terlebih dahulu library kivy.

Next, let’s try running the code using Visual Studio Code. Oh, and don’t forget to install the Kivy library beforehand.

pip install kivy

Problem di atas hanya ilustrasi saja (penjumlahan dua inputan). Untuk yang lebih kompleks dapat menggunakan cara tersebut, yang penting mengetahui teknik input, memproses dan mengeluarkan outputnya.

The problem above is just an illustration (summing two inputs). For more complex tasks, you can use the same approach, as long as you understand the techniques for handling input, processing it, and producing the desired output.

Jalankan kode tersebut dengan masuk ke Run – Run Without Debugging. Atau jika menggunakan editor lain, masuk ke command window dilanjutkan mengetik:

To run the code, follow these steps: Open your preferred editor (e.g., Visual Studio Code), navigate to the “Run” menu and select “Run Without Debugging”. This will execute the code. If using a different editor, access the command window and type the following command:

python penjumlahan.py

Perhatikan, sebuh GUI muncul dengan input dan output yang bisa dikonversi lebih lanjut menjadi aplikasi mobil lewat library buldozer.

Note that a GUI will appear with input and output, which can be further converted into a mobile application using the Kivy library’s “Buildozer”.

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.