algoritma

22
P1 : Pengantar Algoritma Politeknik Manufaktur Astra Rida Indah Fariani, SSi Herru Damarjati, MTI

Upload: rahardian-faizal-zuhdi

Post on 07-Aug-2015

82 views

Category:

Documents


2 download

DESCRIPTION

algoritma

TRANSCRIPT

Page 1: algoritma

P1 : Pengantar Algoritma

Politeknik Manufaktur Astra

Rida Indah Fariani, SSi

Herru Damarjati, MTI

Page 2: algoritma

Course 1

� Introduction : Sistem Komputer

� Algoritma� Algoritma

� Pemrograman dan Bahasa Program

� Notasi Algoritma

Page 3: algoritma

Contents

� Introduction : Sistem Komputer

� Algoritma� Algoritma

� Pemrograman dan Bahasa Program

� Notasi Algoritma

Page 4: algoritma

Sistem Komputer

� Komputer (hardware) dibuat sebagai alat bantu untuk menyelesaikan masalah.

Manusia (brainware) menyediakan langkah-� Manusia (brainware) menyediakan langkah-langkah penyelesaian sehingga hampir semua persoalan dapat diselesaikan oleh komputer

� Langkah-langkah tersebut ditulis dalam program (software) lalu ‘dimasukkan’ ke dalam komputer

Page 5: algoritma

Sistem Komputer (lanjutan)

hardware brainware software

Sistem Komputer

Page 6: algoritma

Sistem Komputer (lanjutan)

Contoh : Pengurutan (Sorting) :

� Bagaimana suatu pengurutan dilakukan?

� Apa langkah-langkah untuk mengurutkan data?

Page 7: algoritma

Contoh : SortingMisal akan diurutkan 100 buah kartu berangka 1 s/d 100. Akan diurutkan dari angka terkecil samapi angka terbesar

Langkah :Langkah :

� Cari kartu dengan nomor terbesar

� Tempatkan kartu pada posisi paling bawah

� Cari kartu dengan nomor terbesar kedua

� Tempatkan kartu pada posisi 99

� Cari kartu dengan nomor terbesar ketiga

� Tempatkan kartu pada posisi 98

� ….

� dst

Page 8: algoritma

Contoh : Sorting (lanjutan)

Langkah tersebut bisa disederhanakan :

� Langkah 1 : Cari kartu dengan nomor terbesar

� Langkah 2 : Tempatkan kartu tersebut pada posisi yang tepat

� Ulangi langkah 1 dan 2 untuk 99 kartu lainnya� Ulangi langkah 1 dan 2 untuk 99 kartu lainnya

Langkah tersebut bisa dibuat lebih umum untuk pengurutan N buah kartu :

� Langkah 1 : Cari kartu dengan nomor terbesar

� Langkah 2 : Tempatkan kartu tersebut pada posisi yang tepat

� Ulangi langkah 1 dan 2 untuk N-1 kartu lainnya

Page 9: algoritma

Bahasa Pemrograman

Langkah- langakah pemecahan masalah ditulis dalam

bahasa yang dimengerti komputer

Bahasa PemrogramanBahasa Pemrograman

Kegiatan menulis program

Pemrograman

Page 10: algoritma

Algoritma

Langkah- langakah pemecahan masalah seperti dalam

contoh sebelumnya dinamakan Algoritma

Algoritma

Urutan logis langkah-langkah pemecahan /

penyelesaian masalah

Algoritma

Page 11: algoritma

Algoritma (lanjutan)

Kode program dengan

bahasa pemrograman

tertentu

Algoritma Program

tertentu

� Jadi, program adalah realisasi teknis dari sebuah

algoritma

Page 12: algoritma

Algoritma (lanjutan)

Contoh algoritma dari masalah pengurutan :

1. Cari nilai terbesar diantara N buah data

2. Tempatkan nilai terbesar tersebut pada posisi yang tepatTempatkan nilai terbesar tersebut pada posisi yang tepat

3. Ulangi langkah 1 dan 2 untuk N-1 buah data lainnya

Page 13: algoritma

Algoritma � Diskusi contoh masalah

1. Penukaran isi dua buah ember

Ember A Ember B

Bagaimana langkah-langkah supaya isi ember A bertukar dengan isi ember B ?

Page 14: algoritma

Algoritma � Diskusi contoh masalah

2. Menyeberangkan barang bawaan

Seorang petani akan menyebrangkan kelinci, harimau dan sayuran melalui sungai.

