Anda di halaman 1dari 93

Algoritma

Pemrograman
Dosen pengampu:
 Yunita Wisda Tumarta Arif, S. Kom, M. Kom
No hp/wa : 085643203200
Email : yunitawisda.cm@gmail.com
Alamat : Karanganom, Klaten
Jenjang pendidikan :
S1 : Teknik informatika, Universitas Islam Indonesia
S2 : Teknik informatika Medis, Unversitas Islam Indonesia
Kompetensi dan Tujuan
 Mata kuliah ini dimaksudkan untuk memberi kemampuan
pada mahasiswa tentang konsep-konsep dasar
pemrograman.
 Mahasiswa dituntut untuk dapat menyelesaikan masalah
dengan cara membuat dan menulis algoritma
penyelesaian masalah dan mentranslasikan algoritma ke
bahasa pemrograman tertentu (Dbase).
Referensi
1. Nurhayati, Modul pembelajaran TIK III, Surakarta
2. Budi sutedjo, Michel An, Algoritma dan teknik pemrorgaman, Andi offset,
yogyakarta
3. Rinaldi Munir, Algoritma dan pemrograman dalam bahasa pascal dan C buku
1 dan 2,Informatikan Bandung
4. Antony Pranata, Algortima dan pemrograman J&J Learning, Yogyakarta
5. Eko Nugroho, Pemrograman Terstruktur Dengan Pascal, Andi Offset,
Yogyakarta
6. Jogiyanto, Analisis dan Desain Sistem informasi Pendekatan Terstruktur Teori dan
7. Praktek Aplikasi Bisnis, Andi Offset, Yogyakarta
8. Abdul Kadir, Pemrograman C++ membahas Pemrograman Berorientasi objek
9. Menggunakan Turbo C++ dan Borland C++, Andi Offset, Yogyakarta
10. Sismoro, Heri. 2005. Pengantar Logika Informatika, Algoritma dan Pemrograman
Komputer. Yogyakarta : ANDI
Penilaian:
 14 kali pertemuan , 1 UTS, 1 UAS:
 UTS (individu) : 30%
 UAS (individu) : 30%
 Absensi : 10%
 Keaktifan : 10%
 Tugas : 20%
 Toleransi keterlambatan : 20 menit  posttest
RENTANG NILAI
A : 79 – 100
B : 68 – 78
C : 56 – 67
D : 21 – 55
E : <=20
Substansi Kajian
 Konsep Algoritma
 Macam-macam algoritma
 Algoritma dalam bentuk Flowchart
 Algoritma Pengambilan Keputusan
 Algoritma Pengulangan
 Algoritma Sorting dan pencarian data
 Implementasi algoritma dalam bahasa pemrograman
1. Konsep Algoritma Pemrograman
 Mengapa perlu belajar Algoritma Pemrograman?
 Apa Itu Algoritma Pemrograman?
Mengapa perlu belajar Algoritma
Pemrograman?
 Untuk dasar matakuliah di Informatika
 Untuk menulis kode dalam bahasa yang dimengerti
komputer
 Untuk melatih logika berpikir
ALGORITMA
Algoritma
 The approach or method that is used to solve the
problem is known as an algorithm
 Algoritma: urutan langkah logis untuk menyelesaikan
masalah tertentu
 Secara sederhanya algoritma dapat didefinisikan urutan
langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis.
 Kata logis berarti bahwa nilai kebenarannya harus dapat
ditentukan, benar atau salah.
 Langkah-langkah yang tidak benar dapat memberikan
hasil yang salah
Contoh :
Hubungan antara algoritma, masalah
dan solusi
 Tahap pemecahan masalah adalah Proses dari masalah
hingga terbentuk suatu algoritma.
 Tahap implementasi adalah proses penerapan algoritma
hingga menghasilkan solusi.
 Solusi yang dimaksud adalah suatu program yang
merupakan implementasi dari algoritma yang disusun
 Algoritma login facebook?
Algoritma Login
 User : Masukkan ke
user Facebook
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
 Bagaimana dengan algoritma pencarian pada google?
Ciri algoritma yang baik adalah :
a. Algoritma memiliki logika yang tepat dalam
menyelesaikan masalah.
b. Menghasilkan output yang tepat dan benar
dalam waktu yang singkat.
c. Algortima ditulis dengan bahasa yang standar
secara sistematis dan rapi sehingga tidak
menimbulkan arti ganda (ambiguous).
d. Algortima ditulis dengan format yang mudah
dipahami dan mudah diimplementasikan ke
dalam bahasa pemrograman.
e. Semua operasi yang dibutuhkan terdefinisi
dengan jelas.
f. Semua proses dalam algoritma harus berakhir
setelah sejumlah langkah dilakukan.
Pemrograman
Definisi Program
 Hal terpenting dalam menjalankan komputer
adalah program.
 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.
Bagan Sistem Komputer
Komunikasi Manusia dan Komputer
 Proses
komunikasi antara manusia dengan
komputer adalah sebagai berikut:
 Manusia mendesain Algoritma
 Manusia menterjemahkan Algoritma tersebut ke
dalam bahasa pemrograman yang dipilih
sehingga menjadi sebuah program
 Komputer menjalankan program hasil
penterjemahan algoritma menjdi bahasa
pemrograman diatas
 Komputer mengeluarkan respon kepada manusia
BAHASA PEMROGRAMAN
 Dalam pemrograman dikenal beberapa bahasa
pemrograman, seperti juga manusia mengenal bahasa-
bahasa yang digunakan untuk berkomunikasi.
 Bahasa Pemrograman
Bahasa pemrograman merupakan prosedur atau tata
cara penulisan program.
 Manusia dalam berkomunakasi menggunakan kata atau
karakter sedangkan komputer dengan kode 0 dan 1.
 Untuk mempermudah manusia berkomunikasi dengan
komputer, maka diciptakan bahasa pemrograman.
Dengan adanya bahasa pemrograman ini, bila manusia
ingin berkomunikasi dengan komputer tidak harus
menerjemahkan ke dalam 0 dan 1.
 Bila hal itu dilakukan betapa rumitnya suatu program.
Sintak dan sematik
Dalam bahasa pemrograman, terdapat dua faktor
penting yaitu sintaksis dan semantik.
Sintak adalah aturan-aturan gramatikal yang mengatur
tata cara penulisan kata, ekspresi dan pernyataan
sedangkan semantik adalah aturan-aturan untuk
menyatakan suatu arti.
Contoh : Write, Read
 Contoh Logika sintaks:
 untuk membentuk sebuah kalimat yang valid dalam
bahasa kita memakai struktur: [subyek] + [kata kerja] +
[kata benda].
 Dengan memakai struktur ini, kita bisa membentuk
kalimat, sebagai contoh: Saya makan nasi. Dalam
hubungannya dengan bahasa pemrograman, kita musti
memenuhi sintaks agar program dapat berjalan.
 Contoh semantik:
 Sederhananya, semantik menjelaskan arti dari program.
Analoginya sebagai berikut. Apabila kita memakai sintaks
[subyek] + [kata kerja] + [kata benda], kita bisa menghasilkan
kalimat-kalimat.
 Apabila kita mengasilkan kalimat Saya makan nasi, maka
kalimat ini memenuhi aturan sintaks. Tapi, apabila saya
membuat kalimat Saya makan batu, secara sintaks kalimat ini
sudah benar. Namun, secara semantik, kalimat ini tidak
mengandung makna yang berarti.
 Jadi ketika membuat prgram jangan terpaku pada 1 sisi
saja semantik atau sintaksis, tetapi keduanya harus ada.
Contoh sederhana:
= (sama dengan)
Contoh y=5
 Pada bahasa pascal sama dengan menggunaka simbol
:=
Pascal y:=5
Contoh semantik
Secara umum bahasa permrograman
dibagi menjadi empat kelompok :
 Bahasa Aras Rendah (Low Level Language)
Merupakan bahasa pemrograman generasi pertama
yang berorientasi pada mesin. Pemrogram dengan
bahasa ini harus berpikir berdasarkan logika mesin
berpikir, sehingga bahasa ini kurang fleksibel dan sulit
dipahami.
Contoh : Bahasa mesin, Bahasa rakitan berupa simbol
 Bahasa Aras Menengah (Middle Level Language)
Merupakan bahasa pemrograman yang menggunakan
aturan-aturan gramatikal dalam penulisan ekspresi atau
pernyataan dengan standar yang mudah dipahami
manusia serta memiliki instruksi-instruksi tertentu yang
langsung bisa diakses oleh komputer.
Contoh :
 Bahasa Aras Tinggi (Hight Level Language)
