KU1072 Mgg01 PengantarBerpikirKomputasi 160815

download KU1072 Mgg01 PengantarBerpikirKomputasi 160815

of 84

Transcript of KU1072 Mgg01 PengantarBerpikirKomputasi 160815

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    1/84

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    2/84

    Tujuan Pertemuan

    Mahasiswa mampu:

    Menelaskan apa itu !erpikir komputasional danteknik"teknik di dalamnya

    Menelaskan !agaimana komputasidiman#aatkan dalam keilmuan #akultas$sekolah

    Memahami representasi dan pemrosesan datadan program dalam mesin komputer Menelaskan !agaimana proses dari sour%e %ode

    menadi program dengan menggunakankompilator$interpreter

    Menelaskan apa yang dimaksud paradigmapemrograman prosedural

    KU1072/Pengantar Berpikir Komputasi danPemrograman Prosedural20/01/16 2

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    3/84

    Berpikir Komputasional

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 3

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    4/84

    Pengantar &ideo: 'omputational Thinking( ) *igital

    )ge +kill #or ,-eryone " .ouTu!e/720pmp

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 4

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    5/84

    Computational ThinkingComputational thinking is the thoughtprocesses involved in formulatingproblems and their solutions so that the

    solutions are representedin a form thatcan be eectively carried out by aninformation-processing agent.

    3an 'uny4 5arry +nyder4 and 3eannette M 6ing4*emysti#ying 'omputational Thinking #or 8on"

    'omputer +%ientists4 2010

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 5

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    6/84

    Kemampuan Berpikir

    Komputasional 1!

    KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural

    9Berpikir komputasi memungkinkan kita untukmenggunakan komputasi sesuai dengan ke!utuhan

    kita Kemampuan ini akan menadi salah satukemampuan dasaryang harus dimiliki di a!ad 21

    ;http:$$link%s%muedu$arti%lephp00 ?

    Kemampuan dasar ang suda!

    ada se"elumna#Kemampuan $em"a%aKemampuan $enulisKemampuan Ber!itung

    20/01/16 6

    http://link.cs.cmu.edu/article.php?a=600http://link.cs.cmu.edu/article.php?a=600
  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    7/84

    Kemampuan Berpikir

    Komputasional 2!Merepresentasikan himpunan keterampilan;skill? dan perilaku ;attitude? yang se%arauni-ersal harus dipelaari dan digunakan4

    tidak han"a oleh para computerscientist

    Jeanette M. Wing, Computational Thinking,!""#

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 7

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    8/84

    Kemampuan Berpikir

    Komputasional #! Teknik"teknik yang digunakan *ekomposisi pesoalan ;problem

    decomposition$

    Pengenalan pola ;pattern recognition? @eneralisasi pola dan a!straksi ;pattern

    generali%ation and abstraction? Aan%angan algoritma ;algorithm design?

    )nalisis data dan -isualisasi

    KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural20/01/16 &

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    9/84

    Pemanasan

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural '

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    10/84

    Instruksi$0

    +iapkan di atas mea selem%ar kertas&'4 pensil4 dan penghapus

    Berikan nama( )I*( dan kelasdi pook

    kanan atas

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 10

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    11/84

    Instruksi$1

    'eritakan hal"hal dan langkah"langkah yang kamulakukan hari ini4mulai dari:

    Bangun tidur

    sd

    Ti%a di kelas untuk mengikutikuliah PTI$B

    Tuliskan pada kertas )'ara penulisan !e!as: !oleh teks4 !oleh gam!ar4dll

    6aktu : menit

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 11

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    12/84

    Instruksi$2

    Berkelompoklah %erduadengan teman dise!elahmu

    *ari langkah"langkah yang dikerakan pada

    instruksi"14 tandaidari lem!ar milikmu danteman di se!elahmu hal$hal dapatdikatakan sama/mirip

    Ingatlah: 'ara )nda dan teman )nda !isa !er!eda

    dalam menyatakan hal yang sama$mirip4 misalnyarepresentasi ;gam!ar4 teks?4 kalimat yang!er!eda4 !er!eda tingkat kedetilannya C

    6aktu : 10 menit

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 12

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    13/84

    Instruksi$#

    Berdasarkan hasil per!andingan se!elumnya4tuliskan ulang ;dalam !entuk tes? di salahsatu lem!ar ;angan lupa menuliskan nama

    dan 8IM partner? apa yang dise!ut se!agai:Dal"hal yang dilakukan oleh seorang

    mahasis+a kelas ,, pada hari inimulaidari %angun tidur sd ti%a di kelas untuk

    mulai mengikuti kuliah PTI$B

    6aktu : menit

    20/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural 13

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    14/84

    -e%enarn"a apa "ang %aru

    saja kalian lakukan..

    1420/01/16 KU1072/Pengantar Berpikir Komputasidan Pemrograman Prosedural

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    15/84

    Problem Decomposition/

    ekomposisi Persoalan 1! Decomposition& ability to break do'n a

    task into minute details so that 'e can

    clearly e(plain a process to anotherperson or to a computer or even to )ust'rite notes for ourselves

    *alam latihan:Tugas indi-idual untuk mendekomposisi hal"hal

    yang dilakukan untuk pergi ke kuliah pada hariini

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 15

    P bl D iti /

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    16/84

    Problem Decomposition/ekomposisi Persoalan 2! $

    Contoh

    1620/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    8ama : *easy *u%k 8IM : 1>1EEE Kelas : FF

    Keadaan a+al Baru %angun tidur1Bersiap"siap untuk pergi !erolahraga2Pergi dari rumah ke 5apangan +araga ITBGTi!a di +araga ITB

    Berolahraga pagi dengan ogging selama setengah am di 5apangan +araPulang ke rumah>Bersih"!ersih rumah7+arapan pagiEMandiHMenyiapkan laptop4 !uku %atatan4 alat"alat tulis4 DP4 ta!let dan memasu10Berpamitan pada orang tua11Menyiapkan motor12Pergi ke kampus dengan menggunakan motor1GMemarkir motor di lapangan parkir )ula Barat1Beralan kaki menuu ruang kuliahKeadaan akhir ti%a di kelas untuk mulai mengikuti kuliah PTI$B

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    17/84

    Problem Decomposition/

    ekomposisi Persoalan #! 'ontoh lain:

    Menelaskan !ahan"!ahan dari suatu masakan

    tertentu !erdasarkan %ita rasanya Mendeskripsikan %ara untuk menuu ke rumah

    dari kampus

    *ekomposisi !ilangan 2>G7 menadi 2102J

    101J >100J G10"1J 710"2 *ekomposisi !ilangan menadi #aktor prima4

    misalnya: 20 = 2 2

    1720/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    18/84

    Pattern Recognition/

    Pengenalan Pola 1! Pattern recognition& ability to notice

    similaritiesor common dierences that helpus make predictions or lead us to shortcuts

    *ekomposisi persoalan sering mem!erikanpetunuk ke arah ditemukannya pola ;pattern?

    *alam latihan:

    Melakukan per!andingan dengan pekeraan temandan menentukan hal"hal yang 9sama$mirip ;danpada saat yang sama menentukan hal"hal yang9!er!eda?

    1&20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    19/84

    Pattern Recognition/Pengenalan Pola 2! $ Contoh

    1'20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    8ama : *easy *u%k 8IM : 1>1EEE Kelas : FF

    Keadaan a+al Baru %angun tidur1Bersiap"siap untuk pergi !erolahraga2Pergi dari rumah ke 5apangan +araga ITBGTi!a di +araga ITB

    Berolahraga pagi dengan ogging selama setengah am di 5apangan +aragPulang ke rumah>Bersih"!ersih rumah7+arapan pagiEMandiHMenyiapkan laptop4 !uku %atatan4 alat"alat tulis4 DP4 ta!let dan memasuk

    10Berpamitan pada orang tua11Menyiapkan motor12Pergi ke kampus dengan menggunakan motor1GMemarkir motor di lapangan parkir )ula Barat1Beralan kaki menuu ruang kuliahKeadaan akhir ti%a di kelas untuk mulai mengikuti kuliah PTI$B

    8ama : *onald *u%k 8IM : 1>1HHH Kelas : FF

    Keadaan a+al Baru %angun tidur1Persiapan untuk olahraga pagi2Pergi ogging keliling daerah sekitar kos

    GMerapikan tempat tidur dan !ersih"!ersih rumah+arapan pagiMandi>Menyiapkan !uku %atatan dan alat tulis untuk kuliah73alan kaki menuu ke pinggir alan 'isitu 5amaEMenunggu angkot 'isitu"Tegalega

    H8aik angkot sampai di pertigaan alan Tamansari dan +umur Bandung103alan kaki sampai ruang kuliah am H4 tepat se!elum dosen masuk kelas

    Keadaan akhir ti%a di kelas untuk mulai mengikuti kuliah PTI$B

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    20/84

    Pattern Recognition/Pengenalan Pola #! $ Contoh

    2020/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    8ama : *easy *u%k 8IM : 1>1EEE Kelas : FF

    Keadaan a+al Baru %angun tidur1Bersiap$siap untuk pergi %erolahraga2Pergi dari rumah ke apangan -araga ITB

    #Ti%a di -araga ITB'Berolahraga pagi dengan jogging selama setengah jam di apang3Pulang ke rumah4Bersih$%ersih rumah7-arapan pagi5*andi dan ganti %aju

    6*en"iapkan laptop( %uku atatan( alat$alat tulis( 8P( ta%let dan10Berpamitan pada orang tua11*en"iapkan motor12Pergi ke kampus dengan menggunakan motor1#*emarkir motor di lapangan parkir &ula Barat1'Berjalan kaki menuju ruang kuliah

    Keadaan akhir ti%a di kelas untuk mulai mengikuti kuliah PTI$B

    8ama : *onald *u%k 8IM : 1>1HFF

    Keadaan a+al Baru %angun tidur1Persiapan olahraga pagi

    2Pergi jogging keliling daerah se#*erapikan tempat tidur dan %errumah'-arapan pagi3*andi dan ganti %aju4*en"iapkan %uku atatan dan a

    untuk kuliah79alan kaki menuju ke pinggir jalama5*enunggu angkot Cisitu$Tegale6)aik angkot sampai di pertigaaTamansari dan -umur Bandung109alan kaki sampai ruang kuliah

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    21/84

    Pattern Recognition/Pengenalan Pola '!

    'ontoh lain: )nak"anak mengenali apa yang !enar dan apa yang

    salah !erdasarkan pengamatan mereka terhadapsikap$reaksi orang tua dan guru Ini menentukan sikapmereka di masa depan

    rang yang !ekera di pasar saham mengamati pola"poladalam harga saham untuk menentukan kapan merekaharus ual atau !eli

    *alam ilmu matematika4 kita dapat mengikuti suatu polauntuk menelaskan logika mengapa perkalian antara dua!uah !ilangan negati# hasilnya adalah positi#:

    "G G = "H "G 2 = "> "G 1 = "G "G 0 = 0 "G "1 = G "G "2 = > dst

    2120/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    22/84

    Pattern Recognition/Pengenalan Pola 3!

    Pola penualan saham

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    to t1 t2 t3 t4 t5 t6

    (paka! di t6 akan turun

    atau naik )

    20/01/16 22

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    23/84

    Pattern Generalization and Abstraction

    :eneralisasi Pola dan &%straksi

    1! Abstraction& ability to *lter information thatis not necessary to solve a certain type ofproblem

    Pattern generalization& ability togenerali%e information that is necessary

    Merepresentasikan ide atau proses dalamterminologi general ;misalnya -aria!el?sehingga kita dapat menggunakannya untukmeme%ahkan persoalan lain yang 9mirip

    Pengenalan pola merupakan dasar daria!straksi dan generalisasi pola

    2320/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    i i d h

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    24/84

    Kemiripan pada Contohhal sama/mirip ditandai dengan +arna "ang

    sama!

    8ama : *easy *u%k 8IM : 1>1GEEE Kelas : FF

    Keadaan a+al Baru %angun tidur1Bersiap$siap untuk pergi %erolahraga2Pergi dari rumah ke apangan -araga ITB

    #Ti%a di -araga ITB'Berolahraga pagi dengan jogging selama setengah jam di apang3Pulang ke rumah4Bersih$%ersih rumah7-arapan pagi5*andi dan ganti %aju

    6*en"iapkan laptop( %uku atatan( alat$alat tulis( 8P( ta%let dan10Berpamitan pada orang tua11*en"iapkan motor12Pergi ke kampus dengan menggunakan motor1#*emarkir motor di lapangan parkir &ula Barat1'Berjalan kaki menuju ruang kuliah

    Keadaan akhir ti%a di kelas untuk mulai mengikuti kuliah PTI$B

    8ama : *onald *u%k 8IM : 1>1GHFF

    Keadaan a+al Baru %angun tidur1Persiapan untuk olahraga pagi

    2Pergi jogging keliling daerah se#*erapikan tempat tidur dan %errumah'-arapan pagi3*andi dan ganti %aju4*en"iapkan %uku atatan dan a

    untuk kuliah79alan kaki menuju ke pinggir jalama5*enunggu angkot Cisitu$Tegale6)aik angkot sampai di pertigaaTamansari dan -umur Bandung109alan kaki sampai ruang kuliah2420/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    P tt G li ti d Ab t ti

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    25/84

    Pattern Generalization and Abstraction

    :eneralisasi Pola dan &%straksi2!

    'ontoh dari latihan:.ang !eru!ah ditandai dengan di antarkurung L C 8ama : L8ama 8IM : L8IM Kelas : LKelas

    Keadaan a+al Baru %angun tidur

    1Berolahraga pagi dengan jogging di lokasi ;lokasi -oft+are > 8ard+are

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 36

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    37/84

    Komponen 8ard+are -nput devices ;piranti

    masukan?

    utput devices;piranti Keluaran

    Microprocessor;'PU?

    Memorydan storagedevice;piranti

    penyimpanan? /rimary storage

    0econdary storage

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 37

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    38/84

    -oft+are > &lgorithm >

    Program 1! Perangkat unak software!memungkinkan penggunamengkomunikasikan suatu persoalan

    kepada komputer dan komputermem!erikan solusinya kepada penggunaTanpa perangkat lunak4 komputer hanya mesin

    !odoh

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 3&

    Software * program+ data+ dokumentasi

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    39/84

    -oft+are > &lgorithm >

    Program 2! &lgoritma: himpunan prosedur langkah perlangkah untuk menyelesaikan suatu persoalan

    Pekeraan programmer adalah mengu!ahalgoritmamenadi programkomputerdengan menggunakan %ahasa pemrograman Program komputer dituliskan oleh programmer dalam

    !entuk source code

    Compiler1interpreterakan mentrans#ormasi sour%e

    %ode menadi executable codeyaitu !entuk akhirprogram yang dapat di!erikan kepada user

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 3'

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    40/84

    Bahasa Komputer

    +etiap komputer memproses instruksi dalam%ahasa mesin;machine language? Kode"kode numerik yang digunakan untuk

    mengerakan operasi"operasi dasar:

    )dding and su!tra%ting num!ers 'omparing num!ers

    Mo-ing num!ers

    Aepeating instru%tions

    Programmer menggunakan %ahasapemrograman tingkat tinggi ;high-levellanguages? Pas%al4 '$'JJ4 Qortran4 Basi%4 3a-a4 dll

    20/01/16

    KU1072/Pengenalan ,eknologi

    -n.ormasi B 40

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    41/84

    ari Source odemenjadi

    Program

    20/01/16

    KU1072/Pengenalan ,eknologi

    -n.ormasi B 41

    -oureode

    Programmer

    mem"uatsour%e %ode

    Compiler

    ?%jetode

    alam "a!asapemrograman tingkat

    tinggi mis ++

    Pas%al ortran

    kompilasi

    sour%e %ode

    menadi

    o"e%t %ode

    alam "a!asa

    mesin

    Penggunaink

    @Aeuta%le ode

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    42/84

    Contoh Kompilasi dan@ksekusi

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 42

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    43/84

    Paradigma PemrogramanProsedural

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 43

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    44/84

    Paradigma Pemrograman Pemrograman/komputer adalah proses

    untuk mem#ormulasi persoalan komputasimenadi program /komputer

    Paradigma/pemrograman adalah sudutpandang penyelesaian persoalan dengan/program

    'ontoh paradigma pemrograman: Paradigma prosedural imperatif!akan

    diaarkan di kuliah ini Paradigma !erorientasi o!ek Paradigma deklarati# *ll

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 44

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    45/84

    Pemrograman Prosedural Program didasari oleh strukturisasi

    informasidi dalam memori danmanipulasidari in#ormasi yang disimpan

    terse!ut

    20/01/16

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural 45

    Program &lgoritma -truktur ataProgram &lgoritma -truktur ata

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    46/84

    Berpikir Prosedural

    +eumlah aksi dialankan se%ara !erurutan;sekuensial?

    +etiap aksi akan mem!erikan e#ek

    eksekusi tertentu )ksi harus selesai ;tidak !isa terus"

    menerus? harus ada kontrakmulai danselesai3elas keadaan a+al initial state!

    3elas keadaan akhir Dnal state!

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural20/01/16 46

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    47/84

    Contoh$1

    *emasak Kentang untuk *akan*alam Untuk makan malam4 seumlah kentang

    harus dikupas dan dimasak

    Keadaan awal: kantong kentang tersedia didapur Belum elas apakah kentang tersedia %ukup atau

    tidak

    Keadaan akhir: masakan dengan !ahandasar kentang tersedia dan siapdihidangkan untuk makan malam

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 47

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    48/84

    *emasak kentang untuk makan

    malam

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    Kentang

    tersedia)

    Kupas Kentang

    Beli kentang

    $au

    dimasak

    apa)

    oreng )8e"us )

    9up )

    :a

    ,idak

    20/01/16 4&

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    49/84

    *enuliskan &lgoritma

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 4'

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    50/84

    -truktur asar Program

    Prosedural

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 50

    ProgramL3udulProgramR +pesiNkasi Program S

    K&*U-

    R *eklarasi type4 -aria!el4 konstanta4#ungsi4 prosedur S

    &:?EIT*&R *eretan langkah algoritmik untuk

    penyelesaian persoalan SR *apat meman#aatkan Fo+hart$ notasialgoritmikS

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    51/84

    !low hartiagram &lir!

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    9elesai9elesai$ulai$ulai

    ProsesProses

    PilihanPilihan

    AlurAlur

    AlurAlur

    pilihanpilihan

    Pilihan

    20/01/16 51

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    52/84

    Contoh$1

    *emasak Kentang untuk *akan*alam

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 52

    ProgramMakanMalamR Mempersiapkan dan memasak kentang untukmakan malam SR Keadaan awal: kantong kentang tersedia didapur SR Keadaan akhir: masakan dengan !ahan dasarkentang tersedia dan siap dihidangkan untuk

    makan malamS

    K&*U- R !elum digunakan S

    &:?EIT*&

    R ow%hart dan notasi algoritmik lihat pada

    Glo+hart

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    53/84

    Glo+hart*emasak Kentang untuk *akan

    *alam

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    Beli KentangKentang,ersedia)

    oreng Kentangoreng Kentang

    ,idak

    :a

    9elesai9elesai

    $ulai$ulai

    Kupas KentangKupas Kentang

    imasakimasak

    apa)apa)

    8e"us Kentang8e"us Kentang

    Buat 9upBuat 9up

    goreng

    re"us

    sup

    Beli KentangBeli KentangKentangKentang

    ,ersedia),ersedia)

    20/01/16 53

    )otasi &lgoritmik

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    54/84

    )otasi &lgoritmik*emasak Kentang untuk *akan

    *alam

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 54

    if kentang_tersedia? = tidak thenBeli_Kentang

    { Di titik ini kentang sudah tersedia }

    Kupas_Kentangif pilihan_masakan = gorengthen

    Goreng_Kentangelse if pilihan_masakan = rebus then

    Rebus_Kentangelse { pilihan_masakan = sup }

    Buat_Sup

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    55/84

    Contoh$2Per%aikan 9am inding

    Keadaan awal: 3am dinding tidakmenunukkan waktu yang tepat

    Keadaan akhir: 3am dinding menunukkan

    waktu yang tepat Bila arum tidak !ergerak4 ganti !aterai

    3ika !ergerak !erarti Baterai masih hiduptinggal dilakukan per!aikan letak arum am

    Buat programnya dan !uatlah algoritmanyadalam ow%hart dan notasi algoritmik

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 55

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    56/84

    Program Per%aikan 9am

    inding

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 56

    ProgramPer!aikan3am*indingR Memper!aiki am dinding yang tidak menunukkanwaktu yang tepat SR Keadaan awal: 3am dinding tidak menunukkan

    waktu yang tepat SRKeadaan akhir: 3am dinding menunukkan waktuyang tepat S

    K&*U-

    R !elum digunakan S&:?EIT*& R ow%hart dan notasi algoritmik lihat pada slide"slide !erikutnya S

    Gl h t 1

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    57/84

    Glo+hart$1Per%aikan 9am

    inding$ulai

    ;arum

    Bergerak)

    anti

    Baterai Baru

    Per"aiki ;arum

    panang dan pendekpada lokasi ang tepat

    ,idak

    :a

    (pa ang sala!dengan .lo

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    58/84

    Glo+hart 2Per%aikan 9am

    inding$ulai

    ;arum

    Bergerak)

    anti

    Baterai Baru

    Per"aiki ;arum

    panang dan pendekpada lokasi ang tepat

    ,idak

    :a

    9elesai

    Bagaimana ika

    ternata setela!dua !ari am

    kem"ali tidak

    tepat)20/01/16 5&KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    59/84

    )otasi &lgoritmik+etara dengan Qlow%hart"2

    20/01/16

    KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural 5'

    if jarum_bergerak? = tidak thenGanti_Baterai_Baru

    { Di titik ini jarum jam sudah pasti bergerak }Perbaiki_Letak_Jarum_Jam

    Glo+hart$#

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    60/84

    ;arum

    Bergerak)

    anti

    Baterai Baru

    Per"aiki ;arum

    panang dan

    pendek padalokasi ang tepat

    ,idak

    :a

    Periksa am

    setela! 2 !ari

    ;am tepat

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    61/84

    )otasi &lgoritmik+etara dengan Qlow%hart"G

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural61

    if jarum_bergerak? = tidak thenGanti_Baterai_Baru

    { Di titik ini jarum jam sudah pasti bergerak }repeat

    Perbaiki_Letak_Jarum_JamPeriksa_Jam_Setelah_2_ari

    ifjarum_jam_tepat? = tidak thenGanti_Baterai_Baruuntil(jarum_jam_tepat? = !a)

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    62/84

    ata

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural62

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    63/84

    &%straksi ata

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    '0

    Suhu Air?

    Berat Badan?

    KecepatanKendaraan

    Bergerak

    kemampuan kita untuk

    menginterpretasikan

    suatu data dengan

    konteks masalahnya

    20/01/16 63

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    64/84

    Persoalan &%straksi

    ata

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    Suhu Air?Berat Badan?

    Kecepatan

    Kendaraan

    Bergerak75

    derajat

    CelciusKilogram

    Km/jam

    kemampuan kita untukmengerti konteks dan

    merepresentasikan

    menjadi bentuk lain.

    20/01/16 64

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    65/84

    ata *ahasis+a Hs ata

    Penduduk

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    =-$#

    =ama

    Kota >a!ir

    ,anggal >a!ir=ama (a!

    =ama -"u

    =omor K,P#

    =ama

    Kota >a!ir

    ,anggal >a!ir=ama (a!

    =ama -"u

    StrukturStruktur

    ataata

    20/01/16 65

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    66/84

    Bahasa PemrogramanProsedural

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural66

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    67/84

    Bahasa Pemrograman

    Prosedural )da EIBU&)!ahasa pemrograman di duniasaat ini termasuk !ahasa pemrogramanprosedural

    Tidak mungkin semua !ahasa pemrograman

    dipelaari di kuliah

    leh karena itu yang diaarkan adalah 9!elaarpemrograman melalui pola pikirkomputasional dan paradigma

    pemrograman prosedural

    Bahasa pemrograman yang diaarkan '$'JJ4Pas%al

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural67

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    68/84

    Contoh$# *enghitung

    Ta%ungan Ta!ungan di !ank selalu !ertam!ah setiap tahun Bank memiliki !unga yang setiap tahun

    !ertam!ah B8I memiliki !unga tahunan 10 per tahun

    Untuk uang 100 ri!u4 maka setelah satu tahun akanmenadi 110 ri!u

    Buatlah program yang menghitung uang kitasetelah satu tahun

    Program akan menanyakan uang kita saat ini4kemudian program akan menampilkan uang kitasetelah satu tahun

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural20/01/16 6&

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    69/84

    Contoh @ksekusi Program *enghitung

    Ta%ungan

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    Masukkan tabungan:1000

    Tahun Depan =1100

    20/01/16 6'

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    70/84

    Bagaimana Programdi%uat.

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    20/01/16 70

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    71/84

    Program *enghitung

    Ta%ungan

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural71

    ProgramMenghitungTa!unganR Menghitung ta!ungan setelah 1 tahun!erdasarkan masukan dari pengguna S

    K&*U-

    8ilaiTa!ungan : real R nilai simpanan dalamta!ungan4 dlm rupiah S

    &:?EIT*&

    R ow%hart dan notasi algoritmik lihat pada slide"slide !erikutnya S

    Glo+hart$1 *enghitung

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    72/84

    g gTa%ungan

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural72

    mulai

    selesai

    input;8ilaiTa!ungan?

    8ilaiTa!ungan = 8ilaiTa!unganJ ;8ilaiTa!ungan 01?

    output;8ilaiTa!ungan?

    Input -aria!el

    8ilaiTa!ungan darikey!oard ;masukan

    pengguna?

    Mengu!ah nilai -aria!el

    8ilaiTa!ungan sesuairumus

    Menampilkan isi -aria!el8ilaiTa!ungan saat ini

    ;setelah perhitungan? kemonitor

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    73/84

    )otasi &lgoritmik$1

    *enghitung Ta%ungan

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural73

    input( !ilaiTabungan )

    !ilaiTabungan !ilaiTabungan " ( !ilaiTabungan #0$1 )

    output ( !ilaiTabungan )

    Glo+hart$2 *enghitung

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    74/84

    g gTa%ungan

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural74

    mulai

    selesai

    input;8ilaiTa!ungan?

    8ilaiTa!ungan = 8ilaiTa!unganJ ;8ilaiTa!ungan 01?

    output;8ilaiTa!ungan?

    Menampilkan ke layartulisan 9Masukkan

    ta!ungan

    Menampilkan ke layartulisan 9Tahun depan

    =

    output;9Masukkanta!ungan:?

    output;9Tahun depan=?

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    75/84

    )otasi &lgoritmik$2

    *enghitung Ta%ungan

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural75

    output (%Masukkan tabungan:&)input( !ilaiTabungan )

    !ilaiTabungan !ilaiTabungan " ( !ilaiTabungan # 0$1 )

    output(%Tahun depan =&)output ( !ilaiTabungan )

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    76/84

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    input(!ilaiTabungan)!ilaiTabungan !ilaiTabungan" (!ilaiTabungan # 0$1)output( !ilaiTabungan )

    Program &lgoritma -truktur atProgram &lgoritma -truktur at

    )lgoritma

    +truktur

    *ata

    20/01/16 76

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    77/84

    Kode Program Bahasa C

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    input(!ilaiTabungan)

    !ilaiTabungan !ilaiTabungan " (!ilaiTabungan # 0$1)

    output(!ilaiTabungan)

    'in !ilaiTabungan

    !ilaiTabungan = !ilaiTabungan "

    !ilaiTabungan # 0$1

    'ut ** !ilaiTabungan

    cin: Console Input

    (diketikkan lewat

    keyboard)

    cout: Console Output

    20/01/16 77

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    78/84

    Kode Program Bahasa Pasal

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    input(!ilaiTabungan)

    !ilaiTabungan + !ilaiTabungan " (!ilaiTabungan #0$1)

    output(!ilaiTabungan)

    readln(!ilaiTabungan)

    !ilaiTabungan := !ilaiTabungan "!ilaiTabungan # 0$1

    ,riteln(!ilaiTabungan)

    readln akan

    membaca dari hasil

    ketik di keyboard

    writeln akan menulis

    hasil di layar

    komputer

    20/01/16 7&

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    79/84

    Kode Program Bahasa Gortran

    KU1072/Pengantar Berpikir Komputasi dan

    Pemrograman Prosedural

    read #- !ilaiTabungan

    !ilaiTabungan = !ilaiTabungan "

    !ilaiTabungan # 0$1

    print #- !ilaiTabungan

    read akan membaca

    dari hasil ketik di

    keyboard

    print akan menulis hasil di

    layar komputer

    Tanda * mengindikasikan

    keluaranmasukan standard(keyboardlayar)

    20/01/16 7'

    input(!ilaiTabungan)!ilaiTabungan + !ilaiTabungan " !ilaiTabungan #10.

    output(!ilaiTabungan)

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    80/84

    Program engkap )otasi

    &lgoritmik!

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    &0

    ProgramMenghitungTa!unganR Menghitung ta!ungan setelah 1 tahun!erdasarkan masukan dari pengguna S

    K&*U-

    8ilaiTa!ungan : real R nilai simpanan dalamta!ungan4 dlm rupiah S

    &:?EIT*&

    input; 8ilaiTa!ungan ?8ilaiTa!ungan 8ilaiTa!ungan J

    ; 8ilaiTa!ungan 01 ?output; 8ilaiTa!ungan ?

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    81/84

    Program engkap C!

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    &1

    ProgramMenghitungTa!unganR Menghitung ta!ungan setelah 1 tahun!erdasarkan masukan dari pengguna S

    K&*U-

    8ilaiTa!ungan : real R nilai simpanan dalamta!ungan4 dlm rupiah S

    &:?EIT*&

    input; 8ilaiTa!ungan ?8ilaiTa!ungan 8ilaiTa!ungan J

    ; 8ilaiTa!ungan 01 ?output; 8ilaiTa!ungan ?

    // rgram MenghitungTabungan// Menghitung tabungan setelah 1 tahun berdasarkan// masukan dari penggunain'lude *istreamusing namespa'e std

    int main() { // 23M45 flat !ilaiTabungan

    // 36789TM3 'in !ilaiTabungan !ilaiTabungan = !ilaiTabungan " !ilaiTabungan # 0$1 'ut ** !ilaiTabungan return 0}

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    82/84

    Program engkap Pasal!

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    &2

    ProgramMenghitungTa!unganR Menghitung ta!ungan setelah 1 tahun!erdasarkan masukan dari pengguna S

    K&*U-

    8ilaiTa!ungan : real R nilai simpanan dalamta!ungan4 dlm rupiah S

    &:?EIT*&

    input; 8ilaiTa!ungan ?8ilaiTa!ungan 8ilaiTa!ungan J

    ; 8ilaiTa!ungan 01 ?output; 8ilaiTa!ungan ?

    rgram MenghitungTabungan{ Menghitung tabungan setelah 1 tahun berdasarkan

    masukan dari pengguna }

    { 23M45 };ar !ilaiTabungan : real

    { 36789TM3 }begin

    readln(!ilaiTabungan) !ilaiTabungan := !ilaiTabungan " !ilaiTabungan # 0$1 ,riteln(!ilaiTabungan)end$

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    83/84

    Program engkap Gortran!

    20/01/16KU1072/Pengantar Berpikir Komputasi

    dan Pemrograman Prosedural

    &3

    ProgramMenghitungTa!unganR Menghitung ta!ungan setelah 1 tahun!erdasarkan masukan dari pengguna S

    K&*U-

    8ilaiTa!ungan : real R nilai simpanan dalamta!ungan4 dlm rupiah S

    &:?EIT*&

    input; 8ilaiTa!ungan ?8ilaiTa!ungan 8ilaiTa!ungan J

    ; 8ilaiTa!ungan 01 ?output; 8ilaiTa!ungan ?

    rgram MenghitungTabungan< Menghitung tabungan setelah 1 tahun berdasarkan< masukan dari pengguna

    < 23M45

    real :: !ilaiTabungan

    < 36789TM3 read #- !ilaiTabungan !ilaiTabungan := !ilaiTabungan " !ilaiTabungan # 0$1 print #- !ilaiTabungan

    end prgram itung4angDi>ank

  • 7/25/2019 KU1072 Mgg01 PengantarBerpikirKomputasi 160815

    84/84

    Terima Kasih