FLOWCHART: Simbol-Simbol Flowchart dan Penggunaannya

Proses di lingkungan industri pada umumnya merupakan suatu rangkaian kegiatan yang berulang. Setiap siklus kegiatan tersebut biasanya dapat dipecahkan ke dalam beberapa langkah kecil. Dari uraian langkah-langkah tersebut, kita dapat mencari langkah mana saja yang bisa kita perbaiki (improve). Langkah-langkah tersebut akan lebih mudah dimengerti jika kita menggambarkannya dalam suatu bagan yang dikenal dengan istilah: flowchart atau bagan alirDr. Deming, orang yang ikut andil memajukan kualitas barang-barang Jepang, pernah berkata:
Draw a flowchart for whatever you do.  Until you do, you do not know what you are doing, you just have a job (Dr. W. Edwards Deming)
Pentingnya  flowchart juga menjadi perhatian Dr. Kaoru Ishikawa, tokoh kualitas Jepang, dengan menjadikan alat ini sebagai salah satu dari tujuh alat kualitas dasar (7 basic quality tools) yang harus dikuasai oleh para anggota gugus kendali kualitas (quality control circle). Dalam dokumen standar internasional keluaran ISO, flowchart didefinisikan sebagai:
  1. A graphical representation of a process or the step-by-step solution of a problem, using suitably annotated geometric figures connected by flowlines for the purpose of designing or documenting a process or program  (ISO/IEC 2382-1:1993 Information technology–Vocabulary–Part 1: Fundamental terms, 01.05.06).
  2. Graphical representation of the definition, analysis, or method of solution of a problem in which symbols are
    used to represent operations, data, flow, equipment, etc. (ISO 5807:1985 Information processing — Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts, 3.3).
  3. A control flow diagram in which suitably annotated geometrical figures are used to represent operations, data, or equipment, and arrows are used to indicate the sequential flow from one to another (ISO/IEC/IEEE 24765:2010 Systems and software engineering–Vocabulary).
Jadi, flowchart adalah diagram yang menyatakan aliran proses dengan menggunakan  anotasi bidang-bidang geometri, seperti lingkaran, persegi empat, wajik, oval, dan sebagainya untuk merepresentasikan langkah-langkah kegiatan beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah.

Awal Penggunaan Flowchart

Kalau anda pernah mempelajari teknik industri atau scientific managementmungkin anda sudah tidak asing dengan nama Frank Bunker Gilbreth, dia lah orang yang pertama kali memperkenalkan sebuah metode terstruktur untuk mendokumentasikan aliran proses yang sering disebut flow process chart  di hadapan para anggota ASME (American Society of Mechanical Engineers)pada tahun 1921 dengan presentasi berjudul “Process Charts—First Steps in Finding the One Best Way“. Dalam presentasi Gilbreth tersebut terdapat  puluhan simbol yang kemudian pada tahun-tahun berikutnya disederhanakan menjadi empat macam simbol , yaitu:
Ountuk kegiatan operasi
Muntuk kegiatan pemindahan atau transportasi
Iuntuk kegiatan pemeriksaan atau inspeksi
Suntuk penyimpanan
Kemudian pada tahun 1947, simbol-simbol dalam flow process chartmilik Gilbreth digunakan oleh ASME ketika mereka menerbitkan standar pertama untuk simbol-simbol pemetaan proses, yang kemudian berkembang menjadi ANSI Y15.3M, yaitu sebuah standar yang dibuat oleh American National Standard Institute (ANSI) untuk pemetaan operasi dan aliran proses (operation and flow process charts standard).
Dalam standar ANSI Y15.3M ini terdapat lima macam simbol yang merupakan modifikasi simbol Gilbreth, yang mana lingkaran kecil diganti dengan anak panah untuk kegiatan transportasi dan menambah simbol baru untuk kejadian menunggu (delay). Berikut standar simbol-simbol tersebut:
OLingkaran besar untuk kegiatan operasi (operation/handling), misalnya: memaku, mengebor, mengetik, dll.
MBlok panah untuk kegiatan pemindahan (transportation/move), misalnya: memindahkan material dengan forklift, mengangkat barang dengan crane, memindahkan barang dengan tangan, dll.
ISegi empat untuk kegiatan pemeriksaan (inspection), misalnya: menguji kualitas material, membaca skala pengukur tekanan, meneliti informasi tertulis, dll.
SSegi tiga terbalik untuk penyimpanan (storage), misalnya: tumpukan raw material di gudang, barang jadi  di staging area, penyimpanan surat-surat, dll.
DHuruf D besar untuk kejadian menunggu (delay), misalnya: material dalam trolley  menunggu diproses lebih lanjut, menunggu elevator, surat-surat menunggu untuk diarsipkan, dll.

