Anda di halaman 1dari 7

ALGORITMA DAN PEMROGRAMAN mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap

orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin
3.1 Menerapkan alur logika pemrograman komputer besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam
4.1 Membuat alur logika pemrograman komputer kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk
menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun
Pertemuan 1 algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian,
Tujuan Pembelajaran : carilah algoritma yang paling efisien dan cepat.
1. Menjelaskan pengertian Algoritma
2. Membedakan algoritma dan program C. BEDA ALGORITMA DAN PROGRAM
3. Menjelaskan algoritma adalah jantung informatika Program adalah kumpulan pernyataan komputer, sedangkan metode dan
4. Menganalisis mekanisme Pelaksanaan Algoritma oleh Pemroses tahapan sistematis dalam program adalah algoritma. Program ditulis dengan
menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah
suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula
A. APAKAH ITU ALGORITMA bahwa :
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah Program = Algoritma + Bahasa (Struktur Data)
yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat
dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat
angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya akan membuat program menjadi kurang baik, demikian juga sebaliknya.
kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far 1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
Muhammad Ibnu Musa Al-Khuwarizmi. pemrograman manapun, artinya penulisan algoritma independen dari bahasa
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis pemrograman dan komputer yang melaksanakannya.
buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran 2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita pemrograman.
juga memperoleh akar kata “Aljabar” (Algebra). 3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
Perubahan kata dari algorism menjadialgorithm muncul karena algoritmanya sama.
kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang 1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan
perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. dipahami.
Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. 2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
B. DEFINISI ALGORITMA algoritmik.
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang 3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal
disusun secara sistematis dan logis”. Kata logis merupakan kata kuncidalam ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya
algoritma. Langkah-langkah dalam algoritma harus logis dan harusdapat ditentukan notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman
bernilai salah atau benar.Dalam beberapa konteks, algoritma adalah spesifikasi tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan
urutan langkah untukmelakukan pekerjaan tertentu. Pertimbangan dalam pemilihan notasi bahasa pemrograman secara umum.
algoritmaadalah, pertama, algoritma haruslah benar. Artinya algoritma akan 4. Notasi algoritmik bukan notasi bahasa pemrograman, karena
memberikankeluaran yang dikehendaki dari sejumlah masukan yang diberikan. itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer.
Tidakpeduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik
pastilah algoritma tersebut bukanlah algoritma yang baik. harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat
seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil 5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan
(hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu suatu permasalahan ke dalam bahasa pemrograman.
memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. 6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa
yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang pemrograman.
benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk
Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu : langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang
1. Pendeklarasian variabel mencoba suatu resep masakan akan membaca satu per satu langkah-langkah
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak
pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut
b. Pemilihan tipe data dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang
variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data. menjabarkan proses tersebut.
c. Pemakaian instruksi-instruksi Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan
kelebihan dan kekurangan yang berbeda. sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan
d. Aturan sintaksis kejadian.
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma
pemrograman yang akan digunakan. tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan
e. Tampilan hasil kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus
Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program. dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses
f. Cara pengoperasian compiler atau interpreter. harus:
Bahasa pemrograman yang digunakan termasuk dalam Mengerti setiap langkah dalam algoritma.
kelompok compiler atau interpreter. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

Aspek Penting dalam Algoritma


Beberapa hal yang harus diperhatikan dalam membuat algoritma antara lain algoritma
harus mengikuti suatu urutan aturan tertentu dan tidak boleh melompat-lompat.
Algoritma seseorang dengan orang yang lain dapat berbeda-beda karena mempunyai
alur pikir yang berbeda-beda pula, meskipun untuk menyelesaikan permasalahan yang
sama. Langkah demi langkah secara eksak harus dapat memecahkan suatu masalah.
Algoritma dapat diwujudkan dalam berupa kalimat, gambar atau tabel tertentu.

Menurut Donald E. Knuth, algoritma harus mempunyai lima ciri penting, yaitu sebagai
berikut.
1 Finiteness. Algoritma harus berhenti setelah mengerjakan sejumlah langkah tertentu
atau terbatas.
2 Definiteness. Setiap langkah harus didefinisikan secara tepat, tidak boleh
membingungkan (ambiguous).
3 Input. Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada
algoritma sebelum dijalankan
4 Output. Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung
kepada Input.
5 Effectiveness. Setiap algoritma diharapkan miliki sifat efektif. Setiap langkah harus
sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal

4. Algoritma Merupakan Jantung Ilmu Informatika


Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer
yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma
selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak
terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau
masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma.
Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-
5. Mekanisme Pelaksanaan Algoritma oleh Pemroses Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan
algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU
program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu
ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori
komputer. lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan
Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan
Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).
algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan
program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian Ragam Struktur Algoritma Algoritma
algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration
sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program atau looping), atau kombinasi dari ketiganya. Struktur dasar penyajian algoritma
ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program dibedakan menjadi tiga, yaitu sebagai berikut.
disebut pemrograman (programming). Orang yang menulis program 1. Struktur runtunan (sequence), struktur algoritma yang mempunyai pernyataan secara
disebut pemrograman (programmer). Tiap-tiap langkah di dalam program berurutan atau sequential.
disebut pernyataan atau instruksi.Jadi, program tersusun atas sederetan instruksi. Bila 2. Struktur pemilihan atau percabangan (selection), struktur algoritma atau program yang
suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi menggunakan pemilihan atau penyeleksian kondisi.
tersebut dikerjakan komputer. 3. Struktur perulangan, struktur algoritma atau program yang pernyataannya akan
Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti dieksekusi berulang-ulang sampai kondisi tertentu.
masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama Pada algoritma, tidak dipakai simbol-simbol atau sintaks dari suatu bahasa pemrograman
(Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa
operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh
membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan bahasa pemrograman mana pun
atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan
dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). 6. Belajar Memprogram dan Belajar Bahasa Pemrograman
Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar
program ke dalam memori, dan alat yang digunakan komputer untuk memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-
adalah, layar peraga (monitor), pencetak (printer), dan cakram. aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-
nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa
pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol,
Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript,
GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas
dua kelompok besar :
Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini
adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah),
bahasa rakitan (terapan pemrograman mesin), Prolog(terapan kecerdasan buatan),
bahasa-bahasa simulasi, dan sebagainya.
Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi.
Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian
ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk
aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja
kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda
dikembangkan untuk bermacam-macam terapan yang berbeda pula.
Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke frekuensi kalkulasi yang sependek mungkin.
bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam : Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi
Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung juga untuk kasus lain yang lebih general.
dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih
adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan jauh berdasarkan perubahan requirement yang ada.
langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda.
sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di
dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih berbagai platform komputer.
perlu penerjemahan ke dalam bahasa mesin. Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada
Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan
“manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap
dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu langkah harus jelas dan pasti.
diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator Contoh : Tambahkan 1 atau 2 pada x.
atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh Instruksi di atas terdapat keraguan.
bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama
sebagainya. banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. menjalankannya.
Di antaranya adalah :
Contoh : Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal : Hitung akar 2 sampai lima digit di belakang koma.
Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah
apakah bila jumlah instruksinya berhingga maka pasti terminate?
Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan
seksama maka dihasilkan output yang diinginkan.

Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :


Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
Output: algoritma harus memiliki minimal satu buah output keluaran.
Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan
efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh
Sistem Operasi.
7. Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan 8. Penyajian Algoritma
untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocodeadalah
logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C,
algoritma yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
adalah : dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar,
Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus misalnya dengan flowchart.
berakurasi tinggi dan benar. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses
penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan
meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma 1. Penyajian Algoritma Menggunakan Bahasa Natural (Alami)
akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman
Notasi penulisan algoritma dengan menggunakan bahasa deskriptif
yang akan digunakan telah diketahui sejak awal.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan bisa juga disebut dengan notasi alami. Dilakukan dengan cara
antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan menuliskan instruksi-instuksi yang harus dilaksanakan dalam bentuk
demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses untaian kalimat deskriptif dengan menggunakan bahasa yang jelas.
digambarkan dengan garis penghubung. Dasar dari notasi bahasa deskriptif adalah bahasa Inggris, tetapi
Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan
bagian-bagian yang terlupakan dalam analisis masalah. Di samping itu flowchart juga
dapat dimodifikasi dengan bahasa sehari-hari termasuk Bahasa
berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam Indonesia.
tim suatu proyek. Karena tidak ada aturan baku dalam menuliskan algoritma dengan
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu : notasi deskriptif maka tiap orang dapat membuat aturan penulisan
Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
dan notasi algoritma sendiri. Hal ini dapat dimengerti karena teks
urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain,
dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem: algoritma tidak sama dengan teks program. Program adalah
implementasi algoritma dalam notasi bahasa pemrograman tertentu.
Tetapi, agar notasi algoritma mudah ditranslasi ke dalam notasi
bahasa pemrograman, maka sebaiknya notasi algoritma tersebut
berkoresponden dengan notasi bahasa pemrograman pada
umumnya.
Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan
bahasa deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi,
bandingkan, dan lain-lain. Notasi jenis ini cocok untuk algoritma yang
pendek. Tapi untuk masalah algoritma yang panjang, notasi ini kurang
efektif.
Cara penulisan algoritma dengan notasi bahasa deskriptif paling
Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
mudah dibuat, tetapi demikian cara ini paling sulit untuk
urutan proses dan hubungan antar proses secara mendetail di dalam suatu program. diterjemahkan ke dalam bahasa pemrograman. Pada dasarnya teks
algoritma dengan bahasa deskriptif disusun oleh tiga bagian utama
yaitu: bagian judul (header) , bagian deklarasi (kamus) dan bagian
deskripsi.
METODE PENYAJIAN ALGORITMA PENYAJIAN ALGORITMA Setiap bagian disertai dengan komentar untuk memperjelas maksud
secara garis besar dapat dibedakan menjadi dua, yaitu berbentuk tulisan teks yang dituliskan. Komentar adalah kalimat yang diapit oleh
dan berbentuk gambar. Algoritma yang disajikan dengan bentuk tulisan pasangan tanda kurung kurawal (‘{’ dan ‘}’).
dapat menggunakan aturan bahasa natural (alami) dan pseudocode. a. Judul Algoritma Judul
Bahasa natural menggunakan struktur bahasa tertentu (misalnya struktur algoritma merupakan bagian yang terdiri atas nama algoritma
bahasa Indonesia atau bahasa Inggris). Pseudocode adalah kode-kode dan penjelasan (spesifikasi) tentang algoritma tersebut. Di bagian
tertentu dan mirip dengan kode bahasa pemrograman (misal bahasa ini juga digunakan untuk menentukan apakah teks algoritma yang
Pascal, C, C++) sehingga lebih tepat digunakan untuk menggambarkan dibuat tersebut adalah program, prosedur, atau fungsi. Nama
algoritma yang akan dikomunikasikan kepada pemrogram algoritma sebaiknya singkat tetapi cukup menggambarkan apa
(programmer). Sedangkan algoritma yang disajikan dengan gambar yang dilakukan oleh algoritma tersebut.Di bawah nama algoritma
dapat berbentuk diagram alur (flowchart) atau struktogram (Nassi disertai dengan penjelasan singkat (intisari) tentang apa yang
Schneiderman chart) dilakukan oleh algoritma. Penjelasan di bawah nama algoritma
sering dinamakan juga spesifikasi algoritma yang dituliskan dalam
kurung kurawal ({}). Algoritma harus ditulis sesuai dengan spesifikasi Deskripsi:
yang didefinisikan. Gambar 2.1 adalah contoh judul algoritma 1. Baca radius
menghitung luas lingkaran yang disertai dengan penjelasan 2. Hitung luas = radius * radius * PHI
singkat. 3. Tampilkan luas ke layar
4. Selesai
Algoritma Luas_Lingkaran ← Judul Algoritma {Menghitung luas
lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima Bentuk contoh lengkap penyajian algoritma dengan bahasa
masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya natural sebagai berikut.
ke piranti keluaran} ← Spesifikasi.
Algoritma Luas Lingkaran
b. Bagian deklarasi {Menghitung luas lingkaran untuk ukuran radius tertentu. Algoritma
Di dalam algoritma, deklarasi atau kamus adalah bagian untuk menerima masukan radius lingkaran, menghitung luasnya, lalu
mendefinisikan semua nama yang dipakai di dalam algoritma. cetak luasnya ke piranti keluaran}
Nama tersebut dapat berupa nama variabel, nama konstanta, Deklarasi:
nama tipe, nama prosedur atau nama fungsi. Semua nama radius = real {tipe data bilangan pecahan}
tersebut baru dapat digunakan di dalam algoritma jika telah luas = real {tipe data bilangan pecahan}
didefinisikan terlebih dahulu didalam bagian deklarasi. Penulisan PHI = 3.14
sekumpulan nama dalam bagian deklarasi sebaiknya Deskripsi:
dikelompokkan menurut jenisnya. 1. Baca radius
Pendefinisian nama konstanta sekaligus memberikan nilai 2. Hitung luas = radius * radius * PHI
konstanta. Pendefinisian nama fungsi atauprosedur sekaligus 3. Tampilkan luas ke layar
dengan pendefinisian spesifikasi dan parameternya. 4. Selesai Contoh penyajian algoritma menggunakan bahasa
Deklarasi: natural
radius = real {tipe data bilangan pecahan}
luas = real {tipe data bilangan pecahan} 2. Penyajian Algoritma Menggunakan Pseudocode
PHI = 3.14 Pseudocode adalah cara penulisan algoritma yang menyerupai
bahasa pemrograman tingkat tinggi. Pseudocode menggunakan
c. Bagian Deskripsi bahasa yang hampir menyerupai bahasa pemrograman.
Deskripsi adalah bagian inti dari struktur algoritma. Bagian ini berisi Biasanya pseudo code menggunakan bahasa yang mudah
uraian langkah -langkah penyelesaian masalah. Langkah-langkah dipahami secara universal dan juga lebih ringkas daripada
ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. algoritma. Pseudocode berisi deskripsi dari algoritma
Setiap langkah algoritma dibaca dari langkah paling atas hingga pemrograman komputer yang menggunakan struktur sederhana
langkah paling bawah. Urutan penulisan menentukan urutan dari beberapa bahasa pemrograman tetapi bahasa tersebut
pelaksanaan perintah. Seperti yang telah dijelaskan bahwa hanya ditujukan agar dapat dibaca manusia. Sehingga
penyusun atau struktur dasar algoritma adalah langkah-langkah. pseudocode tidak dapat dipahami oleh komputer. Supaya notasi
Suatu Algoritma dapat terdiri atas tiga struktur dasar, yaitu pseudocode bisa dipahami oleh komputer maka harus
runtunan, pemilihan dan pengulangan. Ketiga jenis langkah diterjemahkan terlebih dahulu menjadi sintaks bahasa
tersebut membentuk konstruksi suatu algoritma. Pada bagian pemrograman komputer tertentu. Dalam pseudocode, tidak ada
deskripsi inilah letak tiga struktur algoritma tersebut. sintaks standar yang resmi.
Oleh karena itu, pseudocode ini dapat diterapkan dalam
berbagai bahasa pemograman. Disarankan untuk menggunakan
keyword yang umum digunakan seperti if, then, else, while, do, proses digambarkan dengan garis penghubung. Dengan
repeat, for, dan lainnya Keuntungan menggunakan notasi menggunakan flowchart akan memudahkan kita untuk
pseudocode adalah kemudahan mentranslasi ke notasi bahasa melakukan pengecekan bagianbagian yang terlupakan dalam
pemrograman, karena terdapat korespondensi antara setiap analisis masalah.
pseudocode dengan notasi bahasa pemrograman. Di samping itu, flowchart juga berguna sebagai fasilitas untuk
Tabel 2.1. menunjukkan perbandingan beberapa kata yang biasa berkomunikasiantara pemrogram yang bekerja dalam tim suatu
digunakan dalam penulisan algoritma dengan menggunakan proyek. Flowchart menolong analis dan programmer untuk
kalimat deskriptif dan pseudocode. memecahkan masalah ke dalam segmen-segmen yang lebih
kecil dan menolong dalam menganalisis alternatif lain dalam
pengoperasian.
Pada dasarnya terdapat berbagai macam flowchart, di
Struktur penulisan pseudocode secara umum sama dengan antaranya yaitu Flowchart Sistem (System Flowchart), Flowchart
struktur penulisan algoritma dengan menggunakan kalimat Paperwork/Flowchart Dokumen (Document Flowchart), Flowchart
deskriptif yaitu dimulai dari judul/header, deklarasi/kamus dan Skematik (Schematic Flowchart), Flowchart Program (Program
diakhiri dengan deskripsi. Flowchart), Flowchart Proses (Process Flowchart). Untuk keperluan
pembuatan program maka digunakan Flowchart Program.
Berikut contoh pseudocode menentukan bilangan terbesar dari 3 Flowchart program menggambarkan urutan instruksi yang
masukan bilangan digambarkan dengan simbol tertentu untuk memecahkan
masalah dalam suatu program. Dalam flowchart program
Algoritma : Bilangan_Maksimum mengandung keterangan yang lebih rinci tentang bagaimana
{Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan setiap langkah program atau prosedur seharusnya dilaksanakan.
bulat maksimum diantara ketiga bilangan tersebut} Flowchart ini menunjukkan setiap langkah program atau prosedur
Deklarasi : dalam urutan yang tepat saat terjadi.
Bil1,Bil2,Bil3: integer {bilangan yang dicari maksimumnya} Programer menggunakan flowchart program untuk
Max: integer {variabel bantu} menggambarkan urutan instruksi dari program komputer. Analis
Deskripsi: Sistem menggunakan flowchart program untuk menggambarkan
1. Read (Bil1,Bil2) urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.
2. If Bil1 >= Bil2 then
3. Bil1 = Max
4. Else Bil2 = Max
5. Read (Bil3)
6. If Bil3 >= Max then 7. Bil3 = Max 8. Write (Max) TUGAS :
1. Buatlah resume dari materi ini, resume dibuat 1 lembar kertas
3. Penyajian Algoritma Menggunakan Flowchart double folio, ditulis rapid an bersih!
Flowchart adalah cara penulisan algoritma dengan 2. Gambarkan symbol-simbol flowchart pada kertas manila karton!
menggunakan notasi grafis. Flowchart merupakan gambar atau
bagan yang memperlihatkan urutan atau langkahlangkah dari
suatu program dan hubungan antarproses beserta
pernyataannya.
Gambaran ini dinyatakan dengan simbol. Dengan demikian
setiap simbol menggambarkan proses tertentu. Sedangkan antara

Anda mungkin juga menyukai