Senin, 30 Juni 2014

Solusi Fatal error: Call to undefined function delete_files()


Jika anda membaca artikel saya sebelumnya  cara Import dari Excel ke Database Menggunakan CodeIgniter jika anda menemukan permasalahan Fatal error: Call to undefined function delete_files() 

kesalahan muncul karena ada sebuah helper file yang belum kita load
ada 2 solusi.
pertama : pemanggilan secara manual setiap controller
tambahan baris untuk melakukan load helper "file"
$this->load->helper('file');
Kedua : Pemanggilan secara autoload ( controller/contif/autoload.php )

tambahkan exekusi helper pada baris :
$autoload['helper'] = array('file');
Secara coba lagi, semoga Fatal error: Call to undefined function delete_files() sudah tidak muncul kembali. :D

Kamis, 26 Juni 2014

Import Dari Excel Ke Database Menggunakan CodeIgniter

Selamat datang lagi pada blog saya kali ini. Pada artikel kali ini saya akan menjelaskan bagaimana cara Import dari Excel ke Database Menggunakan CodeIgniter ? sebelumnya saya mempunyai struktur data pada database sebagai berikut :
terdapat 9 data yang akan di proses kedalam database. dikarenakan id_siswa adalah Key jadi pada database tidak kita proses.
Sebelumnya buat sebuah file Excel 
untuk mempermudah sesuaikan urutan pada database dengan excel. karena id_siswa adalah bersifat AUTO INCREMENT jadi pada excel tidak kita tampilkan.
pada kali ini saya menggunakan lib excel_reader dapat di download disini : DOWNLOAD
simpan Lib tersebut pada folder application\libraries
Buat sebuah function pada controller terserah mau anda kasih nama apa, di sini saya memberikan nama excel. Function ini berfungsi untuk load views uploadnya saja
$this->load->view('siswa/excel');
pada tampilan view excel buat sebuah file untuk uploadnya
<?php echo form_open_multipart('siswa/do_upload');?>
<input type="file" id="file_upload" name="userfile" size="20" />
<br />
<input type="submit" value="Upload" />
<?php echo form_close();?>
siswa/do_upload <<== berikan berdasarkan Controller uploadnya.
untuk proses uploadnya buat sebuah function pada controller terserah anda mau kasih nama apa, disni saya memberikan nama do_upload function ini yang akan di tuju saat proses upload di atas , nama function harus sama :D
pada function do_upload tadi akan saya jelas step demi step sintax yang akan kita gunakan.
pertam kita harus membuat temp untuk uploadnya, terserah mau anda kasih nama folder apa untuk temp ini , di sini saya akan memberikan nama temp_upload. untuk hal tersebut buat sebuah sintax nya seperti berikut, untuk memperkenalkan tempat temp upload tadi.
$config['upload_path'] = './temp_upload/';
jika sudah kita harus memperkenalkan extensi file yang di izinkan untuk di proses, untuk itu kita membuatkan sintax berikut untuk memperkenalkan/meizinkan extensi file
$config['allowed_types'] = 'xls';
untuk configurasi ini sudah selesai, saatnya kita akan melakukan load library upload dan kita sinkronkan dengan config di atas sehingga menjadi seperti ini.
$this->load->library('upload', $config);
kita harus filter atau memberikan sebuah logic jika suatu saat terjadi error saat upload file.
jika kebenarannya kita akan menampilkan display_errornya
oleh karena itu jika exekusi $this->upload->do_upload() tidak benar makan tampilkan pesan kesalahannya, untuk codingnya dapat dilihat di bawah ini :
if ( ! $this->upload->do_upload())
{
$data = array('error' => $this->upload->display_errors());
}
untuk nilai tidak benar alias jika salah maka kita membuatkan logic barunya :
else
{
            $data = array('error' => false);
$upload_data = $this->upload->data(); 
pada logic ini exekusi programnya akan di lakukan, terlebih dahulu kita harus load library excel_reader tadi
$this->load->library('excel_reader'); 
untuk mengenal apa itu excel_reader dapat dilihat disini :
https://code.google.com/p/php-excel-reader/wiki/Documentation
 untuk coding selanjutnya adalah upload_data kita menggunakan full_path
$file =  $upload_data['full_path'];
jika sudah kita akan membaca file excel yang sudah kita upload tadi
$this->excel_reader->read($file);
 kalau file excel sudah terbaca oleh excel_reader maka kita akan set nilai2 yang ada pada excel tadi dimulai dari sheets yang berapa atau kita ambil sheets berapa.
$data = $this->excel_reader->sheets[0] ;
jika sampai disini sudah oke kita akan memasukan nilai data yang ada didalam excel tadi kedalam array
                        $dataexcel = Array();
karena tadi data ada 10 jadikita harus membuat sebuah looping
for ($i = 1; $i <= $data['numRows']; $i++) {
                            if($data['cells'][$i][1] == '') break;
                            $dataexcel[$i-1]['nis'] = $data['cells'][$i][1];
                            $dataexcel[$i-1]['nama'] = $data['cells'][$i][2];
                            $dataexcel[$i-1]['alamat'] = $data['cells'][$i][3];
                            $dataexcel[$i-1]['kelas'] = $data['cells'][$i][4];
                            $dataexcel[$i-1]['wali'] = $data['cells'][$i][5];
                            $dataexcel[$i-1]['alamat_wali'] = $data['cells'][$i][6];
                            $dataexcel[$i-1]['telp_wali'] = $data['cells'][$i][7];
                            $dataexcel[$i-1]['pekerjaan'] = $data['cells'][$i][8];
}
jika semua looping sudah tersimpan didalam arrya maka data excel yang sudah diupload tadi akan kita hapus menggunakan perintah berikut
            delete_files($upload_data['file_path']);
 sampai disini proses pengambilan data dari excel sudah selesai, sisa kita memasukannya kedalam database, disini saya membuat sebuah module nya dengan nama Excel_model
buat sebuah function didalam module tersebut
 function tambahsiswa($dataarray)
    {
        for($i=0;$i<count($dataarray);$i++){
            $data = array(
                'nis'=>$dataarray[$i]['nis'],
                'nama'=>$dataarray[$i]['nama'],
                'alamat'=>$dataarray[$i]['alamat'],
                'kelas'=>$dataarray[$i]['kelas'],
                'wali'=>$dataarray[$i]['wali'],
                'alamat_wali'=>$dataarray[$i]['alamat_wali'],
                'telp_wali'=>$dataarray[$i]['telp_wali'],
                'pekerjaan'=>$dataarray[$i]['pekerjaan']
            );
            $this->db->insert('siswa', $data);
        }
    }
function ini yang akan melakukan proses penyimpanan kedalam database, yang mana data akan kita lakukan normalisasi data sehingga dapat sinkron dengan database supaya tidak terjadi kesalahan saat insert data ke dalam database.
jika sudah buat modul kita akan kembali ke controller tadi
pada baris setelah coding diatas kita akan melakukan proses inputan menggunakan modul di atas. karena dari tadi kita tidak ada melakukan load modul makan kita harus load terlebih dahulu modulnya.
 $this->load->model('Excel_model');
            $this->Excel_model->tambahsiswa($dataexcel);
Jika sudah kita akan menutup exekusi logic kesalahan tersebut lalu melakukan rendirect halaman
header('location:'.base_url().'siswa');
Untuk coding lengkap untuk controller adalah :
public function excel()
{
if($this->session->userdata('logged_in')!="" && $this->session->userdata('stts')=="administrator")
{
$this->load->view('templat/header');
$this->load->view('siswa/excel');
$this->load->view('templat/footer');
}
else
{
header('location:'.base_url().'');
}
}
public function do_upload()
{
if($this->session->userdata('logged_in')!="" && $this->session->userdata('stts')=="administrator")
{
$config['upload_path'] = './temp_upload/';
$config['allowed_types'] = 'xls';
             
$this->load->library('upload', $config);
             
if ( ! $this->upload->do_upload())
{
$data = array('error' => $this->upload->display_errors());
}
else
{
            $data = array('error' => false);
$upload_data = $this->upload->data();
            $this->load->library('excel_reader');
$this->excel_reader->setOutputEncoding('230787');
$file =  $upload_data['full_path'];
$this->excel_reader->read($file);
error_reporting(E_ALL ^ E_NOTICE);
// Sheet 1
$data = $this->excel_reader->sheets[0] ;
                        $dataexcel = Array();
for ($i = 1; $i <= $data['numRows']; $i++) {
                            if($data['cells'][$i][1] == '') break;
                            $dataexcel[$i-1]['nis'] = $data['cells'][$i][1];
                            $dataexcel[$i-1]['nama'] = $data['cells'][$i][2];
                            $dataexcel[$i-1]['alamat'] = $data['cells'][$i][3];
                            $dataexcel[$i-1]['kelas'] = $data['cells'][$i][4];
                            $dataexcel[$i-1]['wali'] = $data['cells'][$i][5];
                            $dataexcel[$i-1]['alamat_wali'] = $data['cells'][$i][6];
                            $dataexcel[$i-1]['telp_wali'] = $data['cells'][$i][7];
                            $dataexcel[$i-1]['pekerjaan'] = $data['cells'][$i][8];

}        
            delete_files($upload_data['file_path']);
            $this->load->model('Excel_model');
            $this->Excel_model->tambahsiswa($dataexcel);
}
header('location:'.base_url().'siswa');
}
else
{
header('location:'.base_url().'');
}
}
Dan untuk modul nya adalah :
<?php
class Excel_model extends CI_Model {
    function tambahsiswa($dataarray)
    {
        for($i=0;$i<count($dataarray);$i++){
            $data = array(
                'nis'=>$dataarray[$i]['nis'],
                'nama'=>$dataarray[$i]['nama'],
                'alamat'=>$dataarray[$i]['alamat'],
                'kelas'=>$dataarray[$i]['kelas'],
                'wali'=>$dataarray[$i]['wali'],
                'alamat_wali'=>$dataarray[$i]['alamat_wali'],
                'telp_wali'=>$dataarray[$i]['telp_wali'],
                'pekerjaan'=>$dataarray[$i]['pekerjaan']
            );
            $this->db->insert('siswa', $data);
        }
    }
}
?>
 Tampilan Viewnya adalah ;

  <body>
<div class="well"><?php echo form_open_multipart('siswa/do_upload');?>
<input type="file" id="file_upload" name="userfile" size="20" />
<br />
<input type="submit" value="Upload" />
<?php echo form_close();?>
Berikut Print Screen









Semoga artikel ini dapat membantu anda dalam dalam proses import dari excel ke database menggunakan Codeigniter

UPDATE :
30-Juni-2014
Solusi Fatal error: Call to undefined function delete_files() 

Rabu, 25 Juni 2014

Value Edit Select Tidak Berubah


Hmmm tidak tahu saya mau kasih judul apaan untuk artikel ini, saya kasih nama Value Edit Select Tidak Berubah maksud dari artikel ini adalah sebagai berikut perhatikan gambar di bawah ini, pada lingkaran merah itu adalah data yang di hubungkan dengan tabel lain dengan opsi pemilihan adalah Select. 
Double Klik Untuk Memperjelas Gambar
sekarang saya akan simpan data tersebut sehingga menjadi seperti ini :
Double Klik Untuk Memperjelas Gambar
fokus pada lingkaran merah, itu adalah data menggunakan opsi select tadi.
datang permasalahan saat terjadi mau edit datanya.
Double Klik Untuk Memperjelas Gambar
jika dalam hal ini kita masih menggunakan select maka nilai akan dikembalikan ke dafault nya, sehingga kita tidak dapat mempertahankan nilai awal tersebut. ini yang jadi topik pembahasan saya pada artikel kali ini, bagaimana cara mempertahan nilai select saat mau melakukan Edit ?
logicnya adalah :
1. Pertama kita memberikan opsi if pada Select
2. Mencocokan data pada opsi select dengan nilai yang ada dalam tabel
3. Jika data yang ada didalam tabel cocok dengan opsi select maka berikan nilai selected jika tidak kembalikan nilai ke defaultnya.
berikut potongan baris coding dari atas :
<select id="form-field-1" name="reguler" class="form-control">
          <option value=""></option>
<?php
foreach($jenis_pembayaran->result_array() as $sp)
{
if($sp['id_jenis_pembayaran']==$dp['jenis'])
{
?>
<option value="<?php echo $sp['id_jenis_pembayaran']; ?>" selected="selected"><?php echo $sp['ket']; ?></option>
<?php
}
else
{
?>
<option value="<?php echo $sp['id_jenis_pembayaran']; ?>"><?php echo $sp['ket']; ?></option>
<?php
}
}
?>
</select>
 keterangan pada baris yang saya kasih warna adalah :
Baris warna Merah 
disini saya melakukan pemanggilan data pada jenis_pembayaran dengan nilai yang tersimpan pada tabel awal adalah id_jenis_pembayaran
pada perintah ini saya memberikan sebuah logic adalah jika nilai pada tabel jenis_pembayaran sama dengan nilai pada jenis maka tampilkan selected  yang ada pada baris yang berwarna biru. jika nilai tidak sama ambil semua nilai pada jenis_pembayaran pada baris warna coklat.
gimana gampang bukan untuk mengatasi permasalah ini :D
semoga artikel ini bermanfaat

Senin, 23 Juni 2014

Perbedaan Skripsi, Tesis dan Disertasi


Sekarang saya sudah masuk semester 2 dan pada semester akan menghadapi TESIS, pada artikel ini akan membuat perbandingan antara Skripsi, Tesis dan Disertasi

Pada dasarnya skripsi mahasiswa S1 merupakan ajang latihan bagi mahasiswa untuk melakukan penelitian secara obyektif. Oleh karena baru pertama sekali meneliti maka mahasiswa S1 ini sangat membutuhkan bimbingan dosen agar tidak melakukan kesalahan fatal yang menyebabkan mereka harus mengulang. Tesis S2 merupakan ajang peningkatan kemampuan mahasiswa dalam meneliti dan diharapkan mahasiswa sudah mampu meneliti dengan bimbingan yang minimal dari dosen. Desertasi S3 merupakan pembuktian kemampuan mahasiswa S3 dalam meneliti secara mandiri.

Secara sederhana, skripsi itu menjawab apa, tesis menjawab apa dan mengapa, Dan disertasi itu menjawab apa, mengapa dan bagaimana. Contoh tentang penelitian daun katuk dalam menurunkan kolesterol telur. Skripsi hanya menjawab pertanyaan apakah daun katuk menurunkan kolesterol telur? Tesis itu menjawab dua pertanyaan, yaitu a) apakah daun katuk menurunkan kolesterol telur dan; b) mengapa daun katuk menurunkan kolesterol. Disertasi menjawab 3 pertanyaan, yaitu: a) apakah daun katuk menurunkan kolesterol telur?; b) mengapa daun katuk menurunkan kolesterol telur? Dan; c) bagaimana cara (mekanisme) daun katuk menurunkan kolesterol telur?
Seringkali dosen pembimbing lupa akan hal tersebut, sehingga sering meminta mahasiswa meneliti lebih dari seharusnya. Apa alasannya? Pertama, mungkin dikarenakan ketidaktahuannya dan pengalamannya sebagai mahasiswa dulu juga seperti itu. Sebagai contoh, dosen pembimbing meminta mahasiswa S1 untuk menjawab selain apa juga mengapa. Kedua, dosen pembimbing sudah tahu hal ini tetapi dikarenakan ia menginginkan data penelitian lebih, maka ia memaksakannya pada mahasiswa bimbingannya. Mungkin sang dosen bermaksud data tersebut akan dipublikasikan dimana ia sebagai penulis utamanya. Mungkin juga dosen mempunyai alasan yang lain.

