Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa."— Transcript presentasi:

1 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”

2 Urutan pekerjaan dalam pembuatan program : 1
Urutan pekerjaan dalam pembuatan program : 1. Pendefinisian masalah  apa input & outputnya 2. Penyusunan algoritma  diagram alir/ flowchart 3. Pengkodean (coding)  menerjemahkan algoritma kedalam bahasa pemrograman 4. Runing & debugging  menjalankan program dan memperbaiki kesalahan yang ada 5. Dokumentasi program  arsip program, termasuk listing program dan penjelasannya

3 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

4 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

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 !

6 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

7 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 C 2) tuangkan larutan dari bejana B ke dalam bejana A 3) tuangkan larutan dari bejana C ke dalam bejana B

8 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

9 Algoritma : 1. ambil X = A 2. bila X > B , maka X = B bila X <= B , maka X tetap 3. bila X > C , maka X = C bila X <= C , maka X tetap 4. bila X > D , maka X = D bila X <= D , maka X tetap 5. bila X > E , maka X = E bila X <= E , maka X tetap 6. bilangan terkecil adalah X

10 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

11 Algoritma : 1) bagilah bilangan m dengan n, sebut saja sisanya adalah s 2) jika s = 0, maka PBT = n, selesai jika s ≠ 0, maka lanjutkan ke langkah 3 3) ganti nilai m dengan n, ganti nilai n dengan s 4) kembali ke langkah 1

12 STRUKTUR DASAR ALGORITMA 1. SEQUENCE  BERURUTAN 2
STRUKTUR DASAR ALGORITMA 1. SEQUENCE  BERURUTAN 2. SELECTION  PEMILIHAN 3. REPETITION  PENGULANGAN

13 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 !

14 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

15 Cari elemen terkecil dari elemen ke-1 sampai ke-5
Putaran ke-1 :   Cari elemen terkecil dari elemen ke-1 sampai ke-5  Elemen ke-5, nilai 2   Pertukarkan nilai elemen ke-5 dengan elemen ke-1 Putaran ke-2 : Cari elemen terkecil dari elemen ke-2 sampai ke-5  Elemen ke-3, nilai 5 Pertukarkan nilai elemen ke-3 dengan elemen ke-2

16 Cari elemen terkecil dari elemen ke-3 sampai ke-5
Putaran ke-3 :   Cari elemen terkecil dari elemen ke-3 sampai ke-5  Elemen ke-5, nilai 10   Pertukarkan nilai elemen ke-5 dengan elemen ke-3 Putaran ke-4 : Cari elemen terkecil dari elemen ke-4 sampai ke-5  Elemen ke-5, nilai 15 Pertukarkan nilai elemen ke-5 dengan elemen ke-4

17 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

18 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

19 1. 1 Data ke-K dianggap data terkecil (min) 1
1.1 Data ke-K dianggap data terkecil (min) 1.2 Bandingkan min dengan data ke-J=K+1,K+2, ….. ,N untuk J=K+1,K+2, ….. , N lakukan : jika data ke-J lebih kecil dari min , maka isikan data ke-J sebagai min yang baru 2.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

20 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 baru 3. 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

21 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 : Bandingkan L(K) dengan L(K-1) 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 : K=5 : K=4 : K=3 : K=2 :

22 Putaran ke-2 : K=6 : K=5 : K=4 : K=3 : Putaran ke-3 : K=6 : K=5 : K=4 : Putaran ke-4 : K=6 : K=5 : Putaran ke-5 : K=6 :

23 Pengurutan data metode Selection sort (pengurutan pilih) : 1
Pengurutan data metode Selection sort (pengurutan pilih) : 1. Jumlah putaran = N – 1 2. 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

24 Contoh : N=6  25 , , , 8 , , 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 : Putaran ke-2 (N=5) : elemen terbesar D(2) = 27  pertukarkan dengan elemen ke : Putaran ke-3 (N=4) : elemen terbesar D(1) = 25  pertukarkan dengan elemen ke : Putaran ke-4 (N=3) : elemen terbesar D(2) = 21  pertukarkan dengan elemen ke : Putaran ke-5 (N=2) : elemen terbesar D(2) = 10  pertukarkan dengan elemen ke :

25 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 , , , 8 , , 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 , , , 8 , , 21 Putaran ke-3 : x=D(3)=10 harus dicari tempat yang tepat diantara D(1) dan D(3) dengan cara menggeser elemen-elemen disebelah kanannya , , , 8 , , 21 Putaran ke-4 : x=D(4)=8 harus dicari tempat yang tepat diantara D(1) dan D(4) dengan cara menggeser elemen-elemen disebelah kanannya , 10 , , , , 21 Putaran ke-5 : x=D(5)=76 harus dicari tempat yang tepat diantara D(1) dan D(5) dengan cara menggeser elemen-elemen disebelah kanannya , 10 , , , , 21 Putaran ke-6 : x=D(6)=21 harus dicari tempat yang tepat diantara D(1) dan D(6) dengan cara menggeser elemen-elemen disebelah kanannya , 10 , , , , 76

26 Tinjauan : metode Bubble sort :
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

27 Algoritma Penjumlahan Bilangan Genap 1) Sediakan tempat untuk menampung jumlah bilangan genap dan banyak bilangan genap  sebut Jum dan Jdat 2) masukkan nilai banyak bilangan  sebut N 3) 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

28 Mulai Jdat = 0 Jum = 0 Selesai ya tidak I > N Input N I = I + 1
Tulis Jdat, Jum Jdat = 0 Jum = 0 Selesai ya tidak I > N Input N I = I + 1 I = 1 , N tidak ya Jdat=Jdat+1 Jum=Jum+D(I) Input D(I) D(I) habis dibagi 2 I = 1

29 Algoritma Penjumlahan Bilangan Genap 1) Sediakan tempat untuk menampung jumlah bilangan genap dan banyak bilangan genap  sebut Jum dan Jdat 2) 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

30 Mulai Selesai Jdat = 0 Jum = 0 Tulis Jdat,Jum Input N I = 1 , N tidak
Bil Habis dibagi 2 ya Jdat=Jdat+1 Jum=Jum+Bil Input Bil


Download ppt "PEMROGRAMAN Belajar memrogram : belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi yang mudah dipahami Belajar bahasa."

Presentasi serupa


Iklan oleh Google