Pages

Pages - Menu

Wednesday, May 11, 2016

Konsep Perl, CGI dan Server Side Scripting

Perl merupakan singkatan dari Practical Extraction and Report Language, dibuat oleh Larry Wall. Perl adalah bahasa interpreter sekaligus kompiler, artinya Perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan. Perl juga mirip dengan bahasa C sehingga programmer C pun dapat mempelajari Perl dengan cepat dan mudah. Salah satu contoh kemiripan C dengan Perl adalah adanya tanda titik koma atau semiclon ";" pada akhir suatu perintah. Kelebihan yang lain adalah bahwa bahasa Perl dapat menangani string dan ekspresi dengan baik. Perl sendiri merupakan program yang dibuat khusus untuk UNIX. Namun demikian bagi para pengguna windows 95 dan windows NT masih dapat menggunakan Perl for win32 yang disebut sebagai activePerl (sesuai dengan nama alamat web penyedia Perl for Win32 tersebut. Active Perl dibuat setelah Perl Versi 5 for Unix diedarkan.

Perl dirancang untuk menjembatani ketimpangan diantara kedua level bahasa pemrograman di atas.  Bahasa ini kerap digunakan untuk menulis program web server seperti otomatisasi task di internet, mengupdate user account, posting newsgroup dan Iain-lain. Perl adalah bahasa interpreter sekaligus kompiler, artinya Perl akan mendeteksi setiap baris untuk mencari syntax error sebelum program dijalankan.


Perl sangat cocok digunakan untuk menyelesaikan persoalan yang berkaitan dengan teks. Lebih kurang 90% dari kemampuan Perl memang dioptimalisasikan untuk menyelesaikan persoalan-persoalan yang berhubungan dengan teks, sementara sisanya, 10%, untuk menyelesaikan persoalan-persoalan diluar teks.

Bagi para peneliti di bidang bioinformatika, Perl merupakan tool utama dalam melakukan pattern matching dari gen dalam DNA. Sebagaimana kita ketahui, gen merupakan rangkaian nucleotide yang secara formal disimbolkan menggunakan gabungan karacter A (adenine), T (thymine), C (cytosine), dan G (guanine).

Untuk mengetahui apakah terdapat gen tertentu dalam sebuah DNA, tentunya kita harus mencari pattern (yang merupakan kumpulan dari karakter-karakter A, T, C, G) di dalam DNA tersebut. Sebagai gambaran, perhatikan potongan program berikut ini:    

my $sequence = 'CTAATGGA';   
my $pattern = 'ATG';   
if($sequence =~ /$pattern/) {
print "Pattern $pattern ditemukan dalam sequence $sequence\n";   
}    
else{   
print "Pattern $pattern tidak ditemukan dalam sequence $sequence\n";   
}

Penjelasan :
Pada baris ke 1 dan ke 2 di atas, sebuah skalar $sequence dengan nilai CTAATGGA dan skalar $pattern dengan nilai ATG dideklarasikan. Pengecekan apakah pattern ATG terdapat dalam sequence CTAATGGA dapat dengan mudah dilakukan menggunakan fasilitas pattern matching. Menggunakan binding operator, =~, seperti yang dilakukan pada baris ke 3 di atas, Perl memeriksa dengan sangat efisien apakah dalam skalar $sequence terdapat pattern ATG. Untuk contoh di atas, pattern ATG ada dalam sequence CTAATGGA, sehingga pernyataan "Pattern ATG ditemukan dalam sequence CTAATGGA" akan ditampilkan dilayar monitor.

Fungsi tr menerjemah setiap karakter yang ditemukan di menjadi karakter yang bersesuaian posisinya di bagian . Jadi untuk contoh kasus kedua ini, hanya dengan satu pernyataan saja, perubahan karakter dapat diselesaikan.    $sequence =~ tr/ACGT/TGCA/; Bila pada awalnya sequence DNA adalah CTAATGGA, maka dengan pernyataan di atas, sequence DNA berubah menjadi GATTACCT.

Perl sangat powerfull dalam memanipulasi teks dan file, termasuk dalam membuat CGI (Common Gateway Interface). Selain itu, Perl juga merupakan tool yang sangat tepat untuk merancang prototype suatu algoritma. Benar memang kalau Perl bukanlah tool untuk semua hal. Perl bukanlah bahasa pemograman yang tepat untuk merancang kernel, tidak pula untuk merancang program client-server yang membutuhkan penanganan thread dan memori poll yang efisien.

Salah satu hal yang membuat Perl populer adalah karena Perl gratis. Tidak hanya pada level biner, kode sumber Perl juga dapat diperoleh tanpa membayar apapun. Selain itu, Perl tidak hanya bisa diterapkan pada sistem operasi UNIX, tapi juga pada:

1. MS-DOS
2. Windows 95
3. Windows NT
4. OS/2
5. Macintosh

            CGI (Common Gateway Interface) merupakan suatu bentuk hubungan interaktif di mana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser). Contoh sederhana adalah saat Anda menggunakan suatu search engine. Saat Anda menuliskan keyword dan menekan tombol Search maka browser akan mengirimkan keyword tersebut ke server. Keyword tersebut lalu diolah oleh server dan server mengirimkan data hasil pengolahan (yang sesuai dengan keyword yang kita masukkan) ke browser kita. Jadi yang kita lihat pada browser hanya data yang sesuai dengan keyword yang kita masukkan.
Untuk dapat menggunakan CGI syarat pertama adalah server dengan sistem operasi UNIX (beserta variantnya). Namun perlu Anda perhatikan bahwa tidak semua server UNIX (yg gratisan) mampu menangani dan melayani CGI. Server-server yang melayani penempatan web gratisan seperti Geocities dan Homepage, tidak mengijinkan penempatan script CGI dalam web kita. Untuk itu Anda bisa mencoba Virtual Avenue, Tripod, atau Hypermart (daftar lengkapnya bisa Anda lihat di sini).
Program CGI ditulis dalam bahasa yang dapat dimengerti oleh sistem misalnya C/C++, Fortran, Perl, Tcl, Visual Basic, dan lain-lain. Pemilihan bahasa yang digunakan tergantung dari sistem yang digunakan. Jika kita menggunakan bahasa pemrograman seperti C atau Fortran maka program-program yang kita buat harus dikompile terlebih dahulu sebelum dijalankan sehingga pada server akan terdapat source code dan program hasil kompilasi. Berbeda bila kita menggunakan bahasa script seperti PERL, TCL, atau Unix Shell maka hanya akan terdapat script itu sendiri (tanpa ada source code). Banyak orang yang lebih suka memilih menggunakan script CGI dibandingkan dengan bahasa pemrograman karena lebih mudah untuk di-debug dan dimodifikasi. Dalam pembahasan kali ini kita akan menggunakan Perl sebagai bahasa script-nya.

            Server-side Scripting adalah teknologi Web Server dimana request oleh user dipenuhi dengan cara menjalankan script langsung pada web server untuk menghasilkan halaman HTML dinamis. Server-side scripting adalah teknik yang digunakan dalam desain website yang melibatkan script embedding dalam kode sumber HTML yang menghasilkan permintaan klien ke server situs web yang sedang ditangani oleh script server-side yang sedang dijalankan sebelum server merespon permintaan klien.

            Client side scripting (CSS) merupakan jenis script yang pengolahannya dilakukan di sisi client. pengolahan disini berarti “di terjemahkan/ interpreted”. yang memiliki tugas untuk menterjemahkan, script jenis ini disisi client adalah web browser. agar semua script yang masuk kategori ini dapat diterjemahkan oleh web browser maka di dalam web browser terdapat sebuah komponen/modul/ “engine” yang memiliki daftar pustaka (library) yang mampu mengenali semua perintah-perintah yang terdapat pada kategori client side scripting. berikut contoh web browser yang populer digunakan: internet explorer, mozilla firefox, opera, safari.  Berikut adalah contoh client side scripting: HTML (hypertext markup language), java script, XML (extensible markup language), CSS (cascading style sheet). client side scripting merupakan script yang digunakan untuk membuat halaman web statis.
sebuah teknologi scripting atau pemrograman web dimana script (program) dikompilasi atau diterjemahkan di server
            Jika skripnya menghasilkan output dalam bentuk HTML yang baku, hampir semua browser akan dapat melihatnya.

Karakteristik server side programming :
1.      Ada client yang meminta request.
2.      Eksekusi program dilakukan di server.
3.      Mengirimkan hasil ke client.
4.      Kode program aman.
5.      Menambah beban kerja Server.

-          Variabel Pada Perl
A.    Skalar
·         Dimulai dengan tanda $.
·         Hanya mengandung string atau angka.
·         String menggunakan kutip tunggal / ganda
·         Angka berupa bilangan bulat, oktal, heksadesimal, maupun pecahan decimal.
·         Variabel hanya menyimpan satu nilai.
Contoh :
$ayam = 1; $uang = 3.4321; $nama = “Nisa”; $dialog = “Dia t\’’lah pergi,” katanya”;

B.     Array
·         Didefinisikan dengan memasukkan elemen - elemennya kedalam tanda kurung dan dipisahkan dengan tanda koma
·         Menyimpan nilai lebih dari 1.
·         Dimulai dengan tanda @.

Contoh :
@minuman : (‘kopi’, ‘teh’, ‘air’);

C.     Hash
·         Elemennya terdiri atas pasangan indeks (key) dan nilai (value).
·         Dimulai dengan tanda %.

Contoh :

%aplikasi = (‘bahasa’,’perl’,’server’,’apache’,’teks’,’vim’,);
Print $aplikasi{‘bahasa’};
Hasil = perl

-          Method Post dan Get
A.    Post
·         Nilai variabel tersembunyi untuk pengunjung
·         Lebih aman karena lebih susah untuk dimainkan pengunjung melalui pergantian nama variable
·         Tidak dibatasi oleh panjang string
·         Variabel diambil dengan $_REQUEST[“nama”] atau $_POST[“nama”].

B.     Get
·         Variabel telihat pada URL, data setiap variabel dipisahkan dengan &. Contoh http://url/page.php?get1=nilai2&get2=nilai2
·         Dibatasi oleh panjang string sebanyak 2047 karakter
·         Memungkinkan pengunjung langsung memasukkan nilai variable pada form proses.

·         Variabel diambil dengan $_REQUEST[“nama”] atau $_GET[“nama”]

METODE SAW DALAM SISTEM PENDUKUNG KEPUTUSAN DAN KASUS PENERAPANNYA

1. Pengertian dan Konsep

Metode dalam Sistem Pendukung Keputusan salah satunya bisa menggunakan metodeSAW ( Simple Additive Weighting Method ), metode ini dikenal sebagai metode penjumlahan terbobot.
  • Metode ini memiliki konsep dasar dalam mencari penjumlahan terbobot dari rating kinerja pada setiap  alternatif dari semua atribut.
  • Metode SAW membutuhkan proses normalisasi matriks keputusan (X) kesuatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada.
  • Formula untuk melakukan normalisasi tersebut adalah sebagai berikut:

  • dengan rij adalah rating kinerja ternormalisasi dari alternatif Ai pada atribut Cj;
    i=1,2,...,m dan j=1,2,...,n.
  • Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai berikut
  • Nilai Vi yang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih

2. Contoh Kasus SAW:

- Suatu sekolah akan menyeleksi siswa yang terbaik
- Ada 4 Kriteria yang akan di seleksi yaitu 
  • C1 = Nilai Prestasi Akademik
  • C2 = Nilai Prestasi Siswa
  • C3 = Nilai Prestasi Kepribadian
  • C4 = Nilai Prestasi Pendidikan
Yang masing masin setiap kriteria di beri bobot 25 % 
  • C1 = 25 % = 0.25
  • C2 = 25 % = 0.25
  • C3 = 25 % = 0.25
  • C4 = 25 % = 0.25
Ket
Bobot kriteria di sesuaikan untuk kasus di atas agar mempermudah perhitungan

Data yang akan di seleksi adalah sebagai berikut :
Langkah Penyelesaian SAW :
  1. Menentukan kriteria-kriteria yang akan dijadikan acuan dalam pengambilan keputusan,yaitu Ci.
  2. Menentukan rating kecocokan setiap alternative pada setiap kriteria.
  3. Membuat matriks keputusan berdasarkan kriteria (Ci), kemudian melakukan normalisasi  matriks berdasarkan  persamaan  yang  disesuaikan  dengan jenis atribut (atribut keuntungan ataupun atribut biaya) sehingga diperoleh matriks ternormalisasi R.
  4. Mencari  nilai  alternatif  yaitu  penjumlahan  dari  perkalian  matriks ternormalisasi R dengan vektor bobot sehingga diperoleh nilai alternatif (Ai).
STEP 1 :

Langkah pertama dalam metode SAW adalah membuat matriks keputusan setiap alternative terhadap setiap atribut X. sbb 

Dimana Xij merupakan rating kinerja alternative ke-i terhadap atribut ke-j, sehingga di peroleh matriknya


STEP 2 :

Menentukan  nilai  bobot  yang  menunjukkan  tingkat kepentingan relatife setiap atribut,diberikan sebagai, W :

W =  [W1 W2  …..  Wn] 

STEP 3:

melakukan proses  normalisasi  matriks keputusan(X)  ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada. Matriks ternormalisasi R diperoleh dari persamaan :

Rij =                                xij                        
(Max xij) jika j adalah atribut keuntungan 




Dari forumula di atas dapat di peroleh matrik ternormalisasi R, sebagai berikut :


STEP 4:

Langkah keempat proses perangkingan dengan menjumlahkan setiap alternatif dari matriks ternormalisasi R setiap baris di kalikan bobot W 

Ai = (Rij * w1) + (Rij * w2) + (Rij * wn)



A1  ={(0,944)(0,25)+(0,943)(0,25)+(0,987)(0,25)+(1,000)(0,25)} 
=  0,968
A2  ={(0,944)(0,25)+(0,932)(0,25)+(0,987)(0,25)+(0,965)(0,25)} 
= 0,957  
A3  ={(0,922)(0,25)+(0,943)(0,25)+(0,975)(0,25)+(0,953)(0,25)} 
=  0,948
A4  ={(0,922)(0,25)+(0,932)(0,25)+(0,975)(0,25)+(0,935)(0,25)} 
= 0,945
A5  = {(0,88)(0,25)+(0,921)(0,25)+(0,975)(0,25)+(0,953)(0,25)} 
=  0,934
A6  = {(0,933)(0,25)+(0,966)(0,25)+(0,987)(0,25)+(0,965)(0,25)} 
= 0,963  
A7  = {(0,933)(0,25)+(0,966)(0,25)+(0,987)(0,25)+(0,953)(0,25)} 
=  0,963
A8  = {(0,911)(0,25)+(0,977)(0,25)+(0,987)(0,25)+(0,965)(0,25)} 
= 0,960
A9  = {(0,955)(0,25)+(0,943)(0,25)+(0,975)(0,25)+(0.976)(0,25)} 
=  0,962
A10  = {(1,00)(0,25)+(1,000)(0,25)+(0,987)(0,25)+(1,000)(0,25)} 
= 0,991  
A11  = {(0,966)(0,25)+(0,943)(0,25)+(0,987)(0,25)+(0,988)(0,25)} 
=  0,985
A12  = {(0,955)(0,25)+(0,943)(0,25)+(0,987)(0,25)+(0,976)(0,25)} 
= 0,965 
A13  = {(0,933)(0,25)+(0,943)(0,25)+(0,987)(0,25)+(0,965)(0,25)} 
=  0,960
A14  = {(0,888)(0,25)+(0,955)(0,25)+(0,987)(0,25)+(0,953)(0,25)} 
= 0,937 
A15  = {(0,977)(0,25)+(0,898)(0,25)+(1,000)(0,25)+(0,987)(0,25)} 
=  0,966

Jadi dari data  dapat di putuskan siswa terbaik dengan nilai 0.991257.

Ya seperti itulah untuk metode SAW dalam sistem pendukung keputusan, untuk implementasinya kdelam program akan di bahas di artikel berikutnya.

Sekian dan terima kasih.......

PEMROGRAMAN DELPHI DENGAN CONTOH KASUS

            Dalam penerapan pemrograman Delphi tidaklah lepas dari Teori maupun Praktek serta beberapa Contoh kasus yang sering dihadapkan pada kehidupan sehari-hari. Sebelum melakukan kegiatan praktek ada kalanya kita harus mengetahui bagian – bagian dari program itu sendiri, namun dalam hal ini saya hanya membahas sedikit bagian-bagian yang terkandung dalam komponen pallete.


   *Jendela Objeck Interview adalah jendela yang berisi seluruh nama objeck yang digunakan dalam proyek. 

Gambar 1.0 Jendela Objeck  Interview
*    *Jendela Objeck Inspector adalah jendela yang berfungsi untuk merubah segala kejadian pada suatu objeck.
Gambar 2.0 Jendela Objeck Inspector

    *Jendela form adalah jendela yang merancang antarmuka / Objek (tampilan yang dihadapi ketika program dijalankan).
Gambar 3.0 Jendela Form
·         Componen Pallete yaitu jendela yang berisi komponen-komponen Objeck yang diletakkan pada formulir.

Gambar 4.0 Componen Pallete
CONTOH KASUS 
PENGGUNAAN  IF… THEN… ELSE

Ø  Buatlah Program Nilai Akhir Mahasiswa dengan menggunakan Procedure IF..THEN..ELSE ,dengan ketentuan :
§  Nilai Absen =10%
§  Nilai Tugas = 15%
§  Nilai UTS = 25%
§  Nilai UAS = 50%
À      Saat pertama kali membuka Delphi  akan tampak tampilan yang berupa form yang mana form tersebut adalah area untuk bekerja. Lihat gambar dibawah ini.
À  Setelah memperhatikan komponen-komponen pallete maka anda dapat memberikan Label (berupa keterangan).edit(data yang akan diimput) dan Button merupakan bagian dari pemrosesan kode  program agar program dapat berjalan (Run)

À      Kemudian buatla nama nam program yang hendak dijalankan baik dari label,Edit maupun tabel
À    Catatan kecil: Untuk mengubah nama Label,Button maupun edit diambil dari Caption pada objeck Inspecktor
À     
Untuk mengubah ukuran,warna, jenis huruf maupun ketebalannya dapat dilihat dari Objeck Inspecktor pada property ( font ), tetapi terlebih dahulu aktifkan Edit,Label maupun button yang hendak diubah.

*Setelah kita menyusun kata perkata yang ada pada label,Edit maupun button,kemudian kita klik button proses. Button proses adalah otak dari setiap kode program yang hendak dijalankan.Berikut tampilan awal yang muncul (klik button proses 2kali).
Pada button proses masukkan  data yang akan diimput maupun data yang akan di proses
Contoh:
Var
nabsen,ntugas,nuts,nuas:integer;
nhuruf:char;
nakhir:real;
begin
nabsenstrtoint(edit1.text);
ntugasstrtoint(edit2.text);
nutsstrtoint(edit3.text);
nuasstrtoint(edit4.text);
begin
if (nakhir > = 80) and (nakhir <= 100) then
nhuruf’A’
else
if (nakhir > = 70) and (nakhir <= 89) then
nhuruf’B’
else
if (nakhir > = 60) and (nakhir <= 69) then
nhuruf’C’
else
if (nakhir > = 50) and (nakhir <= 59) then
nhuruf’D’
else
if (nakhir > = 40) and (nakhir <= 49) then
nhuruf’E’
else
if (nakhir > = 0) and (nakhir <= 39) then
nhuruf’F’
end;
edit5.textnhuruf;
edit6.textfloattostr(nakhir);
end;
end.



À      maka akan tampak seperti yang ada pada gambar dibawah ini;
À      Untuk mengaktifkan Button Close (klik Button close dua kali) masukkan kode programnya.
Contoh:
Procedure……
Begin
   Close;
End;
End.
À      Berikut tampilan yang akan tampak pada Button New data
À      Setelah listing  program selasai maka program dapat di jalankan (RUN) dan inputlah nilai absen,tugas,uts dan uas kemudian  klik button Proses maka akan tampak tampilan sebagai berikut:
À      Jika anda mengklik Button New Data maka data yang anda imput akan di hapus guna untuk mengimput data baru. Berikut tampilan interfacenya;

Demikianlah Artikel Saya, Semoga Bermanfaat Untuk Kita Semua!!!