Anda di halaman 1dari 8

1.

DEFENISI ALGORITMA

• Algoritma berasal dari kata algorism yang artinya proses menghitung dengan
angka arab.
• para ahli sejarah matematika menemukan asal kata tersebut berasal dari nama
penulis buku arab yang terkenal yaitu Abu Ja’far 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).
• Seseorang dikatakan algorist jika ia menghitung menggunakan angka Arab.

• Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang


digunakan untuk memecahkan suatu permasalahan.
• Didalam kamus besar bahasa Indonesia (Balai Pustaka 1988) :
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

• Program komputer adalah rangkaian kata perintah yang telah dimengerti oleh
komputer untuk dikerjakannya.
• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian
rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu
persoalan.(Menurut P. Insap Santosa)
• Bahasa pemrograman adalah kumpulan perintah-perintah bermakana,
berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna
dalam menyelesaikan masalah.

2. KONSEP ALGORITMA
• Langkah-langkah umum dalam pembuatan suatu program yaitu:
1. Mendefinisikan masalah
2. Mencari solusinya
3. Menentukan algoritma
4. Menulis program
5. Menguji program
6. Mendokumentasikan program
7. Merawat program

1
Contoh Algorima :
• Terdapat dua buah gelas, gelas A dan gelas B.
• Gelas A berisi air berwarna merah
• gelas B berisi air berwarna biru,
• kita ingin menukartan isi air kedua gelas tersebut, sehingga gelas A berisi air
berwarna biru dan gelas B berisi air berwarna merah.

Algoritma Tukar_Isi_Gelas :
1. Tuangkan air dari gelas A ke gelas B
2. Tuangkan air dari gelas B ke gelas A

• Algoritma diatas tidak menghasilkan pertukaran yang benar, langkah-


langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi
percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma
Tukar_Isi_Gelas diatas salah.

2
• ALGORITMA PE-UBAH
adalah variabel yang nilainya bukan konstanta (selalu berubah- sesuai
dengan kondisi Variabel terkini).
Sintaks : P = Q
Algoritma : PQ
Artinya :
– Nilai P diberi harga nilai Q,
– Nilai P akan sama dengan nilai Q
– Nilai Q tetap.

• Hubungan antara algoritma, masalah dan solusi dapat digambarkan sebagai


berikut :

Masalah Algorima Solusi

• krtiteria program yang baik :


1. Correct :benar.
2. Clear :jelas.
3. Efficient :efisien.

3
Perbedaan Algoritma dan Program
• Program adalah kompulan instruksi komputer,
• metode dan tahapan sistematis dalam program adalah algoritma.
• Program = Struktur Data + Algoritma
• Program ini ditulis dengan menggunakan bahasa pemrograman.

• Beberapa hal yang perlu diperhatikan dalam membuat algoritma:


1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan
dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi
bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut
notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal
ini dikarenakan teks algoritma tidak sama dengan teks program.
4. Notasi algoritmik bukan notasi bahasa pemrograman.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan
oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa
pemrograman.

Ciri algoritma yang baik adalah :


1. Algoritma memiliki logika perhitungan atau metode yang tepat dalam
menyelesaikan masalah.
2. Menghasilkan output yang tepat dan benar dalam waktu yang singkat.
3. Algortima ditulis dengan format yang mudah dipahami dan mudah
diimplementasikan ke dalam bahasa pemrograman.
4. Semua operasi yang dibutuhkan terdefinisi dengan jelas.
5. Tidak menimbulkan arti ganda (ambiguous).
6. Semua proses dalam algoritma harus berakhir setelah sejumlah langkah
dilakukan.
Algoritma yang baik menurut Donald E. Knuth
1. bisa menerima input dari luar, bukan hanya ada di dalam program
2. memiliki sedikitnya sebuah hasil atau output
3. memiliki kepastian (definiteness) pada setiap instruksinya atau tidak memiliki
arti yang bias (tidak bersifat ambigu)
4. memiliki batas (finiteness) atau memiliki titik henti (stopping role),
5. bersifat efektif (effectiveness).

4
Algoritma dapat disajikan dengan dua teknik yaitu teknik tulisan dan teknik gambar.

1. Teknik tulisan biasanya menggunakan metode structure english atau bahasa


