Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang, 4 September 2021 (Online via Zoom).

Overview

Workshop Python UNSIKA 2021

cover

Materi workshop "Light up your Python!" Himpunan Mahasiswa Sistem Informasi Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang, 4 September 2021 (Online via Zoom).

Pendahuluan

1. Tentang Eka Putra

Eka Putra

Eka Putra sudah berkecimpung di dunia pengembangan website sejak 2009, meskipun beberapa tahun sebelum itu dia sudah mempelajari programming walaupun sebatas hobi menggunakan bahasa pemrograman Pascal (Delphi).

Pada awalnya dia mulai menjajakan jasa pembuatan website melalui website sederhana buatannya sendiri yang dibuat menggunakan WordPress, saat itu masih bekerja di sebuah perusahaan aksesoris sebagai desainer grafis. Klien pun mulai dia dapatkan sampai akhirnya dia memutuskan untuk terjun full-time menjadi freelance web developer.

Pada tahun 2015 dia mendapatkan tawaran untuk bekerja di sebuah perusahaan berbasis di Australia, karena kebetulan sang pemilik juga tinggal di Bali. Dari tahun 2015 itu sampai 2018 (3 tahun) dia bekerja secara remote, dan pada akhir 2018 dia bisa berangkat ke Australia dengan sponsor perusahaan untuk bekerja di kantornya di Sydney. Saat inipun (September 2021) dia masih bekerja di perusahaan yang sama sebagai Senior Software Engineer (Data).

2. Mengenal Python

Tentang Python

Python adalah sebuah bahasa pemrograman tingkat tinggi (high-level) dan multi guna. Tingkat tinggi yang dimaksud adalah dari cara kita berinteraksi dengan komputer menggunakan bahasa yang hampir mirip dengan bahasa manusia tanpa perlu mengerti dan memahami detail dari sistem operasi atau komputer itu sendiri. Berbeda dengan bahasa pemrograman tingkat rendah seperti Assembly atau C yang mana kita perlu memahami cara memanage memory dan sebagainya.

Python diciptakan pada akhir tahun 1980-an oleh Guido Van Rossum seorang programmer dari Belanda. Python dirilis pertama kali pada tahun 1991, Python 2.0 dirilis pada tahun 2000 dan Python 3.0 dirilis pada tahun 2008. Saat ini buat teman-teman yang ingin belajar Python, saya sarankan langsung mulai dengan Python versi 3+.

Karena populernya bahasa ini dan bisa digunakan untuk berbagai macam keperluan, kita akan sering melihat Python digunakan dalam web development, pembuatan API, program berbasis CLI, embedded system, scripting engine untuk game dan lain sebagainya.

Survey Python

Berdasarkan survey yang dilakukkan oleh Stack Overflow, Python berada di urutan nomer 3 dari teknologi atau bahasa pemrograman terpopuler di dunia dibawah Javascript dan HTML/CSS, dan merupakan bahasa pemrograman nomer 1 yang paling ingin dipelajari oleh orang yang belum pernah menggunakannya.

Siapa memakai Python?

Karena bisa dibilang mudah dipelajari dan multiguna maka tidak hayal bahwa banyak perusahaan besar di dunia menggunakan Python di tech-stack mereka. Dan saya yakin begitu juga dengan perusahaan-perusahaan dan startup di Indonesia. Perusahaan-perusahan seperti Google, Instagram, Dropbox, Facebook dll. bisa dipastikan menggunakan Python di system mereka meskipun bukan cuma satu-satunya bahasa yang mereka gunakan.

3. Instalasi Python

Instalasi Python tidak diperagakan di workshop ini, saya berasumsi bahwa peserta workshop sudah memiliki Python terinstall di komputer masing-masing dan siap digunakan.

Untuk instalasi bisa mengikuti panduan dari website ini untuk Windows, Linux dan MacOS: https://realpython.com/installing-python/

4. Menjalankan kode Python secara online

Buat yang tidak memiliki Python di komputernya, peserta workshop juga bisa mengikuti program ini dengan menggunakan layanan online berikut ini:

Python Dasar

Contoh kode Python

Contoh Kode Python

Kode diatas merupakan contoh sederhana kode Python, meskipun kode Python yang paling sederhana sebenarnya adalah print('Hello World') tetapi kode yang berguna tidak cukup hanya dengan satu perintah print saja.

Pada screenshot diatas menunjukkan bagian-bagian dari kode Python yang lebih lengkap dengan rincian sebagai berikut:

  • import digunakan untuk meng-import modul, fungsi atau class dari sebuah package.
  • def digunakan untuk mendefinisikan sebuah fungsi.
  • # digunakan untuk memulai sebuah komentar pada kode
  • """ digunakan untuk memulai sebuah komentar yang memungkinan kita menulis komentar dengan baris lebih dari satu, sedangkan # untuk komentar satu baris.
  • Penamaan variable biasanya menggunkan hurup kecil dan menggunakan underscore sebagai pemisah kata satu dengan yang lainnya.
  1. Hello World
  2. Variable dan Tipe Data
  3. Percabangan
  4. Perulangan
  5. Fungsi
  6. Pengenalan class
  7. Module di Python
  8. Penggunaan Library atau Package

Website dan Flask

1. Bagaimana Website Bekerja?

Bagaimana Website Bekerja?

Kita bisa mengakses sebuah halaman di website karena ada beberapa elemen yang bekerja secara bersama-sama:

  • Komputer yang terkoneksi ke internet dan terdapat aplikasi web browser di dalamnya seperti Google Chrome atau Firefox.
  • Jaringan internet yang memungkinkan kita mengakses server yang ada di belahan dunia manapun.
  • Webserver yang merupakan server yang khusus untuk menerima request dari komputer kita dan mengembalikan dokumen (berupa halaman web) yang ingin kita akses.

Ketiga elemen tersebut saling bekerja sama dan memiliki peran masing-masing mengantarkan data dari komputer kita ke web server dan sebaliknya juga dari web server ke komputer kita.

Komputer kita dan web server berkomunikasi dengan sebuah protokol bernama HTTP (Hyper Text Transfer Protocol), dimana web browser membuat request dan web server akan memberikan respone.

Web developer dipastikan akan bertemu dan bekerja dengan request dan response ini dalam karirnya, oleh karena itu memahami bagaimana memproses request dan memberikan response adalah skill dasar yang harus dimiliki oleh pengembang website terutama website yang sifatnya dinamis.

2. Jenis dan Cara Membuat Website?

Bagaimana Membuat Website?

Berdasarkan sifatnya, website bisa dikategorikan menjadi dua jenis:

  1. Website Statis, website jenis ini biasanya dibuat hanya dengan HTML/CSS dan Javascript (optional). Website statis biasanya memiliki halaman yang sudah jadi sebelum di-serve oleh web server. Untuk mengganti isi website maka harus dilakukkan perubahan secara manual dan kembali menguploadnya ke server. Website jenis ini cocok untuk website yang tidak akan terlalu banyak mengalamai perubahan, cocok untuk halaman dokumentasi, personal blog sederhana, ataupun company profile sederhana.
  2. Website Dinamis, ini mungkin jenis website yang paling sering kita temui saat ini, ciri-ciri website ini biasanya kaya akan fitur yang interaktif. Kita bisa berinteraksi dengan website, kita bisa meminta website untuk melakukkan sesuatu misalnya mengirim email, update status, upload file dan yang lainnya. Website ini meng-generate halaman ketika kita mengaksesnya dan sesuai dengan URL yang kita buka, itulah kenapa disebut website dinamis. Bisa dipastikan website-website ini menggunakan semacam database untuk menyimpan data dan menggunakan bahasa pemrograman tertentu untuk mengambil dan menampilkan datanya.

Jadi berdasarkan jenis-jenis website tersebut, cara membuatnya pun bermacam-macam karena memang bisa dibuat dengan teknologi yang berbeda-beda misalnya yang paling umum adalah dengan bahasa PHP dipadukan dengan HTML/CSS/Javascript maka kita bisa membuat website yang menarik dan interaktif.

Secara umum, website atau aplikasi berbasis website pasti akan memerlukan perpaduan antara HTML (struktur website), CSS (style/tampilan website), Javascript (interaksi dinamis), bahasa scripting atau pemrograman seperti PHP, Python, NodeJS dan banyak lagi yang bertugas memproses request, membaca database, merender template dan mengembalikan hasilnya berupa HTTP response ke browser.

Dan beberapa tahun belakangan ini, semakin banyak framework pembuatan website bermunculan dari berbagai macam bahasa pemrograman seperti PHP dan Python, dan kali ini karena kita sedang membahas Python maka kita akan mencoba membuat sebuah aplikasi berbasis web sederhana menggunakan framework Flask dimana kita akan coding menggunakan bahasa Python.

Untuk pembuatan aplikasi berbasis web saya sarankan menggunakan framework karena selain mempercepat proses pembuatan, maka hal yang paling penting yaitu faktor keamanan. Keamanan website merupakan urusan yang susah-susah gampang, pengembang framework biasanya sudah memperhatikan aspek keamanannya sebelum dipakai khalayak umum meskipun sebagai pengguna framework kita tetap harus berhati-hati dan selalu mengikuti tata cara yang baik pengembangan website untuk menjamin keamanannya.

3. Flask Web Framework

Flask Web Framework

Flask Web Framework

4. Hello Flask

Hello Flask

Kode diatas adalah sebuah aplikasi web sederhana menggunakan Flask, seperti terlihat bahwa aplikasi tersebut hanya memiliki dua buah URL yang bisa diakses yaitu / (menampilkan tulisan Hello World) dan /unsika (menampilkan tulisan Terima kasih UNSIKA!).

Cara kerjanya pun disini sesuai dengan konsep Request dan Response, kita memberikan request ke URL / maka Flask merespon dengan tulisan Hello World, begitu juga ketika kita request URL /unsika maka Flask akan merespon dengan tulisan Terima kasih UNSIKA!.

Membuat aplikasi todo list dengan Flask

Apa yang akan kita pelajari

Seperti tujuan dari workshop kali ini yaitu untuk mengajak teman-teman developer yang belum pernah memakai Python untuk mencoba Python dan juga memperkenalkan bagaimana pembuatan aplikasi berbasis web bisa dilakukkan dengan Flask (salah satu web framework berbasis Python).

Saya tahu pasti bahwa buat teman-teman yang sama sekali belum pernah memakai Python dan langsung membuat aplikasi web sederhana pastinya tidak mudah, untuk itu saya merancang workshop ini dengan mempertimbangkan pengalaman peserta dimana buat yang belum pernah mencoba Python bisa mencobanya, dan buat yang sudah mengetahui dasarnya bisa mencoba Flask.

Aplikasi inipun saya rancang supaya kita bisa mempraktekkan ilmu-ilmu yang kita pelajari pada saat pengenalan Python dasar.

1. Tampilan Aplikasi

Tampilan Aplikasi Todolist dengan Flask

Tampilan aplikasi kita sangat sederhana namun tetap fungsional dan harus berfungsi sesuai dengan yang kita inginkan.

User Interface (UI) dari aplikasi ini dibuat dengan menggunakan UI framework Bootstrap karena relatif mudah dipakai. Saya sudah menyediakan template yang akan kita gunakan untuk membuat Todo list ini, bisa diunduh disini.

2. Requirements Aplikasi

Requirements Aplikasi Todolist dengan Flask

Sebelum kita memulai sebuah proyek software, ada baiknya kita sudah memiliki banyangan apa tujuan akhir dari proyek yang akan kita buat. Apa fitur-fitur yang diperlukan dan bagaimana mereka akan bekerja. Ini penting karena perencanaan yang matang akan membuat proses pembuatan proyek berjalan lebih mulus meskipun tantangan-tantangan tidak terduga bisa saja muncul dalam prosesnya. Tapi itulah tugas seorang programmer, solving problem dengan teknologi.

Pada gambar gambar diatas saya sudah menyiapkan beberapa requirements untuk proyek Todo kita kali ini, apabila semua requirements itu berhasil kita kerjakan maka proyek bisa dibilang sukses.

3. Rancangan URL Aplikasi

Rancangan URL Aplikasi Todolist dengan Flask

Sebelum kita mulai coding aplikasi berbasis web, kita juga perlu memiliki bayangan halaman-halaman apa yang kita perlukan dan URL-URL apa saja yang kita perlukan untuk mendukung aplikasi yang akan kita buat.

Seperti terlihat diatas bahwa kita akan membuat 4 buah endpoint yang masing-masing memiliki satu tugas khusus. Kenapa kita perlu 4 endpoint? kenapa tidak satu saja? Karena lebih mudah membuat endpoint yang bertujuan untuk melakukkan satu tugas spesifik daripada membuat satu endpoint yang harus melakukkan banyak hal.

Sekali lagi, tujuan kita adalah membuat aplikasi yang tidak cuma berjalan baik tetapi juga mudah untuk di maintain.

4. Demo Aplikasi

Menjalankan Aplikasi

Buat yang ingin mencoba aplikasi yang sudah jadi, silahkan arahkan terminalnya ke direktori 3-flask-todolist/.

Pertama kita install dulu library yang kita perlukan untuk proyek ini, karena ini adalah proyek sederhana maka kita hanya perlu Flask, itu terlihat dari isi file requirements.txt yang merupakan cara kita mendaftarkan dependencies yang diperlukan sebuah proyek Python.

Kita install semua library yang diperlukan dengan menjalankan perintah:

pip install -r requirements.txt

Apabila Flask sudah terinstall maka aplikasi tinggal dijalankan dengan perintah:

flask run

Setelah aplikasi berjalan maka tinggal buka web browser dan buka alamat: localhost:5000, localhost adalah alamat tempat server Flask berjalan dan 5000 adalah port aplikasi todo kita berjalan.

You might also like...
Workshop OOP - Workshop OOP - Discover object-oriented programming

Workshop OOP Découvrez la programmation orientée objet C'est quoi un objet ? Un

this repository has datasets containing information of Uber pickups in NYC from April 2014 to September 2014 and January to June 2015. data Analysis , virtualization and some insights are gathered here

uber-pickups-analysis Data Source: https://www.kaggle.com/fivethirtyeight/uber-pickups-in-new-york-city Information about data set The dataset contain

This repository has datasets containing information of Uber pickups in NYC from April 2014 to September 2014 and January to June 2015. data Analysis , virtualization and some insights are gathered here

uber-pickups-analysis Data Source: https://www.kaggle.com/fivethirtyeight/uber-pickups-in-new-york-city Information about data set The dataset contain

September-Assistant - Open-source Windows Voice Assistant
September-Assistant - Open-source Windows Voice Assistant

September - Windows Assistant September is an open-source Windows personal assis

A Python library to simulate a Zoom H6 recorder remote control
A Python library to simulate a Zoom H6 recorder remote control

H6 A Python library to emulate a Zoom H6 recorder remote control Introduction This library allows you to control your Zoom H6 recorder from your compu

A real-time dolly zoom camera effect
A real-time dolly zoom camera effect

Dolly-Zoom I've always been amazed by the gradual perspective change of dolly zoom, and I have some experience in python and OpenCV, so I decided to c

Avatarify Python - Avatars for Zoom, Skype and other video-conferencing apps.
Avatarify Python - Avatars for Zoom, Skype and other video-conferencing apps.

Avatarify Python - Avatars for Zoom, Skype and other video-conferencing apps.

This is a project to detect gestures to zoom in or out, using the real-time distance between the index finger and the thumb. It's based on OpenCV and Mediapipe.

Pinch-zoom This is a python project based on real-time hand-gesture detection, to zoom in or out, using the distance between the index finger and the

Virtual Zoom Gesture using OpenCV

Virtual_Zoom_Gesture I have created a virtual zoom gesture where we can Zoom in and Zoom out any image and even we can move that image anywhere on the

Python program to start your zoom meetings

zoomstarter Python programm to start your zoom meetings More about Initially this was a bash script for starting zoom meetings, but as i started devel

Clip Bing Maps backgound as RGB geotif image using center-point from vector data of a shapefile and Bing Maps zoom

Clip Bing Maps backgound as RGB geotif image using center-point from vector data of a shapefile and Bing Maps zoom. Also, rasterize shapefile vectors as corresponding label image.

Herramienta para poder automatizar reuniones en Zoom.
Herramienta para poder automatizar reuniones en Zoom.

Crear Reunión Zoom con Python Herramienta para poder automatizar reuniones en Zoom. Librerías Requeridas Nombre Comando PyAutoGui pip install pyautogu

Very Simple Zoom Spam Pinger!

Very Simple Zoom Spam Pinger!

Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day.
Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day.

Analyse the limit order book in seconds. Zoom to tick level or get yourself an overview of the trading day. Correlate the market activity with the Apple Keynote presentations.

Quick insights from Zoom meeting transcripts using Graph + NLP
Quick insights from Zoom meeting transcripts using Graph + NLP

Transcript Analysis - Graph + NLP This program extracts insights from Zoom Meeting Transcripts (.vtt) using TigerGraph and NLTK. In order to run this

A python script that automatically joins a zoom meeting based on your timetable.

Zoom Automation A python script that automatically joins a zoom meeting based on your timetable. What does it do? It performs the following processes:

Auto Join Zoom Meeting
Auto Join Zoom Meeting

Auto-Join-Zoom-Meeting Join a zoom meeting with out filling in meeting id's or passcodes, one button for it all! Setup See attached excel document. MA

This program automatically logs you into a Zoom session at your alloted time
This program automatically logs you into a Zoom session at your alloted time

This program automatically logs you into a Zoom session at your alloted time. Optionally you can choose to have end the session at your allotted time.

Owner
Eka Putra
Backend and Data @Insight-Timer, building @upkoding
Eka Putra
A comprehensive and FREE Online Python Development tutorial going step-by-step into the world of Python.

FREE Reverse Engineering Self-Study Course HERE Fundamental Python The book and code repo for the FREE Fundamental Python book by Kevin Thomas. FREE B

Kevin Thomas 7 Mar 19, 2022
Anomaly Detection via Reverse Distillation from One-Class Embedding

Anomaly Detection via Reverse Distillation from One-Class Embedding Implementation (Official Code ⭐️ ⭐️ ⭐️ ) Environment pytorch == 1.91 torchvision =

null 73 Dec 19, 2022
Members: Thomas Longuevergne Program: Network Security Course: 1DV501 Date of submission: 2021-11-02

Mini-project report Members: Thomas Longuevergne Program: Network Security Course: 1DV501 Date of submission: 2021-11-02 Introduction This project was

null 1 Nov 8, 2021
💡 Catatan Materi Bahasa Pemrogramman Python

Repository catatan kuliah Andika Tulus Pangestu selama belajar Dasar Pemrograman dengan Python.

null 0 Oct 10, 2021
An a simple sistem code in python

AMS OS An a simple code in python ⁕¿What is AMS OS? AMS OS is an a simple sistem code writed in python. This code helps you with the cotidian task, yo

null 1 Nov 10, 2021
This repository will be a draft of a package about the latest total marine fish production in Indonesia. Data will be collected from PIPP (Pusat Informasi Pelabuhan Perikanan).

indomarinefish This package will give us information about the latest total marine fish production in Indonesia. The Name of the fish is written in In

null 1 Oct 13, 2021
Program Input Nilai Mahasiswa Menggunakan Fungsi

PROGRAM INPUT NILAI MAHASISWA MENGGUNAKAN FUNGSI Nama : Maulana Reza Badrudin Nim : 312110510 Matkul : Bahas Pemograman DESKRIPSI Deklarasi dicti

Maulana Reza Badrudin 1 Jan 5, 2022
Program Input Data Mahasiswa Oop

PROGRAM INPUT NILAI MAHASISWA MENGGUNAKAN OOP PENGERTIAN OOP object-oriented-programing/OOP adalah paradigma pemrograman berdasarkan konsep "objek", y

Maulana Reza Badrudin 1 Jan 5, 2022
Code and description for my BSc Project, September 2021

BSc-Project Disclaimer: This repo consists of only the additional python scripts necessary to run the agent. To run the project on your own personal d

Matin Tavakoli 20 Jul 19, 2022
This application is the basic of automated online-class-joiner(for YıldızEdu) within the right time. Gets the ZOOM link by scheduled date and time.

This application is the basic of automated online-class-joiner(for YıldızEdu) within the right time. Gets the ZOOM link by scheduled date and time.

215355 1 Dec 16, 2021