Lewati ke konten utama

6 Praktik Terbaik Python untuk Kode yang Lebih Baik

Temukan praktik terbaik pengodean Python untuk menulis skrip Python berkelas dunia.
Diperbarui 28 Sep 2026  · 13 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Ngoding adalah seni menulis instruksi – juga dikenal sebagai algoritme – agar komputer melakukan tugas tertentu. Untuk berkomunikasi dengan komputer, pengembang menggunakan bahasa pemrograman.

Seperti bahasa alami, seperti bahasa Inggris, Rusia, atau Quechua, bahasa pemrograman terdiri dari seperangkat aturan sintaksis dan semantik yang memberikan dasar untuk berkomunikasi. Meskipun bahasa alami lebih kompleks, fleksibel, dan dinamis, atribut ini juga berlaku pada bahasa pemrograman dalam batas tertentu. 

Bahkan algoritme paling sederhana pun dapat Anda tulis dengan banyak cara berbeda. Walau fleksibilitas tertentu diinginkan saat mengembangkan kode, hal itu bisa mengorbankan efisiensi dan komunikasi yang efektif, terutama ketika banyak orang mengerjakannya.

Karena itu, keterbacaan adalah aspek penting dalam penulisan kode. Untuk memastikan para pengembang berada pada pemahaman yang sama, sebagian besar bahasa pemrograman telah mengembangkan standar pengodean. Dokumen-dokumen ini memberikan pedoman dan praktik terbaik untuk menghasilkan kode yang mudah dibaca, mudah dirawat, dan dapat diskalakan. 

Dalam artikel ini, kita akan membahas praktik terbaik untuk ngoding di Python, salah satu bahasa paling populer di ilmu data. Praktik yang disajikan pada bagian berikut sebagian besar berdasarkan PEP 8, panduan standar untuk menulis kode di Python.

Baca artikel kami atau ikuti kursus Introduction to Python untuk mempelajari lebih lanjut tentang kegunaan Python. 

Apa itu PEP 8?

“Kode lebih sering dibaca daripada ditulis. Kode harus selalu ditulis dengan cara yang mendorong keterbacaan” – Guido van Rossum, penemu Python

PEP 8 adalah panduan gaya untuk kode Python. Ditulis pada 2001 oleh Guido van Rossum, Barry Warsaw, dan Nick Coghlan, panduan ini memberikan serangkaian rekomendasi untuk menulis kode yang lebih mudah dibaca dan konsisten. Cakupannya mulai dari cara menamai variabel hingga jumlah karakter maksimum dalam satu baris. 

PEP adalah singkatan dari Python Enhancement Proposal. PEP adalah dokumen yang menjelaskan fitur baru yang diusulkan untuk Python dan mendokumentasikan aspek Python, seperti desain dan gaya.

Walau tidak wajib, sebagian besar komunitas Python menggunakan PEP 8. Jadi sangat disarankan untuk mengikuti pedoman ini. Dengan begitu, Anda akan meningkatkan rekam jejak sebagai programmer profesional. 

Meski PEP 8 diterima luas, pedomannya mungkin tidak cocok untuk semua skenario. Dalam kasus tersebut, perusahaan sering menetapkan konvensi mereka sendiri.

Praktik Terbaik Python 

1. Praktik terbaik Python untuk kualitas kode

Menulis kode yang mudah dibaca dan terstruktur dapat membuat perbedaan dan meningkatkan prospek karier Anda. Meskipun bagi pemula ngoding mungkin tampak mekanis dan kompleks, kenyataannya ngoding adalah sebuah seni. 

Ada banyak kiat yang dapat Anda ikuti untuk meningkatkan kualitas kode di Python. Berikut adalah daftar beberapa yang paling relevan.

Tirani indentasi

Indentasi mengacu pada spasi di awal baris kode. Sementara pada bahasa pemrograman lain indentasi hanya untuk keterbacaan, di Python indentasi adalah wajib. Python menggunakan indentasi untuk membuka blok kode. Lebih tepatnya, 4 spasi berturut-turut per tingkat indentasi, seperti pada kode berikut:

for number in [1,2,3,4]:
    if number % 2 == 0:
        print(number)
    else:
        continue

Panjang baris maksimum

