Anda di halaman 1dari 36

Perkuliahan 2

Pengantar Algoritma
dan pemograman
Algoritma
1. Pengertian Algoritma

Algoritma berasal dari kata penulis buku Arab terkenal Abu


Ja’far Muhammad ibnu Musa Al-Khwarizmi. (Oleh orang
Barat di baca algorism), dalam bahasa indonesia menjadi
algoritma

Algoritma adalah urutan langkah-langkah logis penyelesaian


masalah yang disusun secara sistematis dan
logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-
langkah dalam algoritma harus logis dan harus dapat ditentukan
bernilai salah atau benar.
• Algoritma adalah spesifikasi urutan langkah untuk melakukan
pekerjaan tertentu. Pertimbangan dalam pemilihan
algoritma adalah, pertama, algoritma haruslah benar. Artinya
algoritma akan memberikan keluaran yang dikehendaki dari
sejumlah masukan yang diberikan.
• Tidak peduli sebagus apapun algoritma, kalau memberikan
keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma
yang baik.
Beda Algoritma dan Program
• Program adalah kumpulan pernyataan komputer, sedangkan
metode dan 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 bahwa :

Program = Algoritma + Bahasa (Struktur Data)

• Bagaimanapun juga struktur data dan algoritma berhubungan


sangat erat pada sebuah program. Algoritma yang baik tanpa
pemilihan struktur data yang tepat akan membuat program
menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
• Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen
dari bahasa pemrograman dan komputer yang melaksanakannya.
• Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
• Apapun bahasa pemrogramannya, output yang akan dikeluarkan
sama karena algoritmanya sama.
• Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
• Teks algoritma berisi deskripsi langkah-langkah penyelesaian
masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun
asalkan mudah dimengerti dan dipahami.
• Tidak ada notasi yang baku dalam penulisan teks algoritma seperti
notasi bahasa pemrograman. Notasi yang digunakan dalam menulis
algoritma disebut notasi algoritmik.
• Setiap orang dapat membuat aturan penulisan dan notasi
algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama
dengan teks program. Namun, supaya notasi algoritmik mudah
ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan
notasi bahasa pemrograman secara umum.
• Notasi algoritmik bukan notasi bahasa pemrograman, karena
itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh
komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam
notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang
yang menulis program sangat terikat dalam aturan tata bahasanya
dan spesifikasi mesin yang menjalannya.
• Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa
pemrograman.
• Algoritma merupakan hasil pemikiran konseptual, supaya dapat
dilaksanakan oleh komputer, algoritma harus ditranslasikan ke
dalam notasi bahasa pemrograman. Ada beberapa hal yang harus
diperhatikan pada translasi tersebut, yaitu :
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa
pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada
saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
• Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-
masing memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
• Pada saat menuliskan program kita terikat dengan aturan sintaksis
dalam bahasa pemrograman yang akan digunakan.
e. Tampilan hasil
• Pada saat membuat algoritma kita tidak memikirkan tampilan hasil
yang akan disajikan. Hal-hal teknis ini diperhatikan ketika
mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
• Bahasa pemrograman yang digunakan termasuk dalam
kelompok compiler atau interpreter.
Bentuk Dasar Algoritma
Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain:
Algoritma Sekuensial (Sequence Algorithm)
1. 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.Algoritma Perulangan (Looping Algorithm)
2. 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.
3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
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.
Mekanisme Pelaksanaan Algoritma oleh
Pemroses
• Komputer hanyalah salah satu pemroses. Agar dapat
dilaksanakan oleh komputer, algoritma harus ditulis
dalam notasi bahasa pemrograman sehingga dinamakan
program. Jadi program adalah perwujudan atau
implementasi teknis algoritma yang ditulis dalam bahasa
pemrograman tertentu sehingga dapat dilaksanakan oleh
komputer.
• Algoritma adalah langkah-langkah penyelesaikan
masalah, sedangkan program adalah realisasi algoritma
dalam bahasa pemrograman. Program ditulis dalam salah
satu bahasa pemrograman dan kegiatan membuat
program disebut pemrograman (programming).Orang
yang menulis programdisebut pemrogram (programmer).
• Tiap-tiap langkah di dalam program
disebut pernyataan atau instruksi. Jadi, program
tersusun atas sederetan instruksi. Bila suatu instruksi
dilaksanakan, maka operasi-operasi yang bersesuaian
dengan instruksi tersebut dikerjakan komputer.
Contoh.
membuat Kue
1. Sediakan bahan-bahan
2. Olah adonan
3. Letakan di atas kompor
4. Nyalakan kompor

Urutan langkah membuat kue di atas disebut algoritma


Contoh

Seorang pemuda tiba di tepi sebuah sungai. Pemuda tersebut membawa seekor
kambing, seekor srigala dan sekerangjang sayur. Mereka bermaksud menyebrangi
sungai dengan sebuah perahu yang hanya memuat dua beban. Masalahnya
timbul karena jika srigala yang terlebih dahulu dibawa, maka sayur akan habis
dimakan kambing.
2. Ciri-ciri Algoritma
 Algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas

 Setiap langkah algoritma harus didefinisikan dengan tepat dan


tidak bermakna ganda (ambiguous)

 Algoritma memiliki masukan. Masukan ialah besaran yang


diberikan kepada algoritma

 Algoritma mempunyai keluaran (output). Keluaran ialah besaran


yang memiliki hubungan dengan masukan.

 Setiap langkah algoritma yang dibuat harus efektif.


Pemograman
1. Pengertian Pemograman
Algoritma + struktur data (bahasa pemograman ) = pemograman

• program adalah serangkaian instruksi yang ditulis untuk


melakukan suatu fungsi spesifik pada computer.

• Sebuah program biasanya memiliki suatu bentuk model


pengeksekusian tertentu agar dapat secara langsung dieksekusi
oleh komputer. Program yang sama dalam format kode yang
dapat dibaca oleh manusia disebut sebagai kode sumber, bentuk
program yang memungkinkan programmer menganalisis serta
melakukan penelaahan algoritma yang digunakan pada program
tersebut.
2. Mekanisme pemgoraman

Algoritma

Translasi

Bahasa Tingkat
Tinggi

Kompilasi

Bahasa Mesin
Intepretasi CPU

Operasi
3. Langkah-langkah pemograman
 Mendefinisikan masalah
Memahami persoalan, menentukan input dan output,
seberapa kompleks program yang akan dibuat
 Menentukan solusi
penyelesaian bagaimana program seharusnya dibuat. Jika
program terlalu banyak, maka dipecah menjadi beberapa
modul
 Menentukan algoritma
berdasarkan algoritma berdasarkan kebutuhan program
 Menulis program
 Menguji program
 Menuliskan dokumentasi
 Merawat program
4. Bahasa Pemograman
1. Berdasarkan aplikasi:

a. Bahasa pemograman bertujuan khusus (bahasa


pemograman yang digunakan untuk tujuan tertentu)
Cobol (bisnis), fortran (pemograman saintifik),
assembly (aplikasi pemograman mesin komputer),
prolog (aplikasi kecerdasan buatan)

b. Bahasa pemograman bertujuan umum : pascal, C,


C++, basic
2. Berdasarkan kedekatan dengan manusia

1. Bahasa tingkat rendah (low level programming


language) yaitu: bahasa pemograman yang dirancang
agar setiap intruksinya langsung dikerjakan oleh
komputer (menggunakan kode 0 dan 1).
sifat : machine dependet (bahasa pemograman suatu
jenis komputer akan berbeda dengan jenis lainnya)
Contoh: bahasa assembly
2. Bahasa tingkat tinggi (high level programming
language), yaitu : bahasa pemograman yang dirancang
agar lebih dimengerti oleh manusia (lebih manusiawi).
sifat: semua jenis komputer dapat menggunakan bahasa
pemograman yang sama
Contoh: Fortran, C, C++, Pascal, Cobol, basic, dll
5. Jenis Pemograman
1. Pemograman prosedural
pemograman yang dibuat berdasarkan langkah-langkah
prosedural (menggunakan pola algoritma)
2. Pemograman berorientasi objek (Object Oriented
Programming)
3. Pemograman fungsional
1. Struktur Teks Algoritma
a. Judul
Adalah bagian yang terdiri atas nama program dan penjelasan
(spesifikasi) tentang program tersebut. Nama program
sebaiknya menrepresentasikan apa yang dilakukan oleh
algoritma
b. Deklarasi
Digunakan untuk mengumumkan sebuah nama yang dipakai
dalam algoritma beserta propertinya (misalnya: tipe). Nama-
nama yang dimaksud adalah, nama konstanta, nama peubah,
nama prosedur.
c. Algoritma
Bagian yahg berisi langkah-langkah penyelesaian yang
digunakan berupa pernyataan-pernyataan.
2. Struktur Dasar Algoritma

a. Runtunan (Sequence)
Runtunan berisi lebih dari satu pernyataan (pernyataan
gabungan/Compound statement) yang dikerjakan secara
berurutan

b. Pemilihan (Selection)
Dalam sebuah program, sering kita jumpai aksi
(statement) yang melibatkan syarat untuk sebuah
pemilihan.

c. Pengulangan (Repitition)
Karakteristik algoritma
• Tidak ambigu
harus memiliki tafsiran atau maksud tunggal

• Tepat
urutan-urutan langkah harus tepat sampai
tujuan / hasil

• Pasti
hasil yang diperoleh harus pasti untuk
serangkaian langkah yang dilakukan harus
menghasilkan nilai yang selalu sama
3. Notasi Algoritma

a. Diagram Alir (Flow Chart)


Diagram alir atau flow chart adalah tehnik yang digunakan
untuk mendeskripsikan suatu algoritma dengan menggunakan
simbol-simbol gambar

1. Kotak mulai/berhenti

Mulai, berhenti

mulai
berhenti
2. Masukan

Kotak masukan : untuk membaca data


yang diberikan pada suatu variabel

Masukan a
3. Kotak Penugasan

Kotak penugasan : untuk melakukan


perhitungan matematis yang hasilnya
diberikan pada suatu variabel

x  2 x  a + b
4. Keluaran (ouput)
Kotak keluaran digunakan untuk mencetak atau sebagai putput dari
algoritma

Contoh.

cetak x
5. Kotak Keputusan

Kotak keputusan digunakan untuk memutuskan arah atau


percabangan yang diambil sesuai dengan kondisi yang
disyaratkan.

contoh

tidak
kondisi

ya
6. Kotak Pengulangan

Kotak pengulangan digunakan untuk pengulangan yang


diambil sesuai dengan kondisi yang disyaratkan.

contoh
kondisi

i  i+ 1
7. Kotak Penghubung
Kotak digunakan untuk menyambung sebuah algoritma yang
terputus, misalnya disebabkan oleh pergantian halaman.
b. Pseudocode
pseudocode adalah teknik penulisan algoritma dengan
menggunakan sintak secara langsung

Contoh.

sebuah pernyataan dalam notasi deskriptif:


gantikan nilai 2 ke x
maka pseudo-code dalam notasi algoritmik adalah:
x2

Anda mungkin juga menyukai