Sabtu, 20 Oktober 2012

Konsep Fraktal

Fraktal berasal dari bahaha nggris, yaitu  fractal. Istilah fractal dibuat oleh Benoit Mandelbrot pada tahun 1975 dari kata Latin fractus yang artinya "patah", "rusak", atau "tidak teratur". Sebelum Mandelbrot memperkenalkan istilah tersebut, nama umum untuk struktur semacamnya (misalnya bunga salju Koch) adalah kurva monster.

Pada dasarnya, fractal merupakan sebuah kajian di dalam matematika yang mempelajari mengenai bentuk atau geometri yang didalamnya menunjukan sebuah proses penggandaan yang tanpa batas. Geometri yang dilipat gandakan tersebut memiliki kemiripan bentuk satu sama lain (self-similarity), dan pada penyusunan pelipatgandaannya tersebut tidak mengacu pada satu pakem orientasi tertentu bahkan cenderung meliuk liuk dengan detail dan dimensi yang beragam mulai dari kecil hingga besar.

Read more

0 komentar:

Membuat Segitiga Sierpinski Dengan Java


Disini saya sedikit mereview tentang praktikum ke-5 untuk matakuliah ALPRO1 kelas B. Hari itu adalah hari senin, tepat pada tanggal 28 Nopember 2011, dimana pada hari itu ada sebuah praktikum yang ke-5 untuk matakuliah ALPRO 1 bagi kelas B di jurusan Sistem Informasi ITS. Praktikum kali ini membahas tentang konsep fraktal.

Sebelum ini saya telah menjelaskan mengenai fraktal. Dan saya telah menjelaskan secara singkat mengenai salah satu contoh fraktal yakni segitiga sierpinski. Segitiga yang terus membagi dirinya dengan segitiga-segitiga lain yang mirip namun dengan skala yang terus berbeda.
Fraktal-fraktal tersebut dapat dimodelkan dengan bantuan komputer. Salah satu cara untuk memodelkannya adalah dengan menggunakan bahasa pemrograman java. Dengan logika yang telah dijelaskan pada artikel sebelumnya kita dapat membuat segitiga sierpinski tersebut.

Penjelasan diatas merupakan penjelasan sedikit tentang materi yang bersangkutan untuk praktikum ALPRO1 yang ke-5 ini. Dalam praktikum kali ini kami diminta untuk membuat sebuah segitiga sierpinski dalam bahasa java persis seperti ulasan materi diatas.

Berikut adalah source code nya. Untuk membuat program ini, kita dapat membuatnya menjadi dua  class. Class pertama berisi atribut dan method yang diperlukan, dan class kedua berfungsi untuk menampilkan object yang dibuat, yakni segitiga sierpinski. Level kedalaman segitiga dibuat berdasarkan inputan dari user.


Di bawah ini adalah Class pertamanya :

 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.awt.*;
import javax.swing.*;
/**
*
* @author Rachmat Arif
*/
public class Sierpinski extends JPanel{
public static final int WINDOWSIZE = 512;
static Polygon[] polyList;
static int count = 0;

public static void gambarSegitiga(int splits, int ax, int ay, int bx, int by, int cx, int cy){
        int[] C1 = {ax,ay};
        int[] C2 = {bx,by};
        int[] C3 = {cx,cy};
        if(splits == 1){
                int[]ps={ax,bx,cx};
                int[]qs={ay,by,cy};
                Polygon p = new Polygon(ps,qs,ps.length);
                polyList[count] = p;
                count++;
        } else{
                int[] C4 = getMidpoint(ax, ay, bx, by);
                int[] C5 = getMidpoint(bx, by, cx, cy);
                int[] C6 = getMidpoint(ax, ay, cx, cy);

                gambarSegitiga(splits - 1,C1[0],C1[1],C4[0],C4[1],C6[0],C6[1]);
                gambarSegitiga(splits - 1,C4[0],C4[1],C2[0],C2[1],C5[0],C5[1]);
                gambarSegitiga(splits - 1,C6[0],C6[1],C5[0],C5[1],C3[0],C3[1]);
        }
}
public static int[] getMidpoint(int ax, int ay, int bx, int by){
        int[] mid = new int[2];
        mid[0] = (ax + bx)/2;
        mid[1] = (ay + by)/2;
        return mid;
}


public void paint(Graphics g){
        for(int i = 0; i < polyList.length; i++)
        {g.fillPolygon(polyList[i]);}
}
} 

Berikut adalah Class keduanya, dimana dalam kelas ini berisi main yang berfungsi untuk memanggil Class pertama

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.awt.Color;
import java.awt.Polygon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
/**
 *
 * @author Rachmat Arif
 */
public class Remote extends Sierpinski {
public static void main (String[] args)
    {
        int C1x = WINDOWSIZE/2;
        int C1y = WINDOWSIZE/10;
        int C2x = WINDOWSIZE-C1y;
        int C2y = WINDOWSIZE-C1y;
        int C3x = WINDOWSIZE/10;
        int C3y = WINDOWSIZE-C1y;

        String input = JOptionPane.showInputDialog("Enter Your Choice Number:");
        int splits = Integer.parseInt(input);
        polyList = new Polygon[(int)Math.pow(3,splits-1)];
        JFrame fr = new JFrame("Sierpinski's Triangle!");
        fr.setSize(WINDOWSIZE,WINDOWSIZE);
        fr.setBackground(Color.CYAN);
        fr.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        fr.setVisible(true);

        gambarSegitiga(splits,C1x,C1y,C2x,C2y,C3x,C3y);
        Sierpinski s = new Sierpinski();
        fr.add(s);
        
        
    }
}

2 komentar:

Hanoi Tower 2D


Sebagian orang mungkin telah mengetahui tentang permainan "Tower of Hanoi". Permainan berupa puzzle ini menurut saya gampang-gampang susah sih. Bagi kalian yang baru pertama kali mencobanya  pasti kebingungan. Saat saya pertama kali kenal dengan permainan ini pun juga begitu. Saya dibuat bingung dengan permainan ini. 

Permainan ini tergambarkan seperti gambar diatas. Dimana ada 3 pilar dalam sebuah permaianan ini, pilar pertama berisi tumpukan, sedangkan pilar kedua dan ketiga kosong. Langsung saja pada penjelasan atau cara bermain dengan puzzle ini. Ada beberapa syarat yang perlu diperhatikan sebelum memainkannya.
  • Kalian harus memindahkan tumpukan dari pilar 1 ke pilar ke 3 dan kondisinya harus seperti semula (seperti pilar 1).
  • Dalam meindahkan tumpukan anda diperbolehkan untuk memindahkan dari pilar 1 ke pilar sesuka anda dengan syarat pilar yang kecil tidak diperbolehkan berada dibawah pilar yang lebih besar. Singkatnya urutan pilar harus dimulai paling besar, dan semakin atas semakin kecil.
Hal diatas merupakan sebagian informasi tentang permainan "Tower of Hanoi" ini. Saya mengenal permainan ini lewat seorang dosen matakuliah ALPRO1 saya. Saat itu beliau mengajarkan sebuah algoritma berfikir logika, pada saat itulah beliau mengenalkan permaianan  ini pada saya dan teman-teman saya.

Detik berganti detik, haripun silih berganti. Seminggu setelah dosen saya memberikan permainan tersebut tepatnya, rabu itu saya masuk kuliah seperti biasanya, waktu telah menunjukkan pukul 07:15 WIB dimana kami menunggu dosen ALPRO1 kami yang tak kunjung datang. Kamipun setia menunggu beliau, hingga jam menunjukkan pukul 07:30 WIB. Hati kami mulai resah suasana kelaspun menjadi ramai dan tidak lagi tenang seperti biasanaya. Namun lima menit kemudian, (GuobRaakk....!!!) suara pintu kelas kami terbuka keras, ternyata pak dosen yang telah kami nanti-nanti akhirnya datang juga.

"Keluarkan kertas A5, kita quiz sekarang lima belas menit harus sudah kalian kumpulkan" ucap pak dosen yang baru masuk kelas kami. Sungguh begitu kerasnya kuliahku ini, dosen datang langsung ngasih quiz (hatiku berkata). Lima belas menit berlalu quizpun usai dan dilanjutkan materi seperti biasanya. Diakhir kuliah, dosen kamipun seakan tak puas dengan quiz yang beliau berikan kepada kami. Beliau meminta kepada kami untuk membuat sebuah program "Tower of Hanoi" berbasis pemrograman java berbasis GUI dan dikumpulkan minggu depannya. Kuliah kami hari ini berakhir dengan tugas membuat program tersebut.

Bagi kalian yang membaca artikel ini, dan ingin memainkan permainan tersebut, silahkan copas code program di bawah ini. Kemudian masukkan IDE java kalian masing-masing. Jalankan dan mainkan.

dijamin seru pokoknya permainan ini........



0 komentar:

Game Outbound : The Messenger


Sebuah game penghilang penat untuk para calon programmer SI ITS hadir dari mata kuliah Ketrampilan Interpersonal. Game ini bernama “The Messenger” yang artinya adalah “utusan”. Senin sore itu kami ada jadwal mata kuliah KI, dimana mata kuliah KI outdoor setiap seninnya untuk kelas kami ini membawakan game “The Messanger” waktu itu. Sebuah game yang sangat menarik menurut saya. Rasa riang dan bahagia terpancar dari setiap wajah teman-teman SI seakan tidak ada beban bagi mereka saat mengikuti game ini. “Ada KI semuanya jadi happy”, ucap salah satu teman kami.
Untuk kali ini saya akan menjelaskan game yang telah saya dapat dari KI ini lebih jauh. Menjelaskan cara bermainnya, makna yang terkandung di dalamnya, serta pesan tersirat yang disampaikan oleh game ini. Langsung saja…….

Permainan ini adalah :
Menyampaikan pesan secara estafet antar anggota tim, dimulai dari anggota tim yang berada di bagian paling belakang hingga bagian terdepan. Awalnya kita diberi sebuah aba-aba dari fasilitator permaianan ini berupa berbaris menurut timnya masing-masing. Selanjutnya sang fasilitator membisikkan sebuah kalimat (lumayan panjang) pada anggota tim yang paling belakang dan menugaskan kepada anggota tim yang paling belakang tersebut menyampaikan apa yang telah dibisikkannya kepada anggota di depannya hingga mencapai anggota paling akhir yang terdepan. Sebuah tim dikatakan menang dari tim lainnya, jika kalimat yang diucapkan oleh anggota tim terdepan sama seperti anggota tim yang paling belakang (penerima pesan awal).

Saya suka permaianan ini karena :

• Dapat melatih konsentrasi kita
• Melatih kita untuk mengingat lebih baik
• Mengajarkan kejujuran dalam menyampaikan sesuatu
• Butuh suatu kekompakan dalam tim agar tak terjadi miss komunikasi

Kejadian terbaik di permainan ini :
  • Menjaga kejujuran. Agar pesan yang kita sampaikan tetep original
  • Mendengar dengan Seksama.Supaya setiap informasi yang kita terima dapat kita pahami dengan baik
  • Refleksi dari permainan. dalam permainan ini banyak mengajarkan kejujuran, kekompakan dan menjaga rasa egois

Yang tak akan saya lupakan :

Rasa egois yang ada dalam diri kita harus kita buang atau ia akan menghancurkan tujuan sebuah tim kita.

Quote favorit saya :

Sampaikanlah Setiap Kebenaran yang Kamu Terima

Saya mendapat pelajaran terbaik :
  
  • Setiap tim yang ingin sukses harus berbekal satu misi dan visi untuk mewujudkan tujuannya
  • Semakin banyak dan jauhnya sebuah pesan yang diterima dari sumbernya, maka semakin besar pula kemungkinan pesan itu salah
  • Kebenaran setiap pesan yang kita terima tergantung kejujuran setiap seorang perantara pesan tersebut

0 komentar:

Membuat Bilangan Fibonacci dengan Java

Dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut:

  F(n)=
   \begin{cases}
    0, & \mbox{jika }n=0; \\
    1, & \mbox{jika }n=1; \\
    F(n-1)+F(n-2) & \mbox{jika tidak.}
   \end{cases}
Penjelasan: barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut Golden Ratio yang nilainya mendekati 1,618.



import javax.swing.JOptionPane;
 
 /*
    This program computes Fibonacci numbers using a recursive
    method.
  */
 public class Fibonacci
{ 
    public static void main(String[] args)
    { 
       String input = JOptionPane.showInputDialog("Enter n: ");
       int n = Integer.parseInt(input);
 
       for (int i = 1; i <= n; i++)
       {
          int f = fib(i);
          System.out.println("fib(" + i + ") = " + f);
       }
       System.exit(0);
      
    }
 
    /**
       Computes a Fibonacci number.
       @param n an integer
       @return the nth Fibonacci number
    */
    public static int fib(int n)
    { 
       if (n <= 2)
            return 1;
       else
            return fib(n - 1) + fib(n - 2);
    }
 }

0 komentar:

SI 2011 : Gagal Taklukkan "MATDIS"

Mahasiswa SI 2011 harus rela menelan pahitnya remidi dari matakuliah matematika diskrit. Hal ini dikarenakan UTS yang mereka garap beberapa hari lalu tak berjalan mulus sesuai rencana. Nilai yang mereka peroleh sangat jauh dari standart nilai yang seharusnya mereka dapatkan. Akhirnya mau tidak mau, mereka harus menelan pil pahit remidi ini.

Saya pribadi juga merupakan salah satu dari sekian banyak mahasiswa SI 2011 yang menelan pil pahit tersebut. Penyebab peristiwa “remidi berjamaah” ini pun masih dipertanyakan. Apakah ada yang salah dari sitem pengajaran sang dosen, atau dari sisi mahasiswanya sendiri yang kurang begitu ekstrim dalam melahab habis materi-materi matdis yang diberikan oleh dosen. Namun dari hati saya sendiri, saya dapat menjawab penyebab peristiwa tersebut. Menurut saya, peristiwa ini terjadi karena diri saya sendiri, seperti kurangnya mereview pelajaran-pelajaran yang disampaikan dosen waktu dikelas, rasa “malas bawaan” saya dari SMA masih belum menghilang, disamping itu juga kurang kreatif dalam belajar dari berbagai referensi dan kurangnya untuk latihan soal. 

Beberapa alasan diatas rasanya cukup untuk menjadi penyebab terjadinya peristiwa “remidi berjamaah” tersebut (menurut versi saya). Mungkin setiap teman-teman 2011 mempunyai alasan sendiri-sendiri untuk masalah ini, entah alasan tersebut sama seperti yang saya tulis diatas atau alasan lain menurut versi yang berbeda.

Terjadinya peristiwa ini seakan menjadi tamparan pertama bagi saya di dunia kuliah ini. Mungkin ALLAH masih sayang dengan saya dan teman-teman yang lain. Dengan adanya ini, ALLAH memperingatkan kita untuk belajar lebih giat lagi, serta mensadarkan kita, kalau sekarang kita ini sudah bukan lagi siswa SMA, oleh karena itu belajarnyapun harus sudah berbeda, lebih madiri dibanding SMA serta harus lebih giat lagi. 

Kegagalan adalah kesuksesan yang tertunda. Perjalanan kita masih panjang teman-teman. Oleh karena itu ayo kita tunjukkan kalau kita bisa. Belajarnya ditingkatkan, jangan lupa berdoa setiap kali belajar agar ilmu yang kita pelajari menjadi barokah, manfaat sehingga mendapatkan nilai plus tersendiri dari ALLAH dan dicatat sebagai ibadah serta amal yang makbul dan mabrur amin ya robbal aalamiin.

0 komentar:

Game Outbound : Pelangi Oh Pelangi

Kembali lagi bertemu saya dalam blogku ini. Kali ini saya akan melanjutkan postingan saya tentang Game KI. Seperti biasa di setiap senin saya dan kawan-kawan bermain game dalam matakuliah KI ini. Game yang akan saya jelaskan kali ini berjudul Pelangi Oh Pelangi. Ingin tahu lebih lanjut tentang game ini ? baca dan ikuti terus tulisan di blog saya ini.
Langsung saja………

Permainan ini adalah :
Membuat sebuah gambar bersama-sama pada masing-masing tim dengan variasi berbagai warna, kemudian mempresentasikan di hadapan tim lain, tentang maksud atau makna gambar tersebut. Dimana segala fasilitas untuk menggambar sudah disediakan oleh fasilitator. Selanjutnya bagi tim yang gambarnya banyak dukungan dari tim lain dan mendapat vote paling banyak akan keluar sebagai pemenang.

Saya suka permaianan ini karena :
·         Belajar memadukan sesuatu hal dari berbagai hal yang berbeda
·         Dapat melatih kreatifitas dan imajinasi kita dalam berkarya.
·         Dapat mengeksplore diri untuk menggambarkan kesukaan kita
·         Kolaborasi warna-warni yang unik dan seru dari berbagai tangan.

Kejadian terbaik di permainan ini :
·         Kreatif .Menciptakan gambar-gambar yang warna-warni dan unik
·         Gambar yang Inovatif. Dari berbagai tangan pembuat menjadi suatu gambar yang padu dan satu
·         Refleksi dari permainan. Permainan ini mengajarkan suatu eksplorasi jiwa dan seni yang menghasilkan suatu karya cipta

Yang tak akan saya lupakan :
Aku termasuk bagian dari kunci sukses untuk timku.

Quote favorit saya :
The Difference Would Be Wonderful If United

Saya mendapat pelajaran terbaik :
·         Gambar adalah wujud atau ungkapan dari perasaan yang terpendam
·         Kekompakan menghasilkan suatu karya cipta yang luar biasa
·         Satu gambar dapat mewakilkan 1000 kata tersirat darinya.
·         Perbedaan akan terasa indah jika semuanya bersatu menjadi satu.

Diatas merupakan penjelasan singkat tentang game ini. Untuk lebih jelasnya praktekkan game ini di tempat kalian masing-masing jika ingin mencoba serunya game ini. Setiap permainan jangan diambil sisi senang dan refreshnya saja, namun jika mampu ambil juga pelajaran dari sebuah game atau permainan tersebut. Aku yakin setiap game pasti menyimpan maksud dan makna tersendiri.

0 komentar:

SI 2011 : Sukses Garap Praktikum ketujuh ALPRO 1

Mahasiswa dari jurusan Sistem Informasi ITS 2011 (kelas B) hari ini, Kamis (08/12/2011) telah sukses praktikum ketujuh dari matakuliah ALPRO1. Mahasiswa SI ITS 2011 tersebut  menilai bahwa praktikum kali ini memang sedikit sulit dibanding praktikum sebelumnya, namun karena persiapannya yang begitu matang, mereka dapat menyelesaikannya dengan mulus. Hal ini dibuktikan dengan ungkapan salah satu mahasiswa tersebut.

"Praktikum ALPRO minggu ini memang sedikit sulit, namun kami dapat menyelesaikannya dengan rapi dan baik. Hal ini karena dibatalkannya praktikum minggu lalu, sehinnga persiapan kami untuk mengerjakan praktikum ini lebih matang", ujar  Leonika Sari dalam ruangan LPSI ITS Surabaya, Kamis (8/12/2011).

Kali ini mereka praktikum tentang sorting data. Dimana mereka membuat sebuah project java di Netbeans dan program tersebut mampu membaca suatu data di dalam komputer kita yang berbentuk .txt. Selanjutnya program tersebut akan mengurutkan data yang ada dalam file .txt tersebut. Pengurutan program diawali dengan pilihan (1. Urutkan dari depan, 2. Urutkan dari Belakang). Sehingga semisal kita membuat data nama atau yang lainnya dalam keadaan tidak urut, dengan bantuan ini kita dapat membuat data tersebut menjadi urut sesuai pilihan kita.

Saya berhasil mendapatkan sebuah source code program tersebut dari salah seorang mahasiswa SI ITS 2011 yang praktikum hari ini.

"Ini adalah souce code program yang saya buat dalam praktikum kali ini, dimana program ini memiliki dua kelas, yang pertama yaitu "Main_Shorting.java" sebagai pemanggil dari class yang kedua yaitu "Submain_Shorting.java", ujar Rachmat Arif dalam ruangan LPSI ITS Surabaya, Kamis (8/12/2011).

Bagi kalian yang ingin mencoba hasil praktikum ketujuh ALPRO1 SI ITS 2011 , dapat copy-paste source-code programnya dibawah ini.

Main_Shorting.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package shorting;

/**
 *
 * @author Rachmat Arif
 */

import java.io.*;
import java.io.IOException;
import java.util.Scanner;

public class Main_Shorting {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        BufferedReader buffered = new BufferedReader(new InputStreamReader(System.in));
        Anak_Shorting baca = new Anak_Shorting();
        System.out.println("Masukan alamat file yang ingin dibaca ?");
         //kita inputkan tempat file yang kita simpan beserta nama file tersebut
        //contoh D:\Praktikum7 Alpro1\DataNama.txt (bila file terdapat di D:)
       
        try {
            String namaFile = buffered.readLine();
            baca.setnamaFile(namaFile);
        } catch (IOException exp) {
            System.out.println("E R R O R !");
        }
        System.out.println("\nPilihan pengurutan nama :");
        System.out.println("1. Urutan dati kalimat pertama");
        System.out.println("2. Urutan dari kalimat terakhir");
        System.out.println("3. Keluar");
        Scanner scan = new Scanner(System.in);
        int pilihan = scan.nextInt();




        while (true) {
            if (pilihan == 1) {
                baca.readFileDepan();
                String[] files = {"DataNama.txt"};
                for (int x = 0; x < files.length; x++) {


                    String[] sortTest = baca.mergesort(baca.getarrayFile());
                    for (int d = 0; d < sortTest.length; d++) {
                        if (d == sortTest.length - 1) {
                            System.out.println(sortTest[d] + ".");
                        } else {
                            System.out.println(sortTest[d] + ";");
                        }
                    }
                    System.out.print("\n");
                }
                System.exit(0);

            } else if (pilihan == 2) {
                baca.readFileBelakang();
                String[] files = {"DataNama.txt"};
                for (int x = 0; x < files.length; x++) {


                    String[] sortTest = baca.mergesort(baca.getarrayFile());
                    for (int d = 0; d < sortTest.length; d++) {
                        if (d == sortTest.length - 1) {
                            System.out.println(sortTest[d] + ".");
                        } else {
                            System.out.println(sortTest[d] + ";");
                        }
                    }
                    System.out.print("\n");
                }
                System.exit(0);
            } else if (pilihan == 3) {
                System.exit(0);
            } else {
                System.out.println("Pilihan Salah!");
            }
        }
    }

}

Submain_Shorting.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package shorting;

/**
 *
 * @author Rachmat Arif
 */

import java.io.*;

import java.util.Scanner;

public class Submain_Shorting {

    private String isiFile = "", namaFile = "";
    private int penghitung = 0;
    private String[] arrayFile = new String[220];

    public String getisiFile() {
        return isiFile;
    }

    public String getnamaFile() {
        return isiFile;
    }

    public int getPenghitung() {
        return penghitung;
    }

    public String[] getarrayFile() {
        return arrayFile;
    }

    public void setnamaFile(String x) {
        namaFile = x;
    }

    public void printarrayFile() {
        for (int i = 0; i < arrayFile.length; i++) {
            System.out.print(arrayFile[i] + ";");
        }
    }

    public void readFileDepan() {
        try {
            String isiFileini = "";
            FileReader bacaNamaFileIni = new FileReader(namaFile);
            BufferedReader bacaFileIni = new BufferedReader(bacaNamaFileIni);
            isiFile = "";
            System.out.println("Isi file " + namaFile + " adalah :");
            System.out.println("------------------------------");
            while ((isiFileini = bacaFileIni.readLine()) != null) {
                isiFile += isiFileini + ";";
                arrayFile[penghitung] = isiFileini;
                penghitung++;
            }
            bacaNamaFileIni.close();
            bacaFileIni.close();
        } catch (FileNotFoundException exp) {
            System.out.println("File tidak ada !");
            System.exit(1);
        } catch (IOException exp) {
            System.out.println("Coba Lagi");
            System.exit(1);
        }
    }

    public void readFileBelakang() {
        try {

            String isiFileini = "";
            FileReader bacaNamaFileIni = new FileReader(namaFile);
            BufferedReader bacaFileIni = new BufferedReader(bacaNamaFileIni);
            isiFile = "";
            System.out.println("Isi file " + namaFile + " adalah :");
            System.out.println("------------------------------");
            while ((isiFileini = bacaFileIni.readLine()) != null) {
                isiFile += isiFileini + ";";
                Scanner scanner1 = new Scanner(isiFileini);
                String isiFile1 = scanner1.next();
                String isiFile2 = "";
                if (scanner1.hasNext()) {
                    isiFile2 = scanner1.nextLine();
                } else {
                    isiFile2 = " " + isiFile1;
                }
                arrayFile[penghitung] = (isiFile2 + "," + isiFile1);
                penghitung++;
            }
            bacaNamaFileIni.close();
            bacaFileIni.close();
        } catch (FileNotFoundException exp) {
            System.out.println("File tidak ditemukan !");
            System.exit(1);
        } catch (IOException exp) {
            System.out.println("Coba Lagi");
            System.exit(1);
        }
    }

    public String[] mergesort(String[] list) {
        String[] sorted = new String[list.length];
        if (list.length == 1) {
            sorted = list;
        } else {
            int mid = list.length / 2;
            String[] left = null;
            String[] right = null;
            if ((list.length % 2) == 0) {
                left = new String[list.length / 2];
                right = new String[list.length / 2];
            } else {  //
                left = new String[list.length / 2];
                right = new String[(list.length / 2) + 1];
            }
            int x = 0;
            int y = 0;
            for (; x < mid; x++) {
                left[x] = list[x];
            }
            for (; x < list.length; x++) {
                right[y++] = list[x];
            }
            left = mergesort(left);
            right = mergesort(right);
            //sorted = merge(left,right);
            sorted = mergeArray(left, right);
        }

        return sorted;
    }


    private String[] mergeArray(String[] left, String[] right) {
        String[] merged = new String[left.length + right.length];
        int leftIndex = 0;
        int rightIndex = 0;
        int midIndex = 0;
        int comp = 0;
        while (leftIndex < left.length || rightIndex < right.length) {
            if (leftIndex == left.length) {
                merged[midIndex++] = right[rightIndex++];
            } else if (rightIndex == right.length) {
                merged[midIndex++] = left[leftIndex++];
            } else {  
                comp = left[leftIndex].compareTo(right[rightIndex]);
                if (comp > 0) {
                    merged[midIndex++] = right[rightIndex++];
                } else if (comp < 0) {
                    merged[midIndex++] = left[leftIndex++];
                } else {
                    merged[midIndex++] = left[leftIndex++];
                }
            }

        }
        return merged;
    }
}

0 komentar:

Matematika Diskrit


Matematika Diskrit adalah salah satu matakuliah yang saya ambil di semester satu ini. Matakuliah ini seru tapi kadang juga menjengkelkan menurutku. Dibilang seru karena ilmu ini memang benar-benar baru dalam sejarah hidupku, selain itu pembahasannya tidak seperti matematika umumnya yang hanya menghitung melulu. Mungkin sebagian dari kita belum mengetahui apa itu Matematika Diskrit ? oleh karena itu ada baiknya jika kita mengetahui terlebih dahulu tentang cabang ilmu matematika satu ini,

Matematika diskrit atau diskret adalah cabang matematika yang membahas segala sesuatu yang bersifat diskrit. Diskrit disini artinya tidak saling berhubungan (lawan dari kontinyu). Objek yang dibahas dalam Matematika Diskrit - seperti bilangan bulat, graf, atau kalimat logika - tidak berubah secara kontinyu, namun memiliki nilai yang tertentu dan terpisah. Beberapa hal yang dibahas dalam matematika ini adalah teori himpunan, teori kombinatorial, permutasi, relasi, fungsi, rekursif, teori graf, dan lain-lain. Matematika diskrit merupakan mata kuliah utama dan dasar untuk bidang ilmu komputer atau informatika. (wikipedia.org)
Definisi diatas merupakan definisi dari matematika diskrit yang saya ambil dari wikipedia. Lanjut cerita, terkadang juga matakuliah ini terasa menjengkelkan dan membosankan menurutku, hal ini mungkin terjadi karena saya memang pada dasarnya sangat benci dengan istilah "MATEMATIKA". Walaupun materinya tidak melulu menghitung seperti yang sudah saya tulis sebelumnya tetapi terkadang tetap saja saya berjumpa dengan angka-angka yang menjengkelkan.

Mungkin hanya ini yang dapat saya tulis tentang matematika diskrit, karena setiap kali mendengar kata matematika kepala ini pusing rasanya oleh sebab itu sebaiknya kita akhiri saja tulisan ini.
Oh iya...  namun sebelm itu, jika ingin mengetahui atau mencicipi matematika satu ini bisa download materinya di bawah ini.

Materi Dalam Bahasa Indonesia :


Materi Dalam Bahasa Inggris :


Ebook :



4 komentar:

Sistem Informasiku

Jujur, sebelum saya masuk kuliah, saya bingung. Bingung memilih antara jurusan Sistem Informasi dan Teknik Informatika. Minimnya info yang saya dapatkan membuat saya ragu dalam memilih. Ada yang bilang "Informatika aja, prospek kerjanya bagus, jadi programmer..". Sedangkan yang lain bilang, "Mending di Sistem Informasi aja, masih baru, lulusannya masih sedikit".
Seberapa canggihnya suatu teknologi, tetap saja tidak akan bisa bermanfaat apabila tidak adanya suatu sistem yang dapat mendayagunakan teknologi tersebut. Sistem tersebutlah yang mengatur bagaimana kinerja dari suatu teknologi dihubungkan dengan teknologi lainnya. Hal itulah yang mendasari akan pentingnya Jurusan Sistem Informasi atau yang lebih dikenal dengan SI. Serta hal ini yang melatar belakangi saya untuk memilih jurusan ini.

Sebenarnya jurusan SI masih dalam satu rumpun dengan jurusan Teknik Informatika (TC). Perbedaan yang terdapat antara keduanya yaitu Jurusan Sistem Informasi mempelajari tentang bagaimana management dari IT(Information Teknologi), sedangkan Teknik Informatika lebih fokus kepada Teknik Programming. Maka dari itu, Sistem Informasi juga bisa disebut sebagai jurusan yang komplit karena didalamnya terdapat Teknik Informatika dan Management.

Saat sekarang ini tercatat lulusan dari SI masih bisa dibilang sedikit. Hal itu berbanding terbalik dengan kebutuhan negara yang memerlukan banyak tenaga IT Management. Atas dasar itulah, sebagai Institut yang turut membangun bangsa Institut Teknologi Sepuluh Nopember (ITS) juga membuka Jurusan SI terhitung dimulai sejak tahun 2001. Awalnya, sebagai Jurusan yang baru terbentuk, cita-cita yang pertama dari Sistem Informasi adalah agar dapat dikenal di kancah nasional. Dan kini, dengan motto "They built it, we make fortune from it" cita-cita selanjutnya yaitu meyakinkan internasional lulusan dari Jurusan SI ITS dapat bersaing baik dengan lulusan Teknik Informatika ataupun lulusan berbasis IT lainnya di seluruh Indonesia.

Karena SI merupakan jurusan management IT, maka mata kuliah yang dipelajari di SI ITS tidak lepas dari pemrograman dan keterampilan management. Di antaraya yaitu Algoritma dan Pemrograman, Matematika Diskrit, Keterampilan Interpersonal, Sistem Fungsional Bisnis dan lain-lain. Pada 2 tahun awal walaupun tidak semuanya, tapi mahasiswa akan lebih cenderung akan menghadapi mata kuliah yang identik dengan pemrograman. Dan 2 tahun selanjutnya mahasiswa akan banyak mendapatkan mata kuliah tentang management.

0 komentar: