Pemrograman Dasar Pengantar Algoritma - 2 PTIIK - UB Pseudocode (lanjutan) Beberapa operasi dasar komputer: 1. Membaca data (input) 2. Menampilkan data (output) 3. Melakukan perhitungan aritmetika (compute) 4. Memberikan nilai ke suatu variabel (store) 5. Membandingkan dan memilih (compare and select) 6. Melakukan pengulangan (repeat/loop) 2 1. Membaca data Sewaktu komputer menerima informasi atau input, maka perintah yang biasa digunakan adalah “READ”, “GET”, “BACA” ,”INPUT” atau “KEYIN” Contoh: READ Bilangan GET kode_pajak BACA nama_mahasiswa 3 2. Menampilkan data Sewaktu komputer menampilkan informasi ataupun output, maka perintah yang biasa digunakan adalah “PRINT”, “WRITE”, “PUT”, “OUTPUT”, “DISPLAY” ataupun “CETAK” Contoh: PRINT “Universitas Brawijaya” CETAK “Dasar Pemrograman Komputer” OUTPUT Total 4 3. Menghitung data Untuk melakukan operasi aritmetika digunakan pseudocode berikut: + : penjumlahan (ADD… TO…) - : pengurangan (SUBTRACT… FROM…) * : perkalian (MULTIPLY… BY…) / : pembagian (DIVIDE… BY…) () : kurung Perintah “COMPUTE”, “CALCULATE” ataupun “HITUNG” juga dapat digunakan. Contoh: ADD number TO total Total = Total + number 5 4. Memberikan nilai ke variabel Beberapa cara untuk memberikan nilai ke dalam variabel : – Memberikan nilai awal dengan perintah “INITIALIZE”, “INIT” atau “SET” – Memberikan nilai sebagai hasil dari suatu proses, dengan tanda “=“ – Menyimpan suatu nilai dengan perintah “SAVE” atau “STORE” Contoh: SET Counter TO 0 Total = Harga * Jumlah 6 5. Membandingkan dan memilih Salah satu operasi terpenting adalah membandingkan dan memilih salah satu alternatif solusi. Keyword yang dapat digunakan : “IF”, “THEN” , “ELSE”, dan “ENDIF” Contoh IF Pilih==‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF 7 6. Mengulang Dapat menggunakan keyword “WHILE” dan “ENDWHILE” Contoh bil = 0 WHILE bil < 10 cetak bil bil = bil +1 ENDWHILE 8 Contoh flow chart & pseudocode Start Masukkan a,b,c d = b2 – 4ac Y d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a READ a,b,c d = (b*b)–(4*a*c) IF d<0 THEN PRINT “Akar imajiner” ELSE x1 = (-b+sqrt(d))/(2*a) x2 = (-b-sqrt(d))/(2*a) PRINT x1,x2 ENDIF Cetak Pesan “Akar imajiner” Cetak x1,x2 Stop Pengantar Algoritma - TIF UB 2010 9 Paradigma pemrograman Imperative Declarative Procedural e.g. C, Pascal, Fortran, Basic Logical e.g. Prolog Structured e.g. C, Pascal, Fortran, Basic Functional e.g. LISP, Scheme,Objective Domain-specific Object-oriented e.g. SQL,HTML,XML,CSS e.g. C++, Java, Smalltalk, C# Pengantar Algoritma - TIF UB 2010 10 Paradigma pemrograman Imperative vs Declarative Imperative: Program yang imperative: mendefinisikan urutan perintah untuk dikerjakan Proses komputasi digambarkan sebagai kumpulan pernyataan yang mengubah program state Program state: keadaan atau konfigurasi informasi dalam program pada satu saat Membutuhkan algoritma yang didefinisikan eksplisit Mirip dengan paradigma bahasa mesin Pengantar Algoritma - TIF UB 2010 11 Paradigma pemrograman Imperative vs Declarative Declarative: Menggambarkan logika komputasi tanpa mendeskripsikan aliran kendali seperti pada imperative programming Menggambarkan komputasi apa yang harus dikerjakan, bukan bagaimana komputasi tersebut mengerjakannya Contoh: Logical programming dengan Prolog, berhubungan dengan logika matematika, dapat digunakan untuk aplikasi kecerdasan buatan Domain-specific scripting dengan HTML, untuk mendeskripsikan apa yang ditampilkan dalam halaman web Pengantar Algoritma - TIF UB 2010 12 Pemrograman terstruktur Menggunakan tiga struktur kontrol, yaitu: 1. 2. 3. Sequence (penerjaan berurutan) Selection (pemilihan) Repetition (pengulangan) 13 Sequence Sequence merupakan urutan pengerjaan perintah dari perintah/pernyataan pertama sampai dengan perintah/pernyataan terakhir. Umumnya program mempunyai sequence mulai dari atas ke bawah dan dari kiri ke kanan (kecuali operasi pemberian nilai, dari kanan ke kiri). 14 Contoh sequence Contoh: Cetak “Jumlah Mahasiswa” Set Jumlah to 49 Cetak “Tambahan mahasiswa baru” Baca mhs_baru Jumlah = Jumlah + mhs_baru Cetak “Jumlah Mahasiswa” Cetak Jumlah Penjelasan – Urutan pengerjaan dimulai dari urutan pertama sampai dengan urutan terakhir. Jika mhs_baru diisi dengan 2, maka Jumlah yang tercetak adalah 51 15 Contoh sequence Contoh: Cetak “Jumlah Mahasiswa” Jumlah = 49 Cetak “Tambahan mahasiswa baru” Baca mhs_baru Jumlah = Jumlah + mhs_baru Cetak “Jumlah Mahasiswa” Cetak Jumlah Penjelasan – Urutan pengerjaan dimulai dari urutan pertama sampai dengan urutan terakhir. Jika mhs_baru diisi dengan 2, maka Jumlah yang tercetak adalah 51 16 2. Selection Struktur kontrol selection menggambarkan pemilihan diantara diantara dua atau lebih aksi berdasarkan kondisi atau persyaratan tertentu. Aksi pertama akan dikerjakan jika kondisi atau persyaratan tersebut bernilai benar. Jika tidak, maka aksi kedua setelah keyword “else” (jika ada) akan dikerjakan. 17 Contoh selection Contoh : IF Hari==1 THEN Cetak “Senin” ELSE Cetak “Bukan hari Senin” ENDIF Penjelasan – Tulisan “Senin” akan ditampilkan jika Hari bernilai 1, jika tidak maka tulisan “Bukan hari Senin” yang akan ditampilkan 18 3. Repetition Beberapa perintah dapat diulang dengan menggunakan struktur kontrol repetition. Perintah akan tetap diulang selama kondisi perulangan dipenuhi (i.e. bernilai benar) 19 Contoh repetition Contoh: bintang = 0 WHILE bintang < 5 PRINT bintang bintang = bintang + 1 ENDWHILE 20 Contoh repetition Contoh: bintang = 0 WHILE bintang < 5 PRINT bintang ENDWHILE 21 Latihan 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang 2. Buatlah algoritma menggunakan pseudocode untuk menghitung luas lingkaran. 3. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap. 22 Latihan 4. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil, dan rata-ratanya. 5. Buatlah algoritma menggunakan pseudocode untuk mengubah satuan waktu yang diinputkan dari detik ke satuan jam dan menit 23 Latihan Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan flowchart. 24