Algoritma Pemrograman Python 1

Pengantar

Sebelum Mempelajari Bahasa Pemrograman Python, Umumnya anda harus mempelajari beberapa hal sebagai pengantar kedepannya agar mempermudah dalam mempelajari bahasa pemrograman Python.

Pendahuluan

Pendekatan yang digunakan di awal, siswa diajak untuk mengenali program-program kecil yang isinya adalah elemen pembangun program: ekspresi, assignment, kondisional dan loop. Pada kenyataannya, sebuah program mengandung campuran dari elemen pembangun tersebut. Siswa perlu meramu dan mengintegrasikan pengetahuan dengan “membongkar” sebuah program contoh dan mengambil elemennya untuk diadaptasi kemudian mengkonstruksi kembali sebuah program utuh untuk menyelesaikan persoalan yang dihadapinya.

Ini adalah hakekat dari Computational Thinking (Berpikir secara Komputasi). Dekomposisi persoalan dilakukan dengan memecah program menjadi bagian kecil elemen sintaktikal, untuk membentuk solusi yang utuh. Pattern (pola) diharapkan dapat terbentuk mulai dari elemen dasar sintaktikal yang dipelajari melalui program kecil, menuju pola solusi untuk jenis-jenis persoalan pembangun persoalan lebih besar. Dengan dasar pemikiran dan pendekatan tersebut, Memulai Pemrograman Dasar dengan Bahasa Python ini terdiri atas beberapa modul.

  • Pendahuluan: Memperkenalkan sejarah Python, contoh aplikasi, dan istilah-istilah yang dipakai. Juga dibahas IDE yang disarankan.
  • Program Kecil dalam Bahasa Python: Mengenalkan bahasa Python dengan program terkecil yaitu Halo Dunia.
  • Inisialisasi dan Assignment: Mengenalkan apa itu variabel dan tipe dasar yang ada, seperti integer (bilangan bulat), bilangan riil (bilangan pecahan), dan karakter/string (huruf). Serta memahami dua cara yang dapat dilakukan untuk mengisi nilai dari sebuah variabel, yakni inisialisasi dan assignment.
  • Konstanta: Mengenalkan arti konstanta, yakni variabel yang tidak dapat diubah. Serta Mengenalkan perbedaan antara konstanta dengan variabel.
  • Baca-Tulis: Mengajarkan bagaimana memasukkan suatu nilai ke variabel.
  • Operasi Sederhana dengan Komputer: Mengajarkan operasi-operasi yang ada di dalam Python, seperti aritmatika, boolean, perbandingan, dll.
  • Instruksi Kondisional: Mengenalkan instruksi kondisional agar program dapat berjalan sesuai alur yang ditetapkan.
  • Instruksi Perulangan: Mengenalkan instruksi perulangan agar program dapat mengulangi instruksi secara berulang, seperti for, while-do, do-while, dan for.
  • Array-Tabel: Mengenalkan array untuk menyimpan banyak nilai dalam suatu bentuk matriks.
  • Subprogram: Mengenalkan subprogram fungsi dan prosedur, yaitu sebuah abstraksi suatu proses komputasi yang dapat dipanggil oleh sebuah program.
  • Penutup: Menguji pemahaman mengenai bahasa pemrograman Python melalui 5 latihan untuk memperdalam konsep pemrograman Python dalam sebuah program sederhana, seperti operasi komputasi, instruksi kondisional, instruksi perulangan, tabel atau array, serta fungsi dan prosedur.

Pembelajaran Algoritma pemrograman akan lebih banyak melakukan praktik dengan komposisi persentase kelas sebagai berikut, 20% Materi & Teori dan 80% merupakan praktik. Sehingga waktu untuk menulis kode lebih banyak daripada teori atau materi.

Pengenalan Python

Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van Rossum. Python banyak digunakan untuk membuat berbagai macam program, seperti: program CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, AI, Machine Learning, Game, Program untuk Hacking, dan sebagainya.

Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena struktur sintaksnya rapih dan mudah dipahami.