Ketentuan : Ketika menyebrang petani hanya boleh membawa satu jenis barang, dan

harus berhati-hati karena harimau tidak boleh ditinggalkan dengan kelinci, juga kelinci

tidak boleh ditinggalkan dengan sayuran (akan saling memakan)

Page 15: algoritma

Algoritma � Diskusi contoh masalah

3. Dilema AndersAnders akan berangkat ke sebuah tempat di Alaska

yang membutuhkan enam hari berjalan dari

Shungnak melintasi hamparan salju dan es yang

sepi. Satu orang hanya dapat membawa cukup

makanan dan air untuk persediaan 4 hari. Jadi, satu

orang tidak bisa pergi sendiri sebab persediannya

sudah akan habis sebelum dia sampai tujuan.

Berapa banyak orang yang dibutuhkan untuk

membawa persediaan itu sehingga Anders dapat

mencapai Alaska dan asisten-asistennya bisa

kembali ke Shungnak ?

Page 16: algoritma

Pemrograman & Bahasa Program

Belajar Memprogram Belajar Bahasa Program≠� Berpikir Algoritma

Berpikir desain

� Notasi yang digunakan

� Berpikir desain

� Independent pada bahasa pemrograman yang akan digunakan

� Ketentuan-ketentuan pada masing-masing bahasa pemrograman

Page 17: algoritma

Bahasa Pemrograman

Bahasa tingkat rendah

� Instruksi langsung dikerjakan oleh komputer tanpa harus melalu penerjemah

� Contoh : Bahasa mesin (sekumpulan kode biner 0 dan 1)

Bahasa tingkat tinggi

� Lebih ‘manusiawi’, lebih dekat ke bahasa manusia

� Perlu diterjemahkan dulu oleh translator bahasa (compiler) ke dalam bahasa mesin

� Contoh : Bahasa Pascal, Fortran, Cobol, Basic, C, C++

Page 18: algoritma

Gambaran tahapan cara kerja program

Algoritma

Program dalam Bahasa

Tingkat Tinggi

Translasi dengan bahasa

pemrograman tertentu

Tingkat Tinggi

Program dalam

Bahasa Mesin

Kompilasi + linking oleh compiler

tertentu

Interpretasi oleh CPU

Operasi (baca, tulis, hitung, perbandingan, dsb)

Page 19: algoritma

Notasi Algoritma

1. Notasi dengan kalimat deskriptif

� Algoritma dinyatakan dengan untaian kalimat deksriptif

� Contoh :

Program : Mencari bilangan terbesar dari n buah bilangan positif acak. (n <> 0)

Algoritma :

1. Maks = bil ke n

2. Jika n = 1, maka maks adalah jawabannya. Stop

Jika n ≠ 1, lanjutkan kelangkah 3

3. Jika maks < bil ke n-1, maks = bil ke n-1

4. Ganti n dengan nilai n-1

5. Kembali ke langkah 2

� Notasi ini sulit diterjemahkan langsung ke dalam notasi bahasa

pemrograman

Page 20: algoritma

Notasi Algoritma (lanjutan)

2. Notasi dengan diagram alir (flow chart)

� Menggunakan simbol-simbol tertentu untuk

menggambarkan proses

� Contoh : dari contoh masalah sebelumnya

flowchartnya seperti gambar di samping.

Mulai

Baca n bilangan positif.Maks = bil ke n

� Kurang praktis digunakan untuk program

yang besar dan komplex

� Relatif sukar diterjemahkan ke dalam notasi

bahasa pemrograman

n = 1

Maks = Bil ke n-1

Tulis Maks

Selesai

tidak

Ya Maks < Bil ke n-1

Ya

Page 21: algoritma

Notasi Algoritma (lanjutan)

3. Menggunakan Pseudo Code

� Menggunakan notasi atau cara yang menyerupai notasi bahasa pemograman

tingkat tinggi

� Lebih mudah diterjemahkan ke dalam bahasa pemrograman tertentu

� Contoh :

Program : Mencari bilangan terbesar dari n buah bilangan positif acak. (n <> 0)Deklarasi :Deklarasi :

n, maks : integer

Algoritma :

1. Read n

2. Maks = bil ke n

3. While n ≠ 1 doif maks < bil ke n-1

maks bil ke n-1

End if

n = n-1

End while

3. Write (maks)

Page 22: algoritma

Latihan1. Buat algoritma untuk :

� Menentukan bilangan genap atau ganjil dari sekumpulan n bilangan positif

� Menentukan 10 buah bilangan prima pertama