You are on page 1of 8

Algoritma

Defenisi Alogaritma

 Adalah inti dari ilmu komputer.


 Algoritma 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. (Dari
Microsoft Press Computer and Internet Dictionaary 1997, 1998)
 Algoritma adalah blueprint dari program. Sebaiknya disusun sebelum
membuat program.
 Kriteria suatu algoritma:
– Ada input dan output
– Efektivitas dan efisien
– Terstruktur
 Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu.
 Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan
bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai
menggunakan bahasa pemograman seperti bahasa C atau C++.
 Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan
secara tertulis.
 Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang
dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua
adalah tertulis,yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh
Moh Sjukani hal 1)
 Contoh Algoritma dalam kehidupan nyata:
 Jika seorang ingin memasak atau membuat kue, baik itu melihat resep
ataupun tidak pasti akan melakukan suatu langkah-langkah tertentu
sehingga masakannya atau kuenya jadi.
 Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain,
langkah yang harus dilakukan adalah:
– Menulis surat
– Surat dimasukkan ke dalam amplop tertutup
– Amplop ditempeli perangko secukupnya.
– Pergi ke Kantor Pos terdekat untuk mengirimkannya.
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan
berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa
algoritma yang dirancang
baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan
tidak efisien.
 Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan
tersebut
 Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan
perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut
program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa
pemrograman.
Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic,
Perl,
PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa
pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan
menghasilkan output yang sama.

Kriteria Algoritma Menurut Donald E. Knuth

 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
Sejarah istilah "algoritma"

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari
Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada
terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero
Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada
aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan
bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas).
Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua
prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan.

Jenis Proses Algoritma:

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan


tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah
dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain
algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu
algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat
digunakan dalam banyak algoritma yang berbeda.

 Divide and Conquer, paradigma untuk membagi suatu permasalahan besar


menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah
ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang
mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah
dengan membagi masalah besar dan kemudian memecahkan permasalahan-
permasalahan kecil yang terbentuk.
 Dynamic programming, paradigma pemrograman dinamik akan sesuai jika
digunakan pada suatu masalah yang mengandung sub-struktur yang optimal
dan mengandung beberapa bagian permasalahan yang tumpang tindih.
Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer,
sama-sama mencoba untuk membagi permasalahan menjadi sub
permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari
karakter permasalahan yang dihadapi.

 Metode serakah Sebuah algoritma serakah mirip dengan sebuah


Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu
diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang
dilihat terbaik pada saat itu.

Contoh Algoritma 1

Mengirim surat kepada teman:


1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat kedalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka
Tulis alamat pada sampu lsurat.
6. Jika tidak ingat, lihat buku alamat, kemudian
Tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan

Contoh Algoritma 2

Mencari akar bulat positif dari bilangan


bulat(integer) positifa:

1.Masukkan bilangan bulat positif a

2.Berikan harga awalx sama dengan 1

3.Hitung y sebesar x * x

4.Jika y sama dengan a maka cetak x

5.sebagai akar dari a. Selesai

6.Tambah nilai x dengan 1

7.Pergi ke langkah 3
Contoh Algoritma 3

Menentukan apakah suatu bilangan merupakan


Bilangan ganjil atau bilangan genap:

1.Masukkan sebuah bilangan sembarang


2.Bagi bilangan tersebut dengan bilangan 2
3.Hitung sisa hasil bagi pada langkah 2.
4.Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan
Genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah
bilangan ganjil

Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun
Tidak pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya
Atau kuenya jadi.
- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah
Yang harus dilakukan adalah:
– 􀂾 Menulis surat
– 􀂾 Surat dimasukkan ke dalam amplop tertutup
– 􀂾 Amplop ditempeli perangko secukupnya.
– 􀂾 Pergi ke Kantor Pos terdekat untuk mengirimkannya
Tahapan Pembuatan Program
Mendefinisikan masalah dan menganalisanya.Mencakup: tujuan pembuatan
program, parameter yang digunakan,fasilitas yang disediakan, algoritmayang
diterapkan dan bahasa program yang digunakan.•Merealisasikan dengan langkah-
langkah sebagai berikut

You might also like