Sabtu, 22 Oktober 2011

CONTOH STRAWBERRY PROLOG

Mungkin teman-teman masih awam dengan program  Prolog. Pertama-tama saya akan menjelaskan sedikit pengertian tentang Strawberry Prolog.


       Nama Prolog diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.


       Prolog adalah bahasa pemrograman logika atau disebut juga bahasa non prosedural.  Prolog disebut sebagai object oriented language atau declarative language. Dalam prolog tidak terdapat prosedur, tetapi hanya tampilan data-data object (fakta) yang akan diolah dengan relasi antar object yang membentuk suatu aturan. Aturan-aturan ini disebut heuristik dan diperlukan dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah database.




Terdapat tiga jenis Prolog, yaitu:

1. 
Strawberry Prolog


         Strawberry Prolog adalah dialek dari bahasa pemrograman Prolog. Sintaksnya sangat dekat dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari standar. Gagasan utama dari Strawberry Prolog sangat mudah digunakan dan oleh karena itu beberapa universitas menggunakan prolog untuk kursus .

2. Visual Prolog

        Visual prolog sebelumnya dikenal sebagai PDC prolog dan turbo prolog merupakan bahasa pemrograman prolog yang berorientasi objek. Sebagai turbo prolog dipasarkan oleh Borland, tetapi sekarang dikembangkan dan dipasarkan oleh perusahaan Denmark Pusat Pengembangan Prolog (PDC). Visual Prolog dapat membangun Microsoft Windows GUI-aplikasi, aplikasi konsol, DLL (Dynamic Link Libraries).

3. SWI Prolog

         SWI Prolog merupakan open source implementasi bahasa pemrograman Prolog, biasanya digunakan untuk pengajaran dan semantic web aplikasi. Memiliki seperangkat kaya fitur, perpustakaan untuk logika pemrograman kendala, multithreading, Unit testing, GUI, dll. SWI Prolog berjalan pada UNIX, Windows, dan Machintosh.


Contoh Program Sederhana pada Strawberry Prolog :

?-
set(pos([[f,f,f,f],[f,f,f,f],[f,f,f,f]])),
set(lose_flag(true)),
brush(system_color(window)),
window( _,_,win_func(),"Test",100,10,665,685).
win_func(paint):-
pen(5,rgb(255,100,100)),
line(150,50,50,150),
line(150,50,250,150),
line(50,150,100,150),
line(250,150,200,150),
line(100,150,100,250),
line(200,150,200,250),
line(100,250,200,250),
fail.

Penjelasn program :
  • ?- , perintah untuk mengawali program pada prolog.
  • Fungsi set diisi dengan fungsi pos, yang artinya akan membentuk post berupa titik-titik seperti matriks. Sedangkan dari fungsi pos ada 4 matriks yang fungsinya membentuk matriks berdimensi 4x4.
  • Fungsi brush artinya, akan menggunakan kuas untuk menggambar sesuatu. Fungsi system_color(window) artinya akan membentuk sebuah jendela dengan warna bergantung pada jendela sistem operasi yang digunakan.
  • Fungsi window untuk membentuk jendela. Bentuk umum fungsi jendela terdiri dari 8 parameter, tetapi biasanya yang dipakai parameter ke 3, yaitu fungsi win_func() yang dapat didefiniskan selanjutnya. Parameter selanjutnya adalah judul dari jendela yaitu ‘Test’. Dua parameter selanjutnya adalah jarak dari sisi layar hingga jendela. Parameter yang pertama jarak dari kiri (secara horizontal) sejauh 100px selanjutnya parameter yang keduajarak dari atas (secara vertical) sejauh 10px. Dua parameter terakhir adalah panjang untuk jendela yang akan dibuat. Jendela yang akan terbentuk memiliki lebar 665px (kesamping) dantinggi 685px (kebawah).
  • Statement ini adalah fungsi win_func(paint) yang sebelumnya dipanggil. Pertama, gunakan pensil menggunakan fungsi pen(). Di dalam fungsi pen(), definisikan jumlah titik ujung. Karena kita akan membuat garis, maka jumlah ujungnya dua. Lalu, tentukan warna berdasrkan system RGBpen(5,rgb(255,100,100)), angka 5 menunjukkan ketebalan garis, 255 untuk mewakili warna garis dengan warna merah, 100 untuk mewakili warna garis dengan warna hijau, 100 untuk mewakili warna garis dengan warna biru. Nilai pada rgb dapat berubah-ubah sesuai dengan warna apa yang diinginkan dengan memberikan nilai terbesar pada warna yang diinginkan. Misal : pen(5,rgb(255,255,100), maka garis akan berwarna kuning.
  • Selanjutnya, menuliskan garis dengan fungsi line(). Parameter pertama adalah jarak ujung pertama dari kiri terhadap jendela (X1), parameter kedua adalah jarak ujung pertama dari atas terhadap jendela (Y1). Parameter ketiga adalah jarak ujung kedua dari kiri terhadap jendela (X2). Parameter keempat adalah jarak ujung kedua dari atas terhadap jendela (Y2), lanjutkan hingga semua titik terhubung.  Misal :  line(150,50,50,150), 150 sebagai sunbu X1, 50 sebagai sumbu X2, 50 sebagai sumbu Y1, 150 sebagai sumbu Y2, lanjutkan sampai semua titik terhubung.
  • fail. , untuk mengakhiri program pada prolog.

Listing pada program di atas akan menghasilkan output seperti gambar dibawah ini





























SU : http://call-lonk.blogspot.com/2011/01/penjelasan-tentang-prolog.html
        http://id.wikipedia.org/wiki/Prolog
        

Jumat, 21 Oktober 2011

SISTEM BASIS DATA

Kali ini saya akan membahas tentang Basis Data. Apa itu sistem basis data?

DEFINISI :

  • Sistem adalah  komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi. 
  • Data adalah kumpulan dari fakta atau objek yang belum diolah.
  • Informasi adalah hasil analisa dari suatu data.
  • Basis data adalah wadah atau tempat sekumpulan data yang dapat menggambarkan suatu organisasi yang saling berhubungan.
  • Sistem Basis Data, berupa DBMS dan Basis Data.

Data Definition Language (DDL)

          DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
Perintah-Perintah pada DDL, yaitu :
  • CREATE, untuk membuat basis data maupun objek-objek basis data. 
          Bentuk Umun : CREATE DATABASE nama_data; , untuk membuat database baru
          Contoh :  CREATE DATABASE MHS;

          Bentuk Umum : CREATE TABLE nama_table (nama_column tipe_column), (.....); , untuk  membuat tabel baru
          Contoh : CREATE TABLE DATA (Nama varchar(30), NPM varchar(8)PRIMARY KEY, Kelas varchar(6), Nama_dosen varchar(30), Mata_Kuliah varchar(30));
  • USE, untuk menggunakan database yang telah dibuat.
          Bentuk Umum : USE nama_database;
          Contoh : USE MHS;
  • ALTER, untuk mengubah objek yang sudah ada.
          Bentuk Umum : ALTER TABLE nama_table RENAME nama_table baru; , untuk mengganti nama tabel
          Contoh : ALTER TABLE DATA RENAME DAFTAR;
          
          Bentuk Umum : ALTER TABLE nama_table ADD (nama_column type_column),(....); , untuk menambah kolom ke dalam tabel
          Contoh : ALTER TABLE DATA ADD (Jurusan varchar(20), NIP varchar(8)PRIMARY KEY);
     
          Bentuk Umum : ALTER TABLE nama_table DROP nama_column; , untuk menghapus kolom
          Contoh : ALTER TABLE DATA DROP Kelas;

          Bentuk Umum : ALTER TABLE nama_table CHANGE (nama_column nama_column baru  type_column), (.....); , untuk mengganti nama dan type kolom
          Contoh : ALTER TABLE DATA CHANGE (Nama User char(100));
  • DROP, untuk mengahapus objek
          Bentuk Umum : DROP TABLE nama_table;
          Contoh : DROP TABLE DATA;

Data Manipulation Language (DML)

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
  • SELECT, untuk menampilkan data
      Bentuk Umum : SELECT * FROM nama_table;
      Contoh : SELECT * FROM DATA;

  • INSERT, untuk menambahkan data baru
      Bentuk Umum : INSERT INTO nama_table (nama_column) VALUES (isi/nilai_column);
      Contoh : INSERT INTO DATA (Nama, NPM, Kelas, Nama_Dosen, Mata_Kuliah) VALUES (“Keni Malika”, “47580983”, “3IA05”,”Hamidin Fahrizal”,”Sistem Operasi”);
     Note : Jika memasukkan data yang banyak secara langsung
  INSERT INTO DATA (Nama, NPM, Kelas, Nama_Dosen, Mata_Kuliah) VALUES (“Gani Afani”, “49037281”, “3IA05”, “Tarimanika”, “Kecerdasan Buatan”), (“Fania Dasilam”, “47638920”, “3IA05”, “Jaja Rimanik”, “Analisis Pemrograman”);
  • UPDATE, untuk mengubah data yang sudah ada
      Bentuk Umum : UPDATE nama_table SET nama_column=isi/nilai_column WHERE kondisi_data yang diinginkan;
      Contoh : UPDATE DATA SET Nama="Keni Malika" WHERE NPM="47580983";

  • DELETE, untuk menghapus data
      Bentuk Umum : DELETE FROM nama_table WHERE nama_column=isi/nilai_column;
      Contoh : DELETE FROM DATA WHERE Nama_Dosen="Hamidin Fahrizal";

Digital Command Language (DCL)
          DCL merupakan bahasa perintah standar yang diadopsi oleh sebagian sistem operasi yang dijual oleh mantan Digital Equipment Corporation. Dilaksanakan sebagai standar disebagian besar sistem operasi digital, terutama RSX 11.



Rabu, 12 Oktober 2011

JARINGAN KOMPUTER

Apa yang teman-teman ketahui tentang jaringan komputer???
Jaringan Komputer adalah sebuah sistem yang terdiri atas komputer, software, dan perangkat jaringan lainnya yang bekerjasama untuk mencapai suatu tujuan yang sama.


Tujuan dari jaringan komputer, yaitu :
  • Berbagi data
  • Bertukar informasi
  • Mempermudah komunikasi
Klasifikasi jaringan komputer terbagi menjadi 5, antara lain :
1. Berdasarkan Geografis/Area, terbagi menjadi 3 yaitu :
    • LAN (Local Area Network), jaringan ini dipakai untuk pribadi dan stasiun kerja dalam kantor suatu perusahaan atau pabrik-pabrik untuk memakai bersama sumberdaya. Jaraknya hanya mencapai 1-10 km. Contohnya : pencetak (printer) dan saling bertukar informasi
    • MAN (Metropolitan Area Network),teknologi MAN menghubungkan beberapa jaringan LAN sehingga mencakup satu kota yang cukup luas, terdiri atas puluhan gedung yang berjarak 10 - 50 km
    • WAN (Wide Area Network), jangkauannya sangat jauh, menghubungkan antara 2 lokasi atau lebih yang terpisah dan dapat terhubung dengan jaringan lain
2. Berdasarkan Fungsinya, yaitu :
    • Peer to Peer, client dan server dapat bertindak sama. Model jaringan ini biasanya hanya bisa diterapkan pada jumlah komputer yang tidak terlalu banyak, maksimum 25 komputer.  Karena penambahab mesin melemahkan jaringan, sehingga komunikasi akan menjadi rumit dan macet jika komputer terlalu banyak
    • Client Server, dimana komputer server bertindak sebagai peran utama yang melayani komputer client. Apabila komunikasi permintaan layanan sangat sibuk bahkan bisa disiapkan lebih dari satu komputer menjadi server, sehingga ada pembagian tugas, misalnya : file-serverprint-serverdatabase server dan sebagainya
3. Berdasarkan Topologi Jaringan
    • Topologi Busmenyediakan 1 saluran untuk komunikasi semua perangkat sehinga setiap perangkat harus bergantian menggunakan saluran tersebut. Komunikasi data dapat terganggu jika satu titik mengalami gangguan.


                      ~ Kelebihan topologi bus
        • Topologi yang banyak digunakan pada awal penggunaan jaringan komputer karena topologi yang paling sederhana dibanding dengan topologi lainnya.
        • Komputer di hubungkan antara satu dengan yang lainnya dengan membentuk seperti barisan melalui satu single kabel.
                      ~ Kekurangan topologi bus
        • Hanya satu komputer yang dapat mengirimkan data yang berupa sinyal elektronik ke semua komputer dalam jaringan tersebut, dan diterima oleh satu computer yang dituju.
        • Semakin banyak jumlah komputer semakin banyak komputer akan menunggu giliran untuk mengirim data dan efeknya untuk kerja jaringan akan menjadi lambat.
        • Sinyal yang dikirimkan oleh satu komputer akan dikirim ke seluruh jaringan dari ujung satu sampai ujung lainnya. Jika kabel terputus maka semua jaringan komputer akan terganggu dan tidak bisa berkomunikasi satu dengan yang lainnya
    • Topologi Star, merupakan topologi jaringan yang paling sering digunakan. Pada topologi star, kendali terpusat pada HUB/Switch dan semua link harus melewati pusat yang menyalurkan data tersebut ke semua simpul atau komputer yang dipilihnya. Jika koneksi yang terganggu antara suatu node dan HUB/Switch tidak mempengaruhi jaringan. Jika HUB/Switch terganggu ( rusak ) maka semua node yang dihubungkan ke HUB/Switch tersebut tidak dapat saling berkomunikasi.


                    ~ Keuntungan menggunakan topologi star yaitu:
        • Fleksibelitas tinggi.
        • Penambahan atau perubahan komputer sangat mudah dan tidak menganggu bagian jaringan lain, yaitu dengan cara menarik kabel menuju hub.
        • Kontrol terpusat sehingga mudah dalam pengelolaan jaringan.
        • Kemudahan deteksi dan isolasi kesalahan atau kerusakan, jika terdapat salah satu kabel yang menuju node terputus maka tidak akan mempengaruhi jaringan secara keseluruhan. Hanya kabel yang putus yang tidak dapat digunakan.
        • Jumlah pengguna komputer lebih banyak daripada topologi Bus
                    ~ Kelemahan menggunakan topologi star yaitu:
        • Boros kabel
        • Perlu penanganan khusus
        • Jika Hub Rusak maka jaringan yang berada dalam satu hub akan rusak.
    • Topologi Ring/Cincintopologi jaringan yang berbentuk rangkaian titik yang masing-masing terhubung ke dua titik lainnya, sedemikian sehingga membentuk jalur melingkar membentuk cincin. Sama seperti topologi Bus, jika satu titik mengalami gangguan maka komunikasi data dapat terganggu.
                     
                   ~ Kelebihan
      • Hemat kabel
      • Tidak akan terjadi tabrakan pengiriman data (collision), karena pada satu waktu hanya satu node yang dapat mengirimkan data

                  ~ Kelemahan
      • Peka kesalahan, sehingga jika terdapat gangguan di suatu node mengakibatkan terganggunya seluruh jaringan.
      • Pengembangan jaringan lebih kaku
      • Sulit mendeteksi kerusakan
      • Dapat terjadi collision (dua paket data tercampur)
      • Diperlukan penanganan dan pengelolaan khusus
    • Topologi Mesh memiliki hubungan yang berlebihan antara peralatan-peralatan yang ada. Jadi susunannya, setiap peralatan yang ada didalam jaringan saling terhubung satu sama lain. Kebanyakan jaringan yang menggunakan topologi mesh akan mengalami kesulitan dalam instalasi jika peralatan yang terhubung jumlahnya bertambah banyak.

                                  
                        ~ Keuntungan dari penggunaan topologi mesh :
        • Keuntungan utama dari penggunaan topologi mesh adalah fault tolerance.
        • Terjaminnya kapasitas channel komunikasi, karena memiliki hubungan yang berlebih.
        • Relatif lebih mudah untuk dilakukan troubleshoot.
                        ~ Kekurangan dari penggunaan topologi mesh :
        • Sulitnya pada saat melakukan instalasi dan melakukan konfigurasi ulang saat jumlah komputer dan peralatan-peralatan yang terhubung semakin meningkat jumlahnya.
        • Biaya yang besar untuk memelihara hubungan yang berlebih.
    • Topologi Tree/Pohonmerupakan kombinasi karakteristik antara topologi star dan topologi bus. Topologi terdiri atas kumpulan topologi star yang dihubungkan dalam satu topologi bus sebagai backbone. Komputer-komputer dihubungkan ke HUB/Switch, sedangkan hub lain di hubungkan sebagai jalur tulang punggung (backbone) yang mempunyai topologi bus.
                 
                  ~ Keuntungan menggunakan topologi Tree, yaitu:
      • Kontrol manajemen lebih mudah karena bersifat terpusat dan terbagi dalam tingkatan jenjang.
      • Mudah dikembangkan
      • Didukung oleh hardware dan software dari beberapa perusahaan
                  ~ Kelemahan menggunakan Topologi Tree yaitu:
      • Jika salah satu node rusak, maka node yang berada di jenjang bagian bawahnya akan rusak.
      • Dapat terjadi tabrakan file data (collision).
      • Lebih sulit untuk mengkonfigurasi dan memasang kabel daripada topologi lain
    • Topologi Linierbiasa disebut dengan topologi bus beruntut, tata letak ini termasuk tata letak umum. Satu kabel utama menghubungkan tiap titik sambungan (komputer) yang dihubungkan dengan penyambung yang disebut dengan Penyambung-T dan pada ujungnya harus diakhiri dengan sebuah penamat (terminator). Pemasangan dari topologi bus beruntut ini sangat sederhana dan murah tetapi sebanyaknya hanya dapat terdiri dari 5-7 komputer.


                 ~ Keuntungan
      • hemat kabel
      • layout kabel sederhana
      • mudah dikembangkan
      • tidak butuh kendali pusat
      • penambahan maupun pengurangan terminal dapat dilakukan tanpa mengganggu operasi yang berjalan.
                ~ Kerugian
      • deteksi dan isolasi kesalahan sangat kecil
      • kepadatan lalu lintas tinggi
      • keamanan data kurang terjamin
      • kecepatan akan menurun bila jumlah pemakai bertambah
      • diperlukan Repeater untuk jarak jauh.
4. Berdasarkan Distribusi Sumber Informasi/Data
  • Jaringan Terpusat, jaringan ini terdiri dari komputer klien dan server dimana komputer klien yang berfungsi sebagai perantara untuk mengakses sumber informasi/data yang berasal dari satu komputer server.
  • Jaringan Terdistribusi, merupakan perpaduan beberapa jaringan terpusat sehingga terdapat beberapa komputer server yang saling berhubungan dengan klien membentuk sistem jaringan tertentu.
5. Berdasarkan Media Transmisi Data
  • Jaringan Berkabel (Wired Network)untuk menghubungkan satu komputer dengan komputer lain diperlukan penghubung berupa kabel jaringan. Kabel jaringan berfungsi dalam mengirim informasi dalam bentuk sinyal listrik antar komputer jaringan.

  • Jaringan Nirkabel (Wi-Fi), merupakan jaringan dengan medium berupa gelombang elektromagnetik. Pada jaringan ini tidak diperlukan kabel untuk menghubungkan antar komputer karena menggunakan gelombang elektromagnetik yang akan mengirimkan sinyal informasi antar komputer jaringan.

Jumat, 07 Oktober 2011

KECERDASAN BUATAN

Mungkin teman-teman masih bingung, apa yang dimaksud dengan kecerdasan buatan itu??
nah,, saya akan sedikit menjelaskan tentang kecerdasan buatan.



Kecerdasan Buatan atau Artificial Intelligence (AI) adalah suatu entitas buatan yang diciptakan manusia dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia.


Secara garis besar, AI terbagi lagi ke dalam dua faham pemikiran yaitu :
  1. AI Konvensional dan Kecerdasan Komputasional (CI), yaitu : AI konvensional, kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dan dikenal sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda-metodanya meliputi :
  • Sistem pakar : menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
  • Petimbangan berdasar kasus
  • Jaringan Bayesian
  • AI berdasar tingkah laku : metoda modular pada pembentukan sistem AI secara manual  
2. Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi:
  • Sistem Fuzzy : teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen. 
  • Jaringan Syaraf : sistem dengan kemampuan pengenalan pola yang sangat kuat


Perbedaan antara Pemrograman AI dan Konvensional

AI
Komputasi Konvensional
Representasi dan Manipulasi simbol
Algoritama
Memberitahu komputer tentang suatu masalah
Memerintah komputer untuk menyelesaikan masalah
Komputer diberi pengetahuan dan kemampuan inferensi
Memberi data kepada komputer dan program

Pemrograman AI :
  • Bila terjadi perubahan dalam program, maka tidak mengganggu seluruh “Facts” yang tersimpan dalam “Otak” (layaknya pikiran manusia/seperti informasi yang terdapat pada pikiran manusia)
  • Independen
  • Dapat Dimodifikasi tanpa mempengaruhi struktur kesluruhan program
  • Fleksibel à efisien dan mudah untuk dimengerti 
           
             AI membentuk cabang yang sangat penting pada ilmu komputer yang berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sekarang ini sistem AI sering digunakan dalam bidang  ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer untuk mendesign rumah dan membuat video game.






SU : http://id.wikipedia.org/wiki/Kecerdasan_buatan
        robby.c.staff.gunadarma.ac.id/Downloads/.../Kecerdasan+Buatan.doc