Belajar Membuat Game dengan Python

Ternyata Python tidak hanya digunakan untuk Machine Learning, melainkan juga untuk membuat game. Banyak sumber-sumber belajar di internet, baik di Github maupun penjelasannya di Youtube. Nah, bagi Anda yang pemula ada baiknya membaca postingan ini bagaimana menggunakan dua metode dalam menjalankan Python yaitu konsol dan Jupyter Notebook.

Konsol

Di sini kita ambil contoh dua game terkenal yang dibuat dengan Python yaitu Flappy Bird dan Space Invaders. Install Python di laptop Anda terlebih dahulu, disarankan menggunakan cara yang paling gampang walau agak berat, yaitu paket Anaconda.

Menggunakan konsol sangat dianjurkan bagi Anda yang mahir dan cepat dalam mengetik. Di sini harus dipahami terlebih dahulu cara menangani virtual environment
di Python. Selain itu library-library pendukung harus diinstall juga, terutama pygame karena di sini kita coba menggunakan library tersebut.

Untuk mengedit bisa menggunakan IDLE, Sublime Text, Notepad, atau text editor lainnya. Langkah pertama dalam belajar adalah mencoba menjalankan (running) program tersebut, dilanjutkan dengan mengedit fungsi-fungsi tertentu, misal mengganti gambar/image tokoh, background, atau memindah fungsi tombol naik/turun/kiri/kanan dengan tombol baru.

Jupyter Notebook

Jika Anda pengguna Google Colab, ada baiknya menggunakan Jupyter Notebook karena memang IDE-nya yang tidak jauh berbeda. Ekstensi filenya pun sama (*.ipynb) yang berbeda dengan Python konsol (*.py). SIlahkan membuka Jupyter Notebook lewat Anaconda atau konsol. Untuk lebih cepat sepertinya konsol lebih cepat dan ringan. Arahkan folder kerja ke lokasi game dan ketik “jupyter notebook”. Pastikan fasilitas jupyter notebook tersedia di environment kita (di sini contohnya ‘base’) yang jika belum ada gunakan > pip install jupyter.

Mengingat jenis filenya yang berbeda maka terlebih dahulu kita membuat new file dilanjutkan dengan mengkopi isi file *.py ke dalam file Jupyter Notebook yang baru tersebut. Jalankan file sample, pastikan game berjalan dengan baik.

Coba mengganti beberapa fungsi game tersebut, misalnya tombol bergeraknya pesawat, atau mengganti background dan bentuk pesawatnya. Berikut video penjelasannya, semoga bermanfaat.

 

 

Inverted Index dengan Google Colab – Python

Beberapa buku teks memiliki index yang diletakan di akhir buku. Isi index adalah kata-kata penting beserta halaman dimana kata tersebut berada. Biasanya kata-kata tersebut disebutkan lebih dari satu halaman.

Sementara itu ketika seseorang mengetikan kata di mesin Google, misalnya “American Revolution”, maka Google akan mencari di mana saja kata tersebut berada, misalnya pada Index di gambar di atas di halaman 84,98, dan 166. Karena diletakan di muka yang mirip daftar isi, maka di situlah kata “inverted” bermula, yang seharusnya di belakang tapi di muka sebagai alat pencari. Sebagai contoh, puisi “Aku” karya Chairil Anwar berikut. Anggap saja satu line/baris merupakan satu berkas dokumen, atau kalau dalam satu buku adalah halaman.

  • Doc 1.Kalau sampai waktuku
  • Doc 2.’Ku mau tak seorang ‘kan merayu
  • Doc 3.Tidak juga kau
  • Doc 4.Tak perlu sedu sedan itu
  • Doc 5.Aku ini binatang jalang
  • Doc 6.Dari kumpulannya terbuang
  • Doc 7.Biar peluru menembus kulitku
  • Doc 8.Aku tetap meradang menerjang
  • Doc 9.Luka dan bisa kubawa berlari .. Berlari
  • Doc 10.Hingga hilang pedih peri
  • Doc 11.Dan aku akan lebih tidak peduli
  • Doc 12.Aku mau hidup seribu tahun lagi!

