Senin, 17 November 2014

Konfigurasi Apache2 untuk Menjalankan Skrip Python dengan CGI di Linux Mint 17 / Ubuntu 14.04 LTS

Sebelum memulai melakukan pengaturan konfigurasi pada Apache web server, terlebih dahulu harus memasang Apache web server. Pemasangan bisa dilakukan dengan melalui Synaptic Package Manager atau melalui terminal ( command line). 

*Pastikan komputer tersambung dengan jaringan internet.

Pemasangan Apache2 Web Server via Synaptic Package Manager
  • Buka Synaptic  Package Manager dan carilah Apache2.
  • Pilih pada kotak disamping Apache2 dan pilih Mark for Installation.
  • Pilih Apply, tunggu sampai proses mengunduh dan pemasangan selesai.
Pemasangan Apache2 Web Server via Terminal

  • Buka terminal kemudian ketikan perintah sudo apt-get install apache2 kemudian enter. Masukan password yang kamu gunakan pada komputermu. Tunggu sampai proses mengunduh dan memasang selesai.
sudo apt-get install apache2
Setelah memasang Apache2, kini saatnya memulai konfigurasi Apache. Berkas konfigurasi yang akan diedit adalah berkas apache2.conf yang ada di /etc/apache2. Untuk memudahkan pengeditan, sebaiknya menggunakan Terminal untuk pindah direktori.

  1. Untuk mengedit berkas apache2.conf ketikan perintah berikut.
sudo gedit /etc/apache2/apache2.conf
*Keterangan : gedit adalah aplikasi text editor, masing-masing distribusi Linux menggunakan aplikasi text editor yang berbeda, jadi tergantung distribusi Linux yang kamu gunakan.

  • Pada text editor carilah bagian , kemudian tambahkan ExecCGI pada baris terakhir dari Options Indexes FollowSymLinks.
  • Setelah menambahkan ExecCGI, kemudian buat baris baru tepat berada dibawah baris ExecCGI dan tambahkan AddHandler cgi-script .py .
Gambar 1. apache2.conf

  • Simpan dan kembali ke Terminal. Kemudian mengaktifkan modul CGI dengan mengetikan sudo a2enmod cgi. Apabila modul tersebut tidak diaktifkan, maka berkas skrip python tidak dapat dijalankan di web browser.
sudo a2enmod cgi
  • Restart Apache2 Web Server
sudo service apache2 restart
Konfigurasi selesai. Untuk uji coba, buat sebuah berkas skrip python yang simpan pada direktori html yang berada di /var/www. Untuk mudahnya, kita masih menggunakan Terminal.

  1. sudo touch /var/www/html/hello.py
  2. sudo chmod 777 /var/www/html/hello.py
  3. sudo gedit /var/www/html/hello.py

    
Gambar 2. hello.py
 *Keterangan: 
  1. touch adalah perintah untuk membuat file.
  2. chmod adalah perintah untuk mengubah hak akses dari suatu berkas, 777 adalah tanda untuk hak akses (7 = 4 + 2 + 1, dimana 4 adalah read, 2 adalah write, 1 adalah execute. 777 memiliki arti 7 untuk user, 7 untuk group dan 7 untuk other)
  3. sudo adalah perintah untuk menjadi administrator untuk mengakses sistem berkas.
Setelah membuat berkas skrip python, saatnya menguji coba pada browser. Buka browser dan ketik pada url, yakni localhost/hello.py , jika berhasil maka akan muncul seperti gambar di bawah.

Gambar 4. browser
Selamat Mencoba

Senin, 05 Mei 2014

Membuat Program Gerbang Logika dengan Menggunakan Bahasa Pemrograman BAIK 8.1

Apa itu Gerbang Logika (Logic Gate) ?

Gerbang Logika  adalah sebuah dasar blok pembangun dari sirkuit dijital. Banyak gerbang logika memiliki  dua input dan satu output, yakni nilai 0 (low) dan 1 (high) yang menggambarkan perbedaan tingkat voltase.

Ada tujuh gerbang logika dasar, yaitu:
  1. AND
  2. OR
  3. XOR
  4. NOT
  5. NAND
  6. NOR
  7. XNOR
Kali ini, saya menulis tentang membuat program  gerbang logika dengan menggunakan bahasa pemrograman BAIK. Mungkin di antara pembaca masih belum tahu tentang BAIK ini. BAIK ada bahasa pemrograman yang menggunakan sintaks bahasa Indonesia dan dapat diunduh di sourceforge. Bahasa pemrograman tersebut menggunakan ekstensi .ina untuk nama berkas skrip programnya. Kode sumber ada di bawah.



