• Tidak ada hasil yang ditemukan

PengantarBerpikirKomputasidan PemrogramanProsedural

N/A
N/A
Protected

Academic year: 2021

Membagikan "PengantarBerpikirKomputasidan PemrogramanProsedural"

Copied!
42
0
0

Teks penuh

(1)

Pengantar Berpikir Komputasi dan

Pemrograman Prosedural

KU1072/Pengenalan Teknologi Informasi B Tahap Tahun Pertama Bersama

Institut Teknologi Bandung

Pemrograman Prosedural

Tim Pengajar KU1072 Sem. 1 2013-2014

(2)

Tujuan Kuliah Pemrograman

• Mahasiswa mampu:

– Menjelaskan bagaimana komputasi/program dimanfaatkan dalam keilmuan fakultas/sekolah

– Menjelaskan bagaimana proses dari source code menjadi program dengan menggunakan kompilator/interpreter

– Menjelaskan apa yang dimaksud berpikir komputasi dengan pendekatan prosedural

– Memahami representasi dan pemrosesan data dan program dalam mesin komputer

– Membuat program kecil pertama dalam bahasa pemrograman yang dipilih dan memahami aspek eksekusinya”

(3)

Apa itu Berpikir Komputasi

- Berpikir menggunakan logika

- Melakukan sesuatu selangkah demi selangkah - Menentukan keputusan bila menghadapi dua

kemungkinan yang berbeda

- Salah satu cara untuk memahami dan - Salah satu cara untuk memahami dan

mengimplementasikan cara berpikir komputasi adalah dengan belajar pemrograman

- Cara lain?

- Belajar memahami penggunaan perangkat lunak pengolah kata (contoh: MS Word), pengolah LembarKerja (SpreadSheet, contoh: MS Excel)

(4)

Kemampuan Berpikir Komputasi

“Berpikir komputasi memungkinkan kita untuk menggunakan komputasi sesuai dengan kebutuhan

kita. Kemampuan ini akan menjadi salah satu kemampuan dasar yang harus dimiliki di abad 21”