natural dan pseudocode,
2. sedangkan teknik gambar biasanya menggunakan diagram alir (flow chart).

Struktur Penulisan Algoritma dengan Bahasa Natural

Struktur penulisan algoritma bisa menggunakan bahasa natural (bahasa indonesia


misalnya) sehingga algoritma lebih mudah dipahami, struktur algoritma dengan
bahasa natural biasanya disajikans secara singkat jelas dan padat serta mudah
dimengerti dan dapat mewakili proses yang akan dilakukan. tidak memiliki
aturan baku yang penting mudah dipahami.

Contoh Struktur penulisan algoritma dengan bahasa natural:


Program Menampilkan tulisan di layar komputer

Deklarasi
Menggunakan variable X untuk menampung kata yang akan dicetak
Algoritma:
1. Variable X diisi dengan kata "Selamat datang"
2. Cetak isi dari variable X di layar komputer
3. Selesai.
Contoh di atas hanya contoh sederhana saja, uraian langkah-langkah proses
penyelesaian mungkin ankan berbeda sesuai dengan kasus yang ingin dipecahkan.
Salah satu contoh sederhana adalah algoritma untuk menentukan sebuah
bilangan adalah ganjil atau genap (mungkin ini adalah contoh/ latihan pertama
Anda waktu belajar algoritma di kampus, hahaha..). Jadi diberikan input sebuah
bilangan dari user, dan program akan secara otomatis menentukan dan
memberikan output berupa informasi genap atau ganjil. Coba perhatikan :
1. Inisialisasi
2. Input sebuah bilangan, masukkan ke dalam sebuah variabel, misalkan saja bil.
3. Apakah bil modulus 2 sama dengan nol?
- Jika ya, maka bilangan tersebut adalah bilangan genap.
- Jika tidak, maka sudah dapat dipastikan bahwa bilangan tersebut adalah
bilangan ganjil.
4. Tampilkan jenis bilangan (genap, atau ganjil).
5. Apakah ingin mengulang proses?
- Jika ya, kembali ke langkah 2.
- Jika tidak, langsung ke langkah 5 (selesai).
5. Selesai.

5
3. STRUKTUR ALGORITMA
1. Struktur Sekuensial (Runtunan)
2. Struktur Seleksi (Pemilihan)
3. Struktur Repetition(Pengulangan)
4. Struktur Sekuensial (Runtunan)

1. Pada struktur sekuensial instruksi dikerjakan secara berurutan baris perbaris


mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau
perulangan.
2. Tiap instruksi dikerjakan satu per satu.
3. Tiap instruksi dilaksanakan sekali, tidak ada instruksi yang diulang.
4. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi
sebagai tertulis di dalam teks algoritma.
5. Akhir dari instruksi terakhir merupakan akhir algoritma.

Mulai

deklar
asi

data

proses

data

Selesai

6
• Urutan instruksi dalam algoritma adalah penting. Urutan instruksi
menunjukan urutan logik penyelesaian masalah.
• Urutan instruksi yang berbeda mungkin tidak ada pengaruh terhadap solusi
persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda, tergantung
pada masalahnya

• Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil:


Dari ketiga algoritma hasil C dan D pada algoritma 1 dan 2 SAMA
sedangkan algoritma 3 menghasilkan keluaran yang berbeda

1) 2) 3)
Deklarasi : Deklarasi : Deklarasi :
A, B, C, D : integer A, B, C, D : integer A, B, C, D : integer
Deskripsi : Deskripsi : Deskripsi :
4.read (A, B) {1} 4.read (A, B) C = A+B
5.C = A + B {2} 5.D = A*B D = A*B
6.D = A * B {3} 6.C = A+B read (A, B)
7.write (C, D) {4} 7.write (C, D) write (C, D)

2. Struktur Seleksi (Pemilihan)


Struktur seleksi adalah instruksi yang dipakai untuk memilih satu aksi dari
beberapa kemungkinan aksi berdasarkan suatu syarat.

7
3. Struktur Repetition(Pengulangan)
Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi
secara berulang-ulang sesuai persyaratan yang ditetapkan.
Struktur instruksi perulangan pada dasarnya terdiri atas :
• Kondisi perulangan
• Badan (body) perulangan
• Pencacah (counter) perulangan

Anda mungkin juga menyukai