This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Download Software gratis

Download software/perangkat lunak gratis disini.

Saturday, July 28, 2018

Penyajian Algoritma yang Baik


Penyajian Algoritma yang Baik
Menurut Donald Ervin Knuth (1973), yang dikenal dengan Bapak  "Analisis Algoritma",  algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
·         Input
·         Output
·         Finite
·         Definite
·         Efisien

1.    Input
Algoritma memiliki nol input atau lebih dari pengguna. Jadi setiap algoritma harus menerima input. Untuk nol input maksudnya adalah algoritma tidak mendapatkan masukan langsung dari pengguna, tapi data inputan telah dideklarasi didalam algoritma terlebih dahulu.
Contoh algoritma menghitung 100 bilangan genap yang pertama tidak memerlukan input dari pengguna karena sudah diketahui bahwa banyaknya bilangan genap adalah 100. Berbeda jika algoritm tersebut digunakan untuk menghitung n bilangan genap pertama, dengan nilai n dari pengguna. Berarti ada masukan dari pengguna yaitu n.
2.    Output
Algoritma minimal harus memiliki 1 output. Tujuan dari algoritma adalah memberikan penyelesaian dari suatu permasalahan dengan langkah-langkah tertentu. Penyelesaian itulah output dari algoritma yang dimaksud. Output dapat berupa apa saja, teks, file, video, suara, dan lain-lain atau suatu nilai yang disimpan untuk digunakan algoritma lain atau disimpan di basis data.
3.    Finite (Terbatas) 
Algoritma yang baik haruslah mempunyai langkah-langkah terbatas, yang berakhir pada suatu titik di mana algoritma itu akan berhenti dan menghasilkan suatu output. Algoritma tidak boleh berjalan terus–menerus tanpa titik henti, jika diterapkan pada komputer akan mengakibatkan hang atau not responding.
Algoritma yang berjalan terus menerus (infinite), memberikan indikasi bahwa ada kesalahan yang dibuat oleh programmer dalam mengembangkan algoritma.
4.    Definite (Pasti)
Langkah logis pada definisi algoritma terdahulu tercermin dari langkah-langkah yang pasti, tidak ambigu atau bermakna ganda. Suatu program harus mempunyai arah dan tujuan yang jelas, kapan mulai dan kapan berakhir. 
Ketika menyusun langkah-langkah dalam algoritma perlu dihindari kata-kata seperti secukupnya, beberapa, sesuatu, sebentar, lama, atau kata lain yang tidak terukur dengan pasti.
Pemberian nomor pada algoritma dapat membantu pengguna mengikuti setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu solusi dari permasalahan. 
5.    Efisien
Program menghasilkan output yang benar, itu wajib. Tapi bagaimana jika output yang benar itu dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih cepat? Hal ini menunjukkan bahwa setiap algoritma, khususnya ketika diterapkan pada pemrograman, mempunyai waktu eksekusi (running time).
Algoritma disebut efisien jika solusi yang didapat tidak memerlukan memori yang banyak, proses yang berbelit-belit dan tidak perlu. Jika algoritma terlalu banyak melakukan hal-hal yang tidak perlu akan menyebabkan waktu eksekusi menjadi lebih lama.
Pseudocode
Pseudocode yaitu penyajian algoritma dalam bentuk bahasa yang “mirip” dengan bahasa pemrograman. Sesuai dengan namanya pseudocode dapat diartikan sebagai kode bayangan, yaitu bahasa yang mendekati kode pemrograman yang sesungguhnya. Bedanya dalam bahasa pemrograman aturan penulisan kode harus benar-benar sesuai, jika terdapat kesalahan sedikit saja maka akan menyebabkan error, atau program tidak bisa dijalankan. Sedangkan dalam pseudocode aturan penulisannya lebih bebas, dan tidak terikat yang paling penting adalah mudah dipahami oleh orang yang akan menggunakan algoritma atau orang yang akan mengimplementasikan algoritma tersebut ke dalam bahasa pemrograman.
Pseudocode yang baik adalah pseudocode yang dapat dipahami dan diterjemahkan oleh programmer ke bahasa pemrograman yang ada. Walaupun ada juga yang menuliskannya berdasarkan kecenderungan perancang algoritma dalam menggunakan bahasa pemrograman.
Misalnya orang yang sering menggunakan Bahasa Pemrograman Fortran akan menuliskan pseudocode dengan gaya Bahasa Fortran, orang yang sering menggunakan Pascal akan menuliskan psudocode dengan gaya bahasa Pascal, demikian juga bagi yang sering menggunakan Basic ataupun Turbo C, tentu akan mempunyai style (gaya) yang berbeda-beda. Jadi pseudocode bisa dikatakan juga sebagai algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.
Di antara sekian gaya pseudocode, barangkali yang paling mudah dipahami adalah gaya bahasa Pascal karena bahasanya  sangat natural (alami) sebagaimana bahasa Inggris sehari-hari dan dengan mudah dapat diterapkan pada bahasa pemrograman yang lain seperti Fortran, turbo C, Basic dan bahasa pemrograman yang lain. Kata-kata kuncinya sangat singkat, praktis dan jelas.

