Algorithmic Thinking -...

40
Algorithmic Thinking Sisilia Thya Safitri, MT Citra Wiguna, M.Kom

Transcript of Algorithmic Thinking -...

Algorithmic ThinkingSisilia Thya Safitri, MT

Citra Wiguna, M.Kom

• Von Neumann Architecture

• Spreadsheets• Spreadsheet Structure

• Formulas/Expressions

• Numbers

• Operators

• Arity

• Precedence

• Associativity

• Evaluation Example

• Parentheses

• Cell References

• Functions

• Ranges

Outline

• Text Processing• String Basics

• String Operations• Indexing

• Length

• Concatenation

• Naming

• Substring

• Searching

Outline

• Patterns• How to Write a Pattern

• Case Study: Hugs and Kisses Pattern

• Case Study: Social Security Numbers

• Repetition Rules

• Character Class Rules

• Case Study : DNA Sequencing

Outline

• Komputer awalnya diciptakan dengan menggunakankonsep fixed-program architecture. Dimana konsep inihanya dapat menjalankan satu instruksi dasar sajasehingga dia tidak bisa diprogram untuk pengelolaanteks atau instant messaging

• Berbeda dengan fixed-program architecture, John Von Neumann menemukan sebuah konsep yang bernamastored-program architecture.

Von Neumann Architecture

• Konsep Stored-program architecture ini dikenalkan olehJohn von Neumann pada sebuah artikel yang ditulisnyadengan judul “First Draft of a Report on the EDVAC” pada tahun 1945.

• Pada artikelnya tersebut menggambarkan komputerdengan unit pengolahan, unit kontrol yang berisi register instruksi dan program counter, memori eksternal, danmemori internal untuk menyimpan data dan instruksi

Von Neumann Architecture

• Arsitektur Von Neumann memungkinkan bahwa outpunyang dihasilkan oleh komputer tidak hanya berupa data saja tetapi kumpulan instrukssi juga dapat dijadikanoutput pada pengelolaan yang dilakukan oleh komputer

• Dengan kata lain, arsitektur von Neumann tersebutmemungkinkan sebuah program dapat memprogramulang sendiri atau self-modifying code

Von Neumann Architecture

• Spreadsheet adalah program interaktif yang dirancanguntuk mengatur, mengolah, dan menampilkan data dalam bentuk tabular.

• Meskipun awalnya Spreadsheet hanya digunakan untukmendukung usaha pembukuan keuangan, namunsesungguhnya Spreadsheet terdiri dari pengolahankode dan data

Spreadsheets

• Apa itu single worksheet?

• Apa itu cell? Bagaimana penamaan cell?

• Setiap sel spreadsheet dapat berisi angka, teks, ataurumus.

• Rumus yang ada pada spreadsheet dapat digunakanuntuk mendapatkan data baru dari data yang sudah ada, ataupun dapat sebagai hasil dari beberapa keluaranformula lainnya dari tempat lain pada sebuahspreadsheet.

SpreadsheetsSpreadsheet Structure

• Formula/Rumus adalah elemen komputasi utama pada spreadsheet.

• Rumus merupakan perhitungan yang diperlukan untuk mengambil data masukan dan menghasilkan sebuah output

• Pada pemrograman komputer juga mengacu pada formula/rumussebagai sebuah ekspresi perintah

• Pada spreadsheet, rumus ditulis setelah tanda samadengan (=)

• Sebuah Rumus terdiri dari unsur berikut ini:

SpreadsheetsFormulas/Expressions

• Angka adalah elemen formula yang paling sederhana.

SpreadsheetsFormulas/Expressions - Numbers

• Dalam pemrograman komputer, operator adalah simbol yang mewakilisebuah tindakan komputasi.

• Setiap operator dapat menerima satu atau lebih inputan / operand dantepat menghasilkan satu output.

• Operator aritmatika melakukan operasi numerik dasar sepertipenambahan dan pengurangan

• Operator perbandingan membandingkan dua nilai

• Ketika sebuah Rumus menggunakan lebih dari 1 operator, maka harusada urutan dalam pengerjaan rumus tersebut. Urutan pengerjaanoperator ditentukan berdasarkan sifat operator arity, precedence, and associativity

SpreadsheetsFormulas/Expressions - Operators

SpreadsheetsFormulas/Expressions - Operators

SpreadsheetsFormulas/Expressions – Operators - Arity

• Operator arity adlah jumlah input yang dibutuhkan olehoperator

• Istilah arity jarang digunakan dalam bahasapemrograman ataupun operasi aritmatika

SpreadsheetsFormulas/Expressions – Operators - Precedence

• Precedence urutan pengerjaan sebuah operator

• Pengerjaan operator dimulai dari urutan kiri-ke-kanan

• Gambar berikut ini menunjukkan derajad pengerjaanoperator

SpreadsheetsFormulas/Expressions – Operators - Associativity

• Asosiatifmenerapkan urutan pengerjaan operator

• Asosiatif diberikan apabila terdapat 2 identik operator dalam satu rumus.

• Asosiatif dibedakan menjadi 2 yaitu from left to rightassociative, and right to lest associative

SpreadsheetsFormulas/Expressions – Operators – Evaluation Example

• Contoh pengerjaanRumus denganberbagai operasiadalah sebagaiberikut

SpreadsheetsFormulas/Expressions – Operators – Parentheses

