Laporan Presentasi PLC

LAPORAN PRESENTASI SEMESTER GANJIL 2016/2017

PENGENALAN BAHASA PEMROGRAMAN

PROGRAMING LANGUAGE CONCEPT

Session 2 (Describing Syntax and Semantics)

  1. C
  1. Pengenalan Bahasa C
  • C adalah bahasa pemrograman yang digunakan sebagai dasar bahasa pemrograman lain, seperti C# dan C++
  • C merupakan hasil pengembangan dari bahasa BCPL oleh Martin Richards (1966), bahasa B oleh Ken Thompson (1970), dan kemudian menjadi bahasa C oleh Dennis Ritchie.
  • C termasuk bahasa pemrograman tingkat menengah.
  • C digunakan untuk merancang berbagai aplikasi dan sistem operasi seperti DOTA dan Windows.
  1. Kelebihan
  • Tersedia untuk semua sistem operasi
  • Sedikit kata kunci
  • Terstruktur sehingga mudah dipahami
  • Digunakan banyak orang
  1. Kekurangan
  • Banyaknya operator
  • Pointer (penanda alamat) yang susah dipahami
  1. Versi
  • C K&R
  • ANSI C dan ISO C
  • C99

  1. Cara Penggunaan

#include <stdio.h>

int main()

{

statement;

getchar ();

return 0;

}

  1. Structure Theorem
  • Sequence

Tahapan algoritma

  • Selection

Seleksi kondisi sesuai syarat yang dimasukkan

  • Repetition

Pengulangan untuk kondisi

#include <stdio.h>

int main ()

{

int total = 0;

int gradeCounter = 0;

int grade = 0;

int gradeAverage = 0;

while (gradeCounter < 10){

printf(“Masukkan 10 nilai murid : \n”);

scanf (“%d” , &grade);

total = total + grade;

gradeCounter++;

}

fflush (stdin);

gradeAverage = total /10;

printf(“the average is %d\n”, gradeAverage);

if (gradeAverage >= 70){

printf (“PASS!\n”);}

else{

printf(“FAILED!\n”);}

getchar();

return 0;

}

  1. Syntax-Semantic

Syntax : aturan penulisan untuk setiap statement

Semantic : arti dari statement

 

  1. C
  1. Syntax

Syntax adalah aturan penulisan untuk setiap statement pada bahasa C

  1. Semantic
  1. Operational Semantic (operasi matematika)
  2. Denotational Semantic (looping)
  3. Axiomatic Semantic (if, and, or)

Catatan jika syntax sudah benar namun menurut semantic salah, kemungkinan karena virus atau memori yang digunakan sudah tidak mencukupi.

  1. General Problem in C
  1. Recognizer
  2. Generators
  3. Ambiguous

Ex. int float = 0;

float adalah keyword yang tidak bisa dijadikan variabel

nilaiAkhir = 20/100*TM + 30/100*UTS + 50/100*UAS

ambigu jika tipe data yang digunakan adalah int karena hasil dari 20/100 adalah desimal, sementara int tidak membaca hasil desimal

  1. Grammar
  1. Backus Naur Form (BNF)
  2. Context – Free Grammar

Session 3 (Names, Bindings, Scopes)

  1. HTML
  1. Pengenalan HTML
  • C adalah bahasa pemrograman yang digunakan untuk membuat web
  • Sudah dikembangkan sejak Perang Dingin dengan nama ARPA
  1. Name
  • String untuk mengidentifikasi program
  • Tidak case sensitive
  • Diawali dan diakhiri dengan tanda < >
  1. Binding
  • Konsep dasar – menyimpan data pada memory sebagai penyimpan data dan pusat kegiatan sebelum program diproses
  • Penulisan harus dengan 2 bahasa (HTML dan CSS)
  • Ada 3 cara – tag, class, dan id
  • Ada 3 jenis Binding – collateral, sequential, dan recursive
  1. Teknik Penggabungan HTML dan CSS

<html>

<head>

<style/css>

</head>

  1. Scope – tidak ada dalam HTML

 

  1. PHP
  1. Pengenalan PHP
  • Hypertext Preprocessor
  • Memiliki banyak keunggulan seperti, gratis, dinamis, mudah, didukung dengan banyak platform
  • PHP juga dapat menggunakan berbagai jenis database, membuat cookies, dan encrypt data
  1. Variable
  • Lokasi penyimpanan sebuah nilai dari suatu infomasi
  • Tidak boleh diawali angka (alphanumeric), tanpa spasi, dan harus unik
  • Diawali dengan tanda $
  • Contoh : $angka = 5 atau $_kata = “Halo”
  1. Name
  • Judul dari suatu informasi
  • Panjang suatu Name tidak terbatas
  1. Type

Jenis data yang digunakan dalam PHP seperti, string, integer, float, double, array, Boolean, object, resource, NULL

  1. Value

