Monday, 2 December 2013

Java: Membuat Aplikasi Berada di Tengah Layar

Pada kesempatan kali ini saya akan menjelaskan tutorial java sederhana, yaitu bagaimana cara membuat aplikasi desktop berada di tengah layar monitor ketika di-run.

Langsung aja, buka Netbeans IDE (atau editor lainnya).


Buat project baru, beri nama FrameExample (atau apapun namanya).

Hilangkan centang pada bagian Create Main Class. Klik Finish.


Kemudian pada bagian project => Source Packages, klik kanan, buat package baru, saya memberi nama packagenya com.example.ergun.frameexample.

Kemudian di dalam package yang sudah dibuat tadi, buat JFrame baru, beri nama FrmMain.


Kemudian run project. 



Saat aplikasi dijalankan, secara default aplikasi akan berada di bagian kiri atas monitor. Untuk mengeset agar aplikasi berada di tengah layar, tambahkan code berikut di bawah method initComponents() pada bagian constructor FrmMain:
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int width = (dim.width - getSize().width) / 2;
int height = (dim.height - getSize().height) / 2;
setLocation(width, height);
Kemudian run project, hasilnya sebagai berikut:


Aplikasi sudah berada di tengah layar, mudahkan? :D

Sekian tutorial sederhana dari saya, semoga bermanfaat.

Friday, 29 November 2013

Tingkatan Hacker

Banyak dari kita beranggapan bahwa hacker itu jahat, hacker suka membobol ATM, membobol komputer, membobol security, mencuri password atau pun bertindak yang merugikan orang lain. Sekarang anggapan seperti itu sebaiknya dihilangkan karena hacker itu tidak sejahat yang dibayangkan, bahkan tidak jahat sama sekali.

Hacker adalah sekumpulan atau beberapa kelompok yang memiliki tujuan untuk mengembangkan ilmu pengetahuan dan sharing informasi bebas tanpa batas dan gratis. Hacker adalah seseorang yang ingin mengetahui secara mendalam mengenai kerja suatu sistem, komputer, atau jaringan komputer. Mereka terdiri dari para programmer yang ahli jaringan dan karena mereka jugalah internet tercipta sehingga kita bisa menikmatinya dan membuat kita lebih mudah mencari ilmu, sharing pengetahuan, dan lain-lain. Internet sendiri diciptakan lewat pengembangan sistem operasi UNIX.

Istilah hacker lahir sekitar tahun 1959 dari MIT(Massacusetts Institute of Technology), sebuah universitas di Amerika yang terdiri dari orang-orang cerdas namun cenderung tidak mempercayai adanya Tuhan (Atheis). Saat itulah semua berawal, dari sebuah ruangan baru, EAM room pada Building 26 MIT, sebuah tempat yang merupakan nenek moyang dari dunia baru yang kini kita kenal, tempat nenek moyang sebuah mesin yang kini kita sebut sebagai "komputer", mesin yang mampu membawa kita menuju kelebih-baikan dengan kebebasan informasi, dunia para hacker sejati.

Sehebat apapun hacker tidak akan di hargai oleh hacker lain jika dirinya hanya mendapatkan ilmu dari hacker lain tanpa mau berusaha sendiri mencari ilmu. Para hacker selalu bekerjasama secara suka rela menyelesaikan masalah dan membangun sesuatu. Mereka selalu berbagi informasi, memberi jawaban serta berlomba-lomba untuk berbuat yang terbaik agar dihormati di lingkungannya. Mereka tidak pernah berhenti belajar untuk menjadi ahli dan sangat anti untuk melakukan sesuatu berulang-ulang dan membosankan. Mereka berpedoman pada kata-kata bijak : “Untuk mengikuti jalan – pandanglah sang ahli – ikuti sang ahli – berjalan bersama sang ahli – kenali sang ahli jadilah sang ahli.”

