Lewati ke konten utama

Cara Menggunakan Pernyataan assert di Python

Menerapkan pernyataan assert di Python itu mudah: Kita menggunakan assert untuk menguji kondisi dan menampilkan pesan jika kondisinya salah.
· 6 mnt Baca

Jelajahi bersama AI

Pernyataan assert dalam pemrograman Python adalah alat untuk menetapkan kebenaran dasar di dalam kode Anda. Pernyataan ini bekerja dengan memberi kemampuan kepada pengembang untuk memvalidasi asumsi dalam kode mereka. Dalam tutorial ini, kita akan menguasai pernyataan assert di Python, mencakup sintaks, penggunaan, dan penerapannya dalam debugging serta deteksi kesalahan. Dengan menguasai pernyataan assert di Python, kita selangkah lebih dekat menjadi seorang Programmer Python ahli. 

Jawaban Singkat: Cara Menulis Assertion di Python 

Sintaks pernyataan assert cukup sederhana:

assert condition, message

Di sini, condition mengacu pada ekspresi yang diuji, sedangkan message adalah pesan kesalahan opsional yang muncul jika assertion gagal.

Berikut beberapa assertion yang bisa Anda coba di kode Python untuk membiasakan diri. Pada kasus pertama, ekspresi 3<4>5 secara logis keliru sehingga Python memunculkan AssertionError dengan pesan yang kita berikan: "Math does not work that way." Pada kasus kedua, ekspresi 0==0 adalah tautologi sehingga kita tidak pernah melihat pesan, "This shouldn't throw an error." 

assert 3<4>5, "Math does not work that way."
assert 0==0, "This shouldn't throw an error."

Gambaran Umum Pernyataan assert di Python

Sekarang mari kita lihat lebih dekat pernyataan assert di Python, termasuk bagaimana dan mengapa pernyataan ini digunakan. Di akhir tutorial ini, Anda akan mahir menggunakan pernyataan assert di Python. 

Apa itu assertion di Python?

Assertion dalam pemrograman, secara umum, adalah konstruksi yang digunakan untuk memverifikasi kebenaran kondisi dalam basis kode. Dengan kata lain, ini adalah kebenaran yang harus dipatuhi program, jika tidak maka akan memunculkan kesalahan. Dengan menggunakan kata "assert", Python menerapkan assertion pemrograman ini dengan sintaks yang sangat literal: Pernyataan assert memungkinkan kita membuat assertion tersebut.

Kapan menggunakan assertion di Python

Assertion sangat berharga untuk debugging, memvalidasi asumsi, dan memastikan kode Anda berperilaku seperti yang diharapkan dalam kondisi tertentu. Assertion memungkinkan Anda memberi tahu komputer apa yang Anda harapkan untuk dilakukannya dan memintanya berhenti ketika ia melakukan hal yang berbeda. Ini berguna saat membangun program baru atau menambahkan fitur atau memperbarui aplikasi yang sudah ada.

Assertion sangat berguna dalam skenario ketika pengembang harus menegakkan prasyarat (precondition), pascasyarat (postcondition), atau invarian dalam basis kode mereka. Assertion bertindak sebagai pagar pembatas, mencegah kode berlanjut jika kondisi tertentu dilanggar, sehingga membantu deteksi dini potensi bug.

Dengan menempatkan assertion secara strategis di seluruh kode, Anda dapat menangkap kesalahan lebih dekat ke sumbernya, sehingga mempermudah debugging. Jalur karier Python Developer dari DataCamp adalah kursus yang sangat baik bagi calon pengembang di semua tingkat untuk melatih keterampilan pemrograman fungsional karena mencakup latihan dengan konsep dasar hingga lanjutan.

Kapan tidak menggunakan assertion di Python

Walaupun assertion sangat berguna selama pengembangan, ada skenario tertentu di mana penggunaannya mungkin tidak tepat.

Penting untuk dipahami bahwa ketika kode Anda dikompilasi untuk produksi, assertion dapat dinonaktifkan secara global. Ini berarti Anda tidak boleh bergantung pada assertion untuk menangani masalah saat run-time, seperti pengguna memasukkan data yang salah. Sebaliknya, assertion sebaiknya digunakan untuk masalah pengembangan, seperti mengidentifikasi kekeliruan logika atau matematika.

Untuk menangani kesalahan atau memvalidasi data dalam kode produksi, cobalah menggunakan konstruksi penanganan eksepsi agar kode dapat pulih dari kesalahan secara wajar, mencatat informasi yang relevan untuk tujuan debugging, dan memberikan umpan balik yang bermakna kepada pengguna.

