Dasar Pemrograman Komputer

About This Presentation
Title:

Dasar Pemrograman Komputer

Description:

Title: A Glimpse of Software Development Lifecycle Author: tatang Last modified by: Ismiarta A Document presentation format: On-screen Show (4:3) Other titles – PowerPoint PPT presentation

Number of Views:5
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Dasar Pemrograman Komputer


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 HinduArabic
    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).

3
Algoritma
  • 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

Problem
Algoritma
Data yg diolah
Data hasil olahan
Komputer
(Keluaran/Output)
(Masukan/Input)
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.

5
Pemodelan Komputer Sederhana
COMPUTER
TO COMPUTE ER
menghitung/mengolah bilangan
mengolah data
Data yg diolah
Pengolah Data (Processor)
Data hasil olahan
(Keluaran/Output)
(Masukan/Input)
(berbasis Aritmetika dan Logika)
Penyimpanan Data (Storage, e.g. memory)
6
Tahap Pengembangan Algoritma
MASALAH / IDE
PEMECAHAN
SOLUSI / HASIL
Algoritma
Source Code
Executable Code
7
Tahap Pengembangan Algoritma
DEFINISI MASALAH
RANCANG ALGORITMA
BUAT MODEL
TULIS PROGRAM
COMPILE
Y
Compile Error
T
Executable code gt Run
Y
Runtime Error
T
DOKUMENTASI
8
Tahap Pengembangan Algoritma
DEFINISI MASALAH
RANCANG ALGORITMA
BUAT MODEL
TULIS PROGRAM
COMPILE
Masalah Menentukan akar-akar dari suatu
persamaan kuadrat. Definisi Persamaan kuadrat
ax2 bx c 0 Data yg diperlukan Nilai dari
a, b dan c tipe bilangan real
Error
Executable code gt Run
Error
DOKUMENTASI
9
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Model Matematika Rumus ABC x1 (-b sqrt(b2
- 4ac))/2a x2 (-b sqrt(b2 - 4ac))/2a
Executable code gt Run
Error
DOKUMENTASI
10
Tahap Pengembangan Algoritma
10
11
Tahap Pengembangan Algoritma
12
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code gt Run
Error
DOKUMENTASI
13
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code gt Run
Error
DOKUMENTASI
14
Tahap Pengembangan Algoritma
RANCANG ALGORITMA
DEFINISI MASALAH
MEMBUAT MODEL
TULIS PROGRAM
COMPILE
Error
Executable code gt Run
Error
DOKUMEN TASI
15
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code gt Run
Error
DOKUMENTASI
16
Tahap Pengembangan Algoritma
DEFINISI MASALAH
MEMBUAT MODEL
RANCANG ALGORITMA
TULIS PROGRAM
COMPILE
Error
Executable code gt Run
Error
DOKUMENTASI
17
Penyajian Algoritma
  • Algoritma dapat diekspresikan dalam bentuk
  • Tulisan, misal structured English, pseudocode,
    notasi lain
  • Visual, misal flow chart, activity diagram

18
Pseudocode
  • 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)

19
Contoh pseudocode
  • 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

20
Contoh pseudocode
  • Algoritma Berangkat Kuliah
  • Mulai
  • Bangun dari tempat tidur
  • Mandi Pagi
  • Sarapan Pagi
  • Pergi Ke Kampus
  • Cari Ruang Kuliah
  • Masuk kelas untuk Kuliah
  • Selesai

21
Contoh pseudocode
  • 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

22
Flow Chart
Arah
Terminator
Proses
Konektor
Input/Output
Konektor antar halaman
Dokumen
Pemanggilan Procedure
Pemilihan
Pengulangan
23
Contoh flow chart
24
Kriteria algoritma yang baik
  • 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

25
Kriteria algoritma yang baik
  • Generality (keumuman)
  • Lain-lain
  • Ditulis dengan bahasa baku terstruktur sehingga
    tidak menimbulkan arti ganda atau ambigu, dan
    mudah diimplementasikan kedalam bahasa
    pemrograman.

26
Pseudocode (lanjutan)
  • Tujuh operasi dasar komputer
  • Membaca data (input)
  • Menampilkan data (output)
  • Melakukan perhitungan aritmetika (compute)
  • Memberikan nilai ke suatu identifier (store)
  • Membandingkan dan memilih (compare and select)
  • Melakukan pengulangan (repeat/loop)
  • Procedure dan/atau Function

27
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

28
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

29
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

30
4. Memberikan nilai ke identifier
  • 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

31
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 Pilih1 THEN
  • Discount 0.1 harga
  • ELSE
  • Discount 0.2 harga
  • ENDIF

32
6. Mengulang
  • Dapat menggunakan keyword WHILE dan ENDWHILE
  • Contoh
  • bil 0
  • WHILE bil lt 10
  • cetak bil
  • bil bil 1
  • ENDWHILE

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

34
Contoh pemakaian fungsi dalam pseudocode sederhana
  • Algoritma Berangkat Kuliah
  • Mulai
  • Bangun dari tempat tidur
  • Mandi Pagi
  • Sarapan Pagi
  • Pergi Ke Kampus
  • Cari Ruang Kuliah
  • Masuk kelas untuk Kuliah
  • Selesai

bisa dilihat sbg pemanggilan fungsi
35
Contoh pendefinisian fungsi dalam pseudocode
sederhana
  • 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

36
Contoh pemakaian fungsi dalam pseudocode sederhana
  • 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

bisal dilihat sbg pemanggilan fungsi
37
Contoh pemakaian fungsi dalam pseudocode sederhana
  • Algoritma Tulis di Papan (kapur, pesan)
  • Mulai
  • Angkat kapur
  • Tulis pesan di papan tulis dengan kapur
  • Selesai

38
Contoh flow chart pseudocode
  • READ a,b,c
  • d (bb)(4ac)
  • IF dlt0 THEN
  • PRINT Akar imajiner
  • ELSE
  • x1 (-bsqrt(d))/(2a)
  • x2 (-b-sqrt(d))/(2a)
  • PRINT x1,x2
  • ENDIF

39
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 e.g. SQL,HTML,XML,CSS
Object-oriented e.g. C, Java, Smalltalk, C
40
Paradigma pemrogramanImperative 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

41
Paradigma pemrogramanImperative 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

42
Pemrograman terstruktur
  • Menggunakan tiga struktur kontrol, yaitu
  • Sequence (pengerjaan berurutan)
  • Selection (pemilihan)
  • Repetition (pengulangan)

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

44
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

45
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.

46
Contoh selection
  • Contoh
  • IF Hari1 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

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

48
Contoh repetition
  • Contoh
  • bintang 0
  • WHILE bintang lt 5
  • PRINT bintang
  • bintang bintang 1
  • ENDWHILE

49
Latihan
  • 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.

50
Latihan
  • 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.

51
Latihan
  • Ulangi latihan no. 1 s/d no. 5 diatas dengan
    menggunakan flowchart.
Write a Comment
User Comments (0)