LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
MEMAHAMI KONSEP ALGORITMA. MENYELESAIKAN DAN MENGANALISA DENGAN MENGGUNAKAN LOGIKA. MENGERTI FUNGSI & KEGUNAAN FLOWCHART. MENGENAL BAHASA PEMROGRAMAN PASCAL. TUJUAN
POKOK BAHASAN 1.KONSEP ALGORITMA. 2.ANALISA ALGORITMA. 3.DEFINISI & SIMBOL FLOWCHART. 4.SEJARAH, STRUKTUR PROGRAM & TIPE DATA BAHASA PEMROGRAMAN PASCAL.
Pengantar Perkuliahan Pengertian algoritma sangat lekat dengan kata logika. Algoritma dapat diartikan sebagai kemampuan seorang manusia untuk berfikir dengan akal pikiran tentang suatu permasalahan untuk menghasilkan sebuah kebenaran, yang dapat dibuktikan dan dapat diterima akal (logika).
Dalam menyelesaikan suatu masalah, logika mutlak diperlukan karena logika identik dengan masuk akal dan penalaran yang merupakan salah satu bentuk dari pemikiran. Suatu algoritma dapat dibuktikan kebenarannya melalui komputer setelah algoritma tersebut ditranslasikan ke dalam bahasa pemrograman. Pengantar Perkuliahan…
“LOGIKA & ALGORITMA” merupakan matakuliah yang mengajarkan kepada mahasiswa/i tentang bagaimana cara penyelesaian suatu permasalahan dengan membuat tahapan-tahapan yang sistematis dan logis.
KONSEP ALGORITMA M. Febriansyah, ST., MT.
Konsep Algoritma Algoritma memiliki dua jenis konsep, yaitu : 1. ALGORITMA PE-UBAH. Adalah variabel yang nilainya BUKAN konstanta (selalu berubah sesuai dengan kondisi variabel terKINI). Sintaks: P = Q Algoritma: P Q Arti: Bahwa Nilai P diberi harga nilai Q Nilai P akan SAMA DENGAN nilai Q dan nilai “Q” TETAP.
Konsep Algoritma… 2. ALGORITMA PERTUKARAN. Berfungsi mempertukarkan masing-masing isi variabel sedemikian rupa sehingga nilai dari tiap variabel akan berubah / bertukar. Contoh : Diketahui : P = 0, Q = 5 dan R = 10 Diberikan algoritma sbb : P = Q, Q = R dan R = P + Q. Maka nilai P, Q dan R berubah menjadi : Jawab :P = 5, Q = 10 dan R = 15.
Contoh Konsep Algoritma 1.Diketahui algoritma P = 10, P = P + 1 dan Q = P. Berapakah nilai P dan Q ? Jawab : 2.Diketahui 2 variabel K = 10 dan L = 20. Buat algoritma untuk mempertukarkan isi K dan L. Jawab : P = 11 & Q = 11 CARA AL. PE-UBAH BUAT VARIABEL M M = K, K = L dan L = M CARA AL. PERTUKARAN L = K K = L + 10 atau K = L * 2
ANALISA ALGORITMA M. Febriansyah, ST., MT.
Analisa Algoritma Adalah suatu proses untuk melakukan pengecekan kebenaran dari suatu algoritma dengan melihat : 1)Bagaimana algoritma tersebut di rencanakan. 2)Bagaimana algoritma tersebut dinyatakan. 3)Bagaimana validitas suatu algoritma. 4)Bagaimana hasil pengujian dari suatu algoritma.
Tujuan Analisa Algoritma Tujuan melakukan analisis algoritma adalah Untuk melihat faktor efesiensi & efektifitas dari algoritma tsb. Analisis dapat dilakukan terhadap suatu algoritma dengan melihat pada : 1)Waktu tempuh (Running Time) suatu algoritma. Banyaknya baris perintah Banyaknya baris perintah Besar dan jenis inputan data Besar dan jenis inputan data Jenis operasi Jenis operasi Jenis Komputer dan Kompilator Jenis Komputer dan Kompilator 2) Jumlah memori yang digunakan pada algoritma.
ANALISA ALGORITMA Seorang petani akan berpergian ke kota dengan membawa seekor domba, rumput dan anjing. Untuk ke kota, petani harus menyebrangi sebuah sungai dengan menggunakan perahu. Kapasitas perahu hanya muat untuk membawa petani dan 1 bawaannya. Bagaimana algoritma penyelesaiannya? Catatan : Domba akan menghabiskan rumput serta anjing akan menerkam domba jika petaninya tidak ada.
ANALISA ALGORITMA… Bagaimana cara untuk menyelamatkan & menyeberangkan tiga orang rahib yang terkepung oleh tiga kanibal ke pulau yang ada diseberangnya? Bagaimana algoritmanya? Catatan : Rahib akan dimakan oleh kanibal, jika jumlah rahib lebih sedikit dari jumlah kanibal. Jika jumlah rahib lebih banyak atau sama dengan jumlah kanibal, maka kanibal tidak bisa memakan rahib.
“ Saat menggunakan logika, sebaiknya jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk menyelesaikan permasalahan itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri ”. “ Jangan meremehkan masalah sekecil apapun, tapi berfikir sederhanalah untuk menghasilkan solusi yang efektif ”. Catatan
LATIHAN ANALISA ALGORITMA Pintu teralis akan terbuka jika berat jerigen air sama dengan 6 liter. Bagaimana cara Mukidi mendapatkan air sebanyak 6 liter?
KOMPONEN ALGORITMA
STRUKTUR ALGORITMA Suatu algoritma terdiri dari tiga struktur data, yaitu : 1. Runtunan 2. Pemilihan dan 3. Pengulangan. Ketiga jenis struktur tersebut membentuk konstruksi suatu algoritma. Berikut penjelasan dari ke tiga struktur tersebut.
RUNTUNAN (SEQUENCE) Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah, maka mungkin juga hasil akhirnya berubah. Contoh : (4 + 3) * 7 = 49 tetapi bila urutan instruksi / aksinya diubah, maka hasil keluaran akan berbeda menjadi 4 + (3 * 7) = 25.
STRUKTUR RUNTUNAN
PEMILIHAN (SELECTION) Kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi. Pemilihan merupakan instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai BENAR atau SALAH. Instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan. Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini : (A) Masukkan sebuah bilangan bulat. (B) Bagi bilangan dengan 2, simpan sisa pembagian dalam variabel SISA. (C) Jika nilai SISA sama dengan 0, maka kerjakan langkah “D”, jika nilai SISA tidak sama dengan 0 maka kerjakan langkah “E”. (D) Tampilkan “GENAP” ke layar. (E) Tampilkan “GANJIL” ke layar. (F) Selesai.
STRUKTUR PEMILIHAN Notasi algoritmik : if Syarat then Aksi {True} endif {False}
STRUKTUR PEMILIHAN… Notasi Algoritma, IF syarat THEN aksi-1 {true} ELSE aksi-2 {false} ENDIF
PENGULANGAN (REPETITION) Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia. Pengulangan merupakan kegiatan mengerjakan sejumlah instruksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statement pengulangan di bahasa pemrograman yaitu : for…, while()…, do…while(), repeat…until, for…downto…do, for…to…do dan lain-lain.
STRUKTUR PENGULANGAN For-Next For var=awal to akhir ……………. instruksi-instruksi …………….. Next var
STRUKTUR PENGULANGAN… While - do Bentuk umum : While {kondisi} do ………….. instruksi-instruksi ………….. Endwhile
STRUKTUR PENGULANGAN… Repeat - Until Bentuk Umum ; Repeat ……………….. Instruksi ………………... Until (kondisi)
CONTOH PENGULANGAN Menampilkan huruf tertentu sebanyak “n” kali ke layar Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan Deklarasikan variabel n untuk menyimpan banyaknya perulangan Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan Masukkan sebuah karakter dan simpan dalam variabel huruf 5. 5.Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n 6. 6.Set nilai counter dengan Tampilkan huruf ke layar 8. 8.Lakukan penambahan counter dengan Jika nilai counter<n, kerjakan langkah Jika nilai counter = n selesai
FLOWCHART M. Febriansyah, ST., MT.
DEFINISI FLOWCHART Adalah bagan-bagan yang mempunyai arah yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan salah satu bentuk cara penyajian dari suatu algoritma.
JENIS FLOWCHART Flowchart terbagi menjadi 2 jenis, yaitu : 1.Flowchart Sistem Menggambarkan urutan proses kerja dalam suatu sistem dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.
JENIS FLOWCHART… 2.Flowchart Program Menggambarkan urutan kerja dari instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.
SIMBOL FLOWCHART Secara garis besar simbol flowchart terdiri dari : 1.Simbol penghubung alur (Flow Direcion Symbols) 2.Simbol proses (Processing Symbols) 3.Simbol Input-Output (Input-Output Symbols)
SIMBOL-SIMBOL FLOWCHART
SIMBOL FLOWCHART LAIN
SIMBOL FLOWCHART LAIN…
CONTOH FLOWCHART Diketahui sebuah algoritma sbb : 1)Masukkan sebuah bilangan bulat ( misal : X = 5 ). 2)Baca variabel X tersebut. 3)Bagi variabel X dengan 2, simpan sisa pembagian dalam variabel SISA 4)Jika nilai SISA sama dengan 0, maka kerjakan langkah (5), jika nilai SISA tidak sama dengan 0 maka kerjakan langkah (6) 5)Tampilkan “GENAP” ke layar 6)Tampilkan “GANJIL” ke layar 7)Selesai Buatlah flowchart dari algoritma diatas.
Penyelesaian
TUGAS II ANALISA ALGORITMA Ada sebuah keluarga terdiri dari 5 orang akan menyeberang melewati jembatan pada malam hari dengan bantuan lampu yang hanya bisa bertahan 30 detik. Catatan : Setiap orang mempunyai kecepatan yang berbeda- beda ( 1,3,6,8 dan 12 detik ). Apabila yang melewati jembatan ada 2 orang maka kecepatannya akan dihitung berdasarkan yang paling lambat.
TUGAS II FLOWCHART 1.Lengkapi penulisan flowchart berikut ini.
TUGAS II FLOWCHART… 2.Analisa potongan program dibawah ini! Apakah tujuan algoritma ini? Selanjutnya ubahlah potongan algoritma berikut ini menjadi sebuah flowchart!
CATATAN : TUGAS II UNTUK KELAS P2 (SELASA PAGI) TERAKHIR DISERAHKAN TGL TUGAS II UNTUK KELAS P1 (RABU PAGI) TERAKHIR DISERAHKAN TGL TUGAS II UNTUK KELAS M (SELASA MALAM) TERAKHIR DISERAHKAN TGL
TERIMA KASIH
Jika terdapat 5 keluarga, bagaimana urutan logika dan algoritmanya jika diketahui sbb : 1.Pertama gunakan anak yang 1 detik dan 3 detik. 2.Kedua kembalikan anak yang 1 detik. 3.Ketiga kirim anak yang 1 detik dan ibu yang 6 detik. 4.Keempat kembalikan anak yang 3 detik. 5.Kelima kirim bapak yang 8 detik & kakek yang 12 detik. 6.Keenam kembalikan anak yang 1 detik untuk menjemput anak yang 3 detik. 7.Done. Penyelesaian
TUGAS 1.Diketahui variabel bilangan bulat A, B & C. Jika A = 6 dan B = 8, Masukkan Nilai A Ke C, Masukkan Nilai B ke A dan Masukkan Nilai C ke B. 2.Diketahui 3 variabel pe-ubah, yaitu : P, Q dan R. Agar isi Q ditaruh di P dan isi R ditaruh di Q dan isi P ditaruh di R. Maka algoritma yang dapat ditulis adalah?