Beberapa fitur yang dimiliki Python adalah:

  • Memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modul-modul ‘siap pakai’ untuk berbagai keperluan.
  • Memiliki tata bahasa yang jernih dan mudah dipelajari.
  • Memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber.
  • Berorientasi objek.

Pengantar Dasar Algoritma Pemrograman

Untuk memulai memahami algoritma pemrograman serta menulis sebuah kode program, kita perlu memahami dasar sebagai pengantar agar kedepannya kita dapat dengan mudah mempelajari dan mengikuti materi yang ada.

  1. Cara Menulis dan Membaca
    Dalam menulis program, hal pertama yang perlu diperhatikan ialah cara membaca dan menulis kode program. Sama seperti kita membaca dan menulis pada umumnya. Dalam membaca dan menulis kode program, konsep yang digunakan ialah konsep membaca dan menulis dari atas menuju kebawah. Terkadang hal tersebut disepelekan dan justru berakibat fatal dalam menulis kode program, karena akan mengakibatkan error pada program. Hal itu disebabkan oleh urutan program yang tidak sesuai dalam mengikuti kaidah/konsep penulisan dari atas kebawah. Komputer akan membaca kode program kita secara berurutan dari atas hingga kebawah sehingga jika cara menulisnya tidak berurutan dan tidak beraturan akan mengakibatkan error yang fatal. Hal yang sederhana namun terbilang sangat penting. Itulah sebabnya diperlukan pemahaman dasar dalam menulis kode program.

  2. Pentingnya Dokumentasi
    Dalam mempelajari bahasa pemrograman kita perlu membaca dokumentasi resmi agar meminimalisir kesalahan serta error yang terjadi nantinya. Setiap bahasa pemrograman pasti memiliki standar berbeda-beda dalam penulisannya, oleh sebab itu dokumentasi sangat wajib, penting serta perlu dibaca. Anda bisa mencari dokumentasi resmi setiap bahasa pemrograman yang Anda pelajari di internet.

  3. Indentasi & Blok Program
    Indentasi merupakan memulai teks dengan spasi kosong di antara teks dan margin. Tab digunakan sebagai indentasi, dan jumlah karakter dalam tab adalah 4 karakter spasi. Biasanya indentasi akan digunakan di dalam blok program. Terkadang beberapa programmer di seluruh dunia menggunakan indentasi yang berbeda-beda menyesuaikan dari setiap standar proyeknya. Biasanya dalam proyek individual sering ditemui programmer yang menggunakan indentasi dengan 2 karakter spasi. dan dalam beberapa kasus seperti proyek pembuatan kernel linux yang diinisiasi oleh Linus Torvalds menggunakan standar indentasi dengan 8 karakter dengan tujuan untuk mempermudah keterbacaan blok kode program. Dan untuk yang paling umum serta paling banyak digunakan ialah indentasi dengan 4 karakter spasi dengan menyesuaikan jumlah karakter dalam tab.

    Dalam bahasa pemrograman blok program ialah sebuah pendekatan pemrograman yang memungkinkan pengguna untuk membuat program dengan menyusun balok-balok kode yang saling berhubungan. Blok program dalam bahasa pemrograman umumnya diawali dengan tanda buka kurung kurawal “{“ serta diakhiri dengan tutup kurung kurawal “}”. Dalam beberapa kasus bahasa pemrograman lain seperti Python, kurung kurawal tidak merepresentasikan/mewakilkan keadaan blok program, tetapi menggunakan simbol lain seperti “:”.

    Untuk mendeklarasikan blok program (dari { ke } ) adalah seperti yang ditunjukkan dalam contoh berikut, dan sintaksnya dijelaskan setelah indentasi “{“ “}”.
    C/C++:

    for ( i = 0; i < MSG_MAX; i++ )
    { //Memasuki Blok Program
    [Tab]<Code>
    [Tab]<Code>
    } //Mengakhiri Blok Program
    

    Python:

    for i in range (5): #Memasuki Blok Program
    [Tab]<Code> #Didalam Blok Program
    [Tab]<Code> #Didalam Blok Program
     #Mengakhiri Blok Program
       
    <Code> #Diluar Blok Program
    

    Berikut ini contoh blok program yang terdapat didalam blok program (blok program bersarang):
    C/C++:

    bool fs_tf_analizeFileUpCommand( char *cmd, int size )
    { //Memasuki Blok Program 1
    [Tab]int i;
    [Tab]for ( i = 0; i < size; i++ )
    [Tab]{ //Memasuki Blok Program 2
    [Tab][Tab]<Code>
    [Tab][Tab]<Code>
    [Tab]} //Mengakhiri Blok Program 2
    [Tab]return OK_CMD;
    } //Mengakhiri Blok Program 1
    

    Python:

    def fs_tf_analizeFileUpCommand( int cmd, int size ): #Memasuki Blok Program 1
    [Tab]for i in range (5): #Memasuki Blok Program 2
    [Tab][Tab]<Code> #Didalam Blok Program 2
    [Tab][Tab]<Code> #Didalam Blok Program 2
    [Tab] #Mengakhiri Blok Program 2
    [Tab]return OK_CMD #Didalam Blok Program 1
     #Mengakhiri Blok Program 1
       
    <Code> #Diluar Blok Program
    
  4. Komentar
    Dalam menulis kode program, terkadang kita perlu menambahkan komentar dalam beberapa bagian tertentu sebagai keterangan. Mengapa demikian? Coba pikirkan jika Anda bekerja dalam tim dan tim Anda mengerjakan program yang cukup rumit dan kompleks tetapi Anda justru hanya menulis program tanpa adanya keterangan komentar. Bagaimana dengan teman tim Anda yang nantinya meneruskan pekerjaan Anda? Tentu saja akan menyulitkan tim Anda dalam meneruskan pekerjaan Anda nantinya. Itulah pentingnya sebuah komentar dalam menulis sebuah program. Komentar dalam bahasa pemrograman dapat dibuat hanya untuk sebaris atau lebih dari satu baris. Jika hanya sebaris, umumnya komentar dapat diawali dengan “//” tanpa ada akhiran. Tetapi jika Anda ingin memasukkan komentar lebih dari satu baris, umumnya komentar diawali dengan “/” dan diakhiri dengan “/”. Dalam bahasa pemrograman lain terkadang terdapat perbedaan, diantaranya python yang menggunakan awalan komentar “#” untuk komentar sebaris. Jadi jika Anda berniat mempelajari bahasa pemrograman lain harap baca kembali setiap dokumentasi bahasa pemrograman lain agar tidak salah menuliskan sintaksis komentar.

    Berikut Contoh penggunaan komentar:

    if( filePtr == null )
    { //Komentar Sebaris
       
        /* Komentar
        Lebih
        Dari
        Satu Baris */
       
        return ERR_CMD;
    }
    

    Note: Komentar sebaris “//” tidak dapat digunakan dalam Bahasa C, jadi untuk membuat komentar dalam bahasa C gunakan “/* */”. Komentar sebaris “//” masih dapat digunakan dalam bahasa pemrograman C++.

  5. Aturan Penamaan
    Dalam mempelajari bahasa pemrograman kita perlu memperhatikan dalam aturan penulisan nama variabel, fungsi, kelas, dsb. Aturan penamaan sebagian besar sama serta untuk mempermudah kita dalam membaca kode programnya nanti. Ada tiga hal penting yang perlu diperhatikan dalam aturan penamaan:
    • Beri penamaan yang dapat membedakan setiap jenis tipe data.
    • Gunakan katakunci tipe data sebagai parameter penamaan untuk mengetahui isi tipe data setelah sebuah variabel/fungsi/kelas dideklarasikan, selain itu akan meminimalisir terjadinya kesalahan.
    • Beri penamaan yang mudah dikenali dan dipahami (jangan gunakan singkatan yang hanya diketahui oleh Anda dan Tuhan Anda seperti x = 5).

    Ada hal penting lain yang harus Anda ketahui saat membuat nama:

    • Gunakan aturan penamaan ini sebagai acuan umum dan bila perlu sesuaikan aturan penamaan dengan bahasa pemrograman yang Anda gunakan, karena setiap bahasa pemrograman juga memiliki aturan penamaan yang berbeda (Baca Dokumentasi Resmi!).
    • Jangan menuliskan nama yang sama dengan kata kunci (if, else, for, while, dll), karena akan menimbulkan error dan tidak dapat dibaca oleh suatu program.
    • Hindari penggunaan inisial seperti penggunaan satu huruf saja pada penamaan variabel/fungsi/kelas pada program yang rumit, karena akan membingungkan dan sulit dibedakan.
    • Jangan mengawali nama variabel/fungsi/kelas dengan angka, karena ini akan membuat kompiler membacanya sebagai nilai, bukan variabel/fungsi/kelas. Oleh karena itu, jika variabel/fungsi/kelas kita memerlukan angka di dalamnya, maka angka tersebut tidak boleh diletakkan di awal.
    • Hindari memberi nama variabel/fungsi/kelas dengan istilah umum seperti “data”. Menamakannya “data” tidak menjelaskan apa pun. Namanya akan membuat Anda bingung ketika melakukan pemeliharaan kode ataupun membuat fitur baru nantinya. Sebagai gantinya, gunakan nama yang menggambarkan nilai variabel/fungsi/kelas itu sendiri.
    • Variabel dalam Bahasa Pemrograman seperti JavaScript dan lain-lain hanya boleh diawali dengan huruf atau garis bawah. Anda tidak dapat membuat variabel dengan awalan angka atau menggunakan simbol selain garis bawah.
    • Nama variabel/fungsi/kelas tidak boleh mengandung spasi. Jika nama variabel/fungsi/kelas lebih dari dua kata, maka gunakan format camelCase seperti ini: NamaDepan, NamaBelakang, NamaKucing atau Anda bisa menggunakan underscore “_” sebagai pengganti spasi jika tidak ingin menggunakan metode camelCase seperti: Nama_Depan, Nama_Belakang.
    • Nama variabel/fungsi/kelas tidak boleh mengandung karakter khusus (!,/,+,*,= dan lain-lain).
    • Hindari kebiasaan membuat nama/menamai variabel/fungsi/kelas menggunakan huruf kapital semua seperti: NAMA, TEMPAT, NYAWA, dsb. Umumnya nama variabel dengan huruf kapital seperti pada contoh tadi digunakan untuk membuat variabel yang bersifat constant/mutlak (nilai yang tidak dapat diubah).

    Berikut beberapa aturan untuk membuat fungsi/kelas:

    • Hindari membuat banyak parameter dalam sebuah fungsi jika tidak diperlukan. Karena jika argumen terlalu banyak maka akan sulit untuk diuji atau digunakan. Jika diperlukan lebih dari tiga argumen fungsi maka dapat dikonsolidasikan/didiskusikan dengan tim Anda. Daripada membuat banyak parameter fungsi, manfaatkan objek sebagai parameter.
    • Jadikan sebuah fungsi hanya melakukan satu hal, karena jika fungsi yang kita buat melakukan banyak hal, maka fungsi tersebut akan sulit untuk dikompilasi dan diuji. Fungsi yang melakukan banyak hal juga tidak memiliki tujuan yang jelas. Saat membuat fungsi yang melakukan lebih dari satu hal, cobalah memecahnya. Hingga setiap fungsi benar-benar melakukan satu hal. Tentu saja, ini juga membuat kode dalam fungsi menjadi lebih bersih dan mudah dibaca.
    • Nama fungsi harus mewakili tujuannya. kita juga perlu memperhatikan penamaan fungsinya. Pastikan nama yang diberikan mewakili maksud atau tugas fungsi tersebut. Hal ini juga dapat membantu pengembang/Programmer lain dengan mudah mengetahui tujuan dari fungsi yang Anda buat.
    • Buat fungsi untuk menghindari duplikasi kode. Jika Anda merasa sering menulis kode yang berulang-ulang. Anda harus memperhatikan kodenya. Karena kode berulang adalah kandidat kuat untuk membuat sebuah fungsi. Tujuannya tak lain agar kode tersebut bisa digunakan kembali, hanya dengan memanggil fungsinya saja.
  6. Running Program
    Untuk menjalankan kode program kita perlu mencari tahu terlebih dahulu apakah bahasa pemrograman yang kita pelajari tersebut dijalankan menggunakan metode compiler atau interpreter.
    • Compiler: Compiler menerjemahkan kode dari bahasa pemrograman tingkat tinggi ke dalam kode mesin sebelum program dijalankan. Compiler akan membaca keseluruhan file dan akan menjalankan keseluruhannya serta mengeluarkan hasilnya (Berjalan dengan baik atau menghasilkan error) meskipun terdapat code yang error didalam code programnya. Contoh Bahasa Pemrograman yang menggunakan compiler ialah C/C++, dan Java.
    • Interpreter: Interpreter menerjemahkan kode yang ditulis dalam bahasa pemrograman tingkat tinggi ke dalam kode mesin baris demi baris saat kode dijalankan. Interpreter akan membaca baris perbaris lalu jika terjadi error program akan langsung berhenti tepat di baris yang mengalami error tersebut. Contoh bahasa pemrograman yang menggunakan interpreter ialah Python.
  7. Type of Error
    Belum lengkap kalo tidak membahas error dalam algoritma pemrograman. Error merupakan sebuah kesalahan yang terjadi dalam penulisan kode program. Umumnya error terdapat banyak macam jenisnya tergantung setiap masing-masing bahasa pemrograman. Berikut ini beberapa tipe error yang berkemungkinan akan terjadi kedepannya ketika mempelajari bahasa pemrograman:
    • Logical error atau kesalahan logika merupakan error yang paling sulit untuk dideteksi. Hal itu disebabkan error yang satu ini terjadi bukan karena adanya kesalahan penulisan atau kesalahan pada proses runtime. Namun, juga karena adanya kesalahan dari programmer dalam menuliskan algoritma pada program. Saat logikanya salah, pasti output yang dihasilkan juga akan ikut salah. Kemudian untuk mendeteksinya cukup sulit dan memakan waktu. Sebagian besar dari logical error terjadi karena adanya kesalahan dalam perhitungan atau menggunakan variabel yang salah. Saat terjadi logical error biasanya tidak akan membuat program berhenti secara total. Pasalnya, program akan tetap bisa berjalan normal, tapi tidak bisa berfungsi seperti yang diharapkan.
    • Selain logical error, salah satu jenis error pada programming yang paling sering terjadi adalah syntax errors atau kesalahan tata bahasa. Jenis error yang satu ini disebut paling banyak terjadi dalam programming. Meski begitu, mendeteksinya ternyata cukup mudah dan tidak serumit seperti logical error. Syntax error bisa terjadi saat ada kesalahan ejaan pada salah satu kata kunci atau saat ada kesalahan dengan struktur kodenya. Ketika terjadi syntax error maka kode tidak akan berjalan dengan normal karena komputer tidak dapat memahaminya. Untuk memperbaiki jenis error yang satu ini hanya membutuhkan ketelitian untuk mencari adanya kesalahan penulisannya.
    • Runtime error adalah kesalahan yang terjadi saat sedang menjalankan suatu program. Ada beberapa penyebab terjadinya jenis error yang satu ini. Misalnya, kesalahan dalam proses input, kesalahan perhitungan, dan proses output. Saat terjadi runtime error, potensi terjadinya crash pada program menjadi cukup besar. Jika ingin memperbaiki jenis error yang satu ini, programmer mau tidak mau harus kembali lagi ke fase pengembangan/development untuk mencari kesalahannya.
    • Compilation error terjadi saat proses di mana program yang ditulis dalam bahasa tingkat tinggi dikonversi ke bentuk yang dapat dibaca oleh mesin. Dalam proses tersebut dapat muncul beberapa jenis error seperti syntax error. Bahkan, terkadang meskipun kode syntax sudah benar, tapi compilation error masih bisa tetap terjadi. Hal itu dikarenakan adanya masalah di compiler itu sendiri. Namun, jangan khawatir karena jenis error ini bisa diperbaiki pada fase development.
    • Interfacing error kemungkinan besar dapat terjadi karena adanya ketidaksesuaian program software dengan interface perangkat keras yang digunakan. Sementara itu, pada kasus aplikasi web biasanya terjadi karena penggunaan protokol web yang salah.
    • Arithmetic error adalah salah satu jenis error pada programming yang tergolong logical error. Namun, kesalahan ini melibatkan perhitungan matematika, bukan pada penulisan bahasa pemrograman. Hal ini umumnya terjadi karena komputer tidak bisa mengerjakan perhitungan yang dimasukkan oleh si programmer. Sebagai contoh, ketika kamu meminta komputer untuk melakukan pembagian dengan angka 0 (nol). Karena tidak bisa dilakukan secara matematis, hal tersebut dapat menyebabkan error yang mencegah program untuk berjalan semestinya. Untuk mengatasinya, kamu bisa melakukan hal-hal seperti:
      • Memahami operasi matematika dasar.
      • Menghindari kesalahan dalam menggunakan tanda kurung atau urutan operasi.
      • Menggunakan angka negatif dalam melakukan perhitungan.
      • Menggunakan metode error handling seperti try, catch, except, dsb
    • Resource error adalah jenis error pada programming ketika nilai variabel yang kamu masukkan terlalu besar sehingga membuatnya melebihi batas maksimal pemrograman. Sebuah program akan menggunakan sejumlah sumber daya yang disediakan komputer untuk membuatnya bisa berjalan. Ketika program membutuhkan sumber daya lebih banyak dari yang bisa disediakan komputer, hal ini akan menyebabkan resource error. Untuk mengatasinya, kamu bisa menggunakan aplikasi load-testing untuk mengetahui apa yang akan terjadi ketika kamu menjalankan program yang sama secara bersamaan.
    • Semantic error adalah jenis error pada programming yang serupa dengan logical error. Meski begitu, perbedaannya adalah logical error menghasilkan data yang salah. Sementara, semantic error menghasilkan suatu hal yang tidak memiliki makna sama sekali.

    Terjadinya kesalahan atau error di atas sebenarnya bisa dihindari jika kamu lebih teliti dan melakukan perencanaan yang baik saat di tahap menulis code program.

Diagram Alur & Pseudocode

Diagram Alur dan Pseudocode merupakan sebuah dasar untuk mempelajari algoritma dan pemrograman dasar sebelum menulis sebuah kode. Umumnya untuk mengetahui sebuah alur program, kita perlu memahami gambaran bagaimana alur program itu berjalan. Untuk mempermudah maka anda dapat menggambarkannya menggunakan diagram alur. cara lainnya selain menggambar diagram alur ialah dengan menulis sebuah pseudocode atau sebuah kalimat yang mewakilkan kode program yang akan kamu tulis nanti. sebagai contoh:

Pseudocode:

CETAK nama saya

CETAK asal saya

CETAK pekerjaan saya

Python Code:

print("Zulma")

print("Bintaro")

print("Software Quality Assurance")

First Program

Bagaimana? cukup mudah bukan, sekarang coba ubah pseudocode dibawah ini menjadi sebuah program yang ditulis dalam bahasa Pemrograman Python

CETAK nama kamu

CETAK asal kamu

CETAK pekerjaanmu

CETAK negara asalmu

CETAK hal yang kamu suka
Written by

Azhar Rizki Zulma

I'm a Information System, Independent Developer, Publisher, Mountainer, Nature Lovers, Musician, Producer, and Blogger.