Aslinya sih satu dokumen itu satu berkas berupa buku pdf, postingan internet, jurnal, dll, tapi di sini dianggap satu baris/line saja. Atau bisa juga sih, satu berkas tersebut dijadikan satu baris dengan doc-id sebagai penunjuk line/baris berkas itu. Kalau forward index membuat index dari konten, inverted index memetakan kata/istilah ke konten. Kita memanfaatkan inverted index Google yang setiap hari membuat index (forward index) dari data yang di crawler di seluruh dunia. Berikutnya, untuk praktik siapkan sebuah file txt yang berisi puisi di atas, atau contoh sembarang. Buka Google Colab dan upload file tersebut.

Silahkan lihat kode di referensi di akhir postingan ini. Jika dijalankan, dihasilkan inverted index seperti di bawah ini. Cek apakah benar beberapa kata tepat berada di dokumen/line pada file “Aku.txt” di atas.

Di sini kita tinggal memasukan frekuensi, misalnya ‘berlari’ itu ada dua kali. Untuk jelasnya silahkan lihat video tutorial saya berikut ini.

Ref:

Link: geeksforgeeks.org/create-inverted-index-for-file-using-python/

Koneksi Google Drive dengan Google Colab

Google colab menyediakan fasilitas penyimpanan sementara dengan cara menekan tombol folder di bagian kiri atas. Namun cara ini memiliki kelemahan yakni ketika tidak digunakan maka data yang diupload akan hilang lagi dan kita harus mengunggah ulang. Agar tidak perlu mengunggah ulang Google Colab menyediakan fasilitas menghubungkan Google Drive dengan Google Colab. Data yang diperlukan diunggah ke Google Drive dan Google Colab tinggal mengambil data dari drive saja ketika akan digunakan.

Impor Library

Library yang diperlukan adalah Drive.

Perhatikan di bagian Files, ketika simbol Google Drive ditekan maka ada instruksi untuk me-run sel yang mengaktifkan Drive. Jalankan saja.

Mengisi Authorization Code

Karena terhubung dengan drive maka perlu password Google Drive. Klik URL untuk memasukan authorization code.

Berikutnya tinggal mengkopi saja authorization code dan paste ke isian Google Colab. Pastikan Google Drive sudah aktif.

Menggunakan Drive

Perhatikan munculnya folder Drive di bagian File Google Colab. Selamat mencoba.

Silahkan lihat video tutorialnya berikut,  salah satu materi kuliah pengolahan citra.

Menentukan Kompenen RGB Citra dengan OpenCV

Citra berwarna dapat diketahui komponen Red-Green-Blue penyusunnya. Dalam OpenCV sedikit berbeda, yaitu Blue-Green-Red (BGR). Sistem yang menentukan kematangan buah misalnya, membutuhkan nilai RGB suatu buah yang matang atau belum. Nah, di sini kita coba menggunakan OpenCV yang berjalan di Google Colab untuk menentukan kadar RGB-nya yang kemudian dihitung rata-rata untuk menentukan warna dominan-nya. Dalam prakteknya tidak hanya menggunakan rata-rata melainkan dengan sistem berbasis Jaringan Syaraf Tiruan atau Deep Learning.

Mengimpor Library

Beberapa Library diperlukan antara lain CV2, NumPy, dan Google Colab File (untuk input output interface). Gunakan kode berikut di awal untuk sel baru.

  • import cv2
  • import numpy as np
  • import pandas as pd
  • from google.colab.patches import cv2_imshow
  • from google.colab import files
  • import io

Jalankan sel tersebut pastikan tidak ada kesalahan karena akan menentukan instruksi berikutnya.

Mengambil File Citra

Berikutnya adalah mengupload citra. Sebenarnya upload bisa lewat mekanisme upload di Google Colab. Tapi bisa juga dengan memanfaatkan I/O Google Colab, kita tinggal memilih file citra yang akan diuplad.

  • upload_files=files.upload()
  • for filename in upload_files.keys():
  • upload_files.keys
  • print(‘nama file: ‘,filename)
  • citra=cv2.imread(filename)

Di sini variabel upload_files berisi filename yang akan digunakan untuk imread pada OpenCV untuk mengambil matriks RGB citra tersebut. Gunakan citra RGB untuk latihan ini.

Mengolah Matriks Citra

Citra berwarna memiliki tiga komponen matriks yaitu biru, hijau, dan merah yang masing-masing berturut-turut diberi indeks 0, 1, dan 2.

  • blue=citra[:,:,0]
  • green=citra[:,:,1]
  • red=citra[:,:,2]
  • b=np.average(blue)
  • g=np.average(green)
  • r=np.average(red)
  • print(b)
  • print(g)
  • print(r)

