Lewati ke isi
Profil penulisSeri Buku GIS Kehutanan dan Pertanian/ PY

BAB 3: Tempat Menulis dan Menjalankan: Konsol, Editor, dan Terminal

Studi kasus: "Di mana saya mengetiknya?" #

Python sudah terpasang. Analis Muda membuka QGIS dan bingung: tulisan Python itu diketik di mana? Ternyata ada tiga tempat, dan tiap tempat punya kegunaannya. Bab ini membantu Anda memilih tempat yang tepat dan menjalankan skrip pertama Anda di ketiganya.

Konsep: tiga tempat dalam tiga kalimat #

Konsol Python adalah kotak untuk mencoba satu perintah dan langsung melihat hasilnya, seperti kertas coret-coret. Editor skrip adalah lembar kerja untuk menulis banyak perintah lalu menyimpannya sebagai berkas, seperti buku resep. Terminal adalah tempat menjalankan berkas skrip dari luar QGIS, seperti dapur cadangan.

Ilustrasi 3.1: Tiga tempat menulis dan menjalankan skrip
Skema tiga tempat: konsol Python untuk mencoba satu baris, editor skrip QGIS untuk berkas, terminal untuk menjalankan dari luar QGIS

Istilah baru di bab ini:

  • Konsol: kotak ketik yang menjalankan perintah satu per satu.
  • Editor: tempat menulis dan menyimpan berkas skrip.
  • iface: kotak bernama khusus di dalam QGIS, tempat Anda mengendalikan jendela QGIS dari skrip. Kotak ini hanya ada di dalam QGIS.
  • Skrip mandiri: skrip yang dijalankan dari terminal, di luar QGIS.

Tempat 1: Konsol Python QGIS #

  1. Buka QGIS. Pilih menu Plugins ► Python Console. Pintasannya Ctrl+Alt+P. [terbukti: manual resmi QGIS]
  2. Panel konsol terbuka. Klik di kolom ketik paling bawah.
  3. Ketik print("Halo, KPH Contoh!"), lalu tekan Enter.
  4. Kolom hasil menampilkan: Halo, KPH Contoh! Letak panel bisa berbeda di versi Anda. [CEK]

Hasilnya sama dengan yang Anda lihat bila Anda menjalankan perintah itu di terminal. Konsol cocok untuk mencoba-coba: ketik, lihat hasil, ketik lagi.

Beberapa tombol di bilah alat konsol, menurut manual resmi: Clear Console untuk membersihkan layar, Run Command untuk menjalankan isi kolom ketik (sama dengan Enter), dan Show Editor untuk membuka editor.

Tempat 2: Editor skrip di dalam konsol #

  1. Di bilah alat konsol, klik Show Editor. Sebuah area tulis terbuka.
  2. Ketik di editor: print("Halo dari editor").
  3. Simpan dengan Ctrl+S. Pilih folder kerja Anda, lalu beri nama halo_editor.py.
  4. Jalankan seluruh skrip dengan tombol Run script atau pintasan Ctrl+Shift+E. [terbukti: manual resmi QGIS]
  5. Hasilnya muncul di kolom hasil konsol: Halo dari editor.

Editor juga punya Open script untuk membuka skrip dari berkas, Run selected (Ctrl+E) untuk menjalankan baris yang disorot, dan Check syntax (Ctrl+4) untuk mencari kesalahan penulisan.

Tempat 3: Terminal #

Terminal menjalankan berkas skrip dari luar QGIS. Ada dua cara, tergantung pada skrip.

Skrip Python murni. Simpan baris print("Halo, KPH Contoh!") dalam berkas halo.py. Lalu jalankan dari terminal, di folder tempat berkas itu berada:

TERMINAL
python halo.py

Di macOS dan Ubuntu, ketik python3 halo.py. Hasilnya:

HASIL
Halo, KPH Contoh!

Skrip yang memakai QGIS. Python biasa tidak mengenal QGIS. Di Windows, QGIS menyediakan penjalan khusus bernama python-qgis.bat di folder bin instalasinya. Di komputer penulis, lokasinya C:\Program Files\QGIS 4.0.2\bin\python-qgis.bat [terbukti]. Simpan skrip berikut sebagai versi.py:

PYTHONUnduh berkas
import sys
from qgis.core import Qgis

print(sys.version.split()[0])
print("QGIS", Qgis.version())

