Anda di halaman 1dari 14

ALGORITMA DAN PEMROGRAMAN

Siswa mampu :
- Mengkonversi antara bilangan biner ke Desimal atau sebaliknya
- Mengidentifikasi macam simbol Flow Chart
- Menentukan
o Hasil rangkaian 3 gerbang logika
o Hasil Algoritma pemrograman Aritmatika dan Logika
- Mengklasifikasi macam perangkat eksternal
- Membandingkan operasi logika antar 2 gerbang logika
- Memecahkan hasil algoritma pemrograman percabangan 2 kondisi
Bilangan Biner(2)

Sistem bilangan biner hanya mengenal dua jenis angka (numerik),


yaitu 0 dan 1. Penulisan bilangan berbasis 2 menggunakan format N2 ,dengan
N adalah bilangan biner. Nilai sebuah bilangan biner ketika dikonversi ke
dalam bilangan desimal memiliki rumus ∑(A x 2 b) dengan A = Bernilai 0 atau
1 dan b bernilai (-4,-3,-2,-1,0,1,2,3,4…..)bilangan bulat dalam format desimal
yang mewakili posisi A terhadap koma atau satuan.
Berikut adalah contoh cara mengkonversi bilangan biner (bulat)
menjadi format desimal.
11102 = (1 x 23) + (1 x 22) + (1 x 21) + (0 x 20)
=8+4+2+0
= 1410
Contoh cara mengkonversi bilangan biuner dengan angka di belakang
koma ke dalam format desimal adalah sebagai berikut.
1,1112 = (1 x 20) + (1 x 2-1) + (1 x 2-2) + (0 x 2-3)
= 1 + (1 x 0,5) + (1 x 0,25) + (1 x 0,125)
= 1,87510

** Keterangan : 20 = 1, 2-1 =0,5 , 2-2 = 0,25 , 2-3 = 0,125

Contoh :
1. Konversikan bilangan 19210 menjadi bilangan berbasis biner
Penyelesaian :

192 Penulisan hasil konversi bilangan


=96 sisa 0 19210 ke dalam bentuk biner adalah
2
menuliskan sisa hasi bagi. Dan
96 menuliskan sisa pembagian dari
=48 sisa 0
2 bawah ke atas sehingga diperoleh
hasil 110000002 , jadi 19210 =
48
=24 sisa 0 110000002
2
24
=12 sisa 0
2
12
=6 sisa 0
2
6
=3 sisa 0
2
3
=1 sisa 1
2

Penyelesaian :

192 – 128 = 64
64 – 64 = 0

*128 merupakan nilai yang paling mendekati ke 192


*pengurangan di teruskan hingga nilai “0”

211 210 29 28 27 26 25 23 21
20
= = = = = = = = =
=
512 256 128 64 32 16 8 4 2 1

0 0 1 1 0 0 0 0 0 0
Bagan Alir (Flowchart)

Bagan alir (flowchart) merupakan sebuah bagan yang menunjukkan


aliran algoritma dan menampilkan langkah-langkah penyelesaian terhadap
suatu masalah. Terdapat berbagai alasan bagi seseorang untuk
menggunakan flowchart, antara lain sebagai berikut.
(1) Dokumentasi proses. Bagan alir dapat digunakan untuk
mendokumentasikan proses menjadi lebih terorganisasi dengan baik.
(2) Petunjuk untuk memecahkan masalah. Runtutan langkah dari yang
umum menuju ke khusus atau sebaliknya merupakan petunjuk pemecahan
masalah yang digambarkan dengan bagan alir.
(3) Pemrograman. Bagan alir dapat digunakan untuk menggambarkan
garis besar program yang akan dibuat. Bagan alir juga digunakan untuk
merancang navigasi pengguna pada tampilan (user interface) aplikasi
yang akan dibuat.
(4) Mengomunikasikan hal-hal yang prosedural.

Bagan alir tersusun dari berbagai simbol yang berbeda untuk


mempresentasikan sebuah input, proses, maupun output yang berbeda.
Berikut adalah berbagai simbol dan masingmasing kegunaannya.
Terminator
Simbol ini berfungsi untuk
menandai awal dan akhir sebuah
flowchart, dan terdiri dari dua label:
 Mulai (Start) untuk menandai
awal flowchart, dan
 Akhir (End) untuk menandai akhir
dari flowchart.
Proses (Process)
Simbol ini menyatakan proses yang
dilaksanakan pada tahapan
tertentu.

Keputusan (Decision)
Simbol ini digunakan untuk
pengambilan keputusan terhadap
suatu kondisi. Terdapat dua
keadaan yang harus dipenuhi,
yaitu:
 Ya (Yes) jika dalam pengambilan
keputusan menghasilkan keadaan
benar, atau;
 Tidak (No) jika pengambilan
keputusan menghasilkan keadaan
salah.
Subproses (Subprocess
/Alternate process)
Simbol ini adalah simbol proses
yang dapat dibuat menjadi lebih
detail menjadi bagianbagian proses
(subproses) lainnya.
Dokumen (Document)
Simbol ini digunakan untuk
menunjukkan penggunaan
dokumen yang terkait, misalnya
berupa masukan atau hasil dari
proses.
Data
Simbol ini menyatakan data
tertentu yang terkait pada sebuah
flowchart.

Pangkalan Data (Database)


Simbol ini menunjukkan pemakaian
database pada sebuah flowchart.
Tampilan (Display)
Simbol yang menyatakan peralatan
output, misalnya layar tv.

Kartu (Punched card)


Simbol yang menyatakan kartu,
dapat digunakan untuk masukan
dan keluaran.

Penunjuk alir (Flow direction)


Simbol ini digunakan untuk
menghubungkan setiap langkah
dalam flowchart, dan menunjukkan
ke mana arah aliran diagram.
Masukan manual (Manual
input).
Simbol ini merepresentasikan
masukan yang dapat dilihat secara
manual.

Operasi manual (Manual


operation)
Simbol ini merepresentasikan
operasi yang dapat dilihat secara
manual.

Persiapan (Preparation)
Persiapan (Preparation)
Simbol merepresentasikan
persiapan yang dapat dilakukan
sebelum menuju ke langkah
berikutnya.
Simbol konektor digunakan untuk
menghubungkan suatu langkah dan
langkah lain dalam sebuah
flowchart. Terdiri dari:
Connector/ On Page reference  On-page digunakan sebagai titik
awal penghubung suatu langkah
(biasanya pada halaman yang
sama);
 Off-page digunakan sebagai titik
Off - Page connector/ Off page temu penghubung suatu langkah
reference (dari onpage, dan biasanya
terdapat pada halaman yang
berbeda).
Simbol Anotasi
Simbol ini merepresentasikan
TEXT informasi deskriptif tambahan,
komentar atau catatan penjelasan.

Contoh menghidupkan komputer terdapat berbagai langkah yang


dapat di persiapkan sebelum menyalakan hingga komputer siap di
pergunakan. Proses tersebut dapat di gambarkan menggunakan flowchart
seperti contoh berikut.
GERBANG LOGIKA

Gerbang logika OR
Gerbang logika OR dalam pengoperasiannya dapat menerima dua atau
lebih masukan data dan menghasilkan sebuah keluaran. Gerbang logika OR
akan menghasilkan potensial keluaran tinggi (high) yang bernilai 1. Nilai
tersebut muncul jika ada salah satu dari masukan data yang berpotensial
tinggi (high) atau bernilai 1. Sebagai contoh jika terdapat dua masukan data
A,B dan X adalah nilai keluarannya, rumus pengoperasiannya dapat di
tuliskan sebagai berikut.
X = A OR B atau X = A + B

Persamaan aljabar Boolean gerbang logika OR terhadap dua masukan


data dapat di lihat pada tabel kebenaran dengan dua masukan berikut.

A B X=A+B
0 0 0
0 1 1
1 0 1
1 1 1

Dari tabel kebenaran tersebut dapat di simpulkan bahwa


pengoperasian gerbang logika OR akan menghasilkan nilai keluaran true, jika
ada salah satu input data bernilai true.

(Simbol gerbang logika OR 2 inputan)

Gerbang Logika AND


