C# – Control Structures, Subprograms,ADT,OOP,Concurrency,Exception & Event Handling, Programming Functional and Prolog

Hello 🙂

Ini kelompok kami 🙂 jangan lupa kunjungi blog mereka juga.

Kelompok 9

Martandy : martandy.blog.binusian.org

Kevin Yulias : kevinyou.blog.binusian.org

Eric Khantino Sunardi : ricz97.blog.binusian.org

Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org


 

Control Structure

Struktur Program

Control Structure adalah struktur kendali dari sebuah program. Struktur program tersebut terdiri dari:
1. Sequential (berurutan): adalah struktur kendali default, dimana statement dalam suatu program dijalankan satu per satu secara berurutan.
2. Selection (percabangan): adalah struktur kendali dimana terdapat lebih dari satu pilihan.
3. Iteration (perulangan): struktur pemograman yang akan dilakukan terus menerus jika suatu kondisi terpenuhi.

Selection
Selection Statement terbagi menjadi 2 jenis yaitu:
1. Two-selection structure

Dapat digunakan dengan 2 cara, yaitu:
a. If-else
Terdapat 1 kondisi dan terdapat 2 pernyataan yaitu if dan else. Bila kondisi bernilai benar maka pernyataan if yang dijalankan, jika bernilai salah maka pernyataan else yang dijalankan.

Bentuk umum:

if(kondisi)
{
Statement;
}
else
{
Statement;
}

Contoh kode:

b. Inline conditional operator ?:
Kondisi ini harus mengevaluasi TRUE atau FALSE. Jika kondisi TRUE, first_expression dievaluasi dan menjadi hasilnya. Jika kondisi adalah FALSE, second_expression dievaluasi dan menjadi hasilnya. Hanya satu dari dua ekspresi dievaluasi.

Bentuk umum:
Kondisi ? first_expression : second_expression;

2. Multiple-selection structure

Dapat digunakan dengan 2 cara, yaitu:
1. If-else if
Terdapat lebih dari 2 kondisi dan terdapat pernyataan sesuai banyaknya kondisi tersebut. Statement yang akan dijalankan adalah statement yang berada di dalam kondisi yang sesuai.

Bentuk umum:

if(kondisi1)
{
Statement;
}
else if(kondisi2)
{
Statement;
}
else //opsional
{
Statement;
}
Contoh kode:

2. Switch statement
Switch statement digunakan ketika program kita ingin melakukan pengecekan untuk beberapa kemungkinan nilai dari suatu variabel.

Iteration
Iteration statement terbagi menjadi 3, yaitu:
1. For dan foreach
For digunakan untuk menuliskan jenis pengulangan yang banyaknya sudah pasti atau telah diketahui sebelumnya.

Bentuk umum:

for ( [pendahuluan] ; [kondisi]; [iterasi] )
{
[perintah]
}

Contoh kode:

Foreach juga merupakan salah satu perulangan yang ada didalam C#. Foreach digunakan apabila kita ingin melakukan perulangan pada elemen-elemen pada suatu array tanpa kita perlu menspesifikasikan batas atas larik yang bersangkutan.

Bentuk umum:

int[] a = {masukkan angka array};
foreach (int i in a)
{
(Masukkan logic yang ingin anda masukkan)
}

Contoh kode:

string[] club = {“juve”,”inter”,”milan”};
foreach (string c in club ) {
Console.WriteLine(c);
};

2. While
While akan berulang mengeksekusi suatu statement selama kondisi yang diberikan adalah benar.

Bentuk umum:

while(condition)
{
statement(s);
}

Contoh kode:

3. Do-While
Berbeda dengan While yang mengecek kondisi loop pada awal looping Do-While mengecek kondisi pada akhir dari loop. Karena kondisi muncul di akhir loop, maka statement dalam loop akan dieksekusi sekali sebelum kondisi itu dicek. Jika kondisi benar, maka akan kembali ke do dan statement akan dieksekusi lagi sampai kondisinya adalah salah.
Bentuk umum:

do
{
statement(s);
} while ( condition );
Contoh kode:

Terdapat satu bentuk penulisan yang mengkombinasikan beberapa statements yaitu nested statement. Nested statement adalah penggunaan selection/iteration statement didalam sebuah selection/iteration statement lainnya.

Contoh kode:

Kode diatas adalah contoh nested if, dimana terdapat suatu if di dalam if lainnya. more…

DV Run 2016

LogoTFI

Nama Lengkap      : David

NIM                           : 2001571494

Jurusan                   : Teknik Informatika

===============================================================================

Hallo, kali ini saya akan berbagi tentang sebuah Charity Event yang bernama DV Run yang telah saya ikuti minggu lalu.

  • Apa sih DV Run itu?

DV Run [DhammaVaddhana Run] adalah Charity Event yang diselenggarakan oleh salah satu UKM Kerohanian Universitas Bina Nusantara yaitu KMBD yang bekerja sama dengan TFI. Event ini diselenggarakan untuk membantu memperjuangkan hak anak jalanan Indonesia.

Tema untuk tahun ini yaitu “Unleash The Hero in You”.