Simbol-Simbol Flowchart yang Umum Digunakan

Simbol-simbol flowchart yang digunakan Gilbreth kurang dikenal secara umum.  Ini mungkin karena meluasnya penggunaan Microsoft Office, yang mana Microsoft Office merujuk simbol-simbol dasar flowchart kepada simbol-simbol  flowchart untuk pengolahan data (data processing). Sejauh yang saya tahu simbol-simbol ini sama persis  dengan template yang digunakan IBM pada 1960-an untuk simbol flowchart pengolahan data. Berikut bentuk simbol-simbol tersebut:
Terminator, simbol untuk menunjukkan awal atau akhir dari aliran proses. Umumnya, diberi kata-kata ‘Start’, ‘End’, ‘Mulai’, atau ‘Selesai’.
ProcessProcess, simbol untuk menunjukkan sebuah langkah  proses atau operasi. Umumnya, menggunakan kata kerja dalam deskripsi yang singkat dan jelas.
DirectionConnector, tanda panah yang menunjukkan arah aliran dari satu proses ke proses yang lain.
 DecisionDecision, simbol untuk menunjukkan sebuah langkah  pengambilan keputusan. Umumnya, menggunakan bentuk pertanyaan, dan biasanya jawabannya terdiri dari ‘yes’ dan ‘no’ atau ‘ya’ dan ‘tidak’  yang menentukan bagaimana alur dalam flowchart berjalan selanjutnya berdasarkan kriteria atau pertanyaan tersebut.
Sub-processSub-process, simbol untuk menunjukkan bahwa dalam langkah yang dimaksud terdapat flowchart lain yang menggambarkan langkah tersebut lebih  rinci.
DocumentDocument, simbol untuk menunjukkan proses atau keberadaan dokumen.
I/OInput/Output, simbol untuk menunjukkan data yang menjadi input  atau output proses.
On-page ReferenceConnector (On-page), simbol untuk menunjukkan hubungan simbol dalam flowchart sebagai pengganti garis untuk menyederhanakan bentuk saat simbol yang akan dihubungkan jaraknya berjauhan dan rumit jika dihubungkan dengan garis.
Off-page ReferenceOff-page Connector, fungsinya sama dengan Connector, akan tetapi digunakan untuk menghubungkan simbol-simbol yang berada pada halaman yang berbeda. Label untuk Connector dapat menggunakan huruf dan Off-page Connector menggunakan angka.
Simbol-simbol yang diperlihatkan di atas adalah sebagian standar simbol-simbol yang disepakati dan banyak digunakan dibeberapa belahan dunia, mungkin saja organisasi atau perusahaan tempat anda bekerja mempunyai standar simbol sendiri, hal yang terpenting kita harus menyepakati simbol yang digunakan agar tidak terjadi konflik saat dikomunikasikan.

Menggambarkan Flowchart

Flowchart dalah alat pemetaan sederhana yang menunjukkan urutan tindakan dalam proses dalam bentuk yang mudah dibaca dan dikomunikasikan. Menurut Tague (2005), tujuan digunakannya flowchart antara lain:
  • Untuk mengembangkan pemahaman tentang bagaimana proses dilakukan.
  • Untuk mempelajari perbaikan proses.
  • Untuk berkomunikasi dengan orang lain bagaimana proses dilakukan.
  • Untuk keperluan komunikasi yang lebih baik di antara orang-orang yang terlibat dalam proses yang sama.
  • Untuk mendokumentasikan proses.
  • Untuk merencanakan sebuah proyek.