Apapun alasannya, sesungguhnya dosen tidak dibenarkan untuk memaksa mahasiswa di luar ketentuan atau kesepakatan yang berlaku. Jika menginginkan data yang lebih akurat dan lebih banyak untuk menjawab permasalahan yang ada, maka sebaiknya dosen membuat proposal penelitian sendiri dan mengajukannya ke Dikti atau ke penyandang dana lainnya. Ia harus berkompetisi untuk memperoleh dana penelitian.
Tabel 1.  Perbedaan Umum antara Skripsi, Tesis dan Disertasi
NoAspekSkripsiTesisDisertasi
1JenjangS1S2S3 (tertinggi)
2PermasalahanDapat diangkat dari pengalaman empirik, tidak mendalamDiangkat dari pengalaman empirik, dan teoritik, bersifat  mendalamDiangkat dari kajian teoritik yang didukung fakta empirik, bersifat sangat mendalam
3Kemandirian penulis60% peran penulis, 40% pembimbing80% peran penulis, 20% pembimbing90% peran penulis, 10% pembimbing
4Bobot IlmiahRendah – sedangSedang – tinggi.  Pendalaman / pengembangan terhadap teori dan penelitian yang adaTinggi, Tertinggi dibidang akademik.   Diwajibkan mencari terobosan dan teori baru dalam bidang ilmu pengetahuan
5PemaparanDominan deskriptifDeskriptif dan AnalitisDominan analitis
6Model AnalisisRendah – sedangSedang – tinggiTinggi
7Jumlah rumusan masalahSekitar 1-2Minimal 3Lebih dari 3
8Metode / Uji statistikBiasanya  memakai uji Kualitatif / Uji deskriptif, Uji statistik parametrik (uji 1 pihak, 2 pihak), atau Statistik non parametrik (test binomial, Chi kuadrat, run test), uji hipotesis komparatif, uji hipotesis asosiatif, Korelasi, Regresi, Uji beda, Uji Chi Square, dllBiasanya memakai uji Kualitatif  lanjut  /  regresi ganda, atau korelasi ganda, mulitivariate, multivariate lanjutan (regresi dummy, data panel, persamaan simultan, regresi logistic, Log linier analisis,  ekonometrika static & dinamik, time series ekonometrik) Path analysis, SEMSama dengan tesis dengan metode lebih kompleks, berbobot yang bertujuan mencari terobosan dan teori baru dalam bidang ilmu pengetahuan
9Jenjang Pembimbing/ PengujiMinimal MagisterMinimal Doktor dan Magister yang berpengalamanMinimal Profesor dan Doktor  yang berpengalaman
10Orisinalitas penelitianBisa replika penelitian orang lain, tempat kasus berbedaMengutamakan orisinalitasHarus orisinil
11Penemuan hal-hal yang baruTidak harusDiutamakanDiharuskan
12Publikasi hasil penelitianKampus Internal dan disarankan nasionalMinimal NasionalNasional dan Internasional
13Jumlah rujukan / daftar pustakaMinimal 20Minimal 40Minimal 60
14Metode / Program statistik yang biasa digunakanKualitatif / Manual, Excel, SPSS dllKualitatif lanjut / SPSS, Eview, Lisrel, Amos dllKualitatif lanjut / SPSS, Eview, Lisrel, Amos dll

Metode Monte Carlo

Minggu kemaren adalah pembelajaran saya di Pasca Sarjana dengan Dosen saya Dr. Eko Syamsuddin Hasrito Mata Kuliah Pemodelan dan Simulasi. akhir kuliah ternyata ada tugas yang harus di kumpulkan saat ujian UAS :D
Berikut adalah foto papan tulis sekalian tugas


karena agak berantakan berikut tampilan tabel yang musti di isi :
Tabel TUGAS
sebelum masuk kedalam pembahasan nya lebih baik kita pahami terlebih dahulu apa itu Metode Monte Carlo ?
Metode Monte Carlo adalah algoritma komputasi untuk mensimulasikan berbagai perilaku sistem fisika dan matematika. Penggunaan klasik metode ini adalah untuk mengevaluasi integral definit, terutama integral multidimensi dengan syarat dan batasan yang rumit.

Metode Monte Carlo sangat penting dalam fisika komputasi dan bidang terapan lainnya, dan memiliki aplikasi yang beragam mulai dari perhitungan kromodinamika kuantumesoterik hingga perancangan aerodinamika. Metode ini terbukti efisien dalam memecahkan persamaan diferensial integral medan radians, sehingga metode ini digunakan dalam perhitungan iluminasi global yang menghasilkan gambar-gambar fotorealistik model tiga dimensi, dimana diterapkan dalam video games, arsitektur, perancangan, film yang dihasilkan oleh komputer, efek-efek khusus dalam film, bisnis, ekonomi, dan bidang lainnya.
Karena algoritma ini memerlukan pengulangan (repetisi) dan perhitungan yang amat kompleks, metode Monte Carlo pada umumnya dilakukan menggunakan komputer, dan memakai berbagai teknik simulasi komputer.
Algoritma Monte Carlo adalah metode Monte Carlo numerik yang digunakan untuk menemukan solusi problem matematis (yang dapat terdiri dari banyak variabel) yang susah dipecahkan, misalnya dengan kalkulus integral, atau metode numerik lainnya.
untuk soal, nilai RN(A) dan RN(B) sudah di ketahuan untuk mendapatkan nilai pembangkitan dari nilai random maka di butuhkan tabel tambahan. Untuk nilai Proses adalah seperti gambar dibawah ini :
Tabel A
Pembilangan bilang Random untuk operator A dan B adalah :
Tabel B
Sekarang kita sudah memiliki bilangan Random dan nilai setiap bilang random tersebut. mari kita bahas logikanya terlebih dahulu :

Pada isian Benda ke berapa kita mengambil pada Tabel B. Aturannya adalah setiap benda pertama kita mulai dari waktu 0.00, kenapa harus 0.00 karena itu adalah aturan mainnya :D. mari kita lihat nilai RN(A) adalah 495 dan sekarang kita lihat tabel A
Nilai 495 berapa pada Interval ( 3 Digit ) brp yaitu berada pada range 390-549 . jika sudah ketemu kita lihat berapa Waktu operasinya bernilai 0.50
jadi untuk tabel Durasi Waktu A kita isi dengan nilai 0.50 sesuai dengan data pada tabel A
untuk mendapatkan hasil dari Operasi A Berakhir adalah Waktu durasi A * 60 / 1000 + Operasi A Mulai (0.50 * 60 /1000 +0.00) = 0.03 <== Nilai Operasi A Berakhir 
Untuk nilai Selanjutnya adalah Benda Kerja A Tersedia karena ini adalah nilai pertama jadi Benda Kerja A = Nilai Operasi A berakhir begitu juga dengan nilai Operator B Siap .
karena ini adalah proses pertama jadi  Benda Kerja Menunggu nilainya adalah 0.
Untuk nilai Operator B Menunggu karena ini juga baris pertama jadi tidak ada operator menunggu jadi nilainya adalah 0.
Untuk nilai Operator B mulai adalah Nilai dari Operator B berakhir jadi nilainya adalah 0.03
sampai disini kita lihat Untuk Nilai RN(B) pada tabel B untuk benda kerja pertama adalah 848 dan kita lihat berapa durasi waktu untuk nilai 848 sama dengan  kita mencari nilai Operasi untuk RN(A) 

