1. ANAGRAM
Anagram adalah salah satu jenis permainan kata, di mana huruf-huruf di kata awal biasa diacak untuk membentuk kata lain atau sebuah kalimat. Anagram sering dipakai sebagai kode. Permainan yang menggunakan anagram antara lain adalah Scrabble dan Boggle. Dalam kedua permainan ini, pemain berusaha membentuk kata-kata dari huruf yg disediakan.
Anagram sesungguhnya adalah semua kombinasi yang mungkin untuk suatu kata / kalimat.
Misalkan kita mencoba mendefinisikan secara manual suatu kalimat yang dispesifikasikan oleh user. Kita akan kesulitan jika suatu kata atau kalimat yang dispesifikasikan oleh user sangat panjang. Untuk itu, manusia membutuhkan komputer dengan aplikasi yang berguna untuk menyelesaikan masalah yang di hadapi.
Source Code :
import java.io.IOException;
public class ContohAnagram { static int size; static int count;
static char[] charArray;
public static void main(String[] args) throws IOException {
static char[] charArray;
public static void main(String[] args) throws IOException {
String input = "Java";
size = input.length();
count = 0;
charArray = new char[size];
for (int j = 0; j < size; j++)
charArray[j] = input.charAt(j);
size = input.length();
count = 0;
charArray = new char[size];
for (int j = 0; j < size; j++)
charArray[j] = input.charAt(j);
doAnagram(size);
}
public static void doAnagram(int newSize) { int limit; if (newSize == 1)
return;
return;
for (int i = 0; i < newSize; i++) {
doAnagram(newSize - 1);
if (newSize == 2)
display();
rotate(newSize);
if (newSize == 2)
display();
rotate(newSize);
}
}
public static void rotate(int newSize) {
int i;
int position = size - newSize;
char temp = charArray[position];
for (i = position + 1; i < size; i++)
int position = size - newSize;
char temp = charArray[position];
for (i = position + 1; i < size; i++)
charArray[i - 1] = charArray[i];
charArray[i - 1] = temp;
charArray[i - 1] = temp;
}
public static void display() {
public static void display() {
System.out.print(++count + " ");
for (int i = 0; i < size; i++)
for (int i = 0; i < size; i++)
System.out.print(charArray[i]);
System.out.println();
System.out.println();
}
2. Sieve of Eratosthenes
Pencarian bilangan prima hingga suatu batas maksimum tertentu bisa dilakukan menggunakan algoritma Sieve of Eratosthenes. Berikut adalah langkah-langkah untuk mencari deret bilangan prima dengan batas range 100.
1. ) Catat semua bilangan dari 0-100.
2.) Karena angka 0 dan 1 tidak memenuhi definisi bilangan prima, maka coret angka tersebut. Kemudian, angka berikutnya, yaitu angka 2, akan dianggap sebagai bilangan prima.
3.) Coret semua bilangan yang merupakan kelipatan dari bilangan prima terbesar yang diketahui (pada langkah pertama berarti angka 2).
4.) Bilangan tersebut pasti bukan bilangan prima. Bilangan yang belum tercoret setelah angka prima terbesar yang diketahui (pada langkah pertama berarti angka 3), pasti bilangan prima.
5.) Ulangi langkah 3 dan 4 hingga tidak ada lagi bilangan yang lebih besar dari bilangan prima terbesar yang diketahui yang belum tercoret.
Source code :
import java.util.Vector;
public class ContohSieve {
public static void main(String[] args) {
int limit = 100;
boolean[] bil_asal = new boolean[limit];
for (int i = 0; i < limit; i++) {
bil_asal[i] = true;
}
bil_asal[0] = false;
bil_asal[1] = false;
for (int i = 2; i <= Math.sqrt(limit); i++) {
if (bil_asal[i]) {
for (int j = i * i; j < limit; j = j + i) {
bil_asal[j] = false;
}
}
}
Vector<Integer> prima = new Vector<Integer>();
for (int i = 2; i < limit; i++) {
if (bil_asal[i]) {
prima.add(i);
}
}
System.out.println("Jumlah bilangan prima antara 0 sampai " + limit
+ " adalah " + prima.size() + " buah");
for (int i = 0; i < prima.size(); i++) {
System.out.println(prima.elementAt(i));
System.out.println(prima.elementAt(i));
}
}
}
Hasil Output :
3. HANOI TOWER
Seperti yang kita ketahui mengenai Nama menara yang di sebut sebagai "Tower of Hanoi" adalah Menara Hanoi. Menara Hanoi ini adalah sebuah permainan matematis atau teka-teki. Permainan / algoritma ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.
Tujuan dari algoritma ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut:
- Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
- Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
- Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.
Source Kode ;
public class ContohHanoi {
static int Cakram = 3;
public static void main(String[] args) {
hanoiTower(Cakram, 'A', 'B', 'C');
}
public static void hanoiTower(int topN, char src, char inter, char dest) {
if (topN == 1)
System.out.println("Cakram 1 dari " + " Tiang " + src + " ke " + dest);
else {
hanoiTower(topN - 1, src, dest, inter);
System.out.println("Cakram " + topN + " dari " + " Tiang " + src + " ke " + dest);
hanoiTower(topN - 1, inter, src, dest);
}
}
}
Hasil Output :
Semoga Bermanfaat
Thanks for coming to my Blog!!!



Tidak ada komentar:
Posting Komentar