Social Media

Monday, October 30, 2017

Pertemuan 5: Expression and Asignment Statements


Pada pertemuan hari Sabtu tanggal 28 Oktober 2017, Bu Yanfi menjelaskan tentang materi ketiga kami di mata kuliah PLC yaitu "Expression and Asignment Statements"

Ada beberapa topik dalam materi "Expression and Asignment Statements" hari ini, yaitu:
  1. Introduction
  2. Arithmetic Expressions
  3. Overloaded Operators
  4. Type Conversions
  5. Relational and Boolean Expressions
  6. Short-Circuit Evaluation
  7. Assignment Statements
  8. Mixed-Mode Assignment

Introduction: 
  1. Ekspresi adalah cara mendasar untuk menentukan perhitungan dalam bahasa pemrograman.
  2. Untuk mengerti evaluasi ekspresi, kita harus familitar dengan urutan operator dan operand.
  3. Esensi dari bahasa imperatif berperan dominan dari ekpresi tugas.

Arithmetic Expressions:
  1. Evaluasi aritmatiika adalah salah satu motivasi dalam pengembangan bahasa pemrograman pertama.
  2. Ekspresi aritmatika terdiri dari operator, operand, parntheses, dan panggilan fungsi.

Overloaded Operators:
  1. Penggunaan sebuah operator untuk lebih dari satu tujuan disebut operator overloading.
  2. Contoh yang umum adalah  "+" untuk int dan float.
  3. Contoh yang bermasalah adalah "*" pada C dan C++

Type Conversions:
  1. Narrowing conversion adalah tipe konversi yang merubah object menjadi tipe yang tidak dapat berisi semua nilai dari tipe aslinya (mis., float ke int).
  2. Widening conversion adalah tipe konversi yang merubah object menjadi tipe yang berisi setidaknya perkiraan untuk semua nilai dari tipe awalnya (mis., int ke float).

