Algoritma dan Algoritma dan PemrogramanPemrograman
Masalah dan Program Masalah dan Program
Program Program adalah kata, ekspresi, adalah kata, ekspresi, pernyataan, atau kombinasinya yang pernyataan, atau kombinasinya yang disusun dan dirangkai menjadi satu disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan langkah untuk menyelesaikan masalahmasalah yang diimplementasikan dengan yang diimplementasikan dengan menggunakan bahasa pemrograman menggunakan bahasa pemrograman sedemikian hingga dapat dieksekusi sedemikian hingga dapat dieksekusi oleh komputer oleh komputer
Masalah harus Masalah harus computerizedcomputerized
Tahapan pembuatan Tahapan pembuatan programprogram
Analisis masalah Analisis masalah Merancang algoritma Merancang algoritma Menyusun program komputasi atau Menyusun program komputasi atau
implementasi implementasi Testing program Testing program
Menyusun program diperlukan Menyusun program diperlukan bahasa pemrogramanbahasa pemrograman ((programming languageprogramming language))
bahasa pemrogramanbahasa pemrograman adalah suatu adalah suatu tatacara atau prosedur yang tatacara atau prosedur yang digunakan untuk menulis atau digunakan untuk menulis atau menyusun program menyusun program
PemrogramanPemrograman ( (programmingprogramming): ): proses mengimplementasikan proses mengimplementasikan algoritma dengan menyusun program algoritma dengan menyusun program komputasi dengan menggunakan komputasi dengan menggunakan bahasa pemrogramanbahasa pemrograman
Bahasa pemrogramanBahasa pemrograman Bahasa pemrograman mempunyai (1) Bahasa pemrograman mempunyai (1)
syntax, (2) semantiksyntax, (2) semantik SyntaxSyntax : aturan gramatikal (tata bahasa) : aturan gramatikal (tata bahasa)
yang mengatur tata cara penulisan kata, yang mengatur tata cara penulisan kata, ekspresi, pernyataan (statemen) dari ekspresi, pernyataan (statemen) dari bahasa pemrograman bahasa pemrograman
semantiksemantik : aturan-aturan yang berkaitan : aturan-aturan yang berkaitan untuk menyatakan arti atau makna dari untuk menyatakan arti atau makna dari kata, ekspresi atau statemen kata, ekspresi atau statemen
bahasa pemrograman juga berfungsi bahasa pemrograman juga berfungsi sebagai alat komunikasi antara sebagai alat komunikasi antara programmer (pembuat program) dengan programmer (pembuat program) dengan komputer komputer
Type bahasa Type bahasa pemrogramanpemrograman
bahasa tingkat rendah (bahasa tingkat rendah (low level low level languagelanguage). ).
Bahasa tingkat menengah (Bahasa tingkat menengah (middle middle level languagelevel language). ).
Bahasa tingkat tinggi (Bahasa tingkat tinggi (high levelhigh level languagelanguage). ).
Bahasa berorientasi obyek (Bahasa berorientasi obyek (object object oriented languageoriented language). ).
Penerjemah Penerjemah Penerjemah berfungsi menerjemakan bahasa Penerjemah berfungsi menerjemakan bahasa
tingkat tinggi (yg dipahami manusia / tingkat tinggi (yg dipahami manusia / programmer) ke bahasa mesin yg dipahami programmer) ke bahasa mesin yg dipahami komputer.komputer.
Ada dua jenis penerjemah : (1) Ada dua jenis penerjemah : (1) interpreterinterpreter, (2) , (2) compilercompiler..
InterpreterInterpreter menerjemahkan bahasa dalam menerjemahkan bahasa dalam program selangkah demi selangkah (intruksi program selangkah demi selangkah (intruksi demi instruksi) ke dalam bahasa mesin sampai demi instruksi) ke dalam bahasa mesin sampai program selesai dibuat program selesai dibuat
compilercompiler menerjemahkan bahasa dalam menerjemahkan bahasa dalam program ke dalam bahasa mesin (program ke dalam bahasa mesin (object object programprogram) secara keseluruhan bila program ) secara keseluruhan bila program telah selesai dibuat. telah selesai dibuat.
Algoritma Algoritma
algoritma :algoritma : suatu metode khusus yang suatu metode khusus yang tepat dan terdiri dari serangkaian tepat dan terdiri dari serangkaian langkah yang terstruktur dan langkah yang terstruktur dan dituliskan secara sistematis yang akan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer masalah dengan bantuan komputer
Masalah
Analisis Masalah
Algoritma
Implementasi
Solusi
Ciri-ciri algoritma yg Ciri-ciri algoritma yg baikbaik Mempunyai logika perhitungan yang Mempunyai logika perhitungan yang
tepat dalam memecahkan masalahtepat dalam memecahkan masalah Menghasilkan output yang benar dalam Menghasilkan output yang benar dalam
waktu yang sesingkat-singkatnyawaktu yang sesingkat-singkatnya Banyaknya langkah (step) berhingga Banyaknya langkah (step) berhingga Selalu ada akhir setelah melalui Selalu ada akhir setelah melalui
sejumlah langkah tertentu atau ada sejumlah langkah tertentu atau ada kriteria berhenti kriteria berhenti
Minimal ada satu output (hasil)Minimal ada satu output (hasil) Semua operasi-operasi yang diperlukan Semua operasi-operasi yang diperlukan
terdefinisi dengan jelas, dllterdefinisi dengan jelas, dll
FlowchartFlowchart (Diagram Alir) (Diagram Alir)
Dengan diagram alir : Dengan diagram alir : mengekspresikan algoritma yang mengekspresikan algoritma yang ada dengan simbol-simbol tertentu ada dengan simbol-simbol tertentu
diagram alir biasanya sudah diagram alir biasanya sudah mengikuti logika yang benar untuk mengikuti logika yang benar untuk kerja komputer untuk suatu program kerja komputer untuk suatu program dari awal sampai akhir seperti: input dari awal sampai akhir seperti: input data, proses, penyeleksian kondisi, data, proses, penyeleksian kondisi, perulangan, output perulangan, output
Simbol utk flowchartSimbol utk flowchart
Terminal. Awal Terminal. Awal (mulai) dan akhir (mulai) dan akhir (selesai)(selesai)
Input, outputInput, output
ProsesProses
Percabangan / Percabangan / seleksi seleksi
Simbol utk flowchartSimbol utk flowchart
PreparationPreparation, , pemberian nilai pemberian nilai awalawal
ConnectorConnector, pd , pd halaman yg samahalaman yg sama
Connector, pd Connector, pd halaman berbedahalaman berbeda
Flow linesFlow lines
start
Input p, l
Luas = p*lKel = 2*p + 2*l
output Luas, Kel
Stop
Diagram alir menghitung luas dan keliling persegi panjang
Mulai
Mandi, Berpakaian
Selesai
Diagram alir Acara Malam Minggu
Apel ?Y
TNonton TV
Nyamperin Pacar
Ngobrol, …, ☻♫$Ψλμ
PulangTidur
Mulai
Nasi, lauk, sayur, piring, sendok, Air minum, buah, susu
Ambil nasi, lauk, sayur secukupnya
Suapkan nasi ke mulut adik
Nasi dipiringsudah habis ?
T YSelesai
Diagram alir Menyuap Adik
Adik Kenyang
Membangun ProgramMembangun Program
InisialisasiInisialisasi InputInput ProsesProses OutputOutput
Struktur programStruktur program
Struktur urut (sequence) atau linearStruktur urut (sequence) atau linear Struktur perulangan (looping)Struktur perulangan (looping) Struktur seleksi (decision) atau Struktur seleksi (decision) atau
percabanganpercabangan Kombinasi dari ketiga struktur di Kombinasi dari ketiga struktur di
atas.atas.
start
Input p, l
Luas = p*lKel = 2*p + 2*l
output Luas, Kel
Stop
Struktur Urut / Linear
Mulai
Mandi, Berpakaian
Selesai
Struktur Seleksi / Cabang
Apel ?Y
TNonton TV
Nyamperin Pacar
Ngobrol, …, ☻♫$Ψλμ
PulangTidur
Mulai
Nasi, lauk, sayur, piring, sendok, Air minum, buah, susu
Ambil nasi, lauk, sayur secukupnya
Suapkan nasi ke mulut adik
Nasi dipiringsudah habis ?
T YSelesai
Struktur Perulangan
Uji Coba dan Uji Coba dan DokumentasiDokumentasi
Melihat kebenaran programMelihat kebenaran program Petunjuk bagi pemakaiPetunjuk bagi pemakai