PENGENALAN ALGORITMA & PEMROGRAMAN
Sejarah Algoritma
Al Khawarizmi
ahli matematika, astronomi
Definisi Algoritma
1. Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
2. Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
3. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
Definisi Algoritma (Lanjutan)
1. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
2. Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain.
3. Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
4. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
DEFINISI P ROGRAM
1. Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
2. Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)
3. Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
PERBEDAAN ALGORITMA
& PROGRAM
1. Program adalah kompulan instruksi komputer
2. sedangkan metode dan tahapan sistematis dalam program adalah algoritma
3. Program ini ditulis dengan menggunakan bahasa pemrograman.
4. Jadi bisa kita sebut bahwa program adalah suatu implementasi dari bahasa pemrograman
PERBEDAAN ALGORITMA
& PROGRAM (LANJUT)
1. Beberapa pakar memberi formula bahwa:
program = struktur data + algoritma
2. Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program
3. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya
MENILAI SEBUAH ALGORITMA
1. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar
2. Pemrosesan yang efisien (cost rendah).
3. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general
4. Bisa Dikembangkan (expandable).
5. Mudah dimengerti.
6. Portabilitas yang tinggi (Portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
SISTEM KOMPUTER
Bahasa Pemrograman
1. Adalah alat untuk membuat program
2. Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
3. Perbedaan: cara memberikan instruksi
4. Persamaan: bertujuan menghasilkan output yang sama
Penulisan Algoritma
1. Dalam Bahasa Natural (Bahasa Indonesia, Inggris, dan Bahasa manusia Lainnya)
– Tapi terkadang membingungkan(Ambigoe)
2. Menggunakan Flowchart (Diagram Alir)
– Bagus secara visual tapi repot jika algoritmanya panjang
3. Menggunakan Pseudocode
– Sudah lebih dekat ke pemroraman, namun sulit di mengerti bagi orang yang tidak tahu pemrograman
Tahapan Pembuatan Program
1. Langkah-langkah sistematis yag dilakukan:
2. Mendefinisikan masalah.
3. Menganalisa dan membuat rumusan pemecahan masalah.
4. Desain algoritma dan representasi.
5. Pengkodean, uji coba dan dokumentasi.
Menguji Program
1. Terdapat 2 tipe kesalahan (error) yang akan dihadapi programmer.
• Compile time errors / syntax errors.
• Runtime errors.
2. Buat dokumentasi program, ini dilakukan untuk memudahkan dalam memeriksa suatu kesalahan program ataupun memahami jalannya program. Dokumentasi berisi informasi mulai dari tujuan dan fungsi program, algoritma,serta cara penggunaannya.
Contoh
Definisi sebuah contoh permasalahan:
“Buatlah sebuah program yang akan menampilkan berapa kali sebuah nama tampil pada sebuah daftar.”
Analisa Permasalahan
Input terhadap Program:
Daftar Nama, Nama yang akan dicari
Output dari Program:
Jumlah kemunculan nama yang dicari
Desain Algoritma dan Representasi
1. Algoritma dapat diekpresikan dalam bahasa manusia
a. Tentukan daftar nama
b. Tentukan nama yang akan dicari, anggaplah ini merupakan sebuah kata kunci
c. Bandingkan kata kunci terhadap setiap nama yang terdapat pada daftar
d. Jika kata kunci tersebut sama dengan nama yang terdapat pada daftar, tambahkan nilai 1 pada hasil perhitungan
e. Jika seluruh nama telah dibandingkan, tampilkan hasil perhitungan (output)
Algoritma dapat diekpresikan dalam Flowchart
Solusi Pseudocode
listNama = Daftar Nama
keyNama = Nama yang dicari
hitung = 0
Untuk setiap nama pada Daftar Nama lakukan :
Jika nama == keyNama
Hitung = Hitung + 1
Tampilkan Hitung
Contoh Algoritma
1. Algoritma Mengirim Surat Pada Teman:
– Tulis surat pada secarik kertas
– Ambil sampul surat atau Amplop
– Masukkan surat kedalam Amplop
– Tutup Amplop surat dengan lem perekat
– Tulis alamat yang dituju, jika tidak ingat Buka Buku Alamat & Cari Alamat yang dituju kemudian Tulis alamat di amplop
– Tempelkan perangko pada amplop surat
– Bawa surat kekantor pos, untuk diserahkan pegawai pos atau menuju bis surat untuk memasukkan surat ke kotak pos
0 komentar:
Posting Komentar