Cara penulisan algoritma ada 3 yaitu

Algoritma berisi langkah-langkah penyelesaian masalah. Algoritma adalah independen terhadap bahasa pemrograman tertentu, artinya algoritma yang telah dibuat tidak boleh hanya dapat diterapkan pada bahasa pemrograman tertentu. Penulisan algoritma tidak terikat pada suatu aturan tertentu, tetapi harus jelas maksudnya untuk tiap langkah algoritmanya.

Penulisan Algoritma tidak dipengaruhi oleh sintaks bahasa apapun. Tidak ada aturan baku dalam menulis Algoritma. Yang penting mudah dibaca dan dipahami. Walaupun begitu, untuk menghindari kekeliruan, ketaatan terhadap notasi perlu diperhatikan. Untuk itu terdapat 3 cara yang digunakan dalam menuliskan Algoritma yaitu:

  1. Kalimat deskriptif
  2. Flowchart [Penulisan algoritma dengan menggunakan notasi grafis]
  3. Pseudocode [cara penulisan algoritma yang menyerupai bahasa pemrograman
    tingkat tinggi, hampir menyerupai bahasa pemrograman]**

KALIMAT DESKRIPTIF

Notasi penulisan algoritma dengan menggunakan bahasa deskriptif biasa juga disebut dengan notasi alami. Dilakukan dengan cara menuliskan instruksi-instuksi yang harus dilaksanakan dalam bentuk untaian kalimat deskriptif dengan menggunakan bahasa yang jelas. Dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat dimodifikasi dengan bahasa sehari-hari termasuk Bahasa Indonesia.

Karena tidak ada aturan baku dalam menuliskan algoritma dengan notasi deskriptif maka tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks algoritma tidak sama dengan teks program. Program adalah implementasi algoritma dalam notasi bahasa pemrograman tertentu. Namun, agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkoresponden dengan notasi bahasa pemrograman pada umumnya. Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi, bandingkan, dan lain-lain.

Notasi jenis ini cocok untuk algoritma yang pendek. Tapi untuk masalah algoritma yang panjang, notasi ini kurang efektif. Cara penulisan algoritma dengan notasi bahasa deskriptif paling mudah dibuat, namun demikian cara ini paling sulit untuk diterjemahkan ke dalam bahasa pemrograman. Pada dasarnya teks algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama yaitu:

a. Judul Algoritma [ Header ]

Merupakan bagian yang terdiri atas nama algoritma dan penjelasan [spesifikasi] tentang algoritma tersebut. Dibagian ini juga digunakan untuk menentukan apakah teks algoritma yang dibuat tersebut adalah program, prosedur, atau fungsi. Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.

Di bawah nama algoritma disertai dengan penjelasan singkat [intisari] tentang apa yang dilakukan oleh algoritma. Penjelasan dibawah nama algoritma sering dinamakan juga spesifikasi algoritma yang dituliskan dalam kurung kurawal [{}]. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.

b. Bagian Deklarasi

Di dalam algoritma, deklarasi atau kamus adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama variabel, nama konstanta, nama tipe, nama prosedur atau nama fungsi. Semua nama tersebut baru dapat digunakan di dalam algoritma jika telah didefinisikan terlebih dahulu didalam bagian deklarasi. Penulisan sekumpulan nama dalam bagian deklarasi sebaiknya dikelompokkan menurut jenisnya. Pendefinisian nama konstanta sekaligus memberikan nilai konstanta. Pendefinisian nama fungsi atau prosedur sekaligus dengan pendefinisian spesifikasi dan parameternya.

c. Bagian Deskripsi

Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi uraian langkah- langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah. Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Pada bagian deskripsi inilah letak tiga struktur algoritma tersebut.

Sumber :
//pradiptaagus.blogspot.co.id/2016/09/penulisan-algoritma.html [diakses pada tanggal 01 Oktober 2017]

Untuk melakukan proses simulasi dari proses yang masih menggunakan manual, diperlukan sebuah cara menuangkan solusi dalam bentuk sebuah tulisan. agar mudah dipahami dan mudah dibaca orang lain yang selanjutnya akan dituangkan kedalam sebuah aplikasi komputer maka dibutuhkanlah sebuah standar penulisan.

Kenapa solusi tersebut perlu dibaca oleh orang lain? mungkin kita berfikiran bahwa untuk memecahkan solusi pengihtungan 20+15 [sesuai contoh sebelumnya], itu mudah bagi kita untuk memahami tapi untuk orang lain belum tentu karena mungkin saja orang lain dapat menyelsaikan masalah tersebut dalam beberapa cara sehingga mungkin hasilnya akan sama tetapi caranya yang berbeda yang mengakibatkan tidak seragam, dan komputer juga pasti tidak akan dapat membaca dan menampilkan hasil secara langsung. maka perlu dituliskan langkah-langkah secara berurutan untuk menuliskan solusi dari permasalahan tersebut.

untuk mempermudah penulisan algoritma terdapat tiga jenis standar penulisan yaitu sebagai berikut :

  1. Natural Language
  2. Flowchart
  3. Notasi Pseudocode

berikut adalah pembahasan dari masing-masing cara penulisan algoritma tersebut :

Natural Language

penulisan algoritma menggunakan natural language terdapat tiga hal penting diantaranya adalah header,deklarasi dan badan algoritma.

Header

Header merupakan bagian awal algoritma dan sering dipakai sebagai tanda pengenal yang berisi judul algoritma, dalam penulisan alur pada logika program biasanya diawali dengan keyword program.

Deklarasi 

Deklarasi adalah bagian yang mendeklarasikan variabel dan konstanta yang akan digunakan dalam program.

Badan Algoritma

Badan algoritma adalah bagian pada setiap proses computing [perhitungan], penyeleksian dan perulangan dilakukan.

Contoh penulisan Algoritma

Contoh algoritma untuk menjumlahkan dua bilangan.Deklarasi A,B,hasil: integer [variabel-variabel tersebut bertipe integer/numerik]Algoritma1. berikan nilai pada variabel A dengan nilai 102. berikan nilai pada variabel B dengan nilai 133. jumlahkan variabel A dan variabel B kemudian simpan hasilnya pada variabel hasil4. cetak / tampilkan nilai variabel hasil5. selesai.

Keuntungan gaya penulian algoritma natural language diantaranya adalah :

  1. Strukturnya sederhana dan mudah dalam penulisan.
  2. Tidak memiliki standar khusus dalam penulisan sehingga mudah dalam mempelajarinya.
  3. Tidak memerlukan software khusus dalam prancangannya.

Kerugian gaya penulian algoritma natural language diantaranya adalah :

  1. Setiap programmer mempunyai gaya penulisan yang tidak sama sehingga sudut pandang atau cara membacanya juga kemugkinan berbeda. kesulitan tersebut muncul dikarenakan tidak adanya keseragaman dalam penulisan algoritma.
  2. Algoritma akan menjadi sangat panjang jika kasus yang diselesaikan cukup kompleks, sehingga kurang efisien.
  3. sukar mengonversinya kedalam bentuk kode pemrograman.

Gaya penulisan flowchart adalah model penulisan dengan menggunakan bentuk penyusunan bangun ruang flowchat disebut juga bagan alir.  flowchart merupakan bagian yang menunjukan aliran atau runtutan data yang terjadi dalam progarm secara logika. model ini lebih sering dipakai karena memiliki standar penggunaan yang sama, berikut adalah aturan penyusuana yang harus diikuti ketika menggunakan flowchart :

  1. Penyusunan simbol flowchart dimulai dari atas ke bawah dan dari kiri ke kanan pada suatu halaman.
  2. Setiap proses dalam  simbol harus dilengkapi dengan nama dan aktifitas yang jelas.
  3. Bagian awal harus dimulai dengan start/mulai dan diakhiri dengan simbol end/akhir.
  4. Setiap proses harus memiliki input dan menghasilkan output.
  5. pemberian nama proses simbol flowchart sebaikya menggunakan kata kerja pada suatu simbol seperti berikut :"Masukan Varieble A""Hasil=A+B"
  6. Masing-masing kegiatan didalam flowchart harus memiliki alur data proses secara rinci dan jelas.
  7. Kegiatan yang terputus ditempat lain harus ditunjukan dengan jelas menggunakan simbol penghubung.

