STRUKTUR DASAR BAHASA PEMROGRAMAN Metode Numerik Matematis Komputer
STRUKTUR DASAR BAHASA PEMROGRAMAN
Metode Numerik • Matematis • Komputer
Pengembangan perangkat lunak • Rancang bangun algoritma • Penulisan program dlm bahasa komputer • Pencarian dan pengujian bahwa program bebas dari galat dan terhandalkan • Pembuatan dan penyimpanan program • Penyimpanan dan perawatan program (perbaikan yang bersifat situasional)
Desain modular • Apa yg terjadi jika ada buku teks tanpa bab, pasal/alenia? • Modul: Program komputer dibagi mjd program bagian kecil. • Sub rutin/prosedur: salah satu elemen program utama yg menyatakan masing 2 modul • Subrutin: deretan perintah komputer yang bersama 2 melaksankan tugas yg diberikan
Desain algoritma • Algoritma adalah rentetan (sequence) langkah logika yg diperlukan untuk melakukan tugas tertentu seperti utk pemecahan masalah. • Dlm Algoritma, tiap langkah harus deterministik/jelas dpt ditebak • Prosesnya harus berakhir pada langkah berhingga (tdk boleh berakhir terbuka (open ended)) • Harus bersifat umum
Logika Umum Bahasa Pemrograman • Deklarasi variabel • Perhitungan/komputasi • Penampilan hasil komputasi
Flow chart (bagan alir) • Menyatakan pernyataan visual/grafis suatu algoritma • Biasanya menggunakan blog dan anak panah
Contoh lambang algoritma • • • Ujung awal/akhir Proses Masukan/keluaran Keputusan Penghubung ke halaman sama Penyambung ke halaman lain
Kode Pseudo • Beruntun/sekuens : begin, tugas, end • Pemilihan: If (kondisi 1), else (kondisi 2), end if • Pengulangan: Do while (kondisi), end do
Contoh algoritma menghitung nilai rata 2 mulai Jml=0 Cacah =0 Masukkan angka benar Angka >0 salah Cacah=0 Jml=jml +angka Cacah=cacah+1 benar Rata 2=0 Rata 2=jml/cacah kembali
Menghitung nilai rata 2 BEGIN average grade sum = 0 Count =0 INPUT grade DOWHILE (Grade >0) Sum = sum+grade Count=count+1 INPUT Grade ENDDO IF (Count =0) Average = 0 Else Average = Sum/Count ENDIF END average grade
Kontrol kualitas • Debugging: kontrol thd galat 1. sintaksis (ejaan sesuai bahasa program misalkan READ ditulis REED) 2. Waktu menjalankan: terjadi selama eksekusi program seperti memasukkan data terlalu banyak 3. Logika: kesalahan logika program (paling berbahaya)
Teknik debungging • Diagnostik eksplisit: menentukan lokasi dan sifat galat secara eksak • Diagnostik semi eksplisit: lokasi eksak namun galak tidak jelas • Tidak ada diagnostik tetapi program tidak jalan. Biasanya terjadi karena kesalahan logika seperti loop tak berhingga.
Pengembangan algoritma • • • Pernyataan problem secara matematis Analisis secara matematis Pengembangan algoritma numerik Mengubah algoritma dalam bahasa mesin Terkadang lebih mudah menuliskan algoritma tanpa menuliskan flow chartnya
Contoh aplikasi akar persamaan • • Prinsip: keseimbangan panas Variabel terikat: suhu Variabel bebas: waktu dan posisi Parameter: sifat panas materi dan geometri sistem
Contoh aplikasi akar persamaan • • Prinsip: Hukum Newton Variabel terikat: percepatan, kecepatan/lokasi Variabel bebas: waktu dan posisi Parameter: massa materi, geometri sistem dan parameter tak teratur seperti gesekan
Contoh aplikasi akar persamaan • • Prinsip: Hukum Kirchoff Variabel terikat: arus dan tegangan Variabel bebas: waktu Parameter: sifat lisrik seperti tahanan, kapasitansi dan induktansi.
Contoh kasus penerjun payung • • v(t) ; var terikat t = var bebas g, c, dan m = parameter fungsi v (t)di atas adl fungsi ekplisit, v (t) juga terisolas dari tanda =
bgm jk menentukan nilai c jika kita sudah tentukan massa dan kecepatan yang dikehendaki? pusing? ? ? • persamaan diatas tdk dpt diselesaikan scr eksak, tidak ada cara yg dpt dilakukan agar c terisolasi dari tanda = • nilai c yang membuat f ( c) = 0 merupakan akar persamaan. • nilai c juga menyatakan koefisien yang menyelesaikan suatu rancangan.
contoh kasus • salah satu solusi taksiran akar persamaan adl dg metode grafis. • misalkan seorang penerjun bermassa 68 kg diharapkan memiliki kecepatan 40 m/s setelah terjun 10 s, tentukan koefisien hambat yang diperlukan jika g = 9, 8 m/s 2?
solusi 40 35 30 25 f(c) 20 15 10 5 0 -5 0 5 10 15 -10 -15 C 20 25
• grafik di tersebut memotong titik nol pada c sekitar 14, 75 • jika dimasukkan ke dlm fungsi f(c) akan diperoleh nilai f (c) =0, 059 mendekati 0 • apabila dimasukkan dlm persamaan • akan diperoleh v =40, 059 m/s yg sangat dekat dengan kec yg kita kehendaki.
Tugas • buatlah algoritma untuk mencari akar-akar dari sebuah persamaan kuadrat Ax 2 + bx +c = 0 • Buatlah algoritma untuk menentukan solusi persamaan kasus penerjun payung di atas.
- Slides: 23