Pada algoritma diatas digunakan beberapa istilah yang mirip dengan Bahasa Pascal, sebagai berikut.
Konstanta, untuk mendeklarasikan konstanta
Variabel, untuk mendeklarasikan variabel
READ, perintah untuk membaca masukkan dari pengguna
WRITE, perintah untuk menuliskan nilai suatu variabel atau suatu string
END, akhir dari algoritma.
Pemberian nilai ini V = Phi * r * r * t  juga disebut dengan Assignment (penugasan). Di beberapa bahasa Pemrograman assignment ini dituliskan dengan beberapa gaya yang berbeda, di Pascal dituliskan V := Phi * r * r * t sedangkan di Turbo C cukup V = Phi * r * r * t.
Demikian juga dengan perintah WRITE, di beberapa pseudocode digunakan perintah PRINT, DISPLAY atau OUTPUT. Jadi tidak ada aturan yang mengikat mengenai penyajian algoritma dengan pseudocode, tetapi agar konsisten gunakan  format penulisan sama.
Flowchart
Flowchart adalah penyajian algoritma menggunakan diagram. Tujuannya yaitu untuk memberikan gambaran secara visual bagaimana data diproses, sehingga akan lebih memperjelas bagaimana algoritma di implementasikan pada program komputer.
Ada berbagai macam bentuk (simbol) yang berbeda dalam flowchart, di mana masing-masing simbol mewakili proses langkah tertentu. Awal dan akhir diwakili simbol Oval, Input dan Output diwakili simbol Jajar genjang dan Proses diwakili oleh Persegi panjang. Keempat simbol tersebut merupakan simbol dasar dalam penyajian algoritma menggunakan flowchart.
Berikut ini simbol-simbol yang digunakan dalam penyajian algoritma menggunakan flowchart.

Pustaka :

Maryono Dwi, Pambudhi Dhidhi,  Pemrograman Dasar Untuk SMK/MAK Kelas X Semester 1, Kementerian Pendidikan dan Kebudayaan Republik Indonesia, Jakarta, 2014
Share:

Struktur Percabangan

Struktur percabangan adalah suatu struktur algoritma atau pemrograman komputer yang melibatkan suatu kondisi atau persyaratan untuk melakukan operasi-operasi khusus, tergantung kondisi yang syaratkan.
Struktur Percabangan Sederhana
            Struktur Percabangan sederhana adalah struktur algoritma yang hanya melibatkan satu kondisi, jika kondisi terpenuhi atau bernilai true (benar) maka pernyataan-pernyataan akan dijalankan jika kondisi bernilai false (salah) pernyataan-pernyataan akan dilewati tidak dijalankan. Bentuk umumnya sebagai berikut :
Jika <kondisi> maka <pernyataan>
Atau
Jika <kondisi> maka
        <pernyataan 1>
        <pernyataan 2>
            Dst
Contoh 1 :
            Jika Bil < 5 maka TampilkanDilayar
Contoh 2 :
Sebuah Algoritma dirancang dengan ketentuan diberikan bonus kepada karyawan yang berhasil mencapai target penjualan lebih dari 100 juta. Bonus yang diberikan kepada karyawan yaitu sebesar 1% dari omset penjualan yang dia capai.
Dari keterangan itu algoritma memerlukan inputan nama karyawan, besar penjualan, gaji pokok, bonus, dan total gaji yang diterimakan.
Dari permasalahan di atas dapat dibentuk algoritma sebagai berikut.

Dalam pseudocode bentuknya sebagai berikut :
IF (kondisi) THEN
Pernyataan1
Pernyataan2
            Dst
Contoh 2
Untuk Flowchart bentuknya sebagai berikut

Contoh :
Pustaka :
Maryono Dwi, Pambudhi Dhidhi,  Pemrograman Dasar Untuk SMK/MAK Kelas X Semester 1, Kementerian Pendidikan dan Kebudayaan Republik Indonesia, Jakarta, 2014



Share:

Video dan Gambar

Blogroll

Like on Facebook