Sabtu, 05 Januari 2013

Pentingnya Belajar Algoritma

Pentingnya belajar algoritma

  Algoritma menurut saya pertama kali adalah sebuah mata kuliah yang ada hubungannya dengan matematika. Namun, disaat saya telah mendapatkan mata kuliah tersebut, perkiraan saya pun salah, ternyata algoritma itu adalah suatu mata kuliah (ilmu) yang sangat berhubungan dengan logika. Dengan pembimbing algoritma yang sangat kocak dan menyenangkan, maka saat pemberian materi algoritma terasa tidak ada beban yang sangat berarti. semua materi materi tentang algoritma pun sangat mudah dicerna otak. Ternyta belajar algoritma itu sungguh sangat menyenangkan. Dimana kita dapat membuka logika kita lebih sempurna sperti layaknya kita bermain TTS atau semacamnya.

    Belajar algoritma kita di haruskan untuk dapat memecahkan suatu permasalahan dengan jalan yang mudah, tepat, simple, dan akurat. Logika yang sangat baik akan mempermudah kita untuk pembuatan program nantinya yang akan diberikan kepada customer.


Mengapa kita perlu belajar algoritma ?

    yaa mungkin banyak yang masih bertanya - tanya. Namun, disini saya akan memberikan sedikit penjelasan pentingnya belajar algoritma menurut pengalaman pribadi saya. Menurut saya, algoritma itu sangat penting, baik untuk kehidupan sehari - hari maupun untuk bisnis perkantoran (investasi). Apabila kita akan membuat suatu rencana, past nantinya akan ada suatu masalah yang timbul, maka disinilah penggunaan logika yang sangat baik untuk menyelesaikan masalah tersebut dengan cepat dan akurat. Kita kita terus berlatih algoritma , maka secara tidak langsung maka kita juga melatih logika mengatasi berbagai macam masalah dan persoalan. Dari sinilah kita dapat mengembangkan logika kita. Belajar algoritma sangatlah menyenangkan. Kita dapat membuat suatu rencana yang sangat efisien. Jadi, untuk rekan rekan yang belum belajar algoritma , apa salahnya untuk di coba hehe .. siapa tau kita nanti bisa membuat sebuah program bersama hehe ..

Oke deh, sekian dulu cerita saya mengenai "Pentingnya Belajar Algoritma". Semoga artikel saya bermanfaat :)

Void Rekursif

VOID REKURSIF

Void Rekursif adalah void atau fungsi yang memanggil dirinya sendiri. Di bawah ini saya akan berikan contoh program menggunakan c++ dengan void rekursif dan tanpa void rekursif agar semuanya paham bagaimana cara membedakannya :


Contoh VOID REKURSIF
(menampilkan angkan 1 - 10)

#include <iostream>
#include <conio>

void pake_rekursi (int n)
{
  n++;
  cout<<n<<endl;
  if(n<10)
 {
  pake_rekursi(n);
 }
}

main()
{
  pake_rekursi(0);
  getch();
}




Contoh VOID TANPA REKURSIF
(menampilkan angkan 1 - 10)

#include <iostream>
#include <conio>

void tanpa_rekursi(int n)
{
 int i;
 for (i=1;i<=n;i++)
 {
  cout<<i<<endl;
 }
}

main()
{
  tanpa_rekursi(10);
  getch();
}



Sumber : http://dexamaker.blogspot.com/2013/01/void-rekursif.html

Sekian dulu artikel mengenai "Void Rekursif". Semoga bermanfaat :)

Pengertian Array

  Pengertian Array
Array atau larik adalah koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks arraynya.
Array adalah variabel berindeks. Indeks harus bertipe yang memiliki keturutan (ada succesor dan predesor), misal integer, byte, character dan boolean.
Jadi array dipakai untuk menyajikan sekumpulan data yang bertipe sama dan disimpan dengan urutan sesuai dengan indeks secara kontinyu.

2.2.        Deklarasi Array Dimensi Satu
Algoritma :

Bentuknya :

DEKLARASI

NamaArray : Array[range_indeks]of tipe

Atau

TipeArray : TYPE Array[range_indeks]of tipe
NamaArray : TipeArray

Cara mengakses suatu elemen :
NamaArrayindeks
Contoh :
X : Array[1..10] of integer
Artinya    : mendefinisikan 10 variabel bertipe integer
Yaitu       : X1, X2, X3, … X10