# program utama &menu() # fungsi Fungsi menu(){ perintah "clear" tulis "\t\t\t#################################\n" tulis "\t\t\t#\t\t\t\t#\n" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# GERBANG LOGIKA #\t#\n" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t\t\t\t#\n" tulis "\t\t\t#################################\n" tulis "\t\t\t#\t MENU PILIHAN \t#\n" tulis "\t\t\t#################################\n" data = "AND,OR,NOT,NAND,NOR,XOR,XNOR,Keluar" a[] = pisah data , "," y = panjang a untuk (i=0;i<y;i=i+1) ulang tulis "\t\t\t#\t ",i,". ",a[i]," \t\t#\n" lagi tulis "\t\t\t#################################\n" tulis "\t\t\t MASUKAN PILIHAN : " masuk pil kalau pil == 0 maka &and() &kembali() lainnya kalau pil == 1 maka &or() &kembali() lainnya kalau pil == 2 maka &negasi() &kembali() lainnya kalau pil == 3 maka &nand() &kembali() lainnya kalau pil == 4 maka &nor() &kembali() lainnya kalau pil == 5 maka &xor() &kembali() lainnya kalau pil == 6 maka &xnor() &kembali() lainnya kalau pil == 7 maka tamat lainnya tulis "\n\t\t\t\tTidak ada pilihan" tunggu 5 &menu() akhirkalau } Fungsi kembali(){ tulis "\n" tulis "\t\t\t#################################\n" datas = "Menu,Keluar" b[] = pisah datas , "," x = panjang b untuk (j=0;j<x;j=j+1) ulang tulis "\t\t\t#\t ",j,". ",b[j]," \t\t#\n" lagi tulis "\t\t\t#################################\n" tulis "\t\t\t MASUKAN PILIHAN : " masuk pil2 kalau pil2 == 0 maka &menu() lainnya kalau pil2 == 1 maka tamat lainnya tulis "\n\t\t\t\tTidak ada pilihan\n" tunggu 5 &kembali() akhirkalau } Fungsi and(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# AND #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau (bin1==1 dan bin2==1) maka tulis "Hasil dari ",bin1," AND ",bin2," adalah 1\n" lainnya tulis "Hasil dari ",bin1," AND ",bin2," adalah 0\n" akhirkalau } Fungsi or(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# OR #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau (bin1==1 atau bin2==1) maka tulis "Hasil dari ",bin1," OR ",bin2," adalah 1\n" lainnya tulis "Hasil dari ",bin1," OR ",bin2," adalah 0\n" akhirkalau } Fungsi negasi(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# NOT #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER (0 atau 1) : " masuk bin1 tulis "\n" kalau (bin1==0) maka biner1 = bukan bin1 tulis "Hasil negasi dari ",bin1," adalah ",biner1,"\n" lainnya kalau (bin1==1) maka biner2 = bukan bin1 tulis "Hasil negasi dari ",bin1," adalah ",biner2,"\n" akhirkalau } Fungsi nand(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# NAND #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau (bukan(bin1==1 dan bin2==1)) maka tulis "Hasil adalah 1\n" lainnya tulis "Hasil adalah 0\n" akhirkalau } Fungsi nor(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# NOR #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau (bukan (bin1==1 atau bin2==1)) maka tulis "Hasil adalah 1\n" lainnya tulis "Hasil adalah 0\n" akhirkalau } Fungsi xor(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# XOR #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau ((bin1<>1 dan bin2<>1) atau (bin1<>0 dan bin2<>0)) maka #kalau (bukan((bin1==0 atau bin2==0) dan (bin1==1 atau bin2==1))) maka tulis "Hasil adalah 0\n" lainnya tulis "Hasil adalah 1\n" akhirkalau } Fungsi xnor(){ #fix perintah "clear" tulis "\t\t\t#\t##################\t#\n" tulis "\t\t\t#\t# XNOR #\t#\n" tulis "\t\t\t#\t##################\t#\n\n" tulis "MASUKAN BILANGAN BINER PERTAMA (0 atau 1) : " masuk bin1 tulis "\nMASUKAN BILANGAN BINER KEDUA (0 atau 1) : " masuk bin2 kalau (bukan((bin1==1 dan bin2==1) atau (bin1==0 dan bin2==0))) maka tulis "Hasil adalah 0\n" lainnya tulis "Hasil adalah 1\n" akhirkalau } tamat

