materi algoritma dan pemrograman insan unggul new

55
ALGORITMA & PEMROGRAMAN Darpi Supriyanto, S.Si Email : [email protected] [email protected] HP : 081310985321 @stikomiu.ac.id

Upload: asdammantap

Post on 18-Dec-2014

17.483 views

Category:

Technology


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Materi algoritma dan pemrograman insan unggul new

ALGORITMA & PEMROGRAMAN

Darpi Supriyanto, S.Si

Email : [email protected]

[email protected]

HP : 081310985321

@stikomiu.ac.id

Page 2: Materi algoritma dan pemrograman insan unggul new

Penilaian

Kehadiran (10%) Tugas (20%) Kuis (20%) UTS (20%) UAS (30%) Perilaku/Etika

Page 3: Materi algoritma dan pemrograman insan unggul new

Pokok Bahasan Pendahuluan Algoritma, Flowchart dan Program Input dan Output Tipe Data dan Operator Variabel dan Konstanta Percabangan/Pemilihan Perulangan Array Fungsi Struktur

Page 4: Materi algoritma dan pemrograman insan unggul new

Referensi

Andul kadir, Pemrograman C++, Andi, yogyakarta, 2003.

Antony Pranata, Algoritma dan Pemrograman, J&J Learning, Yogyakarta, 2002.

Rinadi Munir, Algoritma dan Pemrograman Buku 1, Informatika, Bandung,2002.

Page 5: Materi algoritma dan pemrograman insan unggul new

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

Page 6: Materi algoritma dan pemrograman insan unggul new

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 7: Materi algoritma dan pemrograman insan unggul new

Algoritma

Urutan langkah-langkah untuk memecahkan masalah logika atau matematika.

Kamus Besar Bahasa Indonesia :

Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah

Page 8: Materi algoritma dan pemrograman insan unggul new

Flowchart dan Program

Flowchart :

Gambar atau simbol yang digunakan untuk menjelaskan algoritma.

Program :

Algoritma yang diimplementasikan dalam bahasa pemrograman tertentu

Page 9: Materi algoritma dan pemrograman insan unggul new

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 )

Page 10: Materi algoritma dan pemrograman insan unggul new

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: Materi algoritma dan pemrograman insan unggul new

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: Materi algoritma dan pemrograman insan unggul new

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

Page 13: Materi algoritma dan pemrograman insan unggul new

Algoritma No. 1 :

Input x, y Jumlah x + y Cetak Jumlah

Page 14: Materi algoritma dan pemrograman insan unggul new

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 15: Materi algoritma dan pemrograman insan unggul new

Input dan Output Output : cout dan printf

cout <<“Belajar C++\n”;

Input : cin dan scanf

cin>>x;

Page 16: Materi algoritma dan pemrograman insan unggul new

16

pseudo-code

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

Deklarasix,y,jumlah : int;

Deskripsicin>>x,yjumlah x +ycout<<jumlah

Page 17: Materi algoritma dan pemrograman insan unggul new

17

pseudo-code

Algoritma luas_persegipanjang{menghitung luas persegi panjang, dengan inputan p dan l}

Deklarasip,l,luas : int;

Deskripsicin>>p,lluas p * lcout<<luas

Page 18: Materi algoritma dan pemrograman insan unggul new

Contoh program

#include<iostream.h>

#include<conio.h>

Void main()

{ clrscr();

cout<<“belajar C++\n”;

getch();

}

Page 19: Materi algoritma dan pemrograman insan unggul new

Variabel

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

Contoh

float a;

char nama[25];

Page 20: Materi algoritma dan pemrograman insan unggul new

Konstanta

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

Contoh

Const

A = 100;

Nama =’Amir’;

Page 21: Materi algoritma dan pemrograman insan unggul new

Pengenal

Nama yang digunakan dalam pemrograman C++ disebut pengenal (Identifier). Pengenal dapat didefinisikan sendiri (dibuat sendiri). Pengenal dapat berbentuk sebagai pengenal program, pengenal variabel, pengenal konstanta, pengenal prosedur, pengenal fungsi, dan sebagainya.

Page 22: Materi algoritma dan pemrograman insan unggul new