Flowchart yang baik dibuat secara kelompok/team. Anggota kelompok perlu  mendiskusikan dan menyepakati batasan-batasan proses atau kegiatan yang akan dimasukkan ke dalam flowchart.  Pecahkan proses tersebut ke dalam langkah-langkah yang dapat dituliskan dalam bentuk kata kerja  yang singkat dan jelas. Masing-masing langkah tersebut di tulis di dalam sebuah kotak, kemudian lakukan pemetaan dengan menghubungkan tiap kotak dengan tanda panah sesuai  urutan langkah-langkah proses (lihat Gambar 1). Gambar 1 juga menunjukkan bahwa flowchart selalu didahului dan diakhiri simbol terminator, ini merupakan batasan: Dimana atau kapan proses mulai? Di mana atau kapan proses berakhir?
basic-flowchart
Gambar 1. Unsur-Unsur Dasar Flowchart
Proses kian kompleks apabila terdapat keputusan yang harus dibuat/diambil, dalam flowchart simbolkan dalam bentuk wajik yang berisi pertanyaan sederhana yang jawabannya adalah ‘ya’ atau ‘tidak’ seperti dalam Gambar 2 di bawah ini.
decision-flowchart
Gambar 2. Pengambilan Keputusan dalam Flowchart
Idealnya sebuah flowchart ditempatkan dalam satu halaman karena dengan visual tunggal akan memudahkan bagi kita untuk membuat maupun membacanya, tapi terkadang kita menemui proses yang kompleks dan memiliki banyak langkah sehingga tidak cukup untuk ditampilkan dalam satu halaman, dimana antar kotak tidak dapat langsung dihubungkan dengan tanda panah. Simbol off-page connector perlu digunakan sebagai referensi penghubung flowchart antar halaman sebagaimana diilustrasikan pada Gambar 3 di bawah ini.
off-con-flowchart
Gambar 3. Melanjutkan Flowchart antar Halaman
Pada proses yang kompleks dan besar mungkin terdapat satu langkah proses yang dapat dipecahkan lagi menjadi langkah-langkah yang lebih kecil. Langkah proses tersebut perlu diberi simbol sub-process yang menandakan secara hirarki terdapat flowchart lain yang menjelaskan level proses yang lebih rinci, lihat contoh pada Gambar 4.
subp-flowchart
Gambar 4. Contoh Sub-process
Setelah kelompok selesai menggambarkan flowchart, hasilnya disampaikan dan ditinjau kembali bersama orang-orang yang terlibat dalam proses untuk melihat apakah mereka setuju bahwa proses telah dipetakan secara akurat.
Flowchart dimasukkan sebagai salah satu dari tujuh alat kualitas dasar karena dengan flowchart kita dapat dengan mudah melakukan perbaikan (improvement). Hal-hal yang perlu dianalisis dalam flowchart untuk program perbaikan antara lain:
  • Berapa lama waktu (cycle time) yang diperlukan untuk setiap langkah proses? Apakah lamanya siklus proses dapat dikurangi?
  • Apakah terjadi pengulangan proses/rework?
  • Apakah terdapat langkah-langkah yang tidak perlu/tidak bernilai tambah?
Flowchart merupakan alat yang berlaku untuk umum, yang dapat disesuaikan untuk berbagai tujuan. Istilah ‘flowchart’ bisa saja menggambarkan lebih banyak jenis diagram selain  yang ditampilkan dalam tulisan ini, beberapa di antaranya menunjukkan hubungan dan aliran input/output ketimbang langkah-langkah proses yang berurutan.  Flow diagramscross functional flowchart,  process flowchartsinterrelationship diagram, dan sebagainya dapat juga dikategorikan sebagai  flowchart.
Pembuatan flowchart bukanlah akhir dari proses. Alat ini perlu dimanfaatkan sepenuhnya untuk lebih memahami proses dan mengungkap peluang-peluang untuk perbaikan.
Rujukan:

Deutsches Institut für Normung. (September 1966). Sinnbilder für datenfluß- und programmablaufpläne. Deutsche Industrienorm DIN 66001. Tiergarten, Berlin: DIN. Retrieved from http://www.fh-jena.de/~kleine/history/software/DIN66001-1966.pdf
Flowchart. (2011). In ISO/IEC/IEEE 24765:2010(E), Systems and software engineering: Vocabulary (p. 144, 1st ed.). Switzerland: International Organization for Standardization.
IBM. (1969). Flowcharting techniques. (C20-8152-1 ed.). New York: IBM, Technical Publications Department. Retrieved from http://www.fh-jena.de/~kleine/history/software/IBM-FlowchartingTechniques-GC20-8152-1.pdf
Straker, D. (n.d.). The quality toolbook. Retrieved from http://www.syque.com/quality_tools/toolbook/toolbook.htm
Tague, N. R. (2005). The quality toolbox. (2th ed.). Milwaukee, Wisconsin: ASQ Quality Press. Available from http://asq.org/quality-press/display-item/index.html?item=H1224
The Ben Graham Corporation. (1998). Graham process charting symbols. Retrieved from http://www.worksimp.com/articles/symbols.htm
SUMBER UTAMA: https://eriskusnadi.wordpress.com/2012/09/22/standar-simbol-simbol-flowchart-dan-penggunaannya/
Share:

Pengertian PseudoCode dan Contohnya

Pengertian Pseudocode

adalah sebuah kode yang digunakan untuk menulis sebuah algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu. Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma. Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma. Pseudo berarti imitasi dan code berarti kode yang dihubungkan dengan instruksi yang ditulis dalam bahasa komputer (kode bahasa pemrograman). Apabila diterjemahkan secara bebas, maka pseudocode berarti tiruan atau imitasi dari kode bahasa pemrograman. Pada dasarnya, pseudocode merupakan suatu bahasa yang memungkinkan programmer untuk berpikir terhadap permasalahan yang harus dipecahkan tanpa harus memikirkan syntax dari bahasa pemrograman yang tertentu. Tidak ada aturan penulisan syntax di dalam pseudocode. Jadi pseudocode digunakan untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya. Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan suatu aturan-aturan penulisan syntax yang cukup sederhana agar pembaca dapat lebih mudah dalam mempelajari algoritma-algoritma yang ada di dalam buku ini. Pseudocode yang ditulis di dalam buku ini akan menyerupai (meniru) syntax-syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak akan ada kesulitan bagi pembaca untuk memahami algoritma-algoritma dalam buku ini walaupun pembaca belum pernah mempelajari bahasa Pascal. Contoh algoritma menentukan bilangan terbesar dari tiga bilangan yang ditulis dalam bentuk pseudocode bergaya buku ini.

.


Struktur Kode Pseudo (Pseudo-code)
 Judul
         {Berisi Judul Algoritma}
Deskripsi
         {Berisi Deklarasi Variabel atau Konstantan}
Implementasi
         {Berisi Inti Algoritma}
Notasi - notasi Pseudo
1. Bentuk
Pernyataan
 X <---- Y
keterangan :
X : diberi nilai
Y : Memberi Nilai
Ex : Hasil <---- Bilangan Mod 2
2. Bentuk Percabangan
  • if kondisi then
          pernyataan
  • if kondisi 1 then
          pernyataan 1
    else
          pernyataan 2
  • if kondisi 1 then
          pernyataan 1
    else if kodisi 2 then
          pernyataan 2
    else if kondisi n then
          pernyataan
    else
          pernyataan else
3. Bentuk Perulangan
  • for (persyaratan) do
          pernyataan for
  • while (persyaratan)
          pernyataan while
  • Repeat
          pernyataan repeat
    Until (persyratan)
Contoh : Algoritma untuk menentukan bilangan Genap/Ganjil (Pseudo-code)
 Deskripsi
      hasil,bil : integer
Implementasi
      Baca (bil)
      hasil <---- bil mod 2
if hasil = 0 then
      cetak (Genap)
else
      cetak (Ganjil)
End.
Semoga Bermanfaat ^^ .. 



sumber: https://shiirefaa.blogspot.co.id/2015/10/pengertian-dan-pengenalan-pseudocode.html
Share:

Pengertian Algoritma

Pengertian Algoritma

Pengertian algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma sederhana dalam kehidupan nyata adalah pada saat memasak air. Hal-hal yang perlu dilakukan untuk memasak air 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. 

Dalam ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari beberapa instruksi yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan input awal, instruksi tersebut mendeskripsikan komputasi yang apabila itu dieksekusi serta diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan baik, sehingga dapat menghasilkan output atau keluaran dan berhenti di kondisi akhir yang telah ditentukan. 

Pengertian Algoritma
Algoritma sangat diperlukan untuk mengolah data yang ada di komputer. Dalam sistem komputer, pengertian algoritma ialah logika yang dibuat dengan memakai software oleh para pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika guna menghitung kebalikan eksponen dari sebuah perpangkatan.

Kata Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi, beliau merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9. Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18. 

Untuk lebih jelasnya lagi, berikut salah satu contoh algoritma :
Algoritma untuk menghitung nilai x dari persamaan x = 17y + 9 :
1) Memulai
2) Menentukan nilai y
3) Menghitung nilai x = 17y + 9
4) Menyelesaikan

Bentuk Dasar Algoritma

Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain : 
  1. Algoritma Sekuensial (Sequence Algorithm)
  2. Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya seperti algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari atas sampai bawah.
  3. Algoritma Perulangan (Looping Algorithm)
  4. Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur pakaian: 
    1) Siapkan jemuran.
    2) Ambil satu pakaian yang nantinya akan dijemur.
    3) Peras pakaian tersebut terlebih dahulu.
    4) Letakkan pakaian tersebut pada tiang jemuran.
    5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
    Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara berulang-ulang hingga pakaian habis.
  5. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
  6. Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari algoritma bersyarat : 
    1) Siapkan panci.
    2) Masukkan air secukupnya ke dalam panci.
    3) tutup panci tersebut.
    4) letakkan panci tersebut di atas kompor.
    5) Hidupkan kompor.
    6) Apabila air sudah mendidih, lalu matikan kompor.
    7) Angkat panci tersebut dari kompor.
    Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan.


Merancang Algoritma yang Baik

Menurut Donald E. Knuth, dari pengertian algoritma diatas dapat diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut : 
  1. Masukan (Input)
  2. Algoritma mempunyai input 0 (nol) atau lebih
  3. Keluaran (Output)
  4. Algoritma harus menghasilkan atau mengeluarkan minimal 1 output.
  5. Terbatas (Finite)
  6. Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
  7. Pasti (Definite)
  8. Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas.
  9. Efisien
  10. Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma.

Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan atau bahasa dan bentuk gambar. Penyajian algoritma dalam bentuk bahasa atau tulisan harus memakai sebuah bahasa yang dapat untuk dimengerti manusia dalam membuat langkah-langkah dari algoritma itu sendiri. Penyajian algoritma dalam bentuk tulisan/bahasa dapat dilakukan dengan memakai pseudocode. Pseudocode berasal dari "pseudo" aritnya "menyerupai atau mirip" dan "code" yaitu "kode program". Contoh dari beberapa bahasa pemrograman yang sering digunakan untuk menyatakan pseudocode antara lain : pascal, BASIC, Pascal, C, dan lain sebagainya. Terdapat juga penyajian algoritma yang dalam bentuk gambar disebut flow chart. 

Klasifikasi Algoritma

Salah satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara implementasi. 
  1. Rekursi atau iterasi
  2. Algoritma rekursi ialah suatu algoritma yang memanggil dirinya sendiri secara berulang kali (looping) hingga pada kondisi tertentu dapat tercapai. Rekursi merupakan suatu metode umum dalam pemrograman fungsional. Algoritma iteratif memakai konstruksi berulang seperti pada pengulangan dan terkadang terdapat struktur data tambahan. Beberapa permasalahan secara alami dapat cocok dengan 1 implementasi atau yang lainnya. Contohnya : Menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif mempunyai adanya kesamaan (bisa lebih ataupun kurang kompleks) dengan versi iteratif, ataupun sebaliknya.
  3. Logical
  4. Algoritma dapat dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini dapat diekspresikan sebagai: Algoritma = kontrol + logika. Komponen logika yang mengekspresikan aksioma dapat digunakan dalam komputasi serta komponen kontrol dalam menentukan cara-cara deduksi yang digunakan pada aksioma. Hal tersebut adalah dasar dari paradigma pemrograman logika. Dalam pemrograman, logika murni komponen kontrol ialah tetap serta algoritma yang ditentukan dengan memberikan hanya ada komponen logikanya. Daya tarik dari pendekatan logical ialah semantik elegan, sebuah perubahan yang ada dalam aksioma mempunyai perubahan dalam algoritma.
  5. Serial, paralel atau terdistribusi
  6. Pada umumnya, suatu algoritma menjalankan satu instruksi algoritma setiap waktu. Komputer tersebut dapat disebut dengan komputer serial. Rancangan algoritma yang digunakan bagi lingkungan tersebut ialah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan arsitektur komputer yang mana terdapat prosesor-prosesor dapat mengerjakan masalah pada waktu yang sama. Sedangkan algoritma terdistribusi menggunakan banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel membagi permasalahan ke banyak submasalah simetris maupun asimetris dan mengumpulkan hasil yang didapat kembali. Konsumsi dari sumber pada algoritma tersebut tidak hanya ada perputaran prosesor tapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan dapat untuk diparalelkan secara efisien, namun terdapat biaya komunikasi yang sangat mahal. Algoritma iteratif pada umumnya dapat untuk diparalelkan. Ada juga permasalah yang tidak ada algoritma paralelnya, disebut dengan permasalahan serial lahiriah.
  7. Deterministik atau non-deterministik
  8. Terdapat juga algoritma determministik dan non-determenistik. Algoritma deterministik dapat menyelesaikan masalah-masalah dengan keputusan tepat disetiap langkah-langkah dari sebuah algoritma. Algoritma non-deterministik dapat menyelesaikan masalah-masalah lewat adanya penerkaan walaupun penerkaan tersebut pada umumnya lebih akurat dengan memakai heuristik.
  9. Tepat atau perkiraan
  10. Jika terdapat banyak algoritma dapat sampai ke solusi yang tepat, ada juga algoritma perkiraan yang mencari perkiraan terdekat dengan solusi benarnya. Perkiraan tersebut dapat memakai strategi deterministik ataupun acak. Algoritma yang seperti itu dapat mempunyai nilai lebih untuk banyak permasalahan yang sulit.
  11. Algoritma quantum
  12. Berjalan pada model realistik dari komputasi quantum. Istilah tersebut pada umumnya dipakai bagi algoritma yang pada dasarnya quantum, ataupun memakai fitur-fitur penting dari komputasi quantum seperti belitan quantum atau superposisi quantum.


