Teks Mondar mandir

fb : tofatik, e_mail : toftofa3@gmail.com

Sabtu, 04 Oktober 2014

Materi XI RPL & TKJ Pemrograman Dasar



 Materi Pemrograman Dasar XI RPL & TKJ


Operasi Aritmatika dan Logika

 1. Bilangan Biner

Bilangan biner adalah bilangan yang memiliki basis 2. 
Anggota bilangan biner antara lain 0 dan 1. ( r = 2 ).
Dalam penulisan biasanya ditulis seperti berikut 1010012, 10012, 10102, dll.

a.    Penjumlahan
Dasar penujmlahan biner adalah :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0         ~>        dengan carry of 1, yaitu 1 + 1 = 2, karena digit terbesar ninari 1, maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = 0 dengan carry of 1
contoh :
    (A)                 (B)
1111 + 10100 =  100011             
atau dengan langkah :
(A)      (B)
1 + 0                     = 1
1 + 0                     = 1
1 + 1                     = 0 dengan carry of 1
1 + 1 + 1               = 0
1 + 1                     = 0 dengan carry of 1
Hasil    100011

b.    Pengurangan
Bilangan biner dikurangkan dengan cara yang sama dengan pengurangan bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan biner adalah :
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 – 1 = 1         ~>        dengan borrow of 1, (pinjam 1 dari posisi sebelah kirinya).
Contoh :
    (A)                 (B)
11101 - 1011 = 10010
atau dengan langkah :
 (A)     (B)
1 – 1               = 0
0 – 1               = 1   dengan borrow of 1
1 – 0 – 1         = 0
1 – 1               = 0
1 – 0               = 1
            Hasil   = 10010

c.    Perkalian
Dilakukan sama dengan cara perkalian pada bilangan desimal. Dasar perkalian bilangan biner adalah :
0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
Contoh :
Desimal
Biner

   14
   12  x
   28
 14

                  +
 168

             1110
             1100  x
             0000
           0000
         1110
       1110      +
     10101000

d.    Pembagian
Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal. Pembagian biner 0 tidak mempunyai arti, sehingga dasar pemagian biner adalah :
0 : 1 = 0
1 : 1 = 1
Desimal
Biner
5     / 125 \ 25
         10 -
            25
            25 -
              0
              101 / 1111101 \ 11001
                        101 -
                           101
                            101 -
                                 0101
                                    101 -
                                         0




OPERATOR ARITMATIKA, RELASI, LOGIKA
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.
Macam-macam operator :
1.     1. Operator aritmatika
Operator aritmatika digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan, pembagian, dan modulo (atau sisa pembagian).
Contoh penggunaan :
+ Operator penjumlahan (juga sebagai penyambung string)
- Operator pengurangan
* Operator perkalian
/ Operator pembagian
% Operator sisa pembagian
Simbol
Nama operator
Contoh penggunaan
+
Operator penjumlahan
n = n + 1;
-
Operator pengurangan
n = n – 1;
*
Operator perkalian
n = n * 1;
/
Operator pembagian
n = n / 1;
%
Operator sisa pembagian
n = n % 1;
+
Operator penyambung string
n = “saya “+”tidur”;
1.     2. Operator Relasi / Hubungan
Operator relasi biasa digunakan untuk membandingkan dua buah nilai. Operator relasi menghasilkan kondisi BENAR atauSALAH.
Contoh penggunaan :
Sama dengan ( = )
Tidak sama dengan ( <> )
Lebih dari ( > )
Kurang dari ( < )
Lebih dari sama dengan ( >= )
Kurang dari sama dengan ( <= )
Simbol
Keterangan
=
Sama dengan
<> 
Tidak sama dengan
Lebih dari
Kurang dari
>=
Lebih dari sama dengan
<=
Kurang dari sama dengan ( <= )

Pembanding

