Senin, 27 Oktober 2014

konsep pemrograman

KONSEP PEMROGRAMAN
Muhamad Ramli,
Program Studi Teknik Informatika

Rancangan Pembelajaran

     Mata Kuliah : Konsep Pemrograman
     Bobot : 3 SKS Tatap Muka, 1 SKS Praktikum
     Semester : 1
     Kompetensi Umum :
uMemberikan pemahaman kepada mahasiswa tentang konsep pemrograman.
uMemberikan pemahaman bahwa program komputer merupakan gabungan dari struktur data dan algoritma.
     Kompetensi Khusus :
èMemahami konsep pemrograman.
èMemberi kemampuan menggunakan komputer untuk memecahkan masalah2 khusus menggunakan bahasa C/C++

Rancangan Pembelajaran



Metode Pembelajaran :
uCeramah.
uDiskusi.
uLatihan di kelas.
uTugas.
uPraktikum.
Penilaian :
è Tugas & QUIZ : 20%
è UTS : 30 % è UAS : 30 %
è Praktikum : 15 %
è Kehadiran/Partisipasi : 5
%
Materi :
û  Konsep Pemrograman
û  Algoritma & Pemrograman û Pengantar Bahasa C/C++
û  Jenis Data & Deklarasi
û  Operator & Ekspresi
û  Pengambilan KeputusanPengulangan Proses
û  Fungsi
û  Array & String
û  Console & File I/O
û  Pointer
û  More Function
û  String
û  Software Dev on C /C++*



Rancangan Pembelajaran

Bahan Bacaan :
û  Horton Ivon, 2006, Begining C from novice to Profesional 4th edition, appress.
û  Shildt Herbert, 2000, C :Complete Reference 4th edition, McGraw-hill
û  Griffith Artur, 2000, GCC: Complete Reference, McGraw-Hill
û  Loudon Keyle, 1999, Mastering Algorithm with C, O'Reilly
û  Gottfried, Byron S,Schaum’s outline of theory and problems of programming with C ,
McGraw-Hill
û  Rinali Munir, algoritma & pemrograman, penerbit Informatika
û  Suagra, algoritma & pemrograman, penerbit Andi
û  Bahan2 Bahasa Pemrograman C ..Ilmukomputer.com
û  Sumber2 lain di internet

Software Requirentment

    DEV C++/C – Windows
    GCC – Linux
LET’S Begin !!
    KONSEP PEMROGRAMAN – ALGORITMA & FLOWCHART

Objectives

    Mengerti tentang konsep pemrograman
    Mengerti perbedaan belajar memprogram dan Bahasa pemrograman
    Mengerti konsep pemecahan masalah
    Mengerti tentang algoritma dan pseudocode.
    Membuat algoritma dari suatu permasalahan.
    Mengerti tentang flowchart.
    Membuat flowchart dari suatu permasalahan.

Mengapa Belajar Konsep Pemrograman?

   Untuk menulis kode dalam bahasa yang dimengerti komputer
   Untuk melatih logika berpikir
   Untuk dasar matakuliah lain di Teknik Informatika

Apakah belajar programming itu sulit?

    Hanya butuh waktu / “jam terbang”
    Hanya butuh semangat dan kemauan Hanya butuh sering mencoba / latihan!
    Kuncinya latihan dan diskusi!

Tips Belajar

    Buat catatan!
    Baca buku acuan!
    Banyak latihan / praktek / mencoba
    Banyak bertanya dan belajar dari sumber lain

Computer

Bagan Sistem Komputer

Overview Konsep Pemrograman

    Komputer bekerja seperti switching dan hanya mengenali 0 dan 1
    Manusia tidak (paham) berbicara dengan bahasa 0 dan 1
    Perlu bahasa pemrograman yang dapat menjadi perantara percakapan antara komputer dan manusia
    Bahasa pemrograman diubah ke dalam bahasa yang dipahami oleh komputer dengan menggunakan interpreter atau kompiler