Jadi nilai Durasi Waktu B = 0.65
Untuk mencari nilai Operasi B Berakhir adalah Durasi Waktu B X 60 / 1000 + Operasi A berakhir  = [ 0.65 * 60 /1000 + 0.03] = 0.069
untuk baris pertama sudah kelar. ingat aturan pada baris pertama tidak sama dengan aturan main pada baris kedua dan seterusnya
Sekarang kita bahas untuk baris kedua dan seterusnya
Operasi A Mulai = Operasi A Berakhir (n-1) = 0.03
untuk RN(A) kedua adalah 701 , kita lihat berapa waktu operasi dalam range 701 yaitu : 0.60
Operasi A Berakhir adalah Waktu durasi A * 60 / 1000 + Operasi A Berakhir =  (0.60 * 60 /1000 +0.03) = 0.066 <== Nilai Operasi A Berakhir 

Benda Kerja A Tersedia = Operasi A Berakhir = 0.066
Operator B Siap = Operasi B Berakhir (n-1) = 0.069
Benda Kerja Menunggu adalah 
Jika Operator B Siap > Benda Kerja A Tersedia maka Operator B Siap - Benda Kerja A Tersediajika Tidak hasilnya adalah 0.00
jadi untuk baris kedua nilai Operator B Siap adalah 0.069 sedangkan Benda Kerja A tersedia adalah 0.066 maka hasilnya adalah 0.069-0.066 = 0.003
Operator B Menunggu adalah
Jika Operator B Siap <  Benda Kerja A Tersedia maka Operator B Siap - Benda Kerja A Tersediajika Tidak hasilnya adalah 0.00
jadi Operator B Siap kecil dari Benda Kerja A Tersedia maka nilainya adalah 0.00

Operator B mulaiOperator B Siap = 0.069
Untuk Nilai RN(B) adalah 451
Nilai Durasi Waktu B dapat kita lihat pada Tabel A sesuai dengan petunjuk yang di atas yaitu 0.45
Operasi B Berakhir = Durasi Waktu B X 60 / 1000 + Operator B Siap =
0.45 X 60 / 1000 + 0.069 = 0.096
begitulah untuk benda kerja seterusnya. gmn cukup mudah bukan :D
karena semua rule dan aturan mainnya saya buatkan sebuah aplikasinya menggunakan Framework CodeIgniter lagi :D
Berikut hasil untuk semuanya :
Jika ada kesalahan dalam penjabaran proses atau pemberian makna kata2 mohon di maafkan :D 
Untuk melihat sistem ini dengan menggunakan Tabel A dan Tabel B di atas dapat dilihat di sini :

Minggu, 15 Juni 2014

CONTOH SISTEM PAKAR BACKWARD CHANING STUDI KASUS DIAGNOSA PENYAKIT TANAMAN PADI

Kali ini saya mengambil pada Jurnal Anton Setiawan Honggowibowo dengan judul SISTEM PAKAR DIAGNOSA PENYAKIT TANAMAN PADI BERBASIS WEB DENGAN FORWARD DAN BACKWARD CHAINING dengan nomor ISSSN : 1693-6930
Disini saya Cuma mengambil backward chaining nya saja. Dengan mengambil diagnose sebagai berikut :

NOGEJALA
1Tanaman Kerdil

2Anakan berkurang / sedikit

3Daun menguning sampai jinga dari pucuk ke pangkal

4Daun muda terlihat seperti mottle

5Daun tua seperti bintik-bintik coklat bekas ditusuk

6Bercak-bercak berwarna coklat

7Anakan bertambah banyak

8Daun pendek dan sempit

9Daun berwarna hijau pucat/kekuningan-kuningan

10Bercak menyerang daun
11Anakan tumbuh tegak
Rulenya adalah :
dan jika user melakukan proses input gejala di luar rule akan di berikan nilai defaultnya yaitu :" Penyakit Tidak Terdeteksi"
Untuk penyakit hanya mendeteksi 2 buah penyakit pada padi yaitu : Tungro & Kerdil Rumput
sistem dibangun menggunakan
Tampilan menggunakan BootStrap
 Bentuk View pada sistem :