Nilai dari suatu variable bisa selalu berubah. Nilai variable harus selalu dideklarasi.

  1. Scope
  • Global : ada di setiap bagian program, diluar fungsi
  • Local : hanya ada di program yang relevan, dideklarasikan pada fungsi
  • Static : menyimpan nilai setelah dieksekusi
  1. Lifetime

3 jenis Lifetime, yaitu Static, Automatic, Dynamic

 

Session 5 (Expression and Assignments Statements)

  1. Java
  1. Operator – Operand

5 + 3

Ket. 5, 3 = operand

+ = operator

  • Unary : 1 operand
  • Binary : 2 operand
  • Ternary : 3 operand
  1. Overloaded Operator (perjumlahan matriks)

Tidak diperlukan karena – tidak rapi, menghindari error, rumit

  1. Conversion
  • Narrowing – float int
  • Widening – int float
  • Char int
  1. Relational & Boolean Expression

< less than

> greater than

less than or equal with

greater than or equal with

== equal with

!= not equal

  1. Logical Expression

&& and

|| or

!= negation

  1. Short Circuit Evaluation

Digunakan untuk menghentikan operasi matematika dengan logical expression atau bitwise operator

  1. Assignment Statement

Statement yang berisi perintah, diakhiri dengan semicolon (;)

  1. Mixed Node Assignment
  2. Cara Kerja
  1. Fetching – mengambil operand
  2. Execute – melihat operator
  1. Cara Konversi
  • Implisit – langsung diconvert
  • Explisit – melalui variable

 

Session 6 (Control Structures Statement)

  1. Java
  1. Statement = perintah
  2. Looping = perintah berulang berurutan
  1. For

For (expression1; condition; expression2)

{statements}

  1. While

While (condition)

{statements}

  1. Do-While

Do {statements}

While (condition )

  1. Selection = menyeleksi perintah sesuai kondisi
  1. Switch case

Switch (variable){

Case a:

Statements;

Break;

Default:

Statements;

Break;

}

 

  1. If-else

If (condition)

{statement;}

Else if (condition)

{statement;}

Else (condition)

{statement;}

 

  1. Boolean

== equal

!= not equal

< less than

<= less than or equal with

> greater than

>= greater than or equal with

  1. C++
  1. Iterative
  1. Counter-control loop

For (expression1; condition; expression2)

{statements;}

  1. Pretest logically control loop

While (condition)

{statements;}

  1. Post test logically control loop

Do {statements;}

While (condition)

  1. Selection
  1. Multiple Ways

Switch (variable){

Case a:

Statements;

Break;

Default:

Statements;

Break;

}

 

  1. Two Ways

If (Boolean expression)

{statement;}

Else if (Boolean expression)

{statement;}

Else (Boolean expression)

{statement;}

 

  1. HTML (Javascript)
  1. Selection
  1. If-else

Example :

<html>

<body>

<script type=“text/javascript”>

var book=“maths”;

if(book==“history”){

document.write(“History book”);

}

else if (book==“maths”){

document.write(“Maths Book”);

}

else { document.write(“unknown book”);}

</script>

</body>

</html>

 

  1. Switch

Example :

<html>

<body>

<script type=”text/javascript”>

var grade=’A’;

document.write(“Entering switch block<br />”);

switch (grade)

{

case ‘A’: document.write(“Good job<br />”);

break;

case ‘B’: document.write(“Pretty good<br />”);

break;

case ‘C’: document.write(“Passed<br />”);

break;

case ‘D’: document.write(“Not so good<br />”);

break;

case ‘F’: document.write(“Failed<br />”);

break;

default: document.write(“Unknown grade<br />”)

}

document.write(“Exiting switch block”);

</script>

<p>Set the variable to different value and then try…</p>

</body>

</html>

 

  1. Iterative
  1. While

Example :

<html>

<body>

<script type=”text/javascript”>

var count = 0;

document.write(“Starting Loop “);

while (count < 10){

document.write(“Current Count : ” + count + “<br />”);

count++;

}

document.write(“Loop stopped!”);

</script>

<p>Set the variable to different value and then try…</p>

</body>

</html>

 

  1. Do – While

Example :

<html>

<body>

<script type=”text/javascript”>

var count = 0;

document.write(“Starting Loop” + “<br />”);

do{

document.write(“Current Count : ” + count + “<br />”);

count++;

}

while (count < 5);

document.write (“Loop stopped!”);

</script>

<p>Set the variable to different value and then try…</p>

</body>

</html>

 

  1. For

Example :

<html>

<body>

<script type=”text/javascript”>

var count;

document.write(“Starting Loop” + “<br />”);

for(count = 0; count < 10; count++){

document.write(“Current Count : ” + count );

document.write(“<br />”);

}

document.write(“Loop stopped!”);

</script>

<p>Set the variable to different value and then try…</p>

</body>

</html>


Session 8 (Abstract Data Type)

  1. C++
  1. Tipe data abstrak Structure (struct)
  2. Perbedaan Array dan Struct

Array : tipe data harus sama

Struct : tipe data bisa disesuaikan

  1. Contoh

Typedef struct{

Type name1;

Type name2;

}sepatu;

 

