Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar Pemrograman Komputer Pengantar Algoritma Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB.

Presentasi serupa


Presentasi berjudul: "Dasar Pemrograman Komputer Pengantar Algoritma Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB."— Transcript presentasi:

1 Dasar Pemrograman Komputer Pengantar Algoritma Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB

2 Algoritma  Diambil dari nama ilmuwan asal Persia Al Khawarizmi (Abu Abdallah Muhammad ibn Musa Al Khawarizmi)  Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M  Tulisan di atas awalnya berbahasa Arab, lalu diterjemahkan ke Latin. Al Khawarizmi menjadi Algoritmi.  Berkembang menjadi “algorismus”, yang berarti sistem bilangan desimal.  Dalam bahasa Perancis di abad ke-17, algorismus menjadi “algorithm”, kemudian diadopsi dalam bahasa Inggris dengan nama sama.  Mulai abad ke-19 istilah ini mulai memiliki arti yang agak berbeda (lihat halaman selanjutnya). Pengantar Algoritma - TIF UB 20102

3 Algoritma Komputer (Keluaran/Output) Problem Algoritma Data yg diolah (Masukan/Input) Data hasil olahan Pengantar Algoritma - TIF UB 2010 Algoritma adalah sekumpulan instruksi atau langkah- langkah yang jelas (unambiguous) dan terbatas untuk mencari solusi suatu masalah.  Untuk mendapatkan keluaran yang dibutuhkan dari masukan yang sah dalam waktu yang terbatas  Algoritma sebenarnya cara, bukan hasil atau solusi 3

4 Algoritma  Di pemrograman komputer, algoritma diimplementasikan ke dalam program komputer, yaitu:  satu set instruksi atau langkah-langkah yang dijalankan dengan komputer untuk menyelesaikan suatu masalah. Pengantar Algoritma - TIF UB 20104

5 Pemodelan Komputer Sederhana 5 Pengolah Data (Processor) (berbasis Aritmetika dan Logika) (Keluaran/Output) COMPUTERTO – COMPUTE + ER menghitung/mengolah bilangan mengolah data Data yg diolah (Masukan/Input) Data hasil olahan Pengantar Algoritma - TIF UB 2010 Penyimpanan Data (Storage, e.g. memory)

6 Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB MASALAH / IDE PEMECAHANSOLUSI / HASIL Algoritma Source Code Executable Code

7 Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB DEFINISI MASALAH BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Compile Error Executable code: => Run Runtime Error DOKUMENTASI Y Y T T

8 Pengantar Algoritma - TIF UB DEFINISI MASALAH BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Masalah: Menentukan akar-akar dari suatu persamaan kuadrat. Definisi: Persamaan kuadrat : ax 2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe bilangan real Tahap Pengembangan Algoritma

9 Pengantar Algoritma - TIF UB DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Model Matematika : Rumus ABC x1 = (-b + sqrt(b 2 - 4ac))/2a x2 = (-b – sqrt(b 2 - 4ac))/2a Tahap Pengembangan Algoritma

10 10 TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA Start d = b 2 – 4ac d < 0 Masukkan a,b,c x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Cetak: x1, x2 Cetak: “Akar imajiner” Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

11 11 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

12 12 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

13 13 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

14 14 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

15 15 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

16 16 DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Tahap Pengembangan Algoritma Pengantar Algoritma - TIF UB 2010

17 Penyajian Algoritma  Algoritma dapat diekspresikan dalam bentuk:  Tulisan, misal: structured English, pseudocode, notasi lain  Visual, misal: flow chart, activity diagram Pengantar Algoritma - TIF UB

18  Outline dari sebuah program komputer  Ditulis dalam bahasa Inggris atau Indonesia sederhana  Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”) 18 Pseudocode Pengantar Algoritma - TIF UB 2010

19 Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan memori kalkulator Ulangi Input harga Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga Matikan kalkulator Selesai 19 Contoh pseudocode Pengantar Algoritma - TIF UB 2010

20 Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk kelas untuk Kuliah Selesai 20 Contoh pseudocode Pengantar Algoritma - TIF UB 2010

21 Algoritma Sarapan Pagi Mulai Ambil piring Masukkan nasi dan lauk dalam piring Ambil sendok dan garpu Ulangi Angkat sendok dan garpu Ambil nasi dan lauk Suapkan ke dalam mulut Taruh sendok dan garpu Kunyah Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu Selesai 21 Contoh pseudocode Pengantar Algoritma - TIF UB 2010

22 22 Terminator Proses Pemilihan Input/Output Dokumen Pengulangan Arah Konektor antar halaman Konektor Pemanggilan Procedure Flow Chart Pengantar Algoritma - TIF UB 2010

23 23 Start d = b 2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Masukkan a,b,c Cetak x1,x2 Cetak Pesan “Akar imajiner” Contoh flow chart

24  Correctness (kebenaran)  Menghasilkan keluaran yang benar untuk masukan yang valid dalam waktu yang terbatas  Mempunyai logika yang benar untuk memecahkan masalah.  Simplicity (kesederhanaan)  Mudah dipahami, mudah diprogram  “Indah”  Efficiency (efisiensi)  Time efficiency (efisiensi waktu): seberapa cepat  Space efficency (efisiensi ruang): seberapa banyak memori yang dibutuhkan 24 Kriteria algoritma yang baik Pengantar Algoritma - TIF UB 2010

