Oleh : Tenia Wahyuningrum
Nama Alamat
: Tenia Wahyuningrum : Perum Puspa Harmoni C3 Ledug Purwokerto Telp : 081391249489 02817648358 Email/ym/fb :
[email protected]
Sistem Perkuliahan SKS, jadwal
SKS
Kelas Pertemuan Jadwal
Algoritma Pemrograman Teori : 2 SKS
Praktikum: 1 SKS
Dibagi 2 kelas (A dan B rolling di pertengahan sem) Kelas A Elisa
Kelas B Tenia
Teori: 14 x pertemuan Praktikum: jadwal menyusul
Jadwal Teori: kelas B rabu 08.40 – 10.20 Jadwal Praktikum: awal desember 2010
Penilaian Tugas besar 20% 1x tugas besar setiap kelas • Quiz 20% 1x quiz setiap kelas • UTS 30% • UAS 30% •
•
Rentang Nilai: • A >= 80 • B 70
Kata Algorithm (dieja AL-go-rith-um), diturunkan dari nama matematikawan Persia, Mohammed ibn-Musa al-Khwarizmi, bangsawan di Baghdad yang hidup sekitar tahun 780 s.d 850.
Suatu algoritma adalah sebuah prosedur atau formula untuk memecahkan suatu masalah. Dalam matematika dan ilmu komputer suatu algoritma adalah sehimpunan instruksi terdefinisi untuk menyelesaikan beberapa tugas dengan memberikan status awal, dan akan berhenti dalam kondisi/status akhir yang dikenali.
Resep opor ayam Bahan-Bahan : 1 ekor ayam 4 tahu 8 telur ayam rebus 3 lombok merah 1 potong terasi 4 siung bawang putih 8 bawang merah 2 sendok teh bubuk ketumbar 1/2 sendok teh jinten 6 butir kemiri 1 ruas kencur 1 potong lengkuas dimemarkan 3 lembar daun jeruk purut 5 buah belimbing wuluh santan
Cara Mengolah : 1. Bersihkan ayam, lalu dipotong-potong. 2. Potong tahu menjadi 2 bagian. 3. Kupas telur. 4. Haluskan bumbu-bumbu kecuali lengkuas dan daun jeruk. 5. Tumis bumbu yang dihaluskan, lengkuas dan daun jeruk dengan sedikit minyak sampai harum baunya. 6. Masukkan ayam, aduk-aduk sampai ayam tidak berair. 7. Bubuhi santan cair sampai ayam terendam, didihkan, tutup panci. 8. Masak sambil kadang-kadang diaduk sampai ayam hampir empuk. 9. Masukkan tahu dan telur rebus, belimbing sayur yang sudah diiris bulat tipis. 10. Bubuhi santan kental. 11. Masak sambil diaduk-aduk sampai ayam empuk, lalu angkat.
Langkah-langkah yang kita lakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah
001100011
7x7=?
What?
• bahasa mesin
LLL
MLL • assembly
• Bahasa c, pascal, basic, dll
HLL
001100011
!@!@*#)(@) !(@_**
Interpreter /compiler
Interpreter menerjemahkan program baris per baris artinya jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan dulu ke bahasa mesin. Contoh : bahasa basic
My name is Joe
Siapa namamu?
Interpreter
What’s your name? Nama saya Joe
Setiap orang memiliki pemikirannya masing-masing Begitu pula seorang programmer memiliki algoritmanya masing-masing Masalah yang sama dapat diselesaikan dengan algoritma yang berbeda
COMPILER Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contohnya adalah Pascal
I’m fine My name is Joe
Apa kabar? Siapa namamu?
compiler How are you? What’s your name? Saya baik2 saja Nama saya Joe
COMPILER DAN INTERPRETER Adakalanya sebuah bahasa pemrograman memiliki keduanya sekaligus. Contohnya adalah Java
Dengan langsung menggunakan katakata atau kalimat. Dengan menggambarkan dalam bentuk diagram/flowchart Dengan menuliskan dalam bentuk pseudocode.
Contoh masalah
A
B
Dengan kalimat Algoritma TukarIsiBejana Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejan B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejan A berisi larutan berwarna biru dan bejan B berisi larutan berwarna merah. Deskripsi: 1. Tuangkan larutan dari bejan A ke dalam bejana C. 2. Tuangkan larutan dari bejan B ke dalam bejana A. 3. Tuangkan larutan dari bejan C ke dalam bejana B.
Contoh masalah
Jika lampu di rumah mati, apa yang harus dilakukan?
Dengan flowchart
pseudocode Satu cara untuk mewujudkan (atau kadang-kadang melakukan kodifikasi) suatu algoritma adalah dengan penulisan pseudocode. Pseudocode tidak menggunakan sintaksis bahasa pemrograman tertentu, sehingga tidak ada aturan baku dalam penulisannya walaupun beberapa penulis sedikit meminjam sintaks bahasa tertentu
Algorithm LargestNumber Input: A non-empty list of numbers L. Output: The largest number in the list L.
largest ← -∞ for each item in the list L, do if the item > largest, then largest ← the item return largest
Contoh lain pseudocode Regular code (written in PHP):
Latihan 7+3=?
Mulai Masukkan angka pertama Pilih “+” Masukkan angka kedua Hasil angka pertama + angka kedua Pilih “=“ Tampilkan hasil Selesai
mulai
Masukkan angka 1
a
Tampilkan hasil
Pilih “+” selesai Masukkan angka 2
Hasil=angka1+angka 2
a
Latihan di kelas Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas dan tinggi! (dengan menggunakan kalimat dan flowchart)
selesai