Lanjutan ..

    Sarana komunikasi antara manusia dan komputer disebut bahasa komputer
    Bahasa Pemrograman Komputer adalah tata cara penulisan program (kata, ekspresi, pernyataan) berupa langkah untuk menyelesaikan masalah
    Faktor yang perlu diperhatikan adalah sintaksis, semantik dan logika
    Jenis Bahasa pemrograman: tingkat tinggi, menengah dan rendah

Konsep Pemecahan Masalah

    Menganalisa dan memahami permasalahan dan membuat
algoritma (pola berfikir terstruktur berisi tahap-tahap penyelesaian masalah)
    Membuat kode dari algoritma dalam pernyataan yang sesuai dengan bahasa pemrograman
    Testing (menjalankan program) dan debugging (menemukan kesalahan)
    Melakukan dokumentasi terhadap setiap langkah

Definisi Program

     A computer program is just a collection of the instructions necessary to solve a specific problem
     Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.
     Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
     Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.

Langkah Membuat Program

    Mendefinisikan / mengerti masalah
    Input layout,
    Proses – proses
    Output layout
    Mencari solusi untuk masalah
    Memilih teknik pemecahan masalah dan algoritma /flowchart
    Menulis program
    Melakukan testing dan debugging
    Melakukan dokumentasi
    Melakukan pemeliharaan

Paradigma Pemrograman

                   Pemrograman Prosedural / Terstruktur
                   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.
                   Program dapat dibagai-bagi menjadi prosedur dan fungsi.
                   Contoh: PASCAL dan C
                   Pemrograman Fungsional
                   Berdasarkan teori fungsi matematika Fungsi merupakan dasar utama program.
                   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

Paradigma Pemrograman

                  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.
                  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 lainlain.
                  Pemrograman Deklaratif
                  Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.
                  Contoh: PROLOG

Pembagian Target Program

    Pemrograman Desktop
    Pemrograman Web
    Pemrograman Mobile
    Pemrograman Network
    Pemrograman Sistem (Embeded)

Siklus Hidup Perangkat Lunak (Waterfall Model)

Dilihat dari Siklus diatas, Algoritma Pemrograman menempati posisi dibagian Code / implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).

Ciri Pemrograman Terstruktur

    Mempunyai teknik pemecahan masalah yang benar
    Memiliki algoritma pemecahan masalah yang sederhana dan efisien
    Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami
    Membutuhkan biaya testing yang rendah
    Memiliki dokumentasi yang baik

Belajar Memprogram dan

Belajar Bahasa Pemrograman

    Belajar Memprogram=Belajar Metodelogi Pemecahan masalah dan menuangkannya kedalam notasi tertentu sehingga mudah dipahami.
    Belajar BP=Belajar memakai suatu bahasa , aturan2, intruksi2, tatacara pengoperasian compiler-nya, dan memanfaatkan intruksi2 itu untuk membuat program dalam bahasa itu saja.

Belajar Memprogram

    Belajar memprogram ≠ belajar bahasa pemrograman.
    Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama.
    Bersifat pemahaman persoalan, analisis dan sintesis.
    Titik berat : designer program.

Belajar Bahasa Pemrograman

    Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
    Belajar bahasa pemrograman, titik berat : coder

Produk Pemrograman

    Program dengan rancangan yang baik (metodologis, sistematis).
    Dapat dieksekusi oleh mesin.
    Berfungsi dengan benar.
    Sanggup melayani segala kemungkinan masukan.
    Disertai dokumentasi.
    Belajar memprogram, titik berat : designer program.
ALGORITMA & PSEUDOCODE

Brief of Algorithm

    Asal kata algorism
    Penemu : Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi (770840M)
    Buku-nya : Kitab Al Jabar Wal-Muqabala/The book of restoration and reduction/Buku pemugaran dan pengurangan
    Definisi : ”logika,metode,urutan langkah-langkah untuk menyelesaikan permasalahan yang disusun secara sistematis dan logis”

Pemahaman Algoritma

     Algoritma = kunci ilmu komputer
     Algoritma != Program (kumpulan intruksi com)
     Program = stuktur data + Algoritma
     Notasi Algoritma independen terhadap bahasa pemrograman & Mesin Komputer
     Aturan penulisan algoritma tidak baku.
     Penulisan sebaiknya berkoresponden/merujuk ke notasi bahasa pemrograman secara umum.
     Aksi dari algoritma ”kejadian yg terjadi dari selang waktu tertentu (awal = t0, akhir=t1)” dan menghasilkan effect netto yang terdefinisi dengan baik dan direncanakan”

Aksi dalam algoritma

     Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang memang direncanakan
     Dari waktu0 ke waktuN
     Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”
     Batasan:
     Apa kentang harus dibeli dulu atau sudah ada?
     Apakah mengupas berarti sampai kentang terhidang?
     Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup atau digoreng?
     Berarti harus ada kejadian awal = start dan kejadian akhir = finish
     Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentang
     Cara (Metode) sebisa mungkin harus bersifat universal

Algoritma Login ke Facebook

    User : Masukkan user name
    User : Masukkan Password
    Sistem :Cek apakah username terdaftar?
    Sistem :Jika tidak terdaftar, maka sistem akan mengeluarkan peringatan adanya kesalahan. Jika terdaftar maka, selanjutnya sistem akan mengecek apakah username dan password cocok (sesuai dengan database)?
    Sistem :Jika Username dan password cocok maka user diperbolehkan masuk ke Facebook ybs. Jika tidak cocok maka sistem akan mengeluarkan peringatan adanya kesalahan
    User : Dapat mengakses halaman facebook ybs

Contoh Algoritma dalam kehidupan ?

Proses
Algoritma
Contoh Langkah dlm Algo
1. Membuat Kue
Resep Kue
Masukan telur ..
2. Membuat pakaian
Pola Pakaian
Gunting kain dari kiri …
3. Praktikum Reaksi Kimia
Panduan Praktikum
Campur 10 ml NaCL..
4. Merakit Mobil
Panduan Merakit
Gabungkan komponen A..
5. Memainkan Musik
Papan Not Balok
Not Balok
6. Mengisi Voucher HP
Panduan pengisian
Tekan no 888 ..

Contoh Kasus

Ibu Saya Memasak Nasi Untuk Makan Siang
Ø     Perhatikan, Ruang lingkupnya luas, maka perlu didefinisikan keadaan awal dan effect netto yang direncanakan. (initial state & final state).
Ø     Initial state/keadaan awal:t0 – beras sudah ada panci yang terletak didapur dekat tempat pencucian.
Ø     Final state /keadaan akhir:t1 – Beras telah matang menjadi nasi dan disajikan diatas meja.
ØContoh Kejadian memasak nasi : ØAmbil panci berisi beras
ØBawa ketempat pencucian
ØNyalakan kran air
ØCuci beras sampe bersih
ØMasukan ke panci untuk menanak nasi
ØIsikan air secukupnya
ØBawa ketempat menanak nasi
ØMasukan ke rice cooker
ØNyalakan rice cooker dan setting mode ”memasak”
ØTunggu beberapa menit sampe matang
ØAngkat nasi dari rice cooker
ØBawa dan hidangkan diatas meja   

Pemahaman Contoh

    Kejadian = urut-urutan dari beberapa aksi yang terjadi saling berurutan.
    Effek kumulatif dari semua aksi yang terjadi menjadi effek netto dari kejadian
    Penggolongan kejadian menjadi aksi adalah relative tergantung sudut pandang.
Coba Anda Carikan sudut pandang lainnya dari contoh tersebut !

Contoh : Hitung 25 x 34 =  ?

    Grid method
    Long multiplication method
    Karatsuba multiplication

Hitung 25 x 34 =  ?

Grid method : Long multiplication method

20
5
30
600
150
4
80
20
25 x 34 = 600 + 150 + 80 + 20 = 850     25
34
___X
100
75
____+
850

Hitung 25 x 34 = ? 2    5   x   3     4

x1  x2     y1  y2
Karatsuba multiplication method
1.              Hitung A = x1 * y1     A= 2 x 3 = 6
2.              Hitung B = x2 * y2     B = 5 * 4 = 20
3.              Hitung C = (x1 + x2) (y1 + y2 C = (7) * (7)= 49
4.              Hitung K = C – A – B   K = 49 – 6 – 20  =  23
5.              Hitung H = A * 100 + K * 10 + B
6.              Hasilnya adalah H      H = 6 * 100 + 23 * 10 + 20
=  600 + 230 +  20
= 850

Penilaian Algoritma

    Tingkat kepercayaan tinggi (realibility) = hasil yang diperoleh harus berakurasi tinggi dan benar.
    Pemrosesan efesien (low cost) = proses dilakukan secepat mungkin dan seakurasi mungkin.
    Sifat General = Bukan hanya bisa menyelesaikan satu kasus saja.
    Mudah dimengerti = siapapun yang melihat akan memahami algoritma Anda.
    Portabllitas tinggi = bisa diimplementasikan di berbagai platform komputer.

Kriteria Algoritma

    Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
    Output: algoritma harus memiliki minimal satu buah output keluaran.
    Definite (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
    Finite (ada batas): algoritma harus memiliki titik berhenti ( stopping role ).
    Effective (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.  Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa program yang memang dirancang untuk unterminatable, contoh Sistem Operasi

Aturan Penulisan Algoritma

Tiap Algoritma terdiri dari 3 bagian (
Header/judul,Kamus/Deklarasi,Algoritma)  dan { } untuk komentar.
Judul/Header
{ Komentar mengenai algoritma, ex. Cara kerja program, kondisi awal, kondisi akhir algoritma}
Kamus / Deklarasi
{  Definisikan nama prosedur,nama fungsi, variable, nama konstanta  }
Algoritma
{ Isi dari algoritma dituliskan disini }

Kamus / Deklarasi
{ Nama type, hanya untuk type yang bukan type dasar }
type jam : <hh,mm,ss :integer>  { Type jam terdiri dari 3 masukan yaitu “hh” sebagai jam. “mm” sebagai menit dan “ss” sebagai detik}
{ Nama konstanta, harus menyebutkan type dan nilai  } constant phi : real = 3,14159 constant nama : string = ‘joe’ constant benar : boolean = true
{ Nama Informasi, menyebutkan type } x,y : integer     { suatu nilai yang bertype bilangan bulat } NMax : real          {nilai maksimum yang bertype bilangan real}
Nama : string       { suatu nilai yang merupakan kumpulan character }
P : point                 {suatu nilai pada bidang kartesian}
Cari : Boolean      { suatu nilai logika }


{  Lanjutan Kamus  }
{ Nama fungsi, menyebutkan domain dan range }
function RealToInt (x:real) → integer
{mengubah harga x yang bertype real menjadi harga ekivalen yang bertype integer}
{Nama prosedur, menyebutkan “IS” initial state, “FS” final state dan proses}
procedure tukar (input/output x,y : real)
{  IS x dan y terdefinisi, x = a dan y = b FS x = b dan y = a
Proses : menukar isi informasi bilangan x dan y }

Algoritma input ( c,d)   {menerima masukan 2 bilangan c dan d }
if c < d then { operasi kondisional } e←a+b      {e di assignment oleh nilai a dan b}
else
e←a–b
output ( e)    {hasil keluaran berupa bilangan e }
Algoritma merupakan inti dari suatu algoritma yang berisi instruksi dan pemanggilan aksi yang telah didefinisikan sebelumnya.
Komponen dasar (prosedural):
ü  Instruksi dasar ex. I/O,assignment
ü  Sequence (runtutan)
ü  Analisa kasus
ü  Perulangan

Latihan Menentukan Nilai MAX ?

Program Nilai_Maksimal
{Menentukan nilai tertinggi yang dibaca dari piranti masukan dan hasilnya dicetak ke piranti keluaran}
Kamus
hasil,x,y : integer {hasil merupakan variabel untuk menampung nilai keluaran}
{ x,y adalah variabel untuk menampung nilai masukan }
Algoritma
input ( x,y)          {membaca nilai x dan y dari piranti masukan }
if x < y then        {operasi kondisional} hasil ← x         {hasil di assignment oleh nila terbesar}
else
hasil ← y
output (hasil)       (nilai didalam variabel hasil dicetak ke piranti keluaran} end

Pseudo Code

    Kode atau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah. 
    Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma = representasi penulisan algoritma
    Digunakan dengan bahasa manusia
Pseudocode Convention
    Statement are written in simple English
    Each instruction is written on a separate line
    Keywords and indentation are used to signify particular control structures.
    Each set of instructions is written from top to bottom, with only one entry and one exit.
    Groups of statements may be formed into modules, and that group given a name.
Six Basic Computer Operations
1.                 A computer can receive information
Verb used:
Read à used when the algorithm is to receive the input from a record on a file
Get à used when the algorithm is to receive input from the keyboard.
Read student name
Get system date
Read number_1, number_2
Get tax_code
2.                 A computer can put out information
Verb used:
Print à used when the output is to be sent to the printer
Write à used when the output is to be written to a file
Put, Output, Display à used when the output is to be written to the screen
Prompt à required before an input instruction Get, causes the message to be sent to the screen which requires the user responds, usually by providing input.
Print `Program Completed´
Write customer record to master file
Put out name, address and postcode
Output total_tax
Display ´End of data´
Prompt for student_mark
Get student_mark
3.                          A computer can perform arithmetic
Verb used:
Compute
Calculate
•Symbols used:
+, -, *, /, ()
Add number to total
Total = total + number
Divide total_marks by student_count
Sales_tax = cost_price * 0.10 Compute C = (F – 32)  * 5/ 9
4.                          A computer can assign a value to a variable or memory location
•     Three cases :
1.                To give data an initial value in pseudocode, the verbs Initialise or Set are used
2.                To assign a value as a result of some processing, the symbols ´=´or ´ß´ are written
3.                To keep a variable for later use, the verbs Save or Store are used.
Initialize total_price to zero
Set student_count to 0
Total_price = cost_price + sales_tax
Total_price ß cost_price + sales_tax
Store customer_num in last_customer_num
5.                          A computer can compare two variables and select one of two alternate actions
Keyword used:
IF, THEN, ELSE
IF student_attendance_status is part_time THEN
add 1 to part_time_count ELSE
Add 1 to full_time_count
ENDIF

6 . A computer can repeat a group of actions

Keyword used:
DOWHILE, ENDDO
DOWHILE student_total < 50
Read student record
Print student name, address to report
Add 1 to student_total
ENDDO
Meaningful names
    When designing a solution algorithm, a programmer should introduce unique names, which are:
    Represent the variables or objects in the problem
    Meaningful example: number1, number2, number3 à more meaningful than A, B, C
-       Used word separator if more than one word example: sales_tax, word_count
-       Or Capital letter as separator example: salesTax, wordCount
The Structure Theorem
    It is possible to write any computer program by using only three basic control structures that are easily represented in pseudocode:
    Sequence
    Selection
    Repetition
Sequence
Is the straightforward execution of one processing step after another.
Statement a
Statement b
Statement c
    Add 1 to pageCount
    Print heading line 1
    Print heading line 2
    Set lineCount to zero
    Read customer record
Selection
Presentation of condition and the choice between two actions
IF condition p is true THEN statement(s) in true case
ELSE statement(s) in false case
ENDIF
Example:
IF student_attendance_status is part_time THEN add 1 to part_time_count
ELSE add 1 to full_time_count
ENDI>f
Repetition
The presentation of a set of instructions to be performed repeatedly, as long as a condition is true
DOWHILE condition p is true statement block
ENDDO
Example:
Set student_total to zero
DOWHILE student_total < 50
Read student record
Print student name, address to report
Add 1 to student_total
ENDDO
DESIGNING A SOLUTION ALGORITHM
    The most challengin task in the life cycle of a program
    First attempt usually doesnt result in a finished product
    Keep altering the step and algorithms till satesfied result achieved.
Point to be considered in Solution Algorithm
1.                  A name should be given to the algorithm, which is describe the function of algorithm
2.                  An END statement used to indicate the algorithm is complete
3.                  All processing steps between the algorithm name and END statement should be indented for readability.
4.                  Each processing step in the defining diagram relates directly to one or more statements in the algorithm.
Solution Algorithm for example
§ A program is required to read three numbers, add them together and print their total.
    Defining diagram
Solution Algorithm
    Add_three_numbers
Read number1, number2, number3
Total = number1 + number2 + number3
Print total
END
Find average temperature
    A program is required to prompt the terminal operator for the maximum and minimum temperature readings on a particular day, accept those readings as integers, and calculate and display to the screen the average temperature, calculated by (maximum temperature
+ minimum temperature)/2.
    Defining diagram
Solution Algorithm
    Find average_temperature
Prompt operator for max_temp, min_temp
Get max_temp, min_temp
Avg_temp= (max_Temp + min_temp)/2
Output avg_temp to the screen
END
READ x
READ y
READ z
IF (x=y) PRINT x
ELSE
IF(y<z) PRINT y
ELSE
PRINT z
ENDIF
ENDIF
Apa outputnya jika diinputkan :
X=5, Y=10, Z=15 ?
X=15, Y=20, Z=5?
SET count ←1 WHILE (count ← 6) Print count
count ← count + 1
ENDWHILE
Output?
Berapa kali operasi count ← count+1 dilakukan?
 Jelaskan  Output  potongan code  berikut?
Assignment Permasalahan!
    Buatkan algoritma untuk menampilkan kalimat ”SELAMAT BELAJAR KONSEP PEMROGRAMAN ”
    Jika adik Anda disuruh oleh guru untuk menentukan prima dari 1 sampai 50 serta menghitung  rata2 dari penjumlahan bilangan prima tersebut. Bagaimana Anda membuatkan algoritmanya untuk membantu Anda?
    Andaikan anda adalah guru les matematika yang ingin membuat ranking dari 8 murid Anda serta ingin mengetahui rata2 nilai mereka. Dimana Nilai ujian murid anda : 67, 56, 74,89,70,91,62,77. Bagaimana Anda membuat algoritmanya ?

FLOW CHART

§ Definisi:
§ Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial
§ Merupakan cara penyajian dari suatu algoritma.
§ Kegunaan:
§ Untuk mendesain program
§ Untuk merepresentasikan program
§ Maka, flowchart harus dapat merepresentasikan komponenkomponen dalam bahasa pemrograman

FLOW CHART

§  Ada 2 macam Flowchart :
1.            System Flowchart : urutan proses dalam system dengan menunjukkan alat media input, output   serta jenis media penyimpanan dalam prosespengolahan data.
2.            Program Flowchart : urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
§  Sebelum pembuatan program:
§  Mempermudah programmer dalam menentukan alur logika program § Sesudah pembuatan program:
§  Menjelaskan alur program kepada orang lain

System Flowchart Program Flowchart

Simbol – Simbol Flowchart

qFlow Direction Symbols (Simbol penghubung alur) qProcessing Symbols (Simbol proses).
qInput-output Symbols (Simbol input-output)

Flow Direction Symbols

Processing Symbols

Processing Symbols –cont..

Input – Output Symbols

Input – Output Symbols – cont..

Pembuatan Flowchart

    Tidak ada kaidah yang baku.
    Flowchart = gambaran hasil analisa suatu masalah.  Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
    Secara garis besar ada 3 bagian utama:Input, Proses,Output
    Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
    Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
    Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Contoh Flowchart Pencabangan

Contoh Flowchart

Pengulangan

Genap Ganjil

               
Menemukan bilangan terbsar dari 3 buah bilangan

Latihan Soal

1.             Menjumlahkan 2 buah bilangan dan mencetak hasilnya
2.             Memberikan opsi menjumlahkan dan mengalikan 2 buah bilangan dan menampilkan hasilnya
3.             Menghitung luas lingkaran dan menampilkan hasilnya
4.             Mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar salah satunya, dan tampilkan hasilnya

5.             Menghitung sigma (akumulasi) dari bilangan 1 sampai dengan n, dan menampilkan hasilnya