Kenapa? Karena diharapkan melalui Event DV Run ini, kita bisa membantu anak-anak Indonesia yang kurang beruntung untuk bisa mendapatkan ilmu melalui sumbangan yang kita berikan.

Jadi apa tujuan sebenarnya diadakan Charity Run ini?

  • Merayakan Hari Pahlawan Nasional dan Hari Anak Internasional dengan mengadakan event 5K Charity Run dan UMKM EXPO.
  • Mengadakan 5K Charity Run yang dapat menginspirasi para pelari dan memberikan mereka semangat kehidupan yang lebih baik.
  • Memperjuangkan hak-hak dasar anak-anak yang ada di Indonesia untuk kehidupan yang lebih baik lagi.
  • Mendonasikan keuntungan dari hasil event DV RUN 2016 kepada Yayasan atau Rumah Singgah yang memperjuangkan dan membina anak jalana

  • Kapan Eventnya ?

Minggu, 04 Desember 2016

Pukul 06.00 WIB

  • Dimana Eventnya?

Di Pasar Seni Taman Impian Jaya Ancol

Print

  • Alasan Mengikuti DV Run?

Tujuan saya mengikuti event ini adalah untuk mendapatkan Jam Community Service [Untuk kebanyakan Binusian, pasti ini tujuan sebenarnya, jika tidak, maka blognya pasti kosong hehe] namun dibalik itu, tentunya berharap dengan ikut berpartisipasi dalam event Charity Run ini, bisa membantu memberikan dana kepada anak-anak jalanan Indonesia. Walau tidak bisa membantu banyak, namun tentunya sedikit demi sedikit bantuan akan menghasilkan satu bantuan yang besar dan berarti.

  • Pelajaran yang didapatkan ?

Pelajaran yang saya dapatkan yaitu kita yang lebih beruntung dan bisa menempuh pendidikan sejauh ini harusnya bisa lebih bersyukur, jika kita perhatikan anak-anak jalanan yang kurang beruntung, mereka belum bisa mendapatkan ilmu setinggi kita. Mereka harus berjuang lebih keras dibandingkan kita untuk mendapatkan ilmu, jadi kita harus menghargai setiap waktu yang ada.

Melihat senyuman anak-anak ketika selesai lari, memberikan suatu kesan bahwa kebahagiaan itu sangatlah sederhana yaitu dengan saling berbagi.

  • Motivasi untuk teman-teman anak jalanan

Jangan putus asa, dan teruslah berlari menggapai cita-citamu karena jika kita tidak berlari menggapai itu semua maka yang ada hanyalah kita tertinggal semakin jauh dan jauh.

  • Motivasi untuk aktivis-aktivis sosial

Teruslah membantu anak-anak yang kurang beruntung untuk mencapai cita-cita dan masa depan yang cerah, karena dengan membantu mereka, kita sudah menjadi salah satu aspek penting dalam hidup mereka. Tetap semangat dalam menjalankan aktivitas mulia ini.

  • Foto-foto kegiatan

DVRun7

DVRun4

DVRun1

DVRun2

DVRun3

DVRun5

DVRun6

  • Informasi tentang anak jalanan Indonesia

Berdasarkan http://ictforhumanity.or.id

Jumlah anak jalanan setiap tahunnya meningkat tanpa diketahui jumlahnya yang pasti. Belum lagi jumlah anak jalanan yang tidak terdata karena berada di luar rumah singgah.  Oleh sebab itu maka kebutuhan dari anak-anak jalanan seharusnya terpenuhi mulai dari kebutuhan sandang, pangan, dan papan.

Untuk bisa memenuhi itu semua, butuh bantuan kita untuk mewujudkannya.

Berikut adalah beberapa Rumah Singgah

Rumah Singgah

Untuk info lebih lanjut bisa langsung kunjungi atau hubungi

Contact ICT

  • Bantuan apa saja yang bisa masyarakat berikan ?
    • Menonton dan share video lembaga peduli anak
    • Menjadi volunteer
    • Memberikan donasi

Untuk lebih jelas, silahkan langsung kunjungi :

https://www.pedulianak.org

Sekian 🙂

Terimakasih

Category: Event  Leave a Comment
C# – Expression & Assignment Statements

Hello 🙂

Ini kelompok kami 🙂  jangan lupa kunjungi blog mereka juga.

Kelompok 9

Martandy : martandy.blog.binusian.org

Kevin Yulias : kevinyou.blog.binusian.org

Eric Khantino Sunardi : ricz97.blog.binusian.org

Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org

 

Topik ketiga yaitu “Expression & Assignment Statements


Pertama akan bahas Arithmetic Expressions : Operators

Operator Precedence Rule

Di dalam suatu operasi dapat terdapat banyak operator.Urutan eksekusi dari operator-operator disebut juga operator precedence. Precedence yang lebih rendah akan dieksekusi belakangan.

Operator Preced

Unary operator ada satu operand

e.g:  i++, i–, ++I, etc.

Binary operator ada dua operand

e.g:  I + J, I – J, J * 2

