Professional Documents
Culture Documents
KP 1
KP 1
PEMROGRAMAN
M. Ramli
Program Studi Informatika
08568400278 coursework.informatics@gmail.com
Kompetensi Umum :
Memberikan pemahaman kepada mahasiswa tentang konsep pemrograman.
Memberikan pemahaman bahwa program komputer merupakan gabungan dari struktur data dan
algoritma.
Kompetensi Khusus :
Memahami konsep pemrograman.
Memberi kemampuan menggunakan komputer untuk memecahkan masalah-masalah khusus
menggunakan bahasa C/C++
KP
Materi :
Konsep Pemrograman
Algoritma & Pemrograman
Pengantar Bahasa C/C++
Jenis Data & Deklarasi
Operator & Ekspresi
Pengambilan Keputusan
Pengulangan Proses
Fungsi
Array & String
Console & File I/O
Pointer
More Function
String & Struct
Software Dev on C /C++*
KP
Penugasan berbasis
Self-Practice dan
Literatur Review
KP
Software Requiretment
Contoh :
DEV C++/C Windows
http://orwelldevcpp.blogspot.com/
GCC Linux
KP
LETS Begin !!
KONSEP PEMROGRAMAN
KP
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.
KP
KP
KP
10
Tips Belajar
Buat catatan!
Baca buku acuan!
Banyak latihan / praktek / mencoba
Banyak bertanya dan belajar dari sumber lain
KP
11
Computer
KP
12
KP
13
14
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
KP
15
16
Definisi Program
Sebuah program komputer hanyalah
kumpulan instruksi yang diperlukan untuk
memecahkan suatu masalah tertentu
Program adalah kumpulan instruksi atau perintah
yang disusun sedemikian rupa sehingga
mempunyai urutan nalar yang tepat untuk
menyelesaikan suatu persoalan.
Program 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
KP
komponen-komponen : Input,
Output, Proses,
17
18
KP
19
Paradigma Pemrograman
Pemrograman Fungsional
Pemrograman Modular
20
Paradigma Pemrograman
Pemrograman Deklaratif
21
KP
22
23
KP
24
25
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.
KP
26
KP
27
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.
KP
28
ALGORITMA &
PSEUDOCODE
Brief of Algorithm
Asal kata algorism
Penemu : Abu Jafar Muhammad Ibnu Musa AlKhuwarizmi (770-840M)
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
KP
30
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
KP
31
32
33
Algoritma
1. Membuat Kue
Resep Kue
Masukan telur ..
2. Membuat pakaian
Pola Pakaian
Panduan Praktikum
Campur 10 ml NaCL..
4. Merakit Mobil
Panduan Merakit
5. Memainkan Musik
Not Balok
6. Mengisi Voucher HP
Panduan pengisian
Tekan no 888 ..
7. Menanak Nasi
Cuci beras ..
KP
34
35
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 !
KP
36
KP
37
Hitung 25 x 34 = ?
Long multiplication
Grid method :
method
25 x 34 = 600 + 150 + 80 +
25
20 = 850
30
4
20
600
80
34
___X
100
75
____+
850
5
150
20
KP
38
Hitung 25 x 34 = ?
2 5 x 3 4
x1 x2
y1 y2
3.
4.
5.
6.
A= 2 x 3 = 6
B = 5 * 4 = 20
KP
39
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.
KP
40
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
KP
41
Aturan Penulisan
Algoritma
Tiap Algoritma terdiri dari 3 bagian
( Header/judul,Kamus/Deklarasi,Algoritma/Deskripsi) 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 }
KP
42
Contoh
Program Luas_Lingkaran
{Judul Algoritma}
{ Menghitung luas lingkaran untuk jari-jari dibaca dari keybord
dan mencetak hasilnya kepiranti keluaran} {Spesifikasi Algoritma}
Penulisan judul sebaiknya disambungkan tanpa spasi
Contoh lain standar penulisan judul :
luasLingkaran/LuasLingkaran/luas_lingkaran.
KP
43
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}
KP
44
{ 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 }
KP
45
Algoritma
input (c,d) {menerima masukan 2 bilangan c dan d}
if c < d then {operasi kondisional}
ea+b
{e di assignment oleh nilai a dan b}
else
eab
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
KP
46
{operasi kondisional}
{hasil di assignment oleh nila terbesar}
KP
47
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
KP
48
Pseudocode Convention
Pernyataan yang ditulis dalam bahasa sederhana (ex
English)
Setiap instruksi tertulis pada baris terpisah
Kata kunci dan lekukan digunakan untuk menandakan
struktur kontrol tertentu.
Setiap set instruksi ditulis dari atas ke bawah, dengan
hanya satu entri dan satu exit.
Kelompok pernyataan dapat dibentuk menjadi modul,
dan kelompok yang diberi nama.
KP
49
KP
50
51
52
4.
Tiga kasus :
1. Memberikan data, inisial nilai dalam pseudocode,
kata kerja yang digunakan: Initialise / Set.
2. Memberikan nilai sebagai hasil dari beberapa
proses., symbols =or
3. Untuk menyimpan variable yang akan digunakan.
Kata kerja yang digunakan : Save / Store.
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
KP
53
5.
KP
54
KP
55
Meaningful names
Ketika mendesain algoritma, programmer harus
mengenalkan nama unik, yang mana:
KP
56
KP
57
Sequence
Ekseskusi proses langsung langkah demi langkah .
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
KP
58
Selection
Penyajian kondisi dan pilihan antar dua tindakan
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
KP
59
Repetition
Merepresentasikan sekumpulan instruksi yang akan diulang-ulang selama kondisi benar
KP
60
KP
61
KP
62
KP
63
Defining diagram
Input
Processing
Number1
Number2
Number3
Output
total
KP
64
Solution Algorithm
Add_three_numbers
Read number1, number2, number3
Total = number1 + number2 + number3
Print total
END
KP
65
KP
66
Defining diagram
Input
Max_temp
Min_temp
Processing
Prompt for temperatures
Get temperatures
Calculate average temperature
Display average temperature
KP
Output
Avg_temp
67
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
KP
68
READ x
READ y
READ z
IF (x=y)
PRINT x
ELSE
IF(y<z)
PRINT y
ELSE
PRINT z
ENDIF
ENDIF
Output?
Berapa kali operasi count
count+1 dilakukan?
69
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
71
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.
72
System
Flowchart
Program
Flowchart
KP
73
KP
74
KP
75
Processing Symbols
KP
76
KP
77
KP
78
KP
79
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.
KP
80
Contoh
Flowchart
Pencabangan
KP
81
Pengulan
gan
Contoh Flowchart
Genap Ganjil
KP
82
KP
83
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
KP
84