Apa itu C#
Bahasa C# adalah sebuah bahasa pemrograman modern yang bersifat general-purpose, berorientasi objek, yang dapat digunakan untuk membuat program di atas arsitektur Microsoft .NET Framework. Bahasa C# ini memiliki kemiripan dengan bahasa Java, C dan C++ (selengkapnya dapat dilihat pada Sejarah Bahasa C#).
Bahasa pemrograman ini dikembangkan oleh sebuah tim pengembang di Microsoft yang dipimpin oleh Anders Hejlsberg, seorang yang telah lama malang melintang di dunia pengembangan bahasa pemrograman karena memang ialah yang membuat Borland Turbo Pascal, Borland Delphi, dan jugaMicrosoft J++.
Kini, C# telah distandarisasi oleh European Computer Manufacturer Association (ECMA) dan juga International Organization for Standardization (ISO) dan telah menginjak versi 3.0 yang mendukung beberapa fitur baru semacam Language Integrated Query (LINQ) dan lain-lainnya.
Munculnya C
Bahasa C dilahirkan di Bell Telephone Laboratories (atau sering disebut sebagai Bell Labs saja). Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari Bell Labs. Pada tahun 1947, transistor ditemukan di Bell Labs, dan juga sistem operasi yang sekarang banyak digunakan di dalamkomputer korporat (UNIX) juga dibuat di sana. Untuk beberapa tahun, ada sebuah bahasa pemrograman yang sangat dekat dengan sistem operasi UNIX, yang disebut dengan bahasa C, yang didesain oleh Dennis Ritchie dan Brian Kernighan. Mengapa disebut hanya C saja? Bahasa C disebut demikian mengingat bahasa tersebut adalah turunan dari bahasa B, dan bahasa B merupakan pemendekan dari Basic CPL, sementaraCPL sendiri adalah sebuah bahasa pemrograman yang merupakan singkatan dari Combined Programming Language.
Meskipun populer, bahasa C terkesan lebih rumit jika dibandingkan dengan bahasa pemrograman lainnya, khususnya jika digunakan oleh para pemrogram pemula. Ketika ALGOL dan banyak turunan ALGOL menggunakan kata-kata yang mudah diingat seperti BEGIN dan END untuk membatasi sebuah seksi dalam instruksi program, bahasa C malah menggunakan tanda kurung keriting ({ dan }). Beberapa operasi juga disederhanakan, bahkan banyak singkatannya yang cukup membingungkan para programmer pemula. Contoh yang sering digunakan adalah printf, dan scanf. Meskipun demikian, program-program yang ditulis dalam bahasa C seringnya lebih efisien dibandingkan dengan bahasa pemrograman lainnya, yang artinya program-program dalam bahasa C diterjemahkan ke dalam machine code dalam jumlah yang relatif lebih sedikit jika dibandingkan dengan program yang ditulis dalam bahasa pemrograman lainnya. Salah satu bagian yang paling canggih dari bahasa C adalah bahwa bahasa C memiliki “pointer“, selain tentunya “variabel” dan “konstanta”. Istilah Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori yang mengizinkan para programmer untuk melakukan beberapa tugas secara jauh lebih efisien, dengan melibatkan bit, byte, dan word memori. Karenanya, banyak orang menyebut bahasa C sebagai “High-level Assembly language, atau bahasa rakitan tingkat tinggi.
Meskipun bahasa C masih merupakan bahasa pemrograman yang populer, bahasa tersebut saat ini dapat dikatakan telah “kadaluwarsa”. Saat ini, bahasa tersebut diklasifikasikan ke dalam “bahasa pemrograman prosedural tradisional” (traditional procedural programming language), sebuah istilah yang merujuk kepada struktur program-program dalam bahasa C. Umumnya sebuah program bahasa C terdiri atas banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur tersebut dapat bekerja dengan data dalam beberapa cara. Data adalah kumpulan angka atau teks atau bahkan gabungan antara keduanya. Dalam bahasa pemrograman prosedural tradisional, kodelah yang memproses data menjadi output.
Sejarah Perkembangan Bahasa C
Berasal dari bahasa BCPL (Basic Combined Programming Language) oleh MARTIN RICHARD, Cambridge tahun 1967, KEN THOMPSON membuat bahasa B untuk dipakai pada komputer DEC PDP-7 dibawah sistem operasi UNIX pada Belllaboratory, Murray Hill, New Jersey tahun 1970.
Bahasa B merupakan suatu bahasa pemrograman yang tidak memiliki jenis suatu data seperti halnya PL/M. Berdasarkan gambaran bahasa B, DENNIS RITCHIE menulis bahasa C. Nama C diambil berdasarkan urutan sesudah B dari bahasa BCPL. Tujuan bahasa C pada mulanya untuk membentuk suatu sistem operasi yang akan digunakan pada mesin komputer DEC PDP-11 yang baru.
Pada tahun 1975, sistem operasi UNIX versi 6 dan bahasa C mulai diberikan kepada Universitas maupun Akademi. Dan pada tahun 1979, sistem operasi UNIX versi 7 dikeluarkan dengan bahasa C. Sistem operasi ini(versi 7) seluruhnya ditulis dalam bahasa C.
Pada 1978 Dennis Ritchie dan Brian Kernighan kemudian mempublikasikan buku The C Programming Language yang semakin memperluas pemakaiannya dan dijadikan standar oleh ANSI (American National Standard Institute) pada tahun 1989. C kemudian dikembangkan lagi oleh Bjarne Stroustrup menjadi C++ (1986). C dan/atau C++ banyak digunakan (sehingga menjadi�standar�) sebagai bahasa pemrograman untuk membuat sistem operasi.
Konstanta
Konstanta merupakan suatu nilai yang tidak dapat diubah selama proses program berlangsung.
Konstanta nilainya selalu tetap. Konstanta harus didefinisikan terlebih dahulu di awal program.
Konstanta dapat bernilai integer, pecahan, karakter dan string. Contoh konstanta : 50; 13; 3.14;
4.50005; ‘A’; ‘Bahasa C’. Selain itu, bahasa C juga menyediakan beberapa karakter khusus yang
disebut karakter escape, antara lain :
\a : untuk bunyi bell (alert)
\b : mundur satu spasi (backspace)
\f : ganti halaman (form feed)
\n : ganti baris baru (new line)
\r : ke kolom pertama, baris yang sama (carriage return)
\v : tabulasi vertical
: nilai kosong (null)
\’ : karakter petik tunggal
\” : karakter petik ganda
\\ : karakter garis miring
Konstanta adalah suatu nilai yang tidak berubah selama proses dari program. Misalnya suatu statemen ungkapan sebagai berikut :
Fahrenheit=Celcius*1.8+32;
Celcius dan Fahrenheit adalah variabel yang nilainya dapat berubah selama proses program. Nilai Celcius dapat berubah tergantung dari nilai yang dimasukkan sebagai input data dan nilai Fahrenheit akan berubah tergantung nilai dari Celcius. Nilai 1.8 dan 32 sebaliknya tidak akan pernah berubah di dalam proses program, karena nilai- nilai ini adalah nilai- nilai konstanta.
Konstanta Numerik Integer
Konstanta numerik integer merupakan nilai numerik bilangan bulat. Konstantakonstanta inetegr dapat ditulis dalam bentuk desimal, heksadesimal, maupun oktal. Berikut contoh dalam bentuk nilai desimal :
123
(integer bertanda)
-123
(integer bertanda)
37000U
(integer tidak bertanda)
-75000L
(integer panjang bertanda)
418598821UL
(integer panjang tidak bertanda)
Bila user ingin suatu konstan diinterpretasikan sebagai oktal,tambahkan digit 0 didepan.
Contoh:
015 ekivalen dengan 13 dalam decimal
015 ekivalen dengan 13 dalam decimal
Jika yang diinginkan bilangan hexadesimal, tambahkan 0x di depan.
Contoh:
0x20 ekivalen dengan 32
0x20 ekivalen dengan 32
Konstanta Numerik Pecahan
Merupakan nilai numerik yang dapat mempunyai nilai pecahan dibelakang titik desimal. Konstanta numerik pecahan juga dapat ditulis dengan notasi saintifik (dengan notasi e atau E). Berikut contoh-contoh konstanta numerik pecahan :
123.
-123.00
12.34e29
Konstanta Karakter dan Konstanta String
Konstanta karakter merupakan nilai sebuah karakter yang ditulis diantara tanda petik tunggal. Konstanta string merupakan nilai sebuah atau lebih karakter yang ditulis dalam tanda petik ganda. Pengertian karakter adalah semua karakter yang sah seperti yang didefinisikan oleh kode ASCII, yaitu dapat meliputi huruf(a samapi z), digit (0 sampai 9), karakter-karakter khusus(misal +=$). Berikut contoh dari konstanta-konstanta karakter dan string :
‘a’
konstanta karakter huruf a bernilai ASCII 97
‘7’
konstanta karakter huruf a bernilai ASCII 55
“a”
konstanta string huruf a
Konstanta Karakter Escape
Konstanta ini banyak digunakan distatemen-statemen untuk menampilkan hasil, misal membuat kursor kemablike kolom pertama(carriage return).
Karakter Keterangan
\n pindah kursor ke baris baru
\t horizontal tab, pindah kursor ke posisi tab
\a membunyikan bel sistem atau beep
\ mencetak atau menampilkan tanda \ (backslash)
\”
Operator
Operator atau tanda operasi adalah suatu tanda atau simbol yang digunakan untuk suatu operasi tertentu. Bahasa C menyediakan banyak sekali tanda-tanda operasi, yaitu operator pengerjaan, operator aritmatika, operator tipe, operator hubungan, operator logika, dan lain- lain.
Operator Aritmatika
Konstanta ini banyak digunakan distatemen-statemen untuk menampilkan hasil, misal membuat kursor kemablike kolom pertama(carriage return).
Operator
|
Deskripsi
|
Contoh
|
Hasil
|
*
|
Perkalian
|
2*3
|
6
|
/
|
Pembagian
|
9/3
|
3
|
%
|
pembagian modulus (pembagian sisa)
|
10%3
|
1
|
–
|
Pengurangan
|
3-2
|
1
|
+
|
Penambahan
|
2+3
|
5
|
Prioritas operator aritmatika
Operator
|
Operasi
|
Keterangan
|
( )
|
Parenthesis
|
Operasi didalam tanda ( ) akan dikerjakan terlebih dahulu. Apabila bersarang, yang dikerjakan pertama kali adalah tanda ( ) yang paling dalam. Apabila terdapat tanda ( ) satu level (tidak bersarang) dikerjakan dari kiri sampai kanan.
|
*, /, %
|
Kali, bagi, modulo
|
Dievaluasi kedua setelah parenthesis. Apabila terdapat beberapa, dieksekusi dari kiri dan kanan.
|
-, +
|
Tambah, kurang
|
Dievaluasi terakhir. Apabila terdapat beberapa, dieksekusi dari kiri dan kanan.
|
TipeData
Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya.
Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.
Dalam bahasa C terdapat lima tipe data dasar, yaitu :
No
|
Tipe Data
|
Ukuran
|
Range (Jangkauan)
|
Format
|
Keterangan
|
1
|
char
|
1 byte
|
128 s/d 127
|
%c
|
Karakter/string
|
2
|
int
|
2 byte
|
32768 s/d 32767
|
%i , %d
|
Integer/bilangan bulat
|
3
|
float
|
4 byte
|
3.4E-38 s/d 3.4E+38
|
%f
|
Float/pecahan
|
4
|
double
|
8 byte
|
1.7E-308 s/d 1.7+308
|
%lf
|
Pecahan presisi ganda
|
5
|
void
|
0 byte
|
–
|
–
|
Tidak bertipe
|
Tipe Data dalam Bahasa C
Tipe Data Primitif
Jenis-jenis tipe data :
– Tipe data Integer
Tipe data bilangan bulat decimal yang dapat menampung angka antara -2147483648 dan 2147483647. Tipe data ini berukuran 32 bits atau 4 bytes.
– Tipe data Character
Tipe data yang hampir mirip dengan tipe data integer tetapi hanya cukup untuk menampung 1 karakter ASCII. Karena tipe data character hanya memiliki ukuran 1 byte, tipe data ini sangat sering digunakan untuk menyimpan tipe data karakter sesuai dengan namanya. Tipe data ini dikatakan ideal untuk menampung data karakter karena ukuran 1 byte cukup besar untuk menyediakan 1 slot untuk tiap karakter ASCII. Saat compile, semua tipe data karakter akan diubah ke bentuk integer kode ASCIInya.
– Tipe data Float
Float merupakan kependekan dari floating point. Tipe data ini dapat menampung bilangan real tetapi kurang presisi karena hanya dapat menyimpan single precision floating point numbers.
– Tipe data Double
Tipe data double sangat mirip dengan tipe data float tetapi tipe data double dapat menyimpan double precision floating point numbers. Biasanya memiliki ukuran 8 bytes.
– Tipe data Void
Tipe data yang tidak bertipe.
Ditulis dalam Bahasa C. Tag: Bahasa C, Pemrograman.
Variable
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai suatu
variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri
oleh pemrogram dengan aturan sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
2. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi antara Metal, dengan metal itu berbeda.
3. Tidak boleh mengandung spasi.
4. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore), seperti : $, ?, %, #, !, &, *, (, ), -, +, dsb.
5. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan yang salah : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.
Contoh penamaan variable yang salah : nilai_mahasiswa, 80%mahasiswa, rata-rata, ada spasi, penting!, dsb.
Deklarasi Variable
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
Bentuk umum pendeklarasian suatu variable adalah :
Nama_tipe nama_variabel;
Contoh :
int x;
char y, huruf, nim[10];
float nilai;
double beta;
int array[5][4];
Struktur Dasar Kode Program
Setiap program komputer, dalam bahasa apapun, secara umum memiliki struktur seperti berikut ini:
Bagian deklarasi
Bagian inisialisasi
Bagian kode utama
Bagian deklarasi
Pada bagian ini dilakukan deklarasi variabel yang hendak digunakan. Bahasa C mengharuskan seluruh variabel yang akan digunakan pada sebuah scope dideklarasikan terlebih dahulu, sebelum kode program lainnya. Deklarasi diantara kode program tidak diperbolehkan. Pada C++ batasan ini sudah tidak ada, sehingga deklarasi dapat dilakukan tepat sebelum variabel digunakan pada kode program.
Bagian inisialisasi
Variabel sebaiknya diinisialisasi terlebih dahulu dengan nilai awal yang diinginkan. Variabel yang baru saja dideklarasikan akan menempati ruang memory yang diberikan oleh sistem, sehingga nilainya tidak dapat diprediksi. Agar program yang dibuat berjalan sesuai dengan logika program yang diinginkan, isilah seluruh variabel dengan nilai awal yang diinginkan. Pada C dan C++, deklarasi dan inisialisasi dapat dilakukan sekaligus ataupun terpisah.
Bagian kode utama
Pada bagian inilah kode program dituliskan. Kode program ditulis sesuai dengan logika program yang diinginkan dan dengan tata bahasa yang dimengerti oleh kompiler yang hendak digunakan. Penulisan kode program yang menyalahi tata bahasa akan dapat dilacak dengan mudah. Kompiler akan menampilkan nomer baris yang memuat kode yang salah. Tetapi kesalahan logika pada kode program merupakan kesalahan yang sangat sulit untuk dilacak. Penulis program harus merunut kode program yang ditulisnya untuk menemukan kesalahan logika ini, agar program yang dibuat dapat berjalan sesuai dengan keinginan.
Kesalahan logika paling umum adalah penulisan operator komparasi dengan operator assignment. Lihat potongan kode berikut ini:
Kesalahan logika paling umum adalah penulisan operator komparasi dengan operator assignment. Lihat potongan kode berikut ini:
- if (a = b)
- {
- printf(“a is equal with b\n”);
- }
- else
- {
- printf(“a is not equal with b\n”);
- }
Apa kira-kira hasil dari potongan kode diatas?Potongan kode diatas akan selalu menghasilkan tulisan “a is equal with b”, karena apapun nilai a, nilainya akan digantikan dengan nilai dari b, sehingga kondisi pada if akan selalu bernilai true. Pada C dan C++, untuk melakukan komparasi, tanda yang digunakan adalah ==. Kesalahan ini yang seringkali sulit untuk dilacak. Siapa saja dapat melakukan kesalahan ini, walaupun sudah menulis banyak program dalam C maupun C++, tidak terbatas pada pemula saja.
Fungsi-Fungsi untuk Menampilkan Hasil dalam bahasa C
Untuk menampilkan hasil ke dalam alat output di dalam bahasa C, semua prosesnya dilakukan oleh fungsi-fungsi yang ada di dalam header file stdio.h dan conio.h
.:: Fungsi-fungsi yang umum digunakan adalah:
- ‑
- putchar() dan puts()
fungsi putchar() dipakai untuk menampilkan nilai karakter tidak terformat sedangkan fungsi puts() dipakai untuk menampilkan nilai string tidak terformat. maksud dari tidak terformat adalah lebar dan bentuk dari tampilannya tidak dapat diatur.
.:: Contoh dengan program yang ditulis menggunakan compiler Dev-Cpp:
#include <stdio.h>
#include <conio.h>
#include <conio.h>
main(){
char karakter = ‘A’;
char string[17] = “ini_nilai_string”;
putchar(karakter);
putchar(7);
puts(string);
char string[17] = “ini_nilai_string”;
putchar(karakter);
putchar(7);
puts(string);
getch();
}
}
Jika dijalankan, fungsi di atas akan mengeluarkan karakter ‘A’ kemudian diikuti dengan bunyi bel(karakter ASCII dengan nilai integer 7 adalah bunyi bel) dan diikuti string “ini_nilai_string.
- printf()
Fungsi ini fungsinya menampilkan hasil dengan kode terformat. Berikut adalah kode-kode format untuk fungsi printf()
Kode Format Kegunaan
%c Menampilkan sebuah karakter
%s Menampilkan nilai string
%d dan %i Menampilkan nilai desimal integer
%u Menampilkan nilai desimal integer tak bertanda
%x Menampilkan nilai heksadesimal integer
%o Menampilkan nilai oktal integer
%f Menampilkan nilai pecahan
%e Menampilkan nilai pecahan dalam notasi saintifik
%p Menampilkan suatu alamat memori untuk pointer
‑
.:: Bagaimana bila ingin meletakkan kursor pada posisi tertentu pada layar?.
Untuk melakukan hal itu diperlukan fungsi gotoxy(x,y) yang terletak pada header file conio.c pada compiler Dev-Cpp.
- Contoh program-nya:
#include <stdio.h>
#include <conio.h>
#include <conio.c>
#include <conio.h>
#include <conio.c>
main(){
char jajanan[4][256] = {”Nasi Goreng”, “Capcay”, “Mie Ayam”, “Bakso”};
char jajanan[4][256] = {”Nasi Goreng”, “Capcay”, “Mie Ayam”, “Bakso”};
int pilih;
gotoxy(30,6);printf(”Menu Warung JAJANAN”);
gotoxy(30,8);printf(”1. %s”, jajanan[0]);
gotoxy(30,9);printf(”2. %s”, jajanan[1]);
gotoxy(30,10);printf(”3. %s”, jajanan[2]);
gotoxy(30,11);printf(”4. %s”, jajanan[3]);
gotoxy(30,13);printf(”Pilih yang mana? “);
scanf(”%d”, &pilih);
gotoxy(30,15);printf(”Silahkan tunggu sebentar untuk %s nya”, jajanan[pilih-1]);
gotoxy(30,6);printf(”Menu Warung JAJANAN”);
gotoxy(30,8);printf(”1. %s”, jajanan[0]);
gotoxy(30,9);printf(”2. %s”, jajanan[1]);
gotoxy(30,10);printf(”3. %s”, jajanan[2]);
gotoxy(30,11);printf(”4. %s”, jajanan[3]);
gotoxy(30,13);printf(”Pilih yang mana? “);
scanf(”%d”, &pilih);
gotoxy(30,15);printf(”Silahkan tunggu sebentar untuk %s nya”, jajanan[pilih-1]);
getch();
}
}
Tidak ada komentar:
Posting Komentar