Int main(){

Sepatu sepatu1;

}

  1. PHP
  1. Tipe data abstrak Definisi static
  2. Stack : LIFO (Last In First Out)
  3. Queue : FIFO (First In First Out)

 

 

Session 10 (Concurrency)

  1. Concurrency adalah kondisi dimana dua pekerjaan dilakukan bersamaan dalam satu proses. Concurrency diselesaikan dengan Synchronization
  2. Jenis Concurrency :
  1. Physical CPU/hardware; ada lebih dari 2 instruksi
  2. Logical 1 proses 2 instruksi dijalankan sedikit demi sedikit
  1. Level Concurrency :
  1. Machine instruction terjadi pada bahasa mesin
  2. High level language statement terjadi pada bahasa pemrograman
  3. Unit/Subprogram terjadi pada subprogram
  4. Program terjadi pada program (multitask)
  1. Tasks :
  1. Heavyweight masing-masing mempunyai address
  2. Lightweight mempunyai satu address
  3. Disjoint tidak terjadi communication
  1. Critical Region adalah melarang 2 pekerjaan dilakukan bersamaan
  2. Jenis Critical Region :
  1. Mutual exclusion 1 proses menunggu/tidak interrupt
  2. Continuously progress 1 proses ga boleh di stop
  3. Bounded waiting 1 proses mencapai limit, stop proses
  4. Parallel somputing masing-masing di waktu yang sama
  5. Concurrency dikerjakan 2 pekerjaan sekaligus dalam 1 proses
  1. Synchronization :
  1. Cooperation jika suatu pekerjaan belum selesai, pekerjaan lainnya tidak bisa dikerjakan
  2. Competition hasil suatu pekerjaan tertimpa oleh pekerjan lain yang keduanya dilakukan bersamaan
  1. Task Execution States :

New >> Ready >> Running >> Blocked >> Dead

  1. Race Condition :
  1. Competition & Cooperation
  2. Controlling Task Schedule
  3. Application Influence Task Scheduling
  4. Task Start & End Execution
  1. Liveness adalah program yang diyakini selesai dengan baik
  2. Deadlock adalah program yang diyakini tidak bisa bekerja dengan baik
  3. Metode Providing Sync :
  1. Semaphore cooperation – competition
  2. Monitors program yang mengawasi program utama
  3. Message passing communication

Pengalaman Saat FEP

Halo, perkenalkan. Nama saya Taufan Raifaldy Maaruf. Saya dari FEP batch FBN01, Di blog ini saya akan menceritakan tentang pengalaman saya saat FEP.

16 September 2016

Aku bangun dengan penuh semangat, dikarnakan hari ini adalah hari pertama aku merasakan Orientasi kuliah, Aku bangun jam 4 Subuh, Mandi, Sarapan dsb dan pada jam 5:30 aku langsung berangkat dengan cara jalan kaki dari Rumah.

Oiya, rumahku dekat stasiun tebet, tepatnya di Bukit Duri. Aku berjalan kaki menuju Stasiun Tebet.

Setelah aku sampai di stasiun tebet, aku menaiki kereta menuju stasiun Tanah Abang, kereta disana sangat penuh, aku harus berdesak-desakan dengan penumpang lain, suasananya sangat pengap.

Setelah aku sampai di Stasiun Tanah Abang, Aku keluar kereta dan ganti kereta yang menuju Palmerah, di Kereta itu, penumpangnya lebih sedikit.

Setelah aku sampai, Aku keluar stasiun dan menaiki angkot nomor M11, lalu aku sampai BINA NUSANTARA University. Yaaaaaaay

Aku sampai tepat waktu, di kampus Anggrek, aku bertemu orang baru, dia dari Pekanbaru, Namanya Hakim, Dia jurusan Cyber Security.

Oiya sekedar info aku dari jurusan Teknik Informatika.

Disana kami dikumpulkan di auditorium dan ada seseorang memberi tau tentang Peraturan binus dll.

Setelah itu kami dikumpulkan berdasarkan jurusan. Kebetulan aku sekelas dengan hakim.

Disana ada kakak BC yang ramah membantu kami untuk mengajarkan kami bagaimana cara memakai BINUSMAYA, di kelas juga ada orang asal Korea yang bernama Choi Liao, dia jurusan manajemen.

Setelah itu  kami sholat dan makan.

17 September 2016

Aku ke kampus lagi untuk FEP hari terakhir, disana kita membuat Yel-Yel untuk berkompetisi dengan FBN yang lain. Kami membuat Yel-Yel menggunakan lagu parody MU dan We Will Rock You.

Setelah itu ada acara Bunga Rampai, disana adalah acara dimana UKM menunjukan aksi mereka untuk menarik perhatian Mahasiswa Baru seperti kami, contoh UKM : BNCC (Bina Nusantara Computer Club), BNEC (Bina Nusantara English Club), Volley, Sepak Bola, dsb.

Setelah itu ada sesi Kebersamaan, dimana kita berkompetisi yel-yel.

Sekian Blog Saya, Terimakasih