Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom
Sejarah Algoritma Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M
Algoritma Dalam Kehidupan Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain.
Con’t Dalam kehidupan sehari-haripun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca.
Analogi : Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah: Langkah : Menulis surat Surat dimasukkan ke dalam amplop tertutup Amplop dikasih alamat penerima dan pengirim Amplop ditempeli perangko secukupnya. Pergi ke Kantor Pos terdekat untuk mengirimkannya
Pengantar Algoritma Jadi dalam menjalankan algoritma harus: Mengerti setiap langkah dalam Algoritma Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Pengantar Algoritma Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman disebut dengan program. Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Apa Itu Algoritma ? Definisi : Urutan langkah-langkah untuk memecahkan masalah yang disusun secara sistematis dan logis. Kamus Besar Bahasa Indonesia: Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah.
Contoh Algoritma Algoritma TUKAR ISI BEJANA Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI : – Tuangkan larutan dari bejana A ke dalam bejana B – Tuangkan larutan dari bejana B ke dalam bejana A.
BENAR ATAU SALAH ???
Jawabannya : Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut. Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Program = Algoritma + Bahasa Apa Itu Program/Pemrograman? Definisi Kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program). Program : Realisasi dari Algoritma. Program = Algoritma + Bahasa
Bahasa Pemrograman Adalah alat untuk membuat program Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll. Perbedaan: cara memberikan instruksi (sintaks) Persamaan: bertujuan menghasilkan output yang sama 13
Paradigma Pemrograman Pemrograman Prosedural / Terstruktur Berdasarkan urutan-urutan, sekuensial Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan. Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah. Program dapat dibagai-bagi menjadi prosedur dan fungsi. Contoh: PASCAL dan C Pemrograman Fungsional Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program. Pemrograman Modular Pemrograman ini membentuk banyak modul. Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri Sebuah program dapat merupakan kumpulan modul-modul. Contoh: MODULA-2 atau ADA 14
Paradigma Pemrograman Pemrograman Berorientasi Obyek Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi Contoh: C++, Object Pascal, dan Java. Pemrograman Berorientasi Fungsi Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini. Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain. Pemrograman Deklaratif Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma. Contoh: PROLOG 15
Siklus Hidup Perangkat Lunak (Software) Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program). 16
Mengapa Algoritma ? Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Syarat Algoritma Baik? Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar. Pemrosesan yang efisien (cost rendah) Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin. Sifatnya general Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
Bisa dikembangkan (expandable) Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada. Mudah dimengerti Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola). Portabilitas yang tinggi (portability) Bisa dengan mudah diimplementasikan di berbagai platform komputer. Precise (tepat, betul, teliti)
Output yang dihasilkan tepat. Efektif Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya. Harus terminate Jalannya algoritma harus ada kriteria berhenti. Output yang dihasilkan tepat.
Langkah Pembuatan Program Mendefinisikan masalah a. Kondisi awal, yaitu input yang tersedia. b. Kondisi akhir, yaitu output yang diinginkan. c. Data lain yang tersedia. d. Operator yang tersedia. e. Syarat atau kendala yang harus dipenuhi.
Tahap Penyelesaian Masalah Model analisis Algoritma analisis Program analisis Eksekusi Data Hasil
Istilah Program berisi urutan langkah-langkah penyelesaian masalah. Program ditulis dengan menggunakan bahasa pemrograman. Orang yang membuat program disebut pemrogram (programmer). Kegiatan merancang dan menulis program disebut pemrograman.
Belajar bahasa pemrograman Belajar memprogram ≠ Belajar bahasa pemrograman
Suatu Algoritma yg terbaik (The Best): “Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“
OLEH2 & LATIHAN
Oleh-1 Buatlah algoritma dengan menggunakan bahasa natural (bahasa sehari-hari / pseudocode ) Buat langkah untuk melakukan penggantian ban mobil yang pecah ( tanpa ada masalah / syarat ). Dari Soal diatas dikembangkan kembali, mis : bila ban serep kempes atau ban serep bocor.
Oleh-2 Buatlah algoritma (dengan bahasa natural) Kemudian sadur ke dalam bahasa pemrograman Java Menampilkan bilangan ganjil dari 1 sampai dengan 10. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N N = jumlah maksimum suatu nilai yang dimasukkan. 28
Filosofi Oleh-Oleh Sungguh..... Oleh – oleh ini, sama sekali tidak memiliki tujuan untuk memberatkan anda, tetapi oleh- oleh ini dimaksudkan agar anda belajar dan tentunya dengan ketekunan anda, Anda akan meraih sukses dan cita-cita anda. SELAMAT BERJUANG !!!
Wassalam Terimakasih