Relational and Boolean Expressions:
  1. Relational Expressions
    • Menggunakan operator dan operand relasi dari berbagai tipe.
    • Evaluasi ke beberapa representasi boolean.
    • Simbol operator bermacam macam antar bahasa (!=, /=, .NE, <>, #).
  2. Boolean Expressions
    • Operand adalah boolean dan hasilnya adalah boolean.
    • Operator contoh.

Short-Circuit Evaluation:
  • Ekspresi di mana hasilnya ditentukan tanpa mengevaluasi semua operand dan/atau operator.

Assignment Statements:
  • Pernyataan penugasan untuk mengisi sebuah variable.

Mixed-Mode Assignment:
  • Operator assignment yang dapat dikonversi nilainya ke dalam jenis data yang berbeda.

Inilah materi kelima kami dalam pelajaran PLC. 

Monday, October 23, 2017

Pertemuan 4: Data Types


Pada pertemuan hari Sabtu tanggal 21 Oktober 2017, Bu Yanfi menjelaskan tentang materi keempat kami di mata kuliah PLC yaitu "Data Types"

Ada beberapa topik dalam materi "Data Types" hari ini, yaitu:
    1. Introduction 
    2. Primitive Data Types 
    3. Character String Types 
    4. User-Defined Ordinal Types 
    5. Array Types 
    6. Associative Arrays 
    7. Record Types 
    8. Tuple Types 
    9. List Types 
    10. Union Types 
    11. Pointer and Reference Types 
    12. Type Checking 
    13. Strong Typing

Introduction:  
  •  Tipe data mendefinisikan kumpulan dari objek data dan satu set operasi yang sudah ditetapkan terlebih dahulu pada objek tersebut.
  • Deskriptor adalah kumpulan dari atribut dalam variabel

Primitive Data Types:
Tipe data primitif merupakan tipe data dasar yang sering dipakai oleh banyak program.
  • Integer
  • Floating Point
  • Complex
  • Decimal
  • Boolean
  • Character

Character String Types:
  • Nilainya adalah urutan dari karakter.
  • Operasi umumnya:
    • Assignment and copying
    • Comparison (=, >, etc.)  
    • Catenation
    • Substring reference
    • Pattern matching

User-Defined Ordinal Types:
  •  Tipe ordinal adalah tipe di mana kisaran nilai yang mungkin bisa dihimpun dengan integer positif.
  • Contoh tipe ordinal sederhana dalam Java:
    • Integer
    • Char
    • Boolean

Array Types:
  • Array adalah kumpulan dari elemen data di mana elemen individual diidentifikasikan dengan posisinya dalam indexnya yang didasari pada elemen pertamanya.

Associative Array:
  • Array asosiatif adalah kumpulan elemen data tidak berurut yang memiliki index berdasarkan nilai  yang setara yang disebut keys.

Record Types:
  • Record adalah kumpulan dari elemen data yang heterogen yang di mana elemen individualnya diidentifikasikan dengan nama.

Tuple Types:
  • Tuple adalah tipe data yang mirip dengan record, tapi elemennya tidak dinamai.

List Types:
  • List adalah tipe data yang paling umum digunakan dalam Python. Penulisannya dibuka dengan kurung siku, dan ditutup pula oleh kurung siku.

Union Types:
  • Union adalah tipe di mana variabel diizinkan untuk menyimpan berbagai nilai berbeda dalam waktu berbeda saat proses eksekusi.

Pointer and References Types:
  • Pointer adalah kisaran nilai yang terdiri dari alamat memori dan nilai special, nil.
  • C++ menyertakan tipe pinter special yang disebut reference type yang utamanya digunakan untuk parameter formal.

Type Checking:
  •  Type checking adalah proses memastikan bahwa operand dari operator sudah cocok.

Strong Typing;
  • Strong typed language adalah bahasa di mana setiap variable harus mempunyai tipe, setiap ekspresi harus mempunyai tipe dan setiap tipe harus di definisikan secara ketat. 

Ini adalah materi keempat kami dalam mata kuliah PLC. 

Monday, October 16, 2017

Pertemuan 3: Names, Bindings, and Scopes


Pada pertemuan hari Sabtu tanggal 14 Oktober 2017, Bu Yanfi menjelaskan tentang materi ketiga kami di mata kuliah PLC yaitu "Names, Bindings, and Scopes"

Ada beberapa topik dalam materi "Names, Bindings, and Scopes" hari ini, yaitu:
  1. Introduction
  2. Names
  3. Variables
  4. The Concept of Binding
  5. Scope

Topik pertama kali ini adalah "Introduction". Bahasa imperatif adalah abstraksi dari arsitektur von Neumann, beberapa komponen dalamnya adalah memori dan prosesor. Variabel dikarakteristikan berdasarkan ciri-cirinya.


Topik kedua membahas tentang "Names".

  1. Length
    • Jika terlalu pendek, tidak bisa menjadi konotatif
    • Contoh bahasa:
      1. FORTRAN 95: maksimal 31 karakter.
      2. C99: tidak ada batasan tapi hanya 63 karakter pertama yang mempunyai fungsi yang signifikan, juga, nama eksternal dibatasi hanya 31 karakter.
      3. C#, Ada, and Java: tidak ada batasan dan semuanya memiliki fungsi yang signifikan.
      4. C++: tidak ada batas, tapi biasanya penggunanya membuat batasan.
  2. Special characters
    • PHP: semua nama variabel harus dimulai dengan tanda dollar ($).
    • Perl: semua nama variabel dimulai dengan karakter spesial, yang mendefinisikan tipe variabel.
    • Ruby: nama variabel yang dimulai dengan @ adalah variabel contoh; yang dimulai oleh @@ adalah variabel kelas.
  3. Nama dalam bahasa berbasis C merupakan bahasa case sensitive. Tapi di bahasa lain, bahasanya tidak case sensitive.

Topik kedua menjelaskan tentang "Variabel" dalam bahasa pemrograman.
  1. Variabel adalah abstraksi dari sel memori.
  2. Variabel dapat dikarakteristikan sebagai atribut dari 6 hal:
    1. Name
    2. Address
    3. Value
    4. Type
    5. Lifetime
    6. Scope

Topik keempat membicarakan mengenai "The Concept of Binding".  Binding adalah kumpulan dari kesatuan dan atribut, contohnya antara variabel dan tipenya atau nilai, atau antara operasi dan simbol. Waktu binding adalah waktu di saat binding terjadi.

Topik kelima menjelaskan tentang "Scope". Scope adalah salah satu atribut dari variabel.
  1. Cakupan dari variabel adalah jarak dari pernyataan di mana ia terlihat.
  2. Variabel lokal adalah unit program yang di mana unit tersebut dideklarasikan.
  3. Variabel nonlokal adalah unit program yang di mana ia terlihat di dalam unit tapi tidak dideklarasikan di sana.
  4. Variabel global adalah kategori spesial dari variabel nonlokal.
  5. Aturan cakupan dari bahasa menentukan bagaimana referensi terhadap nama dikaitkan dengan variabel.
  6. Contoh dari scope adalah:
    • function big() {
      function sub1()
      var x = 7;
      function sub2() {
      var y = x;
      }
      var x = 3;
      }
Inilah materi kami pada hari ini.