Anda dapat mempelajari lebih lanjut tentang menemukan dan memperbaiki kesalahan dalam tutorial kami Exception and Error Handling in Python atau dengan mengikuti kursus Associate Data Scientist in Python. 

Kesalahan Umum dan Kesalahpahaman dengan Pernyataan assert di Python

Kesalahan umum saat menggunakan pernyataan assert di Python adalah menggunakan tanda kurung. Ini adalah kesalahan yang dapat dimengerti karena banyak fungsi menggunakan tanda kurung, dan menyertakannya terasa seperti kebiasaan. Namun, pernyataan assert secara teknis bukan fungsi di Python sehingga menggunakan sintaks khusus. Jika Anda menggunakan tanda kurung, kemungkinan Anda akan mengalami peringatan sintaks dan kesalahan logika.

Contoh kesalahan akibat penggunaan tanda kurung dalam pernyataan assert.SyntaxWarning: assertion is always true, perhaps remove parentheses?

Kesalahan umum lainnya adalah lupa menambahkan koma setelah kondisi. Hal ini akan berakibat pada kesalahan sintaks.

Contoh kesalahan akibat koma yang hilang dalam pernyataan assert.SyntaxError: invalid syntax

Eksepsi AssertionError

Eksepsi AssertionError akan dipicu setiap kali ketentuan suatu assertion dilanggar. Kesalahan ini menghentikan eksekusi program; pesan kesalahan opsional apa pun yang Anda setel akan ditampilkan. Mengingat assertion terutama digunakan untuk menguji kode Anda selama pengembangan, jika Anda menerima pesan eksepsi AssertionError di Python, umumnya Anda perlu menanggapinya dengan serius. Ini bisa menandakan cacat fatal dalam kode Anda.

Aplikasi Praktis

Pernyataan assert dapat digunakan dalam banyak aplikasi praktis di Python. Kursus interaktif kami Writing Functions in Python menyediakan banyak latihan yang akan membantu Anda menguasainya. Berikut beberapa contohnya. 

Menggunakan assert di dalam fungsi

Cara yang bermanfaat untuk menggunakan assertion adalah menyisipkannya ke dalam fungsi. Ini dapat membantu memastikan bahwa fungsi Anda berperilaku seperti yang dimaksudkan.

def divide(a, b):
assert b != 0, "Division by zero!"
return a / b

# Test cases
print(divide(10, 2))  # Output: 5.0
print(divide(8, 0))   # AssertionError: Division by zero!

Menggunakan assert dengan unittest

Menguji kode Anda adalah langkah penting dalam proses pengembangan. Unittest adalah pustaka yang dirancang untuk membantu Anda mengetes kode secara efisien, dan memanfaatkan pernyataan assert untuk melakukannya. Ini adalah cara yang paling sering saya gunakan untuk pernyataan assert. Berikut contoh yang mungkin Anda temukan di kursus Introduction to Testing in Python kami. 

import unittest

class TestMathFunctions(unittest.TestCase):
    def test_addition(self):
        self.assertEqual(2 + 2, 4)

    def test_subtraction(self):
        self.assertEqual(5 - 3, 2)

    def test_division(self):
        self.assertRaises(ZeroDivisionError, divide, 10, 0)

if __name__ == '__main__':
    unittest.main()

Kesimpulan

Pernyataan assert di Python adalah alat penting untuk debugging dan memverifikasi kondisi dalam kode Anda selama pengembangan. Meski sederhana dan efektif untuk menguji asumsi, pernyataan ini tidak boleh diandalkan di lingkungan produksi karena dapat dinonaktifkan dalam kode yang dikompilasi. Sebagai gantinya, gunakan penanganan eksepsi untuk manajemen kesalahan yang tangguh. 

Pertimbangkan untuk membaca tutorial Coding Best Practices and Guidelines kami sebagai referensi jika masih ada pertanyaan.

Amberle McKee

Penulis

Amberle McKee

Saya seorang PhD dengan pengalaman 13 tahun bekerja dengan data di lingkungan riset biologi. Saya membuat perangkat lunak dalam beberapa bahasa pemrograman termasuk Python, MATLAB, dan R. Saya bersemangat membagikan kecintaan saya terhadap pembelajaran kepada dunia.

Topik

Terkait

blogs

Spaghetti Plot dan Jalur Badai

blogs

Tutorial Korelasi di R

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026