Minggu, 08 Oktober 2017

Bahasa Pemrograman C++

Bahasa pemrograman C++ merupakan superset dari bahasa pendahulunya yaitu bahasa pemrograman C. Bahasa pemrograman C dikembangkan oleh Dennis Ritchie pada tahun 1972 di Laboratorium Bell. Bahasa pemrograman C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (berorientase mesin) dan bahasa tingkat tinggi (bahasa berorientase pada manusia). Bahasa pemrograman C berada satu tingkat di atas bahasa yang berorientasi pada mesin, namun tetap satu tingkat dibawah sebagian besar bahasa yang berorientasi persoalan. Bahasa pemrograman C cukup dekat dengan komputer untuk memberikan kendali yang besar terhadap detil implementasi pemakaian, namun cukup jauh untuk mengabaikan detil hardware. Karena itulah bahasa pemrograman C suatu ketika dipandang sebagai bahasa high-level dan pada saat yang lain dilihat sebagai bahasa low-level.
Bahasa pemrograman C merupakan bahasa pemrograman terstruktur, yang membagi program kedalam bentuk sebuah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa pemrograman C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa pemrograman C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.

ELEMEN DASAR BAHASA PEMROGRAMAN C++

1. Identifier (Pengenal) Bahasa C++

Identifier adalah nama yang digunakan untuk mempresentasikan variabel, konstanta, jenis (type), fungsi, dan nama program. Identifier dalam pendeklarasian variabel, jenis, atau fungsi pada bahasa pemrograman C++ dimulai dengan sebuah huruf atau garis bawah. Karakter-karakter lain dalam sebuah identifier dapat berupa huruf, angka, garis bawah, atau tanda dollar. Compiler C++ membedakan huruf kecil dan besar. Variabel NAMA_PEGAWAI dan nama_pegawai dipandang sebagai dua identifier yang menggambarkan variabel memori yang berbeda. Contoh identifier yang diperkenankan untuk dipakai: a atau akelas atau kelas$ atau _kelas atau _KELAS$, sedangkan identifier yang tidak diperbolehkan untuk dipakai: $KELAS atau 7kelas atau kelas! atau ..kelas.

2. Himpunan Karakter

Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol)
Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y z
Digit: 0 1 2 3 4 5 6 7 8 9
Simbol dan lain-lain: _ - + * dan sebagainya.

3. Kata-kata Kunci

Kata kunci (keyword) adalah pengenal sistem yang mempunyai makna khusus bagi kompiler. Kegunaan dari golongan ini tidak dapat diubah. Karena itu kata kunci tidak dapat digunakan sebagai pengenal yang dibuat oleh pemrogram.
Kata kunci diusulkan ANSI:
auto, double, int, struct, break, else, loop, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while

Sedangkan turbo C memperluasnya dengan menambahkan beberapa kata kunci:
_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interrupt

Sementara itu, Microsoft C/C++ menambah beberapa kata kunci:
_asm, _loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran, _segname, _near, _saveregs, _segment, _syscall, _self, _stdcall, _fastcall, _based

4. Tipe Data Bahasa C++

Tipe data dasar pada C++, yakni: teks (char), nilai integer (int, short, long), nilai floating-point (float, double, long double), dan enumerated (enum). Jika jenis data yang didefinisikan adalah variabel enumerated, maka ini terkait dengan konstanta integer yang telah diberi nama enumeration set. Dalam bahasa pemrograman C, jenis enum dianggap ekivalen dengan jenis int, sehingga memungkinkan sebuah program untuk memberikan nilai integer langsung pada variabel enumerated. Namun dalam bahasa pemrograman C++, ada mekanisme pemeriksaan jenis data yang ketat, dan tidak memperkenankan operasi campuran seperti ini.
Setiap bahasa memakai seperangkat karakter untuk mengekspresikan pernyataan yang mengandung arti. Bahasa pemrograman C++ ditulis menggunakan sejumlah karakter yang meliputi: 26 huruf kecil (a, b, c, ... dstnya) dan 26 huruf besar (A, B, C, ... dstnya); 10 angka (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); dan lambang-lambang (+ - * = / . , : ; ? ' \ " ! @ # $ % ^ & * ( ) { } [ ]).
Ukuran memori yang diperlukan untuk masing-masing tipe data sangat bergantung pada perangkat keras dari komputer yang digunakan. Karena itu jangkauan bilangan dari masing-masing tipe data juga bisa berlainan antara satu jenis mesin dengan mesin lainnya. Nilai yang tercakup pada tipe data bilangan (bulat maupun pecahan) pada arsitektur PC yang berbasis DOS, adalah sebagai berikut:
Tipe data Ukuran memori Jangkauan nilai 
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4x10-36 s/d 3,4x10+38
double 8 byte 1,7x10-308 s/d 1,7x10+308
long double 10 byte 3,4x10_4932 s/d 1,1x10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)

