Pseudocode atau Kode Semu pada Algoritma - AP


Tujua Pembelajaran

Siswa mampu a) Memahami proses pemrograman dengan menggunakan bahasa pemrograman, b) Siswa mampu membaca dan menulis algoritma dengan notasi yang benar.

Pseudocode

Pseudocode (kode semu atau kode pseudo) adalah suatu bahasa buatan manusia yang sifatnya informal untuk merepresentasikan algoritma. Pseudocode dibuat untuk menutupi kekurangan diagram alir dalam merepresentasikan konsepkonsep pemrograman terstruktur. Pseudocode memungkinkan representasi langkah-langkah yang lebih detail dan dekat dengan bahasa pemrograman. 

Karena sifatnya yang informal, tidak ada aturan khusus dalam standar notasi yang dapat digunakan. Akan tetapi, ada beberapa prinsip dasar yang perlu diperhatikan, yaitu satu baris untuk satu pernyataan (statement) dan pentingnya indentasi dalam menuliskan pernyataan. 

Indentasi ada untuk hierarki dari pernyataan. Misalnya, untuk menunjukkan bahwa suatu pernyataan merupakan bagian dari sebuah struktur kontrol keputusan atau struktur kontrol perulangan (lihat konsep blok pada pemrograman visual yang telah kalian pelajari di tingkat SMP). 

$ads={1}

Pseudocode bukan bahasa pemrograman yang sebenarnya. Jadi Pseudocode tidak dapat dikompilasi menjadi program yang dapat dieksekusi. Menggunakan istilah pendek atau sintaks bahasa Inggris sederhana untuk menulis kode untuk program sebelum benar-benar dikonversi ke bahasa pemrograman tertentu.

Pseudocode dilakukan untuk mengidentifikasi kesalahan aliran level atas, dan memahami aliran data pemrograman yang akan digunakan oleh program akhir. Pseudocode jelas membantu menghemat waktu selama pemrograman aktual karena kesalahan konseptual telah diperbaiki.

Pertama, deskripsi dan fungsionalitas program dikumpulkan dan kemudian Pseudocode digunakan untuk membuat pernyataan untuk mencapai hasil yang diperlukan untuk suatu program. Pseudocode terperinci diperiksa dan diverifikasi oleh tim atau pemrogram perancang untuk mencocokkan spesifikasi desain.

Menemukan kesalahan atau aliran program yang salah pada tahap pseudocode bermanfaat untuk pengembangan karena lebih efisien daripada menemukan kesalahan setelah proses koding. Setelah pseudocode diterima oleh tim, kode tersebut ditulis ulang menggunakan kosakata dan sintaksis bahasa pemrograman.

Tujuan menggunakan pseudocode adalah prinsip kunci yang efisien dari suatu algoritma. Pseudocode digunakan dalam perencanaan algoritma dengan membuat sketsa struktur program sebelum pengkodean yang sebenarnya terjadi. 

Siapa Yang Dapat Menulis Pseudocode?

Semua orang dapat menulis Pseudocode, bahkan tanpa keterampilan coding. Namun, itu membutuhkan proses pemikiran terperinci dan pemahaman lengkap tentang tugas tersebut. Pikirkan tentang bagaimana Anda melakukan tugas-tugas sederhana seperti mengemudi ke taman.

Jika Anda menulis "masuk mobil, pergi parkir, berhenti," Pseudocode  Anda tidak lengkap. Pseudocode harus menjelaskan setiap tindakan dan keputusan. Misalnya, Anda harus menjelaskan mobil mana yang akan dikendarai, bagaimana Anda sampai ke garasi dan masuk ke kendaraan, dan langkah-langkah spesifik untuk memulai mobil dan mengoperasikan kendaraan.

Selain itu, pseudocode harus menentukan apakah Anda mengemudi maju atau mundur dari jalan masuk Anda dan menggambarkan jarak, mulai, berhenti, dan belok. Setelah tiba, Pseudocode menunjukkan tempat parkir. Setiap langkah harus dituliskan dalam Pseudocode.

Kelebihan pseudocode dan kekurangan pseudocode

Keuntungan dan manfaat pseudocode:

Pemrograman dapat menjadi proses yang kompleks ketika persyaratan program bersifat kompleks. Pseudocode menyediakan metode sederhana untuk mengembangkan logika program karena menggunakan setiap bahasa untuk menyiapkan serangkaian instruksi singkat sesuai urutan kemunculannya.

