LINQPad In Action : Studi kasus Palindrome

palindr2

PALINDROME ialah kata, frasa, atau kalimat yang jika dibaca dari depan atau belakang.
Misalnya:

  1. Lutfi –> bukan palindrom karena lutfi tidak sama jika dibaca dari belakang iftul
  2. onno –> merupakan palindrom karena dibaca dari depan atau belakang sama

Pertanyaannya, bagaimana cara mendeteksi apakah kata itu berupa palindrom atau bukan?

SOLUSI

[bahasa manusia] tinggal dibalik saja katanya, jika sama maka palindrom
[algoritma]

  • tentukan index min (0) dan max(panjang string dikurangi 1)
  • ulangi sampai minimum > maksimum
  •  – jika karakter dengan index min tidak sama dengan karakter index max maka bukan palindrom
  • - nilai min ditambah 1 dan max dikurangi 1
  • kata tersebut ada lah palindrom

Continue reading

Penyelesaian Kasus Diagonal V dengan Array 2 Dimensi (C#)

Terinspirasi dari artikelnya jefrey hermanto tentang solusi kasus diagonal V, iseng2 ja bikin programnya cz cukup simple. Mungkin ada yang belum tau apa itu diagonal V,  tp apa gmna ya njelasinnya. Bingung ndiri, hehehe…Tapi kira-kira bentuknya seperti ini.

Input: 3
3 2 1 2 3
2 3 2 3 2
1 2 3 2 1
2 3 2 3 2
3 2 1 2 3

Nah kira-kira seperti itulah bentuknya, dan solusinya cukup mudah logikanya. Langsung aja saya ambil dari artikelnya jefrey hermanto…hehehe….

KANAN  5 4 3 2 1 2 3 4
BAWAH  4 3 2 1 2 3 4 5
KIRI   4 3 2 1 2 3 4 5
ATAS   5 4 3 2 1 2 3 4 

      ----------->
  5 4 3 2 1 2 3 4 5
  4               4
  3               3
  2               2
  1               1
  2               2
  3               3
  4               4
  5 4 3 2 1 2 3 4 5
     <------------

Continue reading

Fungsi Kombinasi Rekursif pada suatu kelompok karakter

/*************************************************************************
 *  Kompilasi:  javac Combinations.java
 *  Eksekusi:    java Combinations N
 *  
 *
 *  kedua fungsi  (comb1 dan  comb2) mencetak secara alfabetik
 *
 *  % java Combinations 3
 *  
 *  a
 *  ab
 *  abc
 *  ac
 *  b
 *  bc
 *  c
 *
 *  a
 *  ab
 *  abc
 *  ac
 *  b
 *  bc
 *  c
 *
 *
 *************************************************************************/

Continue reading

Contoh penggunaan TABEL HASH

Dalam artikel ini akan saya bahas sedikit tentang contoh tabel hash yang paling simpel( kan saya ga pinter2 amat). Disini menggunakan simple fungsi hash, penanganan kolisi dengan linear probing dan tabel hash dengan ukuran yang tetap.

TABEL HASH

public class HashEntry {
      private int key;
      private int value; 

      HashEntry(int key, int value) {
            this.key = key;
            this.value = value;
      }      

      public int getKey() {
            return key;
     }

      public int getValue() {
            return value;
      }
}

Continue reading

Hashing Functions

Memilih fungsi hash yang baik, h(k), adalah sangat penting untuk pencarian berbasis hash-table. h merupakan distribusi elemen dari koleksi data yang secara unik menempati “SLOT” pada tabel hash. Kriteria dari key sebaiknya menghasilkan jumlah collision yang minimum.

Jika probabilitas key, k, terjaadi pada koleksi data kita P(k), kemudian terdapat m slot didalam tabel hash kita, maka uniform hashing function, h(k), adalah sebagai berikut:

uniform_hash.gif

Continue reading

Finish : Praktikum 01 – Array

confused1.jpgTulisan ini merupakan lanjutan dari petunjuk sebelumnya….New Hint Praktikum 01. Dan sembari menunggu sms dari temenku sayangku yang lagi pulkam, mending nulis-nulis. Semoga bisa bermanfaat bagi temen-temen semua. Untuk penutupan pada petunjuk kali ini saya akan membahas tentang yang no 3 dan 4.(lihat New Hint Praktikum 01 output no 3 dan 4).

Pada prinsipnya soal no 3 dan 4 adalah mirip sama :) . Langsung saja(dah keburu ngantuk) tahap awal dari masalah tersebut yaitu:

Continue reading

Source Code Mesin Kata[sik mbulet, pokoke dadi]

Hasil Kompilasi dengan String :

saya    belajar       algoritma        dengan    bahasa    java

saya   belajar    java   dengan    siapa     “

adalah sebagai berikut

   saya    belajar       algoritma        dengan    bahasa    java 
saya   belajar    java   dengan    siapa      
Himpunan kata
-|saya             frek:0|-
-|belajar          frek:0|-
-|algoritma        frek:0|-
-|dengan           frek:0|-
-|bahasa           frek:0|-
-|java             frek:0|-
-|siapa            frek:0|-
saya
belajar
algoritma
dengan
bahasa
java
saya
belajar
java
dengan
siapa
Jumlah kata         :11
kata : saya         frek: 2
kata : belajar      frek: 2
kata : algoritma    frek: 1
kata : dengan       frek: 2
kata : bahasa       frek: 1
kata : java         frek: 2
kata : siapa        frek: 1

Continue reading