Hasil
1>2
dibaca
Salah
1<2
dibaca
Benar
A==1
dibaca
Benar, Jika A bernilai 1
Salah, Jika A tidak bernilai 1
‘A’ < ‘B’
dibaca
Benar karena kode ASCH untuk karakter ‘A’
Kurang dari kode ASCH untuk karakter ‘B’
Kar== ‘Y’
dibaca
Benar jika ka berisi ‘Y’
Salah, jika kar tidak berisi ‘Y’
3. Operator Logika
Operator logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi. Operator-operator ini berupa :
Operator
Keterangan
&&
AND (dan)
||
OR (atau)
!
NOT (bukan)
Contoh Penggunaan :
Contoh
Operasi
Hasil
a && b
and
benar jika a dan b adalah benar
a || b
or
benar jika salah satu dari a atau b adalah benar
!a
b lebih dari atau sama dengan
benar jika a lebih dari atau sama dengan b




ARRAY
Kompetensi dasar:
Mampu menggunakan tipe array untuk pemecahan masalah.

Indikator kompetensi:
1.   Memahami perlunya array
2.   Mampu menentukan kapan harus menggunakan array.
3.   Mampu mendeklarasikan array
4.   Mampu membuat aplikasi lengkap yang mengandung array, dan menggunakan fungsi yang menggunakan parameter array.

ARRAY
Digunakan untuk menyimpan sekelompok data yang tipenya sama.

Deklarasi Array 1 Dimensi
tipe nama_var[max_data];

Contoh:
int a[5];
float x[100];
char nama[25];
.
dst.

Cara mengakses data bertipe array
nama_variabel[alamat]

Misal : Array a

27
23
35
46
87
à data yang tersimpan di array
0
1
2
3
4
à alamat array (dimulai dari 0)

a[0] = 27
a[1] = 23
.
.
a[4] = 87

Menginputkan data ke array
Data dapat diinputkan untuk setiap emelen array. Tetapi jika jumlah elemen array banayk, tentunya cara ini tidak efisien. Oleh karena itu dapat digunakan bantuan instruksi perulangan untuk input datanya.

Contoh 1:
#include <iostream.h>
#include <conio.h>

main() {
  int a[5];
  cout<<"Data ke 0 = ";cin>>a[0];
  cout<<"Data ke 1 = ";cin>>a[1];
  cout<<"Data ke 2 = ";cin>>a[2];
  cout<<"Data ke 3 = ";cin>>a[3];
  cout<<"Data ke 4 = ";cin>>a[4];
  int jumlah;
  jumlah=a[0]+a[1]+a[2]+a[3]+a[4];
  cout<<"\n\nJumlahnya = "<<jumlah;
  getch();
}
Contoh 2:
#include <iostream.h>
#include <conio.h>

main() {
  int a[5];
  int jumlah=0;
  for(int i=0;i<5;i++)
  { cout<<"Data ke "<<i<<" = ";cin>>a[i];
    jumlah+=a[i];
  }
  cout<<"\n\nJumlahnya = "<<jumlah;
  getch();
}

Tipe array juga dapat digabungkan dengan pointer. Untuk itu kita akan melakukan perubahan pada contoh 3 menjadi sebagai berikut:

Contoh 3:
#include <iostream.h>
#include <conio.h>

main() {
  int *a=new int[5];
  int jumlah=0;
  for(int i=0;i<5;i++)
  { cout<<"Data ke "<<i<<" = ";cin>>a[i];
    jumlah+=a[i];
  }
  cout<<"\n\nJumlahnya = "<<jumlah;
  getch();
}
Perhatikan contoh 3 diatas pada pengaksesan datanya. Jika array dideklarasikan sebagai pointer, maka untuk pengaksesan datanya cukup dituliskan sebagai array. Tetapi kita tetap bisa menuliskannya sebagai pointer tanpa harus menyertakan alamat arraynya. Jika demikian maka data akan diambilkan dari data pertama, atau data pada alamat ke 0.
Sehingga misalkan pada akhir program contoh 3 diatas kita tambahkan instruksi :
cout<<"\nData = "<<*a;
atau instuksi :
cout<<"\nData = "<<a[0];
akan mempunyai arti yang sama, data akan diambil dari data pertama (alamat 0).

Selain itu untuk input data dan proses penjumlahan, dapat juga dibuat dalam bentuk fungsi seperti pada contoh 4. Perhatikan pada saat tipe array menjadi parameter fungsi, jumlah data yang tersimpan dalam array boleh ditulis boleh tidak (optional). Sehingga bisa ditulis dengan : b[] saja

Contoh 4 :
#include <iostream.h>
#include <conio.h>

void input_array(int b[],int n)
{ for(int i=0;i<n;i++)
  { cout<<"Data ke "<<i<<" = ";cin>>b[i]; }
}