Ternary operator ada 3 operand

e.g:

int input = Convert.ToInt32(Console.ReadLine()); string classify;

// if-else construction.

if (input > 0) classify = “positive”; else

classify = “negative”;

// ?: conditional operator.

classify = (input > 0) ? “positive” : “negative”;


Berikutnya Arithmetic Operators

Arithmetic operators digunakan untuk operasi aritmatika, seperti tambah, kurang, perkalian, pembagian, untuk list operator aritmatika yang di dukung oleh C# adalah sebagai berikut:

Arit


Assignment Operators

Operator ini digunakan untuk memberi nilai suatu variabel inivariabel =5;

jadi inivariabel yang berada disebelah kiri merupakan variabel yang akan diisi dengan nilai 5 yang ada disebelah kanan

assi eg


Compound Assignment Exprressions

compo


Mixed Mode Assignment 

Penugasan Pernyataan Bisa juga jadi mixed-mode,

Contohnya :

int a = 2, b =3;

float c;

c = a / b ;

Pernyataan Perintah juga bisa di Mixed-Mode

C# hanya mengijinkan Pelebaran Tugas Coercions.


Overloaded Operators

Overloaded Operators merupakan fungsi yang memiliki karakter spesial.Keyword Operators biasanya di ikuti oleh simbol yang mendefinisikan operator tersebut.Sama seperti fungsi yang lainnya. Sebuah operator juga memiliki sebuah return type dan parameter list.

Overloaded Operators digunakan untuk Mendefinisikan / menimpa fungsi operator yang lain.

Contoh :

public static Box operator+ (Box b, Box c)

{

Box box = new Box();

box.length = b.length + c.length;

box.breadth = b.breadth + c.breadth;

box.height = b.height + c.height;

return box;

}


Berikutnya yaitu Relational  & Boolean Expression

Relational expression menentukan apakah suatu value lebih besar, lebih kecil, sama atau tidak dengan value lain.

* The == operator cek apakah kedua operand sama.

* The != operator cek apakah kedua operand tidak sama.

* The <> operator cek apakah kedua operand tidak sama.

* The < operator cek apakah operand pertama lebih kecil dari operand kedua.

* The > operator cek apakah operand pertama lebih besar dari operand kedua.

* The <= operator cek apakah operand pertama lebih kecil sama dengan operand kedua.

* The >= operator cek apakah operand pertama lebih besar sama dengan operand kedua.

 

Boolean-expression adalah expression yang menampilkan hasil dari type bool.


Short Circuit Evaluation

shc


 

Yang terakhir yaitu Type Conversion

* Narrowing Conversion

Adalah mengkonversi objek menjadi jenis yang tidak bisa mencakup semua nilai-nilai dari tipe yang asli.

Contoh : float to int

* Widening Conversion

Adalah sebuah objek diubah ke jenis yang dapat mencakup setidaknya perkiraan untuk semua nilai-nilai dari jenis aslinya.

Contoh : int to float

* Type Conversions : Mixed Mode

Sebuah Pernyataan atau Expresi Mixed-Mode dimana satunya mengoperasikan tipe-tipe lain yang berbeda.Sebuah Coercion adalah sebuah jenis konversi Implisit.Coercion mengurangi keuntungan dari Manfaat Type Checking, yang akan berakibat menganggu keandalannya.Di Sisi lain, Coercion memberikan Fleksibilitas.

Contoh:

double answer;          //answer akan menjadi 3.0 bukan 3.333333

answer = 10 / 3;       //karena operandnya berupa integer

 

 

 

 

 

 

 

C# – Data Types

Hello 🙂

Ini kelompok kami 🙂  jangan lupa kunjungi blog mereka juga.

Kelompok 9

Martandy : martandy.blog.binusian.org

Kevin Yulias : kevinyou.blog.binusian.org

Eric Khantino Sunardi : ricz97.blog.binusian.org

Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org

 

Topik ketiga yaitu “Data Types


Pertama akan dibahas apa itu Array

Array adalah suatu struktur data yang dapat menyimpan data dengan tipe yang sama dan diakses dengan menggunakan suatu indeks yang menunjukan suatu elemen didalam array tersebut.

Dalam pendeklarasian Array, C# mendukung single-dimensional arrays, multi-dimensional arrays (rectangular arrays) dan array-of-arrays.

Array dapat di deklarasi dalam format sebagai berikut :

Single-dimensional arrays:

int[] numbers;

int[] numbers = new int[5] {1, 2, 3, 4, 5};

string[] names = new string[3] {“Okie”, “Nega”, “Ralia”};

Multi-dimensional arrays:

string[,] names;

int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };

string[,] siblings = new string[2, 2] { {“Okie”,”Nega”}, {“Ralia”,”Ulvi”} };

Array-of-arrays (jagged):

byte[][] scores;

int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };

atau int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };


 

Assosiative Array

Array asosiatif adalah koleksi yang tidak diperintah dari elemen data yang diindeks oleh jumlah yang sama dari nilai-nilai yang disebut kunci.

Kunci User didefinisikan harus disimpan

Dimana sebuah Array tipikalnya berimplementasi sesuai banyak bentuk benda yang sama disimpan dalam suatu blok memori yang berdekatan

Sebuah assosiatif Array harus diimplementasikan melalui sebuah struktur data yang lebih kompleks, seperti sebuah Tabel Hash, Daftar, atau beberapa tipe pemetaannya.


 

Berikutnya yaitu Tuple Types

Sebuah tuple merupakan struktur data yang memiliki karakteristik angka dan mempunyai urutan dari sebuah element.

Sebagai contoh dari tuple adalah struktur data yang terdiri dari 3 element yang digunakan untuk menyimpan sebuah identifier seperti nama seseorang di element pertama, tanggal di element kedua, dan pendapatan di element ke tiga.

Tuple types umumnya digunakan dalam 4 fungsi yaitu:

* Untuk mewakili satu set data. Misalnya, sebuah tuple dapat mewakili sebuah database dan komponen – komponennya dapat mewakili masing-masing data individual dari record.

* Untuk memberikan akses yang mudah dan dapat memanipulasi dari sebuah kumpulan data.

* Untuk mengembalikan beberapa nilai dari sebuah metode tanpa menggunakan parameter out (dalam C #) atau parameter ByRef (dalam Visual Basic).

* Untuk memberikan nilai ke dalam sebuah metode melalui sebuah single parameter. Sebagai contoh metode Thread.Start(Object) memiliki sebuah single parameter yang memungkinkan Anda menyediakan satu nilai ke dalam sebuah metode yang akan di eksekusi pada saat startup. Jika Anda menyediakan Tuple <T1, T2, T3> objek sebagai metode argumen, Anda dapat menyediakan startup dengan tiga item dari data.


Selanjutnya yaitu Type Checking 

Proses verifikasi dan menegakkan kendala jenis-jenis pemeriksaan – dapat terjadi baik pada saat kompilasi (cek statis) atau pada saat run-time. Jika spesifikasi bahasa memerlukan aturan pengetikan yang kuat (misalnya, kurang lebih memungkinkan konversi tipe otomatis yang tidak kehilangan informasi), salah satu dapat merujuk kepada proses seperti strong type, jika tidak, sebagai weak type. Istilah tersebut biasanya tidak digunakan dalam arti yang ketat.

Type checking dibagi menjadi dua yaitu:

* Static Type Checking

* Dynamic Type Checking


Lanjut Union Types

Union types merupakan sebuah nilai yang mungkin memiliki beberapa pernyataan atau format, ataupun merupakan sebuah struktur data yang terdiri dari sebuah variabel yang dapat memegang nilai tersebut. Beberapa bahasa pemrograman mendukung type data khusus .

Dengan kata lain, definisi union types akan menentukan sejumlah nilai dari data primitif didalamnya. Misalnya,, “float atau integer panjang”. Berbeda dengan sebuah record (atau struktur), yang dapat didefinisikan untuk mengandung float dan integer; di union , hanya ada satu nilai pada waktu tertentu.


Pointers, References & Record Type

Pass by reference sendiri merupakan suatu method yang melewatkan alamat dari suatu variabel, bukan isi dari variabel.

Reference Type, nilai yang diacu oleh variable tersebut adalah alamat memori (32-bit atau 64-bit tergantung arsitektur), sedangkan datanya sendiri diletakkan pada lokasi terpisah (heap memory). Jika stack memory dianalogikan sebagai Desktop, membuat variabel jenis Value Type, sama dengan menaruh file di desktop, sedangkan membuat variabel Reference Type, sama dengan menaruhshortcut ke suatu file yang disimpan di suatu direktori.

Tidak ada alokasi memori secara manual menggunakan pointer (seperti pada bahasa pemrograman Java),

Record Type sedang di kembangkan oleh Microsoft dan akan di implementasikan pada versi C# Selanjutnya

 

Berikut ini adalah karakteristik dari reference types:

* Data reference type tidak disimpan pada stack, namun disimpan pada heap. Heap ini digunakan oleh Garbage Collector untuk melakukan alokasi memori secara dinamis.

* Dua atau lebih variabel dengan tipe reference type dapat menunjuk ke satu objek yang sama dalam heap,

* Memungkinkan operasi pada satu variabel mempengaruhi objek yang ditunjuk oleh variabel-variabel yang lain.

* Pada umumnya reference types lebih besar dan lebih lambat daripada value types


Lanjut ke Primitive Data Types

Primitive data types adalah tipe data yang bisa dijadikan variable. Ini adalah beberapa tipe data yang dapat dijadikan variable pada Bahasa pemrograman C# :

Primitive Data Types


Bahasa Pemograman dengan Strong Type dan Weak Type

A. Strong-Typed Programming Language

Strongly-typed programming language adalah bahasa pemrograman dimana setiap variabel memiliki tipe data yang spesifik dan variabelnya terikat pada suatu tipe data tertentu.

Contoh C#:

int a = 5;

int b = a + 2; //OK

bool test = true;

// Error. Operator ‘+’ cannot be applied to operands of type ‘int’ and ‘bool’.

int c = a + test;

B. Weak-Typed Programming Language

Weak Typing atau juga dikenal sebagai loose typng dan ini adalah kebalikan dari Strong-Typing, Weak Typing adalah aturan-aturan mengenai type conversion / konversi tipe data, dan biasanya dalam bahasa pemrograman Weak-Typed, anda dapat mengubah isi dari variable tipe A ke tipe B.

Contoh C:

int i = 10;

bool b = true;

printf(“%d” i + b); //Prints 11 karena true pada C = 1


User-defined Ordinal Type

An ordinal type adalah tipe dimana range dari nilai yang memungkinkan dapat dihubungkan/dihitung dengan bilangan bulat positif.

Contoh: integer, char, boolean

Ada 2 macam contoh user-defined ordinal types:

1. Enumeration types

2. Subrange types


Character String Types

Pada C#, tipe data string dapat di deklarasikan sebagai berikut:

// Deklarasi tanpa inisialisasi

string message1;

// Inisialisasi ke null

string message2 = null;

// Inisialisasi sebagai string kosong

// Memakai konstan kosong dibanding yang liberal “”.

string message3 = System.String.Empty;

//Inisialisasi dengan regular string literal.

string oldPath = “c:\\Program Files\\Microsoft Visual Studio 8.0”;

// Inisialisasi dengan verbatim string literal.

string newPath = @”c:\Program Files\Microsoft Visual Studio 9.0″;

//Inisialisasi dengan regular string literal.

string oldPath = “c:\\Program Files\\Microsoft Visual Studio 8.0”;

// Inisialisasi dengan verbatim string literal.

string newPath = @”c:\Program Files\Microsoft Visual Studio 9.0″;

// Pakai const string supaya ‘message4’ tidak dipakai

// untuk menyimpan string value yang lainnya

const string message4 = “You can’t get rid of me!”;

// Hanya pakai String constructor ketika membuat

// sebuah string dari sebuah char*, char[], or sbyte*.

char[] letters = { ‘A’, ‘B’, ‘C’ };

string alphabet = new string(letters);


Yang terakhir yaitu List Type

Meskipun array pada C# dapat menyimpan banyak nilai sekaligus, mereka tidak dapat mengubah ukurannya secara dinamis. Class-class collection pada C# mirip dengan Array, tetapi dapat diubah ukurannya secara dinamis. Ada banyak class yang tersedia Collections pada C#.

A. List<T>()

Inisialisasi instance baru dari List <T> class yang kosong dan yang punya initial capacity default.

B. List<T>(IEnumerable<T>)

Inisialisasi instance baru dari List<T> class yang memuat element copy dan memiliki kapasitas yang cukup untuk mengakomodasi jumlah element yang dicopy.

C. List<T>(Int32)

Inisialisasi instance baru dari List<T>class yang kosong dan yang mempunyai initial capacity yang spesifik.

 

 

 

 

 

 

 

 

 

 

C# – Name, Bindings & Scopes

Hello, Welcome 🙂

Ini kelompok kami 🙂  jangan lupa kunjungi blog mereka juga.

Kelompok 9

Martandy : martandy.blog.binusian.org

Kevin Yulias : kevinyou.blog.binusian.org

Eric Khantino Sunardi : ricz97.blog.binusian.org

Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org

 

Topik kedua yaitu “Name, Bindings & Scopes


Pada topik pertama sudah dibahas apa itu variabel, jadi langsung saja ke Penamaan Variabel

Ada 2 :

  1. Menggunakan Camel Notation, yaitu huruf kecil (lowercase) pada huruf depan masing2 kata. 
  2. Menggunakan Pascal Notation, yaitu huruf besar (Uppercase) pada huruf depan masing2 kata

Nah, pada topik pertama juga sudah dibahas mengenai Identifier, sekarang kita akan membahas lebih lengkap lagi tentang Apa & Aturan Identifier

Identifier adalah suatu pengenal atau pengidentifikasi yang kita deklarasikan.

Identifier dapat berupa: nama variabel, konstanta fungsi, kelas, template maupun namespace.

Untuk membuat nama identifier:

  1. Case Sensitive
  2. Nama identifier bisa terdiri dari satu atau beberapa karakter yang terdiri dari angka  (0 – 9), huruf (A – Z, a – z), dollar ($), garis-bawah/underscore(_).
  3. Penamaan identifier harus dimulai dengan huruf, underscore(_), atau karakter dollar ($). Tidak boleh dimulai dengan angka. Simbol-simbol operator seperti (*), (+), (/), (-) tidak boleh digunakan.
  4. Tidak boleh menggunakan spasi.
  5. Tidak diperbolehkan menggunakan Kata-kata keyword dalam bahasa pemrograman (misalnya: public, class, static, dsb).
  6. Panjang nama identifier tidak dibatasi.

Selanjutnya, kita akan membahas apa itu Binding

Binding adalah menyambungkan satu variabel/method dengan source data/file lain, agar mudah di akses, dan tidak perlu ketik ulang method lagi dll.

E.g. : Menghubungkan suatu variabel dengan data dari database, XML, dsb

Nah, ada 2 jenis binding

Early Binding/Static Binding

adalah event yang terjadi pada compile time. Compiler tau method apa yang harus di panggil saat compile time. Kelebihan Early Binding adalah efisiensi, lebih cepat, karena fungsi telah dipanggil saat compile time.

E.g. Method call biasa, method overloading

Late Binding/Dynamic Binding

adalah event yang terjadi pada saat aplikasi dijalankan / runtime. Compiler tidak tahu method/fungsi apa yang harus di panggil sampai dengan aplikasi sudah di jalankan atau pada saat runtime. Late binding memungkinkan kamu untuk membuat aplikasi yang merespon terhadap event yang terjadi ketika aplikasi itu berjalan. Kelebihan Dynamic Binding adalah fleksiblitas.

E.g. Method overriding.


Selanjutnya, sebelum membahas scope, kita akan membahas Instance Variable, Local Variable & Parameter

  • Menggunakan instance variable untuk menyimpan data ke dalam suatu objek.
  • Menggunakan sebuah parameter untuk  mengirimkan data ke dalam sebuah metode.
  • Menggunakan local variable sebagai penyimpanan data kerja sementara dalam sebuah metode.

Yang Perlu Diingat

*Variabel Instance

  • Dideklarasi di luar sebuah method
  • Biasanya private
  • Bisa diakses oleh semua method dalam class

*Variabel Local

  • Dideklarasi di dalam sebuah method
  • Tidak ada modifier visibilitas
  • Hanya bisa diakses di dalam method itu saja.

Lifetime of Variable

Adalah seberapa lama variabel itu tetap ada.

  • Variabel lokal dan parameter formal(variabel yang terdapat pada suatu method) ada selama berjalannya sebuah metode
  • Setiap kali kita memanggil/menggunakan method, formal paramater dan variabel local akan tampil dengan value awalnya/fresh.
  • Variabel instance akan ada selama sebuah objek itu ada.
  • Tetap ada sampai objeknya dipanggil kembali/garbage-collected.

Jadi, langsung saja ke Scope

Scope adalah ruang lingkup, Scope dari suatu variabel menentukan bagian apa dalam program anda yang dapat mengakses variabel tersebut.

Contoh :

class Contact
{
  public int age;

  public void F()
  {
     age = 18;
  }

  public void G()
  {
     int age;
     age = 21;
  }
}

Sebagai contoh, di dalam class Contact mempunyai field yang bernama age, field tersebut dapat diakses oleh seluruh anggota dalam class Contact tersebut, pada method G, scope nya overlap/ketimpa, karena ada variabel baru yang dideklarasi dengan nama yang sama,  jadi ketika anda memanggil age dalam fungsi G, anda sebenarnya sedang memanggil variabel yang dideklarasi dalam method G tersebut.


Block Scope

  • Kita bisa melakukan looping pada scope (nest scopes).
  • Variabel yang dideklarasikan di dalam sebuah statement dengan kurawal akan memiliki block scope.

Contoh :

int sum = 0;

for(int i = 1; i <= 10; i++){

Console.WriteLine(“This is number” + sum);

}

Console.WriteLine(“The sum is ” + sum);

Note :

sum : bisa diakses sebelum, selama dan setelah loop

i : hanya bisa diakses selama masih loop


Sekian & Thanks

Tunggu update selanjutnya 🙂

C# – Syntax & Semantics

Hello, Welcome 🙂

Berhubung ada tugas PLC <Programming Language Concept>

Maka setiap minggu, akan saya update mengenai C# sesuai topik.


 

Ini kelompok kami 🙂 jangan lupa kunjungi blog mereka juga.

Kelompok 9

Martandy : martandy.blog.binusian.org

Kevin Yulias : kevinyou.blog.binusian.org

Eric Khantino Sunardi : ricz97.blog.binusian.org

Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org

 

Nah, kami memilih bahasa C#

Topik pertama yaitu “Describing Syntax and Semantics


 

c#

Mengapa C# ?

  • Dapat digunakan untuk aplikasi :
  1. Web-based application
  2. Mobile application
  • Modern

Fitur Exception handling, garbage collection,dll

  • Object Oriented

Encapsultaion, Inherinace, Polymorphism

  • Modular

Ditulis dengan pembagian class dan metode-metode


 

Jadi, apa itu Syntax dan Semantics? Langsung saja

 

SYNTAX

Kumpulan aturan yang mendefinisikan suatu bentuk bahasa.

Contoh:

Sintaks kalimat dalam bahasa Indonesia: [Subjek] + [Predikat] + [dll]]

 

Saya makan [✓]

Saya nasi [X]

Saya makan nasi [✓]

 

Sintaks dalam C#:

Fungsi diawali dengan “_”

 

SEMANTICS

Menjelaskan arti dari program

 

Contoh:

Saya makan nasi [Sintaks ✓ Semantik ✓]

Saya minum nasi [Sintaks ✓ Semantik X ]

 

A=(A+B)*(C-D)

Perkalian dari hasil penjumlahan A+B dan C-D adalah A


 

Berikutnya yaitu mengenai sintaks dasar dalam C#

STRUKTUR PROGRAM & SINTAKS DASAR

  • Setiap awal program C# harus menggunakan

using System;

  • Kode prog diawali dengan mendeklarasikan nama Class atau Namespace.
  • Seluruh aplikasi dibuka dengan tanda “{” dan ditutup dengan tanda “}”.
  • Aplikasi C# dibangun oleh satu atau beberapa fungsi yang diletakkan dalam sebuah Class.
  • Nama suatu fungsi harus diawali dengan huruf atau garis bawah (“_”), yang kemudian bisa diikuti oleh huruf, angka atau garis bawah.
  • Nama diakhiri dengan tanda kurung “()”.
  • Penamaan fungsi tidak boleh mengandung spasi.
  • Suatu fungsi harus diawali dengan “{” dan diakiri dengan “}”.
  • Nama fungsi utama yang digunakan dalam bahasa C# adalah “main”.
  • Setiap fungsi memiliki sifat fungsi, seperti public dan static.
  • Dalam sebuah fungsi, berisikan sekumpulan perintah, dimana perintah satu dengan yang lainnya akan dipisah atau diakhiri dengan tanda “;”.

