Transcript
Page 1: Algoritma Dan Pemrograman UNSERA

1

Algoritma & Pemrograman

Darpi Supriyanto, S.Si

Email : [email protected]

[email protected]

HP : 081310985321

Page 2: Algoritma Dan Pemrograman UNSERA

2

Penilaian

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

Page 3: Algoritma Dan Pemrograman UNSERA

3

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

Page 4: Algoritma Dan Pemrograman UNSERA

4

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.

Page 5: Algoritma Dan Pemrograman UNSERA

5

Tahapan Pemrograman

1. Analisa masalah 2. Memilih algoritma untuk

menyelesaikan masalah itu3. Menulis Coding/program (IPO)4. Menguji program5. Merawat program

Programming tidak hanya sekedar mengetik di keyboard

Page 6: Algoritma Dan Pemrograman UNSERA

Definisi Algoritma

Urutan langkah-langkah untuk memecahkan masalah logika atau matematika.

Kamus Besar Bahasa Indonesia :

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah

Page 7: Algoritma Dan Pemrograman UNSERA

Flowchart dan Program

Flowchart :Gambar atau simbol yang digunakan untuk menjelaskan algoritma.

Program :Algoritma yang diimplementasikan dalam bahasa pemrograman tertentu

Page 8: Algoritma Dan Pemrograman UNSERA

8

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

Page 9: Algoritma Dan Pemrograman UNSERA

9

Soal (1) :

1. Penjumlahan 2 buah bilangan2. Menghitung luas persegi panjang3. Menghitung Umur seseorang4. Menghitung luas segitiga5. Menghitung Luas lingkaran (Luas =

∏*R*R )

Page 10: Algoritma Dan Pemrograman UNSERA

10

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 PulsaOutput : Jumlah bayar

7. Sebuah Supermarket di Cilegon akan memberikan discount sebesar 30 % bagi setiap pembelian.Input : Nama barang, jumlah pembelianOutput : Diskon,Jumlah pembayaran

Page 11: Algoritma Dan Pemrograman UNSERA

11

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, UASOutput: 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 akhirOutput: Jumlah pembayaran

Page 12: Algoritma Dan Pemrograman UNSERA

12

Menjumlahkan 2 buah bilangan

Untuk Menjumlahkan 2 buah bilangan, harus diketuhui :1.Besarnya bilangan 1 dan bilangan 22.Rumus menjumlahkan

Jumlah = bilangan 1 + bilangan 23.Mencetak hasil penjumlahan

Page 13: Algoritma Dan Pemrograman UNSERA

13

Algoritma No. 1 :

Input bilangan1, bilangan 2 atau x,y Jumlah x + y Cetak Jumlah

Page 14: Algoritma Dan Pemrograman UNSERA

14

pseudo-code

Algoritma penjumlahan{menghitung jumlah x dan y, dengan inputan x dan y}

Deklarasix,y,jumlah : integer;

Deskripsiread(x,y)jumlah x +ywrite(jumlah)

Page 15: Algoritma Dan Pemrograman UNSERA

15

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

Page 16: Algoritma Dan Pemrograman UNSERA

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.

Page 17: Algoritma Dan Pemrograman UNSERA

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}

Page 18: Algoritma Dan Pemrograman UNSERA

Input dan Output Input : Read dan Readln

Read = menerima inputan dari keyboard tanpa ganti barisReadln = menerima inputan dari keyboard dengan ganti baris

Output : Write dan WritelnWrite = mencetak teks tanpa ganti barisWriteln = mencetak teks dengan ganti baris

Page 19: Algoritma Dan Pemrograman UNSERA

19

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.

Page 20: Algoritma Dan Pemrograman UNSERA

20

Tipe Data Dasar

Char String Integer Real Boolean

Page 21: Algoritma Dan Pemrograman UNSERA

21

Tipe Data Bentukan

Array Record Set File Text Pointer

Page 22: Algoritma Dan Pemrograman UNSERA

22

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.

Page 23: Algoritma Dan Pemrograman UNSERA

23

Operator AritmatikaSimb

olOperasi 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

Page 24: Algoritma Dan Pemrograman UNSERA

24

Operator PerbandinganSimbo

lOperasi 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

Page 25: Algoritma Dan Pemrograman UNSERA

25

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

Page 26: Algoritma Dan Pemrograman UNSERA

Variabel

Variabel adalah parameter yang digunakan untuk menyimpan data yang bersifat sementara.ContohVar

A : real;Nama: string;

Page 27: Algoritma Dan Pemrograman UNSERA

Konstanta

Konstanta adalah parameter yang digunakan untuk menyimpan data yang bersifat tetap.ContohConst

A = 100;Nama =’Amir’;

Page 28: Algoritma Dan Pemrograman UNSERA

28

Pemilihan/Percabangan

IF ( IF- Then, IF-Then-Else dan IF Berkalang/Bersarang)

CASE (CASE –OF dan CASE-OF-ELSE)

Page 29: Algoritma Dan Pemrograman UNSERA