25  Generality (keumuman)  Lain-lain –Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu, dan mudah diimplementasikan kedalam bahasa pemrograman. 25 Kriteria algoritma yang baik Pengantar Algoritma - TIF UB 2010

26 26 Pseudocode (lanjutan) Tujuh operasi dasar komputer: 1.Membaca data (input) 2.Menampilkan data (output) 3.Melakukan perhitungan aritmetika (compute) 4.Memberikan nilai ke suatu identifier (store) 5.Membandingkan dan memilih (compare and select) 6.Melakukan pengulangan (repeat/loop) 7.Procedure dan/atau Function

27  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 Membaca data

28  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 Menampilkan data

29  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 Menghitung data

30  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 Memberikan nilai ke identifier

31  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 Membandingkan dan memilih

32  Dapat menggunakan keyword “WHILE” dan “ENDWHILE”  Contoh bil = 0 WHILE bil < 10 cetak bil bil = bil +1 ENDWHILE Mengulang

33 7. Procedure dan/atau Function  Dibentuk dengan mengelompokkan sejumlah perintah untuk mengerjakan tugas tertentu  Jarang diperkenalkan di awal pelajaran pemrograman  Dalam bahasa C, sebagaimana variabel, fungsi perlu dideklarasikan (dan sebaiknya didefinisikan) sebelum dipakai  Mengandung: nama fungsi, parameter, dan kembalian Pengantar Algoritma - TIF UB

34 Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk kelas untuk Kuliah Selesai 34 Contoh pemakaian fungsi dalam pseudocode sederhana Pengantar Algoritma - TIF UB 2010 bisa dilihat sbg pemanggilan fungsi

35 Algoritma Sarapan Pagi (definisi fungsi Sarapan Pagi) Mulai Ambil piring Masukkan nasi dan lauk dalam piring Ambil sendok dan garpu Ulangi Angkat sendok dan garpu Ambil nasi dan lauk Suapkan ke dalam mulut Taruh sendok dan garpu Kunyah Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu Selesai 35 Contoh pendefinisian fungsi dalam pseudocode sederhana Pengantar Algoritma - TIF UB 2010

36 Algoritma Mengerjakan Soal di Papan Tulis Mulai Bangkit dari kursi Jalan mendekati papan tulis Ambil kapur Tulis di Papan(kapur,pesan) Kembali ke kursi Selesai 36 Contoh pemakaian fungsi dalam pseudocode sederhana Pengantar Algoritma - TIF UB 2010 bisal dilihat sbg pemanggilan fungsi

37 Algoritma Tulis di Papan (kapur, pesan) Mulai Angkat kapur Tulis pesan di papan tulis dengan kapur Selesai 37 Contoh pemakaian fungsi dalam pseudocode sederhana Pengantar Algoritma - TIF UB 2010

38 38 Start d = b 2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Masukkan a,b,c Cetak x1,x2 Cetak Pesan “Akar imajiner” Contoh flow chart & pseudocode 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

39 Declarative Imperative Paradigma pemrograman Pengantar Algoritma - TIF UB Procedural e.g. C, Pascal, Fortran, Basic Procedural e.g. C, Pascal, Fortran, Basic Structured e.g. C, Pascal, Fortran, Basic Structured e.g. C, Pascal, Fortran, Basic Object-oriented e.g. C++, Java, Smalltalk, C# Object-oriented e.g. C++, Java, Smalltalk, C# Functional e.g. LISP, Scheme,Objective Functional e.g. LISP, Scheme,Objective Logical e.g. Prolog Logical e.g. Prolog Domain-specific e.g. SQL,HTML,XML,CSS Domain-specific e.g. SQL,HTML,XML,CSS

40 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

41 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

42  Menggunakan tiga struktur kontrol, yaitu: 1. Sequence (pengerjaan berurutan) 2. Selection (pemilihan) 3. Repetition (pengulangan) 42 Pemrograman terstruktur

43  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). 43 Sequence

44  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 Contoh sequence

45  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 Selection

46  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 46 Contoh selection

47  Beberapa perintah dapat diulang dengan menggunakan struktur kontrol repetition.  Perintah akan tetap diulang selama kondisi perulangan dipenuhi (i.e. bernilai benar) Repetition

48  Contoh: bintang = 0 WHILE bintang < 5 PRINT bintang bintang = bintang + 1 ENDWHILE 48 Contoh repetition

49 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang 2. Buatlah algoritma menggunakan pseudocode untuk mengubah satuan waktu yang diinputkan dari detik ke satuan jam dan menit 3. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap. 49 Latihan

50 4. Buatlah algoritma menggunakan pseudocode untuk menghitung luas lingkaran. 5. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil, dan rata-ratanya. 50 Latihan

51  Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan flowchart. 51 Latihan


Download ppt "Dasar Pemrograman Komputer Pengantar Algoritma Sutrisno Ismiarta Aknuranda Issa Arwani Adharul Muttaqin Teknik Informatika - UB."

Presentasi serupa


Iklan oleh Google