Variabel b, g, dan r berturut-turut rata-rata dari total matriks blue, green, dan red. Fungsi print hanya digunakan untuk mengetahui skor rata-rata untuk mengecek akurasi if-else tahap berikutnya.

Deteksi Warna Dominan

Langkah terakhir adalah instruksi if-else untuk mendeteksi mana nilai yang terbesar apakah blue, green, ataukah red.

  • if b>g:
  • if b>=r:
  • result=print(‘warna dominan: blue’)
  • print(b)
  • else:
  • if g>=r:
  • result=print(‘warna dominan: green’)
  • print(g)
  • else:
  • result=print(‘warna dominan: red’)
  • print(r)

Jalankan dan pastikan warna dominan sesuai dengan kenyataannya.

Self-Supervised Learning di AIS 2020

Hari ini ada acara spesial yakni Artificial Intelligence Summit (AIS) 2020. Beberapa keynote akan dilaksanakan. Salah satunya nanti Yann LeCun, penemu self-supervised learning. Hari ini pengenalan Self-Supervised Learning (SSL) diberikan oleh Prof Bambang dari ITB. Ide menarik dari metode ini adalah bahwa manusia belajar ketika anak-anak sebagian besar tanpa “supervised”/panduan. Mereka menggunakan self-supervised yang dalam SSL dikenal dengan kombinasi pretext dan downstream task.

Jenis pretext task ada banyak antara lain: rotation, colorization, in-painting, jigsaw, placing image patches, dan lain-lain. Presentasi disertai dengan demo program menggunakan Google Colab, lihat di sini programnya. Disertakan pula link Github sumbernya. Silahkan lihat record-nya di Youtube, atau video di bawah ini.

Menghitung Jumlah Kata dengan Python

Menghitung jumlah kata merupakan tugas wajib yang harus bisa diselesaikan oleh mesin pengelola teks. Teknik telah digunakan oleh word processing misalnya MS Word. Ketika kita mengetik, di bagian bawah langsung tercetak jumlah kata yang telah diketik. Nah, di sini kita coba teknik yang digunakan dalam bahasa pemrograman Python.

Library yang digunakan untuk menghitung kata adalah collections yang memiliki satu fungsi bernama Counter. Gunakan instruksi Open untuk mengambil file txt yang akan dikelola.

  • f2 =  open(‘Praktek.txt’‘r’)
  • content = f2.read()
  • print(content)

Variabel content ketika di-print akan menampilkan isi dari file “Praktek.txt” seperti praktek sebelumnya (lihat pos yang lalu). Tetapi kali ini kita menggunakan fungsi split untuk memisahkan kata dari file tersebut.

  • words = open(‘Praktek.txt’).read().split()
  • words

Terakhir kita menggunakan fungsi Counter baik untuk menampilkan jumlah per kata maupun jumlah total kata (dengan fungsi len).

Untuk jelasnya lihat video tutorial ini.

Mengelola Environment Anaconda

