Dosen
Dosen Pembina:
Pembina:
Sujito
Sujito,, S.Kom
S.Kom.,., M.Pd
M.Pd..
SELAMAT
SELAMAT
MENEMPUH
MENEMPUH
MATAKULIAH
MATAKULIAH
Bisa dihubungi melalui: HP. 081 233 255 16
E-mail: sujito@pradnya-paramita.ac.id ojitstimata@gmail.com
1.
1. Selama pembelajaran berlangsung dering HP
Selama pembelajaran berlangsung dering HP
dimatikan.
dimatikan.
2.
2. Tugas dikumpulkan sesuai jadwal dan dilakukan
Tugas dikumpulkan sesuai jadwal dan dilakukan
sebelum pembelajaran dimulai. Bagi yang
sebelum pembelajaran dimulai. Bagi yang
terlambat 1 hari nilainya hanya 75 %, bila
terlambat 1 hari nilainya hanya 75 %, bila
terlambat 2 hari nilainya 50%, bila terlambat max
terlambat 2 hari nilainya 50%, bila terlambat max
1 minggu nilainya 25% dan jika lebih dari 1
1 minggu nilainya 25% dan jika lebih dari 1
minggu mendapat nilai 0.
minggu mendapat nilai 0.
3.
3. Tugas yang merupakan plagiat/copy
Tugas yang merupakan plagiat/copy--an
an
mendapat nilai 0 (nol).
mendapat nilai 0 (nol).
4.
4. Aturan jumlah minimal presensi dalam
Aturan jumlah minimal presensi dalam
pembelajaran tetap diberlakukan (75%).
pembelajaran tetap diberlakukan (75%).
5.
5. Mahasiswa harus berpakaian sopan dan
Mahasiswa harus berpakaian sopan dan
KONTRAK PEBELAJARAN
KONTRAK PEBELAJARAN
MATERI KULIAH
MATERI KULIAH
1.
1.
Konsep
Konsep pem rogram an
pem rogram an
2.
2.
Bent uk
Bent uk dan
dan penggam baran
penggam baran algorit m a
algorit m a
3.
3.
Pengenalan
Pengenalan bahasa
bahasa C (
C ( st rukt ur
st rukt ur
program )
program )
4.
4.
St rukt ur
St rukt ur kont rol
kont rol ( branching, looping)
( branching, looping)
5.
5.
Konsep
Konsep count er, grand m inor t ot al,
count er, grand m inor t ot al,
grand m ayor t ot al
grand m ayor t ot al
6.
6.
Array
Array
7.
7.
Teknik
Teknik -- t eknik
t eknik sort ing
sort ing
8.
8.
Teknik
Teknik -- t eknik
t eknik searching
searching
PENILAIAN
PENILAIAN
Nilai akhir diperoleh dari item
2
berikut:
Nilai Tugas dan Quiz : 20 %
Nilai UTS
: 40 %
Nilai UAS
: 40 %
Total
MARI BELAJAR
MARI BELAJAR
ALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN
MARI BELAJAR
MARI BELAJAR
ALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN
TUJUAN PEMBELAJARAN
TUJUAN PEMBELAJARAN
Se t e la h m e n gik u t i pe r t e m u a n in i
Se t e la h m e n gik u t i pe r t e m u a n in i
m h s dih a r a pk a n da pa t
m h s dih a r a pk a n da pa t
m e n j e la sk a n de fin isi a lgor it m a
m e n j e la sk a n de fin isi a lgor it m a
da n be n t u k
DEFINISI ALGORITMA
Algoritma adalah urutan
langkah-langkah penyelesaian masalah yang
disusun secara sistematis dan logis.
Kata
Logis
merupakan kata kunci dalam
algoritma, artinya langkah-langkah
dalam algoritma tersebut harus
dapat ditentukan bernilai
benar
benar
atau
salah
salah
.
AKSI DARI
AKSI DARI AALGORITMA
LGORITMA
KKejadian yang terjadi pada selang
ejadian yang terjadi pada selang
waktu terbatas
waktu terbatas//tertentu
tertentu yaitu
yaitu
dimulai saat T
dimulai saat T0 (
0 (
Inisial
Inisial
State
State
//Keadaan
Keadaan Awal
Awal)) dan berakhir
dan berakhir
pada saat T1
pada saat T1 ((
Final State
Final State
//Keadaan
Keadaan
Akhir
Akhir))
..
Contoh Algoritma
Dalam Kehidupan Sehari-hari
Cara membuat kue
Cara memprogram perkuliahan
Cara mendaftar Tugas Akhir
Cara mengendarai sepeda motor
Cara merakit komputer
Dsb.
Proses
Algoritma
Contoh Langkah
dalam Algoritma
1. Membuat Kue Resep Kue
,Masukkan telur ke dalam nampan, kocok hingga mengembang,
2. Membuat Pakaian Pola Pakaian
..., gunting kain dari pinggir bawah ke arah kanan sejauh 5 cm,
3. Praktikum Fisika Panduan Praktikum
, Siapkan alat, hubungkan dengan catu daya, nyalakan,
4. Merakit Mobil Panduan Merakit
, sambungkan komponen A dengan komponen B, .
5. Mendaftar Tugas
Akhir Prosedur Pendaftaran
BENTUK
BENTUK
ALGORITMA
ALGORITMA
Algoritma dapat disajikan dalam 3
bentuk yaitu:
1. Dalam bahasa natural (sehari-hari)
2. Dalam
pseudo-code
(kode yang
menyerupai program komputer dalam
bahasa tertentu)
3. Dalam bagan alir
(flowchart)
CONTOH
Algoritma TUKAR_ISI_BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Coba bagaimana caranya..?
Keadaan Awal Sebelum Pertukaran:
Keadaan Akhir Setelah Pertukaran:
PROSES
PROSES
Proses Pertukaran
Proses Pertukaran
1. Tuangkan larutan dari bejana A ke dalam bejana C
2. Tuangkan larutan dari bejana B ke dalam bejana A
Apa jawaban anda dari
kasus berikut?
Bayangkan diri anda adalah seorang direktur BANK. Pada suatu hari, BANK tempat direktur tersebut bekerja dirampok oleh sekekelompok orang. Perampok langsung menuju ke ruang direktur dan meminta membukakan brankas. Karena sang direktur merasa punya kemampuan, maka dia melawan dengan sekuat tenaga. Terjadilah perkelahian yang sangat seru. Perampok berhasil dikalahkan dan melarikan diri tanpa membawa hasil, namun sang direktur mengalami luka yang cukup parah. Setelah dirawat beberapa hari di rumah sakit, sang direktur sembuh dan dapat bekerja kembali.
Pertanyaannya adalah: Berapa
Berapa usiausia sangsang direkturdirektur??
a. 18-22 tahun b. 23-27 tahun c. 28-32 tahun d. lebih dari 32 tahun e. Pertanyaan tidak relevan dengan isi cerita (kasus) f. Tidak tahu/tidak ada jawaban yang benar
Memprogram
Memprogram
==
menyuruh/memberi
menyuruh/memberi
perintah komputer untuk
perintah komputer untuk
melakukan sesuatu
melakukan sesuatu
Memprogram
Memprogram
==
menyuruh/memberi
menyuruh/memberi
perintah komputer untuk
perintah komputer untuk
KONSEP PENGOLAHAN DATA
PROGRAM USER
INPUT PROSES OUTPUT
STORAGE
KOMPONEN SISTEM KOMPUTER
KOMPONEN SISTEM KOMPUTER
•
HardWare
Perangkat keras komputer yang terdiri
atas CPU, Monitor, KeyBoard, Printer,
Mouse, dsb. ( yang ada bendanya)
•
SoftWare
Perangkat lunak/ program yang
mengkoordinasikan / mengatur kerja
dari HardWare.
•
BrainWare/ HumanWare
KLASIFIKASI SOFTWARE
KLASIFIKASI SOFTWARE
SoftWare
SoftWare Sistem
Sistem Operasi
Operasi
Program yang
Program yang digunakan
digunakan untuk
untuk menjalankan
menjalankan
HardWare
HardWare ((mesin
mesin),
), Contoh
Contoh : DOS, Windows, Linux,
: DOS, Windows, Linux,
dsb
dsb
SoftWare
SoftWare Aplikasi
Aplikasi
Program yang
Program yang digunakan
digunakan untuk
untuk menyelesaikan
menyelesaikan
masalah
masalah//aplikasi
aplikasi tertentu
tertentu,, Contoh
Contoh : Ms Word, MS
: Ms Word, MS
Excel, SPSS,
Excel, SPSS, MyOB
MyOB
SoftWare
SoftWare Bahasa
Bahasa
Program yang
Program yang digunakan
digunakan untuk
untuk menterjemahkan
menterjemahkan
perintah
perintah yang
yang ditulis
ditulis dalam
dalam bahasa
bahasa pemrograman
pemrograman ke
ke
dalam
dalam bahasa
bahasa mesin
mesin,, Contoh
Contoh : Pascal, Basic, C, Java
: Pascal, Basic, C, Java
SoftWare
SoftWare Utility
Utility
Program
Program yg
yg digunakan
digunakan untuk
untuk merawat
merawat Sw
Sw/Hw
/Hw
KLASIFIKASI SOFTWARE BAHASA
Bahasa Tingkat Tinggi
Contoh: Bahasa Pascal, Basic
Bahasa Tingkat Menengah
Contoh: Bahasa C, Java
SARAN DALAM PENULISAN ALGORITMA
SARAN DALAM PENULISAN ALGORITMA
Setiap algoritma sebaiknya terdiri dari
Setiap algoritma sebaiknya terdiri dari
tiga bagian yaitu :
tiga bagian yaitu :
1.
1. Judul (Header)
Judul (Header)
Berisi
Berisi komentarkomentar mengenaimengenai diskripsidiskripsi program,program, inisial
inisial statestate dandan final statefinal state
2.
2. Deklarasi
Deklarasi//Kamus
Kamus
Pada
Pada bagianbagian iniini didefinisikandidefinisikan mengenaimengenai namanama variabel
variabel,, namanama constantaconstanta,, namanama prosedurprosedur atauatau nama
nama fungsifungsi..
3.
3. Deskripsi
Deskripsi
Pada
Pada bagianbagian iniini algoritmaalgoritma dituliskandituliskan.. Keterangan
Keterangan ditulisditulis dalamdalam tandatanda kurungkurung kurawalkurawal {{komentarkomentar//keteranganketerangan}}
CONTOH
CONTOH
ALGORITMA
ALGORITMA
(Pseudo
(Pseudo--Code)
Code)
Program Mana_Max
{Menetukan mana bil yang lebih besar dari 2 buah bil
yang diinputkan dari keyboard}
Kamus
Hasil, X, Y : Integer;
Algoritma
Input (X, Y) {membaca nilai X dan Y dari KeyBoard}
If X > Y Then {Operasi pembandingan}
Hasil
X {hasil diisi dengan X}
Else
Hasil
Y {hasil diisi dengan Y}
KASUS PETANI
MENYEBERANG DANAU
Buatlah
Buatlah algoritma
algoritma untuk
untuk kasus
kasus berikut
berikut::
PETANI MENYEBERANG DANAU
PETANI MENYEBERANG DANAU
KASUS MISIONARIS
DAN KANIBAL
Buatlah
PROGRAM FLOWCHART
(Bagan Alir Program)
Bagan alir pr ogr am m er upak an bagan
y ang m enj elask an secar a r inci
langk ah- langk ah dan pr oses- pr oses
y ang t er j adi dalam sebuah pr ogr am .
Bagan alir pr ogr am m enggunak an
sim bol- sim bol ber ik ut :
SIMBOL-SIMBOL
DALAM BAGAN ALIR PROGRAM
Sim bol pr oses digunakan unt uk
m enggam bar kan pr oses yang dilakukan baik
pr oses kom put er m aupun pr oses m anual
Sim bol input / out put digunakan unt uk
m enggam bar kan m asukan/ input baik dar i
keyboar d m aupun dar i pirant i input lainya, dan
j uga unt uk m enggam bar kan keluaran/ out put
dar i suat u pr oses ( biasanya ber upa t am pilan di
m onit or ) .
Sim bol t it ik t er m inal ( t er m inal point )
digunakan unt uk m enunj ukkan awal ( init ial
st at e) dan akhir ( final st at e) suat u pr oses
Simbol FlowChart lanjutan
Simbol panah menunjukkan arah arus/aliran
dari suatu proses
Simbol keputusan (
decision
) digunakan untuk
penyeleksian kondisi didalam program
Simbol proses terdefinisi (
predifine process
)
digunakan untuk menunjukkan suatu operasi
yang rinciannya ditunjukkan di tempat lain
Simbol persiapan (
preparation
) digunakan
untuk memberi nilai awal suatu besaran
Fungsi
Simbol
Simbol FlowChart lanjutan
Simbol Konektor Off-Page digunakan untuk
menunjukkan bahwa suatu bagan alir belum
selesai dan sambunganya ada di halaman
berikutnya (gambar A), sambunganya ada di
halaman sebelumnya (gambar B).
Simbol Konektor On-Page digunakan untuk
menunjukkan bahwa suatu bagan alir belum
selesai dan sambunganya ada di halaman
yang sama.
Fungsi
Simbol
A
LATIHAN 1
Ada 2 buah bilangan yaitu A dan B,
dimana A != B (
A tidak sama
dengan B
). Buatlah flowchart
program untuk mencari dan
mencetak bilangan yang lebih kecil
dari kedua bilangan tersebut.
LATIHAN 2
Dalam suatu perhitungan, nilai X
dihitung dari nilai A ditambah nilai
B. Jika nilai X positif, nilai Y adalah
nilai A dikali nilai B, jika X tidak
positif, maka nilai Y sama dengan
nilai X. Buatlah
penggalan
flowchart
program untuk menghitung dan
LATIHAN 3
Sebuah swalayan memberikan discount
10% bagi pelanggan yang total
pembeliannya Rp. 100.000,- atau
lebih. Buatlah flowchart program
untuk menghitung nilai uang yang
harus dibayar pelanggan jika input
program tersebut
Total_Beli
LATIHAN 4
Untuk menentukan lulus tidaknya seorang
siswa, diadakan ujian 2 kali. Jika nilai ujian
pertama >= 70, siswa tersebut dinyatakan
lulus. Jika tidak, rata-rata nilai ujian
pertama dan ujian ke dua harus >=80 untuk
dapat dinyatakan lulus. Selain kondisi
tersebut siswa yang bersangkutan
dinyatakan gagal. Buatlah
flowchart
program untuk menyelesaikan kasus
COUNTER
COUNTER dan
dan TOTAL
TOTAL
Latihan 5
a. Buat flowchart program untuk
menampilkan bilangan genap mulai 2
s.d. N (N diinputkan)
Contoh kasus
Buat flowchart program untuk
menghitung nilai rata-rata dari
N
buah bilangan yang diinputkan dari
keyboard.
(
N
jumlah bilangan, juga inputan)
Perbedaan Counter dan
Total
COUTER/PENCACAH -> Jumlah
penambahan atau pengurangannya
konstan (tetap)
TOTAL -> Jumlah penambahan atau
Ada 3 macam alur/aliran
dalam Algoritma, yaitu:
1. Sequential/Berurutan
Contoh: flowchart untuk meghitung luas segi 3
2. Branching/Pencabangan
Contoh: Hitung total bayar3. Looping/Perulangan
Contoh: Menampilkan N buah bilangan
ISI NILAI UJIAN
NIM
: <input>
NAMA
:
<input>
NILAI BASIC
:
<input>
NILAI PASCAL :
<input>
NILAI C
:
<input>
RATA-RATA
:
<output>
GRADE
:
<output>
STATUS
:
<output>
Ketentuan Proses:
Rata2 = (nb + np + n2) / 3
Grade:
Rata2 Grade
< 45
E
45 s.d. < 60
D
60 s.d < 70
C
70 s.d < 80
B
>= 80
A
Status
Sampai jumpa minggu depan
Sampai jumpa minggu depan