Minggu, 07 Juli 2013

PROGRAM TOWER OF HANOI DAN PERKALIAN MATRIKS DENGAN JAVA

Hai sobat, kali ini saya akan memposting contoh program permainan menara Hanoi yang biasa disebut dengan istilah Tower of Hanoi dan program perkalian matriks dengan menggunakan bahasa pemrograman java.

Program ini merupakan program yang saya buat dalam rangka tugas ke 4 dari mata kuliah pemrograman java. Saya harap postingan saya ini dapat dijadikan bahan referensi bagi para mahasiswa/i TI yang mendapat tugas membuat program tersebut.

1. Tower of Hanoi


Source Code :
/**
 * Program Puzzle Tower of Hanoi
 */
import java.util.Scanner;
public class towerOfHanoi {

    public static void towerOfHanoi(int N, String towerAwal, String temp, String towerAkhir ) {
        if(N == 0)
                {
                    return ;
                }
                else
                {
                                towerOfHanoi(N-1, towerAwal, towerAkhir, temp);
                                System.out.println("Pindahkan disk " + N + " dari " + towerAwal + " ke " + towerAkhir + ".");
                                towerOfHanoi(N-1, temp, towerAwal, towerAkhir);
                }
    }
     public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
        int jumlahDisk;
        int pilihan;

      do
      {       
        System.out.println("Program Puzzle Tower of Hanoi .");
        System.out.println("===============================");

        System.out.println("Masukkan jumlah disk :");
        System.out.print("Jumlah Disk : ");
        jumlahDisk = input.nextInt();

        towerOfHanoi(jumlahDisk,"Tower Pertama","Tower Tengah","Tower Akhir");

 System.out.print("\n");
        System.out.println("Apa anda ingin mengulanginya lagi? 1.ya 2.tidak");
        System.out.print("Jawabanmu : ");
        pilihan = input.nextInt();
        System.out.print("\n");

 }while(pilihan != 2);
    }
}



2. Perkalian Matriks



Source Code :
/**
 * Program perkalian matriks
 */
import java.util.Scanner;
import java.io.*;

public class matriks {

    public static int[][] multiply(int[][] A, int[][] B) {
                // Fungsi perkalian matriks
                int mA = A.length;
                int nA = A[0].length;
                int mB = B.length;
                int nB = B[0].length;
                if(nA != mB)
                {
                                throw new RuntimeException("Dimensi Matriks tersebut ilegal.");
                }
               
                int[][] C = new int[mA][nB];
               
                for(int i=0; i < mA; i++)
                                for(int j=0; j < nB; j++ )
                                                for(int k=0; k < nA; k++)
                                                                C[i][j] += (A[i][k] * B[k][j]);
                                                               
                return C;
    }

     public static void print(int[][] A) {
                // Fungsi untuk mencetak hasil perkalian matriks
        int M = A.length;
        int N = A[0].length;
        System.out.println("\nMatriks hasil berordo" + M + " x " + N);
        System.out.println("========================================");
        for(int i = 0; i < M; i++) {
                System.out.print("|");
            for(int j = 0; j < N; j++) {
                System.out.printf("%d", A[i][j]);
                System.out.print("|");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {

       Scanner input = new Scanner (System.in);

       int ordoMatriksM, ordoMatriksN ; // menentukan banyak baris dan kolom pada matriks pertama
       int ordoMatriks1M, ordoMatriks1N; // menentukan banyak baris dan kolom pada matriks kedua
       int x,y,nilai,nilai1,pilihan;
       int[][] matriks1;
       int[][] matriks2;

       System.out.println("Program Perkalian  Dua Buah Matriks.");
       System.out.println("============================");
       System.out.print("\n");

      do
      {

       System.out.println("Matriks Pertama ");
       System.out.print("Masukkan jumlah baris : ");
       ordoMatriksM = input.nextInt();
       System.out.print("Masukkan jumlah kolom : ");
       ordoMatriksN = input.nextInt();
       System.out.println("Merupakan matriks berordo " + ordoMatriksM + " x " + ordoMatriksN + ".");

       matriks1 = new int [ordoMatriksM][ordoMatriksN]; // Inisialisasi ukuran array dua dimensi.
       for(x=0; x<ordoMatriksM; x++)
       {
                                int indeksBaris1 = x + 1;
                                for(y=0; y<ordoMatriksN; y++)
                                {
                                                int indeksKolom1 = y + 1;
                                                System.out.print("Indeks ["+indeksBaris1+","+indeksKolom1+"] = ");
                                                nilai = input.nextInt();
                                                matriks1[x][y] = nilai;
                                }
       }

       System.out.print("\n");

       System.out.println("Matriks Kedua ");
       System.out.print("Masukkan jumlah baris : ");
       ordoMatriks1M = input.nextInt();
       System.out.print("Masukkan jumlah kolom : ");
       ordoMatriks1N = input.nextInt();
       System.out.println("Merupakan matriks berordo " + ordoMatriks1M + " x " + ordoMatriks1N + ".");

       matriks2 = new int[ordoMatriks1M][ordoMatriks1N];

       for(x=0; x<ordoMatriks1M; x++)
       {
                                int indeksBaris2 = x + 1;
                                for(y=0; y<ordoMatriks1N; y++)
                                {
                                                int indeksKolom2 = y + 1;
                                                System.out.print("Indeks ["+indeksBaris2+","+indeksKolom2+"] = ");
                                                nilai1 = input.nextInt();
                                                matriks2[x][y] = nilai1; // memasukkan nilai pada tiap-tiap elemen array
                                }
       }
       System.out.print("\n");
       System.out.println("Hasil perhitungan matriks pertama dan kedua.");
       int[][] matrixHasil = matriks.multiply(matriks1,matriks2); // memanggil fungsi perkalian
       matriks.print(matrixHasil); // memanggil fungsi cetak hasil perkalian
       System.out.println();

       System.out.println("Mau dilanjutkan lagi ? : 1.Ya 2.Tidak");
       System.out.print("Pilihan anda (1 atau 2) : ");
       pilihan = input.nextInt();
       System.out.println();

      }while(pilihan != 2);

     }
}

 

Minggu, 30 Juni 2013

BERBAGAI LAYANAN “E”



Dewasa ini, sering sekali kita mendengar berbagai istilah yang selalu diawali dengan huruf  E. Entah apa istimewanya huruf tersebut, namun untuk kalangan  yang  berkecimpung  di dunia  IT, akademik, bisnis ,pemerintahan, dan bidang profesi lainnya  entitas  yang selalu diawali huruf E tersebut sangatlah penting dan bahkan merupakan aspek  yang  vital dalam menunjang aktivitas kerjanya.


Kita  mengenal sistem layanan elektronik atau E-service yang merupakan satu aplikasi di bidang teknologi informasi dan komunikasi.Berikut ini merupakan istilah-istilah e tersebut.

  1. E-learning merupakan singkatan dari electronic learning, merupakan cara baru dalam kegiatan belajar-mengajar  yang  memanfaatkan  media  elektronik khususnya internet sebagai sistem pembelajarannya. 
  2. E-government adalah penggunaan teknologi informasi oleh pemerintah untuk memberikan informasi kepada warga negaranya, urusan bisnis,serta hal-hal yang berkenaan dengan pemerintahan. E-government dapat diaplikasikan pada bidang legislatif, yudikatif, atau administras publik untuk meningkatkan efisiensi  internal, menyampaikan pelayanan publik, atau proses pemerintahan yang demokratis.

  3. E-commerce atau bisa juga disebut dengan perdagangan elektronik.
    adalah penyebaran,penjualan,pembelian,pemasaran barang dan jasa melalui sistem elektronik seperti  internet, televisi, dan bahkan juga bisa melalui sosial media seperti facebook,twitter, dan lain sebagainya. E-commerce dapat melibatkan transfer data elektronik, pertukaran data elektronik, sistem manajemen inventori otomatis dan sistem pengumpulan data otomatis.

  4. E-banking
    atau dapat juga didefinisikan sebagai jasa dan produk bank secara langsung kepada nasabah melalui media elektronik seperti  internet atau saluran komunikasi interaktif. E-banking meliputi sistem yang memungkinkan nasabah bank,baik individu maupun organisasional , untuk mengakses rekening, melakukan transaksi bisnis, atau mendapatkan informasi mengenai produk dan jasa bank melalui jaringan pribadi atau public termasuk juga internet.

  5. E-KTP atau KTP elektronik
    adalah dokumen kependudukan yang memuat sistem keamanan/pengendalian baik dari sisi administrasi ataupun teknologi informasi yang berbasis pada sistem database kependudukan nasional.

  6. E-business
    kegiatan bisnis  yang dilakukan secara otomatis maupun semi-otomatis dengan menggunakan teknologi elektronik. E-business berkaitan secara menyeluruh dengan proses bisnis termasuk value chain : pembelian secara elektronik (electronic purchasing), manajemen renta  suplai (supply chain management), pemrosesan order elektronik, penanganan dan pelayanan kepada pelanggan, dan kerjasama dengan mitra bisnis.

  7. E-book
    merupakan sebuah buku digital yang merupakan e-teks berbentuk  media digital dan kadang-kadang dilindungi oleh hak cipta digital. Adapun bentuknya bisa berbentuk file pdf,word,html,txt dan lain-lain. Tetapi biasanya e-book berbentuk pdf yang dapatdibaca dengan menggunakan program acrobat (adobe) reader  yang dapat di download secara gratis di internet.

  8. E-ticketing
    merupakan suatu cara untuk mendokumentasikan proses penjualan dari aktifitas perjalanan pelanggan tanpa harus mengeluarkan dokumen berharga secara fisik ataupun paper ticket. Semua informasi mengenai electronic ticketing disimpan secara digital dalam sistem komputer milik airline. Sebagai pengeluaran e-ticket, pelanggan akan diberikan Itinerary Receipt yang hanya berlaku sebagai alat masuk ke dalam bandara yang mengharuskan penumpang membawa tanda bukti perjalanan.

  9. E-mail
    adalah suatu metode bertukar pesan digital dari penulias atau pengirim ke satu atau lebih penerima. E-mail modern beroperasi di Internet atau jaringan komputer lainnya. Beberapa sistem e-mail awal diperlukan bahwa baik itu pengirim atau penerima harus online pada saat yang bersamaan.
  10. E-money
    Berdasarkan peraturan Bank Indonesia No. 11/12/PBI/2009 tentang uang elektronik, uang elektronik didefinisikan sebagai alat pembayaran yang memenuhi unsur-unsur sebagai berikut :
    Diterbitkan atas dasar nilai uang yang disetor terlebih dahulu oleh pemegang kepada penerbit.
    Nilai uang disimpan secara elektronik dalam suatu media penyimpanan seperti  server atau chip.
    Digunakan sebagai alat pembayaran kepada pedagang dan dikelola oleh penerbit uang elektronik tersebut.
    Nilai uang elektronik yang diseto oleh pemegang dan dikelola oleh penerbit bukan merupakan simpanan sebagaimana dimaksud dalam undang-undang  yang mengatur mengenai perbankan.


    Penggunaan berbagai layanan e (electronic) tersebut, tentunya dimaksudkan untuk mempermudah kegiatan kita sehari-hari.Namun, di samping itu tak dapat kita pungkiri bahwa dengan adanya layanan e (elektronik) ini akan membuka peluang menjadikan kita sebagai manusia-manusia yang anti sosial karena layanan ini akan mengurangi hubungan (interaksi) terhadap  sesama manusia.