Refreshing Matkul Algoritma Pemograman 1A
Andreas Hadiyono
Algoritma ●
●
●
●
“urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Berasal dari nama penulis buku arab Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi Merupakan jantung ilmu komputer atau informatika Harus dinyatakan dalam bentuk yang dimengerti oleh pemroses
2
Belajar Memprogram vs Bahasa Pemrogaman ●
Belajar memprogram : ● ●
●
Belajar
Belajar tentang metodologi pemecahan masalah Menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami
Belajar bahasa pemrograman : ●
Belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program 3
4
Belajar Memprogram ●
●
●
●
Belajar memprogram ≠ belajar bahasa pemrograman Belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama Bersifat pemahaman persoalan, analisis dan sintesis Titik berat : designer program
5
Belajar Bahasa Pemrograman ●
●
Belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa Titik berat : coder
6
Produk yang dihasilkan pemrogram ●
● ● ●
●
Program dengan rancangan yang baik (metodologis, sistematis) Dapat dieksekusi oleh mesin Berfungsi dengan benar Sanggup melayani segala kemungkinan masukan Disertai dokumentasi 7
Penyajian Algoritma ● ● ● ● ● ●
Natural Language Flowchart Pseudo-code Diagram blok struktur program Diagram warnier Tabel keputusan dan pohon keputusan
8
Contoh Algoritma • Mengirimkan surat kepada teman : 1. 2. 3. 4. 5. 6. 7.
Ambil kertas surat Tulis surat Ambil amplop Masukan surat ke dalam amplop Tulis alamat pada amplop Tempel perangko Bawa ke kantor pos
9
Menghitung luas persegi panjang 1. 2. 3. 4.
Input panjang Input lebar Luas panjang * lebar Print Luas
10
Program Flowchart ●
●
Menggambarkan urutan logika dari suatu prosedur pemecahan masalah Dua jenis metode penggambaran program flowchart : ●
●
Conceptual flowchart, menggambarkan alur pemecahan masalah secara global Detail flowchart, menggambarkan alur pemecahan masalah secara rinci 11
Start
Start Input “Berapa data” ; N
Input
Jml = 0
For K = 1 to N
Proses
Input Bil
Jml = Jml + Bil
Output Next K
End
Print “Jumlah = “; Jml
End 12
Simbol-simbol Flowchart ●
Flow direction symbols ●
●
●
Processing symbols ●
●
Digunakan untuk menghubungkan simbol satu dengan yang lain Disebut juga connecting line Menunjukan jenis operasi pengolahan dalam suatu proses / prosedur
Input / Output symbols ●
Menunjukkan jenis peralatan yang digunakan sebagai media input atau output 13
Flow Direction Symbols ●
Simbol arus / flow ●
●
Simbol communication link ●
●
Menyatakan transmisi data dari satu lokasi ke lokasi lain
Simbol connector ●
●
Menyatakan jalannya arus suatu proses
Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama
Simbol offline connector ●
Menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda
14
Processing Symbols ●
Simbol process ●
●
Simbol manual ●
●
Menujukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan jawaban : ya / tidak
Simbol predefined process ●
●
Menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer
Simbol decision ●
●
Menyatakan suatu tindakan (proses) yang dilakukan oleh komputer
Menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal
Simbol terminal ●
Menyatakan permulaan atau akhir suatu program 15
Processing Symbols ●
Simbol keying operation ●
●
Simbol offline-storage ●
●
Menyatakan segal jenis operasi yang diproses dengan menggunakan suatu mesin yang mempunyai keyboard Menunjukkan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu
Simbol manual input ●
Memasukkan data secara manual dengan menggunakan online keyboard 16
Input / Output Symbols ●
Simbol input/output ●
●
Simbol punched card ●
●
Menyatakan input berasal dari kartu atau output ditulis ke kartu
Simbol magnetic tape ●
●
Menyatakan proses input atau output tanpa tergantung jenis peralatannya
Menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis
Simbol disk storage ●
Menyatakan input berasal dari dari disk atau output disimpan ke disk
17
Input / Output Symbols ●
Simbol document ●
●
Mencetak keluaran dalam bentuk dokumen (melalui printer)
Simbol display ●
Mencetak keluaran dalam layar monitor
18
Contoh System Flowchart Data jawaban ujian
Koreksi
Daftar Koreksi Data
File utama ujian
Tabel Siswa
Periksa Ujian
File siswa lulus
Laporan Hasil Ujian
19
Kaidah Pembuatan Flowchart Start
Input
Prose s Output
End
20
Pengolahan data START READ
HABIS ?
Ya
Tidak PROCESS WRITE END 21
Integrated Development Environment(IDE) dan Authoring Tool Berbasis Object Original by Koko Bachrudin Compiled by Andreas Hadiyono
Etoys
Etoys ●
●
Etoys is a child computer environment and object oriented prototype-based programing language for use in education Etoys is a media rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.
Etoys History ●
●
●
Squeak was originally developed at Apple in 1996 by Dan Ingalls Squeak 4.0 is released under the MIT License, with some of the original Apple parts remaining under the Apache License. Contributions are required to be under MIT. Viewpoints Research Inc. supported Squeakland Foundation in 2009-2010, and in January of 2010, the Squeakland Foundation was launched as a separate entity
Fitur ●
●
●
●
didasarkan pada gagasan entitas virtual diprogram berperilaku pada layar komputer Code-less programing Etoys menyediakan lingkungan authoring media yang kaya dengan model, objek sederhana scripted untuk berbagai jenis objek yang dibuat oleh end-user Multi bahasa
Platform ●
Linux
●
Windows
●
MacOS X
●
Di situs resminya: “support hampir 20 jenis OS lain-nya”
Kekurangan ●
●
Perubahan batasan dan model implementasi masih membutuhkan pengertian algoritma Lisensi Source Code-nya proprietary
Scratch
Scracth ●
Scratch is a programming language that allows people of any experience background and age to experiment with the concepts of fully versatile computer programming by using an alterable GUI
Scratch History It is developed by the Lifelong Kindergarten group at the MIT Media Lab by a team led by Mitchel Resnick and first appeared in the summer of 2007.
Language and environment ●
●
Scratch is used worldwide in many different settings: schools, museums, community centers, and homes. It is intended especially for 6- to 16-year-olds, but people of all ages have used Scratch main priority was to make the language and development environment intuitive and easily learned by children who had no previous programming experience.
Environment Language
Platform ●
Windows
●
MacOS X
●
Linux
Fitur ●
●
didasarkan pada gagasan entitas virtual diprogram berperilaku pada layar komputer Pemrograman yang hampir code-less, tanpa meng-coding sama sekali
●
Multi bahasa
●
Objek creator
Kekurangan ●
●
Perubahan batasan dan model implementasi masih membutuhkan pengertian algoritma Tidak memiliki fungsi Authoring tool seperti etoys
TERIMA KASIH