Minggu, 04 Mei 2014

download materi alogaritma dan pemrogaman



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
•           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)
•                            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

Posting Kami