Mikrotik

Start Learning Mikrotik In This Blog

JAVA

Start Learning Java In This Blog

C++

Start Learning C++ In This Blog

Ubiquiti Networks

Start Learning Networking In This Blog

Minggu, 28 Februari 2016

INSTALLASI LINUX UBUNTU


INSTALLASI SISTEM OPERASI LINUX UBUNTU



Disini kita akan melakukan installasi sistem operasi linux ubuntu
Barang yang perlu disiapkan adalah :
  • Laptop/PC yang akan diinstallasi
  • ISO Linux Ubuntu boleh dalam bentuk CD (disini saya menggunakan Linux Ubuntu 15.04)
Jika sudah dipersiapkan barang-barangnya, saatnya melakukan installasi. Berikut langkah-langkahnya :
  1. Masukkan CD ke Laptop/PC
  2. Jika sudah muncullah pilihan "Try Ubuntu" atau "Install Ubuntu". Klik "Install Ubuntu".

  1.  Kemudian di langkah berikutnya, klik Continue saja.

  1. Pada Installation Type, biarkan saja di Erase disk and Install Ubuntu, kemudian klik Install Now. Tetapi jika ingin mengatur partisi Harddisk sendiri pilih “Something else”.

  1. Kemudian muncul konfirmasi partisi disk yang akan diformat. Klik saja Continue.

  1. Setelah itu pilih lokasi pusat perhitungan waktu, karena saya tinggal di Bali saya pilih Makassar, caranya klik saja tepat di antara Kalimantan dan Sulawesi (Karena gambarnya kecil). Kemudian klik Continue.

  1. Setelah itu, pilih Keyboard Layout. Langsung saja Continue.

  1. Kemudian ketik username dan password. Kenapa harus diisi password? Karena untuk menjaga file-file yang kita miliki supaya tidak diotak-atik oleh orang bertangan jahil. Setelah itu klik Continue.

  1. Kemudian tunggu proses installasi sampai selesai “JANGAN MENGKLIK SKIP”, ditakutkan nanti pada saat proses installasi selesai ada bagian yang error pada saat menggunakan Linux Ubuntu.

  1. Jika proses installasi selesai, klik Restart Now.

  1. Tampillah tampilan awal Linux Ubuntu dengan memasukkan password yang sudah dibuat pada saat Installasi.

  1. Dan Linux Ubuntu telah siap digunakan.


Sekian langkah-langkah installasi sistem operasi Linux Ubuntu dari saya. Jika ada kekurangan atau salah kata silahkan berikan komentar kalian.

SEKIAN DAN TERIMA KASIH

Kamis, 04 Juni 2015

SEARCHING PADA C++


SEARCHING PADA C++
Searching, sesuai dengan namanya searching (mencari) metode ini bertujuan untuk mencari data dengan cara menelusuri data-data tersebut.
Tempat data dicari dapat berupa array dalam memori, bisa juga pada file yang ada di eksternal storage.
Sebagai contoh :
Jika diketahui ada sebuah array bernama A yang menampung 10 data yang bertipe integer yaitu A={1,2,3,4,8,5,7,9,6,0} dan kita diberi tugas untuk mencari beberapa data misalnya:
·      Jika data yang akan dicari dalam array A adalah 6, maka dengan cepat dapat kita ketahui bahwa data 6 ada dalam array A pada index ke-8 (index pada array dimulai dari 0).
·      Sedangkan jika data yang akan dicari dalam array A adalah 10, maka dapat disimpulkan bahwa array A tidak memiliki data 12 tersebut.
Ada 2 macam metode searching, yaitu :
1)   Sequensial Search; dan
2)   Binary Search

