of 54 /54
1 Algoritma & Pemrograman Darpi Supriyanto, S.Si Email : [email protected] [email protected] HP : 081310985321

Algoritma Dan Pemrograman UNSERA

Embed Size (px)

DESCRIPTION

post by http://irwinshare.blogspot.com

Text of Algoritma Dan Pemrograman UNSERA

Algoritma & Pemrograman

Darpi Supriyanto, S.Si Email : [email protected] [email protected]

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 Record3

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 Pemrograman1. Analisa masalah 2. Memilih algoritma untuk menyelesaikan masalah itu 3. Menulis Coding/program (IPO) 4. Menguji program 5. Merawat programProgramming tidak hanya sekedar mengetik di keyboard5

Definisi AlgoritmaUrutan langkah-langkah untuk memecahkan masalah logika atau matematika.Kamus Besar Bahasa Indonesia :

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah

Flowchart dan ProgramFlowchart : 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 pemrograman8

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 )

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

9.

Menjumlahkan 2 buah bilanganUntuk 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 FlowchartNo. 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 program15

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 PascalProgram 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 AritmatikaSimbol ^ * / \ 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 5223

Operator PerbandinganSimbol < > = = 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 TRUE 5 = 2 hasilnya FALSE 5 2 hasilnya TRUE24

Operator logikaSimbol Or And Not Operasi logika Atau Dan Tidak Contoh (52) Hasilnya TRUE (52) hasilnya FALSE Not (5= 70 ket = lulus Nilai Akhir < 70 ket = tidak lulus30

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 pembayaran31

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 digunakan40

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

12 3

3000040000 50000

30004000 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 Total41

CASEBentuk 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 UNTIL45

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

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