Rabu, 18 Februari 2015
Membahas mengenai pemrograman C
Minggu
ini saya baru masuk perkuliahan pemrograman C, sebelumnya saya belum pernah
mempelajari mengenai pemrograman C. Berikut ini sedikit catatan saya mengenai
pemrograman C, yang baru saja saya pelajari. Semoga dapat memberi pengetahuan
lebih kepada anda.
Sejarah
Bahasa C
Akar dari bahasa C adalah
bahasa BCPL-Basic Combine Programming Language (dikembangkan sejak th. 1967).
Pada tahun 1970, Ken
Thompson mengembangkan bahasa B. Bahasa C pertama kali digunakan pada komputer Digital Equipment
Corporation (DEC) PDP-11 yang menggunakan s.o UNIX.
Standar Bahasa C yang asli
adalah standar dari UNIX. ANSI (American National Standards Institute) membentuk
suatu komite (ANSI committee X3J11) pada tahun 1983 yang kemudian menetapkan
standar ANSI untuk bahasa C.
Struktur program bahasa
C :
Compile
dan Linking
Sebelum program C dapat
dijalankan, harus di compile dan di linking terlebih dahulu.
Compile adalah proses
menterjemahkan seluruh program ke dalam bahasa mesin.
Linking adalah proses untuk
menggabungkan beberapa file program hasil kompilasi.
Tipe
data adalah sekumpulan data dengan karakteristik tertentu
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.
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 dari suatu variabel bisa diubah-ubah sesuai kebutuhan.
Aturan
untuk identifier
Terdiri dari gabungan huruf
dan angka dengan karakter pertama harus berupa huruf. Bahasa
C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda. Jadi
antara nim, NIM dan Nim dianggap berbeda. Tidak boleh mengandung spasi. Tidak
boleh mengandung simbol - simbol khusus, kecuali garis bawah (underscore). Yang
termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !,
&, *, (, ), -, +, = dsb. Panjangnya bebas, tetapi hanya 32 karakter pertama
yang digunakan. Contoh penamaan variabel yang benar
:
NIM, a, x, nama_mhs, f3098,
f4, nilai, budi, dsb. Contoh penamaan variabel yang salah :
%nilai_mahasiswa,
80mahasiswa, rata-rata, ada spasi, penting!, dsb.
Library Function pada pemrograman C
Escape Character
\a :untukbunyi bell (alert)
\b :mundursatuspasi (backspace)
\f :gantihalaman (form feed)
\n :gantibarisbaru (new line)
\r :kekolompertama, baris yang sama (carriage return)
\v :tabulasi vertical
\0 :nilaikosong (null)
\’ :karakterpetiktunggal
\” :karakterpetikganda
\\ :karaktergaris miring
Library Function
Salah satufungsi library yang telahdiperkenalkanyaitu cout yaituuntukmencetakkelayar
monitor. Fungsidikelompokkanmenurutjenisdansifatnyadandisimpandidalamsebuah
file yang berekstensi .h. Sebagaicontohfungsi yang
digunakanuntukmencetakkelayar monitor (cout) disimpanpada
file iostream.h.
Library iostream.h
Standard Input / Output Streams Library.
Elemeniostream library (char instantion) :
Classes :
| ios_base Base | ios | istream | ostream | iostream | ifstream | ofstream | fstream | istringstream | ostringstream | stringtream | streambuf | filebuf | stringbuf |
Objects :
| cin | cout | cerr | clog |
Types :
| fpos : | streamoff | streampos | streamsize |
Manipulators :
| boolalpha | dec | endl | ends | fixed | flush | hex | internal | left | noboolalpha | noshowbase | noshowpoint | noshowpos | noskipws | nounitbuf | nouppercase | oct | resetiosflags | right | scientific | setbase | setfill | setiosflags | setprecision | setw | showbase | showpoint | showpos | skipws | unitbuf | uppercase | ws |
Objekiostreammewarisisemuaanggotayaituistreamdanostream, sehinggamampumelakukankeduaoperasi input dan output.
Library stdio.h
Library stdio.h adalah library
padabahasa C yang digunakanuntukoperasi input output (stdio = Standard Input
and Output). Tanpamenggunakan library inimakaperintah - perintah input/output
tidakdapatdieksekusiataudijalankan.
Library Functions :
| clearr() | fclose() | fccloseall() | fdopen()
| fflush() | fgetc() | fgetchar() | fgetpos() | fgets() | flushall() | fopen()
| fprint() | fputc() | fputchar() | fputs() | fread() | free() | freopen() |
fscan() | fseek() | fsetpos() | ftell() | fwrite() | gets() | getw() | perror()
| printf() | puts() | putw() | rename() | rewind() | scanf() | unlink() |
Library Macroes :
| feof(f) | ferror(f) | fileno(f) | getch(f) |
getchar(f) | putchar(f) | remove(path) |
Contohpenggunaan library stdio.h dengan
library functions printf() dalam program :
#include <stdio.h>
intmain(){
printf("Hello World!\n");
printf("SelamatBelajarPemrogramanC/C++.");
return 0;
}
intmain(){
printf("Hello World!\n");
printf("SelamatBelajarPemrogramanC/C++.");
return 0;
}
Contohpenggunaan library stdio.h dengan
library functions puts() dalam program :
#include <stdio.h>
#include <conio.h>
using namespace std;
int main(){
char x[20]="Bandung";
puts("ITBHanya di ");
puts(x);
return 0;
}
#include <conio.h>
using namespace std;
int main(){
char x[20]="Bandung";
puts("ITBHanya di ");
puts(x);
return 0;
}
Library math.h
Library math.h merupakansebuah
library yang disediakanuntukmelakukanperhitungansecaramatematika.
Library Functions :
| abs() | acosh() | asin() | atan() | atan2() |
atof() | ceil() | cos() | cosh() | exp() | fabs() | floor() | fmod() | labs() |
ldexp() | log() | log10() | pow() | sin() | sinh() | sqrt() | tan() | tanh() |
Contohpenggunaan library math.h dengan
library functions cos() dan sin() dalam
program :
//Penggunaan library math.h
#include <iostream.h>
#include <math.h>
using namespace std;
int main(){
double kecepatan, jarak, sudut;
kecepatan=20;
sudut=25;
jarak = 2*kecepatan*kecepatan*sin(sudut*3.14/180)*cos(sudut*3.14/180)/9.8;
cout<<"Jarak = "<<jarak;
cout<<"\n";
system("Pause");
return 0;
}
#include <iostream.h>
#include <math.h>
using namespace std;
int main(){
double kecepatan, jarak, sudut;
kecepatan=20;
sudut=25;
jarak = 2*kecepatan*kecepatan*sin(sudut*3.14/180)*cos(sudut*3.14/180)/9.8;
cout<<"Jarak = "<<jarak;
cout<<"\n";
system("Pause");
return 0;
}
Library stdlib.h
Library stdlib.h merupakan
library yang hampirsamadengan library math.h, namunisidari
library stdlib.h berbedadengan library math.h yaitu
:
Library Functions :
| abs() | atof() | atoi() | atol() | div() |
exit() | free() | ldiv() | malloc() | rand() | srand() | system() |
Library Macroes :
| abs(x) | atoi(s) | random(num) | randomize() |
Contohpenggunaan library stdlib.h dengan
library functions atoi() dalam program :
//Penggunaan library stdlib.h
#include <iostream.h>
#include <stdlib.h>
using namespace std;
int main(){
char karakter[8]="12.3AB";
intnilai;
nilai=atoi(karakter);
cout<<nilai<<endl;
system("Pause");
return 0;
}
#include <iostream.h>
#include <stdlib.h>
using namespace std;
int main(){
char karakter[8]="12.3AB";
intnilai;
nilai=atoi(karakter);
cout<<nilai<<endl;
system("Pause");
return 0;
}
Library string.h
Suatu library padabahasa C yang
digunakanuntukmemberikannilaisuatukarakter string.
LibrariFunctions :
| strcpy() | strcat() | strchr() | strcmp() |
strlen() |
Contohpenggunaan library string.h dengan
library functions strcpy() dalam program :
//Penggunaan library string.h
#include <iostream.h>
#include <string.h>
using namespace std;
int main(){
char info[30];
strcpy(info, "info: D4 TKJMD");
cout<<info;
cout<<"\n";
system("Pause");
return 0;
}
#include <iostream.h>
#include <string.h>
using namespace std;
int main(){
char info[30];
strcpy(info, "info: D4 TKJMD");
cout<<info;
cout<<"\n";
system("Pause");
return 0;
}
Library conio.h
Library Functions :
| clrscr() | getch() | getche() | gotoxy() |
khbit() | putch() |
//Penggunaan library conio.h
#include <iostream.h>
#include <conio.h>
using namespace std;
int main(){
cout<<"Hai, SelamatdatangmahasiswabaruITB \n";
getche();
}
#include <iostream.h>
#include <conio.h>
using namespace std;
int main(){
cout<<"Hai, SelamatdatangmahasiswabaruITB \n";
getche();
}
Library io.h
Library Functions :
| access() | _close() | close() | _creat() |
eof() | filelenght() | _open() | open() | _read() | read() | _write() | write()
|
Library ctype.h
Library Functions :
| stlower() | toupper() |
Library Macroes :
| isalnum( c) | isalpha( c) | isascii( c) | iscntrl( c) | isdigit(
c) | isgraph( c) | islower( c) | isprint( c) | ispunct( c) | isspace( c) |
isupper( c) | isxdigit( c) | toascii( c) | _tolower( c) | _toupper( c) |
Menghitung Luas Segitiga dalam pemrograman C
Berikut ini
adalah script program menghitung luas segitiga.
Jangan lupa untuk menghapus tulisan warna hijau (komentar), tetapi
sebagai bahan belajar atau sebagai acuan untuk program selanjutnya boleh untuk
tidak dihilangkan, karena tidak mengganggu program itu sendiri.
Silahkan anda berkreasi sendiri, dengan merubah pendeklarasian,
variable, tipe variable, kata – kata, bahkan merubah programnya itu sendiri.
Dengan sedikit kreatifitas, akan membuat pengetahuan kita semakin bertambah.
Senin, 26 Januari 2015
Pengenalan Pemrograman GO
Go
adalah salah satu bahasa pemrograman baru yang dikembangkan oleh Robert Griesemer
(perancang Java HotSpot), Rob Pike
(pengembang Plan 9 di laboratorium Bell), Ken Thomson (pengembang bahasa
pemrograman B dan perancang UTF-8). Bahasa pemrograman Goinidipelopori oleh
Google yangmulai dikerjakan atau tepatnya dituliskandi papan pada tanggal 21
September 2007.
Pada
awalnya desain bahasa pemrograman ini hanya dilakukan paruh waktu sambil
melakukan pekerjaan lain yang tidak terkait sama sekali dengan pengembangan
bahasa pemrograman ini. Pada bulan Januari 2008, Ken mulai mengerjakan sebuah compiler yang digunakan untuk
mengeksplorasi berbagai ide, pekerjaan tersebut menghasilkan kode C sebagai output-nya.
Pada
pertengahan tahun bahasa pemrograman ini menjadi proyek full-time dan sudah cukup untukmelakukan produksi kompilasi. Pada
bulan Mei 2008, Ian Taylor sendiri membuat GCC front untuk Go menggunakan rancangan spesifikasi. Russ Cox
bergabung pada akhir 2008 dan membantu memindahkan language dan libraries
dari prototypemenjadirealita.Bahasa
pemrograman Go menjadisebuah proyek publik open
sourcepada bulan November 2009. Tentunya hal ini tidak lepas dari
dukukungan berbagai komunitas yang telah memberikan kontribusi berupa ide,
diskusi dan kode pada pengembangan program ini.
Go
adalah bahasa pemrograman yang ekspresif, ringkas, bersih dan efisien.Saat ini
perkembangan perangkat komputer sangat cepat namun tidak diimbangi dengan
bahasa pemrograman, banyak programmer
yang menemukan kerumitan pada Java atau C++ sehingga harus menuliskan beberapa
kode lagi menggunakan Phyton atau JavaScript, disisi lain isu terhadap konsep garbage-collection dan parallel-computation yang belum didukung
baik oleh beberapa bahasa pemrograman, termasuk munculnya teknologi multicore yang membuat kekhawatiran dan
kebingungan sehingga para pengembang masih mengandalkan dukungan teknologi dari
sistem operasi.
Banyak hal yang telah
dihasilkan oleh laboratorium Bell dalam dunia teknologi informasi dan
komunikasi. Di Indonesia sendiri pernah terdengar bahasa pemrograman Nusa yang
dari Infokom tools-nya dinamakan
Nusaptel. Namun bahasa pemrograman Nusa ini tidak begitu diminati di Indonesia.
Semoga dengan kehadiran bahasa pemrograman Go ini banyak hal-hal yang dapat
dipelajari dan mungkin dapat melahirkan bahasa pemrograman baru versi Indonesia
yang dikompilasi menggunakan bahasa pemrograman Go.
Kamis, 15 Januari 2015
Penggunaan "var" pada bahasa pemrograman GO
Go menyediakan kemudahan dalam mendefinisikan
variabel baik secara eksplisit maupun implisit. Deklarasi secara eksplisit
dapat dituliskan sebagai berikut.
Berikut ini adalah hasil
akhirnya
Anda dapat juga melihat tutorial ini dalam bentuk video, ini link nya http://youtu.be/NX2AM6uleNI
Penulisan variabel di atas menggunakan kata kunci
var diikuti dengan nama variabel, tipe data, dan pemberian nilai atau
inisialisasi vaiabel itu sendiri menggunakan simbol (=). Penggunaan variabel secara explisit ini dapat dituliskan
didalam fungsi maupun diluar fungsi. Sedangkan deklarasi variabel secara
implisit hanya dapat dituliskan didalam fungsi yang mana Go dapat memberikan
tipe data secara otomatis pada suatu variabel berdasarkan nilai (inisialisasi
awal) yang diberikan kepada variabel tersebut.
// Contoh
2,inisialisasi variabel implisit
a1 := 3;
b1 := 1.9;
fmt.Println("\nTipe data a1 : ",
reflect.TypeOf(a1), " \t = ", a1)
fmt.Println("Tipe
data b1 : ", reflect.TypeOf(b1), " = ", b1)
Anda dapat juga melihat tutorial ini dalam bentuk video, ini link nya http://youtu.be/NX2AM6uleNI
Penggunaan Struct pada bahasa pemrograman GO
Bahasa
pemrograman Go juga menerapkan paradigma object
oriented tetapi bukanlah typeobject
oriented programming, karena bahasa pemrograman ini tidak menyediakan kata
kunci class. Go memberikan kata kunci
struct untuk membuat tipe data baru
dan interfacesebagai penjembatan.Oleh
karenanya, pengembang tentu dapat menerapkan paradigma object oriented(pemikiran berorientasi obyek) dalam pembuatan
aplikasi pada bahasa Go tetapi dengan cara yang sedikit berbeda.Inilah Go, yang
mencoba membawa imajinasi pengembang dengan cara lain dalam menghadapi dan
menyelesaikan suatumasalah.
Struct yang ada di dalam bahasa Go mirip dengan C, structdi sini lebih luas lagi cakupannya
karena tidak hanya mendukung tipe data primitive
saja tetapi juga method,tentu sajahal
ini dapat terjadi jika dikombinasikan antara struct sebagai tipereceiverpada
sebuah method. Pembuatan struct tidaklah sulit, cukup dengan
menggunakan kata kunci type <nama_struct> struct { … }. Berikut adalah contoh sederhana dalam membuat struct.
Pembuatan tipe data seperti di atas sangat bermanfaat dalam
pengelompokkan data tertentu yang merupakan kumpulan variable atau field.Hal
ini dapat membantu programmerterutama
yang sudah terbiasa membuat program dengan Java. Perlu diketahui bahwa dalam
membuat program di Go tentu saja tidak lepas dari struct ini atau dengan kata lain programmer selalu membutuhkan struct
untuk mengatur kode-kode program supaya lebih rapi dan terstruktur. Berikut
adalah tampilan hasil program latihan pembuatan struct ketika dijalankan.
Untuk melihat versi videonya, dapat mengunjungi halaman berikut ini http://youtu.be/x2Nh2ylDRS4
Contoh program "slice"
Slice
merupakan bagian dari sebuah array. Slice juga mempunyai indeks elemen dan
panjang data. Namun demikian slice
mempunyai fitur yang unik yaitu panjang datanya dapat diubah sesuai dengan
kebutuhan. Untuk membuat slice dapat
menggunakan perintah make seperti
pada potongan kode berikut ini.
koordinat_x := make([]int32, 5)
koordinat_y
:= []int32{ 1, 2, 3, 4, 5, 6 }
Contoh program seperti ini dapat dilihat pada youtube, berikut ini link nya http://youtu.be/fSxb-yhe-Zs











