71
93 WINDOWS - LINUX TERMINAL SERVER PROJECT Rico Agung Firmansyah STMIK AMIKOM Yogyakarta Abstraksi Pembangunan jaringan komputer internet, intranet maupun ekstranet memang membutuhkan resources yang besar, apalagi jika ada aplikasi server dan router-nya. Ada beberapa developer jaringan yang mengabaikan kalkulasi biaya demi mendapatkan performa yang baik. Ada juga yang mengabaikan performa karena pengaruh biaya yang minim. Dua kasus diatas sebenarnya bisa dijembatani dengan membuat sistem terminal server atau pc cloning, sehingga kita tetap bisa mengedepankan performa yang baik dengan biaya yang tidak besar. Namun, dengan terminal server, masalah lain muncul lagi, yaitu tidak semua user bisa familier dengan sistem ini (Linux), dimana kebanyakan user terbisa dengan windows. Oleh karena itu, solusi cerdasnya adalah pengembangan aplikasi Terminal server yang berbasis Linux dan Windows sekaligus. Kata Kunci: Jaringan komputer, PC Cloning, Linux Terminal Server, Windows Terminal Server. 1. Pendahuluan. Sesuai dengan abstraksi diatas, pengembangan jaringan komputer dengan banyak client/user memang akan membutuhkan banyak resources mulai dari hardware, software, brainware, dan lainnya. Hal ini otomatis akan membutuhkan biaya yang cukup besar. Jika kita tekan biaya seminim mungkin, performa sistem akan menurun, Tapi jika kita kedepankan performa, maka biaya yang akan membengkak. Memang hal ini sangat dilematis dan perlu dicari solusinya tanpa mengorbankan salah satunya.

windows - linux terminal server project - P3M - STMIK AMIKOM

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

93

WINDOWS - LINUX TERMINAL SERVER PROJECT

Rico Agung Firmansyah STMIK AMIKOM Yogyakarta

Abstraksi Pembangunan jaringan komputer internet, intranet maupun

ekstranet memang membutuhkan resources yang besar, apalagi jika ada aplikasi server dan router-nya. Ada beberapa developer jaringan yang mengabaikan kalkulasi biaya demi mendapatkan performa yang baik. Ada juga yang mengabaikan performa karena pengaruh biaya yang minim. Dua kasus diatas sebenarnya bisa dijembatani dengan membuat sistem terminal server atau pc cloning, sehingga kita tetap bisa mengedepankan performa yang baik dengan biaya yang tidak besar. Namun, dengan terminal server, masalah lain muncul lagi, yaitu tidak semua user bisa familier dengan sistem ini (Linux), dimana kebanyakan user terbisa dengan windows. Oleh karena itu, solusi cerdasnya adalah pengembangan aplikasi Terminal server yang berbasis Linux dan Windows sekaligus. Kata Kunci: Jaringan komputer, PC Cloning, Linux Terminal Server, Windows Terminal Server. 1. Pendahuluan.

Sesuai dengan abstraksi diatas, pengembangan jaringan komputer dengan banyak client/user memang akan membutuhkan banyak resources mulai dari hardware, software, brainware, dan lainnya. Hal ini otomatis akan membutuhkan biaya yang cukup besar. Jika kita tekan biaya seminim mungkin, performa sistem akan menurun, Tapi jika kita kedepankan performa, maka biaya yang akan membengkak. Memang hal ini sangat dilematis dan perlu dicari solusinya tanpa mengorbankan salah satunya.

94

Akhirnya para ahli IT bersama-sama membangun sebuah sistem tersentral yang diberi nama terminal server atau cloning sebagai jawaban masalah tersebut. Ada bermacam-macam versi aplikasi terminal server yang dibangun sesuai dengan kebutuhan masing-masing. Misalnya Novel Netware, Linux Terminal Server Program (LTSP), dan banyak lagi yang lainnya. Kebanyakan diantaranya berbasis Unix. Tetapi, dengan solusi tersebut, muncul kembali masalah yang sangat mendasar, yaitu tidak semua user bisa familier dengan sistem ini (Linux), dimana kebanyakan user terbisa dengan windows. Oleh karena itu, solusi cerdasnya adalah pengembangan aplikasi Terminal server yang berbasis Linux dan Windows sekaligus. Maka dari itu para ahli mendevelop sistem tersebut agar bisa menampung beberapa basis sistem operasi sekaligus. Penulis kali ini hanya akan menjelaskan interoperability antara dua buah sistem operasi, yaitu Linux dan Windows dengan menggunakan aplikasi Linux Terminal Server.

Aplikasi terminal server identik dengan pengurangan resources pada client dengan anggapan seluruh/sebagian aktifitas client akan diberi oleh Servernya. Alasan inilah yang digunakan sebagai pengurangan resources pada sisi client, yakni berupa penghematan hardware dan software (proses). Penghematan hardwarenya diantaranya tidak diperlukannya lagi hardisk, cd-rom, atau dvd-rom sebagai media strorage di sisi client, hanya cukup membutuhkan sebuah floppy disk sebagai sistem loader PC client ke servernya. 2. Pembahasan 2.1 Sistem Requirement

Untuk membangun sebuah sistem, kita perlu mengkalkulasi resources yang akan dibutuhkan (sistem requirement). Kali ini kita asumsikan sebuah warnet yang akan dibangun dengan aplikasi Windows Linux Terminal Server Project (WLTSP). Implementasi pada contoh kasus yang berbeda juga akan serupa dengan penjelasan pada contoh kasus kali ini.

Misalkan kita akan membangun sebuah warnet WLTSP dengan jumlah client 10 PC, maka PC yang diperlukan sebanyak 14 buah. 10

95

PC untuk client (5 PC Linux dan 5 PC Windows), 1 PC untuk operator, 1 PC untuk router, serta 2 buah PC untuk server aplikasi WLTSP (gambar 1). Jika anggarannya masih tidak memungkinkan juga untuk mengadakan 14 PC, maka PC Linux Server bisa difungsikan ganda,sekaligus sebagai Router jika perbandingan jumlah client dan kemampuan server masih dalam batas-batas normal (gambar 2). Skenarionya bisa dilihat pada gambar dibawah ini.

Gambar 1. Skenario Kebutuhan standar Sistem WLTSP.

Gambar 2. Skenario Kebutuhan minimalis (alternatif) Sistem

WLTSP.

96

Dari dua buah gambar diatas, terlihat sebuah LAN yang

terhubung ke internet melalui Router (Gateway). LTSP Server bersistem operasi Linux, berungsi sebagai terminal server. windows server nantinya akan berfungsi sebagai pemberi layanan untuk clientnya yang akan berbasiskan windows. Penulis tidak akan membahas pembuatan PC Router, namun hanya akan membahas aplikasi Terminal Servernya saja. Penulis mengasumsikan Gateway sudah dapat difungsikan, baik dengan skenario pada gambar 1 maupun gambar 2.

Dari penjelasan singkat, requirement untuk masing-masing mesin berbeda-beda karena disesuaikan dengan kebutuhan, fungsionalitas serta seberapa berat kerja (proses) yang akan dikerjakan. Berikut ini sistem requirement minimal untuk masing-masing mesinnya. a. PC Server LTSP : P-4 1.2 Ghz Processor, 512 MB Internal

Memory, 8 GB Hard drive, 42X CD-Rom, 1 Ethernet Card, Linux OS (RedHat, Mandrake, Mandriva, Suse, Ubuntu, dsb).

b. PC Server Windows : P-4 1.2 Ghz Processor, 128 MB Internal Memory, 5 GB Hard drive, 42X CD-Rom, 1 Ethernet Card, Win2000 Server OS / Win2003 Server / Win XP Professional.

c. PC Router/Gateway : P-2 300 MHz Processor, 64 MB Internal Memory, 4 GB Hard drive, 2 Ethernet Card, Linux OS, Squid (Routing dan Proxy Server).

d. PC Operator : PC operator sama seperti PC Client jika dikonfigurasi sebagai Client dari WLTSP. Namun jika ingin dikonfigurasi independen, spek PC bisa disesuaikan dengan keinginan, kenyamanan kerja si operator atau sesuai budget. Sistem

97

operasi yang akan digunakan pada pc ini tergantung user, bisa linux atau windows.

e. PC Client : P-2 300 MHz Processor, 32 MB Internal Memory, 1 Ethernet Card, 1 Floppy Drive.

f. 1 buah Hub atau Switch 24 port. Penulis menyarankan untuk menggunakan switch untuk performa jaringan yang lebih baik.

Selain requirement diatas, kita juga masih harus mempersiapkan

beberapa hal, diantaranya: a. Siapkan File Installer untuk aplikasi LTSP

(http://www.ltsp.org). File yang dibutuhkan antara lain ltsp-4.1-0.iso (104MB), ltsp-utils-0.1.0.tgz (40KB). Kemudian Burn file tersebut ke CD untuk instalasi.

b. Siapkan file Boot ROM Loader (http://rom-o-matic.net). File ini digunakan untuk sistem loader dari client ke server melalui NIC yang terkoneksi ke jaringan. File Boot Rom ini harus dikonfigurasi berdasarkan parameter pada NIC client sebelum di download. Kemudian burn file tersebut ke Boot sector pada floppy disk.

c. Siapkan file Virtual Network Connection (VNC : http://www.realvnc.com) untuk mentransfer GUI dari sever ke clientnya. Sebenarnya di Linux juga ada fasilitas serupa, yaitu remote desktop. Jika anda tidak mendownload realvnc, maka cukup gukanan remote desktop.

d. Siapkan Aplikasi DHCP server, TFTP server, NFS server, dan XDMCP server, untuk servis di LTSP server. Biasanya file tersebut sudah terdapat dalam paket distro Linux versi enterprise atau advance server. Penulis menggunakan Red Hat versi Enterprise Advance Server.

e. Siapkan file Windows Linux Terminal Server Client (www.linuxtsc.org) yang akan digunakan Windows Server untuk mentransfer GUI-nya ke Linux Server kemudian ke client yang meminta layanan GUI Windows.

98

2.2 Cara Kerja Sistem WLTSP

Setelah kita lihat gambar dan requirement tiap mesin, maka terlihat bahwa kedua server yang nantinya memberikan layanan kepada clientnya mulai dari sistem operasi, GUI, servis serta fasilitas-fasilitas yang akan dijalankan di client. Server Linux akan memberikan layanan berupa GUI ke client yang akan berbasis Linux, serta menjembatani client yang akan berbasis windows untuk meminta layanan ke server windowsnya.

Jika kedua server sudah siap bekerja, saat ada client yang menghidupkan komputernya kemudian booting dengan disket yang berisi Boot ROM, maka setelah inisialisasi hardware di client selesai, maka NIC client akan menghubungi server LTSP (Linux Server). Linux Server akan merespon dengan memberi konfigurasi NIC Client dengan servis DHCPnya. Kemudian LTSP Server akan mentransfer Sistem Operasi yang di-share (NFS daemon) melalui servis TFTP. Setelah sistem operasi di client siap, selanjutnya server mentransfer GUI-nya menggunakan servis XDMCP. Dengan demikian client seperti memiliki sistem operasi sendiri (linux) padahal sistem dan GUI-nya adalah sistem dan GUI-nya LTSP Server.

Serupa dengan cara kerja client Linux, client Windows juga me-load Boot ROM-nya ke LTSP Server (Linux Server), lalu direspon dengan memberikan layanan DHCP ke NIC client. Namun kemudian LTSP Server tidak akan mentransfer sistem operasinya ke client, tapi LTSP Server akan mengakses file sistem dari Windows Server yang sudah di share, kemudian ditransfer ke clientnya. Dengan demikian client akan me-load sistem operasi windows ditambah beberapa file konfigurasi LTSPnya.

Setalah sistem operasi windows di load, maka servis XDMCP di Linux Server akan mentransfer GUI dari Windows Server ke Clientnya dengan remote desktop atau dengan VNC, sehingga di sisi client akan tampak GUI Windows. Dengan demikian, LTSP Server bekerja ganda, bahkan triple, yaitu bekerja untuk dirinya sendiri, bekerja untuk

99

melayani client yang ber-GUI Linux, serta sebagai jembatan antara windows server dengan client yang ber-GUI Windows. Oleh karena itu, LTSP Server haruslah dikonfigurasi dengan sebaik mungkin dan dijaga performanya agar tetap bisa melayani banyaknya proses dan servis terhadapnya.

2.3 Instalasi dan Konfigurasi

Jika software yang akan dibutuhkan telah siap, cara kerja sistem juga sudah diketahui, maka langkah selanjutnya adalah tahap instalasi dan konfigurasi sistem. Dalam artikel ini hanya akan dibahas instalasi sistem WLTSP-nya saja. Penulis mengasumsikan pada Linux server dan Windows Server sudah sudah terinstal software requirement seperti dijelaskan pada bab sebelumnya secara default dengan penambahan paket (install-lah) DHCP Server, TFTP Server, NFS Server, dan XDMCP Server. Jika anda tidak mendapatkan paket tersebut di distro anda, anda bisa mendownload dari situs yang sesuai dengan distronya. Berikutnya konfigurasi ip address dan netmask pada NIC Linux Servernya, misalnya “ # ifconfig eth0 192.168.0.1 netmask 255.255.255.240 “. Konfigurasi netmask dan IP Address bisa dirubah sesuai dengan kebutuhan.

Begitu juga dengan windows server, instalasi sistem operasinya sesuai dengan prosedur/default saja, kemudian konfigurasi ip address dan netmask-nya, misalkan ip address 192.168.0.2, netmask 255.255.255.240. lalu instal aplikasi didalam windows server anda, misalnya aplikasi perkantoran, media player, photo editor, browser, dan sebagainya yang akan digunakan. Jika prosedur diatas telah dilalui, langkah berikutnya adalah sebagai berikut, kita mulai dari windows server, kemudian linux server. 1. Instal apliaksi yang ingin digunakan di windows server, lalu

konfigur ip address dan netmasknya, misalnya 192.168.0.2 255.255.255.240. Berikutnya instal windows linux terminal server client (Linux TSC). Aplikasi ini akan bekerja sama dengan remote desktop dan protokol XDMCP untuk mentransfer GUI di windows server ke client yang menginginkan layanan Windows (Windows OS).

100

2. Instal apliaksi LTSP pada Linux Server. Sebelum instalasi LTSP, servis DHCP, TFTP, NFS, dan

Display Manager harus sudah aktif. Caranya ketikkan perintah : # service dhcpd restart (mengaktifkan servis DHCP) # service nfsd restart (mengaktifkan servis NFS) # service tftpd restart (mengaktifkan servis TFTP) # service dm restart (mengaktifkan servis display manager)

Servis DHCP, digunakan untuk mengkonfigurasi NIC client dari server. Konfigurasilah isi dari file /etc/dhcpd.conf sesuai dengan konfigurasi jaringan anda (ip server/ip address sendiri, netmask, ip router ke internet, DNS, dan range ip clientnya). Sebagai tambahan, baris yang bertuliskan “filename” pada file /etc/dhcpd.conf, harus diisi nama filenya. Misalkan : filename “/lts/vmlinuz-2.4.26-ltsp-2” ;

Servis NFS (network file sistem), digunakan untuk mengatur file sistem dalam jaringan. Konfigurasilah parameter-parameter pada isi file berikut : o /etc/host dan /etc/host.allow (berisi konfigurasi host

mana saja yang boleh mengakses dan bagaimana cara atau aturan-aturan host untuk konek ke servernya).

o /etc/export (berisi konfigurasi file/resources apa saja yang akan di-share ke jaringan).

Servis TFTP (Trivial File Transfer Protocol), digunakan untuk mentransfer file yang berukuran besar serta file yang sedang digunakan/file sistem (OS) dari server ke client. Tambahkan beberapa paramenter dalam file /etc/xinetd.d/tftp, yaitu edit parameter “disable” dengan “no”, serta parameter “ –s /tftpboot “ pada poin server_args.

101

Servis Display Manager digunakan untuk memberikan tampilan server ke clientnya, meskipun servis ini nanti harus berjalan dengan servis XDMCP nantinya. Anda tidak mengkonfigurasi servis ini, karena servis display manager hanya dikonfigurasi secara default saja.

Aktifkan dan konfigurasi servis XDMCP di PC Linux Server dengan cara:

Ubah Run Level untuk meng-enable-kan Display Manager kdm/gdm dengan perintah : # vi /etc/inittab , kemudian ubah run level-nya menjadi : “ id:5:initdefault: “.

Aktifkan xdmcp-nya dengan mengedit file: /etc/X11/gdm/gdm.conf (jika anda menggunakan gdm) atau file: /etc/X11/xdm/xdm-config (jika anda menggunakan kdm). Kemudian masuk ke [xdmcp], lalu set “Enable” dengan “1”. Jika anda menggunakan gdm, maka cari baris “DisplayManager.requestPort:0”. Kemudian Ubah baris tersebut menjadi: “!DisplayManager.requestPort:0”.

Edit file Xaccess supaya bisa dibuka oleh semua work station. Caranya editlah file /etc/X11/xdm/Xaccess dengan editor pico atau vi. Kemudian cari baris “ #* # Any host can get a login window ”, lalu hilangkan satu buah tanda # di awal baris tersebut.

Edit file /etc/X11/xdm/kdmrc atau /usr/share/config/kdm/kdmrc atau /etc/opt/kde2/share/config/kdm/kdmrc. Kemudian ubah nilai agar “Enable” menjadi “True”. Setelah itu restart komputer anda untuk mendapatkan efek dari konfigurasi yang telah dilakukan.

Instal ltsp-utils dengan cara: # cp ltsp-utils.0.1.0.tgz/usr/local/src # tar zxvf ltsp-utils.0.1.0.tgz # cd ltsp-utils # ./install.sh/

102

Konfigurasi agar instalasi diatas mengambil source ke cd-rom, caranya masukkan CD LTSP yang telah didownload, kemudian ketikkan : # ltspadmin

--> configure the installer options --> where to retrieve packages from? [ ketik file:///mnt/cdrom ] --> use http proxy ? [ Enter ] --> use ftp proxy ? [ Enter ] --> Correct ? [ Y ] # ltspadmin --> install / update LTSP Packages --> A --> Q Instalasi akan berjalan otomatis setelah kita menekan tombol Q.

3. Konfigur LTSP Server (/opt/ltsp/i386/etc/lts.conf), dimana parameter didalam file ini akan mengatur langsung rule atau aturan-aturan pada clientnya. Anda cukup sesuaikan dengan konfigurasi pada client nantinya, dengan isi parameternya dalam file tersebut. Misalkan ip server (isi sesuai ip address server), XServer (screen resolution pada client misalnya diisi 1024x768), X_Mouse_Protocol (=”PS/2” atau “Com1”), Screen_01 (tty1 atau session1 akan diisi tampilan apa, misalkan = startx), serta parameter device lainnya yang akan difungsikan (printer, keyboard, touch screen, dan lain sebagainya). Penulis tidak memberi konfigurasi lengkapnya karena konfigurasi ini sangat bergantung pada kondisi sesungguhnya.

4. Konfigur Screen scripts (/opt/ltsp/i386/etc/screen.d) untuk layanan session terminalnya. Linux memberikan fasilitas multiple screen session atau beberapa sesi tampilan yang bisa dilihat dan dikonfigurasi berbeda-beda dalam satu proses. Misalkan pada session 1 tampilan XWindow (startx) yang berfungsi, di session 2 shell (commend line interface), pada session 3 untuk remote desktop ke mesin lain, atau yang lain sebagainya.

103

Contohnya “SCREEN_01 = rdesktop –f w2k.mydomain.com, SCREEN_02 = telnet server2.mydomain.com, SCREEN_03 = startx”. Pada contoh diatas, session pertama pada client akan mengakses remote desktop dengan target windows 2000 dalam domain mydomain.com. akibatnya client akan menampilkan GUI Windows 2000 pada session pertama. Sedangkan pada session kedua akan mengakses telnet ke LTSP server dengan tampilan CLI. Serta pada session ketiga akan mengakses mode xwindow pada LTSP server,

Untuk client yang akan difungsikan dengan GUI Windows, maka cukup panggil session yang parameternya berisi rdesktop (session pertama atau tekan ALT+F1), dengan catatan remote desktop ke target Windows Server dan Linux TSC-nya sudah aktif. Begitu juga dengan client yang akan difungsikan dengan GUI Linux, maka cukup buka session baru dengan mengetikkan Alt + F2, maka tampilan langsung akan berpindah ke session telnet, begitu juga dengan session berikutnya. Bahkan anda bisa memanfaatkan dua session atau lebih dalam satu waktu.

Dengan multiple session yang dikonfigurasi sistem operasi yang berbeda-beda tiap sessionnya, memungkinkan untuk berpindah sistem operasi dengan sangat cepat dan mudah. Bahkan hal ini mustahil dilakukan dengan PC Stand-alone atau workstation non LTSP. Jika anda tidak menggunakan remote desktop atau anda menggunakan aplikasi Real VNC atau yang lainnya, konfigurasinya sama seperti penjelasan diatas.

3. Penutup

Dari penjelasan diatas, maka dapat disimpulkan bahwa sistem Windows Linux Terminal Server ini memiliki keuntungan dan kerugian sebagai berikut. 1. Keuntungannya antara lain :

• Mudah dalam pengoperasian, memonitor, mengontrol serta memenejemen aktifitas client. Hal ini dikarenakan keseragaman konfigurasi sistem operasi yang dijalankan dari

104

servernya (sistem yang tersentral), serta tidak perlu banyak konfigurasi di client-nya.

• Mengurangi penggunaan sumberdaya secara illegal oleh orang yang tidak bertanggungjawab dengan adanya servis DHCP dan NFS.

• Biaya pembangunan sistem dapat ditekan dengan adanya sistem diskless serta konsumsi resources yang minimalis yang digunakan di sisi clientnya.

• Dengan adanya multi session, tentunya memberikan kenyamanan lebih terhadap user yang ingin menggunakan dua sistem operasi sekaligus atau secara bergantian.

• Multi session juga bermanfaat dalam hal fleksibelitas terhadap penggunaan sistem operasi yang bisa saling bergantian. Misalkan ketika pada suatu waktu terdapat banyak client yang minta layanan windows semua, maka seluruh work station akan bisa cepat diseting ke mode windows. Demikian juga sebaliknya, jika suatu saat banyak pengunjung yang minta layanan Linux, maka dengan segera bisa menggunakan Linux. Hal ini sangat menguntungkan bagi pemilik warnet/kantor, serta bagi user.

2. Kerugiannya antara lain : • Dengan sistem tersentral, maka jika kondisi Server sedang

labil, maka seluruh workstationnya akan merasakan hal yang serupa. Misal hang, terserang virus, bottle neck terhadap banyaknya proses dari clientnya, interrupt dari client, serangan DoS, dan sebagainya.

• Dengan fungsi kerja Linux Server yang berlipat ganda, rentan sekali terjadi tabrakan data, bottle neck, hang, sistem crash, memory overload, dan sebagainya sehingga mengakibatkan performa sistem menjadi lebih rendah dibandingkan dengan performa PC Stand alone.

• Aktivitas client dengan servernya banyak memakan resources untuk aplikasi LTSP dan transfer GUI-nya, secara otomatis bandwidth ke network luar (internet/upstream-nya) menjadi

105

berkurang atau terasa lambat. Sangat tidak cocok untuk jaringan yang memiliki banyak client.

3. Saran penulis : • Jangan implementasikan sistem ini dengan jumlah client

berlebih. Sesuaikan kemampuan kedua server dengan jumlah clientnya, terutama Linux servernya. Lakukan kalkulasi, analisa serta pengetesan sebelum mengimlementasikan sistem ini. Performa sangat bergantug pada resources yang anda pakai di sistem ini.

• Gunakan spek yang baik pada servernya, untuk mendapatkan performa baik, diatas rata-rata atau bahkan yang ekstrem.

• Selalu kontrol kondisi kedua server (hardware dan softwarenya) karena baik/tidaknya performa sistem ini bergantung pada server.

• Pada konfigurasi DHCP-nya, berikan range ip yang sesuai kebutuhan, jangan samapai berlebih agar tidak banyak memakan resources.

• Untuk keamanan yang lebih baik lagi, tambahkan aplikasi/konfigurasi proxy, firewall atau autentikasi pada Linux server.

Daftar Pustaka Basic LTSP How to URL : - http://www.ltsp.org/documentations/index.php - http://sourceforge.net - http://benpinter.net Windows Linux Terminal Server Project How to URL : www.linuxtsc.org Windows Cloning URL : http://www.microsoft.com/technet/arcive/termsrv/plan/tscap.mspx http://onno.vlsm.org/

106

PENGGUINAAN FILE TEXT SEBAGAI BASIS DATA PADA WEBSITE UNTUK MENANGGULANGI WEBHOSTING

GRATIS YANG TIDAK MENDUKUNGAN LAYANAN DBMS

Sudarmawan1 dan Welly Widodo Sindu Putra2 STMIK AMIKOM Yogyakarta

Abstraksi Sebuah web site mampu menunjang efektifitas dan efisiensi

suatu perusahaan atau lembaga, terutama perannya sebagai sarana komunikasi, publikasi serta sarana untuk mendapatkan informasi yang dibutuhkan oleh semua pihak. Untuk menghemat biaya dalam publikasi sebuah web site tentunya dengan menggunakan web hosting yang bersifat gratis akan tetapi hal tersebut seringkali memberikan kendala berupa dukungan layanan penyimpanan data yang bermasalah.

Untuk mengatasi masalah penyimpanan data pada web hosting yang bersifat gratis dapat menggunakan file text yang diolah dengan mesin program dalam hal ini yang dipakai adalah bahasa pemrograman web PHP. PHP merupakan bahasa pemrograman web yang mampu mengolah file text sedemikian rupa sehingga mampu menjadi basis data yang secara mendasar cara kerjanya hampir sama dengan Sistem Manajemen Basis Data (DBMS). Pada tingkat kebutuhan sebuah web site yang praktis dan menghemat biaya, file text mampu digunakan sebagai basis data pengganti DBMS tetapi tentu saja memiliki kelemahan yang lebih besar dalam hal keamanan data yang disimpan. Kata Kunci : internet, web site, hosting gratis, file text sebagai basis data.

107

1. Pendahuluan Teknologi informasi telah membuka mata dunia akan sebuah

dunia baru dengan cara interaksi yang baru. Perkembangan Internet telah mengubah pola interaksi masyarakat seperti; interaksi bisnis, ekonomi, sosial dan budaya. Internet telah memberikan kontribusi yang besar bagi masyarakat, perusahaan, organisasi, pendidikan, pemerintah, dan semua pihak yang membutuhkannya.

Hadirnya sebuah web site yang dipublikasikan ke Internet mampu menunjang efektifitas dan efisiensi suatu perusahaan atau lembaga, terutama perannya sebagai sarana komunikasi, publikasi serta sarana untuk mendapatkan informasi yang dibutuhkan oleh semua pihak.

Untuk menghemat biaya dalam publikasi sebuah web site tentunya dengan menggunakan web hosting yang bersifat gratis akan tetapi hal tersebut seringkali memberikan kendala berupa dukungan layanan penyimpanan data yang bermasalah.

Untuk mengatasi masalah penyimpanan data pada web hosting yang bersifat gratis dapat menggunakan file text yang diolah dengan mesin program dalam hal ini yang dipakai adalah bahasa pemrograman web PHP. PHP merupakan bahasa pemrograman web yang mampu mengolah file text sedemikian rupa sehingga mampu menjadi basis data yang secara mendasar cara kerjanya �amper sama dengan Sistem Manajemen Basis Data (DBMS).

108

2. Pembahasan 2.1. Internet

Internet dapat diartikan sebagai jaringan komputer luas dan besar yang mendunia, yaitu menghubungkan pemakai komputer dari suatu negara ke negara lain di seluruh dunia, dimana di dalamnya terdapat berbagai sumber daya informasi dari mulai yang statis hingga yang dinamis dan interaktif.

Secara fisik, Internet dianalogikan sebagai jaring laba-laba (web) yang menyelimuti bola dunia dan terdiri dari titik-titik (node) yang saling berhubungan. Node bisa berupa komputer, jaringan lokal atau peralatan komunikasi, sedangkan garis penghubung antar simpul disebut sebagai tulang punggung (backbone) yaitu media komunikasi terestrial (kabel, serat optik, microwave maupun satelit. Node terdiri dari pusat informasi dan database, peralatan komputer dan perangkat interkoneksi jaringan serta peralatan yang dipakai pengguna untuk mencari, menempatkan dan atau bertukar informasi di Internet.

Walaupun secara fisik Internet adalah interkoneksi antar jaringan komputer namun secara umum Internet harus dipandang sebagai sumber daya informasi. Isi Internet adalah informasi, dapat dibayangkan sebagai suatu database atau perpustakaan multimedia yang sangat besar dan lengkap. Bahkan Internet dipandang sebagai dunia dalam bentuk lain karena hampir seluruh aspek kehidupan di dunia nyata ada di Internet seperti bisnis, hiburan, olah raga, politik dan lain sebagainya. 2.2. HTML

Hypertext Markup Language (HTML) adalah adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML, HTML adalah sebuah bahasa markup standar yang digunakan secara luas untuk menampilkan halaman web dan HTML.

Secara garis besar, terdapat 4 jenis elemen dari HTML:

109

1. Structural, tanda yang menentukan level atau tingkatan dari sebuah teks (contoh, <h1>Golf</h1> akan memerintahkan browser untuk menampilkan "Golf" sebagai teks tebal besar yang menunjukkan sebagai Heading 1)

2. Presentational. tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks tersebut (contoh, <b>boldface</b> akan menampilkan huruf tebal.

3. Hypertext, tanda yang menunjukkan alamat tempat ke bagian dari dokumen tersebut atau alamat tempat ke dokumen lain

4. Elemen widget yang membuat objek-objek lain seperti tombol (<button>), list (<li>), dan garis horizontal (<hr>).

2.3. PHP

PHP merupakan singkatan dari Hypertext Preprocessor, adalah sebuah bahasa scripting berbasis server side scripting yang terpasang pada HTML dan berada di server dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis. Sebagian besar sintaksnya mirip dengan bahasa C atau java, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat.

Halaman web biasanya disusun dari kode-kode HTML yang disimpan dalam sebuah file berekstensi .html. File HTML ini dikirimkan oleh server (atau file) ke browser, kemudian browser menerjemahkan kode-kode tersebut sehingga menghasilkan suatu tampilan yang indah. Lain halnya dengan program php, program ini harus diterjemahkan oleh web server sehingga menghasilkan kode html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri sendiri ataupun disisipkan di antara kode-kode HTML sehingga dapat langsung ditampilkan bersama dengan kode-kode HTML tersebut. Program php dapat ditambahkan dengan mengapit program tersebut di antara tanda <? dan ?>. Tanda - tanda tersebut biasanya disebut tanda untuk memisahkan dari kode HTML. File HTML yang telah dibubuhi program php harus diganti ekstensi-nya menjadi php atau .php3.

110

PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam webnya. Kemudian ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script PERL yang dibuatnya untuk membuat halaman webnya menjadi dinamis. Kemudian pada tahun1996 ia mengeluarkan PHP versi 2.0 yang kemampuannya telah mampu mengakses database dan dapat terintegrasi dengan HTML. Pada tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0 yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang software-nya. Versi terbaru yaitu PHP 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi yang lebih lengkap lagi dibandingkan dengan versi sebelumnya. Perubahan yang paling mendasar pada PHP 4.0 adalah terintegrasinya Zend Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP3 scripting engine. Yang lainnya adalah built in HTTP session, tidak lagi menggunakan perpustakaan tambahan seperti pada PHP3. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan oleh web server. 2.4. Javascript

Java merupakan bahasa pemograman yang menjadi kelanjutan dari bahasa C++. Java dikembangkan oleh Sun Microsystem, Inc. pada tahun 1995 dan telah mengalami perkembangan yang sangat pesat sampai sekarang ini. Bahasa pemograman ini memiliki beberapa keunggulan dibandingkan dengan bahasa pemograman lainnya yaitu ukuran filenya kecil, akses data cepat, bersifat kompiler-interpreter dan dapat dibaca oleh berbagai system operasi seperti Windows ataupun Linux.

111

Java memiliki sifat platform independent (terbuka) yang menjadi ciri khas bahasa pemograman tersebut. Hal ini menyebabkan bahasa pemograman ini dapat di baca seluruh komputer tanpa harus mengkonversinya sehingga ketika user sedang berkomunikasi dengan menggunakan fasilitas komputer, user tidak perlu mengkhawatirkan perbedaan software maupun hardware dari masing-masing komputer.

Javascript merupakan bahasa pemograman yang dibuat untuk memudahkan bagi setiap orang untuk mempelajari bahasa Java. Berbeda dengan java, javascript tidak memiliki kompiler seperti halnya java. Sifat yang sama dengan bahasa java adalah javascript bersifat interpreter, yaitu script yang telah dibuat di text editor seperti Notepad atau Wordpad akan dibaca perbaris dari baris awal sampai akhir. Bahasa pemograman javascript dibuat secara khusus untuk membuat suatu halaman web yang interaktif maupun dinamis. Jika java merupakan bahasa pemograman dan HTML (Hyper Text Markup Language) merupakan bahasa kode maka javascript hibrid yang menjadi perpaduan antara bahasa java dengan HTML.

Beberapa keunggulan javascript dalam mengolah dan mengkondisikan sebuah web antara lain, karena ukuran filenya kecil maka ketika seorang merequest sebuah web dari web server dimana didalam web tersebut memuat script javascript maka aplikasi dari javascript tersebut akan cepat tampil di browser tanpa harus diolah terlebih dahulu di server. Hal ini disebabkan karena javascript memiliki sifat client side yaitu script yang ketika dipanggil oleh browser akan langsung tampil tanpa harus dioleh di server disertai script aslinya sehingga user dapat melihat kodenya dengan mudah tanpa terenkripsi oleh server.

Sedangkan ada beberapa bahasa pemograman web yang ketika dipanggil browser maka script program tersebut akan diolah dan bekerja di server, sedangkan ketika web tersebut akan ditampilkan di browser maka script-nya tidak akan disertakan di browser karena script-nya hanya akan bekerja di server dan tidak bekerja di client. Bahasa pemograman ini sifatnya server side.

112

2.5 Perancangan Struktur Direktori

Gambar 1 Struktur Direktori

113

Penjelasan : 1. Direktori Database

Merupakan direktori yang utama sebagai tempat file text disimpan

2. Direktori Tabel (n) Diberi nama yang sesuai dengan entity yang dibuat dan digunakan untuk menyimpan file text sebagai record dan file – file lainnya yang berhubungan dengan entity tersebut.

3. Direktori Data Digunakan untuk menyimpan file text sebagai record

4. Direktori File Digunakan untuk menyimpan file dengan format html/htm yang dapat dibaca oleh PHP dan ditampilkan sebagai informasi inti pada halaman web. Metode ini digunakan untuk mempermudah user dalam melakukan pengolahan terhadap isi web site dengan memanfaatkan software editor lain seperti MS Word atau Open Office yang kemudian disimpan dalam format html/htm.

5. Direktori Images Digunakan untuk menyimpan gambar yang berkaitan dengan record data yang dibaca.

6. File text sebagai record data Digunakan sebagai penyimpan data File text tersebut menggunakan nama yang di index mulai dari angka 1. contohnya: 1.txt, 2.txt dan seterusnya. Isi dari file text adalah data yang dipisahkan dengan tanda unik yang merepresentasikan field. ( Contoh : 1<->Judul Berita<->1.html<->1.jpg<->2007-05-05 )

7. Additional File Adalah file dengan type html / htm yang menjadi isi dari sebuah halaman web

8. Additional Images Adalah file gambar yang berkaitan dengan record data yang dibaca sebagai pelengkap halaman

114

2.6 Prosedur Pengolah File Text sebagai Basis Data Dasar dari perancangan mesin pengolah file text sebagai basis data adalah adanya 4 prosedur yang umum digunakan untuk melakukan pengolahan terhadap suatu data yaitu :prosedur untuk pembacaan data, prosedur untuk penambahan data, prosedur untuk pengubahan data, dan prosedur untuk menghapus data. Berikut ini adalah rancangan prosedur yang akan diterapkan dalam pengolahan file text sebagai basis data :

1. Prosedur Pembaca Data (Select) REM Prosedure Selection Data FUNCTION GetData fd = OPENDIR (path) WHILE fl = READDIR (fd) IF fl <> ‘.’ AND fl <> ‘..’ fn = path + fl handle = FOPEN (fn, read) contents[] = FREAD (handle, filesize(fn)) FCLOSE (handle) END IF LOOP FCLOSE (fd) RETURN contents END FUNCTION

2.7 Prosedur Penambah Data (Insert) REM Prosedure Insert Data FUNCTION InserData (parameter-1, parameter-2, parameter-n) IF COPY (sourcepath, destpath + id + “.txt”) contentWrite = parameter-1, parameter-2, parameter-n ELSE

115

err = 1 END IF fn = destpath + id + “.txt” IF IS_WRITABLE (fn) handle = FOPEN (fn, a) IF FILE_WRITE (handle, contentWrite) == FALSE err = 1 DELETE FILE (fn) FCLOSE (handle) END IF ELSE err = 1 DELETE FILE (fn) END IF IF err = =1 RETURN FALSE ELSE RETURN TRUE END IF END FUNCTION

2. Prosedur Pengubah Data (Update) REM Prosedure Update Data FUNCTION UpdateData (parameter-1, parameter-2, parameter-n) contentWrite = parameter-1, parameter-2, parameter-n handle = FOPEN (path, w) FPUTS (handle, contentWrite) FCLOSE (handle) RETURN TRUE END FUNCTION

116

2.8 Prosedur Penghapus Data (Delete) REM Prosedure Delete Data FUNCTION DeleteData (parameter-f, parameter-g, parameter-d) IF IS_FILE (parameter-f) DELETE FILE (parameter-f) END IF IF IS_FILE (parameter-g) DELETE FILE (parameter-g) END IF IF IS_FILE (parameter-d) DELETE FILE (parameter-d) END IF RETURN TRUE END FUNCTION

2.9 Fungsi PHP yang digunakan untuk Mengolah File Text

1. copy ( string source, string dest), digunakan untuk menggandakan file

2. is_dir ( string dirname), digunakan untuk memastikan bahwa direktori yang ditunjuk ada.

3. opendir ( string path), digunakan untuk membuka direktori dan menjadikannya sebuah resource yang dapat dibaca.

4. readdir ( resource dir_handle), digunakan untuk membaca isi dari resource direktori yang sudah dibuka.

5. is_file ( string filename), digunakan untuk memastikan bahwa file yang ditunjuk benar.

6. file_exists ( string filename), digunakan untuk memastikan keberadaan sebuah file.

7. fopen ( string filename, string mode [, int use_include_path [, resource zcontext]]), digunakan untuk membuka file text dan menjadikannya sebuah resource yang dapat dibaca.

8. fread ( resource handle, int length), digunakan untuk membaca keseluruhan data pada resource dari file text yang dibuka.

117

9. fwrite ( resource handle, string string [, int length]), digunakan untuk menuliskan data pada file text yang sudah dibuka.

10. fputs ( resource handle [, int length]), digunakan untuk menuliskan data pada file text yang sudah dibuka.

11. fclose ( resource handle), digunakan untuk menutup / menghapus resource yang dibuka.

12. explode ( string separator, string string [, int limit]), digunakan untuk memisahkan data bertype string menjadi sebuah array dengan menggunakan tanda pemisah tertentu.

2.10 Pengujian Sistem Pengujian sistem ini dilakukan pada beberapa free hosting sebagai berikut : 1. Alamat free hosting : http://www.t35.com

Kapasitas : 50 MB Kepentingan : Bisnis, Pribadi Metode upload : FTP, Browser Scripting : PHP, SSI Fitur lainnya : Semua tipe file Kapasitas maksimal file 500KB Backup data setiap bulan

Hasil pengujian : Mampu berjalan dengan baik, kelemahan pada kecepatan tampilan situs yang didahului oleh sponsor dari pihak free hosting

2. Alamat free hosting : http://www.free-site-host.com Kapasitas : 5000 MB Kepentingan : Bisnis, Pribadi Metode upload : FTP, Browser Scripting : PHP Fitur lainnya : Batas bandwith 100.000 MB / bulan

118

Mendukung database MySQL Kapasitas file maksimal 10 MB

Hasil pengujian : Mampu berjalan dengan baik, kelemahan pada control panel free hosting

3. Alamat free hosting : http://www.free-web-hosting.com Kapasitas : 5000 MB Kepentingan : Bisnis, Pribadi Metode upload : FTP, Browser Scripting : PHP Fitur lainnya : Batas bandwith 20.000 MB / bulan Mendukung database MySQL Kapasitas file maksimal 10 MB Mendukung file manager

Hasil pengujian : Mampu berjalan dengan baik, kelemahan pada control panel free hosting

4. Alamat free hosting : http://www.tripod.lycos.co.uk/ Kapasitas : 50 MB Kepentingan : Bisnis, Pribadi Metode upload : FTP, Browser Scripting : PHP, SSI, FrontPage Extensions Fitur lainnya : Bandwith tidak terbatas Mendukung database MySQL Kapasitas file tidak terbatas Mendukung statistic pengunjung

Hasil pengujian : Mampu berjalan dengan baik, kelemahan pada sponsor yang memakan banyak tempat pada situs

2.11 Analisis Keunggulan dan Kelemahan Sistem Analisis yang digunakan dalam pembuatan web site dengan menggunakan file text sebagai basis data adalah adalah dengan

119

menggunakan metode PIECES (Performance, Information, Economic, Control, Efficiency, Service). Dari hasil analisis ini didapatkan hasil sebagai berkut : Tabel IV.1. Tabel Analisis Keunggulan dan Kelemahan Sistem Keunggulan Kelemahan Performance Kecepatan dalam

menampikan. Memiliki keterbatasan pada jumlah informasi yang disampaikan (Dibatasi oleh kapasitas web hosting)

Information Memenuhi standar informasi yaitu : akurat, relevan dan tepat waktu

Memiliki kapasitas informasi yang terbatas terkait dengan besar kapasitas dari file text yang diijinkan.

Sponsorship dari free hosting yang bersangkutan membuatan informasi berada pada lingkup yang tidak seharusnya

Economy Biaya hosting yang murah sampai Rp. 0,-

Tidak memerlukan biaya tambahan untuk operator karena dapat diolah sendiri tanpa mengalami kesulitan.

Sponsor dari pihak web hosting dapat mengurangi nilai ekonomi dari situs tersebut.

Control Sistem keamanan dan control terpusat pada satu administrator memudahkan pengendalian terhadap sistem

Tidak mendukung keamanan yang cukup baik terhadap data dan informasi yang disampaikan

Efficiency Menghemat waktu dan biaya dalam menyampaikan informasi

Hanya dapat diimplementasikan pada hosting yang mendukung PHP

Service Memberikan pelayanan informasi cukup baik.

Tidak mendukung pelayanan dengan tujuan untuk bisnis transaksi

120

3. Penutup Berdasarkan pembahasan dan hasil yang telah dilakukan pada web site yang menggunakan file text sebagai basis data dapat disimpulkan sebagai berikut:

1. Untuk membuat sebuah web site yang mampu menyimpan data tanpa menggunakan fasilitas DBMS dapat menggunakan file text yang diolah sedemikian rupa menggunakan bahasa pemrograman web seperti PHP.

2. PHP memiliki fungsi – fungsi yang dapat digunakan untuk mengolah file text menjadi basis data sederhana yang dapat digunakan oleh web site untuk menyimpan data.

3. Pengolahan file text sebagai basis data hanya dapat diterapkan pada web site yang memiliki skala keamanan dengan tingkat rendah (low security) dan tidak memiliki fasilitas DBMS. Beberapa saran yang diajukan dari hasil penelitian pembuatan

web site dengan menggunakan file text: 1. Untuk membangun sebuah web site dengan biaya yang

seminimal mungkin dapat menggunakan pendekatan penyimpanan data dengan menggunakan file text.

2. Metode penyimpanan data dengan menggunakan file text hanya dapat diterapkan pada web site yang memiliki tingkat keamanan yang rendah dan tidak memiliki atau bermasalah dengan fasilitas DBMS pada web server

Daftar Pustaka Azis, M. Farid, 2005, Object Oriented Programing dengan PHP 5,

Jakarta : PT Elex Media Komputindo. Krug, Steve, 2005, Don’t Make Me Think! A Common Sense

Approach to Web Usability, Second Edition. Peachpit, A Division Of Person Education

Prasetyo, Didik Dwi, 2003. Tip dan Trik Kolaborasi PHP dan MySql untuk Membuat Web Database yang Interaktif. Jakarta: PT Elex Media Komputindo.

121

IMPLEMENTASI CONCURENCY CONTROL UNTUK APLIKASI MULTIUSER MENGGUNAKAN

DATABASE SQL SERVER

Wiwi Widayani STMIK AMIKOM Yogyakarta

Abstraksi Permasalahan yang terjadi pada aplikasi untuk multiuser yaitu

akses bersama yang dilakukan oleh beberapa user pada waktu yang bersamaan pada database dapat menyebabkan data yang tidak konsisten.Diperlukan sebuah penanganan berupa Concurrency Control untuk melindungi data dari akses secara simultan oleh multiuser.

Implementasi Concurrency Control akan dilakukan dalam database SQL Server untuk multiuser dalam suatu aplikasi untuk end user berupa aplikasi simulasi untuk Teller Bank dalam mengakses rekening Nasabah Bank. Kata Kunci :Concurrency Control, SQL Server,Multiuser,konsisten 1. Pendahuluan

Permasalahan yang terjadi pada aplikasi untuk multiuser yaitu akses bersama yang dilakukan oleh beberapa user pada waktu yang bersamaan pada database dapat menyebabkan data yang tidak konsisten.Diperlukan sebuah penanganan berupa Concurrency Control untuk melindungi data dari akses secara simultan oleh mutliuser.

Implementasi Concurrency Control akan dilakukan dalam database SQL Server untuk multiuser dalama suatu aplikasi untuk end user berupa aplikasi untuk Teller Bank dalam mengakses rekening Nasabah Bank. Aplikasi yang dipakai hanya berupa simulasi bukan merupakan program utuh.

122

1.1 Concurrency control

Concurrency Control adalah proses pengelolaan operasi-operasi yang berjalan bersamaan dalam database dengan tidak saling menggangu satu sama lain.

Kebutuhan Concurrency Control dalam management transaksi untuk multiuser menjadi penting, mengingat sistem untuk multiuser memungkinkan terjadinya akses bersama terhadap sebuah database. Akses bersama relative mudah jika seluruh user hanya membaca data, sehingga tidak ada yang melakukan interfensi satu dengan lainnya. Akan tetapi, pada saat dua atau lebih user mengakses database secara simultan dan paling sedikit satu user melakukan update, maka akan terjadi interfensi yang dapat mengakibatkan ketidakkonsistenan data pada database. 1.2 Masalah yang Muncul dalam Akses Bersama dan Hasil yang

Diharapkan Terdapat beberapa masalah yang dapat terjadi yang disebabkan

oleh akses bersama oleh multiuser, yaitu : 1) Lost update problem (Masalah hilangnya data yang diupdate). 2) Uncommited dependency problem / dirty real (Masalah

kebergantungan terhadap transaksi yang belum commit). 3) Inconsistent analiysisn problem (masalah analisa yang tidak

konsisten). 4) Nonrepeteable (atau fuzzy) read. 5) Phantom read.

1.3 Level-Level Isolasi SQL Server memberikan empat level isolasi. Level isolasi

adalah setting yang menentukan level sebuah transaksi menerima data yang tidak konsisten, yaitu tingkatan sebuah transaksi diisolasi dari transaksi lain. Semakin tinggi tingkat isolasi semakin tinggi keakuratan data. Level isolasi yang kita pakai menentukan perilaku lock untuk semua perintah SELECT yang dilakukan. Level-Level

123

isolasi dari terendah sampai tertinggi adalah : Read Uncommitted, Read Committed, Repeatable Read Dan Serializable. • READ UNCOMMITTED. Level isolasi terendah, pada level

ini transaksi diisolasi hanya untuk menjadi data yang rusak secara fisik tidak dapat dibaca (Read Only).

• READ COMMITTED. Level default dari SQL Server. Pada level ini pembacaan data diperbolehkan hanya pada data yang telah di-commit. Data yang telah di-commit adalah data yang merupakan bagian permanent dari database. Pada level ini data yang masih belum di-commit (masih dipakai oleh transaksi) tidak dapat dibaca.

• REPEATABLE READ. Pembacaan berulang pada data yang dipakai oleh sebuah transaksi akan menghasilkan data yang sama.

• SERIALIZABLE. Level tertinggi isolasi. Transaksi terisolasi dari transaksi lainnya. Hasil yang diperoleh dari transaksi konkuren pada sebuah database sama dengan jika transaksi dijalankan secara serial (satu per satu).

Dirty Read

Nonrepeateable read

Phantom read

Read Uncommitted Ya Ya Ya

Read committed Tidak Ya Ya

Repeatable Read Tidak Ya Tidak

Serializable Tidak Tidak tidak Level Isolasi Transaksi

1.4 Batasan masalah

Dalam mengimplementasikan concurrency control pada aplikasi simulasi teller bank, dilakukan batasan sebagai berikut: • Database diasumsikan database terpusat (centralized database) • Analisa pengujian masalah hanya mencakup Lost update

problem (Masalah hilangnya data yang diupdate) dan

124

Inconsistent analiysis problem (masalah analisa yang tidak konsisten)

2. Pembahasan 2.1 Data Modelling

Entity Relationship Diagram

2.2 Pengujian Aplikasi

Pengujian dilakukan menggunakan 2 aplikasi tanpa concurrency control yaitu penarikan tunai dan penyetoran tunai yang dijalankan bersama-sama dan 2 aplikasi dengan concurrency yaitu penarikan tunai dan penyetoran tunai yang dijalankan bersama-sama , masing-masing memiliki delay waktu selama 10 detik. Dengan adanya delay maka aplikasi yang berjalan dapat dibuat bertabrakan. Delay ditentukan dalam setiap procedure yang dipakai.

WAITFOR DELAY ’00:00:10’ Pengujian terhadap 2 aplikasi yang dijalankan

bersamaan (bertubrukkan) akan merepresentasikan 2 masalah utama yaitu : • Masalah hilangnya data yang diubah (Lost of Update). Sebagai

contoh digunakan, transaksi penarikan tunai dan penyetoran tunai.

Jenis_Transaksi

Nasabah

Nama_Nasabah

(1, 1)

(0, N)

Kantor_Cabang

NIK

Alamat Nama_Teller

(0, N)

NIK

Waktu Saldo

Id_Jenis_Transaksi

Id_Jenis_Transaksi

Nominal_Kredit

Nominal_DebetKantor_Cabang

Id_TransaksiTotal_Saldo

Alamat

No_buku_rekening

Tanda Pengenal

Oleh

No_Telepon

No_Rekening

No_Rekening

Id_Nasabah

Jenis_TransaksiTransaksi

Teller

125

• Masalah analisa yang tidak konsisten (Inconsistent analiysis problem)

Masalah hilangnya data yang diubah (Lost of Update)

Transaksi Penarikan Tunai dilakukan terhadap nasabah dengan no rekening 00011 sebesar Rp.200000. Transaksi Penyetoran tunai juga dilakukan terhadap nasabah dengan no rekening 00011 sebesar Rp.100000. Jumlah saldo nasabah dengan no rekening 00011 adalah Rp.1500000. Transaksi sama-sama dieksekusi, transaksi penyetoran dieksekusi terlebih dahulu, kemudian transaksi penarikan tunai berikutnya.

Tanpa Concurrency Control

Transaksi penyetoran tunai lebih dulu selesai dengan keluaran saldo Rp.1700000 untuk no rekening 00011 dari saldo awal Rp.1500000 + penyetoran Rp.200000, kemudian transaksi penarikan tunai selesai dengan keluaran saldo terakhir Rp.1400000 untuk rekening 001 dari saldo awal Rp 1500000- penarikan Rp.100000.

Dengan demikian, tampak hilangnya data yang diubah oleh transaksi penyetoran tunai sebesar Rp.200000. Karena seharusnya data Saldo nasabah terakhir adalah Rp.1500000 + Rp.200000 – Rp.100000 = Rp. 1600000

Tabel berikut menunjukkan proses yang terjadi pada pengujian aplikasi tanpa concurrency control terhadap masalah hilangnya data yang diubah.

Waktu

Transaksi penyetoran Transaksi penarikan Total Saldo

t1 SELECT @total_saldo = total_saldo FROM nasabah WHERE no_rekening=’00011’

1500000

t2 Delay

SELECT @total_saldo = total_saldo FROM nasabah WHERE

1500000

126

no_rekening=’00011’ t3 SET @total_saldo =

@total_saldo + @nominal_kredit

Delay 1500000

t4 UPDATE Nasabah SET total_saldo=@total_saldo WHERE no_rek=’00011’

SET @total_saldo = @total_saldo - @nominal_debet

1700000

t5 UPDATE Nasabah SET total_saldo=@total_saldo WHERE no_rek=’00011’

1400000

Proses yang terjadi pada pengujian aplikasi tanpa concurrency control - terhadap masalah hilangnya data yang diubah

Procedure Penarikan Tunai Tanpa Concurrency : CREATE PROCEDURE SP_PENARIKAN_TUNAI_TC ( @NO_REKENING CHAR(5), @NIK CHAR(5), @NOMINAL_DEBET INT) AS DECLARE @PESAN_SALAH VARCHAR(50), @TOTAL_SALDO INT BEGIN TRAN SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING IF @NOMINAL_DEBET>=@TOTAL_SALDO BEGIN

PRINT 'TRANSAKSI GAGAL' ROLLBACK TRAN

END

127

ELSE BEGIN

WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO=@TOTAL_SALDO – @NOMINAL_DEBET UPDATE NASABAH SET TOTAL_SALDO = @TOTAL_SALDO WHERE NO_REKENING = @NO_REKENING INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI, NO_REKENING, NIK, WAKTU, NOMINAL_DEBET, NOMINAL_KREDIT)VALUES('02',@NO_REKENING,@NIK, GETDATE(),@NOMINAL_DEBET,0) COMMIT TRAN

END Procedure Penyetoran Tunai Tanpa Concurrency : CREATE PROCEDURE SP_PENYETORAN_TUNAI_TC( @NO_REKENING CHAR(5),@NIK CHAR(5), @NOMINAL_KREDIT INT) AS DECLARE @TOTAL_SALDO INT BEGIN TRAN SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO = @TOTAL_SALDO + @NOMINAL_KREDIT UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU,

128

NOMINAL_DEBET, NOMINAL_KREDIT) VALUES ('01', @NO_REKENING, @NIK, GETDATE(), 0, @NOMINAL_KREDIT) COMMIT TRAN

Dengan Concurrency Control

Transaksi penyetoran tunai lebih dulu selesai dengan keluaran saldo Rp.1700000 untuk no rekening 00011 dari saldo awal Rp.1500000 + Rp.200000, kemudian transaksi penarikan tunai selesai dengan keluaran saldo terakhir Rp.1600000 untuk rekening 00011 dari Saldo Rp.1700000 – Rp.100000.

Dengan demikian,tampak bahwa transaksi tidak mengalami masalah hilangnya data yang diubah.

Tabel berikut menunjukkan proses yang terjadi pada pengujian aplikasi tanpa concurrency control terhadap masalah hilangnya data yang diubah.

Wakt

u Transaksi penyetoran Transaksi penarikan Total

Saldo t1 UPDATE nasabah SET

total_saldo= total_saldo WHERE no_rekening= ‘00011’

1500000

t2 SELECT @total_saldo = total_saldo FROM nasabah WHERE no_rekening=’00011’

1500000

t3 SELECT @total_saldo = total_saldo FROM nasabah WHERE no_rekening=’00011’ (WAIT)

1500000

t4 SET @total_saldo = @total_saldo + (WAIT) 1500000

129

@nominal_kredit t5 UPDATE Nasabah

SETtotal_saldo=@total_saldo WHERE no_rek=’00011’

(WAIT)

1700000

t6 fetch cr_saldo_penarikan into @total_saldo

1700000

t7 Delay 1700000 t8 SET @total_saldo =

@total_saldo - @nominal_debet

1700000

t9 UPDATE Nasabah SETtotal_saldo=@total_saldo WHERE no_rek=’00011’

1600000

Proses yang terjadi pada pengujian aplikasi dengan concurrency control

- terhadap masalah hilangnya data yang diubah

Procedure Penarikan Tunai Dengan Concurrency : CREATE PROCEDURE SP_PENARIKAN_TUNAI_DC( @NO_REKENING CHAR(5),@NIK CHAR(5), @NOMINAL_DEBET INT) AS DECLARE @TOTAL_SALDO INT DECLARE CR_SALDO_PENARIKAN CURSOR FOR SELECT TOTAL_SALDO FROM NASABAH WHERE NO_REKENING= @NO_REKENING FOR UPDATE OF TOTAL_SALDO BEGIN TRAN OPEN CR_SALDO_PENARIKAN FETCH CR_SALDO_PENARIKAN INTO @TOTAL_SALDO

