misalnya : a = 10 b = 15 c = 5

30
PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan tatabahasanya (syntaxis), instruksi, tatacara pengoperasian “compiler”

Upload: fawn

Post on 03-Feb-2016

76 views

Category:

Documents


0 download

DESCRIPTION

PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan tatabahasanya (syntaxis), instruksi, tatacara pengoperasian “compiler”. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Misalnya :                  A = 10                  B = 15                  C =  5

PEMROGRAMAN

Belajar memrogram :belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami

Belajar bahasa pemrograman :belajar memakai suatu bahasa pemrograman, aturan tatabahasanya (syntaxis), instruksi, tatacara pengoperasian “compiler”

Page 2: Misalnya :                  A = 10                  B = 15                  C =  5

Urutan pekerjaan dalam pembuatan program :

1. Pendefinisian masalah apa input & outputnya2. Penyusunan algoritma diagram alir/ flowchart3. Pengkodean (coding) menerjemahkan algoritma kedalam bahasa pemrograman4. Runing & debugging menjalankan program dan memperbaiki kesalahan yang ada5. Dokumentasi program arsip program, termasuk listing program dan penjelasannya

Page 3: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma :

adalah urutan logis pengambilan keputusan untuk pemecahan masalah (KBBI – Kamus Besar Bahasa Indonesia , Balai Pustaka, 1988) urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis

Page 4: Misalnya :                  A = 10                  B = 15                  C =  5

Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut pemroses harus mengerti setiap langkah dalam algoritma

Bila pemrosesnya adalah komputer, maka algoritma harus ditulis dalam notasi bahasa pemrograman disebut sebagai program komputer

Jadi :* algoritma adalah urutan langkah-langkah penyelesaian masalah* program komputer adalah realisasi algoritma dalam bahasa pemrograman

Page 5: Misalnya :                  A = 10                  B = 15                  C =  5

Contoh persoalan (1) :

ada 2 buah bejana, sebut saja bejana A dan bejana B, dimana bejana A berisi larutan berwarna merah dan bejana B berisi larutan berwarna biru. Kedua isi bejana tersebut akan dipertukarkan, sehingga bejana A akan berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.Buatlah algoritma pemecahan masalahnya !

Page 6: Misalnya :                  A = 10                  B = 15                  C =  5

•Pendefinisian masalah : - masukan (input) : bejana A berisi larutan berwarna merah bejana B berisi larutan berwarna biru

- keluaran (output) : bejana A berisi larutan berwarna biru bejana B berisi larutan berwarna merah

* Algoritma : 1) tuangkan larutan dari bejana A ke dalam bejana B 2) tuangkan larutan dari bejana B ke dalam bejana A

Page 7: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma di muka tidak memberikan hasil seperti yang diharapkan hasil akhir yang diperoleh adalah bejana A berisi campuran dari larutan berwarna merah dan biru, sedangkan bejana B kosong.

Seharusnya :1) tuangkan larutan dari bejana A ke dalam bejana kosong C2) tuangkan larutan dari bejana B ke dalam bejana A3) tuangkan larutan dari bejana C ke dalam bejana B

Page 8: Misalnya :                  A = 10                  B = 15                  C =  5

Contoh persoalan (2) :

diberikan 5 buah bilangan bulat positif, sebut saja bilangan A, B, C, D, dan E.Carilah bilangan terkecil diantara kelima bilangan tersebut !

* Pendefinisian masalah : - input : bilang bulat positif A, B, C, D, E - output : bilangan terkecil diantara kelima bilangan tersebut

Page 9: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma :1. ambil X = A2. bila X > B , maka X = B bila X <= B , maka X tetap3. bila X > C , maka X = C bila X <= C , maka X tetap4. bila X > D , maka X = D bila X <= D , maka X tetap5. bila X > E , maka X = E bila X <= E , maka X tetap6. bilangan terkecil adalah X

Page 10: Misalnya :                  A = 10                  B = 15                  C =  5

Contoh persoalan (3) :

Diberikan 2 buah bilangan bulat positif m dan n, dimana m > n.Carilah bilangan pembagi bersama terbesar (PBT) dari kedua bilangan tersebut (PBT = bilangan bulat positif terbesar yang membagi habis bilangan m dan n)

* Pendefinisian masalah : - input : bilangan bulat positif m dan n, m>n - output : bilangan pembagi bersama terbesar untuk bilangan m dan n

Page 11: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma :

1) bagilah bilangan m dengan n, sebut saja sisanya adalah s2) jika s = 0, maka PBT = n, selesai jika s ≠ 0, maka lanjutkan ke langkah 33) ganti nilai m dengan n, ganti nilai n dengan s4) kembali ke langkah 1

Page 12: Misalnya :                  A = 10                  B = 15                  C =  5

STRUKTUR DASAR ALGORITMA

1. SEQUENCE BERURUTAN2. SELECTION PEMILIHAN3. REPETITION PENGULANGAN

Page 13: Misalnya :                  A = 10                  B = 15                  C =  5

Contoh persoalan (4) :

Diberikan 5 buah bilangan bulat positif A, B, C, D, E.Buatlah algoritma agar kelima buah bilangan tersebut tersusun berurutan dari yang terkecil sampai yang terbesar !

Page 14: Misalnya :                  A = 10                  B = 15                  C =  5

 

 

Contoh persoalan (4) :

Diberikan 5 buah bilangan bulat positif A, B, C, D, E.Buatlah algoritma agar kelima buah bilangan tersebut tersusun berurutan dari yang terkecil sampai yang terbesar !

Misalnya :

A = 10

B = 15

C = 5

D = 17

E = 2

Page 15: Misalnya :                  A = 10                  B = 15                  C =  5

 

Putaran ke-1 :

10 15 5 17 2  

Cari elemen terkecil dari elemen ke-1 sampai ke-5 Elemen ke-5, nilai 2

 

 

2 15 5 17 10  

Pertukarkan nilai elemen ke-5 dengan elemen ke-1

Putaran ke-2 :

2 15 5 17 10

Cari elemen terkecil dari elemen ke-2 sampai ke-5 Elemen ke-3, nilai 5

2 5 15 17 10

Pertukarkan nilai elemen ke-3 dengan elemen ke-2

 

Page 16: Misalnya :                  A = 10                  B = 15                  C =  5

 

Putaran ke-3 :

2 5 15 17 10  

Cari elemen terkecil dari elemen ke-3 sampai ke-5 Elemen ke-5, nilai 10

 

 

2 5 10 17 15  

Pertukarkan nilai elemen ke-5 dengan elemen ke-3

Putaran ke-4 :

2 5 10 17 15

Cari elemen terkecil dari elemen ke-4 sampai ke-5 Elemen ke-5, nilai 15

2 5 10 15 17

Pertukarkan nilai elemen ke-5 dengan elemen ke-4

 

Page 17: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma dari penyelesaian masalah pengurutan data :

T0 : kumpulan data ke-1 sampai ke-n belum terurut membesar algoritma pengurutan data T1 : kumpulan data ke-1 sampai ke-n

sudah terurut membesar

Page 18: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma pengurutan data :diberikan N buah data yang tersusun secara acak, urutkan kumpulan data tersebut sehingga :data ke-1≤ data ke-2 ≤ ……… ≤ data ke-N

* Deskripsi : untuk putaran K=1,2, ….. ,N-1, lakukan : 1) cari data dengan nilai terkecil mulai dari data ke-K sampai data ke-N 2) pertukarkan data dengan nilai terkecil dengan data ke-K

Page 19: Misalnya :                  A = 10                  B = 15                  C =  5

