1. Sejarah Algoritma
- Menurut sejarah , ada seorang Ahli matematika yang menemukan asal kata dari algoritma itu tersebut , yang berasal dari nama penulis buku arab yang terkenal , dia yaitu Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi , Al -Khuwarizmi di baca oleh orang eropa (barat) yaitu Algorism , Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya "Buku pemugaran dan pengurangan" (The book of restoration and reduction).
- Dari judul buku itulah diperoleh akar kata "Aljabar" (Algebra).
- Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran usm berubah menjadi uthm.Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.
- Dalam bahasa Indonesia,kata algorithm diserap menjadi algoritma.
- Teman teman , apakah kalian tahu pengertian dari Algoritma ? , dalam SMA pernah kita mendengar Logaritma , klo sepintas dilihat kata Algoritma sama Logaritma hampir mirip pelafalannya , namun pengertian dari algoritma sesungguhnya berbeda dengan logaritma , Algoritma memiliki pengertian kearah code code atau kata kata berupa perintah logika , yang bertujuan untuk memecahkan suatu masalah sedangkan logaritma menurut matematika adalah kebalikan dari pemangkatan suatu eksponen , jadi jangan sampai kita menyalah artikan Algoritma dan Logaritma karena keduanya berbeda .
- pengertian dari Algoritma adalah kumpulan urutan perintah yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan suatu tugas tertentu. Algoritma merupakan urutan langkah instruksi yang logis. Setiap langkah instruksi mengerjakan suatu tindakan aksi. Apabila suatu aksi dilaksanakan, maka operasi atau sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Bila data yang digunakan benar, maka algoritma akan selalu berhenti dengan memberikan hasil yang benar pula.
- Suatu algoritma dikatakan baik jika menghasilkan output yang tepat guna (efektif) dalam waktu yang relative singkat
3. Kriteria atau ciri dari Algoritma
Kriteria dari suatu algoritma :
Ø Input : algoritma dapat memiliki nol atau lebih inputan dari luar.Instruksi : sintaks (cara pengkodean) sesuai bahasa pemrograman yang dipakai dan mengandung komponen input, output, proses, seleksi, dan perulangan yang menugaskan komputer untuk mengeksekusi suatu perintah tertentu.
Ø 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
v Pembuatan algoritma harus selalu dikaitkan dengan :
a. kebenaran algoritma, yakni bila program selesai maka hasilnya juga benar
b. kompleksitas, lama dan jumlah waktu proses dan penggunaan memori.
Jadi :
v Suatu algoritma dikatakna baik jik menghasilkan output yang tepat guna (efektif) dalam waktu yang relative singkat
4. Jenis Jenis Algoritma
v 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.
v Berikut ini adalah beberapa rumpun algoritma yang terkenal, yaitu:
Ø Metode Greedy.
Ø Dynamic Programming.
Ø Kompresi data.
Ø Backtracking.
Ø Branch and Bound.
Ø Divide and Conquer
v Masing-masing algoritma diatas memiliki keunggulan dan tentunya juga memiliki kelemahan.
Ø Divide and Conquer yaitu 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 adalah 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 greedy merupakan 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.
Ø Kompresi Data adalah sebuah cara untuk memadatakan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut.
Ø Backtracking merupakan perbaikan dari pendekatan kekerasan, yang secara sistematis mencari solusi untuk masalah di antara semua pilihan yang tersedia.
Ø Branch and Bround (B&B) juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Branch and Bround digunakan untuk mencari solusi optimal dari berbagai optimasi masalah, terutama dalam diskrit dan optimasi kombinatorial. Ini terdiri dari pencacahan sistematis semua solusi kandidat, dimana himpunan bagian besar calon sia-sia dibuang secara massal, dengan menggunakan perkiraan batas bawah dan atas kuantitas yang sedang dioptimalkan.
5. ANALISA ALGORITMA
v Menganalisis masalah yang ada dapat dilakukan seperti mengumpulkan data, cara penyelesaian, menyeleksi data, dan output yang diinginkan. Mendesign sistem, logika yang dapat meliputi data-input/output. Dalam pelaksanaan program, hal yang dilakukan editing, memeriksa kesalahan mengenai sintaksnya, pelaksanaan (Run). Kemudian barulah suatu permasalahan dapat diperoleh hasil yang diinginkan.
1. Bagaimana merencakan suatu algoritma
Menentukan beberapa model / desain sebagai penyelesaian masalah sehingga muncul beberapa model yang akan diambil solusi mana yang terbaik.
2. Bagaimana menyatakan suatu algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisis suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
v Cara/prosedur algoritma
1. Kata-kata
2. Diagram alur
3. Statemen program
v TAHAP PROSES UJI ALGORITMA
1. Fase Debugging
Fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program/ error. Kesalahan program ini dapat berupa kesalahan dalam penulisan program baik logika atau sintaknya.
2. Fase profiling
Fase yang akan bekerja jika program tersebut sudah benar.
kita juga punya nih jurnal mengenai dreamweaver, silahkan dikunjungi dan dibaca , berikut linknya
http://repository.gunadarma.ac.id/bitstream/123456789/2747/1/21-PENYELESAIAN%20MASALAH%20N-QUEEN%20DENGAN%20TEKNIK%20BACKTRACKING.pdf
semoga bermanfaat yaa :)