Pengenalan Algoritma
PENGERTIAN DASAR
LOGIKA DAN ALGORITMA
Diperkenalkan Oleh Ahli Matematika :
Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi
Definisi Algoritma
1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi.
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.
(Webster Dictionary)
Mengapa Belajar Algoritma & Pemrograman?
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma tetapi algoritma tidak selalu identik dengan ilmu komputer namun kehidupan sehari-hari terdapat proses yang dinyatakan dalam suatu Algoritma.
Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Belajar Memprogram Dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Belajar memprogram adalah belajar tentang metodelogi pemecahan masalah.
Belajar bahasa pemrograman adalah belajar memakai bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compilernya, dan manfaat instruksi-instruksi tersebut untuk membuat program yang ditulis dalam bahasa itu saja.
Pengenalan Jenis-Jenis Bahasa Pemrograman
Sampai saat ini terdapat puluhan bahasa pemrograman.
Bahasa pemrograman dapat digolongkan berdasarkan tujuan dan fungsinya :
Bahasa pemrograman dapat digolongkan menjadi tiga level :
Bahasa mesin (machine language) yang selalu dibuat dan telah disertakan menjadi satu (built in) dalam prosesor.
Bahasa-bahasa pemrograman yang banyak kita kenal selama ini, misal Qbasic, Cobol, Fortran, C, C++, Turbo Pascal, Java, dll.
Bahasa query (query languange) seperti SQL (Sructured Query Language) yang dapat digunakan untuk menampilkan informasi-informasi yang diinginkan hanya dengan menuliskan sedikit perintah saja.
Efisiensi Menggunakan Algoritma
Analisis Suatu Algoritma
Untuk melihat faktor efesiensi & efektifitas dari algoritma, dapat dilihat pada :
1. Waktu Tempuh (Running Time) dari suatu Algortima.
Hal-hal yang dapat mempengaruhi waktu tempuh adalah :
· Banyaknya langkah.
· Besar dan jenis input data.
· Jenis Operasi.
· Komputer dan kompilator
2. Jumlah Memori Yang Digunakan.
Kriteria algoritma yang baik:
1. Setiap langkah harus bersifat pasti/tertentu (definite)
2. Minimal menghasilkan output
3. Terstruktur dan sistematis
4. Memiliki kriteria untuk menghentikan proses
5. Bersifat efisien, baik dari sisi waktu maupun menggunaan memori dalam sistem komputer
Algoritma dapat dinyatakan dalam dua bentuk:
PENGENALAN TEKNIK – TEKNIK BAHASA PEMROGRAMAN
· Object Oriented Programming
o Encapsulation
o Inheritence
o Polymorphism
· Functionally
· Terstruktur
· Modular (Prosedural)
· Visual & Even Driven Programming
Object Oriented Programming
Encapsulation (Pembungkusan)
Sebuah proses penggabungan antara data-data dan fungsi yang berkaitan kedalam sebuah objek. Dengan demikian kita dapat membuat program yang terintegrasi tanpa harus mendeklarasikan variabel-variabel yang bersifat external.
Inheritance (Pewarisan)
Kita dapat menciptakan objek baru yang diturunkan dari objek lain. Sifat yg terkandung didalam pada objek turunan adalah sifat hasil pewarisan dari sifat-sifat yg terdapat pada objek induk.
Polymorphism
Adalah proses kebanyak rupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda melalui suatu cara yang sama.
Functionally
· Fungsi adalah kumpulan pernyataan-pernyataan yang dibentuk untuk menyelesaikan suatu tugas.
· Hasil dari fungsi adalah nama fungsi yang hanya menghasilkan satu nilai.
Terstruktur
· Pemrograman terstruktur adalah cara pemrosesan data yang terstuktur.
· Terstruktur dalam: analisa, cara dan penulisan program.
· Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur.
· Kontrol program terstruktur:
1. Runtun - urut (sequence)
2. Pilihan (selection)
3. Pengulangan (repetition - loop)
Modular (Prosedural)
· Bahasa pemrograman prosedural adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur.
· Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda untuk setiap pemanggilan.
· Prosedur adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu
Visual & Even Driven Programming
Event Driven adalah sebuah sifat yang terdapat pada bahasa pemrograman Microsoft Visual Basic (VB) dan menawarkan Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows.
Simbol – simbol untuk menggambarkan Flow Chart
STRUKTUR PROSES DALAM ALGORITMA
· Proses berurutan (sequence)
Suatu prosedur proses dalam algoritma yang dilakukan secara urut langkah demi langkah yang memuat serangkaian prosedur pengolahan data dari :
Menghitung luas persegi panjang
1. Mulai
2.
Membaca
data
Panjang, Lebar
3.
Menghitung
Luas
Luas = panjang x lebar
4.
Mencetak
hasil
Luas
5. Selesai
· Proses seleksi (selection)
Apabila SyaratLogika bernilai TRUE (benar) maka instruksi setelah THEN akan dilaksanakan.
Apabila SyaratLogika bernilai FALSE (salah) maka instruksi setelah THEN tidak akan dilaksanakan.
ELSE Instruksi2
Apabila SyaratLogika bernilai TRUE (benar) maka Instruksi1 setelah THEN akan dilaksanakan.
Apabila SyaratLogika bernilai FALSE (salah) maka Instruksi2 setelah THEN akan dilaksanakan.
· Proses perulangan (looping)
Suatu proses yang akan melakukan eksekusi suatu program secara berulang-ulang pada suatu blok instruksi tertentu yang terkendali.
Setiap bahasa pemrograman menyediakan fasilitas untuk melakukan proses perulangan dalam sintaks instruksi dan penggunaan yang bervariasi. Sebagai contoh dalam bahasa Pascal dikenal adanya instruksi WHILE..DO, REPEAT..UNTIL, FOR..TO..DO, serta FOR..DOWNTO..DO.