Aturan Pengenal karakter pertama harus berupa huruf, kedua

boleh huruf atau angka. Huruf besar dan huruf kecil diangkap BERBEDA.

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 C++ untuk maksud tertentu.

Page 23: Materi algoritma dan pemrograman insan unggul new

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 24: Materi algoritma dan pemrograman insan unggul new

Tipe Data DasarTipe Data Ukuran

MemoriJangkauan Nilai

char 1 byte -128 s/d +127

int 2 byte -32768 s/d +32767

long 4 byte -2.147.438.648 s/d +2.147.438.647

float 4 byte 3.4 x 10-38 s/d 3.4 x 10+38

double 8 byte 1.7 x 10-308 s/d 1.7 x 10+308

long double 10 byte 3.4 x 10-4932 s/d 1.1 x 10+4932

Page 25: Materi algoritma dan pemrograman insan unggul new

Tipe Data Bentukan

Array Record Set File Text Pointer

Page 26: Materi algoritma dan pemrograman insan unggul new

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. Operator penurunan dan penaikan,

digunakan untuk operasi menurunkan dan menaikan nilai variabel sebesar satu.

Page 27: Materi algoritma dan pemrograman insan unggul new

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 /div) 5\2 hasilnya 2

% Sisa pembagian 5 % 2 hasilnay 1

+ Penjumlahan 5 + 2 hasilnya 7

- Pengurangan 5 – 2 hasilnya 3

Page 28: Materi algoritma dan pemrograman insan unggul new

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

Page 29: Materi algoritma dan pemrograman insan unggul new

Operator logika

Simbol

Operasi logika

Contoh

|| Atau (5<2) || (5>2) Hasilnya TRUE

&& Dan (5<2) &&(5>2) hasilnya FALSE

| Tidak | (5<2) hasilnya TRUE

Page 30: Materi algoritma dan pemrograman insan unggul new

Operator Penurunan dan Penaikan

Operator Contoh

++ Operator penaikan

_ _ Operator penurunan

Page 31: Materi algoritma dan pemrograman insan unggul new

Pemilihan/Percabangan IF ( IF Sederhana, IF-Else dan IF

Berkalang/Bersarang) CASE /SWITCH

Page 32: Materi algoritma dan pemrograman insan unggul new

Statemen IF Sederhana Statemen IF sederhana 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 sederhana adalah sebagai berikut : IF kondisi

Statemen1 ; { Pernyataan yang dijalankan jika kondisi bernilai

benar } Kondisi merupakan suatu ekspresi bertipe boolean,

artinya hanya bernilai benar ( True ) atau salah ( False ).

Page 33: Materi algoritma dan pemrograman insan unggul new

