Apa itu Pseudocode?
Pseudocode adalah deskripsi rinci namun mudah dibaca tentang apa yang seharusnya dilakukan oleh sebuah program komputer atau algoritma. Ini ditulis dalam gaya formal namun mudah dipahami, menggunakan sintaksis dan pemformatan alami agar mudah dimengerti oleh programmer dan pihak lain yang terlibat dalam proses pengembangan. Pseudocode bukanlah bahasa pemrograman dan tidak dapat dikompilasi menjadi program yang dapat dijalankan. Sebagai gantinya, pseudocode berfungsi sebagai cetak biru untuk menerjemahkan logika kode ke dalam bahasa pemrograman yang sebenarnya.
Ketika pseudocode dimasukkan ke dalam proses pengembangan, desainer, pemrogram utama, dan pemain kunci lainnya dapat menggunakan kode ini untuk merancang, berkolaborasi, dan mengevaluasi logika di balik program atau algoritma tersebut. Pseudocode juga memberikan programmer template rinci untuk menulis kode dalam bahasa pemrograman tertentu.
Karena pseudocode ditulis dalam format yang dapat dibaca, ia dapat diperiksa oleh tim desainer dan programmer sebagai cara untuk memastikan bahwa pemrograman yang sebenarnya akan sesuai dengan spesifikasi desain. Menangkap kesalahan pada tahap pseudocode lebih murah dibandingkan menangkapnya di tahap pengembangan selanjutnya. Setelah pseudocode disetujui, ia dapat diterjemahkan ke dalam kosakata dan sintaksis bahasa pemrograman. Dalam beberapa kasus, pseudocode yang sama dapat diubah menjadi beberapa bahasa pemrograman.
Bahasa | Keuntungan | Kekurangan |
---|---|---|
Golang |
|
|
Python |
|
|
Ruby |
|
|
Scala |
|
|
C/C++ |
|
|
Baik pseudocode ditulis secara formal, informal, atau di antara keduanya, pseudocode dapat digunakan sebagai template bagi programmer untuk membangun program komputer dalam bahasa pemrograman yang sesungguhnya.
Bagaimana cara menulis pseudocode?
Tidak ada satu pendekatan untuk menulis pseudocode, dan tidak ada satu set aturan atau standar yang disepakati untuk cara membuat pseudocode. Pseudocode bisa sangat bervariasi antara satu sumber dengan yang lain, berbeda dalam struktur dan sintaksisnya. Pseudocode dimaksudkan hanya sebagai alat untuk membantu mempercepat proses pengembangan, dan dengan demikian, seharusnya membuat upaya itu lebih mudah dan lebih efisien. Pseudocode tidak boleh menambah lapisan kompleksitas dalam proses tersebut.
Beberapa pseudocode sangat formal, dengan pemformatan dan sintaksis yang tepat, terlihat sangat mirip dengan bahasa pemrograman yang sesungguhnya. Pseudocode lainnya lebih mirip dengan prosa standar, hanya menggambarkan apa yang seharusnya terjadi satu pernyataan pada satu waktu. Sebagian besar berada di antara kedua pendekatan ini, dengan orang-orang menggunakan pendekatan apapun yang bekerja untuk situasi mereka saat ini. Dalam beberapa kasus, sebuah organisasi akan mengadopsi standar pseudocode mereka sendiri untuk usaha pengembangan internal.
Prasyarat utama untuk pseudocode adalah bahwa itu dapat dipahami oleh orang-orang yang perlu memahaminya, terlepas dari struktur atau sintaksis kode tersebut. Sebagai contoh, pseudocode berikut menggambarkan skrip sederhana yang nantinya akan diterjemahkan ke dalam Python:
This script will retrieve a list of subdirectories from the target directory and list the number of items in each subdirectory.SET target = target directory SET dir_list as empty listFOR each item in target SET full_path = target + item IF full_path is directory SET size = number of children in full_path IF size = 0 APPEND full_list with "<item> contains no items." ELSE IF size = 1 APPEND full_list with "<item>: <size> item." ELSE APPEND full_list with "<item>: <size> items." ENDIF ENDIF ENDFORSORT full_list PRINT full_list with line breaks
Pseudocode dimulai dengan sebuah pernyataan pengantar singkat yang menggambarkan tujuan skrip. Tidak semua orang menyertakan pernyataan pengantar, tetapi itu bisa berguna untuk menjelaskan apa yang dilakukan kode agar lebih mudah dan cepat dipahami. Pernyataan ini diikuti dengan pseudocode itu sendiri, yang menggambarkan logika skrip, dengan menggunakan konvensi-konvensi berikut:
- Pseudocode menggunakan bahasa biasa yang dipadukan dengan kata kunci yang menyampaikan konstruksi tertentu, seperti pernyataan iterasi FOR atau pernyataan kondisional IF…ELSE.
- Setiap pernyataan baru dan elemen pernyataan dimulai pada baris baru.
- Kata kunci yang memperkenalkan konstruksi tertentu ditulis dengan huruf kapital, seperti SET, FOR, IF, SORT, dan PRINT.
- Blok kode seperti pernyataan kondisional (misalnya, pernyataan IF…ELSE) atau pernyataan iterasi (misalnya, pernyataan FOR) ditutup dengan kata kunci “END”, seperti ENDFOR dan ENDIF.
- Elemen-elemen dalam blok kode diindentasi sesuai dengan alur logika. Misalnya, sebuah blok kode yang terbenam ke dalam blok kode luar akan diindentasi, begitu pula elemen-elemen dalam blok kode yang terbenam.
- Sintaks dan pemformatan konsisten di seluruh kode, seperti menggunakan SET untuk semua penugasan variabel.
Pseudocode yang ditunjukkan di sini hanyalah salah satu contoh dari berbagai cara struktur pseudocode bisa disusun. Tim pengembangan mengambil banyak pendekatan berbeda, seperti tidak menggunakan huruf kapital untuk kata kunci atau tidak menyertakan kata kunci “END”. Terlepas dari konvensi yang digunakan, kode harus cukup spesifik agar logikanya jelas dari awal hingga akhir. Siapa pun yang meninjau pseudocode atau membangun program dari itu harus dapat sepenuhnya memahami apa yang coba dicapai oleh setiap pernyataan.
Setelah pseudocode diselesaikan, seorang programmer kemudian dapat mengembangkan kode yang sesungguhnya dalam bahasa pemrograman. Sebagai contoh, contoh pseudocode sebelumnya dapat dengan mudah diterjemahkan ke dalam skrip Python berikut:
# import the os module import os# set target directory and directory list target="/users/abcd/documents/testdata/" dir_list = []# loop through items in target directory for item in os.listdir(target): # set the full path for current item full_path = os.path.join(target, item) # include only subdirectories if os.path.isdir(full_path): # set the number of items in current subdirectory size = len(os.listdir(full_path)) # append info about each subdirectory to dir_list if size == 0: dir_list.append(item + ' contains no items.') elif size == 1: dir_list.append(item + ' contains 1 item.') else: dir_list.append(item + ' contains ' + str(size) + ' items.')# sort dir_list dir_list.sort()# print each item in dir_list on separate line print(*dir_list, sep='\n')
Jika Anda membandingkan skrip Python dengan pseudocode, Anda dapat melihat bahwa setiap pernyataan Python sesuai dengan instruksi pseudocode. Skrip tersebut melakukan iterasi melalui item-item dalam direktori target dan kemudian mencantumkan setiap subfolder dalam direktori tersebut, bersama dengan jumlah item anak dalam subfolder tersebut.
Memang memungkinkan untuk menulis sebuah program yang akan mengonversi pseudocode menjadi bahasa pemrograman. Namun, sintaks pseudocode harus cukup distandarisasi agar penerjemah dapat memahami semua pernyataan pseudocode setiap kali program tersebut digunakan.