head

WELCOME TO MY WORLD Batman Begins - Help Select

Jumat, 21 November 2014

ALGORITMA

  • 1. PENGERTIAN DASAR ALGORITMA PEMROGRAMAN Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas
  • 2. Pengertian • AKSI??? • Suatu Aksi adalah kejadian yang terjadi pada suatu selang waktu terbatas dan menghasilkan efek neto yang telah terdefinisi dengan baik dan memang direncanakan. • “direncanakan”  berarti dititik beratkan pada kegunaannya. • Jika seseorang tertarik pada suatu aksi, maka jelas bahwa minatnya adalah pada efek netonya. • Aksi dimulai saat “t0” dan berakhir pada saat “t1”. 2
  • 3. Pengertian • Contoh suatu aksi adalah “IBU TATI MENGUPAS KENTANG” untuk mempersiapkan makan malam. Pernyataan ini mencakup hal yang luas ruang lingkupnya, misalnya : – Apakah kentangnya harus dibeli lagi atau sudah ada di dapur? – Apakah yang dimaksud untuk makan malam berarti sampai terhidang? – Ketika kentangnya terhidang, jadi sup, digoreng atau direbus saja? 3
  • 4. Pengertian • Harus dibatasi dengan jelas keadaan awal yang menjadi titik tolak mengupas kentang dan keadaan akhir yang ingin dicapai supaya dapat “merencanakan” efek neto yang diinginkan. Misalnya : – Keadaan awal, t0, adalah kentang sudah ada dikantong kentang, yang ditaruh di rak di dapur dimana Ibu Tati akan mengupasnya – Keadaan akhir, t1, kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya harus dikembalikan ke rak lagi. – Persediaan kentang Ibu Tati selalu cukup untuk makan malam. 4
  • 5. Pengertian • Urutan-urutan subaksi yang dilakukan ibu Tati, yaitu : – Ambil kantong kentang dari rak – Ambil panci dari almari – Kupas kentang – Kembalikan kantong kentang ke rak 5
  • 6. Pengertian • Urutan-urutan langkah harus dapat dimengerti dengan baik • Tidak boleh ada sedikitpun salah pengertian diantara keduanya supaya dapat dihasilkan efek yang diinginkan. • Jika pada suatu resep kue terdapat tulisan “Panaskan dulu oven”. Instruksi ini tidak jelas, karena berapa lama dan temperatur oven mencapai berapa derajat hal tersebut harus dilakukan, tidak ditentukan dengan pasti 6
  • 7. Pengertian • Ketika ibu Tati akan mengupas kentang, ibu Tati memperhatikan pakaian yang dipakai saat itu, maka aksi yang akan dilakukan dapat kita tuliskan : – Ambil kantong kentang dari rak – Ambil panci dari almari – Lakukan persiapan, tergantung pakaian – Kupas kentang – Kembalikan kantong kentang ke rak 7
  • 8. Pengertian • Kondisional (Depend On)  pernyataan dimana suatu aksi akan dilakukan jika tergantung sesuatu kondisi tertentu • “Lakukan persiapan, tergantung pakaian”  Kondisional • Kondisional dinayatakan dengan Kondisi dan aksi – Ambil kantong kentang dari rak – Ambil panci dari almari – Depend On Baju • • Berwarna muda Tidak berwarna muda : Pakai Celemek :- – Kupas kentang – Kembalikan kantong kentang ke rak 8
  • 9. Pengertian • Didalam aksi kondisional mengandung dua aksi  Pengamatan dan Kejadian • Pengamatan suatu state benar (true) atau salah (false). • Kejadian  sesuatu yang dilakukan sesuai dengan hasil pengamatan. (true atau false) 9
  • 10. Pengertian • Notasi Perulangan. • Ibu Tati ingin mengupas kentang sebanyak 25 kentang • Di dalam algoritma hal ini dapat dituliskan dengan notasi Perulangan (While ... Do). – – – – – – – – Ambil kantong kentang dari rak Ambil panci dari almari Depend On Baju Berwarna muda : Pakai Celemek Tidak berwarna muda : While jumlah kentang terkupas belum cukup Do Kupas kentang berikutnya Kembalikan kantong kentang ke rak 10
  • 11. Struktur Dasar Algoritma • Algoritma berisi langkah-langkah penyelesaian suatu masalah. Suatu algoritma dapat dibangun dari tiga buah struktur dasar, yaitu : – Runtunan (Sequence) – Pemilihan (Selection) – Pengulangan (repetition) 11
  • 12. Runtunan (Sequence) • Sebuah runtunan terdiri dari satu atau lebih instruksi. • Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya • Urutan instruksi menentukan keadaan akhir algoritma. 12
  • 13. Pemilihan (Selection) • Sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. if kondisi Then aksi if Baju berwarna cerah Then Pakai Celemek 13
  • 14. Perulangan • Kelebihan komputer  kemampuannya untuk mengerjakan pekerjaan yang sama secara berulang-ulang tanpa mengenal lelah. • Perulangan dalam Algoritma dituliskan dengan menggunakan perulangan for – to (Repeat – N – Times), while – do, atau do – while (repeat – until). 14
  • 15. Aturan Penulisan Algoritma • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. • Deskripsi dapat ditulis dalam notasi apapun. • Tidak ada notasi baku dalam penulisan algoritma sebagaimana dalam bahasa pemrograman, asal dapat dimengerti dan dipahami. • Teks algoritma tidak sama dengan teks program atau cenderung ke salah satu bahasa pemrograman. • Namun agar mudah ditranslasi ke teks notasi 15
  • 16. Aturan Penulisan Algoritma • Contoh : Tulis Nilai_X dan Nilai_Y atau output(Nilai_X, Nilai_Y) • Ditulis menjadi : Write(Nilai_X, Nilai_Y);  Pascal cout<<Nilai_X<<Nilai_Y;  C++ printf(“%d %d”,Nilai_X, Nilai_Y);  C 16
  • 17. Aturan Penulisan Algoritma • Pada dasarnya teks algoritma selalu disusun atas tiga bagian / blok, yaitu : – Kepala Algoritma – Deklarasi – Deskripsi Algoritma 17
  • 18. Aturan Penulisan Algoritma Kepala Algoritma {Spesifikasi algoritma yang menyatakan apa yang akan dikerjakan oleh algoritma} Kamus {mendeklarasikan semua nama yang digunakan dalam algoritma} Algoritma {Berisi deksripsi langkah-langkah penyelesaian masalah} 18
  • 19. Kepala Algoritma • bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. • Nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma. • Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma yang sering disebut dengan spesifikasi algoritma 19
  • 20. Kepala Algoritma Algoritma Luas_Lingkaran {Menghitung Luas Lingkaran untuk jari-jari tertentu. Algoritma membaca jarijari, menghitung luas dan mencetak hasil ke layar} Algoritma Konversi_Jam {Mengkonversi nilai satuan detik ke satuan Menit dan Detik. Satuan Detik dibaca dari keyboard, menghitung satuan Menit, satuan Jam dan menampilkan dalam format hh:mm:ss di layar} 20
  • 21. Deklarasi • Bagian untuk mendefinisikan / memperkenalkan semua nama yang dipakai di dalam algoritma. • Nama tersebut dapat berupa nama konstanta, nama variabel, nama tipe, nama function. 21
  • 22. Deklarasi KAMUS {nama konstanta} Const phi = 3.14; {nama tipe} Type Titik : record X : integer; Y : integer; End; {nama variabel} C : char; Q : Titik; Ketemu : Boolean; 22
  • 23. Deskripsi Algoritma • Merupakan bagian inti dari suatu algoritma. • Berisi uraian langkah-langkah penyelesaian masalah. • Setiap langkah notasi algoritmik dibaca dari atas ke bawah secara berurutan • Urutan penulisan menentukan urutan pelaksanaan perintah. 23
  • 24. Deskripsi Algoritma ALGORITMA Baca(c, d) If c < d Then E a + b Else E a – b End-if Cetak(e) 24
  • 25. Menuliskan Algoritma ke Teks Program C • Teks algoritma adalah hasil pemikiran konseptual. • Agar dapat dilaksanakan oleh komputer, algoritma harus ditranslasi ke notasi bahasa pemrograman. 25
  • 26. Teks Algoritma Algoritma Menghitung_Nilai_Rata_Rata {Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari keyboard} KAMUS X : Integer N : Integer K : Integer Jumlah : Integer Rata : Real {variabel bilangan bulat} {banyaknya bilangan bulat, N>0} {Cacah pengulangan} {jumlah seluruh bilangan bulat} {rata-rata bilangan bulat} ALGORITMA Baca(N) {membaca banyaknya bilangan} K1 {mulai dari data pertama} Jumlah  0 While K N Do Baca(X) Jumlah  Jumlah + X KK+1 {cacah pengukangan selanjutnya} End-while {K > N} Rata  Jumlah / N Cetak (Rata) 26
  • 27. Teks Program C /* Algoritma Menghitung_Nilai_Rata_Rata*/ /* Menghitung nilai rata-rata sekumpulan bilangan bulat yang dibaca dari keyboard*/ #include<stdio.h> main() { /*deklarasi*/ int X, N, K, Jumlah; float Rata; cout<<”Masukkan Banyaknya Bilangan :”; cin>>N; K = 1; {mulai dari data pertama} Jumlah = 0; While (K <= N) { cout<<”X = “; cin>> X; Jumlah = Jumlah + X; K = K + 1; {cacah pengulangan selanjutnya} } /*K > N*/ Rata = Jumlah / N; Cout<<Rata } 27

Tidak ada komentar:

Posting Komentar

Komentar aja disini