AND

AND INPUT

OR

NOT

NAND

NOR

XOR

XNOR

MENU

QUIT

Unduh kode sumber : gerbanglogika.ina

Referensi : Logic Gate
Semoga bermanfaat

Sabtu, 01 Maret 2014

Membuat Aplikasi Database MYSQL dengan Menggunakan BAIK Versi 8 (bagian 2)


Sebelumnya pada bagian 1, membuat tampilan untuk aplikasinya. Kali ini, membuat fungsi untuk tombol yang digunakan pada pembahasan sebelumnya. Agar mudah, nama parameter pada fungsi dibuat sama  seperti nama masing-masing komponen. 

Kode skripnya seperti berikut:

  • Membuat fungsi untuk tanggalan

#################### MEMBUAT FUNGSI ########################## # FUNGSI TANGGALAN Fungsi tgl(msktgllahir){ tanggalan msktgllahir } ###############################################################

  • Membuat fungsi untuk menghapus masukan

# FUNGSI MENGHAPUS MASUKAN Fungsi kosong(msknpm,msknama,msktgllahir,mskjur,mskkota){ set_masukan msknpm," " set_masukan msknama," " set_masukan msktgllahir," " set_masukan mskjur," " set_masukan mskkota," " } ############################################################

  • Membuat fungsi untuk menambahkan data ke database

#FUNGSI MENAMBAHKAN DATA KE DATABASE Fungsi tambah(msknpm,msknama,msktgllahir,mskjur,mskkota){ data1 = teks_masukan msknpm data2 = teks_masukan msknama data3 = teks_masukan msktgllahir data4 = teks_masukan mskjur data5 = teks_masukan mskkota # memasukan data ke database sql = "insert into mahasiswa values ( " sql = gabung sql,"'", data1, "','",data2, "','",data3,"','", data4, "','",data5, "');" hasil = mysql_hasil koneksidb,sql &kosong(msknpm,msknama,msktgllahir,mskjur,mskkota) }

  • Membuat fungsi untuk memuat data ke tabel

#FUNGSI MUAT DATA KE TABEL Fungsi muatdata(tabeldata){ &hps(tabeldata) # kalimat sql untuk operasi database sql = "select * from mahasiswa;" # hasil operasi sql hasil = mysql_hasil koneksidb, sql # jumlah data pada database num = mysql_total hasil ### mengambil isi data per baris dari suatu tabel database untuk (i=0; i<num; i=i+1) ulang baris = mysql_isidata hasil col0 = baris[0] col1 = baris[1] col2 = baris[2] col3 = baris[3] col4 = baris[4] # menyusun data dari database kedalam tabel tabel_data tabeldata, col0, col1, col2, col3, col4 lagi } ############################################################

  • Membuat fungsi untuk mengaktifkan koneksi database

# FUNGSI MENGAKTIFKAN KONEKSI DATABASE Fungsi sambungdb(lblstatuswarna){ alamatdb = "127.0.0.1" #jika localhost tidak bisa, pakailah 127.0.0.1 pemakai = "root" katasandi = "" namadb = "universitas" nomerport = 3306 koneksidb = mysql_koneksi alamatdb,pemakai,katasandi,namadb,nomerport set_label lblstatuswarna,"ON" set_warnadasar lblstatuswarna,"hijau" } ##################################################################

  • Membuat fungsi untuk mematikan koneksi database

# FUNGSI MEMATIKAN KONEKSI DATABASE Fungsi tutupdb(lblstatuswarna){ tutup koneksidb set_label lblstatuswarna,"OFF" set_warnadasar lblstatuswarna,"merah" } ############################################################

  • Membuat fungsi untuk menghapus data pada tabel secara keseluruhan

# FUNGSI HAPUS DATA PADA TABEL Fungsi hps(tabeldata){ hapus tabeldata } ##############################################################

Setelah selesai, kemudian simpan dengan nama file fungsi.ina seperti pada pembahasan sebelumnya, agar dapat digunakan pada file aplikasi_mhs.ina. Aktifkan XAMPP. Uji coba aplikasinya seperti gambar berikut.

Gambar 2.1 Terminal
Kemudian akan muncul  jendela aplikasinya.

Gambar 2.2 Muat Data ke Database
Unduh kode sumber: fungsi.ina

Selamat mencoba :)

Minggu, 16 Februari 2014

Membuat Aplikasi Database MYSQL dengan Menggunakan BAIK Versi 8 (bagian 1)


Kali ini, saya mencoba membuat aplikasi database MYSQL yang dibuat dengan bahasa pemrograman BAIK versi 8. Saya sudah memasang XAMPP pada Linux Mint 13 di komputer saya. 

Buat database dengan nama universitas atau terserah anda. Kemudian membuat tabel pada database tersebut dengan struktur tabel seperti berikut.
create database universitas; use universitas; create table mahasiswa ( nim varchar(8) primary key, nama varchar(50) not null, tgl_lahir varchar(11) not null, jurusan varchar(50) not null, alamat varchar(50) not null);

Program yang akan dibuat memiliki fungsi hapus isi tabel, tambah data, muat data, keluar, koneksi ke database dan tutup koneksi database.Belum ada fungsi untuk ubah data. Antarmuka program yang harus dibuat adalah seperti berikut:

Gambar 1 Tampilan Aplikasi

Untuk membuat tampilan seperti gambar 1, berikut kode programnya.

###################################### pakai_layar kode_luar "fungsi.ina" #import kode ########################## MEMBUAT WINDOW ########################## layar1 = layar #variabel untuk membuat window layar1 titel_layar layar1,"Aplikasi Database Mahasiswa MySQL" #judul window luas_layar layar1,560,545 #ukuran window layar1 dengan ukuran x,y logo_layar layar1, "baik_logo.png" #menambahkan logo #################################################################### ########################## MEMBUAT KONTAINER ########################## kontainer = alas_tetap #membuat kontainer alas_tetap hias_layar layar1, kontainer #menempatkan kontainer pada window layar1 ####################################################################### ########################## MEMBUAT LABEL ########################## lblnpm = label "NPM : " #membuat label set_warnahuruf lblnpm,"hitam" #mengatur warna huruf set_warnadasar lblnpm,"putih salju" #memberi warna background lblnpm hias_alas kontainer,lblnpm,10,10,120,25 #menempatkan lblnpm ke kontainer di posisi x,y ,p=120 dan l=25 lblnama = label "NAMA : " set_warnahuruf lblnama,"hitam" set_warnadasar lblnama,"putih salju" hias_alas kontainer,lblnama,10,55,120,25 lbltgllahir = label "TANGGAL LAHIR : " set_warnahuruf lbltgllahir,"hitam" set_warnadasar lbltgllahir,"putih salju" hias_alas kontainer,lbltgllahir,10,100,120,25 lbljur = label "JURUSAN : " set_warnahuruf lbljur,"hitam" set_warnadasar lbljur,"putih salju" hias_alas kontainer,lbljur,10,145,120,25 lblkota = label "KOTA : " set_warnahuruf lblkota,"hitam" set_warnadasar lblkota,"putih salju" hias_alas kontainer,lblkota,10,190,120,25 lblstatus = label "Status Koneksi DB =>" set_warnahuruf lblstatus,"hitam" set_warnadasar lblstatus,"putih salju" hias_alas kontainer,lblstatus,10,510,150,25 lblstatuswarna = label "OFF" set_warnahuruf lblstatuswarna,"putih salju" set_warnadasar lblstatuswarna,"merah" hias_alas kontainer,lblstatuswarna,170,510,50,25 #################################################################### #################### MEMBUAT MASUKAN ########################## msknpm = masukan set_warnahuruf msknpm,"hitam" #mengatur warna huruf set_warnadasar msknpm,"putih salju" #memberi warna background msknpm hias_alas kontainer,msknpm,150,10,200,25 #menempatkan msknpm ke kontainer di posisi x,y,p=200 dan l=25 msknama = masukan set_warnahuruf msknama,"hitam" set_warnadasar msknama,"putih salju" hias_alas kontainer,msknama,150,55,300,25 msktgllahir = masukan set_warnahuruf msktgllahir,"hitam" set_warnadasar msktgllahir,"putih salju" hias_alas kontainer,msktgllahir,150,100,100,25 mskjur = masukan set_warnahuruf mskjur,"hitam" set_warnadasar mskjur,"putih salju" hias_alas kontainer,mskjur,150,145,300,25 mskkota = masukan set_warnahuruf mskkota,"hitam" set_warnadasar mskkota,"putih salju" hias_alas kontainer,mskkota,150,190,200,25 ############################################################### #################### MEMBUAT TOMBOL ########################## tmbltgl = tombol "PILIH TANGGAL" set_warnahuruf tmbltgl,"hitam" #mengatur warna huruf set_warnadasar tmbltgl,"putih salju" #memberi warna background tmbltgl hias_alas kontainer,tmbltgl,260,100,110,25 #menempatkan tmbltgl ke kontainer di posisi x,y,p=110 dan l=25 tmblhapus = tombol "HAPUS" set_warnahuruf tmblhapus,"hitam" set_warnadasar tmblhapus,"putih salju" hias_alas kontainer,tmblhapus,10,235,100,25 tmbltambah = tombol "TAMBAH" set_warnahuruf tmbltambah,"hitam" set_warnadasar tmbltambah,"putih salju" hias_alas kontainer,tmbltambah,120,235,100,25 tmblubah = tombol "UBAH" set_warnahuruf tmblubah,"hitam" set_warnadasar tmblubah,"putih salju" hias_alas kontainer,tmblubah,230,235,100,25 tmblkeluar = tombol "KELUAR" set_warnahuruf tmblkeluar,"hitam" set_warnadasar tmblkeluar,"putih salju" hias_alas kontainer,tmblkeluar,450,235,100,25 tmblload = tombol "MUAT DATA" set_warnahuruf tmblload,"hitam" set_warnadasar tmblload,"putih salju" hias_alas kontainer,tmblload,340,235,100,25 tmblsambungdb = tombol "BUKA SESI DB" set_warnahuruf tmblsambungdb,"hitam" set_warnadasar tmblsambungdb,"hijau" hias_alas kontainer,tmblsambungdb,230,510,155,25 tmbltutupdb = tombol "TUTUP SESI DB" set_warnahuruf tmbltutupdb,"hitam" set_warnadasar tmbltutupdb,"merah" hias_alas kontainer,tmbltutupdb,395,510,155,25 ############################################################ ######################## MEMBUAT TABEL ##################### tabeldata = tabel "teks|teks|teks|teks|teks" #mendefinisikan jenis kolom. tabel_atribut tabeldata,"NPM","NAMA","TANGGAL LAHIR","JURUSAN","KOTA" #membuat nama kolom pada tabel set_warnadasar tabeldata,"putih salju" set_warnahuruf tabeldata,"merah" hias_alas kontainer,tabeldata,10,270,540,230 #menempatkan tabel pada kontainer x=10,y=270,p=540,l=230 ############################################################ #Untuk menampilkan window seperti setVisible tampil_layar layar1 #Untuk menampilkan window kibar_layar #penutup kode skrip tamat

