IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA...
Transcript of IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA...
![Page 1: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/1.jpg)
IT234ALGORITMA DAN STRUKTUR DATA
Algoritma-Pemograman-Flow Chart Ramos Somya
![Page 2: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/2.jpg)
Algoritma
Asal kata Algoritma berasal dari nama seorang ilmuan Persian yang bernama Abu Ja’far Mohammed lbn Musa al-Khowarizmi, yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction)
![Page 3: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/3.jpg)
Definisi Algoritma Definisi Algoritma :
Urutan langkah logis tertentu untuk memecahkan suatu masalah ( Microsoft Press Computer and Internet Dictionary 1997,1998)
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani)
Dari dua definisi diatas dapat disimpulkan bahwa : Algoritma harus mengikuti suatu urutan aturan tertentu dan
tidak boleh melompat-lompat Algoritma seseorang dengan yang lain dapat berbeda-beda
karena mempunyai alur pikir yang berbeda-beda pula Algoritma dapat berupa kalimat, gambar atau tabel tertentu
![Page 4: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/4.jpg)
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 instruksi-instruksi yang jelas.
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
![Page 5: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/5.jpg)
Sifat Algoritma
Sifat-sifat Algoritma pada umumnya: Tidak menggunakan simbol atau sintaks dari
suatu bahasa pemrograman
Tidak tergantung pada suatu bahasa pemrograman
Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
![Page 6: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/6.jpg)
Proses Algoritma
Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu.
Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
Concurrent Process: beberapa instruksi dikerjakan secara bersama.
![Page 7: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/7.jpg)
Pseudo Code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma
![Page 8: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/8.jpg)
Contoh Problem: mencari bilangan terbesar dari dua bilangan yang
diinputkan Contoh Algoritma:
1. Masukkan bilangan pertama2. Masukkan bilangan kedua3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4,
jika tidak, kerjakan langkah 5.4. Tampilkan bilangan pertama5. Tampilkan bilangan kedua
Contoh Pseudo-code:1. Input a2. Input b3. If a > b then kerjakan langkah 44. print a5. print b
![Page 9: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/9.jpg)
Contoh
Algoritma Pseudo-Code
Nilai x ditambah 3 x x + 3
Cetak nilai y jika lebih besar dari 5 if y > 5 THEN PRINT y
Cari bilangan terbesar antara x dan y If x > y THEN PRINT x ELSE PRINT y
![Page 10: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/10.jpg)
Program
Bagian-bagian program : Input
Proses
Output : Minimal satu output
![Page 11: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/11.jpg)
Program
Langkah-langkah pembuatan program :1. Mendefinisikan Masalah2. Mencari Solusi3. Membuat Algoritma4. Menulis Program5. Menguji Program6. Menulis Dokumentasi
![Page 12: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/12.jpg)
Mendefinisikan Masalah
Langkah mendefinisikan masalah ini seringkali dilupakan oleh orang / programmer
Hukum Murphy (by Henry Ledgard) : “Semakin cepat menulis program, akan semakin
lama kita dapat menyelesaikannya”.
Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.
![Page 13: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/13.jpg)
Mencari Solusi Jika masalah terlalu kompleks, maka ada baiknya
masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul: meminta masukkan berupa matriks bujur sangkar mencari invers matriks menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.
![Page 14: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/14.jpg)
Membuat Algoritma
Dalam membuat algoritma usahakan memenuhidua (syarat) utama, yaitu :
Algoritma harus seefesien mungkin
Algoritma harus benar-benar sesuai dengan solusi yang kita dapatkan
![Page 15: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/15.jpg)
Menulis Program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.
![Page 16: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/16.jpg)
Menguji Program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.
![Page 17: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/17.jpg)
Menulis Dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.
![Page 18: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/18.jpg)
Flowchart
Definisi : Bentuk gambar/diagram yang mempunyai aliran satu atau dua
arah secara sekuensial
Kegunaan : Mempermudah programmer dalam menentukan alur logika
program
Untuk mempresentasikan program kepada orang lain
Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman
![Page 19: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/19.jpg)
Lambang-Lambang FlowchartLAMBANG KETERANGAN
Terminator (Mulai / Selesai)
Aliran Data
Input / Output
Process / Proses
![Page 20: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/20.jpg)
Lambang-Lambang Flowchart
LAMBANG KETERANGAN
Decision / Percabangan
Preparation / Memberi Nilai Awal Variabel
Predefined Process/ Sub-Program
![Page 21: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/21.jpg)
Lambang-Lambang FlowchartLAMBANG KETERANGAN
Connector pada halaman yang sama
Connector pada halaman lain
Stored Data / Simpan Data
Display / Tampilkan
![Page 22: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/22.jpg)
Contoh Flowchart
Menghitung luas persegi panjang
Algoritma :1. Masukkan nilai panjang (p)2. Masukkan nilai lebar (l)3. Hitung luas (L), yaitu
panjang dikali lebar (p x l)4. Cetak luas (L)
Mulai
Masukkan p
Masukkan l
Luas = p* l
Tulis L
Selesai
![Page 23: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/23.jpg)
Bahasa Pemograman
Perkembangan Bahasa Pemograman
Bahasa Mesin
Bahasa Assembly
Bahasa Tingkat Tinggi
![Page 24: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/24.jpg)
Bahasa Tingkat Tinggi Disebut juga sebagai the 3rd Generation Programming Language Dibandingkan dengan bahasa mesin dan assembly, bahasa tingkat
tinggi ini lebih mudah dipelajari karena lebih dekat dengan bahasa manusia
Memberi banyak fasilitas kemudahan dalam pembuatan program, mis.: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur, dll.
Contoh pemograman bahasa tingkat tinggi, yaitu: Pascal, Basic, C, C++, Java
(+) : Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program pendek
(-) : Eksekusi lambat
![Page 25: IT234 ALGORITMA DAN STRUKTUR DATA - Ramos' Blog · PDF fileALGORITMA DAN STRUKTUR DATA Algoritma-Pemograman-Flow Chart Ramos Somya. ... masalah tersebut dipecah menjadi modul-modul](https://reader034.fdokumen.com/reader034/viewer/2022052300/5a72481f7f8b9a93538d8df8/html5/thumbnails/25.jpg)
KUIS I
Buatlah Algoritma dan Flowchart untuk soal-soal sebagai berikut
Menentukan bilangan terbesar Input : nilai A, nilai B dan nilai C Proses : Perbandingan nilai A, B dan C Output : nilai terbesar
Menghitung konversi suhu dari Celcius menjadi Reamur atau Farenheit.
Input: suhu dalam Celcius Proses: R = 4/5 * C atau F = 9/5 * C + 32 Output: suhu dalam Reamur atau Farenheit