ALGORITMA & PEMROGRAMAN Hadi Hermansyah, S.Si.,., M.Si.
Algoritma Adalah inti dari ilmu komputer. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
Algoritma Algoritma blueprint dari program. Sebaiknya disusun sebelum membuat program. Kriteria suatu algoritma: Ada input dan output Efektif dan efisien Terstruktur Program Perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu
Algoritma dalam Kehidupan
Belajar Memprogram & Belajar Bahasa Pemrograman Belajar memprogram: pemahaman persoalan, analisis, dan sintesis Pemecahan Masalah -Strategi -Metodologi -Sistematika Notasi yang telah disepakati Belajar Bahasa Pemrograman : Belajar memakai suatu bahasa aturan sintaks (tata bahasa)
Tahapan Pemecahan Masalah Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi Program dalam Bahasa Mesin Operasi (Baca, tulis, hitung, perbandingan, dll) Interpretasi oleh CPU
Paradigma Pemrograman Prosedural (imperatif) Program = Struktur + Data mis : Pascal, C, Basic Object Oriented data dan instruksi dibungkus menjadi satu, disebut: kelas, kelas pada saat run-time disebut objek. mis : C++, Java Fungsional konsep pemetaan dan fungsi pada matematika mis : Matlab Deklaratif pendefinisian relasi antar individu yang dinyatakan sebagai predikat mis : Prolog
Contoh Algoritma 1 Mengirim surat kepada teman: 1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat. 3. Masukkan surat ke dalam sampul. 4. Tutup sampul surat menggunakan perekat. 5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat. 6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat. 7. Tempel perangko pada surat. 8. Bawa surat ke kantor pos untuk diposkan.
Contoh Algoritma 2 Algoritma menghitung luas persegi panjang: Masukkan panjang (P) Masukkan lebar (L) Luas P * L Tulis Luas
Pseudo Code Kode atau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma
Contoh Problem:mencari bilangan terbesar dari dua bilangan yang diinputkan Contoh Algoritma: Masukkan bilangan pertama Masukkan bilangan kedua Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. Tampilkan bilangan pertama Tampilkan bilangan kedua
Contoh Contoh Pseudo-code: Input a Input b If a > b then kerjakan langkah 4 print a print b
Perbandingan Algoritma Pseudo-code Nilai A ditambah dengan 5 A A + 5 Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A Dari dua bilangan A dan B, cari bilangan IF A > B THEN PRINT A ELSE PRINT yang terbesar B
Langkah Pembuatan Program 1. Menemukan solusi Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan. Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul: meminta masukkan berupa matriks bujur sangkar mencari invers matriks menampilkan hasil kepada pengguna Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.
Langkah Pembuatan Program 2. Memilih algoritma Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut 3. Menulis program Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.
Langkah Pembuatan Program 4. Menguji program Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan. 5. Menulis dokumentasi Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.
Langkah Pembuatan Program 6. Merawat program Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada
DASAR-DASAR ALGORITMA dan FLOW CHART
Proses, Instruksi, dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan suatu proses Algoritma tersusun oleh sederetan langkah instruksi yang logis Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi) Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU
Struktur Dasar Algoritma Runtunan (sequence) aksi-aksi dalam algoritma yang dikerjakan secara berurutan contoh : A1. Aksi 1 A2. Aksi 2 A3. Aksi 3 mula-mula aksi 1 dilakukan aksi 2 dilakukan setelah aksi 1 selesai dilaksanakan dst.
Struktur Dasar Algoritma(2) Pemilihan (selection) aksi dikerjakan jika kondisi tertentu terpenuhi contoh : IF kondisi THEN aksi IF kondisi THEN aksi1 ELSE aksi2 IF kondisi1 THEN Aksi1 ELSE IF kondisi2 THEN Aksi2 ELSE Aksi3 (Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi)
Struktur Dasar Algoritma (3) Pengulangan (repeatition) aksi-aksi yang dikerjakan berulang kali contoh : FOR pencacah pengulangan dari a sampai b DO Aksi (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai b yakni sebanyak b-a+1 kali) REPEAT Aksi UNTIL kondisi (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi) WHILE kondisi DO Aksi (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)
Penulisan Algoritma FLOW CHART Flow chart adalah suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan suatu program dari awal sampai akhir Flow chart adalah algoritma yang digambarkan dengan diagram Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi dari algoritma) TEKS ALGORITMA berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami
Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Merupakan cara penyajian dari suatu algoritma. Ada 2 macam Flowchart : System Flowchart urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. Program Flowchart urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Flowchart Definisi: Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial Kegunaan: Untuk mendesain program Untuk merepresentasikan program
Flowchart Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman Sebelum pembuatan program Mempermudah programmerdalam menentukan alur logika program Sesudah pembuatan program Menjelaskan alur program kepada orang lain
Simbol-simbol Flowchart Flow Direction Symbols (Simbol penghubung alur) Processing Symbols (Simbol proses). Input-output Symbols (Simbol input-output)
Flowchart Secara garis besar, unsur-unsur pemrograman adalah Input Proses Output. Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut : Input (scanf) Percabangan (if, switch) Perulangan (while, for, for each, loop) Output (printf)
Simbol-simbol Flowchart
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Simbol-simbol Flowchart Cont.
Pembuatan Flowchart cont. Selalu dimulai dengan BEGIN: Jangan lupa menggambar garis Begin End
Pembuatan Flowchart cont. Input / Output Begin Jangan lupa garis Mungkin anda ingin berkomunikasi dengan pemakai Input/outp
Pembuatan Flowchart cont. Proses Begin Anda dpt melakukan perhitungan di dlm proses Input Proses
Pembuatan Flowchart cont. Begin Input Anda dapat menampilkan hasil di output Proses Output End
Contoh Flowchart-1 Problem: Menghitung luaspersegi panjang Algoritma Masukkanpanjang(p)2.Masu kkanlebar(l)3.hitungluas(l), yaitupanjangkali lebar4.cetakluas(l
Flowchart-2 : kirim surat ke teman Mulai tulis surat,ambil sampul, INPUT masuk surat, tutup surat TDK alamat=ingat? cari di buku telp YA tulis alamat PROCESS pd sampul surat OUTPUT selesai
Flowchart -3 bilangan ganjil 1-100
Flowchart-4
ATURAN PENULISAN TEKS ALGORITMA
Teks Algoritma Teks algoritma berisi langkah-langkah penyelesaian masalah Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik
Teks Algoritma Struktur teks algoritma Kepala algoritma terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut Deklarasi mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma Deskripsi Berisi uraian langkah-langkah penyelesaian Komentar ditulis diantara tanda kurung { dan }
Contoh Teks Algoritma spesifikasi algoritma Judul algoritma Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah
Pascal
C