of 62/62
Ferdi Barlianto S.T 2010 1 Pertemuan 01

Algoritma pemrograman I

  • View
    114

  • Download
    2

Embed Size (px)

DESCRIPTION

Algoritma pemrograman I. Pertemuan 01. Ferdi Barlianto S.T 20 10. Algoritma & Pemrograman. SKS: 3 SKS Dosen: Ferdi Barlianto Email: f [email protected] Jadwal Kuliah Kelas: : Group S2 : senin, 1630 Ruang: Multimedia - PowerPoint PPT Presentation

Text of Algoritma pemrograman I

  • Ferdi Barlianto S.T 2010

    *Pertemuan 01

  • SKS: 3 SKSDosen: Ferdi BarliantoEmail: [email protected] Kuliah Kelas::Group S2: senin, 1630Ruang: Multimedia Model Perkuliahan ; Ceramah Tatap Muka dan Praktikum

  • *

  • LingkupMata Kuliah

  • Mampu menjelaskan Prinsip-prinsip AlgoritmaMampu menjelaskan Konsep Bahasa PemrogramanMampu membuat Flowchart dan PseudocodeMampu menjelaskan Konsep Dasar Bahasa CMampu menjelaskan tipe data dan variabelMampu membuat program Struktur Input/OutputMampu membuat program PercabanganMampu membuat program PerulanganMampu menjelaskan Pemrograman ModularMampu membuat exception handling dan error handling

  • PartisipasiUASUTSTugas

  • Kontrak Perkuliahan & Pengantar Algoritma dan Pemrograman 30/9Algoritma, Pseudocode dan Flowchart Pengantar Bahasa Pemrograman (dengan Bahasa C) Tipe data dan VariabelInput & Output pada Bahasa CPenggunaan operator aritmatika dan logika Struktur Kontrol Percabangan Struktur Kontrol Perulangan Struktur Kontrol Perulangan BertingkatError handling

  • Brian W. Kernighan, Dennis M. Ritchie (1988). The C Programming Language, Second Edition, Prentice HallDeitel, H.M. and Deitel, P.J. (2001). C HOW TO PROGRAM. 3rd edition. Prentice Hall, NJ.Gottfried, B.S. (1996). Schaums Outline Series. Theory and Problems of Programming with C. McGraw Hill, NY.Ngoen. Th. S. (2004). Pengantar Algoritma dengan Bahasa C. Penerbit Salemba Teknika. Sedgewick, R. (1992). Algorithms in C++. Addison Wesley.Deitel, H.M. (2005). Visual c# - How to Program. 2nd Edition. Prentice Hall,NJ.*

  • *PUSAT PENGOLAH DATA(berbasis Arithmatika dan Logika)Data yg Diolah(Masukan/Input)Data hasil pengolahan(Keluaran/Output)Nilai DataNilai DataCOMPUTERTO COMPUTE + ER (Menghitung/Mengolah bilangan)(Mengolah Data)

  • Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah.Berasal dari kata algoris dan ritmis. Awalnya diungkapkan oleh Al Khowarizmi. Di pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari langkah-langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.*

  • 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. Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

  • Adalah alat untuk membuat programContoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.

    Perbedaan: cara memberikan instruksi (sintaks)Persamaan: bertujuan menghasilkan output yang sama

  • Pemrograman Prosedural / TerstrukturBerdasarkan urutan-urutan, sekuensialProgram 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.Program dapat dibagai-bagi menjadi prosedur dan fungsi.Contoh: PASCAL dan CPemrograman FungsionalBerdasarkan teori fungsi matematikaFungsi merupakan dasar utama program.Pemrograman ModularPemrograman ini membentuk banyak modul.Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriSebuah program dapat merupakan kumpulan modul-modul.Contoh: MODULA-2 atau ADA

  • Pemrograman Berorientasi ObyekPemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasiContoh: C++, Object Pascal, dan Java.Pemrograman Berorientasi FungsiPemrograman 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 DeklaratifPemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.Contoh: PROLOG

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

  • Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang memang direncanakanDari waktu0 ke waktuNContoh: aksi Bu Tati mengupas kentang untuk makan malamBatasan:Apa kentang harus dibeli dulu atau sudah ada?Apakah mengupas berarti sampai kentang terhidang?Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup atau digoreng?Berarti harus ada kejadian awal = start dan kejadian akhir = finishKejadian bu Tati dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentangCara (Metode) sebisa mungkin harus bersifat universal

  • MASALAH / IDEAPEMECAHANSOLUSI / HASILAlgoritma

    Source CodeExecutable Code

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIYYTT

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIMasalah:Tentukan akar-akar dari suatu persamaan kwadrat.Definisi:Persamaan kwadrat : ax^2 + bx + c = 0Data yg diperlukan :Nilai dari a, b dan c : tipe real

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIModel Matematika :Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b sqrt(b^2 - 4ac))/2a

  • *TULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASIDEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMA

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • *DEFINISI MASALAHMEMBUAT MODELRANCANG ALGORITMATULIS PROGRAMCOMPILESintak ErrExecutable code: => RunOutput ErrDOKUMEN TASI

  • Algoritma bisa dibuat dengan:Teknik tulisan seperti : Structure english dan Pseudocode.Teknik visual seperti : Flow chart.*

  • Outline dari sebuah program komputerDitulis dalam bahasa Inggris atau Indonesia sederhanaKata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: jika, ulangi, sampai,if,repeat, until) *

  • Tujuh operasi dasar komputer:Membaca data (Input) Menampilkan data (Output) Melakukan perhitungan aritmetika (Compute)Memberikan nilai ke suatu identifier (Store)Membandingkan dan Memilih (Compare)Melakukan pengulangan (Loop)Procedure dan atau Function*

  • Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah Read, Get, Baca ,Input atau KeyInContoh: Read BilanganGet kode_pajak Baca nama_mahasiswa*

  • Sewaktu komputer menampilkan informasi ataupun output, maka statement yang biasa digunakan adalah Print, Write, Put, Output, Display ataupun CetakContoh:Print Universitas Bina NusantaraCetak Metode Perancangan ProgramOutput Total*

  • Untuk melakukan operasi aritmetika digunakan pseudocode berikut: + untuk penjumlahan (add)- Untuk pengurangan (subtract) * Untuk perkalian (multiply)/ Untuk pembagian (divide)() Untuk kurung Statement Compute, Calculate ataupun Hitung juga dapat digunakan. Contoh: Add number to total Total = Total + number

    *

  • Ada tiga cara untuk memberikan nilai ke dalam variabel : Memberikan nilai awal, menggunakan statement Initialize atau SetMemberikan nilai sebagai hasil dari suatu proses, maka tanda = digunakanUntuk menyimpan suatu nilai maka statement Save atau Store digunakan Contoh:Set Counter to 0 Total = Harga * Jumlah *

  • Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternatif solusi. Keyword yang digunakan : IF, THEN dan ELSE Contoh IF Pilih=1 THEN Discount = 0.1 * hargaELSEDiscount = 0.2 * harga ENDIF*

  • Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword DOWHILE dan ENDDO.Contoh DOWHILE bil < 10cetak bil bil = bil +1ENDDO *

  • Algoritma Menggunakan KalkulatorMulaiNyalakan kalkulatorKosongkan KalkulatorUlangiInput hargaTekan tombol Plus (+)Sampai semua harga diinputTampilkan total hargaMatikan kalkulatorSelesai*

  • Algoritma Berangkat KuliahMulaiBangun dari tempat tidurMandi PagiSarapan PagiPergi Ke KampusCari Ruang KuliahMasuk kelas untuk KuliahSelesai*

  • Algoritma Sarapan PagiMulaiAmbil piringMasukkan nasi dan lauk dalam piringAmbil sendok dan garpuUlangiAngkat sendok dan garpuAmbil nasi dan laukSuapkan ke dalam mulutTaruh sendok dan garpuKunyahSampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpuSelesai*

  • *TerminatorProsesPemilihanInput/OutputDokumenPengulanganArahKonektor antar halamanKonektor

  • *Start d = b^2 4ac d < 0Cetak Pesan Akar imajiner x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2aStopYTMasukkan a,b,cCetak x1,x2

  • Mempunyai logika yang tepat untuk memecahkan masalah.Menghasilkan output yang benar dalam waktu yang singkat.Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda. Ditulis dengan format baku sehingga mudah diimplementasikan kedalam bahasa pemrograman.Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah.

    *

  • Pemrograman terstruktur merupakan pola penyusunan program komputer hanya dengan menggunakan tiga struktur kontrol yaitu: Sequence SelectionRepetition *

  • Sequence merupakan urutan pengerjaan dari perintah/statement pertama sampai dengan perintah/statement terakhir.Umumnya bahasa pemrograman mempunyai sequence (urutan pengerjaan dari perintah / statement ) mulai dari atas ke bawah dan dari kiri ke kanan.Top-down

    *

  • Contoh: Cetak Jumlah Mahasiswa Set Jumlah to 49Cetak Tambahan mahasiswa baruBaca mhs_baru Jumlah = Jumlah + mhs_baruCetak Jumlah MahasiswaCetak jumlah

    Penjelasan Urutan pengerjaan adalah mulai dari urutan pertama sampai dengan urutan terakhir, jika mhs_baru diisi dengan 2, maka jumlah yang tercetak adalah 51

    *

  • Struktur Kontrol Selection adalah penggambaran sebuah kondisi dan pilihan diantara dua aksi.Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak maka akan mengerjakan perintah setelah keyword else (jika ada). *

  • Contoh :IF Hari=1 THEN Cetak SeninELSE Cetak Bukan hari Senin Penjelasan Tulisan Senin akan ditampilkan jika Hari bernilai 1, jika tidak maka tulisan Bukan hari Senin yang akan ditampilkan *

  • Beberapa statement / perintah dapat diulang dengan menggunakan struktur kontrol repetition. Statement / perintah akan tetap diulang selama kondisi perulangan memenuhi (jika menggunakan DOWHILE ENDDO)*

  • Contoh: Bintang = 0 DOWHILE bintang < 5Cetak bintangbintang = bintang + 1 ENDDO Penjelasan: Pertama kali bintang akan diisi dengan 0, setelah itu isi dari bintang akan dicetak sebanyak lima kali, sehingga tampilannya akan sebagai berikut: 0 1 2 3 4 *

  • 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang 2. Buatlah algoritma menggunakan pseudocode untuk mengubah jam dan menit yang diinput ke dalam satuan detik. 3. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap. *

  • 4. Buatlah algoritma menggunakan pseudocode untuk menghitung luas lingkaran.5. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil dan rata-ratanya.

    *

  • Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan Flow Chart.*

  • 2 kanibal naik perahu ke seberang kiri Pindahkan 1 kanibal ke seberang kiriPerahu kembali ke seberang kanan dgn 1 kanibalUlangi langkah 1-32 misionaris naik perahu ke seberang kiriDi seberang kiri, tukar 1 kanibal dgn 1 misionaris di perahuPerahu kembali ke seberang kanan dgn 1 kanibal dan 1 misionarisDi seberang kanan, tukar kanibal di perahu dgn 1 misionaris di seberang kananPerahu kembali ke seberang kiri dgn 2 misionarisTurunkan semua misionaris di perahu ke seberang kiriPerahu kembali ke seberang kanan dgn 1 kanibalUlangi langkah 1-32 kanibal naik perahu ke seberang kiriTurunkan kedua kanibal ke seberang kiri

  • Ada 2 gelas kosong berukuran: 5 liter dan 3 literBagaimana cara kita mendapatkan air berukuran 4 liter?Bagaimana cara mendapatkan air berukuran 2 liter?

  • Masukkan air ke 3 liter hingga penuhMasukkan air 3 liter ke 5 liter, sisa 2 liter kosongMasukkan air ke 3 liter hingga penuhTuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di gelas 2 literBuang seluruh air di gelas 5 liter tadiTuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5 liter kosongMasukkan air ke 3 liter hingga penuhTuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter tadi, hingga kita dapat 4 liter

  • Gelas 5 liter diisi penuhBuang isinya ke gelas 3 literSisa 2 liter di gelas 5 liter!

  • Mahasiswa mampu menjelaskan Algoritma dan membuat Flowchart

    **************