HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Categories: Blog

Apa itu Subproses Python Dan Mengapa Itu Penting?

Python memiliki banyak tugas dan aktivitas yang terjadi di latar belakang; tugas-tugas ini disebut proses. Dan, seperti spesies ular yang juga dapat memiliki subspesies, proses Python dapat memiliki subproses. Meskipun informasi ini bisa terasa menakutkan, kenyataannya informasi ini memiliki kekuatan untuk membuat pekerjaan kita lebih mudah dikelola.

Apa itu subproses dalam Python?

Subproses adalah tugas yang dibuat oleh proses untuk menyelesaikan tugas dalam proses induk. Mari kita kembangkan itu; proses adalah tugas yang dilakukan oleh program selama eksekusinya. Dalam banyak kasus, jika tidak semua kasus, proses biasanya memiliki tugas yang lebih kecil yang perlu diselesaikan sebelum proses dapat berakhir.

Di sinilah subproses ikut bermain. Ketika sebuah proses memiliki tugas kecil yang perlu diselesaikan, itu dapat menelurkan subproses untuk menangani tugas itu sementara proses terus berjalan. Ini menciptakan cara yang lebih lancar dan efisien untuk mengelola data dan memori.

Jika proses baru dibuat untuk setiap tugas yang harus diselesaikan oleh suatu proses, perangkat akan segera kehabisan memori untuk menyelesaikan tugas tersebut. Selain itu, metodologi ini akan sangat tidak efisien karena beban kerja yang pada akhirnya akan dikenakan pada prosesor perangkat.

Dengan membuat subproses kecil untuk menangani tugas yang lebih mudah dalam suatu proses akan dapat menjalankan lebih banyak proses secara bersamaan. Ini disebut multiprocessing, paket yang ditambahkan ke bahasa Python untuk mendukung penggunaan beberapa prosesor. Sebagai bahasa yang lebih tua, Python tidak membantu kinerja seperti itu karena perangkat tidak memiliki banyak prosesor saat itu.

Fakta sejarah : Modul subproses ditambahkan dalam Python 2.4 untuk meningkatkan efisiensi dan menggantikan pendekatan manajemen data dan memori yang sudah ketinggalan zaman. Tak lama setelah menambahkan subproses, Python menambahkan modul multiproses yang disertakan dalam Python 2.6 dan di atasnya. Penambahan paket multiproses ini bertujuan untuk lebih meningkatkan kinerja perangkat lunak pada perangkat dengan banyak CPU.

Cara Menggunakan Subproses dengan Python

Sebelum menggunakan subproses di Python, mari kita bicara tentang cara kerjanya dengan contoh yang relatif umum untuk pengguna komputer. Semua komputer memiliki pengelola tugas; program ini dirancang untuk menonton proses yang berjalan di komputer. Komputer menetapkan beberapa RAM dan ruang CPU untuk setiap proses yang berjalan. Konsep ini umum, tetapi banyak pengguna tidak tahu bahwa proses ini sering menjalankan tugas.

Untuk menggunakan subproses dalam Python harus membuatnya. Python menyertakan metode dalam modul subproses yang disebut panggilan, yang memulai proses baru. Metode menerima perintah yang akan memberi tahu subproses tindakan apa yang perlu diselesaikan.

Misalnya, untuk memulai notepad windows sebagai subproses untuk proses induk akan meneruskan string your/path/to/program/notepad.exe, termasuk jalurnya. Ini akan memberi tahu subproses untuk menemukan file notepad.exe menggunakan jalur yang disediakan dan kemudian membuka dan menjalankan file tersebut.

import subprocess

code = subprocess.call("notepad.exe")

if code == 0:
print("Success!")
else:
print("Error!")

Success!

Contoh Subproses Python

Subproses hadir dengan lebih dari sekedar metode panggilan; itu termasuk metode Popen(). Metode Popen tidak menunggu subproses berakhir sebelum mengembalikan informasi. Untuk melakukan ini dengan Popen harus menggunakan metode wait() setelah Popen. Mari kita lihat tiga contoh bagaimana menggunakan subproses.

Dalam contoh ini akan melihat subproses yang digunakan untuk melakukan ping ke situs web dan memeriksa status operasinya.

1. Menggunakan Metode Popen

