Tampilkan postingan dengan label Python. Tampilkan semua postingan
Tampilkan postingan dengan label Python. Tampilkan semua postingan

Kamis, 09 April 2020

Cara Buat Web API Python Dengan Django

django_python

Salah satu nama paling populer dalam pengembangan Python API, Django telah meningkat popularitasnya sejak dimulai pada tahun 2005.

Django dikelola oleh Django Software Foundation dan mempunyai dukungan komunitas yang besar, dengan lebih dari 11.600 anggota di seluruh dunia. Di Stack Overflow, Django memiliki sekitar 191.000 pertanyaan yang ditandai. Situs web seperti Spotify, YouTube, dan Instagram mengandalkan Django untuk manajemen aplikasi dan data.

Artikel ini menjelaskan step by step pembuatan API sederhana menggunakan Django untuk mengambil data dari server menggunakan metode GET dari protokol HTTP.

Buat proyek Django.

Pertama, buat struktur untuk aplikasi Django Anda. Anda dapat melakukan step ini di folder mana saja:


$ mkdir myproject
$ cd myproject


Kemudian, buat lingkungan virtual untuk mengisolasi dependensi paket secara lokal di dalam direktori proyek:


$ python3 -m venv env
$ source env/bin/activate


Di Windows, gunakan perintah env\Scripts\activate untuk mengaktifkan lingkungan virtual Python.

Instal Django dan framework Django REST

Selanjutnya, instal modul Python untuk Django dan Django REST:


$ pip3 install django
$ pip3 install djangorestframework


Inisiasi proyek Django baru

Sampai tahap ini karena kita sudah memiliki lingkungan kerja untuk aplikasi maka selanjutnya kita harus membuat instance proyek Django baru. Tidak seperti kerangka kerja minimal Python lainnya seperti Flask, Django menyertakan perintah khusus untuk proses ini (perhatikan karakter trailing. Pada perintah pertama):


$ django-admin startproject tutorial
$ cd tutorial
$ django-admin startapp quickstart


Django menggunakan database sebagai backendnya, jadi Anda harus menyinkronkan database sebelum memulai pengembangan. Basis data dapat dikelola dengan skrip manage.py yang dibuat saat menjalankan perintah django-admin. Karena saat ini berada di direktori tutorial, gunakan notasi ../ untuk menjalankan skrip, terletak satu direktori di atas:


$ python3 ../manage.py makemigrations
No changes detected
$ python4 ../manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying sessions.0001_initial... OK


Buat user di Django

Buat pengguna awal bernama admin dengan contoh kata sandi kata sandi123:
Buat kata sandi saat diminta.


$ python3 ../manage.py createsuperuser \
  --email admin@example.com \
  --username admin


Menerapkan serializers dan views di Django

Agar Django dapat memberikan informasi ke permintaan HTTP GET, objek informasi harus diterjemahkan ke dalam data respons yang valid. Django mengimplementasikan serializers untuk ini.

Di proyek Anda, tentukan beberapa serialisator dengan membuat modul baru bernama quickstart/serializers.py, yang akan digunakan untuk representasi data:


from django.contrib.auth.models import User, Group
from rest_framework import serializers

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email', 'groups']

class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group
        fields = ['url', 'name']


View di Django adalah fungsi yang mengambil permintaan web dan mengembalikan respons web. Respons dapat berupa HTML, atau HTTP redirect, atau kesalahan HTTP, dokumen JSON atau XML, gambar atau file TAR, atau apa pun yang dapat dapatkan melalui internet. Untuk membuat view, buka quickstart/views.py dan masukkan kode berikut. File ini sudah ada dan memiliki beberapa teks boilerplate, jadi simpan dan tambahkan teks berikut ke file:


from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from tutorial.quickstart.serializers import UserSerializer, GroupSerializer

class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint  allows users to be viewed or edited.
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer

class GroupViewSet(viewsets.ModelViewSet):
    """
    API endpoint  allows groups to be viewed or edited.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer


Generate URL dengan Django

Sekarang kita lanjut membuat URL sehingga orang dapat mengakses API. Buka urls.py di text editor dan ganti kode sampel default dengan kode ini:


from django.urls import include, path
from rest_framework import routers
from tutorial.quickstart import views

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)

# Gunakan perutean URL otomatis
# Dapat juga memasukkan URL login untuk API
urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]


Sesuaikan pengaturan proyek Django

Modul pengaturan untuk proyek contoh ini disimpan dalam tutorial/settings.py, jadi buka itu dalam teks editor dan tambahkan rest_framework ke akhir daftar INSTALLED_APPS:


INSTALLED_APPS = [
    ...
    'rest_framework',
]


Tes Django API

Oke, sekarang kita siap untuk menguji API yang sudah dibuat. Pertama, mulai server bawaan menggunakan perintah:


$ python3 manage.py runserver


Anda dapat mengakses API ke URL http://localhost:8000/users menggunakan curl:


$ curl --get http://localhost:8000/users/?format=json
[{"url":"http://localhost:8000/users/1/?format=json","username":"admin","email":"admin@example.com","groups":[]}]


Atau gunakan Firefox atau browser lainnya terserah pilihan Anda:

django_rest_api

Untuk pengetahuan yang lebih mendalam tentang RESTful APIs menggunakan Django dan Python, lihat dokumentasi Django.

Mengapa saya harus menggunakan Django?

Kelebihan utama Django:

  • Jumlah komunitas Django terus bertambah, sehingga Anda memiliki banyak sumber daya untuk panduan, bahkan untuk proyek yang rumit sekalipun.
  • Fitur seperti templating, routing, form, otentikasi, dan tool manajemen disertakan secara default. Anda tidak perlu mencari tool eksternal atau third-party tool yang terkadang membawa masalah kompatibilitas.
  • Konstruksi sederhana untuk user, loop, dan conditions memungkinkan Anda untuk fokus pada penulisan kode.
  • Django adalah kerangka kerja yang matang dan dioptimalkan sangat cepat dan dapat diandalkan.


Kelemahan utama dari Django adalah:

  • Django itu kompleks! Dari sudut pandang developer, Django bisa lebih sulit untuk dipelajari daripada kerangka kerja yang lebih sederhana.
  • Ada ekosistem besar di sekitar Django. Sebetulnya hal ini bagus sekali akan tetapi hal tersebut bisa sangat membingungkan ketika Anda masih belajar.

Rabu, 08 April 2020

5 Framework Open Source Python GUI

Dalam pemrograman Python, langkah-langkah untuk memulai pemrograman GUI tidak terlalu rumit, tetapi memang mengharuskan pengguna untuk mulai membuat beberapa perencanaan. Karena sifatnya sebagai bahasa pemrograman tujuan umum dengan interpreter yang tersedia di setiap sistem operasi umum, Kita akan dihadapkan pada pilihan tool yang akan digunakan untuk membuat antarmuka pengguna (GUI).

Untungnya, ada banyak opsi yang tersedia bagi programmer yang ingin mempermudah pengguna untuk berinteraksi dengan program mereka. Ada beberapa framework UI untuk berbagai platform, termasuk untuk native Linux, Windows, dan Mac, dan banyak pula yang bekerja di ketiganya sekaligus.

Berikut adalah beberapa framework open source untuk memulai pemrograman Python berbasis GUI.

1. PyQt, PySide, dan Qt untuk Python

python_qt_designer

PyQt mengimplementasikan pustaka Qt yang populer, dan jika Anda terbiasa dengan pengembangan Qt dalam bahasa lain, apakah itu pengembangan aplikasi native untuk KDE atau lingkungan desktop berbasis Qt lainnya, Anda mungkin sudah terbiasa dengan Qt. Hal ini akan membuka kemungkinan mengembangkan aplikasi menggunakan Python yang memiliki tampilan dan feel native di banyak platform, sambil mengambil keuntungan dari tool dan pengetahuan komunitas Qt yang besar.

Qt sudah mapan di komunitas developer. Menulis aplikasi Python menggunakan Qt berarti Anda memiliki akses ke QtCreator, yang menampilkan mode desainer untuk menghasilkan kode untuk tata letak aplikasi.

PyQt memiliki dua lisensi di bawah lisensi komersial dan GPL, tidak seperti proyek Qt itu sendiri, dan perusahaan utama yang mendukung PyQt menawarkan FAQ lisensi untuk membantu Anda memahami apa arti dan maksud dari lisensi tersebut bagi aplikasi Anda.

Untuk opsi lain untuk menggunakan pustaka Qt dengan Python, Anda bisa juga pertimbangkan Qt For Python (umumnya dikenal sebagai PySide2), tersedia di bawah LPGL.

2. Tkinter

tkinter_designer


Jika ada satu paket yang mungkin disebut toolkit GUI "standar" untuk Python, maka itu bisa berarti Tkinter. Tkinter adalah wrapper di sekitar Tcl / Tk, antarmuka grafis populer yang pertama kali dipopulerkan di awal tahun 90-an. Keuntungan memilih Tkinter adalah banyaknya sumber daya, termasuk buku dan contoh kode, serta komunitas besar pengguna yang mungkin dapat membantu Anda jika Anda memiliki kesulitan. Contoh kode juga mudah untuk dipelajari dan cukup mudah dimengerti dibaca manusia.

Tkinter tersedia di bawah lisensi Python, di atas lisensi BSD Tcl / Tk

3. WxPython

WxPython menawarkan pustaka GUI lintas-platform wxWidgets yang aslinya C++ ke Python. WxPython terlihat sedikit lebih native daripada Tkinter di berbagai sistem operasi karena menggunakan widget host sistem untuk membangun GUI. Cukup mudah juga untuk dipelajari, dan memiliki komunitas pengembang yang besar. Anda mungkin perlu membundel wxPython dengan aplikasi Anda, atau meminta pengguna untuk menginstalnya sendiri, karena framework GUI ini tidak diinstal secara otomatis dengan Python.

WxPython menggunakan Lisensi Perpustakaan wxWindows dari proyek induknya, yang disetujui oleh OSI.

4. Python GTK+ 3

glade_for_python


Sebelumnya dikenal sebagai PyGTK, proyek Python GTK+ 3 menyediakan binding Python ke objek GTK (windows, widget, dan sebagainya). GTK+ paling terkenal digunakan sebagai dasar untuk desktop GNOME, tetapi tersedia untuk aplikasi yang berdiri sendiri di Linux, Windows, dan Mac.

Saat Anda menggunakan Python GTK+ 3, Anda bisa menggunakan banyak tool pengembangan yang sama yang dibuat untuk GTK+ itu sendiri. Termasuk diantaranya Glade, sebuah perancang antarmuka untuk aplikasi GTK+. Antarmuka yang dirancang dalam Glade disimpan sebagai XML dan digunakan oleh objek GtkBuilder dalam kode aplikasi Anda. Perancangan anta muka menggunakan drag and drop, membuatnya mudah untuk membuat UI yang dinamis dan responsif.

5. Kivy

Kivy adalah toolkit untuk Linux (termasuk Raspberry Pi), Windows, Mac, dan Android. Proyek ini berfokus pada "antarmuka pengguna yang inovatif", dan telah digunakan untuk aplikasi multimedia, seperti aplikasi pengontrol musik untuk ponsel hingga aplikasi whiteboarding yang memenuhi seluruh dinding ruang rapat.

Kivy tidak memiliki program tata letak visual seperti QtCreator dan Glade, tetapi ia menggunakan bahasa desainnya sendiri untuk membantu Anda mengasosiasikan tata letak UI dengan objek kode. Hal ini memudahkan Anda untuk mengelompokkan class dan function dalam aplikasi Anda. Kivy juga meng-host Kivy Garden, repositori dari widget dan add-on yang dibuat pengguna, jadi jika Anda berpikir untuk menciptakan sesuatu yang tidak disediakan oleh Kivy, cobalah untuk mencarinya di Garden.

Daftar di atas bukan satu-satunya pilihan yang tersedia untuk Anda. Untuk opsi lainnya, lihat halaman "GUI programming in Python" di wiki resmi Python Software Foundation, yang berisi daftar tool-tool yang lain.

Senin, 03 September 2018

Cara Instal Framework Django di Ubuntu 18.04



Django adalah framework Python berfitur lengkap untuk pengembangan web dan aplikasi yang dinamis. Penggunaan Django akan membantu kalian sehingga bisa dengan cepat membuat aplikasi web menggunakan bahasa python.

Dalam posting ini, kita akan belajar bersama bagaimana cara menginstal framework Django di komputer berbasis Ubuntu 18.04.

Sebenarnya ada berbagai cara untuk menginstal Django, tergantung pada kebutuhan dan bagaimana kalian ingin mengkonfigurasi lingkungan pengembangan pythonnya. Masing-masing metode memiliki kelebihan yang berbeda dan satu metode bisa jadi lebih baik untuk situasi spesifik kalian daripada yang lain.

Beberapa metode tersebut adalah:

Pemasangan global dari paket: Repositori Ubuntu resmi berisi paket Django yang dapat diinstal dengan pengelola paket apt. Cara ini adalah yang paling sederhana, tetapi tidak sefleksibel beberapa metode berikutnya. Juga kemungkinan versi yang terdapat dalam repositori mungkin versi lama dari pada versi resmi.

Instal dengan pip dalam lingkungan virtual: Kalian dapat membuat lingkungan virtual menggunakan tool seperti venv dan virtualenv. Lingkungan virtual memungkinkan kalian menginstal Django di direktori tertentu bersama dengan kustomisasi dan paket per proyek lainnya tanpa mempengaruhi sistem komputer kalian. Pendekatan ini biasanya merupakan yang paling praktis dan direkomendasikan untuk bekerja dengan Django.

Instal versi pengembangan dengan git: Jika kalian ingin menginstal versi pengembangan terbaru daripada rilis stabil, dapat memperoleh kode dari repo Git. Versi pengembangan tidak memiliki jaminan stabilitas yang sama dengan versi  rilis stabil.

1. Pemasangan Global dari Paket

Jika kalian ingin menginstal Django menggunakan repositori Ubuntu, prosesnya sangat mudah.

Pertama, perbarui indeks paket lokal dengan apt:

$ sudo apt update

Selanjutnya, periksa versi Python mana yang telah diinstal. Ubuntu 18.04 sudah terpasang Python 3.6 secara default, yang dapat diverifikasi dengan mengetik:

$ python3 -V

Output harusnya seperti ini:

Output
Python 3.6.5

Selanjutnya, instal Django:

$ sudo apt install python3-django

Kalian dapat menguji suksesnya penginstalan dengan cara ketik:

$ django-admin --version

Output
1.11.11

Sampai poin ini framewrok Django telah berhasil diinstal. Perhatikan bahwa versi Django bukan versi stabil terbaru.

2. Instal dengan pip di Lingkungan Virtual

Cara paling fleksibel untuk menginstal Django pada sistem komputer Ubuntu kalian adalah menggunakan lingkungan virtual. Disini saya menginstal Django di lingkungan virtual menggunakan modul venv, bagian dari library standar Python 3. Tool ini memungkinkan kalian untuk membuat lingkungan virtual Python dan menginstal paket Python tanpa mempengaruhi bagian lain dari sistem. Sehingga kalian dapat memilih paket Python berdasarkan kebutuhan per proyek.

Refresh indeks paket lokal:

$ sudo apt update

Periksa versi Python yang Anda pasang:

$ python3 -V

Output
Python 3.6.5

Selanjutnya instal pip dari repositori Ubuntu:

$ sudo apt install python3-pip

Setelah pip diinstal, kalian dapat menggunakannya untuk menginstal paket venv:

$ sudo apt install python3-venv

Sekarang setiap kali kita memulai proyek baru dapat membuat satu atau beberapa lingkungan virtual. Coba mulai dengan membuat dan pindah ke direktori proyek baru:

$ mkdir ~/newproject
$ cd ~/newproject

Selanjutnya, buat lingkungan virtual dalam direktori proyek menggunakan perintah python yang kompatibel dengan versi Python kalian. Sebagai contoh saya memberi nama lingkungan virtualnya sebagai "my_env":

$ python3.6 -m venv my_env

Perintah di atas akan menginstal versi standalone Python dan pip ke dalam struktur direktori yang terisolasi di dalam direktori proyek kalian.

Setelah menginstal paket ke dalam lingkungan yang terisolasi, kalian harus mengaktifkannya dengan mengetik:

$ source my_env/bin/activate

Awalan di terminal kalian harusnya berubah untuk mencerminkan bahwa sekarang berada di lingkungan virtual. Hal ini akan terlihat seperti "(my_env) username@hostname: ~ / $ proyek baru".

Di lingkungan baru ini, kalian dapat menggunakan pip untuk menginstal Django. Tergantung dari versi Python kalian, pip hanya boleh disebut pip ketika berada di lingkungan virtual ini. Perhatikan juga, disini tidak perlu menggunakan sudo karena kalian hanya menginstal secara lokal:

(my_env) $ pip install django

Verifikasi instalasi dengan mengetik:

(my_env) $ django-admin --version

Output
2.1

Perhatikan bahwa versi yang ada di kalian mungkin berbeda dari versi yang ditampilkan di sini.

Untuk meninggalkan lingkungan virtual, jalankan perintah "deactivate" dari mana saja di sistem:

(my_env) $ deactivate

Terminal kalian harusnya kembali ke tampilan konvensional. Ketika ingin mengerjakan proyek lagi, aktifkan kembali lingkungan virtual dengan cara kembali ke direktori proyek dan aktifkan:

$ cd ~/newproject
$ source my_env/bin/activate

3. Versi Pengembangan Instal dengan Git

Jika memerlukan versi pengembangan Django, kalian dapat mengunduh dan menginstal Django dari repositori Git-nya. Mari kita coba lakukan ini dari dalam lingkungan virtual.

Pertama, perbarui indeks paket lokal:

$ sudo apt update

Periksa versi Python yang dipasang:

$ python3 -V

Output
Python 3.6.5

Selanjutnya, instal pip dari repositori resmi:

$ sudo apt install python3-pip

Instal paket venv untuk membuat lingkungan virtual:

$ sudo apt install python3-venv

Langkah selanjutnya adalah mengkloning repositori Django. Diantara rilis Django, repositori ini memang memiliki lebih banyak fitur terkini dan perbaikan bug akan tetapi perhatikan juga bahwa faktor stabilitas yang mungkin belum stabil. Kalian dapat mengkloning repositori ke direktori bernama ~ / django-dev dalam direktori home kalian dengan mengetik:

$ git clone git://github.com/django/django ~/django-dev

Ubah ke direktori ini:

$ cd ~/django-dev

Buat lingkungan virtual menggunakan perintah python yang kompatibel dengan versi Python yang diinstal:

$ python3.6 -m venv my_env

Aktifkan:

$ source my_env/bin/activate

Selanjutnya instal repositori menggunakan pip. Adanya opsi -e akan membuat pemasangan akan dalam mode "editable":

(my_env) $ pip install -e ~/django-dev

Kalian dapat memverifikasi bahwa pemasangan berhasil dengan mengetik:

$ django-admin --version

Output
2.2.dev20180802155335

Sekali lagi, versi yang kalian lihat mungkin tidak sesuai dengan yang ditampilkan di sini.

Sekarang kalian memiliki versi terbaru Django di lingkungan virtual.

4. Membuat Sampel Proyek

Dengan menginstal Django, kalian dapat memulai membangun proyek python. Saya akan coba membahas cara membuat proyek dan mengujinya di lokal komputer menggunakan lingkungan virtual.

Pertama, buat direktori untuk proyek kalian dan pindah ke dalamnya:

$ mkdir ~/django-test
$ cd ~/django-test

Selanjutnya, secara berurutan jalankan perintah di bawah:

$ python3.6 -m venv my_env
$ source my_env/bin/activate
(my_env) $ pip install django

Untuk membangun proyek, kalian dapat menggunakan django-admin dengan perintah startproject. Disini saya akan membuat proyek bernama "djangoproject". Startproject akan membuat direktori dalam direktori kerja saat ini yang meliputi:

  • Skrip manajemen, manage.py, yang dapat digunakan untuk mengelola berbagai tugas khusus Django.
  • Sebuah direktori (dengan nama yang sama dengan proyek) yang menyertakan kode proyek yang sebenarnya.

Untuk menghindari terlalu banyak nested (bertingkat) direktori,  perintahkan Django untuk menempatkan skrip manajemen dan "direktori dalam" di dalam direktori saat ini (perhatikan titik akhir):

(my_env) $ django-admin startproject djangoproject .

Untuk memigrasi database (contoh ini menggunakan SQLite secara default), mari gunakan perintah migrasi dengan manage.py. Migrasi menerapkan perubahan apa pun yang dibuat ke model Django menuju ke skema basis data.

Untuk memigrasikan database, ketik:

(my_env) $ python manage.py migrate

Anda akan melihat output seperti berikut:

Output
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

Akhirnya, mari kita buat pengguna administratif sehingga dapat menggunakan antarmuka admin Django. Lakukan ini dengan perintah createsuperuser:

(my_env) $ python manage.py createsuperuser

Disini kalian akan dimintai nama pengguna, alamat email, dan kata sandi untuk pengguna.

Note:
Untuk server Ubuntu:

Ada sedikit tambahan yaitu memodifikasi ALLOWED_HOSTS di Pengaturan Django. Agar berhasil menguji aplikasinya, kalian perlu memodifikasi salah satu "directive" dalam pengaturan Django.

Buka file pengaturan dan ketik:

(my_env) $ nano ~/django-test/djangoproject/settings.py

Di dalam, temukan direktif ALLOWED_HOSTS. Langkah ini akan mendefinisikan whitelist alamat atau nama domain yang dapat digunakan untuk terhubung ke instance Django. Permintaan masuk dengan header Host yang tidak ada dalam daftar ini akan mengakibatkan exception. Django mengharuskan kalian mengatur ini untuk mencegah "class of security vulnerability" tertentu.

Dalam tanda bracket, cantumkan alamat IP atau nama domain yang terkait dengan server Django kalian. Setiap item harus tercantum dalam tanda kutip, dengan entri terpisah dipisahkan oleh koma. Jika kalian menginginkan permintaan untuk seluruh domain dan subdomain apa pun, tambahkan periode ke awal entri:

~/django-test/djangoproject/settings.py

. . .
ALLOWED_HOSTS = ['server_ip_atau_domain', 'alamat_ip_kedua_atau_domain', . . .]

Setelah selesai, simpan file dan keluar dari editor.

5. Menguji Server Development.

Setelah membuat nama pengguna, kalian dapat memulai server pengembangan Django untuk melihat seperti apa proyek Django tersebut. Kalian hanya harus menggunakan ini untuk tujuan pengembangan. Jika siap untuk men-deploy, pastikan untuk mengikuti pedoman Django tentang deployment dengan hati-hati.

Sebelum mencoba server pengembangan, pastikan sudah membuka port yang sesuai di firewall kalian. Jika mengikuti panduan pengaturan server awal dan menggunakan UFW, kalian dapat membuka port 8000 dengan mengetik:

(my_env) $ sudo ufw allow 8000

Memulai server pengembangan:

(my_env) $ python manage.py runserver your_server_ip:8000

Kunjungi alamat IP server diikuti oleh: 8000 di browser web:

http://nama_server_ip:8000

Kalo dijalankan di lokal:

http://localhost:8000

Kalian harusnya melihat sesuatu yang terlihat seperti ini:



Untuk mengakses antarmuka admin, tambahkan / admin / ke bagian akhir URL kalian:

http://server_ip:8000/admin/

Kalo dijalankan di lokal:

http://localhost:8000/admin/

Maka seharusnya akan keluar tampilan seperti ini:



Jika kalian sudah memasukkan nama pengguna dan kata sandi admin yang baru saja dibuat, kalian akan memiliki akses ke bagian admin utama situs:



Jika sudah selesai, bisa hentikan server pengembangan dengan menekan CTRL-C di terminal.

Proyek Django yang kalian buat akanmemberikan dasar struktural untuk merancang situs yang lebih lengkap. Lihat dokumentasi Django untuk informasi lebih lanjut tentang bagaimana membangun aplikasi web menggunakan framework Django.

Sampai tahap ini kalian sudah selesai memasang framework Django di komputer Ubuntu 18.04. Dengan memanfaatkan framework python seperti Django akan dapat membantu membuat pengembangan web aplikasi lebih cepat, memungkinkan kalian untuk berkonsentrasi hanya pada aspek unik dari aplikasi saja.

Cara Memulai Pemrograman Python di Ubuntu


Tutorial ini akan memandu kalian menginstal Python 3 pada mesin Linux dan mengatur environment pemrograman melalui baris perintah. Tutorial ini memang secara eksplisit akan menjelaskan prosedur instalasi untuk Ubuntu 16.04, akan tetapi prinsip-prinsip umum berlaku untuk distribusi Linux Debian lainnya.

Python adalah bahasa pemrograman serbaguna yang dapat digunakan untuk banyak proyek pemrograman yang berbeda. Pertama kali dikenalkan pada tahun 1991 dengan nama yang diilhami oleh grup komedi Inggris, Monty Python. Tim pengembang ingin membuat Python menjadi bahasa yang menyenangkan untuk digunakan, mudah untuk diatur, dan ditulis dalam gaya yang relatif lugas dengan respon langsung jika terdapat error. Python adalah pilihan yang bagus untuk pemula dan pengembang yang berpengalaman. Python 3 adalah versi terkini dan dianggap sebagai masa depan Python.

Prasyarat

Komputer dengan Ubuntu 18.04 terinstal, serta memiliki akses administratif dan koneksi internet. Untuk cara instal Ubuntu 18.04, silahkan baca artikel ini.

1. Menyiapkan Python 3

Di Ubuntu 18.04, kalian dapat menemukan aplikasi Terminal dengan mengklik "Activities" di sudut kiri atas layar dan mengetik "terminal" ke dalam kotak pencarian. Klik pada ikon aplikasi Terminal untuk membukanya. Sebagai alternatif, kalian dapat menekan tombol CTRL, ALT, dan T pada keyboard untuk membuka aplikasi Terminal.


Ubuntu 18.04 sudah menyediakan Python 3 dan Python 2 pra-instal. Untuk memastikan bahwa versi kalian sudah diperbarui, silahkan perbarui dan upgrade sistem dengan apt-get:

$ sudo apt update
$ sudo apt -y upgrade

Flag -y akan mengkonfirmasi bahwa kita setuju untuk semua item yang akan diinstal, tetapi tergantung pada versi Linux, kalian mungkin perlu mengkonfirmasi petunjuk tambahan saat pembaruan dan upgrade sistem.

Setelah proses selesai, kita dapat memeriksa versi Python 3 yang diinstal di sistem dengan mengetik:

$ python3 -V

Kalian akan menerima output di jendela terminal yang akan memberi tahu nomor versinya. Meskipun nomor versi ini dapat bervariasi, hasilnya akan serupa dengan ini:

Output
Python 3.6.5

Untuk mengelola "software packages" untuk Python, silahkan instal pip. Pip adalah tool yang akan menginstal dan mengelola paket pemrograman yang ingin kita gunakan dalam proyek pemrograman python.

$ sudo apt install -y python3-pip

Paket Python dapat diinstal dengan mengetik:

$ pip3 install nama_paket

Di sini, nama_paket dapat merujuk ke paket atau library Python, seperti Django untuk pengembangan web atau NumPy untuk komputasi ilmiah. Jadi jika ingin menginstal NumPy, kalian dapat melakukannya dengan perintah "pip3 install numpy".

Ada beberapa paket dan tool pengembangan yang perlu dipasang untuk memastikan kalian memiliki set-up yang powerful untuk lingkungan pemrograman python:

$ sudo apt install build-essential libssl-dev libffi-dev python3-dev

Setelah set-up Python selesai, dimana pip dan tool lainnya sudah diinstal, kalian dapat mengatur lingkungan virtual untuk proyek pengembangan python.

2. Menyiapkan Lingkungan Virtual

Lingkungan virtual memungkinkan kalian memiliki ruang terisolasi di harddisk komputer untuk proyek Python dan memastikan bahwa setiap proyek dapat memiliki set dependensi sendiri yang tidak akan mengganggu proyek yang lain.

Dengan menggunakan lingkungan virtual, kita mempunyai kontrol yang lebih besar terhadap proyek Python dan memudahkan dalam penanganan versi paket. Hal ini nantinya akan sangat penting ketika kalian bekerja dengan paket pihak ketiga.

Kalian dapat mengatur banyak lingkungan virtual pemrograman Python sebanyak yang kalian inginkan. Setiap lingkungan virtual pada dasarnya adalah direktori atau folder di komputer yang memiliki beberapa skrip di dalamnya untuk membuatnya berfungsi sebagai lingkungan virtual.

Meskipun ada beberapa cara untuk membuat lingkungan virtual pemrograman dengan Python, disini saya akan menggunakan modul venv, yang merupakan bagian dari library Python 3 standar. Mari instal venv dengan mengetik:

$ sudo apt install -y python3-venv

Setelah sukses terinstal, sekarang kalian siap untuk menciptakan lingkungan virtual / virtual environment. Pilih direktori mana saja yang diinginkan sebagai lingkungan virtual pemrograman Python, atau buat direktori baru dengan mkdir, seperti ini:

$ mkdir environments
$ cd environments

Setelah berada di direktori, kalian dapat membuat lingkungan dengan menjalankan perintah berikut:

$ python3.6 -m venv my_env

Pada dasarnya, pyvenv menyiapkan direktori baru yang berisi beberapa item yang dapat kita lihat dengan perintah ls:

$ ls my_env

Output
bin include lib lib64 pyvenv.cfg share

Bersama-sama nantinya file-file ini berfungsi untuk memastikan bahwa proyek sudah terisolasi dari konteks yang lebih luas dari komputer lokal kalian, sehingga file sistem dan file proyek tidak bercampur. Ini adalah praktik yang baik untuk kontrol versi dan untuk memastikan bahwa setiap proyek memiliki akses ke paket tertentu yang dibutuhkannya. Python Wheels, adalah sebuah built-package format untuk Python yang dapat mempercepat software production dengan cara mengurangi waktu yang diperlukan untuk mengkompilasi, akan berada di direktori "share" Ubuntu 18.04.

Untuk menggunakan lingkungan ini, kalian hanya perlu mengaktifkannya dengan mengetikkan perintah berikut:

$ source my_env/bin/activate

Command prompt kalian sekarang akan diawali dengan nama environment, dalam hal ini disebut my_env. Tergantung pada versi Debian Linux apa yang dijalankan, awalan mungkin tampak agak berbeda.

(my_env) ramon@localhost:~/environments$

Awalan ini memungkinkan kalian mengetahui bahwa my_env virtual environment saat ini aktif, artinya ketika membuat kode program di dalam foldernya, kalian hanya akan menggunakan setting dan package virtual environment ini.

Catatan: Di dalam lingkungan virtual, kalian dapat menggunakan perintah "python" selain daripada "python3", dan "pip" daripada "pip3". Jika menggunakan Python 3 pada komputer di luar lingkungan virtual, kalian harus menggunakan perintah "python3" dan "pip3" secara eksklusif.

Setelah mengikuti langkah-langkah ini, lingkungan virtual kalian sudah siap digunakan.

3. Membuat Program "Hello, World"

Mari lanjut dengan membuat program wajib "Hello, World!". Hal ini bertujuan untuk menguji lingkungan virtual dan sebagai langkah awal untuk menjadi lebih akrab dengan Python.

Untuk melakukan ini, buka teks editor command-line seperti nano dan buatlah file baru:

(my_env) ramon@localhost:~/environments$ nano hello.py

Setelah file teks dibuka di terminal, ketikan kode program berikut:

print("Hello, World!")

Keluar dari nano dengan mengetikkan CTRL dan X, dan ketika diminta untuk menyimpan file, tekan y.

Setelah keluar dari nano dan kembali ke shell, jalankan program:

(my_env) ramon@localhost:~/environments$ python hello.py

Program hello.py yang baru saja kalian buat seharusnya menyebabkan terminal menghasilkan keluaran berikut:

Output
Hello, World!

Untuk keluar lingkungan virtual, cukup ketik perintah "deactivate" dan kalian akan kembali ke direktori aslinya.

Selamat! Pada tahap ini kalian sudah memiliki lingkungan pemrograman Python 3 dan dapat memulai proyek pemrograman python di Ubuntu 18.04!

Minggu, 02 September 2018

Cara Memulai Pemrograman Python di Windows


Pertama, download versi terbaru Python dari Situs web resmi. Untuk versi terbaru Python 3 silahkan pilih instaler yang sesuai dengan Windows x86-64.

Jalankan instalernya, dan pilih opsi untuk menambahkan Python ke PATH, sehingga kalian tidak perlu mengetikkan path lengkap untuk perintah Python. Jika diminta, pilih opsi "remove the path length limitation".



Instalasi standar Python menyediakan:

  • Runtime Python.
  • Shell interaktif (gunakan ikon menu, atau ketik python di jendela command prompt).
  • IDE basic, yang disebut IDLE.
  • Librari standar yang besar, bersama dengan dokumentasi.
  • Tutorial untuk membantu memulai pmrograman python.
  • IDLE dimaksudkan sebagai lingkungan pengembangan dasar dan portabel yang memungkinkan pemrogram baru memulai tanpa harus menginstal editor terpisah. Untuk pengalaman yang jauh lebih baik, instal teks editor atau IDE yang mendukung Python.

Tutorial yang disediakan Python dapat memandu kalian mulai dari hal mendasar. Dokumentasi untuk library standar juga menyediakan contoh sederhana dari banyak fitur, tetapi secara khusus hanya dirancang sebagai referensi, bukan untuk pembelajaran.

Memilih Kode Editor atau IDE

Jika kalian belum memiliki editor pilihan bisa pertimbangkan Visual Studio Code. Fitur-fitur yang dimiliki Visual Studio Code untuk pengembangan Python, termasuk pemeriksaan kualitas kode, dan dukungan untuk debugging. Selain itu kalian bisa memulai pemrograman python di windows dengan Mu editor, yang dirancang khusus untuk membantu pengembang baru bekerja dengan Python. Kedua editor ini gratis.

Jika ingin menggunakan IDE penuh, ada beberapa opsi yang tersedia. Wing IDE dan PyCharm adalah produk komersial eksklusif. Eclipse IDE gratis dapat digunakan untuk pengembangan Python dengan ekstensi PyDev. Versi Microsoft Visual Studio saat ini juga termasuk mendukung untuk pemrograman python.

Tool Penting

Ada sejumlah utilitas dan library standar untuk pengembangan software Python, tetapi ada beberapa tool yang sangat mendasar sehingga kalian harus menginstalnya bahkan sebelum memulai menulis kode Python.

Git untuk kontrol versi

Tool Git sekarang efektif sebagai alat kontrol versi standar untuk developer. Kontrol versi jelas penting untuk berkolaborasi dengan programmer lain. Selain itu juga memungkinkan kalian untuk menyalin aplikasi secara efisien ke sistem lain untuk pengujian, deployment, dan backup.

Jika Git terinstal, Visual Studio Code bisa memberi kalian akses ke informasi dan fitur dari Git langsung di GUI. Selain itu jika menggunakan Visual Studio Code, kalian juga harus mempertimbangkan menginstal ekstensi Git Lens, yang meningkatkan integrasi dengan Git.

Pipenv Untuk Virtual Environment

Instal pipenv untuk mengelola proyek Python. Pipenv akan memastikan setiap proyek Python kalian menggunakan paket terpisah, dan menyediakan fitur lain untuk membantu me-maintain pekerjaan, seperti memeriksa kode dan memperingatkan tentang masalah keamanan di librari.

Cara instal pipenv, di command prompt masukkan perintah berikut:

pip install pipenv

Tool pipenv menggunakan fasilitas pip dan lingkungan virtual yang disertakan dengan Python itu sendiri, sehingga sepenuhnya kompatibel dengan utilitas Python lainnya. Dokumentasi "packaging python" sekarang secara resmi merekomendasikan pipenv.

Tool Lainnya

Tool-tool ini juga umum digunakan dalam pemrograman Python. Saran saya pelajari tool-tool tersebut hanya jika kalian membutuhkannya.

Tool tambahan untuk Proyek Python


Visual Studio Code juga sudah menyediakan ekstensi Pylint dan autopep8 untuk memeriksa dan memformat kode Anda.
Tool Untuk Testing Kode Python

  • Pytest untuk pengujian
  • Tox menjalankan serangkaian tes dalam beberapa lingkungan Python
  • Coverage untuk mengukur cakupan uji kode
  • Faker - Menghasilkan fake data
  • mypy - Pemeriksaan tipe statis, menggunakan anotasi tipe Python
  • Bandit untuk memeriksa kode untuk masalah keamanan umum
  • Safety untuk memeriksa dependensi proyek terhadap kerentanan keamanan yang diketahui

Membangun Aplikasi Web

Untuk situs web dan aplikasi yang sangat sederhana, gunakan Flask. Flask framework menyediakan paket dasar fitur yang kalian butuhkan untuk aplikasi web kecil.

Gunakan Django atau Pyramid untuk proyek yang lebih besar. Django menyediakan seperangkat tool dan library khusus yang terintegrasi. Pyramid menawarkan framework modular untuk mengintegrasikan library Python pihak ketiga bersama-sama saat mengembangkan aplikasi Web kustom.

Web framework Python sudah mengikuti standar WSGI, yang menyediakan antarmuka yang konsisten antara masing-masing komponen, dan antara komponen dan server webhost. Server apa pun yang mendukung WSGI dapat menghosting aplikasi Python kalian. Layanan cloud seperti Google App Engine, Heroku, Python Anywhere, dan Red Hat OpenShift menyediakan low-maintenance hosting untuk aplikasi Web Python.

Mengembangkan Web Client

Gunakan requests library untuk Web client software, seperti mengunduh file atau bekerja dengan API. Dukungan HTTP di library standar Python adalah untuk kode low-level.

Jika kalian perlu mendapatkan informasi dari Situs Web yang tidak menyediakan API, gunakan Scrapy. Kalian kemudian dapat mengekstrak konten dari halaman web mengunakan library Beautiful Soup.

Mengakses Database

Jawaban paling sederhana adalah kalian tidak perlu menginstal atau mengatur servis apa pun untuk membuat database SQL untuk aplikasi Python, karena library standar Python sudah menyertakan versi SQLite.

Untuk mengakses servis database SQL seperti PostgreSQL, MySQL, atau Oracle, kalian hanya perlu menginstal client software untuk masing-masing produk, bersama dengan Python adapter yang terpisah.
Menghubungkan ke Microsoft SQL Server: Microsoft menganjurkan agar menggunakan ODBC untuk SQL Server.
Framework Django sudah mencakup Object-Relational Mapper (ORM). Untuk aplikasi lain, gunakan SQLAlchemy, yang telah menjadi library Python standar untuk pemrograman berbasis data. Kalian dapat menggunakan bagian deklaratif dari SQLAlchemy seperti ORM standar, tetapi memiliki lebih banyak kemampuan. Records menyediakan antarmuka pemrograman sederhana dan command-line tool untuk SQLAlchemy.

Aplikasi Grafis Desktop

Jika kalian tertarik untuk mengembangkan aplikasi desktop, mulailah dengan wxPython. Tk interface toolkit yang disertakan dengan library standar Python saya rasa agak mendasar dan kuno. Jika kalian memiliki kebutuhan lanjutan dapat memilih PySide2, yang memungkinkan kalian untuk menggunakan QT libraries.

Integrasi Microsoft Windows

Python memberikan dukungan untuk beberapa fitur yang unik untuk Microsoft Windows meski tidak semuanya. Untuk menggunakan Python dengan fitur-fitur lain dari Windows, seperti COM dan Registry, instal Ekstensi win32.

Packaging Aplikasi

Untuk membuat paket aplikasi untuk Windows, gunakan PyInstaller atau py2exe. Tool ini akan membuat executable yang berdiri sendiri yang termasuk Python itu sendiri, kode kalian, dan dependensi lainnya.

Library Berguna Lainnya

Bokeh - Grafik interaktif dan visualisasi lainnya
Pendulum - Tanggal dan waktu parsing
Pillow - Pengolahan gambar
PyYAML - dukungan YAML untuk Python
Reportlab - Generate PDF
uvloop - Alternatif yang sangat cepat untuk Python asyncio event loop standar.