15
Algoritma Algoritma & & Pemrograman I Pemrograman I Kuliah Pengantar

0 Materi Pengantar Algoritma I

Embed Size (px)

Citation preview

Page 1: 0 Materi Pengantar Algoritma I

AlgoritmaAlgoritma & Pemrograman I & Pemrograman IKuliah Pengantar

Page 2: 0 Materi Pengantar Algoritma I

Deskripsi MatakuliahDeskripsi Matakuliah

• Matakuliah ini mengajarkan tentang:Matakuliah ini mengajarkan tentang:• konsep dan logika berpikir komputer, konsep dan logika berpikir komputer, • cara perancangan dan analisis masalah, cara perancangan dan analisis masalah, • yang kemudian dipecahkan dengan yang kemudian dipecahkan dengan

menggunakan komputer menggunakan menggunakan komputer menggunakan algoritma dan pemrograman terstruktur. algoritma dan pemrograman terstruktur.

• Selain itu juga diperkenalkan dan diajarkan Selain itu juga diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa C), penggunaan bahasa pemrograman (Bahasa C), dan flowchartdan flowchart

Page 3: 0 Materi Pengantar Algoritma I

Kompetensi MatakuliahKompetensi Matakuliah

• Mahasiswa mampu:Mahasiswa mampu:• memahami logika berpikir komputer, memahami logika berpikir komputer,

• memahami prinsip kerja program, memahami prinsip kerja program,

• memahami alasan-alasan komputer dapat mengerjakan memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, perintah-perintah yang diberikan,

• dan mampu menggambarkan logika jalannya program dan mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo code) dan secara tertulis dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir (flow chart) dilengkapi dengan diagram alir (flow chart) menggunakan suatu bahasa pemrograman tertentumenggunakan suatu bahasa pemrograman tertentu

Page 4: 0 Materi Pengantar Algoritma I

Materi-MateriMateri-Materi

• Pengantar Algoritma Pengantar Algoritma • Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman• FlowchartFlowchart• Tipe Data, Keywords, Konstanta, VariabelTipe Data, Keywords, Konstanta, Variabel• Struktur Input/OutputStruktur Input/Output• PercabanganPercabangan• PerulanganPerulangan• Pemrograman ModularPemrograman Modular• Fungsi: parameter, kembalian fungsi by valueFungsi: parameter, kembalian fungsi by value• Array 1 dimensiArray 1 dimensi• Array 2 dimensiArray 2 dimensi• RecordRecord

Page 5: 0 Materi Pengantar Algoritma I

SilabusSilabus

• Pengantar Algoritma dan Konsep Bahasa PemrogramanPengantar Algoritma dan Konsep Bahasa Pemrograman• Flowchart dan Pengenalan CFlowchart dan Pengenalan C• Tipe Data, Keywords, Konstanta dan Input/OutputTipe Data, Keywords, Konstanta dan Input/Output• Percabangan SederhanaPercabangan Sederhana• Percabangan Kompleks dan SwitchPercabangan Kompleks dan Switch• Loop SederhanaLoop Sederhana• Loop KompleksLoop Kompleks• TTSTTS• Modular ProgrammingModular Programming• Fungsi by value: parameter, void dan non-voidFungsi by value: parameter, void dan non-void• Array 1 DimensiArray 1 Dimensi• Array 2 DimensiArray 2 Dimensi• RecordRecord

Page 6: 0 Materi Pengantar Algoritma I

Sistem KomputerSistem Komputer

• Sebuah sistem komputer terdiri dari Sebuah sistem komputer terdiri dari HardwareHardware (perangkat keras)(perangkat keras) , Software, Software (perangkat lunak)(perangkat lunak) dandan BrainwareBrainware, , sedangkan sedangkan SoftwareSoftware dapat dikelompokkan dapat dikelompokkan menjadi menjadi Operating System Software, Operating System Software, Programming Language Software Programming Language Software dandan Application Program Software.Application Program Software.

Page 7: 0 Materi Pengantar Algoritma I

Bagan Sistem KomputerBagan Sistem Komputer

Page 8: 0 Materi Pengantar Algoritma I

Definisi Program/PemrogramanDefinisi Program/Pemrograman

• Adalah kumpulan instruksi-instruksi tersendiri yang Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh biasanya disebut source code yang dibuat oleh programmer (pembuat program)programmer (pembuat program)

• Program adalah kumpulan instruksi atau perintah yang Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)P. Insap Santosa)

• Instruksi (Instruksi (statementstatement) yang dimaksud adalah syntax (cara ) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan. Output, Proses, Percabangan dan Perulangan.

Page 9: 0 Materi Pengantar Algoritma I

Bahasa PemrogramanBahasa Pemrograman

• Adalah Adalah alatalat untuk membuat program untuk membuat program

• Contoh: C, C++, C#, Pascal, Basic, Perl, Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.PHP, ASP, JHP, Java, dll.

• Perbedaan: cara memberikan instruksiPerbedaan: cara memberikan instruksi

• Persamaan: bertujuan menghasilkan Persamaan: bertujuan menghasilkan output output yang samayang sama

Page 10: 0 Materi Pengantar Algoritma I

Paradigma PemrogramanParadigma Pemrograman

• Pemrograman ProseduralPemrograman Prosedural• Berdasarkan urutan-urutan, sekuensialBerdasarkan urutan-urutan, sekuensial• Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur

merupakan kumpulan instruksi yang dikerjakan secara berurutan.merupakan kumpulan instruksi yang dikerjakan secara berurutan.• Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

• Pemrograman FungsionalPemrograman Fungsional• Berdasarkan teori fungsi matematikaBerdasarkan teori fungsi matematika• Fungsi merupakan dasar utama program.Fungsi merupakan dasar utama program.

• Pemrograman TerstrukturPemrograman Terstruktur• Secara berurutan dan terstrukrtur.Secara berurutan dan terstrukrtur.• Program dapat dibagai-bagi menjadi prosedur dan fungsi.Program dapat dibagai-bagi menjadi prosedur dan fungsi.• Contoh: PASCAL dan CContoh: PASCAL dan C

• Pemrograman ModularPemrograman Modular• Pemrograman ini membentuk banyak modul.Pemrograman ini membentuk banyak modul.• Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriModul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri• Sebuah program dapat merupakan kumpulan modul-modul.Sebuah program dapat merupakan kumpulan modul-modul.• Contoh: MODULA-2 atau ADA Contoh: MODULA-2 atau ADA

Page 11: 0 Materi Pengantar Algoritma I

Paradigma PemrogramanParadigma Pemrograman

• Pemrograman Berorientasi ObyekPemrograman Berorientasi Obyek• Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki

data/variabel/property dan method/event/prosedur yang dapat data/variabel/property dan method/event/prosedur yang dapat dimanipulasidimanipulasi

• Contoh: C++, Object Pascal, dan Java.Contoh: C++, Object Pascal, dan Java.• Pemrograman Berorientasi FungsiPemrograman Berorientasi Fungsi

• Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.tergantung pada tujuan pembuatan bahasa pemrograman ini.

• Contoh: SQL (Structured Query Language), HTML, XML dan lain-Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.lain.

• Pemrograman DeklaratifPemrograman Deklaratif• Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan

daripada memecahkan masalah dengan implementasi algoritma.daripada memecahkan masalah dengan implementasi algoritma.• Contoh: PROLOG Contoh: PROLOG

Page 12: 0 Materi Pengantar Algoritma I

Siklus Hidup Perangkat Lunak Siklus Hidup Perangkat Lunak (Software)(Software)

• Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding bagian dimana pemrogram melakukan proses coding (pembuatan program). (pembuatan program).

Page 13: 0 Materi Pengantar Algoritma I

AksiAksi• Kejadian yang terjadi pada waktu yang terbatas dan Kejadian yang terjadi pada waktu yang terbatas dan

menghasilkan efek yang memang direncanakanmenghasilkan efek yang memang direncanakan• Dari t0 – t1Dari t0 – t1• Contoh: “aksi Bu Tati mengupas kentang untuk makan malam”Contoh: “aksi Bu Tati mengupas kentang untuk makan malam”• Batasan:Batasan:

• Apa kentang harus dibeli dulu atau sudah ada?Apa kentang harus dibeli dulu atau sudah ada?• Apakah mengupas berarti sampai kentang terhidang?Apakah mengupas berarti sampai kentang terhidang?• Apakah setelah kentang selesai dikupas, harus ada kegiatan lain Apakah setelah kentang selesai dikupas, harus ada kegiatan lain

seperti dibuat sup atau digoreng?seperti dibuat sup atau digoreng?

• Berarti harus ada kejadian awal = start dan kejadian akhir = finishBerarti harus ada kejadian awal = start dan kejadian akhir = finish

• Kejadian bu Tati dapat juga diterapkan pada ibu-ibu yang Kejadian bu Tati dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentanglain, yang juga akan mengupas kentang• Cara (Metode) sebisa mungkin harus bersifat universalCara (Metode) sebisa mungkin harus bersifat universal

Page 14: 0 Materi Pengantar Algoritma I

AlgoritmaAlgoritma

• Game : Game :

Use Your Mind!

Page 15: 0 Materi Pengantar Algoritma I

Langkah Use Your MindLangkah Use Your Mind

1.1. 2 kanibal naik perahu ke seberang kiri 2 kanibal naik perahu ke seberang kiri 2.2. Pindahkan 1 kanibal ke seberang kiriPindahkan 1 kanibal ke seberang kiri3.3. Perahu kembali ke seberang kanan dgn 1 kanibalPerahu kembali ke seberang kanan dgn 1 kanibal4.4. Ulangi langkah 1-3Ulangi langkah 1-35.5. 2 misionaris naik perahu ke seberang kiri2 misionaris naik perahu ke seberang kiri6.6. Di seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahuDi seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahu7.7. Perahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionarisPerahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionaris8.8. Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang

kanankanan9.9. Perahu kembali ke seberang kiri dgn 2 misionarisPerahu kembali ke seberang kiri dgn 2 misionaris10.10. Turunkan semua misionaris di perahu ke seberang kiriTurunkan semua misionaris di perahu ke seberang kiri11.11. Perahu kembali ke seberang kanan dgn 1 kanibalPerahu kembali ke seberang kanan dgn 1 kanibal12.12. Ulangi langkah 1-3Ulangi langkah 1-313.13. 2 kanibal naik perahu ke seberang kiri2 kanibal naik perahu ke seberang kiri14.14. Turunkan kedua kanibal ke seberang kiriTurunkan kedua kanibal ke seberang kiri