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