4.1. Tipe Data Tertentu

Modifier unsigned:
Yang termasuk jenis data modifier unsigned yang dapat diterapkan pada char, int, short, long adalah void dan pointer. Bila salah satu jenis data di atas dimodifikasi menjadi usigned, dapat dipandang range nilai yang bisa dijangkau mempresentasikan bilangan seperti pada angka yang ditunjukkan oleh jumlah kilometer yang telah ditempuh pada mobil atau sepeda motor. Angka tersebut dimulai dari 0000... dan mencapai maksimum 9999..., dan kembali ke 0000... Jadi dalam unsigned, yang ditampilkan hanyalah bilangan positif keseluruhan dalam range nol sampai ke bilangan maksimum yang dapat diprepresentasikannya.
Tipe data Ukuran memori Jangkauan nilai
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647

Modifier signed:
Digunakan untuk memperluas tanda yang digunakan integer dan karakter. Cara ini memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif atau negatif.

Tipe data Ukuran memori Jangkauan nilaisigned char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
Untuk mengetahui ukuran memori yang diperlukan oleh semua tipe data, bisa dilihat dengan meng-compiler dan mengeksekusi contoh program sederhana, berikut:
//* Menentukan ukuran memori *
#include 
#include 
void main()
{
clrscr();
cout << "Ukuran char : " << sizeof(char) << '\n';
cout << "Ukuran short : " << sizeof(short) << '\n';
cout << "Ukuran int : " << sizeof(int) << '\n';
cout << "Ukuran long : " << sizeof(long) << '\n';
cout << "Ukuran float : " << sizeof(float) << '\n';
cout << "Ukuran double : " << sizeof(double) << '\n';
cout << "Ukuran long double : " << sizeof(long double) << '\n';
}

Penjelasan program:
Pemrograman C++ tidak terlepas dari fungsi. Sebab fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Sedangkan yang dimulai dari tanda { hingga tanda } disebut tubuh fungsi. Semua yang terletak di dalam tanda {} disebut blok. Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Kata void yang mendahului main() dipakai untuk menyetakan bahwa fungsi ini tidak memiliki nilai balik.
Pengenal cout merupakan sebuah obyek di dalam C++. Obyek ini disediakan oleh C++ untuk mengarahkan data ke standard output (normalnya adalah layar), sebagai contoh tambahan misalnya:

cout << "Hallo! Selamat datang di website ideelok \n";
Tanda << merupakan sebuah operator yang disebut operator penyisipan/peletakan. Operator ini akan mengarahkan operand (data) yang terletak di sebelah kanan obyeknya ke obyek yang terletak di sebelah kiri. Pada pernyataan di atas, konstanta string "Hallo! Selamat datang di website ideelok \n" diarahkan ke cout, yang memberikan hasil berupa tampilan string tersebut ke layar. Didalam sebuah string, karakter \ diikuti dengan karakter tertentu menyatakan sebuah karakter tunggal. Pada contoh \n adalah karakter pindah baris (newline).
Pada baris #include , baris ini menginstruksikan kepada kompiler untuk menyiapkan file lain pada saat program dikompolasi. Dalam hal ini file-file yang berakhiran dengan .h disebut file header, yaitu file-file yang berisi berbagai deklarasi, seperti fungsi, variabel dan sebagainya. #include perlu disertakan pada program yang melibatkan obyek cout. Tanpa kehadiran baris tersebut akan terjadi kesalahan program sewaktu program dikompilasi. Sebab file iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai obyek yang berhubungan dengan operasi masukan-keluaran pada stream.
Pada baris clrscr(); adalah perintah untuk menghapus layar. Apabila pernyataan di atas digunakan, baris #include perlu disertakan dalam program.

5. Variabel dan Konstanta Bahasa C++

Data pada C++ tersusun dari variabel dan konstanta. Variabel merupakan komponen penting pada pemrograman. Variabel digunakan dalam program untuk menyimpan suatu nilai, dengan nilai yang ada padanya dapat diubah selama eksekusi program berlangsung. Adapun konstanta menyatakan nilai yang tetap. Misalnya 234 adalah sebuah konstanta bilangan bulat.

5.1. Mendeklarasikan dan Mendefinisikan Variabel

Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu, maksudnya mengenalkan sebuah pengenal ke program dan menentukan jenis data yang bisa disimpan di dalamnya. Apabila suatu pendeklarasian menyebabkan pengalokasian memori, maka pendeklarasian tersebut dinamakan pendefinisian. Yang jelas pendefinisian berarti pula pendeklarasian, tetapi tidak semua pendeklarasian berarti pendefinisian.
bentuk pendefinisian variabel:

tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.

5.2. Memberikan Nilai ke Variabel

Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah: 
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;

5.3. Variabel dan Konstanta Bertipe char

Bentuk pernyataan variabel bertipe char:

char karakter;

Dalam hal ini variabel karakter bertipe char. Variabel ini dapat menampung data sebuah karakter. Untuk menuliskan sebuah konstanta bertipe char, karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A' karakter berupa huruf A.

Karakter yang ditulis dengan bentuk \karakter mempunyai arti tersendiri (karakter khusus) dan biasa disebut escape sequence characters.

Karakter-karakter khusus tersebut antara lain:
\0 artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris) 
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\' artinya karakter '
\" artinya karakter "
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)

5.4. Variabel dan Konstanta Bertipe int

Variabel bertipe int didefinisikan dengan bentuk:

int bilangan;
Setelah pendefinisian seperti itu, variabel ini dapat digunakan untuk menampung nilai bertipe int. Sebuah konstanta bertipe int adalah bilangan bulat yang terletak antara minus 32768 hingga plus 32767 (pada PC berbasis DOS) dan tidak mengandung titik desimal.

5.5. Variabel dan Konstanta Bertipe long

Apabila diinginkan untuk memproses bilangan bulat yang nilainya lebih besar daripada tipe int, Anda dapat menggunakan tipe long. Suatu variabel bertipe long didefinisikan dengan cara seperti di bawah ini:

long jumlah_penduduk;

Pada contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian variabel ini dapat menampung nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan akhiran L. Sebagai contoh: 1543267635435L

5.6. Variabel dan Konstanta Bertipe float, double dan long double

Tipe-tipe data yang telah dibahas di depan (char, int dan long) berhubungan dengan bilangan bulat. Seandainya diinginkan untuk memproses bilangan yang mengandung nilai pecahan, bisa menggunakan tipe float, double atau long double. Ketiga tipe yang berhubungan dengan bilangan pecahan ini mempunyai perbedaan dalam hal: kepresisian data, dan jangkauan nilai yang dicakup.
Contoh pendefinisian variabel untuk menampung bilangan pecahan:
float panjang;
double phi;
long double tetapan;

5.7. Inisialisasi Variabel

Adakalanya dalam penulisan program, variabel langsung diberi nilai awal setelah didefinisikan. Sebagai contoh:
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;

OPERATOR BAHASA PEMROGRAMAN C++

Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, misalnya untuk menjumlahkan dua buah nilai, memberikan nilai pada suatu variabel, ataupun membandingkan kesamaan dua buah nilai. Bahasa pemrograman C++ mempunyai banyak operator yang tidak didapat dalam bahasa pemrograman lain, antara lain: operator bitwise, operator inkremen dan dekremen, operator kondisional, operator koma, operator aritmatika dan lain-lain.

a) Operator bitwise

Operator bitwise pada bahasa pemrograman C++ memperlakukan variabel sebagai gabungan dari bit-bit dan bukan sebagai bilangan. Operator ini berguna untuk mengakses bit-bit individual dalam memori, seperti memori screen untuk display grafik, informasi CapsLock (on atau off). Operator bitwise ini hanya dapat beroperasi pada jenis data integral, bukan bilangan floating-point. Tiga operator bitwise berkelakuan seperti operator logika, namun ini terjadi pada setiap bit dalam sebuah integer, yakni: AND (&), OR(I), dan XOR (^), komplemen (~) membalik (menginversi) setiap bit, operator shift kiri (<<), dan operator shift kanan (>>).
ANDSimbol operator: &, dengan bentuk penggunaan : operand1 & operand2
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1

OR
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1

XOR
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0

Contoh program operasi I, & dan ^:

//* Efek operator I, & dan ^ *
#include 
#include 
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << "a= " << a << '\n';
cout << "b= " << b << '\n';
cout << "c= " << c << '\n';
}

Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50

Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0 1 1 0011 <- 115="115" br="br">
Operasi AND pada b:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0100 0001 <- 65="65" br="br">
Operasi XOR pada c:
0000 0000 0101 0001 <- 81="81" br="br">0000 0000 0110 0011 <- 99="99" br="br">-------------------------------
0000 0000 0011 0010 <- 50="50" p="p"> 

b) Operator Shift


Operator >> dan << pada bahasa pemrograman C++ berguna untuk menggeser bit-bit dalam suatu bilangan bulat ke kiri atau ke kanan. Shift kiri menggerakkan bit-bit ke kiri dan mengatur bit paling kanan (yang tidak signifikan) menjadi nol. Sedangkan bit paling kiri (paling signifikan) yang ter-shift keluar akan dibuang. Sementara itu, operator shift kanan menggerakkan bit-bit ke kanan. Bit-bit dengan orde lebih rendah yang ter-shift keluar akan dibuang. Pergeseran bit ke kiri mempunyai efek seperti perkalian, sedangkan pergeseran ke kanan memberikan efek seperti pembagian.

b.1) Operastor shift kiri
Bentuk umum dipakai: nilai << jumlah bit digeser ke kiri
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:

//* Operator SHIFT KIRI *
#include 
#include 
main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x << 1; // geser ke kiri 1 bit
cout << "Nilai x kini = " << x << '\n';
}

Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 186

Penjelasan hasil program:
0000 0000 0101 1101 <- 93="93" br="br">digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186="186" br="br">di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.

b.2) Operator shift kanan
Bentuk umum dipakai: nilai >> jumlah bit digeser ke kanan
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:

//* OPERATOR SHIFT KANAN *
#include 
#include 
void main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x >> 1; // geser kekanan 1 bit
cout << "Nilai x kini = " << x << '/n';
}

Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 46

Penjelasan hasil program:
0000 0000 0101 1101 <- 93="93" br="br">digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186="186" br="br">di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.

c) Operator Komplemen
Operator ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit operand bernilai 1 hasilnya 0, dan bila bit operand bernilai 0 hasilnya 1.
Contoh pemakaian operator komplemen:

//* Operator komplemen *
#include 
#include 
main()
{
unsigned char nilai = 81;
unsigned char a;
clrscr();
a = ~nilai; // komplemen dari nilai
cout << "a = " << a << '\n';
}

Hasil eksekusi program:
a = 65454

Penjelasan hasil program:
0000 0000 0101 0001 <- 81="81" br="br">inversinya menjadi
1111 1111 1010 1110 <- 6554="6554" br="br">
d) Operator Aritmatika 
Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut tergolong sebagai operator binary. Adapun operator yang tergolong sebagai operator unary yaitu tanda minus (-), dan tanda plus (+).

Prioritas operator :
Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas lebih rendah.
Prioritas 1: + --
Prioritas 2: - (unary minus)
Prioritas 3: * / %
Prioritas 4: + -

Apabila operastor memiliki prioritas yang sama, operator yang terletak disebelah kiri dalam suatu ungkapan yang akan diutamakan untuk dikerjakan terlebih dahulu. 

Tanda kurung biasa digunakan untuk urutan mengerjakan, misalnya x = (2 + 3) * 2;
(2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)

Contoh program:
//* Operasi aritmatika dengan menggunakan tanda kurung) *
#include 
#include 
void main()
{
clrscr();
int x;
x = 2 + 3 * 2;
cout << "x= " << x << '\n';
x = (2 + 3) * 2;
cout << "x= " << x << '\n';
}

Hasil eksekusi program:
x= 8
x= 12

Operator seperti penjumlahan, pengurangan, perkalian dan pembagian merupakan hal yang umum. Adapun operator sisa pembagian (operator modulus) yang berupa % ada baiknya untuk diterangkan lebih lanjut. Operator ini diterapkan pada operan bertipe integer. Untuk lebih jelasnya perhatikan beberapa contoh berikut:
7 % 2 -> 1 sisa pembagian bilangan 7 dengan 2 adalah 1
9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4

Contoh program
//* sisa pembagian (modulus) *
#include 
#include 
void main()
{
clrscr();
cout << 9 % 5 << '\n';
cout << 13 % 5 << '\n';
}

Hasil eksekusi program:
4
3

e) Operator Assigenment
Operator assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator assigenment dan bukan oleh staement assigenment. Seperti operator bahasa pemrograman C++ yang lain, hasil operator assigenment merupakan nilai yang diberikan. Misalnya :
nilai = 4 * (bilangan = 3)
Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil akhir 12.

Minggu, 10 September 2017

ALGORITMA PERCABANGAN


Algoritma Percabangan 1 dan 2 Kondisi

ALGORITMA PERCABANGAN


Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan. Algoritma percabangan pada pemrograman umumnya menggunakan kata kunci IF (jika), THEN (maka), dan ELSE (selainnya). Berikut kelompok saya akan mejelaskan tentang algoritma percabangan 1 kondisi dan 2 kondisi beserta contoh kasusnya.


ALGORITMA PERCABANGAN 1 KONDISI
Algoritma percabangan dengan 1 kondisi memiliki format dasar seperti berikut :
            IF <kondisi>
            THEN <pernyataan>
Pada format diatas , jika <kondisi> bernilai benar maka <pernyataan> dikerjakan, sedangkan jika bernilai salah, maka <pernyataan> tidak dikerjakan dan proses langsung keluar dari percabangan.
Contoh Kasus : Nilai siswa akan gagal bila bernilai ≤ 60

ALGORITMA BAHASA NATURAL
Mulai
Menentukan nilai siswa
Jika nilai siswa ≤ 60
Siswa dinyatakan Gagal
Selesai

PSEUDOCODE
Var :
            nilai_siswa : integer
Pseudocode :
Read ( nilai siswa )
IF nilai siswa ≤ 60 THEN
 write ( Siswa dinyatakan gagal )

FLOWCHART





ALGORITMA PERCABANGAN 2 KONDISI
Algoritma percabangan dengan 2 kondisi memiliki format dasar seperti berikut :
            IF <kondisi>
            THEN <pernyataan 1>
            ELSE <pernyataan 2>
