Materi 1 - Algoritma & Pemrogaman
of 31
/31
-
Author
agus-abdurrachman-widodo -
Category
Education
-
view
50 -
download
6
Embed Size (px)
Transcript of Materi 1 - Algoritma & Pemrogaman
- 1. Asal kata Algoritma (algorism - algorithm) berasaldari nama Abu Jafar Muhammad ibn Musa Al-Khuwarizmi Ilmuan Persia yang menulis kitab al jabar wal-muqabala(rules of restoration and reduction aturan pemugaran dan pengurangan) Tahun 825 M Berasal dari Iran Masuk Indonesia tahun 1980-an
- 2. Algoritma adalah urutan langkah logis tertentu untuk memecahkansuatu masalah. Urutan langkah logis, yang berarti algoritma harus mengikuti suatuurutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998) Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkansecara tertulis. Alur pikiran, sehingga algoritma seseorang dapat juga berbeda darialgoritma orang lain. Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
- 3. Langkah Mengupas Kentang untuk Makan Malam : Ibu Tati mengambil kantong kentang dari rak Ibu Tati mengambil panci dari almari Ibu Tati mengupas kentang Ibu Tati mengembalikan kantong kentang dari rak Ada hal yang tergantungpada sesuatu: Ibu Tati mengambil kantong kentang dari rak Ibu Tati mengambil panci dari almari Lakukan persiapan, gunakan celemek atau tidak tergantung hari (senin-minggu) Ibu Tati mengupas kentang Ibu Tati mengembalikan kantong kentang dari rak
- 4. Hari Sabtu : Ibu Tati melihat bahwa bajunya tidak berwarna muda karena itu ia tidak memakaicelemek(berarti tidak ada aksi memakai celemek) Hari Minggu: Ibu Tati melihat bahwa bajunya berwarna muda karena itu ia memakai celemek Jadi: Ambil kantong kentang dari rak Ambil panci dari almari Tergantung warna baju berwarna muda : Pakai celemek tidak berwarna muda : Tidak pakai celemek Kupas kentang Kembalikan kantong kentang ke rak
- 5. Karena dapat pesanan, maka kentang yg harus dikupas 500 buah Tergantung jumlah kentang yang sudah dikupas belum cukup : Kupas 1 kentang cukup : selesai Atau: while jumlah kentang terkupas belum cukup do Kupas 1 kentang Bisa jadi pada saat mengupas kentang tergantung pada kentangnya, jikarusak / busuk, buang, tidak dikupas Jadi: while jumlah kentang terkupas belum cukup do Depend on kondisi kentang Busuk: buang dan cari kentang berikutnya, tidak dihitung Tidak Busuk: kupas 1 kentang
- 6. Input : algoritma dapat memiliki nol atau lebih inputandari luar. Output: algoritma harus memiliki minimal satu buahoutput keluaran. Definiteness (pasti) : algoritma memiliki instruksi-instruksiyang jelas dan tidak ambigu. Finiteness (ada batas): algoritma harus memiliki titikberhenti (stopping role). Effectiveness (tepat dan efisien): algoritma sebisa mungkinharus dapat dilaksanakan dan efektif. Contoh instruksiyang tidak efektif adalah: A = A + 0 atau A = A * 1Namun ada beberapa program yang memang dirancanguntuk unterminatable: contoh Sistem Operasi
- 7. Sequence Process: instruksi dikerjakan secarasekuensial, berurutan. Selection Process: instruksi dikerjakan jikamemenuhi kriteria tertentu Iteration Process: instruksi dikerjakan selamamemenuhi suatu kondisi tertentu. Concurrent Process: beberapa instruksidikerjakan secara bersama.
- 8. Algoritma menghitung luas persegi panjang: Masukkan panjang (P) Masukkan lebar (L) Luas P * L Tulis Luas Sifat: Umum Tidak menggunakan simbol atau sintaks dari suatubahasa pemrograman Tidak tergantung pada suatu bahasa pemrograman Notasi-notasinya dapat digunakan untuk seluruh bahasamanapun
- 9. Kode atau tanda yang menyerupai (pseudo)program atau merupakan pejelasan caramenyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusiauntuk menuliskan algoritma
- 10. Problem:mencari bilangan terbesar dari duabilangan yang diinputkan Contoh Algoritma:Masukkan bilangan pertamaMasukkan bilangan keduaJika bilangan pertama > bilangan kedua makakerjakan langkah 4, jika tidak, kerjakan langkah 5.Tampilkan bilangan pertamaTampilkan bilangan kedua Contoh Pseudo-code:Input aInput bIf a > b then kerjakan langkah 4print aprint b
- 11. Suatu program pada dasarnya terdiri dari 3bagian:Input: bisa ada, bisa tidakProsesOutput: minimal satu ouput.
- 12. Mendefinisikan masalah Ini merupakan langkah pertama yang seringdilupakan orang. Menurut hukum Murphy (oleh Henry Ledgard): Semakin cepat menulis program, akan semakin lamakita dapat menyelesaikannya. Hal tersebut berlaku untuk permasalahan yangkompleks. Tentukan masalahnya, apa saja yangharus dipecahkan dengan menggunakan komputer,dan apa inputan serta outputnya.
- 13. Menemukan solusi Setelah masalah didefinisikan, maka langkah berikutnyaadalah menentukan solusi. Jika masalah terlalukompleks, maka ada baiknya masalah tersebut dipecahmenjadi modul-modul kecil agar lebih mudahdiselesaikan. Contohnya masalah invers matriks, maka kita dapatmembagi menjadi beberapa modul: meminta masukkan berupa matriks bujur sangkar mencari invers matriks menampilkan hasil kepada pengguna Dengan penggunaan modul tersebut program utamaakan menjadi lebih singkat dan mudah dilihat.
- 14. Memilih algoritma Pilihlah algoritma yang benar-benar sesuai danefisien untuk permasalahan tersebut Menulis program Pilihlah bahasa yang mudah dipelajari, mudahdigunakan, dan lebih baik lagi jika sudah dikuasai,memiliki tingkat kompatibilitas tinggi denganperangkat keras dan platform lainnya.
- 15. Menguji program Setelah program jadi, silahkan uji program tersebutdengan segala macam kemungkinan yang ada, termasukerror-handlingnya sehingga program tersebut akanbenar-benar handal dan layak digunakan. Menulis dokumentasi Menulis dokumentasi sangat penting agar pada suatusaat jika kita akan melakukan perubahan atau membacasource code yang sudah kita tulis dapat kita ingat-ingatlagi dan kita akan mudah membacanya. Caranya adalahdengan menuliskan komentar-komentar kecil tentangapa maksud kode tersebut, untuk apa, variabel apa sajayang digunakan, untuk apa, dan parameter-parameteryang ada pada suatu prosedur dan fungsi.
- 16. Mendistribusikan aplikasi File compression Display graphics and play sounds when installingprocess Simplify the copying process Merawat program Program yang sudah jadi perlu dirawat untukmencegah munculnya bug yang sebelumnya tidakterdeteksi. Atau mungkin juga penggunamembutuhkan fasilitas baru yang dulu tidak ada
- 17. Definisi: Bentuk gambar/diagram yang mempunyai aliransatu atau dua arah secara sekuensialKegunaan: Untuk mendesain program Untuk merepresentasikan programMaka, flowchart harus dapatmerepresentasikan komponen - komponendalam bahasa pemrograman
- 18. Sebelum pembuatan program Mempermudah programmer dalam menentukanalur logika program Sesudah pembuatan program Menjelaskan alur program kepada orang lain
- 19. Problem:Menghitung luas persegipanjangAlgoritma:1. Masukkan panjang(p)2. Masukkan lebar(l)3. Hitungluas(L), yaitupanjang kali lebar4. Cetakluas(L)
- 20. Buatlah algoritma untuk menghitung konversisuhu.dari Celcius menjadi Reamur dan Farenheit. Input: suhu dalam Celcius Proses: R = 4/5 * C dan F = 9/5 * C + 32 Output: suhu dalam Reamur dan Farenheit Buatlah algoritma untuk mencari sisi miring darisuatu segitiga siku-siku, jika diketahui panjangsisi yang membentuk sudut siku-siku. Input: a dan b, yaitu panjang sisi pembentuk sudut siku-siku Proses: Ouput: sisi miring (c)