Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pengantar Berpikir Komputasi dan Pemrograman Prosedural

Presentasi serupa


Presentasi berjudul: "Pengantar Berpikir Komputasi dan Pemrograman Prosedural"— Transcript presentasi:

1 Pengantar Berpikir Komputasi dan Pemrograman Prosedural
Tim Pengajar KU1072 Sem

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” 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

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 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) 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

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” ( Kemampuan Dasar yang sudah ada sebelumnya: Kemampuan Membaca Kemampuan Menulis Kemampuan Berhitung 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

5 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Berpikir Komputasi Melibatkan sekumpulan keahlian dan teknik pemecahan masalah yang biasanya digunakan oleh pengembang perangkat lunak untuk menulis program aplikasi komputer. Teknik-teknik yang digunakan Dekomposisi Pengenalan Pola (pattern recognition) Generalisasi Pola dan abstraksi(pattern generalization) Untuk mendefinisikan suatu model Rancangan Algoritma dan analisa data /visualisasi 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

6 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Dekomposisi Suatu masalah dipecah menjadi beberapa sub-masalah yang lebih kecil Matematika: 256 = 2 * * * 1 Sistem Perpustakaan Peminjaman buku Anggota Dosen Mahasiswa Program komputer: ? Untuk program komputer dapat diberikan contoh pemisahan sekumpulan perintah menjadi fungsi/prosedur terpisah. Yang dapat digunakan kembali oleh bagian lain 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

7 Pengenalan Pola (Pattern Recognition)
Kemampuan melihat adanya kesamaan yang akan memungkinkan kita untuk melakukan prediksi Pola penjualan saham to t1 t2 t3 t4 t5 t6 Untuk program komputer, kadang kita bisa menemui pola yang berulang, keadaan ini memungkin pemisahan bagian program menjadi procedure/fungsi Apakah di t6 akan turun atau naik ? 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

8 Generalisasi Pola dan Abstraksi
Kemampuan memilah informasi yang kompleks menjadi lebih sederhana atau membuat informasi lebih bersifat general sehingga memudahkan kita untuk menjelaskan suatu ide Gambar grafik pie-chart untuk abstraksi prosentasi jumlah mahasiswa pria – wanita Lokasi suatu posisi di bumi dapat ditentukan dari kordinat langitude atau latitude Menghitung fibonacci Fibonacci[0] = 1 Fibonacci[1] = 1 Fibonnaci[n] = Fibonacci[n-1] + Fibonacci[n-2] 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

9 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Rancangan Algoritma Kemampuan mengembangkan strategi selangkah demi selangkah untuk pemecahan masalah. Rancangan algoritma biasanya dibuat berdasarkan dekomposisi masalah dan identifikasi pola yang akan membantu pemecahan masalah. Urutan memasak kentang Urutan memakai sepatu Implementasi program komputer dalam bahasa C, Pascal, Fortran, dll. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

10 Karakteristik Berpikir Komputasi
Mampu memberikan pemecahan masalah menggunakan komputer atau perangkat lain Mampu mengorganisasi dan menganalisa data Mampu melakukan representasi data melalui abstraksi dengan suatu model atau simulasi Mampu melakukan otomatisasi solusi melalui cara berpikir algoritma (sekumpulan langkah terurut) Mampu melakukan identifikasi, analisa dan implementasi solusi dengan berbagai kombinasi langkah/cara dan sumberdaya yang efisien dan efektif Mampu melakukan generalisasi solusi untuk berbagai masalah berbeda Mahasiswa di encourage memberikan contoh masalah yang ada di lingkungan fakultas/prodi masing-masing 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

11 Pemecahan masalah dengan komputer
Mesin ketik biasa digunakan sebagai alat bantu pengetikan, tetapi dengan adanya program komputer seperti MS Word, maka akan dimudahkan dalam melakukan pengeditan Di jaman dulu, pilot menerbangkan pesawat harus memperhatikan ketinggian pesawat, kecepatan angin, perubahan arah angin, dan lain-lain. Dengan adanya Sistem Autopilot, maka pilot dapat menjalankan program autopilot 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

12 Organisasi dan Analisa Data
9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

13 Contoh Analisa Persoalan: Mengupas Kentang
Bila ingin makan kentang, tentunya kita perlu memiliki kentang terlebih dahulu 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/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

14 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Mengupas Kentang Kentang tersedia ? Ya Mau dimasak apa? Kupas Kentang Tidak Goreng ? Sup ? Rebus ? Beli kentang ? 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

15 Pengenalan Flowchart (Diagram Alir)
Mulai Selesai Pilihan Proses Alur pilihan Pilihan Alur Proses biasanya menggunakan “Kata Kerja” diikuti dengan “kata benda” nya Pilihan biasanya berupa pertanyaan akan pilihan yang ingin dilakukan 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

16 Flow Chart Mengupas Kentang
Mulai Kentang Tersedia? Kentang Tersedia? Tidak Beli Kentang Beli Kentang Ya Kupas Kentang Goreng Kentang goreng Rebus Kentang Selesai Dimasak apa? rebus Buat Sup sup 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

17 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 Buatlah flowchartnya! Mahasiswa diharapkan untuk membuat flowchart versi masing-masing. Cara pembuatan bisa dilakukan perkelompok. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

18 Diagram Alir (flow chart) Perbaikan Waktu di Jam dinding
Mulai Perbaiki Jarum panjang dan pendek pada lokasi yang tepat Jarum Bergerak? Ya Tidak Apa yang salah dengan flowchart ini?? Ganti Battery Baru Mahasiswa perlu diajak berpikir bahwa satu solusi algoritma bisa sederhana tapi bisa juga bisa lebih kompleks. Misalnya dengan mempertanyakan apa yang harus dilakukan jika setelah dua hari jam kembali tidak tepat. Selesai 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

19 Diagram Alir (flow chart) Perbaikan Waktu di Jam dinding
Mulai Perbaiki Jarum panjang dan pendek pada lokasi yang tepat Jarum Bergerak? Ya Tidak Bagaimana jika ternyata setelah dua hari jam kembali tidak tepat? Ganti Battery Baru Mahasiswa perlu diajak berpikir bahwa satu solusi algoritma bisa sederhana tapi bisa juga bisa lebih kompleks. Misalnya dengan mempertanyakan apa yang harus dilakukan jika setelah dua hari jam kembali tidak tepat. Selesai 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

20 Diagram Alir (flow chart) Perbaikan Waktu di Jam dinding
Mulai Perbaiki Jarum panjang dan pendek pada lokasi yang tepat Jarum Bergerak? Ya Tidak Jam tepat waktu? Ganti Battery Baru Tunggu selama 2 hari Mahasiswa perlu memikirkan bahwa solusi algoritma bisa sederhana tapi bisa juga bisa lebih kompleks. Misalnya dengan mempertanyakan apa yang harus dilakukan jika setelah dua hari jam kembali tidak tepat. Tidak Ya Selesai 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

21 Kecepatan Kendaraan Bergerak
Abstraksi Data 90 kemampuan kita untuk menginterpretasikan suatu data dengan konteks masalahnya Suhu Air? Berat Badan? Kecepatan Kendaraan Bergerak Data dalam kasus ini adalah angka “90”. Angka ini bisa multi-interpretasi. Penggunaan angka ini bergantung pada kemampuan kita atau keinginan kita untuk tujuan apa angka “90” itu digunakan. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

22 Persoalan Abstraksi Data
kemampuan kita untuk mengerti konteks dan merepresentasikan menjadi bentuk lain. Suhu Air? Berat Badan? Kecepatan Kendaraan Bergerak 75 Km/jam derajat Celcius Kilogram Mahasiswa diharapkan juga dapat memiliki kemampuan melakukan abstraksi data dari suatu persoalan menjadi bentuk lain yang mewakili persoalan tersebut. Misalnya bagaimana kita mengabstraksikan suhu air. Angka 75 saja mungkin tidak cukup, perlu di tambah informasi seperti satuan derajat untuk menghitung suhu dengan menggunakan standard yang diberikan oleh Celsius. Demikian juga untuk berat badan perlu jelas kita mengabstraksikan data berat badan itu dengan suatu data angka. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

23 Data Mahasiswa dengan Data Penduduk
Struktur Data Nomor KTP: Nama Kota Lahir Tanggal Lahir Nama Ayah Nama Ibu NIM: Nama Kota Lahir Tanggal Lahir Nama Ayah Nama Ibu Data mahasiswa dan penduduk sebenarnya mirip, tapi di bedakan dari karakteristiknya. Dalam hal ini mahasiswa memiliki NIM dan penduduk memiliki Nomor KTP. Tetapi keduanya bisa merupakan satu individ 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

24 Abstraksi data dengan Model dan Simulasi
Mampu melakukan otomatisasi solusi melalui cara berpikir algoritma (sekumpulan langkah terurut) Mampu melakukan identifikasi, analisa dan implementasi solusi dengan berbagai kombinasi langkah/cara dan sumberdaya yang efisien dan efektif Mampu melakukan generalisasi solusi untuk berbagai masalah berbeda 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

25 Kemampuan minimum yang diharapkan
Kemampuan melakukan dekomposisi masalah Menganalisa resep suatu masakan Kemampuan mengenali pola 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 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

26 Keuntungan berpikir komputasi
Percaya diri dalam berhadapan dengan kompleksitas masalah yang lebih besar dan lebih sulit Toleransi terhadap ambiguitas Mampu berhubungan dengan masalah yang open-ended Mampu berkomunikasi dan bekerjasama untuk mencapai tujuan yang sama. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

27 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Berpikir Prosedural Sejumlah aksi dijalankan secara berurutan (sekuensial) Setiap aksi akan memberikan efek eksekusi tertentu Jika diikuti terus menerus, aksi-aksi ini harus selesai Tidak bisa terus menerus 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

28 Pemrograman Prosedural
Pemrograman Prosedural (Imperative) Hasil eksekusi program berdasarkan hasil dekomposisi “aksional”. Setiap aksi ini akan dijalankan secara berurutan (sekuensial) Pemrograman Non Prosedural Tidak berdasarkan urutan sekuensial Contoh: Pemrograman Deklaratif, Pemrograman Fungsional Tidak di bahas di kuliah ini 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

29 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Program = Algoritma + Struktur Data Dalam pemrograman komputer dikenal penggabungan antara Algoritma dan Struktur Data. Algoritma adalah terdiri dari sekumpulan aksi yang dilakukan secara berurutan, dengan menggunakan struktur data tertentu. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

30 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 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 Bagian ini perlu dijelaskan dengan beberapa contoh. Tujuannya adalah mahasiswa mampu memahami masalah yang akan di pecahkan sebelum solusi diberikan. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

31 Contoh Eksekusi Program Menghitung Tabungan
Masukkan uang: 1000 Tahun Depan => 1100 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

32 Bagaimana Program itu dibuat?
9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

33 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Program Tabungan input ( NilaiRp) NilaiRp  NilaiRp + NilaiRp * 10% output( NilaiRp) atau output (“Masukkan Uang: “) input ( NilaiRp) NilaiRp  NilaiRp + NilaiRp * 10% output(“Tahun Depan => “) output( NilaiRp ) Perlu dijelaskan bahwa Input dilakukan lewat pengetikan dari keyboard Output adalah perintah menampilkan data ke layar komputer 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

34 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Program = Algoritma + Struktur Data Struktur Data input ( NilaiRp ) NilaiRp ← NilaiRp + NilaiRp * 10% output( NilaiRp ) Algoritma 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

35 Kode Program Bahasa C++
input (NilaiRp) NilaiRp ← NilaiRp + NilaiRp * 10% output(NilaiRp) cin >> NilaiRp; NilaiRp = NilaiRp + NilaiRp * 0.1; cout << NilaiRp; cin: Console Input (diketikkan lewat keyboard) CIN: Console In COUT: Console Out cout: Console Output 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

36 Kode Program Bahasa Pascal
input (NilaiRp) NilaiRp ← NilaiRp + NilaiRp * 10% output(NilaiRp) readln(NilaiRp); NilaiRp := NilaiRp + NilaiRp * 0.1; writeln(NilaiRp); readln akan membaca dari hasil ketik di keyboard CIN: Console In COUT: Console Out writeln akan menulis hasil di layar komputer 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

37 Kode Program Bahasa Fortran
input (NilaiRp) NilaiRp ← NilaiRp + NilaiRp * 10% output(NilaiRp) Tanda ‘*’ mengindikasikan keluaran/masukan standard (keyboard/layar) read *, NilaiRp NilaiRp = NilaiRp + NilaiRp * 0.1; print *, NilaiRp read akan membaca dari hasil ketik di keyboard CIN: Console In COUT: Console Out print akan menulis hasil di layar komputer 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

38 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Kode C++ Pendefinisian Data int main() { int NilaiRp; cin >> NilaiRp; NilaiRp = NilaiRp + NilaiRp * 0.1; cout << NilaiRp; return 0; } 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

39 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Kode Pascal Pendefinisian Data Program HitungUangDiBank; var NilaiRp : integer; begin readln(NilaiRp); NilaiRp := NilaiRp + NilaiRp * 0.1; writeln(NilaiRp); end 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

40 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Kode Fortran Pendefinisian Data Program HitungUangDiBank integer :: NilaiRp read *, NilaiRp NilaiRp := NilaiRp + NilaiRp * 0.1 print *, NilaiRp End program HitungUangDiBank 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

41 Edit, Kompilasi (Compile)
dan Eksekusi File Source Code .cpp COMPILE Object Code siap pakai lainnya LINK Object code Executable Code .exe 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

42 Contoh Edit, Kompilasi (Compile)
dan Eksekusi 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

43 Program HitungLuasLingkaran (C++)
int main() { /* Kamus */ float JariJari; float Luas; /* Algoritma */ cin >> JariJari; Luas = 3.14 * JariJari * JariJari; cout << Luas; } Bagian ini hanya contoh, bisa diterangkan ke mahasiswa prosesnya. Diterangkan juga bahwa lebih detil akan diberikan di kuliah2 minggu berikutnya. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

44 Program HitungLuasLingkaran (Pascal)
(* Kamus *) var JariJari : real; Luas : real; begin (* Algoritma *) readln(JariJari); Luas := 3.14 * JariJari * JariJari; writeln(Luas); readln; end. Bagian ini hanya contoh, bisa diterangkan ke mahasiswa prosesnya. Diterangkan juga bahwa lebih detil akan diberikan di kuliah2 minggu berikutnya. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

45 Program HitungLuasLingkaran (Fortran)
! Kamus real :: JariJari real :: Luas ! Algoritma read *, JariJari Luas = 3.14 * JariJari * JariJari print *, Luas end program HitungLuasLingkaran Bagian ini hanya contoh, bisa diterangkan ke mahasiswa prosesnya. Diterangkan juga bahwa lebih detil akan diberikan di kuliah2 minggu berikutnya. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

46 Program HitungLuasLingkaran (Fortran) – versi 2
! Kamus real :: JariJari real :: Luas ! algoritma read *, JariJari Luas = 3.14 * JariJari ** 2 print *, Luas end program HitungLuasLingkaran Di fortran dikenal operator pangkat. Jadi JariJari kuadrat dapat langsung di tulis sebagai JariJari ** 2. 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem

47 KU1072/Pengantar Teknologi Informasi B/Sem 1 2015-2016
Terima Kasih 9/15/2018 KU1072/Pengantar Teknologi Informasi B/Sem


Download ppt "Pengantar Berpikir Komputasi dan Pemrograman Prosedural"

Presentasi serupa


Iklan oleh Google