Nah, berikutnya pembahasan mengenai variable dan konstanta

Variabel

Suatu pengenal yang digunakan untuk menyimpan suatu nilai.

  • Nilai dalam variabel dapat berubah-ubah selama proses pada program masih berlangsung.
  • Sebelum variabel digunakan, harus dideklarasikan terlebih dahulu, dengan format penulisan :

<data type><variable name>;

Contoh :

string kata;      string namaPelanggan = “Fandi”;

int angka;        int jumlahSemuaBarang;

 

Konstanta

Suatu nilai yang tidak berubah selama proses berlangsung.

  • Hanya satu definisi.
  • Sebelum konstanta digunakan, harus dideklarasikan terlebih dahulu,

dengan format penulisan :

const <data type> <const name>;

Contoh :

const double PI = 3.142;

const string nama = “Adinda”;


Selanjutnya mengenai Identifier

Identifier (Aturan Penamaan)

– Variable

Menggunakan Camel Notation, yaitu huruf kecil (lowercase) pada huruf depan masing2 kata.

– Methods

Menggunakan Pascal Notation, yaitu huruf besar (Uppercase) pada huruf depan masing2 kata

– Class

Dapat menggunakan karakter Huruf, Angka, atau Garis bawah. Dengan ketentuan tidak boleh diawali dengan ‘Angka’ atau Spasi.


Yang terakhir yaitu Access Modifier

Ada 3, yaitu :

  1. Public

type yang menggunakan access modifier ini membuat type tersebut bisa diakses tanpa pembatasan apapun

  1. Protected

type yang menggunakan access modifier ini membuat type tersebut hanya bisa diakses dari type yang bersangkutan dan turunan dari type yang bersangkutan.

  1. Private

Private merupakan access modifier yang paling secure. semua type yang dilabeli access modifier private membuat type tersebut tidak dapat diakses dari luar type yang bersangkutan.

Method adalah sekumpulan pernyataan yang akan dijalankan ketika dipanggil.


Contoh penulisan syntax dan semantics yang benar pada C#

 

using System;

public class Program

{

public static void Main(string[] args)

{

Console.WriteLine(“Hello, world!”);

 

for (int i = 0; i <= 5; i++) {

Console.WriteLine(“I love Programming”);

}

 

Console.WriteLine(AddTwoNumbers(2,3));

}

 

public static int AddTwoNumbers(int number1, int number2) {

return number1 + number2;

}

}


 

Sekian & Thanks..

Tunggu update selanjutnya 🙂

HTTP 2016

Hello, ini pertama kalinya buat saya untuk menulis blog, jadi merupakan sebuah pengalaman baru juga bagi saya sendiri so I hope you guys enjoy it.

HTTP 2016

Nah, pengalaman yang ingin saya bagikan kali ini adalah pengalaman di acara HTTP 2016.

Sebelumnya saya akan menjelaskan sedikit apa itu HTTP.

HTTP itu sendiri apa sih? HTTP adalah HIMTI Togetherness and Top Perfomance, ini adalah acara tahunan yang diselenggarakan oleh HIMTI sebagai HMJ SoCS di Binus University untuk menyambut mahasiswa/i SoCS yang baru saja bergabung menjadi anggota dari keluarga besar HIMTI.

Tahun ini buat para Binusian 2020, HTTP mengangkat Tema yaitu “Passion, Innovation and Togetherness”. Acaranya berlangsung pada hari Sabtu tanggal 10 September 2016 dari jam 9 pagi sampai dengan sekitar jam 6 sore,jadi acaranya berlangsung cukup lama. Tempatnya yaitu di Gedung BPPT II, tepatnya di Auditorium Lantai 3.

Bagaimana cara ikut acara HTTP ini ? Peserta cukup membeli tiket HTTP seharga Rp.150.000,- .

