Selasa

Permodelan 3D

            Permodelan 3D merupakan suatu proses untuk mengembangkan representasi matematis dari objek 3D menggunakan software tertentu. Ada beberapa cara yang cukup populer untuk melakukan permodelan 3D ini, yaitu permodelan poligon. Pada permodelan poligon, titik-titik digambar dalam ruang 3D (disebut sebagai verteks), lalu dikoneksikan dengan garis untuk membentuk polygonal mes. Dengan permodelan poligon ini, proses render dapat dilakukan dengan cepat.
            Bentuk permodelan lain yang cukup populer adalah nonuniform rational basis spline (NURBS), yang juga merupakan permodelan matematika untuk merepresentasikan kurva dan permukaan. Dibandingkan permodelan poligon, pemodelan dengan metode NURBS ini menawarkan fleksibelitas dan akurasi yang lebih baik karena permukaan didefinisikan oleh garis kurva.
            Dari permodelan 3D, objek akan diletakkan ke dalam suatu scene melalui proses layout dan animation. Di sinilah didefinisikan relasi dan perpaduan antara objek dengan menentukan lokasi dan ukuran dari objek tersebut. Beberapa metode populer untuk layout dan animation adalah keyframing. Pada keyframing, terlebih dahulu ditentukan titik awal dan titik secara halus sehingga saat frame ditampilkan satu per satu secara berurutan akan didapatkan animasi gerakan objek tersebut. Selain keyframing, metode untuk layout and animation yang lain adalah inverse kinematics.
            Secara singkat, metode inverse kinematics ini adalah metode yang mendefinisikan bagaimana gerkan dilakukan. Tujuannya adalah untuk mengidentifikasikan gaya pada suatu titik dari objek, dan kemudian menerapkan kinematik untuk menentukan gerkan objek. Contoh gerakan melempar bola baseball, gerakan objek dengan akselerasi, dan tabrakan dua objek merupakan contoh bagaimana inverse kinematics diterpakan.
            Terkahir adalah proses untuk menjadikan suatu objek menjadi realistis, yaitu proses rendering. Jika pada dua proses sbelumnya, objek yang diolah masih berupa kerangka kasar, maka dalam proses inilah suatu objek akan diubah sehingga objek tersebut menjadi realistis dengan melakukan texture mapping, pencahayaan, refleksi, penambahan bayangan, transparansi atau opacity.
            Teknik radiosity merupakan tekhnik render berdasarkan analisis refleksi cahay dari permukaan difusi. Teknik ini membagi bidang menjadi bidang yang blebih kecil untuk menentukan detail warna sehingga prosesnya berlangsung lambat, namun visualisai yang dihasilkan sangat rapih dan halus. Radiosity lebih tepat digunakan untuk gambar diam atau hasil akhir dari suatu objek. Kurang tepat jika digunakan untuk rendering objekl yang sifatnya realtime seperti pada game atau simulasi.
            Teknik ray tracing merupakan rendring yang cukup baik digunakan untuk gambar diam atau efek-efek pada film. Teknik ini bertujuan untuk menyimulasikan gerakan alami cahaya. Secara sederhana, teknik ray tracing memperhitungkan nilai warna sinar dan nilai koefisien pantul dari benda dalam penetuan warna penggambaran pada layar. Dengan menggunakan teknik ini, dapat diperoleh efek seperti reflection, refraction, scattering dan crhomatix aberration.
            Teknik rendering lain yang dinilai cukup cepat adalah teknik ray casting atau juga dikenal sebagai Backward Ray Tracing. Penelusuran cahaya dilakukan bukan dari sumber cahaya, sperti halnya ray tracing, namun penelusuran cahaya diterima oleh mata (atau kamera), kemudian dilakukan penelususran dari objek mana asal sinar tersebut dan dari objek tersebut dicari sumber cahayanya. Teknik ini digunakan untuk simulasi real time sperti game komputer atau animasi kartun, ketika detail tidaklah begitu penting. Pada teknik ini digunakan sampling untuk menampilkan hasil. Hasilnya tidak sebaik seperti pada teknik ray tracing, namun proses rendering yang dilakukan dapat berlangsung dengan cepat.

Sistem Infromasi pada Perpustakaan

        Pada tulisan ini saya akan membagikan pengalaman saya dalam mengembangkan Sistem informasi pada Perpustakaan. Setiap perpustakaan kini telah terintegrasi oleh komputer, baik untuk mencari buku, mencatat keluar dan masuknya buku perpustakaan, dll. Maka dari itu perlunya dikembangkan sistem informasi perpustakan berbasis komputer yang mampu memberikan peningkatan layanan pada anggota dan memberikan kemudahan pengendalian kinerja organisasi bagi pihak perpustakaan
        Dalam pembuatan sistem ini digunakan dua sistem pelayanan terhadap pengguna perpustakaan yaitu sistem pelayanan terbuka dan sistem pelayanan tertutup. Sistem pelayanan terbuka, pengguna dapat masuk ke ruang penyimpanan koleksi untuk mencari dan menemukan sendiri bahan pustaka yang di butuhkan. Sedangkan sistem pelayanan tertutup, pengguna harus minta bantuan petugas untuk mencari bahan pustaka yang diperlukan.
        Dengan menggunakan kedua sistem pelayanan tersebut dapat memberikan keleluasaan terhadap para pengguna untuk mencari bahan pustaka yang dibutuhkan dengan bebas dan cepat. Pengguna juga dapat mencari informasi buku yang diinginkan dengan menyebutkan judul dan pengarang ke petugas apabila tidak dapat menemukan pada rak buku yang ada.
Berikutlah susunan Sistem informasi pada perpustakaan :
  1. Peminjam adalah harus anggota perpustakaan yang telah terdaftar yang berhak meminjam buku.
  2. Operator adalah user yang sehari -harinya melakukan pencatatan proses yang terjadi pada perpustaaan. Hak-hak operator adalah melakukan pencatatan transaksi pendaftaran, peminjaman, pengembalian dan permintaan buku.
  3. Pengelola adalah user yang memiliki hak penuh atas sistem. Pengelola berhak atas penggajian pegawai, pembelian buku dan perawatan.
  4. Pada waktu pendaftaran anggota perpustakaan, harus dilakukan beberapa prosedur pengisian data anggota secara lengkap dan benar.
  5. Setiap ada transaksi dalam pendaftaran harus disimpan di dalam system.
  6. Setelah proses pendaftaran selesai, anggota dapat melakukan foto dan mengambil kartu anggota perpustakaan sekaligus.
  7. Harus ada komputer yang menyimpan seluruh catalog buku agar anggota lebih mudah dalam mencari buku -buku yang dibutuhkan.
  8. Dalam transaksi peminjaman buku terdapat banyak prosedur pemeriksaan terhadap anggota yang akan meminjam dan buku yang dipinjam.
  9. Setiap anggota yang meminjam buku tidak boleh meminjam lagi selama buku belum dikembalikan.
  10. Banyak buku yang dipinjam oleh anggota harus tidak lebih dari tiga buku.
  11. System harus dapat mengecek apakah anggota telah pinjam atau belum dan buku juga telah dipinjam atau belum.
  12. Setiap terjadi transaksi peminjaman dan pengembalian buku, system akan merubah status anggota dan buku yang dipinjam secara otomatis.
  13. Setelah melakukan transaksi peminjaman, anggota akan mendapatkan bukti peminjaman berupa kuitansi peminjaman.
  14. Sistem memberikan tenggang waktu secara otomatis untuk mengatasi lamanya peminjaman.
  15. Apabila ada anggota yang mengembalikan buku tidak tepat pada waktunya, maka sistem  secara otomatis akan memberikan sanksi berupa uang denda sebanyak hari setelah jatuh tempo pengembalian.

3 Must Have bagi lulusan Informatika

Banyak orang bertanya-tanya kompetensi lulusan informatika seperti apa yang dibutuhkan oleh dunia industri? Perguruan tinggi dengan konsep kurikulum berbasis kompetensi (KBK) telah jauh-jauh hari mendefinisikan kebutuhan tersebut. Katanya, seorang lulusan informatika yang ideal harus memiliki tiga jenis kompetensi utama agar dapat bersaing dalam era global seperti sekarang ini. Apa sajakah itu?

1. Kompetensi kognitif
Kemampuan erat kaitannya dengan penguasaan individu terhadap imlu pengetahuan ke informatika-an terutama dari pemahaman konsep, teori, metodologi, dan konten terkait. Faktor intelektualitas menjadi motor utama. Kehandalan dalam berpikir secara terstruktur, kemampuan melakukan analisa kritis dan kecakapan memahami persoalan merupakan karakteristik kompetensi yang harus ditumbuhkan. Ingin mengasah kompetensi ini? Mulailah dengan menambah jam terbang belajar, antara lain dengan banyak membaca, menulis dan menjelajah dunia maya.

2. Kompetensi Psikomotorik
Kemampuan ini erat kaitannya dengan keahlian individu dalam menerapkan ilmu pengetahuan yang dikuasainya. Untuk bidang informatika misalnya kemampuan membuat program, menginstalasi jaringan, mendesain sistem, merancang strategi implementasi, membangun basis data, dan mengaudit tekhnologi adalah sebagian kecil dari kompetensi yang dimaksud.

Banyak cara yang dapat dipraktekkan untuk memoles kompetensi ini :
-  Praktek di laboratorium.
    Proses bersentuhan langsung dengan hardware dan software yang digunakan industri memungkinkan peserta didik menguasai pengunaan dan pengembangan tekhnologi.
-  Praktek kerja di perusahaan
   Memberi kesempatan pada peserta didik untuk ambil bagian dalam beranka ragam proyek/aktivitas.
-  Pembahasan studi kasus dengan pendekatan yang bervariasi
   dapat dilakukan melalui kerja kelompok, simulasi skenario, metode permainan, dan uji coba prototipe.
-  Melakukan pendekatan aktivitas
   Contoh: uji peranti, eksplorasi perangkat, penetrasi sistem, tes fitur dan fungsionalitas, serta pemecahan algoritma.

3. Kompetensi afektif
Sering disepadankan dnegan kecerdasan dalam bersikap atau attitude, kompetensi ini terasa sangat diperlukan karena tidak ada gunanya jika seseorang kompeten dalam hal ilmu pengetahuan/ berkarya, namun tidak mampi/ berhasil memanfaatkanya untuk kemaslahatanumat manusia memberikan kontribusi signifikan bagi lingkungannya. Untuk itu, dibutuhkan suatu perilaku hidup positif yang penuh motivasi untuk menerapkan ilmu pengetahuan yang dikuasainya. Aspek kemanusiaan seperti cinta, pengertian, kesabaran, dan penghargaan adalah bekal yang sangat perlu dimiliki oleh seorang alumni informatika. Bagaimana cara mengasahnya? Biasanya melalui model pembelajaran untuk kebutuhan penanaman soft skills lateral, kemampuan presentasi, manajemen konflik., dan tekhnik motivasi.

Sabtu

Bioinformatika

Bioinformatika adalah ilmu yang mempelajari penerapan tekhnik komputasional untuk mengelola dan menganalisis informasi biologi. Bidang ini mencakup penerapan metode-metode matematika, statiska, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik uttama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens, prediksi struktur untuk meramalakan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen

Sejarah
Istilah bioinformatika mulai dikemukakan pada pertengan era 1980-an untuk mengacu pada penerapan komputer dalam biologi. namun demikian, penerapan bidang-bidang dalam bioinformatika seperti pada pembuatan basis data dan pengembangan algoritma untuk analisis sekuens biologis sudah dilakukan sejak tahun 1960-an
Kemajuan tekhnik biologi molekular dalam mengungkap sekuens biologis dari protein awal 1950-an dan asam nukleat sejak 1960-an mengawali perkembangan basis data dan tekhnik analisis sekuens biologis. Basis data sekuens protein mulai dikembangkan pada tahin 1960-an di Amerika Serikat, sementara basis data sekuens DNA dikembangkan pada 1970-an di Amerika Serikat dan Jerman. Penemuan tekhnik sekuensing DNA yang lebih cepat pada pertengahan 1970-an menjadi landasan terjadinya ledakkan jumlah sekuens DNA yang berhasil diungkapkan pada 1980-an dan 1990-an, menjadi salah satu pembuka jalan baig proyek-proyek pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.
Perkembangan internet juga mendukung berkembangnya bioinformatika. Basis data bioinformatika yang terhubung melalui internet memudahkan ilmuwan hasil sekuensing ke dalam basis dara tersebut mauoun memperoleh sekuens biologis sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui internet memudahkan ilmuwan mengakses program-program tersebut dan kemudian memudahkan pengembangannya.

Penerapan utama bioinformatika

Basis data sekuens biologis
Sesuai dengan jenis informasi biologis yang disimpanya, basis data sekuens biologis berupa basis data primer asam nukleat maupun protein, basis data sekunder untuk menyimpan motif sekuens protein, dan basis data struktur untuk menyimpan data struktur protein maupun asam nukleat.

Basis data utama untuk sekuens asam nukleat saat ini adalah GenBank (Amerika Serikat), EMBL  (Eropa), dan DDBJ(en) (DNA Data Bank of Japan, Jepang). Ketiga basis data tersebut bekerja sama dan bertukar data secara harian untuk menjaga keluasan cakupan masing-masing basis data. Sumber utama data sekuens asam nukleat adalah submisi langsung dari periset individual, proyek sekuensing genom, dan pendaftaran paten. Selain berisi sekuens asam nukleat, entri dalam basis data sekuens asam nukleat umumnya mengandung informasi tentang jenis asam nukleat (DNA  atau RNA), nama organisme  sumber asam nukleat tersebut, dan pustaka yang berkaitan dengan sekuens asam nukleat tersebut.

Sementara itu, contoh beberapa basis data penting yang menyimpan sekuens primer protein adalah PIR (Protein Information Resource, Amerika Serikat), Swiss-Prot (Eropa), dan TrEMBL (Eropa). Ketiga basis data tersebut telah digabungkan dalam UniProt (yang didanai terutama oleh Amerika Serikat). Entri dalam UniProt mengandung informasi tentang sekuens protein, nama organisme sumber protein, pustaka yang berkaitan, dan komentar yang umumnya berisi penjelasan mengenai fungsi protein tersebut.

BLAST (Basic Local Alignment Search Tool) merupakan perkakas bioinformatika yang berkaitan erat dengan penggunaan basis data sekuens biologis. Penelusuran BLAST (BLAST search) pada basis data sekuens memungkinkan ilmuwan untuk mencari sekuens asam nukleat maupun protein yang mirip dengan sekuens tertentu yang dimilikinya. Hal ini berguna misalnya untuk menemukan gen sejenis pada beberapa organisme atau untuk memeriksa keabsahan hasil sekuensing maupun untuk memeriksa fungsi gen hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.

PDB (Protein Data Bank, Bank Data Protein) adalah basis data tunggal yang menyimpan model struktural tiga dimensi protein dan asam nukleat hasil penentuan eksperimental (dengan kristalografi sinar-X, spektroskopi NMR dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein ataupun asam nukleat.

Penyejajaran Sekuens
Penyejajaran sekuens (sequence alignment) adalah proses penyusunan/pengaturan dua atau lebih sekuens sehingga persamaan sekuens-sekuens tersebut tampak nyata. Hasil dari proses tersebut juga disebut sebagai sequence alignment atau alignment  saja. Baris sekuens dalam suatu alignment diberi sisipan (umumnya dengan tanda "–") sedemikian rupa sehingga kolom-kolomnya memuat karakter yang identik atau sama di antara sekuens-sekuens tersebut. Berikut adalah contoh alignment DNA dari dua sekuens pendek DNA yang berbeda, "ccatcaac" dan "caatgggcaac" (tanda "|" menunjukkan kecocokan atau match di antara kedua sekuens).

 c c a t  - - - c a a c
 |    |  |         |  |  |  |
 c a a t g g g c a a c

Sequence alignment merupakan metode dasar dalam analisis sekuens. Metode ini digunakan untuk mempelajari evolusi sekuens-sekuens dari leluhur yang sama (common ancestor). Ketidakcocokan (mismatch) dalam alignment diasosiasikan dengan proses mutasi, sedangkan kesenjangan (gap, tanda "–") diasosiasikan dengan proses insersi atau delesi. Sequence alignment memberikan hipotesis atas proses evolusi yang terjadi dalam sekuens-sekuens tersebut. Misalnya, kedua sekuens dalam contoh alignment di atas bisa jadi berevolusi dari sekuens yang sama "ccatgggcaac". Dalam kaitannya dengan hal ini, alignment juga dapat menunjukkan posisi-posisi yang dipertahankan (conserved) selama evolusi dalam sekuens-sekuens protein, yang menunjukkan bahwa posisi-posisi tersebut bisa jadi penting bagi struktur atau fungsi protein tersebut.

Selain itu, sequence alignment juga digunakan untuk mencari sekuens yang mirip atau sama dalam basis data sekuens. BLAST adalah salah satu metode alignment yang sering digunakan dalam penelusuran basis data sekuens. BLAST menggunakan algoritma heuristik dalam penyusunan alignment.

Beberapa metode alignment lain yang merupakan pendahulu BLAST adalah metode "Needleman-Wunsch" dan "Smith-Waterman". Metode Needleman-Wunsch digunakan untuk menyusun alignment global di antara dua atau lebih sekuens, yaitu alignment atas keseluruhan panjang sekuens tersebut. Metode Smith-Waterman menghasilkan alignment lokal, yaitu alignment atas bagian-bagian dalam sekuens. Kedua metode tersebut menerapkan pemrograman dinamik (dynamic programming) dan hanya efektif untuk alignment dua sekuens (pairwise alignment)

Clustal adalah program bioinformatika untuk alignment multipel (multiple alignment), yaitu alignment beberapa sekuens sekaligus. Dua varian utama Clustal adalah ClustalW dan ClustalX.

Metode lain yang dapat diterapkan untuk alignment sekuens adalah metode yang berhubungan dengan Hidden Markov Model ("Model Markov Tersembunyi", HMM). HMM merupakan model statistika yang mulanya digunakan dalam ilmu komputer untuk mengenali pembicaraan manusia (speech recognition). Selain digunakan untuk alignment, HMM juga digunakan dalam metode-metode analisis sekuens lainnya, seperti prediksi daerah pengkode protein dalam genom dan prediksi struktur sekunder protein.

Prediksi Struktur Protein
Secara kimia/fisika, bentuk struktur protein diungkap dengan kristalografi sinar-X ataupun spektroskopi NMR, namun kedua metode tersebut sangat memakan waktu dan relatif mahal. Sementara itu, metode sekuensing  protein relatif lebih mudah mengungkapkan sekuens asam amino protein. Prediksi struktur protein berusaha meramalkan struktur tiga dimensi protein berdasarkan sekuens asam aminonya (dengan kata lain, meramalkan struktur tersier dan struktur sekunder berdasarkan struktur primer protein). Secara umum, metode prediksi struktur protein yang ada saat ini dapat dikategorikan ke dalam dua kelompok, yaitu metode pemodelan protein komparatif dan metode pemodelan de novo.

Pemodelan protein komparatif (comparative protein modelling) meramalkan struktur suatu protein berdasarkan struktur protein lain yang sudah diketahui. Salah satu penerapan metode ini adalah pemodelan homologi (homology modelling), yaitu prediksi struktur tersier protein berdasarkan kesamaan struktur primer protein. Pemodelan homologi didasarkan pada teori bahwa dua protein yang homolog memiliki struktur yang sangat mirip satu sama lain. Pada metode ini, struktur suatu protein (disebut protein target) ditentukan berdasarkan struktur protein lain (protein templat) yang sudah diketahui dan memiliki kemiripan sekuens dengan protein target tersebut. Selain itu, penerapan lain pemodelan komparatif adalah protein threading yang didasarkan pada kemiripan struktur tanpa kemiripan sekuens primer. Latar belakang protein threading adalah bahwa struktur protein lebih dikonservasi daripada sekuens protein selama evolusi; daerah-daerah yang penting bagi fungsi protein dipertahankan strukturnya. Pada pendekatan ini, struktur yang paling kompatibel untuk suatu sekuens asam amino dipilih dari semua jenis struktur tiga dimensi protein yang ada. Metode-metode yang tergolong dalam protein threading berusaha menentukan tingkat kompatibilitas tersebut.

Dalam pendekatan de novo atau ab initio, struktur protein ditentukan dari sekuens primernya tanpa membandingkan dengan struktur protein lain. Terdapat banyak kemungkinan dalam pendekatan ini, misalnya dengan menirukan proses pelipatan (folding) protein dari sekuens primernya menjadi struktur tersiernya (misalnya dengan simulasi dinamika molekular), atau dengan optimisasi global fungsi energi protein. Prosedur-prosedur ini cenderung membutuhkan proses komputasi yang intens, sehingga saat ini hanya digunakan dalam menentukan struktur protein-protein kecil. Beberapa usaha telah dilakukan untuk mengatasi kekurangan sumber daya komputasi tersebut, misalnya dengan superkomputer (misalnya superkomputer Blue Gene dari IBM) atau komputasi terdistribusi (distributed computing, misalnya proyek Folding@home) maupun komputasi grid. 

Analisis ekspresi gen
Ekspresi gen dapat ditentukan dengan mengukur kadar mRNA  dengan berbagai macam teknik (misalnya dengan microarray ataupun Serial Analysis of Gene Expression ["Analisis Serial Ekspresi Gen", SAGE]). Teknik-teknik tersebut umumnya diterapkan pada analisis ekspresi gen skala besar yang mengukur ekspresi banyak gen (bahkan genom) dan menghasilkan data skala besar. Metode-metode penggalian data (data mining) diterapkan pada data tersebut untuk memperoleh pola-pola informatif. Sebagai contoh, metode-metode komparasi digunakan untuk membandingkan ekspresi di antara gen-gen, sementara metode-metode klastering (clustering) digunakan untuk mempartisi data tersebut berdasarkan kesamaan ekspresi gen.

Dikutip : http://id.wikipedia.org/wiki/Bioinformatika

Rabu

Kecerdasan Buatan

Kecerdasan buatan adalah suatu karya atau benda buatan manusia untuk menyelesaikan suatu masalah tertentu yang dihadapi manusia, yang merupakan cabang dari ilmu komputer yang berhubungan dengan tingkah laku cerdas, belajar, dan beradaptasi pada sebuah mesin. Kendala yang sering dihadapi ialah kesulitan dalam menirukan perilaku dan mencontoh ploa pikir manusia. contohnya ialah kita dapat dengan mudah untuk mengenali wajah orang lain, tidak demikian halnya dengan komputer. Teknologi pengenalan wajah yang saat ini berkembang masihlah belum dapat menyerupai dengan manusia, untuk beberapa hal diperlukan pengaturan yang tepat, misalnya jarak, kecerahan cahaya, sudut pengambilan gamabr, dan sebagainya.

Sejarah Kecerdasan buatan
Seperti halnya ilmu pengetahuan yang lain, bidang kecerdasan uatan bukanlah merupakan ide dari seseorang saja. Ada banyak lapisan-lapisan teori yang mendasari bidang kecerdasan buatan, yang jika ditelusuri akan membawa kita pada zaman sebelum Masehi. Namun kecerdasan buatan ini berkembang dengan pesar pada abad ke-20, ketika peranti keras komputer menjadi semakin mudah untuk dipelajari, dan dimanfaatkan dengan bantuan software.

Pada tahun 1950, Claude Shannon dalam sebuah paper-nya memberikan ide tentang bagaimana sebuah program komputer dapat bermain catur dnegan menggunakan metode yang saat ini dikenal dengan nama minimax, yaitu membrikan poin untuk setiap bidak yang ada. kemudian dengan berbekal poin ini, dibuat sebuah fungsi evaluasi untuk menentukan langkah yang diambil. teknik ini menunjukkan bagaimana sebuah komputer dapat berfikir, dan mengambil keputusan untuk melangkah. Setelah itu pada tahun 1952 , Arthur Samuel dari IBM untuk kali pertamanya membuat game berbasis kecerdasan buatan, yaitu game Checker.

Pada tahun 1958, MIT berhasil membuat bahasa pemograman LISP yang disebut-sbut sebagai bahasa pemogram yang dekat dengan kecerdasan buatan pada saat itu. hingga akhir 1970-an bidang kecerdasan buatan ini mengalami masa kelam. para peneliti 

Pada 1980 adalah tahun kebangkitan dari sistem pakar, yaitu program yang mampu menjawab pernyataan pada domain pengetahuan tertentu dengan menggunakan aturan-aturan logika yang diturunkan dari seorang pakar. Tahun 1982, ilmuwan komputer David Rumelhart mempopulerkan sebuah metode baru untuk melakukan pelatihan pada sistem jaringan saraf tiruan yang disebut dengan "Backpropagation". hingga saat ini, metode backpropagation masih digunakan sebagai dasar aplikasi-aplikasi cerdas. Beberapa penelii berpendapat bahwa pendekatan kecerdasan buatan lebih tepat diterpakan pada robot. mereka berpendapat bahwa agar menunjukkan kecerdasan yang sebenarnya, sebuah mesin membutuhkan "tubuh". ditahun 1990, sperti yang dicetuskan Moore, bahwa kecepatan dan kapasitas komputer akan menigkat dua kali lipat dalam setahun, membuat masalah-masalah dasar yang berhubungan dengan peranti keras berhasil diatasi. peneliti biadang kecerdasan buatan telah menerapkan hasil penelitiannya pada berbagai industri, sperti data mining, robotik untuk industri, logistik, pengenalan karakter , pengenalan suara, pengenalan sidik jari.