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

Slides:



Advertisements
Presentasi serupa
DASAR-DASAR ALGORITMA
Advertisements

Algoritma dan Flowchart
PENDAHULUAN KONSEP ALGORITMA DAN DIAGRAM ALIR (FLOWCHART)
DASAR-DASAR ALGORITMA
Algoritma dan Flowchart
Algortima dan Pemrograman
PENGURUTAN (SORTING).
SORTING.
Algoritma dan Pemrograman
Algoritma.
Algoritma Pemrograman #Pengantar Algoritma Dosen M.Wildan Eltika S.Kom
Pemrograman Komputer.
Dasar- Dasar Algoritma
Pengertian Algoritma Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh sederetan langkah instruksi yang logis.
Algoritma Pemrograman
Algoritma & Struktur Data Sorting Evangs Mailoa.
ALGORITMA & LOGIKA PEMROGRAMAN
BAB 6 S O R T I R Sebelum mengetahui lebih jauh tentang sorting, sebaiknya kita ingat kembali pengertian file dan record. File adalah kumpulan record,
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
Sorting (Pengurutan).
Algoritma & Struktur Data Della Oktaviany, S.Kom.
Algoritma dan Flowchart
Algoritma dan Pemrograman – Pertemuan 3 & 4 Sorting (Pengurutan)
Definisi Algoritma Algoritma adalah urutan langkah-langkah logis yang disusun secara sistematis untuk menyelesaikan suatu masalah. Kata logis (logika)
Pengenalan Algoritma.
Flowchart (Diagram Alur)
Algoritma dan Struktur Data 1 pertemuan 11
BAB 1 BAHASA PEMROGRAMAN
Algoritma dan Struktur Data
KUG1C3 Dasar Algoritma & Pemrograman
KUG1A3 Algoritma& Pemrograman
Algoritma dan Struktur Data 1 pertemuan 12
ALGORITMA & LOGIKA PEMROGRAMAN
ALGORITMA DAN PEMOGRAMAN 1A
DASAR-DASAR ALGORITMA
ALGORITMA DAN PEMROGRAMAN (Pertemuan 01)
Algortima dan Pemrograman
PENGURUTAN (SORTING).
SORTING (Lanjut).
SIMULASI DAN KOMUNIKASI DIGITIAL
PROG.STUDI PEND.FISIKA UIN ALAUDDIN MAKASSAR
Algoritma & Struktur Data TG22113 Kartika Firdausy - UAD
Sorting.
Metode pemecahan masalah
Konsep Algoritma dan Pemrograman
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Imam Gunawan, M. Kom STMIK-AMIK Jayanusa Padang
Identitas dosen Suherman, ST Address : Cilegon
Identitas dosen Suherman, ST Address : Cilegon
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Bubble sort.
Sorting.
Algoritma & Pemrograman 1
PROG. STUDI FISIKA UIN ALAUDDIN MAKASSAR
PERTEMUAN 4 DAN 5 DASAR-DASAR ALGORITMA
Kenalan Alghoritma Wahab Sya’roni, M.Kom
SORTING (PENGURUTAN) Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending.
Algoritma pemrogaman komputer
Algoritma dan Struktur Data
DASAR-DASAR ALGORITMA
Oleh : Pramesthi Handaru
Sorting Dasar Pemrograman
IT234 Algoritma dan Struktur Data
Pengurutan (sorting).
SORTING Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data.
Pengenalan Algoritma.
Sorting (Pengurutan).
YULI ASTUTI, S.KOM.  Algoritma yaitu urutan langkah-langkah logis untuk menyelesaikan sebuah masalah yang disusun dengan sistematis.  Program yaitu.
SORTING.
Konsep Algoritma Pemrograman
Transcript presentasi:

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”

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

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

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

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 !

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

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

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

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

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

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

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

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 !

  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

Cari elemen terkecil dari elemen ke-1 sampai ke-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    

Cari elemen terkecil dari elemen ke-3 sampai ke-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    

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

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

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

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

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

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

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

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

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 , 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 10 , 25 , 27 , 8 , 76 , 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 8 , 10 , 25 , 27 , 76 , 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 8 , 10 , 25 , 27 , 76 , 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 8 , 10 , 21 , 25 , 27 , 76

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

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

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

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

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