Dalam program yang lengkap Pseudocode memungkinkan programmer programmer untuk fokus pada langkah-langkah yang diperlukan untuk menyelesaikan masalah daripada pada bagaimana menggunakan bahasa komputer.

Beberapa manfaat paling signifikan dari Pseudocode adalah:

  1. Karena ini adalah bahasa yang independen, Pseudocode dapat digunakan oleh sebagian besar programmer sehingga memungkinkan pengembang untuk mengekspresikan desain dalam bahasa yang sederhana dan alami.
  2. Lebih mudah untuk mengembangkan program dari Pseudocode dibandingkan dengan diagram alur. Programmer tidak harus memikirkan sintaks, kita hanya harus berkonsentrasi pada logika garis bawah. Fokusnya adalah pada langkah-langkah untuk memecahkan masalah daripada bagaimana menggunakan bahasa komputer.
  3. Seringkali mudah untuk menerjemahkan pseudocode ke dalam bahasa pemrograman.
  4. Penggunaan kata-kata dan frasa dalam Pseudocode, yang berada di garis operasi komputer dasar menyederhanakan terjemahan dari algoritma Pseudocode ke bahasa pemrograman tertentu.
  5. Tidak seperti bagan alur, Pseudocode menggunakan struktur sederhana dan mudah dibaca membuatnya lebih mudah untuk dimodifikasi.
  6. Pseudocode memungkinkan pemrogram untuk bekerja dalam berbagai bahasa komputer. Pseudocode dapat diperiksa lebih mudah oleh berbagai kelompok daripada kode yang sebenarnya.

Kekurangan / keterbatasan Pseudocode :

  1. Meskipun Pseudocode adalah mekanisme yang sangat sederhana untuk menentukan logika penyelesaian masalah, Pseudocode memiliki beberapa keterbatasan yang tercantum di bawah ini:
  2. Kerugian utama adalah tidak menyediakan representasi visual dari logika pemrograman.
  3. Tidak ada standar yang diterima untuk menulis Pseudocode. Pemrogram menggunakan gaya penulisan Pseudocode mereka sendiri .
  4. Pseudocode tidak dapat dikompilasi atau dieksekusi dan tidak ada formatif nyata dari sintaks aturan. Ini hanyalah satu langkah, yang penting, dalam menghasilkan kode akhir.

Poin-poin berikut harus diingat saat mempersiapkan Pseudocode:

  1. Pseudocode akan dilampirkan oleh START (atau BEGIN) dan STOP (atau END).
  2. Pseudocode harus ringkas sehingga abaikan detail yang tidak perlu.
  3. Untuk menerima data dari pengguna, pernyataan yang umum digunakan adalah INPUT, READ, GET, atau OBTAIN.
  4. Untuk menampilkan hasil atau pesan apa pun, pernyataan yang umum digunakan adalah PRINT, DISPLAY, atau WRITE.
  5. Kata kunci yang umum digunakan adalah huruf besar.

Struktur Pseudo code :

  1. Judul : Judul algoritma
  2. Deskripsi : Deklarasi sebuah variabel atau konstanta
  3. Implementasi : Isi dari pseudocode atau algoritma pseudocode

Notasi pseudocode

Tidak ada notasi standar untuk pseudocode, tetapi beberapa notasi yang paling umum adalah:

  1. INPUT : menunjukkan pengguna akan memasukkan sesuatu
  2. OUTPUT : menunjukkan bahwa output akan muncul di layar
  3. WHILE : sebuah loop (iterasi yang memiliki kondisi di awal)
  4. FOR : loop penghitungan (iterasi)
  5. REPEAT - NUTIL : sebuah loop (iterasi) yang memiliki kondisi di akhir
  6. IF- THEN- ELSE : keputusan (pilihan) di mana pilihan dibuat instruksi yang terjadi di dalam pilihan atau iterasi biasanya diindentasi