Pada format di atas, Jika <kondisi> bernilai benar maka pernyataan 1 dikerjakan. Sedangkan jika tidak (<kondisi>bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan 2. Berbeda dengan percabangan 1 kondisi, pada percabangan dua kondisi ada dua pernyataan untuk kedua kondisi,yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang bernilai salah.
Contoh Kasus : Penggolongan nilai

ALGORITMA BAHASA NATURAL
Mulai
Menentukan nilai siswa
Jika nilai siswa ( 0 – 100 ) > 75 Tergolong Baik
Jika nilai siswa ( 0 – 100 ) ≤ 75 Tergolong Cukup
Tampilkan hasil
Selesai

PSEUDOCODE
Var :
            nilai_siswa : integer
Pseudocode
read (nilai siswa )
IF nilai siswa > 75 THEN
write ( tergolong baik )
ELSE
write ( tergolong cukup )

FLOWCHART

Minggu, 03 September 2017

Pengertian Operator dan jenisnya


MACAM-MACAM OPERATOR

PENGERTIAN OPERATOR



Operator  atau tanda operasi adalah  suatu tanda atau simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi. Operasi atau manipulasi mencakup ungkapan yang dibuat dari operand dan operator . Misalnya : 

Menjumlahkan dua buah nilai (bilangan). 
Memberikan nilai ke suatu variabel 
Membandingkan kesamaan dua buah nilai


1.    Operator Aritmatika

Adalah operator untuk keperluan operasi bilangan. Operator aritmatika dibagi menjadi dua, yaitu operator binary dan operator unary.


2.    Operator Boolean

Adalah operator yang dipakai untuk menangani operasi data bertipa boolean. Operator ini juga menghasilkan data bertipe boolean.


3.    Operator Logika

Adalah operator untuk menangani operasi logika pada bit-bit angka. Berbeda dengan operator boolean, operator logika berfungsi mirip dengan operator aritmatika, artinya operator ini tidak menangani data berupa pernyataan namun berupa angka / integer.


4.    Operator String

Adalah operator yang menangani data berupa string atau huruf/karakter. Operator string hanya satu, yaitu operator +. Operator ini berfungsi sebagai perangkai, jadi tidak sama dengan + pada operator aritmatika. 


5.    Operator Pointer

adalah operator yang khusus menangani data berupa pointer, hasil operator pointer bisa berupa pointer, integer, atau boolean.


6.    Operator Himpunan

Adalah operator yang menangani data berupa himpunan.


7.    Operator Relasional

Adalah operator yang menangani perbandingan antara dua buah data. Operator relasional menghasilkan nilai boolean.


8.    Operator Class
Operator as dan is menerima class dan instan obyek sebagai operand, operator = dan juga beroperasi dengan class
9.  Operator @
Operator @ menghasilkan alamat variabel, function, procedure, atau method. Operator @ mengkonstruksi pointer dengan operandnya



SEKIAN DAN TERIMAKASIH










Pengertian Pseudocode

PENGERTIAN PSEUDOCODE


Kode Pseudo (Pseudo-code) adalah sebuah kode yang digunakan untuk menulis sebuah algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu. Pseudo-code berisikan langkah-langkah untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya saja bentuknya sedikit berbeda dari algoritma.
Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma.

Struktur Kode Pseudo (Pseudo-code)

Judul
{Berisi Judul Algoritma}
Deskripsi
{Berisi Deklarasi Variabel atau Konstantan}
Implementasi
{Berisi Inti Algoritma}

~~~~~Notasi – notasi Pseudo~~~~~


1. Bentuk Pernyataan
X <—- Y
keterangan :
X : diberi nilai
Y : Memberi Nilai
Ex : Hasil <—- Bilangan Mod 2

2. Bentuk Percabangan
if kondisi then
pernyataan
if kondisi 1 then
pernyataan 1
else
pernyataan 2
if kondisi 1 then
pernyataan 1
else if kodisi 2 then
pernyataan 2
else if kondisi n then
pernyataan
else
pernyataan else


3. Bentuk Perulangan
for (persyaratan) do
pernyataan for
while (persyaratan)
pernyataan while
Repeat
pernyataan repeat
Until (persyratan)
Contoh : Algoritma untuk menentukan bilangan Genap/Ganjil (Pseudo-code)
Deskripsi
hasil,bil : integer
Implementasi
Baca (bil)
hasil <—- bil mod 2
if hasil = 0 then
cetak (Genap)
else
cetak (Ganjil)
End.



Pengertian dan Jenis Sistem Bilangan Komputer

Pengertian dan Macam Jenis Sistem Bilangan Komputer

Number system, Format bilangan komputer atau sistem bilangan komputer merupakan sebuah cara untuk mewakili besaran yang berasal dari sebuah item fisik.

System bilangan memakai sebuah bilangan basis atau base otr radix atau dikenal dengan bilangan dasar yang menjadi tertentu.

Dalam kaitan nya dengan komputer, terdapat 4 jenis system bilangan yang di ketahui yakni : decimal (basis 10), biner (basis 2, octal (basis 8), dan juga hexadecimal (basis 16).
.
.

4 JENIS SISTEM BILANGAN KOMPUTER

1.Desimal atau basis 10
.

Decimal atau basis 10 adalah suatu system bilangan yang sudah umum di pakai di dalam kehidupan sehrai hari nya. System bilangan decimal emmakai basis 10 dan juga memakai 10 macam symbol bilangan yakni : 0, 1, 2, 3, 4, 5, 6, 7, 8, dan juga 9.

Sistem bilangan komputer decimal bisa berupa integer decimal atau decimal integer dan juga bisa berupa decimal fraction atau dalam bentuk pecahan decimal.

2.Biner atau basis 2


Biner atau basis 2 merupakan system bilang yang terbagi daei 2 simbol yakni 0 dan juga 1. Bilangan biner atau basis 2 ini di kenal kan dan di populerkan oleh john von Neumann. Dan untuk system bilangan modern itu di cetus kan oleh Gottfried Wilhelm Leibniz di abad ke 17.

Pada sistem bilangan komputer basis 2 atau binner ini merupakan suatu dasar dari seluruh system bilangan berbasis digital. Di system binner, anda bisa mengkonversi nya ke pada system bilangan hexadecimal atau octal. Pada system ini juga bisa di sebut dengan istilah binary digit atau bit.Pengelompokan binner di dalam komputer selalu memiliki jumlah sampai 8, dengan istilah 1 bita atua byte, di dalam sitilah computer 1 byte = 8 bit .

Dalam menghitung di binner ini sama hal nya dengan cara menghitung dengan system bilangan yang lain nya. Yang di awali dengan angka pertama, dan angka yang selanjutnya, di dalam system bilangan selanjutnya.

Di dalam system bilangan desimal, perhitungan memakai angka 0 sampai dengan angka 9, sedangkan untuk binner hanya memakai angka 0 dan 1 saja.

3.Oktal atau basis 8
.
Octal atau basis 8 merupakan sistem bilangan komputer yang terbagi dari 8 simbol yakni 0, 1, 2, 3, 4, 5, 6, dan juga 7.

4.Hexadesimal atau basis 16

Hexadicemial atau basis 16, hexa yang artinya 6 dan decimal yang artinya 10 merupakan suatu system bilangan yang terbagi dari 16 simbol yakni 0, 1, 2 , 3, 4, 5, 6, 7, 8, 9, A(10, B (11), C (12), D (13), E (14), F (15).

Di dalam sistem bilangan komputer hexadesimal ini mengkombinasi kan 2 unsur yakni huruf dan juga angka. Untuk huruf A itu yang mewakili angka 10, huruf B itu yang mewakili angka 11, dan juga seterusnya hingga pada akhir nya sampai pada huruf F yang mewakili angka 15.

Pada system bilangan ini di pakai untuk memberi kan tampilan alamat memory di dalam pemrograman komputer.

Minggu, 20 Agustus 2017

ALGORITMA

Pengertian Algoritma: Apa itu Definisi Algoritma?



Apa Itu Algoritma? - Berbicara mengenai Algoritma untuk hal pengertian atau definisinya sendiri sudah merepotkan untuk penulis jabarkan. Mengapa? karena pada dasarnya tidak menyukai Algoritma dan hal-hal mengenai matematika itu sendiri. 

Dulu, penulis sewaktu masih berstatus pelajar. Algoritma dan aljabar merupakan pelajaran yang sangat membingungkan dan memusingkan untuk penulis pelajari. Namun, untuk saat ini penulis menyadari bahwa matematika sangat bermanfaat bagi kehidupan untuk kita pelajari, apalagi terkhusus mengenai Algoritma. 

Perkembangan teknologi informasi dan komunikasi, memacu diri kita untuk mempelajari terkait persoalan matematika dan algoritma. Walaupun dalam benak atau pikiran penulis hal tersebut sangat menyusahkan untuk mempelajari algoritma baik dari definisi algoritma atau pengertian algoritma sendiri dan berbagai implementasinya. 

Namun, bukan menjadi alasan untuk kita menyerah mempelajari algoritma ini, karena semua hal tidaklah mudah namun semual hal tidak ada yang tidak bisa. Maka dari itu diperlukan perjuangan, perjuangan untuk menjadi pejuang. Maaf saya sedikit memotivasi teman-teman. dan sedikit mengatakan kata-kata motivasi yang menjadi pegangan penulis dimanapun dan kapanpun itu. 

Algoritma sendiri bagi penulis, belum bisa memberikan pemikiran murni dari perjalanan penulis mempelajari algoritma ini, karena pada dasarnya penulis juga masih belajar untuk memahami lebih dalam mengenai algoritma. 

Bukan hanya penulis, diluar sana dan teman-teman kita, tentu masih banyak belajar untuk memahami dari luar dan ke dalam tentang algoritma. Adapun yang bisa penulis sampaikan pada kali ini adalah algoritma yang hanya berupa teori, lebih tepatnya pengertian algoritma atau definisi algoritma itu sendiri. 

Bagi teman-teman yang ingin belajar lebih dalam mengenai algoritma, penulis sarankan untuk belajar secara otodidak, belajar dengan membaca buku-buku kemudian mengikuti berbagai komunitas pemrograman dan komunitas IT. 

Mengapa? yah itu tadi, algoritma sangatlah susah dan memusingkan. Bisa jadi, jika anda yang baru belajar mengenai Algoritma, semangat anda atau kita dapat padam pada awal mengenal algoritma itu sendiri. Sehingga itulah saran penulis untuk belajar bersama-sama, karena siapapun itu dan apapun itu tentu membutuhkan yang namanya belajar. 
Apa itu Algoritma?

Pertama-tama untuk mengetahui seluk beluk mengenai algoritma, mari kita pertama-tama membahas mengenai siapa yang merintis atau siapa yang menemukan algoritma itu sendiri atau lebih jelasnya. Sejarah algoritma yang penulis dibawah ini.

Sejarah Algoritma - Para ahli sejarah matematika menemukan bahwa asal kata dari algoritma adalah Algorism yang berasal dari nama penulis buku arab yang terkenal di kalangan umat Muslim yakni Abu Ja'far Muhmmad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi kemudian bukunya dibaca oleh orang barat menjadi Algorism. Tidak hanya Algoritma, Al-Khuwarizmi juga menulis buku yang berjudul Kitab Al-Jabar Wal-Muqabala yang berarti Buku pemugaran dan pengurangan. (Ritayani: Pengantar Algoritma dan Pemrograman). 

Berdasarkan dari judul buku tersebut diperoleh akar kata dari Aljabar atau Algebra. Seperti halnya dengan Algoritma yang berasal dari kata Algorism kemudian menjadi Algorithm. Perubahan kata dari Algorism sering keliru oleh banyak orang dengan menyebut Arithmetic, sehingga akhiran sm kemudian berumah menjadi thm. 

Sebelum kita melakukan suatu pekerjaan, yang sangat diperlukan adalah sebuah pengenalan terhadap konsep pekerjaan untuk sebuah pekerjaan dalam memahami cara mencapai target pekerjaan yang ingin kita capai nanti. 
Pengertian Algoritma 

Algoritma adalah susunan langkah-langkah sistematis dan logis dalam pemecahan suatu masalah. Ada tiga cara dalam penyunsunan algoritma yaitu (1), Dengan merumuskan langkah-langkah pemecahan masalah melalui kalimat yang terstruktur (tersusun secara logis); (2), Menggabungkan kalimat dengan penggalan stratements yang ada di suat bahasa pemrograman (mis: Pascal). Biasanya disebut dengan Pseudo code (mirip dengan kode atau perintah pemrograman); dan (3), Menggunakan diagram alir (flowchart). (Saniman dan Muhammad Fathoni: Pengantar Algoritma dan Pemrograman). 

Algoritma merupakan jantung dari ilmu komputer atau informatika. Ada banyak cabang ilmu dari komputer yang mengacu dalam terminologi algoritma. Akan tetapi, anda jangan beranggapan bahwa algoritma selalu di identikkan dengan ilmu komputer saja. Misalnya mengenai algoritma, adalah caram embuat kue atau masakan yang dinyatakan dalam resep masakan, itu juga merupakan algoritma. 

Definisi Algoritma adalah susunan langkah penyelesaian suatu masalah secara sistematika dan logis. Terdapat dua kata yang menjadi titik perhatian kita yakni sistemati dan logis. Algoritma adalah langkah-langkah yang disusun secara tertulis dan berurutan untuk menyelesaikan suatu masalah. 


Pengertian Algoritma Menurut Para Ahli 
Berdasarkan definisi Algoritma atau pengertian algoritma yang diuraikan oleh Rinadil Muni bahwa Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. 

Pengertian Algoritma atau definisi Algoritma menrut KBBI adalah urutan logis pengambilan keputusna untuk pemecahan masalah.

Menurut Wikipedia bahwa pengertian "Algoritme adalah metode efektif diekspresikan sebagai rangkaian terbatas, dari instruksi-instruksi yang telah didefinisikan dengan baik, untuk menghitung sebuah fungsi. Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),instruksi-instruksi tersebut menjelaskan sebuah komputasi yang, bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran" dan berhenti di kondisi akhir. Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik; beberapa algoritme, dikenal dengan algoritme pengacakan, menggunakan masukan acak."
Kriteria Algoritma

Menurut Donald E. Knuth, Algoritma yang baik mempunyai kriteria yakni sebagai berikut.. 

1.input
Suatu algoritma harus mempunyai 0 (nol) atau lebih masukan (input) yang berarti suatu algoritma itu dimungkinkan tidak mempunyai masukan secara langsung dari pengguna tetapi dapat juga mewakili beberapa masukan. Algoritma yang tidak mempunyai masukan secara langgsung dari pengguna, maka dapat diinisalisasikan atau dibangkitkan dalam algoritma. 

2.Output 
Suatu algoritma harus mempunyai satu atau lebih algoritma. Suatu algoritma yang tidak mempunyai keluaran adalah suatu algoritma yang sia-sia, yang tidak perlu dilakukan. Algoritma dibuat untuk tujuan menghasilkan sesuatu yang diinginkan, yakni berupa hasil keluaran. 

3. Finiteness
Setiap pekerjaan yang dikerjakan pasti berhenti. Demikian halnya dengan algoritma harus dapat dijamin kemudian berhenti setelah melakukan sejumlah langkah proses. 

4. Defiteness. 
Tidak menimbulkan makna ganda (ambiguous). Setiap baris aksi atau pernyataan dalam suatu algoritma harus pasti, artinya tidak menimbulkan penafsiran lain yang bagi setiap pembaca algoritma, sehingga dapat memberikan output yang sesuai dengan apa yang kemudian diharapkan oleh pengguna. 

5. Efectiviness
Langkah algoritma yang dikerjakan dalam suatu waktu yang wajar. Suatu algoritma tidak terdapat suatu aksi yang tidak perlu dilakukan. Setiak aksi akan membutuhkan waktu eksekusi, padahal aksi tersebut jelas tidak berpengaruh atau tidak ada gunanya. Misalnya aksi x- < x + 0. Aksi ini jelas tidak berpengaruh dan tidak ada gunanya karena X + 0 akan menghasilkan bilangan X juga berarti tidak berguna. Jadi, tidak perlu untuk dilakukan karena sia-sia. 

Contoh Sederhana Algoritma

Para ibu-ibu atau emak-emak mencoba resep masakan tersebut akan membaca satu persatu langkah pembuatannya, lalu mengerjakan proses (melakukan aksi) sesuai yang ia baca. Sehingga secara umum, pihak yang mengerjakan proses disebut dengan pemroses.Pemroses dapat berupa dengan manusia, robot, komputer, alat mekanit atau alat elektronik dan lain-lain. Melaksanakan algoritma adalah mengerjakan langkah-langkah yang tertulis dalam algoritma tersebut.




Demikianlah informasi mengenai Pengertian Algoritma: Apa itu Algoritma?. Semoga informasi ini dapat bermanfaat bagi kita semua baik bagi penulis dan juga teman-teman. Tentu kita ketahui bersama algoritma memang sulit dan memusingkan, namun bukan berarti kita harus menyerah terhadap suatu yang juga ditemukan oleh manusia dan telah banyak tempat belajar dan buku-buku untuk belajar mengenai Algoritma. Sekian informasi singkat mengenai Algoritma dan Terima Kasih. Jangan Lupa Share dan Like Informasi ini.  


Flowchart & Jenis-Jenisnya

Pengertian Flowchart Dan Jenis – Jenisnya

Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :



Flowchart terbagi atas lima jenis, yaitu :

Flowchart Sistem (System Flowchart)
Flowchart Flowchart Dokumen (Document Flowchart)
Flowchart Skematik (Schematic Flowchart)
Flowchart Program (Program Flowchart)
Flowchart Proses (Process Flowchart)

1.Flowchart Sistem

Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.

Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).

2.Flowchart Dokumen

Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.

3.Flowchart Skematik

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.

4.Flowchart Program

Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.

Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.

5.Flowchart Proses

Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. 

~~~~Jenis flowchart dan perbedaanya~~~~

 Flowchart adalah sekumpulan gambar – gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman. Kegunaan flowchart sama seperti halnya algoritma yaitu untuk menuliskan alur program tetapi dalam bentuk gambar atau symbol.
Flowchart dibagi menjadi dua (2) bagian, yaitu :
1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.

Perbedaan DFD dan Flowchart

 berikut Perbedaan antara DFD dan Flowchart
1. DFD menunjukkan alur data di suatu sistem sedangkan flowchart sistem menjelaskan alur kerja atau prosedur-prosedur yang ada di dalam sistem
2. DFD prosesnya dapat dilakukan serentak atau pararel sedangkan flowchart alur datanya harus urut
3. DFD tidak ada looping sedangkan flowchart ada looping
4. DFD tidak ada proses perhitungan sedangkan flowchart ada proses perhitungan

Sumber : https://cybernur.wordpress.com/tag/flowchart-sistem/