1.1 Data ke-K dianggap data terkecil (min)1.2 Bandingkan min dengan data ke-J=K+1,K+2, ….. ,N 1.2.1 untuk J=K+1,K+2, ….. , N lakukan : jika data ke-J lebih kecil dari min , maka isikan data ke-J sebagai min yang baru2.1 Tempatkan data ke-K disebuah tempat sementara (temp)2.2 Tempatkan min di tempat data ke-k (ini akan berakibat nilai lama terhapus)2.3 Tempatkan nilai yang tersimpan di temp di tempat min yang lama

Page 20: Misalnya :                  A = 10                  B = 15                  C =  5

DESKRIPSI SECARA LENGKAP Untuk putaran ke-K=1,2, ……. ,N-1 , lakukan :

1. Data ke-K dianggap data terkecil sementara (min)2. Untuk J=K+1,K+2, ……. , N , lakukan : jika data ke-J lebih kecil dari min, maka isikan data ke-J sebagai min yang baru3. Tempatkan data ke-K di sebuah tempat sementara (temp), tempatkan min di tempat data ke-K yang lama, tempatkan temp di tempat min yang lama

Page 21: Misalnya :                  A = 10                  B = 15                  C =  5

Pengurutan data metode Bubble sort (pengurutan gelembung) :untuk setiap putaran ke-I=1,2,…..,N-1 , lakukan : mulai dari elemen K=N,N-1, …. , I+1 lakukan : 1. Bandingkan L(K) dengan L(K-1) 2. Pertukarkan L(K) dengan L(K-1) jika L(K)<L(K-1)Contoh : N=6 25 , 27 , 10 , 8 , 76 , 21

Putaran ke-1 : K=6 : 25 27 10 8 21 76 K=5 : 25 27 10 8 21 76 K=4 : 25 27 8 10 21 76 K=3 : 25 8 27 10 21 76 K=2 : 8 25 27 10 21 76

Page 22: Misalnya :                  A = 10                  B = 15                  C =  5

Putaran ke-2 : K=6 : 8 25 27 10 21 76 K=5 : 8 25 27 10 21 76 K=4 : 8 25 10 27 21 76 K=3 : 8 10 25 27 21 76

Putaran ke-3 : K=6 : 8 10 25 27 21 76 K=5 : 8 10 25 21 27 76 K=4 : 8 10 21 25 27 76 Putaran ke-4 : K=6 : 8 10 21 25 27 76 K=5 : 8 10 21 25 27 76 Putaran ke-5 : K=6 : 8 10 21 25 27 76

Page 23: Misalnya :                  A = 10                  B = 15                  C =  5

Pengurutan data metode Selection sort (pengurutan pilih) :

1. Jumlah putaran = N – 12. Untuk setiap putaran ke-I = 1,2, …. ,jumlah putaran ; lakukan : - cari elemen terbesar mulai dari elemen ke-1 sampai elemen ke-N - pertukarkan elemen terbesar dengan elemen ke-N - nilai N kurangi satu

Page 24: Misalnya :                  A = 10                  B = 15                  C =  5

Contoh : N=6 25 , 27 , 10 , 8 , 76 , 21 D(1) D(2) D(3) D(4) D(5) D(6) banyak putaran adalah 5 kali

Putaran ke-1 (N=6) : elemen terbesar D(5) = 76 pertukarkan dengan elemen ke-6 : 25 27 10 8 21 76 Putaran ke-2 (N=5) : elemen terbesar D(2) = 27 pertukarkan dengan elemen ke-5 : 25 21 10 8 27 76

Putaran ke-3 (N=4) : elemen terbesar D(1) = 25 pertukarkan dengan elemen ke-4 : 8 21 10 25 27 76

Putaran ke-4 (N=3) : elemen terbesar D(2) = 21 pertukarkan dengan elemen ke-3 : 8 10 21 25 27 76

Putaran ke-5 (N=2) : elemen terbesar D(2) = 10 pertukarkan dengan elemen ke-2 : 8 10 21 25 27 76

Page 25: Misalnya :                  A = 10                  B = 15                  C =  5

Pengurutan data metode Insertion sort (pengurutan sisip) :

