Pengolahan Citra Digital: 1. Pengantar Python

Indra Pengelihatan dan Alat Optik
July 14, 2021

Sebelum kita memulai diskusi tentang akuisisi dan pemrosesan gambar menggunakan Python, kita akan memulai dengan gambaran umum tentang berbagai aspek Python. Ini akan dimulai dengan proses instalasi Python dengan semua modul menggunakan distribusi Anaconda. Setelah instalasi selesai, baru kemudian kita dapat mulai menjelajahi berbagai fitur Python. Pembelajaran dasar akan dimulai dengan meninjau berbagai struktur data seperti list, kamus, dan tupel dan pernyataan seperti for-loop, if-else, iterator, dan pemahaman list.

Sebelum kita memulai diskusi tentang akuisisi dan pemrosesan gambar menggunakan Python, kita akan memulai dengan gambaran umum tentang berbagai aspek Python. Ini akan dimulai dengan proses instalasi Python dengan semua modul menggunakan distribusi Anaconda. Setelah instalasi selesai, baru kemudian kita dapat mulai menjelajahi berbagai fitur Python. Pembelajaran dasar akan dimulai dengan meninjau berbagai struktur data seperti list, kamus, dan tupel dan pernyataan seperti for-loop, if-else, iterator, dan pemahaman list.

BACKGROUND READING:

A. Apa itu Python?

Algoritma adalah suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang logis, terstruktur dan dituliskan secara sistematis, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap langkah instruksi mengerjakan suatu tindakan (aksi). Bila suatu aksi dilaksanakan, maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma.

  • Python adalah bahasa pemrograman tingkat tinggi yang populer. Bahasa ini dapat menangani berbagai tugas pemrograman seperti komputasi numerik, pengembangan web, pemrograman basis data, pemrograman jaringan, pemrosesan paralel, dll. Python populer karena berbagai alasan, diantaranya:
  • Python adalah bahasa pemrograman open source (gratis).
  • Bahasa pemrograman Python tersedia di semua sistem operasi populer seperti Windows, Mac atau Linux.
  • Bahasa pemrograman Python adalah bahasa yang diterjemahkan (bahasa pemrograman aras tinggi). Oleh karena itu, pemrogram dapat menguji bagian kode pada baris perintah sebelum memasukkannya ke dalam program mereka. Tidak perlu untuk mengkompilasi atau menautkan.
  • Memberikan kemampuan untuk memprogram dengan relatif lebih cepat.
  • Secara sintaksis lebih sederhana daripada C/C++/Fortran. Oleh karena itu Python sangat mudah dibaca dan lebih mudah untuk di-debug.
  • Python hadir dengan berbagai modul standar atau dapat juga diinstal sebagai modul tambahan dalam proses instalasi Python. Modul-modul ini dapat melakukan berbagai tugas seperti membaca dan menulis berbagai file, komputasi ilmiah, visualisasi data, dll.
  • Program yang ditulis dengan Python dapat dijalankan di berbagai OS atau platform dengan sedikit atau tanpa perubahan.
  • Python adalah bahasa pemrograman dinamis. Oleh karena itu tipe data variabel tidak harus dideklarasikan sebelum digunakan, sehingga relatif memudahkan bagi seseorang dengan pengalaman pengkodean yang lebih sedikit.
  • Python memiliki komunitas pengembang dan pengguna yang berdedikasi sehingga bahasa pemrograman ini selalu diperbarui secara berkala dan berkesinambungan.

Meskipun Python memiliki banyak kelebihan yang menjadikannya salah satu bahasa interpretasi paling populer, Python memiliki beberapa kelemahan, diantaranya:

  • Karena fokusnya adalah pada kemampuan untuk memprogram lebih cepat, maka kecepatan eksekusinya menurun (Ingat konsep bahasa aras tinggi & bahasa aras rendah). Program Python mungkin 10 kali atau lebih lambat (misalnya) daripada program C yang setara, tetapi program (dengan Python) akan berisi baris kode lebih sedikit dan dapat diprogram untuk menangani banyak tipe data dengan relatif lebih mudah. Kelemahan dalam kode Python ini dapat diatasi dengan mengubah bagian kode yang intensif secara komputasi ke C/C++ atau dengan penggunaan struktur dan modul data yang sesuai.
  • Indentasi kode tidak opsional. Ini membuat kode dapat dibaca. Namun, kode dengan banyak loop dan konstruksi lainnya akan diindentasi ke kanan, sehingga relatif sulit untuk membaca kode (jika dibaca dalam perangkat dengan layar yang tidak proporsional).

B. Python Environments

Ada berbagai Python Environments (lingkungan Python) yang dapat dipilih. Beberapa sistem operasi seperti Mac, Linux, Unix, dll. memiliki penerjemah (interpreter) bawaan. Penerjemah dapat berisi semua modul, tetapi tidak selalu siap untuk digunakan dalam komputasi ilmiah. Pada umumnya akan ada distribusi khusus telah dibuat dan dijual ke komunitas ilmiah, yang dibuat sebelumnya dengan berbagai modul ilmiah Python. Saat menggunakan distribusi ini, pengguna tidak perlu menginstal modul ilmiah satu per satu. Jika modul tertentu yang dibutuhkan tidak tersedia dalam distribusi, maka modul tambahan dapat di-instal untuk melengkapi kebutuhan tersebut. Salah satu distro yang paling populer adalah Anaconda.

Anaconda Python Distribution memberi programmer hampir 100 modul Python ilmiah paling populer seperti komputasi ilmiah, aljabar linier, komputasi simbolis, pemrosesan gambar, pemrosesan sinyal, visualisasi, integrasi program C/C++ ke Python, dll. Ini didistribusikan dan dikelola oleh Continuum Analytics. Environment ini tersedia secara gratis untuk akademisi dan tersedia dalam bundling harga tertentu untuk paket tertentu lain. Selain berbagai modul yang dibangun ke dalam Anaconda, programmer dapat menginstal modul lain menggunakan manajer paket conda, tanpa mempengaruhi distribusi utama.

C. Statement Dasar Python

Pentingnya Indentasi pada Bahasa Python

Dalam Python, blok kode ditunjukkan dengan indentasi. Misalnya dalam kode di bawah ini, pertama-tama akan dicetak pesan, ‘computing squares of numbers between 0 and 9’, Kemudian mengulang nilai dalam rentang 0 hingga 9 dan menyimpannya dalam variabel ‘i’ dan juga mencetak kuadrat dari ‘i’. Pada akhir perulangan kemudian dicetak pesan, ‘Completed the task …’. Dalam bahasa lain, blok kode di bawah for-loop akan diidentifikasi dengan sepasang kurung kurawal { }. Namun, dalam bahasa pemrograman Python tidak menggunakan kurung kurawal. Blok kode diidentifikasi dengan memindahkan print (i*i) empat spasi ke kanan. Anda juga dapat memilih untuk menggunakan tab.

print('Computing squares of numbers between 0 and 9')
for i in range(10):
     print(i*i)
print('Completed the task ...')

Ada kerugian yang signifikan untuk indentasi terutama untuk programmer Python baru. Kode yang berisi banyak for-loop dan pernyataan if akan diindentasi lebih jauh ke kanan sehingga kode tidak dapat dibaca. Masalah ini dapat diatasi dengan mengurangi jumlah for-loop dan pernyataan if. Ini tidak hanya membuat kode dapat dibaca tetapi juga mengurangi waktu komputasi. Ini dapat dilakukan dengan menggunakan struktur data seperti list, dictionary, dan set dengan tepat.

Leave a Reply

Your email address will not be published. Required fields are marked *

Buy now