• Tidak ada hasil yang ditemukan

CORES-IT C and C++ for dummies 1

N/A
N/A
Protected

Academic year: 2021

Membagikan "CORES-IT C and C++ for dummies 1"

Copied!
24
0
0

Teks penuh

(1)

CORES-IT | C and C++ for dummies 1 A. Bahasa C itu apa sih ??? “

Hmm…..simplenya bahasa C merupakan bahasa level tengah. Dalam bahasa pemrograman itu terbagi 3 yaitu:

- Level bawah : assembler atau bahasa mesin - Level tengah : C

- Level tinggi : pascal, C++, vb, DKK……hehe.. :p

Okey. Sebenernya sih males ngebahas sejarah, itu hal yang membosankan….:D, jadi intinya bahasa C adalah bahasa ajaib yang diciptakan oleh orang yang super hebat. Bahasa ini adalah bahasa yang bisa membuat kita menjadi pencipta benda mati dan pencipta khalayan, kita bebas memberikan perintah pada benda mati tersebut dan khalayan kita……hehe, jadi ini bahasa untuk para boss untuk benda mati dan benda khalayan “^__^

Tidak masuk akal ya,…ya memang, seorang programmer itu menciptakan sesuatu yang tidak mungkin bagi orang biasa. Bisa kita lihat sejarah,,,kehidupan kita yang serba canggih sekarang ini berkat programmer, teknologi sekarang ini, bahkan robot, pesawat tanpa awak, smartphone milik anda dan social media yang ada itu tak lebih dari barisan kode-kode program yang membentuk system teknologi tersebut……..jadi, bersiaplah membangun dunia ini lebih baik lagi, ingat ini yah…..”programmer tak mengenal kata tidak mungkin……”^_^

B. Kenapa harus Bahasa C ???

Sebenarnya selain C, masih banyak bahasa ajaib lainnya, tapi bahasa C ini adalah nenek moyang dari bahasa ajaib2 itu, aduhh…belum ngerti yah ….intinya gini….struktur atau kerangka bahasa C merupakan acuan dari bahasa pemrogaman modern saat ini…..jadi otomatis jika kita menguasai bahasa ini, dengan penyesuaian sedikit bahasa pemrogrman modern sekarang ini bisa kita buat. Dan selain alasan itu coba lihat gambar ini :

(2)

CORES-IT | C and C++ for dummies 2 Bahasa C berada di rating tertinggi yakni terbanyak digunakan oleh programmer dunia. …kereen kan :D

(3)

CORES-IT | C and C++ for dummies 3 C. Persiapan

1) Peralatan yang diperlukan

Pada pelatihan dasar ini, peralatan yang diperlukan adalah : - Software Borland C ++ / turbo C++/CodeBlokcs (ada di cd) - Secangkir kopi bagi yg ngopi

- Rokok bagi yang perokok

- Fisik dan mental yang kuat……:D huftt berlebihan :P 2) Borland C++ / turbo C++/Codeblocks

Merupakan compailer bahasa C dan C++ namun berbeda perusahaan software, nanti kita lihat dimana letak perbedaannya ketika membuat program.

D. Writing Your First C Program

1)

Program Hello word

Dengan Borland C++ Dengan Borland C++ #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { printf("Hello world!\n"); getch(); return 0; } //definisi getch //fungsi utama //mulai fungsi //cetak ke layar //mengentikan proses //mengembalikan nilai 0 pada fungsi

//akhir fungsi utama //definisi printf

(4)

CORES-IT | C and C++ for dummies 4 Dengan Borland C++

Dengan Turbo C++ dan Codeblocks

Nah, sekarang kita sudah tahu perbedaan dari ketiga kompailer kita, jika Borland C++ menggunakan #include<conio.h> pada header program dan getch(); sebelum return 0;.

Ket lebih lanjut : Bagi anda yang sedang belajar C/C++ pasti sering menggunakan fungsi getch() ataupun getche(). Dari pengalaman saya banayak dosen Pemrograman yang kurang detail dalam menjelaskan kegunaan dari fungsi getch() ini. Dari pengalaman saya, kebanyakan dosen pemrograman menjelaskan kegunaan dari fungsi getch() ini hanya digunakan untuk menghentikan suatu proses yang berjalan. Namun kegunaan fungsi getch() sebenarnya lebih dari itu, fungsi getch sebenarnya merupakan fungsi yang digunakan untuk membaca input dari keyboard. getch() ini merupakan kepanjangan dari Get Character. Dan karakter yang diambil oleh fungsi getch ini tidak akan ditampilkan pada console. Adapun karakter yang diambil dari keyboard hanya satu karakter.

Berikut adalah contohnya :

#include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; }

//conio: bisa ada/nggak //fungsi utama

//mulai fungsi //cetak kelayar

//getch: bisa ada/nggak //mengembalikan nilai 0 pada fungsi

//akhir fungsi //definisi printf

(5)

CORES-IT | C and C++ for dummies 5 #include <stdio> #include <conio> main() { char a;

printf(“Tekan sebuah tombol pada keyboard!”); a=getch();

printf(“\nTombol yang baru anda tekan adalah %c”,a); getch();

}

pada syntax a=getch(); artinya apapun yang ditekan pada keyboard akan disimpan ke dalam variabel a. salah satu kegunaan fungsi getch() ini adalah untuk masking password.

Lalu apa perbedaan fungsi getch() dan getche()? Seperti yang dijelaskan tadi getch() merupakan kepanjangan dari Get Character, sedangkan untuk

getche() merupakan kepanjangan dari Get Character And Echo. Pada fungsi getch() tombol yang kita tekan pada keyboard tidak akan ditampilkan pada console (kecuali kita panggil variabelnya dengan fungsi printf atau fungsi output lainnya), namun untuk getche() tombol yang kita tekan akan langsung ditampilkan pada console. Berikut adalah contohnya:

#include <stdio> #include <conio> main()

{ char a;

printf(“Tekan sebuah tombol pada keyboard!”); a=getche();

printf(“\nTombol yang baru anda tekan adalah %c”,a); getch();

}

Untuk turbo C++ dan CodeBlocks bisa pake atau tidak menggunakan perintah tersebut. Dikarenakan lebih singkat penulisan kode programnya, saya memutuskan menggunakan codeblocks untuk pembuatan program selanjutnya, kenapa mesti kode blocks? Itu karena tampilannya lebih keren dan lebih mudah dengan GUInya selain itu turbo C++ punya saya sering error….ckckckkk… :D

(6)

CORES-IT | C and C++ for dummies 6

2)

Deklarasi Variabel

3)

Fungsi logika dan IF statement

#include <stdio.h> #include <stdlib.h> int main() { int a = 20; int b = 10; //int sum = a + b; //int sum = b - a; int sum = 48 - 7; printf("%d\n", sum); return 0; } #include <stdio.h> #include <stdlib.h> int main() { int num1; int num2;

printf ("Enter 2 numbers"); scanf("%d %d", &num1, &num2); if (num1 == num2){

printf("they are equal"); }

if (num1 < num2){

printf("%d is less than %d", num1, num2); }

if (num1 > num2){

printf("%d is greater than %d", num1, num2);

}

return 0; } }

(7)

CORES-IT | C and C++ for dummies 7

4)

Else IF statement

IF statement merupaka printah pemilihan sesuai kondisi, jadi simplenya kalau inputan kita sesuai dengan salah satu IF maka jalankan fungsinya, kalau nggak ada yang sesuai baru deh perintah Else

dijalankan. #include <stdio.h> #include <stdlib.h> int main() { int age;

printf("enter your age"); scanf("%d", &age); if(age==60){ printf("easy cougart"); } else if (age==40){ printf("mom?"); } else if (age==21){ printf("call me"); } else{ printf("jailbait"); } return 0; }

(8)

CORES-IT | C and C++ for dummies 8

5)

Looping while statement

While adalah perintah perulangan (looping), metodenya gini, cek dulu kondisi nilai awal, kemudian kondisi kapan harus ngulang dan kapan harus berhent ngulang, kemudian increment (ulang isi fungsi)

#include <stdio.h> #include <stdlib.h> int main() { int loopcount; int hotdogs; int total; int average; total=0;

loopcount=0; //nilai awal

while(loopcount < 5){ //cek kondisi

printf("enter number of dogs ate : "); scanf("%d", &hotdogs);

total = total + hotdogs; loopcount = loopcount + 1; }

average = total / 5;

printf("total number of dogs was %d", average); return 0;

(9)

CORES-IT | C and C++ for dummies 9

6)

Loop Next….. #include <stdio.h> #include <stdlib.h> int main() { int counter = 1; while(counter < 10){ printf("%d \n", counter); //counter ++; //counter = counter + 1; counter +=3; } return 0; }

(10)

CORES-IT | C and C++ for dummies 10

7)

Looping For

For adalah juga salah satu perintah perulangan (looping), metodenya sama, yaitu cek dulu kondisi nilai awal, kemudian kondisi kapan harus ngulang dan kapan harus berhent ngulang, kemudian increment (ulang isi fungsi) hanya saja bedanya dalam penulisannya aja…..hasilnya sama kok :D #include <stdio.h> #include <stdlib.h> int main() { int counter = 1;

for (counter = 11; counter > 10; counter++){ printf("%d \n", counter);

}

return 0; }

(11)

CORES-IT | C and C++ for dummies 11

8)

Switch Statement

Switch adalah perintah pemilihan sama dengan IF, simplenya gini….Swicth buat tempat variable yg ingin dikondisikan(dipilih)

kemudian case adalah isi/nilai dari variable switch tadi..yang pastinya setiap case berbeda…kan dipilih, jadinya beda donk….terus jika tidak ada yang cocok nilainya dengan case maka printah default lah yang berfungsi (sama halnya else)

#include <stdio.h> #include <stdlib.h> int main() { int number; scanf("%d", &number); switch(number){ case 2: printf("you entered 2"); break; case 4: printf("you entered 4"); break; case 5: printf("you entered 5"); break; default:

printf("I dont know what you enterded"); break;

}

return 0; }

(12)

CORES-IT | C and C++ for dummies 12

9)

Looping Do – While

Do-while adalah juga salah satu perintah perulangan (looping), berbeda dengan while dan for yaitu cek dulu kondisi nilai awal, kemudian kondisi jika diulang, kemudian increment (ulang isi fungsi) jika Do-While berikan dulu nilai awal variable yg akan

diulang……kemudian ulang dulu isi fungsi dari DO…..baru deh dicek kondisinya….kapan harus ngulang dan kapan berhenti ngulangnya …hmm ntar deh dipraktek liat bedanya.

#include <stdio.h> #include <stdlib.h> int main() { int counter = 1; do{ printf("%d\n", counter); counter ++; } while(counter < 10); return 0; }

(13)

CORES-IT | C and C++ for dummies 13

10)

Logical Operator

Ini jika menggunakan fungsi logika didalam if, sebenarnya di fungsi looping/perulangan jg bisa. Mungkin ini bisa membantu …tabel kebenaran yang akan dibahas berikut ini menggunakan singkatan "B" yang berarti benar dan "S" berarti salah.

tabel kebenaran negasi (not)

negasi adalah menurut buku yang saya baca, negasi berarti menyangkal kebenaran suatu pernyataan. tabel kebenaran negasi dapat dilihat dibawah ini.

#include <stdio.h> #include <stdlib.h> int main() { int eyes; int toes;

printf("Enter number of eyes and toes"); scanf("%d%d", &eyes, &toes);

if (eyes == 2 && toes ==10){ printf("you are normal"); }else{

printf("you are weird"); }

/*if (eyes == 2 || toes ==10){ printf("you are normal"); }else{

printf("you are weird"); }*/

return 0; }

(14)

CORES-IT | C and C++ for dummies 14

tabel kebenaran konjungsi (and)

dalam tabel kebenaran konjungsi suatu pernyataan bernilai benar jika keduanya benar. tabel selengkapnya bisa dilihat dibawah ini. Deprogram simbolnya &&

tabel kebenaran disjungsi (or)

dalam tabel kebenaran disjungsi suatu pernyataan bernilai salah jika keduanya bernialai salah. Di program simbolnya ||

tabel kebenaran implikasi

implikasi iki sulit diterangkan. pokoknya begini.

p ⇒ q bernilai salah, jika p benar dan q salah. selain ini benar semua

tabel kebenaran implikasi bisa dilihat sendiri pada tabel berikut. Saya sendiri masih bingung bikin ini kalau di program….hehehee.. :D

(15)

CORES-IT | C and C++ for dummies 15

tabel kebenaran biimplikasi

biimplikasi bernilai benar jika keduanya bernilai salah atau benar. pemahaman lebih lanjut bisa melihat tabel berikut. Sama….ini butuh logika ektra buat bikin contoh aplikasinya….berhubung logika saya nggak begitu bagus, mungkin teman2 bisa contoh aplikasinya…….dijamin bagus nilainya deh…. ^__^

(16)

CORES-IT | C and C++ for dummies 16

11)

Into The Function

Ini teknik untuk membagi beberapa fungsi berbeda….jadi pada funsi utama(I nt main() )…… nggak terlalu banyak proses didalamnya kita tinggal memanggil fungsi apa yang kita perlukan….dalam contoh diatas, fungsi tambahannya itu ( int findarea())

#include <stdio.h> #include <stdlib.h> int findarea(int x, int y); int main()

{

int one; int two;

scanf("%d %d", &one, &two); printf("%d", findarea(one, two));

return 0; }

int findarea(int x, int y) { return x * y;

}

(17)

CORES-IT | C and C++ for dummies 17

12)

Random Number Function

Ini teknik merandom atau mengacak……disini diperlukan looping untuk ngulang terus diberikan pada nilai yang diulang diberikan fungsi rand()/mengacak nilainya sesuai kondisi pada fungsi rand()….oh iya,, fungsi ini memerlukan #include <stlib.h> definisi fungsi ini seperti yang saya jelaskan dihalaman 3

13)

Seeding Random Numbers

#include <stdio.h> #include <stdlib.h> int main() { int i=0; while (i<20){ printf("%d\n",1+ rand()%6); i++; } return 0; } #include <stdio.h> #include <stdlib.h> int main() { int i=0; srand(time(NULL)); while (i<15){ printf("%d\n",rand()); i++; } return 0; }

(18)

CORES-IT | C and C++ for dummies 18 Keterangan lebih detail:

Nah setelah berbasa-basi sedikit mengenai siapa rand(), berikut adalah penerapan nya dalam bentuk code :

Maka beginilah output nya :

Scaling : Apa sih scaling? Lalu buat apa sih?

Agar gampang dimengerti, fungsi rand() itu akan mengembalikan sebuah nilai integer. Namun, nilai yang di return itu bervariasi mulai dari 0 sampai sekian sekian sekian (saya sendiri belum tahu pasti max nilai yang di return). Nah, dalam kehidupan sehari-hari, angka yang ingin kita acak memiliki nilai minimal dan maksimal tersendiri.

Contoh : jika kita ingin membuat program mengacak dadu, maka kita hanya perlu mengacak nilai dari 1 sampai 6. Nah disinilah peran Scaling, yaitu membatasi nilai yang akan diacak.

(19)

CORES-IT | C and C++ for dummies 19 Lalu, apa gunanya % 6 + 1 pada code di atas?

Begini, kalian pasti sudah pada tahu apa itu modulus pembagian atau yang sering disebut mod (% dalam bahasa C).

Buat yang belum tahu, mod itu adalah hasil bagi dari suatu operasi pembagian 2 buah bilangan.

Misal:

10 % 5 hasilnya adalah 0, karena 10 HABIS dibagi oleh 5

10 % 4 hasilnya adalah 2, karena 10 TIDAK HABIS dibagi oleh 4 dan menyisakan 2.

Dari penjelasan di atas kita sudah mengerti apa itu modulus dan dengan kata lain, hasil dari operasi mod suatu bilangan PASTI tidak lebih besar dari bilangan pembagi.

Misal : X % 3, berapapun nilai X, hasil nya pasti selalu di bawah 3, entah itu 0 atau 1 atau 2

Nah dari situ kita bisa tahu apa fungsi dari + 1 bukan?

Benar sekali, karena hasil nya dari 0 sampai angka n-1 (n adalah bilangan pembagi) maka kita perlu menambahkan satu agar range bilangan yang diacak dimulai dari 1 sampai n.

Nah, mudah kan.

*Wah, ternyata Random itu gak sesulit seperti yang di bayangkan toh Betul

*Thanks ya gan, berarti saya sudah bisa melakukan random donk Eits, jangan senang dulu, itu masih kurang lengkap bos

*Lho? apanya yang kurang lengkap? Simak baik-baik ya

*Oke deh

Coba kalian ulangin program di atas sekali, dua kali, dan seterusnya. Kalian pasti menemukan suatu ke anehan

*Wah iya, saya ulang terus menerus, tapi kok angka ke 1 sampai ke 10 nya itu-itu terus ya?

Nah untuk itu kita memerlukan seed.

Fungsi rand() itu akan memerlukan seed untuk melakukan random, apa itu seed?

(20)

CORES-IT | C and C++ for dummies 20 Seed itu adalah titik awal dimana random dimulai.

Jika kalian pernah berkumpul di kelas, lalu mengadakan undian dengan cara memutar pulpen, dan jika pulpen tersebut mengarah ke salah satu peserta, maka peserta tersebut akan menang atau dihukum.

Seed itu ibaratnya adalah posisi awal dari sebuah pulpen tersebut, jika terdapat 5 orang, yaitu A,B,C,D,E.

Jika pada undian yang pertama, posisi awal pulpen menghadap ke arah A, dan setelah putaran dilakukan ternyata yang kena adalah B

*Wah, si B kena hukum donk, apa hukuman nya

Kita tidak akan membahas hal tersebut disini, dan jika undian kedua dilakukan, jika posisi awal tetap menghadap ke A dan jika pulpen di putar ke arah dan tenaga yang sama seperti putaran pertama, pulpen tersebut sudah pasti kembali menghadap ke arah B bukan?

Begitu pula dengan rand(), fungsi ini mempunyai seed default, sehingga setiap kali kita mengulang program tersebut, maka hasil nya akan selalu sama.

*Bagaimana dong supaya hasil nya gak sama terus?

Kita memerlukan fungsi tambahan yang bernama srand().

srand() adalah fungsi untuk menentukan seed atau posisi awal dalam sebuah pengacakan.

Kita hanya perlu menggunakan srand() sekali saja, yaitu sebelum fungsi rand() dipanggil.

Syntax : srand(seed_number);

seed_number bisa diganti dengan angka yang diinginkan maupun dengan variabel integer yang nilai nya bisa di input sendiri oleh user, namun sama halnya seperti konsep diatas.

Jika user memasukan seed_number yang sama, maka hasil pengacakan nya juga memiliki pola yang sama

(21)

CORES-IT | C and C++ for dummies 21 *Terus saya harus bagaimana?

Nah untuk itu, kita perlu memakai fungsi time(NULL) dari header <time.h>.

*Itu fungsi apalagi mas?

Fungsi time(NULL) adalah fungsi yang mengembalikan nilai sesuai dengan banyak nya detik sejak tanggal 1 January 1970 yang artinya bisa dipakai sebagai seed_number. Mengapa? karena jika saya

menjalankan program pada jam 7 malam lalu saya akan menjalankan nya kembali pada pukul 7.30 malam, total detik yang dihitung sejak 1

Januari 1970 itu pasti sudah berbeda. Oleh karena itu, kemungkinan seed_number sama tidak akan terjadi karena waktu yang terus berjalan sehingga membuat jumlah detik nya menjadi berbeda. Berikut adalah contoh code nya :

(22)

CORES-IT | C and C++ for dummies 22 Berikut adalah output nya ketika program dijalankan kembali :

Sangat berbeda bukan?

Sekian tips dari saya seputar melakukan random sederhana pada bahasa C.

(23)

CORES-IT | C and C++ for dummies 23

14)

Into To Array

15)

Simple Program Array

#include <stdio.h> #include <stdlib.h> int main() { int bucky[]={21,13,133,14,414,89,83,34}; printf("%d\n", bucky[8]); return 0; } #include <stdio.h> #include <stdlib.h> int main() { int bucky[5]={21,18,98,88,27}; int i; int total=0; for (i=0; i<5; i++){ total +=bucky[i]; }

printf("the total number is %d", total); return 0;

(24)

CORES-IT | C and C++ for dummies 24 Khusus untuk array…sebenernya ini sederhana, tapi mulai dari IF sampai Random bisa diaplikasikan di Array…..jadi inilah klimaks pemrograman C …..Array ini yang digunakan pada proses pemanggilan database pada pemrograman modern….berhubung saya udah cape ngetik seharian….jadi sampe sini dulu…..kalau masih kurang ntar kita praktej aja langsung…..hooamm ngantuk, see U ALL ….”^__^

Gambar

tabel kebenaran negasi (not)
tabel kebenaran biimplikasi

Referensi

Dokumen terkait

Berdasarkan teori-teori di atas, dapat disimpulkan bahwa sistem informasi merupakan kumpulan komponen- komponen, bisa berupa manusia, perangkat lunak, perangkat keras,

Pengumpulan data dilakukan dengan menggunakan kuisioner yang dilakukan oleh ahli (satu ahli penjas dan dua ali pembelajaran), uji coba kelompok kecil (24 siswa), dan uji coba

Perlu disadari bahwa tujuan lembaga, organisasi atau perusahaan dengan perencanaan manajemen SDM yang berorientasi pada hasil analisis pekerjaan adalah

Salah satu upaya konkrit yang dilakukan dalam rangka mewujudkan akuntabilitas pengelolaan keuangann SKPD adalah dengan penyajian dan penyampaian laporan

F. Hasil penelitian ini dapat dijadikan guru sebagai metode alternatif yang digunakan dalam pembelajaran menulis puisi bagi siswa. Dapat memberi gambaran mengenai bentuk

Instrumen pengungkap data penelitian siklus II... Lampiran D data-data

usability pada komponen efficiency pada karakteristik anak usia dini tingkat low , ii) melakukan pengembangan konten tiap level dalam aplikasi pengenalan belajar

Berdasarkan hasil analisis data secara bersama-sama diperoleh bahwa profitabilitas, efisiensi, dan likuiditas secara bersama-sama mempunyai pengaruh yang positif dan