PEP 8 merekomendasikan agar tidak ada baris yang lebih dari 79 karakter. Ini masuk akal karena baris yang lebih pendek lebih mudah dibaca. Selain itu, panjang ini memungkinkan Anda membuka beberapa berkas berdampingan.

Baris kosong

Kelilingi definisi fungsi dan kelas tingkat atas dengan dua baris kosong. Definisi metode di dalam kelas dikelilingi satu baris kosong. Baris kosong tambahan dapat digunakan (secukupnya) untuk memisahkan kelompok fungsi yang terkait. Terakhir, gunakan baris kosong di dalam fungsi (secukupnya) untuk menandai bagian logis. 

Gunakan linter dan pemformat otomatis

Penguasaan kode membutuhkan waktu. Memperhatikan semua detail saat ngoding bisa menantang dan memakan waktu. Untungnya, mesin – khususnya linter dan formatter – dapat membantu kita memastikan kualitas kode. 

Linter melakukan analisis statis terhadap kode sumber dan memeriksa ketidaksesuaian semantik. Formatter adalah alat serupa yang mencoba menata ulang spasi, panjang baris, posisi argumen, dan seterusnya agar kode Anda terlihat konsisten di berbagai berkas atau proyek. Python menawarkan banyak pilihan linter dan formatter.

Ingat prinsip-prinsipnya

Walau beberapa aturan di atas mudah, ngoding sering kali soal selera dan intuisi yang baik. Untuk menjadi seniman ngoding, Anda perlu mengetahui beberapa prinsip yang menjadi dasar Python. Contoh hebat dari prinsip-prinsip tersebut adalah Zen of Python, yang dibahas dalam artikel terpisah.  

2. Praktik terbaik logging Python

Logging adalah cara melacak peristiwa yang terjadi saat suatu perangkat lunak berjalan. Terutama ketika aplikasi tumbuh dalam ukuran dan kompleksitas, logging menjadi teknik krusial untuk mengembangkan, men-debug, menjalankan, dan melacak kinerja.  

Modul logging telah menjadi bagian dari Pustaka Standar Python sejak versi 2.3 untuk menangani praktik logging. Ini adalah paket andalan bagi sebagian besar pengembang Python terkait logging dan dibahas secara ekstensif dalam PEP 282.

Logging secara semangat mirip dengan fungsi Print. Namun, fungsi print tidak memiliki banyak informasi yang mungkin berguna bagi pengembang. Logging dapat mencatat stempel waktu dan nomor baris tempat kesalahan terjadi. Logging juga bisa mencatat kesalahan atau informasi apa pun ke berkas, soket, dll.

Untuk mengimpor modulnya, Anda cukup menjalankan kode ini:

import logging

Tidak semua pesan log serupa. Memang, modul ini menyediakan kategori level logging berdasarkan tingkat keparahan pesan. Urutannya sebagai berikut:

  • NOTSET (0): Artinya semua pesan akan dicatat.
  • Debug (10): Berguna untuk mendiagnosis masalah dalam kode. 
  • Info (20): Dapat digunakan untuk mengonfirmasi bahwa tidak ada bug dalam kode. Salah satu penggunaan yang baik untuk logging level info adalah melacak kemajuan pelatihan model machine learning. 
  • Warning (30): Mengindikasikan masalah yang bisa terjadi di masa mendatang. Misalnya, peringatan mungkin dikeluarkan untuk modul yang mungkin dihentikan di masa depan atau peringatan RAM rendah. 
  • Error (40): Bug serius dalam kode; bisa berupa kesalahan sintaks, kehabisan memori, atau exception. 
  • Critical (50): Kesalahan yang dapat menyebabkan program berhenti berfungsi atau keluar secara tiba-tiba.
import logging
logging.info('This message is just informative')
logging.debug('My missions is to provide information about debugging.')
logging.critical("A Critical Logging Message")

Setelah itu, berikut adalah daftar enam praktik terbaik untuk menangani logging di Python.  

Gunakan log alih-alih print

Kita sudah menyebutkan bahwa log memberikan informasi serupa dengan fungsi print. Namun, log jauh lebih kuat dan dapat memberikan informasi yang lebih terperinci. 

