Analisis Sistem Informasi

advertisement
Konsep Pemrograman



Belajar memrogram adalah belajar mengenai
strategi pemecahan persoalan/masalah, juga
metodologi dan sistematika pemecahan tersebut
kemudian menuliskannya dalam notasi yang
disepakati bersama.
Belajar memrogram lebih bersifat pemahaman
persoalan, analisis, dan sintesis
Program harus dihasilkan dari proses
pemahaman masalah, analisis, sintesis dan baru
kemudian dituangkan menjadi kode dalam
bahasa komputer secara sistematis dan
metodologis.
@2005 Electrical Engineering Department UGM
Slide 1
Lanjutan …


Ilmu pemrograman berkembang menggantikan
seni memrogram dan memrogram secara cobacoba (trial and error)
Produk yang dihasilkan oleh seorang pemrogram
adalah program dengan rancangan yang baik
(metodologis dan sistematis) yang dapat
dieksekusi oleh mesin, berfungsi dengan benar,
sanggup melayani segala kemungkinan masukan
/input, dan didukung dengan adanya
dokumentasi
@2005 Electrical Engineering Department UGM
Slide 2
Proses vs Produk

Proses pembuatan program yang baik akan
menjamin dihasilkannya produk yang baik

Proses pembuatan program yang kurang baik
atau buruk mungkin saja menghasilkan produk
yang baik tapi setelah adanya poles sana sini
secara tambal sulam
@2005 Electrical Engineering Department UGM
Slide 3
dari Problem menjadi Program




Problem ada untuk dipecahkan
Kebanyakan problem bersifat tidak sederhana
dan tidak memiliki spesifikasi yang tepat
Banyak problem yang tidak mungkin
diformulasikan dalam bentuk yg berlaku dalam
pemecahan masalah di dunia komputer
Kalaupun bisa dipecahkan oleh komputer
biasanya tergantung pada beberapa parameter
yang nilai layaknya hanya bisa didapatkan
dengan jalan eksperimen.
@2005 Electrical Engineering Department UGM
Slide 4
Lanjutan …



Formulasi baku atau Pemodel dan penggunaan
properti model tersebut akan membantu dalam
mengkontruksi sebuah solusi yang baik
Cabang-cabang dalam matematika dan sain
dapat digunakan sebagai layanan untuk
membantu pemodelan
Bila aspek-aspek tertentu dari problem dapat
dinyatakan dalam model formal akan sangat
bermanfaat karena sekali problem dirumuskan,
maka pencarian solusi dalam model yg tepat dan
tertentu sudah tersedia untuk memecahkan
problem tersebut.
@2005 Electrical Engineering Department UGM
Slide 5
Lanjutan …



Problem pada dasarnya bersifat numerik dan
dapat dimodelkan dengan konsep matematik
umum seperti persamaan linier simultan
(menemukan arus atau tegangan dalam
rangkaian listrik), persamaan diferensial
(prediksi pertumbuhan populasi atau laju reaksi
kimia).
Problem pemrosesan simbol dan teks dapat
dimodelkan dengan string karakter dan grammar
baku
Problem pemrosesan grafik dapat dimodelkan
dengan format piksel dan spasial
@2005 Electrical Engineering Department UGM
Slide 6
Langkah pemrograman untuk
memecahkan masalah
1.
2.
3.
4.
5.
Identifikasi problem dan analisis kebutuhan
Perancangan solusi
Implementasi
Testing dan dokumentasi
Evaluasi
@2005 Electrical Engineering Department UGM
Slide 7
Identifikasi Problem Analisis
Kebutuhan

Identifikasi penyebab dan titik problem
sehingga problem dapat didefinisikan
/ditentukan untuk kemudian dapat
diformulasikan

Menganalisis adalah proses mengurai masalah
sehingga akan diidentifikasi kebutuhankebutuhan untuk menyelesaikan masalah
tersebut
@2005 Electrical Engineering Department UGM
Slide 8
Analisis Masalah
1.
2.
3.
4.
5.
Identifikasi dan jelaskan proses apa saja yang
dibutuhkan
Identifikasi dan jelaskan masukan / input apa
saja yang diperlukan
Identifikasi dan jelaskan keluaran / output apa
saja yang dihasilkan
Jelaskan bagaimana tipe dan struktur data yang
akan dipakai
Tetapkanlah batasan-batasan dan aturan-aturan
untuk menyelesaikan masalah
@2005 Electrical Engineering Department UGM
Slide 9
Perancangan solusi
Perancangan dilaksanakan dengan membuat
algoritma dan diagram alir (flowchart) sesuai dengan
poin-poin hasil dari proses identifikasi dan analisis
@2005 Electrical Engineering Department UGM
Slide 10
Implementasi

Implementasi dengan jalan coding dengan salah satu
bahasa pemrograman yang menerapkan salah satu
paradigma pemrograman tertentu
@2005 Electrical Engineering Department UGM
Slide 11
Paradigma Pemrograman
Paradigma pemrograman adalah sudut
pandang/pendekatan yang diprioritaskan atau
strategi analisis yang diprioritaskan dalam
pemecahan persoalan
1.
2.
3.
4.
5.
6.
Paradigma
Paradigma
Paradigma
Paradigma
Paradigma
Paradigma
Prosedural / Imperatif
Fungsional
Deklaratif/Logik/Predikatif
berorientasi obyek
Konkuren
Relasional
@2005 Electrical Engineering Department UGM
Slide 12
Paradigma Prosedural
Paradigma ini didasarkan pada konsep mesin
Von Newmann (stored program concept) yaitu :
sekelompok tempat penyimpanan /memori yang
dibedakan menjadi memori instruksi dan memori
data, masing-masing dapat diberi nama dan
harga.
 Instruksi akan dieksekusi satu persatu secara
sekuensial oleh sebuah pemroses tunggal.
Beberapa instruksi menentukan instruksi
berikutnya yang akan dieksekusi (percabangan
kondisional).
 Data diperiksa dan dimodifikasi secara
sekuensial juga.
@2005 Electrical Engineering Department UGM
Slide 13

Lanjutan …




Program dalam paradigma ini berdasarkan pada
strukturasi informasi di dalam memori dan
manipulasi dari informasi yang tersimpan
tersebut
Program = Algoritma + struktur data
Kelebihan : efisiensi eksekusi karena dekat
dengan mesin
Kekurangan : tidak manusiawi / tidak alamiah
karena harus berpikir dalam batasan
mesin/komputer dan batasan ini lebih megikat
daripada problematikannya sendiri
@2005 Electrical Engineering Department UGM
Slide 14
Paradigma Fungsional





Paradigma fungsional didasari atas konsep pemetaan
dan fungsi pada matematika. Fungsi dapat berbentuk
sebagai fungsi primitif atau komposisi dari fungsifungsi lain yang telah terdefinisi.
Pemrogram mengasumsikan adanya fungsi-fungsi
dasar yang dapat dilakukan
Penyelesaian masalah didasari atas aplikasi fungsifungsi tersebut
Jadi dasar pemecahannya adalah transformasional
Semua kelakuan program adalah suatu rantai
transformasi dari satu keadaan awal menuju ke
rantai keadaan akhir yang mungkin melelui keadaan
antara
@2005 Electrical Engineering Department UGM
Slide 15
Lanjutan

Yang menjadi perhatian di sini adalah keadaan awal
dan akhir, tidak perlu mengetahui bagaimana mesin
mengeksekusi instruksi dan bagaimana data di
simpan dan dimanipulasi karena pada dasarnya
sebuah fungsi adalah sebuah kotak hitam
@2005 Electrical Engineering Department UGM
Slide 16
Paradigma Logic




Paradigma ini didasari dari pendefinisian relasi antar
individu yang dinyatakan sebagai predikat
Sebuah pemrograman logic adalah kumpulan
aksioma (fakta dan aturan deduksi)
Pada paradigma ini pemrogram menguraikan
sekumpulan fakta-fakta dan aturan-aturan (inference
rules)
Ketika program dieksekusi, pemakai mengajukan
pertanyaan (Query) dan program akan menjawab
apakah pernyataan itu dapat dideduksi dari aturan
dan fakta yang ada
@2005 Electrical Engineering Department UGM
Slide 17
Lanjutan …

