• 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

Peraturan Gubernur Jawa Barat Nomor 93 Tahun 2009 :tentang Standar Penyediaan Bahan Bakar, Biaya Pelumasan dan Perawatan Kendaraan Dinas di Lingkungan Pemerintah

[r]

Berdasarkan hasil penelitian yang telah dilakukan berkaitan dengan pengaruh kualitas pengajaran, kualitas guru, lokasi sekolah, agama, fasilitas sekolah, citra sekolah, biaya

shot(FS), Dengan kelima shot dasar tersebut disertai akibat gerakan kamera dan lensa akan menghasilkan berbagai variasi gambar dan jumlah subjek pun bisa lebih dari satu (orang)....

Penelitian yang dilakukan, menunjukkan bahwa kepemilikan manajerial yang ada di sektor pertambangan, membuktikan bahwa persentase kepemilikan saham pada perusahaan

Ban truk yang menggunakan rantai pada kelerengan berupa jalan tanjakan dengan kadar air 77,43% menghasilkan kedalaman alur tanah sedalam 20,5 cm, sedangkan dengan ban truk yang

Kedudukan hukum pidana sangatlah penting, karena di lihat dari tujuan hukum pidana yaitu untuk melindungi kepentingan orang perseorangan atau hak asasi manusia dan

Selain alam, Kabupaten Buleleng juga memiliki banyak potensi budaya berupa pura-pura bersejarah yang sudah ada sejak jaman penjajahan Belanda yang tersebar di desa-desa seperti