Ada lima jenis flowchart yaitu sebagai berikut :

  1. System flowchart, menjelaskan urutan setiap prosedur yang terdapat pada sistem.
  2. Document flowchart, menunjukan arah aliran data laporan dan formulir pada subprogram atau proses.
  3. programe flowchart, berguna untuk melakukan analisis sistem dengan menggambarkan proses dalam suatu prosedur program.
  4. Process flowchart, merupakan bagian yang sering digunakan dalam aliran proses pada teknik industri.

Keuntungan menggunakan flowchart adalah sebagai berikut :

  1. Lebih mudah dalam pembacaan dan pemahaman karena memiliki standar penulisan yang jelas.
  2. Dapat digunakan untuk menyelsaikan masalah yang tidak rumit
  3. Lebih rinci katena menggunakan visualisasi.

Kerugian menggunakan flowchart adalah sebagai berikut :

  1. Tidak cocok untuk menyelesaikan permasalahan yang rumit.
  2. Memerlukan software khusus untuk untuk menambahkan gambar seprti Microsoft Visio
  3. Sedikit susah untuk melakukan konversi kedalam kode program.
  4.  Memakan ruang ketika menata simbol flowchart.

Pseudocode merupakan penyusunan dan penulisan logika dalam bentuk notasi kode yang mirip dengan bahasa pemrograman tertentu secara global, yakni tidak mewakili sebuah bahasa tertentu pada penulisan. tidak ada aturan khusus dalam penulisan struktur algoritma dengan pseudocode seperti flowchart.

Penulisan struktur algoritma dengan pseudocode harus memiliki bagian seperti berikut :

  1. Header, berisi informasi judul
  2. Komentar jika diperlukan
  3. Deklarasi  variabel.
  4. Badan algoritma, berisi proses logika progarm.
  5. bagian akhir program.
  6. Deklarasi variabel menggunakan tanda “:” 
  7. Assignment [pernyataan] menggunakan format “nama_variabel←nilai” contoh y←100 artinya adalah nilai y sama dengan 100.
  8. Pembuatan komentar dapat diawali dengan karakter “{” dan diakhiri dengan “}”
  9. Beberapa keyword dalam pemrograman boleh dipergunakan untuk memperjelas alur logika.
  10. Read digunakan untuk menerima masukan [input]
  11. Write digunakan untuk mencetak nilai kelayar.
  12. While digunakan melakukan pengulangan selama kondisi bernilai benar.
  13. if..then digunakan unutk metode penyeleksian.

Contoh : terdapat sebuah batang bambu dengan panjang 12 m akan dipotong menjadi bilah pagar berukuran 4 m, sebuah batang bambu dapat dipecah menjadi 4 bilah kecil, menurut anda berapa bilah bambu yang dapat dihasilkan dari bambu tersebut? Penyelsaian : program hitung_bambu {digunakan untuk menghitung jumlah potongan bilah yang dihasilkan dari sebuah bambu} Deklarasi p_bambu : integer {panjang bambu} b_bilah : integer {banyaknya poting bilah yang dihasilkan dari sebuag bambu} u_bilah : integer {panjang perpotongan} jumlah : integer {jumlah potong bilah yang dihasilkan} Algorirma p_bambu ← 12 {dalam meter} b_bilah ← 4 {dalam pcs} u_bilah ← 4 {dalam meter} jumlah ← [p_bambu/b_bilah] * u_bilah write [jumlah]