Cara menulis Pseudocode

  1. Atur urutan tugas dan tuliskan Pseudocode.
  2. Mulailah dengan pernyataan Pseudocode yang menetapkan tujuan utama atau tujuan akhir.
  3. Cara if-else, for, loops dimasukkan dalam suatu program, indent pernyataan juga, karena membantu untuk memahami kontrol keputusan dan mekanisme eksekusi. Mereka juga meningkatkan keterbacaan sebagian besar. 
  4. Gunakan konvensi penamaan yang tepat. Kecenderungan manusia mengikuti pendekatan untuk mengikuti apa yang kita lihat. Jika seorang programmer melewati Pseudocode, pendekatannya akan sama seperti itu, sehingga penamaannya harus sederhana dan berbeda.
  5. Gunakan kalimat yang sesuai, seperti CamelCase untuk metode, huruf besar untuk konstanta dan huruf kecil untuk variabel. 
  6. Rumuskan semua yang akan terjadi dalam kode aktual. Jangan buat abstrak Pseudocode.
  7. Gunakan struktur pemrograman standar seperti 'if-then', 'for', 'while', 'cases' seperti yang kita gunakan dalam pemrograman.
  8. Periksa apakah semua bagian dari Pseudocode sudah lengkap, terbatas dan jelas untuk dipahami.
  9. Jangan menulis Pseudocode dengan cara terprogram yang lengkap. Sangatlah penting untuk dipahami bahkan untuk orang awam atau klien, oleh karena itu jangan memasukkan terlalu banyak istilah teknis. 

Keempat diagram alir pada bagian sebelumnya dapat ditulis dalam bentuk pseudocode sebagai berikut. 

Pseudocode 1: Menghitung Luas Persegi

Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai sisi persegi.
2. Hitung luas dengan menguadratkan nilai sisinya.
3. Cetak luas.
Algoritma hitung luas persegi
BEGIN 
  NUMERIC sisi,luas 
  INPUT sisi 
  luas=sisi*sisi 
  OUTPUT luas 
END

Pseudocode 2: Menghitung Luas Permukaan Kubus

Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai sisi kubus.
2. Hitung luas (persegi) dari sisi kubus. Kalikan luas kubus dengan angka 6 (banyaknya jumlah persegi pada kubus) untuk mendapatkan luas permukaan.
3. Cetak luas_permukaan.
Algoritma hitung luas permukaan 
BEGIN 
  NUMERIC sisi,luas,luar_permukaan 
  INPUT sisi 
  CALL luas(sisi) 
  luas_permukaan=luas*6 
  OUTPUT luas_permukaan 
END

program luas persegi 
FUNCTION luas(number sisi) 
BEGIN 
  luas=sisi*sisi 
END

Pseudocode 3: Membagi Bilangan

Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai pembilang dan penyebut.
2. Jika penyebut bernilai 0, cetak tulisan "Penyebut tidak boleh nol".
3. Jika penyebut tidak bernilai nol, lakukan pembagian pembilang dengan penyebut dan simpan hasilnya.
4. Cetak hasil pembagian.
Algoritma Membagi Bilangan
BEGIN
  NUMERIC pembilang, penyebut
  INPUT pembilang
  INPUT penyebut
  IF (penyebut=0) THEN
    OUTPUT "penyebut tidak boleh nol"
  ELSE
    hasil=pembilang / penyebut
    OUTPUT "hasilnya : ", hasil
  ENDIF
END

Pseudocode 4: Menghitung Mundur dari N hingga 1

Deskripsi tingkat tinggi: Pseudocode:
1. Baca nilai N.
2. Selama N > 0, ulangi.
3. Cetak tulisan N.
4. Kurangi nilai N dengan 1.
Algoritma Menghitung Mundur dari N hingga 1
BEGIN
  NUMERIC N
  INPUT N
  WHILE (N>0)
    OUTPUT "hasil", N
    N=N-1
  WHILE END
END

Pseudocode 5: Mencari Bilangan Terbesar dari Suatu Himpunan Bilangan

Deskripsi tingkat tinggi: Pseudocode:
1. Jika himpunan bilangan kosong, maka tidak ada bilangan terbesar.
2. Jika himpunan bilangan tidak kosong, asumsikan bilangan pertama sebagai bilang terbesar saat ini.
3. Untuk setiap bilangan anggota himpunan: bandingkan bilangan tersebut dengan bilangan terbesar saat ini. Apabila bilangan tersebut lebih besar, maka bilangan tersebut akan menjadi bilangan terbesar saat ini.
4. Apabila langkah 3 telah dilakukan pada seluruh bilangan, bilangan terbesar saat ini akan menjadi bilangan terbesar di himpunan bilangan tersebut.
1. Menggunakan Perulangan WHILE dengan cara menginput bilangan satu per satu. 
Algoritma Mencari Bilangan Terbesar 
BEGIN 
  NUMERIC N,terbesar,bilangan 
  INPUT N 
  terbesar = 0 
  WHILE (N>0) 
    INPUT bilangan 
    IF (terbesar < bilangan) 
      terbesar = bilangan 
    ENDIF 
    N=N-1 
  WHILE END 
  OUTPUT "terbesar adalah : ",terbesar 
