Anda di halaman 1dari 7

MAKALAH

TENTANG
ALGORITMA, PSEUDOCODE DAN FLOWCHART

OLEH

YUFI EKO FIRMANSYAH


1 D3 IT B
BAB I
PENDAHULUAN
Pada saat kita membuat sebuah program sering kali kita menghadapi permasalahan yang
memerlukan pengrutan suatu nilai baik secara langsung atau pun tidak. Misalnya kita melakukan
mencari sebuah nilai pada suatu list, permasalahan akan lebih mudah diselesaikan jika kita
mengurutkan terlebih dahulu list tersebut dari kecil ke besar, kita tinggal melakukan pencarian nilai
tersebut selama nilai tersebut lebih kecil atau sama dengan nilai yang ditelusuri pada list. Jika nilai
dari dalam list sudah lebih besar dari nilai yang kita cari berarti sudah pasti nilai yang dicari tersebut
tidak ada. Ini jauh lebih efektif dibandingkan mengecek semua nilai pada list tersebut dari awal
sampai akhir jika nilai itu tidak ada, ini sangat tidak efektif/ bayangkan jika kita harus mencari satu
nilai dalam data yang jumlahnya mencapai jutaan atau milyaran.
Sadar atau tidak manusia sering melakukan pengurutan dengan teknik-teknik tertentu dalam
kehidupan sehari-hari. Misalnya saat kita bermain kartu remi, kita akan mengambil kartu tersebut
dan mengurutkannya dengan cara-cara tertentu. Bila kita mengambil kartu tersebut satu-per-satu
dari tumpukannya dan setiap mengambil kita langsung mengurutkannya dalam algoritma
pengurutan, cara tersebut adalah implementasi dari insertion sort. Namun bila kartu dibagikan
semuanya terlebih dahulu kemudian baru kita kelompokan menurut jenisnya. Kemudian barulah kita
urutkan dari paling kecil ke paling besar maka itulah yang disebut selection sort.

BAB II
ALGORITMA, PSEUDOCODE DAN FLOWCHART
ALGORITMA
Sejarah :

Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang
hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda
dikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasa berusaha
menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika
menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu
Jafar Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-
Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran
dan pengurangan (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh
akar kata Aljabar (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena kata
Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran sm berubah menjadi thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat laun kata Algorithm
berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga
kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.

Definisi :

1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh


2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.
(Webster Dictionary)
4. Algoritma adalah langkah langkah logis tertentu untuk menyelesaikan suatu masalah
Ciri ciri :

1. Ada input.
2. Ada proses.
3. Ada output.
4. Memiliki instruksi instruksi yang jelas dan tidak ambigu.
5. Harus mempunyai stopping role.

Sifat :

1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.


2. Tidak tergantung pada suatu bahasa pemrograman.
3. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.

Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan
dapat diterapkan di semua kejadian sehari-hari

Kriteria Pemilihan Algoritma :

1. Ada output : mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output
yang harus merupakan solusi dari masalah yang sedang diselesaikan.
2. Efektifitas dan Efisiensi : dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi
yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat
guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan
penggunaan memori komputernya lebih sedikit.
3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam
suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan
dengan tidak memerlukan waktu relatif lama.
4. Berakhir (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus
berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi
yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses
akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI
ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau
menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan
berjalan tanpa henti.
5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian
rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses
dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan
user melakukan pemeriksaan ulang.

Kesimpulannya:

Suatu Algoritma yang terbaik harus menghasilkan output yan tepat guna (efektif) dalam waktu yang
relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga &
prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya.
Contoh kasus dalam kehidupan sehari-hari:

Algoritma memasak mie instan.

1. Rebus air hingga mendidih.


2. Masukkan mie instan ke dalam air mendidih tersebut.
3. Tunggu beberapa hingga mie terlihat matang.
4. Jika mie sudah dirasa matang, angkat dan tiriskan.
5. Campurkan bumbu-bumbu, dan aduk hingga rata.

Algoritma menghitung luas persegi panjang.

1. Masukkan panjang
2. Masukkan lebar
3. Nilai luas adalah panjang * lebar
4. Tampilkan luas

PSEUDOCODE

Pseudo-code adalah kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan
cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan
algoritma dari suatu permasalahan. 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.

Beda antara algoritma dan pseudo-code :

Contoh algoritma mencari luas persegi panjang

Algoritma Pseudo-code

Masukkan panjang Input panjang


Masukkan Lebar Input panjang
Nilai luas adalah panjang x lebar Luas panjang x lebar
Tampilkan luas Print luas

Sebenarnya tidak ada aturan mengikat tentang penulisan algoritma dan pseudo-code, karena
guna kedua hal ini adalah untuk memudahkan seseorang untuk menggambarkan urutan suatu
kejadian. Biasanya untuk para programmer, guna kedua hal ini adalah sebagai dasar alur pembuatan
program. Di mana dapat merepresentasikan alur cerita dari client tentang kebutuhan dasar dari
sebuah program, sehingga lebih mudah untuk dipahami.Jadi pseudo-code bisa dikatakan juga sebagai
algortima yang sudah sedikit digabungkan dengan bahasa pemrograman yang akan digunakan.

Contoh lain :

Matematika Bizz Buzz

Fortran style pseudo code C style pseudo code


program bizzbuzz void function bizzbuzz
do i = 1 to 100 for (i = 1; i<=100; i++) {
set print_number to true set print_number to true;
if i is divisible by 3 if i is divisible by 3
print "Bizz" print "Bizz";
set print_number to false set print_number to false;
if i is divisible by 5 if i is divisible by 5
print "Buzz" print "Buzz";
set print_number to false set print_number to false;
if print_number, print i if print_number, print i;
print a newline print a newline;
end do }

Pascal style pseudo code


procedure bizzbuzz
for i := 1 to 100 do
set print_number to true;
if i is divisible by 3 then
print "Bizz";
set print_number to false;
if i is divisible by 5 then
print "Buzz";
set print_number to false;
if print_number, print i;
print a newline;
end
FLOWCHART

Flowchart dalam Bahasa Indonesia diterjemahkan sebagai Diagram Alir. Dari dua kata ini, maka dapat
kita bayangkan bahwa flowchart itu berbentuk diagram yang bentuknya dapat mengalirkan sesuatu.
Hal ini memang benar, flowchart memang melukiskan suatu aliran kegiatan dari awal hingga akhir
mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah tersebut bisa
bermacam-macam, mulai dari masalah yang sederhana sampai yang kompleks. Masalah yang kita
pelajari tentu saja masalah pemrograman dengan menggunakan komputer, tetapi secara logika dapat
kita awali dengan mengamati permasalahan dalam kehidupan sehari-hari kita.

Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan
suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol
merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input,
pemrosesan input, dan diakhiri dengan penampilan output.

Simbol-simbol Flowchart :
Contoh Flowchart :

BAB III
KESIMPULAN
- Persamaan
Menurut saya Algoritma, Pseudocode dan Flowchart memiliki persamaan yaitu memudahkan
seseorang untuk menggambarkan urutan suatu kejadian yang bertujuan untuk menyelesaikan
suatu masalah dan sama-sama mempunyai alur Input->Proses->Output.
- Perbedaan
Algoritma :
a. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
b. Tidak menggunakan diagram
c. Tidak tergantung pada suatu bahasa pemrograman.
d. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
Pseudocode :
a. Menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
b. Tidak menggunakan diagram
c. Tergantung pada suatu bahasa pemrograman.
d. Notasi-notasinya dapat digunakan untuk bahasa pemrograman.
Flowchart :
a. Menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
b. Menggunakan diagram
c. Tidak tergantung pada suatu bahasa pemrograman.
d. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.

Anda mungkin juga menyukai