• Tanda kurung dapat digunakan untuk mengubah urutanoperator yang akan dikerjakan.

• Pemberian tanda kurung menunjukkan tingkatpengerjaan yang dilakukan terlebih dahulu.

SpreadsheetsFormulas/Expressions – Cell References

• Sel spreadsheet merupakan kotak atau cell yang berisidata.

• Cell memiliki nama yang unik sehingga dapat diaksesdatanya.

SpreadsheetsFormulas/Expressions – Functions

• Dalam ilmu komputer, fungsiurutan urutan instruksiuntuk menghasilkan output dari input yang diberikan.

• Cara penulisan sebuah function adalah sebagai berikut

SpreadsheetsFormulas/Expressions – Functions – Ranges

• Penulisan ranges pada spreadsheets dimulai dengan menuliskancell pertama dan diikuti tanda titik dua kemudian cell akhir padaranges tersebut

• Penggunaan ranges biasanya digunakan untuk rumus MAX, MIN, SUM, AVERAGE

• Data yang diolah oleh komputer tidak hanya berupadata angka saja.

• Kumpulan karakter atau biasa disebut string jugamerupakan data yang terkadang harus diolah agar menghasilkan sebuah informasi

• String tidak ada yang bernilai negatif

• Sebuah string dapat terdiri dari NOL karakter jikamemang tidak memiliki karakter penyusunnya

Text ProcessingProlog

• Dalam kebanyakan bahasa pemrograman, data string dilambangkan dengan menggunakan double petik untukmengelilingi teks. Misalnya, "Hallo" adalah string yang memiliki lima karakter. Setiap urutan karakter yang disertakan dengan tanda kutip ganda dikenal sebagaistring literal. Tanda kutip ganda bukan bagian dari string; karena hanya berfungsi memberi tahu komputer bahwateks terlampir adalah sebuah string literal

Text ProcessingString Basics

• Karakter pertama pada string dimulai pada indeks 0, karakter kedua pada indeks 1, dst..

• Untuk setiap string dengan panjang N, yang Index terbesar yang valid adalah N – 1, karena indeks terkecilselalu dimulai dari 0

Text ProcessingString Basics

• Index pada string literal dapat digunakan untukmengakses elemen pada string tersebut.

• Misal pada gambar berikut ini. Index yang diaksesadalah index 3 atau karakter ke-4 yang bearti ‘C’ daristring “Popcorn”

Text ProcessingString Operations - Indexing

• Length digunakan untuk menghitung panjang ataujumlah karakter pada sebuah string.

• Penulisannya adalah dengan menuliskan length di akhirstring

• Pada contoh dibawah ini, maka length popcorn adalah 7

Text ProcessingString Operations - Length

• Concatenation pada String merupakan penggabungan 2 buah string

• Penggabungan dua buah string ini dengan menggunakan(+)

Text ProcessingString Operations - Concatenation

• Pengisian sebuah variabel biasanya menggunakan tandapanah kiri (),hal ini pun dilakukan apabila sebuahvariabel ingin diberikan nilai sebuah string

Text ProcessingString Operations - Naming

• Fungsi substring adalah fungsi yang digunakan untukmemotong string dari kumpulan string yang ada

• Output pada gambar ini adalah “put”. Dimana data yang diambil adalah index 3 – 5. 6 pada rumus ini adalahkarakter pertama yang tidak termasuk output

Text ProcessingString Operations - Substring

• Searching pada sebuah string difungsikan untuk mencaristring pada sebuah kumpulan string. Misalnya padasebuah alamat email: [email protected] dimanasesungguhnya alamat email tersebut terdiri dari duabagian yang dipisahkan dengan tanda “@”

• Pencarian pada string dapat menggunakan fungsiindexOf

Text ProcessingString Operations - Searching

• Pola adalah teknik yang digunakan untuk melakukanproses data tekstual.

• In computer programming, patterns are known as regular expressions. A regular expression defines a pattern such that a particular string will either match the pattern or will not match the pattern. Regular expressions are extremely powerful techniques for processing textual data; particularly for finding elements in large textual databases.

PatternsPola

PatternsPola

PatternsHow to write a pattern – Case Study : Hugs and Kisses Pattern

PatternsHow to write a pattern – Case Study : Social Security Numbers

PatternsRepetition Rules

• Gambar 8.35 memberikan beberapa aturan tambahan untukpenulisan pola. Aturan tambahan ini memungkinkan seorangprogrammer mengontrol frekuensi elemen yang dapat diulanguntuk suatu pola.

PatternsRepetition Rules

• Figure 8.36 shows how we can rewrite the Social Security number pattern using repetition rules.

PatternsCharacter Class Rules

• Kelas karakter adalah pola ringkas untuk mendefinisikan sebuahkumpulan karakter.

• Gambar 8.37 merupakan contoh aturan dalam membuat class character

PatternsCharacter Class Rules – Case Study : DNA Sequencing

• DNA atau Deoxyribonucleic acid merupakan molekul yang mengandung sifat genetika makhluk hidup. Untuk menemukansifat – sifat genetika pada makhluk hidup, maka dapat diketahuidengan meneliti DNA.

• Dimana DNA tersusun atas 4 huruf (ACGT) yang setiap hurufnyamemiliki arti masing-masing, yaitu Huruf A mewakili adenin, C mewakili sitosin, G mewakili guanin, dan T mewakili timin.

PatternsTerimakasih