Upload
rahardian-faizal-zuhdi
View
82
Download
2
Embed Size (px)
DESCRIPTION
algoritma
Citation preview
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