12
csa-interganesha.com Tutorial Teknik Penulisan Algoritma Created By Edi Casnadi - IM 1 Judul : Penulisan Algoritma Penulis : Edi Casnadi Level : Basic Hak : csa-interganesha Kategori : Public ATURAN PENULISAN ALGORITMA 1. Pendahuluan Algoritma berisi langkah-langkah untuk penyelesaikan suatu masalah secara sistematis dan logis. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti oleh orang lain, karena memang tidak ada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Dalam penulisan algoritma ini bertujuan memudahkan untuk mentranslasikan ke dalam notasi bahasa pemrograman. Ada tiga komponen yang harus ada dalam proses algoritma yaitu: 1. Komponen masukan (input), komponen masukan ini biasanya terdiri dari pemilihan variabel, jenis variabel, tipe variabel, konstanta dan parameter (dalam fungsi). 2. Komponen proses (processing), komponen proses ini merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekursif, perbandingan, penggabungan, pengurangan dan lain-lain). 3. Komponen keluaran (output), Komponen ini merupakan tujuan dari perancangan algoritma dan program. Dalam merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flowchart, sedangkan Knuth (1973) menyarankan menggunakan algoritma fundamental. Untuk keperluan matematika dan program komputer metode yang sering digunakan yaitu algoritma pseudo code dan flowchart. Pada setiap algoritma memiliki bagian yang memberikan ruang untuk memberikan suatu komentar tentang algoritma tersebut. Apabila akan menuliskan sebuah komentar mengenai setiap bagian tersebut, maka dituliskan dengan tanda kurung kurawal { } atau //. Keteranngan penggunaan komentar : { komentar }, notasi ini untuk mengomentari lebih dari satu baris // komentar , notasi ini untuk mengomentari paling banyak satu baris

Penulisanalgoritma

  • Upload
    casnadi

  • View
    6.186

  • Download
    0

Embed Size (px)

DESCRIPTION

Tutorial tentang bagaimana teknik penulisan algoritma

Citation preview

Page 1: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 1

Judul : Penulisan Algoritma Penulis : Edi Casnadi Level : Basic Hak : csa-interganesha Kategori : Public

ATURAN PENULISAN ALGORITMA

1. Pendahuluan Algoritma berisi langkah-langkah untuk penyelesaikan suatu masalah secara sistematis dan logis. Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti oleh orang lain, karena memang tidak ada notasi baku dalam penulisan algoritma. Tiap orang dapat membuat aturan penulisan dan notasi algoritma sendiri. Dalam penulisan algoritma ini bertujuan memudahkan untuk mentranslasikan ke dalam notasi bahasa pemrograman. Ada tiga komponen yang harus ada dalam proses algoritma yaitu: 1. Komponen masukan (input), komponen masukan ini biasanya terdiri dari

pemilihan variabel, jenis variabel, tipe variabel, konstanta dan parameter (dalam fungsi).

2. Komponen proses (processing), komponen proses ini merupakan bagian utama dan terpenting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, logika algoritma (sintaksis dan semantik), rumusan, metode (rekursif, perbandingan, penggabungan, pengurangan dan lain-lain).

3. Komponen keluaran (output), Komponen ini merupakan tujuan dari perancangan algoritma dan program.

Dalam merancang sebuah algoritma, Fletcher (1991) memberikan beberapa cara atau metode yaitu kumpulan perintah, ekspresi, tabel instruksi, program komputer, kode semu dan flowchart, sedangkan Knuth (1973) menyarankan menggunakan algoritma fundamental. Untuk keperluan matematika dan program komputer metode yang sering digunakan yaitu algoritma pseudo code dan flowchart. Pada setiap algoritma memiliki bagian yang memberikan ruang untuk memberikan suatu komentar tentang algoritma tersebut. Apabila akan menuliskan sebuah komentar mengenai setiap bagian tersebut, maka dituliskan dengan tanda kurung kurawal { } atau //. Keteranngan penggunaan komentar : { komentar }, notasi ini untuk mengomentari lebih dari satu baris // komentar , notasi ini untuk mengomentari paling banyak satu baris

Page 2: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 2

Dalam pemakaian notasi komentar dialgoritma yang membutuhkan sebuah komentar yang dilambangkan { ... } maka komentar tersebut dalam Java di lambangkan dengan notasi /* ..... */, sedangkan komentar algoritma dengan menggunakan lambang // maka di bahasa Java juga sama menggunakan tanda //. Teknik penulisan sebuah algoritma, dibagi menjadi tiga yaitu: Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia

lainnya). Tetapi sering membingungkan (ambiguous). Menggunakan Flowchart (diagram alir)

Bagus secara visual akan tetapi repot kalau algoritmanya terlalu panjang. Menggunakan pseudo-code (kode semu)

Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman.

Ciri penting dari penulisan algoritma yaitu: Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua

(ambiguitas). Algoritma memiliki nol atau lebih masukkan. Algoritma memiliki nol atau lebih keluaran. Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan

dalam waktu yang masuk akal). Secara garis besar penulisan algoritma akan selalu terdiri dari tiga bagian yaitu: Judul algoritma / (Header)

Bagian yang terdiri atas nama algoritma (judul algoritma) dan disertai dengan penjelasan sebuah komentar (spesifikasi) tentang algoritma tersebut. Nama Judul sebaiknya singkat dan dapat menggambarkan secara keseluruhan apa yang dilakukan oleh algoritma tersebut. Untuk menuliskan keterangan notasi judul atau komentar tentang penjelasan dari judul algoritma tersebut dengan menggunakan tanda { komentar }.

Deklarasi Bagian untuk mendefinisikan semua nama variabel dengan disertai sebuah tipe data tertentu yang nantinya akan digunakan di dalam algoritma atau program. Nama variabel tersebut dapat berupa nama variabel tetapan atau konstanta, jenis tipe data, class, dll .

Deskripsi Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi atau tempat input data, proses(tempat perhitungan), dan output data, yang akan dijelaskan selanjutnya

Page 3: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 3

Cara penulisan algoritma yang utuh terdiri dari: ALGORITMA (Judul Algoritma)

{Komentar mengenai algoritma seperti cara kerja program, kondisi awal dan kondisi akhir dari algoritma atau bisa dikatakan ringkasan dari suatu algoritma dan disarankan nama judul tidak boleh ada spasi}

DEKLARASI { Pada bagian ini, tempat untuk mendefinifikan nama variabel dengan tipe data baik nilai konstanta maupun tidak, dan class }

DESKRIPSI { Pada bagian ini semua proses perhitungan dialgoritma dituliskan. Semua notasi yang dituliskan akan berpengaruh terhadap kebenaran algoritma, deskripsi ini akan berisi struktur dasar algoritma seperti perhitungan, pengulangan, kondisional, input/output data dll}

End_algo {Pada pernyataan ini algoritma diberhenti, karena dalam algoritma harus mempunyai akhir dari penulisan algoritma }

2. Judul Algoritma (Header) Judul algoritma adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah judul program, judul class, judul method dll. Dalam penulisan judul algoritma disarankan untuk menuliskan secara spesifikasi dan singkat dari teks algoritma tersebut. Nama judul algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut dan hindari penggunaan spasi dalam memberikan judul algoritma. Contoh 1, penulisan judul algoritma: ALGORITMA Penjumlahan ← {judul Algoritma}

{ Menghitung dari nilai a=5 dan b=10 dengan rumus c = a + b kemudian hasil c ditampilkan/cetak dan merupakan bilangan bulat}

ALGORITMA Luas_Kubus ← {judul Algoritma}

{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan, dan dicetak hasilnya }

Contoh 2, penulisan judul algoritma: ALGORITMA Gaji_Karyawan {judul algoritma}

{ menghtung gaji karyawan dari absensi, gaji pokok, tunjangan dan potongan pajak }

Page 4: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 4

Contoh 3, penulisan judul di dalam bahasa Java, yaitu: Program Java denga judul yaitu BelajarAlgo Judul Program

Catatan: Untuk memisahkan antara kata dalam judul algoritma sebaiknya menggunakan tanda “_”, tetapi bukanlah suatu keharusan. Anda dapat menuliskan juga dengan LuasLingkaran (tulisan disambung) atau Luas_Lingkaran. Tetapi sebaiknya anda tidak menggunakan spasi “ “ untuk memisahkan nama judul.

3. Deklarasi (Kamus) Di dalam buku algoritma yang lain ada yang menyatakan bahwa deklarasi dapat ditulis dengan kata ”kamus”, tetapi pada dasarnya sama saja. Untuk buku ini, kita sepakat menggunakan kata ”Deklarasi”. Deklarasi adalah bagian teks algoritma sebagai tempat untuk mendefinisikan suatu variabel dengan tipe data seperti:

• Nama type data • Nama konstanta • Nama variabel

• Nama class

Semua nama variabel tersebut baru dapat dipakai di dalam algoritma jika sudah terdefinisikan terlebih dahulu di dalam Deklarasi. Penulisan sekumpulan nama variabel dalam deskripsi sebaiknya dikelompokkan menurut jenis tipe data. Nama variabel belum bisa terdefinisi jika nilainya belum didefinisikan dengan tipe data tertentu atau dengan cara pendefinisian menggunakan variabel konstanta dan sekaligus memberikan harga konstanta pada variabelnya.

public static void main(String[] args) { // ini merupakan Main program / program utama } }

public class Penjumlahan {

Page 5: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 5

Contoh, penulisan deklarasi algoritma, yaitu:

DEKLARASI { variabel dengan tipe data tertentu }

p, l, luas, jml integer { variable p, l, luas, dan jml memiliki tipe data integer atau bilangan bulat }

rata_rata, bagi float { variabel rata_rata, bagi yaitu memiliki tipe data bilangan pecahaan }

Nama, Alamat String { suatu nilai yang merupakan kumpulan dari character }

a1, a2, a3 char { nilai a1, a2, a3 yang memiliki tipe karakter} Untuk sebuah nilai konstanta, harus menyebutkan tipe data terlebih dahulu dan kemudian memasukan nilainya. Contoh:

phi float; nama string; benar boolean phi 3,14159 {nilai phi( ) dengan nilai konstanta 3,14} nama ”Edi Cas” {nilai nama konstanta,berisi Edi Cas} benar= true {benar bernilai konstanta true}

Berikut contoh penulisan deklarasi dalam bahasa Java:

Deklarasi

Penulisan konstanta dalam bahasa Java yaitu:

float phi = 3,14159; {nilai phi dengan nilai konstanta 3,14 } String nama = ”Edi Cas”; {nilai nama konstanta, isi Edi Cas} boolean benar= true; {benar bernilai konstanta true}

public class BelajarAlgo { public static void main(String[] args) { // ini merupakan Main program / program utama } }

int A, B, C, nama; String nama; float phi = 3.14;

Page 6: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 6

4. Deskripsi Deskripsi merupakan bagian dari inti suatu algoritma yang berisi perhitungan, instruksi atau pemanggilan aksi yang telah didefinisikan. Deskripsi sendiri tempat untuk menggambarkan sesuatu proses dari algoritma apa yang kita buat. Deskripsi dalam pemrograman objek dapat berupa : Instruksi dasar seperti input/output, assignment Sequence (runtutan) Analisa kasus Perulangan untuk setiap langkah algoritma dibaca dari “atas” ke “bawah”.

Urutan deskripsi penulisan menentukan urutan langkah pelaksanaan perintah. class Kondisi Method

Contoh 1: deskripsi penjumlahan dalam algoritma, yaitu:

DESKRIPSI read (a 2) { variabel a menerima masukan 1 bilangan yaitu 2} read (b 4) { variabel b menerima masukan 1 bilangan yaitu 4} c a + b { proses penjumlahan } print ( c ) { hasil keluaran berupa bilangan c dengan nilai= 6 }

Contoh 2: deskripsi stok barang dalam algoritma, yaitu:

DESKRIPSI read (kode “K001”) { variabel kode menerima masukan “K001”} read (NmBrg “Monitor”) { variabel NmBrg menerima masukan Monotor} read (Harga 600000) { variabel Harga menerima masukan 600000} Kalau kita lihat Deskripsi di atas terdapat berbagai ketentuan seperti membaca alat masukan, keluaran dan operasi perhitungan, perulangan, kondisional atau pendefinisian lainnya. berarti di dalam Deskripsi terdapat berbagai macam penyelesaian dan perhitngan dari suatu masalah dalam algoritma.

Page 7: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 7

Contoh deskripsi penjumlahan dalam pemrograman Java Deskripsi

5. End_algoritma Untuk mengakhiri suatu algoritma bisanya menggunakan kata “End_algo”, kata

“End_algo” bertujuan untuk menutup dari judul algoritma atau akhir dari algoritma

yang kita buat. Anda akan sering berjumpa dengan kata “End_algo” ketika

mengakhiri dari pernyatan suatu algoritma tertentu.

ALGORITMA Penjumlahan

{ menjumlahkan dari variabel a dan b dengan rumus c=a+b }

DEKLARASI a, b, c integer DESKRIPSI

a = 2; b =8 c = a + b akhir algoritma (and algoritma) End_algo

public class BelajarAlgo { public static void main(String[] args) { int A, B, C; // ini disebut isi dari main program atau program utama } }

A = 3; B = 5; C = A + B; System.out.println(“hasil = “ + C);

Page 8: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 8

6. Teknik Penulisan Algoritma Teknik penulisan algoritma sudah dibahasa sekilas di atas. Teknik penulisan algoritma dibagi menjadi beberapa hal, yaitu : 1. Bahasa natural, yaitu bahasa yang kita pakai dalam sehari-hari seperti (Bahasa

Indonesia, Bahasa Inggris, dan bahasa manusia lainnya) tetapi tidak terstruktur pola bahasanya, karena bagaikan orang yang bercerita tentang sesuatu hal yang rasional. Dalam penggunaan penulisan algoritma dengan bahasa natural banyak mengalami kendalanya seperti: Sering membingungkan (ambiguous) Sulit dipahami untuk menentukan mana yang variabel dan mana yang bukan

variabel serta kesulitan untuk orang awam dalam mengimplementasikan ke bahasa pemrograman.

Tidak ada standar penulisan, sehingga terasa aneh karena sesuai dengan bahasa dimana orang berada untuk membuat algoritma, misalnya orang Jepang membuat algoritma, Jerman, Jawa, Sunda, italia dll.

Biasanya bahasa yang digunakan sesuka hati Contoh kasus dalam bahasa natural, yaitu: kasus-1 Algoritma menentukan bilangan maksimum dari suatu deret

1. Menentukan bilangan maksimum 2. Ambil bilangan pertama dan diset maks=100 sama dengan bilangan pertama,

sebagai nilai maks sementara. 3. Ambil bilangan kedua yaitu angka =104 dan kemudian bandingkan dengan

nilai maks 4. Apabila bilangan lebih besar dari maks maka akan tampilkan atau dicetak

“bilangan lebih besar dari maks” 5. Ambil sebuah angka=90 lagi kemudian bandingkan dengan maks, apabila

angka lebih kecil dari maks maka akan ditampilkan atau dicetak “bilangan lebih kecil dari maks”

6. Selain itu tampilkan atau cetak “bilangan sama dengan maks” 7. Selesai

2. Algoritma Pseudo_Code

Dalam merancang sebuah algoritma dengan menggunakan Pseudo_Code atau kode semu, terdapat komponen-komponen seperti input, output dan proses yang harus terdefinisi secara jelas. Disamping itu beberapa ketentuan dan aturan pendefinisian algoritma pseudo code ini memang secara baku tidak ditemukan dalam beberapa buku literatur, namun aturan-aturan yang diajukan dibawah ini akan membantu mempermudah perancangan algoritma dan evaluasi serta analisis algoritma.

Page 9: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 9

Aturan-aturan tersebut yaitu: 1. Kode semu atau Pseudo_Code, harus dimulai dengan judul algoritma. Aturan

ini secara mudah dapat dimengerti baik secara fungsi dan manfaatnya. Judul harus dapat menjelaskan secara spesifikasi tentang masalah yang dirancang berdasarkan algoritmanya. Penulisannya dapat dengan huruf kapital semuanya atau menggunakan huruf kecil.

2. Kode semu / Pseudo_Code, harus ditulis berdasarkan urutan sesuai prosesnya atau menggunakan nomor yang menunjukkan urutan - urutan langkah-langkah dalam penulisan algoritma.

3. Pendeklarasian variabel, konstanta, parameter, rumus dan pernyataan harus sederhana dan efisien

4. Berhenti atau tanda End_algo, untuk menyatakan berhenti pada akhir dari suatu algoritma.

Dalam penulisan algoritma pseudo code, ada beberapa kelemahannya. Kelemahan dari penulisan algoritma ini, yaitu Sulit dimengerti oleh orang yang tidak mengerti pemrograman. Sulit membedakan mana judul method dan judul kelas turunan Sulit menganalisis mana menentukan variabel dan tipe data dari suatu analisi

masalah bagi yang tidak mengerti pemrograman atau orang awam. Contoh 1, algoritma pseudo-code penjumlahan, yaitu:

ALGORITMA Penjumlahan {untuk menyelesaikan perhitungan penjumlahan dengan variabel a, b, c dengan nilai bilangan tertentu seperti 3 + 4=7 } DEKLARASI

a, b, c Integer

DESKRIPSI read (a 3; b4) // input data a=3 dan b=4 c a + b // proses penjumlahan c = a + b print(c) // menampilkan hasil proses di c

End_algo

Keterangan: Pembuatan algoritma di atas, untuk menyelesaikan kasus operasi penjumlahan, dengan 1. Nama algoritma: Penjumlahan

Page 10: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 10

2. Deklarasi: terdapat variabel a, b, c yang dideklarasikan bertipe integer. 3. Deskripsi: terdapat pernyataan read(a, b), merupakan inputan untuk variabel a dan b. c a + b, merupakan proses dari penjumlahan antara a + b. print(c), merupakan pernyataan untuk menampilkan variabel c yang

merupakan hasil dari operasi penjumlahan a + b. 4. End_algo, akhir dari pernyataan algoritma penjumlahan

3. Algoritma Flowchart

Algoritma flowchart merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah dalam penyelesaian suatu masalah. Algoritma ini merupakan salah satu cara penyajian dalam bentuk flowchart atau bagan-bagan yang menggambarkan suatu penyelesaian suatu masalah. Algoritma flowchart terdiri dari dua yaitu: - Sistem flowchart yaitu urutan proses dalam sistem dengan menunjukan alat

media input, proses, output dan jenis media penyimpanan dalam pengolahan data.

- Program flowchart yaitu urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.

Tabel 6.1 Simbol flowcahrt

SIMBOL NAMA FUNGSI

TERMINATOR Permulaan (start) algoritma dan akhir algoritma/program (end_algo atau stop)

GARIS ALIR (Flow Line) Arah aliran program

Pendefinisian variabel dan tipe data

Proses Inisialisasi antara variabel dengan tipenya

Pemilihan / kondisional, pengulangan (repeat)

Pilihan ya atau tidak, atau pernyataan pengulangan

Input / Output Data input atau output data

Proses Proses perhitungan / pengolahan data

Continue Melanjutkan data dihalaman berikut

Page 11: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 11

Contoh 1, Penulisan dalam algoritma flowchart, yaitu:

{ judul: merupakan algoritma penjumlahan dua buah bilangan} { deklarasi : variabel a, b, c dengan tipe data integer } { deskripsi : input data a, b } { deskripsi : proses penjumlahan c = a + b} { deskripsi : output c } { stop algoritma penjumlahan}

Contoh 2, penulisan dalam algoritma flowchart lainnya, untuk mencetak bilangan genap atau ganjil, yaitu:

Start

Stop

c = a + b

Read(a,b)

int a, b ,c

Print ( c )

Page 12: Penulisanalgoritma

csa-interganesha.com Tutorial Teknik Penulisan Algoritma

Created By Edi Casnadi - IM 12

Keterangan: Ketika Input Bialangan = 2(genap) maka menghasilkan sisa= 0 berarti akan menampilkan Cetak Genap tetapi ketika Input bilangan = 3(ganjil) maka menghasilkan sisa =1 berarti akan menampilkan Cetak Ganjil. Kelemahan dari algoritma flowchart ini, yaitu kesulitan dalam menulis jika algoritma terlalu panjang.

4. Algoritma Fundamental Knuth(1973), menyajikan format algoritma yang dapat digunakan secara bebas untuk berbagai bahasa pemrograman, artinya dapat dengan mudah diimplementasikan menggunakan Java, Pascal, C++, delphi dlll. Penulisan algoritma ini tidak terlalu digunakan pada saat ini. Gambaran lebih jelasnya tentang penulisan algoritma fundamental, yaitu:

Gambar 6.2 Struktur Hubungan dan jenis algoritma

Secara keseluruhan bahwa dalam teknik penulisan algoritma banyak cara yang kita dapat gunakan, seperti menggunakan teknik penulisan natural, flowchart, pseudo code, fundamental dan setiap teknik penulisan algoritma ada kekurangan dan kelebihannya. Jadi sebenarnya untuk penulisan algoritma dapat kita pilih sendiri sesuai kebutuhan.