Metode Popen tidak menunggu untuk menyelesaikan proses untuk mengembalikan nilai. Artinya informasi yang didapatkan kembali tidak akan lengkap. Sebagai gantinya akan mendapatkan respons bahwa tugas awal telah dimulai tetapi tidak ada apa-apa tentang penyelesaiannya.

program = "notepad.exe"
subprocess.Popen(program)

/*response*/
<subprocess.Popen object at 0x01EE0430>

Kode di atas berhasil memulai program, tetapi tidak akan menerima informasi tentang sisa proses operasi. Untuk mendapatkan informasi tentang seluruh fungsi proses dan mempelajari apakah ada kesalahan selama runtime perlu menggunakan metode wait.

2. Menggunakan Popen dengan Metode Tunggu

program = "notepad.exe"
process = subprocess.Popen(program)
code = process.wait()
print(code)

/*result*/
0

Metode wait menunggu untuk mengembalikan nilai hingga subproses selesai dan, dalam hal ini, mengembalikan nol, yang berarti tidak ada kesalahan.

Ada kasus di mana tidak dapat menggunakan metode wait() karena dapat menyebabkan kebuntuan yang membekukan program hingga diselesaikan, khususnya saat menggunakan perintah stdout/stderr=PIPE. Dalam kasus ini, alih-alih menggunakan wait(), dapat menggunakan metode communication(). Mari kita lihat bagaimana hal itu dilakukan selanjutnya.

args = ["ping", "www.google.com"]
process = subprocess.Popen(args, stdout=subprocess.PIPE)
data = process.communicate()
print(data)

Demi posting ini, hasil dari tindakan ini tidak penting untuk operasinya. Tetapi perlu diperhatikan informasi yang dikembalikan oleh metode communication() bahwa ini adalah tuple dua elemen yang berisi apa yang ada di stdout dan stderr.

Menggunakan Modul Subproses di Perangkat Lunak

Sekarang harus merasa percaya diri dalam memahami cara kerja subproses Python dan apa artinya bagi kebutuhan pengembangan perangkat lunak. Masih banyak yang perlu dipertimbangkan untuk bergerak maju dengan subproses termasuk cara lain untuk berinteraksi dengan mereka. Ini adalah subjek yang luas, tetapi lebih dari siap untuk mempelajari lebih banyak tentang mereka. Lihat pemikiran terakhir tentang subproses ini untuk diingat saat mendorong maju.

  • Subproses menyediakan cara terbaik untuk memaksimalkan efisiensi kode.
  • Subproses dapat dipanggil dengan dua cara utama, menggunakan metode call() atau Popen().
  • Metode wait() diperlukan untuk menangkap hasil runtime lengkap dari suatu proses saat menggunakan metode Popen().
  • Metode wait() dapat menyebabkan kebuntuan saat digunakan dengan perintah stdout/stderr=PIPE
  • Dapat menggunakan metode communication() saat metode wait bukanlah pilihan yang baik.

Dengan fakta-fakta ini di tangan dan contoh-contoh di atas, siap untuk mulai menggunakan modul subproses dalam perangkat lunak.

5/5 - (3 votes)
Risa Y

Recent Posts

Kesulitan Membuat Aplikasi Android? Sangat Tepat, Berikut Cara Mudah 100% Berhasil!

Bagi yang merasa kesulitan dalam membuat aplikasi Android, Hosteko akan memberikan cara mudah membuat aplikasi…

2 hours ago

Amankan Website dari XSS Vulnerability dengan CSP

Ketika kamu ingin membuat website, ada beberapa hal yang perlu kamu perhatikan, khususnya tingkat keamanan…

2 days ago

Rekomendasi Website dan Aplikasi Kompres File PDF

Kompresi online file PDF ukuran 200 KB dan 500 KB atau rahasia kompresi PDF di…

2 days ago

Disclaimer: Pengertian, Jenis, dan Cara Membuatnya

Kamu pasti tahu disclaimer di blog, kan? Pasalnya, disclaimer merupakan salah satu tulisan yang sering…

3 days ago

Cara Mudah Menghapus Cache di Google Chrome

Pernahkah Anda mendengar kata cache? Jadi, apakah ada perbedaan antara cache hosting dan cache browser…

3 days ago

Yuk Cari Tahu! Cara Memasang Widget di WordPress

Apakah kamu pengguna WordPress? Apakah kamu ingin menambahkan kalender atau kode HTML ke website? Jika…

4 days ago