DASAR PEMROGRAMAN
A. KONSEP DASAR PEMROGRAMAN
Dasar pemrograman yaitu rangkaian instruksi - instruksi dalam bahasa komputer yang disusun secara logika dan sistematis.
Pemrograman adalah suatu kumpulan urutan perintah ke komputer untuk
mengerjakan sesuatu, dengan menggunakan bahasa yang dimengerti oleh oleh komputer.
Bahasa pemrograman adalah instruksi dasar untuk memerintahkan komputer.
Terdapat 3 jenis bahasa pemrograman yaitu;
1. Bahasa Tingkat Rendah
Bahasa pemrograman yang jauh dari bahasa manusia.contohnya bahasa asssembly.
2. Bahasa Tingkat Menengah
Bahasa pemrograman yang bisa masuk dalam bahasa tingkat tinggi dan tingkat rendah. Contohnya:bahasa C.
3. Bahasa Tingkat Tinggi
Bahasa pemrograman yang mendekati bahasa manusia. Contohnya:bahasa Basic, Visual Basic, Pascal, Java,PHP.
Tahapan dalam pemrograman yaitu:
1. Definisikan masalah
2. Buat bagan dan struktur cara penyelesaiaannya 3. Pilh metode penyelesaiaan
4. Pengkodean
B. MENGEMBANGKAN PROGRAM DENGAN FUNCTION
Komponen pemrograman C
#include <stdio.h> ========>Pre-compiler directive int main() ========> Fungsi utama
{
// Output greeting ========>Komentar
printf("selamat datang di dev c++"); ========>Pernyataan }
1. Pre compiler directive
Biasanya berisi file header. File header adalah file yang berisi deklarasi fungsi dan konstanta. File header biasanya dipanggil dengan fungsi include. Fungsi include merupakan salah yang digunakan untuk membaca file header itu sendiri. Dalam program diatas file header <stdio.h> digunakan agar dapat menggunakan perintah yang berada di dalam librarynya, contohnya printf dan scanf.
2. Fungsi utama
Merupakan bagian utama program, karena semua progam yang akan dijalankan akan ditulis pada fungsi utama ini. Namun sebelum penulisan program hal yang harus
diperhatikan adalah adanya *{* sebelum penulisan program dan *}* setelah akhir program.
3. Komentar
Komentar tidak akan ikut ditampilkan saat program sudah dieksekusi. Namun komentar bisa jadi sangat penting untuk keperluan revisi jika ada kesalahan.
Komentar dapat memudahkan kita untuk memisahkan antara fungsi sebuah program, contohnya:
4. Pernyataan
Di dalam Pernyataan berisi program yang akan dieksekusi. Biasanya diawali pada baris baru dan diakhiri dengan titik koma(;)
Pada progam C disusun oleh function. Function merupakan pernyataan yang
mereprentasikan tugas sederhana. Program dimulai dengan function main() pada awal program. Control program dapat loncat ke awal function dan kemudian kembali jika sudah selesai. Format untuk control program dengan format sbb:
Void func1() {
……
}
Void func2() {
……
}
Int main() {
…….
Func1();
…….
Func2();
…….
}
Tetapi pemanggilan function tidak dapat dilupakan, karena akan menyebabkan gagal compile. Untuk pemanggilan function dapat dilakukan dengan menggukan
#include<stdio.h>, dll
C. TIPE DATA
Dalam menggunakan tipe data perlu diketahui 3 hal berikut, yaitu 1. Nilai dari data
2. Tipe dari data
3. Nama yang menunjukan identitas data
Tipe data sangat penting digunakan untuk mendefinisikan data agar dapat digunakan dan sebagai tempat untuk menyimpan data untuk sementara. Tipe data ada beberapa jenis, yaitu,
1. Integers
Integers digunakan untuk bilangan bulat positif maupun negative Contohnya:…,-100,…,0,…,100,…
2. Floating Point Number
Floating Point Number digunakan untuk bilangan pecahan positif maupun negative.
Contohnya:…,-100,10,…,0,…,100,10,…
3. Karakter
Karakter digunakan untuk karakter huruf dan karakter lainnya.
4. Nilai Boolean
Nilai Boolean hanya berisi true (1) atau false (0) 5. Pointer
Pointer digunakan untuk menyimpan sesuatu di memory 6. Tidak bernilai (NULL)
Nilai NULL bukan berarti nilai nol(0), tetapi menyatakan bahwa tidak ada data yang disimpan
Untuk penulisan tipe data pada c/c++ ;
Type Range
Char ASCII Codes
Int -32,767 to 32,676
Float 6 digits of precision
Double 10 digits of precision
Bool True or false
Void Sesuatu yang tidak memiliki nilai Ekspresi adalah pernyataan beberapa nilai dengan tipe tertentu Contoh ekspresi
Nilai 1,2.0,’a’,”hello”, ..
Variabel myCharacter, count, sum
Konstanta MAX_SIZE,…
Hasil function max(arr),…
Operasi 2+5,…
Literal Nilai(value) adalah bentuk ekspresi yang paling sederhana Literal value memiliki 2 sifat, yaitu
Berupa nilai
Berupa tipe (tergantung pada penulisa) 1 == integers
2.0 == float point number
‘a’ == karakter
“hello” ==string
(pada string dang karakter dibedakan oleh tanda petik yang mengapitnya) Variabel merupakan data yang memiliki identidier, tipe, dan nilai. Dan nilai variable dapat berubah. Untuk mendeklarasikan variable kita harus menentukan tipe data yagn diikuti dengan nama variabelnya
Contoh pendeklarasian variable:
char MyCharacter;
int My integer;
float Myfloat;
double Mydouble;
bool Myboolean;
Untuk pendeklarasian variable dengan tipe data yang sama dapat dilakukan dengan memisahkan nilai variabel dengan tanda koma(,).
Contohnya; char mycharacter, myothercharacter;
Identifier adalah nama variabel atau function. Dalam penulisannya ada beberapa hal yang perlu diperhatikan, yaitu ;
Karakter a-z dan A-Z
Angka 0-9 (tidak boleh diawali dengan angka)
Boleh menggunakan garis bawah(_) tapi tidak boleh ada tanda hubung (-) atau spasi
Tidak boleh berupa kata kunci (keyword)
Indentifier bersifat case sensitive yaitu myFloat tidak sama dengan myfloat. Seringkali identifier menggunakan lebih dari 1 kata, maka penulisannya bisa menggunakan 2 cara, yaitu;
Char myCharacter; atau char my_character;
Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari konstanta tidak dapat dirubah. Konstanta berguna untuk menentukan nilai yang
merupakan tetapan, misalnya pi (ᴨ), kecepatan cahaya, dll. Cara mendeklarasikan kontanta ada 2 cara, yaitu dengan menggunakan kata kunci const dan menggunakan precompiler directive
Contoh pendeklarasian konstanta Const int MAX_SIZE = 10;
#define MAX_SIZE 100 ( precompiler directive bukan penyataan sehingga tidak diakhiri dengan titik koma(;)
Sama hanya dengan function, beberapa konstanta juga disediakan dalam standard library Contohnya :
Library Constant Value
In math.h M_PI PI
M_E E
In limits.h INT_MAX 2147483647
INT_MIN -2147483647
In stdlib.h EXIT_SUCCES 0
EXIT_FAILURE 1
Operator merupakan symbol atau karakter yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Contohnya +, -, *, /, dll. Operator mempunyai 2 sifat
1. Unary
Sifat unary pada operator hanya melibatkan sebuah operand pada suatu operasi aritmatik. contohnya: -5
2. Binary
Sifat binary pada operator melibatkan dua operator operand pada suatu operasi aritmatik. Contoh: 9 - 0
3. Ternary
Sifat ternary pada operator melibatkan tiga buah operand pada suatu operasi aritmatik. Contohnya : (10 * 2) + 3 – 9
Pemberian nilai
Bentuk dasarnya variabelName = expression;
Pemberian nilai bisa juga dilakukan pada saat pendeklarasian. Contohnya Char myCharacter = ‘a’;
Pemberian pada nilai (=) beda dengan (==). Pada pemberian (=) digunakan pada variabel, jika (==) digunakan untuk membadingkan 2 nilai untuk melihat apakah keduanya sama.
Pada(==) hasilnya akan bernila true atau false.
Modifier tipe
• Unsigned Modifier
– Kadangkala kita tidak ingin nilai bilangan yang lebih kecil dari nol – Tipe Unsigned memberikan nilai ganda bagi integer
• Long Modifier
– Tipe Long memberikan tempat penyimpanan dua kali lipat sehingga bisa menyimpan bilangan yang lebih besar
• Short Modifier
– Saat kita hanya membutuhkan penyimpanan yang lebih kecil, short int dapat digunakan.
• Long Floats
– Long float adalah double, namun masih mungkin untuk menggunakan long double
Untuk penulisannya:
unsigned int myUnsignedInt;
long int myLongInt;
short int myShortInt;
Menampilkan Ekspresi
Format string printf()
o Sama halnya dengan keluaran untuk literal string kita dapat menggunakan pemanggilan function printf() untuk menampilkan nilai ekspresi
o Argumen pertama Function printf() adalah format string diikuti dengan deretan koma untuk memisahkan ekspresi
char myChar = 'a';
printf("Value of myChar: %c\n", myChar);
Format spicifier Format Format Sequence
Sequence Expression TypeExpression Type
%c%c CharChar
%i
%i IntegerInteger
%s%s StringString
%u%u unsigned int unsigned int
%li
%li long int long int
%lu%lu long unsigned int long unsigned int
%hi%hi short int short int
%hu
%hu short unsigned int short unsigned int
%f%f FloatFloat
%lf%lf DoubleDouble
%%%% percentage symbolpercentage symbol
Menampilkan beberapa ekspresi
o Dapat dicetak beberapa ekspresi dengan sebuah pemanggilan function printf() saja.
Setiap ekspresi berhubungan dengan format sequence pada format string (sesuai urutan)
Kemudian diikuti dengan daftar ekspresi secara urut dipisahkan dengan koma
o Format penulisannya yaitu
printf(“C: %c I: %i\n”,myChar,myInt);
D. INPUT dan OUTPUT
Standard input atau stdin biasanya digunkan untuk mengumpulkan informasi, biasanya dari keyboard.
Standard output atau stdout biasanya menggunakan perintah printf(“statement”) dan dapat juga diarahkan menuju file tertentu.
Kedua stream diatas menggunakan library stdio.h
Function scanf
Bentuk umumnya scanf (“sequence”,*format string);
Penjelasan;
1. Sequence : Pada bagian sequence kita menggunakan format yang telah ditentukan. Misalnya;
Untuk character formatnya adalah %c, dll
2. Format string : Pada bagian ini biasanya banyak terjadi kesalahan dikarenakan lupa akan pemberian tanda dan (&) sebelum peubah variabel, namun apabila menggunakan string (%s) pada sequence tidak perlu diberi dan (&) sebelum peubah variabel
Pembacaan stringPengaturan panjang String
o Ketika mendeklarasi array untuk menyimpan string, diberikan sejumlah tempat kosong di memory
o Jika kita coba menulis ke memory lebih dari kapasitas array, akan berakibat memory error
o Kita dapat memberikan jumlah input (banyaknya karakter) tertentu untuk Scanset
o Scanset mengijinkan kita menentukan karakter-karakter yang diijinkan maupun tidak saat membaca string
o Untuk menggantikan s kita menggunakan himpunan yang diapit dengan dua [ kurung kotak ] berisi huruf-huruf yang akan diterima saat membaca string o Jika dibaca karakter yg tidak terdapat di dalam scanset, maka pembacaan
dihentikan
Contoh scanset scanf("%[abc]", myString);
Membalik Scanset
o Menentukan karakter apa saja yang tidak akan diterima o Dimulai dengan carrot (^)
scanf("%[^abc]", myString);
o Seluruh karakter (termasuk whitespace) akan dibaca hingga karakter di dalam scanset dijumpai
o Contoh: Membaca hingga enter scanf("%[^\n]", myString);
Input yang diabaikan
Kadang kita membaca input dari pengguna namun tidak ingin disimpan – Contoh saat membaca tanggal yang dipisahkan dengan slash (/)
– Meletakkan karakter yang ditentukan pada format string akan diabaikan scanf("%i/%i/%i", &day, &month, &year);
– Memberikan asterisk (*) antara % dan format specifier pada format string akan dibaca pada input yang ditentukan
scanf("%i%*c%i%*c%i", &day, &month, &year);
Mengabaikan whitespace
Whitespace meliputi spasi, karakter baris baru (\n), dan tab. Spasi pada format string menyebabkan sejumlah karakter whitespace akan diabaikan, hingga karakter non- whitespace dijumpai
Formatnya : scanf(" %c", &myChar);
Arahkan ke file
• Redirecting Input
% a.out < input.txt
• Redirecting Output
% a.out > output.txt
• Keduanya
% a.out < input.txt > output.txt
• Catatan: Redirecting files biasanya digunakan selama mencoba program.
Pembacaan dan penulisan ke file dari program akan dibahas di topik lain
E. KONDISI
1. Ekspresi Boolean
Tipe bool
a. Dua nilai true dan false
i. Dapat digunakan sebagai nilai literal b. Dapat menjadi tipe variabel
c. Dapat menjadi tipe kembalian dari function
d.
Dapat merupakan hasil dari operasi menggunakan < , <=, > , >= , == , != ,&& , || or !
Bentuk dasar untuk mendeklarasikan Boolean adalah
bool myBool;
Ekspresi boleean digunakan untuk mengetahui suatu kejadian sudah terjadi atau belum. Ekspresi ini juga dapat membandingkan bilangan dan karakter namum bukan array atau string.
Pada ekspresi boleean kita hanya dapat menggunakan beberapa operator saja
• && (and)
– Operator Biner (butuh 2 operand)
– Menghasilkan true bila kedua operand true – Contoh , x>5 && y==1
• || (or)
– Operator Biner
– Menghasilkan true jika salah satu atau keduanya true – Contoh , x>5 || y==1
• ! (not)
– operator Unary
– Membalik ekspresi boolean (true à false, false à true) – Contoh , !(x>5 || y==1)
Untuk penggunaannya kita harus mengetahui apakah hasilnya true atau false melalui tabel kebenaran berikut
&& (AND) || (OR)
X Y X||Y
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE
X Y X&&Y
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE
! (NOT)
X !X
FALSE TRUE
TRUE FALSE
2. If
Bentuk dasar nya
if (test) == contoh test : if (myInt >= 5)
{statement jika benar == di sini program yang akan dieksekusi jika myInt >= 5 }
Pernyataan if sendiri digunkan untuk menentukan apakah suatu pernyataan harus dieksekusi atau tidak bergantung pada hasil pembandingnya true atau false.
3. If – else
Bentuk Dasarnya if ( test)
{pernyataan jika benar }
else
{pernyataan jika salah }
Apabila kita menggunakan if – else kita dapat memberikan 2 piihan atau bahkan lebih. Bentuk dasar if – else untuk lebih dari 2 pilihan :
if ( test1 )
{ pernyataan jika test 1 benar }
else if ( test2 )
{ pernyataan jika test 1 salah dan test 2 benar }
else
{pernyataan jika test 1 dan test 2 salah }
4. Switch
Perintah ini digunakan sebagai alternative dari if maupun if – else.
Perintah switch akan memilih kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta yang berada di case.
Untuk bentuk dasarnya
#include <stdio.h>
int main() {
char opsi;
switch ( opsi ) {
case '1':
pernyataan;
break;
case '2':
pernyataan;
break;
default :
printf("kode yang anda masukkan salah\n");
} }
F. Beberapa contoh program sederhana
1. Pada program ini adalah contoh penggunaan if – else. Jika nilai anda lebih dari 65 maka anda lulus.
2. #include "stdio.h"
3. main(){
4. float nilai;
5. printf("Masukan nilai yang didapat : ");
6. scanf("%f", &nilai);
7. if(nilai > 65)
8. {
9. printf("ANDA LULUS !!\n");
10. } 11. else
12. {
13. printf("ANDA TIDAK LULUS !!\n");
14. }
15.}