Algoritma

Defenisi Alogaritma y Adalah inti dari ilmu komputer. y 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) y Algoritma adalah blueprint dari program. Sebaiknya disusun sebelum membuat program. y Kriteria suatu algoritma: ± Ada input dan output ± Efektivitas dan efisien ± Terstruktur y Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. y 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++. y Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. y 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

atau lambat dan tidak efisien. algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman.  Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain. ± Pergi ke Kantor Pos terdekat untuk mengirimkannya. dan Java oleh Moh Sjukani hal 1) y Contoh Algoritma dalam kehidupan nyata:  Jika seorang ingin memasak atau membuat kue. terutama dalam komputasi numeris. Dalam bidang komputer. baik itu melihat resep ataupun tidak pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau kuenya jadi. langkah yang harus dilakukan adalah: ± Menulis surat ± Surat dimasukkan ke dalam amplop tertutup ± Amplop ditempeli perangko secukupnya. y Memilih algoritma Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut y Pelaksana algoritma adalah Komputer. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah. membuat program tersebut adalah bahasa . rusak. C++.tertentu. (Dari Algoritma dan Struktur Data dengan C. Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Alat yang digunakan untuk pemrograman.

y Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Pascal. y Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. JSP. C#. PHP. ASP. y Output: algoritma harus memiliki minimal satu buah output keluaran. Basic. J#. Kriteria Algoritma Menurut Donald E.Bahasa pemrograman sangat bermacam-macam: C. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Perl. C++. Knuth y Input: algoritma dapat memiliki nol atau lebih inputan dari luar. 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 . y Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu. J++ dan masih banyak bahasa lainnya. Java.

yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.Sejarah istilah "algoritma" Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khaw rizmi (hidup sekitar abad ke-9). Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda. Jenis Proses Algoritma: Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. istilah ini berkembang menjadi algoritma. seperti tertulis pada judul di atas). Pada abad ke-18. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Divide and Conquer. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahanpermasalahan kecil yang terbentuk. paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. .

Masukkan surat kedalam sampul. 4. dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu. Tutup sampul surat menggunakan perekat. Metode serakah Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik. Jika kita ingat alamat teman tersebut. Contoh Algoritma 1 Mengirim surat kepada teman: 1. bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap. 5. Tulis surat pada secarik kertas surat. paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. maka Tulis alamat pada sampu lsurat. tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.Dynamic programming. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer. 3. 2. sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil. . Ambil sampul surat.

8. Bawa surat ke kantor pos untuk diposkan Contoh Algoritma 2 Mencari akar bulat positif dari bilangan bulat(integer) positifa: 1.Berikan harga awalx sama dengan 1 3.Pergi ke langkah 3 .Tambah nilai x dengan 1 7. Selesai 6. lihat buku alamat. Tempel perangko pada surat. kemudian Tulis alamat pada sampul surat.sebagai akar dari a.Hitung y sebesar x * x 4.Jika y sama dengan a maka cetak x 5. 7.6.Masukkan bilangan bulat positif a 2. Jika tidak ingat.

Bagi bilangan tersebut dengan bilangan 2 3. baik itu melihat resep ataupun Tidak pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya Atau kuenya jadi.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: . Pergi ke Kantor Pos terdekat untuk mengirimkannya .Contoh Algoritma 3 Menentukan apakah suatu bilangan merupakan Bilangan ganjil atau bilangan genap: 1. langkah Yang harus dilakukan adalah: ± ± ± ± Menulis surat Surat dimasukkan ke dalam amplop tertutup Amplop ditempeli perangko secukupnya.Masukkan sebuah bilangan sembarang 2.Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain. 4.Jika seorang ingin memasak atau membuat kue.Hitung sisa hasil bagi pada langkah 2. .

fasilitas yang disediakan.Mencakup: tujuan pembuatan program. algoritmayang diterapkan dan bahasa program yang digunakan.‡Merealisasikan dengan langkahlangkah sebagai berikut .Tahapan Pembuatan Program Mendefinisikan masalah dan menganalisanya. parameter yang digunakan.