Program akan memakai aturan deduksi dan
mencocokkan pertanyaan dengan fakta-fakta yang
ada untuk menjawab pertanyaan
@2005 Electrical Engineering Department UGM
Slide 18
Paradigma Berorientasi Obyek





Paradigma ini didasari oleh obyek
Tiap obyek memiliki atribut (kumpulan sifat) dan
kelakuan (kumpulan relasi dan methoda)
Obyek yang satu dapat berkomunikasi dengan obyek
yang lain lewat pesan dengan tetap terjaga
integritasnya
Kelas adalah obyek yang mempunyai atribut sama
dan diturunkan ke semua obyek yang memiliki kelas
yang sama
Kelas memiliki hierarki, anggota dari sebuah kelas
akan mendapatkan turunan atribut dari kelas di
atasnya
@2005 Electrical Engineering Department UGM
Slide 19
Lanjutan …


Paradigma ini menawarkan class, generic, inheritance,
polymorphism dan menekankan pentingnya
pendefinisian statik kelas untuk menciptakan obyek
pada saat runtime yang kemudian dimanipulasi atau
saling berinteraksi
Definisi kelas memungkinkan adanya penurunan
kelas dengan obyek pada saat runtime yang dapat
berubah bentuk dengan bentuk kelakuan yang
disesuaikan
@2005 Electrical Engineering Department UGM
Slide 20
Paradigma Konkuren

Paradigma konkuren erat kaitannya dengan
arsitektur perangkat keras yang memungkinkan
pemrosesan secara paralel atau perangkat lunak
sistem terdistribusi yang mengelola akses konkuren
@2005 Electrical Engineering Department UGM
Slide 21
Paradigma Relasional

Paradigma Relasional yang didasari atas entity dan
relasi dan pemrograman dalam bahasa Query yang
memungkinkan diperolehnya suatu himpunan nilai
@2005 Electrical Engineering Department UGM
Slide 22
Bahasa Pemrograman



1.
2.
3.
4.
5.
6.
Bahasa pemrograman mulai berkembang sekitar
tahun enampuluahan
Untuk tiap paradigma pemrograman tersedia bahasa
pemrograman yang mempermudah implementasi
rancangan penyelesaian masalahnya
Contoh :
Prosedural : Fortran, Algol, Pascal, Basic, C, Cobol
Fungsional : LOGO, APL, LISP
Logic : Prolog
Berorientasi Obyek : Eifel, Java, C++, Smalltalk
Konkuren : Java, C#, Ada, OCCM
Relasional : SQL pada basisdata relasional
@2005 Electrical Engineering Department UGM
Slide 23
Lanjutan …



Belajar bahasa pemrograman adalah belajar
memakai suatu bahasa, aturan sintaksnya tiap
instruksi yang ada, dan tata cara pengoperasian
compiler pada bahasa yang bersangkutan
Belajar bahasa pemrograman adalah belajar
memanfaatkan instruksi-instruksi dan kiat yang
spesifik yang ada bahasa tersebut
Belajar bahasa pemrograman lebih bersifat
ketrampilan daripada kepakaran karena proses
coding lebih bersifat semi otomatikdengan aturan
pengkodean
@2005 Electrical Engineering Department UGM
Slide 24
Contoh sederhana

read three numbers, add them together and print
their total.
@2005 Electrical Engineering Department UGM
Slide 25
Contoh

Membaca dua buah bilangan pecahan yang masingmasing direpresentasikan sebagai dua buah bilangan
integer yang menyatakan pembilang dan penyebut,
mengalikan dua bilangan pecahan tadi dan
menuliskan hasil perkaliannya
Input
Bil1
Bil2
Proses
Output
Baca 2 bilangan pecahan
Hasil Perkalian
Kalikan kedua bilangan tersebut
Cetak Hasil Perkalian
@2005 Electrical Engineering Department UGM
Slide 26
Lanjutan …

Aturan dan batasan
Penyebut tidak boleh bernilai 0
@2005 Electrical Engineering Department UGM
Slide 27
Download