Soal (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”

Page 34: Materi algoritma dan pemrograman insan unggul new

Soal (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 dan selanjutnya = Tarif Rp 3000Masukan : Jarak yang ditempuhKeluaran : Jumlah pembayaran

Page 35: Materi algoritma dan pemrograman insan unggul new

Statemen IF-Else Statemen IF-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- Else sebagai berikut :IF kondisi Statemen1 { Pernyataan yang dijalankan,

jika kondisi bernilai benar }ELSE

Statemen2 ; {Pernyataan yang dijalankan, jika kondisi benilai salah }

Page 36: Materi algoritma dan pemrograman insan unggul new

Soal 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: Materi algoritma dan pemrograman insan unggul new

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

Page 38: Materi algoritma dan pemrograman insan unggul new

38

Statemen IF Tersarang/Berkalang

Statemen If berkalang/tersarang digunakan untuk menguji kondisi yang berada di dalam kondisi lain. Bentuk umum :IF (kondisi1)

IF (kondisi2) Statemen1 { Pernyataan yang dijalankan,

jika kondisi1 dan kondisi2 bernilai benar }

ELSE statemen2 { Pernyataan yang dijalankan,

jika kondisi1 benar dan kondisi2 salah }

ELSEStatemen3 ; {Pernyataan yang dijalankan,

jika kondisi1 dan kondisi2 benilai salah }

Page 39: Materi algoritma dan pemrograman insan unggul new

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: Materi algoritma dan pemrograman insan unggul new

40

Soal IF Berkalang(2)

2. 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 hari

Input = Nama, Golongan, dan Jam kerja

Output = Upah Lembur, Nama dan Upah Total

Gol Upah harian Upah lembur/jam

1 30000 3000

2 35000 4000

3 40000 5000

Page 41: Materi algoritma dan pemrograman insan unggul new

41

SWITCH/CASE

Bentuk umum : switch (ungkapan){

case ungkapan1:statemen1;break;case ungkapan2:statemen2;break;…..case ungkapann:statemenn;break;

}Ungkapan harus bertipe integer dan char. Tipe

string dan real tidak boleh sebagai ungkapan.

Page 42: Materi algoritma dan pemrograman insan unggul new

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

Page 43: Materi algoritma dan pemrograman insan unggul new

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.

Page 44: Materi algoritma dan pemrograman insan unggul new

44

PERULANGAN

Mencetak sejumlah statemen atau nilai dengan jumlah yang telah ditentukan.

Macam perulangan :- FOR- WHILE –DO- WHILE

Page 45: Materi algoritma dan pemrograman insan unggul new

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 (nilai awal;nilai akhir; pertambahan)

statemen; Perulangan Negatif = perulangan dengan nilai

pencacah/counter dari besar ke kecil atau pertambahan negatif.FOR (nilaiakhir; nilai awal;pengurangan)

statemen;

Page 46: Materi algoritma dan pemrograman insan unggul new

Contoh for :

for (bil=1;bil<=5;bil++)cout<<bil<<endl;

for (bil=5;bil>=1;bil--)cout<< bil <<endl;

for (bil=1;bil<=5;bil+=2)cout<< bil <<endl;

Page 47: Materi algoritma dan pemrograman insan unggul new

47

SOAL FOR

1. Cetak bilangan asli dari 1 s/d 10

2. Cetak kata ‘Turbo C++’ sebanyak jumlah data yang diinputkan

3. Buat tabel harga BBM

4. Buat tabel operasi matematika

5. Buat tabel nilai diskriminan

Page 48: Materi algoritma dan pemrograman insan unggul new

48

SOAL WHILE DO DAN WHILE

Rubah program dari soal for menjadi while do dan while.

Page 49: Materi algoritma dan pemrograman insan unggul new

49

ARRAY

Tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang memiliki tipe data yang sama.contoh :int cacah[10];char kota[10][25];

Terbagi menjadi array dimensi satu,array dimensi dua dan array dimensi banyak.

Page 50: Materi algoritma dan pemrograman insan unggul new

SOAL

1. Menerima inputan n buat nama dan mencetaknya

2. Input sejumlah suhu dan mencetaknya

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

4. Buat tabel operasi matematika

5. Hitung nilai akhir dan grade mata kuliah ‘X’

6. Hitung gaji total pegawai

Page 51: Materi algoritma dan pemrograman insan unggul new

Array no. 7Sebuah 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 hari

Input = Nama, Golongan, dan Jam kerja

Output = Upah Lembur, Nama dan Upah Total

Gol Upah harian Upah lembur/jam

1 30000 3000

2 35000 4000

3 40000 5000

Page 52: Materi algoritma dan pemrograman insan unggul new

Fungsi (1) Merupakan suatu program terpisah dalam blok

sendiri yang berfungsi sebagai sub program. Ada 2 jenis deklarasi variabel dalam fungsi, yaitu

lokal dan global Lokal : variabel yang digunakan hanya dalam

fungsi itu saja dan tidak dikenal diluar fungsi. Global : variabel yang digunakan seluruh program

baik program utama maupun subprogram.

Page 53: Materi algoritma dan pemrograman insan unggul new

Fungsi (2) Tujuan Pembuatan Fungsi :1. Memudahkan dalam pengembangan

program2. Menghemat dalam ukuran program. Manfaat

ini akan terasa jika ada beberapa deret instruksi yang sama digunakan pada bebebrapa tempat di dalam program.

Page 54: Materi algoritma dan pemrograman insan unggul new

Fungsi (3) :

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 )

Page 55: Materi algoritma dan pemrograman insan unggul new

Fungsi (4)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