ALGORITMA Matakuliah Tahun Versi : T0974 / Algoritma dan Metode Object Oriented Programming I : 2008 : 1/0 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: – Menjelaskan definisi algoritma – Menerapkan algoritma Bina Nusantara Outline Materi • • • • • • • Definisi Algoritma Kriteria Algoritma Program dan Bahasa Pemrograman Pengekspresian Algoritma Pseudocode Diagram Alur (Flowchart) NS Diagram Bina Nusantara Algoritma • Prosedur (langkah-langkah logis) komputasi yang terdefinisi dengan baik (dari initial state ke terminal state) yang menerima (himpunan) input untuk menyelesaikan suatu tugas/masalah dan menghasilkan (himpunan) output • Dikatakan benar jika dari (himpunan) input menghasilkan (himpunan) output yang benar • Langkah logis berarti algoritma tidak harus mengikuti urutan tertentu, dan tidak melompati langkah yang lain Bina Nusantara Algoritma • Contoh: algoritma (sorting) memiliki: – Input – Output pengurutan angka : Himpunan n bilangan (a1, a2, a3, …, an) seperti: 5, 3, 4, 2, 1 : Himpunan n bilangan terurut (a’1, a’2, a’3, …, a’n) seperti: 1, 2, 3, 4, 5 • Contoh permasalahan yang diselesaikan algoritma: – Human Genome Project mengidentifikasi 100,000 gen DNA manusia yang menentukan 3 miliar pasang kimia pembentuk DNA. Data tersebut disimpan dalam database dan memerlukan aplikasi analisis data. Algoritma melakukan penyimpanan dan analisis yang cepat. Bina Nusantara Algoritma – Internet untuk pencarian informasi melalui mesin pencarian (search engines). Algoritma membantu pencarian informasi yang cepat dan cerdas. – Peta perjalanan terdapat tempat tujuan yang ingin dicapai dari tempat asal. Algoritma memberikan solusi pencarian jalan terpendek dan tercepat untuk menampilkan rute dari tempat asal ke tempat tujuan tersebut. Bina Nusantara Kriteria Algoritma • Input: algoritma dapat memiliki nol atau lebih inputan dari luar. • Output: algoritma harus memiliki minimal satu buah output/keluaran. • Definiteness (pasti): algoritma memiliki instruksiinstruksi 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 • Catatan: Namun ada beberapa program yang dirancang unterminatable, contoh Sistem Operasi Bina Nusantara Program • Kumpulan instruksi-instruksi (source code) yang dibuat oleh programmer (pembuat program) untuk menyelesaikan suatu masalah pada komputer. • Instruksi: sintaks (cara pengkodean) sesuai bahasa pemrograman yang dipakai dan mengandung komponen input, output, proses, seleksi, dan perulangan yang menugaskan komputer untuk mengeksekusi suatu perintah tertentu. • Algoritma menempati posisi di bagian implementasi – pemrogram melakukan proses coding (pembuatan program). Bina Nusantara Bahasa Pemrograman • Alat untuk membuat program. • Perbedaan: cara memberikan instruksi. • Persamaan: output/pemecahan masalah yang dicapai. Bina Nusantara Bahasa Pemrograman • Contoh bahasa pemrograman: – – – – – – – – – – – Bina Nusantara COBOL (Common Business Oriented Language) FORTRAN (FORmula TRANslation) BASIC (Beginner All-purpose Symbolic Instructional Code) Pascal (dinamakan untuk Blaise Pascal) Ada (dinamakan untuk Ada Lovelace) C (pengembang bahasa B) Visual Basic (mirip BASIC, buatan Microsoft) Delphi (mirip Pascal, buatan Borland) C++ (bahasa berorientasi object, berbasiskan C) C# (mirip Java, buatan Microsoft) Java Pengekspresian Algoritma • Alur pengekspresian algoritma dituangkan secara tertulis – Alur pengekspresian: alur pemikiran, sehingga algoritma setiap orang berbeda – Tertulis: algoritma berupa tulisan/kalimat, gambar, atau tabel • Algoritma dapat melalui beberapa metode: – Tulisan/kalimat: pseudocode – Gambar: Flowchart – Tabel: NS Diagram Bina Nusantara Pseudocode • Berasal dari kata pseudo dan code, berarti kode yang tidak sebenarnya • Deskripsi informal untuk algoritma pada pemrograman komputer • Tujuan: memudahkan manusia untuk membaca bahasa pemrograman konvensional • Tidak ada standar untuk pseudocode karena bukan program yang dapat dieksekusi Bina Nusantara Pseudocode • Umumnya dimulai dengan kata “BEGIN” dan diakhiri “END” • IF-THEN dan ELSE digunakan untuk operasi percabangan/seleksi • WHILE dan DO-WHILE digunakan untuk operasi perulangan Bina Nusantara Pseudocode Contoh pseudocode untuk melakukan panggilan melalui telepon: BEGIN Hold up the phone WHILE not dial Press dial button IF connected THEN WHILE not finish Talking Hold down the phone END WHILE not connected Waiting dial Bina Nusantara Pseudocode Contoh pseudocode untuk mengecek apakah bilangan genap atau ganjil: BEGIN Number = Input Number Result = Number % 2 IF Result = 0 THEN Print “The number is even number” ELSE THEN Print “The number is odd number” END Bina Nusantara Diagram Alur (Flowchart) • Representasi skematik dari suatu algoritma atau proses. • Skematik: penggunaan diagram untuk merepresentasikan elemen suatu sistem menggunakan simbol-simbol abstrak yang bukan sesungguhnya. • Contoh: bangunan pada peta disimbolkan dengan titik, gunung disimbolkan dengan segitiga Bina Nusantara Diagram Alur (Flowchart) • Notasi Proses, Entri data, Aritmatika: RECTANGLE • • • • • Notasi Seleksi: Notasi Arah/alur (Flowlines): Notasi Input/Output: Notasi Berhenti Umumnya dimulai dengan dan diakhiri dengan END Bina Nusantara DIAMOND PARALLELOGRAM CIRCLE Start Diagram Alur (Flowchart) Contoh flowchart untuk melakukan panggilan melalui telepon: END Start Hold down the phone Hold up the phone Yes Finish Press dial button No No Talking Dialing Yes Yes No Waiting Bina Nusantara Connected Diagram Alur (Flowchart) Contoh flowchart untuk mengecek apakah bilangan genap atau ganjil: Start Input Number Number % 2 1 0 Print “Odd Number” Print “Even Number” END Bina Nusantara Did You Know? • Algoritma berasal dari nama seorang ahli astronomi dan matematik Persia (Iran), Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, dalam sebuah tulisan Arab berjudul “al jabr w’al-muqabala” (“Rules of Restoration and Reduction” atau “On Calculation with Hindu Numerals”) pada tahun 825 M. • Tulisan tersebut diterjemahkan dalam bahasa latin pada abad ke-12 berjudul “Algoritmi de numero Indorum“ atau “Algoritmus on the numbers of the Indians“ • Kata “Algoritmi” merujuk pada nama penulisnya, tetapi masyarakat menyalahartikan sebagai “calculation method”. Bina Nusantara Advanced Learning • Nassi-Shneiderman (NS Diagram) – representasi desain grafikal untuk pemrograman terstruktur • NS Diagram: metode penulisan algoritma menggunakan tabel secara top-down • Dikembangkan tahun 1972 – Isaac Nassi dan Ben Shneiderman • NS Diagram dikenal dengan structograms Bina Nusantara Advanced Learning • Notasi process: • Notasi seleksi: • Notasi perulangan – WHILE Proses Kondisi Betul Kondisi Belum Terpenuhi Proses – DO-WHILE Proses Kondisi Belum Terpenuhi Bina Nusantara Salah Advanced Learning Contoh NS Diagram untuk melakukan panggilan melalui telepon: Hold up the phone Press dial button Dialing? Talking Finish? Hold down the phone Bina Nusantara Advanced Learning Contoh NS Diagram untuk mengecek apakah bilangan genap atau ganjil: Insert number Number % 2 Equal to 0 Print “Even Number” Bina Nusantara Equal to 1 Print “Odd Number” Referensi • Introduction to Algorithms. 2ed. Cormen. 2002. p5-13 • Introduction to Java Programming. 7ed. Liang. 2009. p33-34 • Algorithm. http://en.wikipedia.org/wiki/Algorithm • Pseudocode. http://en.wikipedia.org/wiki/Pseudocode • Flowchart. http://en.wikipedia.org/wiki/Flowchart • NS Diagram. http://en.wikipedia.org/wiki/NS_Diagram Bina Nusantara
© Copyright 2024 Paperzz