Algoritma & Pemrograman

57
1 Algoritma & Pemrograman Darpi Supriyanto, S.Si.,M.Kom Email : [email protected] [email protected] HP : 081310985321

description

Algoritma & Pemrograman. Darpi Supriyanto, S.Si.,M.Kom Email : [email protected] [email protected] HP : 081310985321. Penilaian. Kehadiran (%) Tugas (20%) Kuis (15%) UTS (25%) UAS (40%) Perilaku/Etika. Pokok Bahasan. - PowerPoint PPT Presentation

Transcript of Algoritma & Pemrograman

Page 1: Algoritma & Pemrograman

1

Algoritma & Pemrograman

Darpi Supriyanto, S.Si.,M.Kom

Email : [email protected]

[email protected]

HP : 081310985321

Page 2: Algoritma & Pemrograman

2

Penilaian

Kehadiran (%) Tugas (20%) Kuis (15%) UTS (25%) UAS (40%) Perilaku/Etika

Page 3: Algoritma & Pemrograman

3

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

Page 4: Algoritma & Pemrograman

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 & Pemrograman

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 & Pemrograman

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 & Pemrograman

Flowchart dan Program

Flowchart :Gambar atau simbol yang digunakan untuk menjelaskan algoritma.

Program :Algoritma yang diimplementasikan dalam bahasa pemrograman tertentu

Page 8: Algoritma & Pemrograman

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 & Pemrograman

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 & Pemrograman

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, total pembelianOutput : Diskon,Jumlah pembayaran

Page 11: Algoritma & Pemrograman

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 & Pemrograman

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 & Pemrograman

13

Algoritma No. 1 :

Input x,y Jumlah x + y Cetak Jumlah

Page 14: Algoritma & Pemrograman

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 & Pemrograman

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 & Pemrograman

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 & Pemrograman

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 & Pemrograman

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 & Pemrograman

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 & Pemrograman

20

Tipe Data Dasar

Char String Integer Real Boolean

Page 21: Algoritma & Pemrograman

21

Tipe Data Bentukan

Array Record Set File Text Pointer

Page 22: Algoritma & Pemrograman

Tipe Data Dasar

Char menyimpan 1 huruf atau karakter

String menyimpan lebih 1 huruf atau gabungan dengan angka.

Integer menyimpan bilangan bulat Real menyimpan bilangan pecahan Boolean menyimpan benar atau

salah

Page 23: Algoritma & Pemrograman

Tipe Data integer

Tipe Jangkauan nilai

Byte 0 .. 255

Word 0 .. 65535

Shortint -128 .. 127

Integer -32768 .. 32767

Longint -214783648 .. 2147483647

Page 24: Algoritma & Pemrograman

24

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 25: Algoritma & Pemrograman

25

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 26: Algoritma & Pemrograman

26

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 27: Algoritma & Pemrograman

27

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 28: Algoritma & Pemrograman

Variabel

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

A : real;Nama: string;

Page 29: Algoritma & Pemrograman

Konstanta

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

A = 100;Nama =’Amir’;

Page 30: Algoritma & Pemrograman

Aturan Pengenal karakter pertama harus berupa huruf,

kedua boleh huruf atau angka. Huruf besar dan huruf kecil diangkap SAMA.

Tidak boleh mengandung blank karakter atau spasi.

Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah

Tidak boleh menggunakan kata – kata cadangan (reseved words ) karena sudah di definisikan oleh PASCAL untuk maksud tertentu.

Page 31: Algoritma & Pemrograman

31

Pemilihan/Percabangan

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

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

Page 32: Algoritma & Pemrograman

32

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 33: Algoritma & Pemrograman

33

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 34: Algoritma & Pemrograman

34

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 35: Algoritma & Pemrograman

35

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 36: Algoritma & Pemrograman

36

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 37: Algoritma & Pemrograman

37

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 38: Algoritma & Pemrograman

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 39: Algoritma & Pemrograman

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 40: Algoritma & Pemrograman

40

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 41: Algoritma & Pemrograman

41

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 42: Algoritma & Pemrograman

42

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 43: Algoritma & Pemrograman

43

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 44: Algoritma & Pemrograman

44

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 45: Algoritma & Pemrograman

45

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 46: Algoritma & Pemrograman

46

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 47: Algoritma & Pemrograman

47

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 48: Algoritma & Pemrograman

48

PERULANGAN

Mencetak sejumlah statemen atau nilai dengan jumlah yang telah ditentukan.

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

Page 49: Algoritma & Pemrograman

49

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 50: Algoritma & Pemrograman

50

SOAL FOR

1. Cetak bilangan asli dari 1 s/d N2. Cetak bilangan dari min ke max3. Buat tabel harga BBM4. Buat tabel operasi matematika5. Buat tabel nilai diskriminan

Page 51: Algoritma & Pemrograman

51

SOAL WHILE DAN REPEAT

Rubah program dari soal for menjadi while dan repeat.

Page 52: Algoritma & Pemrograman

52

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 53: Algoritma & Pemrograman

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 54: Algoritma & Pemrograman

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 55: Algoritma & Pemrograman

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 56: Algoritma & Pemrograman

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 57: Algoritma & Pemrograman

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

7. Rubah program dari soal array menjadi prosedur.

PROSEDUR (4)