130

IF @NOMINAL_DEBET >= @TOTAL_SALDO BEGIN PRINT 'TRANSAKSI GAGAL' ROLLBACK TRAN END ELSE BEGIN WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO = @TOTAL_SALDO – @NOMINAL_DEBET

UPDATE NASABAH SET TOTAL_SALDO = @TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI, NO_REKENING, NIK, WAKTU, NOMINAL_DEBET, NOMINAL_KREDIT)VALUES('02',@NO_REKENING, @NIK, GETDATE(), @NOMINAL_DEBET,0) COMMIT TRAN

END CLOSE CR_SALDO_PENARIKAN DEALLOCATE CR_SALDO_PENARIKAN Procedure Penyetoran Tunai Dengan Concurrency : CREATE PROCEDURE SP_PENYETORAN_TUNAI_DC( @NO_REKENING CHAR(5),@NIK CHAR(5), @NOMINAL_KREDIT INT) AS DECLARE @TOTAL_SALDO INT BEGIN TRAN UPDATE NASABAH SET TOTAL_SALDO=TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH

131

WHERE NO_REKENING = @NO_REKENING WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO = @TOTAL_SALDO + @NOMINAL_KREDIT UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU, NOMINAL_DEBET,NOMINAL_KREDIT)VALUES('01', @NO_REKENING, @NIK, GETDATE(), 0, @NOMINAL_KREDIT) COMMIT TRAN Masalah analisa yang tidak konsisten (Inconsistent analiysis problem)

Penghitungan jumlah total saldo seluruh nasabah memiliki keluaran berupa parameter OUT yaitu nilai_sum yang memuat jumlah total_saldo seluruh nasabah dengan cara menjumlahkannya satu persatu. No rekening 00011 memiliki saldo sebesar Rp.1000000 akan mentransfer saldonya sebesar Rp.200000 ke nasabah dengan no rekening 00012 yang memiliki saldo Rp.1000000, Kemudian transaksi sama-sama dieksekusi. Posisi saldo saat ini adalah sebagai berikut :

Tanpa Concurrency Control

Transaksi transfer saldo mengeluarkan hasil untuk total saldo no rekening 00011= Rp.800000 dan no rekening 00012= Rp.1200000, transaksi total saldo seluruh nasabah selesai, tampil total saldo seluruh

132

nasabah dengan keluaran yang tidak sama antara jumlah total saldo seluruh nasabah yang sebenarnya Rp.3000000 dengan hasil jumlah total saldo dari prosedur Rp.3200000.

Dengan demikian, tampak masalah analisa yang tidak konsisten pada transaksi total saldo seluruh nasabah, antara jumlah total saldo pada tabel nasabah dengan variabel yang menyimpan data jumlah total saldo dalam prosedur.

Tabel berikut menunjukkan proses yang terjadi pada pengujian aplikasi tanpa concurrency control terhadap masalah analisa yang tidak konsisten.

Wak

tu Transaksi transfer

saldo Transaksi total

saldo Total saldo

nasabah

Var @total_

saldo

t1 Select @total_saldo=total_saldo from nasabah Where no_rekening= ‘00011’

Declare cursor_saldo cursor for select total_saldo from nasabah

1000000

t2 Delay Fetch next from cursor_saldo into @total_saldo

1000000 0

t3 Set @total_saldo=@total_saldo - @nominal_debet

Delay 100000

0 0

t4 Update nasabah set total_saldo=@total_saldo Where no_rekening=’00011’

Set Jum_tot_saldo= jum_tot_saldo + @tot_saldo

800000 1000000

t5 Select @total_saldo = total_saldo from nasabah

1000000

1000000

133

Where no_rekening =’00012’

t6 Set @total_saldo=@total_saldo + @nominal_kredit

100000

0 100000

0

t7 Update nasabah set total_saldo=@total_saldo Where no_rekening=’00012’

Fetch next from cursor_saldo into @total_saldo 120000

0 100000

0

Set Jum_tot_saldo= jum_tot_saldo + @tot_saldo

1200000

1200000

Proses yang terjadi pada pengujian aplikasi tanpa concurrency control - terhadap masalah analisa yang tidak konsisten. Procedure Transfer saldo Tanpa Concurrency : CREATE PROCEDURE SP_TRANSFER_SALDO_TC( @NO_REKENING_ASAL CHAR(5),@NIK CHAR(5),@NOMINAL_DEBET INT, @NO_REKENING_TUJUAN CHAR(5) ) AS DECLARE @TOTAL_SALDO INT,@NOMINAL_KREDIT INT SET @NOMINAL_KREDIT=@NOMINAL_DEBET BEGIN TRAN SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING_ASAL IF @NOMINAL_DEBET>=@TOTAL_SALDO BEGIN PRINT 'TRANSAKSI GAGAL' ROLLBACK TRAN

134

END ELSE BEGIN WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO=@TOTAL_SALDO - @NOMINAL_DEBET UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING_ASAL SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING_TUJUAN SET @TOTAL_SALDO=@TOTAL_SALDO + @NOMINAL_KREDIT UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING_TUJUAN INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU, NOMINAL_DEBET,NOMINAL_KREDIT)VALUES('03',@NO_REKENING_ASAL,@NIK,GETDATE(), @NOMINAL_DEBET,0) INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU, NOMINAL_DEBET,NOMINAL_KREDIT)VALUES('04',@NO_REKENING_TUJUAN, @NIK,GETDATE(), 0,@NOMINAL_KREDIT) COMMIT TRAN END

Procedure Mencari Jumlah Total Saldo Tanpa Concurrency : CREATE PROCEDURE SP_JUM_TOT_SALDO_TC

135

AS BEGIN DECLARE CURSOR_SALDO CURSOR FOR SELECT TOTAL_SALDO FROM NASABAH DECLARE @JUMLAH_SEBENARNYA INT,@JUMLAH INT,@TOTAL_SALDO INT SET @JUMLAH=0 OPEN CURSOR_SALDO FETCH NEXT FROM CURSOR_SALDO INTO @TOTAL_SALDO WAITFOR DELAY '00:00:10' WHILE @@FETCH_STATUS=0 BEGIN FETCH NEXT FROM CURSOR_SALDO INTO @TOTAL_SALDO --PRINT @TOTAL_SALDO SET @JUMLAH=@JUMLAH +@TOTAL_SALDO --PRINT @JUMLAH END PRINT @JUMLAH SELECT @JUMLAH_SEBENARNYA=SUM(TOTAL_SALDO) FROM NASABAH PRINT @JUMLAH_SEBENARNYA CLOSE CURSOR_SALDO DEALLOCATE CURSOR_SALDO END Dengan Concurrency Control

Transaksi transfer saldo mengeluarkan hasil untuk total saldo no rekening 00011= Rp.800000 dan no rekening 00012= Rp.1200000, transaksi total saldo seluruh nasabah selesai, tampil total saldo seluruh nasabah dengan keluaran yang tidak sama antara jumlah total saldo

136

seluruh nasabah yang sebenarnya Rp.3000000 dengan hasil jumlah total saldo dari prosedur Rp.3000000.

