You are on page 1of 54

Algoritma & Pemrograman

Darpi Supriyanto, S.Si

Email : darpisupriyanto@yahoo.co.id
darpisupriyanto02@gmail.com

HP : 081310985321

1
Penilaian
 Kehadiran (5%)
 Tugas (25%)
 Kuis (15%)
 UTS (25%)
 UAS (30%)
 Perilaku/Etika

2
Pokok Bahasan
 Algoritma, Flowchart dan Program
 Tipe Data dan Operator
 Variabel dan Konstanta
 Percabangan/Pemilihan
 Perulangan
 Array
 Prosedur & Fungsi
 Record

3
Referensi
 Antony Pranata, Algoritma dan
Pemrograman, J&J Learning, Yogyakarta,
2002.
 Rinadi Munir, Algoritma dan Pemrograman
Buku 1, Informatika, Bandung,2002.
 Bambang Wahyudi, Pengantar Struktur
data dan Algoritma,2004.
 Jogiyanto, Turbo Pascal 5.0, Andi Offset,
Yogyakarta, 1995.

4
Tahapan Pemrograman

1. Analisa masalah
2. Memilih algoritma untuk
menyelesaikan masalah itu
3. Menulis Coding/program (IPO)
4. Menguji program
5. Merawat program

Programming tidak hanya sekedar mengetik di keyboard

5
Definisi Algoritma

Urutan langkah-langkah untuk


memecahkan masalah logika atau
matematika.

Kamus Besar Bahasa Indonesia :


Algoritma adalah urutan logis
pengambilan putusan untuk pemecahan
masalah
Flowchart dan Program
Flowchart :
Gambar atau simbol yang digunakan
untuk menjelaskan algoritma.

Program :
Algoritma yang diimplementasikan dalam
bahasa pemrograman tertentu
Penulisan Algoritma
 Dalam bahasa natural (Bahasa Indonesia,
Bahasa Inggris, dan bahasa manusia lainnya)
– Tapi sering membingungkan (ambiguous)
 Menggunakan flow chart (diagram alir)
– Bagus secara visual akan tetapi repot kalau
algoritmanya panjang
 Menggunakan pseudo-code
– Sudah lebih dekat ke bahasa pemrograman,
namun sulit dimengerti oleh orang yang tidak
mengerti pemrograman

8
Soal (1) :
1. Penjumlahan 2 buah bilangan
2. Menghitung luas persegi panjang
3. Menghitung Umur seseorang
4. Menghitung luas segitiga
5. Menghitung Luas lingkaran (Luas =
∏*R*R )

9
Soal (2)
6. Perusahaan Telepon di kota ‘X’ mempunyai
tarif Rp. 500,- per pulsa. Setiap pelanggan
dikenakan biaya langganan Rp. 30.000,- per
bulan.
Input : Nama Pelanggan, Jumlah Pulsa
Output : Jumlah bayar
7. Sebuah Supermarket di Cilegon akan
memberikan discount sebesar 30 % bagi
setiap pembelian.
Input : Nama barang, jumlah pembelian
Output : Diskon,Jumlah pembayaran

10
Soal (3)
8. Tentukan Nilai Akhir (NA) mata kuliah Algoritma dan
Pemrograman dengan ketentuan penilaian sebagai
berikut :
Kehadiran (5%), Tugas (25%), Kuis (15%), UTS (25%)
UAS (30%)
Input : NIM, Nama, Kehadiran, Tugas, Kuis, UTS,
UAS
Output : Nilai Akhir (NA)
9. Tentukan jumlah tagihan pembayaran PDAM jika
Harga pemakaian per Meter (M)3 = Rp. 7.500,-.
Biaya administrasi = Rp. 3.000,-
Biaya pemeliharaan = Rp. 5.000,-
Input : Meter awal, Meter akhir
Output : Jumlah pembayaran

11
Menjumlahkan 2 buah bilangan
Untuk Menjumlahkan 2 buah bilangan,
harus diketuhui :
1.Besarnya bilangan 1 dan bilangan 2
2.Rumus menjumlahkan
Jumlah = bilangan 1 + bilangan 2
3.Mencetak hasil penjumlahan

12
Algoritma No. 1 :
 Input bilangan1, bilangan 2 atau x,y
 Jumlah  x + y
 Cetak Jumlah

13
pseudo-code
 Algoritma penjumlahan
{menghitung jumlah x dan y, dengan
inputan x dan y}
 Deklarasi
x,y,jumlah : integer;
 Deskripsi
read(x,y)
jumlah x +y
write(jumlah)

14
Simbol Flowchart
No. Simbol Keterangan
1 Start(mulai) / end (akhir)
2 Input atau output
3 Proses
4 Pemilihan/percabangan
5 Perulangan
6 Arus data
7 Konektor
8 Sub program

15
Sejarah Pascal
 Pascal merupakan bahasa tingkat tinggi
(high level language) yang orientasinya
pada segala tujuan, dirancang oleh
Professor Niklaus Wirth dari Technical
University di Zurich, Switzerland. Nama
pascal diambil sebagai penghargaan
terhadap Blaise Pascal, ahli matematika
dan philosopi terkenal abad dari perancis.
 Pascal digunakan untuk membuat suatu
program terstruktur.
Struktur Pascal
Program namaprogram { nama program}
Uses { mendefinisikan hardware }
Type { tipe variabel }
Const { konstanta }
Var { variabel }

Begin {awal program}


Statemen; {pernyataan-pernyataan}
End. {akhir program}
Input dan Output
 Input : Read dan Readln
Read = menerima inputan dari keyboard
tanpa ganti baris
Readln = menerima inputan dari keyboard
dengan ganti baris
 Output : Write dan Writeln
Write = mencetak teks tanpa ganti baris
Writeln = mencetak teks dengan ganti
baris
Tipe Data
 Menentukan jenis nilai atau data yang
disimpan dalam variabel/konstanta.
 Tipe data terbagi atas : Dasar dan
Bentukan
 Tipe data Dasar : Tipe data yang
tidak terbentuk dari tipe data lain.
 Tipe data Bentukan : Tipe data yang
dibentuk dari tipe data lain.

19
Tipe Data Dasar
 Char
 String
 Integer
 Real
 Boolean

20
Tipe Data Bentukan
 Array
 Record
 Set
 File Text
 Pointer

21
Operator
 Operator Aritmatika, digunakan
untuk operasi matematis terhadap
nilai data.
 Operator Perbandingan, digunakan
untuk operasi yang membandingkan
nilai data.
 Operator logika, digunakan untuk
operasi yang membandingkan suatu
perbandingan.

22
Operator Aritmatika
Simbol Operasi Matematis Contoh
^ Pemangkatan 5 ^ 2 hasilnya 25
* Perkalian 5 * 2 hasilnya 10
/ Pembagian ( hasil Pecahan ) 5 /2 hasilnya 2,5
\ Pembagian ( hasil bulat ) 5\2 hasilnya 2
Mod Sisa pembagian 5 Mod 2 hasilnay 1
+ Penjumlahan 5 + 2 hasilnya 7
- Pengurangan 5 – 2 hasilnya 3
& Penggabungan String 5 dan 2 hasinya 52

23
Operator Perbandingan
Simbol Operasi perbandingan Contoh

< Lebih kecil 5 < 2 hasilnya FALSE

> Lebih besar 5 >2 hasilnya TRUE

<= Lebih kecil atau sama dengan 5<=2 hasilnya FALSE

>= Lebih besar atau sama dengan 5>=2 hasilnya TRUE

= Sama dengan 5 = 2 hasilnya FALSE

<> Tidak sama dengan 5 <> 2 hasilnya TRUE

24
Operator logika
Simbol Operasi logika Contoh

Or Atau (5<2) or (5>2) Hasilnya TRUE

And Dan (5<2) and (5>2) hasilnya FALSE

Not Tidak Not (5<2) hasilnya TRUE

25
Variabel
 Variabel adalah parameter yang
digunakan untuk menyimpan data
yang bersifat sementara.
Contoh
Var
A : real;
Nama: string;
Konstanta
 Konstanta adalah parameter yang
digunakan untuk menyimpan data
yang bersifat tetap.
Contoh
Const
A = 100;
Nama =’Amir’;
Pemilihan/Percabangan
 IF ( IF- Then, IF-Then-Else dan IF
Berkalang/Bersarang)
 CASE (CASE –OF dan CASE-OF-ELSE)

28
Statemen IF - Then
 Statemen IF – Then digunakan untuk menguji
sebuah kondisi. Bila kondisi yang diuji terpenuhi,
program akan menjalankan statemen1, dan bila
kondisi salah, program akan menjalankan statemen
lain.
Bentuk umum statemen IF – Then adalah sebagai
berikut :
IF kondisi THEN
Statemen1 ; { Pernyataan yang dijalankan
jika kondisi bernilai benar }
 Kondisi merupakan suatu ekspresi bertipe boolean,
artinya hanya bernilai benar ( True ) atau salah (
False ).
29
Soal IF Then (1)
1. Memeriksa inputan sebuah bilangan /
angka bernilai positif atau negatif
2. Memeriksa masukan sebuah bilangan
apakah bilangan genap atau ganjil
3. Memeriksa “lulus” atau “tidak lulus”
dengan ketentuan
Nilai Akhir >= 70 ket = “lulus”
Nilai Akhir < 70  ket = “tidak lulus”
30
Soal IF Then (2)
4. Sebuah Supermarket di Cilegon akan memberikan
discount sebesar 30 % untuk pembelian >=
300.000,-.
Input : Nama barang, jumlah pembelian
Output : Diskon, Jumlah pembayaran
5. Sebuah perusahaan Taxi mempunyai peraturan
mengenai tarif yang dibebankan kepada penumpang
sebagai berikut :
Untuk Kilometer pertama = Tarif Rp 5000
Untuk Kilometer kedua = Tarif Rp 3000
Masukan : Jarak yang ditempuh
Keluaran : Jumlah pembayaran

31
Statemen IF-Then-Else
 Statemen IF-Then-Else digunakan untuk menguji dua
buah kondisi atau lebih. Bila kondisi yang teruji
terpenuhi/bernilai benar, program akan menjalankan
statemen1, dan bila kondisi yang diuji salah, program
akan menjalankan statemen2.
Bentuk umum pernyataan If-Then-Else sebagai
berikut :
IF kondisi THEN
Statemen1 ; { Pernyataan yang dijalankan,
jika kondisi bernilai benar }
ELSE
Statemen2 ; {Pernyataan yang dijalankan,
jika kondisi benilai salah }

32
Soal IF Then Else(1)
 Soal no. 1 s/d 5 sama dengan soal pada
statemen IF-Then
6. Tentukan Grade/Nilai mata kuliah Algoritma
dan Pemrograman dengan ketentuan penilaian
sebagai berikut : Kehadiran (5%), Tugas
(25%), Kuis (15%), UTS (25%), UAS (30%)
80 – 100=A; 70-79=B;60-69=C;50-59=D;0-
49=E;
Input : NIM, Nama, Kehadiran, Tugas,
Kuis, UTS, UAS
Output : Nilai Akhir (NA), Grade/Nilai

33
Soal IF Then Else(2)
7. Hitung gaji bersih karyawan dengan ketentuan:

Gol Gaji Pokok Tunjangan


IIA 1.000.000 200.000
IIB 1.500.000 300.000
IIC 2.000.000 400.000

Gaji Kotor = Gaji Poko + Tunjangan


Pajak sebesar 2,5% dari gaji pokok
Gaji bersih = gaji kotor - pajak

34
Quiz(1)
1. Berikan 3 contoh algoritma dalam
kehidupan sehari-hari

Buat algoritma, flowchart, psedocode


dan program(No. 2,3,4 )
2. Sebuah sekolah akan memberikan
beasiswa jika siswa tersebut
Yatim/Piatu (YP).
Input : status(YP)
output : keterangan
Quiz(2)
3. Sebuah foto copy akan memberikan
diskon sebesar 10% jika status
langganan dan mencopy lebih dari
100 lembar. Harga perlembar
Rp.100,-
input : status dan jumlah copy
ouput : diskon dan bayar
Quiz(3)
4. Hitung gaji bersih karyawan dengan ketentuan:

Gol Gaji Pokok Tunjangan


IIA 1.000.000 200.000
IIB 1.500.000 300.000
IIC 2.000.000 400.000

Gaji Kotor = Gaji Poko + Tunjangan


Pajak sebesar 2,5% dari gaji pokok
Gaji bersih = gaji kotor - pajak

37
Statemen IF Tersarang
 Statemen If berkalang/tersarang digunakan untuk
menguji kondisi yang berada di dalam kondisi lain.
Bentuk umum :
IF kondisi1 THEN
IF kondisi2 THEN
Statemen1 { Pernyataan yang dijalankan,
jika kondisi1 dan kondisi2 bernilai benar }
ELSE
statemen2 { Pernyataan yang dijalankan,
jika kondisi1 benar dan kondisi2 salah }
ELSE
Statemen3 ; {Pernyataan yang dijalankan,
jika kondisi1 dan kondisi2 benilai salah }

38
Soal If-Berkalang/Tersarang(1)
1. Sebuah perusahaan memberikan tunjangan
keluarga yang sudah menikah dan sudah
bekerja lebih dari 5 tahun.
Tunjangan keluarga = 15 % dari gaji pokok.
Buatlah program untuk menghitung total gaji.
Input = Nama, Status (M / B), Lama bekerja,
Gaji pokok.
Output = Nama, Status, Tunjangan Keluarga,
Gaji Pokok, dan Total Gaji.

39
Soal IF Berkalang(2)
2. Sebuah perkumpulan terdiri dari golongan orang
‘Biasa’, ‘Penting’, ‘VIP’. Peraturan menetapkan
sebagai berikut :
- Orang biasa(B) = Iuran bulanan sebesar 5 %
dari gajinya, boleh menggunakan lapangan Tenis dan
Ruang Fitnes.
- Orang penting (P) = Iuran bulanan sebesar 10 %
dari gajinya, boleh menggunakan lapangan Tenis dan
Ruang Fitnes, dan Golf
- VIP (V) = Iuran bulanan sebesar 15 % dari
gajinya, boleh menggunakan lapangan Tenis dan
Ruang Fitnes,Golf dan Kolam Renang
Input = Nama, Gaji, Golongan
Output = Iuran yang harus dibayar dan Fasilitas yang
boleh digunakan

40
Soal IF Berkalang(3)
3. Sebuah perusahaan membagi pegawainya menjadi 3 golongan
( 1,2 dan 3 ). Ketentuan Upah Harian dan Upah Per jam ketiga
golongan pegawai tersebut sebagai berikut :
Gol Upah harian Upah
lembur/jam
1 30000 3000
2 40000 4000
3 50000 5000

 Upah Lembur jika bekerja lebih dari atau > 8 jam sehari.
Upah dihitung setiap hari
Input = Nama, Golongan, dan Jam kerja
Output = Upah Lembur, Nama dan Upah Total

41
CASE
Bentuk umum :
Case ungkapan/kondisi of
daftar case1:statemen1;
daftar case2:statemen2;
daftar casen:statemenn;
End;
Ungkapan harus bertipe integer dan char.
Tipe string dan real tidak boleh sebagai
ungkapan.