(http://link.cs.cmu.edu/article.php?a=600)

KU1072/Pengantar Teknologi Informasi

(http://link.cs.cmu.edu/article.php?a=600)

Kemampuan Dasar yang sudah ada sebelumnya:

• Kemampuan Membaca • Kemampuan Menulis • Kemampuan Berhitung

(5)

Karakteristik Berpikir Komputasi

• Mampu memberikan pemecahanpemecahan masalahmasalah menggunakan komputer

komputer atau perangkat lain

• Mampu mengorganisasimengorganisasi dan menganalisamenganalisa datadata

• Mampu melakukan representasi data melalui abstraksiabstraksi dengan suatu model model atau simulasisimulasi

• Mampu melakukan otomatisasi solusi melalui cara berpikir algoritma

algoritma (sekumpulan langkah terurut)

• Mampu melakukan identifikasiidentifikasi, , analisaanalisa dandan implementasiimplementasi solusi

solusi dengan berbagai kombinasi langkah/cara dan sumberdaya yang efisien dan efektif dengan

• Mampu melakukan generalisasigeneralisasi solusisolusi untuk berbagai masalah berbeda

(6)

Pemecahan masalah dengan

komputer

(7)

Organisasi dan Analisa Data

(8)

Contoh Analisa Persoalan:

Mengupas Kentang

• Bila ingin makan kentang, tentunya kita perlu memiliki kentang terlebih dahulu

Jika belum ada, maka beli kentang dulu • Jika belum ada, maka beli kentang dulu

• Jika sudah ada maka kentang perlu di kupas

• Setelah dikupas, kita harus memilih, apakah kita mau menggoreng kentang, merebus kentang atau

membuat sup.

(9)

Mengupas Kentang

Kentang tersedia ?

Kupas Kentang Mau dimasak apa? Ya

KU1072/Pengantar Teknologi Informasi

Kupas Kentang

Beli kentang ?

Goreng ? Rebus ? Sup ?

(10)

Pengenalan Flowchart (Diagram Alir)

Selesai Selesai Mulai Mulai

Pilihan

Pilihan

KU1072/Pengantar Teknologi Informasi

Proses

Proses

Alur

Alur

Alur

Alur

pilihan

pilihan

(11)

Flow Chart Mengupas Kentang

Beli Kentang Kentang Tersedia? Tidak Mulai Mulai Beli

Beli KentangKentang Kentang

Kentang Tersedia Tersedia??

KU1072/Pengantar Teknologi Informasi

Goreng

Goreng KentangKentang Ya

Selesai Selesai Kupas

Kupas KentangKentang

Dimasak Dimasak

apa apa??

Rebus

Rebus KentangKentang

Buat

Buat Sup Sup goreng

rebus

(12)

Contoh Analisa Persoalan:

Jarum Jam dinding yang tidak tepat

• Bila jarum tidak bergerak, ganti battery

• Jika bergerak berarti battery masih hidup tinggal dilakukan perbaikan letak jarum jam

dilakukan perbaikan letak jarum jam • Buatlah flowchartnya!

(13)

Diagram Alir (flow chart)

Perbaikan Waktu di Jam

dinding

Mulai

Jarum Bergerak

Perbaiki Jarum panjang dan pendek pada lokasi yang tepat Ya

Bergerak ?

Ganti Battery Baru

pada lokasi yang tepat

Tidak

Selesai

Apa yang salah

dengan flowchart

ini??

(14)

Diagram Alir (flow chart)

Perbaikan Waktu di Jam

dinding

Mulai

Jarum Bergerak

Perbaiki Jarum panjang dan pendek pada lokasi yang tepat Ya

Bergerak ?

Ganti Battery Baru

pada lokasi yang tepat

Tidak

Selesai

Bagaimana jika

ternyata setelah

dua hari jam

kembali tidak

tepat?

(15)

Jarum Bergerak Perbaiki Jarum panjang dan pendek pada Ya Mulai

Diagram Alir (flow chart)

Perbaikan Waktu di Jam

dinding

Bergerak ? Ganti Battery Baru pendek pada lokasi yang tepat Tidak Tunggu selama 2 hari Jam tepat waktu? Selesai Tidak Ya

(16)

Abstraksi Data

90

Suhu Air?

kemampuan kita untuk menginterpretasikan

suatu data dengan konteks masalahnya

KU1072/Pengantar Teknologi Informasi

Berat Badan?

Kecepatan Kendaraan

(17)

Persoalan Abstraksi Data

Suhu Air?

Berat Badan?

kemampuan kita untuk mengerti konteks dan

merepresentasikan menjadi bentuk lain.

KU1072/Pengantar Teknologi Informasi

Kecepatan Kendaraan Bergerak

75

derajat Celcius Kilogram Km/jam

(18)

Data Mahasiswa dengan

Data Penduduk

Struktur

Struktur

Data

Data

KU1072/Pengantar Teknologi Informasi

NIM: Nama Kota Lahir Tanggal Lahir Nama Ayah Nama Ibu Nomor KTP: Nama Kota Lahir Tanggal Lahir Nama Ayah Nama Ibu

Data

Data

(19)

Abstraksi data dengan Model dan Simulasi

• Mampu melakukan otomatisasiotomatisasi solusisolusi melalui cara berpikir algoritma (sekumpulan langkah terurut) • Mampu melakukan identifikasiidentifikasi, , analisaanalisa dandan

implementasi

implementasi solusisolusi dengan berbagai kombinasi langkah/cara dan sumberdaya yang efisien dan efektif dengan

• Mampu melakukan generalisasigeneralisasi solusisolusi untuk berbagai masalah berbeda

(20)

Kemampuan minimum yang

diharapkan

• Kemampuan melakukan dekomposisi masalah

– Menganalisa resep suatu masakan

• Kemampuan mengenali pola

– Misalnya pola harga barang yang naik kalau setiap lebaran – Misalnya pola harga barang yang naik kalau setiap lebaran

• Kemampuan menggeneralisir pola dan mengabstraksi pola

– Abstraksi kalendar kerja yang merepresentasikan apa yang dikerjakan dan kapan

• Kemampuan perancangan program

– Instruksi untuk memasak dengan suatu resep – Instruksi membuka paket lemari knock down

(21)

Keuntungan berpikir komputasi

• Percaya diri dalam berhadapan dengan kompleksitas masalah yang lebih besar dan lebih sulit

• Toleransi terhadap ambiguitas

• Mampu berhubungan dengan masalah yang • Mampu berhubungan dengan masalah yang

open-ended

• Mampu berkomunikasi dan bekerjasama untuk mencapai tujuan yang sama.

(22)

Berpikir Prosedural

• Sejumlah aksi dijalankan secara berurutan (sekuensial)

• Setiap aksi akan memberikan efek eksekusi tertentu • Jika diikuti terus menerus, aksi-aksi ini harus selesai • Jika diikuti terus menerus, aksi-aksi ini harus selesai

– Tidak bisa terus menerus

(23)

Pemrograman Prosedural

• Pemrograman Prosedural (Imperative)

– Hasil eksekusi program berdasarkan hasil dekomposisi “aksional”.

– Setiap aksi ini akan dijalankan secara berurutan (sekuensial)

(sekuensial)

• Pemrograman Non Prosedural

– Tidak berdasarkan urutan sekuensial – Contoh:

• Pemrograman Deklaratif, • Pemrograman Fungsional

(24)

Program =

Program = Algoritma

Algoritma +

+ Struktur

Struktur Data

Data

(25)

Program Menghitung Tabungan

• Masalah:

– Tabungan di bank selalu bertambah setiap tahun – Bank memiliki bunga yang setiap tahun bertambah

• BNI memiliki bunga tahunan 10% per tahun

• Untuk uang 100 ribu, maka setelah satu tahun akan menjadi 110 • Untuk uang 100 ribu, maka setelah satu tahun akan menjadi 110

ribu.

• Buatlah program yang menghitung uang kita setelah satu tahun. • Program akan menanyakan uang kita saat ini, kemudian program

akan menampilkan uang kita setelah satu tahun

(26)

Contoh Eksekusi Program Menghitung Tabungan

Masukkan uang: 1000

KU1072/Pengantar Teknologi Informasi

(27)

Bagaimana Program

itu dibuat?

itu dibuat?

(28)

Program Tabungan

input ( NilaiRp)

NilaiRp  NilaiRp + NilaiRp * 10% output( NilaiRp)

a

atau

tau

KU1072/Pengantar Teknologi Informasi

output (“Masukkan Uang: “) input ( NilaiRp)

NilaiRp  NilaiRp + NilaiRp * 10% output(“Tahun Depan => “)

output( NilaiRp )

a

(29)

Program =

Program = Algoritma

Algoritma +

+ Struktur

Struktur Data

Data

Struktur Data

KU1072/Pengantar Teknologi Informasi

input ( NilaiRp)

NilaiRp ← NilaiRp * 10% output( NilaiRp)

(30)

Kode Program Bahasa C++

input ( NilaiRp)

NilaiRp ← NilaiRp * 10% output( NilaiRp)

KU1072/Pengantar Teknologi Informasi

cin >> NilaiRp;

NilaiRp = NilaiRp * 0.1; cout << NilaiRp;

cin: Console Input (diketikkan lewat keyboard)

(31)

Kode Program Bahasa Pascal

input ( NilaiRp)

NilaiRp ← NilaiRp * 10% output( NilaiRp)

KU1072/Pengantar Teknologi Informasi

Readln(NilaiRp);

NilaiRp = NilaiRp * 0.1; Writeln(NilaiRp);

Readln akan

membaca dari hasil ketik di keyboard

Writeln akan menulis hasil di layar komputer

(32)

Kode Program Bahasa Fortran

input ( NilaiRp)

NilaiRp ← NilaiRp * 10%

output( NilaiRp) Tanda ‘*’ mengindikasikankeluaran/masukan

standard (keyboard/layar)

KU1072/Pengantar Teknologi Informasi

Read *, NilaiRp

NilaiRp = NilaiRp * 0.1; Print *, NilaiRp

Read akan membaca dari hasil ketik di keyboard

Print akan menulis

(33)

Kode C++

int main() { int NilaiRp; cin >> NilaiRp; Pendefinisian

Pendefinisian DataData

KU1072/Pengantar Teknologi Informasi

cin >> NilaiRp;

NilaiRp = NilaiRp + NilaiRp * 0.1; cout << NilaiRp;

return 0; }

(34)

Kode Pascal

Program HitungUangDiBank var NilaiRp : integer; begin Pendefinisian

Pendefinisian DataData

KU1072/Pengantar Teknologi Informasi

begin

readln(NilaiRp);

NilaiRp := NilaiRp + NilaiRp * 0.1; writeln(NilaiRp);

(35)

Kode Fortran

Program HitungUangDiBank integer :: NilaiRp read *, NilaiRp

Pendefinisian

Pendefinisian DataData

KU1072/Pengantar Teknologi Informasi

read *, NilaiRp

NilaiRp := NilaiRp + NilaiRp * 0.1 print *, NilaiRp

(36)

Edit,

Edit, Kompilasi

Kompilasi (Compile)

(Compile)

dan

dan Eksekusi

Eksekusi

File Source Code .cpp

COMPILE Object Code siap

KU1072/Pengantar Teknologi Informasi

COMPILE

Object code

Executable Code .exe

Object Code siap pakai lainnya

(37)

Contoh

Contoh Edit

Edit,

, Kompilasi

Kompilasi (Compile)

(Compile)

dan

dan Eksekusi

Eksekusi

(38)

int main() {

/* Kamus */

float JariJari;

Program HitungLuasLingkaran (C++)

KU1072/Pengantar Teknologi Informasi

float JariJari;

float Luas;

/* Algoritma */ cin >> JariJari;

Luas = 3.14 * JariJari * JariJari;

cout << Luas; }

(39)

Program HitungLuasLingkaran;

{ Kamus }

var

JariJari: real;

Program HitungLuasLingkaran (Pascal)

KU1072/Pengantar Teknologi Informasi B/Sem 1 2013-2014 JariJari: real; Luas : real; begin {Algoritma } readln(JariJari);

Luas := 3.14 * JariJari * JariJari;

writeln(Luas);

readln;

(40)

Program HitungLuasLingkaran ! Kamus real :: JariJari real :: Luas

Program HitungLuasLingkaran

(Fortran)

KU1072/Pengantar Teknologi Informasi

real :: Luas

! algoritma

read *, JariJari

Luas = 3.14 * JariJari * JariJari

print *, Luas

(41)

Program HitungLuasLingkaran ! Kamus real :: JariJari real :: Luas

Program HitungLuasLingkaran

(Fortran) – versi 2

KU1072/Pengantar Teknologi Informasi

real :: Luas

! algoritma

read *, JariJari

Luas = 3.14 * JariJari ** 2

print *, Luas

(42)

Terima Kasih

Terima Kasih

Gambar

Diagram Alir (flow chart)  Perbaikan Waktu di Jam  dinding
Diagram Alir (flow chart)  Perbaikan Waktu di Jam  dinding
Diagram Alir (flow chart)  Perbaikan Waktu di Jam  dinding Bergerak ? Ganti Battery Baru pendek  pada  lokasi yang tepatTidak Tunggu selama 2 hariJam tepat  waktu? Selesai Tidak Ya

Referensi

Dokumen terkait

Siswa dapat menghitung peluang suatu kejadian pada pelemparan satu dadu dan satu mata uang logamB. Peluang kejadian pada pelemparan 1 dadu dan mata uang

Buatlah program dengan menggunakan Function dan Sub , untuk menghitung nilai rata-rata. dari nilai Tugas , nilai UTS , dan

Buatlah program pengulangan untuk menghitung jumlah sederet bilangan berurut yang dimulai dari 1 hingga bilangan inputan...

Buatlah algoritma dengan bentuk penulisan pseudocode untuk proses menghitung luas segitiga pada bagian lembar berikutnya dari program Microsoft Word, kemudian simpan

Buatlah program untuk menghitung akar suatu bilangan dengan tipe nilai balik float dan menghitung pangkat suatu bilangan dengan tipe nilai balik double,

Membuat program untuk mengonvert mata uang dari rupiah ke dolar(input mata uang rupiah) output jumlah dolar4. Membuat program untuk menghitung

Buatlah program untuk menghitung dan mencetak nilai rata-rata, nilai tertinggi, dan nilai..

Buatlah program pengulangan untuk menghitung jumlah sederet bilangan berurut yang dimulai dari 1 hingga bilangan inputan...