Tabel berikut menunjukkan proses yang terjadi pada pengujian aplikasi dengan concurrency control terhadap masalah analisa yang tidak konsisten. Wak

tu Transaksi transfer

saldo Transaksi total saldo Total

saldo nasabah

Var @total_ saldo

Set transaction isolation level serializable

Declare cursor_saldo cursor for select total_saldo from nasabah

t1 Select @total_saldo=total_saldo from nasabah Where no_rekening= ‘00011’

Set transaction isolation level serializable 100000

0 0

t2

Delay

Fetch next from cursor_saldo into @total_saldo (wait)

0

t3 Set @total_saldo=@total_saldo - @nominal_debet

Delay 1000000 0

t4 Update nasabah set total_saldo=@total_saldo Where no_rekening= ’00011’

(Wait ) 800000 0

t5 Select @total_saldo = total_saldo from

Set Jum_tot_saldo= jum_tot_saldo +

1000000 800000

137

nasabah Where no_rekening =’00012’

@tot_saldo

t6 Set @total_saldo=@total_saldo + @nominal_kredit

(wait) 1000000 800000

t7 Update nasabah set total_saldo=@total_saldo Where no_rekening=’00012’

Fetch next from cursor_saldo into @total_saldo 120000

0 800000

Set Jum_tot_saldo= jum_tot_saldo +

@tot_saldo 120000

0

Proses yang terjadi pada pengujian aplikasi dengan concurrency control - terhadap masalah analisa yang tidak konsisten. Procedure Transfer saldo Dengan Concurrency : CREATE PROCEDURE SP_TRANSFER_SALDO_DC( @NO_REKENING_ASAL CHAR(5),@NIK CHAR(5),@NOMINAL_DEBET INT, @NO_REKENING_TUJUAN CHAR(5) ) AS DECLARE @TOTAL_SALDO INT,@NOMINAL_KREDIT INT SET @NOMINAL_KREDIT=@NOMINAL_DEBET BEGIN TRAN SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING_ASAL

138

IF @NOMINAL_DEBET>=@TOTAL_SALDO BEGIN PRINT 'TRANSAKSI GAGAL' ROLLBACK TRAN END ELSE BEGIN WAITFOR DELAY '00:00:10' SET @TOTAL_SALDO=@TOTAL_SALDO - @NOMINAL_DEBET UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING_ASAL SELECT @TOTAL_SALDO=TOTAL_SALDO FROM NASABAH WHERE NO_REKENING=@NO_REKENING_TUJUAN SET @TOTAL_SALDO=@TOTAL_SALDO + @NOMINAL_KREDIT UPDATE NASABAH SET TOTAL_SALDO=@TOTAL_SALDO WHERE NO_REKENING=@NO_REKENING_TUJUAN INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU, NOMINAL_DEBET,NOMINAL_KREDIT)VALUES('03',@NO_REKENING_ASAL,@NIK,GETDATE(), @NOMINAL_DEBET,0) INSERT INTO TRANSAKSI(ID_JENIS_TRANSAKSI,NO_REKENING,NIK,WAKTU, NOMINAL_DEBET,NOMINAL_KREDIT)VALUES('04',@NO_REKENING_TUJUAN,@NIK,GETDATE(), 0,@NOMINAL_KREDIT) COMMIT TRAN END

139

Procedure Mencari Jumlah Total Saldo Dengan Concurrency : CREATE PROCEDURE SP_JUM_TOT_SALDO_DC AS BEGIN TRAN SET TRANSACTION ISOLATION LEVEL SERIALIZABLE DECLARE CURSOR_SALDO CURSOR FOR SELECT TOTAL_SALDO FROM NASABAH DECLARE @JUMLAH_SEBENARNYA INT,@JUMLAH INT,@TOTAL_SALDO INT SET @JUMLAH=0 OPEN CURSOR_SALDO FETCH NEXT FROM CURSOR_SALDO INTO @TOTAL_SALDO WAITFOR DELAY '00:00:10' WHILE @@FETCH_STATUS=0 BEGIN FETCH NEXT FROM CURSOR_SALDO INTO @TOTAL_SALDO --PRINT @TOTAL_SALDO if @@error<>0 rollback tran SET @JUMLAH= @JUMLAH + @TOTAL_SALDO --PRINT @JUMLAH END PRINT @JUMLAH SELECT @JUMLAH_SEBENARNYA=SUM(TOTAL_SALDO) FROM NASABAH PRINT @JUMLAH_SEBENARNYA CLOSE CURSOR_SALDO DEALLOCATE CURSOR_SALDO

140

3. Penutup Aplikasi dapat mencegah masalah hilangnya data yang diubah

(Lost of Update) dan juga masalah analisa yang tidak konsisten (the inconsistent analysis problem)

Concurrency control dalam SQL Server dapat dicapai dengan beberapa cara, seperti menggunakan : Statement SELECT .. FOR UPDATE Isolation level SERIALIZABLE Statement UPDATE pada diri sendiri sebelum melakukan proses baca dengan maksud mengubah data yang dibaca.

Daftar Pustaka Connolly,T.,Begg, C.,DATABASE SYSTEM A Practical Approach To

Design, Implementation And Management, Addison Wesley,2002.

Ir.Inge Martina, 36 Jam Belajar Komputer Microsoft SQL Server 2000, Elexmedia Komputindo,2003.

Dusan Petkovic, SQL SERVER 7 A BEGINNER’S GUIDE, Osborne/ Mcgraw-Hill,1999.

141

APLIKASI SISTEM PENDUKUNG KEPUTUSAN PENJADWALAN KULIAH BERDASARKAN KESEDIAAN

WAKTU DOSEN MENGAJAR ( Studi Kasus Pada STIE SBI Yogyakarta)

Yuhilda

STMIK AMIKOM Yogyakarta

Abstract Decision Support Systems for Lecture Schedulling Based On Time Availability, Preferences Of Lecture For Teaching is a program application for selecting lectures to give their schedulles for teaching which match with time availability and preferences of lectures.

This system accomadates various criteria for selecting candidate. The value of each criteria is formulated by considering many factors which relevant to the desired evaluation such as the degree of lectures education, job position of lectures, time work of lectures, status of lectures, kind of study, sum of SKS study and matching facilities of class with study. This system has been modelled mathematically to produce an evaluation in STIE SBI of Yogyakarta.

The experimental result show that the system is able to support decision making on shedulling lectures. Keywords : Decision Support Systems, Lecturer Schedulling, Criteria, Model.

142

1. Pendahuluan

Persoalan pengambilan keputusan pada dasarnya adalah bentuk pemilihan dari berbagai alternatif tindakan yang mungkin dipilih yang prosesnya melalui mekanisme tertentu, dengan harapan akan menghasilkan sebuah keputusan yang terbaik. Penyusunan model keputusan adalah suatu cara untuk mengembangkan hubungan-hubungan yang logis yang mendasari persoalan keputusan ke dalam suatu model matematis, yang mencerminkan hubungan yang terjadi di antara faktor-faktor yang terlibat, sehingga proses keputusan harus diambil melalui proses yang bertahap, sistematik, konsisten dan diusahakan dalam setiap langkah mulai dari awal telah mengikutsertakan stakeholders dan mempertimbangkan berbagai faktor.

Kolaborasi antara pembuatan keputusan dengan pemanfaatan kemajuan teknologi informasi berupa sistem pendukung keputusan berbasis komputer (Computer Based Decision Support System) merupakan pilihan yang paling tepat untuk menghasilkan sistem pengambilan keputusan yang benar-benar lebih baik dibandingkan dengan hanya memanfaatkan intuisi dan peraturan-peraturan normatif belaka.

STIE SBI Yogyakarta yang merupakan salah satu Perguruan Tinggi di Yogyakarta, juga tak terlepas dari persoalan-persoalan pengambilan keputusan yang bisa memuaskan semua pihak yang berada didalam instansi tersebut.

Pada STIE SBI Yogyakarta masalah penjadwalan mengajar bagi para dosen merupakan masalah yang agak kompleks dimana dosen-dosen yang ada pada perguruan tinggi disini tidak dapat memilih waktu, hari dan jam yang sesuai dengan waktu luang yang mereka miliki. Penjadwalan kuliah pada STIE SBI Yogyakarta telah ditentukan oleh pihak akademisi instansi tersebut. Oleh karena itu, sering timbul permasalahan-permasalahan antara lain : − Jadwal mengajar yang ada pada STIE SBI sepenuhnya ditetapkan

oleh pihak akademisi perguruan tinggi tersebut. Sehingga ada ketidaknyamanan dan ketidakleluasaan dari pihak dosen yang

143

mengajar karena dosen yang bersangkutan tidak bisa memilih jadwal mengajar sesuai dengan waktu yang diinginkan.

− Tidak adanya kesesuaian fasilitas yang ada pada ruangan dengan kebutuhan matakuliah yang disampaikan. Misalnya, matakuliah yang seharusnya membutuhkan fasilitas multimedia tidak bisa menggunakan ruangan yang punya fasilitas multimedia tersebut dikarenakan ruangan tersebut telah digunakan untuk matakuliah yang lain yang sebenarnya tidak terlalu membutuhkan fasilitas multimedia.

Dengan melihat permasalahan di atas dapat maka pada penelitian ini mencoba membangun suatu sistem pendukung pengambilan keputusan jadwal kuliah berdasarkan preferensi kesediaan waktu dosen untuk mengajar.

2. Pembahasan

Menurut Simon dalam buku komputerisasi pengambilan keputusan (Daihani, 2001) proses pengambilan keputusan melalui tahapan : 1) Tahap Penelusuran ( Intelligence)

Dari penelitian yang dilakukan melahirkan rumusan masalah penelitian berupa Sistem Pendukung Pengambilan Keputusan Penjadwalan Kuliah Berdasarkan Preferensi Kesediaan Waktu Dosen Untuk Mengajar, hasil tahapan penelitian ini tertuang pada (Yuhilda, 2007).

2) Tahap Perancangan ( Design) Setelah perumusan masalah, dilanjutkan dengan pencarian

data-data dan informasi berupa sistem dan prosedur penjadwalan kuliah yang telah dipakai, data-data dosen, data-data matakuliah, data-data kelas, data-data ruang dan dampak dari hasil penjadwalan. Pencarian dan pengumpulan data didominasi melalui wawancara dengan staf pada Bagian Akademik yang mengurusi penjadwalan kuliah. Dari kesemua informasi yang diperoleh, kemudian dapat dibuat penetapan kriteria-kriteria evaluasi untuk calon dosen yang diutamakan penjadwalannya melalui pertimbangan jabatan dosen, status dosen, pertimbangan

144

masa kerja, tingkat pendidikan dosen, jenis matakuliah yang diampu, jumlah SKS matakuliah yang diampuh dan kebutuhan fasilitas dan ruang kelas yang disesuaikan dengan kebutuhan matakuliah (Yuhilda, 2007).

3) Tahap Pemilihan (Choice) Dengan mengacu pada kriteria-kriteria penilaian yang telah ditetapkan, dibuat model-model penilaian secara matematis, sejumlah model penilaian seperti ditunjukan pada gambar 1 yang masing-masing akan diuraikan pada pembahasan.

4) Tahap Implementasi (Implementation) Struktur Sistem Pendukung Keputusan yang ditunjukan

pada gambar 1 diimplementasikan dengan bahasa pemrograman Visual Basic 6.0 dengan Microsoft SQL Server 2000 sebagai databasenya, yang secara detail dibahas pada (Yuhilda, 2007).

Sedangkan komponen-komponen Sistem Pendukung Keputusan yang digunakan adalah : a. Subsistem manajemen data, menyediakan data bagi sistem yang

berasal dari data internal dan data eksternal. b. Subsistem manajemen model, berfungsi sebagai pengelola

berbagai model. c. Subsistem antar muka pengguna, merupakan fasilitas yang

mampu mengintegrasikan sistem terpasang dengan pengguna secara interaktif.

Perancangan basis data sistem pendukung keputusan yang akan memberikan pemahaman secara keseluruhan berupa hubungan antar objek data, aliran informasi dan transformasi dari data input menjadi output yang digambarkan secara grafik berupa Entitas Relationship Diagram dan Data Flow Diagram yang secara lengkap dibahas pada (Yuhilda, 2007).

Secara keseluruhan Sistem Pendukung Keputusan yang

akan dibangun, memperhatikan kriteria-kriteria dengan bobot tertentu, yang dapat digambarkan seperti tabel-tabel dibawah ini:

145

2.1 Model dan Bobot Penilaian Sistem Pendukung Keputusan Model Sistem Pendukung Keputusan Penjadwalan Kuliah

berdasarkan preferensi kesediaan waktu dosen untuk mengajar, dibuat dalam 7 jenis penilaian, yaitu model penilaian status dosen, model penilaian jabatan (untuk dosen tetap), model penilaian tingkat pendidikan dosen, model penilaian masa kerja, model penilaian jenis matakuliah, model penilaian SKS matakuliah, dan model penilaian kebutuhan ruang. Dimana masing-masing unsur tersebut memiliki beberapa elemen penilaian yang akan menentukan hasil akhir sistem pendukung keputusan yang akan digunakan oleh para pengguna dalam menentukan suatu keputusan.

Setiap elemen berbobot penilaian yang berbeda-beda tergantung dari hasil penilaian kriteria yang ada. Batasan penilaian dimulai dari angka 40 sebagai yang terendah sampai dengan nilai 100 sebagai yang tertinggi. Sedangkan bobot penilaiannya sudah ditentukan berdasarkan kriteria yang telah ditetapkan oleh si peneliti dengan bersumber pada hasil penelitian, namun hal ini untuk seterusnya bisa diadakan perubahan-perubahan searah dengan tuntutan kebutuhan. Bahwa sistem ini proses penilaiannya mengacu kepada pemenuhan kriteria-kriteria yang telah ditetapkan serta mengacu pada beberapa kasus yang telah terjadi, sehingga benar-benar mempunyai tolak ukur yang baik.

2.1.1 Model Penilaian Status Dosen

Penilaian elemen ini dilakukan dengan memanfaatkan hasil pengambilan data status dosen. Penilaian kebutuhan ini berbobot 20 %, dengan nilai 100 untuk klasifikasi dosen tetap, 80 untuk tidak tetap dan 60 untuk dosen tamu seperti ditunjukkan pada tabel 1.

146

Tabel 1 Tabel Model Penilaian status dosen Kriteria Penilaian Nilai Bobot Penilaian

Kebutuhan sesuai status dosen : • Tamu • Tetap • Tidak Tetap

100 80 60

20 %

2.1.2 Model Penilaian Jabatan Internal

Model penilaian jabatan internal yang ditujukan untuk dosen tetap dengan bobot penilaian 15 %, dengan pembagian kriteria penilaian untuk ketua 100, Pembantu Ketua (Puket) 90, Ketua Jurusan (Kajur) 80, Kepala Bagian (Kabag) 70, dan Staff biasa 60 seperti ditunjukkan pada tabel 2.

Tabel 2 Model Penilaian Jabatan Internal

Kriteria Penilaian Nilai Bobot Penilaian Jabatan Internal • KETUA • PUKET • KAJUR • KABAG • STAFT • Non Jabatan

100 90 80 70 60 40

15 %

2.1.3 Model Penilaian Tingkat Pendidikan

Model penilaian tingkat pendidikan dosen dengan bobot 15 %, dengan pembagian kriteria penilaian untuk tingkat pendidikan S3 100, S2 80, dan S1 70 seperti ditunjukkan pada tabel 3.

147

Tabel 3 Model Penilaian Tingkat Pendidikan Kriteria Penilaian Nilai Bobot Penilaian

Tingkat pendidikan • S3 • S2 • S1

100 80 70

15 %

2.1.4 Model Penilaian Masa Kerja Model penilaian masa kerja dosen dengan bobot 10 %, dengan pembagian kriteria penilaian untuk masa kerja >10 tahun 100, 8-10 tahun 80, 5-7 tahun 60 dan 1-4 tahun 40 seperti ditunjukkan pada tabel 4.

Tabel 4 Model Penilaian Masa Kerja

2.1.5 Model Penilaian Jenis Matakuliah Model penilaian jenis matakuliah dengan bobot 20 %, dengan

pembagian kriteria penilaian untuk matakuliah wajib 100 dan matakuliah pilihan 50 seperti ditunjukkan pada tabel 5.

Tabel 5 Model Penilaian Jenis Matakuliah Kriteria Penilaian Nilai Bobot Penilaian

Jenis Matakuliah • WAJIB • PILIHAN

100 70

20 %

Kriteria Penilaian Nilai Bobot Penilaian Masa kerja • > 10 th • 8 - 10 th • 5 - 7 th • 1 – 4

100 80 60 40

10 %

148

2.1.6 Model Penilaian SKS Matakuliah Model penilaian SKS matakuliah dengan bobot 10 %, dengan

pembagian kriteria penilaian untuk 4 SKS 100, 3 SKS 80 dan 2 SKS 70 seperti ditunjukkan pada tabel 6.

Tabel 6 Model Penilaian SKS Matakuliah

Kriteria Penilaian Nilai Bobot Penilaian SKS Matakuliah • 4 • 3 • 2

100 80 70

10 %

2.1.7 Model Penilaian Kebutuhan Ruang Kelas Matakuliah

Model penilaian Kebutuhan ruang kelas matakuliah dengan bobot 10 %, dengan pembagian kriteria penilaian untuk kebutuhan ruang tipe A 100, tipe B 90 dan Tipe C 80 seperti ditunjukkan pada tabel 7.

Tabel 7 Model Penilaian Kebutuhan Ruang Kelas Matakuliah

Kriteria Penilaian Nilai Bobot Penilaian Kebutuhan ruang kelas Matakuliah • A • B • C

100 90 80

10 %

Beberapa model penilaian ini disajikan secara lengkap

disini, untuk itu bisa juga dilihat pada (Yuhilda, 2007). 2.2 Hasil Pemrosesan Sistem Pendukung Keputusan

Aplikasi Sistem Pendukung Keputusan dibangun untuk menentukan prioritas urutan dosen dalam menentukan penjadwalan kuliah berdasarkan preferensi kesediaan masing-masing dosen untuk mengajar pada perguruan tinggi STIE SBI Yogyakarta, dalam

149

menghasilkan keluaran tersebut sistem secara keseluruhan melakukan pemrosesan sebagai berikut :

- Pemrosesan Input, terdiri dari pemasukan data dosen, pemasukan data matakuliah, pemasukan data kelas, pemasukan data ruang dan pemasukan data kesediaan berisikan sebagian data yang menjadi syarat-syarat untuk penjadwalan kuliah berdasarkan preferensi kesediaan waktu masing-masing dosen.

- Pemrosesan Penilaian yang terdiri dari Penilaian berbagai macam bobot nilai kriteria atau parameter.

- Hasil Penilaian berdasarkan hasil perhitungan bobot kriteria penilaian yang ada untuk setiap matakuliah seperti nampak pada gambar 2.

Gambar 2. Hasil Penilaian Kriteria Para Dosen Dari hasil yang telah ditunjukkan diatas dapat diketahui

bahwa total keseluruhan hasil penilaian untuk untuk masing-masing dosen Izzah dan dosen Wawan adalah 91,50 dan 88,00. Sehingga untuk mengukur prioritas penjadwalan, dosen yang diutamakan penjadwalannya terlebih dahulu adalah dosen dengan point tertinggi. Baru kemudian diikuti dengan dosen-dosen berikutnya. Disini dosen dengan point tertinggi yang dimaksudkan adalah Izzah. Gambar 3

150

berikut menunjukkan hasil penjadwalan final yang diproses oleh sistem.

Gambar 3. Hasil Penjadwalan Yang Diproses Oleh Sistem

Pada gambar diatas menerangkan bahwa dosen Izzah di

prioritaskan penjadwalannya karena mempunyai urutan point tertinggi. Disusul oleh dosen Wawan dan seterusnya sesuai dengan urutan point masing-masing dosen.

Jika ada dua dosen yang secara kebetulan mempunyai kesediaan waktu mengajar yang sama, maka dosen dengan point yang lebih tinggi di prioritaskan untuk dijadwalkan sesuai dengan kesediaannya. Sedangkan dosen berikutnya dijadwalkan berikutnya sesuai dengan urutan point tersebut. Seperti terlihat pada gambar 4.

151

Gambar 4. Gambar Kesediaan dua dosen yang hampir sama

Mengacu pada gambar 2 yang menunjukkan point dosen Izzah 91,50 lebih tinggi dari point dosen Marwadi 73,00, maka kesediaan dosen Izzah lebih diprioritaskan untuk dijadwalkan terlebih dahulu dibandingkan dengan dosen Marwadi. Mengacu pada gambar 3 dapat kita lihat bahwa penjadwalan untuk dosen Izzah sesuai dengan waktu kesediaannya. Yakni mengajar pada hari selasa dan kamis. Sedangkan hasil penjadwalan final untuk dosen Marwadi dapat dilihat pada gambar 5.

152

Gambar 5. Hasil Penjadwalan yang Diproses Sistem (Dosen Marwadi)

3. Penutup Beberapa kesimpulan yang dapat diberikan pada penelitian

ini adalah : 1. Sistem Pendukung keputusan ini dibuat dengan pemodelan

yang memperhatikan berbagai faktor yang dipakai sebagai kriteria penilaian dan pemberian bobot diantaranya penilaian status dosen, jabatan, tingkat pendidikan, masa kerja, mata kuliah, SKS matakuliah, dan penilaian kebutuhan ruang yang dianggap relevan dengan kondisi dan realita pada STIE SBI Yogyakarta.

153

2. Sistem Pendukung Keputusan ini memiliki kriteria-kriteria yang dapat dirubah bobot nilainya sesuai dengan kesepakatan dan kebutuhan

3. Hasil yang diperoleh dari sistem yang terbentuk, akan memberikan alternatif penilaian bagi para pengambil keputusan untuk menentukan penjadwalan kuliah yang sesuai dengan pereferensi kesediaan waktu dosen yang bersangkutan untuk mengajar.

Daftar Pustaka Yuhilda, 2007, Sistem Pendukung Pengambilan Keputusan

Penjadwalan Kuliah Berdasarkan Preferensi Kesediaan Waktu Dosen Untuk Mengajar (studi kasus pada STIE SBI Yogyakarta), Tesis Sekolah Pasca Sarjana Ilmu Komputer, UGM, Jogjakarta

McLeod, R. Jr, 1995, Management Information System, 6th Ed, Prentice Hall. Inc, New Jersey

Turban, E; Jay E.A, 1998, Decision Support System and Intelligent System, Fifth Edition, Prentice Hall International, Inev.New Jersey

Turban Efraim, 1995, Decision Support Expert: Management Support Systems , Fourth Edition, Prentice-Hall International, Inc New Jersey.

Syamsi, I.1995, Pengambilan Keputusan dan Sistem Informasi, Bumi

Aksara, Jakarta Robert Setiadi, S.Kom, M.SoftSysEng dan Dr. Anbulagan, DEA,

2001, Pemecahan Masalah Penjadwalan Kuliah dengan Menggunakan Teknik Intelligent Search, http://www.robertsetiadi.or.id/articles/snkk.htm, akses : 1 April 2006

Andriansya , Muradi, 2005, Informasi Jadwal Mengajar Dosen D1 D3 Komputer Kontrol Dengan Menggunakan System At89c51 SebagaiMikrokontroller,

154

http://digilib.its.ac.id/go.php?id=jiptits-gdl-s1-2005-andriansya-6197&q, akses : 1 April 2006

Rosa Delima, 2000, Sistem Penjadwalan Kuliah Dengan Menggunakan Rule Based Expert System Studi Kasus : STMIK Bina Darma Palembang, Tesis Program Studi Magister Ilmu Komputer Universitas Gadjah Mada

Lanto Ningrayati Amali, 2000, Sistem Informasi Jadwal Kuliah Di Perguruan Tinggi Dengan Pendekatan Berorientasi Objek, Tesis Program Studi Magister Ilmu Komputer Universitas Gadjah Mada

155

SISTEM INFORMASI AKADEMIK BERBASIS SMS GATEWAY PADA SMK BATIK PERBAIK PURWOREJO

Yuli Astuti

STMIK AMIKOM Yogyakarta

Abstraksi Kebutuhan informasi yang semakin cepat mendorong terciptanya

teknologi informasi yang tepat dan aktual. Short message service (SMS) merupakan salah satu fitur dari

GSM yang dikembangkan dan distandardisasi oleh European Telecommunication Standard Institute (ETSI). SMS merupakan salah satu media yang banyak digunakan oleh masyarakat sekarang ini, karena SMS memiliki tarif yang sangat murah dibanding berbicara langsung dengan nomor yang dituju.

SMS Gateway merupakan teknologi informasi yang digunakan untuk memudahkan siswa dalam melihat nilai mata pelajaran serta akan menghemat waktu sehingga menjadi efektif dan efisien.

Ketika ada sms masuk maka server akan melakukan query dan akan langsung membalas secara otomatis sesuai dengan permintaan yang dikirim oleh pengguna. Keyword: SMS Gateway, GSM, Server, Query 1. Pendahuluan

Teknologi komunikasi berkembang sangat pesat seiring dengan semakin banyaknya permintaan masyarakat akan teknologi tersebut. Salah satu teknologi yang berkembang sekarang ini adalah Global System for Mobile Communication (GSM) atau yang lebih dikenal dengan telepon selular digital.

Dengan maraknya transfer data yang dilakukan oleh masyarakat pada saat ini, maka SMS sangat baik untuk mentransfer data atau informasi dalam kapasitas kecil. Dengan media SMS, para pengguna

156

