Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)
Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
Persamaan: bertujuan menghasilkan output yang sama
4 of 19
Paradigma Pemrograman
Pemrograman Prosedural
Berdasarkan urutan-urutan, sekuensial
Program adalah suatu rangkaian prosedur untuk memanipulasi data.
Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.
Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
5 of 19
Pemrograman Fungsional
Berdasarkan teori fungsi matematika
Fungsi merupakan dasar utama program.
6 of 19
Pemrograman Terstruktur
Secara berurutan dan terstrukrtur.
Program dapat dibagai-bagi menjadi prosedur dan fungsi.
Contoh: PASCAL dan C
7 of 19
Pemrograman Modular
Pemrograman ini membentuk banyak modul.
Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
Sebuah program dapat merupakan kumpulan modul-modul.�Contoh: MODULA-2 atau ADA
8 of 19
Pemrograman Berorientasi Obyek
Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi�Contoh: C++, Object Pascal, dan Java.
9 of 19
Pemrograman Berorientasi Fungsi
Pemrograman ini berfokus pada suatu fungsi tertentu saja.
Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.�Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
10 of 19
Pemrograman Deklaratif
Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.�Contoh: PROLOG
11 of 19
LANGKAH-LANGKAH PEMROGRAMAN / MEMBUAT PROGRAM
MENDEFINISIKAN MASALAH
Tujuannya untuk mendapatkan pengertian atau pemahaman yang lebih mendalam tentang masalah yang ada.
Untuk menentukan batasan2 agar masalah tidak menjadi tak terbatas.
Langkah-langkah dalam pendefinisian masalah :
Pahami masalah dengan tepat untuk dapat memahami masalah dengan tepat, pemrogram jangan hanya mengandalkan persepsi sendiri tetapi libatkan juga pihak pemesan program.
12 of 19
Identifikasi dan definisi masalah menentukan batasan masalah
ANALISIS KEBUTUHAN
tujuannya untuk menentukan spesifikasi fungsi, kemampuan dan fasilitas dari program yang disusun.
Bagaimana format menu, input, proses dan output yang diinginkan?
Data apa saja yang akan diinputkan?
Berapa digit angka yang akan diproses?
Rumus apa yang akan digunakan atau bagaimana proses pengolahan data harus dilakukan?
Siapa saja yang memmbutuhkan informasi yang akan dihasilkan nanti?
Informasi apa yang dibutuhkan oleh masing-masing pemakai?
Apakah manfaat dan informasi yang dihasilkan tersebut?
Kapan informasi tersebut dihasilkan?
Apa bentuk help yang diinginkan oleh para pemakai?
13 of 19
PERENCANAAN/PLANNING/DESAIN SISTEM
Pada tahap ini adalah medefinisikan langkah-langkah apa saja yang dilakukan oleh program dalam menyelesaikan permasalahan yang ada.
Bentuk dari perencanaan itu bisa berupa flowchart ataupun algoritma dari program, sehingga kita akan tahu proses apa saja yang ada dalam program tersebut. semakin detail flowchart atau algoritma yang dibuat semakin mudah juga pada tahap implementasi/coding nantinya.
IMPLEMENTASI/KODING/PROGRAMMING
Kini saatnya anda menulis program, tahap ini juga mencakup tahap perbaikan error dan testing. Menulis program dengan terstruktur dan sesuai dengan flowchart yang telah dibuat.
14 of 19
DOKUMENTASI/DOCUMENTATION
Setelah tahap coding selesai, sangat disarankan bagi anda untuk membuat semacam dokumentasi. Tambahkan komentar-komentar pada program anda dan “bukukan” program yang akan anda buat. Hal ini akan bermanfaat jika anda sudah membuat program yang begitu banyak, dan suatu ketika nanti (mungkin bertahun-tahun kemudian) anda ingin mengambil sebagian dari code program anda yang lama untuk disisipkan pada program anda yang baru. Bayangkan jika anda tidak membuat dokumentasi, waktu anda akan sangat terbuang dengan menelusuri program-program lama anda satu-persatu.
15 of 19
TESTING
Unit Testing�Menguji setiap unit dan modul yang terdapat dalam program tersebut
Integration Testing�Menguji integrasi yang dilakukan kepada program seperti halnya ketika program tersebut sudah diinstall di client kita yang membutuhkan integrasi dengan sisitem yang lain seperti halnya integrasi dengan database.
Validation Testing�menguji masukan yang diberikan kepada program. apapun masukannya program harus bisa menyelesaikan dengan baik.
Sistem Testing�Pada tahap ini menguji performa dari program, apabila program dijalankan dengan kondisi-kondisi tertentu bagaimana?
16 of 19
Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain
Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
17 of 19
Kriteria Algoritma Menurut Donald E. Knuth
Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
Output: algoritma harus memiliki minimal satu buah output keluaran.
Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan�dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
18 of 19
Jenis Proses Algoritma
Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
Concurrent Process: beberapa instruksi dikerjakan secara bersama