42
SOAL CASE (1)
1. Cetak keterangan dari nilai:
Nilai A  ket = ‘Sangat baik’
Nilai B  ket = ‘Baik’
Nilai C  ket = ‘Cukup’
Nilai D  ket = ‘Kurang’
Nilai E  ket = ‘Gagal’
2. Tentukan jumlah bayar jika :
Jumlah beli Harga satuan
1 – 100 Rp. 15.000,-
101 – 200 Rp. 14.000,-
201 – 300 Rp.13.000,-
43
SOAL CASE(2)
3. Rubah soal if berkalang no. 2 ke
dalam case
4. Rubah soal if berkalang no. 3 ke
dalam case
5. Rubah soal 1 – 5 case menjadi case
of else.

44
PERULANGAN
 Mencetak sejumlah statemen atau
nilai dengan jumlah yang telah
ditentukan.
 Macam perulangan :
- FOR
- WHILE –DO
- REPEAT UNTIL

45
Perulangan FOR
 Terbagi menjadi 2 : perulangan positip dan
perulangan negatif.
 Perulangan positif = perulangan dengan nilai
pencacah/counter dari kecil ke besar atau
pertambahan positif.
FOR pencacah := nilai awal TO nilai akhir DO
statemen;
 Perulangan Negatif = perulangan dengan nilai
pencacah/counter dari besar ke kecil atau
pertambahan negatif.
FOR pencacah := nilaiakhir DOWNTO nilai awal DO
statemen;
46
SOAL FOR
1. Cetak bilangan asli dari 1 s/d 10
2. Cetak kata ‘pascal’ sebanyak 10x
3. Buat tabel harga BBM
4. Buat tabel operasi matematika
5. Buat tabel nilai diskriminan

47
SOAL WHILE DAN REPEAT
 Rubah program dari soal for menjadi
while dan repeat.

48
ARRAY
 Tipe data terstruktur yang terdiri dari
sejumlah komponen-komponen yang
memiliki tipe data yang sama.
contoh :
a : array[1..10] of real;
x : array[1..10] of integer;
 Terbagi menjadi array dimensi
satu,array dimensi dua dan array
dimensi banyak.
49
SOAL
1. Menerima inputan n buat nama dan
mencetaknya
2. Mencari jumlah dan rata2 dari n buah
data yang diinputkan
3. Buat tabel operasi matematika
4. Hitung nilai akhir dan grade mata
kuliah ‘X’
5. Hitung gaji total pegawai
PROSEDUR (1)
 Merupakan suatu program terpisah dalam blok
sendiri yang berfungsi sebagai sub program.
 Diawali dengan kata cadangan Procedure
didalam bagian deklarasi prosedur.
 Ada 2 jenis deklarasi variabel dalam prosedur,
yaitu lokal dan global
 Lokal : variabel yang digunakan hanya dalam
prosedur itu saja dan tidak dikenal diluar
prosedur.
 Global : variabel yang digunakan seluruh
program baik program utama maupun
subprogram.
PROSEDUR (2)
 Prosedur banyak digunakan pada program
terstruktur karena :
1. Merupakan penerapan konsep program
modular, yaitu memecah-mecah program
yang rumit menjadi program-progam
bagian yang lebih sederhana dalam bentuk
prosedur.
2. Untuk proses yang sering digunakan dan
dipakai secara berulang-ulang, cukup
dituliskan sekali saja dalam prosedur dan
dipanggil atau digunakan sewaktu-waktu
bila diperlukan.
PROSEDUR (3)
1. Buat program mencari jumlah 2 bilangan
dengan prosedur hitung.
2. Buat program mencari jumlah 2 bilangan
dengan prosedur input dan output
3. Buat program mencari jumlah 2 bilangan
dengan prosedur input, proses dan output.
4. Buat program mencari luas persegi
panjang dengan prosedur input dan output
5. Buat program mencari luas segitiga
panjang dengan prosedur input dan output
PROSEDUR (4)
6. Buat program mencari luas lingkaran
panjang dengan prosedur input dan
output.
7. Rubah program dari soal array
menjadi prosedur.

You might also like