Contoh Algoritma

  1. Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
  2. Terdapat bilangan yang bernama bilang bulat yaitu 0, 1, -1, 2, dst serta bilangan asli 1, 2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan bilangan-bilangan bulat dalam buku teks aljabar pada umumnya dinyatakan dengan lambang "Z" dan himpunan bilangan-bilangan asli dinyatakan dengan lambang "N". Algoritma guna menentukan apakah bilangan tersebut ganjil atau genap dapat disajikan dengan flowchart seperti dibawah ini :
    Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
    Bilangan genap merupakan sebuah bilangan bulat yang akan habis atau tidak memiliki sisa jika dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan bulat yang tidak akan habis apabila dibagi 2 (dua).
  3. Menghitung Keliling dan Luas Lingkaran
  4. Lingkaran merupakan suatu himpunan dari semua titik-titik pada bidang dalam jarak yang tertentu dan disebut dengan jari-jari dari titik tertentu dan dapat disebut titik pusat. Lingkaran merupakan contoh dari kurva tertutup sederhana, lingkaran membagi bidang menjadi bagian luar dan dalam. Algoritma menghitung keliling serta luas lingkaran dapat disajikan dengan flowchart seperti dibawah ini :
    Menghitung Keliling dan Luas Lingkaran
  5. Menampilkan Bilangan Ganjil Diantara 10 sampai 30
  6. Bilangan ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang akan ditampilkan kecuali bilangan 21 dan 27. Jadi output yang diharapkan dari algoritma tersebut adalah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan 27. Algoritma untuk menampilkan bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 disajikan dengan flowchart dibawah ini :
    Menampilkan Bilangan Ganjil Diantara 10 sampai 30
  7. Algoritma tahun Kabisat
  8. Terdapat juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang memiliki tambahan 1 hari dan bertujuan agar kalender dapat sinkron dengan musim tahunan dan keadaan astronomi. Bulan Februari memiliki 29 hari pada saat tahun kabisat. Tahun yang dapat untuk dibagi dengan 4 adalah tahun kabisat. Algoritma guna menentukan tahun kabisat jika disajikan dengan flowchart seperti dibawah ini :
    Algoritma tahun Kabisat
  9. Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
  10. Bilangan genap merupakan sebuah bilangan-bilangan bulat yang habis jika dibagi 2. Deret yang ditampilkan dari algoritma kali ini merupakan deret dari bilangan genap dari 2 hingga ke n kecuali bilangan yang merupakan kelipatan 4. Algoritma tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
    Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
  11. Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon
  12. Ada juga algoritma yang dapat menghitung jumlah dari biaya yang harus dibayar oleh sang pembeli setelah mendapatkan sebuah diskon 10% dengan syarat jumlah dari total pembelian tersebut Rp.1.500.000,- Algoritma guna menghitung besaran biaya tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
    Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon
    Jumlah barang memiliki sifat yang dinamik sesuai dengan input atau masukkan dari user. Apabila jumlah total dari harga tersebut kurang 1500000 maka tidak mendapatkan sebuah diskon.
  13. Mencari Maks dan Min dari suatu Deret Bilangan
  14. Terdapat juga sebuah algoritma guna mencari nilai maks serta min dari suatu n deret bilangan yang dimasukkan atau diinput oleh user. Algoritma tersebut dapat disajikan dengan flowchart seperti dibawah ini :
    Mencari Maks dan Min dari suatu Deret Bilangan
  15. Kalkulator Sederhana dari 2 Bilangan
  16. Terdapat sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya dapat melakukan perhitungan dari 2 bilangan yang diinput oleh user. Algoritma guna menghitung 2 bilangan dapat digambarkan dengan flowchart seperti dibawah ini :
    Kalkulator Sederhana dari 2 Bilangan
  17. Menghitung Beberapa Angka dari Suatu Bilangan
  18. Pada flowchart kali ini mengenai sebuah algoritma untuk menghitung beberapa angka dari suatu bilangan yang dimasukkan atau diinput oleh user. Berikut flowchart algoritma tersebut :
    Menghitung Beberapa Angka dari Suatu Bilangan
  19. Membalik Sebuah Kalimat
  20. Seperti yang kita ketahui sebelumnya tentang pengertian algoritma, bahwa algoritma juga dapat untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan "woocara" dibalik menjadi "aracoow". Struktur data yang digunakan ialah Stack. Untuk membalik sebuah bilangan, huruf dari kalimat kita input dalam stack dengan menggunakan metode Push. Setelah stack tersebut sudah terisi, maka output kembali dengan memakai metode Pop. Pada algoritma membalik sebuah kalimat, adanya penggunaan struktur data stack diimplementasikan ke array. Dalam implementasinya ke array tersebut, kita harus terlebih dahulu menyiapkan sebuah array dengan memiliki panjang yang sama dengan jumlah huruf yang ada dalam kalimat yang akan dibalik tersebut. Pada gambar flowchart dibawah ini, terdapat tiap huruf dari kalimat yang diinput pada array dengan index ke-0 hingga ke-n dengan memakai metode push.
    Membalik Sebuah Kalimat
    Kemudian huruf tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.

Itulah pengertian algoritma, bentuk dasar algoritma, klasifikasi algoritma, dan contoh algoritma. Algoritma sangat diperlukan untuk mengolah data yang ada di komputer.

Read more: http://woocara.blogspot.com/2016/02/pengertian-algoritma-contoh-algoritma.html#ixzz4ztlAdpJW
Share: