Pertemuan 2
Konsep Dasar Algoritma Pengajar : Teuku Mirwan Sahputra, ST E-mail :
[email protected] Blog : http://bahasacode.blogspot.com
Prinsip Pembuatan Program Ada 4 aktivitas dalam pembuatan program: 1. Menganalisis masalah 2. Merancang program 3. Menuliskan program 4. Menguji program
Pengertian Algoritma Algoritma adalah sekumpulan langkah yang rinci yang ditujukan untuk menyelesaikan masalah. (Abdul Kadir, 2013)
Perbedaan Algoritma dan Program 1. Program: kumpulan instruksi komputer 2. Algoritma: metode dan tahapan sistematis dalam program. Formula : Program = Struktur Data + Algoritma
Algoritma
Translasi
Dituangkan
Dieksekusi CPU
Pemasalahan
Bahasa Pemrograman Tingkat Tinggi
Interpreter Compiler
1010101010101011 0101010100111001
Contoh Algoritma: 1. Masukkan nilai panjang persegi panjang dan catat di variabel Panjang. 2. Masukkan nilai lebar persegi panjang dan catat di variabel Lebar. 3. Hitung keliling persegi panjang dengan menggunakan rumus: Keliling = 2 x (Panjang + Lebar) Tampilkan isi Keliling
Algoritma ini masih dapat disederhanakan dalam bentuk pseudocode.
Pseudocode Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana agar dapat dibaca oleh manusia.
Contoh Pseudocode Panjang panjang persegi panjang Lebar lebar persegi panjang Keliling 2 * (Panjang + Lebar) Tampilkan keliling
Algoritma Tidak Berhubungan Dengan Bahasa Pemrograman tertentu ? C++
Pseudocode a←0 For j ← 1 To n a←a+j END-FOR
a=0 for (int j = 1; j < n; j++) a = a + j;
Pascal A := 0; FOR j:=1 To n DO a := a + j;
Bagaimana membuat Algortima MASUKAN
ALGORITMA
Keluaran
Gambar. Algoritma memiliki masukan dan keluaran
Contoh 1: Memasak atau Membuat Kue Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak pasti akan melakukan suatu langkahlangkah tertentu sehingga masakannya atau kuenya jadi, dan rasanya yang enak.
Contoh 2: Algoritma tukar isi Gelas Diberikan dua buah gelas, gelas A berisi larutan berwarna Hitam dan gelas B berisi larutan berwarna Kuning. Tukarkan isi gelas tersebut sehingga gelas A berisi larutan berwarna Kuning dan gelas B berisi larutan berwarna Hitam. Diskripsi 1: Aksi 1 : Tuangkan larutan dari gelas A ke dalam gelas B Aksi 2 : Tuangkan larutan dari gelas B ke dalam gelas A
• Apakah Algoritma tukar isi gelas tersebut di atas menghasilkan pertukaran yang benar? Tidak, karena langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut. • Apakah untuk proses tukar isi gelas di atas diperlukan sebuah gelas tambahan sebagai tempat penampungan sementara? Ya, agar langkahnya logis dan proses pertukaran isi gelas tersebut tidak terjadi percampuran.
Contoh Algoritma yang benar Diskripsi Algoritma 2: Aksi 1 : Tuangkan larutan dari gelas A ke dalam gelas C Aksi 2 : Tuangkan larutan dari gelas B ke dalam gelas A Aksi 3 : Tuangkan larutan dari gelas C ke dalam gelas B
2 Gelas A
Gelas B
1
Gelas A
Gelas B
Gelas C
Gelas A
Gelas B
Gelas C
3 Gelas A
Gelas B
Gelas C
4 Gelas A
Gelas B
Gelas C
Contoh 3: Mengupas Kentang Ibu Tati mengupas kentang untuk makan malam Sub Masalah: 1. Apakah kentangnya harus dibeli dulu atau sudah di dapur? 2. Apakah pisau sudah siap? 3. Berapa jumlah kentang yang dikupas? Maka perlu membatasi dengan jelas keadaan awal dan keadaan akhir.
Inisial State (TO): Kentang sudah ada di kantong plastik, yang ditaruh dilemari di dapur dimana Ibu Tati akan mengupasnya, pisau ada di rak.
Final State (T1): 100 kentang dalam keadaan terkupas siap untuk dimasak dan kantong kentangnya harus dikembalikan ke lemari lagi jika masih ada kentangnya.
Diskripsi Algoritma 1: Aksi 1 : Ibu Tati mengambil kentang dari lemari Aksi 2 : Ibu Tati mengambil pisau dari rak Aksi 3 : Ibu Tati mengupas kentang Aksi 4 : Ibu Tati mengembalikan kantong kentang ke dalam lemari
• Deskripsi Algoritma di atas masih belum memenuhi Final State dimana kentang yang sudah dikupas ada 100 buah dan kantong kentang harus dikembalikan ke lemari jika masih ada kentangnya. Pada algoritma tersebut kentang yang dikupas hanya 1 dan Aksi 4 akan tetap dilaksanakan walaupun kantong kentang sudah kosong • Supaya kentang yang sudah terkupas ada 100 maka perlu dilakukan proses PENGULANGAN pengupasan kentang sebanyak 100 kali. Dan supaya Ibu Tati hanya mengembalikan kantong kentang ke lemari hanya jika masih ada isinya, maka perlu ada PEMILIHAN berdasarkan kondisi isi kantong kentang.
Maka algoritma untuk mencapai Final State yang benar adalah sebagai berikut : Deskripsi Algoritma 2: • Aksi 1 : Ibu Tati mengambil kantong kentang dari lemari dan • Aksi 2 : Ibu Tati mengambil pisau dari rak • Aksi 3 : Selama kentang terkupas < 100 maka – Kupas 1 kentang • Aksi 4 : Lihat isi kantong – Kantong Kosong buang – Kantong Tidak kosong Kembalikan kantong ke lemari
Ciri-ciri penting Algoritma • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas). • Algoritma memiliki nol atau lebih masukan (input).
• Algoritma memiliki nol atau lebih keluaran (output). • Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang efisien).
Struktur Dasar Algoritma Langkah-langkah penyelesaian masalah bisa berupa : • Runtunan (sequence) terdiri dari satu atau lebih instruksi. Contoh : Algoritma Tukar isi Gelas. • Pemilihan (selection) sebuah instruksi dikerjakan jika sebuah kondisi tertentu terpenuhi. Struktur umum: If kondisi Then Aksi
If kondisi Then Aksi 1 Else Aksi 2
Contoh : If Amir memperoleh juara kelas then Ayah akan membelikannya hadiah If Jurusan teknik informatika tidak ada then Ambil jurusan teknik industri If Jumlah Lab C sudah penuh then Masuk ke Lab A Else Masuk ke Lab B Endif
• Pengulangan (looping): instruksi yang dikerjakan secara berulang-ulang. Contoh: – Menulis kalimat “Saya harus lulus dengan nilai Cumlade” Ulangi : Tulis kalimat “Saya harus lulus dengan nilai Cumlade”
Sampai jumlah_kalimat = 1000
– Mengupas 100 buah kentang Selamat kentang terkupas < 100 maka Kupas 1 kentang
Terima Kasih