Lalu jalankan dengan penjalan itu:

TERMINAL
"C:\Program Files\QGIS 4.0.2\bin\python-qgis.bat" versi.py

Hasil di komputer penulis:

HASIL
3.12.13
QGIS 4.0.2-Norrköping

Dua baris itu menjawab dua pertanyaan: Python versi berapa yang dibawa QGIS, dan QGIS versi berapa yang terpasang. Di Ubuntu, modul QGIS untuk Python berasal dari paket python3-qgis, lalu skripnya dijalankan dengan python3. [CEK]

Skrip mandiri butuh persiapan #

Di dalam QGIS, semua sudah siap. Di terminal, sebagian perkakas QGIS harus Anda nyalakan sendiri lebih dulu. Dokumentasi resmi QGIS menyebut urutannya: buat objek aplikasi, nyalakan dengan initQgis(), dan matikan dengan exitQgis(). Skrip kecil berikut menyalakan dan mematikan QGIS, lalu mencetak satu kalimat:

PYTHONUnduh berkas
from qgis.core import QgsApplication

app = QgsApplication([], False)
app.initQgis()
print("QGIS siap dipakai")
app.exitQgis()

Hasilnya, bila dijalankan dengan python-qgis.bat:

HASIL
QGIS siap dipakai

Alat-alat Processing (misalnya Buffer) butuh persiapan tambahan. Skrip berikut menyiapkannya, lalu mencari alat Buffer:

PYTHONUnduh berkas
import sys
from qgis.core import QgsApplication

app = QgsApplication([], False)
app.initQgis()
sys.path.append(r"C:\Program Files\QGIS 4.0.2\apps\qgis\python\plugins")
from processing.core.Processing import Processing
Processing.initialize()
from qgis.analysis import QgsNativeAlgorithms
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms())
import processing

alat = QgsApplication.processingRegistry().algorithmById("native:buffer")
print("Alat ditemukan:", alat.displayName())
app.exitQgis()

Hasil:

HASIL
Alat ditemukan: Buffer

Baris sys.path.append(...) menunjuk lokasi modul Processing di komputer penulis. Lokasinya di komputer Anda bisa berbeda, terutama di macOS dan Ubuntu. [CEK]

Cek paham #

  1. Tempat mana yang cocok untuk mencoba satu perintah dan langsung melihat hasilnya?
  2. Mengapa skrip yang memakai QGIS tidak dijalankan dengan python biasa di terminal?
  3. Apa pintasan untuk membuka Konsol Python di QGIS?

Jawaban.

  1. Konsol Python.
  2. Python biasa tidak mengenal modul QGIS. Gunakan penjalan khusus QGIS, misalnya python-qgis.bat di Windows.
  3. Ctrl+Alt+P, atau lewat menu Plugins ► Python Console.

Kesalahan umum #

  • Menjalankan skrip QGIS dengan python biasa. Pesan galat: ModuleNotFoundError: No module named 'qgis'. Perbaikan: jalankan dengan penjalan QGIS, atau jalankan dari editor di dalam QGIS.
  • Lupa menyimpan skrip di editor sebelum menjalankan. Perbaikan: simpan dengan Ctrl+S dulu, dan beri nama berakhiran .py.
  • Menyimpan skrip di folder sementara. Perbaikan: pakai folder khusus skrip, seperti di kotak tip di atas.

Ringkasan dan latihan #

  • Konsol untuk mencoba satu baris, editor untuk berkas skrip, terminal untuk menjalankan dari luar QGIS.
  • Di Windows, skrip yang memakai QGIS dijalankan dengan python-qgis.bat.
  • Skrip mandiri harus menyalakan QGIS lebih dulu dengan initQgis(). Di dalam QGIS, itu sudah otomatis.

Latihan. Tulis skrip dua baris yang mencetak nama Anda dan nama kantor fiktif Anda. Simpan sebagai perkenalan.py, lalu jalankan di tiga tempat: konsol, editor, dan terminal. Catat tempat mana yang paling mudah menurut Anda.

Tabel perbandingan: tiga tempat menjalankan #

HalKonsolEditor skripTerminal
IsiSatu baris tiap kaliBanyak baris, disimpanBerkas yang sudah ada
TempatDalam QGISDalam QGISLuar QGIS
Cocok untukMencoba-cobaSkrip yang dipakai ulangPekerjaan otomatis dan uji