Wednesday 21 January 2015

NAMA : Agustiar Abdul Rahmat Tarigan
NIM      : 1020000148 


Soal Kasus :
Membangun Knowledge Base System

Permasalahan : Setelah lulus SMA, Hariman memiliki keinginan untuk melanjutkan studi di bidang komputer. Namun karena bidang komputer memiliki beberapa disiplin ilmu, maka Hariman harus berkonsultasi dg sistem pakar untuk menentukan pilihan yg tepat bagi dia.
Buatlah sebuah sistem pakar untuk membantu Hariman menentukan pilihan dg kreteria sebagai berikut :
Disiplin ilmu yg direkomendasikan meliputi : Computer Programming, Computer Science,Computer engineering,Computer Forensic,Computer Auditing,Computer Manufacturing,Computer Design. Tiga hal utama sebagai penentu keputusan adalah :
  • Tes Atitude(ok, not-ok) yg meliputi : test kemampuan matematika (ya,tdk) dan test kemampuan programming (ya, tdk)
  •  Test minat (bagus, sedang, rendah) yg meliputi:minat pd komputer(ya,tdk), minat pada kemampuan reparasi (ya,tdk) minat pada pemecahan masalah (ya,tdk). minat pada Perancangan (ya,tdk), minat pada Auditing (ya,tdk), minat pada forensik (ya,tdk)
  •  Kemampuan finansial (ya,tdk)
 Soal:
1.Tentukan Dependency Diagram untuk kasus tersebut
2.Tentukan Tabel Keputusan untuk kasus tersebut
3.Tentukan Rule-rule untuk menyelesaikan kasus tersebut

Jawaban :

1. Dependency Diagram
                                                    (Klik Gambar Untuk Memperbesar)

2. Tabel Keputusan
                                                     (Klik Gambar Untuk Memperbesar)

3. Rule

 Rule 1 : IF finansial = ya AND
tes minat komputer = bagus OR
tes minat reparasi = sedang OR
tes minat pemecahan masalah = rendah OR
minat  Auditing = sedang OR
minat kriminal = bagus OR
minat perancangan = rendah AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer Programing

Rule 2 : IF finansial = ya AND
tes minat komputer = bagus OR
tes minat reparasi = rendah OR
tes minat pemecahan masalah = sedang OR
minat  Auditing = rendah OR
minat kriminal = bagus OR
minat perancangan = sedang AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer Science

Rule 3 : IF finansial = ya AND
tes minat komputer = sedang OR
tes minat reparasi = bagus OR
tes minat pemecahan masalah = bagus OR
minat  Auditing = bagus OR
minat kriminal = sedangOR
minat perancangan = rendah AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer engineering
  
Rule 4 : IF finansial = ya AND
tes minat komputer = sedang OR
tes minat reparasi = rendah OR
tes minat pemecahan masalah = bagus OR
minat  Auditing = rendah OR
minat kriminal = bagus OR
minat perancangan = sedang AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer forensic


Rule 5 : IF finansial = ya AND
tes minat komputer = bagus OR
tes minat reparasi = sedang OR
tes minat pemecahan masalah = bagus OR
minat  Auditing = bagus OR
minat kriminal = rendah OR
minat perancangan = sedang AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer Auditing

Rule 6 : IF finansial = ya AND
tes minat komputer = sedang OR
tes minat reparasi = sedang OR
tes minat pemecahan masalah = bagus OR
minat  Auditing = bagus OR
minat kriminal = rendah OR
minat perancangan = bagus AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = ComputerManufacturing

Rule 7 : IF finansial = ya AND
tes minat komputer = bagus OR
tes minat reparasi = sedang OR
tes minat pemecahan masalah = rendah OR
minat  Auditing = sedang OR
minat kriminal = bagus OR
minat perancangan = rendah AND
tes attitude matematika = ok OR
tes attitude program = ok
then support = Computer Design


Saturday 13 April 2013

Program Toko Buku menggunakan Vb 2008

Langsung saja dicobain sendiri yah gan.. donlot disini

Program memisahkan List Genap dan Ganjil dengan VB 2008

Fungsi dari program ini sendiri adalah untuk memisahkan bilangan-bilangan genap dan ganjil dari angka yang kita inputkan dari awal sampai akhir nya... cara kerja nya yaitu :
-inputkan nilai awal misalkan dari angka 1
-lalu inputkan nilai akhir misalkan sampai 10
-lalu klik tombol proses maka secara otomatis akan terbagi bilangan mana yg genap dan mana yang ganjil.

file nya silahkan download disini

Program Kalkulator menggunakan VB 2008

Program kalkulator pake visual basic 2008 .. tapi bisa juga di buka pake visual basic 2010 gan..
asal jangan vb net ajah.. udah pasti kagak bisa wkwkk langsung aja ya agan donlot di bawah ini.

Program Kalkulator VB 2008

Program Reservasi Hotel menggunakan Vb 2008

ini adalah Tampilan nya file nya bisa anda download sendiri Disini :D

Java Node

import java.io.*;
import java.util.*;

class Node
{
    public int bilBulat;
    public double bilPecah;
    public Node anakKiri;
    public Node anakKanan;
    public void displayNode()
    {
        System.out.print('{');
        System.out.print(bilBulat);
        System.out.print(", ");
        System.out.print(bilPecah);
        System.out.print("} ");
    }
}

class Pohon
{
    private Node akar;
  
    public Pohon()
    { akar = null; }
  
    public Node cari(int kunci)
    {
        Node lihat = akar;
        while(lihat.bilBulat != kunci)
        {
            if(kunci < lihat.bilBulat)
                lihat = lihat.anakKiri;
            else
            lihat=lihat.anakKanan;
            if(lihat == null)
                return null;
        }
        return lihat;
    }
    public void tambah(int dataBulat, double dataPecah)
    {
        Node nodeBaru = new Node();
        nodeBaru.bilBulat = dataBulat;
        nodeBaru.bilPecah = dataPecah;
        if(akar == null)
            akar = nodeBaru;
        else
        {
            Node lihat = akar;
            Node induk;
            while(true)
            {
                induk=lihat;
                if(dataBulat < lihat.bilBulat)
                {
                    lihat = lihat.anakKiri;
                    if(lihat == null)
                    {
                        induk.anakKiri = nodeBaru;
                        return;
                    }
                }
               else
               {
               lihat = lihat.anakKanan;
               if(lihat == null)
               {
                   induk.anakKanan = nodeBaru;
                   return;
               }
             }
          }
      }
    }

    public boolean hapus(int kunci)
    {
        Node lihat = akar;
        Node induk = akar;
        boolean isAnakKiri = true;
        while(lihat.bilBulat != kunci)
        {
            induk = lihat;
            if(kunci < lihat.bilBulat)
            {
                isAnakKiri = true;
                lihat = lihat.anakKiri;
            }
            else
                {
                isAnakKiri = false;
                lihat = lihat.anakKanan;
            }
            if(lihat == null)
                return false;
        }
        if(lihat.anakKiri==null &&
        lihat.anakKanan==null)
            {
                if(lihat == akar)
                    akar = null;
                    else if(isAnakKiri)
                        induk.anakKiri = null;
                        else
                            induk.anakKanan = null;
            }
            else if(lihat.anakKanan==null)
                if(lihat == akar)
                    akar = lihat.anakKiri;
                    else if(isAnakKiri)
                        induk.anakKiri = lihat.anakKiri;
                    else
                            induk.anakKanan = lihat.anakKiri;
                    else if(lihat.anakKiri==null)
                         if(lihat == akar)
                         akar = lihat.anakKanan;
                    else if(isAnakKiri)
                             induk.anakKiri = lihat.anakKanan;
                    else
                             induk.anakKanan = lihat.anakKanan;
                    else
                    {
                        Node successor = getSuccessor(lihat);
                        if(lihat == akar)
                            akar = successor;
                            else if(isAnakKiri)
                                induk.anakKiri = successor;
                                else
                                induk.anakKanan = successor;
                                successor.anakKiri = lihat.anakKiri;
                                 }
                                 return true;
                        }
                      
private Node getSuccessor(Node hapusNode)
{
    Node successorInduk = hapusNode;
    Node successor = hapusNode;
    Node lihat = hapusNode.anakKanan;
    while(lihat != null)
    {
        successorInduk = successor;
        successor = lihat;
        lihat = lihat.anakKiri;
    }
    if(successor != hapusNode.anakKanan)
    {
        successorInduk.anakKiri = successor.anakKanan;
        successor.anakKanan = hapusNode.anakKanan;
    }
    return successor;
}

public void traverse(int traverseType)
{
    switch(traverseType)
    {
        case 1: System.out.print("\nPreorder traversal: ");
        preOrder(akar);
        break;
        case 2: System.out.print("\nInorder traversal: ");
        inOrder(akar);
        break;
        case 3: System.out.print("\npostorder traversal: ");
        postOrder(akar);
        break;
    }
    System.out.println();
}

private void preOrder(Node subAkar)
{
    if(subAkar != null)
    {
        System.out.print(subAkar.bilBulat + " ");
        preOrder(subAkar.anakKiri);
        preOrder(subAkar.anakKanan);
      
    }
}

private void inOrder(Node subAkar)
{
    if(subAkar != null)
    {
        inOrder(subAkar.anakKiri);
        System.out.print(subAkar.bilBulat + " ");
        inOrder(subAkar.anakKanan);
    }
}

private void postOrder(Node subAkar)
{
    if(subAkar != null)
    {
        postOrder(subAkar.anakKiri);
        postOrder(subAkar.anakKanan);
        System.out.print(subAkar.bilBulat + " ");
    }
}

public void displayPohon()
{
    Stack semuaTumpukan = new Stack();
    semuaTumpukan.push(akar);
    int jmlKosong = 32;
    boolean isBarisKosong = false;
    System.out.println("....................................................");
    while(isBarisKosong==false)
    {
        Stack subTumpukan = new Stack();
        isBarisKosong = true;
        for(int j=0; j<jmlKosong; j++)
        System.out.print(' ');
        while(semuaTumpukan.isEmpty()==false)
        {
            Node temp = (Node)semuaTumpukan.pop();  
            if(temp != null)
            {
                System.out.print(temp.bilBulat);
                subTumpukan.push(temp.anakKiri);
                subTumpukan.push(temp.anakKanan);
                if(temp.anakKiri != null ||
                temp.anakKanan != null)
                isBarisKosong = false;
            }  
            else
            {
                System.out.print("--");
                subTumpukan.push(null);
                subTumpukan.push(null);
            }
            for(int j=0; j<jmlKosong*2-2; j++)
            System.out.print(' ');
            }
            System.out.println();
            jmlKosong /= 2;
            while(subTumpukan.isEmpty()==false)
            semuaTumpukan.push(subTumpukan.pop() );
            }
            System.out.println(".............................................");
    }
}


class ApliPohon
{
    public static void main(String[] args)
    throws IOException
    {
        int nilai;
        Pohon pohonBaru = new Pohon();
        pohonBaru.tambah(50, 1.5);
        pohonBaru.tambah(25, 1.2);
        pohonBaru.tambah(75, 1.7);
        pohonBaru.tambah(12, 1.5);
        pohonBaru.tambah(37, 1.2);
        pohonBaru.tambah(43, 1.7);
        pohonBaru.tambah(30, 1.5);
        pohonBaru.tambah(33, 1.2);
        pohonBaru.tambah(87, 1.7);
        pohonBaru.tambah(93, 1.5);
        pohonBaru.tambah(97, 1.5);
        while(true)
        {
            System.out.print("Ketik huruf pertama, ");
            System.out.print("lihat, tambah, cari, hapus, atau kunjungan: ");
            int pilih = getChar();
            switch(pilih)
            {
            case 'l':
                pohonBaru.displayPohon();
                break;
            case 't':
                System.out.print("Masukkan nilai untuk tambah: ");
                nilai = getInt();
                pohonBaru.tambah(nilai, nilai + 0.9);
                break;
            case 'c':
                System.out.print("Masukkan nilai to cari: ");
                nilai = getInt();
                Node hasil = pohonBaru.cari(nilai);
                if(hasil != null)
                {
                    System.out.print("Diperoleh : ");
                    hasil.displayNode();
                    System.out.print("\n");
                }
                else
                System.out.print("Tidak bisa ditemukan ");
                System.out.print(nilai + '\n');
                break;
            case 'h':
                System.out.print("Masukkan nilai untuk dihapus: ");
                nilai = getInt();
                boolean didDelete = pohonBaru.hapus(nilai);
                if(didDelete)
                System.out.print("Dihapus " + nilai + '\n');
                else
                System.out.print("Tidak bisa dihapus ");
                System.out.print(nilai + '\n');
                break;
            case 'k':
                System.out.print("Masukkan angka 1, 2 atau 3: ");
                nilai = getInt();
                pohonBaru.traverse(nilai);
                break;
                default:
            System.out.print("Salah memasukkan huruf \n");
            }
        }
      
    }

public static String getString() throws IOException
{
    InputStreamReader isr = new InputStreamReader
    (System.in);
    BufferedReader br = new BufferedReader(isr);
    String s = br.readLine();
    return s;
}

public static char getChar() throws IOException
{
    String s = getString();
    return s.charAt(0);
}

public static int getInt() throws IOException
{
    String s = getString();
    return Integer.parseInt(s);
    }
}

Java anak ayam kotek-kotek

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Quis{
    public static void main (String args []) {
        System.out.println ("Masukkan jumlah anak ayam: ");
        BufferedReader bfr = new BufferedReader
        (new InputStreamReader (System.in));
        String angkaInput=null;
        try{
            angkaInput = bfr.readLine();
            }
            catch (IOException e){
                e.printStackTrace();
                }
                int Data = Integer.valueOf (angkaInput).intValue();
                while (Data >=1){
                    System.out.println("KOTEK KOTEK KOTEK");
                    System.out.println("ANAK AYAM BERKOTEK");
                    System.out.println("ANAK AYAM TURUN "+Data);
                    Data--;
                    System.out.println("MATI 1 TINGGAL "+Data);
                    System.out.println("");
                    }
                    System.out.println("");
                    }
                    }