Pengertian Dasar Algoritma
Berasal dari kata algorism yang dinisbatkan kepada nama penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad ibnu Musa al-Khuwarizmi. Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi thm. Maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum sehingga kehilangan makna aslinya. Dalam bahasa Indonesia kata algorithm diserap menjadi algoritma.
Definisi Algoritma
- Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
- Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
- Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster Dictionary)
Tahap Penyelesaian Masalah
- Ada Output
- Efektifitas dan efisiensi
- Jumlah langkahnya berhingga
- Berakhir .....( Semi Algoritma )
- Terstruktur
Suatu Algoritma yang terbaik (The Best) : "Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisiensi) dengan langkah yang berhingga dan prosedurnya berakhir, baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya."
Contoh :
A. Sebuah Prosedur ketika akan mengirimkan surat kepada teman :
- Tulis surat pada secarik kertas surat
- Ambil sampul surat dalam amplop
- Masukkan surat ke dalam amplop
- Tutup amplop surat dengan lem perekat
- Tulis alamat surat yang dituju, ika tidak ingat, lebih dahulu ambil buku alamat dan cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
- Tempelkan perangko pada amplop surat
- Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju bis surat untuk memasukkan surat ke dalam kotak/bis surat
B. Sebuah prosedur untuk masalah menentukan akar kwadrat dari suatu bilangan Bulat Positif yang diinput :
- Baca bilangan bulat positif yang diinput, sebut saja sebagai A
- Dinyatakan nilai B adalah 0 (nol)
- Hitung Nilai C yang berisikan Nilai B dikalikan Nilai A
- Jika Nilai C sama dengan nilai A, maka nilai B adalah akar dari nilai A, lalu stop
- Jika tidak, maka nilai B akan bertambah a
- Kembali ke langkah pada no. 3
Tahapan Analisa Algoritma
Bagaimana merencanakan suatu algoritma
Bagaimana menyatakan suatu algoritma
Dengan bahasa Semu (pseudocode)
contoh :
Untuk menghitung Luas Segitiga :
- Masukkan Nilai Alas
- Masukkan Nilai Tinggi
- Hitung Luas = (Alas * Tinggi) / 2
- Cetak Luas
Dengan Diagram Alur atau flowchart
contoh :
Dengan Statement program / penggalan program
contoh :
- Read Alas
- Read Tinggi
- Luas = (Alas*Tinggi)/2
- Write(Luas)
Bagaimana validitas suatu rpgram
Bagaimana menganalisa suatu program
Bagaimana menguji program dari suatu algoritma
Tahap Proses Uji Algoritma :
- Fase debugging
- Fase Profilling
Analisis Suatu Algoritma
(Untuk melihat faktor efisiensi dan efektifitas dari algoritma tersebut) dapat dilakukan terhadap suatu algoritma dengan melihat pada :
1. Waktu Tempuh (Running Time) dari suatu Algoritma
Hal-hal yang mempengaruhi daripada waktu tempuh adalah :
- banyaknya langkah
- besar dan jenis input data
- jenis operasi
- komputer dan kompilator
2. Jumlah memori yang digunakan
Sifat-sifat Algoritma
- Banyaknya langkah Instruksi harus berhingga
- Langkah atau instruksi harus jelas
- Proses harus jelas dan mempunyai batasan
- Input dan output hatus mempunyai batasan
- Efektifitas
- Adanya Batasan Ruang Lingkup
Latihan : (Gunakan bahasa sehari-hari)
- Buat langkah untuk penggantian ban mobil yang pecah
- Buat langkah yang dilakukan dalam membuat makanan Nasi Goreng
------------------------------------
Konsep Algoritma
1. Algoritma Variable Pe-ubah
Adalah variable yang nilainya BUKAN onstanta (selalu berubah sesuai dengan kondisi variable terKINI)
Sintaks : P = Q
Algoritma : P <- Q
Arti : bahwa Nilai P diberi harga Nilai Q
Nilai P akan SAMA DENGAN dengan nilai Q dan Nilai Q TETAP
2. Algoritma Pertukaran
Berfungsi mempertukarkan masing-masing isi variable sedemikian sehingga nilai dari tiap-tiap variable akan berubah / bertukar.
Contoh :
1. Diketahui P = 0, Q = 5 dan R = 10
Diberikan Algoritma P = Q, Q = R maka nilai P, Q, dan R sekarang brp ?
2. Diketahui ALgoritma P = 10, P = P+1 dan Q = P
Berapakah Nilai P dan Q ?
3. Diketahui 3 variabel peubah P, Q dan R.
Agar isi Q ditaruh di P, Isi R ditaruh di Q dan Isi P ditaruh di R, maka ALgoritma yang dapat ditulis adalah ?
4. Diketahui 2 peubah K =10 dan L = 20. Buat Algoritma untuk mempertukarkan isi K dan L ?
Analisa Algoritma
- Seorang petani akan bepergian ke kota dengan membawa seekor Kambing, Anjing dan Rumput yang ketiganya memiliki berat yang tak jauh berbeda. Ditengah jalan petani trsebut harus melalui jembatan dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaannya, dan untuk melaluinya petani harus membawa satu persatu bawannya. Ditanya : berapa kali petani tersebut harus melalui jembatan dengan memperhatikan bahwa kambing makan rumput, anjing makan kambing ?
Konsep Tipe Data
Pembagian Tipe Data
1. Tipe Sederhana (simple type)
- Tipe Ordinal (ordinal type) : integer, boolean, character
- Tipe Real
2. Tipe String
- Operasi String
3. Tupe Terstruktur (structure Type)
- Array, record, set, file
1. Tipe Sederhana








0 komentar:
Posting Komentar