l ALGORITMA DAN PEMROGRAMAN
l PEMROGRAMAN I
l PENGANTAR ALGORITMA PEMROGRAMAN
l Algoritma adalah urutan langkah-langkah atau tahapan-tahapan penyelesaian masalah yang disusun secara sistematis dan logis
l Algoritma adalah proses yang procedural
• Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
• Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah
l Algoritma adalah jantung ilmu komputer atau informatika
l Empat komponen utama komputer
l Penggolongan Bahasa Pemrograman
l Penggolongan Bahasa Pemrograman
l Berdasarkan terapannya
• Bahasa pemrograman bertujuan khusus
• Bahasa Pemrograman bertujuan Umum
l Berdasarkannotasi bahasa pemrograman
• Bahasa tingkat rendah
• Bahasa tingkat tinggi
l Aspek Penting dari Algoritma
• Finiteness
• Definiteness
• Input
• Output
• Effectiveness
• TI1063
Algoritma dan Pemrograman
Algoritma dan Pemrograman
• Antonius Rachmat C, S.Kom
• Algoritma & Pemrograman
• SKS : 3 SKS
• Dosen : Antonius Rachmat C, S.Kom
• Email : anton@ukdw.ac.id
• Website : http://lecturer.ukdw.ac.id/anton
• Jadwal Kuliah Kelas: :
• Group A: Senin, 10.30
• Group B: Senin, 13.30
• Group C: Rabu, 10.30
• Group D: Kamis, 16.30
Jadwal Kuliah Praktikum (2x seminggu) mengikuti jadwal masing-masing.
• Koordinator Praktikum: Willy Sudiarto Raharjo, S.Kom
• Praktikum menggunakan Bahasa C / C++
• Tool: Visual C++ atau Turbo C++
• Deskripsi Matakuliah
• Matakuliah ini mengajarkan tentang:
• konsep dan logika berpikir komputer,
• cara perancangan dan analisis masalah,
• yang kemudian dipecahkan dengan menggunakan komputer menggunakan algoritma dan pemrograman terstruktur.
• Selain itu juga diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa C), dan flowchart
• Kompetensi Matakuliah
• Mahasiswa mampu:
• memahami logika berpikir komputer,
• memahami prinsip kerja program,
• memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan,
• dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir (flow chart) menggunakan suatu bahasa pemrograman tertentu
• Materi-Materi
• Pengantar Algoritma
• Konsep Bahasa Pemrograman
• Flowchart
• Tipe Data, Keywords, Konstanta, Variabel
• Struktur Input/Output
• Percabangan
• Perulangan
• Pemrograman Modular
• Fungsi: parameter, kembalian fungsi by value
• Array 1 dimensi
• Array 2 dimensi
• Manipulasi String
• Referensi
• Thomas H. Cormen et.al, Introduction to Algorithms Second Edition, MIT Press, McGraw-Hill Book Company, 2001
• Simon Harris and James Ross, Beginning Algorithms, Willey Publishing Inc, 2006
• Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000
• Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000
• Iwan Binanto, Konsep Bahasa Pemrograman, Penerbit Andi Yogyakarta, 2005
• Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Java, Mitra Wacana Media, 2005
• Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba Teknika, 2004
• Penilaian
• Ketentuan Lain
• Tidak ada tes tengah atau akhir susulan
• Kehadiran minimal 75%
• Ketentuan praktikum sesuai dengan aturan praktikum
• Tidak ada tugas tambahan untuk meningkatkan nilai yang kurang
• Silabus
• Pengantar Algoritma dan Konsep Bahasa Pemrograman
• Flowchart dan Pengenalan C
• Tipe Data, Keywords, Konstanta dan Input/Output
• Percabangan Sederhana
• Percabangan Kompleks dan Switch
• Loop Sederhana
• Loop Kompleks
• TTS
• Modular Programming
• Fungsi by value: parameter, void dan non-void
• Array 1 Dimensi
• Array 2 Dimensi
• String Manipulation pada C
• TAS
• Sistem Komputer
• Sebuah sistem komputer terdiri dari:
• Hardware (perangkat keras) ,
• Software (perangkat lunak) dan
• Brainware,
• sedangkan Software dapat dikelompokkan menjadi:
• Operating System Software,
• Programming Language Software
• danApplication Program Software.
• Bagan Sistem Komputer
• Definisi Program
• Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program).
• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa).
• Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan.
• Mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
• Bahasa Pemrograman
• Adalah alat untuk membuat program
• Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
• Perbedaan: cara memberikan instruksi
• Persamaan: bertujuan menghasilkan output yang sama
• Paradigma Pemrograman
• Pemrograman Prosedural
• 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.
• Pemrograman Fungsional
• Berdasarkan teori fungsi matematika
• Fungsi merupakan dasar utama program.
• Pemrograman Terstruktur
• Secara berurutan dan terstrukrtur.
• Program dapat dibagai-bagi menjadi prosedur dan fungsi.
• Contoh: PASCAL dan C
• 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
• 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
• 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).
• Algoritma
• Game :
Use Your Mind!
• Langkah Use Your Mind
• 2 kanibal naik perahu ke seberang kiri
• Pindahkan 1 kanibal ke seberang kiri
• Perahu kembali ke seberang kanan dgn 1 kanibal
• Ulangi langkah 1-3
• 2 misionaris naik perahu ke seberang kiri
• Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu
• Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris
• Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang kanan
• Perahu kembali ke seberang kiri dgn 2 misionaris
• Turunkan semua misionaris di perahu ke seberang kiri
• Perahu kembali ke seberang kanan dgn 1 kanibal
• Ulangi langkah 1-3
• 2 kanibal naik perahu ke seberang kiri
• Turunkan kedua kanibal ke seberang kiri
• Algoritma
• Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi
• Ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction)
• Tahun 825 M
• Berasal dari Iran
• Definisi Algoritma
• Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
• Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
• (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
• Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
• Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain.
• Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
• (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
• Contoh Algoritma
• Memasak.
• Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
• Menulis surat
• Surat dimasukkan ke dalam amplop tertutup
• Amplop ditempeli perangko secukupnya.
• Pergi ke Kantor Pos terdekat untuk mengirimkannya
• Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris.
• Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien
• Manusia - Komputer
• Pelaksana algoritma adalah Komputer.
• Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.
• Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.
• Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama
• Kriteria Algoritma
(Donald E. Knuth)
(Donald E. Knuth)
• Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
• Output: algoritma harus memiliki minimal satu buah output keluaran.
• Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
• Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
• Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk
unterminatable: contoh Sistem Operasi
• Next
• Jenis Algoritma
• Contoh Algoritma
• Pseudo-code
• Langkah pembuatan program
• Flowchart
0 komentar:
Posting Komentar