7. Logika dan Algoritma Pemrograman Logika Informatika Heri Sismoro, M.Kom. STMIK AMIKOM Yogyakarta STMIK AMIKOM YOGYAKARTA Jl. Ringroad Utara Condong Catur Yogyakarta. Telp. 0274 884201 Fax 0274-884208 Website: www.amikom.ac.id Pengertian Logika Suatu sistem berbasis proposisi (pernyataan yang bernilai, True atau false) Algoritma Kumpulan langkah/perintah/instruksi yang berhingga jumlahnya yang digunakan untuk menyelesaikan masalah/persoalan logika dan matematika dengan bantuan komputer. Program Kata, ekspresi, pernyataan yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer Bahasa Pemrograman Prosedur atau tata cara penulisan program. Contoh: Basic, Pascal, Cobol, Visual Basic, Delphi, Java, C++, dan lain sebagainya. Pemrograman Proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman Tahapan Pemrograman Analisa Problem Perancangan Algoritma Pembuatan Program Test Dokumentasi Test Implementasi Fase Problem Solving Fase Implementation Analisis Masalah Hal-hal yang harus diketahui dalam analisis masalah: 1. 2. 3. 4. 5. Kondisi awal Kondisi akhir Data lain yang tersedia Operator yang tersedia Syarat / kendala yang harus dipenuhi Ciri-ciri Algoritma yang Baik 1. 2. 3. 4. 5. Precise Jumlah langkah/step berhingga dan tertentu Efektif Harus terminate Output yang dihasilkan tepat Penyajian Algoritma Disajikan dengan 2 cara: 1. Tulisan a) b) 2. English Structure Pseudocode Gambar Contoh: Flowchart Program Simbol Flowchart Program : terminal symbol : preparation symbol : processing symbol : input/output symbol : decision symbol : connector symbol : off page connector symbol : Flow symbol Contoh Kasus Tulislah algoritma untuk menghitung gaji yang diterima oleh seorang karyawan, jika diketahui besar tunjangan transportasi adalah 10% dari gaji pokok, dan pajaknya 5% dari gaji kotor Penyelesaian Algoritma untuk menentukan gaji bersih karyawan: English Structure 1. Mulai 2. Masukkan gaji pokoknya (gapok) 3. Hitung tunjangan transportasi(tunj_transp = 10%*gapok) 4. Hitung gaji kotor (gator = gapok + tunj_transp) 5. Hitung pajak (pajak = 5%*gator) 6. Hitung gaji bersih (gaber = gator – pajak) 7. Tampilkan gaji bersihnya (gaber) 8. Selesai Penyelesaian Algoritma untuk menentukan gaji bersih karyawan: Pseudocode 1. Start 2. Input (gapok) 3. tunj_transp 0.10 * gapok 4. gator gapok + tunj_transp 5. pajak 0.05 * gator 6. gaber gator – pajak 7. Output (gaber) 8. End start Flowchart Program input (gapok) tunj_transp = 0.10 * gapok gator = gapok + tunj_transp pajak = 0.05 * gator gaber = gator - pajak output (gaber) end Struktur Dasar Algoritma Sequence Structure (struktur runtunan) Algoritma dimana setiap instruksi akan dilaksanakan satu per satu, tidak ada instruksi yang dilaksanakan 2 kali atau dilewati. A1 A2 Struktur Dasar Algoritma Selection Structure (struktur percabangan) Algoritma dimana baris instruksi akan dilaksanakan apabila suatu kondisi terpenuhi atau tidak. Sebagai contoh, apabila digunakan perintah IF– THEN-ELSE, maka berikut adalah diagram alirnya: Pengujian F Kondisi T Instruksi 1 Instruksi n Instruksi 2 Struktur Dasar Algoritma Repetition Structure (struktur perulangan) Digunakan untuk program yang instruksinya akan dieksekusi berulang-ulang. Sebagai contoh, apabila digunakan perintah FOR – NEXT, maka berikut adalah diagram alirnya: FOR Var Counter = nilai_awal Var Counter <= nilai_akhir Blok pernyataan Var Counter = Var Counter + 1 Pernyataan sesudah NEXT Latihan Buatlah algoritma (english structure), untuk: 1. Menghitung gaji bulanan pegawai teknisi komputer pada toko OkeComp Jogjakarta. Diketahui gaji pokok sebesar Rp. 375.000 per-bulan dan insentif tambahan akan diberikan sebesar Rp. 10.000 untuk setiap unit komputer yang dirakit dan Rp. 7.500 untuk setiap unit komputer yang diservis 2. Menentukan apakah suatu bilangan m habis dibagi dengan n, dimana m, n adalah bilangan bulat positif 3. Menampilkan tulisan “Saya Mhs S2 MTI Amikom” sebanyak n kali Latihan Buatlah pseudocode, untuk: 4. Menukarkan (swap) nilai A dan B 5. Mencari akar-akar persamaan kuadrat, ax2+bx+c=0 6. Menampilkan n bilangan prima yang pertama 7. Menentukan jumlah dan rata-rata dari n bilangan 8. Menentukan jumlah deret aritmatika 9. Menentukan hasil perpangkatan a dengan b 10. Mencari nilai faktorial n Latihan Buatlah flowchart program , untuk: 1. 2. 3. 4. 4. 5. 6. 7. 8. 9. 10. Mengkonversi detik, menit dan Jam menjadi Total Detik Mengkonversi Total Detik menjadi detik, menit dan Jam Menentukan apakah suatu bilangan termasuk bilangan Genap atau Ganjil Menampilkan tulisan “Saya Mhs S2 MTI Amikom” sebanyak n kali Menukarkan (swap) nilai A dan B Mencari akar-akar persamaan kuadrat, ax2+bx+c=0 Menampilkan n bilangan prima yang pertama Menentukan jumlah dan rata-rata dari n bilangan Menentukan jumlah deret aritmatika Menentukan hasil perpangkatan a dengan b Mencari nilai faktorial n End of File