23
Algoritma & Algoritma & Pemrograman Pemrograman SKS SKS : 3 SKS : 3 SKS Dosen Dosen : Jani Kusanti, S.Kom : Jani Kusanti, S.Kom Email Email : : [email protected]

Algoritma Dan Pemrograman1

  • Upload
    atsila

  • View
    240

  • Download
    1

Embed Size (px)

DESCRIPTION

materi

Citation preview

Page 1: Algoritma Dan Pemrograman1

Algoritma & PemrogramanAlgoritma & Pemrograman

• SKSSKS : 3 SKS: 3 SKS• DosenDosen : Jani Kusanti, S.Kom: Jani Kusanti, S.Kom• EmailEmail : : [email protected]

Page 2: Algoritma Dan Pemrograman1

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 (Java Jeni), penggunaan bahasa pemrograman (Java Jeni), dan flowchartdan flowchart

Page 3: Algoritma Dan Pemrograman1

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: Algoritma Dan Pemrograman1

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• Manipulasi StringManipulasi String

Page 5: Algoritma Dan Pemrograman1

ReferensiReferensi

• Thomas H. Cormen et.al, Thomas H. Cormen et.al, Introduction to Algorithms Second EditionIntroduction to Algorithms Second Edition, , MIT Press, McGraw-Hill Book Company, 2001MIT Press, McGraw-Hill Book Company, 2001

• Simon Harris and James Ross, Simon Harris and James Ross, Beginning AlgorithmsBeginning Algorithms, Willey , Willey Publishing Inc, 2006Publishing Inc, 2006

• Jogianto H.M, Jogianto H.M, Konsep Dasar Pemrograman Bahasa CKonsep Dasar Pemrograman Bahasa C, Penerbit Andi, , Penerbit Andi, 20002000

• Antonie Pranata, Antonie Pranata, Algoritma dan PemrogramanAlgoritma dan Pemrograman, J&J Learning , J&J Learning Yogyakarta, 2000Yogyakarta, 2000

• Iwan Binanto, Iwan Binanto, Konsep Bahasa PemrogramanKonsep Bahasa Pemrograman, Penerbit Andi , Penerbit Andi Yogyakarta, 2005Yogyakarta, 2005

• Moh. Sjukani, Moh. Sjukani, Algoritma dan Struktur Data dengan C, C++, dan Algoritma dan Struktur Data dengan C, C++, dan JavaJava, Mitra Wacana Media, 2005, Mitra Wacana Media, 2005

• Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Penerbit Salemba Teknika, 2004Penerbit Salemba Teknika, 2004

Page 6: Algoritma Dan Pemrograman1

PenilaianPenilaian

Komponen Penilaian:Praktikum: 35%Tugas / Tes Kecil: 10%TTS: 25%TAS: 30%

85.0 - 100 A4.080.0 - 84.9 A-3.775.0 - 79.9 B+3.370.0 – 74.9 B 3.065.0 – 69.9 B- 2.760.0 – 64.9 C+ 2.355.0 – 59.9 C 2.045.0 – 54.9 D 1.00 – 44.9 E0.0

Page 7: Algoritma Dan Pemrograman1

Ketentuan LainKetentuan Lain

• Tidak ada tes tengah atau akhir susulanTidak ada tes tengah atau akhir susulan

• Kehadiran minimal 75%Kehadiran minimal 75%

• Ketentuan praktikum sesuai dengan aturan Ketentuan praktikum sesuai dengan aturan praktikumpraktikum

• Tidak ada tugas tambahan untuk Tidak ada tugas tambahan untuk meningkatkan nilai yang kurangmeningkatkan nilai yang kurang

Page 8: Algoritma Dan Pemrograman1

SilabusSilabus

• Pengantar Algoritma dan Konsep Bahasa PemrogramanPengantar Algoritma dan Konsep Bahasa Pemrograman• Flowchart dan Pengenalan C, PASCAL, VBFlowchart dan Pengenalan C, PASCAL, VB• 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• String Manipulation pada CString Manipulation pada C• TAS TAS

Page 9: Algoritma Dan Pemrograman1

Sistem KomputerSistem Komputer

• Sebuah sistem komputer terdiri dari: Sebuah sistem komputer terdiri dari: • HardwareHardware (perangkat keras)(perangkat keras) , ,

• SoftwareSoftware (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 10: Algoritma Dan Pemrograman1

Bagan Sistem KomputerBagan Sistem Komputer

Page 11: Algoritma Dan Pemrograman1

Definisi ProgramDefinisi Program

• 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. digunakan.

• Mempunyai komponen-komponen : Input, Output, Proses, Mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan. Percabangan dan Perulangan.

Page 12: Algoritma Dan Pemrograman1

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 13: Algoritma Dan Pemrograman1

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 14: Algoritma Dan Pemrograman1

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 15: Algoritma Dan Pemrograman1

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 16: Algoritma Dan Pemrograman1

AlgoritmaAlgoritma

• Game : Game :

Use Your Mind!

Page 17: Algoritma Dan Pemrograman1

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 Di seberang kanan, tukar kanibal di perahu dgn 1 misionaris di

seberang kananseberang kanan9.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

Page 18: Algoritma Dan Pemrograman1

AlgoritmaAlgoritma

• Asal kata Algoritma berasal dari nama Abu Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa Ja’far Mohammed Ibn Musa al-Khowarizmial-Khowarizmi

• Ilmuan Persia yang menulis kitab al jabr Ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and w’al-muqabala (rules of restoration and reduction) reduction)

