Algoritma dan Struktur Data 1 pertemuan 1 M. Fakhrurrifqi, S.Kom, M. Cs. Algoritma, Struktur Data dan Program Komputer • Algoritma merupakan tahapan-tahapan yang sistematis tentang jalannya suatu program dari awal sampai akhir. • Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. • Program komputer merupakan serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Kriteria Algoritma (Donald E. Knuth) • 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 Algoritma pemrograman yang baik memiliki ciri-ciri : • • • • Tepat, benar,sederhana,standar dan efektif Logis, terstruktur dan sistematis Semua operasi terdefinisi Semua proses harus berakhir setelah sejumlah langkah dilakukan • Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda. Contoh 1 : Algoritma menghitung luas persegi panjang 1. 2. 3. 4. Masukkan panjang (P) Masukkan lebar (L) L←P*L Tulis L Contoh 2 : Algoritma mencari bilangan terbesar dari dua bilangan yang diinputkan 1. 2. 3. 4. 5. Masukkan bilangan pertama (a) Masukkan bilangan kedua (b) if a > b then kerjakan langkah 4 print a print b Latihan • Buatlah algoritma untuk menjumlahkan dua bilangan • Buatlah algoritma untuk menghitung luas lingkaran Tahapan Penyelesaian Masalah Tahapan Detail Penyelesaian Masalah Teknik Penyajian Algoritma • Simbol Instruksi Simbol Instruksi Assignment, nilai di sebelah kanan diberikan pada operand di sebelah kiri > Lebih besar dari < Lebih kecil dari . Kalikan + Tambahkan - Dikurangi / Dibagi Teknik Penyajian Algoritma No • Flowchart 1 Simbol Nama Simbol Terminal Keterangan simbol yang digunakan untuk menyatakan awal atau akhir suatu program 2 Input/Output simbol yang digunakan untuk menunjukkan operasi masukan atau keluaran 3 Proses simbol yang digunakan untuk menggambarkan proses pengolahan data 4 Keputusan simbol yang digunakan untuk menyatakan suatu pilihan berdasarkan suatu kondisi tertentu 5 persiapan (Preparation) simbol yang digunakan untuk memberikan nilai awal pada suatu variabel atau pencacah Teknik Penyajian Algoritma No • Flowchart 6 Simbol Nama Simbol proses (predefined Keterangan terdefinisi simbol yang digunakan untuk process proses yang detilnya dijelaskan symbol) terpisah, misal dalam bentuk subroutine 7 Penghubung halaman lain ke simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang berbeda 8 Penghubung halaman yang sama ke simbol yang digunakan untuk menghubungkan bagian diagram alir pada halaman yang sama 9 Arah aliran simbol yang digunakan untuk menunjukkan arah aliran proses 10 Annotation simbol simbol yang digunakan untuk memberikan keterangan- keterangan untuk memperjelas simbol-simbol lain Teknik Penyajian Algoritma • Contoh Flowchart Teknik Penyajian Algoritma • Pseudocode Pseudocode sering digunakan dalam buku-buku tentang ilmu komputer ataupun publikasi ilmiah untuk menjelaskan urutan proses atau metode tertentu. pseudocode C++ if sales > 1000 then int sales; bonus sales * 25% sales=1001; salary 2000000 + bonus if (sales > 1000) endif { bonus = sales * 0.25; output(salary) salary = 2000 + bonus; } cout << "Salary : "<<salary; Latihan • Buat Algoritma yang disajikan dengan teknik penyajian Algoritma Flowchart dan Pseudocode – algoritma untuk menjumlahkan dua bilangan – algoritma untuk menghitung luas lingkaran