Master Gejala

Master Penyakit

Master Solusi

Master Rule

Konfigurasi Sistem

Master User

Tampilan Input Gejala

Hasil Penyakit dan Solusi

Sabtu, 07 Juni 2014

Ellislab Resmi Rilis CodeIgniter 2.2.0


Pada Tanggal 5 Juni 2014 kemaren yang cukup mengejutkan datang dari berita Ellislab yang mana ternyata masih melakukan support terhadap CodeIgniter dengan melakukan rilis tersebaru yaitu versi 2.2.
beberapa bulan yang lalu sempat ada isu bahwa Ellislab selaku pengembang tidak melakukan pengembang terhadap Framework CodeIgniter tersebut karena fokus ke pengembangan EE. sehingga dari itu pada pengemar CodeIgniter melakukan pengembangan sendiri berdasarkan dari komunitas Github sehingga dari versi tersebut sempat keluar versi 3.0 baca juga : http://h4nk.blogspot.com/2013/10/codeigniter-release-versi-30.html

awal berita Kematian Framework Codeiginiter berasal dari http://philsturgeon.co.uk/blog/2010/10/what-happens-next
tapi kemudian melakukan verifikasi pada
http://philsturgeon.co.uk/blog/2012/12/5-things-codeigniter-cannot-do-without-a-rewrite

mari kita lihat apa saja yang dilakuka update pada versi 2.2 ini:
Perubahan :
- Keamanan menggunakan xor_encode() telah di hapus sehingga memerlukan ekstensi Mcrypt yang akan diinstal.
- Session Library  menggunakan otentikasi HMAC bukan MD5 checksum

Perbaikan BUG :
- Email Library Suhosin pesan yang dikirim melalui pos diblokir () karena tertinggal newspaces di header.
- Membuat oci_execute () panggilan dalam NUM_ROWS () non-melakukan, karena mereka hanya ada untuk me-reset yang baris adalah di baris berikutnya untuk panggilan oci_fetch dan dengan demikian tidak perlu dilakukan.
- database metode Forge Kelas create_table (), drop_table () dan rename_table () menghasilkan SQL rusak untuk tge 'sqlsrv' 
PDO Database driver didn't properly check for query failures.
Library Session mana otentikasi tidak dilakukan untuk cookie dienkripsi.

silahkan langsung download di sini  : DOWNLOAD

Kelebihan, Kelemahan dan Aplikasi 10 Bahasa Pemrograman

A. Bahasa C

1. Sejarah

Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang diciptakan oleh Dennis Ricthie & W. Kerninghan tahun 1972 di Bell Telephone Laboratories Inc. (Sekarang adalah AT & T Bell Laboratories).

2. Aplikasi bahasa C
Bahasa C pertama kali digunakan di Computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX.
Bahasa C juga digunakan untuk menyusun operasi Linux.
Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan sintaks dasar mirip bahasa C.

3. Kelebihan dan Kekurangan Bahasa C

Kelebihan Bahasa C :
Bahasa C tersedia hampir di semua jenis computer
Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer.
Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.
Proses executable program bahasa C lebih cepat.
Dukungan pustaka yang banyak.
C adalah bahasa yang terstruktur.
Bahasa C termasuk bahasa tingkat menengah.

Kekurangan Bahasa C :
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

B. Bahasa Java

1. Sejarah


Java mulai dirilis pada tahun 1990 sebagai bahasa program yang disebut Oak, kemudian Sun MycroSystem mendirikan kelompok kerja yang terdiri atas para programmer handal untuk membuat produk dan memperluas pasar Sun. Oak didesain pertama kali untuk personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas Graphical User Interface.

Ternyata *7 tidak pernah dipasarkan dan secara kebetulan Sun membentuk suatu perusahaan yang disebut Firstperson untuk mengembangkan *7 dalam bentuk TV set-top boxes untuk televisi interaktif. Karena persaingan begitu ketat akhirnya prospek TV interaktif menurun dan akhirnya Oak tidak laku di pasaran. Akan tetapi FirstPerson dan Oak mengalami kegagalan. bermunculan para perintis internet khususnya World Wide Web seperti Netscape membuat software yang memungkinkan terjadinya koneksi antara internet dengan www. Sun akhirnya menyadari bahwa Oak memiliki kemungkinan besar untuk membuat jalur akses ke dunia web. Tidak lamam kemudian Oak diluncurkan di Internet dengan nama baru yaitu, Java.

Sekarang, java masih dalam taraf pengembangan dan sudah mempengaruhi arah pemrogaman computer dan internet. Bahasa pemrogaman Java dirilis secara gratis di Internet dan Sun memberikan lisensi penuh terhadap implementasi Java dan segala komponennya untuk digunakan di berbagai vendor software Internet dengan harapan supaya dapat menciptakan standard pemrogaman web.

2. Aplikasi Bahasa Java
Pemrograman jaringan
Pembuatan aplikasi berbasis windows
Program untuk membuat web

3. Kelebihan dan Kekurangan

Kelebihan Bahasa Java :
Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman, dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
Aman, java dirancang dengan konsep keamanan internet.
Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model antarmuka dinamik yang intuitif hanya jika diperlukan.
Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat menemukan kesalahan lebih cepat saat mengembangkan program.
Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti PC, UNIX, Macintosh, dll.
Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual machine.
Mudah dipelajari karena bersifat sederhana.
Mendukung koneksi ke database.

Kekurangan bahasa Java :
Java memiliki kecepatan yang kurang dari bahasa C ++.
Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang berbeda-beda.
Java memakan banyak memori computer.
Java merupakan bahasa yang kompleks dan susah dipelajari.
Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat dengan bahasa lain seperti C atau C++.

C. Bahasa Pascal

1. Sejarah


Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. pascal berasal dari nama matematikawan yaitu Blaise Pascal. Pascal digunakan untuk mengenalkan pemrograman terstruktur.

2. Aplikasi Bahasa Pascal
Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi (berbasis windows).
Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix (berbasis Linux).

3. Kelebihan dan kekurangan

Kelebihan bahasa Pascal :
Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char, real, string.
User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang ditentukan.
Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.

Kekurangan bahasa Pascal :
Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang terbatas.
Sintaks Pascal terlalu bertele-tele.
Tidak mendukung pemrograman berorientasi objek.
Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi yang besar.

D. Bahasa PHP

1. Sejarah

PHP adalah bahasa pemrogaman web atau scripting language yang didesain untuk web. PHP dibuat pertama kali oleh Rasmus Lerdford untuk menghitung jumlah pengunjung pada homepagenya pada akhir tahun 1994. PHP terus berkembang dari PHP 1 yang ditulis ulang Rasmus dalam bahasa C pada tahun 1995 sampai PHP 4 yang diluncurkan tanggal 22 Mei 2000.

2. Aplikasi Bahasa PHP
PHP digunakan sebagai landasan operasi pada pemrogaman jaringan berbasis web.
PHP digunakan juga untuk pemrogaman database.
PHP digunakan untuk membuat aplikasi web.

3. Kelebihan dan Kekurangan

Kelebihan :

PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce, bulletin board, dll.
PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web.
Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server Apache dan OS Linux.
Sintaks mirip C dan mudah dipelajari.
Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com, phpindo.com, dll.
Berbagai script atau aplikasi yang gratis telah tersedia.

Kekurangan :
Tidak detail untuk pengembangan skala besar.
Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.
Tidak bisa memisahkan antara tampilan dengan logic dengan baik.
PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool yang mahal dari Zend.

E. Bahasa Ruby

1. Sejarah


Ruby adalah bahasa pemrogaman scripting yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pemrogaman scripting yang ada di dunia. Ruby ditulis dengan bahasa C dengan kemampuan dasar seperti Perl dan Phyton.

Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Penulisan Ruby dimulai pada February 1993 dan pada Desember 1994 dirilis versi alpha dari ruby. Pada awal perkembangan Ruby, Yukihiro meulis Ruby sendiri sampai pada tahun 1996 terbentuk komunitas Ruby yang banyak mengkotribusikan Ruby.

2. Aplikasi bahasa Ruby
Implementasi besar Ruby pada JRuby dan Rubinius.
Ruby dapat diterapkan pada teknologi Asynchronous JavaScript dan XML (AJAX).
Ruby on Rails untuk membuat framework web.

3. Kelebihan dan Kekurangan

Kelebihan :

Sintaks sederhana.
Memiliki Exception Handling yang baik.
OOP.
Single inheritance.
Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
Merupakan bahasa pemrograman scripting yang berorientasi objek.
Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.

Kelemahan :
Multithreading. Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz.
IDE. Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.

F. Bahasa PROLOG


1. Sejarah


Prolog (Programmation en logique) adalah bahasa pemrograman logika atau bahasa non-prosedural. Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman untuk aplikasi kecerdasan buatan. Bahasa ini menjadi popular semenjak Jepang mengumumkan pada tahun 1981 bahwa jepang akan menggunakannya sebagai basis computer “generasi kelima”.

2. Aplikasi bahasa Prolog
Bahasa pemrograman Artificial Intellegence dan robot.
Bahasa pemrograman computer generasi kelima.
PROLOG banyak digunakan dalam aplikasi pembuatan bahasa alami, penulisan compiler, penambahan ilmu pada sistem pakar dan purwarupa (prototype) perangkat lunak.
Bagus untuk menulis sistem pakar dan knowledge based system.

3. Kelebihan dan Kekurangan