Pembeliannya bisa secara online maupun langsung saat kegiatan Expo FEP berlangsung, atau bahkan ada sesi-sesi tertentu dimana HIMTI akan menawarkan kembali bagi yang belum membeli.

Keuntungan apa aja sih yang diperoleh dari mengikuti acara HTTP ini ?

  • PBC (Pengenalan Bahasa C)
  • HIMTI Exclusive Pin
  • Transportasi ( PP dari kampus masing-masing ke Gedung BPPT II)
  • Merchandise
  • HIMTI Kit
  • Lunch
  • E-Certificate

Okay, cukup untuk pengenalan HTTPnya dan sekarang saya akan berbagi apa yang saya rasakan selama di acara HTTP ini sendiri.

Nah, untuk berangkat ke Gedung BPPT II ada 2 shift bus nih (Bagi yang di Kemanggisan)  yaitu shift 1 jam 06.30 WIB dan shift 2 jam 07.45 WIB. Karena saya dan teman-teman saya pilih shift 1 jadi sekitar jam 06.00 pagi kami sudah harus ngumpul di Binus Anggrek karena disarankan hadir 30 menit lebih awal dari Shift bus yang dipilih.

Sesudah itu kami pun berangkat dan tibalah di gedung BPPT II, disini harus ngantri buat absensi kehadiran. Setelah itu, kami masuk ke dalam dan hal pertama yang terlihat yaitu acara Application Showcase, jadi disini, App yang sudah dibuat oleh para senior akan dipertunjukkan dan para peserta boleh mencicipi bagaimana app yang dipertunjukkan ini.

Nah, di depan pintu masuk ke dalam Auditorium, ada tempat buat foto bareng, jadi kami pun foto bareng dan inilah fotonya.

Foto Bersama

Setelah itu, saya dan teman-teman masuk ke dalam Auditorium dan disana sudah dimainkan film animasi “Zootopia” yang ditampilkan sebagai hiburan buat yang datang lebih awal sebelum acara mulai jam 09.00 nantinya.

zootopia

Dan tiba saatnya acara dimulai, acara HTTP 2016 ini diawali dengan penampilan dari band Peanut Butter, dan menurutku, penampilan mereka kurang bagus sehingga tidak maksimal. Setelah itu, ada kata sambutan dari berbagai pihak yang terlibat dalam HTTP dan para pemimpin SoCS.  Karena di bagian kata sambutan agak lama, jadi diadakan game Sambung Kata biar para peserta tidak bosan.

Kemudian setelah game, ada penampilan dari Adam Sidqon, awalnya terasa kurang menarik, namun setelah dia membawakan lagu kedua , disitulah mulai terasa penampilannya bagus. Dia membawakan 4 lagu dan diantaranya ada lagunya sendiri. Selesai penampilannya, maka waktu istirahat pun tiba dan dibagikan lunch oleh para aktivis HIMTI.

Lalu masuk ke acara berikutnya yaitu TalkShow, nah talkshow ini dibawa oleh kak Jaya, dan tamu undangannya yaitu kak Christian, salah satu yang mengembangkan robot Bimax,bm kak Nathanael dan satu temannya juga yang membuat aplikasi  The Big 5 Traits Personal Prediction yang bisa memprediksi kepribadian seseorang melalui postingan di Twitter. Di sesi talkshow ini banyak yang tidur, mungkin karena acaranya kurang menarik atau tidak cukup tidur dihari sebelumnya.

The Big 5

Selesai talkshow, ada game lagi biar acaranya ga terlalu bosan dan setelah itu sambung ke acara berikutnya yaitu Visualization, kalau menurut saya pribadi, kurang menarik karena terlalu panjang alur ceritanya dan ya begitulah.  Sekitar 1 jam lebih dan akhirnya visualization selesai dan waktu istirahat tiba lagi untuk 1 jam kedepan. Di waktu ini lah, auditorium disusun menjadi tempat party karena selesai istirahat ada penampilan Dance dan ada juga DJ di akhir acara.

Namun di antara sesi Dance dan DJ ada sesi peresmian untuk maba SoCS menjadi anggota dari keluarga besar HIMTI, diresmikan dengan pemakaian almamater  oleh pengurus HIMTI Kemanggisan dan AlSut. Setelah itu menyanyikan Mars HIMTI dan kemudian ada penampilan dari Vibing High yang bisa membuat suasana Auditorium menjadi seperti tempat konser.

Setelah itu ada door prize buat yang beruntung, dan tiba saatnya DJ Angello muncul dan membuat auditorium semakin membara. Kalau saya perhatikan, orang-orang yang berkumpul didepan itu berjoget dengan riang dan terbawa kedalam suasana DJ sedangkan yang dibelakang tidak begitu terbawa ke dalam suasananya.

2

Setelah Selesai Acara HTTP

Kurang lebih begitulah acara HTTP 2016 ini dan itulah yang bisa kubagikan ke kalian semua. Terimakasih sudah meluangkan waktu untuk membaca dan maaf apabila ada kata-kata yang menyinggung pihak manapun.

Category: Event  Leave a Comment
Hello world!

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂

Category: Event  One Comment