Gerbang logika AND dapat memiliki dua atau lebih nilai masukan
(input) dengan sebuah nilai keluaran (output). Gerbang AND akan
menghasilkan nilai keluaran true hanya jika semua nilai masukan nya true.
Sebagai contoh, jika nilai masukan (input) adalah A dan B, nilai keluaran
(output) X dapat digambarkan dengan rumus sebagai berikut.

X = A AND B atau X = A.B atau X = AB

Hasil operasi dasar dua nilai masukan menggunakan gerbang AND


dapat dilihat pada tabel kebenaran berikut.

A B X = A.B
0 0 0
0 1 0
1 0 0
1 1 1

(Simbol gerbang logika AND)

Gerbang Logika NOT


Gerbang logika NOT atau inventer merupakan gerbang logika yang
hanya dapat menerima sebuah nilai masukan (input) dan menghasilkan
sebuah keluaran (output). Semua nilai input data yang diterima akan dibalik
langsung oleh gerbang logika NOT.
Contohnya, jika nilai input nya “1” makan nilai output nya “0” dan
sebaliknya.
X = NOT A atau X = A

Tabel kebenaran untuk menguji nilai input data menggunakan gerbang


logika NOT adalah sebagai berikut.

A X= A
1 0
0 1

(Simbol gerbang logika NOT)

Gerbang Logika NOR (NOT OR)


Kombinasi gerbang logika NOT dan OR menghasilkan sebuah sistem
gerbang logika baru, yaitu gerbang logika NOT OR atau NOR. Setiap hasil
output dari proses gerbang logika OR akan dibalikan nilainya menjadi
berlawanan.
Tabel kebenaran NOR dengan dua nilai input.

A B X = A+ B
0 0 1
0 1 0
1 0 0
1 1 0

Dalam mendesain atau menggambar gerbang logika NOR, dapat


menggunakan dua simbol berikut.
1. Gabungan simbol gerbang logika OR dengan gerbang logika NOT.

(Kombinasi gerbang logika OR dan NOT)

2. Simbol gerbang logika NOR.

( Simbol gerbang logika NOR)

Gerbang Logika NAND (NOT AND)


Gerbang logika yang mengkombinasikan fungsi NOT dan AND akan
membentuk karakteristik baru yang disebut gerbang logika NAND atau NOT
AND. Setiap output gerbang logika NAND nilainya menjadi berlawanan.

X = AB
Nilai gerbang logika AND akan di invert atau dibalikan nilainya menjadi
berlawanan. Kondisi demikian dapat dilihat pada tabel kebenaran berikut.
Tabel kebenaran NOR dengan dua nilai input.

A B X = AB
0 0 0
0 1 1
1 0 1
1 1 1

Dalam mendesain atau menggambar gerbang logika NOR, dapat


menggunakan dua simbol berikut.
1. Gabungan simbol gerbang logika AND dengan gerbang NOT.

( Kombinasi gerbang logika AND dan NOT )

2. Simbol gerbang logikan NAND pada ujung keluaran (output)


terdapat titik tebal yang menunjukan nilai invert.

( Simbol gerbang logika NAND)

Gerbang logika XOR


XOR (Exclusive OR) merupakan gerbang logika yang akan
menghasilkan nilai output berpotensial tinggi (1) jika nilai input berbeda
nilainya. Namun jika semua nilai input nya bernilai “1” atau bernilai “0” maka
output yang di hasikan adalah false (0).

X =A ⊕ B= A B+ A B
Tabel kebenaran dari dua input pada gerbang logika XOR adalah
sebagai berikut.

A B X =A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0

Untuk mendesain gerbang logika XOR pada rangkaian, dapat


menggunakan simbol berikut.

(Gerbang logika XOR)

Gerbang logika XNOR (Exclusive NOT OR)


XNOR (Exclusive NOT OR) merupakan gerbang logika yang
menghasilkan nilai keluaran output dengan potensian tinggi (1) jika kedua
input bernilai sama. Sementara output yang di hasikan akan bernilai (0) jika
nilai dari kedua input berbeda.

X = A ⊕ B= AB+ AB
Tabel kebenaran dari dua input pada gerbang logika XNOR adalah
sebagai berikut.

A B X = A ⊕B
0 0 1
0 1 0
1 0 0
1 1 1

(Simbol gerbang logika XNOR)


PEMROGRAMAN DASAR MENGGUNAKAN BAHASA C++

Operasi logika proses yang melibatkan beberapa operator logika


seperti AND, OR, NOR, XOR dan operator logika lainnya yang menghasilkan
nilai true dan false atau menghasilkan nilai benar dan salah. operasi logika ini
sangat sering sekali digunakan di algoritma dan bahasa pemrograman dasar.

Sedangkan Operator matematika adalah operator yang digunakan


untuk memproses operasi aritmatika, operater matematika yang sudah kita
kenal misalnya penjumlahan, pengurangan, perkalian dan pembagian.
Mengenal Pelbagai Jenis Operator Aritmatika dan Logika dalam
algoritma dan bahasa pemrograman
Berikut adalah beberapa kategori operator aritmatika dan operator
logika yang sering digunakan di dalam bahasa pemrograman dan algoritma:

1. Operator Aritmatika
+ (jumlah) adalah operator untuk menjumlahkan dua buah angka atau
lebih
-(kurang) adalah jenis operator untuk memproses operasi
pengurangan antara dua angka atau lebih
* (kali) adalah operator yang digunakan untuk proses perkalian
/ (bagi) adalah operator uang digunakan untuk mendapatkan hasil bagi
dari 2 buah angka
MOD atau % (modular) adalah operator yang sering digunakan di
dunia algoritma yang digunakan untuk mendapatkan sisa hasil bagi.
Operator baru yang tidak umum adalah MOD atau bisa disimbolkan
dengan %, operator ini akan menghasilkan sisa hasil pembagian, misal
4%2=0. 5%3=2.
Operator aritmatika biasanya digunakan untuk memproses
perhitungan matematika yang dilibatkan di dalam program.

2. Operator Pembanding
Operator pembanding adalah operator yang merupakan bagian dari
operator logika yang digunakan untuk membandingkan 2 buah nilai atau
operan, sehingga dapat menghasilkan nilai true dan false, beberapa operator
pembanding yang sering digunakan adalah:

> lebih besar


< lebih kecil
>= lebih besar sama dengan
<= lebih kecil sama dengan
<> tidak sama dengan
!= tidak sama dengan
== apakah sama dengan
:= sama dengan

Di dalam bahasa pemrograman Operator pembanding biasanya


digunakan dalam flow control IF then ELSE untuk mendapatkan hasil sesuai
dengan kondisi yang diinginkan.
3. Operator Logika
Operator Logika adalah operator yang digunakan untuk melakukan
operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau
FALSE (salah). Bebarapa macam operator logika antara lain:
and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
xor : menghasilkan nilai TRUE jika salah satu operand bernilai
TRUE tetapi bukan keduaduanya bernilai TRUE
! (simbol tidak): mengasilkan nilai tidak TRUE
&& (simbol AND): menghasilkan nilai TRUE jika kedua operand
bernilai TRUE
|| (simbol OR): menghasilkan nilai TRUE jika salah satu operand
bernailai TRUE
Operator logika sering digunakan di dalam flow control berkolaborasi
dengan operator pembanding untuk mendapatkah hasil yang paling sesuai
dengan kondisi tertentu.
4. Assignment Operator / Operator Penugasan
Assignment Operator (operator penugasan) adalah operator yang
menggunakan tanda sama dengan (=) untuk mengisi sebuah nilai dalam
suatu variabel.
Beberapa contoh assignmen operaor adalah sebagai berikut:
+= contoh: x+=10; atau x=x+10 (artinya: jumlahkan nilai yang
terdapat di dalam variable x dengan 10)
= contoh: x=y
*= contoh: x*=10 atau x=x*10 (artinya: kalikan nilai yang terdapat di
dalam variable x dengan 10)
/=
%=
Contoh Jenis operasi aritmatika dan logika dalam algoritma (bahasa
pemrograman dasar)
5. Operasi artimatika
Beberapa contoh proses operasi aritatika adalah sebagai berikut
x + y, menjumlahkan antara nilai yang terdapat di x dan y
x * y, mengalikan antara nilai yang terdapat di x dan y
x - y, mengurangi antara nilai yang terdapat di x dan y
x / 10, membagi antara nilai yang terdapat di x dan y misal 10/2 maka
hasilnya 5.
x % y, mendapatkan hasil bagi antara x dan y misal 10/5 maka
hasilnya adalah 0, karena 10/5 adalah 2 dan tidak terdapat sisa setelah
pembagian. 10/7 sisa hasil pembagiannya adalah 3, artinya ketika 10 dibagi
7 maka akan mendapatkan 1 dan sisanya adalah 3.

6. Operasi Logika
A and B atau A && B, untuk operator AND, jika salah satu kondisi
bernilai salah maka akan menghasilkan FALSE, sedangkan jika kedunya
benar maka akan bernilai true, agar kondisi bernilai benar maka A dan B
harus benar.
A or B atau A || B, untuk operator OR, jika salah satu kondisi bernilai
benar baik untuk kondisi A maupun B maka akan menghasilkan TRUE
(benar), jika kedua kondisi baik A maupun B bernilai salah maka hasilnya
FALSE (salah), untuk menghasilkan kondisi benar maka setidaknya harus ada
kondisi yang benar baik itu untuk konsisi A maupun B
Percabangan
Pernyataan percabangan digunakan untuk memecahakan persoalan
untuk mengambil suatu keputusan dianatara sekian pernyataan yang ada.
Untuk keperluan pengambailan keputusan.

A. Pernytaaan IF
Pernyataan if mempunyai pengertian. “Jika kondisi bernilai benar,
maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan
diabaikan”. Dari perngertian terebut dapat dilihat dari diagram alir berikut.

if (kondisi)
pernyataan;
Penulisan kondisi harus didalam tanda kurung dan berupa eksperesi
relasi dan penulisan pernyataan dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk atau pernyataan kosong. Jika pemakaian if diikuti
dengan pernyataan majemuk, bentuk penulisannya sebagai berikut :
If (kondisi)
{
Pernyataan;
}
Contoh
Menentukan besarnya potongan dari pembelian barang yang diberikan
ke seorang pembeli, dengan kriteria:
o Tidak ada potongan jika pembelian kurang dari Rp. 50,000,-
o Jika total pembelian lebih dari atau sama dengan Rp. 50,000,-
potongan yang di terima sebesar 20% dari total pembeliian
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0,
jum_bayar=0;
clrscr();
cout<<"Total Pembelian Rp. "; cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli - potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}

Output yang dihasilkan, dari program contoh-1 diatas adalah :

Pernyataan IF Else
Pernyataan if mempunyai pengertian, “ Jika kondisi bernilai benar, maka
perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan
perintah-2”. Dari pengertian tersebut dapat dilihat dari diagram alir berikut :

Bentuk pernyataan if
if (kondisi)
perintah-1;
else
perintah-2;
Perintah-1 dan perintah-2 dapat berupa sebuah pernyataan tunggal,
pernyataan majemuk atau pernyataan kosong. Jika pemakaian if-else diikuti
dengan pernyataan majemuk, bentuk penulisannya sebagai berikut:
if (kondisi-1)
{
perintah-1; ....
}
else
{ perintah-2; ....
}
Contoh
Menentukan besarnya potongan dari pembelian barang yang diberikan
seorang pembeli, dengan kriteria :
- jika total pembelian kurang dari Rp. 50.000,- potongan yang diterima
sebesar 5% dari total pembelian. - Jika total pembelian lebih dari atau sama
dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total
pembelian.
Contoh-2
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
double tot_beli, potongan=0, jum_bayar=0;
clrscr();
cout<<"Total Pembelian Rp. "; cin>>tot_beli;
if (tot_beli >= 50000)
potongan = 0.2 * tot_beli;
else
potongan = 0.05 * tot_beli;
cout<<"Besarnya Potongan Rp. "<<potongan<<endl;
jum_bayar = tot_beli - potongan;
cout<<"Jumlah yang harus dibayarkan Rp. "<<jum_bayar;
getch();
}

Anda mungkin juga menyukai