Kelebihan :
Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
Melakukan komputasi rumit pada data yang kompleks.
Mengekpresikan algoritma dengan baik.
Mengalokasikan memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.
Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program dapat “belajar” melalui informasi yang didapat selama program dijalankan
PROLOG mempunyai Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut Inference Engine (Inference = proses pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya, program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.

Kekurangan :
Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi lambat

G. Bahasa Phyton

1. Sejarah


Bahasa pemrograman ini dibuat oleh Guido van Rossum dari Amsterdam, Belanda. Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan untuk kalangan engineer seluruh dunia dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan python sebagai pembuat perangkat lunak komersial.

Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler, antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI (antarmuka pengguna grafis), dan basis datanya. Python dapat digunakan dalam beberapa sistem operasi, seperti kebanyakan sistem UNIX, PCs (DOS, Windows, OS/2), Macintosh, dan lainnya. Pada kebanyakan sistem operasi linux, bahasa pemrograman ini menjadi standarisasi untuk disertakan dalam paket distribusinya.

2. Aplikasi bahasa Phyton
Perangkat bantu shell. Tugas-tugas sistem administrator, program baris perintah.
Kerja bahasa ekstensi. Antarmuka untuk pustaka C/C++, kustomisasi.
Pembuatan prototipe secara cepat/pembuatan sistem aplikasi. Prototipe yang dapat dibuang atau sesuai dengan permintaan.
Modul berdasarkan bahasa pemrograman. Pengganti dari penulisan parser khusus.
Antarmuka pengguna grafis. Penggunaan GUI API sederhana dan canggih.
Pengaksesan basisdata. Penyimpanan objek tetap, antarmuka sistem SQL.
Pemrograman terdistribusi. Penggunaan API mekanisme client/server terintegrasi.
Skrip internet. Skrip CGI, antarmuka HTTP, Aplet WWW, dan lainnya.

3. Kelebihan dan Kekurangan

Kelebihan :

Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat.
Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible.
Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode.
Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada.
Pemrograman berorientasi objek.
Pelekatan dan perluasan dalam C.
Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular.
Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil
Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya.
Model objek universal kelas Satu.
Konstruksi pada saat aplikasi berjalan.
Interaktif, dinamis dan alamiah.
Akses hingga informasi interpreter.
Portabilitas secara luas seperti pemrograman antar platform tanpa ports.
Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan melindungi kode sumber.
Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll.

Kekurangan :
Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C.
Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis.
Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka.
Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya.

H. Bahasa Cobol

1. Sejarah


COBOL diciptakan pada tahun 1959. Bahasa COBOL pertama kali diperkenalkan secara resmi atau formal pada bulan Januari 1960. Versi dari bahasa COBOL ini disebut dengan COBOL-60. Dan diperbaharui pada tahun 1965. Bila suatu bahasa komputer tidak standar, dalam arti banyak versinya, maka menyulitkan pemakai untuk menerapkannya, pemakai harus menyesuaikan versi dari COBOL yang dipakai oleh komputer tertentu. Untuk mengatasi masalah hal ini, pada tahun 1968 dan 1974 bahasa COBOL dikembangkan dan disempurnakan lebih lanjut dan distandardisasikan dengan nama ANSI COBOL (American National Standards Institute ). ANSI COBOL ini yang sekarang banyak diterapkan oleh sejumlah pabrik-pabrik komputer. Dengan adanya standardisasi, pemakai tidak terlalu sulit menggunakan bahasa COBOL versi yang berbeda, karena inti dari bahsa ini sama.

2. Aplikasi bahasa COBOL
Untuk membuat aplikasi bisnis
Untuk pengolahan data dan database

3. Kelebihan dan Kekurangan

Kelebihan :
Program COBOL dibuat dalam instruksi bahasa inggris, sehingga lebih mudah dipelajari dan dibuat.
Program COBOL sesuai untuk pengolahan data yang banyak diterapkan pada permaslahan .
Program COBOL sifatnya standard, sehingga dapat dipergunakan pada komputer-komputer yang berbeda, tanpa banyak perbedaan.
Struktur program COBOL jelas, sehingga dapat dimengerti oleh orang seperti akuntan, auditor, atau manajer-manajer yang hanya mempunayai pengetahuan pengolahan data yang sedikit.
COBOL menyediakan fasilitas Listing Program, bilamana perlu dapat diperiksa oleh orang lain selain programer.
Mudah didokumentasikan dan dikembangkan bilamana perlu.
Problem Orientad Language.

Kekurangan :
Operasi masukan dan keluaran yang masih kaku.
Struktur penulisan program yang sangat kaku dan bertele-tele.

I. Bahasa Basic

1. Sejarah


BASIC adalah beginner all-purpose symbolic instruction code dikembangkan tahun 1965 di Darmouth College oleh John Kemeny dan Thomas Kurtz. Awalnya ditujukan untuk pengajaran dasar pemrogaman computer.

2. Aplikasi bahasa Basic
Landasan pemrograman Visual Basic dan visual basic for application.
Bahasa pemrograman pada banyak produk Microsoft seperti untuk administrasi dan otomatisasi batch skrip, windowskrip house.
Untuk pembuatan program kid Basic, FreeBasic, dan Gambas.

3. Kelebihan dan Kekurangan

Kelebihan :

Bahasa Basic tergolong bahasa serbaguna dan dapat digunakan di aplikasi apa saja.

Kekurangan :
Bahasanya kurang terstruktur.
Tidak cocok untuk membuat aplikasi besar.
Sintaksnya penuh dengan GOTO yang menyesatkan.
Bahasa ini merupakan bahasa yang primitif di era DOS.

A. Bahasa C++

1. Sejarah


Bahasa C++ diciptakan oleh Bjarne Stroustrup tahun 1983 di Lab Bell. C++ merupakan bahasa pemrograman berorientasi objek menggunakan kaidah bahasa C

2. Aplikasi bahasa C++
Sebagai bahasa pemrograman di Windows, UNIX, Linux.
Visual C++ dapat dibuat aplikasi apa saja seperti database.
Bahasa untuk pembuatan system operasi, game, system kendali,pembuatan aplikasi
Untuk membuat bahasa baru atau membuat compiler bahasa baru
Untuk menulis komponen dan file-file pustaka bahasa lain

3. Kelebihan dan Kekurangan

Kelebihan :

Merupakan induk dari bahasa pemrograman perl, php, phyton, visual basic, gambas, java, C#.
Compiler bahasa C++ terdapat di semua platform.
Untuk pengembangan visual dijejali dengan platform yang sangat banyak seperti OWL, MFC, Cocoa, QT, GTK, dll.
Merupakan pemrograman berorientasi objek.

Kekurangan :
Bahasa ini cukup sulit untuk dipel;ajari dan dipahami.
Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
Bagi pemula pada umumnya akan kesulitan menggunakan pointer.