• Tahun 825 M Tahun 825 M

• Berasal dari Iran Berasal dari Iran

Page 19: Algoritma Dan Pemrograman1

Definisi AlgoritmaDefinisi Algoritma

• Algoritma adalah urutan langkah logis tertentu untuk Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. memecahkan suatu masalah. • Urutan langkah logis, yang berarti algoritma harus mengikuti Urutan langkah logis, yang berarti algoritma harus mengikuti

suatu urutan tertentu, tidak boleh melompat-lompat. suatu urutan tertentu, tidak boleh melompat-lompat. • ((Dari Microsoft Press Computer and Internet Dictionaary 1997, Dari Microsoft Press Computer and Internet Dictionaary 1997,

19981998))• Alur pemikiran dalam menyelesaikan suatu pekerjaan yang Alur pemikiran dalam menyelesaikan suatu pekerjaan yang

dituangkan secara tertulis. dituangkan secara tertulis. • Alur pikiran, sehingga algoritma seseorang dapat juga berbeda Alur pikiran, sehingga algoritma seseorang dapat juga berbeda

dari algoritma orang lain. dari algoritma orang lain. • Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel

tertentu. tertentu. • ((Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh

Moh Sjukani hal 1Moh Sjukani hal 1))

Page 20: Algoritma Dan Pemrograman1

Contoh AlgoritmaContoh Algoritma

• Memasak.Memasak.• Jika seseorang ingin mengirim surat kepada kenalannya di Jika seseorang ingin mengirim surat kepada kenalannya di

tempat lain, langkah yang harus dilakukan adalah:tempat lain, langkah yang harus dilakukan adalah:• Menulis suratMenulis surat• Surat dimasukkan ke dalam amplop tertutupSurat dimasukkan ke dalam amplop tertutup• Amplop ditempeli perangko secukupnya.Amplop ditempeli perangko secukupnya.• Pergi ke Kantor Pos terdekat untuk mengirimkannya Pergi ke Kantor Pos terdekat untuk mengirimkannya

• Dalam bidang komputer, algoritma sangat diperlukan Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. terutama dalam komputasi numeris.

• Tanpa algoritma yang dirancang baik maka proses Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisientidak efisien

Page 21: Algoritma Dan Pemrograman1

Manusia - KomputerManusia - Komputer

• Pelaksana algoritma adalah Pelaksana algoritma adalah Komputer.Komputer.• Manusia dan komputer berkomunikasi dengan cara: Manusia dan komputer berkomunikasi dengan cara:

manusia memberikan perintah-perintah kepada komputer manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut berupa instruksi-instruksi yang disebut programprogram..

• Alat yang digunakan untuk membuat program tersebut Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. adalah bahasa pemrograman.

• Bahasa pemrograman sangat bermacam-macam: C, C++, Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama namun bertujuan menghasilkan output yang sama

Page 22: Algoritma Dan Pemrograman1

Kriteria Algoritma Kriteria Algoritma (Donald E. Knuth)(Donald E. Knuth)

• Input: algoritma dapat memiliki nol atau lebih inputan dari luar.Input: algoritma dapat memiliki nol atau lebih inputan dari luar.• Output: algoritma harus memiliki minimal satu buah output Output: algoritma harus memiliki minimal satu buah output

keluaran.keluaran.• DefinitenessDefiniteness (pasti): algoritma memiliki instruksi-instruksi yang (pasti): algoritma memiliki instruksi-instruksi yang

jelas dan tidak ambigu.jelas dan tidak ambigu.• Finiteness Finiteness (ada batas): algoritma harus memiliki titik berhenti (ada batas): algoritma harus memiliki titik berhenti

(stopping role).(stopping role).• EffectivenessEffectiveness (tepat dan efisien): algoritma sebisa mungkin harus (tepat dan efisien): algoritma sebisa mungkin harus

dapat dilaksanakan dan efektif. dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untukNamun ada beberapa program yang memang dirancang untukunterminatableunterminatable: contoh Sistem Operasi : contoh Sistem Operasi

Page 23: Algoritma Dan Pemrograman1

NextNext

• Jenis AlgoritmaJenis Algoritma

• Contoh AlgoritmaContoh Algoritma

• Pseudo-codePseudo-code

• Langkah pembuatan programLangkah pembuatan program

• FlowchartFlowchart