Anaconda merupakan pakat Integrated Development Environment (IDE) berbasis Python (https://www.anaconda.com/). Paket lengkap ini sangat membantu siswa yang baru pertama kali belajar bahasa pemrograman Python. Sebelumnya pengguna Python menggunakan konsol untuk memrogram, termasuk mengelola environment-nya (lihat post yang lalu). Namun, Anaconda memperkenalkan teknik yang lebih sederhana dan mudah dicerna lewat Anaconda Navigator.

Mengunduh Anaconda

Untuk menginstal Anaconda, silahkan unduh di sini. Sesuaikan dengan sistem operasi yang kita gunakan, dan pilih versi yang terkini. Jika sudah, jalankan hingga muncul tampilan sebagai berikut:

Mengatur Environment

Pada Anaconda Navigator terdapat menu Environments untuk mengelola environment yang ada. Environment merupakan folder kerja yang berisi fasilitas-fasilitas tertentu, misalnya untuk deep learning, machine learning, dan lain-lain. Maksudnya adalah agar satu aplikasi tidak bercampur dengan aplikasi lainnya sehingga lebih rapi dan terstruktur.

Secara default, environment yang ada adalah base (root), yang di dalamnya sudah terdapat beberapa fasilitas dasar, salah satunya Jupyter Notebook. Untuk membuat satu environment baru, gunakan tombol +Create di bagian bawah. Untuk beralih ke environment lainnya tinggal menekan nama environment tersebut. Tuggu sesaat hingga library yang ada muncul di sebelah kanan. Untuk membuka terminal ataupun Jupyter Notebook, silahkan tekan simbol segitiga di sebelah kanan environment yang dipilih.

Ada baiknya kita menggunakan Open Terminal untuk membuka Jupyter Notebook agar folder sesuai dengan yang kita inginkan.

Perhatikan saya menggunakan environment “Nusaputra” dengan folder kerja di d:\pengajaran\Pengolahan Citra. Instruksi jupyter notebook bermaksud membuka jupyter notebook di browser kita.

Mencoba Jupyter Notebook

Berbeda dengan Google Colab yang selalu terpasang Library, pada Jupyter Notebook library tertentu, misal OpenCV, harus dipasang terlebih dahulu. Gunakan PIP atau dengan Anaconda Navigator, lihat caranya di materi kuliah saya berikut ini. Perhatikan bagaimana mengelola sel, tracing error, dan lain-lain.

Problematika Kuliah Pemrograman

Salah satu skill yang harus dimiliki oleh mahasiswa jurusan yang berhubungan dengan komputasi (ilmu komputer, sistem informasi, sistem komputer, dll) adalah pemrograman. Saat ini bahasa pemrograman yang beredar sangat beragam, dari yang berbasis desktop, web, android/ios, hingga IoT. Tentu saja tidak semua bahasa harus dikuasai oleh mahasiswa komputer. Beberapa buku teks menggunakan konsep pseudocode yang mirip program tetapi dengan bahasa yang dimengerti manusia dan bebas platform bahasa pemrograman. Namun demikian diharapkan mahasiswa mengerti minimal satu bahasa pemrograman dan menguasainya.

Bahasa pemrograman pun banyak tipenya, dari yang berfungsi alat bantu komputasi teknis, program bisnis, statistik, game, hingga mesin pembelajaran dan deep learning. Banyak style yang diterapkan dalam pembelajaran memrogram ini. Hal ini berkaitan dengan maksud dan tujuan pembelajaran pemrograman itu sendiri.

Pemilihan Bahasa Pemrograman

Beberapa dosen senior kebanyakan mengajarkan bahasa C++ sebagai bahasa utama belajar pemrograman. Wajar, bahasa ini sangat ampuh, cepat, dan merupakan bahasa pembentuk bahasa pemrograman lain, bahkan untuk membuat satu sistem operasi. Beberapa dosen yang agak muda menyarankan Java karena bahasa ini banyak digunakan dalam industri. Bahasa ini juga pembentuk bahasa pemrograman lain, misalnya untuk piranti mobile. Saat ini, Python merupakan bahasa yang paling banyak digunakan karena selain ringan, cepat, dan praktis, bahasa ini cocok untuk bidang yang saat ini sedang “in” yakni deep learning.

Style Pengajaran

Beberapa dosen sangat ketat dalam mengajarkan dalam artian, siswa harus mampu memrogram dengan bahasa yang murni. Ciri dosen ini adalah mengharamkan bahasa pemrograman yang sudah memiliki module atau toolbox yang berisi fungsi tertentu. Misal, alih-alih menggunakan fungsi, misalnya average utk rata-rata, mahasiswa diharuskan membuat formula perhitungan rerata sendiri. Jika siswa mampu mengikuti perkuliahan ini, dipastikan mampu berfikir logis. Namun ketika lulus harus cepat beradaptasi dengan bahasa-bahasa baru yang digunakan industri. Dosen dengan style ini sangat mengharamkan Matlab maupun OpenCV dalam pembelajaran. Saya sendiri sempat mempraktikan metode ini hanya untuk materi dasar seperti algoritma dan pemrograman. Itu pun mahasiswa agak kesulitan.

Dosen-dosen generasi 2000-an kebanyakan saat ini menggunakan bahasa Python. Saat ini Google mempermudah orang belajar Python karena menyediakan fasilitas “Google Colab”, yaitu pemrograman via browser. Mahasiswa tidak perlu menginstal Python, tinggal langsung mengetik http://colab.research.google.com maka langsung terhubung ke Google Colab. Bahkan Google menggratiskan GPU-nya untuk digunakan. Mungkin dosen-dosen senior agak keberatan karena dalam Python banyak fungsi-fungsi “instan” yang tidak mendidik para mahasiswa dalam memrogram tetapi dari diskusi-diskusi sesama pengguna banyak informasi-informasi mengenai struktur logika suatu fungsi tertentu. Pembuat fungsi/library pun menyediakan kode sumber yang dapat dilihat di situs resminya. Selain itu, sumber file dapat dilihat isinya misalnya salah satu fungsi m-file dalam Matlab yang bisa dilihat kode sumbernya. Tentu saja jika siswa diharuskan membuat dari “nol” agak berat, khususnya materi-materi yang melibatkan banyak komputasi seperti model-model deep learning. Ada baiknya mengikut perkuliahan Massachusetts Institute of Technology (MIT) yang mengharuskan mahasiswa memahami struktrur program yang dia ketik. Tentu saja fungsi-fungsi tertentu seperti rata-rata, standar deviasi, dan sejenisnya dianggap siswa sudah memahaminya, terkadang tidak perlu mengkode ulang.

Share Kode (Github, Google Colab, dll)

Saat ini siswa mudah sekali mempelajari satu metode karena sudah banyak yang men-share kode sumber yang merupakan proyek risetnya. Termasuk buku-buku teks pun ikut juga men-share kode2nya, sekaligus promosi buku yang dijualnya. Kode-kode tersebut sangat membantu memahami konsep-konsep dasar komputasi, machine learning, data mining, dan sejenisnya karena langsung terlihat nyata. Hanya saja beberapa problem harus diselesaikan terkait kompatibilitas versi bahasa pemrograman, misalnya Google Colab yang menggunakan versi terkini Python dan library-library nya, seperti diskusi berikut ini.

Deteksi Tepi dengan Open CV

Beberapa aplikasi baik di laptop maupun di handphone menerapkan deteksi tepi untuk memisahkan antara citra dengan latar/background-nya. Salah satu metode deteksi tepi yang terkenal adalan metode Canny yang menerapkan filter Gauss:

Beberapa aplikasi telah menerapkan metode Canny ini, misalnya Matlab dan OpenCV. Postingan ini mencoba menggunakan OpenCV yang bekerja di Google Colab dengan bahasa Python. Seperti biasa, buka Google Colab.

  • import cv2
  • import numpy as np
  • from matplotlib import pyplot as plt
  • # read image
  • img = cv2.imread(“dimas.jpg”0)
  • # Find edge with Canny edge detection
  • edges = cv2.Canny(img, 100200)
  • # display results
  • plt.subplot(121), plt.imshow(img, cmap=‘gray’)
  • plt.title(‘Original Image’), plt.xticks([]), plt.yticks([])
  • plt.subplot(122), plt.imshow(edges, cmap=‘gray’)
  • plt.title(‘Edge Image’), plt.xticks([]), plt.yticks([])
  • plt.show()

Open CV diimpor terlebih dahulu, termasuk numpy dan pyplot untuk pengolahan matriks dan pembuatan grafik. Variabel “img” mengambil nama file citra yang terlebih dahulu diupload ke Google Colab. Ketika sel di-run pastikan tampil hasilnya.

Atau bisa menggunakan cv2_imshow agar lebih besar gambar yang ditambilkan.

  • from google.colab.patches import cv2_imshow
  • cv2_imshow(edges)

Silahkan lihat video tutorial di akhir postingan ini. Sekian, semoga bermanfaat.

Konversi Huruf Besar dan Huruf Kecil Pada Python (Google Colab)

Untuk mengolah teks diperlukan proses konversi ke huruf kecil semua sebelum diolah lebih lanjut seperti stemming, pencarian kata dasar, dan operasi pada teks lainnya. Gunakan sembarang file txt untuk praktek yang diunggah ke Google Colab.

  • f2 = open(‘Praktek.txt’‘r’)
  • content = f2.read()
  • print(content)

Perhatikan di sini fungsi open memiliki parameter ‘r’ yang berbeda dengan post yang lalu (tanpa parameter ‘r’). Di sini ketika berganti baris, teks tidak ditulis dalam kode \n melainkan berganti baris.

Gunakan fungsi “upper” atau “lower” untuk beruturut-turut merabah seluruh teks menjadi huruf besar atau huruf kecil semua.

  • content.upper()

Sebagai penutup, ada satu fungsi split untuk memisah teks tersebut menjadi kata per kata ke bawah dengan kode sebagai berikut.

  • list_ = open(“Praktek.txt”).read().split()
  • list_

Ini merupakan teknik menghitung berapa jumlah kata yang ada dalam satu paragraph.

Untuk lebih jelasnya simak video berikut ini:

Mencoba OpenCV di Google Colab

Python memiliki beragam library. Salah satu library terkenal untuk pengolahan citra (image processing) adalah OpenCV (https://opencv.org/). Untuk mencoba library ini silahkan buka Google Colab (http://colab.research.google.com) di browser kita.

Instalasi OpenCV

Untuk menginstal OpenCV, gunakan PIP dengan disertai simbol “!” di depan cell Google Colab sebagai berikut. Setelah itu tekan simbol run di sebelah kiri sel tersebut.

! pip install opencv-python

Tunggu beberapa saat menunggu Google Colab selesai menginstall OpenCV.

Import Library OpenCV

Tidak serta merta ketika diinstal OpenCV dapat langsung digunakan. Import terlebih dahulu. Gunakan satu sel baru agar lebih mudah men-debug nya.

  • import os
  • import numpy as np
  • import matplotlib.pyplot as plt
  • import cv2

Tekan run dan pastikan tidak ada kesalahan. Di sini numpy dan matplotlib merupakan library untuk pengolahan matriks dan plotting. Nah, cv2 di sini merupakan OpenCV.

Membaca, Menampilkan, dan Konversi Citra

Berikutnya kita berlatih menggunakan fungsi OpenCV antara lain, membaca, menampilkan, dan mengkonversi ke hitam putih sebuah citra. Pada google colab upload image sembarang (berformat jpg/png). Tekan terlebih dulu simbol folder di sebelah kiri Google Colab kita.

  • from google.colab.patches import cv2_imshow  
  • img = cv2.imread(‘Rahmadya.jpg’, cv2.IMREAD_UNCHANGED)
  • cv2_imshow(img)
  • grayImg = cv2.cvtColor(np.array(img),cv2.COLOR_BGR2GRAY);
  • cv2_imshow(grayImg)

Kode di baris atas menambahkan satu patches karena cv.imshow tidak berjalan di Google Colab maupun Jupyter Notebook. Variabel img merupakan citra asli, sementara grayImg yang sudah dikonversi ke hitam putih (gray). Perhatikan di OpenCV formatnya Blue-Green-Red (BGR), bukan RGB.

Plotting

Selain dengan OpenCV, ada baiknya kita belajar menampilkan dalam bentuk Plot karena lebih rapih. Gunakan kode berikut di sel yang baru.

  • plt.subplot(121), plt.imshow(img), plt.title(“Original”)
  • plt.xticks([]), plt.yticks([])
  • plt.subplot(122), plt.imshow(grayImg), plt.title(“Edited”)
  • plt.xticks([]), plt.yticks([])
  • plt.show()

Pastikan program berjalan dengan baik.

Silahkan kunjungi video tutorial ini untuk lebih jelasnya.

Instal Plug-in TwitterStreamImporter di Gephi Untuk Scrap Twitter Langsung

Twitter dapat dimanfaatkan untuk mencari tahu akun mana yang aktif membicarakan topik tertentu. Salah satu aplikasi tak berbayar yang mampu men-scrap (istilah mengambil data) Twitter adalah Gephi. Biasanya scrap menggunakan bahasa pemrograman tertentu, tetapi perlu usaha untuk membuat networknya. Nah, Gephi memiliki kemampuan selain men-scrap juga membuat networknya.

Menambahkan Plug-In

Buka Gephi dan masuk ke menu Tools – Plug-In. Banyak fasilitas yang tersedia, salah satunya yang akan digunakan kali ini adalah TwitterStreamImporter.

Cari di tabel Plug-In dan ceklis ketika plugin tersebut ditemukan. Tekan Install untuk melakukan proses instalasi plugin TwitterStreamImporter. Tunggu beberapa saat hingga proses pengunduhan dan instalasi selesai.

Agar memiliki efek ada baiknya memilih Restart Now ketika muncul pilihan pada jendela “Plugin Installer”. Gephi akan shutdown dan muncul kembali dengan fasilitas tambahan yaitu “plugin” yang baru saja kita install.

Ciri-ciri Plugin telah terinstal adalah di bagian kiri bawah muncul tab “Twitter Streaming Importer”. Nah selanjutnya kita tinggal melakukan langkah: 1) Set Credentials, 2) Define the Query.