Contoh lain :

NamaHari  : Array [1..7] of String

Nilai   : Array [1..10] of Char
Frekuensi : Array[‘A’..‘E’] of Real

Cara Memberikan Nilai/Harga pada Array

NilaiMka : Array[1..10] of Char

NilaiMka1 ß ’A’
NilaiMka2 ß ’C’
NilaiMka3 ß ’ ’

Bahasa C++ :
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat.
Bentuknya :
tipe nama_var[ukuran];

Dengan :
● tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
● ukuran : menyatakan jumlah maksimal elemen array

Contoh : 
● int c[5];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0.
● int c[5] = {-12, 0, 20, 85, 1551};
Nilai suatu variabel array dapat juga diinisialisasi secara langsung seperti yang terdapat di dalam tanda kurung kurawal pada saat deklarasi di atas.
●       int x[5] = {0};
Deklarasi variable array sekaligus mengisi setiap lokasi memorinya dengan nilai 0.         

Contoh Algoritma :
Algoritma Array1D
DEKLARASI
N : array[1..5] of integer
i : integer
DESKRIPSI
N1ß 25
N2ß 12
N3ß 17
N4ß 10
N5ß 15
For i ß 1 to 5 do
      Output (Ni)
endfor
Contoh Program dalam bahasa C++ :
#include<iostream.h>
main()
{
   int N[5]={25,12,17,10,15};
   int i;
   for(i=0; i<=4; i++)
       cout << N[i];
}  


atau :
#include<iostream.h>
main()
{
   int N[5]={25,12,17,10,15};
   int i;
   for(i=0; i<=4; i++)
       printf("%d  \n",N[i]);
}  

Output :    
25
12
17
10
15  

B.       Array Dimensi Dua
Algoritma :
Array dua dimensi hampir sama dengan array berdimensi satu, namun biasanya array berdimensi dua banyak digunakan untuk penyajian data berbentuk tabel atau juga berbentuk matriks.
Bentuknya :
DEKLARASI

   NamaArray : TipeElemen Array[r_indeks1, r_indeks2]


Cara mengakses suatu elemen :

  NamaArrayindeks1,indeks2

Contoh


1
2
3
4
1
10
1
11
15
2
20
2
21
25
3
30
3
31
35
4
40
4
41
45

Harga1,1 ß 10
Harga2,3 ß 21
Harga3,1 ß 30


Bahasa C++ :

Bentuknya :
tipe nama_var[ukuran1][ukuran2];
                                   
         ukuran1 = jumlah baris
         ukuran 2 = jumlah kolom

Contoh :
int data_huruf[2][4];
Contoh :
Sebuah matrik A berukuran 2x3 dapat dideklarasikan sebagai berikut :
int a[2][3] = {{11, 7, 4},{12, 3, 9}} yang akan menempati lokasi memori dengan susunan berikut :

0
1
2
0
11
7
4
1
12
3
9

Dan definisi variabel untuk setiap elemen tersebut adalah :


0
1
2
0
a[0][0]
a[0][1]
a[0][2]
1
a[1][0]
a[1][1]
a[1][2]












Contoh Program dalam bahasa C++:
/* Program : array.cpp */
#include<iostream.h>
void printArray(int [][3]);

main()
{     int matrik1 [2][3] = { {1, 1, 1}, {2, 2, 2}};
      int matrik2 [2][3] = { {3, 3, 3}, {4, 4, 4}};
      int matrik3 [2][3] = { {5, 5, 5}, {6, 6, 6}};
      printArray(matrik1);
      printArray(matrik2);
      printArray(matrik3);
      return 0;
}

void printArray(int a[][3])
{   int i, j;

      for(i=0; i<=1; i++)
          {  for(j=0; j<=2; j++)
                cout << a[i][j]<< " ";
              cout << endl;
          }
}

atau :
/* Program : array.cpp */
#include<iostream.h>
void printArray(int [][3]);

main()
{     int matrik1 [2][3] = { {1, 1, 1}, {2, 2, 2}};
      int matrik2 [2][3] = { {3, 3, 3}, {4, 4, 4}};
      int matrik3 [2][3] = { {5, 5, 5}, {6, 6, 6}};
      printArray(matrik1);
      printArray(matrik2);
      printArray(matrik3);
      return 0;
}