int jumlah(int b[],int n)
{ int hasil=0;
  for(int i=0;i<n;i++)
      hasil+=b[i];
  return hasil;
}

main() {
  int a[100];
  int bd;
  cout<<"Masukkan banyaknya data = ";cin>>bd;
  input_array(a,bd);
  cout<<"\n\nJumlahnya = "<<jumlah(a,bd);
  getch();
}


Penggunaan array 1D untuk sorting data
Pada proses berikut ingin akan diurutkan n data yang tersimpan di array dengan metode Bubble Sort.

Contoh 5:
#include <iostream.h>
#include <conio.h>

void masukan(int a[],int n)
{
  for(int i=0;i<n;i++)
  { cout<<"Data ke "<<i<<" = ";
      cin>>a[i];
      }
 }


void urutkan(int a[], int n)
{ int temp;
  for(int i=0;i<n;i++)
  for(int j=0;j<(n-i);j++)
  if (a[j]>a[j+1])
          {
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
            }
  }

void tampil(int a[], int n)
{
  for(int i=0;i<n;i++)
      cout<<a[i]<<"  ";
 }

main() {
  int a[100];
  int jml;
  cout<<"Banyak data = ";cin>>jml;
  masukan(a,jml);
  urutkan(a,jml);
  cout<<"\n\nSetelah diurutkan ";
  tampil(a,jml);
  getch();

}

Pada contoh program diatas ada tiga fungsi, fungsi pertama digunakan untuk menginputkan data ke dalam array, fungsi kedua untuk mengurutkan arraynya, dan fungsi ketiga untuk menampilkan data yang tersimpan di array ke layar.

Array 2 Dimensi
Contoh deklarasi :
int a[4][5];


0
1
2
3

0
25
40
26
12

1
6
8
12
5

2
1
3
8
9

3
15
22
13
19

4
0
5
7
15







Mengakses data :

a[0][0] = 25
a[0][1] = 40
.
.
dst

Penggunaan array 2D untuk menjumlahkan dua matrik

Matrik asal adalah a dan b, dijumlahkan dan hasilnya disimpan di matrik c. Syarat agar matrik dapat dijumlahkan adalah keduanya mempunyai ukuran yang sama.
Baris matrik 1 = Baris matrik 2
Kolom matrik 1 = Kolom matrik 2

Contoh 6:
#include <iostream.h>
#include <conio.h>

void masukan(int a[10][10],int b,int k)
{ for(int i=0;i<b;i++)
    for(int j=0;j<k;j++)
    {cout<<"Data ke "<<i<<j<<" = ";cin>>a[i][j]; }
}

void jumlah(int a1[][10],int a2[][10],int a3[][10],int b1,int k1)
{  for(int i=0;i<b1;i++)
    for(int j=0;j<k1;j++)
      a3[i][j]=a1[i][j]+a2[i][j];
}

void tampilkan(int a[10][10],int b,int k)
{ for(int i=0;i<b;i++)
   { for(int j=0;j<k;j++)
        cout<<a[i][j]<<"  ";
     cout<<"\n";
    }
}

main() {
 int dt1[10][10],dt2[10][10],dt3[10][10];
 int b1,k1;
 cout<<"Jumlah baris matrik  = ";cin>>b1;
 cout<<"Jumlah kolom matrik  = ";cin>>k1;
 cout<<"\nMatrik pertama\n";
 masukan(dt1,b1,k1);
 cout<<"\nMatrik kedua\n";
 masukan(dt2,b1,k1);
 jumlah(dt1,dt2,dt3,b1,k1);
 clrscr();
 cout<<"\nMatrik pertama\n";
 tampilkan(dt1,b1,k1);
 cout<<"\nMatrik kedua\n";
 tampilkan(dt2,b1,k1);
 cout<<"\nMatrik hasil penjumlahan\n";
 tampilkan(dt3,b1,k1);
 getch();
}

Perhatikan pada saat array 2D menjadi parameter fungsi, jumlah baris boleh ditulis boleh tidak, tetapi jumlah kolom harus ditulis.
Tipe array dapat dikembangkan menjadi array multidimensi. Misal 3D, 4D, dan sebagainya.


 

Tidak ada komentar:

Posting Komentar