Agar tombol-tombol yang sudah dibuat dapat melakukan fungsi aksi, maka dibuat aksi untuk tombol-tombol tersebut. Fungsi untuk aksi tombol dibuat terpisah pada file yang berbeda (fungsi.ina), agar memudahkan membaca kode skrip dan pengecekan skrip jika ada kesalahan pada kode.

Untuk menggunakan fungsi, maka kita menggunakan keyword aksi_fungsi untuk memanggil fungsi yang dibuat dan diletakan sebelum keyword penutup dan keyword untuk menampilkan layar. Kodenya seperti berikut.

#################### MEMBUAT AKSI ########################## aksi_tutup_program layar1 #aksi untuk keluar dari program dengan meng-klik tanda x pada window aksi_tutup_program tmblkeluar #aksi untk keluar dari program dengan menekan tombol keluar aksi_fungsi tmbltgl,&tgl(msktgllahir) #aksi untuk membuka dialog tanggal aksi_fungsi tmblhapus,&kosong(msknpm,msknama,msktgllahir,mskjur,mskkota) #untuk menghapus field masukan aksi_fungsi tmbltambah,&tambah(msknpm,msknama,msktgllahir,mskjur,mskkota) #untuk menambahkan data ke database aksi_fungsi tmblload,&muatdata(tabeldata) #untuk memuat data dari database ke tabel pada program aksi_fungsi tmblsambungdb,&sambungdb(lblstatuswarna) #untuk mengaktifkan koneksi database aksi_fungsi tmbltutupdb,&tutupdb(lblstatuswarna) #untuk mematikan koneksi database ############################################################

Setelah kode tersebut dibuat, kemudian simpan dengan nama file aplikasi_mhs.ina dan buat file bernama fungsi.ina yang nantinya berisi fungsi-fungsi yang akan digunakan pada tombol. Bagian ini akan dibahas pada artikel selanjutnya yaitu bagian 2

Unduh kode sumber : aplikasi_mhs.ina universitas.sql