Untuk menjadi seorang hacker anda harus menguasai beberapa bahasa pemrograman dan tentu saja sikap-sikap yang bisa membuat anda diterima di lingkungan para hacker. Biasanya calon hacker memulai dengan belajar bahasa Python karena bahasa ini tergolong bahasa pemrograman yang termudah. Setelah itu anda juga harus menguasai Java yang sedikit lebih sulit akan tetapi menghasilkan kode yang lebih cepat dari Python, C, C++ yang menjadi inti dari UNIX, dan Perl serta LISP untuk tingkat lanjut.

Tingkatan-Tingkatan Dalam Hacker

Lamer 
Mereka adalah orang tanpa pengalaman dan pengetahuan yang ingin menjadi hacker(wanna-be hacker). Mereka biasanya membaca atau mendengar tentang hacker dan ingin seperti itu. Penggunaan komputer mereka terutama untuk main game, IRC, tukar menukar software pirate, mencuri kartu kredit. Biasanya melakukan hacking menggunakan software trojan, nuke dan DoS. Biasanya menyombongkan diri melalui IRC channel dan sebagainya. Karena banyak kekurangannya untuk mencapai elite, dalam perkembangannya mereka hanya akan sampai level developed kiddie atau script kiddie saja.

Script Kiddie 
Seperti developed kiddie, Script Kiddie biasanya melakukan aktivitas di atas. Seperti juga lamer, mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal. Biasanya tidak lepas dari GUI. Hacking dilakukan menggunakan trojan untuk menakuti dan menyusahkan hidup sebagian pengguna internet.

Developed Kiddie
Sebutan ini terutama karena umur kelompok ini masih muda (ABG) dan masih sekolah. Mereka membaca tentang metode hacking dan caranya di berbagai kesempatan. Mereka mencoba berbagai sistem sampai akhirnya berhasil dan memproklamirkan kemenangan ke lainnya. Umumnya mereka masih menggunakan Grafik User Interface (GUI) & baru belajar basic dari UNIX, tanpa mampu menemukan lubang kelemahan baru di sistem operasi.

Semi Elite
Hacker ini biasanya lebih muda daripada Elite. Mereka juga mempunyai kemampuan dan pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi (termasuk lubangnya). Biasanya dilengkapi dengan sejumlah kecil program cukup untuk mengubah program eksploit. Banyak serangan yang dipublikasi dilakukan oleh hacker kaliber ini, sialnya oleh para Elite mereka sering kali dikategorikan lamer.

Elite 
Dikenal sebagai 3l33t, 3l337, 31337 atau kombinasi dari itu; merupakan ujung tombak industri keamanan jaringan. Mereka sangat mengerti sistem operasi luar dalam, sanggup mengkonfigurasi dan menyambungkan jaringan secara global. Sanggup melakukan pemrogramman setiap harinya. Sebuah anugrah yang sangat alami, mereka biasanya efisien dan terampil menggunakan pengetahuannya dengan tepat. Mereka seperti siluman dapat memasuki sistem tanpa diketahui, walaupun mereka tidak akan menghancurkan data-data karena mereka selalu mengikuti peraturan yang ada.

Wednesday, 27 November 2013

Linux: Menginstal Linux Ubuntu 13.04 di VirtualBox

Tutorial kali ini adalah untuk memenuhi tugas Maintenance.
Pada kesempatan kali ini saya akan menjelaskan cara instalasi OS Linux Ubuntu 13.04 Raring Ringtail di VirtualBox. Langsung aja, pertama-tama buka program Oracle VM VirtualBox.


Kemudian klik New. Akan muncul dialog Create New Virtual Machine.


Klik Next, akan masuk ke menu VM Name and OS Type, masukkan nama Virtual Machine yang akan kita buat dan masukkan tipe OS dan versi yang akan digunakan, disini saya memberi nama Virtual Machine-nya denga nama TI1220214_ErikGunawan dan tipe OS Linux versi Ubuntu.


Klik Next, menu selanjutnya adalah Memory, masukkan berapa banyak memori yang akan digunakan pada Virtual Box. Disini saya mengalokasikan memori untuk Virtual Machine sebesar 1024 MB.


Klik Next, menu selanjutnya adalah Virtual Hard Disk¸ jika belum pernah membuat virtual hard disk, kita pilih Create new hard disk.


Klik Next, akan muncul wizard baru, yaitu Create New Virtual Disk.


Klik Next, kita akan masuk ke menu Hard Disk Storage Type. Secara default Storage Type yang dipilih adalah Dinamically expanding storage.


Klik Next, menu selanjutnya adalah Virtual Disk Location and Size. Atur lokasi dimana virtual disk akan disimpan dan ukuran virtual disk tersebut. Disini saya menempatkan lokasi virtual disk di E:\VirtualBox\Linux.vdi, Linux.vdi adalah nama dari virtual disk yang kita buat, Anda bisa mengubah nama virtual disknya sesuai keinginan. Kemudian untuk ukuran virtual disk saya beri ukuran sebesar 8 GB.


Klik Next, selanjutnya adalah menu Summary, yaitu ringkasan dari langkah-langkah yang telah kita lewati tadi.


Klik Finish. Kita akan kembali ke wizard Create New Virtual Machine. Menu ini adalah Summary, yaitu ringkasan dari rangkaian proses yang telah kita lewati.


Klik Finish. Selanjutnya kita akan kembali ke tampilan awal Virtual Box. Akan muncul virtual machine yang telah kita buat. Untuk menjalankan virtual machine, klik Start.


 
Virtual Machine akan muncul. Kemudian saat pertama kali dijalankan, akan muncul First Run Wizard.


Klik Next, akan masuk ke menu Select Installation Media. Masukkan Disk Image sistem operasi. Format filenya dapat berupa *.dmg, *.iso atau *.cdr. Disini saya memasukkan file ISO Linux Ubuntu 13.04.


Klik Next, akan masuk ke menu Summary, yaitu ringkasan dari proses sebelumnya.


Klik Finish. Virtual Machine akan booting dengan OS yang telah kita pilih.


Kemudian akan masuk ke proses instalasi Ubuntu. Langkah pertama adalah pemilihan bahasa dan pilihan untuk Try Ubuntu, yaitu mencoba Ubuntu tanpa menginstal ke hard disk, atau Install Ubuntu, yaitu menginstal Ubuntu. Kita pilih bahasa English (atau bahasa lainnya yang Anda inginkan) dan Install Ubuntu.


Langkah selanjutnya adalah Preparing to Install Ubuntu. Jika tidak terhubung ke internet, uncheck Download updates while installing. Klik Continue.


Langkah selanjutnya adalah Installation type, pilihan default adalah Erase disk and install Ubuntu. Klik Install Now.


Langkah selanjutnya adalah Where are you?, yaitu memilih lokasi Anda. Klik Continue.


Langkah selanjutnya adalah Keyboard layout, yaitu pengaturan bahasa pada keyboard. Langsung aja klik Continue.


Langkah selanjutnya adalah Who are you?. Pada langkah ini Anda diminta untuk mengisi username, computer name dan password. Klik Continue.


Selanjutnya sistem akan mulai menginstal. Tunggu proses instal selesai.



Setelah instalasi selesai, akan muncul dialog Installation Complete. Kita akan diminta untuk merestart sistem. Klik Restart Now.


Setelah booting, kita akan masuk ke halaman Login, silahkan masukkan password yang sudah Anda masukkan pada proses instalasi sebelumnya.


Ketika Login sukses, kita akan masuk ke Halaman awal Ubuntu. Selamat, Anda telah berhasil menginstal Ubuntu :D.


Mudah kan?
Sekian tutorial saya kali ini, kurang lebihnya saya mohon maaf. Jangan lupa tinggalkan komentar dan saran.
Semoga bermanfaat.

Wednesday, 22 May 2013

C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Final Part)

Program ini adalah program final yang saya buat untuk memenuhi ujian praktek UAS pada mata kuliah Algoritma Pemrograman. Ini adalah lanjutan dari tutorial saya sebelumnya, yaitu C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Part 1) dan C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Part 2).

Pada tutorial sebelumnya terdapat banyak kekurangan, misalnya belum adanya pengkondisian bilangan yang diinputkan. Nah pada tutorial kali ini programnya sudah dioptimalisasi, jadi bilangan yang diinputkan harus sesuai dengan tipe bilangan tersebut. Misal bilangan desimal hanya bisa menginputkan angka 0-9, bilangan biner hanya bisa menginputkan bilangan 0-1, Oktal hanya bisa menginputkan bilangan 0-7, dan heksadesimal hanya bisa menginputkan bilangan 0-9 dan A-F, selain bilangan tersebut akan muncul pesan error. :D

1. Langsung aja, buka Microsoft Visual Studio (karena saya menggunakan Microsoft Visual Studio, tapi teman-teman bisa menggunakan code editor lain seperti Borland C++).
2. Buat project baru, saya beri nama projectnya konversi_bilangan_final, pilih WIN32 Console Application.
3. Masukkan code berikut :
// konversi_bilangan_final.cpp : Defines the entry point for the console application.
// Developer : Erik Gunawan
// Nickname  : EXz

#include "stdafx.h"
#include <iostream>

using namespace std;

char bil[100];
int hasil[100];
int sisa = 0;
int x = 0;

void header() {
 cout << "Program Konversi Bilangan" << endl;
 cout << "=========================================" << endl;
 cout << "A = Desimal ke Biner, Oktal, Heksadesimal" << endl;
 cout << "B = Biner ke Oktal, Desimal, Heksadesimal" << endl;
 cout << "C = Oktal ke Biner, Desimal, Heksadesimal" << endl;
 cout << "D = Heksadesimal ke Biner, Oktal, Desimal" << endl;
 cout << "=========================================" << endl;
 cout << endl;
}

int fromDecimal(int desimal, int kode) {
 for (int i=desimal; i>0; i/=kode) {
  sisa = i% kode;
  x += 1;
  hasil[x] = sisa;
 }

 switch (kode) {
  case 2:  cout << "Hasil biner        : "; break;
  case 8:  cout << "Hasil oktal        : "; break;
  case 10: cout << "Hasil desimal      : "; break;
  case 16: cout << "Hasil heksadesimal : "; break;
  default: cout << endl; break;
 }

 while (x) {
  if (kode==2 || kode==8 || kode==10) {
   cout << hasil[x];
  }
  else if (kode==16) {
   switch (hasil[x]) {
    case 10: cout << 'A'; break;
    case 11: cout << 'B'; break;
    case 12: cout << 'C'; break;
    case 13: cout << 'D'; break;
    case 14: cout << 'E'; break;
    case 15: cout << 'F'; break;
    default: cout << hasil[x]; break;
   }
  }
  x -= 1;
 }
 cout << endl;
 return 0;
}

void toDecimal(int kode) {
 int pangkat = 1;
 int hasil_desimal = 0;
 int desimal = 0;
 int index = 0;
 int error = 0;
 int a, b, c, length;

 length = strlen(bil);
 for (int i=length-1; i>=0; i--) {
  a = bil[index];
  switch (a) {
   case 'A':
   case 'B':
   case 'C':
   case 'D':
   case 'E':
   case 'F': b = a-55; break;
   default:  b = a-48; break;
  }

  c = i;
  while (c>=0) {
   desimal = pangkat*b;
   pangkat *= kode;
   c -= 1;
  }

  pangkat = 1;
  hasil_desimal += desimal;
  index += 1;

  if (kode==2) {
   if (b>1 || b<0) {
    error += 1;
   }
  }
  else if (kode==8) {
   if (b>7 || b<0) {
    error += 1;
   }
  }
  else if (kode==10) {
   if (b>9 || b<0) {
    error += 1;
   }
  }
  else if (kode==16) {
   if (b>15 || b<0) {
    error += 1;
   }
  }
 }

 if (error>0) {
  cout << "Bilangan yang Anda masukkan tidak valid!!" << endl;
 }
 else {
  if (kode==2) {
   fromDecimal(hasil_desimal, 8);
   fromDecimal(hasil_desimal, 10);
   fromDecimal(hasil_desimal, 16);
  }
  else if (kode==8) {
   fromDecimal(hasil_desimal, 2);
   fromDecimal(hasil_desimal, 10);
   fromDecimal(hasil_desimal, 16);
  }
  else if (kode==10) {
   fromDecimal(hasil_desimal, 2);
   fromDecimal(hasil_desimal, 8);
   fromDecimal(hasil_desimal, 16);
  }
  else if (kode==16) {
   fromDecimal(hasil_desimal, 2);
   fromDecimal(hasil_desimal, 8);
   fromDecimal(hasil_desimal, 10);
  }
 }
}

void binaryToAll() {
 cout << "Masukkan bilangan biner        : "; cin >> bil;
 toDecimal(2);
}

void octalToAll() {
 cout << "Masukkan bilangan oktal        : "; cin >> bil;
 toDecimal(8);
}

void decimalToAll() {
 cout << "Masukkan bilangan desimal      : "; cin >> bil;
 toDecimal(10);
}

void hexadecimalToAll() {
 cout << "Masukkan bilangan heksadesimal : "; cin >> bil;
 toDecimal(16);
}

void pilihan_salah() {
 system("cls");
 cout << "Kode yang Anda masukkan salah!!" << endl;
 cout << endl;
}

void pilihan() {
 char pilih, coba_lagi;

 pilih:
 header();
 cout << "Masukkan pilihan : "; cin >> pilih;
 cout << endl;

 if (pilih=='A' || pilih=='a') {
  decimalToAll();
 }
 else if (pilih=='B' || pilih=='b') {
  binaryToAll();
 }
 else if (pilih=='C' || pilih=='c') {
  octalToAll();
 }
 else if (pilih=='D' || pilih=='d') {
  hexadecimalToAll();
 }
 else {
  pilihan_salah();
  goto pilih;
 }

 cout << endl;

 coba_lagi:
 cout << "Ingin coba lagi (Y/N) ? "; cin >> coba_lagi;
 cout << endl;

 if (coba_lagi=='Y' || coba_lagi=='y') {
  system("cls");
  goto pilih;
 }
 else if (coba_lagi=='N' || coba_lagi=='n') {
  pilihan_salah();
  goto coba_lagi;
 }
}

void main(){
 pilihan();
}

4. Run file, hasilnya akan seperti ini :


 5. Masukkan bilangan yang ingin dicari.





6. Jika bilangan yang diinputkan tidak valid :





Untuk download contoh project di atas, klik disini atau konversi_bilangan_final.
Ditunggu kritik saran pertanyaan dan komentarnya. :D

Semoga bermanfaat.

Tuesday, 21 May 2013

C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Part 2)

Program ini adalah program yang saya buat sebagai latihan pra-UAS mata kuliah Algoritma Pemrograman.
Pada UAS nanti saya akan membuat program sederhana, yaitu program konversi bilangan.

Ini adalah lanjutan dari tutorial saya sebelumnya, yaitu C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Part 1). Pada tutorial sebelumnya terdapat banyak pengulangan kode program sehingga pada tutorial kali ini, penulisan kode lebih dioptimalisasi. :D

1. Langsung aja, buka Microsoft Visual Studio (karena saya menggunakan Microsoft Visual Studio, tapi teman-teman bisa menggunakan code editor lain seperti Borland C++).
2. Buat project baru, saya beri nama projectnya konversi_bilangan_2, pilih WIN32 Console Application.
3. Masukkan code berikut :
// konversi_bilangan_2.cpp : Defines the entry point for the console application.
// Developer : Erik Gunawan
// Nickname  : EXz

#include "stdafx.h"
#include <iostream>

using namespace std;

void pilihan();

void header() {
 cout << "Program Konversi Bilangan" << endl;
 cout << "=============================================" << endl;
 cout << "A = Desimal ke Biner, Oktal, Heksadesimal " << endl;
 cout << "B = Biner ke Desimal, Oktal, Heksadesimal " << endl;
 cout << "C = Oktal ke Desimal, Biner, Heksadesimal " << endl;
 cout << "D = Heksadesimal ke Desimal, Biner, Oktal " << endl;
 cout << "=============================================" << endl;
 cout << endl;
}

int hasil[100];
int bil;
int sisa = 0;
int x = 0;

int fromDecimal(int desimal, int kode) {
 for (int i=desimal; i>0; i/=kode) {
  sisa = i % kode;
  x += 1;
  hasil[x] = sisa;
 }

 if (kode==2) {
  cout << "Hasil biner        : ";
 }
 else if (kode==8) {
  cout << "Hasil oktal        : ";
 }
 else if (kode==16) {
  cout << "Hasil heksadesimal : ";
 }

 while (x) {
  if (kode==2 || kode==8) {
   cout << hasil[x];
  }
  else if (kode==16) {
   switch (hasil[x]) {
    case 10 : cout << 'A'; break;
    case 11 : cout << 'B'; break;
    case 12 : cout << 'C'; break;
    case 13 : cout << 'D'; break;
    case 14 : cout << 'E'; break;
    case 15 : cout << 'F'; break;
    default : cout << hasil[x]; break;
   }
  }
  x -= 1;
 }

 cout << endl;
 return 0;
}

char bil_hexa[100];
void toDecimal(int kode) {
 int pangkat = 1;
 int hasil_desimal = 0;

 int desimal = 0;
 int index = 0;
 int a, b, c, length;

 if (kode==2 || kode==8) {
  for (int i=bil; i>0; i/=10) {
   sisa = i % 10;
   hasil_desimal += pangkat * sisa;
   pangkat *= kode;
  }

  cout << "Hasil desimal      : " << hasil_desimal << endl;
  if (kode==2) {
   fromDecimal(hasil_desimal,8);
   fromDecimal(hasil_desimal,16);
  }
  else if (kode==8) {
   fromDecimal(hasil_desimal,2);
   fromDecimal(hasil_desimal,16);
  }
 }

 if (kode==16) {
  length = strlen(bil_hexa);
  for (int i=length-1; i>=0; i--) {
   a = bil_hexa[index];
   switch (a) {
    case 'A' : 
    case 'B' :
    case 'C' :
    case 'D' :
    case 'E' :
    case 'F' : b = a-55; break;
    default :  b = a-48; break;
   }
  
   c = i;
   while (c>=0) {
    desimal = pangkat*b;
    pangkat *= 16;
    c -= 1;
   } 
   pangkat = 1;
   hasil_desimal += desimal;
  
   index += 1;
  }
  cout << "Hasil desimal      : " << hasil_desimal << endl;
  fromDecimal(hasil_desimal,2);
  fromDecimal(hasil_desimal,8);
 }
}

void decimalToAll() {
 cout << "Masukkan bilangan desimal : "; cin >> bil;
 fromDecimal(bil,2);
 fromDecimal(bil,8);
 fromDecimal(bil,16);
}

void binaryToAll() {
 cout << "Masukkan bilangan biner : "; cin >> bil;
 toDecimal(2);
}

void octalToAll() {
 cout << "Masukkan bilangan oktal : "; cin >> bil;
 toDecimal(8);
}

void hexaToAll() {
 cout << "Masukkan bilangan hexadesimal : "; cin >> bil_hexa;
 toDecimal(16);
 
}
 
void pesan_salah() {
 system("cls");
 cout << "Kode yang Anda masukkan salah!!" << endl;
 cout << endl; 
}

void pilihan() {
 char pilih, coba_lagi;

 pilih:
 header();
 cout << "Masukkan Pilihan : "; cin >> pilih;
 cout << endl;

 if (pilih=='a' || pilih=='A') {
  decimalToAll();
 }
 else if (pilih=='b' || pilih=='B') {
  binaryToAll();
 }
 else if (pilih=='c' || pilih=='C') {
  octalToAll();
 }
 else if (pilih=='d' || pilih=='D') {
  hexaToAll();
 }
 else {
  pesan_salah();
  goto pilih;
 }

 coba:
 cout << endl;
 cout << "Ingin coba lagi (Y/N) ? "; cin >> coba_lagi;
 if (coba_lagi=='Y' || coba_lagi=='y') {
  system("cls");
  goto pilih;
 } 
 else if (coba_lagi=='N' || coba_lagi=='n') {
  _exit(0);
 } 
 else {
  pesan_salah();
  goto coba;
 }
}

void main(){
 pilihan();
}
4. Run file, hasilnya akan seperti ini :


 5. Masukkan bilangan yang ingin dicari.





Program ini masih banyak kekurangannya, jadi mohon maaf. :D
Untuk download contoh project di atas, klik disini atau konversi_bilangan_2.
Ditunggu kritik saran pertanyaan dan komentarnya. :D

Semoga bermanfaat.

C++: Program Konversi Bilangan - Desimal Biner Oktal Heksadesimal (Part 1)

Program ini adalah program yang saya buat sebagai latihan pra-UAS mata kuliah Algoritma Pemrograman.
Pada UAS nanti saya akan membuat program sederhana, yaitu program konversi bilangan.

1. Langsung aja, buka Microsoft Visual Studio (karena saya menggunakan Microsoft Visual Studio, tapi teman-teman bisa menggunakan code editor lain seperti Borland C++).
2. Buat project baru, saya beri nama projectnya konversi_bilangan_1, pilih WIN32 Console Application.
3. Masukkan code berikut :
// konversi_bilangan_1.cpp : Defines the entry point for the console application.
// Developer : Erik Gunawan
// Nickname  : EXz

#include "stdafx.h"
#include <iostream>

using namespace std;

void pilihan();

void header() {
 cout << "Program Konversi Bilangan" << endl;
 cout << "=============================================" << endl;
 cout << "A = Desimal ke Biner, Oktal, Heksadesimal " << endl;
 cout << "B = Biner ke Desimal, Oktal, Heksadesimal " << endl;
 cout << "C = Oktal ke Desimal, Biner, Heksadesimal " << endl;
 cout << "D = Heksadesimal ke Desimal, Biner, Oktal " << endl;
 cout << "=============================================" << endl;
 cout << endl;
}

int hasil[100];
int bil;
int sisa = 0;
int x = 0;

int decimalToBinary(int desimal) {
 for (int i=desimal; i>0; i/=2) {
  sisa = i % 2;
  x += 1;
  hasil[x] = sisa;
 }

 cout << "Hasil biner        : ";
 while (x) {
  cout << hasil[x];
  x -= 1;
 }
 cout << endl;
 return 0;
}

int decimalToOctal(int desimal) {
 for (int i=desimal; i>0; i/=8) {
  sisa = i % 8;
  x += 1;
  hasil[x] = sisa;
 }

 cout << "Hasil oktal        : ";
 while (x) {
  cout << hasil[x];
  x -= 1;
 }
 cout << endl;
 return 0;
}

int decimalToHexa(int desimal) {
 for (int i=desimal; i>0; i/=16) {
  sisa = i % 16;
  x += 1;
  hasil[x] = sisa;
 }
 
 cout << "Hasil heksadesimal : ";
 while (x) {
  switch (hasil[x]) {
   case 10 : cout << 'A'; break;
   case 11 : cout << 'B'; break;
   case 12 : cout << 'C'; break;
   case 13 : cout << 'D'; break;
   case 14 : cout << 'E'; break;
   case 15 : cout << 'F'; break;
   default : cout << hasil[x]; break;
  }
  x -= 1;
 }
 cout << endl;
 return 0;
}

void decimalToAll() {
 cout << "Masukkan bilangan desimal : "; cin >> bil;

 decimalToBinary(bil);
 decimalToOctal(bil);
 decimalToHexa(bil);
}

void binaryToAll() {
 int pangkat = 1;
 int hasil_desimal = 0;

 cout << "Masukkan bilangan biner : "; cin >> bil;
 for (int i=bil; i>0; i/=10) {
  sisa = i % 10;
  hasil_desimal += pangkat * sisa;
  pangkat *= 2;
 }

 cout << "Hasil desimal      : " << hasil_desimal << endl;
 decimalToOctal(hasil_desimal);
 decimalToHexa(hasil_desimal);
}

void octalToAll() {
 int pangkat = 1;
 int hasil_desimal = 0;

 cout << "Masukkan bilangan oktal : "; cin >> bil;
 for (int i=bil; i>0; i/=10) {
  sisa = i % 10;
  hasil_desimal += pangkat * sisa;
  pangkat *= 8;
 }
 cout << "Hasil desimal      : " << hasil_desimal << endl;
 decimalToBinary(hasil_desimal);
 decimalToHexa(hasil_desimal);
}

void hexaToAll() {
 char bil_hexa[100];
 int pangkat = 1;
 int hasil_desimal = 0;
 int desimal = 0;
 int index = 0;
 int a, b, c, length;

 cout << "Masukkan bilangan hexadesimal : "; cin >> bil_hexa;
 length = strlen(bil_hexa);
 for (int i=length-1; i>=0; i--) {
  a = bil_hexa[index];
  switch (a) {
   case 'A' : 
   case 'B' :
   case 'C' :
   case 'D' :
   case 'E' :
   case 'F' : b = a-55; break;
   default :  b = a-48; break;
  }
  
  c = i;
  while (c>=0) {
   desimal = pangkat*b;
   pangkat *= 16;
   c -= 1;
  } 
  pangkat = 1;
  hasil_desimal += desimal;
  
  index += 1;
 }
 cout << "Hasil desimal      : " << hasil_desimal << endl;
 decimalToBinary(hasil_desimal);
 decimalToOctal(hasil_desimal);
}
 
void pilihan() {
 char pilih, coba_lagi;

 pilih:
 header();
 cout << "Masukkan Pilihan : "; cin >> pilih;
 cout << endl;

 if (pilih=='a' || pilih=='A') {
  decimalToAll();
 }
 else if (pilih=='b' || pilih=='B') {
  binaryToAll();
 }
 else if (pilih=='c' || pilih=='C') {
  octalToAll();
 }
 else if (pilih=='d' || pilih=='D') {
  hexaToAll();
 }
 else {
  system("cls");
  cout << "Kode yang Anda masukkan salah!!" << endl;
  cout << endl;
  goto pilih;
 }

 coba:
 cout << endl;
 cout << "Ingin coba lagi (Y/N) ? "; cin >> coba_lagi;
 if (coba_lagi=='Y' || coba_lagi=='y') {
  system("cls");
  goto pilih;
 } 
 else if (coba_lagi=='N' || coba_lagi=='n') {
  _exit(0);
 } 
 else {
  system("cls");
  cout << "Kode yang Anda masukkan salah!!" << endl;
  cout << endl;
  goto coba;
 }
}

void main(){
 pilihan();
}
4. Run file, hasilnya akan seperti ini :


 5. Masukkan bilangan yang ingin dicari.





Program ini masih banyak kekurangannya, jadi mohon maaf. :D
Untuk download contoh project di atas, klik disini atau konversi_bilangan_1.
Ditunggu kritik saran pertanyaan dan komentarnya. :D

Semoga bermanfaat.