Algoritma Komputer Dan Psedocode



A.    Algoritma
Pemrograman komputer danalgoritma pemrograman adalah duahal yang tidak dapat dipisahkankarena pembuatan programkomputer akan lebih sulit dan lamatanpa mengetahui dengan pastibagaimana algoritma penyelesaianmasalahnya. Sebelum mengetahuilebih lanjut apa yang dimaksuddengan algoritma pemrograman, kitabahas dahulu apa yang dimaksuddengan pemrogramankomputer atauprogram komputer.
Definisi program computer adalah sederetan perintah-perintah (instruksi) yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. Deretan perintah-perintah tersebut tidak bisa kita tulis secara sembarangan atau semau kita tetapi harus teratur agar komputer dapat memahami dan memprosesnya dengan baik sehingga permasalahan yang ada dapat diselesaikan dengan baik pula.
Untuk itulah diperlukan algoritma karena definisi dari algoritma itu sendiri menurut Microsoft Press Computer and Internet Dictionary (1998) adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat dan disusun secara sistematis. Sedangkan yang dimaksud dengan langkah-langkah logis adalah kita harus dapat mengetahui dengan pasti setiap langkah yang kita buat.
Menurut Sjukani (2005), algoritma adalah alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. Jadi dapat disimpulkan bahwa algoritma lebih merupakan alur pemikiran untuk menyelesaikan suatu pekerjaan atau suatu masalah daripada pembuatan program komputer. Algoritma inilah yang kemudian dijadikan landasan (pedoman) untuk membuat programkomputer.
Meskipun algoritma tidak dapat dipisahkan dengan pemrograman komputer tetapi jika andaberanggapan bahwa algoritma identic dengan pemrograman komputer, anda salah besar. Hal ini dikarenakan dalam kehidupan sehari-haripun seringkali kita berhadapan dengan masalah-masalah yang kalau kita cermati mengikuti kaidah-kaidah penyelesaian secara algoritma. Misalkan saja cara-cara memasak mie instan, membuat kopi atau teh, memasak makanan yang dinyatakan dalam bentuk resep, dan masih banyak lagi yang semuanya itu dapat kita sebut sebagai algoritma. Pada mie instan misalnya, biasanya pada bungkusnya terdapat urutan langkahlangkah bagaimana cara memasak atau menyajikannya. Bila langkah-langkah tersebut tidak logis, maka dapat dipastikan bahwa kita akan
memperoleh hasil yang tidak sesuai dengan yang diharapkan. Kita harus membaca satu demi satu langkah
-langkah pembuatannya kemudian mengikutinya agar memperoleh hasil yang baik. Yang harus diingat disini adalah kita tidak harus mengikuti langkahlangkah yang sudah diberikan, tetapi kita dapat memodifikasinya atau bahkan membuat resep atau cara baru yang lebih baik tetapi menghasilkan hal yang sama (mempunyai tujuan yang sama), yaitu dapat menikmati hasil masakan.Demikian juga dengan pemrograman komputer, kita juga tidak harus mengikuti algoritma yang sudah ada, tetapi kita dapat menambah ataupun mengurangi bahkan membuat algoritma yang baru asalkanpermasalahan yang ada dapat terpecahkan dengan baik.

B.     Ciri Algoritma
Oleh karena algoritma digunakanuntuk memecahkan suatupermasalahan maka algoritmatersebut harus menghasilkan suatujawaban atas permasalahan tersebut.Dengan kata lain algoritma harusmemiliki paling tidak satu keluaran.Sedangkan masukan dari algoritmadapat nol (tidak ada) atau banyakmasukan (data). Yang dimaksud dengan nol masukan adalah jikaalgoritma itu hanya untukmenampilkan suatu informasi saja.  Misalnya output “Hello World” yangsering kita temukan pada tutorial-tutorial saat kita baru belajarmembuat program dari suatu Bahasapemrograman tertentu.
Kedua haldiatas, memiliki paling sedikit satukeluaran dan dapat memiliki nol ataubanyak masukan, merupakan duadari beberapa ciri algoritma.Tugas algoritma dikatakanselesai kalau algoritma tersebutsudah menghasilkan satu atau lebihjawaban atas permasalahan yangada. Dengan demikian setelahmengerjakan langkah-langkahpenyelesaian masalah, makaalgoritma tersebut harus berhentitidak melakukan proses apapun.Berhenti di sini artinya adalah jikaditerjemahkan ke dalam bentukprogram dan program dijalankan,maka setelah menghasilkan suatuoutput, program dapat langsungberhenti atau menunggu instruksilebih lanjut dari pengguna programseperti mengulang perhitungan lagi,keluar program (menghentikanprogram), dan lain sebagainya.Dengan demikian ciri ketiga darialgoritma adalah setelah selesaimengerjakan langkah-langkahpenyelesaian masalah, algoritmaharus berhenti.

Ciri keempat dari algoritmaadalah setiap langkah yang dibuatharus dibuat sesederhana mungkintetapi efektif agar dapat dipahamioleh pemroses (manusia maupunkomputer) sehingga dapatdiselesaikan dalam waktu yangsingkat serta masuk akal. Sedangkanciri yang terakhir adalah setiaplangkah dalam algoritma harusdidefinisikan dengan tepat dan jelassehingga tidak berarti-dua(ambiguitas) sehingga menimbulkankesalahan dalam penafsiran olehpemroses.
C.    Penerapan Algoritma
Berikut adalah contohpemecahan masalah (algoritma)yang diambil dari permasalahanyangmungkin sering kita hadapi dalamkehidupan kita sehari-hari. Diketahuidua buah ember A dan B dimanaember A berisi air dan ember B berisiminyak tanah. Jika diinginkan isikedua ember itu saling ditukarsehingga ember A berisi minyaktanah dan ember B berisi air,bagaimanakah caranya?  Apakahcukup dengan cara (membuatalgoritma), tuangkan isi ember A keember B dan kemudian tuangkan isiember B ke ember A? Apakahpermasalahan dapat diselesaikandengan cara (algoritma) tersebut?Jawabannya adalah tidak, karenaalgoritma tersebut tidak logis danhasilnyapun tidak sesuai denganyang diinginkan karena algoritmatersebut akan menghasilkan ember Aakan berisi campuran air dan minyaktanah sedangkan ember B akankosong.
Bagaimanakah cara (algoritma)yang benar dari permasalahantersebut? Algoritma yang benaradalah pindahkan dahulu isi ember Ake ember lain (misal ember C),kemudian setelah ember A kosongpindah isi ember B ke ember A.Langkah terakhir adalah mengisiember B dengan minyak tanah yangada di ember C. Inilah algoritma yangpaling logis dan menghasilkanjawaban yang benar ataspermasalahan tersebut.
Seperti yang telah dikemukakansebelumnya, setiap orangmempunyai cara pemecahan sendiri-sendiri sehingga setiap orangdimungkinkan mempunyai algoritmayang berbeda-beda untukmemecahkan suatu permasalahanyang sama. Contohnya adalahpermasalahan di atas. Langkahpertama bisa saja yang dipindahbukan isi ember A ke ember C dulu,tetapi isi ember B yang dipindahkanke dalam ember C terlebih dahulu.Setelah itu baru memindahkan isiember A ke dalam ember B danterakhir memindah isi ember C keember A. Algoritma ini sedikitberbeda tetapi tetap menghasilkanjawaban yang sama atas persoalanyang ada.

D.    Notasi Algoritma
Algoritma mempunyai aturanpenulisan sendiri yang disebutdengan notasi algoritma. Notasialgoritma ini tidak tergantung darispesifikasi bahasa pemrogramantertentu dan komputer yangmengeksekusinya. Hal inidikarenakan notasi algoritmabukanlah notasi Bahasapemrograman. Notasi algoritmamerupakan bahasa universal yangdapat diterima oleh semua Bahasapemrograman yang ada. Oleh sebabitu algoritma yang baik harus dapatditerjemahkan ke dalam bentuksource code dari semua Bahasapemrograman yang ada.Untuk membuat algoritma darisuatu permasalahan, biasanyadigunakan salah satu dari tiga buahnotasi algoritma yang dikenal, yaituuraian kalimat eskriptif, flow chart,atau pseudo code.
Sebagai contohpermasalahan, jika diinginkan sebuahprogram komputer yang dapatmengetahui bilangan terbesar daritiga buah bilangan yang dimasukkan.Bagaimanakah algoritmanya?

E.     Deskriptif Algoritma
Algoritma dengan uraian kalimatdeskriptif adalah notasi algoritmayang paling sederhana karenaalgoritma ini menggunakan Bahasasehari-hari. Untuk permasalahanyang sederhana penggunaan notasiini sangatlah mudah, akan tetapiuntuk permasalahan yang lebihkomplek dan rumit, penggunaannotasi ini akan lebih sulit dan seringkali terjadi ambigu dalam langlahlangkah penyelesaian masalah. Olehkarena itulah untuk kasus-kasus yanglebih komplek, penggunaan notasi inijarang sekali bahkan tidak digunakan.Permasalahan di atas, yaitumencari bilangan terbesar dari tigabuah bilangan yang dimasukkan,tergolong permasalahan yangsederhana, jadi algoritmanya masihmudah dan dapat dijelaskan denganuraian kalimat deskriptif sebagaiberikut:
1.      Masukkan sembarang bilangan sebanyak tiga buah.
2.      Ambil bilangan pertama dan set maksimumnya sama dengan bilangan pertama.
3.      Ambil bilangan kedua dan bandingkan dengan maksimum.
4.      Apabila bilangan kedua lebih besar dari maksimum maka ubah maksimumnyamenjadi sama dengan bilangan kedua.
5.      Ambil bilangan ketiga dan bandingan dengan maksimum.
6.      Apabila bilangan ketiga lebih besar dari maksimum maka ubah lagi maksimumnya menjadi sama dengan bilangan ketiga.
7.      Variabel maksimum akan berisi bilangan yang terbesar dan tampilkan hasilnya.
Algoritma dengan uraian kalimatdeskriptif seperti di atas sudah jarangsekali kita temukan karena kadangkala agak sulit untuk memahaminya.Yang paling banyak kita temukanadalah algoritma (dengan uraiankalimat deskriptif) yang ditulis secaralebih sistematis dan efisien sehinggalebih mudah untuk memahaminya.
Algoritma tersebut adalah sebagaiberikut:
1.      Masukkan a, b, dan c.
2.      mak ß a.
3.      Jika b > mak, kerjakan langkah ke4. Jika tidak, kerjakan langkah ke5.
4.      mak ß b.
5.      Jika c > mak, kerjakan langkah ke6. Jika tidak, kerjakan langkah ke7.
6.      mak ß c.
7.      Tulis mak.


Dalam notasi algoritma, baikmenggunakan notasi algoritmadengan uraian kalimat deskriptif, flowchart maupun pseudo code, kita tidakmenggunakan tanda = (samadengan) tetapi menggunakan simbolanak panah ke arah kiri ßsepertiyang terlihat pada langkah ke-2,4,dan 6. Sebagai contoh pada langkahke-2, arti dari notasi tersebut adalahnilai variabel a (yang ada di sebelahkanan anak panah) diberikan kepadavariabel mak (yang ada di sebelahkiri anak panah). Dengan demikianjika nilai variabel a adalah 10, makanilai mak juga 10 atau dalampenulisan secara matematis mak = a.
Penggunaan anak panah inidikarenakan, seperti yang telahdikemukakan sebelumnya, algoritmatidak diperuntukkan untuk suatubahasa pemrograman tertentu, tetapidapat diaplikasikan atauditerjemahkan ke dalam bentuksource code dari semua Bahasapemrograman yang ada.
Dalampascal misalnya, notasi yangdigunakan untuk tanda = (samadengan) adalah := (titik duadilanjutkan dengan tanda samadengan) sehingga langkah ke-2 akanditerjemahkan menjadi mak := a.Akan tetapi dalam bahasa C++maupun Java, tanda = samadengan) masih tetap digunakansehingga penerjemahannya adalahmak = a

F.     Flow Chart
Notasi algoritma yang palingbanyak digunakan adalah flow chartkarena bentuknya yang sederhanadan mudah dipahami. Flow chart(diagram alir) adalah penggambaransecara grafik dari langkah-langkahpemecahan masalah yang harusdiikuti oleh pemroses. Flow chartterdiri atas sekumpulan symboldimana masing-masing simbolmenggambarkan suatu kegiatantertentu.
Flow chart diawali denganpenerimaan masukan (input),pemrosesan masukan, dan diakhiridengan menampilkan hasilnya(output).Adapun simbol-simbol yangsering digunakan untukmenyusunflow chart (dalam microsoft visio)adalah sebagai berikut :
1)      Masukan
Masukan merupakan kegiatanpenerimaan data yangdisimbolkan dengan jajarangenjang. Kita dapat menuliskanmasukan yang diperlukan padasuatu waktu secara satu per satumaupun secara keseluruhan,akan tetapi untuk alasan efisiensiruang gambar biasanya masukandituliskan bersamaan secarakeseluruhan.

Gambar 1. Simbol masukan


2)      Masukan manual
Untuk masukan secara manualyang dimasukkan melaluikeyboard, atau perangkatinputlainnya seperti barcode reader,kita dapat menggunakan symbolmasukan secara manual. Samadengan simbol masukan, padasimbol masukan manual ini untukalasan efisiensi ruang gambarbiasanya masukan juga dituliskanbersamaan secara keseluruhan.
Gambar 2. Simbol masukanmanual
3)      Proses
Data yang dimasukan kemudiandiproses untuk menghasilkanjawaban atas persoalan yangingin dipecahkan. Kegiatanmemproses data ini disimbolkandengan persegi panjang. Samaseperti simbol pada masukan,penulisan operasi-operasi padadata dapat dilakukan secara satuper satu maupun secarakeseluruhan.
Gambar 3. Simbol proses
4)      Keluaran

Keluaran adalah hasil daripemrosesan data dan merupakanjawaban atas permasalahan yangada. Keluaran ini harusditampilkan pada layar monitoragar dapat dibaca oleh penggunaprogram. Sama seperti aturanpada simbol-simbol sebelumnya,penulisan hasil pemrosesan datadapat dilakukan secara satu persatu maupun secara keseluruhan.


Gambar 4. Simbol keluaran
5)      Percabangan
Yang dimaksud denganpercabangan disini adalah suatukegiatan untuk mengecek ataumemeriksa suatu keadaanapakah memenuhi suatu kondisitertentu atau tidak. Jadi dalampercabangan ini, kita harusmenuliskan kondisi apa yangharus dipenuhi oleh suatukeadaan. Hasil dari pemeriksaankeadaan ini adalah YA atauTIDAK. Jika pemeriksaankeadaan menghasilkan kondisiyang benar, maka jalur yangdipilih adalah jalur yang berlabelYA, sedangkan jika pemeriksaankeadaan menghasilkan kondisiyang salah, maka jalur yangdipilih adalah jalur yang berlabelTIDAK. Berbeda dengan aturanpada simbol-simbol sebelumnya,penulisan kondisi harus dilakukansecara satu per satu (satu notasipercabangan untuk satu kondisi).
Gambar 5. Simbol percabangan
6)      Sub rutin
Sub rutin adalah suatu bagiandalam program yang dapatmelakukan (atau diberi) tugastertentu. Jadi sub rutinmerupakan “program kecil” yangmenjadi bagian dari suatuprogram yang besar. Sub rutinada dua macam, yaitu prosedur(procedure) dan fungsi (function).Perbedaan antara keduanyaadalah setelah dipanggil prosedurtidak mengembalikan suatu nilaisedangkan fungsi selalumengembalikan suatu nilai.
Dalam bahasa C++ kedua subrutin tersebut dijadikan satu yaitufunction, sedangkan untuk Javamenggunakan class dimanakeduanya bisa diatur untuk dapatmengembalikan nilai atau tidakdapat mengembalikan nilai. Subrutin ini akan didiskusikan padabab tersendiri.Sub rutin memiliki suatu flowchart yang berdiri sendiri diluarflow chart utama.
Jadi dalamsimbol sub rutin, kita cukupmenuliskan nama sub rutinnyasaja, sama seperti jika kitamelakukan pemanggilan terhadapsuatu sub rutin pada programutama (main program) yang akananda pelajari pada bagian ataubab lain pada buku ini. Aturanpenulisan simbol sub rutin samadengan simbol percabangan,yaitu penulisan nama sub rutindilakukan secara satu per satu.
                            
Gambar 6. Simbol sub rutin
7)      Arah aliran
Arah aliran merupakan jalur yangharus diikuti dan merupakan garispenghubung yangmenghubungkan setiap langkahpemecahan masalah yang adadalam flow chart. Arah aliran inidisimbolkan dengan anak panah
                                 
Gambar 7. Simbol arah aliran
8)      Terminator
Terminator berfungsi untukmenandai titik awal dan titik akhirdari suatu flow chart. Simbolterminator ini diberi label MULAIuntuk menandai titik awal dariflow chart dan label SELESAIuntuk menandai titik akhir dari flow chart. Jadi dalam sebuahflow chart harus ada dua symbolterminator, yaitu symbolterminator untuk MULAI danSELESAI.

Gambar 8. Simbol terminator
9)      Konektor
Konektor berfungsi untukmenghubungkan suatu langkahdengan langkah lain dalamsebuah flow chart dengankeadaan on page atau off page.Yang dimaksud dengan konektoron page adalah konektor yangdigunakan untuk menghubungkansuatu langkah dengan langkahlain dalam satu halaman.
Sedangkan konektor off pageadalah konektor untukmenghubungkan suatu langkahdengan langkah lain dalamhalaman yang berbeda. Konektorini digunakan apabila ruanggambar yang kita gunakan untukmenggambar flow chart tidakcukup luas untuk memuat flowchart secara utuh, jadi perludipisahkan atau digambar dihalaman yang berbeda.

Gambar 9. Simbol konektor onpage (a) dan off page (b)

10)  Dokumen
Dokumen merupakan tampilandata secara fisik yang dapatdibaca oleh manusia. Data inibiasanya merupakan hasilpemecahan masalah (informasi)yang telah dicetak (print out).
Gambar 10. Simbol dokumen
Berikut adalah flow chart untukpermasalahan yang diberikan(mencari bilangan terbesar dari tigabilangan acak yang dimasukkan)


Gambar 11. Flowchart
G.    Pseudo code
Pseudo code adalah algoritmayang bentuknya (strukturnya) sangatmirip dengan bahasa pemrogramankhususnya bahasa pemrogramanterstruktur seperti pascal. Kemiripanini merupakan keuntungan daripseudo code karena implementasiatau penerjemahan algoritma kedalam source code suatu Bahasapemrograman sangatlah mudahmeskipun penggunaannya tidaksepopuler flow chart.Dalam penulisannya, pseudocode harus terdiri dari tiga bagian,yaitu :
1.      Judul algoritma
Bagian yang terdiri atas namaalgoritma dan penjelasan(spesifikasi) dari algoritmatersebut. Nama sebaiknyasingkat dan menggambarkanapa yang dapat dilakukan olehalgoritma tersebut.
2.      Deklarasi
Bagian untuk mendefinisikansemua nama yang digunakan didalam program. Nama tersebutdapat berupa nama tetapan,peubah atau variabel, tipe,prosedur, dan fungsi.
3.      Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalahyang ditulis denganmenggunakan aturan-aturan yangakan dijelaskan selanjutnya.Algoritma untuk permasalahan diatas yaitu mencari bilangan terbesardari tiga bilangan acak yangdimasukkan dengan menggunakanpseudo code adalah:
Algoritma bilangan_terbesar
{ a l g o r i t m a ini mencari bilangan terbesar dari tiga bilangan yang dimasukkan}
Deklarasi
a,b,c,mak : integer
deskripsi
read(a,b,c)
mak ßa
if (mak<b)
makß b
else if(mak<c)
mak ß c
end if
write(mak)

Dalam pseudo code, garisbawah harus digunakan untuk kataalgoritma (yang diikuti oleh judul darialgoritma), kata deklarasi, katadeskripsi, tipe data, read, write, if,else, end if, for,end for, while, endwhile, do while, dan end do while

H.    Penerjemahan ke kodesumber
Sebelum membahas mengenaipenerjemahan algoritma ke dalambentuk source code Bahasapemrograman (program komputer)C++ atau bahasa lainnya sepertiJava maka sebaiknya kitamengetahui lebih dahulu langkahlangkah yang biasa dilakukan untukmembuat suatu program komputer.Langkah-langkah tersebut adalah :
1.      Mendefinisikan permasalahan
Ini merupakan langkah pertamayang sering dilupakan orang.Menurut hukum Murphy (HenryLedgard): “Semakin cepatmenulis program, akan semakinlama kita dapatmenyelesaikannya”. Hal initerutama dirasakan apabila kitamembuat program untukpermasalahan yang komplek.Oleh karena itu sebelum kitamenulis source code suatuprogram sebaiknya kitamenentukan ataumengidentifikasi terlebih dahuluinti dari permasalahannya,kemudian apa saja yang dapatdan harus dipecahkan denganbantuan komputer, dan yangterakhir adalah apa masukanuntuk programnya danbagaimana nanti keluarannya.
2.      Menemukan solusi
Setelah mendefinisikan masalah,maka langkah berikutnya adalahmenentukan solusinya. Jikapermasalahan terlalu komplek,maka ada baiknya masalahtersebut dipecah menjadibeberapa modul kecil dapatberupa prosedure, fungsi, atauclass sehingga akan lebih mudahuntuk diselesaikan. Penggunaanmodul ini akan membuat programutamanya menjadi lebih singkat,mudah untuk dilihat dan dianalisisuntuk tujuan debuging serta untukpengembangan dari program.
3.      Memilih algoritma
Pilihlah (atau buatlah) algoritmayang benar-benar sesuai danefisien untuk permasalahan yangdiberikan.
4.      Memilih bahasa pemrogramandan menulis source codeprogram
Bahasa pemrograman yangdigunakan hendaknya Bahasayang memang sudah anda kuasaidengan baik. Atau jika masihdalam tahap belajar, pilihlahbahasa pemrograman yangmudah dipelajari dan digunakanserta memiliki tingkatkompatibilitas tinggi denganperangkat keras dan platform(sistem operasi) lainnya.
5.      Menguji program
Setelah selesai menulis sourcecode (program sudah jadi), ujilahprogram tersebut dengan segalamacam kemungkinan yang ada,termasuk error-handling, sehingga program tersebut benar-benarhandal dan layak untukdigunakan.
6.      Menulis dokumentasi
Dokumentasi sangatlah pentingagar pada suatu saat jika kitaingin mengembangkan program,kita tidak mengalami kesulitandalam membaca source codeyang sudah kita tulis. Cara palingmudah dan sederhana dalammembuat suatu dokumentasiadalah dengan menuliskankomentar-komentar kecil padasuatu baris (atau suatu bagiandari source code) tentang apamaksud dari kode-kode tersebutdan apa kegunaannya, kemudianvariabel apa saja yang  digunakandan untuk apa, serta parameterparameter yang ada pada suatuprosedur dan fungsi.
7.      Merawat program
Program yang sudah jadisebaiknya juga dilakukanperawatan untuk mencegahmunculnya bug yang sebelumnyatidak terdeteksi. Selain itu jugaberguna untuk menambahfasilitas-fasilitas baru yang dahulusewaktu dibuat belum ada.Pada bab ini kita hanya focuspada langkah pertama sampaidengan langkah keempat saja.Sedangkan untuk dapatmenerjemahkan notasi algoritmayang telah dibuat ke dalam bentuksource code suatu Bahasapemrograman, seharusnya kitamemahami terlebih dahulu Bahasapemrograman yang akan kitagunakan, seperti aturan tatabahasanya, intruksi-instruksi yangdigunakan, tipe data, dan masihbanyak lagi. Semua itu akan kitapelajari satu persatu dibagian lainpada buku ini.
Oleh karena kita baruakan mempelajari Bahasapemrograman yaitu C++ atauprogram lainnya seperti java, makauntuk mempermudah pemahamantentang algoritma akan diberikancontoh-contoh permasalahansederhana yang sering dijumpaidalam pemrograman, bagaimanaalgoritmanya dalam bentuk tiganotasi algoritma yang telah diberikan,dan kemudian bagaimanamengimplementasikan ataumenerjemahkan algoritma tersebut kedalam bentuk source code Bahasapemrograman C++ atau programlainnya seperti java.Untuk membantu penerjemahanalgoritma kita juga harusmemperhatikan jenis-jenis prosesyang biasanya kita temukan dalamalgoritma. Dalam algoritma adaempat jenis proses yang dikenal,yaitu :
1.      Sequence Process, merupakaninstruksi yang dikerjakan secarasekuensial (berurutan).
2.      Selection Process, adalahinstruksi yang dikerjakan jikamemenuhi suatu kriteria ataukondisi (keadaan) tertentu.
3.      Iteration Process, yaitu instruksiyang dikerjakan selamamemenuhi suatu kriteria ataukondisi (keadaan) tertentu.
4.      Concurrent Process, beberapainstruksi dikerjakan secarabersama.