SEQUENSIAL SEARCH
Sequensial search adalah metode pencarian urut. Metode ini adalah metode pencarian yang paling mudah, karena cara mencarinya dengan cara menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu.
Proses dari sequensial search adalah :
1)   Tentukan banyaknya data yang akan diolah, misalnya banyak data adalah N.
2)   Tentukan data apa yang akan dicari, misalnya data yang akan dicari adalah C.
3)   Deklarasikan sebuah counter untuk menghitung banyak data yang ditemukan, misalnya counternya adalah K.
4)   Inisialisasikan K=0
5)   Lakukanlah perulangan sebanyak N kali (sebanyak data yang akan diolah).
6)   Dalam tiap proses perulangan tersebut periksalah apakah data yang sedang diolah sama dengan data yang dicari.
7)   Jika sama K=K+1
8)   Jika tidak, lanjutkan proses perulangan.
9)   Setelah proses perulangan berhenti, periksalah nilai K.
10)    Jika nilai K>0, artinya data yang dicari ada dalam array dan tampilkan nilai K ke layer sebagai jumlah data yang ditemukan.
11)    Jika nilai K=0, artinya data yang dicari tidak ditemukan dalam array dan tampilkan ke layar bahwa data tidak ditemukan
12)    Proses selesai.
Dari proses di atas dapat disimpulkan bahwa dalam mencari data, sequensial search akan membandingkan satu-persatu data yang ada.
Kita langsung saja coba studi kasus dan source codenya.
1.    Studi Kasus :
Buatlah program sequensial search dengan maksimal banyaknya data yaitu 10, dan data yang dicari yaitu 7 ada 2 buah yang berada di indeks ke-2 dan ke-5.
2.    Carilah data 10 pada array, tetapi data tersebut tidak ditemukan. Tampilkan di layer bahwa data tidak ditemukan
Source code :
#include<iostream.h>
#include<conio.h>
#include<stdio.h>

void main()
{
int A[10],indeks[10], i,j,k,n;
cout<<"--------------------------------------------------------------"<<endl;
cout<<"SEQUENSIAL SEARCH"<<endl;
cout<<"--------------------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA [MAX 10] : ";
cin>>n;
cout<<"--------------------------------------------------------------"<<endl;

for(i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-["<<(i+1)<<"] = ";
cin>>A[i];
}
cout<<"--------------------------------------------------------------"<<endl;

cout<<"DATA YANG AKAN DICARI : ";
cin>>k;
cout<<"--------------------------------------------------------------"<<endl;

j=0;
for (i=0;i<n;i++)
{
if(A[i]==k)
{
indeks[j]=i;
j++;
}
}

if (j>0)
{
cout<<"DATA "<<k<<" YANG DICARI ADA "<<j<<" BUAH"<<endl;
cout<<"DATA TERDAPAT PADA INDEKS KE : ";
for(i=0;i<j;i++)
{
cout<<indeks[i]<<" ";
}
cout<<endl;
}
else
{
cout<<"DATA TIDAK DITEMUKAN"<<endl;;
}

cout<<"--------------------------------------------------------------"<<endl;
cout<<"SEQUENSIAL SEARCH SELESAI !"<<endl;
cout<<"--------------------------------------------------------------"<<endl;
getch();
}
Berikut adalah hasil dari studi kasus di atas :
1.    Hasil studi kasus no. 1 :
2.    Hasil studi kasus no.2 :


BINARY SEARCH
Pada binary search, proses pencarian data dapat dilakukan jika data sudah terurut.
Prinsip dari binary search, yaitu :
1)   Mula-mulanya diambil posisi awal (indeks ke-0) dan posisi akhir = N-1, kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari dibandingkan dengan data tengah.
2)   Jika data yang dicari lebih kecil dari data tengah, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah –1.
3)   Jika data yang dicari lebih besar dari data tengah, proses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi tengah +1.
4)   Jika data sama, berarti data ditemukan.
Langsung saja kita ke studi kasus dan source codenya.
Studi kasus :
1.    Buatlah program binary search dengan metode sorting apapun (ascending) disini saya menggunakan sorting bubble sort. Kemudian inputkan banyaknya data (maks. 10), lalu tampilkan data yang diinputkan dan data yang sudah diurutkan. Kemudian cari data 2. Di sini data 2 tersebut ada dalam array.
2.    Cari data 10 dalam program binary search. Di sini data 10 tidak ada dalam array, tampilkan pada layer jika data tidak ditemukan.
Source code :
#include<iostream.h>
#include<conio.h>
#include<stdio.h>

void main()
{
int A[10],n, i,j,k,tmp,r,l,m,tm;
cout<<"-------------------------------------------------"<<endl;
cout<<"BINARY SEARCH"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA = ";
cin>>n;
cout<<"-------------------------------------------------"<<endl;

for(i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-["<<(i+1)<<"] = ";
cin>>A[i];
}

cout<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN : "<<endl;
for(i=0;i<n;i++)
{
cout<<A[i]<<" ";
}

for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if (A[i]>A[j])
{
tmp=A[i];
A[i]=A[j];
A[j]=tmp;
}
}
}

cout<<endl<<"-------------------------------------------------"<<endl;
cout<<"DATA SETELAH DIURUTKAN :"<<endl;
for(i=0;i<n;i++)
{
cout<<A[i]<<" ";
}
cout<<endl<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DICARI : ";
cin>>k;
cout<<"-------------------------------------------------"<<endl;

tm=0;
r=n;
l=0;
while(r>=l)
{
m=(r+l)/2;
if(A[m]==k)
{
tm++;
}
if(A[m]<k)
{
l=m+1;
}
else
{
r=m-1;
}
}

if (tm>0)
{
cout<<"DATA "<<k<<" YANG DICARI ADA DALAM ARRAY"<<endl;
}
else
{
cout<<"DATA TIDAK DITEMUKAN"<<endl;
}
cout<<"-------------------------------------------------"<<endl;
cout<<"BINARY SEARCH SELESAI !"<<endl;
cout<<"-------------------------------------------------"<<endl;
getch();
}
Berikut adalah hasil dari studi kasus di atas :
1.    Hasil dari studi kasus No.1 :

2.    Hasil dari studi kasus No. 2 :

SEKIAN MATERI SEARCHING DARI SAYA JIKA ADA KEKURANGAN MOHON MAAF
TERIMA KASIH
Sumber : Materi dari STMIK Mercusuar dan coding dari Dosen Praktikum Struktur Data : IB Ketut Surya Arnawa, S.Kom.

SORTING PADA C++



SORTING : SELECTION, INSERTION, DAN BUBBLE SORT
SORTING
Sorting (Pengurutan Data) dapat didefinisikan sebagai suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Tujuan dari sorting yaitu memudahkan dalam pencarian anggota dari suatu himpunan.
Ada banyak jenis metode sorting, yaitu ada :
1)   Selection Sort;
2)   Insertion Sort;
3)   Bubble Sort;
4)   Radix Sort;
5)   Merge Sort;
6)   Shell Sort;
7)   Quick Sort; dll.
Disini saya akan membahas 3 metode sorting saja yaitu selection, insertion, dan bubble sort.
Dalam metode sorting, ada 2 macam pengurutan, yaitu pengurutan data dari kecil ke besar (Ascending), dan pengurutan data dari yang terbesar ke terkecil (Descending).

SELECTION SORT
Metode seleksi adalah pengurutan data dengan cara mencari data yang terkecil kemudian menukarnya dengan data yang digunakan sebagai acuan (pivot).
Proses dari Selection Sort Ascending adalah sebagai berikut :
1.    Mencari data terkecil dari data pertama sampai dengan data yang terakhir. Kemudian posisinya ditukar dengan data yang pertama.
2.    Mencari data terkecil dari data kedua sampai dengan data terakhir, kemudian posisinya ditukar dengan data yang kedua.
3.    Mencari data terkecil dari data ketiga sampai dengan data terakhir, kemudian posisinya ditukar dengan data yang ketiga.
4.    Begitu seterusnya sampai semua data terurut naik. Apabila terdapat n buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan, dengan data terakhir, yaitu data ke n tidak perlu diurutkan karena hanya tinggal data satu-satunya.
Untuk proses dari Selection Sort Descending (mencari data terbesar) adalah kebalikan dari proses di atas.
Sebagai contoh :
Terdapat suatu variable array dimana nilai dalam array tersebut :
NILAI[8] = { 44, 55, 12, 42, 94, 18, 6, 67 }
Penyelesaiannya adalah :
Agar lebih jelasnya kita langsung saja ke studi kasusnya dan source codenya pada borland C++ :
Selection Sort Ascending
Inputkan banyaknya data yang akan dilakukan sorting (max. 10). Inputkan data sesuai dengan banyaknya data yang diminta, kemudian urutkanlah data tersebut dari yang terkecil ke yang terbesar!
Source code :
#include<iostream.h>
#include<conio.h>

int data[10];
int n;

void tukar(int a, int b)
{
int t;
t=data[b];
data[b]=data[a];
data[a]=t;
}

void main()
{
int pos,i,j;

cout<<"-------------------------------------------------"<<endl;
cout<<"SELECTION SORT ASCENDING"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAK DATA = ";
cin>>n;
cout<<"-------------------------------------------------"<<endl;

for(int i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-"<<(i+1)<<" = " ;
cin>>data[i];
}
cout<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN :"<<endl;
for(i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"-------------------------------------------------"<<endl;

for(i=0;i<n-1;i++)
{
pos=i;
for(j=i+1;j<n;j++)
{
if(data[j]<data[pos])pos=j;
}
if(pos!=i) tukar(pos,i);
}

cout<<"DATA YANG TELAH DIURUTKAN SECARA ASCENDING : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;

cout<<"-------------------------------------------------"<<endl;
cout<<"SELECTION SORT SELESAI !"<<endl;
cout<<"-------------------------------------------------"<<endl;
getch();
}
Berikut ini hasil dari source code di atas :

Selection Sort Descending
Buatlah program seperti diatas, tetapi urutkan data dari yang terbesar ke terkecil.
Source code :
#include<iostream.h>
#include<conio.h>

int data[10];
int n;

void tukar(int a, int b)
{
int t;
t=data[b];
data[b]=data[a];
data[a]=t;
}

void main()
{
int pos,i,j;

cout<<"-------------------------------------------------"<<endl;
cout<<"SELECTION SORT DESCENDING"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAK DATA = ";
cin>>n;
cout<<"-------------------------------------------------"<<endl;

for(int i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-"<<(i+1)<<" = " ;
cin>>data[i];
}
cout<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN :"<<endl;
for(i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"-------------------------------------------------"<<endl;

for(i=0;i<n-1;i++)
{
pos=i;
for(j=i+1;j<n;j++)
{
if(data[j]>data[pos])pos=j;
}
if(pos!=i) tukar(pos,i);
}

cout<<"DATA YANG TELAH DIURUTKAN SECARA DESCENDING : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;

cout<<"-------------------------------------------------"<<endl;
cout<<"SELECTION SORT SELESAI !"<<endl;
cout<<"-------------------------------------------------"<<endl;
getch();
}
Hasilnya jika telah di run adalah :


INSERTION SORT
Pada metode insertion sort, proses pengurutannya dimulai dari data ke-2 (indeks ke-1), kemudian disisipkan pada tempat yang sesuai. Dan data pertama (data pada indeks ke-0) dianggap sudah pada tempatnya.
Kita coba saja langsung ke studi kasus dan source codenya :
Insertion Sort Ascending
Studi Kasus :
Buatlah program seperti selection di atas, dan urutkan data tersebut dari terkecil ke terbesar dengan menggunakan metode insertion sort.
Source code :
#include<iostream.h>
#include<conio.h>

int data[10];
int n;

void main()
{
int tmp,i,j;

cout<<"-------------------------------------------------"<<endl;
cout<<"INSERTION SORT ASCENDING"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA = ";
cin>>n;
cout<<"-------------------------------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-"<<(i+1)<<" = " ;
cin>>data[i];
}

cout<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN :"<<endl;
for(i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"-------------------------------------------------"<<endl;

for(i=1;i<n;i++)
{
tmp=data[i];
j=i-1;
while(data[j]>tmp && j>=0)
{
data[j+1]=data[j];
j--;
}
data[j+1]=tmp;
}

cout<<"DATA YANG TELAH DIURUTKAN SECARA ASCENDING : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;

cout<<"-------------------------------------------------"<<endl;
cout<<"INSERTION SORT SELESAI !"<<endl;
cout<<"-------------------------------------------------"<<endl;
getch();
}
Berikut adalah hasilnya jika di run :

Insertion Sort Descending
Studi kasus :
Buatlah program yang sama, tetapi urutkan dari yang terbesar ke terkecil.
Source code :
#include<iostream.h>
#include<conio.h>

int data[10];
int n;

void main()
{
int tmp,i,j;

cout<<"-------------------------------------------------"<<endl;
cout<<"INSERTION SORT DESCENDING"<<endl;
cout<<"-------------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA = ";
cin>>n;
cout<<"-------------------------------------------------"<<endl;
for(int i=0;i<n;i++)
{
cout<<"INPUTKAN DATA KE-"<<(i+1)<<" = " ;
cin>>data[i];
}

cout<<"-------------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN :"<<endl;
for(i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"-------------------------------------------------"<<endl;

for(i=1;i<n;i++)
{
tmp=data[i];
j=i-1;
while(data[j]<tmp && j>=0)
{
data[j+1]=data[j];
j--;
}
data[j+1]=tmp;
}

cout<<"DATA YANG TELAH DIURUTKAN SECARA DESCENDING : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;

cout<<"-------------------------------------------------"<<endl;
cout<<"INSERTION SORT SELESAI !"<<endl;
cout<<"-------------------------------------------------"<<endl;
getch();
}
Berikut hasilnya jika di run :

BUBBLE SORT :
Dalam bubble sort, prosesnya adalah selalu membandingkan 2 data yang berdekatan atau disebelahnya.
Lebih jelasnya langsung saja ke studi kasus dan source codenya.
Bubble Sort Ascending
Studi Kasus :
Buatlah program seperti selection dan insertion sort di atas dengan menggunakan metode bubble sort, dan urutkan data tersebut dari yang terkecil ke terbesar.
Source code :
#include<iostream.h>
#include<conio.h>

int data[20];
int n;

void main()
{
int i, j, tmp;

cout<<"---------------------------------------------"<<endl;
cout<<"BUBBLE SORT ASCENDING"<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA : ";
cin>>n;
cout<<"---------------------------------------------"<<endl;
for(i=0; i<n; i++)
{
cout<<"INPUTKAN BILANGAN KE-["<<(i+1)<<"] : ";
cin>>data[i];
}

cout<<"---------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN : "<<endl;
for(i=0; i<n; i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"---------------------------------------------"<<endl;

for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
if(data[i]>data[j])
{
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
}

cout<<"DATA SETELAH DIURUTKAN SECARA ASCENDING : "<<endl;
for(i=0; i<n; i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"---------------------------------------------"<<endl;
cout<<"BUBBLE SORT SELESAI !"<<endl;
cout<<"---------------------------------------------"<<endl;
getch();
}
Berikut hasilnya jika di run :

Bubble Sort Descending
Studi kasus :
Buatlah program seperti di atas, kemudian urutkan data dari terbesar ke terkecil.
Source code :
#include<iostream.h>
#include<conio.h>

int data[20];
int n;

void main()
{
int i, j, tmp;

cout<<"---------------------------------------------"<<endl;
cout<<"BUBBLE SORT DESCENDING"<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"INPUTKAN BANYAKNYA DATA : ";
cin>>n;
cout<<"---------------------------------------------"<<endl;
for(i=0; i<n; i++)
{
cout<<"INPUTKAN BILANGAN KE-["<<(i+1)<<"] : ";
cin>>data[i];
}

cout<<"---------------------------------------------"<<endl;
cout<<"DATA YANG DIINPUTKAN : "<<endl;
for(i=0; i<n; i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"---------------------------------------------"<<endl;

for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
if(data[i]<data[j])
{
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
}

cout<<"DATA SETELAH DIURUTKAN SECARA DESCENDING : "<<endl;
for(i=0; i<n; i++)
{
cout<<data[i]<<" ";
}
cout<<endl<<"---------------------------------------------"<<endl;
cout<<"BUBBLE SORT SELESAI !"<<endl;
cout<<"---------------------------------------------"<<endl;
getch();
}
Dan berikut hasil dari source code di atas jika di run :

SEKIAN MATERI SORTING DARI SAYA JIKA ADA KEKURANGAN SAYA MOHON MAAF
TERIMA KASIH
Sumber : Materi Dari Buku Algoritma Pemrograman Menggunakan C++ : Abdul Kadir dan Coding dari Dosen Praktikum Struktur Data : IB Ketut Surya Arnawa, S.Kom.