Merupakan bahasa pemrograman yang menggunakan
aturan-aturan gramatikal dalam penulisan ekspresi atau
pernyataan dengan standar bahasa yang langsung
dapat dipahami oleh manusia. Contoh : Bahasa Pascal,
Basic, COBOL
 Bahasa Berorientasi Objek (Object Oriented
Programming)
Dengan bahasa berorientasi objek kita tidak perlu
menuliskan secara detail semua pernyataan dan
ekspresi seperti bahasa aras tinggi, melainkan cukup
dengan memasukkan kriteria-kriteria yang dikehendaki
saja.
Contoh : Delphi,, C++, visual basic
Penerjemah Bahasa Pemrograman
Bagaimana sih komputer bisa memahami program yang
disusun dengan bahasa pemrograman tersebut?
 Dibutuhkan suatu penerjemah yang dapat
menerjemahkan bahasa yang dipahami oleh komputer
dengan bahasa yang dipahami oleh manusia yaitu
1. Interpreter
2. Compiller.
Interpreter

 Interpreter berasal dari kata to interpret yang berarti


menerjemahkan atau mengartikan.
 Interpreter merupakan penerjemah bahasa pemrograman
yang menerjemahkan instruksi demi instruksi pada saat
eksekusi program. Pada saat penerjemahan interpreter akan
memeriksa sintaksis (sintak program), semantik (arti perintah),
dan kebenaran logika.
 Jika ditemukan kesalahan sintaksis (syntak error) maka
interpreter akan menampilkan pesan kesalahan dan eksekusi
program langsung terhenti.
Compiler
 Berasaldari kata to compile yang berarti menyusun, mengumpulkan
atau menghimpun.
 Compiler merupakan penerjemah bahasa pemrograman yang
menerjemahkan instruksi instruksi dalam satu kesatuan modul ke
dalam bahasa mesin (objek program).
 Mengkompilasi sourcecode kedalam bentuk file yang bisa
dieksekusi.
Dalam pemrograman algortima berarti:

suatu metode khusus yang tepat dan terdiri dari


serangkaian langkah-langkah yang terstruktur dan
dituliskan secara sistematis yang akan dikerjakan untuk
menyelesaikan masalah dengan bantuan komputer.
 Pemrograman Terstruktur merupakan proses
mengimplementasikan urutan langkah langkah untuk
menyelesaikan suatu masalah dalam bentuk program
yang memiliki rancang bangun yang terstruktur dan
tidak berbelit-belit sehingga mudah ditelusuri, dipahami
dan dikembangkan oleh siapa saja.
Konsep Pemrograman Terstruktur
Ciri-ciri teknik pemrograman terstruktur:
 Mengandung teknik pemecahan masalah yang
tepat dan benar.
 Memiliki algoritma pemecahan masalah yang
bersifat sederhana, standar dan efektif dalam
menyelesaikan masalah.
 Teknik penulisan program memiliki struktur logika
yang benar dan mudah dipahami.
 Program semata-mata terdiri dari tiga struktur yaitu
sequence structure, looping structure dan selection
structure.
 Menghindarkan penggunaan instruksi GOTO
(peralihan proses tanpa syarat tertentu) yang
menjadikan program tidak terstruktur lagi.
 Membutuhkan biaya testing yang rendah.
 Memiliki dokumentasi yang baik.
 Membutuhkan biaya perawatan dan
pengembangan yang rendah
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.
 Algoritma mengirim SMS?
 Algortima membuat nasi goreng?
 Algoritma menghitung luas tabung?
Penyajian Algoritma pemrograman
Penyajian algoritma
 Penyajian algoritma terdapat 3 bentuk:
1. Struktur Bahasa
2. Teknik tulis tangan
3. Teknik gambar
1. Struktur bahasa
 Tidak menggunakan simbol atau sintak dari bahasa
pemrograman.
 Tidak tergantung pada suatu bahasa pemrograman.
 Dapat menggunakan bahasa manapun, namun basic
dari struktur ini adalah bahasa inggris meski bisa juga
menggunakan bahasa indonesia.
 Contoh:
1. Baca bilangan a, b dan c
2. Jumlahkan bilangan tersebut
3. Bagi jumlah tersebut dengan 3
4. Tulis hasilnya
Kelemahan struktur bahasa:
 Dalam structure English / struktur Indonesia digambarkan
tahap-tahap penyelesaian masalah dengan
menggunakan kata-kata (teks).
 Kelemahan cara ini adalah dalam penyusunan
algoritma sangat dipengaruhi oleh tata bahasa
pembuatnya, sehingga kadang kadang orang lain sulit
memahaminya.
2. Teknik Tulis Tangan (Pseudo code)
 (baca: soo-doh-kohd)
 Pseudo-code sering digunakan oleh manusia untuk
menuliskan algoritma
 Pseudocode berasal dari kata pseudo yang berarti
imitasi/mirip/menyerupai kode pemrograman yang
sebenarnya.
 Deskripsi tingkat tinggi informal & ringkas atas suatu algoritma
yg menggunakan tata bahasa yg menyerupai bahasa
pemrograman tapi utk dibaca oleh manusia .
 Pseudocode lebih rinci dari structure english misalnya dalam
menyatakan tipe data yang digunakan.
Tidakada standar kata kunci (keyword)
untuk pseudocode
Pseudocode : mempermudah
pemahaman atas suatu algoritma, dan
mempermudah implementasi dalam
bentuk kode programnya
Contoh 1. Menghitung rata-rata 3 buah data
1. Input (a, b, c)
2. Jml = a+b+c
3. Rerata=jml/3
4. Output(Rerata)
Aturan Penyajian Algoritma
 Perhatikan notasi pada penyajian algoritma contoh 1!
 Langkah-langkah penyelesaian masalah dalam teks
algoritma dapat ditulis dalam notasi apapun, dengan
syarat bahwa langkah-langkah tersebut mudah
dipahami dan dimengerti.
 Tidak ada notasi yang baku dalam teks algoritma
sebagaimana notasi dalam bahasa pemrograman
(notasi dalam algoritma disebut dengan notasi
algoritmik).
 Untuk memudahkan translasi notasi algoritmik ke dalam
bahasa pemrograman, sebaiknya notasi algoritmik
tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
 Sebagai contoh : Tulis nilai X dan Y
 Dalam notasi algoritmik menjadi : Write(X,Y)
 Perhatikan bahwa setiap bahasa pemrograman
mempunyai aturan sendiri dalam menggunakan
perintah penulisan.
 Contoh lain :
Isikan nilai X ke dalam max
 Ditulis dalam notasi algoritmik menjadi :
max  X
Contoh 2. Menghitung
Luas Persegi Panjang
Rumus : panjang (p) * lebar(l)
MENGHITUNG_LUAS_PERSEGIPANJANG:
1) input  p
2) input  l
3) Lp*l
4) Output  L
Contoh-3 :
Algoritma & Pseudo code

2. Menghitung rata-rata tiga buah data


a. Algoritma dengan struktur bahasa Indonesia
1. Masukkan bilangan a, b, dan c
2. Jumlahkan ketiga bilangan tersebut
3. Bagi jumlah tersebut dengan 3
4. Tulis hasilnya
b. Algoritma dengan pseudocode dbase
1. Input (a) , (b) , (c)
2. Jml =a+b+c
3. Rerata = Jml/3
4. ?Rerata
65

LATIHAN-1 :
Problem: mencari bilangan terbesar dari dua bilangan yang
diinputkan ?!
66

Algoritma
LAT-1: (Struktur
ALGORITMA Bahasa):CODE
& PSEUDO
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

Pseudo-code (dbase)
1. Input a
2. Input b
3. If a > b then langkah 4 else lagkah 5
4. ?a
5. ?b
LATIHAN-2 :
67

Problem : Pseudocode untuk mencari luas lingkaran


Jawab lat 2
a. Algoritma dengan struktur bahasa
1) Beri nilai phi dengan 3.14
2) Masukkan jari-jari lingkaran
3) Kalikan phi dengan kuadrat dari jari-jarinya
4) Tulis hasilnya
b. Algoritma dengan pseudocode (dbase)
1) phi = 3.14
2) input R
3) L=phi*R*R
4) ?L
69

LATIHAN-3 :
Buatlah langkah-langkah (algoritma) dengan 2 metode
yaitu structure englis dan pseudo code ,
untuk soal di bawah ini :

Menghitung rata-rata dari lima


bilangan yang diinputkan oleh user
70

Algoritma untuk mencari rata-rata dari 5


3)
Jwb – LAT-3 :
bilangan yang diinputkan

a. Algoritma dengan struktur bahasa Indonesia


1) Baca bilangan a, b, c , d dan e
2) Jumlahkan kelima bilangan tersebut
3) Bagi jumlahnya dengan 5
4) Tulis hasilnya
b. Algoritma dengan pseudocode
1) Input (a +b+c+d+e)
2) Jml <- a+b+c+d+e
3) Rerata <- Jml/5
4) Output (Rerata)
71

Buatlah pseudocode (dbase) untuk :


SOAL-SOAL ?!
1. Menentukan suatu bilangan ,ganjil atau
genap
2. Mencari bilangan terkecil dari 3 bilangan
yg diinputkan oleh user .
3. Menghitung gaji seorang buruh bangunan
selama sebulan, dengan ketentuan gaji
perhari Rp. 50.000,-
3. Teknik gambar
 Salah satu teknik gambar adalah Flowchart.
 Flowchart menggambarkan tahap-tahap pemecahan
masalah dengan merepresentasikan simbol simbol
tertentu yang mudah dimengerti, mudah digunakan dan
standar.
 Flowchart terdiri dari dua macam yaitu:
1. Flowchart program
2. Flowchart sistem
1. Flowchart Program
 Bagan alir/flowchart program adalah suatu bagan yang
menggambarkan arus logika dari data yang akan
diproses dalam suatu program dari awal sampai akhir.
 Kegunaan:
1. Untuk mendesain program
2. Untuk merepresentasikan program
 Bagan alir terdiri dari simbol-simbol yang mewakili fungsi
fungsi langkah program dan garis alir (flow lines)
menunjukan urutan dari simbol yang akan dikerjakan.
Contoh penggunaan flowchart
program
Contoh:
Flowchart system
 Bagan alir sistem berbeda dengan bagan alir program.
Bagan alir program sifatnya lebih terperinci tentang
langkah-langkah proses di dalam program dari awal
sampai akhir.
 Bagan alir sistem hanya menggambarkan arus data dari
sistem.
 Simbol simbol yang digunakan pada bagan alir sistem
ada yang sama dan ada yang berbeda dengan simbol-
simbol yang digunakan pada bagan alir program.
Pedoman membuat flowchart :

1) Secara garis besar terdapat 3 bagian utama:


1) Input
2) Proses
3) output
2) Diawali dari satu titik START dan di akhiri dengan END.
3) Flowchart dibuat dari atas ke bawah dimulai dari bagian
kiri suatu halaman.
4) Kegiatan dalam flowchart harus ditunjukkan dengan jelas.
5) Kegiatan dalam flowchart harus jelas dimana akan dimulai
dan dimana akan berakhir.
6) Kegiatan yang ada dalam flowchart digunakan kata yang
mewakili pekerjaan.
7) Kegiatan dalam flowchart harus sesuai dengan urutannya.
8) Kegiatan yang terpotong dihubungkan dengan simbol
penguhubung.
9) Simbol-simbol yang digunakan flowchart adalah simbol-
simbol standar.
10) Tidak ada kaidah baku dalam pembuatan flowchart
sehingga Bisa berbeda antara satu programer dengan
programer lain.
11) Hindari pengulangan proses yang tidak perlu dan logika
yang berbelit sehingga jalannya proses menjadi lebih
singkat
12) Jalannya proses dijalankan dari atas kebawah dan
diberi tanda panah untuk memperjelas.
LATIHAN
1. BUAT ALGORTIMA STRUKTUR BAHASA UNTUK MENGITUNG
KELILING LINGKARAN.
2. BUAT ALGORITMA TEKNIK TULIS/PSEUDO CODE.
3. BUAT FLOWCHART PROGRAM. DENGAN MENAMBAHKAN
PILIHAN UNTUK MENCOBA LAGI ATAU TIDAK.
 Gambarkan system flowchart untuk proses
pendaftaran anggota perpustakaan dari mengisi
formulir hingga mendapatkan kartu anggota.
 Deskripsi : seorang siswa yang ingin mendaftarkan
diri menjadi anggota perpustakaan awal nya harus
mengisi formulir pen daftaran, kemudian petugas
perpus akan menyalin dengan cara mengetikkan
formulir itu kedalam Sistem informasi perpustakaan.
Setelah di ketik maka data tersebut akan disimpan
kedalam sebuah tabel database ‘Anggota’ dan
dapat menghasilkan output berupa kartu anggota

Anda mungkin juga menyukai