Silahkan lihat postingan yang lalu untuk mendaftarkan Credential twitter. Postingan berikutnya akan berlanjut menscrap data dengan plugin tersebut sekaligus analisanya dengan Gephi. Sekian, semoga bermanfaat.

Virtual Environment Python di Windows

Ada cara mudah instal environment yaitu dengan menginstall paket lengkap Anaconda. Namun salah satu kendala yang mengganggu dengan Anaconda adalah berat ketika dibuka. Berbeda jika kita membuka environment lewat konsol. Postingan kali ini kita coba menggunakan metode konsol untuk mengeset environment.

PIP Install Virtualenv

Pertama-tama kita install terlebih dahulu paket virtualenv yang tugasnya mengelola virtual environment. Sebenarnya kita bisa saja mengelola project python hanya satu environment. Namun terkadang karena banyaknya environment terkadang kita perlu memisahkan environment satu dengan lainnya. Tujuannya adalah menghemat resource karena satu project dengan lainnya berbeda kebutuhan library-nya. Misalnya, untuk server Flask, tentu berbeda dengan pengelolaan text mining. Sayang kan jika reseource banyak library terpasang tapi hanya sedikit yang digunakan. Langsung saja masuk konsol dan ketik:

pip install virtualenv

Tunggu beberapa saat hingga virtualenv terpasang. Oiya, jika PIP kita belum update, ada baiknya update terlebih dahulu dengan mengetik: python –m pip install –upgrade pip pada konsol.

Buat Folder Kerja

Terkadang kita mengerjakan project python pada variabel tertentu. Ok, kita arahkan saja project yang berlokasi di laptop kerja kita. Ketik:

virtualenv env

Sebelumnya arahkan ke folder kerja kita, misalnya e:\twitter\. Nantinya virtual environment akan dipasang di folder tersebut.

Tampak folder virtual environment berada di e:\twitter\env. Selanjutnya adalah mengaktifkan folder tersebut dengan mengetikan kode berikut:

e:\twitter\venv\scrpits\activate.bat

Atau cara paling gampang, arahkan saja konsol ke folder tersebut (e:\twitter\env\scripts\). Lalu ketik activate.bat sehingga kita masuk ke virtual environment yang kita tuju. Oiya, e:\twitter merupakan folder kerja saya yang mungkin berbeda dengan Anda, termasuk juga ‘env’ yang merupakan nama virtual environment. Silahkan gunakan nama lainnya.

Virtual environment yang kita gunakan muncul berupa tanda kurung di kiri nama folder. Jika ingin melihat PIP apa saja yang sudah terpasang, gunakan perintah:

pip list

Python akan menunjukan PIP apa saja yang sudah terpasang. Jika ingin memasang yang baru, misalnya library “tweepy”, ketik saja:

pip install tweepy

Oiya, di sini saya menggunakan python 2 yang sebentar lagi harus pindah, migrasi ke python 3. Silahkan mengeksplore fasilitas lain Python yang canggih dari text mining, data science, hingga deep learning. Oiya untuk keluar dari virtual environment, ketik saja kode berikut ini. Pastikan simbol nama environment di dalam kurung (env) di samping folder menghilang. Selamat mencoba, semoga bermanfaat.

Deactivate.bat

Aplikasi Machine Learning di Web dengan Python

Aplikasi web saat ini merupakan aplikasi yang wajib diketahui oleh pihak-pihak yang terlibat dengan ilmu komputer baik mahasiswa, dosen, hingga staf IT di perusahaan. Di tahun 2020, permintaan aplikasi berbasis Artificial Intelligence (AI) sangat tinggi. Mau tidak mau, programmer dan pengembang wajib mengetahui tool yang mendukung AI, salah satunya adalah bahasa pemrograman Python.

Framework Web Python

Python awalnya adalah aplikasi yang digunakan untuk back-end tetapi saat ini dengan framework-framework yang tersedia bisa juga bermain di front-end. Salah satu framework yang terkenal adalah Flask dan Jango. Untuk bagaimana ilustrasi penggunaan Flask untuk menjalankan aplikasi AI berbasis web silahkan lihat di www.bisa.ai
berikut ini.

Menggunakan Web Server Lain

Untuk testing biasanya dengan framework web Python, tetapi untuk implementasi biasanya menggunakan web server yang banyak dipakai, salah satunya adalah Apache dengan bahasa pemrograman PHP-nya yang terkenal dan sampai saat ini masih banyak digunakan. Untuk itu diperlukan pengetahuan mengintegrasikan PHP dengan Python. Misal kita punya kode Python sederhana perkalian 2×4 berikut ini:

  • print(“<B>Hasil Olah dengan Python</B><br>”)
  • y=2*4
  • print(“<B>Hasil 2 x 4 = </B>”)
  • print(y)