void printArray(int a[][3])
{   int i, j;

      for(i=0; i<=1; i++)
          {  for(j=0; j<=2; j++)
                printf("%d  ",a[i][j]);
              printf("\n");
          }
}
C.       Array Dimensi Banyak        
Algoritma :
Bentuknya :
DEKLARASI

  NamaArray : TipeElemen Array[r_indeks1, r_indeks2,… , r_indeksn]


Cara mengakses suatu elemen :

  NamaArrayindeks1, indeks2, indeks3


Bahasa C++ :
Bentuknya :
tipe nama_var[ukuran1][ukuran2]. . .[ukuranN];
        
         Contoh :
int data_huruf[2][4][6];

 
Sumber : http://aulya-imutz.blogspot.com/2012/01/array-larik.html  
  Sekian dulu artikel mengenai "Perngertian Array". Semoga Bermanfaat :)     

Jumat, 04 Januari 2013

Pengertian Void

Pengertian Void Dan Contoh


Void adalah tipe data yang digunakan untuk tipe suatu fungsi yang tidak mengembalikan nilai. Void itu digunakan biasa nya untuk sebuah function atau procedure yang tidak membutuhkan nilai balik. Input dalam tipe data void disebut dengan “Parameter”.

Ciri - ciri :
1. Tidak adanya keyword return.
2. Tidak adanya tipe data di dalam deklarasi fungsi.
3. Menggunakan keyword void.
4. Tidak dapat langsung ditampilkan hasilnya.
5. Tidak memiliki nilai kembalian fungsi.
 
Fungsi Void adalah menyederhanakan sebuah perintah jika sering dipanggil di program utama,untuk efisiensi syntax


Contoh Program C++ yang menggunakan 2 Void :

#include <iostream>
#include <conio>

void luaspersegipanjang (int P,int L)
{
int luas;
luas = P.L;

cout<<"Luasnya adalah =";<<luas;


}

void main ()

{

luaspersegipanjang (6,3);
luaspersegipanjang (7,4);
luaspersegipanjang (9,2);

getch ();
}
 
Sumber : 
http://seputaralgoritma.blogspot.com/2013/01/voidpengertian-dan-contoh.html
 
 
Sekian dulu artikel mengenai "Pengertian Void". Semoga Bermanfaat :)
 

Perintah Output dan Input

PERINTAH INPUT – OUTPUT
 
1. Perintah Output
    Perintah Output adalah perintah yang digunakan untuk mengeluarkan hasil proses komputer sehingga bisa dibaca oleh si pemakai (user). Adapun media yang digunakan untuk menampilkan hasil output tadi bisa berupa monitor atau dicetak ke kertas melalui printer. Salah satu fungsi untuk menampilkan output dalam Turbo C++ adalah fungsi printf(). Fungsi printf() digunakan untuk mencetak data baik berupa teks, numerik, konstanta maupun variabel. Contoh penggunaan printf() bisa dilihat pada contoh program berikut :



    Bisa dilihat dari contoh diatas, bahwa perintah printf() bisa diikuti dengan tanda %s, %f, %d dan lain-lain. Tanda % tersebut disebut dengan penentu format (format specifier).
 
Perintah lain untuk menampilkan output adalah dengan puts() dan putchar()
• Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter)
• Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhiri
dengan perpindahan baris.
• Fungsi putchar() digunakan untuk menampilkan sebuah karakter.
 
2. Penentu Format (Format Specifier)
Penggunaan penentu format sangat berkaitan dengan tipe data yang akan dicetak, artinya setiap tipe data mempunyai penentu format masing-masing. Tabel berikut merupakan tabel penentu format untuk masing-masing tipe data.

 Yang harus diperhatikan disini adalah bahwa urutan dari letak penentu format harus sesuai dengan urutan konstanta atau variabel yang akan mengisinya, tentunya untuk penentu format yang lebih dari satu. Hal ini dikarenakan, penentu format untuk masing-masing tipe data berbeda-beda.
 
3. Penentu Lebar Field (Field Width Specifier)
   Bila kita mencetak data yang bertipe float, sering kali terlihat tampilan yang kurang bagus, misalnya angka desimal yang tercetak terlalu banyak. Sebagai contoh :
printf(“Nilai Rata-Rata Anda = %f “,80.25);
maka pada saat program diatas dijalankan, output yang tampil sebagai berikut :
Nilai Rata-Rata Anda = 80.250000
jumlah angka desimal, sebenarnya bisa kita atur, demikian juga dengan lebar data (lebar
field). Untuk mengatur format float tersebut dengan bentuk sebagai berikut :

 Maka agar tampilan program diatas lebih bagus, maka harus diberikan format sebagai berikut :
 
printf(“Nilai Rata-Rata Anda = %5.2f \n“,80.25);
 
maka pada saat program diatas dijalankan, output yang tampil sebagai berikut :
 
Nilai Rata-Rata Anda = 80.25
 
Kebanyakan dari contoh-contoh program diatas banyak terdapat pernyataan \n disetiap akhir string yang dicetak. Tanda tersebut (\n) disebut dengan Escape Sequence. \n artinya data yang dicetak setelahnya akan di tampilkan di baris baru dengan kata lain \n berfungsi untuk berpindah baris pencetakan.
 
4. Escape Sequences
    Disebut Escape Sequence karena notasi ‘\’ dianggap sebagai karakter escape (menghindar) dalam arti bahwa karakter yang terdapat setelah tanda ‘\’ dianggap bukan teks biasa, jadi karakter ini dilarikan dari pengertian sebagai teks biasa. Beberapa escape sequence bisa dilihat pada tabel berikut.




Jika program 3.2 dijalankan, maka akan menghasilkan output sebagai berikut :
5. Mencetak Kode ASCII
Pada saat tertentu, kita memerlukan mencetak sebuah karakter ASCII, terutama pada saat kita membutuhkan sebuah tampilan yang lebih menarik, misalkan kita ingin membuat sebuah kotak. Di Turbo C++ fasilitas untuk mencetak kode ASCII bisa menggunakan Escape Sequence \x dan diikuti kode Hexadesimal dari kode karakter yang bersangkutan. Program dibawah ini mencontohkan cara membuat kotak dengan kode ASCII.
6. Menampilkan data ke printer
Untuk menampilkan data ke printer dapat menggunakan fungsi fprintf(), fputs() dan
fputc().
• Fungsi fprintf() digunakan untuk mencetak semua jenis tipe data ke printer dan secara
otomatis memberikan efek perpindahan baris.
• Fungsi fputs() digunakan untuk mencetak tipe data string ke printer
• Fungsi fputc() digunakan untuk mencetak tipe data karakter ke printer

7. Perintah Input
Setiap bahasa pemrograman tidak akan bisa digunakan secara fleksibel jika tidak memiliki perintah input. Perintah input adalah sebuah perintah dalam bahasa program yang mampu meneruskan nilai dari operator untuk diproses oleh komputer. Perintah input memerlukan perangkat keras input, biasanya adalah keyboard. Dalam Turbo C++, terdapat tiga perintah input yaitu scanf(), getche(), getch() dan gets().

a. Fungsi scanf()
Bentuk umum dari fungsi scanf() adalah sebagai berikut :
Penggunaan scanf() biasanya dikombinasikan dengan perintah printf(). Perintah
printf() disini berfungsi sekedar menampilkan keterangan tentang apa yang harus
diinputkan, sehingga operator bisa langsung mengerti harus memasukkan data apa.
Untuk penentu format pada scanf(), dapat dilihat pada tabel berikut :
Tabel 3.3 Tabel Penentu Format scanf()

Selain itu, penggunaan scanf() juga harus menyertakan tanda ‘&’ pada awal nama variabel. Tanda ‘&’ disini befungsi sebagai operator alamat (address operator).
Contoh penggunaan scanf() sebagai berikut :
 Jika terdapat beberapa proses input (memasukkan data) sekaligus, maka sebaiknya
ditambahkan fungsi fflush(stdin); setelah fungsi scanf(). Fungsi fflush(stdin) berfungsi
menghapus buffer di dalam alat I/O.

Scanf() juga bisa digunakan untuk menginputkan beberapa data sekaligus dalam satu baris asalkan jumlah dan tipe penentu format sesuai dengan variabel yang akan diinputkan. Data yang akan dimasukkan dapat dipisahkan dengan spasi, tab atau tanda pemisah lain seperti koma (,), garis hubung(-), atau titik dua(:). Pemisah data dalam input yang digunakan harus sama dengan pemisah data dalam scanf().
Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :
 
a. Fungsi scanf() memakai penentu format
b. Fungsi scanf() memberi pergantian baris secara otomatis
c. Fungsi scanf() tidak memerlukan penentu lebar field
d. Variabelnya harus menggunakan operator alamat &
b. Fungsi getche() dan Fungsi getch()
Fungsi input getche() memiliki sifat yang sedikit berbeda dari scanf(). Perbedaan tersebut
antara lain :

  1. Bila dalam scanf() jumlah karakter data yang diinputkan boleh bebas, maka dalam getche() hanya sebuah karakter yang bisa diterima.
  2. Bila scanf() membutuhkan tombol RETURN/ENTER untuk mengakhiri input, maka
dalam getche() tidak membutuhkannya. Input dianggap selesai begitu kita
memasukkan satu karakter dan secara otomatis akan melanjutkan ke baris perintah
berikutnya.
 
getche() merupakan singkatan dari get character and echo yang artinya ‘menerima sebuah karakter kemudian tampilkan’. Input yang diterima getche() akan disimpan ke dalam variabel karakter yang sebelumnya harus sudah dideklarasikan. Contoh penggunaannya seperti statemen dibawah ini :
                                          x=getche();
Jadi variabel x akan menyimpan data yang diinputkan melalui getche().

Fungsi input lain yang mirip dengan getche() adalah getch(). Satu-satunya perbedaan antara getche() dan getch() adalah getche()akan menampilkan karakter yang kita ketikkan, sedangkan getch() tidak akan menampilkan, melainkan hanya menyimpannya dalam memori saja, jadi apa yang kita ketikkan tidak akan muncul dilayar sebelum kita memberikan perintah untuk mencetak nilai tersebut.
 
a. Fungsi getch() dan getche() digunakan untuk membaca data karakter.
b. Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter.
c. Tidak memberikan efek pergantian baris secara otomatis
d. Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan
pada layar sehingga sering digunakan untuk meminta inputan berupa password.
e. Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar.

c. Fungsi gets()
  a. Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat
digunakan untuk memasukkan data numerik.
  b. Harus diakhiri dengan penekanan tombol enter
  c. Cursor secara otomatis akan pindah baris
  d. Tidak memerlukan penentu format

d. getchar()
 a. Fungsi getchar() digunakan untuk membaca data yang bertipe karakter
 b. Harus diakhiri dengan penekanan tombol enter
 c. Karakter yang dimasukkan terlihat pada layar
 d. Pergantian baris secara otomatis


8. Operator
a. Operator Penugasan    Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama
dengan (“=”).
Contoh :
 
nilai = 80;
 
A = x * y;
 
Artinya : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil
perkalian antara x dan y.
 
b. Operator Aritmatika    Bahasa C menyediakan lima operator aritmatika, yaitu :
 
1.* : untuk perkalian
2./ : untuk pembagian
3.% : untuk sisa pembagian (modulus)
4.+ : untuk pertambahan
5.- : untuk pengurangan
 
Catatan :
Operator % digunakan untuk mencari sisa pembagian antara dua bilangan.
Misalnya :
1.9 % 2 = 1                          9 % 3 = 0                     9 % 5 = 4                            9 % 6 = 3


c. Operator Hubungan (Perbandingan)
Operator hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C :

d. Operator Logika
    Jika operator hubungan membandingkan hubungan antara dua buah operand, maka
operator logika digunakan untuk membandingkan logika hasil dari operator-operator
hubungan. Operator logika ada tiga macam, yaitu :
 
1. && : Logika AND (DAN)
2. || : Logika OR (ATAU)
3. ! : Logika NOT (INGKARAN)
 
e. Operator Bitwise
   Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di
memori. Operator bitwise dalam bahasa C :
 
1. << : Pergeseran bit ke kiri
2. >> : Pergeseran bit ke kanan
3. & : Bitwise AND
4. ^ : Bitwise XOR (exclusive OR)
5. | : Bitwise OR
6. ~ : Bitwise NOT
 
f. Operator Unary
   Operator Unary merupakan operator yang hanya membutuhkan satu operand saja.
Dalam bahasa C terdapat beberapa operator unary, yaitu :

Sumber : http://blog.binadarma.ac.id/yantox_ska/wp-content/uploads/2012/10/ModulAlgoC03-IPO.pdf


Sekian dulu artikel mengenai "Perintah Output dan Input". Semoga bermanfaat :)