pelajaran kuliah LOGIKA & ALGORITMA

  • 2. DEFINISI LOGIKALogika identik dengan masuk akal dan penalaran.Penalaran  salah satu bentuk pemikiranPemikiran  pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin tidak benarDefinisi Logika  ilmu yang memberikan prinsip- prinsip yang harus diikuti, agar dapat berfikir valid menurut aturan yang berlaku.
  • 3. KEGUNAAN LOGIKA1.Membantu setiap orang yang mempelajari logika untuk berpikir secararasional, kritis, lurus, tetap, tertib, metodis dan koheren.2.Meningkatkan kemampuan berpikir secara abstrak, cermat, dan objektif.3.Menambah kecerdasan dan meningkatkan kemampuan berpikir secaratajam dan mandiri.4.Memaksa dan mendorong orang untuk berpikir sendiri denganmenggunakan asas-asas sistematis.5.Meningkatkan cinta akan kebenaran dan menghindari kesalahan-kesalahan berpkir, kekeliruan serta kesesatan.6.Mampu melakukan analisis terhadap suatu kejadian.7.Terhindar dari klenik , gugon-tuhon ( bahasa Jawa )8.Apabila sudah mampu berpikir rasional,kritis ,lurus,metodis dan analitissebagaimana tersebut pada butir pertama maka akan meningkatkan citradiri seseorang.
  • 4. Mata Kuliah LogikaMenimbulkan KesadaranKita Untuk MenggunakanPrinsip - Prinsip Berfikir Secara Sistematis
  • 5. DEFINISI ALGORITMA• Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis• Kata logis disini berarti sesuai dengan logika manusia• Untuk menjadi sebuah algoritma, urutan langkah yang di tempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.
  • 6. SEJARAH ALGORITMAAbu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalahseorang penulis buku Arab yang berjudul Kitab Al Jabar WalMuqabala (Buku Pemugaran dan Pengurangan). Kata AlKhuwarizmi di baca orang Barat menjadi Algorism.Kata Algorism berarti proses menghitung dengan angka Arab.Seseorang dikatakan algorist jika orang tersebut menggunakanangka Arab.Kata Algorism lambat laun berubah menjadi algorithmdisebabkan kata algorism sering di kelirukan dengan kataarithmetic sehingga akhiran –sm berubah menjadi –thm. Kataalgorithm diserap kedalam bahasa Indonesia menjadi algoritma
  • 7. DOMAIN ALGORITMAMasalah  motivasi untuk membuat algoritma.Algoritma  prosedur untuk menyelesaikan masalah.Seringkali satu masalah dapat diselesaikan dengan lebihdari satu cara (banyak kemungkinan).Program  representasi formal dari suatu algoritmadengan menggunakan bahasa pemrograman yang bisadimengerti oleh komputer.Proses  aktivitas menjalankan langkah-langkah dalamalgoritma.
  • 8. HAL YANG HARUS DIPENUHI DALAM MEMBUAT ALGORITMA• INPUT  data yang harus diberikan pada komputer.• OUTPUT  Informasi yang akan diperoleh dari komputer• LOGIKA  Merencanakan proses program. Terdiri dari sejumlah instruksi yang mengubah input menjadi output yang diinginkan.
  • 9. CONTOH ALGORITMAAda 2 buah gelas. Satu berisi teh dan satunya berisikopi. Bagaimana caranya menukar isi masing-masing gelas ? TEH KOPI
  • 10. ALGORITMANYASiapkan gelas cadangan X XTuangkan teh kedalamgelas cadangan X X TEHTuangkan kopi kedalamgelas teh (yang telahkosong) KOPI TEHTuangkan the (dari gelascadangan kedalam gelaskopi. X KOPI
  • 11. LOGIKA BINER• Dalam komputer terdapat logika tepatnya pada prosesor yang didalamnya terdapat ALU (Arithmetic Logical Unit).• Logika yang ada yaitu AND, OR, XOR X Y AND OR XOR 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0
  • 12. LA TIH AN10111 OR 111 11111 XOR 1101 11101 AND 1101
  • 13. FLOWCHARTSebelum membuat suatuprogram sebaiknya dibuatsuatu urutan langkah logika kedalam flowchart ( bagan alur)
  • 14. Flowchart• Bagan-bagan yang mempunyai arus• Menggambarkan langkah-langkah penyelesaian suatu masalah• Merupakan salah satu cara penyajian algoritma 14
  • 15. Tujuan• Menggambarkan suatu tahapan penyelesaian masalah• Secara sederhana, terurai, rapi dan jelas• Menggunakan simbol-simbol standar 15
  • 16. Model / Jenis Flowchart • System Flowchart • Program Flowchart 16
  • 17. System Flowchart• Menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut• Tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah• Hanya untuk menggambarkan prosedur dalam sistem yang dibentuk 17
  • 18. Program Flowchart• Menggambarkan urutan logika dari suatu prosedur pemecahan masalah• Dua jenis metode penggambaran program flowchart : – Conceptual flowchart, menggambarkan alur pemecahan masalah secara global – Detail flowchart, menggambarkan alur pemecahan masalah secara rinci 18
  • 19. Simbol-simbol Flowchart• Flow direction symbols – Digunakan untuk menghubungkan simbol satu dengan yang lain – Disebut juga connecting line• Processing symbols – Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur• Input / Output symbols – Menunjukkan jenis peralatan yang digunakan sebagai media input atau output 19
  • 20. Flow Direction Symbols • Simbol arus / flow – Menyatakan jalannya arus suatu proses • Simbol communication link – Menyatakan transmisi data dari satu lokasi ke lokasi lain • Simbol connector – Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama • Simbol offline connector – Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda 20
  • 21. Processing Symbols• Simbol process – Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer• Simbol manual – Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer• Simbol decision – Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak• Simbol predefined process – Menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal• Simbol terminal – Menyatakan permulaan atau akhir suatu program 21
  • 22. Processing Symbols • Simbol keying operation – Menyatakan segala jenis operasi yang diproses dengan menggunakan suatu mesin yang mempunyai keyboard • Simbol offline-storage – Menunjukkan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu • Simbol manual input – Memasukkan data secara manual dengan menggunakan online keyboard 22
  • 23. Input / Output SymbOlS • Simbol input/output – Menyatakan proses input atau output tanpa tergantung jenis peralatannya • Simbol punched card – Menyatakan input berasal dari kartu atau output ditulis ke kartu • Simbol magnetic tape – Menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis • Simbol disk storage – Menyatakan input berasal dari dari disk atau output disimpan ke disk 23
  • 24. Output SymbOlS • Simbol document – Mencetak keluaran dalam bentuk dokumen (melalui printer) • Simbol display – Mencetak keluaran dalam layar monitor 24
  • 25. KaIdah pembuatan FlOwchart Start Input Proses Output End 25
  • 26. pengOlahan data START READ Ya HABIS ? Tidak PROCESS WRITE END 26
  • 27. Contoh 1 Start Input panjang Input lebarLuas  panjang * lebar Print Luas End 27
  • 28. STUDI KASUS 1Buatlah flowchart ( Diagram Alur ) Jika terdapat 2(dua) bilangan desimal, dimana jika salah satu daribilangan tersebut lebih besar maka akan tercetakbilangan yang besar, jika tidak maka cetak bilanganyang terkecil. 28
  • 29. StartRead ARead B Y Cetak AA>B TCetak B End 29
  • 30. STUDI KASUS 2Pensil dapat di beli secara satuan dan lusinanHarga satuan pensil adalah Rp. 1.000, sedangkan harga selusinpensil Rp. 5.000. Buatlah diagram alur untuk harga pembelian Xbuah pensil.Penjelasan :Jika kita beli 15 buah pensil dengan harga satuan maka harusmembayar Rp. 15.000 , sedangkan jika kita membayar dengan 1lusin serta 3 buah buah sisanya maka kita harus membayar Rp.8.000 30
  • 31. Baca X L  INT (X/12) S  X – L * 12P  5000 * L + 1000* S Cetak P End 31
  • 32. STUDI KASUS 3Buatlah flowchart ( diagram alur ) jika kitamempunyai s detik diubah menjadi x jam ymenit dan z detik 32
  • 33. START A BACA S Y  INT (A/60)X  INT (S/3600) Z  A – 60 * Y CETAKA  S – 3600 * X X, Y, Z A END 33
  • 34. STUDI KASUS 4Buatlah flowchart (bagan alur) untuk pembelian buku.Jika kita membeli buku dalam jumlah besar, maka penerbitakan memberikan rabat (discount) dengan ketentuan sebagaiberikut :1.Pembelian kurang dari 10 buku, maka tidak ada rabat.2.Pembelian 10 buku sampai 29 buku, rabat 10 %.3.Pembelian 30 buku ke atas, rabat 20 % 34
  • 35. MULAI BACA X ya X< H  5000*X 10 ? tidak X< ya H  0.9*5000*X 30 ? tidakH  0.8*5000*X CETAK H SELESAI 35
  • 36. LOOPING / PERULANGAN(1) Variabel A diberi harga 1 A1 (1)(2) Variabel A Berubah menjadi AA+1 (2)2(3) Variabel B diberi harga sebesar BA*A (3) harga A DIKALIKAN HARGA A(4) Variabel B di dicetak (jadi tercetak CETAK B (4) 4). Kemudian kembali ke (2) , (3), (4) dan kembali lagi ke (2) begitu seterusnya HASILNYA  4,9,16, …… 36
  • 37. 5BUATLAH DIAGRAM ALUR UNTUKMENCETAK KUADRAT BILANGAN –BILANGAN 1 SAMPAI DENGAN 10 37
  • 38. MULAI A1 Y A> SELESAI 10 ? TBA*ACETAK BA  A+1 38
  • 39. QUIZ1. BUAT FLOWCHART DENGAN OUTPUT 2,4,6,8,102. 110 or 97 207 xor 102 315 and 221 39
  • 40. 6 U S A S D IK UST Buatlah diagram alur untuk mencetak suku barisan. Dengan suku pertama 3 dan beda 4 sampai suku yang harganya tidak melebihi 100. 40
  • 41. startS3B4 YS > 100 end TCetak SS S+B 41
  • 42. 7 US AS Mulai A IK UDST A0 C  A+B Y B 1 C > 50 Selesai T CETAK A CETAK C CETAK B AB A BC 42
  • 43. PSEUDO-CODEKode atau tanda yang menyerupai(pseudo) atau merupakan pejelasancara menyelesaikan suatu masalah.Pseudo-code sering digunakan olehmanusia untuk menuliskan algoritma. 43
  • 44. STUDI KASUS 7Mencari bilangan terbesar daridua bilangan yang diinputkan 44
  • 45. Pseudo-code: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 45
  • 46. Algoritma1. Masukkan bilangan pertama (a)2. Masukkan bilangan kedua (b)3. if a > b then kerjakan langkah 44. print a5. print b 46
  • 47. CONTOH LAIN PEUDO-CODE & ALGORITMA Pseudo-code AlgoritmaNilai A ditambah dengan 5 A A+5Cetak nilai A bila lebih besar dari If A > 10 THEN PRINT A10Dari dua bilangan A dan B, cari IF A > B THEN PRINT A ELSEbilanan yang terbesar PRINT B 47
  • 48. LANGKAH MEMBUAT PROGRAM KOMPUTER1. Mendefinisikan masalah Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy (oleh Henry Ledgard): “Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”. Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya. 48
  • 49. 2. Menemukan solusi Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan. 3. Memilih algoritma Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut. 4. 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.. 5. 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 49
  • 50. 6. 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.7. Merawat program Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada. 50
  • 51. BASIC (BEGINNER’S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE)Bahasa pemrograman BASIC merupakanbahasa pemrograman yang cukup sesuai bagipemula. Namun sungguhpun demikian bahasatersebut cukup baik untuk dipergunakanmemecahkan berbagai masalah mulai dari yangpaling sederhana sampai dengan yang rumit. 51
  • 52. Contoh BASIC ALGORITMA10 LET A = 4 10 A = 420 LET B = 5 20 B = 530 LET C = A + B 30 C = A + B40 PRINT C 40 PRINT C50 ENDRUN 52
  • 53. LATIHAN10 A = 4 10 DATA 3,711 B = 5 11 READ A,B12 C = A + B 12 A = A + 113 D = A – B 13 PRINT A14 PRINT C 14 A = A + 115 PRINT D 15 PRINT A 16 A = A + B 17 PRINT A 53
  • 54. STATEMEN FOR - TO START FOR N = 1 TO 4 K = N*N CETAK K NEXT N END 54
  • 55. 10 READ DATA A, B 10 X = 120 C = (A+B)/2 20 PRINT X30 PRINT C 30 IF X = 5 THEN 6040 PRINT B 40 X= X+1 50 GO TO 20 60 ENDHarga 1 kg jeruk untuk pembelian 5 kg atau lebih rp. 6.000 dankurang dari 5 kg adalah Rp. 7.000. buat diagram alur dan lengkapialgoritma di bawah ini10 Data ……20 Read N30 IF N < 5 THEN 6040 ………..50 GO TO 7060 ……….70 Print B80 end 55
  • 56. LATIHAN1.BUATLAH ALGORITMA DENGAN OUTPUT 4,6,8,10,122.BUATLAH ALGORITMA & FLOWCHART UNTUK MENGHITUNG NILAI RATA2 MAHASISWA, JIKA NILAI RATA2 2 MATAKULIAH LEBIH BESAR DARI 75 MAKA MAHASISWA TERSEBUT “LULUS”, JIKA TIDAK MAHASISWA TERSEBUT “GAGAL” 56

0 Response to "pelajaran kuliah LOGIKA & ALGORITMA"

Post a Comment