Menggunakan fungsi Print mungkin menggoda, terutama jika Anda belum terbiasa dengan rutinitas logging, tetapi log akan selalu menjadi opsi yang paling aman. Log lebih cocok untuk skala dan menangani aplikasi yang kompleks. 

Web penuh dengan panduan dan dokumentasi. Misalnya, tutorial logging dari DataCamp ini bisa menjadi yang Anda butuhkan untuk memulai.

Gunakan modul logging 

Modul ini adalah opsi andalan bagi sebagian besar pengembang Python. Artinya modul ini dipelihara dengan baik dan didukung oleh komunitas besar yang akan selalu punya jawaban untuk keraguan Anda.

Pilih level logging dengan bijak

Modul logging memiliki enam level pesan yang berbeda. Masing-masing dirancang untuk tujuan tertentu. Semakin Anda mematuhinya, semakin mudah bagi Anda dan pengguna untuk memahami apa yang terjadi dalam kode Anda.

Gunakan stempel waktu saat logging

Ini adalah fitur krusial dari log yang tidak dimiliki fungsi print. Selain mengetahui di mana masalah muncul, penting untuk mengetahui kapan itu terjadi. Stempel waktu adalah sekutu terbesar Anda dalam situasi ini. Pastikan menggunakan format standar untuk menulis stempel waktu, yaitu format ISO-8601.

Kosong

Kosongkan tempat penyimpanan log

Gunakan kelas RotatingFileHandler, seperti TimedRotatingFileHandler, alih-alih FileHandler, untuk mengarsipkan, mengompresi, atau menghapus berkas log lama guna mencegah masalah ruang memori. Kelas-kelas ini akan membersihkan ruang setelah batas ukuran atau kondisi waktu terpenuhi.

3. Praktik terbaik komentar Python

Komentar sangat penting untuk membuat anotasi bagi pembaca kode kita di masa mendatang. Walaupun sulit menentukan bagaimana kode harus dikomentari, ada pedoman tertentu yang dapat kita ikuti: 

  • Komentar yang bertentangan dengan kode lebih buruk daripada tanpa komentar. Karena itu sangat penting untuk memperbarui kode dan komentar guna menghindari ketidakkonsistenan. 
  • Komentar harus berupa kalimat lengkap, dengan huruf pertama kapital. 
  • Usahakan menulis komentar dalam bahasa Inggris. Meskipun setiap orang bebas menulis komentar dalam bahasa yang dianggap tepat, disarankan untuk menggunakan bahasa Inggris. 
  • Pastikan komentar Anda jelas dan mudah dipahami oleh penutur bahasa yang Anda gunakan.

Ada dua jenis komentar: komentar blok dan komentar inline. 

Komentar blok menjelaskan kode yang mengikutinya. Biasanya, Anda menjorokkan komentar blok pada level yang sama dengan blok kode. Setiap baris komentar blok diawali dengan # dan satu spasi, seperti berikut:

# This is a block comment
print('Welcome to DataCamp!")

Di sisi lain, komentar inline muncul pada level yang sama dengan kode. Komentar inline harus dipisahkan setidaknya dua spasi dari pernyataan. Mirip dengan komentar blok, komentar inline diawali dengan satu tanda pagar (#) dan diikuti oleh spasi dan teks. 

print ("Have you ever tried Python?") # This is an inline comment

4. Praktik terbaik docstring Python

Docstring adalah string literal yang muncul sebagai pernyataan pertama dalam definisi modul, fungsi, kelas, atau metode. Biasanya, Anda menggunakan string dokumentasi untuk menghasilkan dokumentasi kode secara otomatis. Karena itu, docstring dapat diakses saat run-time menggunakan atribut khusus obj.__doc__ dari objek tersebut.

Demi konsistensi, docstring selalu ditutup dengan tiga tanda kutip ganda (""").

Ada dua bentuk docstring: satu baris dan multi-baris. Satu baris untuk kasus yang benar-benar jelas. Docstring jenis ini seharusnya muat dalam satu baris. Contoh berikut menggambarkan docstring satu baris pada fungsi multiply():

def multiply(x, y):
    """ Return the product of two numbers """
    result = x * y
    return result

Sementara itu, docstring multi-baris dapat mencakup banyak baris. Docstring semacam ini harus mendokumentasikan fungsi skrip, sintaks baris perintah, variabel lingkungan, dan berkas. Pesan penggunaan bisa cukup mendetail dan harus cukup bagi pengguna baru untuk menggunakan perintah dengan benar.

def calculate_salary(hours, price=20):
    """ Return the salary according to the hours worked

    Arguments:
    hours: total hours investe
    price: price of each hours worked. Minimum price is 20 dollars
    """
    salary = hours * price
    return salary

Penjelasan yang lebih rinci tentang docstring dapat ditemukan di PEP257.

5. Praktik terbaik dokumentasi Python

Meskipun komentar penting agar pengembang lain yang bekerja bersama Anda memahami kode, dokumentasi ditujukan untuk membantu komunitas calon pengguna mempelajari cara menggunakan perangkat lunak Anda. Ini adalah langkah krusial: sebaik apa pun perangkat lunak Anda, jika dokumentasinya tidak cukup baik, atau bahkan tidak ada, orang tidak akan menggunakannya. 

Menyertakan berkas README selalu menjadi praktik yang baik, terutama jika Anda mengerjakan proyek baru. Berkas-berkas ini biasanya menjadi titik masuk utama bagi pembaca kode Anda dan mencakup informasi umum untuk pengguna dan pengelola proyek. 

Meski ringkas, berkas README harus menjelaskan tujuan proyek, URL sumber utama perangkat lunak, dan informasi kredit.

Demikian pula, Anda sebaiknya selalu menyertakan berkas setup.py, yang memastikan perangkat lunak atau pustaka telah dikemas dan didistribusikan dengan Distutils, standar untuk mendistribusikan modul Python.

Selain itu, jika perangkat lunak Anda memerlukan dependensi atau paket lain untuk berjalan, Anda harus menyertakan berkas requirements.txt yang menjelaskan dependensi yang dibutuhkan dan versinya.

Terakhir, Anda bebas menambahkan informasi lain yang menurut Anda relevan bagi calon pengguna. Misalnya, praktik yang baik adalah memberikan contoh cara kerja paket atau fungsi Anda. 

6. Praktik terbaik lingkungan virtual Python 

Untuk memastikan ketertiban dan konsistensi di seluruh proyek data Anda, membuat lingkungan virtual untuk setiap proyek yang Anda mulai adalah praktik yang baik. 

Lingkungan virtual, juga dikenal sebagai virtualenv, membantu memisahkan dan mengisolasi versi Python dan pustaka yang diperlukan untuk proyek Anda beserta versi pip terkait. Ini mengizinkan pengguna akhir memasang dan mengelola seperangkat perangkat lunak dan versinya sendiri yang independen dari yang disediakan sistem. 

Untuk membuat virtualenv, kita perlu terlebih dahulu memasang paket yang diperlukan, dengan menulis baris kode berikut di terminal Anda:

pip install virtualenv

Untuk membuat virtualenv baru, kode berikut akan melakukan tugasnya. Kita menamai virtualenv baru tersebut “new_venv”

python3 -m venv /path/to/new/virtual/environment/new_venv

Konvensi Penamaan Python

Salah satu kesalahan paling umum di kalangan pengembang Python pemula adalah penamaan yang tidak tepat untuk variabel, kelas, fungsi, dan sebagainya. Konvensi penamaan adalah elemen penting untuk memastikan keterbacaan kode.

PEP 8 menjelaskan cara standar menamai objek di Python. Menurut pedoman, modul dan paket baru (termasuk kerangka kerja pihak ketiga) harus ditulis mengikuti standar ini, tetapi konsistensi internal lebih diprioritaskan jika pustaka yang ada memiliki gaya berbeda.

Anda harus menghindari penggunaan nama yang terlalu umum atau terlalu panjang. Selain itu, pengenal yang digunakan di pustaka standar harus kompatibel dengan ASCII, seperti dijelaskan dalam PEP 3131.

# Bad naming:
data_structure, ríos_españa, dictionary_with_countries_and_capitals
# Good naming:
user_profile, stop_words, global_emissions_df

Di bawah ini adalah daftar konvensi penamaan untuk objek paling umum di Python.

  • Paket dan modul
    • Nama paket dan modul harus seluruhnya huruf kecil
    • Garis bawah hanya boleh digunakan pada nama paket dan modul jika meningkatkan keterbacaan.
  • Kelas
    • Nama kelas harus mengikuti konvensi UpperCaseCamelCase
    • Namun, kelas bawaan Python biasanya berupa kata huruf kecil
  • Variabel instance, metode, dan fungsi
    • Nama variabel instance harus seluruhnya huruf kecil
    • Gunakan garis bawah untuk menambahkan kata baru pada instance variabel
    • Variabel instance non-publik harus diawali dengan satu garis bawah
  • Konstanta
    • Nama konstanta harus seluruhnya huruf kapital
    • Gunakan garis bawah untuk menambahkan kata baru pada konstanta

Identifier

Konvensi

Modul

lowercase

Kelas

CapWords

Fungsi

lowercase

Metode

lowercase

Variabel tipe

CapWords

Konstanta

UPPERCASE

Paket

lowercase

Kesimpulan

Menguasai praktik terbaik Python penting untuk menulis kode yang bersih, efisien, dan mudah dirawat. Dengan mengikuti pedoman tentang kualitas kode, logging, komentar, dan dokumentasi, serta menggunakan alat seperti lingkungan virtual, Anda dapat memastikan proyek lebih mudah dikelola, dikerjakan bersama, dan diskalakan.

Seiring Anda terus meningkatkan keterampilan Python, pertimbangkan untuk menjelajahi sumber belajar yang lebih mendalam guna memperkaya pemahaman tentang Python dan beragam penerapannya. Jika Anda mencari panduan terstruktur, lihat sumber berikut:

Praktik Terbaik Python - FAQ

Mengapa mengikuti praktik terbaik pengodean itu penting?

Untuk memastikan keterbacaan, kualitas kode, dan skalabilitas selama aktivitas pengembangan perangkat lunak.

Apa itu lingkungan virtual?

Lingkungan virtual adalah alat yang memisahkan dependensi dari berbagai proyek dengan membuat lingkungan terisolasi terpisah untuk setiap proyek.

Apa itu PEP 8?

Dokumen yang menyediakan pedoman standar dan praktik terbaik tentang cara menulis kode Python.

Apa itu indentasi?

Indentasi mengacu pada spasi di awal baris kode. Python menggunakan indentasi untuk menunjukkan blok kode.

Apa itu Zen of Python?

Zen of Python adalah kumpulan 19 "prinsip panduan" untuk menulis program komputer yang memengaruhi desain bahasa pemrograman Python.

Apa itu docstring?

Docstring Python adalah string yang digunakan untuk mendokumentasikan modul, kelas, fungsi, atau metode Python, sehingga programmer dapat memahami fungsinya tanpa harus membaca detail implementasinya.

Ada berapa jenis komentar yang umum di Python?

Ada dua jenis komentar: komentar blok dan komentar inline.


Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Saya adalah analis data lepas yang berkolaborasi dengan perusahaan dan organisasi di seluruh dunia dalam proyek ilmu data. Saya juga instruktur ilmu data dengan pengalaman lebih dari 2 tahun. Saya rutin menulis artikel terkait ilmu data dalam bahasa Inggris dan Spanyol, beberapa di antaranya telah diterbitkan di situs tepercaya seperti DataCamp, Towards Data Science, dan Analytics Vidhya. Sebagai ilmuwan data dengan latar belakang ilmu politik dan hukum, tujuan saya adalah bekerja pada irisan kebijakan publik, hukum, dan teknologi, memanfaatkan kekuatan gagasan untuk mendorong solusi serta narasi inovatif yang dapat membantu kita menghadapi tantangan mendesak, khususnya krisis iklim. Saya menganggap diri saya seorang autodidak, pembelajar sepanjang hayat, dan pendukung kuat pendekatan multidisipliner. Tidak pernah ada kata terlambat untuk mempelajari hal baru.

Topik
Python

Pelajari lebih lanjut tentang Python dengan kursus-kursus ini!

Kursus

Menulis Kode Python yang Efisien

4 jam
156K
Pelajari cara menulis kode efisien yang berjalan cepat dan mengalokasikan sumber daya dengan terampil untuk menghindari overhead yang tidak perlu.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya