Tampilkan postingan dengan label Algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label Algoritma. Tampilkan semua postingan

Jumat, 30 September 2016

Teknik Penyajian Algoritma

Teknik Penyajian Algoritma

Yoi! Setelah kemarin telah dipostingkan mengenai beberapa artikel tentang algoritma. Maka saya akan melanjutkan postingan tentang Teknik Penyajian Algoritma. Tetapi sebelum membaca tentang teknik penyajian algoritma alangkah lebih baiknya apabila terlebih dahulu membaca Ciri-Ciri Algoritma yang Baik dan Contoh Algoritma dan Mengenai Algoritma dan Kriteria Algoritma yang Baik. Agar lebih memudahkan dalam pemahan tentang teknik penyajian algoritma karena artikel ini akan banyak sangkut pautnya dengan artikel-artikel algoritma sebelumnya.
Algoritma yang berisi urutan langkah-langkah dari awal sampai akhir akan lebih mudah dituliskan dan otomatis lebih mudah dimengerti oleh pembaca apabila algoritma itu disajikan dengan menggunakan teknik yaitu teknik penyajian algoritma. Teknik penyajian algoritma merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam notasi algoritma inilah terdapat kerangka-kerangka suatu program. Ciri teknik penyajian algoritma yang baik yaitu dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Hal yang penting mengenai teknik penyajian tersebut adalah mudah dibaca dan dimengerti. Meskipun demikian untuk menghindari kekeliriuan, ketaatan terhadap teknik penyajian ini perlu diperhatikan.
Teknik penyajian algoritma dibagi menjadi dua yaitu dengan teknik tulisan (deskriptif) dan teknik gambar. Seperti namanya teknik tulisan ini akan disajikan dengan kita menulis suatu algorima yang akan kita buat. Untuk teknik tulisan ada dua options lagi yang bisa kita pilih, yang pertama adalah dengan struktur bahasa dan selanjutnya dengan structure pseucode. Sedangkan untuk teknik gambar teknik ini menggunakan gambar yang kita buat dengan menggunakan bagan aliran air atau flowchart.
Struktur bahasa
Teknik penyajian algoritma yang satu ini  ditulis dengan menggunakan bahasa manusia sehari-hari (misalnya Bahasa Indonesia atau Bahasa Inggris) yang dikuasai dan dimengerti oleh si pembuat algoritma itu sendiri. Setiap Langkahnya ditulis dalam satu kalimat atau lebih. Tidak ada aturan patokan untuk teknik penulisan algoritma tipe ini. Semua kalimat ditulis dengan sistematis, jelas, terbatas dan berurutan.


Teknik Tulisan
1. Struktur Bahasa.

Teknik penyajian algoritma yang satu ini  ditulis dengan menggunakan bahasa manusia sehari-hari (misalnya Bahasa Indonesia atau Bahasa Inggris) yang dikuasai dan dimengerti oleh si pembuat algoritma itu sendiri. Setiap Langkahnya ditulis dalam satu kalimat atau lebih. Tidak ada aturan patokan untuk teknik penulisan algoritma tipe ini. Semua kalimat ditulis dengan sistematis, jelas, terbatas dan berurutan.

Contoh Struktur Bahasa :

Baca data hasil_penjulan
Gaji_pokok adalah 2000000
Jika hasil_penjulan lebih dari 1000
Hitung bonus adalah hasil_penjualan dikalikan 0.25
Hitung gaji adalah gaji_poko ditambah bonus
Jika hasil_penjualan kurang dari 1000
Gaji adalah gaji_pokok
Tampilkan gaji

2. Pseucode.

Pseudocode sering digunakan dalam buku-buku tentang ilmu komputer ataupun publikasi ilmiah untuk menjelaskan urutan proses atau metode tertentu. Pseudocode berasal dari kata pseudo yang berarti mirip/menyerupai dan code yang berarti program. Pseudocode berbasis pada kode program yang sesungguhnya seperti Pascal, C, C++. Perbedaan dengan strukur bahasa adalah apabila menggunakan structure pseucode maka akan tersaji structure yang lebih rinci misalkan dalam pseucode akan menyertakan tipe data yang digunakan sedangkan structure bahasa tidak. Struktur pseucode ditulis menggunakan symbol-simbol intruksi dibawah ini. Sama seperti operator matematika biasanya tetepi yang berbeda disini adalah hanya pada symbol “=” yang diubah menjadi anak panah ke kiri dan operator “*” untuk mengalikan beberapa operan yang diubah menjadi “.” Hanya itu saja simple bukan?. 
Simbol Instruksi
Untuk lebih jelasnya serta melihat pengaplikasian symbol intruksi mari cermati contoh structure pseucode dengan c++ serta perbandingan bahasa asli c++ berikut!


Teknik Gambar

Flowchart

Flowchart merupakan suatu teknik penyajian algoritma menggunakan gambar dan anak panah sebagai strukturnya. Secara lebih spesifik, flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Dengan demikian, disimpulkan bahwa setiap simbol menggambarkan proses tertentu. Sedangkan antar proses ini digambarkan atau dihubungkan dengan garis penghubung. Dalam menggunakan flowchat dalam algoritma maka akan lebih memudahkan pembuat yang akan membuat program yang sangat rumit ketimbah menggunakan teknik penyajian tulisan baik itu stuktur bahasa atau pseucode. Karena dalam penyajiannya digambarkan tahap-tahap penyelesaian masalah dengan menggunakan kata-kata atau teks. Kelemahan cara ini adalah dalam penyusunan algoritma sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kadang orang lain sulit memahaminya.
Strukture Flowchart Program
Bagan alir program adalah suatu bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir. Bagan alir program merupakan alat yang berguna bagi programmer untuk mempersiapkan program yang rumit. Bagan alir terdiri dari simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines) menunjukan urutan dari simbol yang akan dikerjakan.


Untuk lebih memudah pemahaman alangkah lebih baiknya menyimak contoh algoritma menentukan bilangan genap atau tidak menggunakan flowchart dibawah ini!

Alangkah vbaiknya kita tuliskan algoritmanya terlebih dahulu dan akan terlihat seperti ini :

  1. Masukan bilangan
  2. Jika bilangan habis dibagi 2, jika benar maka cetak "Ya"
  3. Jika tidak, maka cetak "tidak"
  4. Selesai.


Mudah Bukan? Semoga artikel kali ini lebih memantabkan pemahaman anda tentang algoritma.




Share:

Sabtu, 24 September 2016

Ciri-Ciri Algoritma yang Baik dan Contoh Algoritma.

Ciri-Ciri Algoritma yang Baik dan Contoh Algoritma.

Yoi! Setelah kemarin membahas Mengenai Algoritma dan Kriteria Algoritma yang Baik. Kita akan melanjutkan pembahasan mengenai Algoritma yaitu tentang ciri-ciri algoritma yang baik. Kita tahu bahwa dalam ilmu komputer Algoritma dikenal dengan langkah-langkah komputasi yang terdiri dari masukan dan keluaran. Karena itu Algoritma biasanya dijadikan dasar atau pengantar bahasa pemrograman (misalnya Pascal) dalam study yang berkecimpung atau berhubungan dengan ilmu komputer. Kemarin tentang kriteria sekarang kita bahas mengenai ciri-ciri algoritma yang baik. Apa saja yang menjadi ciri-ciri dari algoritma yang baik ?


 Suatu algoritma pemrograman yang baik memiliki ciri-ciri :

Tepat, benar, sederhana, standar dan efektif.
Suata algoritma dikatan tidak sederhana dan efektif apabila anda memberi instruksi seperti ini  X = X + 0 atau X = X* 1 atau X = X/1. Intruksi itu dikatakan tidak efektif karena apabila X = X*1 artinya X samadengan nila X itu sendiri. 

Logis, terstruktur dan sistematis.
Penyelesaian masalah menggunakan langkah-langkah tersusun secara sistematis dan juga logis.
Semua operasi terdefinisi.
Artinya tidak boleh ada oprasi yang tidak terdefinisi misal A= 2 +P, Tetapi p tidak didefinisikan berapa nilainya.
Semua proses harus berakhir setelah sejumlah langkah dilakukan.
Suatu algoritma yang baik harus memiliki stopping role atau titik berhenti. Kalau suatui algoritma tidak memiliki titik berhenti maka algoritma tersebut tidak akan memiliki suatu output atau keluaran. Padahal menurut Donald E. Knuth Kriteria Algoritma yang Baik setidaknya harus memiliki minimal satu buah output keluaran setelah proses dalam algoritma itu berlangsung.

Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda.


Tahapan Detail Penyelesaian Masalah dalam suatu Algoritma.


“Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaaan diperoleh suatu solusi ataupun tidak adanya solusi.”

Contoh Algoritma menghitung luas persegi panjang :

  1. Masukkan panjang (P)
  2. Masukkan lebar (L)
  3. L ← P * L
  4. Tulis L

Sesederhana itu bukan? 








Share:

Rabu, 21 September 2016

Mengenai Algoritma dan Kriteria Algoritma yang Baik.

Mengenai Algoritma dan Kriteria Algoritma yang Baik.

Apa itu Algoritma?


Algoritma merupakan tahapan-tahapan perhitungan yang sistematis tentang jalannya suatu program dari awal sampai akhir yang digunakan untuk menyelesaikan suatu masalah. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Ja’farMohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al- Jabr Wa-al Muqobla. Penggunaan Pertama pada tahun 1950, algoritma pertama kali digunakan pada Algoritma Eucliden (Euclid Algorithm). Euclid sendiri merupakan seorang matemaitkawan Yunani yang lahir sekitar 350 SM. Euclid menulis buku yang berjudul Element. Di dalam buku tersebut, dijelaskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat, yakni m dan n. Namun, Eucliden pada saat itu tidak menyebutkan bahwa cara yang digunakannya adalah metode algoritma. Hal tersebut baru disebut sebagai algoritma pada abad-abad modern.

Dalam pemrograman algortima berarti suatu metode khusus yang tepat dan terdiri dari serangkaian langkah-langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan masalah dengan bantuan komputer.Secara sederhanya algoritma dapat didefinisikan urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah

Contoh  nyata dari algoritma sederhana yang biasa atau mungkin sering kita lakukan dalam kehidupan sehari-hari adalah pada saat kegatan kita memasak air. Hal-hal yang perlu dilakukan dalam proses memasak air kurang lebih seperti berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang, apabila air sudah mendidih, matikan kompor, setelah itu angkat panci tersebut dari kompor. Langkah-langkah untuk memasak air tersebut merupakan algoritma memasak air. Sehingga memiliki urutan langkah-langkah yang logis. 

Kriteria Algoritma Menurut Donald E. Knuth.
Menurut Bapa "Analisis Algoritma" Donald Ervin Knuth, atau biasa dipanggil dengan Knuth ini, ada 5 kriteria menuurut beliau yang menjadi syarat algoritma itu baik dan benar, dan algoritma yang baik dan benar harus memiliki kriteria-kriteria berikut ini:

1. Input
Program minimal harus memiliki nol input atau lebih dari luar. Setiap program pasti memiliki input. Yang dimaksud dengan memiliki nol input berarti program tidak mendapat masukan data dari pengguna secara langsung, namun semua data akan digunakan oleh program yang sudah dideklarasikan di dalam kode program yang akan dieksekusi. Jadi tidak perlu diinputkan dari luar. Sedangkan mendapat input dari pengguna, data bisa dimaksukkan melalui program.

2. Output
Program minimal harus memiliki 1 output keluaran hasil eksekusi. Setiap program pasti memiliki output karena program dibuat untuk tujuan tertentu. Output program bisa berbentuk file, video, teks, dll, atau disimpan di clipboard yang kemudian digunakan di program lain atau disimpan dalam basis data.

3. Finiteness (Ada batasnya)
Program yang dibuat harus pasti dan ada batasnya. Suatu program yang dieksekusi haruslah berhenti dan selesai, bukan harus berjalan terus-menerus hingga hang up atau not responding, dan ujung-ujungnya harus di-kill atau dimatikan dengan paksa, jadi pada algoritma pemogramanya harus memiliki titik berhenti atau stopping role. Suatu program dapat mengalami infinite (tak terbatas) karena kesalahan dari programmer. Walau sistem operasi tidak terbatas (infinite), tetapi sistem operasi juga akan mati jika komputer di shutdown.

4. Definiteness (Pasti)
Suatu program harus jelas arah dan tujuannya. Program harus jelas kapan mulai dan kapan berakhir, apa tujuannya, dan memiliki logika yang jelas agar dapat menghasilkan output yang sesuai dengan yang diinginkan. Contoh nyata keambiguan dalam kehidupan sehari-hari misalkan anda memerintah seorang yang berada pada lantai 7 sebuah gedung untuk turun kebawah, itu adalah perintah ambigu karena tidak secara sepesifik perintah tadi. Bawah mana? bawah tanah kah?.

5. Effectiveness (tepat dan efisien)
 Algoritma atau program harus tepat dan efisien, artinya program tidak memakan banyak memori, tidak melakukan hal-hal yang tidak perlu. Kenapa? Karena setiap program akan memakan waktu untuk eksekusi. Jika melakukan hal-hal yang tidak perlu, bukan tidak mungkin program tesebut akan lelet. Algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Sekian mengenai sedikit penjelasan tentang algoritma, Wassalam.

Share: