SlideShare a Scribd company logo
1 of 93
ALGORITMA
Seziaji Supriyanto, S.Pd
By :
A71_5 yahoo.com
DEFINISI ALGORITMA
• Urutan langkah-langkah logis
penyelesaian masalah yang disusun
secara sistematis
• Kata logis disini berarti sesuai dengan
logika manusia
• Untuk menjadi sebuah algoritma, urutan
langkah yang di tempuh untuk
menyelesaikan masalah harus
memberikan hasil yang benar.
SEJARAH ALGORITMA
Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah
seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal
Muqabala (Buku Pemugaran dan Pengurangan). Kata Al
Khuwarizmi di baca orang Barat menjadi Algorism.
Kata Algorism berarti proses menghitung dengan angka Arab.
Seseorang dikatakan algorist jika orang tersebut menggunakan
angka Arab.
Kata Algorism lambat laun berubah menjadi algorithm
disebabkan kata algorism sering di kelirukan dengan kata
arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata
algorithm diserap kedalam bahasa Indonesia menjadi algoritma
Permasalahan Penyelesaian
Hasil yang
diinginkan
LOGIS
Ciri-Ciri Algoritma
1. Memiliki Input
2. Memiliki Proses
3. Menghasilkan Output
4. Menggunakan instruksi yang tidak ambigu
5. Harus memiliki stopping rule
Sifat Algoritma
1. Tidak menggunakan simbol ataupun sintaks
dari bahasa pemrograman
2. Penulisannya tergantung dengan bahasa
pemrograman
3. Notasinya dapat dipergunakan untuk semua
bahasa pemrograman
Penulisan Algoritma
1. Bahasa Natural
 Bahasa formal yang dipergunakan oleh manusia
 Bersifat terstruktur
 SE: Structured English
 BIT: Bahasa Indonesia Terstruktur
1. Psuedocode
 Psuedo: mirip, menyerupai, seolah-olah
 Code: baris program
 Psuedocode: instruksi yang menyerupai baris program
1. Flowchart
 Suatu bentuk diagram yang memiliki aliran satu atau dua arah secara
sekuensial
Contoh:
Menghitung Luas Segitiga
Luas sebuah segitiga didapatkan dengan
mengalikan panjang alas dengan tingginya
kemudian hasilnya dibagi dengan dua
BIT - Bahasa Indonesia Terstruktur
1. Masukan nilai Alas
2. Masukan nilai Tinggi
3. Hitung Luas dengan Alas kali Tinggi kemudian
dibagi 2
4. Tampilkan hasil perhitungan Luas
5. Selesai
Pseudocode
Algoritma Perhitungan Luas Segitiga
Input : Alas, Tinggi
Output : Luas Segitiga
Alas  Baca a
Tinggi  Baca t
Luas  (Alas x Tinggi) / 2
Tampilkan Luas
Mulai
Masukan a
Masukan t
L = (a * t) / 2
Cetak L
Selesai
Flowchart
CONTOH ALGORITMA
Ada 2 buah gelas. Satu berisi teh dan satunya berisi
kopi. Bagaimana caranya menukar isi masing-
masing gelas ?
TEH KOPI
ALGORITMANYA
Siapkan gelas cadangan X
X
TEH
TEH
KOPI
X
X
KOPI
Tuangkan teh kedalam
gelas cadangan X
Tuangkan kopi kedalam
gelas teh (yang telah
kosong)
Tuangkan teh (dari gelas
cadangan kedalam gelas
kopi.
Contoh Algoritma 1
Mengirim surat kepada teman:
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka
tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian
tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Contoh Algoritma 2
Mencari akar bulat positif dari bilangan
bulat (integer) positif a:
• Masukkan bilangan bulat positif a
• Berikan harga awal x sama dengan 1
• Hitung y sebesar x * x
• Jika y sama dengan a maka cetak x
sebagai akar dari a. Selesai
• Tambah nilai x dengan 1
• Pergi ke langkah 3.
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
• Masukkan sebuah bilangan sembarang
• Bagi bilangan tersebut dengan bilangan 2
• Hitung sisa hasil bagi pada langkah 2.
• Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah
bilangan genap tetapi bila sisa hasil bagi sama dengan 1
maka bilangan itu adalah bilangan ganjil.
Contoh Algoritma 3
STRUKTUR DASAR ALGORITMA
 Algoritma berisi langkah2 proses
penyelesaian masalah
 Langkah2 proses penyelesaian masalah
tersebut dapat membentk konstruksi suatu
algoritma, langkah2 tersebut adalah :
1. Runtunan aksi
2. Pemilihan aksi
3. Pengulangan aksi
1. RUNTUNAN AKSI
Sebuah runtunan terdpt satu atau lebih
pernytaan, setiap pernyataan dikerjakan
secara berurutan sesuai penulisannya
Sebuah instruksi dikerjakan setelah instruksi
sebelumnya telah dilaksanakan
Urutan instruksi menentukan keadaan akhir
suatu algoritma
Bila urutan algoritma dirubah, maka hasil
akhir mungkin juga berubah
Runtunan yg mempunyai satu/lebih
pernyaaan disbt penytaan gabungan
Contoh:
Program tukar_isi
Diberikan 2 buah ember A & B berisi air berwarna
merah, ember B berisi air berwarna biru. pertukarkan
kedua isi ember tersbt shg ember A berisi air berwrna
biru & ember B berisi air berwana merah
Algoritma :
1. Tuangkan air dari ember A kedlm ember C
2. Tuangkan air dari ember B kedlm ember A
3. Tuangkan air dari ember C kedlm ember B
2. PEMILIHAN
Adaklanya sebuah aksi dikerjakan jika kondisi
dipenuhi
Misal: jika lampu traffic light berwarna merah,
maka kendaraan harus berhenti,maka
pernyataan adalah:
jika lampu traffic light berwarna merah, maka
berhenti
Pernyataan tersebut disebut penyataan .
Pemilihan (selection-stantement )atau
pernyataan kondisional
Bentuk umum selection statement:
Kondisi: pernyataan yg dpt bernilai benar-
salah, aksi setelah then dilakukan hanya jika
kondisi benar
If & then adalah kaca kunci (keyword) u/
struktur pemilihan
Contoh :
if x habis dibagi 2 then
tulis x adalah bilangan genap
If kondisi then
aksi
Bentuk lain statent condisional
a.
else “kalau tdk”. Bila kondisi benar,maka aksi1
yg dikerjakan, kalau tdk aksi2 dikerjakan.
contoh:
if lampu A nyala then
tekan tombol merah
else
tekan tombol biru
if kondisi then
aksi1
Else
aksi2
b.nested-if =pemilihan bersarang adalah apabila
pemilihan aksi yg dilakukan lebih dr 2 buah,
maka struktur pemilihanya menjadi rumit.
if kondisi1 then
aksi1
Else
if kondisi2 then
aksi2
else
aksi3
Contoh :
if lampu traffic light berwarna merah then
berhenti
else
if lampu traffic light berwarna kuning then
jalan hati-hati
else
jalan terus
Dlm state.kondisi dikenal adanya ‘indentasi’
yaitu: pengg.rongga kosong yg membuat
algoritma menjd mudah dibaca.
Contoh:tanpa indentasi
if lampu traffic light berwarna merah then
berhenti
Else if lampu traffic light berwarna kuning then
jalan hati-hati else
jalan terus
Penulisan algoritma sangat dianjurkan u/
membuat indentasi, agar algoritma mudah
dibaca.
Kelebihan struktur pemilihan terletak pd
kemampuannya yg memungkinkan pemroses
mengikuti jalur aksi yg berbeda berdasarkan
kondisi yg ada.
3.PENGULANGAN
Salah satu kelebihan komputer ad/ kemampuannya u/
melakukan perkerjaan secara berulang-ulang
Contoh:
program menulis_kalimat_500_kali
menuliskan kalimat ‘algoritma adalah langkah logis penyelesaian masalah’
sebanyak 500 kali
Algoritma:
1. tulis ‘algoritma adalah langkah logis penyelesaian masalah’
2. tulis ‘algoritma adalah langkah logis penyelesaian masalah
3. tulis ‘algoritma adalah langkah logis penyelesaian masalah
.
.
.
500
untuk mengtasi hal tersbt dpt digunakan
struktr pengulangan for-do, sehingga
algoritmanya:
program menulis_kalimat_500_kali
menuliskan kalimat ‘algoritma adalah langkah logis
penyelesaian masalah’ sebanyak 500 kali
Algoritma:
for i dari 1 sampai 50 do
tulis ‘algoritma adalah langkah logis penyelesaian
masalah’
i adalah pencacah pengulangan yg mencacah
1 s/d 500
Bentuk2 pengulangan:
1. For pencacah pengulangan dr 1 s/d N
do aksi
2. Repeat-until=ulangi-sampai: proses pengulangan akan berhenti jika
kondisi terpenuhi
3 While-do=selama-lakukan= proses pengulangan akan berhenti jika
kondisi salah
Repeat
Aksi
Until
kondisi
While
kondisi
do
Aksi
STRUKTUR TEKS ALGORITMA
Ada 3 bagian struktur suatu algoritma,
yaitu :
1. Bagian Judul (header)
2. Bagian Deklarasi
3. Bagian Algoritma
1. Bagian judul / header
• Memuat nama program dan
penjelasan(spesifkasi) tentang program
• Nama program ditulis singkat, tetapi hrs
menggambarkan apa yg dilakukan algoritma
• Algoritma yg dibuat harus sesuai dgn
spesifikasi masalah yang diberikan
Contoh:
PROGRAM luas_lingkaran
{program untuk menghitung luas lingkaran”}
2. Bagian Deklarasi
• Mengumumkan semua nama yg akan
dipakai, termasuk nama tipenya
• Nama tersbut berupa:konstanta,variabel,tipe,
prosedur dan fungsi
• Semua nama tersbt harus dideklarasikan
sebelum digunakan
Contoh:
• DEKLARASI
{nama konstanta}
const N=10 {jumlah data}
const phi=3.14 {nilai phi}
{nama variabel}
jari_jari,luas:real
{nama tipe}
type titik:record {koord.titik dibidang kartesian}
< x:integer, {absis}
y:integer> {ordinat}
Aturan pemberian ‘nama’ dalam notasi
algoritmik:
1. tidak boleh mengandung spasi, tanda baca
dan operasi matematika
2. Karakter garis bawah (“_”) dpt digunakan
untuk menggantikan spasi
3. Tidak membedakan huruf kecil dan huruf
besar
(bahasa pemrograman case sensitif seperti
bahasa C menganggap huruf kecil dan besar
adalah 2 karakter yang berbeda)
3. Bagian Algortima
• Bagian ini merupakan inti dari suatu program
• Berisi deskripsi langkah2 penyelesain masalah
berupa pernyataan, yg ditulis dalam suatu
notasi
• Misal write untuk mencetak data/informasi,
read untuk membaca data,dsb
• Setiap pernyataan dlm algoritma dibaca dari
atas ke bawah
• Algoritma dieksekusi berdasarkan urutan
pernyataan
Contoh :
Algoritma :
Read (panjang,lebar)
Luas ←panjang*lebar
Write (luas)
Struktur teks Agoritma :
PROGRAM nama_program
penjelasan tentang algoritma yg beisi uraian singkat mengenai
masalah yg akan diselesaikan
DEKLARASI
Semua nama yg dipakai, nama tipe,konstanta,var,prosedur,dan
fungsi diumumkan disini
ALGORITMA
Semua langkah/aksi algoritma dituliskan disini
Contoh:
PROGRAM luas_lingkaran
{menghitung luas lingkaran apabila jari-jari lingkaran sudah diberikan}
DEKLARASI
{Nama Konstanta}
const N =10
const phi=3.14 {nilai phi}
{Nama variabel}
jari_jari, luas:real
ALGORITMA:
READ (jari_jari)
LUAS Phi *jari_jari*jari_jari
Write (luas)
KONSEP PEMROGRAMAN
• Variabel
• Konstanta
• Tipe Data
Variabel
• Variabel adalah tempat penyimpanan data sementara di
memori yang isinya dapat diubah.
• Setiap variabel memiliki nama, tipe data, dan nilai.
• Jenis data yang dapat ditampung suatu variabel harus
mengikuti aturan penamaan identifier.
• Harus dideklarasikan terlebih dahulu sebelum digunakan
• Contoh :
int alas, tinggi
Variabel
Tipe data
Nama Variabel
• Syarat-syarat penulisan nama variabel adalah :
– Harus dimulai dengan huruf alfabet.
– Case sensitive (huruf besar dan kecil
dibedakan).
– Karakter penyusun variabel hanya boleh
huruf alfabet, angka dan garis bawah.
– Tidak boleh menggunakan spasi.
• Nama variabel sebaiknya mencerminkan nilai
yang dikandungnya.
Konsep Variabel
• Variabel hanya menyimpan data secara
sementara.
• Nilai variabel dapat berubah.
• Variabel hanya dapat menyimpan satu data.
• Nilai suatu variabel adalah nilai yang terakhir.
• Pendefenisian variabel dapat digabung atau
dipisah sepanjang memiliki tipe data yang
sama
Konstanta
• Sebuah variabel dengan tipe data tertentu dan
memiliki nilai data yang akan selalu tetap dalam
program
contoh :
const_phi=3.14;
• Konstanta yang dikenal dalam program C berupa :
1. Integer constant; contoh : -5 0 125 010 0xF1
2. Floating-point constant; contoh : 3.14
3. Character constant; contoh : ´C´ ´1´ ´$´
4. String constant; contoh : ´UNM´
5. Escape sequence; contoh : n t ’’
Konstanta
• Integer constant adalah sebuah bilangan bulat.
Integer constant dapat berupa bilangan basis 10
(desimal), basis 8(oktal),atau basis 16
(heksadesimal). Konstanta oktal diawali dengan
bilangan nol.
• Floating-point constant adalah sebuah bilangan
pecahan atau desimal. Tanda desimal dalam bahasa
C adalah titik. Antara angka ratusan dan ribuan atau
antara angka ratusan ribuan dengan jutaan tidak
boleh diberi tanda pemisah.
• Character constant adalah sebuah karakter ASCII.
Karakter ini diapit tanda petik tunggal.
• String constant adalah kumpulan karakter ASCII.
Kumpulan ini diapit oleh tanda petik ganda.
Konstanta
• Escape Sequence adalah karakter yang diawali
dengan backslash (garis miring terbalik). Setiap
escape sequence mempunyai makna tertentu.
contoh : n berarti ganti baris,  karakter miring ke
kiri dst.
• Const modifier adalah pemberian nama pada suatu
nilai konstanta. Hal ini dilakukan untuk mencegah
kesalahan ketikan yang berulang.
contoh : const float pi=3.1415926;
Tipe Data
• Tipe Sederhana (simple type)
o Int , Bool, Char
o Tipe Float
• Tipe String
o Operasi String
• Tipe terstruktur (structured type)
o Array, Struct
Tipe Data Sederhana (Simple Type)
Type Batas Nilai Format
Unsigned int 0...65535 Signed 16 bit
Short Int -128...127 Signed 16 bit
Int -32768...32767 Signed 16 bit
Unsigned long 0...4294967295 Signed 32 bit
Long -
2147483648...214748364
7
Signed 32 bit
1. Tipe Int
Tipe data yang nilainya tidak memiliki titik
desimal
Tipe Batas Nilai Format
Float 3.4E-38... 3.4E+38 Unsigned 32 bit
Double 1.7E-308...1.7E+308 Unsigned 64 bit
Long double 3.4E-4932...1.1E+4932 Unsigned 80 bit
2. Type Float
Tipe data yang nilainya merupakan pecahan
(memiliki titik desimal)
Input NOT( ! ) AND (&&) OR (||)
A B C !A !B !C A&&B&&C A||B||C
0 0 0 1 1 1 0 0
0 0 1 1 1 0 0 1
0 1 0 1 0 1 0 1
0 1 1 1 0 0 0 1
1 0 0 0 1 1 0 1
1 0 1 0 1 0 0 1
1 1 0 0 0 1 0 1
1 1 1 0 0 0 1 1
3. Tipe Boolean
Nilai pengambilan suatu keputusan pada
program, tipe ini mempunyai 2 nilai yaitu benar (T)
atau salah (F). Operator yang digunakan adalah AND,
OR, dan NOT.
4. Tipe Character
digunakan untuk menampung data sebuah karakter.
Untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik
tunggal ( ´ )
Contoh :
´A´ berarti karakter berupa huruf A
´1´ berarti karakter berupa angka 1
´*´ berarti karakter simbol *
Bentuk umum penulisan tipe data ini adalah :
tipe_data pengenal [panjang];
pengenal = nama variabel
panjang = bilangan bulat yang menunjukkan jumlah karakter
Contoh :
char_nama[15];
5. Tipe String
Merupakan sekumpulan dari beberapa karakter,
yang banyaknya berubah-ubah sesuai dengan
kebutuhan, besarnya 1 s/d 255 karakter.
Pemberian nilai string diapit dengan tanda petik
ganda (´´).
51
Flowchart
• Bagan-bagan yang mempunyai arus
• Menggambarkan langkah-langkah
penyelesaian suatu masalah
• Merupakan salah satu cara penyajian
algoritma
52
Tujuan
• Menggambarkan suatu tahapan
penyelesaian masalah
• Secara sederhana, terurai, rapi dan jelas
• Menggunakan simbol-simbol standar
53
Model / Jenis Flowchart
• System Flowchart
• Program Flowchart
54
System Flowchart
• Menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses
pengolahan data serta hubungan antar
peralatan tersebut
• Tidak digunakan untuk menggambarkan
urutan langkah untuk memecahkan masalah
• Hanya untuk menggambarkan prosedur
dalam sistem yang dibentuk
55
Program Flowchart
• Menggambarkan urutan logika dari suatu
prosedur pemecahan masalah
• Dua jenis metode penggambaran program
flowchart :
– Conceptual flowchart, menggambarkan alur
pemecahan masalah secara global
– Detail flowchart, menggambarkan alur
pemecahan masalah secara rinci
56
Simbol-simbol Flowchart
• Flow direction symbols
– Digunakan untuk menghubungkan simbol satu dengan
yang lain
– Disebut juga connecting line
• Processing symbols
– Menunjukan jenis operasi pengolahan dalam suatu
proses / prosedur
• Input / Output symbols
– Menunjukkan jenis peralatan yang digunakan sebagai
media input atau output
57
Flow Direction Symbols
• Simbol arus / flow
– Menyatakan jalannya arus suatu proses
• Simbol communication link
– Menyatakan transmisi data dari satu lokasi ke lokasi lain
• Simbol connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang sama
• Simbol offline connector
– Menyatakan sambungan dari proses ke proses lainnya
dalam halaman yang berbeda
58
Processing Symbols
• Simbol process
– Menyatakan suatu tindakan (proses) yang dilakukan
oleh komputer
• Simbol manual
– Menyatakan suatu tindakan (proses) yang tidak
dilakukan oleh komputer
• Simbol decision
– Menujukkan suatu kondisi tertentu yang akan
menghasilkan dua kemungkinan jawaban : ya / tidak
• Simbol predefined process
– Menyatakan penyediaan tempat penyimpanan suatu
pengolahan untuk memberi harga awal
• Simbol terminal
– Menyatakan permulaan atau akhir suatu program
59
Processing Symbols
• Simbol keying operation
– Menyatakan segala jenis operasi yang
diproses dengan menggunakan suatu
mesin yang mempunyai keyboard
• Simbol offline-storage
– Menunjukkan bahwa data dalam simbol
ini akan disimpan ke suatu media tertentu
• Simbol manual input
– Memasukkan data secara manual dengan
menggunakan online keyboard
60
Input / Output SymbOlS
• Simbol input/output
– Menyatakan proses input atau output tanpa
tergantung jenis peralatannya
• Simbol punched card
– Menyatakan input berasal dari kartu atau output
ditulis ke kartu
• Simbol magnetic tape
– Menyatakan input berasal dari pita magnetis
atau output disimpan ke pita magnetis
• Simbol disk storage
– Menyatakan input berasal dari dari disk atau
output disimpan ke disk
61
Output SymbOlS
• Simbol document
– Mencetak keluaran dalam bentuk
dokumen (melalui printer)
• Simbol display
– Mencetak keluaran dalam layar
monitor
62
KaIdah pembuatan
FlOwchart
Start
Input
Proses
Output
End
63
pengOlahan data
START
READ
HABIS ?
PROCESS
WRITE
END
Tidak
Ya
64
Input lebar
Contoh 1
Start
End
Input panjang
Luas  panjang * lebar
Print Luas
STUDI KASUS 1
65
Buatlah flowchart ( Diagram Alur ) Jika terdapat 2
(dua) bilangan desimal, dimana jika salah satu dari
bilangan tersebut lebih besar maka akan tercetak
bilangan yang besar, jika tidak maka cetak bilangan
yang terkecil.
66
Start
Read A
Read B
A > B
Cetak A
Cetak B
End
Y
T
STUDI KASUS 2
67
Pensil dapat di beli secara satuan dan lusinan
Harga satuan pensil adalah Rp. 1.000, sedangkan harga selusin
pensil Rp. 5.000. Buatlah diagram alur untuk harga pembelian X
buah pensil.
Penjelasan :
Jika kita beli 15 buah pensil dengan harga satuan maka harus
membayar Rp. 15.000 , sedangkan jika kita membayar dengan 1
lusin serta 3 buah buah sisanya maka kita harus membayar Rp.
8.000
68
Cetak P
Baca X
L  INT (X/12)
S  X – L * 12
P  5000 * L + 1000* S
End
STUDI KASUS 3
69
Buatlah flowchart ( diagram alur ) jika kita
mempunyai s detik diubah menjadi x jam y
menit dan z detik
70
START
BACA S
X  INT (S/3600)
A  S – 3600 * X
Y  INT (A/60)
A
A
Z  A – 60 * Y
CETAK
X, Y, Z
END
STUDI KASUS 4
71
Buatlah flowchart (bagan alur) untuk pembelian buku.
Jika kita membeli buku dalam jumlah besar, maka penerbit
akan memberikan rabat (discount) dengan ketentuan sebagai
berikut :
1.Pembelian kurang dari 10 buku, maka tidak ada rabat.
2.Pembelian 10 buku sampai 29 buku, rabat 10 %.
3.Pembelian 30 buku ke atas, rabat 20 %
72
MULAI
BACA X
X <
10 ?
H  0.8*5000*X
CETAK H
SELESAI
X <
30 ?
H  5000*X
H  0.9*5000*X
ya
tidak
tidak
ya
LOOPING / PERULANGAN
73
(1) Variabel A diberi harga 1
(2) Variabel A Berubah menjadi
2
(3) Variabel B diberi harga sebesar
harga A DIKALIKAN HARGA A
(4) Variabel B di dicetak (jadi tercetak
4).
Kemudian kembali ke (2) , (3), (4) dan
kembali lagi ke (2) begitu seterusnya
A  1
A  A + 1
B  A * A
CETAK B
( 1 )
( 2 )
( 3 )
( 4 )
HASILNYA  4,9,16, ……
74
BUATLAH DIAGRAM ALUR UNTUK
MENCETAK KUADRAT BILANGAN –
BILANGAN 1 SAMPAI DENGAN 10
55
75
MULAI
A  1
A >
10 ?
SELESAI
B  A * A
CETAK B
A  A+1
Y
T
QUIZ
76
1. BUAT FLOWCHART
DENGAN OUTPUT
2,4,6,8,10
2. 110 or 97
207 xor 102
315 and 221
STUDI K
ASUS
6
77
Buatlah diagram alur untuk mencetak
suku barisan. Dengan suku pertama 3
dan beda 4 sampai suku yang harganya
tidak melebihi 100.
78
start
S  3
B  4
S > 100
Cetak S
S S+B
end
Y
T
STUDI KASUS
7
79
Mulai
CETAK A
CETAK B
A
A
C > 50
CETAK C
A  0
A  B
B  C
B 1
C  A+B
Selesai
Y
T
PSEUDO-CODE
80
Kode atau tanda yang menyerupai
(pseudo) atau merupakan pejelasan
cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh
manusia untuk menuliskan algoritma.
STUDI KASUS 7
81
Mencari bilangan terbesar dari
dua bilangan yang diinputkan
Pseudo-code:
82
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka
kerjakan langkah 4, jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
Algoritma
83
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
CONTOH LAIN PEUDO-CODE & ALGORITMA
84
Pseudo-code Algoritma
Nilai A ditambah dengan 5 A  A + 5
Cetak nilai A bila lebih besar dari
10
If A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari
bilanan yang terbesar
IF A > B THEN PRINT A ELSE
PRINT B
LANGKAH MEMBUAT PROGRAM KOMPUTER
85
1. Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum
Murphy (oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin
lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya,
apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa
inputan serta outputnya.
86
2. Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan
solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut
dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
3. Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan
tersebut.
4. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi
jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat
keras dan platform lainnya.
. 5. Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam
kemungkinan yang ada, termasuk error-handlingnya sehingga program
tersebut akan benar-benar handal dan layak digunakan
87
6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan
melakukan perubahan atau membaca source code yang sudah kita tulis dapat
kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan
menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk
apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter
yang ada pada suatu prosedur dan fungsi.
7. Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang
sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan
fasilitas baru yang dulu tidak ada.
BASIC
(BEGINNER’S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE)
88
Bahasa pemrograman BASIC merupakan
bahasa pemrograman yang cukup sesuai bagi
pemula. Namun sungguhpun demikian bahasa
tersebut cukup baik untuk dipergunakan
memecahkan berbagai masalah mulai dari yang
paling sederhana sampai dengan yang rumit.
Contoh
89
10 LET A = 4
20 LET B = 5
30 LET C = A + B
40 PRINT C
50 END
RUN
BASIC ALGORITMA
10 A = 4
20 B = 5
30 C = A + B
40 PRINT C
90
LATIHAN
10 A = 4
11 B = 5
12 C = A + B
13 D = A – B
14 PRINT C
15 PRINT D
10 DATA 3,7
11 READ A,B
12 A = A + 1
13 PRINT A
14 A = A + 1
15 PRINT A
16 A = A + B
17 PRINT A
STATEMEN FOR - TO
91
START
K = N*N
FOR N = 1
TO 4
NEXT N
CETAK K
END
92
10 READ DATA A, B
20 C = (A+B)/2
30 PRINT C
40 PRINT B
10 X = 1
20 PRINT X
30 IF X = 5 THEN 60
40 X= X+1
50 GO TO 20
60 END
Harga 1 kg jeruk untuk pembelian 5 kg atau lebih rp. 6.000 dan
kurang dari 5 kg adalah Rp. 7.000. buat diagram alur dan lengkapi
algoritma di bawah ini
10 Data ……
20 Read N
30 IF N < 5 THEN 60
40 ………..
50 GO TO 70
60 ……….
70 Print B
80 end
LATIHAN
93
1.BUATLAH ALGORITMA DENGAN
OUTPUT 4,6,8,10,12
2.BUATLAH ALGORITMA & FLOWCHART
UNTUK MENGHITUNG NILAI RATA2
MAHASISWA, JIKA NILAI RATA2 2
MATAKULIAH LEBIH BESAR DARI 75
MAKA MAHASISWA TERSEBUT “LULUS”,
JIKA TIDAK MAHASISWA TERSEBUT
“GAGAL”

More Related Content

What's hot

Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritmaDiki Rosandy
 
Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Advent013
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdfdedisusanto41
 
Logika dan algoritma komputer
Logika dan algoritma komputerLogika dan algoritma komputer
Logika dan algoritma komputeremri3
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1Adrian Odja
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaDonnie Xover
 
Jobsheet 1 logika algoritma
Jobsheet   1 logika algoritmaJobsheet   1 logika algoritma
Jobsheet 1 logika algoritmaabdul rohman
 
Jobsheet algoritma dan pemrograman 01
Jobsheet algoritma dan pemrograman 01Jobsheet algoritma dan pemrograman 01
Jobsheet algoritma dan pemrograman 01Kang Koko
 
Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)SyaharullahDisa
 
1. rpp logika-dan-algoritma-pdf 2
1. rpp logika-dan-algoritma-pdf 21. rpp logika-dan-algoritma-pdf 2
1. rpp logika-dan-algoritma-pdf 2akbarsyarif2
 
Bab1 mata kuliah metode numerik
Bab1 mata kuliah metode numerik Bab1 mata kuliah metode numerik
Bab1 mata kuliah metode numerik Izhan Nassuha
 

What's hot (19)

Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
 
Algoritma dan pemrograman 1
Algoritma dan pemrograman 1Algoritma dan pemrograman 1
Algoritma dan pemrograman 1
 
Bab 1 pendahuluan
Bab 1 pendahuluanBab 1 pendahuluan
Bab 1 pendahuluan
 
Algoritma dan data struktur pdf
Algoritma dan data struktur pdfAlgoritma dan data struktur pdf
Algoritma dan data struktur pdf
 
Materi metode numerik
Materi metode numerikMateri metode numerik
Materi metode numerik
 
Logika dan algoritma komputer
Logika dan algoritma komputerLogika dan algoritma komputer
Logika dan algoritma komputer
 
001 algoritma
001 algoritma001 algoritma
001 algoritma
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1
 
Bab ii
Bab iiBab ii
Bab ii
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
 
Jobsheet 1 logika algoritma
Jobsheet   1 logika algoritmaJobsheet   1 logika algoritma
Jobsheet 1 logika algoritma
 
Jobsheet algoritma dan pemrograman 01
Jobsheet algoritma dan pemrograman 01Jobsheet algoritma dan pemrograman 01
Jobsheet algoritma dan pemrograman 01
 
Algoritma
AlgoritmaAlgoritma
Algoritma
 
Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)Topik 1(pengantar algoritma)
Topik 1(pengantar algoritma)
 
Algo dn pemrogaman
Algo dn pemrogamanAlgo dn pemrogaman
Algo dn pemrogaman
 
1. rpp logika-dan-algoritma-pdf 2
1. rpp logika-dan-algoritma-pdf 21. rpp logika-dan-algoritma-pdf 2
1. rpp logika-dan-algoritma-pdf 2
 
Bab1 mata kuliah metode numerik
Bab1 mata kuliah metode numerik Bab1 mata kuliah metode numerik
Bab1 mata kuliah metode numerik
 
Fuzzy logic
Fuzzy logicFuzzy logic
Fuzzy logic
 
dasar-dasar algoritma
dasar-dasar algoritmadasar-dasar algoritma
dasar-dasar algoritma
 

Similar to MENGHITUNG LUAS

Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritmaformatik
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptBKKSMKN2Jombang
 
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Irfan Firmansyah
 
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptxMateri Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptxagustiningsih4
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritmaRohwiyanto Oi
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand outgivaro igfar
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1Niken Halimy
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1Niken Halimy
 
Algoritma pemrograman-dalam-bahasa-pascal
Algoritma pemrograman-dalam-bahasa-pascalAlgoritma pemrograman-dalam-bahasa-pascal
Algoritma pemrograman-dalam-bahasa-pascalBudi Permana
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Dasar dasar algoritma
Dasar dasar algoritmaDasar dasar algoritma
Dasar dasar algoritmaaliemprabowo
 
Dasar dasar algoritma
Dasar dasar algoritmaDasar dasar algoritma
Dasar dasar algoritmaaliemprabowo
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMAarstwn
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxwahyu479353
 

Similar to MENGHITUNG LUAS (20)

Dasar Dasar Algoritma
Dasar Dasar AlgoritmaDasar Dasar Algoritma
Dasar Dasar Algoritma
 
Algoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.pptAlgoritma dan Flowchart1.ppt
Algoritma dan Flowchart1.ppt
 
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
Dasar Pemrograman : Algoritma Pemrograman Pertemuan 2
 
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptxMateri Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptx
Materi Pemrograman Dasar 1.1 Algoritma Pemrograman EDIT (2).pptx
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritma
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
 
Algoritma pemrograman#1
Algoritma pemrograman#1Algoritma pemrograman#1
Algoritma pemrograman#1
 
Materi ap#1
Materi ap#1Materi ap#1
Materi ap#1
 
Algoritma pemrograman-dalam-bahasa-pascal
Algoritma pemrograman-dalam-bahasa-pascalAlgoritma pemrograman-dalam-bahasa-pascal
Algoritma pemrograman-dalam-bahasa-pascal
 
3-1 Algoritma.pptx
3-1 Algoritma.pptx3-1 Algoritma.pptx
3-1 Algoritma.pptx
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Dasar dasar algoritma
Dasar dasar algoritmaDasar dasar algoritma
Dasar dasar algoritma
 
Dasar dasar algoritma
Dasar dasar algoritmaDasar dasar algoritma
Dasar dasar algoritma
 
alur pemrograman.pptx
alur pemrograman.pptxalur pemrograman.pptx
alur pemrograman.pptx
 
ALOGARITMA
ALOGARITMAALOGARITMA
ALOGARITMA
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 

MENGHITUNG LUAS

  • 2. DEFINISI ALGORITMA • Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis • Kata logis disini berarti sesuai dengan logika manusia • Untuk menjadi sebuah algoritma, urutan langkah yang di tempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.
  • 3. SEJARAH ALGORITMA Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi di baca orang Barat menjadi Algorism. Kata Algorism berarti proses menghitung dengan angka Arab. Seseorang dikatakan algorist jika orang tersebut menggunakan angka Arab. Kata Algorism lambat laun berubah menjadi algorithm disebabkan kata algorism sering di kelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata algorithm diserap kedalam bahasa Indonesia menjadi algoritma
  • 5. Ciri-Ciri Algoritma 1. Memiliki Input 2. Memiliki Proses 3. Menghasilkan Output 4. Menggunakan instruksi yang tidak ambigu 5. Harus memiliki stopping rule
  • 6. Sifat Algoritma 1. Tidak menggunakan simbol ataupun sintaks dari bahasa pemrograman 2. Penulisannya tergantung dengan bahasa pemrograman 3. Notasinya dapat dipergunakan untuk semua bahasa pemrograman
  • 7. Penulisan Algoritma 1. Bahasa Natural  Bahasa formal yang dipergunakan oleh manusia  Bersifat terstruktur  SE: Structured English  BIT: Bahasa Indonesia Terstruktur 1. Psuedocode  Psuedo: mirip, menyerupai, seolah-olah  Code: baris program  Psuedocode: instruksi yang menyerupai baris program 1. Flowchart  Suatu bentuk diagram yang memiliki aliran satu atau dua arah secara sekuensial
  • 8. Contoh: Menghitung Luas Segitiga Luas sebuah segitiga didapatkan dengan mengalikan panjang alas dengan tingginya kemudian hasilnya dibagi dengan dua
  • 9. BIT - Bahasa Indonesia Terstruktur 1. Masukan nilai Alas 2. Masukan nilai Tinggi 3. Hitung Luas dengan Alas kali Tinggi kemudian dibagi 2 4. Tampilkan hasil perhitungan Luas 5. Selesai
  • 10. Pseudocode Algoritma Perhitungan Luas Segitiga Input : Alas, Tinggi Output : Luas Segitiga Alas  Baca a Tinggi  Baca t Luas  (Alas x Tinggi) / 2 Tampilkan Luas
  • 11. Mulai Masukan a Masukan t L = (a * t) / 2 Cetak L Selesai Flowchart
  • 12. CONTOH ALGORITMA Ada 2 buah gelas. Satu berisi teh dan satunya berisi kopi. Bagaimana caranya menukar isi masing- masing gelas ? TEH KOPI
  • 13. ALGORITMANYA Siapkan gelas cadangan X X TEH TEH KOPI X X KOPI Tuangkan teh kedalam gelas cadangan X Tuangkan kopi kedalam gelas teh (yang telah kosong) Tuangkan teh (dari gelas cadangan kedalam gelas kopi.
  • 14. Contoh Algoritma 1 Mengirim surat kepada teman: 1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat. 3. Masukkan surat ke dalam sampul. 4. Tutup sampul surat menggunakan perekat. 5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat. 6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat. 7. Tempel perangko pada surat. 8. Bawa surat ke kantor pos untuk diposkan.
  • 15. Contoh Algoritma 2 Mencari akar bulat positif dari bilangan bulat (integer) positif a: • Masukkan bilangan bulat positif a • Berikan harga awal x sama dengan 1 • Hitung y sebesar x * x • Jika y sama dengan a maka cetak x sebagai akar dari a. Selesai • Tambah nilai x dengan 1 • Pergi ke langkah 3.
  • 16. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. • Masukkan sebuah bilangan sembarang • Bagi bilangan tersebut dengan bilangan 2 • Hitung sisa hasil bagi pada langkah 2. • Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil. Contoh Algoritma 3
  • 17. STRUKTUR DASAR ALGORITMA  Algoritma berisi langkah2 proses penyelesaian masalah  Langkah2 proses penyelesaian masalah tersebut dapat membentk konstruksi suatu algoritma, langkah2 tersebut adalah : 1. Runtunan aksi 2. Pemilihan aksi 3. Pengulangan aksi
  • 18. 1. RUNTUNAN AKSI Sebuah runtunan terdpt satu atau lebih pernytaan, setiap pernyataan dikerjakan secara berurutan sesuai penulisannya Sebuah instruksi dikerjakan setelah instruksi sebelumnya telah dilaksanakan Urutan instruksi menentukan keadaan akhir suatu algoritma Bila urutan algoritma dirubah, maka hasil akhir mungkin juga berubah Runtunan yg mempunyai satu/lebih pernyaaan disbt penytaan gabungan
  • 19. Contoh: Program tukar_isi Diberikan 2 buah ember A & B berisi air berwarna merah, ember B berisi air berwarna biru. pertukarkan kedua isi ember tersbt shg ember A berisi air berwrna biru & ember B berisi air berwana merah Algoritma : 1. Tuangkan air dari ember A kedlm ember C 2. Tuangkan air dari ember B kedlm ember A 3. Tuangkan air dari ember C kedlm ember B
  • 20. 2. PEMILIHAN Adaklanya sebuah aksi dikerjakan jika kondisi dipenuhi Misal: jika lampu traffic light berwarna merah, maka kendaraan harus berhenti,maka pernyataan adalah: jika lampu traffic light berwarna merah, maka berhenti Pernyataan tersebut disebut penyataan . Pemilihan (selection-stantement )atau pernyataan kondisional
  • 21. Bentuk umum selection statement: Kondisi: pernyataan yg dpt bernilai benar- salah, aksi setelah then dilakukan hanya jika kondisi benar If & then adalah kaca kunci (keyword) u/ struktur pemilihan Contoh : if x habis dibagi 2 then tulis x adalah bilangan genap If kondisi then aksi
  • 22. Bentuk lain statent condisional a. else “kalau tdk”. Bila kondisi benar,maka aksi1 yg dikerjakan, kalau tdk aksi2 dikerjakan. contoh: if lampu A nyala then tekan tombol merah else tekan tombol biru if kondisi then aksi1 Else aksi2
  • 23. b.nested-if =pemilihan bersarang adalah apabila pemilihan aksi yg dilakukan lebih dr 2 buah, maka struktur pemilihanya menjadi rumit. if kondisi1 then aksi1 Else if kondisi2 then aksi2 else aksi3
  • 24. Contoh : if lampu traffic light berwarna merah then berhenti else if lampu traffic light berwarna kuning then jalan hati-hati else jalan terus Dlm state.kondisi dikenal adanya ‘indentasi’ yaitu: pengg.rongga kosong yg membuat algoritma menjd mudah dibaca.
  • 25. Contoh:tanpa indentasi if lampu traffic light berwarna merah then berhenti Else if lampu traffic light berwarna kuning then jalan hati-hati else jalan terus Penulisan algoritma sangat dianjurkan u/ membuat indentasi, agar algoritma mudah dibaca. Kelebihan struktur pemilihan terletak pd kemampuannya yg memungkinkan pemroses mengikuti jalur aksi yg berbeda berdasarkan kondisi yg ada.
  • 26. 3.PENGULANGAN Salah satu kelebihan komputer ad/ kemampuannya u/ melakukan perkerjaan secara berulang-ulang Contoh: program menulis_kalimat_500_kali menuliskan kalimat ‘algoritma adalah langkah logis penyelesaian masalah’ sebanyak 500 kali Algoritma: 1. tulis ‘algoritma adalah langkah logis penyelesaian masalah’ 2. tulis ‘algoritma adalah langkah logis penyelesaian masalah 3. tulis ‘algoritma adalah langkah logis penyelesaian masalah . . . 500
  • 27. untuk mengtasi hal tersbt dpt digunakan struktr pengulangan for-do, sehingga algoritmanya: program menulis_kalimat_500_kali menuliskan kalimat ‘algoritma adalah langkah logis penyelesaian masalah’ sebanyak 500 kali Algoritma: for i dari 1 sampai 50 do tulis ‘algoritma adalah langkah logis penyelesaian masalah’ i adalah pencacah pengulangan yg mencacah 1 s/d 500
  • 28. Bentuk2 pengulangan: 1. For pencacah pengulangan dr 1 s/d N do aksi 2. Repeat-until=ulangi-sampai: proses pengulangan akan berhenti jika kondisi terpenuhi 3 While-do=selama-lakukan= proses pengulangan akan berhenti jika kondisi salah Repeat Aksi Until kondisi While kondisi do Aksi
  • 29. STRUKTUR TEKS ALGORITMA Ada 3 bagian struktur suatu algoritma, yaitu : 1. Bagian Judul (header) 2. Bagian Deklarasi 3. Bagian Algoritma
  • 30. 1. Bagian judul / header • Memuat nama program dan penjelasan(spesifkasi) tentang program • Nama program ditulis singkat, tetapi hrs menggambarkan apa yg dilakukan algoritma • Algoritma yg dibuat harus sesuai dgn spesifikasi masalah yang diberikan Contoh: PROGRAM luas_lingkaran {program untuk menghitung luas lingkaran”}
  • 31. 2. Bagian Deklarasi • Mengumumkan semua nama yg akan dipakai, termasuk nama tipenya • Nama tersbut berupa:konstanta,variabel,tipe, prosedur dan fungsi • Semua nama tersbt harus dideklarasikan sebelum digunakan
  • 32. Contoh: • DEKLARASI {nama konstanta} const N=10 {jumlah data} const phi=3.14 {nilai phi} {nama variabel} jari_jari,luas:real {nama tipe} type titik:record {koord.titik dibidang kartesian} < x:integer, {absis} y:integer> {ordinat}
  • 33. Aturan pemberian ‘nama’ dalam notasi algoritmik: 1. tidak boleh mengandung spasi, tanda baca dan operasi matematika 2. Karakter garis bawah (“_”) dpt digunakan untuk menggantikan spasi 3. Tidak membedakan huruf kecil dan huruf besar (bahasa pemrograman case sensitif seperti bahasa C menganggap huruf kecil dan besar adalah 2 karakter yang berbeda)
  • 34. 3. Bagian Algortima • Bagian ini merupakan inti dari suatu program • Berisi deskripsi langkah2 penyelesain masalah berupa pernyataan, yg ditulis dalam suatu notasi • Misal write untuk mencetak data/informasi, read untuk membaca data,dsb • Setiap pernyataan dlm algoritma dibaca dari atas ke bawah • Algoritma dieksekusi berdasarkan urutan pernyataan
  • 35. Contoh : Algoritma : Read (panjang,lebar) Luas ←panjang*lebar Write (luas)
  • 36. Struktur teks Agoritma : PROGRAM nama_program penjelasan tentang algoritma yg beisi uraian singkat mengenai masalah yg akan diselesaikan DEKLARASI Semua nama yg dipakai, nama tipe,konstanta,var,prosedur,dan fungsi diumumkan disini ALGORITMA Semua langkah/aksi algoritma dituliskan disini
  • 37. Contoh: PROGRAM luas_lingkaran {menghitung luas lingkaran apabila jari-jari lingkaran sudah diberikan} DEKLARASI {Nama Konstanta} const N =10 const phi=3.14 {nilai phi} {Nama variabel} jari_jari, luas:real ALGORITMA: READ (jari_jari) LUAS Phi *jari_jari*jari_jari Write (luas)
  • 38. KONSEP PEMROGRAMAN • Variabel • Konstanta • Tipe Data
  • 39. Variabel • Variabel adalah tempat penyimpanan data sementara di memori yang isinya dapat diubah. • Setiap variabel memiliki nama, tipe data, dan nilai. • Jenis data yang dapat ditampung suatu variabel harus mengikuti aturan penamaan identifier. • Harus dideklarasikan terlebih dahulu sebelum digunakan • Contoh : int alas, tinggi Variabel Tipe data
  • 40. Nama Variabel • Syarat-syarat penulisan nama variabel adalah : – Harus dimulai dengan huruf alfabet. – Case sensitive (huruf besar dan kecil dibedakan). – Karakter penyusun variabel hanya boleh huruf alfabet, angka dan garis bawah. – Tidak boleh menggunakan spasi. • Nama variabel sebaiknya mencerminkan nilai yang dikandungnya.
  • 41. Konsep Variabel • Variabel hanya menyimpan data secara sementara. • Nilai variabel dapat berubah. • Variabel hanya dapat menyimpan satu data. • Nilai suatu variabel adalah nilai yang terakhir. • Pendefenisian variabel dapat digabung atau dipisah sepanjang memiliki tipe data yang sama
  • 42. Konstanta • Sebuah variabel dengan tipe data tertentu dan memiliki nilai data yang akan selalu tetap dalam program contoh : const_phi=3.14; • Konstanta yang dikenal dalam program C berupa : 1. Integer constant; contoh : -5 0 125 010 0xF1 2. Floating-point constant; contoh : 3.14 3. Character constant; contoh : ´C´ ´1´ ´$´ 4. String constant; contoh : ´UNM´ 5. Escape sequence; contoh : n t ’’
  • 43. Konstanta • Integer constant adalah sebuah bilangan bulat. Integer constant dapat berupa bilangan basis 10 (desimal), basis 8(oktal),atau basis 16 (heksadesimal). Konstanta oktal diawali dengan bilangan nol. • Floating-point constant adalah sebuah bilangan pecahan atau desimal. Tanda desimal dalam bahasa C adalah titik. Antara angka ratusan dan ribuan atau antara angka ratusan ribuan dengan jutaan tidak boleh diberi tanda pemisah. • Character constant adalah sebuah karakter ASCII. Karakter ini diapit tanda petik tunggal. • String constant adalah kumpulan karakter ASCII. Kumpulan ini diapit oleh tanda petik ganda.
  • 44. Konstanta • Escape Sequence adalah karakter yang diawali dengan backslash (garis miring terbalik). Setiap escape sequence mempunyai makna tertentu. contoh : n berarti ganti baris, karakter miring ke kiri dst. • Const modifier adalah pemberian nama pada suatu nilai konstanta. Hal ini dilakukan untuk mencegah kesalahan ketikan yang berulang. contoh : const float pi=3.1415926;
  • 45. Tipe Data • Tipe Sederhana (simple type) o Int , Bool, Char o Tipe Float • Tipe String o Operasi String • Tipe terstruktur (structured type) o Array, Struct
  • 46. Tipe Data Sederhana (Simple Type) Type Batas Nilai Format Unsigned int 0...65535 Signed 16 bit Short Int -128...127 Signed 16 bit Int -32768...32767 Signed 16 bit Unsigned long 0...4294967295 Signed 32 bit Long - 2147483648...214748364 7 Signed 32 bit 1. Tipe Int Tipe data yang nilainya tidak memiliki titik desimal
  • 47. Tipe Batas Nilai Format Float 3.4E-38... 3.4E+38 Unsigned 32 bit Double 1.7E-308...1.7E+308 Unsigned 64 bit Long double 3.4E-4932...1.1E+4932 Unsigned 80 bit 2. Type Float Tipe data yang nilainya merupakan pecahan (memiliki titik desimal)
  • 48. Input NOT( ! ) AND (&&) OR (||) A B C !A !B !C A&&B&&C A||B||C 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 3. Tipe Boolean Nilai pengambilan suatu keputusan pada program, tipe ini mempunyai 2 nilai yaitu benar (T) atau salah (F). Operator yang digunakan adalah AND, OR, dan NOT.
  • 49. 4. Tipe Character digunakan untuk menampung data sebuah karakter. Untuk menuliskan tipe char, karakter perlu ditulis di dalam tanda petik tunggal ( ´ ) Contoh : ´A´ berarti karakter berupa huruf A ´1´ berarti karakter berupa angka 1 ´*´ berarti karakter simbol * Bentuk umum penulisan tipe data ini adalah : tipe_data pengenal [panjang]; pengenal = nama variabel panjang = bilangan bulat yang menunjukkan jumlah karakter Contoh : char_nama[15];
  • 50. 5. Tipe String Merupakan sekumpulan dari beberapa karakter, yang banyaknya berubah-ubah sesuai dengan kebutuhan, besarnya 1 s/d 255 karakter. Pemberian nilai string diapit dengan tanda petik ganda (´´).
  • 51. 51 Flowchart • Bagan-bagan yang mempunyai arus • Menggambarkan langkah-langkah penyelesaian suatu masalah • Merupakan salah satu cara penyajian algoritma
  • 52. 52 Tujuan • Menggambarkan suatu tahapan penyelesaian masalah • Secara sederhana, terurai, rapi dan jelas • Menggunakan simbol-simbol standar
  • 53. 53 Model / Jenis Flowchart • System Flowchart • Program Flowchart
  • 54. 54 System Flowchart • Menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut • Tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah • Hanya untuk menggambarkan prosedur dalam sistem yang dibentuk
  • 55. 55 Program Flowchart • Menggambarkan urutan logika dari suatu prosedur pemecahan masalah • Dua jenis metode penggambaran program flowchart : – Conceptual flowchart, menggambarkan alur pemecahan masalah secara global – Detail flowchart, menggambarkan alur pemecahan masalah secara rinci
  • 56. 56 Simbol-simbol Flowchart • Flow direction symbols – Digunakan untuk menghubungkan simbol satu dengan yang lain – Disebut juga connecting line • Processing symbols – Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur • Input / Output symbols – Menunjukkan jenis peralatan yang digunakan sebagai media input atau output
  • 57. 57 Flow Direction Symbols • Simbol arus / flow – Menyatakan jalannya arus suatu proses • Simbol communication link – Menyatakan transmisi data dari satu lokasi ke lokasi lain • Simbol connector – Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama • Simbol offline connector – Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda
  • 58. 58 Processing Symbols • Simbol process – Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer • Simbol manual – Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer • Simbol decision – Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak • Simbol predefined process – Menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal • Simbol terminal – Menyatakan permulaan atau akhir suatu program
  • 59. 59 Processing Symbols • Simbol keying operation – Menyatakan segala jenis operasi yang diproses dengan menggunakan suatu mesin yang mempunyai keyboard • Simbol offline-storage – Menunjukkan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu • Simbol manual input – Memasukkan data secara manual dengan menggunakan online keyboard
  • 60. 60 Input / Output SymbOlS • Simbol input/output – Menyatakan proses input atau output tanpa tergantung jenis peralatannya • Simbol punched card – Menyatakan input berasal dari kartu atau output ditulis ke kartu • Simbol magnetic tape – Menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis • Simbol disk storage – Menyatakan input berasal dari dari disk atau output disimpan ke disk
  • 61. 61 Output SymbOlS • Simbol document – Mencetak keluaran dalam bentuk dokumen (melalui printer) • Simbol display – Mencetak keluaran dalam layar monitor
  • 64. 64 Input lebar Contoh 1 Start End Input panjang Luas  panjang * lebar Print Luas
  • 65. STUDI KASUS 1 65 Buatlah flowchart ( Diagram Alur ) Jika terdapat 2 (dua) bilangan desimal, dimana jika salah satu dari bilangan tersebut lebih besar maka akan tercetak bilangan yang besar, jika tidak maka cetak bilangan yang terkecil.
  • 66. 66 Start Read A Read B A > B Cetak A Cetak B End Y T
  • 67. STUDI KASUS 2 67 Pensil dapat di beli secara satuan dan lusinan Harga satuan pensil adalah Rp. 1.000, sedangkan harga selusin pensil Rp. 5.000. Buatlah diagram alur untuk harga pembelian X buah pensil. Penjelasan : Jika kita beli 15 buah pensil dengan harga satuan maka harus membayar Rp. 15.000 , sedangkan jika kita membayar dengan 1 lusin serta 3 buah buah sisanya maka kita harus membayar Rp. 8.000
  • 68. 68 Cetak P Baca X L  INT (X/12) S  X – L * 12 P  5000 * L + 1000* S End
  • 69. STUDI KASUS 3 69 Buatlah flowchart ( diagram alur ) jika kita mempunyai s detik diubah menjadi x jam y menit dan z detik
  • 70. 70 START BACA S X  INT (S/3600) A  S – 3600 * X Y  INT (A/60) A A Z  A – 60 * Y CETAK X, Y, Z END
  • 71. STUDI KASUS 4 71 Buatlah flowchart (bagan alur) untuk pembelian buku. Jika kita membeli buku dalam jumlah besar, maka penerbit akan memberikan rabat (discount) dengan ketentuan sebagai berikut : 1.Pembelian kurang dari 10 buku, maka tidak ada rabat. 2.Pembelian 10 buku sampai 29 buku, rabat 10 %. 3.Pembelian 30 buku ke atas, rabat 20 %
  • 72. 72 MULAI BACA X X < 10 ? H  0.8*5000*X CETAK H SELESAI X < 30 ? H  5000*X H  0.9*5000*X ya tidak tidak ya
  • 73. LOOPING / PERULANGAN 73 (1) Variabel A diberi harga 1 (2) Variabel A Berubah menjadi 2 (3) Variabel B diberi harga sebesar harga A DIKALIKAN HARGA A (4) Variabel B di dicetak (jadi tercetak 4). Kemudian kembali ke (2) , (3), (4) dan kembali lagi ke (2) begitu seterusnya A  1 A  A + 1 B  A * A CETAK B ( 1 ) ( 2 ) ( 3 ) ( 4 ) HASILNYA  4,9,16, ……
  • 74. 74 BUATLAH DIAGRAM ALUR UNTUK MENCETAK KUADRAT BILANGAN – BILANGAN 1 SAMPAI DENGAN 10 55
  • 75. 75 MULAI A  1 A > 10 ? SELESAI B  A * A CETAK B A  A+1 Y T
  • 76. QUIZ 76 1. BUAT FLOWCHART DENGAN OUTPUT 2,4,6,8,10 2. 110 or 97 207 xor 102 315 and 221
  • 77. STUDI K ASUS 6 77 Buatlah diagram alur untuk mencetak suku barisan. Dengan suku pertama 3 dan beda 4 sampai suku yang harganya tidak melebihi 100.
  • 78. 78 start S  3 B  4 S > 100 Cetak S S S+B end Y T
  • 79. STUDI KASUS 7 79 Mulai CETAK A CETAK B A A C > 50 CETAK C A  0 A  B B  C B 1 C  A+B Selesai Y T
  • 80. PSEUDO-CODE 80 Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
  • 81. STUDI KASUS 7 81 Mencari bilangan terbesar dari dua bilangan yang diinputkan
  • 82. Pseudo-code: 82 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4. Tampilkan bilangan pertama 5. Tampilkan bilangan kedua
  • 83. Algoritma 83 1. Masukkan bilangan pertama (a) 2. Masukkan bilangan kedua (b) 3. if a > b then kerjakan langkah 4 4. print a 5. print b
  • 84. CONTOH LAIN PEUDO-CODE & ALGORITMA 84 Pseudo-code Algoritma Nilai A ditambah dengan 5 A  A + 5 Cetak nilai A bila lebih besar dari 10 If A > 10 THEN PRINT A Dari dua bilangan A dan B, cari bilanan yang terbesar IF A > B THEN PRINT A ELSE PRINT B
  • 85. LANGKAH MEMBUAT PROGRAM KOMPUTER 85 1. Mendefinisikan masalah Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy (oleh Henry Ledgard): “Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”. Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.
  • 86. 86 2. Menemukan solusi Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan. 3. Memilih algoritma Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut. 4. Menulis program Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya. . 5. Menguji program Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan
  • 87. 87 6. Menulis dokumentasi Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi. 7. Merawat program Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada.
  • 88. BASIC (BEGINNER’S ALL-PURPOSE SYMBOLIC INSTRUCTION CODE) 88 Bahasa pemrograman BASIC merupakan bahasa pemrograman yang cukup sesuai bagi pemula. Namun sungguhpun demikian bahasa tersebut cukup baik untuk dipergunakan memecahkan berbagai masalah mulai dari yang paling sederhana sampai dengan yang rumit.
  • 89. Contoh 89 10 LET A = 4 20 LET B = 5 30 LET C = A + B 40 PRINT C 50 END RUN BASIC ALGORITMA 10 A = 4 20 B = 5 30 C = A + B 40 PRINT C
  • 90. 90 LATIHAN 10 A = 4 11 B = 5 12 C = A + B 13 D = A – B 14 PRINT C 15 PRINT D 10 DATA 3,7 11 READ A,B 12 A = A + 1 13 PRINT A 14 A = A + 1 15 PRINT A 16 A = A + B 17 PRINT A
  • 91. STATEMEN FOR - TO 91 START K = N*N FOR N = 1 TO 4 NEXT N CETAK K END
  • 92. 92 10 READ DATA A, B 20 C = (A+B)/2 30 PRINT C 40 PRINT B 10 X = 1 20 PRINT X 30 IF X = 5 THEN 60 40 X= X+1 50 GO TO 20 60 END Harga 1 kg jeruk untuk pembelian 5 kg atau lebih rp. 6.000 dan kurang dari 5 kg adalah Rp. 7.000. buat diagram alur dan lengkapi algoritma di bawah ini 10 Data …… 20 Read N 30 IF N < 5 THEN 60 40 ……….. 50 GO TO 70 60 ………. 70 Print B 80 end
  • 93. LATIHAN 93 1.BUATLAH ALGORITMA DENGAN OUTPUT 4,6,8,10,12 2.BUATLAH ALGORITMA & FLOWCHART UNTUK MENGHITUNG NILAI RATA2 MAHASISWA, JIKA NILAI RATA2 2 MATAKULIAH LEBIH BESAR DARI 75 MAKA MAHASISWA TERSEBUT “LULUS”, JIKA TIDAK MAHASISWA TERSEBUT “GAGAL”