bisa mengetahui informasi yang dibutuhkan dari server, seperti SMS Banking yang menyediakan fasilitas informasi saldo tabungan bagi para nasabahnya. Nasabah hanya mengirim SMS dengan kode-kode tertentu ke server yang kemudian secara otomatis akan di-reply oleh server tersebut tentang informasi yang diinginkan oleh pengirim sesuai dengan kode-kode yang diterima oleh server. Penulis memilih aplikasi sistem informasi akademik berbasis SMS Gateway karena, SMS merupakan salah satu media yang banyak digunakan oleh masyarakat sekarang ini, selain murah siswa juga dapat dengan mudah untuk melihat nilai matapelajaran. Sehingga dalam penyajian nilai siswa tidak mengalami keterlambatan 2. Pembahasan Analisis Biaya dan Pieces

Untuk menyelesaikan suatu masalah, kita harus dapat mengidentifikasi penyebab timbulnya masalah, baru bisa menganalisis sebuah sistem, analisis yang digunakan yaitu analisis biaya dan pieces. Analisis ini digunakan untuk membandingkan sistem yang lama dengan sistem yang baru dan untuk mengetahui biaya yang dibutuhkan sehingga bisa diketahui berapa besar manfaatnya jika dibandingkan dengan biayanya. Sistem dinyatakan layak jika manfaat lebih besar dari biaya.

Perbandingan sistem lama dengan sistem baru : 1. Kinerja Sistem

Sistem Lama Sistem Baru Beban kerja yang

ditanggung guru atau wali kelas lebih besar.

Siswa yang ingin melihat nilai sebelum raport dibagikan maka harus tanya ke guru atau wali kelas.

penyajian nilai butuh waktu 1 jam.

Beban kerja guru atau wali kelas lebih ringan.

Siswa bisa melihat nilai akhir dari masing-masing matapelajaran tanpa harus menanyakan ke guru atau wali kelas.

Dalam penyajian nila hanya membutuhkan 5 menit saja.

157

2. Analisis Informasi Sistem Lama Sistem Baru

Siswa harus datang ke sekolah untuk menanyakan nilai ke guru atau wali kelas yang bersangkutan.

Siswa bisa melihat nilai dari manapun berada via sms, selama masih dalam jangkauan signal handphone.

3. Analisis Ekonomi Sistem Lama Sistem Baru

Terjadi pemborosan Biaya bisa dihemat 4. Analisis Kontrol

Sistem Lama Sistem Baru

Yang melakukan control adalah SDM sendiri.

Yang melakukan control adalah administrator.

Tidak semua orang bisa mengakses, karena ada batasan untuk user.

5. Analisis Efisien

Sistem Lama Sistem Baru

Dalam penyajian nilai guru atau wali kelas membutuhkan waktu kurang lebih 1 jam.

Dalam penyajian nilai guru atau wali kelas tidak perlu mencari data nilai karena siswa bisa mengakses sendiri dan hanya dalam waktu 5 menit.

6. Analisis Pelayanan

Sistem Lama Sistem Baru Akan membutuhkan waktu lama dalam pencarian dan penyajian data.

Penyajian data akan lebih cepat karena semua data sudah terkomputerisasi.

158

Metode Pengembalian Investasi (Return Of Investment) Metode ini digunakan untuk mengukur prosestase manfaat yang

dihasilkan oleh proyek dibandingkan dengan biaya yang dikeluarkan. ROI dapat dihitung dengan rumus :

Total Manfaat – Total Biaya

ROI = ------------------------------------ x 100 % Total Biaya Jika ROI > 0 maka proyek dapat diterima

Gambar 1. Skema Cara Kerja SMS

Gambar 2. Arsitektur sistem informasi berbasisi SMS Gateway

159

Sms_kirim

Input isi_sms

Pengolahan isi_sms

Sms_keluar

Pembuatan laporan

sms_keluar & status sms

Laporan sms_keluar &

status

Sms_masuk

Input isi_sms

Pengolahan isi_sms

Sms_masuk

Pembuatan laporan

sms_masuk & status sms

Laporan sms_masuk &

status

Jam_mengajar

Laporan jam_mengajar

Input data jam_mengajar

Pengolahan jam_mengajar

Jam_mengajar

Pembuatan laporan

jam_mengajar

Jadwal_guru_mengajar

Input id_pelajaran, jam_mengajar

Pengolahan id_pelajaran & jam_mengajar

Jadwal_guru_mengajar

Pembuatan laporan jadwal guru mengajar

Laporan guru mengajar

Siswa

Data siswa

Input data siswa

Pengolahan data siswa

siswa

Pembuatan laporan siswa

Laporan siswa

Id_kelas

Input data kelas

Pengolahan data kelas

Id_kelas

Laporan kelas

Pembuatan laporan kelas

Siswa_kelas

Input siswa, id_kelas, th_ajaran

Pengolahan siswa, kelas &

th_ajaran

Siswa_kelas

Pembuatan laporan kelas

siswa dg th_ajaran

Laporan kelas siswa

Th_ajaran

Input th_ajaran

Pengolahan th_ajaran

Th_ajaran

Personil

Data personil

Input data personil

Pengolahah data personil

Personil

Guru_kelas

Input id_kelas, personil

Pengolahan data id_kelas,

personil

Guru_kelas

Pembuatan laporan wali

kelas

Laporan wali kelas

Id_pelajaran

Data pelajaran

Input data pelajaran

Pengolahan data pelajaran

Id_pelajaran

Pembuatan laporan

matapelajaran

Laporan matapelajaran

A

A

BD

B

C

E F

G

C

D

H

E

Nilai_siswa

Input nilai ulangan & nilai ujian

Pengolahan nilai ulangan&nilai

ujian

Nilai_ulangan_siswa

Nilai_ujian_siswa

Pembuatan laporan nilai final

Laporan nilai final

FGH

Raport_siswa

Input nilai_ulangan, nilai ujian

Pengolahan nilai ulangan dan ujian

siswa

Raport_siswa

Pembuatan raport

raport

Gambar 3. Flowchart rancangan sistem

160

3. Penutup Kesimpulan dari sistem ini adalah membantu guru atau wali kelas dalam

penyajian nilai ke siswa, mengurangi beban kerja guru atau wali kelas, memberikan kemudahan bagi siswa dalam melihat nilai.

Dari sistem ini juga akan mendapat keuntungan menghemat waktu dalam penyajian nilai ke siswa, meningkatkan citra nama baik dan akan mendapatkan keuntungan karena pada sistem ini direferensikan bekerjasama dengan pihak vendor.

Daftar Pustaka Jogiyanto, H.M, Analisis & Desain Sistem Informasi Pendekatan

Terstruktur Teori dan Praktek Aplikasi Bisnis, Cetakan Pertama, Andi Offset, Yogyakarta, 1990.

Jogiyanto, H.M, Sistem Teknologi Informasi Pendekatan Terintegrasi : Konsep Dasar, Teknologi, Aplikasi, Pengembangan dan Pengelolaan, Edisi II , Andi Offset, Yogyakarta, 2003, 2005

Jeffery, L, Whitten, Lonnie, D. Bentley, Kevin C. Dittman, Metode Desain & Analisis Sistem, Andi Offset, Yogyakarta, 2004

Fathansyah. Ir, Buku Teks Ilmu Komputer Basis Data, Cetakan Pertama, Penerbit Informatika, Bandung, 1999.

Rizky, Soetam, Panduan Belajar SQL Server, Penerbit Prestasi Pustaka Publisher, 2004.

Suhendar, A, dan Hariman, S.Si, Visual Modeling Menggunakan UML dan Rational Rose, Informatika Bandung, Desember 2002.

Harpiandi, Pemrograman Database dengan ADO Menggunakan Visual Basic 6.0, Penerbit Elex Media Komputindo, Jakarta, 2003.

Dwi Budi Cahyanto, Membangun Aplikasi Handphone Dengan FBUS dan Visual Basic, Andi, Yogyakarta, 2004.

Romzi Imron Rozidi, Membuat Sendidri SMS Gateway (ESME) Berbasis Protokol SMPP. Andi Offset, Yogyakarta, 2004.

Tim Penelitian dan Pengembangan Wahana Komputer,Pengembangan Aplikasi Sistem Informasi Akademik Berbasis SMS dengan JAVA, Salemba Infotek, Wahana Komputer Seri Profesional,2005.

www.softwarecave.com

161

LAMPIRAN

PEDOMAN PENULISAN MAKALAH 1. Topik yang akan dipublikasikan oleh jurnal DASI berhubungan dengan

teknologi informasi, komunikasi dan komputer yang berbentuk kumpulan/akumulasi pengetahuan baru, pengamatan empirik atau hasil penelitian, dan pengembangan gagasan atau usulan baru

2. Naskah yang diterima penyunting ditulis dalam bahasa Indonesia baku

atau bahasa Inggris dan belum pernah dipublikasikan. 3. Naskah diketik dengan komputer menggunakan Microsoft Word, di atas

kertas ukuran 16x21 cm, margin atas, bawah, kanan, dan kiri 2 cm, spasi 1, jenis huruf Time New Roman dengan ukuran 11 point.

4. Jumlah halaman berkisal antara 7 sampai 15 halaman, dan jumlah

gambar tidak boleh melebihi 30% dari seluruh tulisan 5. Judul makalah harus mencerminkan dengan tepat masalah yang dibahas

di makalah, dengan menggunakan kata-kata yang tepat, jelas dan mengandung unsur-unsur yang akan dibahas. Ukuran huruf untuk judul adalah Time New Roman ukuran 12 point bold (huruf kapital). Nama penulis ditulis di bawah judul sebelum abstral tanpa disertai gelar akademik atau gelar lain apapun, asal lembaga tempat penulis bernaung dan alamat email untuk korespondensi dengan ukuran 11 point bold. Jika lebih dari 2 penulis, hanya penulis utama yang dicantumkan di bawah judul; nama penulis lain dalam catatan kaki.

162

6. Sistematika penulisan naskah, untuk: a. Naskah Penelitian, terdiri dari:

i. Abstrak dan kata kunci Abstrak memuat secara ringkas gambaran umum dari masalah yang dibahas dalam penelitian, terutama analisis kritis dan pendirian penulis atas masalah tersebut. Panjang abstrak 50 - 75 kata yang disusun dalam satu paragraf dalam ukuran huruf 10 point Time New Roman. Abstrak disertai dengan 3 – 5 kata kunci, yakni istilah yang mewakili ide-ide atau konsep-konsep dasal yang dibahas dalam makalah.

ii. Pendahuluan Pendahuluan tidak diberi judul. Bagian ini berisi permasalahan penelitian, rencana pemecahan masalah, tujuan dan ruang lingkup penelitian, serta rangkuman landasan teori yang berkaitan dengan masalah yang diteliti

iii. Metode Penelitian Berisi tentang bahan, peralatan metode yang digunakan dalam penelitian

iv. Hasil Penelitian dan Pembahasan Hasil berupa data penelitian yang telah diolah dan dituangkan dalam bentuk tabel, grafik, foto, atau gambar. Pembahasan berisi hasil analisis dan hasil penelitian yang dikaitkan dengan struktur pengetahuan yang telah mapan (tinjauan pustaka yang diacu oleh penulis), dan memunculkan ‘teori-teori’ baru atau modifikasi terhadap teori-teori yang telah ada.

v. Kesimpulan dan Saran Berisi ringkasan dan penegasan penulis mengenai hasil penelitian dan pembahasan. Saran dapat berisi tindakan praktis, pengembangan teori baru dan penelitian lanjutan

vi. Daftar Pustaka Diutamakan apabila sumber pustaka atau rujukan berasal lebih dari satu sumber seperti buku, jurnal, makalah, internet dan lain-lain.

163

b. Naskah Konseptual atau nonpenelitian, terdiri dari: i. Abstrak dan Kata Kunci

Abstrak adalah ringkasan dari isi makalah yang dituangkan secara padat; bukan komentar atau pengantar penulis. Panjang abstrak 50 - 75 kata yang disusun dalam satu paragraf dalam ukuran huruf 10 point Time New Roman. Abstrak disertai dengan 3 – 5 kata kunci, yakni istilah yang mewakili ide-ide atau konsep-konsep dasal yang dibahas dalam makalah.

ii. Pendahuluan Memberikan acuan (konteks) bagi permasalah yang akan dibahas, hal-hal pokok yang akan dibahas serta tujuan pembahasan

iii. Pembahasan Berisi tentang kupasan, analisis, argumentasi dan pendirian penulisan mengenai masalah yang dibicarakan

iv. Penutup Berisi kesimpulan penulis atas bahasan masalah yang dibahas pada bagian sebelumnya.

v. Daftar Pustaka Diutamakan apabila sumber pustaka atau rujukan berasal lebih dari satu sumber seperti buku, jurnal, makalah, internet dan lain-lain.

7. Tabel/gambar harus diberi identitas yang berupa nomor urut dan judul

tabel/gambar yang sesuai dengan isi tabel/gambar, serta dilengkapi dengan sumber kutipan.

8. Daftar pustaka disusun menurut alphabet penulis. Urutan dimulai dengan

penulisan nama penulis, tahun, judul, penerbit, dan kota terbit. Penulisan nama penulis adalah nama keluarga diikuti nama kecil. Untuk kutipan dari internet berisi nama penulis, judul artikel, alamat website, dan tanggal akses