Anda di halaman 1dari 22

P1 : Pengantar Algoritma

Politeknik Manufaktur Astra Rida Indah Fariani, SSi Herru Damarjati, MTI

Course 1
Introduction : Sistem Komputer Algoritma Pemrograman dan Bahasa Program Notasi Algoritma

Contents
Introduction : Sistem Komputer Algoritma Pemrograman dan Bahasa Program Notasi Algoritma

Sistem Komputer
Komputer (hardware) dibuat sebagai alat bantu untuk menyelesaikan masalah. Manusia (brainware) menyediakan langkahlangkah 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 : Sorting
Misal akan diurutkan 100 buah kartu berangka 1 s/d 100. Akan diurutkan dari angka terkecil samapi angka terbesar 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 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 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 (lanjutan)
Algoritma
Kode program dengan bahasa pemrograman tertentu Program

Jadi, program adalah realisasi teknis dari sebuah algoritma

Algoritma (lanjutan)
Contoh algoritma dari masalah pengurutan :
1. 2. 3.

Cari nilai terbesar diantara N buah data Tempatkan nilai terbesar tersebut pada posisi yang tepat 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
3. Dilema Anders

Diskusi contoh masalah


Anders 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
Berpikir Algoritma Berpikir desain Independent pada bahasa pemrograman yang akan digunakan

Belajar Bahasa Program


Notasi yang 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
Translasi dengan bahasa pemrograman tertentu Program dalam Bahasa Tingkat Tinggi Kompilasi + linking oleh compiler tertentu

Program dalam Bahasa Mesin 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)
Mulai

Menggunakan simbol-simbol tertentu untuk menggambarkan proses Contoh : dari contoh masalah sebelumnya flowchartnya seperti gambar di samping. Kurang praktis digunakan untuk program yang besar dan komplex Relatif sukar diterjemahkan ke dalam notasi bahasa pemrograman Ya
Baca n bilangan positif. Maks = bil ke n

n=1 tidak Ya Maks < Bil ke n-1 Maks = Bil ke n-1

Tulis Maks

Selesai

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 : n, maks : integer Algoritma : 1. Read n 2. Maks = bil ke n 3. While n 1 do
if maks < bil ke n-1 maks bil ke n-1 End if n = n-1 End while

3. Write (maks)

Latihan
1.

Buat algoritma untuk :


Menentukan bilangan genap atau ganjil dari sekumpulan n bilangan positif

Menentukan 10 buah bilangan prima pertama