Anda di halaman 1dari 54

Algoritma & Pemrograman

Darpi Supriyanto, S.Si Email : darpisupriyanto@yahoo.co.id darpisupriyanto02@gmail.com

HP : 081310985321

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

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. 2. 3. 4. 5. Penjumlahan 2 buah bilangan Menghitung luas persegi panjang Menghitung Umur seseorang Menghitung luas segitiga Menghitung Luas lingkaran (Luas = *R*R )

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

9.

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. 1 2 3 4 5 6 Simbol Keterangan Start(mulai) / end (akhir) Input atau output Proses Pemilihan/percabangan Perulangan Arus data

7 8

Konektor 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 Statemen; End. {awal program} {pernyataan-pernyataan} {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 ^ * / \ Mod + & Operasi Matematis Pemangkatan Perkalian Pembagian ( hasil Pecahan ) Pembagian ( hasil bulat ) Sisa pembagian Penjumlahan Pengurangan Penggabungan String Contoh 5 ^ 2 hasilnya 25 5 * 2 hasilnya 10 5 /2 hasilnya 2,5 5\2 hasilnya 2 5 Mod 2 hasilnay 1 5 + 2 hasilnya 7 5 2 hasilnya 3 5 dan 2 hasinya 52
23

Operator Perbandingan
Simbol < > <= >= = <> Operasi perbandingan Lebih kecil Lebih besar Lebih kecil atau sama dengan Lebih besar atau sama dengan Sama dengan Tidak sama dengan Contoh 5 < 2 hasilnya FALSE 5 >2 hasilnya TRUE 5<=2 hasilnya FALSE 5>=2 hasilnya TRUE 5 = 2 hasilnya FALSE 5 <> 2 hasilnya TRUE
24

Operator logika
Simbol Or And Not Operasi logika Atau Dan Tidak Contoh (5<2) or (5>2) Hasilnya TRUE (5<2) and (5>2) hasilnya FALSE 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 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

5.

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;049=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 IIA IIB IIC Gaji Pokok 1.000.000 1.500.000 2.000.000 Tunjangan 200.000 300.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 IIA IIB IIC Gaji Pokok 1.000.000 1.500.000 2.000.000 Tunjangan 200.000 300.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
2 3

30000
40000 50000

3000
4000 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 Tentukan jumlah bayar jika :
Jumlah beli 1 100 101 200 201 300 Harga satuan Rp. 15.000,Rp. 14.000,Rp.13.000,43

2.

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. 2. 3. 4. 5. Cetak bilangan asli dari 1 s/d 10 Cetak kata pascal sebanyak 10x Buat tabel harga BBM Buat tabel operasi matematika 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.

Anda mungkin juga menyukai