END 
========================================= 
2. Menggunakan Perulangan WHILE dengan cara menginput bilangan sekaligus. 
Algoritma Mencari Bilangan Terbesar
BEGIN
  ARRAYCHAR bil[1000]
  ARRAYINT angka[ ]
  NUMERIC n,terbesar,bilangan
  INPUT bil
  CHAR * pisah = split(bil,",")
  n = 0
  terbesar = 0
  WHILE (pisah != NULL)
    angka[n] = convert to int(pisah)
    bilangan = angka[n]
    pisah = split(NULL,",")
    IF (terbesar < bilangan)
      terbesar = bilangan
    ENDIF
    n=n+1
   WHILE END
  OUTPUT "terbesar : ",terbesar
END

 

Setelah selesai menyusun suatu algoritma, barulah suatu program dibuat dengan menggunakan bahasa pemrograman tertentu. Ada banyak bahasa yang dapat digunakan, misalnya bahasa C yang digunakan pada unit ini dan bahasa Python yang digunakan pada unit analisis data.

Lembar Kerja

Aktivitas AP-K10-02-U: Menulis Algoritma

Pada latihan ini, kalian diminta untuk menuliskan suatu algoritma berdasarkan deskripsi berikut. Deskripsi ini memuat narasi tingkat tinggi dari algoritma yang perlu kalian buat dalam bentuk diagram alir dan pseudocode. Setelah selesai, kalian dapat menunjukkan hasil pekerjaan kalian kepada teman kalian untuk ditelusuri.

Soal 1: Membayar Bakso (Tingkat Kesulitan: ** )

Buatlah sebuah diagram alir atau pseudocode dari proses berikut.

Sebuah mesin pembayaran otomatis dirancang untuk mampu menangani pembayaran pembelian bakso secara mandiri. Mesin ini mampu untuk memberikan kembalian dalam bentuk uang kertas atau uang logam. Mesin akan menerima dua buah masukan, yaitu total bayar dan jumlah uang yang dibayarkan oleh pelanggan. Apabila jumlah uang yang dibayarkan lebih besar atau sama dengan total bayar, mesin akan menghitung kembalian yang harus diberikan kepada pelanggan. Apabila terjadi sebaliknya, mesin akan menampilkan teks “Uang yang dibayarkan kurang”.

Setelah diagram alir selesai, kalian dapat menelusurinya dengan menggunakan kasus berikut.

Kasus Masukan Keluaran
1 Total Bayar: 10000
umlah Uang: 15000
5000
2 Total Bayar: 20000
Jumlah Uang: 10000
Uang yang dibayarkan kurang.

Soal 2: Hadiah Bakso Gratis (Tingkat Kesulitan: ***)

Kalian adalah pengusaha bakso yang sukses. Agar usaha bakso kalian bisa lebih berkembang, kalian berencana untuk menambah sentuhan teknologi sehingga beberapa proses dapat berjalan secara otomatis. Inovasi yang kalian pikirkan ialah menggunakan sistem poin untuk memberikan diskon pada pelanggan. Poin ini akan diberikan pada saat pelanggan membayar di mesin pembayaran yang akan kalian buat. Setiap membayar, pelanggan akan menerima poin senilai harga bakso yang ia beli. Apabila total poin mencapai 100.000, pelanggan akan menerima satu porsi bakso gratis.

Kalian lalu memikirkan suatu proses berikut: setelah memesan bakso, pelanggan dapat membayar dengan menggunakan ponsel miliknya. Kemudian, mesin tersebut menambahkan total pembayaran ke total poin yang saat ini dimiliki oleh pelanggan. Apabila total poin yang dimiliki pelanggan lebih besar dari 100.000, mesin akan mengeluarkan kalimat “Anda mendapatkan kupon bakso gratis” dan mengurangi total poin pelanggan dengan nilai 100.000. Setelah itu, mesin akan menampilkan total poin pelanggan saat ini.

Setelah diagram alir selesai, kalian dapat menelusurinya dengan menggunakan kasus berikut.

Kasus Masukan Keluaran
1 Total Pembayaran: 80000
Total Poin Pelanggan Saat Ini: 10000
Poin Anda saat ini: 90000
2 Total Pembayaran: 20000
Total Poin Pelanggan Saat Ini: 90000
Anda mendapatkan kupon bakso gratis!
Poin Anda saat ini: 10000

Apa Komentarmu?

Komentar yang dirasa merugikan situs ini akan dihapus. Terima kasih telah berkunjung

Lebih baru Lebih lama