algoritma

Post on 07-Aug-2015

82 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

algoritma

TRANSCRIPT

P1 : Pengantar Algoritma

Politeknik Manufaktur Astra

Rida Indah Fariani, SSi

Herru Damarjati, MTI

Course 1

� Introduction : Sistem Komputer

� Algoritma� Algoritma

� Pemrograman dan Bahasa Program

� Notasi Algoritma

Contents

� Introduction : Sistem Komputer

� Algoritma� Algoritma

� Pemrograman dan Bahasa Program

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

Sistem Komputer (lanjutan)

hardware brainware software

Sistem Komputer

Sistem Komputer (lanjutan)

Contoh : Pengurutan (Sorting) :

� Bagaimana suatu pengurutan dilakukan?

� Apa langkah-langkah untuk mengurutkan data?

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

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

Bahasa Pemrograman

Langkah- langakah pemecahan masalah ditulis dalam

bahasa yang dimengerti komputer

Bahasa PemrogramanBahasa Pemrograman

Kegiatan menulis program

Pemrograman

Algoritma

Langkah- langakah pemecahan masalah seperti dalam

contoh sebelumnya dinamakan Algoritma

Algoritma

Urutan logis langkah-langkah pemecahan /

penyelesaian masalah

Algoritma

Algoritma (lanjutan)

Kode program dengan

bahasa pemrograman

tertentu

Algoritma Program

tertentu

� Jadi, program adalah realisasi teknis dari sebuah

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

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 ?

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)

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 ?

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

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

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)

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

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

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)

Latihan1. Buat algoritma untuk :

� Menentukan bilangan genap atau ganjil dari sekumpulan n bilangan positif

� Menentukan 10 buah bilangan prima pertama

top related