Untuk setiap putaran ke-I=2,3, … , N ; lakukan : * berikan nilai D(I) kepada x * sisipkan x pada tempat yang sesuai antara D(1) …. D(I)

Contoh : N=6 25 , 27 , 10 , 8 , 76 , 21 D(1) D(2) D(3) D(4) D(5) D(6)

Putaran ke-2 : x=D(2)=27 harus dicari tempat yang tepat diantara D(1) dan D(2) dengan cara menggeser elemen-elemen disebelah kanannya 25 , 27 , 10 , 8 , 76 , 21Putaran ke-3 : x=D(3)=10 harus dicari tempat yang tepat diantara D(1) dan D(3) dengan cara menggeser elemen-elemen disebelah kanannya 10 , 25 , 27 , 8 , 76 , 21Putaran ke-4 : x=D(4)=8 harus dicari tempat yang tepat diantara D(1) dan D(4) dengan cara menggeser elemen-elemen disebelah kanannya 8 , 10 , 25 , 27 , 76 , 21Putaran ke-5 : x=D(5)=76 harus dicari tempat yang tepat diantara D(1) dan D(5) dengan cara menggeser elemen-elemen disebelah kanannya 8 , 10 , 25 , 27 , 76 , 21Putaran ke-6 : x=D(6)=21 harus dicari tempat yang tepat diantara D(1) dan D(6) dengan cara menggeser elemen-elemen disebelah kanannya 8 , 10 , 21 , 25 , 27 , 76

Page 26: Misalnya :                  A = 10                  B = 15                  C =  5

Tinjauan : metode Bubble sort : * tidak efisien karena banyaknya operasi pertukaran yang dilakukan pada setiap langkah pencarian elemen terbesar memerlukan waktu yang (relatif) lebih lama dibandingkan metode lain * sederhana dan mudah dipahami

metode Selection sort : * dibandingkan dengan metode Bubble sort, metode ini memiliki kinerja lebih baik operasi pertukaran hanya satu kali pada setiap putaran waktu yang diperlukan lebih singkat

metode Insertion sort : * diperlukan banyak operasi pergeseran untuk mencari posisi yang tepat untuk data yang banyak, jumlah operasi pergeseran meningkat secara kuadratik tidak praktis untuk data yang banyak

Page 27: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma Penjumlahan Bilangan Genap

1) Sediakan tempat untuk menampung jumlah bilangan genap dan banyak bilangan genap sebut Jum dan Jdat2) masukkan nilai banyak bilangan sebut N3) masukkan nilai bilangan ( sebanyak N bilangan, yaitu D(1) sampai dengan D(N))4) periksalah jenis setiap bilangan, apakah bilangan genap atau gasal. Bila bilangan adalah bilangan genap, tambahkan nilai bilangan tersebut ke Jum , dan tambahkan nilai 1 ke Jdat

Page 28: Misalnya :                  A = 10                  B = 15                  C =  5

Mulai

Jdat = 0

Jum = 0

Input N

I = 1 , N

Input D(I)

I = 1

D(I) habis dibagi 2

ya

tidak

Jdat=Jdat+1

Jum=Jum+D(I)

I = I + 1

I > N

tidak

yaSelesai

Tulis

Jdat, Jum

Page 29: Misalnya :                  A = 10                  B = 15                  C =  5

Algoritma Penjumlahan Bilangan Genap

1) Sediakan tempat untuk menampung jumlah bilangan genap dan banyak bilangan genap sebut Jum dan Jdat2) untuk putaran I=1,2, …..,N : - baca/masukkan data nilai bilangan ke-I - Bila jenis bilangan adalah bilangan genap, tambahkan nilai bilangan ke Jum dan nilai Jdat dinaikkan 1

Page 30: Misalnya :                  A = 10                  B = 15                  C =  5

Mulai

Jdat = 0

Jum = 0

Input N

I = 1 , N

Input BilBil

Habis dibagi 2ya Jdat=Jdat+1

Jum=Jum+Bil

tidak

Tulis

Jdat,Jum

Selesai