29

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 ).

Page 30: Algoritma Dan Pemrograman UNSERA

30

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 ketentuanNilai Akhir >= 70 ket = “lulus”Nilai Akhir < 70 ket = “tidak lulus”

Page 31: Algoritma Dan Pemrograman UNSERA

31

Soal IF Then (2)4. Sebuah Supermarket di Cilegon akan memberikan

discount sebesar 30 % untuk pembelian >= 300.000,-.Input : Nama barang, jumlah pembelianOutput : Diskon, Jumlah pembayaran

5. Sebuah perusahaan Taxi mempunyai peraturan mengenai tarif yang dibebankan kepada penumpang sebagai berikut :Untuk Kilometer pertama = Tarif Rp 5000Untuk Kilometer kedua = Tarif Rp 3000Masukan : Jarak yang ditempuhKeluaran : Jumlah pembayaran

Page 32: Algoritma Dan Pemrograman UNSERA

32

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 }

Page 33: Algoritma Dan Pemrograman UNSERA

33

Soal IF Then Else(1) Soal no. 1 s/d 5 sama dengan soal pada

statemen IF-Then6. 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, UASOutput : Nilai Akhir (NA), Grade/Nilai

Page 34: Algoritma Dan Pemrograman UNSERA

34

7. Hitung gaji bersih karyawan dengan ketentuan:

Gaji Kotor = Gaji Poko + Tunjangan Pajak sebesar 2,5% dari gaji pokok Gaji bersih = gaji kotor - pajak

Gol Gaji Pokok Tunjangan

IIA 1.000.000 200.000

IIB 1.500.000 300.000

IIC 2.000.000 400.000

Soal IF Then Else(2)

Page 35: Algoritma Dan Pemrograman UNSERA

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

Page 36: Algoritma Dan Pemrograman UNSERA

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 copyouput : diskon dan bayar

Page 37: Algoritma Dan Pemrograman UNSERA

37

4. Hitung gaji bersih karyawan dengan ketentuan:

Gaji Kotor = Gaji Poko + Tunjangan Pajak sebesar 2,5% dari gaji pokok Gaji bersih = gaji kotor - pajak

Gol Gaji Pokok Tunjangan

IIA 1.000.000 200.000

IIB 1.500.000 300.000

IIC 2.000.000 400.000

Quiz(3)

Page 38: Algoritma Dan Pemrograman UNSERA

38

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 }

Page 39: Algoritma Dan Pemrograman UNSERA

39

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.

Page 40: Algoritma Dan Pemrograman UNSERA

40

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 RenangInput = Nama, Gaji, GolonganOutput = Iuran yang harus dibayar dan Fasilitas yang boleh digunakan

Page 41: Algoritma Dan Pemrograman UNSERA

41

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 :

Upah Lembur jika bekerja lebih dari atau > 8 jam sehari. Upah dihitung setiap hariInput = Nama, Golongan, dan Jam kerjaOutput = Upah Lembur, Nama dan Upah Total

Gol Upah harian Upah lembur/jam

1 30000 3000

2 40000 4000

3 50000 5000

Page 42: Algoritma Dan Pemrograman UNSERA

42

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.

Page 43: Algoritma Dan Pemrograman UNSERA

43

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,-

Page 44: Algoritma Dan Pemrograman UNSERA

44

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.

Page 45: Algoritma Dan Pemrograman UNSERA

45

PERULANGAN

Mencetak sejumlah statemen atau nilai dengan jumlah yang telah ditentukan.

Macam perulangan :- FOR- WHILE –DO- REPEAT UNTIL

Page 46: Algoritma Dan Pemrograman UNSERA

46

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;

Page 47: Algoritma Dan Pemrograman UNSERA

47

SOAL FOR

1. Cetak bilangan asli dari 1 s/d 102. Cetak kata ‘pascal’ sebanyak 10x3. Buat tabel harga BBM4. Buat tabel operasi matematika5. Buat tabel nilai diskriminan

Page 48: Algoritma Dan Pemrograman UNSERA

48

SOAL WHILE DAN REPEAT

Rubah program dari soal for menjadi while dan repeat.

Page 49: Algoritma Dan Pemrograman UNSERA

49

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.

Page 50: Algoritma Dan Pemrograman UNSERA

SOAL

1. Menerima inputan n buat nama dan mencetaknya

2. Mencari jumlah dan rata2 dari n buah data yang diinputkan

3. Buat tabel operasi matematika4. Hitung nilai akhir dan grade mata

kuliah ‘X’5. Hitung gaji total pegawai

Page 51: Algoritma Dan Pemrograman UNSERA

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 (1)

Page 52: Algoritma Dan Pemrograman UNSERA

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 (2)

Page 53: Algoritma Dan Pemrograman UNSERA

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 (3)

Page 54: Algoritma Dan Pemrograman UNSERA

6. Buat program mencari luas lingkaran panjang dengan prosedur input dan output.

7. Rubah program dari soal array menjadi prosedur.

PROSEDUR (4)