Jumat, 20 April 2012

TUGAS 1 Alpro artikel mengenai GNU-clisp

Belajar Salah satu program aplikasi pemrograman fungsional yakni GNU-clisp
Bahan-bahan:
Notepad++ & GNU-clisp tentunya.
1.      Kita mulai dari mengetikan skrip dasarnya pada notepad++ :
               (defun helo()
                              (write-string "mencoba belajar pemrograman fungsional")
               )

               Save as type “all files” lalu save dengan nama file coba.lisp d
               D:/coba.lisp

2.      Jalankan program GNU-clisp

3.      Ketikkan (compile-file “D:/coba.lisp”) untuk mengcompile file coba.lisp tekan enter.
[1]> (compile-file "D:/coba.lisp")
;; Compiling file D:\coba.lisp ...
;; Wrote file D:\coba.fas
0 errors, 0 warnings
#P"D:\\coba.fas" ;
NIL ;
NIL

4.      Lalu load file coba.lisp dengan mengetikkan (load file)
[2]> (load "D:/coba.lisp")
;; Loading file D:\coba.lisp ...
;; Loaded file D:\coba.lisp
T

5.      Lalu coba panggil fungsi helo yang telah kita buat tadi dengan mengetikan: (helo)
[3]> (helo)
mencoba belajar pemrograman fungsional
"mencoba belajar pemrograman fungsional"

6.      Selamat anda telah berhasil membuat suatu fungsi dalam GNU-clisp.

Berikut ini adalah sedikit materi pemrogaman fungsional menggunakan GNU_clisp
List dan Atom
Pada bagian ini kita akan mempelajari elemen-elemen dasar Lisp yaitu list dan atom. Contoh-contoh yang diberikan di bagian ini sebagian besar hanya untuk ilustrasi dan tidak dapat diketikkan ke dalam CLISP (akan menghasilkan error). Kita akan mulai menulis program pada bagian berikutnya, "Form".
Hal pertama yang harus kita tahu adalah bahwa segala sesuatu yang dimulai dan diakhiri tanda kurung adalah sebuah list. Sebagai contoh, hal-hal berikut adalah list:
(1 2 3 4 5)
(w x y z)
(rumah tanah kucing 123)
Sebuah list bisa saja kosong maupun berisi list lain. Jadi yang berikut adalah merupakan list juga:
()
((1 10 100))
((x y) 3 4 (hitam merah))
(defun kurangi-satu (x) (- x 1))
List bisa berisi program ataupun data, dan karena kita bisa memasukkan list di dalam list, kita bisa mencampur data dan program pada berbagai tingkatan. Inilah salah satu kekuatan LISP bagi yang sudah menguasainya, namun merupakan sumber kebingungan bagi yang belum menguasainya. Bersiap-siaplah juga untuk menghadapi banyak kurung buka dan kurung tutup.
Elemen-elemen yang berada di dalam list disebut atom. Jadi dalam list
(1 2 3 tangan kanan)
yang disebutkan di bawah merupakan atom:
1
2
3
tangan
kanan
Syarat utama dari atom adalah diawali dan diakhiri spasi (termasuk tab dan newline) atau kurung buka atau kurung tutup. Atom dapat terdiri dari karakter-karakter yang bukan pembatas atom. Perlu diketahui bahwa atom dapat berada di luar list. Inilah beberapa contoh atom lain:
:monitor
!**!
-
@hotmail.com
2*3+1
Lisp tidak case-sensitive, jadi ketiga atom di bawah adalah sama:
saya
SayA
SAYA
Lisp juga tidak mengenal operator, jadi 2*3+1 bukanlah suatu expresi matematika yang nilainya 7. Kalaupun digunakan spasi, maka 2 * 3 + 1 akan menjadi lima buah atom yang juga tidak bernilai 7.
Perhatikan bahwa spasi yang banyak sama saja dengan sebuah spasi, jadi kedua list di bawah ini sama (memang terlihat rumit, tapi untuk sekarang tidak perlu dimengerti artinya):
(defun faktorial (x) (if (eql x 0) 1 (* x (faktorial (- x 1)))))
(defun faktorial(x)(if(eql x 0)1(* x(faktorial(- x 1)))))
Tentunya penulisan yang pertama lebih mudah dibaca. Akan lebih baik lagi jika dituliskan sebagai berikut:
(defun faktorial (x)
  (if (eql x 0)
    1
    (* x faktorial (- x 1)))))
Form
Form adalah sesuatu yang akan dievaluasi/dicari nilainya. Form dapat berupa atom (non-list) maupun list.
Evaluasi form sangatlah sederhana jika yang terlibat adalah atom. Jika atom yang bersangkutan adalah angka (misalnya 100, -5, 3/4, 0.333), maka hasil evaluasinya adalah angka itu sendiri (disebut self-evaluating). Inilah beberapa contohnya (langsung saja anda coba pada CLISP):
> 100 (ini adalah input)
] 100 (ini adalah outputnya)

> 3/4
] 3/4

> -2.71828
] -2.71828
Kita bisa melihat bahwa Lisp memiliki beberapa tipe data angka. Yang pertama adalah integer, yang dapat menyimpan bilangan bulat sebesar atau sekecil apapun (hanya dibatasi oleh kapasitas memori yang ada). Tipe data lainnya adalah rational, yang berupa p/q dengan p dan q integer dan q lebih besar dari 1 (jika q = 1 maka bilangannya akan menjadi integer). Rational juga hanya dibatasi oleh memori yang tersedia. Tipe data ketiga adalah floating point, yang melambangkan angkanya menggunakan mantissa and eksponen. Floating point pasti dituliskan dengan tanda titik. Jadi 1 adalah integer sedangkan 1.0 adalah floating point. Pada tipe data floating point dapat terjadi underflow (jika nilai mutlak pecahannya terlalu kecil) maupun overflow (jika nilai mutlak angkanya terlalu besar). Inilah beberapa contohnya:
> 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
] 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999

> 212/999999999999999999999999999999999999999999999999999999999
] 212/999999999999999999999999999999999999999999999999999999999

> 0.00000000000000000000000000000000000000000000000000000000001
] *** - floating point underflow

> 9999999999999999999999999999999999999999.0
] *** - floating point overflow
Jika terjadi error seperti underflow dan overflow, maka CLISP akan memasukkan kita ke mode debug. Banyak yang bisa kita lakukan di mode debug, tetapi untuk sekarang ketikkan saja "quit" saat berada di mode debug. Menuliskan "quit" akan mengabaikan input terakhir yang bermasalah. Inilah contohnya:
> 0.00000000000000000000000000000000000000000000000000000000001
] *** - floating point underflow
Break 1> quit
(input yang bermasalah diabaikan dan kita dapat melanjutkan penulisan program)
Form dapat juga berupa list. Jika form yang bersangkutan adalah list, maka atom pertama list tersebut haruslah merupakan sebuah fungsi. Atom-atom sisanya (jika ada) akan menjadi argumen fungsi. Sebagai contoh, fungsi yang telah didefinisikan dalam Lisp adalah fungsi +, yang akan menjumlahkan atom-atom lainnya. Inilah beberapa contoh penggunaannya:
> (+ 3 4)
] 7

> (+ 1 2 3)
] 6
Di dalam contoh yang pertama, + bertindak sebagai fungsi, sedangkan 3 dan 4 bertindak sebagai argumen untuk fungsi +. Contoh yang kedua memberikan tiga argumen untuk fungsi +. Fungsi-fungsi aritmatika lainnya adalah fungsi -*, dan /.
Karena kita dapat memasukkan list ke dalam list, kita dapat menyusun perhitungan yang kompleks hanya dengan aturan-aturan yang telah kita pelajari. Inilah contohnya:
> (* 2 (+ 3 4 5)) (artinya 2*(3+4+5) )
] 24

> (- (* 3 3) (* 4 4)) (artinya 3*3 - 4*4 )
] -7

> (* (+ 3 4) (- 3 4)) (artinya (3+4)(3-4) )
] -7
Fungsi-fungsi matematika lain contohnya adalah modsqrtexp (perpangkatan dengan basis e), expt (perpangkatan dengan basis apapun), log (logaritma natural), sincos, dan tan. Inilah beberapa contoh penggunaannya (dan maksudnya):
> (mod 8 3) (sisa pembagian pada saat 8 dibagi 3)
] 2

> (sin (+ 3 4)) (artinya sin(3+4) )
] 0.6569866

> (+ (* (sin 3) (cos 4)) (* (cos 3) (sin 4)) ) (artinya sin(3)cos(4) + cos(4)sin(3) )
] 0.6569866

> (exp 1) (artinya e pangkat 1)
> 2.7182817

> (expt 2 3) (artinya 2 pangkat 3)
> 8
Simbol adalah atom yang tidak self-evaluating, dan dapat kita beri nilai. Kita tidak perlu mendeklarasikan simbol dan menentukan tipe datanya. Artinya suatu simbol dapat berisi integer pada suatu waktu, namun di waktu lain dapat berisi data dengan tipe lain (contohnya list). Kita dapat memberikan nilai ke simbol dengan menggunakan fungsi setq. Inilah contohnya:
> (setq a 100) (memasukkan nilai 100 ke simbol a)
] 100

> (setq b 20)
] 20

> a
] 100

> b
> 20

> (+ a b) (menjumlahkan a dan b)
] 120

> (setq c (* 2 a)) (memberikan nilai 2*a ke simbol c)
] 40

> z
] *** - EVAL: variable Z has no value
Dengan pengetahuan yang kita punya sekarang, kita dapat memanfaatkan Lisp sebagai alat bantu perhitungan. Sebagai contoh, misalkan kita ingin mencari penyelesaian dari 2x2-5x-3=0. Kita akan menggunakan rumus abc, jadi pertama-tama kita akan memberikan nilai pada simbol a, b, dan c.
> (setq a 2)
] 2

> (setq b -5)
] -5

> (setq c -3)
] -3
Selanjutnya kita akan memberikan nilai ke diskriminannya d, yaitu b2-4ac.
> (setq d (- (* b b) (* 4 a c)) )
] 49
Karena d positif, pasti kita akan mendapat dua penyelesaian riil (sebetulnya Lisp juga dapat menangani bilangan complex, silahkan coba sendiri). Kita akan mencari penyelesaiannya satu-persatu:
> (/ (+ (- b) (sqrt d)) (* 2 a) ) (- b) sama dengan (- 0 b) )
] 3

> (/ (- (- b) (sqrt d)) (* 2 a) )
] -1/2
Kalau menuliskan semuanya di satu baris terlihat membingungkan, kita dapat juga menuliskannya sebagai berikut:
> 
(/
   (+ (- b) (sqrt d) )
   (* 2 a)
)
] 3

> 
(/
   (- (- b) (sqrt d) )
   (* 2 a)
)
] -1/2
Inilah akhir dari tutorial kita! Yang kita ulas barulah permukaan dari suatu bahasa pemrograman yang menakjubkan, yang diharapkan menarik minat anda untuk mempelajari Lisp lebih lanjut.
link terkait common lisp

Rabu, 18 April 2012

tugas konsep teknologi ke-4 sistem dan komponen penyusunnya

SISTEM & KOMPONEN PEYUSUNNYA
· Sistem adalah sekumpulan elemen yang saling terkait atau terpadu untuk mencapai suatu tujuan.
  Ada beberapa elemen yang membentuk sebuah system :
               1. TUJUAN
                   Sistem informasi memiliki 3 tujuan utama yang umum ( Hall, 2000 ) :
        a. Untuk mendukung fungsi kepengurusan manajemen,
        b. Untuk mendukung pengambilan keputusan manajemen,
        c. Untuk mendukung kegiatan operasi perusahaan.
2. MASUKAN ( INPUT )
    Masukan ( input ) sistem adalah segala sesuatu yang masuk ke dalam sistem dan
   selanjutnyamenjadi bahan untuk diproses. Dalam Sistem Informasi, masukan dapat  
   berupa data transaksi, data non-transaksi ( misalnya surat pemberitahuan ) dan
   instruksi.

3. PROSES
   Proses merupakan bagian yang melakukan perubahan atau transformasi dari 
   masukan menjadi keluaran. Pada sistem informasi, proses dapat berupa suatu 
   tindakan yang bermacam – macam seperti meringkas data, melakuakn perhitungan 
   dan mengurutkan data.

4. KELUARAN ( OUTPUT )
   Keluaran ( output ) merupakan hasil dari pemrosesan. Keluaran dalam sistem 
   informasi berupa informasi, saran, cetakan laporan dan sebagainya.

5. MEKANISME PENGENDALIAN DAN UMPAN BALIK
    Mekanisme pengendalian ( control mechanism ) diwujudkan dengan menggunakan 
    umpan balik ( feedback ) yang mencuplik keluaran untuk mengensalikan masukan 
   dan proses agar sistem berjalan sesuai dengan tujuan. Umpan balik dibedakan 
   menjadi dua
     a. umpan balik negative : umpan balik untuk menyesuaikan penyimpangan 
         terhadap standar biasa.
         contoh : penerapan thermostat pada sistem pendingin AC.
    b. umpan balik positif : umpan balik yang bertujuan untuk menambah kekuatan atau 
        mendorong proses supaya memberikan hasil yang lebih baik, tanpa harus 
        menunggu terjadinya penyimpangan.
        contoh : sistem perencanaan kas ( Jogiyanto, 2000 ).
        Umpan balik positif dapat disebut umpan maju ( feedfoward ).

6. BATAS ( BOUNDARY )
     Batas ( boundary ) sistem adalah pemisahan antara sistem dan daerah di luar 
     sistem ( lingkungan ). Batas sistem menentukan konfigurasi, ruang lingkup dan 
     kemampuan sistem. Batas sebuah sistem dapat dikurangi atau dimodifikasi 
    sehingga akan mengubah perilaku sistem. Contoh : penjualan saham ke publik 
    dapat mengurangi keterbatasab dana.
7. LINGKUNGAN
    Lingkungan adalah segala sesuatu yang berada di luar sistem. Bagi sebuah 
    organisasi, lingkungan dapat berupa vendor, pelanggan, pemilik, pemerintah, bank, 
    dan bahkan pesaing.

CONTOH LAINYA:

a. Contoh - Contoh Sistem Pakar, antara lain:


1. Sistem Kontrol. 
Contoh pengembangan banyak ditemukan dalam kasus pasien di rumah sakit, di mana dengan kemampuan sistem pakar dapat dilakukan kontrol terhadap cara pengobatan dan perawatan pasien.
komponennya : 
-data keadaan / gejala penyakit pasien
-sensor data atau kode alarm.
-solusi terapi pengobatan yang tepat bagi si pasien yang sakit.

2. Sistem Desain.
Contoh sistem pakar di bidang ini adalah PEACE yang dibuat oleh Dincbas pada tahun 1980 untuk membantu disain pengembangan sirkuit elektronik. Contoh lain adalah sistem pakar untuk membantu desain komputer dengan komponen-komponennya.

3. Sistem Diagnosis.
Pengembangan sistem pakar terbesar adalah di bidang diagnosis penyakit, diagnosis kerusakan mesin kendaraan bermotor, diagnosis kerusakan komponen komputer, dan lain-lain. 
komponen-komponen umum penyusunya:
-data di lapangan / keadaan dan gejala.
-tingkat kerusakan / tingkat bahaya atau stadium.
-kemungkinan gejala dan solusi mendekati benar.


4. Sistem Intruksi. 
Intruksi merupakan pengembangan sistem pakar yang sangat berguna dalam bidang ilmu pengetahuan dan pendidikan, di mana sistem pakar dapat memberika instruksi dan pengajaran tertentu terhadap suatu topik permasalahan. 
Contoh pengembangan sistem pakar di bidang ini adalah sistem pakar untuk pengajaran bahasa Inggris, sistem pakar untuk pengajaran astronomi dan lain-lain.
semisal, modul maupun halaman web mengenai ccna dari cisco.
komponen:
- pendahuluan mengenai materi
- penjelasan lengkap mengenai materi
- tata urutan dalam mempelajari materi dan bebrbagai urutan tingkatan ccna.

5. Sistem Interpretasi.
Sistem pakar yang dikembangkan dalam bidang interpretasi melakukan proses pemahaman akan suatu situasi dari beberapa informasi yang direkam. 
Contoh sistem yang dikembangkan dewasa ini adalah sistem untuk melakukan sensor gambar dan suara kemudian menganalisanya dan kemudian membuat suatu rekomendasi berdasarkan rekaman tersebut.
contoh: voice recognation untuk mencari rute perjalanan
komponen:
- data suara dari user
- gps penentu posisi sekarang
- dan algoritma penentu rute terdekat.


6. Sistem Monitor. 
Sistem pakar dibidang ini banyak digunakan militer, yaitu menggunakan sensor radar kemudian menganalisanya dan menentukan posisi obyek berdasarkan posisi radar tersebut. hamppir sama dengan gps namun lebih akurat dan komponen pendukungnya lebih spesifik semisal:
posisi dalam garis lintang, kedalaman air, cuaca, jarak dari posisi ke tujuan

7. Sistem Perencanaan. 
Perencanaan banyak digunakan dalam bidang bisnis dan keuangan suatu proyek, di mana sistem pakar dalam membuat perencanaan suatu pekerjaan berdasarkan jumlah tenaga kerja, biaya dan waktu sehingga pekerjaan lebih efisien dan lebih optimal.
contoh: program pemasukan dan pengeluaran dalam kehidupan sehari-hari.
komponenya:
- pemasukan
- pengeluaran
- grafik banyak sedikit pengeluaran dalam waktu tertentu.

8. Sistem Prediksi.
Sistem pakar ini mampu memprediksi kejadian masa mendatang berdasarkan informasi dan model permasalahan yang dihadapi. Biasanya sistem memberikan simulasi kejadian masa mendatang tersebut, misalnya memprediksi tingkat kerusakan tanaman apabila terserang hama dalam jangka waktu tertentu. Program ini dibuat pada tahun 1983 oleh Boulanger dengan nama PLANT.
yang lain Sistem pendeteksi gempa
komponenya:
- data di lapangan
- besar getaran yang terjadi dalam skala ritcher
- data penentu kemungkinan terjadi tsunami atau tidak.
- dan informasi mengenai posisi pusat gempa


9. Sistem Seleksi. 
Sistem pakar dengan seleksi mengidentifikasikan pilihan kemungkinan solusi. Biasanya sistem mengidentifikasikan permasalahan secara spesifik, kemudian mencoba untuk menemukan solusi yang paling mendekati kebenaran.
contoh: sistem pemilihan Hanphone berdasarkan minat dan kriteria yang si inginkan pengguna. jadi pada akhirnya sang calon pengguna mendapat produk yang direkomendasikan dan diharapkan sesuai kebutuhan calon pengguna / pembeli hanphone tsb.

10. Sistem Simulasi. 
Sistem ini memproses operasi dari beberapa variasi kondisi yang ada dan menampilkan dalam bentuk simulasi. dan merupakan perkembangan dari sistem prediksi yang lebih canggih. karena teah mampu menggambarkan kemungkinan kejadian yang akan terjadi dalam hal nyata dengan data-data pendukung yang ada dan dapat dimanipulasi sehingga mampu memprediksi dan menampilkan proses yang kemungkinan akan terjadi.
Contoh adalah program PLANT yang sudah menggabungkan antara prediksi dan simulasi, di mana program tersebut mampu menganalisa hama dengan berbagai kondisi suhu dan cuaca. 
program pendeteksi kemungkina terjadinya tsunami atau tidak.
mungkin masih banyak contoh-contoh dari sistem yang lain yang lebih canggih dan lebih akurat tentunya....

Minggu, 08 April 2012

Tugas Konsep teknologi ketiga


1.    Invensi adalah temuan yang benar-benar baru, dari yang tidak ada menjadi ada.
 dari yang sebelumnya belum muncul kemudian muncul dan ditemukan oleh seseorang.
a.    Contoh Invensi
                                          i.    penemuan pesawat radio dapat menyebabkan perubahan2 bidang lain, seperti pendidikan, pemerintahan, pertanian, perekonomian, jasa dll.
                                        ii.    penemuan pesawat dapat membawa pengaruh pada sistem transportasi udara, yang kemudian dapat mempengaruhi alat tempur, selanjutnya mempengaruhi bagi perubahan organisasi militer dan seterusnya.
                                       iii.    Penemuan kapal laut, peta bumi, dan alat penentu arah (kompas) dapat menumbuhkan sikap kolonialisme.
                                       iv.    Teori Belajar, Penemuan di bidang Pendidikan, dan yang lainnya.

2.    Inovasi adalah suatu perubahan dari baik menjadi lebih baik lagi, dari jelek menjadi lebih baik dan yang lainnya, pendek kata inovasi merupakan temuan ide atau sesuatu yang baru berasal dari hal yang telah ada.
Secara luas Inovasi dapat diartikan sebagai pemasukan atau pengenalan hal-hal yang baru, penemuan baru yang berbeda dari yang sudah ada atau yang sudah dikenal sebelumnya baik berupa gagasan, metode atau alat.
Inovasi merupakan perubahan tetapi perubahan belum tentu inovasi, sama dengan pepatah pengalaman adalah guru yang terbaik tetapi guru yang terbaik belum tentu berpengalaman, hehehe….
b.    Contoh Inovasi
                                          i.    penemuan pesawat terbang yang ditemukan oleh bangsa Eropa pada abad ke-19, hasil inovasi tersebut telah menyebar ke berbagai negara, bahkan ke Indonesia.
                                        ii.    berupa memperoleh berbagai peralatan yang serba modern secara lebih banyak dan lebih baik daripada yang sudah dipunyai, kondisi kehidupan yang lebih nyaman dan nikmat), dan memberikan jalan-jalan yang dapat memungkinkan dilaksanakannya usaha-usaha untuk memperbaiki kondisi- kondisi sosial dalam masyarakat.
                                       iii.    pemasukkan traktor di pulau Bali, jika sekiranya traktor tersebar di pedesaan dan mekanisasi atau mesinisasi pertanian berjalan sebagaimana yang direncanakan, maka harus disediakan sarana-sarana antara lain, bahan bakar untuk traktor, spare parts, bengkel-bengkel, montir-montir dll.
                                       iv.    Metode pembelajaran  melalui media virtual reality (berdasarkan Seminar Nasional HMTI yang diadakan oleh panitia HMTI UDINUS 7 april 2012) yang salah satu pematerinya yakni pak peter shearer dimana di tunjukan pada saat kita membaca sebuah buku ilmu pengetahuan alam kita dapat melihat tampilan 3d virtual dari sebuah lapisan tanah dan unsure-unsur di dalamnya. Wah,, keren pokoknya…