Misal kita beri nama tes.py. Selanjutnya kita buat satu kode PHP yang memanggil “tes.py” tersebut untuk dijalankan. Sebelumnya perlu kita ketahui bersama bahwa menjalankan “tes.py” dapat dilakukan lewat konsol dengan mengetik python tes.py. Nah, instruksi tersebut yang kita gunakan dalam kode php kita berikut ini. Perhatikan, PHP berwarna merah ditujukan untuk menjalankan file tes.py berbahasa Python.

  • <html>
  • <head>
  • <title></title>
  • </head>
  • <body>
  • <h3>Tes PHP to Access Python</h3>
  • <?php
  • $my_command = escapeshellcmd(‘C:/python27/python tes.py’);
  • $command_output = shell_exec($my_command);
  • echo $command_output;
  • ?>
  • </body>
  • </html>

Beri nama file tersebut, misalnya index.php. Yang perlu diperhatikan adalah python yang digunakan haru disetel path-nya. Atau arahkan saja python.exe disertai lokasi foldernya. Contoh yang saya gunakan adalah python versi 2 di c:/python27/python.exe. Jika lebih dari satu environment jangan sampai salah lokasi. Letakan kedua file di atas (tes.py dan index.php) di lokasi web. Untuk XAMPP di htdocs, sementara yang lain, misalnya Wamp Server di folder www.

Tulisan “Tes PHP to Access Python” berasal dari index.php sementara tulisan “Hasil Olah dengan Python”, “Hasil 2×4” dan hasil kalinya (“8”) berasal dari tes.py. Sekian, semoga bermanfaat.

Mengimpor Kelas Pada Python

Pemrograman berorientasi objek (PBO) saat ini lebih diminati dari pemrograman terstruktur. Hal ini karena PBO ternyata lebih terstruktur dengan pola yang terdiri dari atribut dan metode (operasi). Untuk penggunaan fungsi eksternal pada jenis pemrograman terstruktur sudah dibahas pada post terdahulu. Agar lebih jelas ada baiknya kita menggunakan contoh kasus yang sama, yaitu pembelian barang.

Membuat Kelas

Kelas dapat dibuat dalam satu file yang sama atau terpisah. Di sini kita coba menggunakan file terpisah, misalnya bernama “hitung.py”. File ini berisi tiga buah method dengan fungsi seperti kasus yang lalu: total, diskon dan bayar. Berikut kelas “struk” yang dibuat dengan kata kunci “class”. Perhatikan indent (menjorok) baik setelah “class” maupun “def”.

class struk:
	def total(harga,jumlah):
		"""fungsi untuk menghitung Total bayar"""
		return harga*jumlah

	def diskon(harga):
		""" fungsi menghitung diskon """
		if (harga >= 500000):
			potongan=harga*0.1
		else:
			potongan=harga*0.05
		return potongan

	def bayar(harga,potongan):
		""" fungsi menghitung total bayar """
		return harga-potongan

Memanggil Kelas

Kelas dipanggil dengan kata kunci “import”. Perhatikan pada listing di bawah cara memanggil fungsi/metode yang dimiliki oleh kelas, dalam hal ini kelas “struk”. Formatnya adalah <nama_kelas>.<nama_metode>. Di sini kita coba menggunakan Google Colab. Kita bisa juga menggunakan Jupyter Notebook atau versi terdahulu dengan IDLE.

from hitung import struk
print(" ———Toko Amanah Jaya———")
#input data
harga= int(input("masukan harga barang: "))
jumlah= int(input("masukan jumlah baju yang dibeli: "))
Total=struk.total(harga,jumlah)
potongan=struk.diskon(Total)
tagihan=struk.bayar(Total,potongan)
print("Total Harga = ", "Rp.",Total)
print("Diskon", "Rp.", potongan)
Bayar=int(input("Jumlah Nominal Uang =" ))
Kembalian= (Bayar-tagihan)
print("Uang Kembalian = ", "Rp.",Kembalian)

Berikut hasil “running” ketika transaksi barang dengan harga Rp. 100.000,- sebanyak 4 buah. Karena di bawah Rp. 500.000,- maka diskonnya 5 %. Sekian semoga bermanfaat.